.cookie-consent[hidden], .cookie-consent [hidden], [data-cookie-settings][hidden] { display: none !important; }
.cookie-consent { position: fixed; inset: auto 0 0; z-index: 10000; max-height: 85vh; max-height: 85dvh; overflow-y: auto; overscroll-behavior: contain; background: #f6faf8; color: #394c42; border-top: 1px solid #b8cec2; box-shadow: 0 -8px 24px rgba(28, 56, 41, .12); }
.cookie-consent-inner { max-width: 1170px; margin: 0 auto; padding: 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 32px; }
.cookie-consent h2 { font-size: 22px; line-height: 1.4; margin-bottom: 8px; color: #263f32; }
.cookie-consent p { margin: 0 0 8px; }
.cookie-consent a, .cookie-text-button { color: #146c43; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent-actions { display: flex; flex-wrap: wrap; align-content: center; gap: 12px; max-width: 400px; }
.cookie-button { display: inline-block; min-height: 44px; padding: 10px 16px; border: 1px solid #146c43; border-radius: 4px; background: #f6faf8; color: #146c43; font: inherit; font-weight: 500; cursor: pointer; }
.cookie-consent-actions > .cookie-button { flex: 1 1 180px; }
.cookie-button:hover { background: #e4f0e9; color: #124d32; }
.cookie-text-button { border: 0; background: transparent; padding: 8px 0; min-height: 44px; font: inherit; cursor: pointer; }
.cookie-consent :is(a, button, input):focus-visible, .footer-privacy :is(a, button):focus-visible, .privacy-page :is(a, button):focus-visible { outline: 3px solid #146c43; outline-offset: 4px; }
.cookie-consent h2:focus { outline: none; }
.cookie-consent-details { grid-column: 1 / -1; border-top: 1px solid #c9d9d0; padding-top: 20px; }
.cookie-category { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-bottom: 16px; }
.cookie-category h3 { margin-bottom: 4px; color: #263f32; }
.cookie-category label { font: inherit; margin: 0; cursor: pointer; }
.cookie-category p { margin: 0; max-width: 72ch; }
.cookie-required { flex-shrink: 0; font-weight: 500; }
.cookie-category input { appearance: auto; margin: 0 12px; width: 24px; height: 24px; flex-shrink: 0; accent-color: #146c43; cursor: pointer; }
.cookie-consent-details > p { margin-bottom: 16px; }
.footer-privacy { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin-bottom: 8px; text-transform: none; font-size: 14px; }
.tiny-footer .footer-privacy a, .tiny-footer .footer-privacy button { color: #c6d8cd; display: inline-flex; align-items: center; min-height: 44px; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.footer-privacy button { border: 0; padding: 0; background: transparent; font: inherit; cursor: pointer; }
.footer .contact-link { overflow-wrap: anywhere; }
.privacy-page { max-width: 850px; padding-top: 48px; padding-bottom: 64px; }
.privacy-page section { margin-top: 36px; }
.privacy-page h1 { overflow-wrap: anywhere; }
.privacy-page p, .privacy-page li { max-width: 75ch; }
.privacy-page a { color: #146c43; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.privacy-page ul { padding-left: 24px; }
.privacy-page li { margin-bottom: 8px; }
.privacy-page address { margin-bottom: 20px; line-height: inherit; }
.privacy-date { margin-top: 12px; }
.privacy-table-scroll { overflow-x: auto; margin: 20px 0; }
.privacy-page table { width: 100%; min-width: 540px; border-collapse: collapse; text-align: left; }
.privacy-page th, .privacy-page td { padding: 12px; border: 1px solid #c9d9d0; vertical-align: top; }
.privacy-page th { color: #263f32; background: #f0f6f2; font-weight: 500; }
.privacy-page code { color: #394c42; background: #f0f6f2; overflow-wrap: anywhere; white-space: normal; }
.booking-placeholder { margin: 24px 0; padding: 24px; border: 1px solid #c9d9d0; border-radius: 4px; background: #f6faf8; }
.booking-placeholder p { max-width: 75ch; }
.booking-placeholder a { color: #146c43; text-decoration: underline; }
.booking-frame { width: 100%; min-height: 600px; border: 0; }
.booking-frame[hidden], .booking-placeholder[hidden], [data-booking-load][hidden] { display: none !important; }
@media (max-width: 767px) {
    .cookie-consent-inner { padding: 20px 16px max(20px, env(safe-area-inset-bottom)); grid-template-columns: 1fr; gap: 16px; }
    .cookie-consent-actions { max-width: none; }
    .cookie-consent-actions > .cookie-button { flex-basis: calc(50% - 6px); padding: 10px 8px; }
    .cookie-category { gap: 12px; align-items: flex-start; }
    .cookie-required { font-size: 13px; }
    .privacy-page { padding-top: 32px; padding-bottom: 48px; }
}
