/* Cookie-баннер. Подключается и на лендинге HRD без site.css, поэтому зависит только от tokens.css и fonts.css.
   Sticky, а не fixed: занимает своё место в конце страницы и не закрывает футер; на сайте fixed к тому же
   считался бы от body — у него container-type. Элемент должен быть прямым потомком body. */
.cookie{position:sticky;bottom:0;z-index:100;max-height:80vh;overflow-y:auto;background:var(--imisp-white);color:var(--imisp-grey-900);border-top:1px solid var(--imisp-grey-200);box-shadow:0 -8px 24px color-mix(in srgb,var(--imisp-shadow) 12%,transparent);font-family:var(--font-body);font-size:.8125rem;line-height:1.4}
.cookie[hidden],.cookie-panel[hidden]{display:none}
.cookie *{box-sizing:border-box;margin:0}
.cookie a{color:var(--imisp-teal-600);text-decoration:underline}
.cookie a:hover{color:var(--imisp-teal-700)}
.cookie :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.cookie-inner{max-width:1320px;margin:0 auto;padding:12px 16px;display:grid;gap:10px}
.cookie-title{font-family:var(--font-display);font-size:.9375rem;font-weight:700;line-height:1.2;margin-bottom:4px}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cookie-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:44px;padding:0 16px;border:1px solid var(--imisp-teal-600);border-radius:999px;background:transparent;color:var(--imisp-teal-600);font-family:var(--font-body);font-size:.875rem;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}
.cookie-btn:hover{background:var(--imisp-teal-050);color:var(--imisp-teal-700)}
.cookie-btn-primary{background:var(--imisp-teal-600);color:var(--imisp-white)}
.cookie-btn-primary:hover{background:var(--imisp-teal-700);color:var(--imisp-white)}
.cookie-btn-link{flex:0 0 auto;border-color:transparent}
.cookie-panel{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--imisp-grey-100)}
.cookie-check{display:flex;align-items:center;gap:10px;min-height:24px;font-size:.875rem}
.cookie-check input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--imisp-teal-600)}
.cookie-panel .cookie-btn{justify-self:start;flex:none}
/* Клавиатурный фокус не должен прятаться за баннером */
html:has(.cookie:not([hidden])){scroll-padding-bottom:max(40vh,calc(var(--cookie-h,0px) + 16px))}
@media (max-width:719px){
  html:has(.cookie:not([hidden])):has(.program-bar){scroll-padding-bottom:calc(var(--cookie-h,0px) + 120px)}
}
@media (min-width:720px){
  .cookie{font-size:.875rem}
  .cookie-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 32px}
  .cookie-btn{flex:0 0 auto}
  .cookie-panel{grid-column:1/-1;grid-template-columns:auto auto 1fr;align-items:center;gap:8px 24px}
  .cookie-panel .cookie-btn{justify-self:end}
}
