.shop-mega-host{overflow:visible!important}
.shop-mega-trigger{position:relative}
.shop-mega-link{cursor:pointer}
.shop-mega{
  position:fixed;
  left:0;
  right:0;
  top:var(--shop-mega-top,72px);
  z-index:245;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  width:100vw;
  transform:translateY(8px);
  transition:opacity .34s cubic-bezier(.19,1,.22,1),transform .34s cubic-bezier(.19,1,.22,1),visibility .34s;
}
.shop-mega-host.shop-mega-open .shop-mega,
.shop-mega.is-open,
.shop-mega-host:has(.shop-mega-trigger:hover) .shop-mega,
.shop-mega-host:has(.shop-mega:hover) .shop-mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.shop-mega-panel{
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px,300px) minmax(0,1fr);
  gap:clamp(1.4rem,3vw,3.2rem);
  width:100%;
  max-width:1380px;
  min-height:0;
  margin:0 auto;
  padding:1.65rem clamp(1.4rem,4vw,4rem) 1.8rem;
  background:
    radial-gradient(circle at 76% 12%,rgba(244,201,199,.28),transparent 28%),
    linear-gradient(120deg,rgba(255,255,255,.99),rgba(255,255,255,.98) 54%,rgba(249,249,249,.99));
  border-top:1px solid rgba(187,103,101,.22);
  border-bottom:1px solid rgba(187,103,101,.22);
  box-shadow:0 32px 72px rgba(58,47,42,.12);
  overflow:visible;
}
.shop-mega-panel::before{
  content:'';
  position:absolute;
  inset:0 0 0 auto;
  width:42%;
  background:linear-gradient(116deg,transparent 0%,rgba(244,201,199,.24) 52%,rgba(255,255,255,.26) 100%);
  clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);
  pointer-events:none;
}
.shop-mega-side,
.shop-mega-products{position:relative;z-index:1}
.shop-mega-side{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:.62rem;
  min-width:0;
}
.shop-mega-eyebrow{
  font-size:.56rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#BB6765;
  margin-bottom:.55rem;
  font-weight:400;
}
.shop-mega-side a{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:#BB6765;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.76rem;
  font-weight:400;
  padding:.18rem 0;
  transition:color .24s cubic-bezier(.19,1,.22,1),transform .24s cubic-bezier(.19,1,.22,1);
}
.shop-mega-side a::after{
  content:'';
  width:26px;
  height:1px;
  background:currentColor;
  transform:scaleX(.55);
  transform-origin:left;
  opacity:.55;
  transition:transform .24s cubic-bezier(.19,1,.22,1),opacity .24s;
}
.shop-mega-side a:hover{color:#324F4D;transform:translateX(4px)}
.shop-mega-side a:hover::after{transform:scaleX(1);opacity:1}
.shop-mega-note{
  max-width:260px;
  margin-top:.75rem;
  color:#324F4D;
  font-size:.75rem;
  line-height:1.7;
}
.shop-mega-products{
  display:grid;
  grid-template-columns:repeat(3,minmax(190px,1fr));
  gap:clamp(1rem,2vw,1.6rem);
  align-items:stretch;
  min-width:0;
}
.shop-mega-product{
  display:grid;
  grid-template-rows:176px minmax(118px,auto);
  min-width:0;
  text-decoration:none;
  color:#324F4D;
  border:1px solid rgba(244,201,199,.76);
  border-radius:10px;
  background:rgba(255,255,255,.92);
  overflow:hidden;
  box-shadow:0 16px 42px rgba(58,47,42,.055);
  transform:translateY(10px);
  opacity:0;
  transition:transform .36s cubic-bezier(.19,1,.22,1),opacity .36s cubic-bezier(.19,1,.22,1),box-shadow .3s cubic-bezier(.19,1,.22,1);
}
.shop-mega-host.shop-mega-open .shop-mega-product,
.shop-mega.is-open .shop-mega-product,
.shop-mega-host:has(.shop-mega-trigger:hover) .shop-mega-product,
.shop-mega-host:has(.shop-mega:hover) .shop-mega-product{transform:translateY(0);opacity:1}
.shop-mega-product:nth-child(2){transition-delay:.04s}
.shop-mega-product:nth-child(3){transition-delay:.08s}
.shop-mega-image{
  position:relative;
  height:176px;
  min-height:0;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fff,rgba(244,201,199,.18));
  overflow:hidden;
}
.shop-mega-image::after{
  content:'';
  position:absolute;
  left:14%;
  right:14%;
  bottom:.65rem;
  height:14px;
  border-radius:50%;
  background:rgba(50,79,77,.09);
  filter:blur(10px);
}
.shop-mega-image img{
  position:relative;
  z-index:1;
  width:84%;
  height:150px;
  max-height:150px;
  object-fit:contain;
  transition:transform .42s cubic-bezier(.19,1,.22,1),filter .42s;
}
.shop-mega-product:hover .shop-mega-image img{
  transform:translateY(-6px) scale(1.035);
  filter:saturate(1.04) contrast(1.02);
}
.shop-mega-copy{
  min-width:0;
  padding:1rem 1rem 1.1rem;
  text-align:left;
}
.shop-mega-copy strong{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.25rem,1.7vw,1.55rem);
  line-height:1.02;
  color:#324F4D;
  font-weight:400;
  overflow-wrap:break-word;
}
.shop-mega-copy span{
  display:block;
  margin-top:.35rem;
  color:#BB6765;
  font-size:.7rem;
  line-height:1.45;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.shop-mega-price{
  display:inline-flex!important;
  width:auto!important;
  margin-top:.4rem!important;
  font-size:.72rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#BB6765!important;
  text-decoration:none!important;
  -webkit-line-clamp:1!important;
}
.shop-mega-price s{opacity:.5;margin-right:.4rem;font-weight:300}
.shop-mega-cta{
  margin-top:1rem;
  display:inline-flex!important;
  align-items:center;
  gap:.55rem;
  color:#324F4D!important;
  font-size:.68rem!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.shop-mega-cta::after{
  content:'→';
  color:#BB6765;
  font-size:1rem;
  line-height:1;
  transition:transform .24s cubic-bezier(.19,1,.22,1);
}
.shop-mega-cta:hover::after{transform:translateX(4px)}

@media(max-width:860px){
  .shop-mega{display:none!important}
  .shop-mega-trigger{position:static}
}

@media(max-width:1120px){
  .shop-mega-panel{
    grid-template-columns:220px minmax(0,1fr);
    padding-inline:1rem;
  }
  .shop-mega-products{
    grid-template-columns:repeat(3,minmax(150px,1fr));
    gap:.8rem;
  }
  .shop-mega-product{
    grid-template-rows:142px minmax(104px,auto);
  }
  .shop-mega-image{
    height:142px;
  }
  .shop-mega-image img{
    height:122px;
    max-height:122px;
  }
  .shop-mega-copy{
    padding:.8rem;
  }
  .shop-mega-copy strong{
    font-size:1.12rem;
  }
  .shop-mega-copy span{
    font-size:.64rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .shop-mega,
  .shop-mega-product,
  .shop-mega-image img,
  .shop-mega-side a,
  .shop-mega-side a::after,
  .shop-mega-cta::after{
    transition:none!important;
  }
}
/* Polished Vikar-style shop hover panel */
.shop-mega{
  z-index:360;
  background:rgba(255,255,255,.98);
  border-top:1px solid rgba(244,201,199,.78);
  border-bottom:1px solid rgba(187,103,101,.24);
  box-shadow:0 28px 70px rgba(58,47,42,.1);
}
.shop-mega-panel{
  max-width:none;
  min-height:352px;
  grid-template-columns:minmax(220px,290px) minmax(0,930px);
  justify-content:center;
  gap:clamp(2rem,5vw,5rem);
  padding:2.15rem clamp(1.6rem,5.6vw,6rem) 2.25rem;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.98) 54%,rgba(249,249,249,.98) 100%),
    radial-gradient(circle at 84% 12%,rgba(244,201,199,.32),transparent 28%);
  border:0;
  overflow:hidden;
}
.shop-mega-panel::before{
  width:36%;
  opacity:.58;
  background:linear-gradient(114deg,transparent 0%,rgba(244,201,199,.24) 48%,rgba(255,255,255,.44) 100%);
}
.shop-mega-side{
  justify-content:center;
  padding:.55rem 0 .55rem .2rem;
  border-right:1px solid rgba(244,201,199,.78);
}
.shop-mega-eyebrow{
  letter-spacing:.32em;
  margin-bottom:.62rem;
}
.shop-mega-side a{
  font-size:.74rem;
  letter-spacing:.18em;
  padding:.22rem 0;
}
.shop-mega-note{
  max-width:245px;
  margin-top:1rem;
  font-size:.77rem;
}
.shop-mega-products{
  grid-template-columns:repeat(3,minmax(180px,250px));
  justify-content:end;
  gap:clamp(.95rem,1.8vw,1.35rem);
}
.shop-mega-product{
  grid-template-rows:168px minmax(120px,auto);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(58,47,42,.07);
}
.shop-mega-product:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 62px rgba(58,47,42,.11);
}
.shop-mega-image{
  height:168px;
  background:
    linear-gradient(180deg,#fff 0%,#fff 62%,rgba(244,201,199,.16) 100%),
    radial-gradient(ellipse at center bottom,rgba(50,79,77,.1),transparent 55%);
}
.shop-mega-image img{
  width:78%;
  height:136px;
  max-height:136px;
}
.shop-mega-copy strong{
  font-size:clamp(1.12rem,1.35vw,1.34rem);
  line-height:1.08;
}
.shop-mega-copy span{
  font-size:.68rem;
}
@media(max-width:1120px){
  .shop-mega-panel{
    grid-template-columns:200px minmax(0,1fr);
    gap:1.2rem;
    padding-inline:1.1rem;
  }
  .shop-mega-products{
    grid-template-columns:repeat(3,minmax(145px,1fr));
  }
}
@media(max-width:920px){
  .shop-mega{display:none!important}
}
/* Final stable header shop menu */
.shop-mega{
  background:#fff!important;
  overflow:hidden!important;
  min-height:360px!important;
}
.shop-mega::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#fff 0%,#fff 58%,#fafafa 100%)!important;
  z-index:0;
}
.shop-mega-panel{
  width:min(1180px,calc(100vw - 8vw))!important;
  max-width:1180px!important;
  min-height:360px!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:2.25rem 0!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:3.2rem!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.shop-mega-side{
  padding:0 2rem 0 0!important;
  border-right:1px solid rgba(244,201,199,.9)!important;
}
.shop-mega-products{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.15rem!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.shop-mega-product{
  grid-template-rows:170px minmax(112px,auto)!important;
  min-height:292px!important;
  opacity:1;
}
.shop-mega-image{
  height:170px!important;
}
.shop-mega-image img{
  width:78%!important;
  height:138px!important;
  max-height:138px!important;
  object-fit:contain!important;
}
.shop-mega-copy strong{
  font-size:1.22rem!important;
}
.shop-mega-copy span{
  font-size:.68rem!important;
}
@media(max-width:1120px){
  .shop-mega-panel{
    width:calc(100vw - 4vw)!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    gap:1rem!important;
  }
  .shop-mega-product{grid-template-rows:150px minmax(108px,auto)!important}
  .shop-mega-image{height:150px!important}
  .shop-mega-image img{height:124px!important;max-height:124px!important}
}
/* Hard stop for the old translucent header-menu behavior */
.shop-mega{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:#fff!important;
  transition:transform .28s cubic-bezier(.19,1,.22,1),visibility .28s!important;
}
.shop-mega.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.shop-mega.is-open::before,
.shop-mega.is-open .shop-mega-panel::after{
  content:'';
  position:absolute;
  inset:0;
  background:#fff!important;
  opacity:1!important;
  z-index:0;
}
.shop-mega-panel{
  isolation:isolate!important;
  z-index:1!important;
}
.shop-mega-side,
.shop-mega-products{
  z-index:2!important;
}
.shop-mega.is-open .shop-mega-product{
  opacity:1!important;
  background:#fff!important;
  transform:translateY(0)!important;
}

/* Reliable cursor handoff and clean product photography */
@media(min-width:921px){
  .shop-mega{
    top:calc(var(--shop-mega-top,72px) - 14px)!important;
    padding-top:14px!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .shop-mega::before{
    top:14px!important;
    background:#fff!important;
    border-top:1px solid rgba(244,201,199,.78);
    border-bottom:1px solid rgba(187,103,101,.24);
    box-shadow:0 28px 70px rgba(58,47,42,.1);
  }
  .shop-mega-panel{
    background:#fff!important;
  }
  .shop-mega-panel::before,
  .shop-mega-panel::after,
  .shop-mega-image::after{
    display:none!important;
  }
  .shop-mega-product,
  .shop-mega-image{
    background:#fff!important;
  }
  .shop-mega-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    padding:1rem 1.35rem!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
    filter:none!important;
    mix-blend-mode:normal!important;
  }
  .shop-mega-product:hover .shop-mega-image img{
    transform:scale(1.025)!important;
    filter:none!important;
  }
  .shop-mega-image--cover img{
    padding:0!important;
    object-fit:cover!important;
  }
  .shop-mega-image--contain img{
    padding:.8rem 1.15rem!important;
    object-fit:contain!important;
  }
}

.shop-mega-copy .shop-mega-swatches{
  display:flex!important;
  align-items:center;
  gap:.38rem;
  margin-top:.6rem!important;
  overflow:visible;
  -webkit-line-clamp:unset;
}
.shop-mega-swatches i{
  display:block;
  width:17px;
  height:17px;
  flex:0 0 17px;
  border-radius:50%;
  background:var(--swatch);
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(50,79,77,.2),0 5px 12px rgba(50,79,77,.08);
}
