/* Cart styling copied from the existing home drawer. */
.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:89;opacity:0;visibility:hidden;transition:.25s}
.cart-backdrop.open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;z-index:90;top:0;right:0;height:100dvh;width:min(440px,100%);background:var(--surface);border-left:1px solid var(--line);box-shadow:-30px 0 70px -40px rgba(0,0,0,.7);transform:translateX(105%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}
.cart-drawer.open{transform:none}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.cart-head h3{font-size:30px}
.cart-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:24px}
.cart-items{padding:14px 18px;overflow:auto;display:grid;gap:12px;flex:1;align-content:start}
.cart-empty{text-align:center;color:var(--muted);padding:60px 16px}
.cart-item{display:grid;grid-template-columns:66px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:10px;background:var(--surface-2)}
.cart-thumb{width:66px;height:66px;border-radius:12px;overflow:hidden;background:var(--tile-bg)}
.cart-thumb svg,.cart-thumb img{width:100%;height:100%}.cart-thumb img{object-fit:contain;background:#fff}
.cart-item b{display:block;font-size:13.5px;line-height:1.3;margin-bottom:6px}
.cart-item .mini-price{font-weight:600;color:var(--o2);font-size:13px}
.qty{display:flex;align-items:center;gap:7px;margin-top:7px}
.qty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:800}
.qty span{min-width:20px;text-align:center;font-weight:800;font-size:13px}
.cart-remove{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:20px;padding:8px}
.cart-foot{padding:18px 22px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.cart-line{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--muted)}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-size:18px;margin:14px 0 16px}.cart-total strong{font-family:var(--font-d);font-size:32px}
.checkout-btn{width:100%;border:0;border-radius:14px;background:var(--o-grad);color:#fff;min-height:52px;font-weight:800;cursor:pointer}
.checkout-btn:disabled{opacity:.45;cursor:not-allowed}

.free-ship{margin:10px 0 14px}.free-ship-text{font-size:12px;color:var(--muted);margin-bottom:7px}.free-ship-text b{color:var(--ink)}.ship-track{height:7px;background:var(--line);border-radius:999px;overflow:hidden}.ship-fill{height:100%;width:0;background:var(--o-grad);border-radius:999px;transition:width .25s}.coupon-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.coupon-box input{min-width:0;border:1px solid var(--field-line);background:var(--surface-2);border-radius:10px;padding:10px 12px}.coupon-box button{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer}.coupon-msg{font-size:11.5px;color:var(--muted);min-height:17px}.cart-line.discount{color:#198754}.cart-line.discount[hidden]{display:none}.cart-line strong{font-weight:600;color:var(--ink)}
.catalog-cart-dialog{margin:0 0 0 auto;left:auto;bottom:auto;max-width:none;max-height:none;padding:0;color:var(--ink);font-family:var(--font-b);border:0;border-left:1px solid var(--line)}.catalog-cart-dialog::backdrop{background:rgba(0,0,0,.48)}.catalog-cart-dialog .cart-head h3{margin:0}.catalog-cart-dialog button{color:var(--ink);font:inherit}.catalog-cart-dialog .cart-remove{color:var(--danger);font-size:20px}.catalog-cart-dialog .cart-close{font-size:24px}.catalog-cart-dialog .cart-item small{display:block;color:var(--muted);font-size:11px}.catalog-cart-dialog .checkout-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;border-radius:14px}.catalog-cart-dialog [hidden]{display:none!important}.catalog-cart-dialog .cart-foot{max-height:55dvh;overflow:auto}.catalog-cart-dialog [role=status]{font-size:12px;color:var(--muted)}@media(prefers-reduced-motion:reduce){.catalog-cart-dialog{transition:none}}

.catalog-cart-dialog:not([open]){display:none}.catalog-cart-dialog .qty button{font-weight:800}

/* Cart is a labelled action, not a 42px theme icon. Scope overrides the shared nav. */
.nav-actions{align-items:center;flex-shrink:0}
.nav-actions .catalog-cart-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:104px;max-width:none;height:42px;padding:0 12px;border-radius:999px;flex:0 0 auto;font-family:var(--font-b,system-ui);font-size:14px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}
.catalog-cart-trigger svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catalog-cart-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:var(--o-grad,linear-gradient(#ff8a1f,#f0570a));color:#fff;font-size:12px;font-weight:700;line-height:1}
.cart-drawer{box-sizing:border-box}.cart-drawer .cart-head,.cart-drawer .cart-foot{flex-shrink:0}.cart-drawer .cart-items{min-height:0}.cart-drawer .cart-item{grid-template-columns:66px minmax(0,1fr) auto}.cart-drawer .cart-item b,.cart-drawer .cart-item small{overflow-wrap:anywhere}.cart-drawer .cart-total strong{white-space:nowrap}
@media(max-width:600px){.nav-actions .catalog-cart-trigger{min-width:66px;padding:0 10px;gap:5px}.catalog-cart-label{display:none}.cart-drawer .cart-head,.cart-drawer .cart-foot{padding-left:16px;padding-right:16px}}
@media(max-width:420px){.catalog-nav .nav-in{gap:12px}.nav-actions{gap:5px}.nav-actions #catalogTheme,.nav-actions #catalogMenu{width:36px;height:38px;font-size:20px}}

.cart-recovery{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.catalog-cart-dialog .cart-recovery button{min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:13px;cursor:pointer}.catalog-cart-dialog .cart-recovery button:last-child{color:var(--danger)}

@media(pointer:coarse){.cart-drawer .qty button{min-width:40px;min-height:40px}.cart-drawer .cart-remove{min-width:36px;min-height:44px}}
