/* Shared native header/footer on WordPress pages: one semantic instance only. */
:root{--header-height:88px}
.site-header {height:var(--header-height);position:fixed;top:0;right:0;left:0;z-index:50;background:#000!important;color:#fff}
.site-header .header-inner {width:min(1450px,calc(100% - 64px));height:100%;display:flex;align-items:center;justify-content:space-between;margin:auto}
.site-header .brand {display:block;position:relative;flex:0 0 118px;width:118px;left:auto;transform:none}
.site-header .brand-logo {display:block;width:118px;max-height:60px;object-fit:contain}
.site-header .header-actions {display:flex;align-items:center;gap:16px;margin-left:auto}
.site-header .reservation-wrap {position:relative}
.site-header .reservation-link {min-height:48px;min-width:160px;padding:0 18px;border:1px solid #ddd;background:transparent;color:#fff;cursor:pointer;font:400 12px/1 sans-serif;letter-spacing:.12em}
.site-header .reservation-menu {position:absolute;top:calc(100% + 9px);right:0;z-index:80;min-width:185px;padding:10px;background:#fff;box-shadow:0 16px 28px #0003}
.site-header .reservation-menu[hidden] {display:none!important}
.site-header .reservation-menu a {display:block;padding:12px;color:#241d1c;text-decoration:none;white-space:nowrap;font:13px sans-serif}
.site-header .reservation-menu a:hover {background:#f4eee7}
.site-header .language-wrap {position:relative;display:none}
.site-header .language-popover {position:absolute;top:100%;right:0;display:none;min-width:170px;padding:12px;background:white}
.site-header .language-wrap.is-open .language-popover {display:block}
.site-header .language-option {display:block;width:100%;padding:7px;border:0;background:none;color:#222;text-align:left}
.site-header .menu-button {display:none;appearance:none;background:transparent;border:0;width:36px;height:40px;cursor:pointer}
.site-header .menu-lines,.site-header .menu-lines::before,.site-header .menu-lines::after {position:relative;display:block;height:2px;width:26px;background:#fff;content:''}
.site-header .menu-lines::before {position:absolute;top:-8px}.site-header .menu-lines::after {position:absolute;top:8px}
.menu-overlay {position:fixed;top:0;left:50%;z-index:51;width:min(1450px,calc(100% - 64px));height:var(--header-height);display:flex;align-items:center;justify-content:center;transform:translateX(-50%);pointer-events:none;background:transparent!important}
.menu-overlay .primary-nav {pointer-events:auto;min-width:0}
.menu-overlay .nav-list {display:flex;align-items:center;gap:clamp(8px,.8vw,14px);padding:0;margin:0;list-style:none}
.menu-overlay .nav-list>li {position:relative;list-style:none}
.menu-overlay .nav-list>li>a,.menu-overlay .nav-link {font:400 12px/1.3 Georgia,serif;color:#f5f0ea;text-decoration:none;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.menu-overlay .nav-item-row {display:flex;align-items:center;gap:6px}
.menu-overlay .nav-dropdown-toggle {padding:4px;border:0;background:transparent;color:white;cursor:pointer}
.menu-overlay .nav-dropdown-chevron {display:block;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.menu-overlay .nav-sublist,.menu-overlay .sub-menu {position:absolute;z-index:90;top:100%;left:0;min-width:180px;margin:0;padding:14px;background:#fff;box-shadow:0 12px 25px #0003;list-style:none}
.menu-overlay .nav-sublist[hidden] {display:none!important}
.menu-overlay .nav-sublist a,.menu-overlay .sub-menu a {display:block;padding:8px;color:#292323!important;font:13px Georgia,serif;text-decoration:none}
.menu-overlay .sub-menu {display:none}.menu-overlay li:hover>.sub-menu,.menu-overlay li:focus-within>.sub-menu {display:block}
.site-footer {background:#000!important;color:#f5ebe0!important;padding:60px 0 24px}
.site-footer .footer-inner {width:min(1365px,calc(100% - 80px));margin:0 auto}
.site-footer .footer-top {display:grid;grid-template-columns:.9fr 1fr 1.3fr 1.2fr 1fr;gap:clamp(20px,3vw,45px);align-items:start}
.site-footer .footer-brand img {max-width:120px;max-height:74px;object-fit:contain;filter:brightness(0) invert(1)}
.site-footer .footer-heading {font:600 11px/1.5 sans-serif;color:#c9b28a!important;letter-spacing:.14em;margin:0 0 20px}
.site-footer .footer-links {list-style:none;margin:0;padding:0;display:grid;gap:14px}
.site-footer a,.site-footer address {color:#f5ebe0!important;font:400 13px/1.65 Georgia,serif;text-decoration:none}
.site-footer address {font-style:normal}
.site-footer .footer-contact>a {display:block;margin-bottom:12px}
.site-footer .footer-cta {text-align:right}.site-footer .footer-cta a {font-size:12px;letter-spacing:.1em}
.site-footer .footer-bottom {border-top:1px solid #ffffff35;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-footer .footer-bottom p {font-size:12px;margin:0}
@media(min-width:1200px){.site-header .header-actions{z-index:65}.menu-overlay{padding:0 185px 0 135px;box-sizing:border-box}}
@media(max-width:1199px){
 .site-header .header-inner{width:calc(100% - 44px)}
 .site-header .menu-button{display:block}.site-header .header-actions{gap:18px}
 .menu-overlay{width:100%;height:calc(100dvh - var(--header-height));top:var(--header-height);left:0;transform:none;display:none;overflow-y:auto;padding:28px;background:#050505!important;box-sizing:border-box}
 .menu-overlay.is-open{display:block;pointer-events:auto}
 .menu-overlay .nav-list{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
 .menu-overlay .nav-list>li>a,.menu-overlay .nav-link{font-size:17px}
 .menu-overlay .nav-sublist,.menu-overlay .sub-menu{position:static;margin:12px 0 0}
 .menu-overlay .nav-list>li{max-width:100%}
 .site-footer .footer-top{grid-template-columns:repeat(2,1fr)}
 .site-footer .footer-cta{text-align:left}
}
@media(max-width:600px){.site-header{--header-height:76px}.site-header .brand,.site-header .brand-logo{max-width:104px}.site-header .reservation-link{min-width:125px;min-height:42px;padding:0 9px;font-size:10px}.site-footer .footer-inner{width:calc(100% - 40px)}.site-footer .footer-top{grid-template-columns:1fr 1fr;gap:30px 16px}.site-footer .footer-bottom{flex-direction:column;align-items:start}}

.admin-bar .site-header {top:32px!important}
.admin-bar .menu-overlay {top:32px!important}
@media(max-width:1199px){.admin-bar .menu-overlay {top:calc(var(--header-height) + 32px)!important;height:calc(100dvh - var(--header-height) - 32px)}}
@media(max-width:782px){.admin-bar .site-header{top:46px!important}.admin-bar .menu-overlay{top:calc(var(--header-height) + 46px)!important;height:calc(100dvh - var(--header-height) - 46px)}}
