/* Shared Radhe Cab header and footer layout. Keep brand tokens from styles.css. */
.contact-strip{background:#0c2539;color:#dce4e8;font-size:10px;letter-spacing:.02em}
.contact-strip-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.contact-strip-inner>div{display:flex;gap:20px}.contact-strip a{color:#e2c474;text-decoration:none}
.site-header .navbar{min-height:84px}.site-header .navbar-nav{gap:clamp(8px,1.1vw,18px)!important}
.site-header .nav-link{padding:12px 4px!important;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.site-header .nav-link[aria-current="page"]{color:var(--teal);font-weight:700}
.site-header .brand-logo{width:66px;height:66px;object-fit:contain}
.header-quick-actions{display:none}
.layout-footer-grid{grid-template-columns:1.25fr .9fr 1fr .9fr}
.layout-footer-grid a{min-height:28px;display:block;overflow-wrap:anywhere}
.layout-footer-grid .footer-location{display:block;color:#a9b8c1;font-size:10px;line-height:1.6;margin:9px 0 0}
.layout-footer-grid .footer-brand>p{max-width:250px;line-height:1.7}
.layout-footer-grid .brand-logo{width:84px;height:84px;object-fit:contain}
.footer-bottom{align-items:center}
.error-page{padding-top:15vh;padding-bottom:18vh;max-width:680px}
.error-page h1{font-size:clamp(32px,8vw,48px)}
.navbar-toggler{border-color:rgba(18,48,74,.25)!important;padding:8px 10px}
.mobile-menu-head{display:none}
.navbar-toggler:focus-visible,.nav-link:focus-visible,.site-footer a:focus-visible,.contact-strip a:focus-visible{outline:3px solid #d2b466;outline-offset:3px}
@media(max-width:991.98px){
  .layout-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:25px 32px}
  .layout-footer-grid .footer-brand{grid-column:1/-1}
  .layout-footer-grid>div:last-child{grid-column:1/-1}
  .site-header .navbar-collapse#mainNav{position:fixed;inset:0 0 0 auto;z-index:1050;width:min(88vw,380px);max-width:calc(100vw - 24px);height:100vh!important;height:100dvh!important;max-height:100dvh;margin:0;padding: max(20px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));display:flex!important;flex-direction:column;align-items:stretch;overflow-y:auto;background:#fff;box-shadow:-18px 0 55px rgba(8,28,43,.2);transform:translateX(105%);visibility:hidden;pointer-events:none;transition:transform .34s cubic-bezier(.22,.75,.25,1),visibility .34s ease}
  .site-header .navbar-collapse#mainNav.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}
  .mobile-menu-backdrop{position:fixed;inset:0;z-index:1040;display:block;width:100%;height:100%;padding:0;border:0;background:rgba(5,22,35,.48);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
  .mobile-menu-backdrop.is-open{opacity:1;visibility:visible}
  .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e5e9e9;color:var(--navy);font:800 12px var(--font-head);letter-spacing:.13em}
  .mobile-menu-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dce3e4;border-radius:50%;background:#fff;color:var(--navy);font:400 28px/1 var(--font-body)}
  .site-header .navbar-nav{align-items:stretch!important;gap:3px!important;margin:0!important}
  .site-header .nav-item{width:100%}
  .site-header .nav-link{min-height:52px;padding:12px 5px!important;border-bottom:1px solid #eef0ef;font-size:14px}
  .site-header .nav-book{width:100%;min-height:48px;margin-top:12px;justify-content:space-between}
  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open .mobile-action-bar{visibility:hidden;opacity:0;pointer-events:none}
}
@media(max-width:767.98px){
  .contact-strip{display:none}
  .site-header .navbar{padding-top:10px!important;padding-bottom:10px!important;min-height:70px}
  .site-header .brand-logo{width:56px;height:56px}
  .header-quick-actions{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:8px}
  .header-quick-action{display:grid;place-items:center;width:34px;height:38px;color:var(--navy);text-decoration:none}
  .header-quick-action svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .site-header .navbar-toggler{flex:none}
  .footer-bottom{flex-wrap:wrap}
  .layout-footer-grid a{min-height:40px;padding:9px 0}
}
@media(max-width:359px){
  .layout-footer-grid{gap:20px 16px}
  .layout-footer-grid h3{font-size:9px}
  .site-header .navbar>.container{padding-left:12px;padding-right:12px}
  .header-quick-actions{gap:2px;margin-right:4px}
  .header-quick-action{width:30px}
}
@media(min-width:992px){.mobile-menu-head,.mobile-menu-backdrop{display:none!important}}
@media(prefers-reduced-motion:reduce){.site-header .navbar-collapse#mainNav,.mobile-menu-backdrop{transition:none}}
@media(max-width:767.98px){
  .site-footer{padding:22px 0 0;padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .site-footer .layout-footer-grid{align-items:start;gap:12px 18px;padding-bottom:14px}
  .site-footer .footer-brand .brand-logo{width:68px;height:68px}
  .site-footer .footer-brand>p{margin:7px 0 0;line-height:1.5}
  .site-footer .layout-footer-grid .footer-location{margin-top:4px;line-height:1.4}
  .site-footer .footer-main h3{margin:0 0 6px;line-height:1.3}
  .site-footer .layout-footer-grid>div:not(.footer-brand):not(.footer-callout)>a{min-height:34px;padding:2px 0;margin:0;line-height:1.35}
  .site-footer .layout-footer-grid>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
  .site-footer .layout-footer-grid>div:last-child>h3,.site-footer .layout-footer-grid>div:last-child>.footer-location{grid-column:1/-1}
  .site-footer .footer-bottom{padding-top:10px;gap:5px;line-height:1.35}
}
@media(max-width:359.98px){
  .site-footer .layout-footer-grid{gap:12px 12px}
}
@media(min-width:768px) and (max-width:991.98px){
  .site-footer{padding:28px 0 19px}
  .site-footer .layout-footer-grid{grid-template-columns:1.1fr 1fr 1fr!important;gap:16px 22px;padding-bottom:20px}
  .site-footer .layout-footer-grid .footer-brand{grid-column:auto}
  .site-footer .footer-brand .brand-logo{width:72px;height:72px}
  .site-footer .footer-brand>p{margin:8px 0 0;line-height:1.5}
  .site-footer .layout-footer-grid .footer-location{margin-top:5px;line-height:1.4}
  .site-footer .footer-main h3{margin:0 0 7px;line-height:1.3}
  .site-footer .layout-footer-grid>div:not(.footer-brand):not(.footer-callout)>a{min-height:34px;padding:2px 0;margin:0;line-height:1.4}
  .site-footer .layout-footer-grid>div:last-child{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .site-footer .layout-footer-grid>div:last-child>h3,.site-footer .layout-footer-grid>div:last-child>.footer-location{grid-column:1/-1}
  .site-footer .footer-bottom{padding-top:12px;line-height:1.4}
}
