/** Shopify CDN: Minification failed

Line 167:0 Unexpected "}"

**/
.brand-logo{display:block;height:auto;}
.nav-link{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;font-weight:600;font-size:14px;color:color-mix(in srgb, var(--hdr, var(--ink)) 66%, transparent);transition:.15s;}
.nav-link:hover{background:color-mix(in srgb, var(--hdr, var(--ink)) 8%, transparent);color:var(--hdr, var(--ink));}
/* .active styling is driven by [data-nav-active] — see below. */
.nav-megamenu{position:relative;}
.nav-trigger{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font-weight:600;font-size:14px;color:color-mix(in srgb, var(--hdr, var(--ink)) 66%, transparent);cursor:pointer;list-style:none;user-select:none;}
.nav-trigger::-webkit-details-marker{display:none;}
.nav-trigger:hover{background:color-mix(in srgb, var(--hdr, var(--ink)) 8%, transparent);color:var(--hdr, var(--ink));}
/* Selected menu item — style from header setting nav_active_style (data-nav-active on .nav) */
.nav-link.active,.nav-trigger.active{border-radius:999px;}
.nav[data-nav-active="pill"] .nav-link.active,
.nav[data-nav-active="pill"] .nav-trigger.active{background:var(--hdr, var(--ink));color:var(--section-bg, #F7F6F1);}
.nav[data-nav-active="gold"] .nav-link.active,
.nav[data-nav-active="gold"] .nav-trigger.active{background:var(--gold);color:var(--ink);}
.nav[data-nav-active="underline"] .nav-link.active,
.nav[data-nav-active="underline"] .nav-trigger.active{background:transparent;color:var(--hdr, var(--ink));border-radius:0;box-shadow:inset 0 -2px 0 var(--gold);}
.nav[data-nav-active="text"] .nav-link.active,
.nav[data-nav-active="text"] .nav-trigger.active{background:transparent;color:var(--gold-deep);}
.nav-megamenu[open] .nav-trigger svg{transform:rotate(180deg);}
.nav-trigger svg{transition:transform .2s;}
/* --- Inline header search (pill that expands LEFT from the magnifier) ---
   The wrapper reserves a fixed 42×42 slot equal to the toggle's footprint,
   so the surrounding icons never shift. The form is absolutely positioned
   inside that slot with right:0, so when the input grows it pushes the
   form's left edge leftward while the toggle stays put. */
.header-search{position:relative;width:42px;height:42px;flex:none;}
.header-search-form{position:absolute;top:0;right:0;height:100%;display:flex;align-items:center;background:var(--surface);border:1px solid transparent;border-radius:999px;transition:border-color .2s,background .2s,box-shadow .2s,padding .2s;padding:0;}
.header-search-input{width:0;min-width:0;padding:0;border:0;background:transparent;font:inherit;color:var(--ink);outline:none;opacity:0;transition:width .25s ease,opacity .2s ease,padding .2s ease;}
/* Beats accent-spread.css' global gold focus ring on input[type="search"]
   — the rounded form already supplies its own visible boundary, so the
   extra outline reads as an unwanted gold border around the whole pill. */
.header-search-input,
.header-search-input:focus,
.header-search-input:focus-visible{outline:none !important;box-shadow:none !important;border-color:transparent !important;}
.header-search-input::-webkit-search-cancel-button{display:none;}
.header-search[data-open] .header-search-form{border-color:var(--line);background:var(--surface);box-shadow:0 0 0 3px rgba(28,26,20,.04);padding-left:14px;}
.header-search[data-open] .header-search-input{width:min(58vw,720px);opacity:1;padding:9px 8px 9px 0;font-size:14px;}
.header-search[data-open] .header-search-toggle{color:var(--ink);}
.header-search-toggle{flex:none;}

/* When the search pill is open, fade the main nav out so its links do
   not visually clash with the expanded input. .nav is collapsed and
   inert via aria-hidden on its parent; pointer events disabled. */
.header-inner.header-search-active .nav{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-12px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;}
.header-inner .nav{transition:opacity .2s ease,transform .2s ease;}
/* Results panel: 50% of the page container, horizontally centred on screen.
   position:fixed so it centres on the viewport regardless of the 42px search
   slot it lives in. Width = half the page container (max 1320 → 660), clamped
   on small screens. */
.header-search-results{
  position:fixed;
  top:84px;
  left:50%;
  transform:translateX(-50%);
  width:min(50%, 660px);
  min-width:min(420px, calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow);
  padding:8px;
  z-index:80;
  max-height:min(70vh, 640px);
  overflow-y:auto;
}
.hs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;}
.hs-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius);transition:background .12s;text-decoration:none;color:var(--ink);}
.hs-item:hover,.hs-item:focus-visible{background:var(--bg-soft);outline:none;}
.hs-item-img{width:48px;height:48px;border-radius:10px;background:var(--bg-soft);object-fit:cover;flex:none;}
.hs-item-img--ph{display:flex;align-items:center;justify-content:center;color:var(--ink-mute);font-size:12px;}
.hs-item-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;}
.hs-item-title{font-weight:600;font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;}
.hs-item-meta{font-size:12px;color:var(--ink-soft);}
.hs-item-price{font-size:13px;color:var(--gold-deep);font-weight:600;flex:none;}
.hs-empty{padding:14px 12px;color:var(--ink-soft);font-size:13px;text-align:center;}
.hs-viewall{display:block;text-align:center;padding:10px 12px;margin-top:4px;font-size:13px;font-weight:600;color:var(--ink);border-top:1px solid var(--line);text-decoration:none;}
.hs-viewall:hover{color:var(--gold-deep);}
@media (max-width:540px){
  .header-search[data-open] .header-search-input{width:170px;}
  .header-search-results{min-width:280px;right:-8px;}
}

