/*
Theme Name: FitNutrition
Description: WordPress rendering layer built to byte-parity with approved local prototype v2.16.
Version: 0.6.80
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: fitnutrition
*/
:root{--ink:#17221b;--muted:#5f6d64;--green:#246b45;--green-dark:#195437;--mint:#eaf3eb;--wash:#f5f8f5;--line:#dce5de;--white:#fff;--amber:#f3e7c6;--blue:#e7f0f4;--red:#f7e8e5;--shadow:0 16px 44px rgba(26,62,41,.09);--r:16px;--r-sm:11px;--shell:min(1180px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip{position:fixed;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;z-index:99}.skip:focus{top:12px}.shell{width:var(--shell);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-row{height:74px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.02em;white-space:nowrap}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:13px}.main-nav{display:flex;gap:23px;margin-left:auto}.main-nav a{font-size:14px;color:#3e4d43}.main-nav a:hover,.main-nav a.active{color:var(--green)}.icon-button,.nav-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer}.icon-button{width:42px;height:42px;display:grid;place-items:center}.icon-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}.icon-button:hover,.nav-toggle:hover{background:var(--mint);border-color:#b7cdbd;transform:translateY(-1px)}.nav-toggle{display:none;padding:8px 12px}
main{min-height:70vh}.section{padding:72px 0}.section.compact{padding:46px 0}.wash{background:var(--wash)}.eyebrow,.badge{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}h1,h2,h3{line-height:1.12;letter-spacing:-.035em;margin:0 0 18px}h1{font-size:clamp(40px,6vw,72px);max-width:870px}h2{font-size:clamp(30px,4vw,48px)}h3{font-size:21px}p{margin:0 0 18px;color:#435148}.lead{font-size:clamp(18px,2vw,22px);max-width:720px;color:var(--muted)}.button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:11px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.2s}.button:hover{background:var(--green-dark);border-color:var(--green-dark);box-shadow:0 8px 20px rgba(36,107,69,.18);transform:translateY(-2px)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--mint);border-color:#b7cdbd;color:var(--green-dark)}.button.ghost{background:transparent;color:var(--green);border-color:transparent}.button-row{display:flex;gap:10px;flex-wrap:wrap}
.hero{padding:82px 0 64px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.balance{position:relative;min-height:470px;border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#fff 0 22%,var(--mint) 23% 48%,var(--wash) 49%);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.balance-core{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-weight:750;box-shadow:0 8px 32px rgba(36,107,69,.14)}.orbit{position:absolute;inset:50% auto auto 50%;width:330px;height:330px;border:1px dashed #9dbca5;border-radius:50%;transform:translate(-50%,-50%);animation:rotate 24s linear infinite}.orbit-item{position:absolute;width:78px;height:78px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 8px 22px rgba(26,62,41,.08);animation:counter 24s linear infinite}.orbit-item svg,.tool-icon svg{width:34px;height:34px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.orbit-item:nth-child(1){left:126px;top:-40px}.orbit-item:nth-child(2){right:-40px;top:126px}.orbit-item:nth-child(3){left:126px;bottom:-40px}.orbit-item:nth-child(4){left:-40px;top:126px}@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes counter{to{transform:rotate(-360deg)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.orbit,.orbit-item{animation:none!important}}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head p{max-width:640px}.grid{display:grid;gap:20px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;transition:.22s}.card:hover{transform:translateY(-4px);border-color:#b9cfc0;box-shadow:0 14px 34px rgba(39,82,56,.11);background:#f2f7f3}.card-body{padding:20px}.card p{font-size:14px;color:var(--muted)}.card-meta{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:12px;color:var(--muted)}.media{height:210px;position:relative;background:linear-gradient(135deg,#dbe9de,#f0f6f1);overflow:hidden}.media>svg{width:100%;height:100%}.media .badge{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.94);padding:6px 10px;border-radius:999px;border:1px solid rgba(20,50,30,.14)}.carousel-wrap{position:relative}.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,31.5%);overflow:auto;gap:20px;scroll-snap-type:x mandatory;padding:4px 2px 24px;scrollbar-color:#acc4b2 transparent}.carousel .card{scroll-snap-align:start}.carousel-actions{display:flex;gap:8px}.carousel-actions button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.carousel-actions button:hover{background:var(--mint)}
.action-grid .card{padding:26px}.tool-icon{width:54px;height:54px;border-radius:14px;background:var(--mint);display:grid;place-items:center;margin-bottom:24px}.stats{border:1px solid var(--line);border-radius:var(--r);padding:26px 30px;background:#fff}.stats h2{font-size:25px;text-align:center;margin-bottom:22px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stat{padding:6px 18px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font-size:24px;color:var(--green);line-height:1.2}.stat span{font-size:12px;color:var(--muted)}
.page-hero{padding:58px 0 38px;background:var(--wash);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:24px}.breadcrumbs a:hover{color:var(--green)}.page-hero h1{font-size:clamp(38px,5vw,58px)}.filter-panel{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:#fff;box-shadow:0 10px 30px rgba(39,82,56,.06);margin-bottom:30px}.filter-top{display:grid;grid-template-columns:1fr auto;gap:12px}.search-input,.select,input[type=number],textarea{width:100%;border:1px solid #cfdcd2;border-radius:10px;background:#fff;padding:12px 14px;outline:none}.search-input:focus,.select:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(36,107,69,.11)}.filter-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.filter-group strong{font-size:13px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.chip{border:1px solid var(--line);background:var(--wash);border-radius:999px;padding:7px 11px;font-size:12px;cursor:pointer}.chip:hover,.chip.active{background:var(--green);border-color:var(--green);color:#fff}.results-line{display:flex;justify-content:space-between;margin-bottom:18px;color:var(--muted);font-size:13px}
.article-hero{padding:56px 0 34px}.article-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.article-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:58px;align-items:start}.article-content{max-width:760px}.article-content h2{font-size:32px;margin-top:42px}.article-content h3{margin-top:32px}.article-content p{font-size:17px}.toc{position:sticky;top:96px;border-left:2px solid var(--line);padding-left:20px;order:2}.toc strong{display:block;margin-bottom:12px}.toc a{display:block;font-size:13px;color:var(--muted);padding:6px 0}.toc a:hover{color:var(--green)}.callout{padding:22px;border-radius:var(--r-sm);background:var(--mint);border-left:4px solid var(--green);margin:28px 0}.disclaimer{font-size:12px;padding:15px 18px;background:var(--wash);border:1px solid var(--line);border-radius:10px}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq summary{font-weight:700;cursor:pointer}.feedback{border:1px solid var(--line);border-radius:var(--r);padding:28px;margin-top:42px;background:var(--wash)}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feedback textarea{grid-column:1/-1;min-height:110px}
.calculator-card{padding:22px}.calculator-card .tool-icon{margin-bottom:18px}.calculator-id{font:700 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--green);letter-spacing:.08em}.calc-panel{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-card,.result-card,.fact-panel{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.field-label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.result-number{font-size:52px;line-height:1;color:var(--green);font-weight:800}.result-bars{display:grid;gap:10px;margin-top:24px}.result-bars span{height:8px;border-radius:8px;background:var(--line);overflow:hidden}.result-bars i{display:block;height:100%;background:var(--green);border-radius:8px}
.food-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px}.food-sidebar{border:1px solid var(--line);border-radius:var(--r);padding:18px;align-self:start}.food-sidebar button{display:flex;width:100%;justify-content:space-between;border:0;background:transparent;padding:9px;border-radius:8px;text-align:left;cursor:pointer}.food-sidebar button:hover,.food-sidebar button.active{background:var(--mint);color:var(--green)}.food-card .media{height:170px}.food-card .macro-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.macro{background:var(--wash);border-radius:8px;padding:8px;text-align:center;font-size:11px}.food-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px}.nutrition-label{border:2px solid var(--ink);padding:14px;background:#fff}.nutrition-label h2{font-size:34px;border-bottom:8px solid var(--ink);padding-bottom:7px}.nut-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:5px 0;font-size:13px}.allergen-box{background:var(--amber);border:1px solid #dfc989;padding:15px;border-radius:10px;margin-top:18px}.serving-switch{display:flex;gap:7px;margin:15px 0}.serving-switch button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}.serving-switch button.active{background:var(--green);color:#fff}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-table{width:100%;border-collapse:collapse;margin-top:24px}.compare-table th,.compare-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.compare-table th:not(:first-child),.compare-table td:not(:first-child){text-align:center}
.recipe-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.ingredient-list{padding:0;list-style:none}.ingredient-list li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.plan-tabs{display:flex;gap:8px;margin-bottom:20px}.day-plan{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.meal{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:15px}.page-copy{max-width:none}.page-copy>h2,.page-copy>p,.page-copy>.feedback{max-width:760px;margin-left:0}.empty{padding:50px;text-align:center;border:1px dashed #aabdb0;border-radius:var(--r);color:var(--muted)}
.site-footer{background:#132119;color:#edf5ef;margin-top:60px;padding-top:54px}.site-footer p,.site-footer a{color:#b8c8bd;font-size:13px}.site-footer a{display:block;margin:8px 0}.site-footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:48px}.footer-grid strong{display:block;margin-bottom:14px}.footer-bottom{border-top:1px solid #324238;padding:22px 0;margin-top:36px;font-size:12px;color:#a9baae}dialog{width:min(680px,calc(100% - 30px));border:0;border-radius:18px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(9,22,14,.55);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}
@media(max-width:900px){:root{--shell:min(100% - 32px,760px)}.nav-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:20px 16px;border-bottom:1px solid var(--line);flex-direction:column}.main-nav.open{display:flex}.hero-grid,.article-hero-inner,.food-detail,.recipe-layout{grid-template-columns:1fr}.balance{min-height:410px}.grid.three,.grid.four{grid-template-columns:repeat(2,1fr)}.carousel{grid-auto-columns:minmax(280px,72%)}.article-layout{grid-template-columns:1fr}.toc{position:static;order:-1;border:1px solid var(--line);padding:18px;border-radius:12px}.food-layout{grid-template-columns:1fr}.food-sidebar{display:none}.footer-grid{grid-template-columns:1fr 1fr}.day-plan{grid-template-columns:1fr 1fr}}
@media(max-width:560px){:root{--shell:calc(100% - 24px)}.header-row{height:66px}.brand span:last-child{display:none}.hero,.section{padding:48px 0}.balance{min-height:340px}.orbit{width:250px;height:250px}.orbit-item{width:62px;height:62px}.orbit-item:nth-child(1){left:94px;top:-31px}.orbit-item:nth-child(2){right:-31px;top:94px}.orbit-item:nth-child(3){left:94px;bottom:-31px}.orbit-item:nth-child(4){left:-31px;top:94px}.grid.three,.grid.four,.stats-grid,.filter-groups,.calc-panel,.compare-grid,.feedback-grid,.footer-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding:12px}.carousel{grid-auto-columns:88%}.filter-top,.form-row{grid-template-columns:1fr}.day-plan{grid-template-columns:1fr}.feedback textarea{grid-column:auto}.site-footer{margin-top:30px}}

/* v0.4 review refinements */
:root{--shell:min(1360px,calc(100% - 64px))}
.hero{padding:68px 0 56px}.hero-grid{gap:64px}.balance{min-height:440px}.section{padding:60px 0}
.carousel-wrap{overflow:hidden}.carousel{grid-auto-columns:calc((100% - 40px)/3);overflow-x:auto;overflow-y:hidden;padding:4px 0 16px;scroll-padding:0;scrollbar-width:thin}.carousel .card{min-width:0}
.stats-strip{padding:13px 0;background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-strip .stats{border:0;border-radius:0;padding:0;background:transparent}.stats-strip .stat{padding:2px 18px}.stats-strip .stat strong{font-size:20px}.stats-strip .stat span{font-size:11px}
.archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.archive-search{margin-bottom:18px}.filter-drawer{position:sticky;top:96px;border:1px solid var(--line);border-radius:var(--r);padding:16px;background:#fff}.filter-drawer>strong{display:block;margin-bottom:12px}.filter-drawer details{border:1px solid var(--line);border-radius:12px;margin-top:10px;background:var(--wash)}.filter-drawer summary{display:flex;justify-content:space-between;align-items:center;padding:14px;font-weight:750;cursor:pointer;list-style:none}.filter-drawer summary:after{content:"+";width:26px;height:26px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff}.filter-drawer details[open] summary:after{content:"−"}.filter-options{padding:0 12px 12px}.filter-options button{display:flex;justify-content:space-between;width:100%;border:0;background:transparent;border-radius:8px;padding:9px 10px;text-align:left;cursor:pointer}.filter-options button:hover,.filter-options button.active{background:var(--mint);color:var(--green)}.nested-filter{margin:4px 0 8px;padding-left:12px;border-left:1px solid var(--line)}.nested-filter span{display:block;font-size:11px;color:var(--muted);padding:4px 9px}
.article-hero{padding:40px 0 26px}.article-hero h1{font-size:clamp(38px,4.4vw,60px)}.article-hero-inner{gap:36px}.article-hero .media{height:300px;border-radius:var(--r)}.article-layout{gap:42px}.article-content{max-width:820px}.article-content h2{font-size:30px;margin-top:34px}.article-content h3{margin-top:26px}.article-content p{font-size:16px}.callout{margin:24px 0}
.feedback{border-radius:20px;padding:30px;margin-top:34px;background:linear-gradient(145deg,#f7faf7,#eef5ef)}.feedback-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.rating{display:flex;gap:8px}.rating button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}.rating button:hover,.rating button.active{background:var(--green);color:#fff}.feedback-grid{gap:16px;margin-top:20px}.feedback-field{position:relative}.feedback-field.full{grid-column:1/-1}.feedback-field label{position:absolute;top:9px;left:14px;font-size:10px;font-weight:750;color:var(--green);text-transform:uppercase;letter-spacing:.07em}.feedback-field input,.feedback-field textarea{padding:29px 14px 10px;background:rgba(255,255,255,.94);border-color:#c8d8cc}.feedback-field textarea{min-height:128px;resize:vertical}.feedback .button{min-width:180px}
.result-card.is-empty{display:grid;place-items:center;text-align:center;color:var(--muted);min-height:430px;background:var(--wash)}.macro-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.macro-result{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.macro-result strong{display:block;font-size:24px}.donut-row{display:flex;align-items:center;gap:22px}.macro-donut{width:130px;height:130px;border-radius:50%;background:conic-gradient(#304c28 0 30%,#dfa936 30% 75%,#7e9976 75%);position:relative;flex:none}.macro-donut:after{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff}.legend span{display:block;margin:7px 0}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px}.recommendations{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.food-card .badge-row{position:absolute;left:14px;top:14px;display:flex;gap:6px}.food-card .badge-row .badge{position:static}.food-card .badge.allergen{background:#fff4d9;color:#795b12;border-color:#e7cf9a}.food-detail{grid-template-columns:minmax(0,1fr) 290px;gap:26px}.food-main{display:grid;gap:18px}.nutrition-summary,.nutrient-profile,.side-card{border:1px solid #ded8ca;border-radius:18px;padding:20px;background:#fffdf8}.nutrition-summary h2{font-size:26px}.nutrition-summary .nut-row,.nutrient-profile .nut-row{border-color:#e5dfd3;padding:9px 0}.nutrient-profile details{border:1px solid #e5dfd3;border-radius:12px;margin-top:8px}.nutrient-profile summary{padding:12px;font-weight:700;cursor:pointer}.nutrient-profile details .nut-row{margin:0 12px}.food-aside{display:grid;gap:14px;align-self:start}.side-card h3{font-size:18px}.side-link{display:flex;align-items:center;gap:10px;border:1px solid #e5dfd3;border-radius:10px;padding:10px;margin-top:8px}.compare-builder{display:grid;gap:18px}.compare-step{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff}.compare-step.is-disabled{opacity:.48;pointer-events:none}
.meal-plan-builder{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:#fff}.target-row{display:grid;grid-template-columns:1fr 190px auto;gap:12px;align-items:end}.generated-plan{margin-top:24px}.plan-tabs{overflow:auto}.workout-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px}.workout-switch{display:flex;padding:4px;background:var(--wash);border:1px solid var(--line);border-radius:12px}.workout-switch button{border:0;background:transparent;padding:10px 16px;border-radius:9px;cursor:pointer}.workout-switch button.active{background:var(--green);color:#fff}.workout-detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.workout-nav{position:sticky;top:96px;align-self:start}.workout-nav button{display:block;width:100%;border:0;background:transparent;padding:9px;text-align:left;border-radius:8px;cursor:pointer}.workout-nav button:hover,.workout-nav button.active{background:var(--mint);color:var(--green)}.workout-section{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:#fff;margin-bottom:16px}.workout-table{width:100%;border-collapse:collapse}.workout-table th,.workout-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
@media(max-width:1050px){.carousel{grid-auto-columns:calc((100% - 20px)/2)}.archive-layout{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:900px){:root{--shell:min(100% - 32px,760px)}.archive-layout,.workout-detail{grid-template-columns:1fr}.filter-drawer,.workout-nav{position:static;order:-1}}
@media(max-width:560px){:root{--shell:calc(100% - 24px)}.carousel{grid-auto-columns:100%}.target-row,.macro-result-grid{grid-template-columns:1fr}.feedback-field.full{grid-column:auto}.donut-row{align-items:flex-start;flex-direction:column}}

/* v0.5 density and component corrections */
.section{padding:48px 0}.section.compact{padding:28px 0}.hero{padding:56px 0 44px}.page-hero{padding:42px 0 28px}.page-hero .breadcrumbs{margin-bottom:16px}
.carousel{grid-auto-columns:calc((100% - 60px)/4);gap:20px}.carousel-actions{display:none}.view-all{white-space:nowrap}
.media{height:180px}.card-body{padding:16px}.card-body h3{font-size:19px}.card-meta{margin-top:12px}.action-grid .card{padding:20px}.action-grid .tool-icon{margin-bottom:16px}.action-grid p{margin-bottom:0}
.filter-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-title-row .button{padding:8px 12px;font-size:12px}.filter-drawer>strong{margin:0}.filter-options details{border:0;background:transparent;margin:3px 0}.filter-options details summary{padding:9px 10px;font-weight:650}.filter-options details summary:after{width:22px;height:22px}.filter-options details .nested-filter{margin:0 8px 8px;padding-left:8px}.filter-options button.active{background:var(--green);color:#fff}.filter-options button.active span{color:#fff}.filter-options button span{color:var(--muted);font-size:11px}.filter-drawer .all-filter{display:flex;width:100%;justify-content:space-between;margin:10px 0 4px}
.article-inline{margin:26px 0}.article-inline .media{height:270px;border-radius:14px}.article-inline figcaption{font-size:12px;color:var(--muted);margin-top:8px}.toc button{display:block;width:100%;padding:6px 0;border:0;background:transparent;text-align:left;color:var(--muted);font-size:13px;cursor:pointer}.toc button:hover{color:var(--green)}
.feedback{max-width:760px;padding:26px;background:#fff;border:1px solid #ccd9cf;box-shadow:0 18px 50px rgba(32,70,46,.08)}.feedback-head{align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.rating{background:var(--wash);padding:4px;border-radius:12px}.rating button{width:auto;height:auto;border:0;border-radius:9px;padding:9px 14px}.feedback-grid{grid-template-columns:1fr}.feedback-field.full{grid-column:auto}.feedback .button{width:auto;justify-self:start}.feedback-field input,.feedback-field textarea{border:1px solid #bed0c2;box-shadow:none}.feedback-field input:focus,.feedback-field textarea:focus{box-shadow:0 0 0 4px rgba(36,107,69,.09)}
.food-card .media{height:160px}.food-card .card-body{padding:15px}.food-card .card-body>p{margin:0}.food-card .macro-row{display:block;background:transparent;margin-top:8px}.food-card .macro{display:inline;padding:0;background:transparent;font-size:12px;text-align:left}.food-card .macro:not(:last-child):after{content:" · ";color:var(--muted)}.food-card .macro br{display:none}.food-card .macro b{margin-right:2px}.kcal-badge{position:absolute;right:12px;bottom:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:750}
.food-product-hero{background:#fffaf1;padding:36px 0;border-bottom:1px solid #e5dfd3}.product-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px;align-items:center}.product-image{border-radius:22px;overflow:hidden;background:#fff}.product-image .media{height:430px}.product-tags{display:flex;gap:8px;align-items:center;margin-bottom:14px}.product-tags .badge{position:static;background:var(--mint);padding:7px 11px;border-radius:999px}.product-tags .badge.allergen{background:#f8e7df;color:#7f4032}.portion-reference{display:inline-flex;gap:8px;align-items:center;background:#304c28;color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:750}.portion-select{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.portion-select button{border:1px solid #d9d3c6;background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}.portion-select button.active{background:var(--green);color:#fff;border-color:var(--green)}
.macro-result-grid.water-hidden,.donut-row.water-hidden{display:none}.macro-donut{background:conic-gradient(#246b45 0 30%,#5b8f70 30% 75%,#a8c8b2 75%)}
.plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.workout-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.workout-choice{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;text-align:left}.workout-choice.active,.workout-choice:hover{border-color:#8eb49a;background:var(--mint)}.workout-choice strong{display:block;font-size:18px}.workout-choice span{font-size:12px;color:var(--muted)}
@media(max-width:1180px){.carousel{grid-auto-columns:calc((100% - 40px)/3)}}
@media(max-width:900px){.carousel{grid-auto-columns:calc((100% - 20px)/2)}.product-hero-grid{grid-template-columns:1fr}.product-image .media{height:330px}.workout-catalog{grid-template-columns:1fr}}
@media(max-width:560px){.section{padding:36px 0}.carousel{grid-auto-columns:100%}.product-image .media{height:250px}.feedback-head{align-items:flex-start;flex-direction:column}}
@media print{.site-header,.site-footer,.meal-plan-builder,.plan-tabs,.plan-actions{display:none!important}.generated-plan{margin:0}.generated-plan .meal{break-inside:avoid}.section{padding:0}body{font-size:12px}}
.timer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:24px;align-items:stretch}.timer-stage{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--mint),#fff);padding:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.timer-stage>strong{font-size:clamp(64px,9vw,124px);line-height:1;letter-spacing:-.06em;color:var(--green);margin:20px 0 10px;font-variant-numeric:tabular-nums}.timer-stage .plan-actions{justify-content:center}@media(max-width:760px){.timer-layout{grid-template-columns:1fr}.timer-stage{padding:30px 20px}.timer-stage>strong{font-size:72px}}

/* v0.6 review corrections */
main{min-height:0}.site-footer{margin-top:0;border:0}.page-ending{padding-bottom:48px}.site-report{margin-top:0}.section-head{align-items:center}.section-head>div{min-width:0}.section-head .view-all{align-self:center}
.filter-note{font-size:11px;line-height:1.45;color:var(--muted);padding:8px 10px 4px;margin:0}.filter-options details>summary{font-weight:500}.filter-options details>summary span{margin-left:auto;margin-right:8px}.filter-options .nested-filter button{font-weight:400}
.featured-media .media{aspect-ratio:1408/768;height:auto}.article-inline{max-width:720px}.article-inline .media{aspect-ratio:1280/896;height:auto}.article-hero-inner{align-items:center}.article-content{max-width:860px}.feedback{max-width:860px}.feedback-head{display:grid;grid-template-columns:1fr auto;align-items:center}.rating{justify-self:end}.feedback-grid{grid-template-columns:1fr 1fr}.feedback-field.full{grid-column:1/-1}.feedback .button{grid-column:1/-1}.feedback-field input,.feedback-field textarea{min-height:58px}
.calculator-filter{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:16px;align-items:start;margin-bottom:28px}.calculator-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.calculator-categories button{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 12px;cursor:pointer}.calculator-categories button span{color:var(--muted);font-size:12px}.calculator-categories button.active,.calculator-categories button:hover{background:var(--green);color:#fff;border-color:var(--green)}.calculator-categories button.active span,.calculator-categories button:hover span{color:#fff}
.calculator-form{padding:32px}.calc-step{display:flex;align-items:center;gap:12px;margin:22px 0 14px}.calc-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--green);color:#fff;font-weight:800}.calc-step h2,.calc-step h3{margin:0}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid label>span{display:block;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.choice-grid input:checked+span{background:#304c28;color:#fff;border-color:#304c28}.choice-grid small{display:block;color:inherit;opacity:.75}.three-fields{grid-template-columns:repeat(3,1fr)}.result-card[hidden]{display:none}.calc-panel:has(.result-card[hidden]){grid-template-columns:minmax(0,840px);justify-content:center}.result-card{align-self:start}
.food-product-hero{padding:34px 0 42px}.product-hero-grid{grid-template-columns:.75fr 1.25fr}.product-image .media{aspect-ratio:1/1;height:auto}.product-tags{flex-wrap:wrap}.product-tags .neutral{background:#eef2ed;color:#5f6d64}.hero-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;border:1px solid #d9d3c6;border-radius:18px;padding:14px;background:rgba(255,255,255,.75)}.hero-macros>div{min-width:0;text-align:center;background:var(--wash);border-radius:12px;padding:13px 8px}.hero-macros span{display:block;font-size:12px;color:var(--muted)}.hero-macros strong{display:block;font-size:clamp(20px,2.2vw,34px);line-height:1.15;overflow-wrap:anywhere}.food-information{background:#fffaf1}.nutrition-summary,.nutrient-profile,.side-card{background:#fffdf8}.nutrition-summary h2{font-size:clamp(28px,3vw,42px)}.allergen-details{border-top:1px solid #ded8ca;padding:14px 0}.allergen-details summary{font-weight:750;cursor:pointer}.allergen-details p{padding-top:12px}.pairing{border:1px solid #e5dfd3;border-radius:12px;padding:12px;margin-top:9px}.compare-intro{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--wash)}.compare-intro h2{font-size:26px}.compare-result:empty{display:none}.compare-table .higher{background:var(--mint);color:var(--green-dark);font-weight:800}
.recipe-layout>.section{}.recipe-layout .stats{padding:20px 14px}.recipe-layout .stats-grid{align-items:stretch}.recipe-layout .stat{display:flex;flex-direction:column;justify-content:center;min-height:104px}.recipe-layout .stat strong{font-size:clamp(22px,2.2vw,34px)}.recipe-layout .stat span{display:block;margin-top:4px}.page-hero .lead{max-width:1100px}.plan-day-panel{display:none}.plan-day-panel.active{display:block}.daily-total{margin-bottom:0}.meal .button{padding:6px 0}.validation-message{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:18px;color:var(--muted)}
@media(max-width:1000px){.calculator-filter{grid-template-columns:1fr}.calculator-categories{grid-template-columns:repeat(3,1fr)}.hero-macros{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.feedback-head{grid-template-columns:1fr}.rating{justify-self:start}.feedback-grid,.three-fields,.calculator-categories{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.product-hero-grid{grid-template-columns:1fr}.product-hero-grid .product-image{order:2}.hero-macros{grid-template-columns:repeat(2,1fr)}}
.plan-doc-title{font-size:22px;margin:0 0 18px;letter-spacing:-.01em}
.filter-options .topic-group>summary{gap:6px}
.filter-options .topic-group>summary>button{width:auto;flex:1 1 auto}
.cross-contact-tip{padding:8px 12px 12px}
.cross-contact-tip .cc-icon{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#8a5a12;cursor:help}
.cross-contact-tip .cc-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media print{@page{margin:0}body{padding:14mm 12mm!important}.skip{display:none!important}}

/* v0.7: plugin-faithful icons and refined reusable controls */
.calculator-id{display:none!important}
.calculator-card .tool-icon,.calculator-form>.tool-icon,.timer-layout .tool-icon,.action-grid .tool-icon{box-sizing:border-box;color:var(--green);background:var(--mint);border:1px solid transparent}
.calculator-card:hover .tool-icon,.action-grid .card:hover .tool-icon,.action-grid .card:focus-visible .tool-icon{background:#dcebe0;color:var(--green-dark);border-color:#b9cfc0;box-shadow:none}
a[href="#/calculator/hiit-timer"],a[href="#/calculator/breathing"]{display:none!important}
.section-head{min-height:74px}.section-head h2{margin-bottom:0}.view-all{white-space:nowrap}
.site-report .stats-grid{display:flex;justify-content:center;align-items:center;gap:0}.site-report .stat{flex:0 1 auto;min-width:190px;padding:2px 28px}.site-report .stat:not(:last-child)::after{content:"·";position:absolute;right:-3px;top:50%;transform:translateY(-50%);line-height:0;color:#93aa9a}.site-report .stat{position:relative;border:0}
.filter-options details:not([open])>summary::after{content:"+"}.filter-options details[open]>summary::after{content:"−"}
.filter-options details>summary{text-transform:none;letter-spacing:0;font-size:14px}.filter-options details>summary span{font-variant-numeric:tabular-nums;text-align:right;min-width:24px}
.score-rating{display:flex;gap:8px;justify-content:center}.score-rating button{width:54px;height:62px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;place-items:center;cursor:pointer}.score-rating button span{font-size:22px;line-height:1}.score-rating button small{color:var(--muted)}.score-rating button:hover,.score-rating button.active{background:var(--green);color:#fff;border-color:var(--green)}.score-rating button.active small{color:#fff}
.comment-toggle{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.comment-toggle>summary{cursor:pointer;font-weight:750;color:var(--green)}.comment-toggle .feedback-grid{margin-top:18px}
.article-inline figcaption{display:none}
.nutrient-profile details:last-child{margin-bottom:0}.nutrient-profile details:last-child:not([open]){border-bottom:1px solid #e5dfd3}
.food-information{background:var(--wash)}.nutrition-summary,.nutrient-profile,.side-card{background:#fff}.product-hero-grid h1{font-size:clamp(42px,5vw,72px)}
.recipe-layout .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-layout .stat strong{white-space:nowrap}.recipe-layout .stat{padding:10px 8px}
.hero-macros{grid-template-columns:repeat(4,minmax(0,1fr)) 116px}.product-donut{width:92px;height:92px;border-radius:50%;margin:auto;position:relative}.product-donut::after{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff}.cross-contact-note{border:0!important;background:transparent!important;margin:6px 4px!important}.cross-contact-note summary{display:inline-flex!important;gap:6px!important;padding:6px!important;font-size:11px!important;color:var(--green)!important}.cross-contact-note summary::after{display:none!important}.cross-contact-note p{font-size:11px;line-height:1.5;color:var(--muted);padding:4px 6px 8px}.substitutions{margin-top:24px}
select.select{appearance:auto;background:#fff}
@media(max-width:1000px){.hero-macros{grid-template-columns:repeat(2,1fr)}.product-donut{grid-column:1/-1}}
@media(max-width:900px){.site-report .stats-grid{display:grid;grid-template-columns:repeat(2,1fr)}.site-report .stat{min-width:0}.site-report .stat::after{display:none}}
@media(max-width:560px){.section-head{align-items:flex-start;min-height:0;flex-direction:column}.site-report .stats-grid{grid-template-columns:1fr 1fr}.site-report .stat{padding:8px}.score-rating{width:100%;justify-content:space-between}.score-rating button{width:17%}.recipe-layout .stats-grid{grid-template-columns:repeat(2,1fr)}.site-footer{margin-top:0}}
@media print{.plan-day-panel{display:block!important;break-before:page}.plan-day-panel:first-child{break-before:auto}.shopping-panel{display:block!important}.plan-day-panel .day-plan{grid-template-columns:repeat(2,1fr)}.plan-day-panel .meal{break-inside:avoid}.generated-plan .plan-actions,.generated-plan .plan-tabs{display:none!important}}

/* v0.8 — alignment, filters, forms, calculators and plugin colour unification */
.section-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:28px}
.section-head .view-all{align-self:end;margin:0 0 8px!important;white-space:nowrap}
.site-report,.stats-strip,.site-report .stats,.stats-strip .stats{border:0!important;outline:0!important;box-shadow:none!important}
.site-report+.site-footer,.stats-strip+.site-footer{border-top:0!important}

.filter-options button,.filter-options a{display:grid!important;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;font:500 14px/1.35 inherit!important;text-align:left}
.filter-options button span,.filter-options a span{display:flex;align-items:center;justify-content:center;width:34px;min-width:34px;text-align:center;font:500 13px/1 inherit!important}
.filter-options details>summary{display:grid!important;grid-template-columns:minmax(0,1fr) 34px 28px;align-items:center;gap:8px;font:500 14px/1.35 inherit!important}
.filter-options details>summary span{display:flex;align-items:center;justify-content:center;width:34px;font:500 13px/1 inherit!important}
.filter-options details .subfilter button{font:500 14px/1.35 inherit!important}

.score-rating{display:grid!important;grid-template-columns:repeat(5,64px);gap:10px;align-items:start}
.score-rating button{width:64px!important;height:78px!important;border-radius:14px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.score-rating button svg{width:28px!important;height:28px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round;stroke-linejoin:round}
.score-rating button small{font:500 13px/1 inherit}
.comment-panel{display:block!important;margin-top:24px;padding-top:26px;border-top:1px solid var(--line)}
.comment-panel h4{margin:0 0 18px;font-size:20px}
.feedback-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
.feedback-field{display:flex;flex-direction:column;gap:8px}
.feedback-field.full{grid-column:1/-1}
.feedback-field label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.feedback-field input,.feedback-field textarea{width:100%!important;border:1px solid #c9d8ce!important;border-radius:14px!important;background:#fff!important;box-shadow:0 1px 0 rgba(23,34,27,.03),inset 0 0 0 1px rgba(255,255,255,.75);padding:16px 18px!important;font:inherit!important;color:var(--ink)}
.feedback-field input{min-height:58px!important}
.feedback-field textarea{min-height:150px!important;resize:vertical}
.feedback-grid>.button{grid-column:1/-1;width:max-content;min-width:210px}

.food-product-hero,.food-information{background:var(--wash)!important;color:var(--ink)!important}
.food-product-hero .card,.food-information .card,.food-information details,.nutrition-summary,.nutrient-profile{background:#fff!important;border-color:var(--line)!important}
.product-tags .allergen,.allergen-badge{background:var(--mint)!important;color:var(--green-dark)!important;border-color:#cadbce!important}
.hero-macros{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch}
.hero-macros>div:not(.product-chart){padding:16px 10px!important;min-width:0}
.hero-macros strong{font-size:clamp(20px,2vw,30px)!important;line-height:1!important;white-space:nowrap}
.hero-macros>.product-chart{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;background:transparent!important;border:0!important;padding:8px 0 0!important}
.product-donut{width:104px!important;height:104px!important;aspect-ratio:1!important;flex:0 0 104px!important;border-radius:50%!important;padding:0!important;overflow:hidden;background-clip:padding-box!important}
.product-donut::after{inset:29px!important;background:#fff!important}
.product-legend{display:grid;gap:8px;font-size:13px}
.product-legend span{display:flex;align-items:center;gap:8px}
.product-legend i{display:block;width:10px;height:10px;border-radius:3px}
.product-legend .protein{background:#246b45}.product-legend .carbs{background:#70a083}.product-legend .fat{background:#b8d3c0}
.nutrition-summary h2,.nutrient-profile h2{font-size:clamp(28px,3vw,46px)!important;line-height:1.05}
.nutrition-summary,.nutrient-profile{padding:clamp(22px,3vw,42px)!important}
.nutrition-summary table td,.nutrition-summary table th,.nutrient-profile table td,.nutrient-profile table th{padding:12px 4px!important;font-size:15px!important}
.food-information{padding-bottom:28px!important}
.food-information+.page-ending{padding-top:34px!important}
.allergen-details{margin-bottom:0!important}
.allergen-details+*{margin-top:24px!important}

.calculator-archive-layout{align-items:start}
.calculator-archive-layout #calcGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important}
.calculator-archive-layout .calc-card{min-width:0!important}
.calculator-archive-layout .filter-drawer{position:sticky;top:92px}
.calculator-filter{background:transparent!important}
.calc-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;border-color:var(--line)!important;background:#fff!important}
.calc-panel>section,.calc-panel>.result-card{padding:clamp(28px,4vw,56px)!important}
.calc-panel .result-card{background:var(--wash)!important;border-left:1px solid var(--line)!important}
.choice-grid input:checked+span,.choice-grid button.active{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
.choice-grid input:not(:checked)+span{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important}
.unit-switch{display:flex;gap:8px;margin:18px 0}
.unit-switch button{appearance:none;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:10px 16px;font:650 14px/1 inherit;cursor:pointer}
.unit-switch button.active{background:var(--green);border-color:var(--green);color:#fff}
.pairing-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;background:#fff}
.pairing-item p{margin:5px 0 0!important;font-size:13px;line-height:1.45}
.calculator-faq{margin-top:42px;border-top:1px solid var(--line);padding-top:34px}
.calculator-faq details{border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:10px}
.calculator-faq summary{padding:16px 18px;font-weight:650;cursor:pointer}
.calculator-faq p{padding:0 18px 18px;margin:0;color:var(--muted)}

.timer-ring{--progress:8%;width:min(390px,86vw);aspect-ratio:1;border-radius:50%;margin:auto;display:grid;place-items:center;padding:18px;background:conic-gradient(var(--green) var(--progress),var(--mint) 0)}
.timer-ring::before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:var(--wash)}
.timer-ring .timer-clock{grid-area:1/1;z-index:1}
.timer-adjust{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.timer-adjust button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:20px;cursor:pointer}

.generated-plan .meal{min-width:0!important}
.generated-plan .meal .button{width:max-content}

@media(max-width:1100px){
  .calculator-archive-layout #calcGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v2.13 — Nutrition Facts cards reserve a true square image canvas */
#foodGrid .food-card .media,
.page-ending .food-card .media{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  padding:12px!important;
  background:#fff!important;
}
#foodGrid .food-card .media>img,
.page-ending .food-card .media>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* v2.11 — Nutrition Facts detail and responsive food-card refinement */
.nutrient-source{
  margin:2px 0 14px!important;
  color:var(--muted)!important;
  font-size:11px!important;
  line-height:1.4!important;
}
.food-care{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:20px;
}
.food-care h2{font-size:clamp(24px,2.6vw,36px);margin:4px 0 16px}
.food-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.food-care-grid>div{border:1px solid var(--line);border-radius:14px;background:var(--wash);padding:16px}
.food-care-grid h3{font-size:17px;margin:0 0 6px}
.food-care-grid p{font-size:14px;color:var(--muted);margin:0}

#foodGrid.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.food-card .media{height:150px;background:#fff;padding:10px;display:grid;place-items:center}
.food-card .media>img,.product-image .media>img{width:100%;height:100%;object-fit:contain;object-position:center}
.food-card .media>svg{width:100%;height:100%;max-width:100%;max-height:100%}
.product-image .media{background:#fff;padding:18px}

@media(max-width:1250px){#foodGrid.grid.four{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){#foodGrid.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.food-care-grid{grid-template-columns:1fr}}
@media(max-width:560px){#foodGrid.grid.four{grid-template-columns:1fr}.food-card .media{height:180px}}

/* v2.12 — consistent Nutrition Facts rhythm and real product-image preview */
.food-main{--food-section-gap:20px;gap:var(--food-section-gap)!important}
.food-main>section,.food-main>details{margin-top:0!important;margin-bottom:0!important}
.food-main .allergen-details+*{margin-top:0!important}
.food-information.section{padding-top:32px;padding-bottom:10px}
.food-information+.page-ending{padding-top:10px}
.food-care{margin:0!important}
.food-card .media{
  height:156px;
  padding:12px;
  background:#fff;
}
.food-card .media>img,.product-image .media>img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.product-image .media{background:#fff;padding:18px}
.food-image-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:var(--wash)}
.food-image-placeholder svg{position:absolute;inset:0;width:100%;height:100%;opacity:.78}
.food-image-placeholder span{position:relative;z-index:1;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.92);font-size:11px;color:var(--muted)}
@media(max-width:900px){.food-information.section{padding-top:24px;padding-bottom:10px}.food-information+.page-ending{padding-top:10px}}
@media(max-width:760px){
  .section-head{align-items:start!important}
  .feedback-grid{grid-template-columns:1fr}.feedback-field.full{grid-column:auto}
  .score-rating{grid-template-columns:repeat(5,minmax(48px,1fr));width:100%}.score-rating button{width:100%!important}
  .hero-macros{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .calculator-archive-layout #calcGrid{grid-template-columns:1fr!important}
  .calc-panel{grid-template-columns:1fr!important}.calc-panel .result-card{border-left:0!important;border-top:1px solid var(--line)!important}
}

@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:#111!important}
  .page-hero,.site-header,.site-footer,.meal-plan-builder,.plan-tabs,.plan-actions{display:none!important}
  .generated-plan{margin:0!important}
  .plan-day-panel{display:block!important;break-before:page;padding:0!important}
  .plan-day-panel:first-child{break-before:auto}
  .plan-day-panel h2{font-size:22px!important;margin:0 0 10px}
  .plan-day-panel .day-plan{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
  .plan-day-panel .meal{break-inside:avoid!important;padding:10px!important;border:1px solid #bbb!important;min-height:0!important}
  .plan-day-panel .meal h3{font-size:14px!important;margin:4px 0}
  .plan-day-panel .meal p,.plan-day-panel .meal span{font-size:10px!important}
  .plan-day-panel .meal a{display:none!important}
  .daily-total{padding:10px!important;margin-top:8px!important}
  .shopping-panel{display:block!important}
}

/* v1.2 interaction and hierarchy corrections */
.topic-group>summary{display:grid!important;grid-template-columns:1fr 38px!important;align-items:center!important;gap:8px!important;padding:0!important;list-style:none!important}
.topic-group>summary::-webkit-details-marker{display:none!important}
.topic-group>summary>button{display:flex!important;align-items:center!important;width:100%!important;padding:13px 8px!important;border:0!important;background:transparent!important;color:var(--ink)!important;text-align:left!important;border-radius:10px!important}
.topic-group>summary>button:hover{background:#eaf3eb!important;color:var(--green-dark)!important}
.topic-group>summary>button.active{background:var(--green)!important;color:#fff!important}
.topic-group>summary>button.active span{color:#fff!important}
.topic-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;font-style:normal}
.topic-toggle::before{content:"+";font-size:20px;line-height:1}.topic-group[open] .topic-toggle::before{content:"−"}

.choice-grid input:checked+span{
  background:rgba(36,107,69,.10)!important;color:var(--green-dark)!important;
  border:2px solid var(--green-dark)!important;outline:0!important;box-shadow:none!important;
}
.choice-grid input:focus-visible+span{outline:2px solid var(--green-dark)!important;outline-offset:-4px!important;box-shadow:none!important}

.recipe-nutrition{background:var(--wash)!important;border-color:var(--line)!important;padding:8px 12px!important}
.recipe-nutrition .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.recipe-nutrition .stat{min-height:52px!important;padding:5px 8px!important;border-right:0!important;border-left:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.recipe-nutrition .stat+ .stat{border-left:1px solid var(--line)!important}
.recipe-nutrition .stat strong{font:700 15px/1.15 var(--font,system-ui)!important;color:var(--green-dark)!important;white-space:nowrap!important}
.recipe-nutrition .stat span{font:400 10px/1.2 var(--font,system-ui)!important;color:var(--muted)!important;text-transform:none!important}

.print-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.print-day-heading>span{display:none}
.daily-total-line{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.daily-total-line span{font-weight:700;color:var(--green-dark)}

@media(max-width:760px){
  .recipe-nutrition .stats-grid{grid-template-columns:repeat(3,1fr)!important}
  .recipe-nutrition .stat:nth-child(4){border-left:0!important}
}
@media(max-width:430px){
  .recipe-nutrition .stats-grid{grid-template-columns:repeat(2,1fr)!important}
  .recipe-nutrition .stat:nth-child(odd){border-left:0!important}
}
@media print{
  .print-day-heading{display:flex!important;align-items:baseline!important;justify-content:space-between!important;border-bottom:1px solid #cbd9cf!important;padding-bottom:2mm!important;margin-bottom:3mm!important}
  .print-day-heading>span{display:block!important;font-size:10px!important;font-weight:700!important;color:#246b45!important}
  .print-day-heading h2{margin:0!important}
  .daily-total{display:none!important}
}

/* v1.1 — verified plugin icons and final interaction/layout corrections */
.filter-options button,.filter-options summary,.nested-filter button{
  font:400 16px/1.35 var(--font,system-ui)!important;
}
.filter-options button span,.filter-options summary span,.nested-filter button span{
  font:400 16px/1 var(--font,system-ui)!important;
  min-width:28px;text-align:center;margin-left:auto;
}
.filter-options details>summary{font-weight:400!important}
.score-rating button:hover,.score-rating button:focus-visible{background:#eaf3eb!important;color:var(--green-dark)!important}
.score-rating button.active,.score-rating button.active:hover,.score-rating button.active:focus-visible{
  background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;
}
.score-rating button.active svg{stroke:#fff!important}
select,.select,.calculator-form select{
  appearance:none!important;padding-right:48px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23246b45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 16px center!important;
}

.hero-macros{gap:12px!important}
.hero-macros>.product-chart{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:4px 0 4px 18px!important;border-left:1px solid var(--line)!important;
}
.product-donut{border:0!important;outline:0!important;box-shadow:none!important}
.food-main{gap:16px!important}.allergen-details{margin-top:0!important}
.food-information{padding-bottom:24px!important}.food-information+.page-ending{padding-top:28px!important}

.calc-panel{gap:24px!important;background:transparent!important;border:0!important}
.form-card,.result-card{border:1px solid var(--line)!important;border-radius:18px!important;background:#f6faf7!important}
.choice-grid input:checked+span,.calc-step>span,.unit-switch button.active{
  background:rgba(36,107,69,.11)!important;color:var(--green-dark)!important;
  border-color:#8fb6a0!important;box-shadow:inset 0 0 0 1px rgba(36,107,69,.12)!important;
}
.unit-switch{background:#eef5ef!important}
.calculator-form .choice-grid input:not(:checked)+span{background:#fff!important}

.timer-stage{display:flex!important;flex-direction:column!important;align-items:center!important;gap:22px!important;padding:34px!important}
.timer-ring{--progress:0%;position:relative!important;width:min(360px,82vw)!important;height:min(360px,82vw)!important;aspect-ratio:1!important;border-radius:50%!important;background:conic-gradient(var(--green) var(--progress),#dce8df 0)!important;padding:10px!important;display:grid!important;place-items:center!important;overflow:visible!important}
.timer-ring::before{content:none!important}
.timer-ring-inner{width:100%;height:100%;border-radius:50%;background:#f8fbf9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 0 0 1px #d7e3da}
.timer-ring #timerClock{font-size:clamp(58px,8vw,92px)!important;line-height:1!important;color:var(--ink)!important}
.timer-ring #timerPhase{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--green)!important}
.timer-ring #timerRound{font-size:16px!important;margin:0!important}
.timer-adjust{display:flex!important;gap:12px!important;justify-content:center!important}
.timer-adjust button{min-width:96px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;padding:11px 15px!important;color:var(--green-dark)!important}

.recipe-layout{grid-template-columns:minmax(660px,.95fr) minmax(0,1.05fr)!important;gap:46px!important}
.recipe-nutrition .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important}
.recipe-nutrition .stat{min-width:0!important;min-height:72px!important;padding:8px 3px!important}
.recipe-nutrition .stat strong{font-size:clamp(16px,1.15vw,21px)!important}
.recipe-nutrition .stat span{font-size:10px!important}

.service-page{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:250px 1fr;gap:70px;padding:0 24px}
.service-nav{position:sticky;top:110px;align-self:start;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:20px}
.service-nav strong{font-size:20px;margin-bottom:8px}.service-nav a{padding:8px 0;color:var(--muted)}
.service-content{border-top:1px solid var(--line)}
.service-content section{display:grid;grid-template-columns:62px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--line)}
.service-content h2{font-size:clamp(26px,3vw,42px);margin:0 0 10px}.service-content p{max-width:760px;margin:0}
.service-number{font:700 13px/1 monospace;color:var(--green);padding-top:10px}

@media(max-width:1100px){
  .recipe-layout{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .service-page{grid-template-columns:1fr;gap:30px}.service-nav{position:static}
  .hero-macros>.product-chart{border-left:0!important;border-top:1px solid var(--line)!important;padding:16px 0 0!important}
}

@media print{
  @page{size:A4 landscape;margin:10mm}
  body{font-size:10px!important}
  #generatedDays{zoom:1!important}
  #generatedDays>.plan-day-panel:not(.shopping-panel){break-before:auto!important;page-break-before:auto!important;break-inside:avoid!important;margin:0 0 5mm!important}
  .plan-day-panel h2{font-size:17px!important;margin:0 0 3mm!important}
  .plan-day-panel .day-plan{grid-template-columns:repeat(4,1fr)!important;gap:3mm!important}
  .plan-day-panel .meal{padding:3mm!important;min-height:27mm!important}
  .plan-day-panel .meal h3{font-size:11px!important;line-height:1.15!important}
  .plan-day-panel .meal p,.plan-day-panel .meal span,.portion-detail{font-size:8.5px!important;line-height:1.25!important}
  .daily-total{font-size:9px!important;padding:2mm 3mm!important}
  .shopping-panel{break-before:page!important;page-break-before:always!important}
  #weeklyWorkout .grid{grid-template-columns:repeat(2,1fr)!important;gap:5mm!important}
  #weeklyWorkout .workout-section{break-inside:avoid!important;padding:5mm!important}
  #weeklyWorkout .workout-section h3{font-size:17px!important}
  #weeklyWorkout .workout-section p,#weeklyWorkout .workout-section li{font-size:10px!important;line-height:1.35!important}
}

/* v1.0 component corrections */
.carousel::after{content:none!important}

.hero-macros{column-gap:14px!important}
.hero-macros>.product-chart{background:#eef6f0!important;border:1px solid #cfddd2!important;border-radius:14px!important;padding:12px!important;box-shadow:inset 3px 0 0 #b8d3c0}
.hero-macros>div:not(.product-chart){border:1px solid #e0e9e2!important;background:#fff!important}
.product-donut{width:88px!important;height:88px!important;flex-basis:88px!important}
.product-donut::after{inset:25px!important}

.allergen-details{border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;padding:0!important;overflow:hidden!important;margin-top:2px!important}
.allergen-details summary{padding:16px 18px!important;background:#fff!important}
.allergen-details p{padding:0 18px 18px!important;margin:0!important}

.calculator-form{background:#f6faf7!important}
.unit-switch{display:inline-grid!important;grid-template-columns:1fr 1fr;gap:4px!important;padding:4px!important;border:1px solid #cbd9cf;border-radius:14px;background:#eaf3eb}
.unit-switch button{border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important}
.unit-switch button.active{background:#fff!important;color:var(--green-dark)!important;box-shadow:0 2px 8px rgba(36,107,69,.13)!important}
.calculator-form label.is-missing input,.calculator-form label.is-missing select{border-color:#b45d4d!important;background:#fff7f5!important;box-shadow:0 0 0 3px rgba(180,93,77,.12)!important}
.calculator-form .choice-grid.is-missing{border:1px solid #b45d4d!important;border-radius:14px!important;background:#fff7f5!important;padding:6px!important}
.calculator-form .choice-grid input:checked+span{box-shadow:0 0 0 3px rgba(36,107,69,.13)!important}
.calculator-form .three-fields:has(.feet-field){grid-template-columns:repeat(4,1fr)!important}

.recipe-nutrition .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.recipe-nutrition .stat{min-height:78px!important;padding:7px 5px!important}
.recipe-nutrition .stat strong{font-size:clamp(17px,1.35vw,23px)!important;white-space:nowrap}
.recipe-nutrition .stat span{font-size:11px!important;margin-top:2px!important}

.meal-plan-faq{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}
.meal-plan-faq h2{font-size:clamp(28px,3vw,40px)}
.meal-plan-faq .faq{max-width:900px}

@media(max-width:1050px){
  .hero-macros>.product-chart{box-shadow:inset 3px 0 0 #b8d3c0!important}
}
@media(max-width:820px){
  .recipe-nutrition .stats-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:620px){
  .hero-macros>.product-chart{box-shadow:inset 0 3px 0 #b8d3c0!important}
  .calculator-form .three-fields:has(.feet-field){grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:430px){
  .recipe-nutrition .stats-grid{grid-template-columns:repeat(2,1fr)!important}
}

@media print{
  @page{size:A4 portrait;margin:7mm}
  .meal-plan-faq{display:none!important}
  #generatedDays{display:block!important}
  .plan-day-panel{display:block!important;break-before:auto!important;page-break-before:auto!important;break-inside:avoid!important;margin:0 0 5mm!important}
  .plan-day-panel h2{font-size:15px!important;margin:0 0 3px!important}
  .plan-day-panel .day-plan{grid-template-columns:repeat(4,1fr)!important;gap:3px!important}
  .plan-day-panel .meal{padding:5px!important;border-radius:5px!important}
  .plan-day-panel .meal h3{font-size:9px!important;margin:2px 0!important}
  .plan-day-panel .meal p,.plan-day-panel .meal span,.portion-detail{font-size:7px!important;line-height:1.15!important;margin:2px 0!important}
  .daily-total{padding:4px 6px!important;margin-top:3px!important;font-size:8px!important}
  .shopping-panel{break-before:page!important;page-break-before:always!important}
}

@media print{
  #generatedDays{zoom:.68!important}
  #generatedDays>.plan-day-panel:not(.shopping-panel){break-before:auto!important;page-break-before:auto!important;break-after:auto!important;page-break-after:auto!important;break-inside:avoid!important}
  #generatedDays>.shopping-panel{break-before:page!important;page-break-before:always!important}
}

/* v0.9 finishing pass */
main:focus{outline:0!important}
main,.page-ending,.section:last-child{border-bottom:0!important;outline:0!important}
.site-footer{border:0!important;box-shadow:none!important}

.feedback-field{position:static!important}
.feedback-field label{position:static!important;display:block!important;margin:0!important;line-height:1.25}
.feedback-field input,.feedback-field textarea{padding:15px 17px!important}
.feedback-field input::placeholder,.feedback-field textarea::placeholder{color:#7b8980;opacity:1}

.carousel{grid-auto-columns:calc((100% - 60px)/4)!important;overflow-x:auto!important;overscroll-behavior-inline:contain}
.carousel::after{content:"";width:1px}

.hero-macros{grid-template-columns:repeat(4,minmax(86px,1fr)) 190px!important;align-items:stretch!important}
.hero-macros>.product-chart{grid-column:5!important;grid-row:1!important;display:grid!important;grid-template-columns:104px 1fr!important;gap:14px!important;padding:0 4px!important}
.hero-macros strong{font-size:clamp(18px,1.55vw,25px)!important}
.product-legend{font-size:12px!important}
.nutrient-profile details .nut-row:last-child,.nutrition-summary .nut-row:last-child{border-bottom:0!important}

.calculator-faq{border-top:0!important;padding-top:28px!important}
.calculator-faq .faq details{border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;margin:0!important;padding:16px 0!important}
.calculator-faq .faq details:last-child{border-bottom:1px solid var(--line)!important}
.calculator-faq .faq summary{padding:0!important;font:700 16px/1.4 inherit!important}
.calculator-faq .faq p{padding:12px 0 0!important;margin:0!important}
.calc-panel,.form-card,.result-card{border-color:#cbd9cf!important}
.calc-step>span,.unit-switch button.active,.choice-grid input:checked+span{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}
.calculator-form input,.calculator-form select{border-color:#cbd9cf!important}

.recipe-nutrition .stats-grid{grid-template-columns:repeat(3,1fr)!important}
.recipe-nutrition .stat{min-height:88px!important;padding:9px 8px!important}
.recipe-nutrition .stat strong{font-size:clamp(19px,1.65vw,27px)!important}
.portion-detail{font-size:13px;color:var(--muted);margin-top:12px}

@media(max-width:1050px){
  .hero-macros{grid-template-columns:repeat(2,minmax(90px,1fr)) 170px!important}
  .hero-macros>.product-chart{grid-column:3!important;grid-row:1/3!important;grid-template-columns:1fr!important;align-content:center!important}
  .carousel{grid-auto-columns:calc((100% - 40px)/3)!important}
}
@media(max-width:760px){
  .hero-macros{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero-macros>.product-chart{grid-column:1/-1!important;grid-row:auto!important;grid-template-columns:104px 1fr!important}
  .carousel{grid-auto-columns:calc((100% - 20px)/2)!important}
}
@media(max-width:520px){
  .carousel{grid-auto-columns:92%!important}
  .recipe-nutrition .stats-grid{grid-template-columns:repeat(2,1fr)!important}
}

@media print{
  @page{size:A4 portrait;margin:8mm}
  .generated-plan{font-size:9px!important}
  .plan-day-panel{break-before:page!important;break-inside:avoid!important;height:auto!important}
  .plan-day-panel:first-child{break-before:auto!important}
  .plan-day-panel .day-plan{grid-template-columns:repeat(4,1fr)!important;gap:5px!important}
  .plan-day-panel .meal{padding:7px!important}
  .plan-day-panel .meal h3{font-size:11px!important;line-height:1.15!important}
  .plan-day-panel .meal p,.plan-day-panel .meal span{font-size:8px!important;line-height:1.25!important}
  .portion-detail{font-size:8px!important}
  .daily-total{padding:7px!important}
  .shopping-panel{break-before:page!important}
}

/* v1.1 final cascade guard */
.filter-options button,.filter-options summary,.nested-filter button{font:400 16px/1.35 var(--font,system-ui)!important}
.filter-options button span,.filter-options summary span,.nested-filter button span{font:400 16px/1 var(--font,system-ui)!important;min-width:28px;text-align:center;margin-left:auto}
.score-rating button.active,.score-rating button.active:hover,.score-rating button.active:focus-visible{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
.score-rating button.active svg{stroke:#fff!important}
select,.select,.calculator-form select{appearance:none!important;padding-right:48px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23246b45' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important}
.hero-macros>.product-chart{background:transparent!important;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;padding:4px 0 4px 18px!important}
.product-donut{border:0!important;outline:0!important;box-shadow:none!important}
.food-main{gap:16px!important}.food-information{padding-bottom:24px!important}.food-information+.page-ending{padding-top:28px!important}
.calc-panel{gap:24px!important;background:transparent!important;border:0!important}.form-card,.result-card{border:1px solid var(--line)!important;border-radius:18px!important;background:#f6faf7!important}
.choice-grid input:checked+span,.calc-step>span,.unit-switch button.active{background:rgba(36,107,69,.11)!important;color:var(--green-dark)!important;border-color:#8fb6a0!important;box-shadow:inset 0 0 0 1px rgba(36,107,69,.12)!important}
.unit-switch{background:#eef5ef!important}.calculator-form .choice-grid input:not(:checked)+span{background:#fff!important}
.timer-stage{display:flex!important;flex-direction:column!important;align-items:center!important;gap:22px!important;padding:34px!important}
.timer-ring{--progress:0%;position:relative!important;width:min(360px,82vw)!important;height:min(360px,82vw)!important;aspect-ratio:1!important;border-radius:50%!important;background:conic-gradient(var(--green) var(--progress),#dce8df 0)!important;padding:10px!important;display:grid!important;place-items:center!important;overflow:visible!important}
.timer-ring::before{content:none!important}.timer-ring-inner{width:100%;height:100%;border-radius:50%;background:#f8fbf9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 0 0 1px #d7e3da}
.timer-ring #timerClock{font-size:clamp(58px,8vw,92px)!important;line-height:1!important;color:var(--ink)!important}.timer-ring #timerPhase{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--green)!important}.timer-ring #timerRound{font-size:16px!important;margin:0!important}
.timer-adjust{display:flex!important;gap:12px!important;justify-content:center!important}.timer-adjust button{min-width:96px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;padding:11px 15px!important;color:var(--green-dark)!important}
.recipe-layout{grid-template-columns:minmax(660px,.95fr) minmax(0,1.05fr)!important;gap:46px!important}.recipe-nutrition .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important}.recipe-nutrition .stat{min-width:0!important;min-height:72px!important;padding:8px 3px!important}.recipe-nutrition .stat strong{font-size:clamp(16px,1.15vw,21px)!important}.recipe-nutrition .stat span{font-size:10px!important}
.service-page{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:250px 1fr;gap:70px;padding:0 24px}.service-nav{position:sticky;top:110px;align-self:start;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:20px}.service-nav strong{font-size:20px;margin-bottom:8px}.service-nav a{padding:8px 0;color:var(--muted)}.service-content{border-top:1px solid var(--line)}.service-content section{display:grid;grid-template-columns:62px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--line)}.service-content h2{font-size:clamp(26px,3vw,42px);margin:0 0 10px}.service-content p{max-width:760px;margin:0}.service-number{font:700 13px/1 monospace;color:var(--green);padding-top:10px}
@media(max-width:1100px){.recipe-layout{grid-template-columns:1fr!important}}
@media(max-width:760px){.service-page{grid-template-columns:1fr;gap:30px}.service-nav{position:static}.hero-macros>.product-chart{border-left:0!important;border-top:1px solid var(--line)!important;padding:16px 0 0!important}}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body{font-size:10px!important}#generatedDays{zoom:1!important}
  #generatedDays>.plan-day-panel:not(.shopping-panel){break-before:auto!important;page-break-before:auto!important;break-inside:avoid!important;margin:0 0 5mm!important}
  .plan-day-panel h2{font-size:17px!important;margin:0 0 3mm!important}.plan-day-panel .day-plan{grid-template-columns:repeat(4,1fr)!important;gap:3mm!important}.plan-day-panel .meal{padding:3mm!important;min-height:27mm!important}.plan-day-panel .meal h3{font-size:11px!important}.plan-day-panel .meal p,.plan-day-panel .meal span,.portion-detail{font-size:8.5px!important;line-height:1.25!important}.daily-total{font-size:9px!important;padding:2mm 3mm!important}.shopping-panel{break-before:page!important;page-break-before:always!important}
  #weeklyWorkout .grid{grid-template-columns:repeat(2,1fr)!important;gap:5mm!important}#weeklyWorkout .workout-section{break-inside:avoid!important;padding:5mm!important}#weeklyWorkout .workout-section h3{font-size:17px!important}#weeklyWorkout .workout-section p,#weeklyWorkout .workout-section li{font-size:10px!important;line-height:1.35!important}
}

/* v1.2 final cascade guard */
.topic-group>summary{display:grid!important;grid-template-columns:1fr 38px!important;align-items:center!important;gap:8px!important;padding:0!important;list-style:none!important}.topic-group>summary::-webkit-details-marker{display:none!important}.topic-group>summary>button{display:flex!important;align-items:center!important;width:100%!important;padding:13px 8px!important;border:0!important;background:transparent!important;color:var(--ink)!important;text-align:left!important;border-radius:10px!important}.topic-group>summary>button:hover{background:#eaf3eb!important;color:var(--green-dark)!important}.topic-group>summary>button.active{background:var(--green)!important;color:#fff!important}.topic-group>summary>button.active span{color:#fff!important}.topic-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;font-style:normal}.topic-toggle::before{content:"+";font-size:20px;line-height:1}.topic-group[open] .topic-toggle::before{content:"−"}
.choice-grid input:checked+span{background:rgba(36,107,69,.10)!important;color:var(--green-dark)!important;border:2px solid var(--green-dark)!important;outline:0!important;box-shadow:none!important}.choice-grid input:focus-visible+span{outline:2px solid var(--green-dark)!important;outline-offset:-4px!important;box-shadow:none!important}
.recipe-nutrition{background:var(--wash)!important;border-color:var(--line)!important;padding:8px 12px!important}.recipe-nutrition .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.recipe-nutrition .stat{min-height:52px!important;padding:5px 8px!important;border-right:0!important;border-left:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.recipe-nutrition .stat+.stat{border-left:1px solid var(--line)!important}.recipe-nutrition .stat strong{font:700 15px/1.15 var(--font,system-ui)!important;color:var(--green-dark)!important;white-space:nowrap!important}.recipe-nutrition .stat span{font:400 10px/1.2 var(--font,system-ui)!important;color:var(--muted)!important;text-transform:none!important}
.print-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.print-day-heading>span{display:none}.daily-total-line{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.daily-total-line span{font-weight:700;color:var(--green-dark)}
@media(max-width:760px){.recipe-nutrition .stats-grid{grid-template-columns:repeat(3,1fr)!important}.recipe-nutrition .stat:nth-child(4){border-left:0!important}}
@media(max-width:430px){.recipe-nutrition .stats-grid{grid-template-columns:repeat(2,1fr)!important}.recipe-nutrition .stat:nth-child(odd){border-left:0!important}}
@media print{.print-day-heading{display:flex!important;align-items:baseline!important;justify-content:space-between!important;border-bottom:1px solid #cbd9cf!important;padding-bottom:2mm!important;margin-bottom:3mm!important}.print-day-heading>span{display:block!important;font-size:10px!important;font-weight:700!important;color:#246b45!important}.print-day-heading h2{margin:0!important}.daily-total{display:none!important}}

/* v1.2 final interaction corrections */
.topic-group[open] .topic-toggle::before{content:"−"!important}
.calculator-form .choice-grid input:checked+span{
  background:rgba(36,107,69,.10)!important;
  color:var(--green-dark)!important;
  border:2px solid var(--green-dark)!important;
  outline:0!important;
  box-shadow:none!important;
}
.calculator-form .choice-grid input:focus-visible+span{
  outline:2px solid var(--green-dark)!important;
  outline-offset:-4px!important;
  box-shadow:none!important;
}

/* v1.3 product macros: the legend always remains inside its own panel. */
.hero-macros{
  grid-template-columns:repeat(4,minmax(82px,1fr)) minmax(218px,230px)!important;
}
.hero-macros>.product-chart{
  grid-column:5!important;
  grid-row:1!important;
  grid-template-columns:82px minmax(104px,1fr)!important;
  gap:10px!important;
  min-width:0!important;
  overflow:hidden!important;
  padding:4px 8px 4px 14px!important;
}
.hero-macros>.product-chart .product-donut{
  width:78px!important;
  height:78px!important;
  flex-basis:78px!important;
}
.hero-macros>.product-chart .product-donut::after{inset:22px!important}
.product-legend{
  min-width:0!important;
  overflow:hidden!important;
  gap:7px!important;
  font-size:11px!important;
}
.product-legend span{
  min-width:0!important;
  max-width:100%!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.product-legend i{flex:0 0 10px!important}

/* v1.3 recipe hierarchy: the recipe content is primary, media is supporting. */
@media(min-width:900px){
  .recipe-layout{
    grid-template-columns:minmax(360px,.7fr) minmax(560px,1.3fr)!important;
    gap:34px!important;
    align-items:start!important;
  }
}
.recipe-layout>div:first-child{
  min-width:0!important;
  align-self:start!important;
}
.recipe-layout>div:first-child>.media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
.recipe-layout>div:first-child>.media img{aspect-ratio:auto!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.recipe-layout>div:first-child>.media>svg{height:220px!important}
.recipe-nutrition{
  margin-top:10px!important;
  padding:5px 8px!important;
}
.recipe-nutrition .stat{
  min-height:48px!important;
  padding:4px 5px!important;
}
.recipe-nutrition .stat strong{
  font-size:14px!important;
  line-height:1.1!important;
}
.recipe-nutrition .stat span{
  font-size:9px!important;
  line-height:1.15!important;
}
@media(max-width:1180px) and (min-width:760px){
  .hero-macros{grid-template-columns:repeat(2,minmax(96px,1fr)) 220px!important}
  .hero-macros>.product-chart{
    grid-column:3!important;
    grid-row:1/3!important;
  }
}
@media(max-width:899px){
  .recipe-layout{grid-template-columns:1fr!important;gap:26px!important}
  .recipe-layout>div:first-child{max-width:680px!important}
}
@media(max-width:760px){
  .hero-macros{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero-macros>.product-chart{
    grid-column:1/-1!important;
    grid-row:auto!important;
    grid-template-columns:82px minmax(120px,1fr)!important;
    justify-content:center!important;
  }
}
/* v1.7 — visual fixes */
.section-head .view-all.button{border:0!important;background:transparent!important;box-shadow:none!important;min-width:auto!important;color:var(--green)!important;padding:4px 2px!important;font-weight:700}
.section-head .view-all.button:hover{background:transparent!important;box-shadow:none!important;color:var(--green-dark)!important;text-decoration:underline}
.section-head .view-all.button::after{content:" \2192"}
.site-report .stat:not(:last-child)::after{display:none!important}
.filter-options button{font-size:13px!important;white-space:nowrap!important}
.filter-options details summary{white-space:nowrap!important}
.filter-options button span{font-size:12px!important}
.nested-filter button{font-size:13px!important}
.nested-filter button span{font-size:12px!important}
.product-legend span{white-space:nowrap!important}
.product-tags .badge.allergen,.product-tags .allergen{background:#fbeceb!important;color:#8a3d2e!important;border-color:#eccabf!important;display:inline-flex;align-items:center}
.allergen-ic{width:13px;height:13px;flex:0 0 13px;margin-right:5px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.recipe-nutrition .stats-grid{display:flex!important;flex-wrap:wrap!important;gap:0!important;grid-template-columns:none!important}
.recipe-nutrition .stat{min-height:auto!important;min-width:0!important;padding:10px 4px!important;border:0!important;overflow:hidden}
.recipe-nutrition .stat:nth-child(-n+4){flex:1 1 25%!important}
.recipe-nutrition .stat:nth-child(n+5){flex:1 1 50%!important;border-top:1px solid var(--line)!important}
.recipe-nutrition .stat:not(:nth-child(4n+1)){border-left:1px solid var(--line)!important}
.recipe-nutrition .stat strong{font-size:clamp(13px,1.5vw,20px)!important;white-space:nowrap}
.recipe-nutrition .stat span{font-size:10px!important;margin-top:2px!important}
/* v1.8 — recipe facts card + article spacing + contact */
.recipe-facts{border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:16px;background:#fff}
.rf-energy{display:flex;align-items:baseline;gap:8px}
.rf-energy strong{font-size:42px;line-height:1;color:var(--green);letter-spacing:-.02em}
.rf-energy span{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.rf-macros{display:flex;gap:26px;padding:14px 0;margin:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rf-macros b{font-size:18px;color:var(--ink)}
.rf-macros span{display:block;font-size:11px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.rf-line{display:flex;gap:30px;flex-wrap:wrap}
.rf-item>span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.rf-item>b{font-size:15px;color:var(--ink);display:inline-flex;align-items:center;gap:7px;font-weight:700}
.rf-dots{display:inline-flex;gap:4px}
.rf-dots i{width:9px;height:9px;border-radius:50%;background:#dfe6e0;display:block}
.rf-dots.lvl-1 i:nth-child(1){background:#2e8b57}
.rf-dots.lvl-2 i:nth-child(-n+2){background:#c8901f}
.rf-dots.lvl-3 i{background:#c0492e}
.article-hero+.section{padding-top:26px!important}
.article-inline{max-width:560px!important;margin:24px 0!important}
.article-inline .media{height:300px!important;aspect-ratio:auto!important;border-radius:14px}
/* v1.9 — hero restructure, mobile columns, calc shift, allergen icons */
.product-hero-grid{display:grid!important;grid-template-columns:.9fr 1.1fr!important;grid-template-areas:"img head" "img body"!important;gap:16px 40px!important;align-items:start}
.product-head{grid-area:head}
.product-image{grid-area:img;align-self:stretch}
.product-image .media{height:100%!important;min-height:300px}
.product-body{grid-area:body}
.product-head h1{margin:8px 0 0}
.choice-grid label>span{border:2px solid var(--line)!important}
.calculator-form label.is-missing,.choice-grid.is-missing{border:0!important;padding:0!important;background:transparent!important}
.choice-grid.is-missing>label>span{border-color:#b45d4d!important;box-shadow:0 0 0 3px rgba(180,93,77,.14)!important}
.ingredient-list li span{min-width:0;padding-right:12px}
.ingredient-list li strong{white-space:nowrap}
.product-tags .badge.allergen .allergen-ic{width:14px;height:14px;flex:0 0 14px}
@media(max-width:760px){
  .product-hero-grid{grid-template-columns:1fr!important;grid-template-areas:"head" "img" "body"!important;gap:14px!important}
  .product-image .media{height:210px!important;min-height:0}
  .food-detail{grid-template-columns:1fr!important;gap:18px}
  .food-main,.food-aside{grid-template-columns:1fr!important}
  .hero-macros>.product-chart{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;grid-column:1/-1!important;grid-template-columns:none!important}
  .hero-macros>.product-chart .product-donut{width:92px!important;height:92px!important;flex:0 0 92px!important}
  .product-legend{margin:0!important}
}
/* v2.0 — ghost button as text link, cross-contact tooltip */
.button.ghost{background:transparent!important;border:0!important;box-shadow:none!important;min-width:auto!important;color:var(--green)!important;padding:6px 2px!important;font-weight:700}
.button.ghost:hover{background:transparent!important;color:var(--green-dark)!important;text-decoration:underline}
.service-nav a.active{color:var(--ink)!important;font-weight:700!important}
.plan-doc-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.plan-doc-head .plan-doc-title{margin:0}
.wash .action-grid .card:hover{border-color:#7fa88f!important;box-shadow:0 12px 28px rgba(39,82,56,.14)!important}
.article-inline{max-width:600px!important;margin:22px 0!important}
.article-inline .media{height:320px!important}
.timer-adjust button{white-space:nowrap!important;line-height:1!important}
.timer-adjust button:focus-visible{outline:2px solid var(--green)!important;outline-offset:2px!important}
/* v2.3 — fullscreen timer + breathing */
.timer-fs{margin-top:4px}
.timer-stage:-webkit-full-screen,.timer-stage:fullscreen,.timer-stage.is-fs{width:100vw!important;height:100vh!important;max-width:none!important;border-radius:0!important;justify-content:center!important;gap:26px!important;background:linear-gradient(160deg,#eef6f0,#fff)!important}
.timer-stage.is-fs{position:fixed!important;inset:0!important;z-index:9999!important}
.timer-stage:fullscreen .timer-ring,.timer-stage.is-fs .timer-ring{width:min(66vh,82vw)!important;height:min(66vh,82vw)!important}
.breathe-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:24px;align-items:start}
.breathe-stage{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,var(--mint),#fff);padding:40px;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.breathe-orb{width:min(300px,68vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff,#dcebdd 58%,#bcd9c3);display:grid;place-items:center;transform:scale(.6);transition:transform var(--dur,4s) ease-in-out;box-shadow:0 20px 50px rgba(36,107,69,.15)}
.breathe-orb.big{transform:scale(1)}
.breathe-core{display:flex;flex-direction:column;align-items:center;gap:4px}
.breathe-core strong{font-size:clamp(40px,7vw,64px);line-height:1;color:var(--green);font-variant-numeric:tabular-nums}
.breathe-core small{color:var(--muted);font-size:12px}
.breathe-patterns{grid-template-columns:1fr}
@media(max-width:820px){.breathe-wrap{grid-template-columns:1fr}}
.filter-options button>span:last-child{margin-left:auto}
.cc-info{position:relative;display:inline-flex;align-items:center;color:#8a5a12;cursor:help;margin:0 4px}
.cc-info>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.filter-options button,.filter-drawer details{overflow:visible}
.cc-pop{display:none!important;position:absolute;bottom:calc(100% + 8px);top:auto;right:0;left:auto;z-index:40;width:210px!important;min-width:210px!important;white-space:normal!important;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:10px 12px;font:400 11px/1.5 var(--font,system-ui);color:var(--muted);text-transform:none;letter-spacing:0;text-align:left}
.cc-info:hover .cc-pop,.cc-info:focus .cc-pop,.cc-info:focus-within .cc-pop{display:block!important}

.calc-error{color:#b45d4d;font-weight:600;font-size:13px;margin-top:12px}

/* v2.6 batch A */
.score-rating{grid-template-columns:repeat(5,52px)!important;gap:8px!important}
.score-rating button{width:52px!important;height:60px!important}
.score-rating button span,.score-rating button svg{width:22px!important;height:22px!important}
.toc summary{cursor:pointer;font-weight:700;margin-bottom:10px;list-style:none;display:flex;align-items:center;justify-content:space-between}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"–";font-weight:700;color:var(--muted)}
.toc:not([open]) summary::after{content:"+"}
.toc:not([open]) summary{margin-bottom:0}
@media(max-width:900px){
  .site-report .stats-grid{display:flex!important;flex-wrap:nowrap!important;gap:0!important;grid-template-columns:none!important}
  .site-report .stat{flex:1 1 0!important;min-width:0!important;padding:8px 6px!important}
  .site-report .stat strong{font-size:19px!important}
  .site-report .stat span{font-size:10px!important}
}
@media(max-width:430px){.site-report .stats-grid{flex-wrap:wrap!important}.site-report .stat{flex:1 1 40%!important}.section-head{grid-template-columns:1fr!important}}

/* v2.6 batch B — collapsible filter (tablet/mobile), image cap, medium single-col, tablet donut */
.filter-toggle{display:none}
@media(max-width:1280px){
  .filter-toggle{display:inline-flex!important;width:100%!important;justify-content:center!important;margin-bottom:16px!important;order:-2!important}
  .archive-layout .filter-drawer{display:none!important;order:-1!important;position:static!important}
  .archive-layout .filter-drawer.show{display:block!important}
}
.product-image .media{max-height:440px!important}
@media(max-width:1024px){.recipe-layout,.food-detail{grid-template-columns:1fr!important}}
@media(min-width:761px) and (max-width:1024px){
  .hero-macros{display:grid!important;grid-template-columns:1fr 1fr auto!important;grid-template-rows:auto auto!important;gap:10px!important;align-items:stretch!important}
  .hero-macros>div:nth-of-type(1){grid-area:1/1!important}
  .hero-macros>div:nth-of-type(2){grid-area:1/2!important}
  .hero-macros>div:nth-of-type(3){grid-area:2/1!important}
  .hero-macros>div:nth-of-type(4){grid-area:2/2!important}
  .hero-macros>.product-chart{grid-column:3!important;grid-row:1/3!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;border-left:1px solid var(--line)!important;border-top:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0 0 0 16px!important}
}
/* v2.7 — calc single-col tablet, consistent hero image, filter row, tooltip inline, recipe diff badge */
@media(max-width:1024px){.calc-panel{grid-template-columns:1fr!important}.calc-panel .result-card{border-left:0!important;border-top:1px solid var(--line)!important}}
.product-image{align-self:start!important}
.product-image .media{aspect-ratio:4/3!important;height:auto!important;max-height:none!important;min-height:0!important;width:100%!important}
/* filter: search + compact toggle on one row */
.archive-search{display:flex!important;gap:10px!important;align-items:stretch!important}
.archive-search .search-input{flex:1 1 auto!important;min-width:0!important}
.filter-toggle{display:none!important}
.filter-toggle svg{vertical-align:-3px;margin-right:6px}
@media(max-width:1280px){
  .filter-toggle{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;min-width:auto!important;width:auto!important;order:0!important;margin:0!important;white-space:nowrap!important}
  .archive-layout .filter-drawer{display:none!important;order:-1!important;position:static!important}
  .archive-layout .filter-drawer.show{display:block!important}
}
@media(max-width:640px){.filter-toggle .ft-label{display:none!important}.filter-toggle svg{margin-right:0!important}.filter-toggle{padding:0!important;width:44px!important;height:44px!important;justify-content:center!important}}
/* tooltip (i) right after label, count right, one line */
.filter-options button{flex-wrap:nowrap!important}
.filter-options button .cc-info{width:auto!important;min-width:0!important;display:inline-flex!important;flex:0 0 auto!important;margin:0 2px 0 6px!important;font:inherit!important}
/* recipe difficulty badge on card image */
.rf-card-diff{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:4px;align-items:center;background:rgba(255,255,255,.92);padding:6px 9px;border-radius:999px;box-shadow:0 4px 12px rgba(26,62,41,.12);z-index:2}
.rf-card-diff i{width:8px;height:8px;border-radius:50%;background:#dfe6e0;display:block}
.rf-card-diff.lvl-1 i:nth-child(1){background:#2e8b57}
.rf-card-diff.lvl-2 i:nth-child(-n+2){background:#c8901f}
.rf-card-diff.lvl-3 i{background:#c0492e}

.filter-options button>span:last-child{margin-left:auto!important}
.filter-options button .al-name{display:inline-flex!important;align-items:center!important;width:auto!important;min-width:0!important;flex:0 1 auto!important;margin-right:auto!important;justify-content:flex-start!important;text-align:left!important;font:inherit!important;gap:2px}
.filter-options button .al-n{margin-left:auto!important;flex:0 0 auto!important;width:34px!important;text-align:center!important;color:var(--muted)!important;font-size:11px!important;display:flex!important;justify-content:center!important;align-items:center!important}
.filter-options button .al-name .cc-info{margin:0 0 0 6px!important}

#allergenToggle .al-name{justify-self:start!important;align-self:center!important;width:auto!important;text-align:left!important;justify-content:flex-start!important}
#allergenToggle .al-n{justify-self:end!important;margin:0!important}

/* v2.8 — allergen row final + intermediate archive single-col */
@media(max-width:1280px){.archive-layout,.calculator-archive-layout{grid-template-columns:1fr!important}}
#allergenToggle{display:flex!important;align-items:center!important;gap:6px!important;grid-template-columns:none!important;justify-content:flex-start!important}
#allergenToggle>.al-name{order:0!important;margin:0!important;flex:0 1 auto!important;display:inline-flex!important;align-items:center!important;gap:6px!important;justify-content:flex-start!important;justify-self:start!important;width:auto!important;min-width:0!important;text-align:left!important}
#allergenToggle>.al-n{order:1!important;margin:0 0 0 auto!important;justify-self:end!important;flex:0 0 auto!important;width:auto!important;color:var(--muted)!important;font-size:11px!important}
#allergenToggle .cc-info{margin:0!important;width:auto!important;min-width:0!important;display:inline-flex!important;flex:0 0 auto!important}
/* v2.9 — card badge whole-badge wrap (no mid-text break), filter under search */
.badge-row{flex-wrap:wrap!important;gap:6px!important}
.badge-row .badge{white-space:nowrap!important;letter-spacing:.04em!important}
.filter-drawer-slot{display:none}
@media(max-width:1280px){
  .filter-drawer-slot{display:block}
  .filter-drawer-slot .filter-drawer{order:0!important;margin:16px 0 18px!important}
  .filter-drawer-slot .filter-drawer.show{display:block!important}
}

/* v2.10 — keep Nutrition Facts macros and chart side by side on phones */
@media(max-width:760px){
  .hero-macros{
    grid-template-columns:repeat(2,minmax(62px,1fr)) minmax(112px,.9fr)!important;
    grid-template-rows:repeat(2,auto)!important;
    gap:8px!important;
    padding:10px!important;
  }
  .hero-macros>div:nth-of-type(1){grid-area:1/1!important}
  .hero-macros>div:nth-of-type(2){grid-area:1/2!important}
  .hero-macros>div:nth-of-type(3){grid-area:2/1!important}
  .hero-macros>div:nth-of-type(4){grid-area:2/2!important}
  .hero-macros>div:not(.product-chart){
    padding:10px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .hero-macros>div:not(.product-chart) span{font-size:10px!important}
  .hero-macros>div:not(.product-chart) strong{
    font-size:clamp(16px,4.8vw,20px)!important;
    overflow-wrap:normal!important;
  }
  .hero-macros>.product-chart{
    grid-column:3!important;
    grid-row:1/3!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    align-content:center!important;
    align-items:center!important;
    gap:8px!important;
    border-top:0!important;
    border-left:1px solid var(--line)!important;
    padding:0 0 0 10px!important;
  }
  .hero-macros .product-donut{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }
  .hero-macros .product-donut::after{inset:20px!important}
  .hero-macros .product-legend{gap:5px!important;font-size:10px!important}
  .hero-macros .product-legend span{gap:5px!important;white-space:nowrap!important}
  .hero-macros .product-legend i{width:8px!important;height:8px!important}
}

/* v2.14 — compact Nutrition Facts cards with legible overlay badges */
#foodGrid .food-card .media,
.page-ending .food-card .media{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 3!important;
  padding:10px!important;
  background:#fff!important;
}
#foodGrid .food-card .media>img,
.page-ending .food-card .media>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
#foodGrid .food-card .badge-row .badge,
.page-ending .food-card .badge-row .badge{
  border:1px solid #b8cec0!important;
  box-shadow:0 1px 2px rgba(23,34,27,.05)!important;
}
#foodGrid .food-card .badge-row .badge.allergen,
.page-ending .food-card .badge-row .badge.allergen{
  border-color:#e3c98f!important;
}
@media(min-width:769px){
  #foodGrid.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:768px){
  #foodGrid.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  #foodGrid.grid.four{grid-template-columns:1fr!important}
}

/* v2.15 — keep both badges on one line and give square source photos safe space */
#foodGrid .food-card .badge-row,
.page-ending .food-card .badge-row{
  flex-wrap:wrap!important;
  gap:5px!important;
  max-width:calc(100% - 28px)!important;
}
#foodGrid .food-card .badge-row .badge,
.page-ending .food-card .badge-row .badge{
  flex:0 1 auto!important;
  min-width:0!important;
  padding:5px 7px!important;
  font-size:10px!important;
  line-height:1.15!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
}
#foodGrid .food-card .media>img,
.page-ending .food-card .media>img{
  width:88%!important;
  height:88%!important;
  max-width:88%!important;
  max-height:88%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* v2.16 — reserve a visible lower safe area for soft product shadows */
#foodGrid .food-card .media>img,
.page-ending .food-card .media>img{
  width:82%!important;
  height:82%!important;
  max-width:82%!important;
  max-height:82%!important;
  object-position:center 46%!important;
}

/* ===== WordPress integration overrides (not present in prototype standalone) ===== */
/* Sticky footer: on short pages (empty archives, 404, thin service pages) the footer
   must sit at the bottom of the viewport, not float mid-page. The standalone prototype
   relied on tall demo content; WordPress pages can be short. */
body{padding:0;min-height:100vh;display:flex;flex-direction:column}
main#app{flex:1 0 auto;display:block;min-height:0}
.site-footer{flex-shrink:0;margin-top:auto}

/* Editable primary menu (wp_nav_menu) — keep the prototype nav row look */
.main-nav__list{display:flex;gap:28px;align-items:center;margin:0;padding:0;list-style:none}
.main-nav__list li{margin:0;list-style:none}
.main-nav__list a{white-space:nowrap}
@media(max-width:1050px){.main-nav.open .main-nav__list{flex-direction:column;gap:14px;align-items:flex-start}}

/* Editable footer menus (wp_nav_menu) — keep the stacked footer-link look */
.site-footer .footer-menu{list-style:none;margin:0;padding:0}
.site-footer .footer-menu li{margin:0}
.site-footer .footer-menu a{display:block}

/* Food detail — macro donut legend + guidance blocks (Core-data wiring) */
.fn-chart{display:flex;align-items:center;gap:14px;margin-top:10px}
.fn-legend{font-size:13px;color:var(--muted)}
.fn-legend span{display:block;margin:4px 0}
.fn-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px}
.choose-store{margin-top:26px}
.pairing small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.pairing-allergens{display:block;color:var(--muted);font-size:12px;margin-top:2px}

/* Browse topics: nested subcategories, indented like H3 rows in "On this page" */
.filter-options .topic-row{display:flex;align-items:center;gap:4px}
.filter-options .topic-row .topic-parent{flex:1;font-weight:600}
.filter-options .topic-caret{flex:0 0 auto;width:26px;height:26px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;cursor:pointer;position:relative}
.filter-options .topic-caret::before{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translate(-50%,-65%) rotate(45deg);transition:transform .15s}
.filter-options .topic-caret.is-open::before{transform:translate(-50%,-35%) rotate(-135deg)}
.filter-options .topic-children[hidden]{display:none!important}
.filter-options .topic-children{margin:2px 0 8px 12px;padding-left:12px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.filter-options .topic-children .topic-child{font-size:13px;color:var(--muted);font-weight:400}
.filter-options .topic-children .topic-child.active{color:#fff!important;font-weight:600}

/* ---- Article batch fixes (images, TOC, related) ---- */
/* Consistent, non-stretched images with rounded corners across the site */
/* Uniform framed imagery: every featured + inline image renders with the SAME
   width, aspect ratio and rounded corners regardless of source size or whether
   the markup wraps it in <figure> or is a bare <img>. This removes the mixed
   sharp/rounded, cropped/letterboxed inconsistency. */
.featured-media img,.featured-media .wp-post-image{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:var(--r);display:block;background:#eef1ee}
.featured-media{border-radius:var(--r);overflow:hidden;background:#eef1ee}
.article-content figure{margin:26px 0}
.article-content img,.article-content figure img,.article-content p>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);background:#eef1ee;margin:24px auto}
.article-content figure img{margin:0}
/* Article tables: clean, readable, brand-styled with rounded frame + soft zebra rows */
.article-content .table-wrap{overflow-x:auto;margin:26px 0;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.article-content table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:460px}
.article-content thead th,.article-content table>tbody>tr:first-child>td:first-child{}
.article-content th,.article-content td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.article-content thead th{background:#eef3ef;color:var(--ink);font-weight:700;border-bottom:2px solid #cfe0d4}
.article-content tbody tr:nth-child(even){background:#f7faf7}
.article-content tbody tr:hover{background:#eef5ef}
.article-content td:not(:last-child),.article-content th:not(:last-child){border-right:1px solid var(--line)}
.article-content tr:last-child td{border-bottom:0}
.card .media img,.food-card .media img,.guide-card .media img{width:100%;height:100%;object-fit:cover;object-position:center}
/* Related articles — visually distinct block (as in the prototype) */
.section.wash.page-ending{border-top:1px solid var(--line)}
.carousel-wrap .section-head .eyebrow{color:var(--green)}

/* Clean table of contents (H2 rows + collapsible H3 caret) */

/* Calculator result card */
.result-card .result-figure{display:flex;flex-direction:column;gap:2px;margin:6px 0 14px}
.result-card .result-figure strong{font-size:40px;line-height:1;letter-spacing:-.03em}
.result-card .result-figure span{color:var(--muted)}
.result-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}

/* FAQ accordion (matches prototype) */
/* v0.3.7 — calculator: invalid-field highlight on submit */
.calculator-form input.is-invalid{border-color:#c0392b!important;box-shadow:0 0 0 2px rgba(192,57,43,.12)!important;background:#fdf4f3}
/* v0.4.0 — sticky header must clear the WP admin bar (logged-in view only) */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
/* v0.4.7 — jump-to-heading not hidden under sticky header (#4); service intro full width */
.article-content h2,.article-content h3,.service-content h2{scroll-margin-top:96px}
.admin-bar .article-content h2,.admin-bar .article-content h3,.admin-bar .service-content h2{scroll-margin-top:128px}
.service-content section.service-intro{grid-template-columns:1fr}
.service-content section.service-intro p{font-size:17px}
/* v0.4.7 — sticky TOC clears sticky header + admin bar */
.admin-bar .toc{top:120px}
/* v0.5.0 — editable Customizer logo (Appearance → Customize → Site Identity) */
.brand--custom{display:flex;align-items:center}
.brand--custom .custom-logo-link{display:inline-flex;align-items:center}
.brand--custom img{max-height:44px;width:auto;height:auto;display:block}
/* v0.5.1 — Customizer toggle for the hero orbit animation */
.balance.hero-anim-off .orbit,.balance.hero-anim-off .orbit-item{animation:none!important}
/* v0.5.4 — clean collapsible TOC (H2 rows + H3 subtopics behind a chevron) */
.toc-row{display:flex;align-items:center;gap:6px}
.toc-row .toc-h2{flex:1;width:auto;text-align:left}
.toc-row .toc-caret{flex:0 0 18px;width:18px;height:18px;min-width:18px;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;line-height:1}
.toc-row .toc-caret::before{content:"\203A";display:inline-block;font-size:16px;line-height:1;transition:transform .18s}
.toc-row .toc-caret.is-open::before{transform:rotate(90deg);color:var(--green)}
.toc-sub{margin:1px 0 6px 8px;padding-left:10px;border-left:1px solid var(--line)}
.toc .toc-h3{font-size:12.5px;padding-top:4px;padding-bottom:4px}
/* v0.5.5 — choose/store block matches corrected prototype (.food-care-grid) */
.food-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.food-care-grid>div{border:1px solid var(--line);border-radius:14px;background:var(--wash);padding:16px}
.food-care-grid h3{font-size:17px;margin:0 0 6px}
.food-care-grid p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:640px){.food-care-grid{grid-template-columns:1fr}}

/* Calculator goal selector + result note (0.5.7) */
.calc-goal{display:block;margin:14px 0}
.calc-goal .goal-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.calc-goal .goal-grid{grid-template-columns:1fr}}
.calc-note{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.5}
.calc-note a{color:var(--brand);text-decoration:underline}
.calc-next{font-size:14px;margin:10px 0 0}
.calc-next a{color:var(--brand);font-weight:600;text-decoration:underline}
.calc-adjust{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--wash)}
.calc-adjust strong{display:block;margin-bottom:6px}
.calc-adjust ul{margin:0;padding-left:18px;font-size:14px;color:var(--muted)}
/* Related-tool link visibly clickable (#8) */
.article-content .callout a{color:var(--brand);font-weight:600;text-decoration:underline}

/* Service-page dividers removed + compact food image (0.5.8) */
.service-content{border-top:0}
.service-nav{border-top:0;padding-top:0}
.service-content section:last-child{border-bottom:0}
.page .page-hero,.page-template-page-contact .page-hero,.page-template-page-compare .page-hero{border-bottom:0}
/* #15 product photo sized to match the text column (not squeezed) */
.product-hero-grid{grid-template-columns:.85fr 1.15fr!important;align-items:start}
.product-image{max-width:none}
.product-image{background:#fff;border-radius:22px}
.product-image img,.product-image .media{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;aspect-ratio:auto!important;border-radius:22px;display:block}
@media(max-width:760px){.product-hero-grid{grid-template-columns:1fr!important}}
/* Choose & store as a framed card (#14) */
.choose-store{border:1px solid var(--line);border-radius:20px;background:#fff;padding:28px 30px;margin-top:8px}
.choose-store .eyebrow{display:block;margin-bottom:6px}
.choose-store>h2{margin:0 0 18px}

/* Pairing with allergen tooltip (#13, 0.5.9) */
.pairing .pairing-head{display:block;font-weight:650;font-size:15px;line-height:1.35}
.pairing .pairing-sub{display:flex;align-items:center;gap:6px;margin-top:3px}
.pairing .pairing-amount{font-size:13px;font-weight:700;color:var(--green-dark);background:var(--mint);border-radius:999px;padding:1px 9px;white-space:nowrap}
.pairing .pairing-sub .cc-info{color:#8a5a12}
.pairing .pairing-head .cc-info{color:#8a5a12}
.pairing small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.pairing{overflow:visible}

/* Compare Foods scenario summary (#18, 0.5.12) */
.comparison-summary .cs-scenarios{margin:10px 0 0;padding-left:18px;display:grid;gap:8px}
.comparison-summary .cs-scenarios li{line-height:1.5}
.comparison-summary .cs-note{margin-top:12px;font-size:13px;color:var(--muted);line-height:1.55}

/* Calculator reset + stable result column (0.5.13) */
.calc-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* Result column reserved so the form never resizes; invisible until filled (no placeholder text) */
.calc-panel .result-card:empty{background:transparent!important;border:0!important;box-shadow:none!important}

/* Recipe detail image — show the whole photo in its own ratio, no crop, rounded.
   The global .media rule forces aspect-ratio 2/1 + overflow hidden, which cropped the
   photo; here we let the container grow to the image height. */
.recipe-layout>div>.media{border-radius:16px;overflow:visible;background:#fff;margin-bottom:16px;aspect-ratio:auto!important;height:auto!important;min-height:0!important;position:relative}
.recipe-layout>div>.media img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;display:block;border-radius:16px}
/* Recipe placeholder gradient when there is no photo (fixed height) */
.recipe-layout>div>.media>svg{width:100%!important;height:220px!important;display:block;border-radius:16px}
/* Calculator: columns size independently — the form does not stretch to the result height */
.calc-panel{align-items:start!important}
/* Related-post callout inside article bodies (#1) */
.article-content .related-post{border:1px solid var(--line);border-left:3px solid var(--green);background:var(--wash);border-radius:12px;padding:12px 16px;margin:20px 0;font-size:15px}
.article-content .related-post strong{color:var(--green)}
/* Pairing amount chip (#5 quantity) */
.pairing .pairing-amount{display:inline-block;font-size:12px;font-weight:700;color:var(--green-dark);background:var(--mint);border-radius:999px;padding:2px 8px;margin-left:4px;vertical-align:middle}

/* Pairing goal tag (#5) */
.pairing .pairing-goal{display:inline-block;margin-top:4px;font-size:10px;letter-spacing:.06em;font-weight:800;color:var(--green);text-transform:uppercase}

/* Recipe time row (#12) */
.rf-times{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
.rf-times .rf-item b{font-size:16px}

/* Calc validation message below the action row (does not move Reset) (#5) */
.calc-error{flex-basis:100%;width:100%;margin:10px 0 0;color:#b3402e;font-weight:600}

/* Static preview images: fixed frame, cover, no hover motion or lazy zoom (0.5.24) */
.card .media,.food-card .media,.guide-card .media{height:210px!important;overflow:hidden}
.card .media img,.food-card .media img,.guide-card .media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transition:none!important;transform:none!important;display:block}
.grid .card:hover,.carousel .card:hover{transform:none!important}

/* Custom hero graphic (user-supplied animation/media) */
.hero-custom{width:100%;border-radius:24px;overflow:hidden;background:var(--wash);box-shadow:0 20px 50px rgba(36,107,69,.08)}
.hero-custom img,.hero-custom video,.hero-custom iframe{width:100%;height:auto;display:block;border:0}

/* Mobile hardening (0.5.25) */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:24px}
.table-scroll .compare-table{min-width:460px;margin-top:0}
@media(max-width:520px){
  .pairing .pairing-sub{flex-wrap:wrap}
  .rf-times{gap:10px}
  .calc-actions{gap:8px}
  .service-content section{grid-template-columns:1fr!important}
  .service-number{display:none}
}

/* Recipe per-serving estimate disclaimer (0.5.26) */
.rf-estimate{font-size:12px;color:var(--muted);margin:10px 0 0}

/* Best food pairings — final rules: name+weight inline, no chip, (i) never orphaned (0.5.27) */
.pairing .pairing-head{display:block!important;font-weight:650;font-size:15px;line-height:1.4}
.pairing .pairing-head .cc-info{display:inline-flex;vertical-align:middle;margin-left:0;color:#8a5a12}
.pairing .pairing-sub{display:none!important}
/* Name may wrap at spaces; amount + (i) stay glued as one unit so the weight never
   splits and the info icon never lands alone on a line. */
.side-card .pairing{overflow-wrap:break-word;word-break:normal}
.pairing .pairing-amt{white-space:nowrap}
.pairing .pairing-amt .cc-info{white-space:normal}

/* Native article comments (0.5.28) — real, stored, moderated */
.fn-comments{margin-top:40px;border-top:1px solid var(--line,#e6e8e5);padding-top:28px}
.fn-comments .comment-list{list-style:none;margin:18px 0 28px;padding:0;display:grid;gap:16px}
.fn-comments .comment-list ol.children{list-style:none;margin:14px 0 0 22px;padding:0;display:grid;gap:14px}
.fn-comments .comment-body,.fn-comments li.comment>article{background:var(--wash,#f6f7f4);border:1px solid var(--line,#e6e8e5);border-radius:14px;padding:14px 16px}
.fn-comments .comment-author{font-weight:650;font-size:14px}
.fn-comments .comment-author .says{display:none}
.fn-comments .comment-meta{font-size:12px;color:var(--muted,#6b7280);margin-bottom:6px}
.fn-comments .comment-metadata a,.fn-comments .comment-author a{color:inherit;text-decoration:none}
.fn-comments .comment-content p{margin:.3em 0}
.fn-comments .reply{margin-top:6px;font-size:13px}
.fn-comments .comment-form{margin-top:10px}
.fn-comments .comment-form p{margin:0 0 12px}
.fn-comments .comment-notes{font-size:13px;color:var(--muted,#6b7280)}
.fn-comments .comment-form label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.fn-comments .comment-form input[type=text],.fn-comments .comment-form input[type=email],.fn-comments .comment-form input[type=url],.fn-comments .comment-form textarea{width:100%;max-width:520px;padding:10px 12px;border:1px solid var(--line,#d7dbd6);border-radius:10px;font:inherit;background:#fff}
.fn-comments .comment-form textarea{min-height:120px;max-width:100%}
.fn-comments .comment-reply-title{margin:0 0 6px;font-size:18px}
.fn-comments .form-submit .button,.fn-comments .form-submit input[type=submit]{cursor:pointer}
.fn-comments .comment-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fn-comments .comment-score{font-size:12px;font-weight:650;color:var(--brand,#2f6b3f);background:rgba(47,107,63,.1);border-radius:999px;padding:2px 8px}

/* Search results — type facet chips (0.5.30) */
.search-facets{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.facet-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--line,#d7dbd6);border-radius:999px;font-size:14px;font-weight:600;color:var(--ink,#1f2a24);background:#fff;text-decoration:none;transition:background .15s,border-color .15s}
.facet-chip:hover{border-color:var(--brand,#2f6b3f)}
.facet-chip.active{background:var(--brand,#2f6b3f);border-color:var(--brand,#2f6b3f);color:#fff}
.facet-chip .facet-count{font-size:12px;font-weight:700;background:rgba(0,0,0,.08);border-radius:999px;padding:1px 7px}
.facet-chip.active .facet-count{background:rgba(255,255,255,.22)}

/* Global search dialog — live grouped suggestions (0.5.30) */
#globalResults{margin-top:14px;display:grid;gap:14px}
#globalResults .gs-group{display:grid;gap:6px}
#globalResults .gs-head{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand,#2f6b3f)}
#globalResults .gs-items{display:flex;flex-direction:column}
#globalResults .gs-item{display:block;padding:8px 10px;border-radius:9px;color:var(--ink,#1f2a24);text-decoration:none;font-size:15px}
#globalResults .gs-item:hover{background:var(--wash,#f6f7f4)}
#globalResults .gs-popular .gs-items{flex-flow:row wrap;gap:8px}
#globalResults .gs-popular .gs-item{border:1px solid var(--line,#d7dbd6);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}
#globalResults .gs-empty{color:var(--muted,#6b7280);font-size:14px;padding:6px 2px}

/* Search results grouped by type (0.5.33) */
.search-group-title{font-size:14px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--green);margin:6px 0 16px;display:flex;align-items:center;gap:9px}
.search-group-title span{font-size:12px;font-weight:700;color:var(--muted,#6b7280);background:var(--wash,#f6f7f4);border:1px solid var(--line,#e6e8e5);border-radius:999px;padding:1px 9px}
.search-group-grid{margin-bottom:38px}
.search-group-grid:last-child{margin-bottom:0}

/* Food product photos in cards: show the whole product (no crop) on a clean field */
.food-card .media img{object-fit:contain!important;background:#fff}
.food-card .media{background:#fff}

/* Article social share (0.5.34) */
.share-block{margin-top:34px;border-top:1px solid var(--line,#e6e8e5);padding-top:22px}
.share-block .eyebrow{display:block;margin-bottom:12px}
.share-links{display:flex;flex-wrap:wrap;gap:10px}
.share-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line,#d7dbd6);border-radius:999px;background:#fff;color:var(--ink,#1f2a24);font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.share-btn:hover{border-color:var(--brand,#2f6b3f);background:var(--wash,#f6f7f4)}
.share-btn svg{width:18px;height:18px;fill:currentColor;stroke:none}
.share-btn[data-copy-link] svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Server-side filter links now use <a> (were <button>) — mirror the approved look */
.filter-options a{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:0;background:transparent;border-radius:8px;padding:9px 10px;text-align:left;cursor:pointer;text-decoration:none;color:inherit;font-size:14px;font-family:inherit}
.filter-options a:hover{background:var(--mint);color:var(--green)}
.filter-options a.active{background:var(--green);color:#fff}
.filter-options a.active span{color:#fff}
.filter-options a span{color:var(--muted);font-size:11px}

/* Numbered pagination (0.5.35) */
.fn-pager{margin:34px 0 4px}
.fn-pager ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;justify-content:center}
.fn-pager li{margin:0}
.fn-pager a,.fn-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line,#d7dbd6);border-radius:10px;font-weight:600;font-size:14px;color:var(--ink,#1f2a24);text-decoration:none;background:#fff}
.fn-pager a:hover{border-color:var(--green);color:var(--green)}
.fn-pager .current{background:var(--green);border-color:var(--green);color:#fff}
.fn-pager .dots{border:0;background:transparent;min-width:20px}

/* Product detail category chips — same outlined-pill treatment as cards (0.5.36) */
.product-tags .badge{border:1px solid rgba(20,50,30,.14)}
.product-tags .badge.allergen{border-color:#e7cf9a}

/* Calculator category links now use <a> (were <button>) — mirror approved look */
.calculator-categories a{display:flex;justify-content:space-between;gap:8px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 12px;cursor:pointer;text-decoration:none;color:inherit;font-size:14px;font-family:inherit}
.calculator-categories a span{color:var(--muted);font-size:12px}
.calculator-categories a.active,.calculator-categories a:hover{background:var(--green);color:#fff;border-color:var(--green)}
.calculator-categories a.active span,.calculator-categories a:hover span{color:#fff}
.calculator-filter form{display:flex}

/* Tooltip text must stay readable even when the parent filter row is hovered green (0.5.40) */
.cc-pop{color:#5b6b60!important;background:#fff!important}
.cc-pop *{color:#5b6b60!important}

/* Best food pairings — Metric/US switch (Core v4 display_units) */
.pairing-units{display:inline-flex;gap:0;border:1px solid var(--line,#d7dbd6);border-radius:999px;padding:2px;margin:0 0 14px;background:#fff}
.pairing-units button{border:0;background:transparent;border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;font-weight:650;color:var(--muted,#6b7280);cursor:pointer}
.pairing-units button.active{background:var(--green,#246b45);color:#fff}









/* essentials (re-added) */
.carousel.carousel--foods{grid-auto-columns:calc((100% - 80px)/5)!important}
@media(max-width:900px){.carousel.carousel--foods{grid-auto-columns:78%!important}}
.rf-card-diff{background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(26,62,41,.18)}
.rf-card-diff i{background:#d3dbd4}
.ingredient-link{color:var(--green);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(36,107,69,.35)}
.ingredient-link:hover{text-decoration-color:var(--green)}
.site-footer .brand{display:inline-flex;align-items:center;gap:11px}
.site-footer .footer-leaf{width:36px;height:auto;display:block}
.filter-toggle{align-items:center!important;justify-content:center!important}
.filter-toggle svg{vertical-align:middle!important;position:static!important;top:auto!important}
@media(max-width:960px){
  .archive-search{align-items:center!important}
  .archive-search .search-input{height:52px!important;box-sizing:border-box!important;min-width:0!important}
  .archive-search .filter-toggle{width:52px!important;min-width:52px!important;height:52px!important;flex:0 0 52px!important;padding:0!important}
  .archive-search .filter-toggle svg{margin:0!important;width:20px!important;height:20px!important}
  .filter-toggle .ft-label{display:none!important}
}

/* calc filter sidebar list */
.filter-drawer .calculator-categories{grid-template-columns:1fr!important;gap:2px!important}
.filter-drawer .calculator-categories button{border:0!important;background:transparent!important;border-radius:8px!important;padding:9px 10px!important;width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;text-align:left!important;font-size:14px!important}
.filter-drawer .calculator-categories button span{color:var(--muted)!important;font-size:12px!important;margin-left:auto!important}
.filter-drawer .calculator-categories button:hover{background:var(--mint)!important;color:var(--green)!important}
.filter-drawer .calculator-categories button.active{background:var(--green)!important;color:#fff!important}
.filter-drawer .calculator-categories button.active span{color:#fff!important}

/* filter-drawer viewport cap */
@media(min-width:901px){.filter-drawer{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain}}

/* ui fixes v2 */
@media(min-width:901px){.filter-drawer{max-height:none!important;overflow:visible!important}}
.badge-row{flex-wrap:wrap!important;max-width:calc(100% - 28px)}
.badge-row .badge{flex:0 0 auto}
.cc-pop{box-shadow:0 12px 34px rgba(20,60,40,.20);border:1px solid rgba(20,60,40,.16)}

/* pairing tip below */
.pairing-head .cc-pop{top:calc(100% + 8px)!important;bottom:auto!important;right:0!important;left:auto!important;max-width:min(240px,80vw)!important}

/* pairing interlink */
.pairing-link{color:var(--green,#246b45)!important;text-decoration:none;border-bottom:1px solid rgba(36,107,69,.28)}
.pairing-link:hover{border-bottom-color:var(--green,#246b45)}

.search-group-grid .food-card .media{width:100%!important;height:auto!important;aspect-ratio:1/1!important;padding:12px!important;background:#fff!important}
.search-group-grid .food-card .media>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
