/* Cookie-consent баннер (статьи, Flask). ЗЕРКАЛО стиля портала —
   apps/portal-web/src/components/CookieConsent.css. Правки держать синхронно в обоих файлах
   (два разных build-стека, общего импорта нет). Токены --v2-* из v2.css; фолбэки на случай отсутствия. */
.cookie-consent{ position:fixed; left:50%; bottom:16px; transform:translateX(-50%); z-index:1200;
  width:min(680px, calc(100vw - 32px)); display:flex; align-items:center; gap:16px;
  padding:14px 18px; background:var(--v2-surface,#fff); border:1px solid var(--v2-border,#e5e7eb);
  border-radius:14px; box-shadow:0 12px 40px -12px rgba(16,24,40,.35); }
.cookie-consent[hidden]{ display:none; }
.cookie-consent__text{ margin:0; font-size:.9rem; line-height:1.5; color:var(--v2-ink-2,#333); }
.cookie-consent__text a{ color:var(--v2-brand-2,#0b7d73); font-weight:600; text-decoration:underline; }
.cookie-consent__actions{ display:flex; gap:8px; flex:0 0 auto; }
.cookie-consent__btn{ border-radius:10px; padding:9px 16px; font-size:.88rem; font-weight:600;
  cursor:pointer; border:1px solid transparent; white-space:nowrap; }
.cookie-consent__btn--primary{ background:var(--v2-brand-2,#0b7d73); color:#fff; }
.cookie-consent__btn--primary:hover{ filter:brightness(1.06); }
.cookie-consent__btn--ghost{ background:transparent; border-color:var(--v2-border-2,#d1d5db); color:var(--v2-ink-2,#333); }
.cookie-consent__btn--ghost:hover{ border-color:var(--v2-ink-2,#555); }
@media (max-width:560px){
  .cookie-consent{ flex-direction:column; align-items:stretch; gap:10px; bottom:0; left:0;
    transform:none; width:100%; border-radius:14px 14px 0 0; }
  .cookie-consent__actions{ justify-content:flex-end; }
}