/* ==========================================================================
   Mobile (≤749 px): when the magnifier is tapped, the search opens as a
   FIXED full-width glass pill below the announcement bar (95 vw wide,
   horizontally centred), and the results panel centres on screen at 95 vw.
   No more expansion overlapping the brand mark.
   ========================================================================== */
@media (max-width:749px){
  /* Idle: still just a 42×42 magnifier slot in the header row */
  .header-search{position:relative;width:42px;height:42px;flex:none;}

  /* When open: detach the form from the header, glue it to the viewport
     near the top, frosted-glass pill 95 vw wide, centred. */
  .header-search[data-open] .header-search-form{
    position:fixed;
    top:14px;
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:95vw;
    max-width:95vw;
    height:48px;
    z-index:120;                       /* above the header (sticky z-index) */
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(18px) saturate(160%);
    -webkit-backdrop-filter:blur(18px) saturate(160%);
    border:1px solid rgba(255,255,255,.7);
    border-radius:999px;
    box-shadow:
      0 12px 32px -8px rgba(28,26,20,.28),
      0 4px 10px -4px rgba(28,26,20,.14),
      inset 0 1px 0 rgba(255,255,255,.6);
    padding:0 8px 0 18px;
    display:flex;align-items:center;
    animation:hs-glass-in .22s ease;
  }
  .header-search[data-open] .header-search-input{
    width:100%;                        /* fill the pill */
    flex:1 1 auto;
    opacity:1;
    padding:0 8px 0 0;
    font-size:16px;                    /* >=16px so iOS doesn't zoom */
  }
  .header-search[data-open] .header-search-toggle{
    flex:0 0 36px;width:36px;height:36px;
    background:var(--ink);color:#fff;
    border-radius:50%;
  }
  /* Backdrop scrim behind the open pill — tap outside to close (handled by JS) */
  .header-search[data-open]::before{
    content:"";
    position:fixed;inset:0;
    background:rgba(28,26,20,.35);
    z-index:115;
    animation:hs-fade-in .2s ease;
  }
  /* Results panel: 95 vw, centred under the pill */
  .header-search[data-open] .header-search-results{
    position:fixed;
    top:74px;
    left:50%;
    transform:translateX(-50%);
    width:95vw;
    max-width:95vw;
    min-width:0;
    max-height:calc(100dvh - 90px);
    z-index:120;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-l);
    box-shadow:0 18px 50px -12px rgba(28,26,20,.28);
  }
}
@keyframes hs-glass-in{ from{opacity:0;transform:translate(-50%,-8px);} to{opacity:1;transform:translate(-50%,0);} }
@keyframes hs-fade-in { from{opacity:0;} to{opacity:1;} }
@media (prefers-reduced-motion: reduce){
  .header-search[data-open] .header-search-form,
  .header-search[data-open]::before{ animation:none; }
}
}

