.gp-shop{max-width:1320px;margin:auto;padding:48px 32px 80px}.gp-shop-hero{padding:20px 0 40px;max-width:850px}.gp-shop-hero h1{font-size:clamp(38px,4.7vw,66px);line-height:1.08;margin:12px 0 24px}.gp-shop-hero>p:last-child{max-width:690px;font-size:20px}.gp-shop-kicker,.gp-shop-category{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#397048}.gp-shop-disclosure{font-size:13px;line-height:1.7;border-top:1px solid #d9e5dc;border-bottom:1px solid #d9e5dc;padding:16px 0;margin:0 0 40px}.gp-shop-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:32px}.gp-shop-sidebar{align-self:start;background:#f5f9f5;border:1px solid #d9e5dc;border-radius:12px;padding:22px}.gp-shop-sidebar h2{font-size:23px;margin:0 0 24px}.gp-shop-sidebar label,.gp-shop-sidebar legend{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.gp-shop-sidebar input[type=search],.gp-shop-sidebar select{width:100%;min-width:0;padding:12px;border:1px solid #bdcebf;border-radius:6px;background:white;font:inherit;font-size:14px;margin-bottom:24px}.gp-shop-sidebar fieldset{border:0;padding:0;margin:0 0 24px}.gp-shop-sidebar fieldset label{display:flex;gap:8px;align-items:center;font-weight:400}.gp-shop-sidebar fieldset span{margin-left:auto}.gp-shop-sidebar input[type=radio]{accent-color:#39b54a}.gp-shop-sidebar .gp-button{width:100%;font-size:14px;padding:12px}.gp-shop-reset{display:block;text-align:center;margin-top:16px;font-size:14px}.gp-shop-results-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.gp-shop-results-header h2{font-size:24px;margin:0}.gp-shop-results-header p{font-size:14px;margin:0;white-space:nowrap}.gp-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gp-shop-card{border:1px solid #d9e5dc;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .2s}.gp-shop-card:hover{box-shadow:0 6px 24px #153a2010}.gp-shop-image{position:relative;display:block;flex-shrink:0;aspect-ratio:1;background:#fff;padding:22px;border-bottom:1px solid #edf1ed;overflow:hidden}.gp-shop-image img{position:absolute;inset:0;display:block;box-sizing:border-box;width:100%;height:100%;padding:inherit;object-fit:contain}.gp-shop-card-copy{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px}.gp-shop-card-copy p,.gp-shop-card h3{margin:0}.gp-shop-card h3{font-size:21px;line-height:1.3}.gp-shop-card h3 a{color:#20372b;text-decoration:none}.gp-shop-category{font-size:10px}.gp-shop-price{color:#278636;font-weight:700;font-size:16px}.gp-shop-excerpt{font-size:14px;line-height:1.65;flex:1}.gp-shop-details{font-size:14px;font-weight:600;margin:4px 0}.gp-shop-buy{font-size:14px;text-align:center;justify-content:center;gap:8px;padding:12px 14px}.gp-shop-guides{margin-top:64px;padding:36px;background:#f2f8f2;border-radius:14px}.gp-shop-guides h2{font-size:28px}.gp-shop-guides a{font-weight:700}.gp-product-modal{border:0;border-radius:18px;width:min(1060px,calc(100% - 32px));max-height:90dvh;padding:48px 32px 32px;color:#20372b}.gp-product-modal::backdrop{background:#102a20a6}.gp-product-close{position:absolute;right:14px;top:10px;width:36px;height:36px;border:1px solid #d9e5dc;border-radius:50%;background:white;color:#20372b;font-size:26px;cursor:pointer}.gp-product-detail{display:grid;grid-template-columns:1fr 1fr;gap:36px}.gp-product-copy h1,.gp-product-copy h2{font-size:30px;line-height:1.2;margin:12px 0 20px}.gp-product-copy h3{font-size:18px;margin:24px 0 12px}.gp-product-copy p,.gp-product-benefits{font-size:15px;line-height:1.65}.gp-product-photo{aspect-ratio:1;background:white}.gp-product-photo img{width:100%;height:100%;object-fit:contain}.gp-product-thumbs{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.gp-product-thumbs button{width:70px;height:70px;padding:5px;border:1px solid #d9e5dc;background:white;border-radius:8px;cursor:pointer}.gp-product-thumbs button[aria-pressed=true]{border:2px solid #39b54a}.gp-product-thumbs img{width:100%;height:100%;object-fit:contain}.gp-product-benefits{list-style:none;padding:0}.gp-product-benefits li{position:relative;padding-left:26px;margin:10px 0}.gp-product-benefits li::before{content:'✓';color:#39b54a;position:absolute;left:0;font-weight:700}.gp-product-notes{border-top:1px solid #d9e5dc;margin:22px 0}.gp-shop-small{font-size:12px!important}.gp-shop-modal-open{overflow:hidden}.gp-shop-single>.gp-product-detail{margin-top:32px}.gp-shop-pages{margin-top:32px;display:flex;gap:16px}.gp-shop :focus-visible{outline:3px solid #217530;outline-offset:4px}@media(max-width:1100px){.gp-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.gp-shop{padding:24px 20px 48px}.gp-shop-layout{grid-template-columns:1fr}.gp-shop-hero{padding-top:10px}.gp-shop-hero>p:last-child{font-size:17px}.gp-shop-sidebar form{display:grid;grid-template-columns:1fr;gap:0}.gp-shop-sidebar fieldset{display:flex;flex-wrap:wrap;gap:12px}.gp-shop-sidebar fieldset label{margin:0}.gp-shop-results-header h2{font-size:21px}.gp-shop-grid{gap:14px}.gp-shop-card-copy{padding:14px;gap:10px}.gp-shop-card h3{font-size:18px}.gp-shop-image{padding:12px}.gp-shop-buy{font-size:12px;padding:10px 6px}.gp-shop-price{font-size:14px}.gp-product-detail{grid-template-columns:1fr;gap:20px}.gp-product-modal{padding:48px 22px 24px}.gp-product-photo{max-height:300px}.gp-product-copy h2{font-size:26px}.gp-shop-guides{padding:24px}.gp-shop-guides h2{font-size:24px}}@media(max-width:400px){.gp-shop-grid{grid-template-columns:1fr}.gp-shop-buy{font-size:15px}}

.gp-product-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.gp-product-tags li{font-size:12px;padding:6px 10px;border-radius:20px;background:#eef7ef;color:#286236}.gp-shop-sidebar input[type=checkbox]{accent-color:#39b54a}

.gp-shop{color:#20372b}.gp-shop h1,.gp-shop h2,.gp-shop h3{color:#20372b}.gp-shop a:not(.gp-button){color:#278636}.gp-shop-card h3 a{color:#20372b!important}.gp-shop-sidebar summary{font-size:22px;font-weight:700;cursor:pointer;margin-bottom:20px}.gp-shop-sidebar summary::marker{color:#39b54a}

/* Shop filters: quiet desktop sidebar and a mobile bottom sheet. */
.gp-shop-sidebar{background:#fff;border-color:#e0e9e2;padding:24px}
.gp-shop-sidebar summary{font-size:20px}
.gp-shop-sidebar fieldset label,.gp-shop-filter-panel fieldset label{min-height:44px;padding:8px 10px;border-radius:8px;cursor:pointer;gap:10px}
.gp-shop-sidebar fieldset label:has(input:checked),.gp-shop-filter-panel fieldset label:has(input:checked){background:#edf8ef;color:#20642b}
.gp-shop-sidebar input[type=radio],.gp-shop-sidebar input[type=checkbox],.gp-shop-filter-panel input[type=radio],.gp-shop-filter-panel input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#39b54a;margin:0}
.gp-shop-filter-bar[hidden],.gp-shop-sidebar[hidden]{display:none}
.gp-shop-filter-bar{position:fixed;inset:auto 0 0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce7de;box-shadow:0 -4px 24px #20372b0d;color:#20372b}
.gp-shop-filter-bar>span{font-size:14px;font-weight:600}
.gp-shop-filter-bar button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 24px;background:#39b54a;border:0;border-radius:8px;color:white;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.gp-shop-filters-open{overflow:hidden}
.gp-shop-filter-panel{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:88dvh;padding:0;border:0;border-radius:20px 20px 0 0;background:#fff;color:#20372b;overflow:auto;overscroll-behavior:contain}
.gp-shop-filter-panel::backdrop{background:#102a2073}
.gp-shop-filter-panel header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 24px 18px;border-bottom:1px solid #e0e9e2}
.gp-shop-filter-panel header p{margin:0 0 4px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;color:#397048}
.gp-shop-filter-panel h2{margin:0;font-size:24px;line-height:1.2}
.gp-shop-filter-panel header button{width:44px;height:44px;border:1px solid #dce7de;border-radius:50%;background:#fff;color:#20372b;font-size:28px;cursor:pointer}
.gp-shop-filter-panel form{padding:22px 24px calc(24px + env(safe-area-inset-bottom))}
.gp-shop-filter-panel form>label,.gp-shop-filter-panel legend{display:block;font-size:14px;font-weight:700;margin-bottom:10px}
.gp-shop-filter-panel input[type=search],.gp-shop-filter-panel select{width:100%;min-height:48px;padding:12px;border:1px solid #bdcebf;border-radius:8px;background:#fff;font:inherit;font-size:16px;margin-bottom:24px;color:#20372b}
.gp-shop-filter-panel fieldset{border:0;border-bottom:1px solid #e0e9e2;padding:0 0 20px;margin:0 0 22px}
.gp-shop-filter-panel fieldset label{display:flex;align-items:center;font-size:14px;line-height:1.4}
.gp-shop-filter-panel fieldset label span{margin-left:auto;font-size:12px;color:#647369}
.gp-shop-filter-panel .gp-button{width:100%;justify-content:center;min-height:48px;border-radius:8px}
.gp-shop-filter-panel .gp-shop-reset{color:#397048}
.gp-shop-filter-panel :focus-visible,.gp-shop-filter-bar :focus-visible{outline:3px solid #217530;outline-offset:3px}
@media(max-width:700px){.gp-shop-has-filter-bar{padding-bottom:calc(110px + env(safe-area-inset-bottom))}}

.gp-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.gp-shop-sidebar .gp-price-fields label,.gp-shop-filter-panel .gp-price-fields label{display:block;padding:0;font-size:12px;font-weight:600}
.gp-price-fields input{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #bdcebf;border-radius:8px;padding:10px;margin-top:6px;font:inherit;font-size:16px;color:#20372b;background:white}
.gp-shop-sidebar .gp-price-slider-label,.gp-shop-filter-panel .gp-price-slider-label{min-height:0;padding:4px 0;margin:0;font-size:12px}
.gp-price-filter input[type=range]{display:block;width:100%;height:32px;margin:0 0 8px;accent-color:#39b54a;cursor:pointer}

@keyframes gp-filter-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes gp-filter-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}
@keyframes gp-filter-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes gp-filter-backdrop-out{from{opacity:1}to{opacity:0}}
.gp-shop-filter-panel[open]{animation:gp-filter-slide-in 300ms cubic-bezier(.22,1,.36,1) both}
.gp-shop-filter-panel[open]::backdrop{animation:gp-filter-backdrop-in 300ms ease both}
.gp-shop-filter-panel[open].is-closing{animation:gp-filter-slide-out 240ms cubic-bezier(.4,0,1,1) both}
.gp-shop-filter-panel[open].is-closing::backdrop{animation:gp-filter-backdrop-out 240ms ease both}
@media(prefers-reduced-motion:reduce){.gp-shop-filter-panel[open],.gp-shop-filter-panel[open]::backdrop{animation:none}}

.gp-shop-price-label{font-size:12px;font-weight:500;color:#52675a;margin:0 0 3px}
.gp-shop-price-note{font-size:11px;line-height:1.5;color:#647369;margin:6px 0 0}
.gp-product-copy .gp-shop-price-label{font-size:14px;margin-bottom:4px}
.gp-product-copy .gp-shop-price-note{font-size:12px;margin-top:6px}
.gp-shop-price-range .gp-shop-price{margin:0}

.gp-shop-card-copy .gp-shop-price-label{margin-bottom:3px}.gp-shop-card-copy .gp-shop-price-note{margin-top:6px}

/* Multiple categories use checkbox semantics with the existing circular appearance. */
.gp-category-filter{margin-bottom:24px}
.gp-shop-sidebar .gp-category-filter>summary,.gp-shop-filter-panel .gp-category-filter>summary{font-size:14px;font-weight:700;cursor:pointer;margin:0;padding:10px 0;min-height:44px;box-sizing:border-box}
.gp-category-filter>summary::marker{color:#39b54a}
.gp-shop-sidebar .gp-category-filter fieldset,.gp-shop-filter-panel .gp-category-filter fieldset{display:block;margin:0;padding:0;border:0;min-width:0}
.gp-category-help{font-size:12px;line-height:1.5;color:#647369;margin:0 0 10px}
.gp-shop-sidebar .gp-category-filter input[type=checkbox],.gp-shop-filter-panel .gp-category-filter input[type=checkbox]{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:18px;height:18px;box-sizing:border-box;border:1px solid #87998b;border-radius:50%;background:#fff;cursor:pointer}
.gp-category-filter input[type=checkbox]::before{content:"";width:10px;height:10px;border-radius:50%;background:#39b54a;transform:scale(0)}
.gp-category-filter input[type=checkbox]:checked::before{transform:scale(1)}
@media(forced-colors:active){.gp-category-filter input[type=checkbox]:checked::before{background:Highlight;forced-color-adjust:none}}

.gp-shop-filter-status{font-size:13px;color:#397048;margin:0 0 14px}.gp-shop-filter-status:empty{display:none}.gp-shop-results[aria-busy=true]{opacity:.65}
