/* =========================================================
   ⚖ Согласие на обработку ПД и плашка cookie
   ---------------------------------------------------------
   .topo-consent — чекбокс в формах (front/blocks/legal/consent_checkbox.php):
   «Обратная связь» и «Сообщить об ошибке».
   .cookie-banner — нижняя плашка (front/blocks/legal/cookie_banner.php,
   front/js/topo_cookie_consent.js).
   ========================================================= */

.topo-consent{
    display:flex;
    align-items:flex-start;
    gap:.5rem;
    margin-bottom:.85rem;
    font-size:.76rem;
    line-height:1.45;
    color:var(--color-fg,#3D2903);
}

.topo-consent input{
    flex-shrink:0;
    width:1rem;
    height:1rem;
    margin:.1rem 0 0;
    accent-color:var(--color-primary,#b85f32);
    cursor:pointer;
}

/* Перебиваем .error-report-field label (жирный, блочный) — здесь это
   обычная строка текста со ссылками. */
.topo-consent label{
    display:inline;
    margin:0;
    font-size:inherit;
    font-weight:500;
    cursor:pointer;
}

.topo-consent__required{
    color:var(--color-error,#c24a3a);
    font-weight:800;
}

.topo-consent a{
    color:var(--color-primary,#b85f32);
}

/* --- Плашка cookie -------------------------------------- */

.cookie-banner{
    position:fixed;
    left:50%;
    bottom:1rem;
    z-index:2050;
    display:flex;
    align-items:center;
    gap:1rem;
    width:min(760px,calc(100vw - 2rem));
    box-sizing:border-box;
    padding:.9rem 1.1rem;
    border:1px solid var(--color-border,rgba(0,0,0,.08));
    border-radius:var(--radius-lg,16px);
    background:var(--color-surface,#FFFBF5);
    color:var(--color-fg,#3D2903);
    box-shadow:0 12px 32px rgba(30,20,5,.22);
    transform:translateX(-50%);
    animation:cookie-banner-in .3s ease-out;
}

@keyframes cookie-banner-in{
    from{ opacity:0; transform:translate(-50%,12px); }
    to{ opacity:1; transform:translate(-50%,0); }
}

@media (prefers-reduced-motion:reduce){
    .cookie-banner{ animation:none; }
}

.cookie-banner__text{
    flex:1;
    margin:0;
    font-size:.8rem;
    line-height:1.5;
}

.cookie-banner__text a{
    color:var(--color-primary,#b85f32);
}

.cookie-banner__actions{
    display:flex;
    flex-shrink:0;
    gap:.5rem;
}

.cookie-banner__btn{
    padding:.5rem .95rem;
    border:1px solid var(--color-primary,#b85f32);
    border-radius:999px;
    background:transparent;
    color:var(--color-primary,#b85f32);
    font:inherit;
    font-size:.78rem;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
}

.cookie-banner__btn--primary{
    background:var(--color-primary,#b85f32);
    color:var(--color-on-primary,#fff);
}

.cookie-banner__btn:focus-visible{
    outline:2px solid var(--color-primary,#b85f32);
    outline-offset:2px;
}

@media (max-width:640px){
    .cookie-banner{
        flex-direction:column;
        align-items:stretch;
        gap:.7rem;
        bottom:.5rem;
        width:calc(100vw - 1rem);
    }
    .cookie-banner__actions{
        flex-direction:column-reverse;
    }
    .cookie-banner__btn{
        width:100%;
        padding:.6rem;
    }
}