/* Mega menu spans the page container (.header-inner is max-width:1320px
   with 28px horizontal padding), so every dropdown aligns left & right
   with the page's content gutters — not with the menu trigger or the
   nav itself. */
.header-inner{position:relative;}
/* Content-width "pill" panel (not full-bleed): left-aligned, sized to its columns up
   to a sensible cap, with fixed-width columns whose text wraps — like the original. */
.nav-mega-panel{position:absolute;left:0;right:auto;top:calc(100% + 14px);transform:none;width:max-content;max-width:min(900px,calc(100vw - 56px));background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:32px 36px;z-index:70;border:1px solid var(--line);}
.nav-mega-grid{display:flex;flex-wrap:wrap;column-gap:40px;row-gap:26px;align-items:flex-start;}
.nav-mega-col{flex:0 0 200px;max-width:200px;min-width:0;}
.nav-mega-head{font-weight:700;color:var(--ink);display:block;margin:0 0 16px;font-size:15px;line-height:1.3;letter-spacing:-.01em;}
a.nav-mega-head:hover{color:var(--gold-deep);}
.nav-mega-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.nav-mega-list a{font-size:13.5px;color:var(--ink-soft);transition:color .15s;line-height:1.35;display:block;}
.nav-mega-list a:hover{color:var(--ink);}
.header-burger{display:none;}
@media (max-width:990px){
  .header-burger{display:grid;}
  .header-inner{grid-template-columns:auto 1fr auto;gap:14px;padding:14px 18px;}
  .nav{display:none;}
  .brand{justify-self:center;}
}
@media (max-width:540px){
  .header-inner{gap:8px;padding:10px 12px;}
  .header-actions{gap:2px;}
  .header-actions .icon-btn{padding:8px;}
  .header-search[data-open] .header-search-input{width:130px;font-size:13px;}
  .header-search-results{position:fixed;left:8px;right:8px;top:64px;min-width:0;max-width:none;width:auto;}
  .brand-name{font-size:18px;}
  .brand-tag{display:none;}
}
.mobile-nav{position:fixed;top:0;left:0;width:min(360px,86vw);height:100dvh;background:var(--surface);z-index:95;padding:18px 22px;overflow-y:auto;transform:translateX(-100%);transition:transform .3s ease;}
.mobile-nav[data-open]{transform:translateX(0);}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:14px;}
.mobile-nav-title{font-weight:700;letter-spacing:-.02em;font-size:18px;}
.mobile-nav-list{list-style:none;padding:0;margin:0;display:grid;gap:4px;}
.mobile-nav-list > li > a, .mobile-nav-list summary{display:block;padding:14px 8px;font-weight:600;font-size:16px;color:var(--ink);border-radius:10px;cursor:pointer;list-style:none;}
.mobile-nav-list summary::-webkit-details-marker{display:none;}
.mobile-nav-list summary::after{content:"+";float:right;color:var(--ink-mute);}
.mobile-nav-list details[open] summary::after{content:"−";}
.mobile-nav-sublist{list-style:none;padding:4px 0 8px 12px;margin:0;display:grid;gap:2px;}
.mobile-nav-sublist a{display:block;padding:10px 8px;font-size:14px;color:var(--ink-soft);border-radius:8px;}
.mobile-nav-sublist a:hover{background:var(--bg-soft);color:var(--ink);}

/* --- Cart badge rolling number --- */
.cart-badge{overflow:hidden;display:grid;place-items:center;}
.cart-badge-num{
  display:block;line-height:1;
  transition:transform .22s cubic-bezier(.34,1.4,.64,1),opacity .22s ease;
  will-change:transform;
}
.cart-badge-num.roll-out-up{transform:translateY(-130%);opacity:0;}
.cart-badge-num.roll-out-down{transform:translateY(130%);opacity:0;}
.cart-badge-num.roll-in-up{transform:translateY(130%);opacity:0;transition:none;}
.cart-badge-num.roll-in-down{transform:translateY(-130%);opacity:0;transition:none;}
.cart-badge-num.roll-settle{transform:translateY(0);opacity:1;}
@media (prefers-reduced-motion:reduce){
  .cart-badge-num{transition:none;}
}
