/* ============================================================================
 *  consent.css — баннер и окно «Настройки cookie» (152-ФЗ, волна Т17).
 *  Самодостаточный: свои цвета (с тёмной темой), работает и на сайте, и в /m
 *  (где нет переменных сайта). Контраст текста ≥ 4,5:1, кнопки ≥ 44×44,
 *  видимый фокус, без анимации при prefers-reduced-motion.
 * ========================================================================== */
.ck{--ck-bg:#fff;--ck-ink:#1f2330;--ck-mut:#4b5260;--ck-line:#e3e5ea;--ck-acc:#B83F00;--ck-btn:#1f2330;--ck-btn-ink:#fff;--ck-ring:#B83F00;
    position:fixed;z-index:9000;left:12px;right:12px;bottom:12px;max-width:760px;margin:0 auto;
    background:var(--ck-bg);color:var(--ck-ink);border:1px solid var(--ck-line);border-radius:16px;
    box-shadow:0 10px 30px rgba(16,24,40,.18);padding:16px 18px;font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.ck[hidden]{display:none}
.ck__title{font-weight:700;font-size:16px;margin:0 0 4px;color:var(--ck-ink)}
.ck__text{margin:0 0 12px;color:var(--ck-mut)}
.ck a{color:var(--ck-acc);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ck__row{display:flex;flex-wrap:wrap;gap:8px}
.ck__btn{appearance:none;min-height:44px;min-width:44px;padding:10px 16px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;
    border:1px solid var(--ck-btn);background:var(--ck-btn);color:var(--ck-btn-ink)}
.ck__btn--ghost{background:transparent;color:var(--ck-ink);border-color:var(--ck-line)}
.ck__btn--link{background:transparent;border-color:transparent;color:var(--ck-acc);text-decoration:underline;text-underline-offset:2px}
.ck__btn:focus-visible,.ck a:focus-visible,.ckd input:focus-visible,.ckd .ck__btn:focus-visible{outline:3px solid var(--ck-ring);outline-offset:2px}
/* Телефон: над нижней панелью вкладок сайта (её высота — --app-tabbar-h в mobile-app.css) */
@media (max-width:768px){
  .ck{left:8px;right:8px;bottom:calc(var(--app-tabbar-h,0px) + env(safe-area-inset-bottom,0px) + 8px);padding:14px}
  .ck__row .ck__btn{flex:1 1 auto}
}
/* Окно настроек — нативный <dialog>: фокус внутри, Esc закрывает */
.ckd{--ck-bg:#fff;--ck-ink:#1f2330;--ck-mut:#4b5260;--ck-line:#e3e5ea;--ck-acc:#B83F00;--ck-btn:#1f2330;--ck-btn-ink:#fff;--ck-ring:#B83F00;
    border:1px solid var(--ck-line);border-radius:18px;padding:0;max-width:520px;width:calc(100% - 24px);
    background:var(--ck-bg);color:var(--ck-ink);font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.ckd::backdrop{background:rgba(10,12,20,.55)}
.ckd__in{padding:20px}
.ckd h2{font-size:19px;margin:0 0 8px;color:var(--ck-ink)}
.ckd p{margin:0 0 12px;color:var(--ck-mut)}
.ckd a{color:var(--ck-acc);font-weight:600}
.ckd__opt{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--ck-line)}
.ckd__opt input{width:24px;height:24px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--ck-acc)}
.ckd__opt label{font-weight:700;color:var(--ck-ink);cursor:pointer}
.ckd__opt small{display:block;color:var(--ck-mut);font-size:14px;font-weight:400}
.ckd .ck__row{margin-top:14px;justify-content:flex-end}
.ck-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Пока виден баннер, низ страницы не прячется под ним (WCAG 2.4.11 «фокус не скрыт») */
body.has-ck{padding-bottom:var(--ck-h,0px)}
@media (max-width:768px){ body.has-ck{padding-bottom:calc(var(--app-tabbar-h,0px) + env(safe-area-inset-bottom,0px) + var(--ck-h,0px))} }
[data-theme="dark"] .ck,[data-theme="dark"] .ckd{--ck-bg:#1A1A2E;--ck-ink:#ECEDF3;--ck-mut:#B7BCC8;--ck-line:#34345a;--ck-acc:#FF9A5A;--ck-btn:#ECEDF3;--ck-btn-ink:#14141f;--ck-ring:#FF9A5A}
@media (prefers-reduced-motion:no-preference){ .ck{animation:ck-in .25s ease-out} @keyframes ck-in{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}} }
@media print{ .ck{display:none} }
