/* Окно согласия на cookie и значок свёрнутого окна — общие для всех страниц сайта (логика в consent.js) */
:root { --milk: #fffcf3; --soft: cubic-bezier(.33, 0, .15, 1); --ease-out: cubic-bezier(.16, 1, .3, 1); }
/* ───────── уведомление о cookie: компактная карточка в левом нижнем углу ───────── */
.cc {
  position: fixed; left: 20px; bottom: 20px; z-index: 90; width: min(340px, calc(100vw - 40px));
  padding: 16px 18px 14px; background: rgba(18, 10, 6, .88); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: .5px solid rgba(255, 252, 243, .25); color: var(--milk); font: 12px/1.5 Inter, sans-serif;
  transition: opacity .6s var(--soft), translate .6s var(--soft);
}
.cc[hidden] { display: none; }
.cc:not(.is-in) { opacity: 0; translate: 0 10px; }
.cc a { text-decoration: underline; text-underline-offset: 3px; }
.cc__text { padding-right: 18px; }
.cc__close { position: absolute; right: 8px; top: 8px; width: 24px; height: 24px; border: 0; background: none; cursor: pointer; opacity: .7; transition: opacity .3s; }
.cc__close::before, .cc__close::after { content: ""; position: absolute; left: 6px; top: 11.5px; width: 12px; height: 1px; background: var(--milk); rotate: 45deg; }
.cc__close::after { rotate: -45deg; }
.cc__close:hover { opacity: 1; }
.cc__prefs { margin-top: 10px; border-top: .5px solid rgba(255, 252, 243, .3); }
.cc__row { display: flex; gap: 12px; align-items: flex-start; padding: 9px 0; border-bottom: .5px solid rgba(255, 252, 243, .3); cursor: pointer; }
.cc__row b { display: block; font-weight: 500; }
.cc__row span { opacity: .85; }
/* переключатель */
.cc__row input { appearance: none; flex: none; position: relative; width: 28px; height: 15px; margin-top: 2px; border: 1px solid var(--milk); border-radius: 8px; cursor: pointer; transition: background .3s; }
.cc__row input::after { content: ""; position: absolute; left: 2px; top: 2px; width: 9px; height: 9px; border-radius: 50%; background: var(--milk); transition: translate .3s var(--ease-out); }
.cc__row input:checked { background: rgba(255, 252, 243, .25); }
.cc__row input:checked::after { translate: 13px 0; }
.cc__row input:disabled { opacity: .5; cursor: default; }
.cc__btns { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 12px; }
.cc__btn { padding: 6px 12px; border: .5px solid var(--milk); background: none; color: var(--milk); font: inherit; cursor: pointer; transition: background .3s, color .3s; }
.cc__btn:hover { background: rgba(255, 252, 243, .12); }
.cc__btn--main { background: var(--milk); color: #1a0d07; }
.cc__btn--main:hover { background: #fff; }
.cc__btn--link { border-color: transparent; padding-left: 2px; padding-right: 2px; text-decoration: underline; text-underline-offset: 3px; }
.cc__btn[hidden] { display: none; }
/* значок свёрнутого окна */
.cc-mini {
  position: fixed; left: 14px; bottom: 12px; z-index: 90; width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer; color: var(--milk);
  background: rgba(18, 10, 6, .88); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: .5px solid rgba(255, 252, 243, .35); transition: opacity .5s var(--soft), scale .5s var(--soft), background .3s;
}
.cc-mini[hidden] { display: none; }
.cc-mini:not(.is-in) { opacity: 0; scale: .6; }
.cc-mini:hover { background: rgba(40, 22, 12, .92); }
.cc-mini:focus-visible, .cc button:focus-visible, .cc input:focus-visible { outline: 1px solid var(--milk); outline-offset: 3px; }

@media (max-width: 900px), (orientation: portrait) and (max-width: 1100px) {
  /* окно cookie — на всю ширину внизу */
  .cc { left: 12px; right: 12px; bottom: 12px; width: auto; }
}
