#site-header {
  position:sticky; top:0; z-index:1000;
}
.site-header {
  position:relative; z-index:auto; backdrop-filter:blur(18px); background:rgba(251,248,243,.9); border-bottom:1px solid var(--line); transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.site-header.scrolled {
  background:rgba(251,248,243,.98); border-color:var(--line); box-shadow:0 12px 32px rgba(75,53,28,.08);
}

.nav-shell {
  width:var(--container); margin:0 auto; min-height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.brand {display:flex; align-items:center; gap:0.8rem; min-width:0;}
.brand-copy {
  display:flex; flex-direction:column; line-height:1; text-transform:uppercase; letter-spacing:0.15em; font-size:0.8rem; color:var(--text-soft);
}
.brand-copy strong {font-size:1rem; letter-spacing:0.22em; color:var(--text); font-weight:600;}
.brand-scents {color:var(--gold); font-size:0.86rem; letter-spacing:0.15em; text-transform:none;}

.main-nav {display:flex; align-items:center; gap:1.2rem;}
.nav-collections {position:relative; padding:1rem 0;}
.collection-dropdown {
  position:absolute; top:100%; left:-1rem; z-index:1001; display:none; min-width:240px; padding:0.55rem; border:1px solid var(--line); border-radius:16px; background:var(--bg-alt); box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.nav-collections:hover .collection-dropdown, .nav-collections:focus-within .collection-dropdown {display:grid;}
.collection-dropdown a {display:block; padding:0.7rem 0.8rem; border-radius:10px; font-size:0.88rem; letter-spacing:0.05em; white-space:nowrap;}
.collection-dropdown a:hover {background:var(--gold-soft);}
.main-nav a {
  position:relative; font-size:0.9rem; text-transform:uppercase; letter-spacing:0.11em; color:var(--text-soft); font-weight:600;
}
.main-nav a::after {
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:center; transition:transform .2s ease;
}
.main-nav a.active, .main-nav a:hover {color:var(--text);}
.main-nav a.active::after, .main-nav a:hover::after {transform:scaleX(1);}

.nav-actions {display:flex; align-items:center; gap:0.7rem;}
.icon-button {
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--text); display:grid; place-items:center; position:relative; font-weight:700;
}
.icon-button .badge {
  position:absolute; right:-5px; top:-5px; min-width:21px; height:21px; padding:0 5px; border-radius:999px; background:var(--gold); color:#171310; font-size:0.78rem; display:grid; place-items:center; font-weight:700; border:2px solid rgba(20,18,13,.8);
}

.menu-toggle {display:none;}

.mini-cart-overlay {
  position:fixed; inset:0; background:rgba(71,53,30,.2); opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:1100;
}
.mini-cart-overlay.visible {opacity:1; pointer-events:auto;}
.mini-cart-drawer {
  position:fixed; top:0; right:0; width:min(420px, 92vw); height:100vh; background:var(--bg-alt); border-left:1px solid var(--line); box-shadow:-20px 0 50px rgba(0,0,0,.28); transform:translateX(110%); transition:transform .3s ease; z-index:1200; padding:1.2rem 1rem 1.4rem; display:flex; flex-direction:column;
}
.mini-cart-drawer.open {transform:none;}
.drawer-head, .drawer-item, .drawer-footer {display:flex; align-items:center; justify-content:space-between; gap:0.75rem;}
.drawer-head {padding-bottom:1rem; border-bottom:1px solid var(--line); margin-bottom:1rem;}
.drawer-head h3 {font-size:1.6rem;}
.drawer-items {display:flex; flex-direction:column; gap:0.9rem; overflow:auto; padding-right:0.25rem; margin-bottom:1rem; flex:1;}
.drawer-item {padding:0.8rem 0; border-bottom:1px solid var(--line);}
.drawer-item img {width:72px; height:72px; object-fit:contain; border-radius:14px; background:rgba(255,255,255,.03);}
.drawer-item .cart-image-unavailable {width:72px; height:72px; min-height:72px; flex:0 0 72px; display:grid; place-items:center; padding:0.35rem; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.02); color:var(--text-soft); text-align:center; font-size:0.72rem; letter-spacing:0.02em; text-transform:uppercase;}
.drawer-item-info {flex:1; min-width:0;}
.drawer-item-info h4 {font-size:1.05rem; margin-bottom:0.2rem;}
.drawer-item-price {color:var(--gold); font-weight:600;}
.drawer-controls {display:flex; align-items:center; gap:0.5rem; margin-top:0.4rem;}
.mini-qty-btn {width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:transparent; color:var(--text);} 
.drawer-empty {padding:1.5rem 0; color:var(--text-soft);}
.drawer-footer {padding-top:1rem; border-top:1px solid var(--line); display:grid; gap:0.9rem;}
.drawer-total {font-size:0.9rem; text-transform:uppercase; letter-spacing:0.15em; color:var(--text-soft); display:flex; justify-content:space-between;}
.drawer-total strong {font-size:1.05rem; color:var(--text);}

.mobile-menu {
  position:fixed; inset:0; width:100%; height:100vh; height:100dvh; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; overflow-y:auto; overscroll-behavior:contain; background:rgba(251,248,243,.98); padding:calc(5rem + env(safe-area-inset-top)) 1.2rem calc(2rem + env(safe-area-inset-bottom)); gap:0.75rem; transform:translateX(100%); transition:transform .3s ease; z-index:1300;
}
.mobile-menu.open {transform:none;}
.mobile-menu a {font-size:1.05rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--text);}
.mobile-menu .mobile-actions {display:flex; gap:0.8rem; margin-top:0.8rem;}
.mobile-menu-close {position:absolute; top:calc(1rem + env(safe-area-inset-top)); right:1rem; width:44px; height:44px;}
.mobile-menu-backdrop {position:fixed; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(67,49,28,.2); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease, visibility .3s ease; z-index:1290;}
.mobile-menu-backdrop.visible {opacity:1; visibility:visible; pointer-events:auto;}
.mobile-menu-products-toggle {display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; padding:0.55rem 0.25rem; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); font-size:1.05rem; font-weight:600; letter-spacing:0.12em; text-align:left; text-transform:uppercase;}
.mobile-menu-arrow {width:8px; height:8px; margin-right:0.25rem; border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(45deg); transition:transform .25s ease;}
.mobile-menu-products-toggle[aria-expanded="true"] .mobile-menu-arrow {transform:rotate(225deg);}
.mobile-product-links {display:grid; width:100%; max-height:0; overflow:hidden; padding-left:0.8rem; opacity:0; visibility:hidden; transition:max-height .32s ease, opacity .2s ease, visibility .32s ease;}
.mobile-product-links.expanded {max-height:30rem; opacity:1; visibility:visible;}
.mobile-menu .mobile-product-links a {display:flex; align-items:center; min-height:44px; padding:0.45rem 0.35rem; border-bottom:1px solid rgba(215,177,109,.1); color:var(--text-soft); font-size:0.96rem; font-weight:600; letter-spacing:0.06em;}

