.no-scroll{overflow:hidden}.overlay{position:fixed;inset:0;z-index:90;background:#080a108c;opacity:0;transition:opacity .25s ease}.overlay.open{opacity:1}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:100;width:min(440px,100%);display:flex;flex-direction:column;background:var(--bg);color:var(--text);border-left:1px solid var(--border);transform:translate(100%);transition:transform .28s cubic-bezier(.2,.7,.2,1)}.drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 20px;border-bottom:1px solid var(--border)}.drawer-head h2{font-size:1.25rem;font-weight:700}.drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px calc(24px + env(safe-area-inset-bottom,0px))}.lines{list-style:none;padding:0;display:grid;gap:12px}.line{display:grid;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.line .line-top{align-items:center}.line-info{flex:1;min-width:0}.line-img{flex:none;width:56px;height:42px;object-fit:contain;border-radius:var(--r-xs);background:var(--bg)}.line-top,.line-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.line-bottom{align-items:center}.line-name{font-weight:500}.line-label{color:var(--text-2);font-size:.875rem}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-sm)}.stepper button{width:40px;height:40px;border:0;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer}.stepper input{width:56px;height:40px;border:0;background:transparent;color:inherit;font:inherit;font-weight:500;text-align:center;padding:0;-moz-appearance:textfield;appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-xs)}.link-btn{background:none;border:0;padding:8px 0;color:var(--text-2);cursor:pointer;font:inherit;text-decoration:underline}.select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;min-height:48px;width:100%}.sum{margin:16px 0 8px;display:grid;gap:6px}.sum div{display:flex;justify-content:space-between;gap:12px}.sum dt{color:var(--text-2)}.sum dd{margin:0;text-align:right}.sum-total{font-weight:700;font-size:1.125rem}.sum-total dt{color:var(--text)}.drawer-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--bg)}.drawer-foot .sum{margin:0 0 4px}.foot-note{font-size:.875rem;margin:0 0 10px}.drawer-foot .sum:has(>[hidden]){display:none}.cart-actions{display:grid;gap:10px}@media(max-height:640px){.cart-actions{grid-template-columns:1fr 1fr}}.undo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 14px;margin:0 0 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.undo[hidden]{display:none}.progress{height:8px;margin:8px 0 4px;border-radius:999px;background:var(--border);overflow:hidden}.progress span{display:block;height:100%;width:var(--p, 0%);border-radius:inherit;background:var(--accent);transition:width .3s ease}.cart-actions .btn{width:100%}.co-heading{font-weight:500;margin:0}.co-country{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:4px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.co-country .co-label{color:var(--text-2)}.co-country .link-btn{margin-left:auto}.field-row{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:12px}:root{--err: #B42318}:root[data-theme=dark]{--err: #F87171}.form-error{border:1px solid var(--err);border-radius:var(--r-sm);padding:10px 14px;color:var(--err);font-weight:500}.notice{border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;background:var(--surface)}.co-grid{display:grid;gap:24px}.co-main{display:grid;gap:16px;align-content:start}.co-side{display:grid;gap:14px;align-content:start}.section .co-h{font-size:1.25rem;font-weight:500;margin:8px 0 0}@media(min-width:900px){.co-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}.co-side{position:sticky;top:16px}.co-grid{--co-shift: 20px}.co-main{margin-right:var(--co-shift)}.co-side{margin-left:calc(-1 * var(--co-shift))}}.co-lines{list-style:none;padding:0;display:grid;gap:12px}.co-line{display:flex;align-items:center;gap:12px}.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}.field.has-error .check input{outline:2px solid var(--err);outline-offset:2px}.field-error{color:var(--err);font-size:.875rem;font-weight:500}.card[hidden]{display:none!important}ul[data-f=items]{margin:1.5rem 0}#confirm{margin-top:1.5rem}@keyframes cart-bump{0%{transform:scale(1)}35%{transform:scale(1.55)}70%{transform:scale(.92)}to{transform:scale(1)}}#cart-count.bump{animation:cart-bump .45s ease}@media(prefers-reduced-motion:reduce){.overlay,.drawer,.progress span{transition:none}#cart-count.bump{animation:none}}.variants{border:0;padding:0;margin:0 0 16px;display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:560px){.variants{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.variants{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1100px){.variants{grid-template-columns:repeat(4,minmax(0,1fr))}}.variant{position:relative;display:grid;align-content:start;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer}.variant-name{font-weight:500;padding-right:32px}.variant-price{font-size:1.25rem;font-weight:700;margin-top:4px}.variant-meta{color:var(--text-2);font-size:.9375rem}.variant .stock,.variant .muted{margin-top:6px;font-size:.875rem}.variant:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}#buy button{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}#buy button.is-added{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 2px var(--ok)}@media(prefers-reduced-motion:reduce){#buy button{transition:none}}.variant:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.variant input{position:absolute;top:16px;right:16px;width:20px;height:20px;margin:0;accent-color:var(--accent)}.variant.is-out{opacity:.55;cursor:not-allowed}.buy-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.qty-input{font:inherit;width:84px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px;min-height:48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
