/* Floating clay dock navigation, mobile sheet, floating cart, cart drawer. */
.site-header{position:fixed;top:14px;left:0;right:0;z-index:200;display:flex;flex-direction:column;align-items:center;padding-inline:14px;pointer-events:none;transition:transform .6s var(--ease),opacity .45s}
.site-header.hide{transform:translateY(-140%);opacity:0}
.site-header:focus-within{transform:none;opacity:1}
.nav-shell{pointer-events:auto;width:min(1200px,100%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 10px 8px 12px;border-radius:99px;
 background:var(--nav-bg-top);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:var(--clay);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);transition:background .4s,box-shadow .4s,padding .4s var(--ease)}
.site-header:not(.at-top) .nav-shell{background:var(--nav-bg);box-shadow:var(--clay-lg)}
.brand{display:inline-flex;align-items:center;gap:10px;padding:0 10px 0 8px;font-family:var(--font-script);font-size:2.2rem;line-height:1;color:var(--rose-strong);transition:transform .4s var(--spring)}
.brand:hover{transform:scale(1.03)}
.brand-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--card);box-shadow:var(--clay-sm);flex:none}
.brand-logo{width:34px;height:34px;object-fit:contain;transition:transform .6s var(--spring)}.brand:hover .brand-logo{transform:rotate(-10deg) scale(1.12)}
.brand-word{display:block;white-space:nowrap}.brand-word b{font-weight:400;color:var(--gold)}
.nav-links{position:relative;justify-self:center;display:flex;gap:2px;padding:5px;border-radius:99px;background:var(--surface-3);box-shadow:var(--clay-in)}
.nav-links a{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:42px;padding:0 13px;border-radius:99px;font-weight:800;font-size:.9rem;color:var(--text);white-space:nowrap;transition:color .25s}
.nav-links a.lit{color:var(--btn-text)}
.nav-indicator{position:absolute;z-index:0;top:5px;bottom:5px;left:0;width:0;border-radius:99px;background:linear-gradient(145deg,var(--btn-a),var(--btn-b));box-shadow:3px 4px 10px var(--btn-glow),inset 2px 2px 4px rgba(255,255,255,.4),inset -2px -3px 5px rgba(0,0,0,.18);opacity:0;transition:transform .5s var(--spring),width .5s var(--spring),opacity .3s}
.nav-indicator.on{opacity:1}
.nav-actions{display:flex;align-items:center;gap:8px}
.theme-toggle .ic{width:22px;height:22px}
.account-link{gap:7px;white-space:nowrap}
.nav-order{white-space:nowrap}
.menu-toggle{display:none;flex-direction:column;gap:5px;justify-content:center;align-items:center}
.menu-toggle span{display:block;width:20px;height:2.5px;border-radius:3px;background:currentColor;transition:transform .35s var(--ease),opacity .2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mobile-menu{pointer-events:none;width:min(520px,100%);margin-top:10px;padding:14px;border-radius:30px;background:var(--nav-bg);backdrop-filter:blur(18px);box-shadow:var(--clay-lg);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);display:grid;gap:6px;opacity:0;transform:translateY(-16px) scale(.97);visibility:hidden;transition:opacity .3s,transform .45s var(--spring),visibility .3s}
.mobile-menu.open{pointer-events:auto;opacity:1;transform:none;visibility:visible}
.mobile-menu a:not(.btn){display:flex;align-items:center;gap:12px;min-height:50px;padding:0 18px;border-radius:20px;font-weight:800;font-size:1.02rem;color:var(--text);transition:background .25s,transform .3s var(--ease),color .25s}
.mobile-menu a:not(.btn):hover{background:var(--rose-soft);color:var(--rose-strong);transform:translateX(6px)}
.mobile-menu a.active{background:linear-gradient(145deg,var(--btn-a),var(--btn-b));color:var(--btn-text)}
.mobile-menu .btn{margin-top:6px}
.mobile-menu.open>*{animation:fadeUp .5s var(--ease) both}.mobile-menu.open>*:nth-child(2){animation-delay:.04s}.mobile-menu.open>*:nth-child(3){animation-delay:.08s}.mobile-menu.open>*:nth-child(4){animation-delay:.12s}.mobile-menu.open>*:nth-child(5){animation-delay:.16s}.mobile-menu.open>*:nth-child(6){animation-delay:.2s}.mobile-menu.open>*:nth-child(7){animation-delay:.24s}.mobile-menu.open>*:nth-child(8){animation-delay:.28s}
@media(max-width:1120px){.nav-shell{grid-template-columns:1fr auto}.nav-links,.account-link,.nav-order{display:none}.menu-toggle{display:inline-flex}}
@media(min-width:1121px){.mobile-menu{display:none}}
@media(max-width:420px){.brand{font-size:1.9rem}.brand-badge{width:42px;height:42px}.brand-logo{width:30px;height:30px}}
/* Floating cart */
.cart-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:150;display:inline-flex;align-items:center;gap:10px;height:64px;padding:0 22px 0 20px;border:0;border-radius:99px;color:var(--btn-text);font-weight:900;background:linear-gradient(145deg,var(--btn-a),var(--btn-b));box-shadow:9px 12px 26px var(--btn-glow),-5px -5px 12px var(--sh-hi),inset 2px 3px 6px rgba(255,255,255,.4),inset -3px -4px 8px rgba(0,0,0,.2);transition:transform .45s var(--spring),box-shadow .3s,opacity .3s;animation:fabIn .8s .4s var(--spring) both}
.cart-fab:hover{transform:translateY(-5px) scale(1.04)}.cart-fab:active{transform:scale(.95)}
.cart-fab .ic{width:26px;height:26px}
.cart-fab .fab-label{font-size:.95rem}
.cart-fab .cart-count{position:absolute;top:-6px;right:-4px;min-width:27px;height:27px;padding:0 7px;display:grid;place-items:center;border-radius:99px;background:var(--surface-2);color:var(--rose-strong);font-size:.82rem;font-weight:900;box-shadow:var(--clay-sm);border:2px solid var(--rose)}
.cart-fab .cart-count.bump{animation:bump .55s var(--spring)}
.cart-fab.empty .cart-count{display:none}
.cart-fab.hidden-page{display:none}
@keyframes fabIn{from{opacity:0;transform:translateY(40px) scale(.7)}to{opacity:1;transform:none}}
@keyframes bump{40%{transform:scale(1.5)}}
@media(max-width:520px){.cart-fab{height:60px;padding:0 18px}.cart-fab .fab-label{display:none}}
.fly-dot{position:fixed;z-index:600;width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,var(--btn-a),var(--btn-b));box-shadow:0 6px 14px var(--btn-glow);pointer-events:none}
/* Cart drawer */
.cart-drawer{position:fixed;inset:0;z-index:350;pointer-events:none}
.cd-backdrop{position:absolute;inset:0;background:rgba(40,18,24,.5);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.cd-panel{position:absolute;top:10px;right:10px;bottom:10px;width:min(430px,calc(100% - 20px));display:flex;flex-direction:column;border-radius:34px;background:var(--card);box-shadow:var(--clay-lg);transform:translateX(112%);transition:transform .6s var(--ease);overflow:hidden}
.cart-drawer.open{pointer-events:auto}.cart-drawer.open .cd-backdrop{opacity:1}.cart-drawer.open .cd-panel{transform:none}
.cd-head{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 12px}.cd-head h2{margin:0;font-size:1.5rem}
.cd-body{flex:1;overflow:auto;padding:6px 22px}
.cd-item{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;border-bottom:1px dashed var(--border);animation:fadeUp .45s var(--ease) both}
.cd-item strong{color:var(--text)}.cd-item small{color:var(--muted)}
.cd-line{display:flex;align-items:center;justify-content:space-between;grid-column:1/-1}
.qty{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:99px;background:var(--surface-3);box-shadow:var(--clay-in)}
.qty button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--card);color:var(--text);box-shadow:var(--clay-sm);transition:transform .3s var(--spring),color .25s}.qty button:hover{transform:scale(1.12);color:var(--rose-strong)}.qty button:active{box-shadow:var(--clay-in)}
.qty b{min-width:26px;text-align:center}
.cd-remove{border:0;background:none;color:var(--muted);font-weight:800;font-size:.82rem;text-decoration:underline;padding:8px}.cd-remove:hover{color:var(--bad)}
.cd-foot{padding:18px 22px 22px;display:grid;gap:10px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--rose-soft) 50%,transparent))}
.cd-total{display:flex;justify-content:space-between;font-family:var(--font-heading);font-size:1.3rem}.cd-total strong{color:var(--rose-strong)}
.cd-empty{text-align:center;padding:50px 10px}.cd-empty .big-icon{font-size:3.2rem;display:inline-block;animation:floaty 3s ease-in-out infinite}
@media(max-width:520px){.cd-panel{top:0;right:0;bottom:0;width:100%;border-radius:0}}
@media(max-width:1279px){.account-link .acc-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.account-link{width:44px;padding:0}.nav-links a{padding:0 11px;font-size:.88rem}}

