/* Требования 152-ФЗ / РКН: cookie-уведомление, согласие в формах, плейсхолдер карты */

/* Cookie-баннер */
.cookie-banner {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 2000;
    background: #000000;
    color: #ffffff;
    padding: 14px 20px;
    box-shadow: 0 -2px 12px rgba(0,0,0,.35);
    display: none;
}
.cookie-banner.is-visible { display: block; }
.cookie-banner__inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px;
}
.cookie-banner__text { flex: 1 1 520px; margin: 0; font-size: 15px; line-height: 1.4; }
.cookie-banner__text a { color: #ffffff; text-decoration: underline; }
.cookie-banner__text a:hover { color: #9fd0ff; }
.cookie-banner__buttons { display: flex; gap: 10px; flex: 0 0 auto; }
.cookie-banner__btn {
    font-family: Alaskan, sans-serif;
    font-size: 17px; line-height: 1;
    padding: 8px 26px;
    border: 2px solid #ffffff;
    background: transparent; color: #ffffff;
    cursor: pointer; transition: .3s;
}
.cookie-banner__btn:hover, .cookie-banner__btn:focus { background: #ffffff; color: #000000; }
.cookie-banner__btn--primary { background: #ffffff; color: #000000; }
.cookie-banner__btn--primary:hover, .cookie-banner__btn--primary:focus { background: #9fd0ff; border-color: #9fd0ff; }
body.has-cookie-banner #go-top { bottom: 90px; }
@media (max-width: 600px) {
    .cookie-banner__buttons { width: 100%; }
    .cookie-banner__btn { flex: 1 1 0; padding: 10px 8px; }
    body.has-cookie-banner #go-top { bottom: 190px; }
}

/* Плейсхолдер Яндекс.Карты (загружается только после выбора пользователя) */
.map-consent {
    background: #f1f4f8; color: #000000;
    text-align: center; padding: 60px 20px; min-height: 300px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.map-consent p { max-width: 640px; margin: 0 0 16px; font-size: 16px; }
.map-consent .cookie-banner__btn { border-color: #000000; color: #000000; }
.map-consent .cookie-banner__btn:hover { background: #000000; color: #ffffff; }
.map-consent[hidden] { display: none; }
iframe[data-src]:not([src]) { display: none; }

/* Согласие в формах */
.consent-check { font-size: 14px; line-height: 1.35; }
.consent-check .custom-control-label { cursor: pointer; font-weight: 400; }
.consent-check a { text-decoration: underline; color: #000000; }
.consent-check a:hover { color: #015ca9; }
.consent-check span.error_consent { display: block; color: #dc3545; margin-top: 4px; }
.modal-body .consent-hint { font-size: 12px; color: #6c757d; margin: 0 0 12px; }

/* Юридические страницы */
.legal-doc h2 { font-size: 1.6rem; margin: 1.6em 0 .6em; }
.legal-doc h3 { font-size: 1.2rem; margin: 1.3em 0 .5em; }
.legal-doc table { font-size: 15px; }
.legal-doc td, .legal-doc th { vertical-align: top; }
.legal-doc .legal-date { color: #6c757d; }
.container-footer2__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; margin: 6px 0 2px; }

/* Юридическая полоса в подвале (светлый фон) */
.container-footer-legal { background: #f5f5f5; border-top: 1px solid #ddd; padding: 14px 15px; text-align: center; }
.container-footer-legal__links a { display: inline-block; margin: 2px 12px; color: #222; font-size: 14px; text-decoration: underline; }
.container-footer-legal__links a:hover { color: #000; text-decoration: none; }
.container-footer-legal__requisites { margin: 8px 0 0; color: #555; font-size: 13px; line-height: 1.4; }
