/* Shared chrome: identical full-width header on every page + animated menu */
:root{
  --sah-header-max: 1540px;
  --sah-content-max: 1200px;
  --sah-header-pad: 30px;
  --sah-menu-ease: cubic-bezier(.22,.61,.36,1);
}

/* Do NOT set overflow on .sah-wrap — it breaks position:sticky */
.sah-wrap{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.sah-wrap > .topbar{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  background:var(--red,#b51f24)!important;
  color:#fff!important;
  text-align:center!important;
  padding:10px 12px!important;
  font-size:12px!important;
  letter-spacing:.35px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.35!important;
}

.sah-wrap > .header{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:#fff!important;
  box-shadow:none!important;
  border-bottom:1px solid var(--line,#f0dfe1)!important;
  margin:0!important;
  padding:0!important;
  left:auto!important;
  right:auto!important;
  overflow:visible!important;
}

/* Stay below WP admin bar when logged in */
body.admin-bar .sah-wrap > .header{
  top:32px!important;
}
@media screen and (max-width:782px){
  body.admin-bar .sah-wrap > .header{
    top:46px!important;
  }
}

/* Top row: logo / search / actions — same max width on every page */
.sah-wrap > .header .head-inner{
  width:100%!important;
  max-width:var(--sah-header-max)!important;
  margin:0 auto!important;
  padding:10px var(--sah-header-pad)!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:18px!important;
  min-height:0!important;
  justify-content:flex-start!important;
}

.sah-wrap > .header .brand{
  width:clamp(180px,18vw,260px)!important;
  min-width:0!important;
  flex:0 0 auto!important;
  margin:0!important;
  font:inherit!important;
  letter-spacing:normal!important;
  color:inherit!important;
}

.sah-wrap > .header .brand-logo{
  width:100%!important;
  max-height:64px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}

.sah-wrap > .header .header-search{
  order:0!important;
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:160px!important;
  max-width:none!important;
  height:48px!important;
  margin:0!important;
  border:2px solid #e9e5e5!important;
  border-radius:40px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.sah-wrap > .header .header-search input[type=search]{
  flex:1!important;
  min-width:0!important;
  height:100%!important;
  border:0!important;
  outline:0!important;
  padding:0 18px!important;
  background:transparent!important;
  font-size:14px!important;
}

.sah-wrap > .header .header-search button{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  margin:2px 3px 2px 0!important;
  border:0!important;
  border-radius:50%!important;
  background:#b51f24!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
}

.sah-wrap > .header .head-actions{
  order:0!important;
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:0!important;
  font-size:14px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

.sah-wrap > .header .head-actions .cart{
  padding:8px 14px!important;
}

/* Full-bleed pink nav — identical height/padding on every page (incl. Shop) */
.sah-wrap > .header .nav{
  order:0!important;
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  margin:0!important;
  background:#ffe0e1!important;
  height:auto!important;
  min-height:52px!important;
  max-height:none!important;
  padding:0 var(--sah-header-pad)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(18px,2.8vw,42px)!important;
  white-space:nowrap!important;
  font-size:14px!important;
  font-weight:650!important;
  box-sizing:border-box!important;
  overflow-x:auto!important;
}

.sah-wrap > .header .nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 4px!important;
  color:inherit!important;
  font-weight:750!important;
  position:relative!important;
  opacity:0;
  transform:translateY(8px);
  animation:sahNavIn .45s var(--sah-menu-ease) forwards;
}
.sah-wrap > .header .nav a:nth-child(1){animation-delay:.04s}
.sah-wrap > .header .nav a:nth-child(2){animation-delay:.08s}
.sah-wrap > .header .nav a:nth-child(3){animation-delay:.12s}
.sah-wrap > .header .nav a:nth-child(4){animation-delay:.16s}
.sah-wrap > .header .nav a:nth-child(5){animation-delay:.20s}
.sah-wrap > .header .nav a:nth-child(6){animation-delay:.24s}
.sah-wrap > .header .nav a:nth-child(7){animation-delay:.28s}
.sah-wrap > .header .nav a:nth-child(8){animation-delay:.32s}

.sah-wrap > .header .nav a:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:100%!important;
  bottom:10px!important;
  height:2px!important;
  background:#b51f24!important;
  transition:right .28s var(--sah-menu-ease)!important;
}
.sah-wrap > .header .nav a:hover:after,
.sah-wrap > .header .nav a.active:after{right:0!important}
.sah-wrap > .header .nav a.active,
.sah-wrap > .header .nav a:hover{color:var(--red,#b51f24)!important}

/* Mobile menu: animated enter / exit */
.sah-wrap > .header .menu-btn{
  display:none!important;
  border:0!important;
  background:#fff0f0!important;
  color:#b51f24!important;
  padding:9px 12px!important;
  border-radius:8px!important;
  font-size:20px!important;
  cursor:pointer!important;
  transition:transform .2s ease, background .2s ease!important;
}
.sah-wrap > .header .menu-btn[aria-expanded="true"]{
  transform:rotate(90deg)!important;
  background:#ffe0e1!important;
}

.sah-wrap > .header .mobile-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  background:#ffe0e1!important;
  padding:0 var(--sah-header-pad)!important;
  overflow:hidden!important;
  max-height:0!important;
  opacity:0!important;
  transform:translateY(-12px)!important;
  pointer-events:none!important;
  visibility:hidden!important;
  transition:
    max-height .38s var(--sah-menu-ease),
    opacity .28s ease,
    transform .32s var(--sah-menu-ease),
    visibility 0s linear .38s,
    padding .28s ease!important;
  border-top:0 solid transparent!important;
}

.sah-wrap > .header .mobile-nav.is-open{
  max-height:480px!important;
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
  visibility:visible!important;
  transition:
    max-height .42s var(--sah-menu-ease),
    opacity .28s ease,
    transform .32s var(--sah-menu-ease),
    visibility 0s linear 0s,
    padding .28s ease!important;
  padding:10px var(--sah-header-pad) 14px!important;
  border-top:1px solid rgba(181,31,36,.12)!important;
}

.sah-wrap > .header .mobile-nav a{
  display:block!important;
  padding:13px 8px!important;
  border-bottom:1px solid rgba(181,31,36,.12)!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#292326!important;
  opacity:0;
  transform:translateX(-12px);
  transition:opacity .28s ease, transform .28s var(--sah-menu-ease), color .2s ease!important;
}
.sah-wrap > .header .mobile-nav a:last-child{border-bottom:0!important}
.sah-wrap > .header .mobile-nav a.active,
.sah-wrap > .header .mobile-nav a:hover{color:#b51f24!important}

.sah-wrap > .header .mobile-nav.is-open a{
  opacity:1;
  transform:translateX(0);
}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(1){transition-delay:.04s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(2){transition-delay:.08s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(3){transition-delay:.12s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(4){transition-delay:.16s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(5){transition-delay:.20s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(6){transition-delay:.24s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(7){transition-delay:.28s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(8){transition-delay:.32s!important}
.sah-wrap > .header .mobile-nav.is-open a:nth-child(9){transition-delay:.36s!important}
.sah-wrap > .header .mobile-nav .mobile-nav-login{
  font-weight:800!important;
  color:#b51f24!important;
}

.sah-wrap > .header .mobile-nav.is-closing a{
  opacity:0!important;
  transform:translateX(-10px)!important;
  transition-delay:0s!important;
}

/* Match homepage content width on Shop / About / Business / Partner */
.sah-page-content{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.sah-page-content .container,
.sah-page-content .hero-inner{
  width:100%!important;
  max-width:var(--sah-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
  box-sizing:border-box!important;
}
.sah-page-shop .hero{
  padding:48px 0 40px!important;
}
.sah-page-shop .categories-section,
.sah-page-shop .featured-section,
.sah-page-shop .why-section,
.sah-page-shop .bottom-cta{
  padding-left:0!important;
  padding-right:0!important;
}

.sah-wrap > .footer{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  background:#211d1f!important;
  color:#fff!important;
  padding:55px 24px 22px!important;
}
.sah-wrap > .footer .footer-grid,
.sah-wrap > .footer .copyright{
  max-width:var(--sah-content-max)!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@keyframes sahNavIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1120px){
  :root{--sah-header-pad:20px}
  .sah-wrap > .header .nav{gap:clamp(12px,2vw,24px)!important;font-size:12px!important}
  .sah-wrap > .header .head-actions{gap:12px!important;font-size:12px!important}
  .sah-wrap > .header .brand{width:200px!important}
}

@media(max-width:700px){
  :root{--sah-header-pad:16px}
  .sah-wrap > .topbar{
    font-size:clamp(8.5px,2.55vw,11px)!important;
    letter-spacing:.15px!important;
    padding:10px 8px!important;
    white-space:nowrap!important;
  }
  .sah-wrap > .header .head-inner{
    flex-wrap:wrap!important;
    padding:10px var(--sah-header-pad) 8px!important;
    gap:10px!important;
  }
  .sah-wrap > .header .nav{display:none!important}
  .sah-wrap > .header .menu-btn{display:block!important}
  .sah-wrap > .header .head-actions .icon-link:not(.cart){display:none!important}
  .sah-wrap > .header .brand{width:170px!important;order:1!important}
  .sah-wrap > .header .head-actions{order:2!important;margin-left:auto!important}
  .sah-wrap > .header .header-search{
    flex:1 1 100%!important;
    width:100%!important;
    order:3!important;
    height:44px!important;
  }
  .sah-page-content .container,
  .sah-page-content .hero-inner{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .sah-page-shop .hero{padding:36px 0 28px!important}
}

@media(prefers-reduced-motion:reduce){
  .sah-wrap > .header .nav a,
  .sah-wrap > .header .mobile-nav,
  .sah-wrap > .header .mobile-nav a{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}
