/* Single source of truth for the site header — loaded last on every page. */
header.site{position:sticky;top:0;z-index:50;background:#F2EFEA;border-bottom:1px solid var(--line-soft);overflow-x:clip}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:18px}
header.site .brandmark{display:flex;align-items:center;text-decoration:none}
header.site .brandmark img{height:72px;width:auto;display:block}
header.site nav.primary{display:flex;gap:4px;align-items:center}
header.site nav.primary a{text-decoration:none;font-size:14px;font-weight:500;padding:10px 14px;border-radius:8px;transition:background .18s,color .18s;color:var(--ink)}
header.site nav.primary a:hover{background:var(--bg-soft);color:var(--ink)}
header.site .nav-item{position:relative}
header.site .nav-item>.nav-trigger{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;cursor:default;transition:background .18s,color .18s;color:var(--ink)}
header.site .nav-item:hover>.nav-trigger,header.site .nav-item:focus-within>.nav-trigger{background:var(--bg-soft);color:var(--ink)}
header.site .nav-item>.nav-trigger svg{transition:transform .18s}
header.site .nav-item:hover>.nav-trigger svg,header.site .nav-item:focus-within>.nav-trigger svg{transform:rotate(180deg)}
header.site .nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;left:auto;min-width:300px;background:#fff;border:1px solid var(--line-soft);border-radius:10px;box-shadow:0 16px 40px -16px rgba(40,24,12,.22);padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s;z-index:60}
header.site .nav-item:hover .nav-dropdown,header.site .nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
header.site .nav-dropdown a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:8px;text-decoration:none}
header.site .nav-dropdown a:hover{background:var(--bg-soft)}
header.site .nav-dropdown .brand-name{color:oklch(0.28 0.006 75);font-size:14px;font-weight:600}
header.site .nav-dropdown .brand-seg{color:oklch(0.45 0.006 75);font-size:12px;font-weight:400}
header.site .nav-dropdown a:hover .brand-name{color:oklch(0.28 0.006 75)}
header.site .nav-dropdown a:hover .brand-seg{color:oklch(0.45 0.006 75)}
header.site .nav-cta{margin-left:8px;text-decoration:none;font-size:14px;font-weight:500;padding:10px 16px;border-radius:8px;transition:background .18s;background:var(--clay)!important;color:#fff!important}
header.site .nav-cta:hover{background:oklch(0.66 0.14 50)!important;color:#fff!important}
@media (max-width:640px){
header.site .wrap{padding-block:14px}
header.site .brandmark img{height:52px}
header.site nav.primary{gap:2px}
header.site nav.primary a:not(.nav-cta),header.site .nav-trigger{padding:8px 10px;font-size:13px}
header.site .nav-dropdown{min-width:240px}
header.site .nav-cta{padding:8px 14px;font-size:13px;margin-left:4px}
}
@media (max-width:380px){
header.site nav.primary a:not(.nav-cta){padding:8px 6px;font-size:12px}
}

/* ---------- burger + mobile panel ---------- */
header.site .nav-anchor{display:contents}
header.site .nav-burger{display:none;width:44px;height:44px;border:1px solid var(--line-soft);border-radius:10px;background:transparent;cursor:pointer;padding:0;place-items:center;gap:5px;flex-direction:column;transition:background .18s,border-color .18s}
header.site .nav-burger:hover{background:var(--bg-soft)}
header.site .nav-burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
header.site.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.site.nav-open .nav-burger span:nth-child(2){opacity:0}
header.site.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
header.site.nav-open .nav-burger{background:oklch(0.28 0.006 75);border-color:oklch(0.28 0.006 75);border-bottom-left-radius:0;border-bottom-right-radius:0}
header.site.nav-open .nav-burger span{background:#fff}
@media (max-width:860px){
header.site .wrap{position:relative}
header.site .nav-anchor{display:block;position:relative}
header.site .nav-burger{display:flex;align-items:center;justify-content:center}
header.site .nav-burger{position:relative;z-index:80}
header.site nav.primary{position:absolute;top:100%;right:0;left:auto;width:min(300px,calc(100vw - 56px));flex-direction:column;align-items:stretch;gap:0;background:oklch(0.28 0.006 75);border:none;border-radius:12px 0 12px 12px;box-shadow:0 18px 44px -20px rgba(20,12,6,.45);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:70}
header.site.nav-open nav.primary{opacity:1;visibility:visible;transform:translateY(0)}
header.site nav.primary a,header.site .nav-item>.nav-trigger{font-size:18px;padding:15px 14px;min-height:48px;display:flex;align-items:center;justify-content:flex-start;text-align:left;border-radius:8px;color:oklch(0.90 0.008 75)}
header.site nav.primary>*+*{border-top:1px solid oklch(0.36 0.006 75)}
header.site nav.primary a:hover{background:oklch(0.34 0.006 75);color:#fff}
header.site .nav-item{width:100%}
header.site .nav-item>.nav-trigger{justify-content:space-between;cursor:pointer;width:100%}
header.site .nav-item.open>.nav-trigger,header.site .nav-item:hover>.nav-trigger,header.site .nav-item:focus-within>.nav-trigger{background:transparent;color:#fff}
header.site .nav-item.open>.nav-trigger svg{transform:rotate(180deg)}
header.site .nav-item:not(.open)>.nav-trigger svg{transform:none}
header.site .nav-dropdown{position:static;top:auto;right:auto;min-width:0;width:100%;border:none;border-radius:0;box-shadow:none;background:transparent;padding:0 0 4px;opacity:1;visibility:hidden;transform:none;height:0;overflow:hidden;transition:none}
header.site .nav-item.open .nav-dropdown{visibility:visible;height:auto}
header.site nav.primary .nav-dropdown a{padding:13px 14px 13px 26px;min-height:48px;border:none;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
header.site nav.primary .nav-dropdown .brand-name{font-size:17px;text-align:left}
header.site nav.primary .nav-dropdown .brand-seg{font-size:14px;text-align:left}
header.site .nav-dropdown a+a{border-top:1px solid oklch(0.36 0.006 75)}
header.site .nav-dropdown a:hover{background:var(--clay)}
header.site .nav-dropdown .brand-name{color:oklch(0.94 0.010 75)}
header.site .nav-dropdown .brand-seg{color:oklch(0.70 0.008 75)}
header.site .nav-dropdown a:hover .brand-name,header.site .nav-dropdown a:hover .brand-seg{color:#fff}
header.site nav.primary a.nav-cta{margin-left:0;text-align:center;justify-content:center;align-items:center;margin-top:6px;border-top:none!important;font-size:18px}
}
/* ================= HEADER LAYOUT + CART (single source of truth) ================= */
header.site .wrap{gap:12px}
header.site .brandmark{flex:0 0 auto;min-width:0}
header.site .brandmark img{flex:none;width:auto;max-width:none}
header.site .header-right{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}

/* cart button */
header.site .cart-item{position:relative;width:auto;flex:none}
header.site a.ravit-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line-soft);border-radius:10px;background:transparent;color:var(--ink);text-decoration:none;transition:background .18s,border-color .18s,color .18s}
header.site a.ravit-cart:hover{background:var(--bg-soft);border-color:var(--ink);color:var(--ink)}
header.site a.ravit-cart svg{width:20px;height:20px;display:block}
header.site a.ravit-cart .cart-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--clay);color:#fff;font-size:11px;font-weight:700;line-height:1;display:grid;place-items:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #F2EFEA}
header.site a.ravit-cart.is-empty .cart-count{display:none}
header.site .cart-item.bump a.ravit-cart{animation:cartBump .42s ease}
@keyframes cartBump{0%,100%{transform:none}30%{transform:scale(1.14)}60%{transform:scale(.96)}}

/* mini-cart panel */
header.site .cart-dropdown{min-width:340px;right:0;left:auto;padding:14px}
header.site .cart-item.open .cart-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
header.site .mini-empty{margin:0;padding:6px 2px;color:var(--ink-3);font-size:14px}
header.site .mini-list{list-style:none;margin:0;padding:0;max-height:min(58vh,400px);overflow:auto}
header.site .mini-item{position:relative;display:flex;align-items:center;gap:10px;padding:10px 26px 10px 0;border-bottom:1px solid var(--line-soft);font-size:13px;line-height:1.45}
header.site .mini-item:last-child{border-bottom:none}
header.site .mini-item img{order:2;flex:none;width:44px;height:auto;max-height:56px;object-fit:contain;border-radius:6px;background:var(--bg-soft)}
header.site .mini-text{order:1;flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
header.site .mini-name{color:var(--ink);font-size:14px;font-weight:600}
header.site .mini-qty{color:var(--ink-3);font-variant-numeric:tabular-nums}
header.site .mini-remove{position:absolute;top:8px;right:0;width:20px;height:20px;display:grid;place-items:center;border:none;background:transparent;border-radius:6px;color:var(--ink-3);font-size:16px;line-height:1;cursor:pointer;padding:0}
header.site .mini-remove:hover{background:var(--bg-soft);color:oklch(0.55 0.20 25)}
header.site .mini-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:12px 0;padding-top:12px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
header.site .mini-total strong{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-transform:none}
header.site .mini-buttons{display:flex;gap:8px}
header.site .mini-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border:1px solid var(--ink);border-radius:9px;background:transparent;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;transition:background .18s}
header.site .mini-btn:hover{background:var(--bg-soft)}
header.site .mini-btn.primary{background:var(--clay);border-color:var(--clay);color:#fff}
header.site .mini-btn.primary:hover{background:oklch(0.66 0.14 50);border-color:oklch(0.66 0.14 50);color:#fff}

/* two mounts, exactly one visible */
header.site .cart-mobile{display:none}
header.site nav.primary .cart-desktop{display:block;margin-left:2px}

@media (max-width:860px){
  header.site .brandmark img{height:44px}
  header.site .header-right{gap:8px}
  header.site nav.primary .cart-desktop{display:none!important}
  header.site .cart-mobile{display:block;order:-1}
  header.site .nav-burger{display:flex!important;align-items:center;justify-content:center;order:0}
  header.site .cart-mobile .cart-dropdown{display:flex;flex-direction:column;position:absolute;top:100%;margin-top:-1px;right:0;left:auto;width:min(320px,calc(100vw - 40px));min-width:0;background:#fff;border:1px solid var(--line-soft);border-radius:12px;box-shadow:0 18px 44px -20px rgba(20,12,6,.45);padding:14px;opacity:0;visibility:hidden;height:auto;transform:none;transition:opacity .14s ease,visibility .14s;z-index:75}
  header.site .cart-mobile.open .cart-dropdown{opacity:1;visibility:visible;transform:none}
}
/* open/hover cart: white panel continues straight out of a white button (desktop + mobile) */
header.site .cart-item{z-index:80}
header.site .cart-item .cart-dropdown{pointer-events:none;transform:none;top:100%;margin-top:-1px;border-radius:12px 0 12px 12px;transition:opacity .14s ease,visibility .14s}
/* the cart shares the .nav-item shell, so neutralise the generic hover/focus dropdown rules:
   only the .open class may show the mini-cart */
header.site .cart-item:not(.open):hover .cart-dropdown,header.site .cart-item:not(.open):focus-within .cart-dropdown{opacity:0;visibility:hidden;transform:none}
header.site .cart-item.open .cart-dropdown{pointer-events:auto}
header.site .cart-item.open a.ravit-cart,header.site .cart-item.open a.ravit-cart:hover{background:#fff;border-color:var(--line-soft);border-bottom-color:#fff;color:var(--ink);border-bottom-left-radius:0;border-bottom-right-radius:0;position:relative;z-index:82}
header.site .cart-item.open a.ravit-cart .cart-count{box-shadow:0 0 0 2px #fff}
header.site .cart-item.open .cart-dropdown{top:100%;margin-top:-1px;transform:none;transition:opacity .14s ease;background:#fff;border:1px solid var(--line-soft);border-radius:12px 0 12px 12px;box-shadow:0 18px 44px -20px rgba(20,12,6,.35);z-index:78}
@media (max-width:860px){
  header.site .cart-mobile.open .cart-dropdown{top:100%;margin-top:-1px;border-radius:12px 0 12px 12px;transform:none}
}
@media (max-width:400px){
  header.site .wrap{gap:8px}
  header.site .brandmark img{height:38px}
  header.site a.ravit-cart{width:40px;height:40px}
  header.site a.ravit-cart svg{width:18px;height:18px}
}
