.shop-page{padding-block:50px 84px;min-height:55vh;color:#183d32}
.sh-heading{max-width:720px;margin-bottom:26px}
.sh-kicker,.sh-card-meta,.sh-result-count{font-size:.74rem;letter-spacing:.075em;font-weight:600}
.sh-kicker{text-transform:uppercase;color:#577366}
.sh-heading h1{font-size:clamp(2.45rem,5vw,4.7rem);line-height:1.03;letter-spacing:-.055em;margin:.2em 0}
.sh-heading p,.sh-empty p,.sh-receipt p,.sh-summary p,.sh-drawer p{line-height:1.6;color:#50645a}
.sh-preview-note{font-size:.86rem;color:#556b60;padding:.72em 1em;background:#edf2e9;border-radius:8px;display:table;margin:14px 0}
.sh-filters{margin-top:30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;padding-bottom:20px;border-bottom:1px solid #dfe5dc}
.sh-filters label,.sh-delivery,.sh-track label{display:grid;gap:8px;font-size:.84rem;font-weight:600;color:#355045}
.sh-filters input,.sh-filters select,.sh-delivery select,.sh-track input{background:white;border:1px solid #bbc9bf;color:#183d32;border-radius:8px;padding:12px 14px;min-width:0;font:inherit;min-height:44px}
.sh-result-count{margin:22px 0;color:#617468;letter-spacing:0;font-weight:500}
.shop-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}
.sh-card{min-width:0}
.sh-card-image,.sh-focus-image{display:block;overflow:hidden;background:#efece4;border-radius:10px}
.sh-card-image{aspect-ratio:1/1.04}
.sh-card-image img,.sh-focus-image img{width:100%;height:100%;display:block;object-fit:cover}
.sh-card-image img{transition:transform .3s}
.sh-card-image:hover img{transform:scale(1.025)}
.sh-card-meta{display:block;margin:15px 0 6px;color:#5c6c60;letter-spacing:.04em;font-size:.68rem;text-transform:uppercase}
.sh-card-line,.sh-cart-sub,.sh-totals>div,.sh-receipt li,.sh-drawer header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.sh-card-line a,.sh-lines li>div>a{font-weight:650;text-decoration:none;color:#183d32}
.sh-card-line a{font-size:1.06rem;letter-spacing:-.025em}
.sh-card-line span{font-size:.88rem;white-space:nowrap}
.sh-add{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font:inherit;font-size:.82rem;font-weight:550;margin-top:13px;padding:10px 13px;border:1px solid #ced8cf;background:transparent;color:#183d32;border-radius:7px;cursor:pointer}
.sh-add:hover{background:#edf2e9}
.sh-add span{font-size:1.05rem}
.sh-crumb{font-size:.8rem;color:#576b60;margin-bottom:25px}
.sh-crumb a,.sh-specs a,.sh-empty a:not(.btn),.sh-receipt a{color:inherit}
.sh-detail{display:grid;grid-template-columns:1fr .95fr;gap:clamp(25px,6vw,100px);align-items:start}
.sh-focus-image{aspect-ratio:1}
.sh-detail .sh-heading{margin:10px 0 20px}
.sh-detail .sh-heading h1{font-size:clamp(2.5rem,4vw,3.8rem)}
.sh-price{font-size:1.65rem;letter-spacing:-.035em}
.sh-price small,.sh-summary small{font-size:.78rem;color:#58695e;letter-spacing:0}
.sh-specs{margin-top:30px}
.sh-specs details{border-top:1px solid #d5ddd3;padding:16px 0}
.sh-specs summary{cursor:pointer;font-size:.92rem;font-weight:650}
.sh-specs p{color:#54665b;line-height:1.6;font-size:.9rem}
.sh-related{margin-top:65px}
.sh-related h2,.sh-summary h2,.sh-empty h2,.sh-drawer h2,.sh-receipt h2{letter-spacing:-.04em}
.sh-empty{padding:36px 24px;text-align:center;background:#f2f4ef;border-radius:10px}
.sh-empty .btn{margin-top:8px}
.sh-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:start;gap:clamp(20px,5vw,70px)}
.sh-summary,.sh-receipt{background:#f3f5ef;padding:clamp(20px,3vw,36px);border-radius:10px}
.sh-summary h2{margin:0 0 20px}
.sh-summary .btn,.sh-drawer .btn{width:100%;display:flex;justify-content:center;box-sizing:border-box}
.sh-summary p,.sh-drawer p{font-size:.87rem;margin:14px 0}
.sh-totals{margin:18px 0 25px}
.sh-totals>div{font-size:.88rem;margin-bottom:10px}
.sh-totals .sh-total{font-size:1.1rem;border-top:1px solid #ced8cd;padding-top:14px;margin-top:12px}
.sh-lines,.sh-receipt ul{margin:0;padding:0;list-style:none}
.sh-lines li{display:grid;grid-template-columns:75px 1fr auto;align-items:start;gap:15px;padding:18px 0;border-bottom:1px solid #d8e0d7}
.sh-lines li:first-child{padding-top:0}
.sh-lines li>img{width:75px;aspect-ratio:1;object-fit:cover;border-radius:8px}
.sh-lines li small{display:block;font-size:.76rem;color:#607266;margin:4px 0 8px}
.sh-lines li>b{font-size:.88rem}
.sh-quantity{display:inline-flex;align-items:center;border:1px solid #c2cdbf;border-radius:6px}
.sh-quantity button,.sh-text-button,.sh-drawer header button{background:none;color:#183d32;border:0;cursor:pointer;font:inherit}
.sh-quantity button{height:33px;width:32px;font-size:1rem}
.sh-quantity button:disabled{opacity:.4;cursor:default}
.sh-quantity span{display:inline-block;min-width:20px;text-align:center;font-size:.8rem}
.sh-text-button{font-size:.76rem;text-decoration:underline;margin-left:7px}
.sh-cart-sub{margin:22px 0 8px}
.sh-receipt{max-width:680px;margin:16px 0}.sh-receipt p{margin:12px 0}.sh-receipt h2{font-size:clamp(23px,4vw,34px)}
.sh-receipt li{padding:7px 0;border-bottom:1px solid #d8e0d7}
.sh-receipt .sh-cart-sub{border-top:1px solid #c4d1c8;padding-top:12px}
.sh-track{display:flex;gap:12px;align-items:end;margin-bottom:22px}
.sh-track label{min-width:min(270px,100%)}
.sh-newsletter p{line-height:1.5;margin:0 0 12px}
.sh-newsletter [role=status]{display:block;margin-top:9px;font-size:.82rem}
.sh-drawer{color:#183d32;position:fixed;inset:0 0 0 auto;width:min(460px,100%);height:100%;max-height:100%;max-width:100%;margin:0;padding:25px;border:0;box-sizing:border-box;overflow-y:auto}
.sh-drawer::backdrop{background:rgba(17,39,30,.45)}
.sh-drawer header{margin-bottom:24px;border-bottom:1px solid #d7dfd5;padding-bottom:15px;position:static}
.sh-drawer header h2{margin:0;font-size:1.55rem}
.sh-drawer header button{font-size:1.75rem;width:40px;height:40px}
.sh-drawer .sh-lines li{grid-template-columns:62px 1fr auto;gap:10px}
.sh-drawer .sh-lines li>img{width:62px}
@media(max-width:850px){.shop-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-two{grid-template-columns:1fr}.sh-card-line{flex-wrap:wrap;gap:5px 8px}}
@media(max-width:650px){.shop-page{padding-block:30px 54px}.sh-filters{grid-template-columns:1fr 1fr}.sh-filters label:first-child{grid-column:1/-1}.sh-detail{grid-template-columns:1fr}.shop-cards{gap:22px 12px}.sh-track{display:grid}.sh-card-line{align-items:start}.sh-card-meta{font-size:.62rem;margin-top:9px}.sh-card-line a{font-size:.96rem}.sh-add{padding:9px}.sh-lines li{grid-template-columns:52px 1fr auto;gap:10px}.sh-lines li>img{width:52px}}
@media(prefers-reduced-motion:reduce){.sh-card-image img{transition:none}}
/* Checkout */
.co-testbanner{font-size:.85rem;background:#fff6dc;border:1px solid #ecd795;color:#5b4a12;padding:.7em 1em;border-radius:8px;margin:0 0 22px}
.co-layout{align-items:start}
.co-main fieldset{border:0;padding:0;margin:0 0 34px;min-width:0}
.co-main legend{font-size:1.3rem;font-weight:650;letter-spacing:-.03em;margin-bottom:14px;padding:0}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.co-field{display:grid;gap:6px;font-size:.84rem;font-weight:600;color:#355045;min-width:0}
.co-wide{grid-column:1/-1}
.co-field input,.co-field select,.pay-input{width:100%;background:#fff;border:1px solid #bbc9bf;color:#183d32;border-radius:8px;padding:12px 14px;font:inherit;font-weight:400;min-height:46px;box-sizing:border-box}
.co-field input:focus,.co-field select:focus,.pay-input:focus{outline:2px solid #183d32;outline-offset:0;border-color:#183d32}
.co-field input[aria-invalid=true],.pay-slot:has(.pay-input[aria-invalid=true]){border-color:#b3261e}
.co-err{font-style:normal;font-weight:500;color:#b3261e;font-size:.78rem;min-height:0}
.co-err:empty{display:none}
.pay-slot{position:relative;min-height:46px}
.pay-slot[data-brand]:not([data-brand=""])::after{content:attr(data-brand);position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#577366;background:#edf2e9;padding:3px 7px;border-radius:4px;pointer-events:none}
.co-card{background:#f7f8f4;border:1px solid #dfe5dc;border-radius:10px;padding:18px}
.co-secure{font-size:.82rem;color:#5b6d62;margin:-6px 0 12px}
.co-check{display:flex;align-items:center;gap:10px;margin:18px 0 14px;font-size:.9rem}
.co-check input{width:18px;height:18px;accent-color:#183d32}
.co-options{display:grid;gap:10px}
.co-option{display:flex;align-items:center;gap:12px;border:1px solid #c8d3c9;border-radius:8px;padding:14px;cursor:pointer;font-size:.9rem}
.co-option:has(input:checked){border-color:#183d32;background:#f3f5ef}
.co-option input{accent-color:#183d32;width:18px;height:18px;margin:0}
.co-option span{flex:1}
.co-summary{position:sticky;top:20px}
.co-summary .sh-lines li{grid-template-columns:56px 1fr auto;gap:12px}
.co-summary .sh-lines li>img{width:56px}
.co-pay{font-size:1rem;min-height:52px}
.co-pay:disabled{opacity:.6;cursor:progress}
.co-status{color:#b3261e;font-weight:550}
.co-status:empty{display:none}
.co-fine{font-size:.76rem!important}
.sh-news-row{display:flex;gap:10px;flex-wrap:wrap}
.sh-news-row input{flex:1 1 220px;min-height:46px;border:1px solid #bbc9bf;border-radius:8px;padding:0 14px;font:inherit}
.disclaimer{font-size:.72rem;color:#6a7a70;padding-bottom:22px;margin-top:-6px}
@media(max-width:650px){.co-grid{grid-template-columns:1fr}.co-summary{position:static}}
/* Product details */
.sh-highlights{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px;font-size:.92rem;color:#2f4a3e}
.sh-highlights li{padding-left:26px;position:relative}
.sh-highlights li::before{content:"";position:absolute;left:4px;top:.45em;width:11px;height:6px;border-left:2px solid #183d32;border-bottom:2px solid #183d32;transform:rotate(-45deg)}
.sh-specs details>p{color:#54665b;line-height:1.6;font-size:.9rem}
.sh-claim{font-size:.74rem;color:#6a7a70;line-height:1.5;margin-top:18px}
.sf-panel{border:2px solid #111;padding:10px 12px;margin:14px 0 4px;color:#111;background:#fff;font-size:.84rem;max-width:520px}
.sf-panel h3{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;margin:0 0 2px;line-height:1.1}
.sf-serving{margin:0;padding-bottom:6px;border-bottom:8px solid #111;line-height:1.4}
.sf-panel table{width:100%;border-collapse:collapse}
.sf-panel thead th{font-size:.72rem;font-weight:700;text-align:right;padding:4px 0;border-bottom:4px solid #111}
.sf-panel thead th:first-child{text-align:left}
.sf-panel tbody th{text-align:left;font-weight:600;padding:5px 8px 5px 0}
.sf-panel tbody td{text-align:right;padding:5px 0 5px 8px;white-space:nowrap;vertical-align:top}
.sf-panel tbody tr{border-bottom:1px solid #111}
.sf-panel tbody tr:last-child{border-bottom:6px solid #111}
.sf-note{font-size:.74rem;margin:6px 0 0;color:#111!important;line-height:1.4!important}
.sf-other{font-size:.8rem;margin:8px 0 0;color:#222!important;line-height:1.45!important}
@media(max-width:650px){.sf-panel tbody td{white-space:normal}}
.prose .updated{font-size:.8rem;color:#6a7a70;margin-top:-4px}.prose ul{line-height:1.65;padding-left:1.2em}.prose li{margin:.35em 0}
/* Urgency */
.sh-was{color:#7a887f;font-weight:400;margin-right:2px}
.sh-now{color:#a3361b;font-weight:700}
.sh-price .sh-now{color:#a3361b}
.sh-badge{display:inline-block;vertical-align:middle;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#a3361b;color:#fff;padding:4px 8px;border-radius:4px;margin-left:6px}
.sh-stock{font-size:.8rem;font-weight:650;color:#a3361b;margin:8px 0 0}
.sh-detail .sh-stock{margin:-4px 0 16px;font-size:.9rem}
.sh-urgency{margin-top:16px;display:grid;gap:8px}
.sh-urgency p{margin:0;font-size:.88rem;padding:10px 14px;border-radius:8px;background:#f3f5ef;color:#2f4a3e}
.sh-urgency p[data-live=promo]{background:#fbeee9;color:#7d2a15}
.sh-dispatch{font-size:.85rem!important;color:#2f4a3e!important}
.sh-discount{color:#a3361b}
.sh-freebar{background:#f3f5ef;border-radius:8px;padding:12px 14px;margin-bottom:18px}
.sh-freebar p{margin:0 0 8px!important;font-size:.86rem!important;color:#2f4a3e!important}
.sh-freebar-track{height:7px;background:#dfe5dc;border-radius:99px;overflow:hidden}
.sh-freebar-track span{display:block;height:100%;background:#183d32;border-radius:99px;transition:width .3s}
.announcement b{font-weight:700}
