/* Customer masthead shared by the menu, booking, account and information pages. */
.customer-masthead { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:12px max(24px,calc((100vw - 1440px)/2)); border-top:3px solid var(--bq-accent,#000); border-bottom:1px solid #dfe5ee; background:#fff; box-shadow:0 3px 12px rgba(20,35,56,.035); }
.customer-masthead .site-header { flex:0 0 auto; border:0; background:transparent; }
.customer-masthead .site-header .container { width:auto; max-width:none; padding:0; }
.customer-masthead .header-inner { justify-content:flex-start; }
.customer-masthead .logo-link { display:flex; align-items:center; justify-content:center; min-height:54px; border-radius:8px; }
.customer-masthead .header-logo { width:112px; height:58px; object-fit:contain; }
.customer-masthead .nav-tabs { flex:0 1 850px; min-width:0; padding:5px; border:1px solid #e0e6ee; border-radius:13px; background:#f5f7fa; }
.customer-masthead .nav-tabs-inner { display:flex; align-items:stretch; gap:5px; overflow:visible; }
.customer-masthead .nav-tab { display:flex; flex:1 1 0; flex-direction:row; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:48px; padding:7px 12px; border:1px solid transparent; border-radius:9px; background:transparent; color:#506079; font-size:13px; line-height:1.35; font-weight:600; cursor:pointer; touch-action:manipulation; transition:background-color .15s,color .15s,box-shadow .15s; }
.customer-masthead .nav-tab svg { box-sizing:border-box; flex:0 0 30px; width:30px; height:30px; padding:6px; border-radius:8px; background:#e9edf4; color:#52647f; stroke-width:1.8; }
.customer-masthead .nav-tab > span { white-space:nowrap; }
.customer-masthead .nav-tab:hover { background:#fff; color:#253b59; box-shadow:0 1px 4px rgba(20,35,56,.06); }
.customer-masthead .nav-tab.active { background:var(--bq-accent,#000); border-color:var(--bq-accent,#000); color:var(--bq-accent-text,#fff); box-shadow:0 3px 8px rgba(var(--bq-accent-rgb,0,0,0),.16); }
.customer-masthead .nav-tab.active > span { color:var(--bq-accent-text,#fff); font-weight:600; }
.customer-masthead .nav-tab.active svg { color:var(--bq-accent-text,#fff); background:rgba(255,255,255,.14); }
.customer-masthead #authTab:not(.active) { border-color:#dce3ed; background:#fff; color:#263e5d; }
.customer-masthead .nav-tab:focus-visible,.customer-masthead .logo-link:focus-visible { outline:2px solid var(--bq-accent-ink,#000); outline-offset:3px; }
/* The invoice and checkout header keeps its Home link and centered logo. */
.site-header.checkout-header { border-bottom:1px solid #dfe5ee; box-shadow:0 2px 8px rgba(20,35,56,.035); }
.checkout-header .checkout-header-container { min-height:76px; padding:10px 20px !important; }
.checkout-header .checkout-back-link { min-height:44px; padding:8px 12px; gap:7px; border:1px solid #dce3ed; border-radius:9px; background:#f7f9fc; color:#344a68; font-size:12px; font-weight:600; }
.checkout-header .checkout-back-link:hover { border-color:var(--bq-accent,#000); color:var(--bq-accent-ink,#000); }
@media (max-width:1100px) {
 .customer-masthead { gap:20px; padding-left:20px; padding-right:20px; }
 .customer-masthead .nav-tab { padding:7px 8px; gap:6px; font-size:12px; }
}
@media (max-width:899px) {
 .customer-masthead { flex-direction:column; gap:9px; padding:10px 16px 12px; }
 .customer-masthead .header-logo { width:105px; height:52px; }
 .customer-masthead .logo-link { min-height:52px; }
 .customer-masthead .nav-tabs { flex:auto; width:100%; max-width:760px; }
}
@media (max-width:599px) {
 .customer-masthead { gap:6px; padding:7px 10px 10px; border-top-width:2px; }
 .customer-masthead .header-logo { width:94px; height:46px; }
 .customer-masthead .logo-link { min-height:46px; }
 .customer-masthead .nav-tabs { padding:4px; border-radius:11px; }
 .customer-masthead .nav-tabs-inner { gap:3px; }
 .customer-masthead .nav-tab { flex-direction:column; gap:4px; min-height:59px; padding:6px 2px; font-size:10px; border-radius:8px; }
 .customer-masthead .nav-tab svg { flex-basis:25px; width:25px; height:25px; padding:4px; border-radius:6px; }
 .checkout-header .checkout-header-container { min-height:66px; padding:7px 12px !important; }
}
@media (prefers-reduced-motion:reduce) { .customer-masthead .nav-tab { transition:none; } }