@media (min-width: 961px) {
  .mobile-menu, .mobile-menu-backdrop {display:none;}
}

@media (max-width: 960px) {
  .main-nav {display:none;}
  .nav-actions [data-wishlist-toggle] {display:none;}
  .menu-toggle {display:grid;}
}

@media (max-width: 768px) {
  .mobile-menu {inset:0 auto 0 0; width:min(360px, 84vw); height:100vh; height:100dvh; padding:calc(5rem + env(safe-area-inset-top)) 1.25rem calc(2rem + env(safe-area-inset-bottom)); gap:0.35rem; background:rgba(251,248,243,.99); box-shadow:18px 0 48px rgba(75,53,28,.14); transform:translateX(-102%);}
  .mobile-menu.open {transform:translateX(0);}
  .mobile-menu a, .mobile-menu-products-toggle {min-height:48px; font-size:0.98rem; font-weight:600; letter-spacing:0.12em;}
  .mobile-menu a {display:flex; align-items:center; width:100%; padding:0.55rem 0.25rem; border-bottom:1px solid var(--line);}
  .mobile-menu .mobile-actions {padding-top:0.55rem;}
  .brand-copy {font-family:var(--serif); font-size:0.8rem; font-weight:600; letter-spacing:0.13em; color:var(--text);}
  .brand-copy strong {font-size:1rem; font-weight:700; letter-spacing:0.16em;}
  .brand-copy .brand-scents {font-size:0.84rem; font-weight:600; letter-spacing:0.14em; text-transform:none; color:var(--gold);}
}
