/* Final audit fixes · 2026-08-22 · MUST load last */
:root{--audit-header:#0a0907;--audit-header-border:rgba(255,255,255,.12)}

/* Interior navigation: the previous modern refresh made the wrapper light and
   the nav transparent while its links remained white. Keep it solid and legible. */
.site-header{
  background:var(--audit-header)!important;
  background-color:var(--audit-header)!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid var(--audit-header-border)!important;
  box-shadow:0 8px 26px rgba(10,9,7,.18)!important;
}
.site-header>.snav,
.site-header>.bnav,
.site-header>.enav,
.site-header>nav.nav{
  background:var(--audit-header)!important;
  background-color:var(--audit-header)!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border:0!important;
  box-shadow:none!important;
}
.site-header>.snav a,
.site-header>.bnav a,
.site-header>.enav a,
.site-header>nav.nav a,
.site-header>.snav-logo,
.site-header>.bnav-logo,
.site-header>.enav-logo,
.site-header .snav-back,
.site-header .bnav-back{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
.site-header .snav-back,
.site-header .bnav-back,
.site-header>nav.nav>a:last-child{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.site-header .snav-back:hover,
.site-header .bnav-back:hover,
.site-header>nav.nav>a:last-child:hover{background:rgba(255,255,255,.15)!important}

/* Google Map: remove the apparent empty band above the embed and prevent the
   consent placeholder and iframe from taking up space at the same time. */
.page-home .sec-map .ssub{margin-bottom:1.2rem!important}
.page-home .sec-map .map-box{margin-top:0!important}
.page-home .map-embed-shell{
  position:relative!important;
  height:420px!important;
  min-height:420px!important;
  overflow:hidden!important;
}
.page-home .map-consent-placeholder{
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border-radius:0!important;
}
.page-home .map-consent-placeholder[hidden]{display:none!important}
.page-home .mapframe[hidden]{display:none!important}
.page-home .mapframe{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  display:block!important;
}
.page-home .map-fallback{position:absolute!important;inset:0!important;z-index:1!important}

/* The global mobile stylesheet reserved dock space on every page. Only the Home
   uses that fixed dock, so interior pages should not end with an artificial gap. */
@media(max-width:760px){
  body:not(.page-home){padding-bottom:0!important}
  .page-home .sec-map .ssub{margin-bottom:1rem!important}
  .page-home .map-embed-shell{height:340px!important;min-height:340px!important}
}

/* Long words/URLs must never create horizontal overflow on editorial pages. */
.page-blog .article,
.page-blog .bcontent,
.page-standard main,
.page-restaurant .pmain{overflow-wrap:anywhere}

/* Visible focus states for keyboard users after the visual refresh. */
.site-header a:focus-visible,
.page-home .mpin:focus-visible,
.page-home .map-consent-placeholder button:focus-visible{
  outline:3px solid #f6c453!important;
  outline-offset:3px!important;
}

/* ===== Final footer/layout pass · v3 ===== */
.page-home footer{
  padding:clamp(2.25rem,4vw,3.25rem) clamp(1rem,3vw,2rem)!important;
  overflow:hidden!important;
}
.page-home footer .footer-contact{
  margin-bottom:18px!important;
}
.page-home footer .footer-legal-links{
  margin:0 auto 28px!important;
  padding:0!important;
}
.page-home footer .foot{
  display:grid!important;
  grid-template-columns:minmax(230px,1.55fr) repeat(4,minmax(135px,1fr))!important;
  gap:clamp(1.35rem,2.5vw,2.35rem)!important;
  align-items:start!important;
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.page-home footer .foot>div{min-width:0!important}
.page-home footer .fdesc{max-width:34ch!important;color:rgba(255,255,255,.58)!important}
.page-home footer .fcol ul{margin:0!important;padding:0!important;gap:9px!important}
.page-home footer .fcol li,
.page-home footer .fcol li span,
.page-home footer .fcol li a{
  font-size:13px!important;
  line-height:1.45!important;
  color:rgba(255,255,255,.62)!important;
  text-decoration:none!important;
}
.page-home footer .fcol li a:hover,
.page-home footer .fcol li a:focus-visible{color:#fff!important}
.page-home footer .footer-col-title{margin:0 0 .85rem!important}
.page-home footer .foot-bot{
  width:100%!important;
  max-width:1180px!important;
  margin:2rem auto 0!important;
  padding-top:1.25rem!important;
}
.page-home footer .footer-transparency{
  max-width:1180px!important;
  margin:1rem auto 0!important;
  color:rgba(255,255,255,.52)!important;
  font-size:12px!important;
}
.page-home footer .footer-transparency a{color:rgba(255,255,255,.76)!important}
@media(max-width:1080px){
  .page-home footer .foot{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-home footer .foot>div:first-child{grid-column:1/-1!important}
  .page-home footer .fdesc{max-width:56ch!important}
}
@media(max-width:640px){
  .page-home footer .foot{grid-template-columns:1fr!important;gap:1.55rem!important}
  .page-home footer .foot>div:first-child{grid-column:auto!important}
  .page-home footer .foot-bot{align-items:flex-start!important;flex-direction:column!important}
  .page-home footer .footer-legal-links{justify-content:flex-start!important}
}

/* Interior footers: keep the shared contact/legal area aligned and avoid loose text. */
body:not(.page-home) footer,
body:not(.page-home) .pfoot,
body:not(.page-home) .bfoot{
  text-align:center!important;
}
body:not(.page-home) .footer-contact{text-align:left!important}
body:not(.page-home) .footer-legal-links{margin-bottom:18px!important}
body:not(.page-home) .pfoot-links,
body:not(.page-home) .bfoot-links,
body:not(.page-home) .foot-links{
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
}

/* The map shell is one fixed visual region: placeholder, fallback and iframe overlap exactly. */
.page-home .map-embed-shell{display:block!important;padding:0!important;margin:0!important}
.page-home .map-embed-shell>.map-fallback,
.page-home .map-embed-shell>.map-consent-placeholder,
.page-home .map-embed-shell>.mapframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important}
