.cart-link{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--night-line);color:var(--night-ink)!important;text-decoration:none;transition:background .2s,border-color .2s}
.cart-link:hover{background:var(--night-2);border-color:var(--night-muted)}
.cart-link svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cart-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ring);color:#fff;font:700 .68rem/19px var(--font);text-align:center;box-shadow:0 0 0 2px var(--night)}
.cart-link:focus-visible{outline:3px solid var(--ring);outline-offset:3px}
.cd-overlay{position:fixed;inset:0;background:rgba(8,9,10,.55);z-index:80;opacity:0;pointer-events:none;transition:opacity .3s}
.cd-overlay.open{opacity:1;pointer-events:auto}
.cd{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:90;background:var(--bone);color:var(--ink);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);box-shadow:-24px 0 60px rgba(0,0,0,.25);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.cd.open{transform:none}
.cd-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--bone-line)}
.cd-head h2{font-size:1.4rem;letter-spacing:-.03em}
.cd-x{border:0;background:transparent;font:300 2rem/1 var(--font);color:var(--ink);cursor:pointer;width:40px;height:40px}
.cd-body{flex:1;overflow-y:auto;padding:4px 20px 20px}
.cd-foot{border-top:1px solid var(--bone-line);padding:16px 20px 20px;display:grid;gap:10px;background:var(--bone-2)}
.fc-items{display:grid}
.fc-item{display:grid;grid-template-columns:84px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--bone-line);align-items:start}
.fc-item img{width:84px;height:auto;display:block}
.fc-item h3{font-size:.98rem;letter-spacing:-.01em;line-height:1.3}
.fc-item h3 a{text-decoration:none}
.fc-var{font-size:.82rem;color:var(--muted);margin-top:2px}
.fc-price{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.fc-qty{display:inline-flex;align-items:center;border:1px solid var(--bone-line);border-radius:999px;margin-top:10px;background:var(--bone-2)}
.fc-qty button{border:0;background:transparent;width:34px;height:32px;font:500 1.1rem/1 var(--font);color:var(--ink);cursor:pointer}
.fc-qty span{min-width:22px;text-align:center;font-size:.9rem;font-variant-numeric:tabular-nums}
.fc-rm{display:block;margin-top:8px;border:0;background:transparent;padding:0;font:400 .78rem var(--font);color:var(--muted);text-decoration:underline;cursor:pointer}
.fc-prot{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:18px 0 6px;padding:14px;border:1px solid var(--bone-line);border-radius:12px;background:var(--bone-2);cursor:pointer}
.fc-prot input{width:20px;height:20px;accent-color:var(--ring);margin:0}
.fc-prot strong{display:block;font-size:.92rem}
.fc-prot span{display:block;font-size:.78rem;color:var(--muted);line-height:1.4;margin-top:2px}
.fc-prot b{font-variant-numeric:tabular-nums;font-size:.92rem}
.fc-rec{margin-top:22px}
.fc-rec h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:600}
.fc-rec-row{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--bone-line)}
.fc-rec-row img{width:72px;height:auto;display:block}
.fc-rec-row strong{font-size:.92rem;display:block}
.fc-rec-row span{font-size:.82rem;color:var(--muted)}
.fc-rec-row s{opacity:.7}
.fc-rec-row a.v{font-size:.78rem;color:var(--muted)}
.fc-add{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:.55rem .95rem;font:600 .8rem/1 var(--font);cursor:pointer;white-space:nowrap}
.fc-add:hover{background:var(--ink);color:var(--bone)}
.fc-row{display:flex;justify-content:space-between;font-size:.92rem;font-variant-numeric:tabular-nums}
.fc-total{font-size:1.15rem;font-weight:600}
.fc-note{font-size:.76rem;color:var(--muted)}
.fc-checkout{width:100%}
.fc-empty{text-align:center;padding:40px 0 10px;display:grid;gap:14px;justify-items:center}
.fc-empty p{color:var(--muted)}
.fc-busy{opacity:.55;pointer-events:none}
.fc-err{color:#B42318;font-size:.84rem;margin-top:8px}
.cart-page .fc-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,5vw,64px);align-items:start}
.cart-page .fc-side{position:sticky;top:96px;display:grid;gap:12px;background:var(--bone-2);border:1px solid var(--bone-line);border-radius:12px;padding:22px}
.cart-page .fc-item{grid-template-columns:120px 1fr auto}
.cart-page .fc-item img{width:120px}
@media(max-width:860px){.cart-page .fc-wrap{grid-template-columns:1fr}.cart-page .fc-side{position:static}}
@media (prefers-reduced-motion: reduce){.cd,.cd-overlay{transition:none}}
