.floating-bag{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:12px;border:1px solid #e1e5ca;background:#d6ff8e;color:#213217;border-radius:50px;padding:15px 20px;box-shadow:0 8px 35px #15112635;font-size:13px;font-weight:700;min-height:52px}.floating-bag b{background:#263f32;color:white;min-width:23px;height:23px;border-radius:50%;font-size:11px;display:grid;place-items:center}body:has(dialog[open]){overflow:hidden}dialog{overscroll-behavior:contain}.bag-dialog{padding:0;width:min(460px,100vw);height:100dvh;max-height:100dvh;overflow:hidden;border-radius:16px 0 0 16px}.bag-dialog[open]{display:flex;flex-direction:column}.drawer-header{padding:22px 24px;background:var(--paper);flex:none;gap:15px}.drawer-header .close{flex:none}.bag-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 24px max(24px,env(safe-area-inset-bottom));min-height:0;flex:1}.bag-summary{padding-top:12px}.bag-line{grid-template-columns:72px minmax(0,1fr)}.bag-line img{height:94px}.quantity button{min-width:40px;min-height:40px}.quantity-row{gap:10px}.remove{min-height:40px;padding:8px}.bag-summary .primary{min-height:50px}.bag-summary .checkout-note{font-size:10px}.bag-summary .text-link{min-height:40px;display:block;width:100%;text-align:center}.bag-dialog .empty{padding:45px 5px}.checkout-dialog{padding:0;width:min(720px,96vw);max-height:94dvh;overflow:hidden;border-radius:14px}.checkout-dialog[open]{display:flex;flex-direction:column}.checkout-heading{flex:none;padding:20px 26px;margin:0;border-bottom:1px solid var(--line);background:var(--paper);gap:15px}.checkout-heading .close{flex:none}.checkout-scroll{overflow-y:auto;min-height:0;padding:0 26px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}.back-to-bag{min-height:44px;color:#4c3b67;font-size:12px;font-weight:600;padding:12px 0;text-align:left}.checkout-fields{gap:16px}.checkout-fields input{min-width:0;font-size:16px;min-height:46px}.checkout-fields label{min-width:0}.checkout-submit{position:sticky;bottom:-1px;background:var(--paper);border-top:1px solid var(--line);padding:12px 0 16px;box-shadow:0 -10px 16px var(--paper);z-index:2}.checkout-submit .summary-row{font-size:12px;margin:6px 0 12px}.checkout-submit strong{white-space:nowrap;margin-left:12px;font-size:18px}.checkout-submit .primary{min-height:50px}.checkout-dialog #checkout-success{padding-top:25px}.checkout-dialog #checkout-success input{font-size:13px}.checkout-dialog .error-message:empty{display:none}.checkout-dialog .error-message{border:1px solid #eac9c0;background:#fff1eb;padding:14px;border-radius:6px;scroll-margin:20px}.checkout-dialog .preview-notice{font-size:10px}.product-dialog .size{min-height:44px;min-width:44px}.icon-button{min-height:44px}.shop-header .search input{font-size:14px}.toast{bottom:calc(90px + env(safe-area-inset-bottom))}.close{min-width:44px;min-height:44px}@media(min-width:761px){.bag-dialog{top:0;right:0}.checkout-fields{grid-template-columns:1fr 1fr}.checkout-fields .full{grid-column:1/-1}.checkout-heading h2{font-size:26px}}@media(max-width:760px){.shop-header{padding:15px 5%;gap:12px}.search input{font-size:16px!important}.floating-bag{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:12px 17px}.bag-dialog{width:min(460px,100vw);border-radius:0}.drawer-header{padding:18px 20px}.bag-scroll{padding:0 20px max(20px,env(safe-area-inset-bottom))}.checkout-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.checkout-heading{padding:16px 20px}.checkout-heading h2{font-size:23px}.checkout-scroll{padding:0 20px max(20px,env(safe-area-inset-bottom))}.checkout-fields{grid-template-columns:1fr}.checkout-fields .full{grid-column:auto}.checkout-submit{padding-bottom:12px}.motion-copy h1{overflow-wrap:normal}.product-title{min-height:40px}.shop-header .logo{flex-shrink:0}.header-actions{gap:15px}.product-dialog{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.product-dialog .detail-image{height:240px}.detail-copy{padding:22px}.detail-copy .primary{min-height:48px}}
@media(max-width:360px){.motion-copy h1{font-size:39px}.motion-actions{flex-wrap:wrap}.checkout-scroll,.bag-scroll{padding-left:16px;padding-right:16px}.drawer-header h2{font-size:22px}.shop-header .logo{font-size:24px}}
@media(max-width:760px){.category-nav{scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.category-nav::-webkit-scrollbar{display:none}.category-nav button,.category-nav a{scroll-snap-align:start}}
