/* Shared controls and spacing for every page type. */
:root{--control-radius:6px;--control-border:#cdd5c8;--surface:#fffdf8}
.button{min-height:44px;padding:10px 18px;font-size:14px;line-height:1.4;font-weight:600;gap:12px;border-radius:var(--control-radius);transition:background .15s}
.button:hover{transform:none}
.button span{font-size:16px}
.button.light{background:#faf8f1;color:var(--green)}
.button.light:hover{background:#e7ecdf}
.text-link{font-size:14px;line-height:1.5}
.menu-button{min-height:44px;padding:9px 12px;font-size:13px;border-radius:var(--control-radius)}
.filter-chips{gap:8px}
.filter-chips button{min-height:44px;padding:9px 14px;font-size:14px;line-height:1.4;border-radius:var(--control-radius)}
.catalog-tools{padding:24px;background:#f0f2eb;border:1px solid var(--line)}
.catalog-tools input{min-height:46px;padding:10px 14px}
.extra-details{padding:0;background:transparent;border-radius:var(--control-radius)}
.extra-details>summary{min-height:48px;padding:12px 16px;font-size:14px;line-height:1.6}
.extra-details[open]>:not(summary){margin-inline:16px;margin-bottom:16px}
.category-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.category-shortcuts>a,.category-shortcuts>a:first-child,.home-categories>a,.home-categories>a:first-child{min-height:54px;padding:13px 16px;background:#f0f2eb;color:var(--ink);border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:16px;font-weight:600;line-height:1.4;gap:12px;box-shadow:none}
.category-shortcuts>a:hover,.category-shortcuts>a:first-child:hover{background:#e7ecdf;border-color:#a5b79b;box-shadow:none}
.category-shortcuts>a span{flex-shrink:0;font-size:18px;font-weight:400}
.home-categories{padding-bottom:12px}
.category-heading .category-shortcuts{margin-top:20px;margin-bottom:12px}
.category-heading h1,.page-heading h1{font-size:clamp(32px,3.5vw,44px);letter-spacing:-1.4px;line-height:1.15}
.page-heading p{max-width:740px}
.category{min-height:146px;padding:22px;border:1px solid var(--line);background:#f0f2eb;border-radius:8px;transition:background .15s}
.category:hover{transform:none;box-shadow:none;background:#e7ecdf}
.category h2,.category h3{font-size:23px;letter-spacing:-.4px;line-height:1.25;margin:12px 0}
.category p{font-size:14px;line-height:1.65}
.category .index{font-size:12px;color:var(--muted)}
.category .text-link{margin-top:18px;font-size:13px}
.topic-links a{min-height:54px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--control-radius)}
.topic-links strong{font-size:16px;line-height:1.4}
.related>a{min-height:48px;padding:12px 16px;font-size:15px;line-height:1.5;border-radius:var(--control-radius)}
.equipment-grid{gap:24px;align-items:stretch}
.equipment-photo{height:230px;padding:22px}
.equipment-body{padding:22px;gap:0}
.equipment-body h3,.featured-equipment .equipment-body h3{font-size:20px;line-height:1.35;letter-spacing:-.3px;margin-bottom:12px}
.equipment-body>p{font-size:14px;line-height:1.65;margin-bottom:20px}
.equipment-body .button,.product-card .button{min-height:44px;padding:10px 16px;margin-top:auto}
.equipment-body>.eyebrow{font-size:10px;letter-spacing:.8px;margin-bottom:10px}
.fit-label{font-size:11px;line-height:1.4;padding:5px 8px;max-width:100%;margin-bottom:12px;background:#edf0e7}
.product-detail .button{min-width:180px;width:auto;margin-bottom:20px}
.product-detail .detail-image img{height:360px}
.product-detail dl>div{grid-template-columns:125px minmax(0,1fr);gap:12px}
.product-detail h1{line-height:1.2;letter-spacing:-1px}
.section-heading{align-items:center}
.section-heading h2,.section>h2,.product-subgroup>h2{font-size:clamp(26px,2.6vw,34px);line-height:1.2;letter-spacing:-.8px}
.product-subgroup>h2{margin-bottom:20px}
.product-subgroup{margin-block:36px;scroll-margin-top:24px}
.article{padding-top:12px}
.article h1{font-size:clamp(32px,4vw,46px);line-height:1.15}
.article h2{font-size:28px;line-height:1.25;letter-spacing:-.6px}
.article .intro{font-size:20px}
.product-facts h2{font-size:20px}
.site-footer a{line-height:1.6}
@media(min-width:761px) and (max-width:1000px){header{gap:14px;padding-inline:4%}.brand{font-size:21px}header nav{gap:12px;font-size:12px}header nav a:nth-child(4){padding-left:12px}.category-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 header{padding-block:13px;gap:12px}.brand{font-size:23px}header nav{font-size:15px;gap:0;margin-top:8px}header nav a{min-height:44px;padding:10px 0}
 .hero{padding-top:24px;padding-bottom:20px}.hero h1{font-size:36px;line-height:1.12}.hero-copy>p{font-size:16px}
 .home-categories{grid-template-columns:1fr;gap:8px}
 .category-shortcuts:not(.home-categories){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .category-shortcuts>a,.category-shortcuts>a:first-child{min-height:48px;padding:11px 12px;font-size:14px;line-height:1.4;gap:8px}
 .home-categories>a,.home-categories>a:first-child{min-height:48px;padding:11px 14px;font-size:15px}
 .category-heading .category-shortcuts{margin-top:16px;margin-bottom:12px}
 .page-heading,.category-heading{padding-top:22px;padding-bottom:12px}.page-heading h1,.category-heading h1,.article h1{font-size:32px;letter-spacing:-1px;margin-bottom:16px}
 .category-heading .intro{font-size:15px;margin-top:0}.section{padding-block:28px}.category-products{padding-top:8px}
 .section-heading{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}.section-heading>.text-link{margin-top:0}.section-heading h2,.section>h2,.product-subgroup>h2{font-size:27px}
 .category-grid{gap:12px}.category{min-height:0;padding:20px}.category h2,.category h3{font-size:22px}.category p{font-size:14px}.category .text-link{margin-top:14px}
 .equipment-grid{gap:18px;margin-top:20px}.equipment-photo,.featured-equipment .equipment-photo{height:220px;padding:20px}.equipment-body,.featured-equipment .equipment-body{padding:20px}.equipment-body h3,.featured-equipment .equipment-body h3{font-size:20px}.equipment-body .button{width:100%}
 .product-detail{gap:20px}.product-detail h1{font-size:30px}.product-detail .button{width:100%;min-height:44px}.product-detail .detail-image img{height:260px}.product-detail dl>div{grid-template-columns:105px minmax(0,1fr)}
 .catalog-tools{padding:18px}.filter-chips button{font-size:13px;padding:9px 12px}.catalog-tools input{font-size:16px}
 .topic-links strong{font-size:15px}.related>a{font-size:14px}.article .intro{font-size:19px}.article h2{font-size:26px}.product-facts h2{font-size:20px}.article{margin-top:26px;padding-top:0}
 .product-subgroup{margin-block:30px}.product-subgroup>h2{margin-bottom:18px}.site-footer{gap:24px 16px}.site-footer nav{gap:8px}
}
@media(max-width:380px){header{gap:8px}.brand{font-size:20px;gap:8px}.brand svg{width:26px;height:26px}.menu-button{font-size:12px;padding-inline:10px}.hero h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.button,.category{transition:none}}

/* Exact offer price and its selected size share the existing purchase action. */
.buy-block{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:auto}.product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;line-height:1.4}.product-price strong{font-size:20px;font-weight:700;letter-spacing:-.3px}.price-variant{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.buy-block .button{margin-top:0}.product-detail .buy-block{max-width:260px;margin:0 0 24px}.product-detail .buy-block .button{width:100%;margin:0}.product-card .buy-block .button{width:100%}@media(max-width:760px){.product-detail .buy-block{max-width:none}}

.guide-photo{margin:28px 0}.guide-photo img{display:block;width:100%;height:auto;border-radius:12px}

/* Guides: a readable column, useful examples and restrained navigation. */
.guide-article{max-width:820px;margin-top:32px}
.guide-article p{font-size:16px;line-height:1.85;color:#445447}
.guide-article .intro{font-size:21px;color:var(--ink)}
.guide-article .article-meta{font-size:12px!important;padding:12px 0}
.guide-chapter{margin:32px 0}
.guide-chapter h2{margin:0 0 16px;scroll-margin-top:24px}
.guide-chapter p a,.guide-article .source-note a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}
.guide-article .source-note{font-size:12px;border-top:1px solid var(--line);padding-top:22px;overflow-wrap:anywhere}
.guide-contents{border-block:1px solid var(--line);padding:14px 0;margin:26px 0}
.guide-contents summary{cursor:pointer;font-size:15px;font-weight:600;min-height:24px}
.guide-contents nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;margin-top:16px}
.guide-contents nav a{padding:8px 0;font-size:14px;text-decoration:underline;text-underline-offset:3px;line-height:1.45}
.guide-table{margin:24px 0;overflow:hidden;border:1px solid var(--line);border-radius:8px}
.guide-table table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:14px;line-height:1.6}
.guide-table caption{text-align:left;padding:16px 18px;font-weight:600;background:var(--sage);font-size:16px;color:var(--ink)}
.guide-table th,.guide-table td{text-align:left;padding:13px 16px;vertical-align:top;border-top:1px solid var(--line);overflow-wrap:break-word}
.guide-table thead th{font-size:13px;background:#f1f2e9}.guide-table tbody th{font-weight:500;width:43%}
.guide-examples{margin:30px 0;border:1px solid var(--line);border-radius:10px;background:#fffdf8;padding:20px}
.guide-examples>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.guide-examples img{width:100%;height:195px;object-fit:contain;display:block}
.guide-examples a>span{display:block;font-size:13px;line-height:1.5;margin:12px 0;text-decoration:underline;text-underline-offset:3px}
.guide-examples figcaption{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;line-height:1.6}
.guide-card .guide-cover,.guide-grid .guide-card:nth-child(n+3) .guide-cover{height:210px;background:#eeeee4}
.guide-cover img{width:100%;height:100%;display:block;object-fit:cover}
.guide-cover.product{background:#fffdf8;border:1px solid var(--line)}.guide-cover.product img{object-fit:contain;padding:18px}
.guide-hub-group>h2{margin-bottom:26px}.guide-hub-group .guide-grid{gap:36px 28px}
.guide-hub-group .guide-card h3{font-size:22px}.guide-tools{border-top:1px solid var(--line)}
@media(max-width:760px){
 .guide-article{padding-inline:20px;margin-top:26px}.guide-article .intro{font-size:19px}
 .guide-contents nav{grid-template-columns:1fr}.guide-contents nav a{padding-block:10px}
 .guide-table th,.guide-table td{padding:11px 12px}.guide-table table{font-size:13px}
 .guide-examples{padding:14px}.guide-examples>div{gap:14px}.guide-examples img{height:140px}
 .guide-card .guide-cover,.guide-grid .guide-card:nth-child(n+3) .guide-cover{height:200px}
 .guide-article .related a{padding:14px 16px;gap:12px;line-height:1.5}
}

.nutrition-guide>p{font-size:16px;line-height:1.85}.nutrition-guide>p a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}
.guide-hub-group{padding-block:32px}.page-heading+.guide-hub-group{padding-top:8px}
.product-filters{padding:20px;background:#f0f2ec;border:1px solid #d5ddd2;border-radius:12px;margin:0 0 28px;color:#263e32}
.product-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.product-filter-fields label{display:grid;gap:6px;font-size:14px;font-weight:600}
.product-filter-fields input,.product-filter-fields select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #aab9ac;border-radius:6px;background:#fff;color:#263e32;font:inherit;font-size:16px}
.product-filters fieldset{border:0;padding:0;margin:18px 0 0;min-width:0}
.product-filters legend{font-size:14px;font-weight:600;margin-bottom:8px}
.diet-filters{display:flex;flex-wrap:wrap;gap:8px}
.diet-filters label{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;box-sizing:border-box;border:1px solid #bbc6b9;border-radius:6px;background:#fff;font-size:14px;cursor:pointer}
.diet-filters label:has(input:checked){background:#e0ebdf;border-color:#385c41}
.diet-filters input{width:18px;height:18px;accent-color:#31573d;margin:0}
.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.filter-summary p{margin:0;font-size:14px}
.filter-summary button{background:transparent;color:#294932;border:0;text-decoration:underline;font:inherit;font-size:14px;min-height:44px;padding:6px;cursor:pointer}
[data-product-list] [hidden]{display:none!important}
.product-filters :focus-visible{outline:3px solid #5a7840;outline-offset:3px}
@media(max-width:520px){.product-filters{padding:14px}.product-filter-fields{grid-template-columns:1fr}.diet-filters label{flex-grow:1}.filter-summary{flex-wrap:wrap}}

.category-symbol{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#e0e9df;color:#254d3d;border-radius:14px;margin-bottom:18px;flex-shrink:0}.category-symbol svg{display:block;width:36px;height:36px}.category .category-symbol{font-size:initial}

.product-group-buttons{display:flex;flex-wrap:wrap;gap:8px}.product-group-buttons button{min-height:44px;padding:9px 14px;border:1px solid #bbc6b9;border-radius:7px;background:#fff;color:#294932;font:inherit;font-size:15px;cursor:pointer;white-space:normal;text-align:left}.product-group-buttons button[aria-pressed="true"]{background:#254d3d;color:#fff;border-color:#254d3d}.product-filters fieldset{margin-top:0}

.origin-flag{display:inline-block;width:25px;height:auto;aspect-ratio:18/11;margin-left:8px;vertical-align:middle;border:1px solid #d5d9d3;box-sizing:content-box;flex-shrink:0}

.guide-inline-product .equipment-grid{grid-template-columns:minmax(0,1fr);margin-top:24px}.guide-inline-product .equipment-card{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr)}.guide-inline-product .equipment-photo{height:100%;min-height:250px;display:flex;align-items:center}.guide-inline-product .equipment-photo img{height:230px}.guide-inline-product .equipment-body h3{margin:0 0 14px}.guide-inline-product .equipment-body p{font-size:14px;line-height:1.6}.guide-inline-product .equipment-body .button{text-decoration:none}@media(max-width:600px){.guide-inline-product .equipment-card{grid-template-columns:minmax(0,1fr)}.guide-inline-product .equipment-photo{min-height:0;height:220px}.guide-inline-product .equipment-photo img{height:180px}}