/* Floating track button, stacked above the bag */
.track-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(max(20px,env(safe-area-inset-bottom)) + 78px);z-index:150;display:inline-flex;align-items:center;justify-content:center;gap:0;height:56px;min-width:56px;padding:0 16px;border-radius:99px;color:var(--rose-strong);font-weight:900;background:var(--card);box-shadow:var(--clay);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);overflow:hidden;white-space:nowrap;transition:transform .45s var(--spring),box-shadow .3s,gap .35s,padding .35s;animation:fabIn .8s .55s var(--spring) both}
.track-fab .ic{width:26px;height:26px}
.track-fab .fab-label{max-width:0;opacity:0;overflow:hidden;font-size:.9rem;transition:max-width .4s var(--ease),opacity .3s}
.track-fab:hover,.track-fab:focus-visible{transform:translateY(-4px);box-shadow:var(--clay-lg);gap:8px;padding:0 20px 0 16px}
.track-fab:hover .fab-label,.track-fab:focus-visible .fab-label{max-width:120px;opacity:1}
.track-fab.hidden-page{display:none}
.track-fab .pulse-dot{position:absolute;top:8px;right:9px;width:12px;height:12px;border-radius:50%;background:var(--rose);border:2px solid var(--surface-2);display:none}
.track-fab.has-active .pulse-dot{display:block;animation:pulse 1.8s infinite}
@media(max-width:520px){.track-fab{height:52px;min-width:52px;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 74px)}}
