.cart-offcanvas {
    --bs-offcanvas-width:min(420px, 100vw);
    --bs-offcanvas-bg:var(--theme-color-ffffff);
    --bs-offcanvas-color:var(--text-color);
    --bs-offcanvas-border-color:var(--border-color);
    height:100dvh;
}
.cart-drawer-header { justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--border-color); flex-shrink:0; }
.cart-drawer-header h2 { margin:0; font-size:16px; font-weight:600; }
.cart-drawer-close { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; padding:0; border:1px solid var(--border-color); border-radius:50%; background:var(--theme-color-ffffff); color:var(--text-color); }
.cart-drawer-close .material-symbols-outlined { font-size:20px; }
.cart-drawer-body { min-height:0; padding:0 20px; overflow-y:auto; overscroll-behavior:contain; }
.cart-drawer-empty { margin:30px 0; text-align:center; font-size:13px; color:var(--muted-color); }
.cart-drawer-item { display:grid; grid-template-columns:72px minmax(0,1fr) 28px; align-items:start; gap:12px; padding:18px 0; border-bottom:1px solid var(--border-color); }
.cart-drawer-item:last-child { border-bottom:0; }
.cart-drawer-image { display:block; border:1px solid var(--border-color); border-radius:8px; overflow:hidden; background:var(--theme-color-ffffff); }
.cart-drawer-image img { display:block; width:100%; height:72px; object-fit:contain; }
.cart-drawer-item-content { min-width:0; overflow-wrap:anywhere; }
.cart-drawer-item h3 { font-size:13px; font-weight:600; line-height:1.5; margin:0 0 6px; }
.cart-drawer-item h3 a { color:var(--text-color); text-decoration:none; }
.cart-drawer-options { font-size:11px; color:var(--muted-color); line-height:1.5; margin:0 0 4px; }
.cart-drawer-item-price { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; margin-top:8px; font-size:12px; }
.cart-drawer-item-price strong { color:var(--primary-color); }
.cart-drawer-remove { display:flex; align-items:center; justify-content:center; width:28px; height:32px; border:0; background:transparent; color:var(--muted-color); padding:0; }
.cart-drawer-remove .material-symbols-outlined { font-size:19px; }
.cart-drawer-remove:hover, .cart-drawer-close:hover { color:var(--primary-color); }
.cart-drawer-footer { flex-shrink:0; padding:16px 20px calc(16px + env(safe-area-inset-bottom, 0px)); border-top:1px solid var(--border-color); background:var(--theme-color-ffffff); }
.cart-drawer-total { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; font-size:14px; }
.cart-drawer-total strong { color:var(--primary-color); font-size:17px; }
.cart-drawer-review { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; padding:12px; border:1px solid var(--customer-btn-color); border-radius:6px; background:var(--customer-btn-color); color:var(--on-button-color); font-size:13px; font-weight:600; text-decoration:none; }
.cart-drawer-review:hover { color:var(--on-button-color); background:var(--customer-btn-hover-color); border-color:var(--customer-btn-hover-color); }
.cart-drawer-review:disabled { opacity:.5; cursor:not-allowed; }
.cart-offcanvas a:focus-visible, .cart-offcanvas button:focus-visible { outline:2px solid var(--primary-color); outline-offset:2px; }
@media(max-width:575.98px) {
    .cart-drawer-header { padding:14px 16px; }
    .cart-drawer-body { padding-inline:16px; }
    .cart-drawer-footer { padding-inline:16px; }
    .cart-drawer-item { grid-template-columns:60px minmax(0,1fr) 28px; gap:8px; }
    .cart-drawer-image img { height:60px; }
}
.cart-quantity-control { display:inline-flex; align-items:center; border:1px solid var(--border-color); border-radius:6px; overflow:hidden; flex-shrink:0; }
.cart-quantity-control button { width:26px; height:30px; border:0; background:var(--customer-surface-color); color:var(--text-color); padding:0; }
.cart-quantity-control input { width:42px; height:30px; text-align:center; border:0; border-inline:1px solid var(--border-color); background:var(--theme-color-ffffff); color:var(--text-color); font-size:12px; appearance:textfield; }
.cart-quantity-control input::-webkit-inner-spin-button { appearance:none; }
.cart-quantity-control button:disabled { opacity:.4; }
.cart-quantity-control :focus-visible { outline:2px solid var(--primary-color); outline-offset:-2px; }
.shopping-notice { color:var(--text-color); background:var(--customer-surface-color); padding:8px; font-size:12px; border-left:3px solid var(--secondary-color); }
.shopping-status:empty { display:none; }
.storefront-wishlist-button { display:inline-flex; align-items:center; gap:5px; margin:8px 0; padding:6px 10px; border:1px solid var(--border-color); border-radius:6px; background:var(--customer-bg-color); color:var(--customer-link-color); font-size:12px; cursor:pointer; }
.storefront-wishlist-button[aria-pressed=true] { background:var(--secondary-color); color:var(--on-secondary-color); border-color:var(--secondary-color); }
.wishlist-heart { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.storefront-wishlist-button[aria-pressed=true] .wishlist-heart { fill:currentColor; }
.catalog-card { position:relative; }
.catalog-card .catalog-wishlist-button { position:absolute; top:8px; right:8px; z-index:2; display:flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; margin:0; border-radius:50%; background:var(--theme-color-ffffff); box-shadow:0 2px 6px color-mix(in srgb, var(--text-color) 12%, transparent); cursor:pointer; }
.catalog-card .catalog-wishlist-button[aria-pressed=true] { background:var(--secondary-color); }
