.cookie-banner, .cookie-settings, .cookie-map-placeholder { font-family: Noah, Arial, sans-serif; }
.cookie-banner {
    position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 1100;
    max-width: 1100px; max-height: 60svh; overflow: auto; margin: 0 auto;
    padding: 25px 28px; background: #f2eee8; color: #29251f; border: 1px solid #b99a64;
    box-shadow: 0 5px 30px rgba(0,0,0,.2);
}
.cookie-banner h2, .cookie-settings h2 { font-family: 'Libre Caslon Display', Georgia, serif; font-size: 30px; line-height: 1.15; color: #1b1b1b; margin: 0 0 10px; }
.cookie-banner p, .cookie-settings p, .cookie-settings label { font-size: 15px; line-height: 1.55; color: #423c34; }
.cookie-banner p { margin: 0 0 16px; }
.cookie-banner a, .cookie-settings a { color: #6d5128; text-decoration: underline; text-underline-offset: 3px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid #8b7048; border-radius: 0; background: transparent; color: #2e2820; font: inherit; font-size: 14px; line-height: 1.4; cursor: pointer; }
.cookie-button:hover { color: #1b1b1b; background: #e8dfd0; }
.cookie-button:focus-visible, .cookie-settings input:focus-visible, .cookie-open:focus-visible { outline: 2px solid #8b7048; outline-offset: 3px; }
.cookie-settings { position: fixed; inset: 0; z-index: 1200; width: min(620px, calc(100% - 32px)); max-height: calc(100svh - 48px); overflow: auto; margin: auto; padding: 30px; border: 1px solid #b99a64; background: #f2eee8; color: #29251f; }
.cookie-settings::backdrop { background: rgba(0,0,0,.65); }
.cookie-settings:not([open]) { display: none; }
.cookie-settings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.cookie-setting { padding: 18px 0; border-top: 1px solid #d7ccbc; }
.cookie-setting label { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; font-weight: 700; }
.cookie-setting input[type="checkbox"] { width: 20px; height: 20px; flex: none; appearance: auto; accent-color: #806039; }
.cookie-setting p { margin: 0; }
.cookie-open { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer-legal { width: 100%; margin: 0; padding: 24px max(24px, calc((100% - 1092px) / 2)) 26px; background: #000; color: #bcb4a8; font-size: 13px; line-height: 1.7; }
.footer-legal p { color: inherit; font-size: inherit; margin: 0 0 8px; }
.footer-legal-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.footer-legal a { color: #c8b18b; text-decoration: underline; text-underline-offset: 3px; }
.cookie-map-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 320px; padding: 30px 24px; text-align: center; background: #1b1b1b; color: #e6dfd4; }
.cookie-map-placeholder p { max-width: 600px; color: #cbc3b6; font-size: 15px; line-height: 1.6; margin: 0 0 18px; }
.cookie-map-placeholder .cookie-button { color: #e6dfd4; border-color: #b99a64; }
.cookie-map-placeholder .cookie-button:hover { background: #342e25; color: #fff; }
.cookie-map-placeholder a { color: #c8b18b; text-decoration: underline; }
.cookie-map-placeholder .cookie-actions { justify-content: center; }
.form-age-note { font-size: 12px; line-height: 1.55; }
.booking-box p.form-age-note { color: #5b544b; }
.booking-box .btn-form1-submit { color: #181818; }
.booking-box .btn-form1-submit:hover,
.booking-box .btn-form1-submit:focus { color: #fff; }
.footer-legal .age-sale-notice { color: #eee7dc; font-size: 15px; margin-bottom: 12px; }
.privacy-table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 15px; color: #423c34; }
.privacy-table th, .privacy-table td { text-align: left; vertical-align: top; padding: 12px; border-bottom: 1px solid #d7ccbc; overflow-wrap: anywhere; }
.privacy-table caption { color: #423c34; }
@media (max-width: 991px) {
    .cookie-banner { bottom: calc(78px + env(safe-area-inset-bottom)); left: 12px; right: 12px; max-height: calc(100svh - 160px); padding: 20px; }
}
@media (max-width: 600px) {
    .cookie-actions .cookie-button { flex: 1 1 100%; }
    .cookie-settings { padding: 22px; }
    .cookie-map-placeholder { min-height: 280px; }
    .privacy-table { font-size: 13px; }
    .privacy-table th, .privacy-table td { padding: 9px 5px; }
}
