/* ==========================================================================
   Mega menu — glass panel, 4 columns (categories / links / product preview / promo)
   ========================================================================== */
.mega-menu{
  position:fixed; top:104px; left:0; right:0; z-index:75;
  /* top is overridden to 82px when .site-header.is-scrolled, see below,
     so the menu always sits flush against the header — no gap/"push down" */
  background:rgba(255,255,255,.86); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  box-shadow:0 30px 70px rgba(32,32,32,.14);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility 0s .4s, top .4s var(--ease);
  padding:48px 0;
  border-top:1px solid var(--border-soft);
}
.mega-menu.is-open{opacity:1; visibility:visible; transform:translateY(0); transition:opacity .4s var(--ease), transform .4s var(--ease);}
.site-header.is-scrolled .mega-menu{top:82px;}
.mega-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:48px; width:min(100%,1360px); margin:0 auto; padding-inline:clamp(16px,2vw,32px);}
.mega-col{padding:0 4px;}
.mega-col h5{font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--brand-primary); margin-bottom:18px; font-weight:600;}
.mega-col a.mega-link{display:flex; align-items:center; gap:8px; font-size:14px; padding:8px 0; color:var(--text-secondary); transition:all .25s var(--ease); border-left:2px solid transparent; padding-left:10px; margin-left:-10px; border-radius:var(--radius-sm);}
.mega-col a.mega-link-parent{font-weight:700; color:var(--text-primary); margin-top:12px;}
.mega-col a.mega-link-parent:first-child{margin-top:0;}
.mega-col a.mega-link-child{font-size:12.5px; padding-left:22px; color:var(--text-muted);}
.mega-col a.mega-link:hover{color:var(--brand-primary); border-left-color:var(--brand-primary); background:var(--brand-primary-light);}
.mega-card{border-radius:var(--radius-md); overflow:hidden; position:relative; aspect-ratio:4/5; box-shadow:var(--shadow-soft); display:block;}
.mega-card img, .mega-card .bg{width:100%; height:100%; object-fit:cover; background-size:cover; background-position:center; transition:transform .8s var(--ease); position:absolute; inset:0;}
.mega-card:hover img, .mega-card:hover .bg{transform:scale(1.08);}
.mega-card .mega-card-label{position:absolute; bottom:16px; left:16px; color:#fff; font-family:'Playfair Display'; font-size:17px; z-index:2;}
.mega-card::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(32,20,8,.55), transparent 60%); z-index:1;}
.mega-promo{border-radius:var(--radius-md); background:var(--brand-primary-light); padding:28px; display:flex; flex-direction:column; justify-content:flex-end; min-height:100%; color:var(--brand-primary-active);}
.mega-promo h4{color:var(--brand-primary-active); font-size:19px; margin-bottom:8px;}
.mega-promo a{font-size:12.5px; font-weight:700; text-decoration:underline; color:var(--brand-primary-active);}
@media(max-width:991px){
  .mega-grid{grid-template-columns:repeat(2,1fr); gap:32px;}
}