/* Shared keyboard, readability and reflow polish. */
.skip-link{position:fixed;top:8px;left:8px;z-index:20000;padding:12px 20px;background:#fff;color:#173a32;border:2px solid #173a32;border-radius:6px;transform:translateY(-200%);font:600 1rem/1.5 sans-serif}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #927037;outline-offset:4px;box-shadow:0 0 0 2px #fff}
button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}
main{min-width:0}p,li,h1,h2,h3,a{overflow-wrap:break-word}p{line-height:1.7}h1,h2,h3{line-height:1.2}a{text-underline-offset:.2em}
.btn,button:not(.leaflet-control button){min-height:44px}.btn{white-space:normal;text-align:center}
@media(max-width:600px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.skip-link{display:none}}

/* Dark surfaces and foregrounds are separate: brand gold is never button text on gold. */
body.dark{--text:#edf2ef;--text-light:#bdc9c3;color-scheme:dark}
body.dark .btn-primary,body.dark .dark-toggle,body.dark .nav-cta,body.dark .contact-form button{color:#142c25!important}
body.dark .btn-outline:hover{background:#e5ede8;color:#142c25;border-color:#e5ede8}
body.dark .cookie-banner,body.dark .hero,body.dark .events-banner{color:#edf2ef}
body.dark .lang-current{color:#edf2ef}
body.dark .menu-toggle span,body.dark header.scrolled .menu-toggle span{background:#edf2ef}
body.dark .service-icon{background:#193c34}
body.dark .service-icon svg{stroke:#e0c482}
body.dark .contact-item:hover .contact-item-icon svg{stroke:#142c25}
body.dark .about-feature-text,body.dark .rooms-desc,body.dark .room-type,body.dark .room-detail,body.dark .menu-description,body.dark .testimonial-source,body.dark .footer-bottom{color:#bdc9c3}
body.dark .room-amount{color:#e0c482}
body.dark .contact-form{background:#1f2937;color:#edf2ef}
body.dark .contact-form input,body.dark .contact-form textarea,body.dark .contact-form select{background:#111827;color:#edf2ef;border-color:#708178}
body.dark input::placeholder,body.dark textarea::placeholder{color:#bdc9c3;opacity:1}
body.dark .map-section,body.dark .gallery-item{filter:none}
body.dark .pdf-language-note{color:#bdc9c3}
body.dark .gallery-filter button{border-color:#bca56b}
body.dark #header .nav-submenu{background:#202f2a;border-color:#728378;box-shadow:0 16px 38px #0006}
body.dark #header .nav-submenu a{color:#f2f5ef}
body.dark #header .nav-submenu a:hover,body.dark #header .nav-submenu a:focus-visible{background:#34483e;color:#fff}
body.dark .nav-item-hint{color:#c1cec5}
body.dark .nav-item-arrow{color:#e0c482}
body.dark #header .nav-submenu li+li{border-color:#526459}
body.dark .lang-options{background:#202f2a;border:1px solid #728378}
body.dark .lang-options a{color:#edf2ef}
body.dark .lang-options a:hover{background:#34483e;color:#fff}
body.dark :focus-visible{outline-color:#e0c482;box-shadow:0 0 0 2px #111827}
body.dark #header .nav-submenu a:focus-visible{outline-color:#e0c482}
body.dark .rooms-nav:hover{background:#c9a962;color:#142c25}
body.dark .btn-primary{background:#c9a962!important;border-color:#c9a962!important}
body.dark .btn-primary:hover{background:#e0c482!important;border-color:#e0c482!important}
body.dark .testimonial-avatar{color:#142c25}
body.dark .gallery-overlay span,body.dark .scroll-indicator{color:#fff}
body.dark .scroll-indicator span{border-color:#fff}
body.dark .scroll-indicator span::after{background:#fff}
