/** Cart dialog: one scroll region between a persistent header and checkout footer. */
html.oz-cart-enhanced { scrollbar-gutter:stable; }
html.oz-cart-modal-open { overflow:hidden; }
/* Older browsers: retain the existing scrollbar instead of guessing its width. */
@supports not (scrollbar-gutter:stable) {
 html.oz-cart-modal-open.oz-cart-classic-scrollbar { overflow-y:scroll; }
}
html.oz-cart-enhanced a.added_to_cart.wc-forward { display:none !important; }
.oz-header-action--cart { position: relative; }
.oz-cart-count { position:absolute;inset:0 0 auto auto;min-width:1.125rem;height:1.125rem;padding:0 .2rem;border-radius:var(--oz-radius-pill);background:var(--oz-color-primary);color:var(--oz-color-on-primary);font-size:.6875rem;line-height:1.125rem;text-align:center;font-weight:var(--oz-font-weight-bold); }
.oz-cart-count[hidden] { display:none; }
.oz-cart-drawer {
 position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:0;
 width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:none;
 color:var(--oz-color-ink);background:var(--oz-color-background);overflow:hidden;
 font-family:var(--oz-font-family-body);box-shadow:var(--oz-shadow-elevated);
}
.oz-cart-drawer::backdrop { background:rgb(22 22 23 / .38); }
.oz-cart-drawer[open] { animation:oz-cart-enter 220ms ease-out; }
.oz-cart-drawer.is-closing { transform:translateX(100%);transition:transform 220ms ease; }
@keyframes oz-cart-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
.oz-cart-shell { height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0; }
.oz-cart-header { grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:var(--oz-space-sm);padding:var(--oz-space-md) var(--oz-space-lg);padding-top:max(var(--oz-space-md),env(safe-area-inset-top));border-bottom:1px solid var(--oz-color-border); }
.oz-cart-header h2 { margin:0;font-size:var(--oz-font-size-h3,1.5rem);line-height:1.25; }
.oz-cart-scroll { grid-row:3;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--oz-space-lg);scroll-padding-block:var(--oz-space-md); }
.oz-cart-feedback { grid-row:2;box-sizing:border-box;font-size:var(--oz-font-size-small);line-height:1.5;background:transparent;padding:var(--oz-space-sm) var(--oz-space-lg);block-size:calc(1.5em + 2 * var(--oz-space-sm));overflow:hidden; }
.oz-cart-feedback[data-type="error"] { block-size:auto;min-block-size:calc(1.5em + 2 * var(--oz-space-sm));max-block-size:8rem;overflow:auto;color:var(--oz-color-error); }
.oz-cart-drawer ul { list-style:none;margin:0;padding:0; }
.oz-cart-item { display:grid;grid-template-columns:4rem minmax(0,1fr);gap:var(--oz-space-sm);padding-block:var(--oz-space-md);border-bottom:1px solid var(--oz-color-border); }
.oz-cart-item:first-child { padding-top:0; }
.oz-cart-thumb { align-self:start;background:var(--oz-color-surface);border-radius:var(--oz-radius-medium);overflow:hidden; }
.oz-cart-thumb img { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:inherit; }
.oz-cart-item h3,.oz-cart-cross__name { font-size:var(--oz-font-size-body);font-weight:var(--oz-font-weight-semibold);line-height:1.4;overflow-wrap:anywhere;margin:0 0 var(--oz-space-2xs); }
.oz-cart-item h3 a,.oz-cart-cross__name { color:var(--oz-color-ink);text-decoration:none; }
.oz-cart-item h3 a:hover,.oz-cart-cross__name:hover { text-decoration:underline;text-underline-offset:.2em; }
.oz-cart-price { font-size:var(--oz-font-size-body);line-height:1.5;margin-bottom:var(--oz-space-xs); }
.oz-cart-price ins { background:transparent;text-decoration:none; }
.oz-cart-price del { color:var(--oz-color-text-muted); }
.oz-cart-price .woocommerce-price-suffix { font-size:var(--oz-font-size-small); }
.oz-cart-item dl.variation { font-size:var(--oz-font-size-small);margin:var(--oz-space-xs) 0; }
.oz-cart-item dl.variation dt,.oz-cart-item dl.variation dd { display:inline;margin:0; }
.oz-cart-item dl.variation dd p { display:inline; }
.oz-cart-item__actions { display:flex;align-items:center;justify-content:space-between;gap:var(--oz-space-xs);flex-wrap:wrap; }
.oz-cart-quantity { display:flex;align-items:center;border:1px solid var(--oz-color-border);border-radius:var(--oz-radius-pill); }
.oz-cart-drawer .oz-cart-quantity input { appearance:textfield;width:2.75rem;min-width:0;min-height:2.75rem;border:0;padding:0;background:transparent;text-align:center;font:inherit;color:var(--oz-color-ink); }
.oz-cart-quantity input::-webkit-inner-spin-button,.oz-cart-quantity input::-webkit-outer-spin-button { appearance:none;margin:0; }
.oz-cart-drawer :is(.oz-cart-icon,.oz-cart-remove,[data-cart-step]),
.oz-cart-drawer :is(.oz-cart-icon,.oz-cart-remove,[data-cart-step]):is(:hover,:focus,:active) {
 display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
 width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;
 border:0;border-radius:var(--oz-radius-pill);background:transparent;color:var(--oz-color-ink);
 font-family:inherit;font-size:1.125rem;font-weight:var(--oz-font-weight-medium);line-height:1;text-decoration:none;transform:none;cursor:pointer;
}
.oz-cart-drawer :is(.oz-cart-icon,.oz-cart-remove,[data-cart-step]):hover { background:var(--oz-color-surface); }
.oz-cart-drawer .oz-cart-remove:hover { color:var(--oz-color-error); }
.oz-cart-drawer :is(button,input):disabled { opacity:.45;cursor:not-allowed; }
.oz-cart-drawer svg { width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.oz-cart-cross-sells { margin-top:var(--oz-space-xl); }
.oz-cart-cross-sells > h3 { font-size:1.125rem;line-height:1.4;margin:0 0 var(--oz-space-md); }
.oz-cart-cross { display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:var(--oz-space-sm);padding:var(--oz-space-md) 0;border-top:1px solid var(--oz-color-border); }
.oz-cart-cross__name { display:block; }
.oz-cart-drawer .oz-cart-secondary,
.oz-cart-drawer .oz-cart-secondary:is(:hover,:focus,:active) {
 display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:2.75rem;min-height:2.75rem;
 padding:var(--oz-space-xs) var(--oz-space-sm);border:1px solid var(--oz-color-border);border-radius:var(--oz-radius-pill);
 background:var(--oz-color-surface);color:var(--oz-color-ink);font:inherit;font-weight:var(--oz-font-weight-medium);line-height:1.4;text-decoration:none;transform:none;cursor:pointer;
}
.oz-cart-drawer .oz-cart-secondary:hover { border-color:var(--oz-color-primary);color:var(--oz-color-primary); }
.oz-cart-footer { grid-row:4;padding:var(--oz-space-md) var(--oz-space-lg);padding-bottom:max(var(--oz-space-md),env(safe-area-inset-bottom));border-top:1px solid var(--oz-color-border);background:var(--oz-color-background); }
.oz-cart-footer[hidden],.oz-cart-recovery[hidden] { display:none; }
.oz-cart-total { display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--oz-space-xs);margin-bottom:var(--oz-space-md);font-size:var(--oz-font-size-body); }
.oz-cart-total strong { font-size:1.25rem; }
.oz-cart-shipping { font-size:var(--oz-font-size-small);color:var(--oz-color-text-muted);margin:0 0 var(--oz-space-sm); }
.oz-cart-drawer a.oz-cart-checkout { width:100%;min-height:3rem; }
.oz-cart-checkout[aria-disabled=true] { opacity:.6;cursor:wait; }
.oz-cart-drawer [data-cart-content] { min-height:100%; }
.oz-cart-drawer.is-empty [data-cart-content] { display:grid;place-items:center; }
.oz-cart-empty { text-align:center;max-width:24rem;padding-block:var(--oz-space-xl); }
.oz-cart-empty__icon { display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:var(--oz-color-accent);border-radius:50%;margin-bottom:var(--oz-space-lg); }
.oz-cart-empty__icon svg { width:2rem;height:2rem; }
.oz-cart-empty h3 { font-size:1.5rem;line-height:1.3;margin:0 0 var(--oz-space-sm); }
.oz-cart-empty p { margin:0 0 var(--oz-space-lg);color:var(--oz-color-text-muted); }
.oz-cart-recovery { display:flex;flex-direction:column;align-items:flex-start;gap:var(--oz-space-md);padding-block:var(--oz-space-lg); }
.oz-cart-drawer :is(a,button,input):focus-visible { outline:2px solid var(--oz-color-focus);outline-offset:3px;box-shadow:var(--oz-focus-ring); }
.oz-cart-form-error { flex-basis:100%; }
@media(min-width:48rem) { .oz-cart-drawer { width:min(80vw,36rem); }.oz-cart-item { grid-template-columns:4.5rem minmax(0,1fr); } }
@media(min-width:64rem) { .oz-cart-drawer { width:clamp(26.25rem,32vw,30rem); } }
@media(max-width:22rem) { .oz-cart-header,.oz-cart-footer { padding-inline:var(--oz-space-md); }.oz-cart-scroll { padding:var(--oz-space-md); }.oz-cart-item { grid-template-columns:3rem minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .oz-cart-drawer[open],.oz-cart-drawer.is-closing { animation:none;transition:none; } }
