/* No sideways scroll on any storefront page. Off-canvas overlays (the mobile
   nav, the cart drawer) and edge-positioned carousel controls sit past the
   right edge by design; without this they let the whole page drift ~36px
   sideways on a phone. No element on these pages is position:sticky, so
   clipping the horizontal axis here is free of side effects. */
html,body{overflow-x:hidden;max-width:100%}

.wr-cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:4px;border:0;background:none;color:var(--ink,#15202b);cursor:pointer}
.wr-cart-btn:hover{color:var(--red,#d6202a)}
.wr-cart-btn svg{width:22px;height:22px;display:block}
.wr-cart-count{position:absolute;top:-3px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:var(--red,#d6202a);color:#fff;font-size:9px;font-weight:900;display:none;align-items:center;justify-content:center}
.wr-cart-count.is-on{display:flex}

.wr-drawer{position:fixed;inset:0;z-index:400;visibility:hidden;opacity:0;transition:opacity .22s ease,visibility .22s}
.wr-drawer.open{visibility:visible;opacity:1}
.wr-drawer-scrim{position:absolute;inset:0;background:rgba(15,29,51,.5)}
.wr-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(100%,420px);background:#fff;box-shadow:-20px 0 50px rgba(16,24,32,.25);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,.01,.2,1)}
.wr-drawer.open .wr-drawer-panel{transform:none}
.wr-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #eceff1}
.wr-drawer-head h2{margin:0;font-size:20px;font-weight:1000;letter-spacing:-.03em;color:#15202b}
.wr-drawer-x{width:40px;height:40px;border:0;background:none;font-size:28px;line-height:1;color:#15202b;cursor:pointer}
.wr-drawer-body{flex:1;overflow:auto;padding:8px 22px 20px}
.wr-drawer-empty{padding:48px 8px;text-align:center;color:#5a6672;font-size:14.5px;line-height:1.55}
.wr-drawer-empty a{color:var(--red,#d6202a);font-weight:800}
.wr-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #eceff1}
.wr-line img{width:64px;height:64px;object-fit:contain;background:#f4f5f6;border-radius:8px}
.wr-line b{display:block;font-size:13.5px;font-weight:900;color:#15202b}
.wr-line small{display:block;margin-top:3px;font-size:12px;color:#5a6672}
.wr-line-qty{display:grid;grid-template-columns:28px 28px 28px;height:32px;margin-top:8px;border:1px solid #d5d8db;width:max-content}
.wr-line-qty button{border:0;background:#f3f3f3;cursor:pointer;font-size:16px;color:#15202b}
.wr-line-qty span{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.wr-line-side{text-align:right}
.wr-line-side .wr-line-price{font-size:14px;font-weight:900;color:#15202b}
.wr-line-remove{display:inline-block;margin-top:8px;border:0;background:none;padding:0;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8a938f;cursor:pointer}
.wr-line-remove:hover{color:var(--red,#d6202a)}
.wr-drawer-foot{padding:16px 22px 22px;border-top:1px solid #eceff1}
.wr-drawer-sub{display:flex;justify-content:space-between;font-size:15px;font-weight:900;margin-bottom:6px;color:#15202b}
.wr-drawer-note{margin:0 0 14px;font-size:12px;color:#5a6672}
.wr-drawer-checkout{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;height:48px;border:0;border-radius:8px;background:var(--red,#d6202a);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.wr-drawer-checkout:hover{background:#b71720}
.wr-drawer-checkout:disabled{opacity:.6;cursor:wait}
.wr-drawer-err{margin:0 0 10px;font-size:13px;color:var(--red,#d6202a)}
.wr-drawer-shop{display:block;margin-top:12px;text-align:center;font-size:12px;font-weight:800;color:#5a6672}

.purchase-row .quantity{display:grid;grid-template-columns:34px 36px 34px;height:46px;border:1px solid #cdd0d2;flex:none}
.purchase-row .quantity button{border:0;background:#f3f3f3;font-size:18px;cursor:pointer}
.purchase-row .quantity span{display:flex;align-items:center;justify-content:center;font-weight:900}
button.primary[data-add-to-cart]{flex:1;height:46px;background:var(--red,#d6202a);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;font-weight:900;letter-spacing:.08em;border:0;cursor:pointer;font-family:inherit}
button.primary[data-add-to-cart]:hover{background:#b71720}

.shop-add{display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:var(--navy,#161b21);color:#fff;padding:11px 22px;font-size:12px;font-weight:900;letter-spacing:.05em;border:0;border-radius:999px;cursor:pointer;font-family:inherit;text-transform:uppercase}
.shop-add>span{display:none}
.product-card.green .shop-add{background:#167545}
.product-card.red .shop-add{background:var(--red,#d6202a)}
.product-card.blue .shop-add{background:#256179}
.shop-add:hover{filter:brightness(1.08)}

.mobile-buy [data-add-to-cart]{background:var(--red,#d6202a);color:#fff;padding:13px 18px;font-size:10px;font-weight:900;letter-spacing:.08em;border:0;cursor:pointer;font-family:inherit}

.cart-page{max-width:760px;margin:0 auto;padding:48px 26px 80px}
.cart-page h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.05em;margin:0 0 8px;color:#15202b}
.cart-page .cart-lead{color:#5a6672;margin:0 0 28px}
.cart-page-empty{padding:40px 0;color:#5a6672}
.cart-page-empty a{color:var(--red,#d6202a);font-weight:800}
.cart-page .wr-line{grid-template-columns:72px 1fr auto}
.cart-page-foot{margin-top:24px;padding-top:20px;border-top:1px solid #eceff1}
.cart-page .wr-drawer-checkout{max-width:360px}

.confirm-page{max-width:640px;margin:0 auto;padding:72px 26px 100px;text-align:center}
.confirm-page h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.05em;margin:0 0 14px;color:#15202b}
.confirm-page p{color:#5a6672;line-height:1.6;font-size:16px}
.confirm-page .confirm-cta{display:inline-flex;margin-top:28px;background:var(--red,#d6202a);color:#fff;padding:15px 22px;font-size:12px;font-weight:900;letter-spacing:.08em;border-radius:8px;text-transform:uppercase}
.confirm-mark{width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:#e2eee8;color:#1f7a4d;display:grid;place-items:center}
.confirm-mark svg{width:30px;height:30px}
