/* Focused storefront: quiet surfaces, generous imagery and a single purchase path. */
body[data-view="product"],body[data-view="checkout"]{background:#faf9f6;color:#202b26}
.store-product,.store-checkout{--store-accent:var(--accent,#214c3b);--store-soft:#f0f4f0;--line:#e3e6e0;--muted:#63716a}
.store-product .product-hero{gap:64px;padding:44px 0 64px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.store-product .main-photo{border:1px solid #e8e9e4;border-radius:22px;background:white;box-shadow:0 14px 36px #18251e04}
.gallery-zoom{position:relative;display:block;width:100%;height:100%;border:0;padding:14px;background:#fff;cursor:zoom-in}
.gallery-zoom .zoom-hint{position:absolute;bottom:16px;right:16px;border:1px solid #e0e5df;background:#ffffffed;box-shadow:0 3px 10px #00000005;border-radius:100px;padding:7px 12px;font-size:11px;color:#4b5b52}
.store-product .thumbnails{gap:10px;margin-top:14px}
.store-product .thumbnails button{width:68px;min-width:68px;height:68px;border-color:#e1e5de;border-radius:10px;padding:5px}
.store-product .thumbnails button[aria-pressed="true"]{border:2px solid var(--store-accent);background:#fff}
.store-product .product-summary{padding-top:10px}
.store-product .product-kicker{color:#617366;font-size:10px;letter-spacing:1.7px;margin-bottom:13px}
.store-product .product-summary h1{font-size:clamp(32px,3.45vw,48px);font-weight:650;line-height:1.12;letter-spacing:-1.7px;margin-bottom:16px}
.product-review-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-decoration:none;color:#4c6457;border-bottom:1px solid #cbd8ce;padding-bottom:4px}
.product-review-link>span:first-child{font-size:17px}
.product-intro{font-size:15px;line-height:1.8;margin:20px 0 24px;color:#58665e;max-width:48ch}
.store-product .purchase-box{background:#fff;border:1px solid #e0e6dd;padding:24px;border-radius:16px;box-shadow:0 8px 24px #26382b04}
.store-product .purchase-box .price-block{margin:0 0 22px}
.store-product .price-before{gap:9px;margin-bottom:3px}
.store-product .price-block del{font-size:13px}
.store-product .purchase-box .price-block strong{font-size:43px;line-height:1.25;color:#233c2e;letter-spacing:-1.5px;margin-bottom:4px}
.store-product .price-block .savings{color:#3f654b;background:#edf4e9;border-radius:100px;font-size:10px;padding:4px 9px}
.store-product .buy-button,.store-checkout .buy-button{background:var(--store-accent);box-shadow:0 4px 10px #183c2514;border-radius:10px;min-height:55px;font-size:15px;justify-content:center;gap:22px}
.store-product .buy-button:hover,.store-checkout .buy-button:hover{filter:brightness(.9)}
.store-product .purchase-note,.store-checkout .purchase-note{font-size:11px;color:#66746b}
.store-product .product-reassurance{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0 18px}
.store-product .product-reassurance>div{gap:8px}
.store-product .product-reassurance>div>span{height:28px;width:28px;background:#edf2eb;color:#4c6a55;border-radius:50%;font-size:16px}
.store-product .product-reassurance strong{font-size:11px;margin-bottom:3px}
.store-product .product-reassurance p{font-size:11px;line-height:1.55}
.store-product .detail-link{color:#4a6151;font-size:12px}
.store-product .product-details{padding:44px 0;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:54px}
.store-product .product-details h2,.store-product .social h2,.store-product .faq h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:600}
.store-product .product-details h2{max-width:290px}
.store-product .product-details .description{font-size:15px;line-height:1.85;color:#56665b}
.store-product .store-policies{gap:16px;padding:0 0 44px}
.store-product .store-policies article{padding:24px;background:#f1f3ed;border:0;border-radius:14px}
.store-product .store-policies .eyebrow{font-size:9px;margin-bottom:9px}
.store-product .store-policies h3{font-size:18px;letter-spacing:-.3px;margin-bottom:12px}
.store-product .store-policies p:not(.eyebrow),.store-product .store-policies a{font-size:12px;line-height:1.75}
.store-product .social{padding:46px 0;border-color:#e3e6e0;scroll-margin-top:24px}
.store-product .section-heading{align-items:center;margin-bottom:25px}
.store-product .section-heading h2{margin-bottom:10px}
.section-description{font-size:13px;line-height:1.6;margin-bottom:0}
.store-product .review-count{background:#f0f3eb;border:0;color:#4d624f;font-size:11px;padding:8px 12px}
.store-product .testimonials{gap:18px;align-items:stretch}
.store-product .review-card{background:white;border:1px solid #e1e6dc;border-radius:14px;padding:23px;box-shadow:0 3px 12px #24332202}
.store-product .review-author{gap:11px;align-items:center;margin:0}
.store-product .review-avatar{width:36px;height:36px;flex-shrink:0;font-size:14px;font-weight:700;text-transform:uppercase;background:#eaf0e5;color:#47603c}
.store-product .review-author strong{display:block;font-size:13px;line-height:1.5;font-weight:600}
.store-product .review-author small{display:block;font-size:10px;color:#788378;line-height:1.6;margin-top:2px}
.store-product .review-card blockquote{padding:18px 0 0;margin:0;background:none}
.store-product .review-card blockquote p{font-size:13px;line-height:1.85;color:#536156;margin:0 0 18px}
.store-product .review-attachment{display:block;width:112px;max-width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:zoom-in}
.store-product .review-card .review-photo{display:block;width:112px;height:112px;aspect-ratio:1;object-fit:contain;background:#f8f9f5;border:1px solid #e5e8e0;border-radius:9px}
.store-product .review-attachment>span{font-size:10px;display:block;color:#62765e;margin-top:6px}
.store-product .faq{padding:44px 0;gap:54px;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr)}
.store-product .faq details:first-child{padding-top:0}
.store-product .faq details{padding:18px 0;border-color:#dfe5da}
.store-product .faq summary{font-size:14px;font-weight:600;line-height:1.7}
.store-product .final-purchase{padding:30px;background:#edf1e6;border:1px solid #e2e8d9;border-radius:16px}
.store-product .final-purchase h2{font-size:24px;font-weight:600}
.store-product .final-purchase .eyebrow{font-size:9px}
.store-checkout{max-width:1090px;padding-top:26px}
.store-checkout .checkout-back{font-size:12px;color:#617064;margin-bottom:25px}
.store-checkout .checkout-title h1{font-size:40px;font-weight:600;letter-spacing:-1.4px;margin-bottom:12px}
.store-checkout .checkout-title>.eyebrow{color:#698066;font-size:10px}
.store-checkout .checkout-progress{gap:24px;margin:25px 0 32px;font-size:11px}
.store-checkout .checkout-layout{gap:28px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
.store-checkout .checkout-layout>.checkout-form{border-color:#e1e6dc;border-radius:16px;padding:30px;background:#fff;box-shadow:0 5px 22px #26382b03}
.store-checkout .order-preview{background:#fff;border:1px solid #e1e6dc;border-radius:16px;padding:25px}
.store-checkout .order-preview>.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:20px}
.store-checkout .order-preview-product{gap:14px}
.store-checkout .order-preview-product>img{width:78px;height:78px;padding:4px;border:1px solid #e4e7de;border-radius:10px}
.store-checkout .order-preview-product h2{font-size:15px;line-height:1.5;letter-spacing:-.25px;margin-bottom:5px}
.store-checkout .order-preview-product strong{font-size:18px;margin-top:8px}
.order-summary-lines{border-top:1px solid #e5e9df;margin-top:23px;padding-top:17px;font-size:12px;color:#677569}
.order-summary-lines>div{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.order-summary-lines .order-summary-total{margin-top:18px;margin-bottom:0;color:#263e2d;font-size:14px}
.order-summary-total>strong:last-child{font-size:24px;white-space:nowrap;letter-spacing:-.7px}
.store-checkout .order-preview-note{font-size:11px;border:0;padding-top:0;margin:13px 0 0;line-height:1.6}
.store-checkout .checkout-help{padding:24px 15px;font-size:12px;line-height:1.8}
.store-checkout .checkout-help>strong{font-size:12px}
.store-checkout .checkout-form legend{font-size:19px;font-weight:600;margin-bottom:13px}
.store-checkout .checkout-form .section-number{width:27px;height:27px;font-size:12px}
.store-checkout .checkout-form .form-intro{font-size:12px;color:#6c7a6c;line-height:1.7;margin-bottom:22px}
.store-checkout .checkout-form label{font-size:12px;color:#3c4c40;font-weight:600}
.store-checkout .checkout-form input,.store-checkout .checkout-form select{height:50px;border:1px solid #dce2d6;background:#fff;border-radius:8px;padding:12px;color:#314135;line-height:1.4}
.store-checkout .checkout-form input::placeholder{color:#929b91;font-weight:400}
.store-checkout .checkout-form fieldset+fieldset{border-color:#e6e9e1;padding-top:28px}
.store-checkout .checkout-form .field-note{font-size:11px;color:#7b8679}
.store-checkout .checkout-form .bump{display:flex;flex-direction:row;align-items:center;gap:12px;padding:16px;background:#fafbf6;border:1px solid #dce5d3;border-radius:12px}
.store-checkout .checkout-form .bump:has(input:checked){background:#f0f5e9;border-color:#718d5d;box-shadow:0 0 0 1px #718d5d}
.store-checkout .checkout-form .bump input{flex:0 0 19px;width:19px;height:19px;min-width:19px;margin:0;padding:0;border-radius:4px}
.store-checkout .bump-photo{width:68px;height:68px;flex:0 0 68px;object-fit:contain;border:1px solid #e2e8dc;border-radius:8px;background:#fff;padding:4px}
.store-checkout .bump-copy{flex:1;min-width:0}
.store-checkout .bump .bump-tag{font-size:8px;letter-spacing:.8px;margin-bottom:5px;color:#6e815d}
.store-checkout .bump strong{font-size:13px;line-height:1.5;color:#35462e}
.store-checkout .bump small{font-size:11px;line-height:1.6;margin-top:6px}
.store-checkout .bump small b{display:inline-block;white-space:normal}
.store-checkout .payment-option{border-color:#b8cab1;background:#f7faf3;border-radius:10px;padding:16px}
.store-checkout .payment-option small{color:#658254}
.store-checkout .payment-option.disabled{background:#f8f9f6;border-color:#e5e8e1;color:#82907c}
.store-checkout .payment-option.disabled small{color:#84917e}
.store-checkout .checkout-form .total-line{margin-top:22px;border-color:#e2e7dc;padding:25px 0}
.store-checkout .checkout-form .fineprint{font-size:10px;color:#7b8775;line-height:1.8}
@media(max-width:900px) and (min-width:781px){.store-product .product-hero{gap:30px}.store-product .product-reassurance{grid-template-columns:1fr}.store-checkout .checkout-layout{gap:18px}.store-checkout .checkout-layout>.checkout-form{padding:22px}.store-checkout .order-preview{padding:20px}}
@media(max-width:780px){body[data-view="product"] main,body[data-view="checkout"] main{padding-left:18px;padding-right:18px}.store-product .product-hero{grid-template-columns:minmax(0,1fr);padding:22px 0 34px;gap:26px}.store-product .gallery{max-width:530px;width:100%;margin:auto}.store-product .main-photo{border-radius:16px}.gallery-zoom{padding:8px}.gallery-zoom .zoom-hint{bottom:12px;right:12px;padding:6px 10px;font-size:10px}.store-product .thumbnails{gap:8px;margin-top:10px}.store-product .thumbnails button{width:59px;height:59px;min-width:59px;border-radius:8px}.store-product .product-summary{padding:0}.store-product .product-summary h1{font-size:32px;line-height:1.16;letter-spacing:-1px;margin-bottom:13px}.store-product .product-kicker{font-size:9px;margin-bottom:11px}.product-review-link{font-size:11px}.product-intro{font-size:14px;line-height:1.8;margin:18px 0 22px}.store-product .purchase-box{padding:21px;border-radius:14px}.store-product .purchase-box .price-block strong{font-size:38px}.store-product .product-reassurance{gap:12px;margin:22px 0 18px}.store-product .product-details{grid-template-columns:minmax(0,1fr);gap:0;padding:32px 0}.store-product .product-details h2{max-width:none;margin-bottom:20px;font-size:27px}.store-product .product-details .description{font-size:14px;line-height:1.9}.store-product .store-policies{gap:12px;padding-bottom:32px}.store-product .store-policies article{padding:21px}.store-product .social{padding:34px 0}.store-product .section-heading{align-items:start;gap:15px;margin-bottom:22px}.store-product .social h2{font-size:27px}.store-product .testimonials{grid-template-columns:minmax(0,1fr);gap:14px}.store-product .review-card{padding:21px}.store-product .review-card blockquote p{font-size:14px}.store-product .review-card .review-photo{width:112px;height:112px;object-fit:contain}.store-product .faq{grid-template-columns:minmax(0,1fr);gap:8px;padding:32px 0}.store-product .faq h2{font-size:27px}.store-product .faq summary{font-size:13px}.store-product .final-purchase{padding:25px;margin-top:5px;gap:23px}.store-product .final-purchase h2{font-size:23px}.store-product .mobile-purchase{background:#fff;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-color:#e1e5da}.store-product .mobile-purchase .buy-button{min-height:46px;font-size:13px;padding:12px 18px}.store-checkout{padding-top:20px}.store-checkout .checkout-title h1{font-size:32px;letter-spacing:-1px}.store-checkout .checkout-title>p:not(.eyebrow){font-size:13px;line-height:1.8}.store-checkout .checkout-back{margin-bottom:23px;font-size:11px}.store-checkout .checkout-progress{gap:12px;font-size:10px;margin:22px 0 25px}.store-checkout .checkout-layout{grid-template-columns:minmax(0,1fr);gap:18px}.store-checkout .order-preview{padding:21px}.store-checkout .order-preview>.eyebrow{margin-bottom:17px}.store-checkout .order-preview-product>img{width:72px;height:72px}.store-checkout .order-preview-product h2{font-size:15px}.order-summary-lines{margin-top:17px;padding-top:15px}.order-summary-lines .order-summary-total{margin-top:12px}.store-checkout .checkout-layout>.checkout-form{padding:24px 18px;border-radius:14px}.store-checkout .checkout-form legend{font-size:18px}.store-checkout .checkout-form .fields{grid-template-columns:minmax(0,1fr);gap:0}.store-checkout .checkout-form input,.store-checkout .checkout-form select{font-size:16px;height:51px}.store-checkout .checkout-form .bump{padding:13px 11px;gap:9px}.store-checkout .bump-photo{width:55px;height:55px;flex-basis:55px;padding:3px}.store-checkout .bump strong{font-size:12px}.store-checkout .bump .bump-tag{font-size:8px;letter-spacing:.3px}.store-checkout .bump small{font-size:10px}.store-checkout .checkout-form .buy-button{font-size:14px}.store-checkout .checkout-form .payment-option.disabled{gap:4px;padding:13px 16px}.store-checkout .checkout-form .total-line{align-items:center;flex-direction:row;gap:12px}.store-checkout .checkout-form .total-line strong{font-size:26px}.store-checkout .checkout-form .total-line>span{font-size:13px}}
@media(max-width:360px){body[data-view="product"] main,body[data-view="checkout"] main{padding-left:14px;padding-right:14px}.store-product .product-summary h1{font-size:29px}.store-product .product-reassurance{grid-template-columns:1fr}.store-product .mobile-purchase{padding-left:14px;padding-right:14px;gap:8px}.store-product .mobile-purchase .buy-button{padding:12px;font-size:12px}.store-checkout .checkout-layout>.checkout-form{padding:22px 14px}.store-checkout .bump-photo{width:46px;height:46px;flex-basis:46px}.store-checkout .checkout-form .bump{gap:8px}.store-checkout .checkout-form .buy-button{font-size:13px;padding:14px 12px}.store-checkout .checkout-form .total-line strong{font-size:24px}}
.image-viewer{max-width:min(940px,calc(100vw - 28px));max-height:calc(100dvh - 40px);width:fit-content;padding:52px 18px 18px;border:1px solid #e0e5da;border-radius:16px;background:#fff;box-shadow:0 20px 100px #0004;overflow:auto}.image-viewer::backdrop{background:#15251de0;backdrop-filter:blur(3px)}.image-viewer>img{max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 130px);object-fit:contain;margin:auto}.image-viewer-close{position:absolute;right:15px;top:12px;border:1px solid #dfe5da;border-radius:100px;background:#f5f7f1;color:#384c3c;padding:7px 13px;font-size:12px;cursor:pointer}.image-viewer-close:focus-visible{outline:2px solid #345b3d}

/* Quantity controls share the same touch targets on product and checkout. */
.quantity-control{margin:16px 0;min-width:0}
.quantity-control>label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:#52605b}
.quantity-stepper{display:inline-flex;align-items:center;border:1px solid #d7dfdb;border-radius:12px;overflow:hidden;background:#fff;max-width:100%}
.quantity-stepper button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:0;background:#f3f6f4;color:#193e30;font-size:22px;cursor:pointer}
.quantity-stepper button:hover{background:#e4eee8}
.quantity-stepper input[data-quantity-input]{width:48px;min-width:0;height:44px;margin:0;padding:0 3px;border:0;border-radius:0;box-shadow:none;text-align:center;background:#fff;font-size:16px;font-weight:650;color:#193e30}
.quantity-stepper :focus-visible{outline:2px solid #25815a;outline-offset:-3px}
.quantity-notice{font-size:13px!important;line-height:1.5;color:#9b3d14!important;margin:8px 0 0!important;max-width:32ch}
.quantity-subtotal{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;color:#52605b}
.quantity-subtotal strong{color:#193e30;font-size:20px}
.bump-quantity{padding:0 16px 12px;border:1px solid #dce5df;border-top:0;border-radius:0 0 12px 12px;margin-top:-10px;background:#f8fbf9}
.bump-quantity .quantity-control{margin:16px 0 0}
.order-items p{display:flex;justify-content:space-between;gap:16px}
.order-preview-product>div{min-width:0}
.order-preview-product .quantity-control{margin:10px 0}

.order-summary-lines>div>span:first-child{flex-shrink:0}
