/* Shared navigation for the restaurant and ordering pages. */
.site-header{height:106px;position:sticky;top:0;z-index:30;background:rgba(255,253,248,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 12px #38291512}
.site-header .header-inner{width:min(100% - 100px,1200px);height:100%;margin:auto;display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:18px}
.site-header .brand{width:130px;height:130px;align-self:start;margin:0;border-radius:50%;background:#fffdf8;position:relative;z-index:4;display:flex;align-items:center;justify-content:center}
.site-header .brand img{width:113px;height:113px;object-fit:contain}
.site-header .main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(19px,2.5vw,40px);height:100%}
.site-header .nav-link{position:relative;display:inline-flex;align-items:center;padding:9px 0;color:#273523;font:16px/1 Georgia,'Times New Roman',serif;white-space:nowrap}
.site-header .nav-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#a94318;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-header .nav-link:hover:after,.site-header .nav-link:focus-visible:after,.site-header .nav-link.active:after{transform:scaleX(1)}
.site-header .nav-link:hover,.site-header .nav-link:focus-visible{color:#a94318}
.site-header .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.site-header .reserve-button{min-width:0;min-height:45px;padding:0 16px;justify-self:auto;display:inline-flex;align-items:center;gap:8px;background:#657d42;color:#fff;border:1px solid transparent;border-radius:8px;white-space:nowrap;font:15px Georgia,'Times New Roman',serif}
.site-header .reserve-button:hover{background:#526b35}
.site-header .reserve-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .nav-cart{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid #d3dbc9;border-radius:8px;background:#f1f4e9;color:#273523;white-space:nowrap;font:700 14px Arial,Helvetica,sans-serif;text-decoration:none}
.site-header .nav-cart:hover,.site-header .nav-cart:focus-visible{background:#e1e9d3}
.site-header .nav-cart svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .nav-cart-count{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:50%;background:#657d42;color:#fff;font:700 11px Arial,Helvetica,sans-serif}
.site-header .mobile-menu-toggle{display:none;border:0;background:none;color:#405633;padding:8px}
.site-header .mobile-menu-toggle svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media(max-width:1050px){.site-header .header-inner{width:min(100% - 50px,1200px);grid-template-columns:120px minmax(0,1fr) auto;gap:10px}.site-header .brand{width:114px;height:114px}.site-header .brand img{width:100px;height:100px}.site-header .main-nav{gap:20px}.site-header .reserve-button{padding:0 12px;font-size:13px}}
@media(max-width:850px){.site-header{height:78px}.site-header .header-inner{width:calc(100% - 32px);grid-template-columns:92px minmax(0,1fr) auto}.site-header .brand{width:92px;height:92px}.site-header .brand img{width:82px;height:82px}.site-header .main-nav{display:none;position:absolute;left:0;right:0;top:78px;height:auto;flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 17px;background:rgba(255,253,251,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 15px #132d3b22}.site-header .main-nav.open{display:flex}.site-header .nav-link{padding:13px 0;font-size:17px;width:max-content}.site-header .reserve-button{min-height:39px}.site-header .nav-cart{min-height:39px}.site-header .mobile-menu-toggle{display:block}}
@media(max-width:540px){.site-header .header-actions{gap:6px}.site-header .reserve-button{width:40px;min-width:40px;padding:0;font-size:0;justify-content:center}.site-header .reserve-button svg{width:19px;height:19px}.site-header .nav-cart{width:43px;min-height:40px;padding:0;gap:1px}.site-header .nav-cart .cart-label{display:none}.site-header .nav-cart .nav-cart-count{display:grid !important;font-size:10px;min-width:16px;height:16px}.site-header .mobile-menu-toggle{padding:7px}}
