.storefront-app{flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.storefront-topbar{z-index:20;background:var(--bg);border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex;position:sticky;top:0}.storefront-brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.storefront-brand-mark{width:24px;height:21px;filter:var(--logo-filter);flex-shrink:0}.storefront-brand-logo{width:auto;height:22px;filter:var(--logo-filter)}.storefront-brand-batch{letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;border-left:1px solid var(--line-strong);margin-left:2px;padding-left:10px;font-size:10px}.cart-btn{border:1.5px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:0 0;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.cart-btn:hover{border-color:var(--ink)}.cart-count{background:var(--ink);color:var(--bg);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-flex}.stepper{border-bottom:1px solid var(--line);display:flex}.step{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:9px 6px;font-size:10.5px}.step.is-active{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}.step.is-done{color:var(--ink)}.storefront-main{flex:1;padding:20px 18px 120px}.drop-head{margin-bottom:24px}.drop-title{margin:14px 0 10px;font-size:36px;line-height:.98}.drop-desc{color:var(--ink-soft);max-width:46ch;margin:0 0 14px;font-size:14.5px;line-height:1.55}.countdown{color:var(--ink-soft);align-items:baseline;gap:8px;font-size:13px;display:flex}.countdown strong{color:var(--ink);font-size:13px}.product-grid{flex-direction:column;gap:14px;display:flex}.product-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;width:100%;color:inherit;grid-template-columns:108px 1fr;gap:14px;padding:12px;text-decoration:none;display:grid}.product-card:hover{border-color:var(--line-strong)}.product-thumb{background:var(--surface-raised);border-radius:1px;flex-shrink:0;justify-content:center;align-items:center;width:108px;height:122px;display:flex;position:relative;overflow:hidden}.product-thumb img{object-fit:cover;width:100%;height:100%}.product-thumb-placeholder{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:center;padding:8px;font-size:10px}.mockup-tag{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:var(--bg);border:1px dashed var(--line-strong);border-radius:1px;padding:2px 3px;font-size:8px;position:absolute;bottom:4px;left:4px;right:4px}.product-card-body{flex-direction:column;min-width:0;display:flex}.product-card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.product-card-name{margin:0;font-size:15px;font-weight:700}.product-card-price{white-space:nowrap;font-size:14px}.product-card-meta{color:var(--ink-soft);margin:3px 0 auto;font-size:11.5px;line-height:1.4}.product-card-cta{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-self:flex-start;margin-top:10px;font-size:11px}.note{color:var(--ink-soft);border-top:1px dashed var(--line-strong);margin-top:22px;padding-top:14px;font-size:12px;line-height:1.6}.pdp-back{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:12px}.pdp-back:hover{color:var(--ink)}.gallery-main{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;margin-bottom:10px;display:flex;position:relative;overflow:hidden}.gallery-main img{object-fit:cover;width:100%;height:100%}.gallery-placeholder{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:center;padding:20px;font-size:12px}.pending-badge{letter-spacing:.08em;text-transform:uppercase;background:var(--bg);border:1px dashed var(--line-strong);color:var(--ink-soft);border-radius:1px;padding:4px 8px;font-size:10px;position:absolute;top:10px;left:10px}.thumbs{gap:8px;margin-bottom:20px;display:flex}.thumb-btn{border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;width:56px;height:56px;padding:0;overflow:hidden}.thumb-btn.is-active{border-color:var(--ink)}.thumb-btn img{object-fit:cover;width:100%;height:100%}.pdp-name{margin:0 0 4px;font-size:24px}.pdp-price{color:var(--ink-soft);margin:0 0 18px;font-size:17px}.field-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:11px;display:block}.sizes{flex-wrap:wrap;gap:7px;margin-bottom:20px;display:flex}.size-pill{border:1.5px solid var(--line-strong);color:var(--ink);border-radius:var(--radius);cursor:pointer;background:0 0;min-width:40px;height:36px;padding:0 8px;font-size:13px}.size-pill:hover{border-color:var(--ink)}.size-pill.is-selected{background:var(--ink);border-color:var(--ink);color:var(--bg)}.qty-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.qty{border:1.5px solid var(--line-strong);border-radius:var(--radius);align-items:center;display:flex;overflow:hidden}.qty button{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:16px}.qty button:hover{background:var(--line)}.qty span{text-align:center;width:30px;font-size:13px}.details-list{border-top:1px solid var(--line);color:var(--ink-soft);margin:0 0 24px;padding:14px 0 0;font-size:12.5px;line-height:2;list-style:none}.details-list li:before{content:"— "}.scrim{opacity:0;pointer-events:none;z-index:30;background:#0a09076b;transition:opacity .2s;position:fixed;inset:0}.scrim.is-open{opacity:1;pointer-events:auto}.drawer{background:var(--surface-raised);border-left:1px solid var(--line-strong);z-index:31;flex-direction:column;width:min(380px,92vw);transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.is-open{transform:translate(0)}@media (prefers-reduced-motion:reduce){.drawer,.scrim{transition:none}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer-head h2{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px}.icon-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.drawer-items{flex:1;padding:10px 18px;overflow-y:auto}.drawer-empty{color:var(--ink-soft);text-align:center;padding:30px 0;font-size:13px}.line-item{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:12px 0;font-size:13px;display:flex}.li-name{font-weight:700}.li-meta{color:var(--ink-soft);margin-top:2px;font-size:12px}.li-price{text-align:right;white-space:nowrap}.drawer-foot{border-top:1px solid var(--line-strong);padding:16px 18px 20px}.total-row{justify-content:space-between;margin-bottom:12px;font-size:15px;display:flex}.total-row strong{font-size:18px}.docket{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);margin-bottom:18px;padding:18px}.docket-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 12px;font-size:11px}.docket .line-item:last-of-type{border-bottom:none}.docket-total{border-top:1px solid var(--line-strong);justify-content:space-between;margin-top:12px;padding-top:12px;font-size:16px;display:flex}.docket-total strong{font-size:19px}.pay-note{color:var(--ink-soft);border:1px dashed var(--line-strong);border-radius:var(--radius);margin:14px 0 18px;padding:12px;font-size:12px;line-height:1.6}.confirm{text-align:center;padding:30px 10px 10px}.confirm-stamp{border:2.5px solid var(--accent);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius);margin-bottom:18px;padding:8px 16px;font-size:12px;display:inline-block;transform:rotate(-3deg)}.confirm-order-no{color:var(--ink-soft);margin-bottom:4px;font-size:13px}.confirm p{color:var(--ink-soft);max-width:40ch;margin:0 auto 22px;font-size:14px;line-height:1.6}.form-error{color:var(--accent);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);margin-bottom:16px;padding:10px 12px;font-size:13px}
