/* Final revision overrides: common navigation, mobile drawer and admin polish. */
html,
body{
  max-width:100%;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:auto !important;
  touch-action:pan-y;
  font-family:'Hanken Grotesk',Arial,sans-serif !important;
}

html{height:auto;min-height:100%;-webkit-overflow-scrolling:touch;}
body{height:auto;min-height:100%;-webkit-overflow-scrolling:touch;}

body,
button,
input,
textarea,
select{
  font-family:'Hanken Grotesk',Arial,sans-serif !important;
}

body *{
  font-family:'Hanken Grotesk',Arial,sans-serif !important;
}

h1,h2,h3,h4,h5,h6,
.brand-name,
.price{
  font-family:'Bodoni Moda',Georgia,serif !important;
}

.material-symbols-outlined{
  font-family:'Material Symbols Outlined',Arial,sans-serif !important;
}

.icon-fallback{
  font-family:Arial,'Segoe UI Symbol',sans-serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  line-height:1 !important;
  speak:none;
}

.site-header,
.site-header .header-inner{
  width:100%;
  max-width:100%;
}

.site-header .header-inner{min-width:0}
.brand-lockup{min-width:0}
.brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-tools{flex:0 0 auto}
.menu-toggle{padding:8px;line-height:1}

.site-header .mobile-nav{padding:26px 24px 34px;background:#0e0e0e;position:relative;border-top:1px solid rgba(77,70,53,.4)}
.site-header .header-inner{position:relative;z-index:3}
.site-header .mobile-nav{z-index:2}
.site-header .menu-scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.56);z-index:1;pointer-events:none}
.site-header .menu-scrim.open{display:block;pointer-events:auto}
.site-header .mobile-nav.open{display:block;animation:labMenuReveal .25s ease-out}
.site-header .mobile-nav a{display:block;padding:14px 0;font-size:12px;letter-spacing:.18em}
.site-header .menu-close{position:absolute;right:18px;top:12px;background:transparent;border:0;color:#e5e2e1;font-size:28px;line-height:1;cursor:pointer}
/* The drawer no longer locks the document scroll; the page remains scrollable
   even if a mobile browser restores a previously open menu state. */
.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.quick-actions a{background:#f2ca50;color:#3c2f00;padding:14px 16px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.nav-group{display:block;color:#71695e;font-size:10px;letter-spacing:.18em;padding:18px 14px 6px}
.toast{animation:labToast 4s ease both}
@keyframes labMenuReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes labToast{0%,100%{opacity:0;transform:translateY(-8px)}10%,85%{opacity:1;transform:translateY(0)}}
@media(max-width:800px){
  .quick-actions{grid-template-columns:1fr}
  .site-header .mobile-nav{display:none}
  .site-header .mobile-nav.open{display:block}
}

@media(min-width:1001px){
  .site-header .menu-toggle{display:none}
}

@media(max-width:1000px){
  .site-header .header-inner{padding-left:20px;padding-right:20px}
  .site-header .menu-toggle{display:block}
}

@media(max-width:600px){
  .site-header .header-inner{height:70px}
  .site-header .brand-lockup{gap:10px}
  .site-header .brand-mark{width:30px;height:30px}
  .site-header .brand-name{font-size:16px;letter-spacing:.16em}
  .site-header .mobile-nav{padding-left:20px;padding-right:20px}
}
