:root{--paper:var(--surface,#fff);--dark-teal:var(--primary-dark,#0a3d3d)}
.diet-catalog{padding-top:32px;padding-bottom:64px}.diet-catalog>h2{margin-bottom:12px}.diet-controls{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:26px;margin:26px 0 20px}.diet-search-row{display:flex;gap:22px;flex-wrap:wrap}.diet-search-row label{display:grid;gap:8px;flex:1;min-width:200px;font-weight:600}.diet-search-row input,.diet-search-row select{width:100%;min-height:48px;padding:12px;border:1px solid #82948c;border-radius:5px;background:white;color:var(--dark-teal);font:inherit}.diet-controls fieldset{display:flex;flex-wrap:wrap;gap:12px 28px;border:0;padding:0;margin:22px 0 16px}.diet-controls legend{font-weight:700;padding:0;margin-bottom:12px}.diet-controls label{font-size:1rem;line-height:1.5}.diet-controls input[type=checkbox]{width:21px;height:21px;accent-color:var(--dark-teal);margin:0;flex-shrink:0}.diet-controls fieldset label,.diet-swaps{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:36px}.diet-hint{font-size:.875rem;line-height:1.6;max-width:75ch;margin:10px 0 18px}.diet-reset{border:0;background:transparent;padding:5px 0;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer;color:var(--dark-teal)}.diet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.diet-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--dark-teal)}.diet-card:hover{box-shadow:0 10px 25px #0a3d3d18}.diet-card>img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}.diet-card-body{padding:22px}.diet-card h3{font-size:1.5rem;line-height:1.3;margin:0 0 16px}.diet-card p{font-size:1rem;line-height:1.65}.diet-card .eyebrow{font-size:.75rem}.diet-open{font-weight:700;display:block;margin-top:20px}.diet-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.diet-badges span{display:inline-block;padding:7px 10px;border:1px solid #b4a5df;border-radius:5px;background:#e9e2fb;color:#0a3d3d;font-size:.875rem;line-height:1.4;font-weight:600}.diet-alternatives{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.recipe-columns .diet-alternatives h2{font-family:var(--font-body);font-size:1.2rem;line-height:1.5;margin-bottom:12px}.diet-alternatives p,.diet-alternatives dd{font-size:1rem;line-height:1.7}.diet-alternatives dt{font-weight:700;margin-top:18px}.diet-alternatives dd{margin:6px 0 0}.diet-explanation{padding-bottom:36px;max-width:85ch}.diet-explanation p{font-size:.875rem;line-height:1.7}.sample-method{font-size:1.0625rem;line-height:1.85;max-width:65ch}.diet-card[hidden],[data-diet-empty][hidden]{display:none!important}.diet-controls :focus-visible,.diet-card:focus-visible{outline:3px solid var(--dark-teal);outline-offset:4px}@media(max-width:1000px){.diet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.diet-grid{grid-template-columns:1fr}.diet-controls{padding:20px}.diet-search-row{display:grid}.diet-search-row label{min-width:0}.diet-swaps{align-items:flex-start}}

.diet-controls .meal-filters{gap:10px;margin:24px 0}.meal-filters label{position:relative;cursor:pointer}.meal-filters input[type=radio]{position:absolute;width:1px;height:1px;opacity:0}.meal-filters span{display:block;padding:10px 18px;min-height:44px;border:1px solid #82948c;border-radius:24px;background:white;color:var(--dark-teal);font-weight:600}.meal-filters input:checked+span{background:var(--dark-teal);color:white;border-color:var(--dark-teal)}.meal-filters input:focus-visible+span{outline:3px solid var(--lavender);outline-offset:3px}.meal-filters span:hover{border-color:var(--dark-teal);box-shadow:0 2px 6px #0a3d3d18}

.diet-catalog .diet-card h3{font-family:var(--font-display);color:var(--dark-teal,#0a3d3d)}.diet-catalog .diet-controls{color:var(--dark-teal,#0a3d3d)}.diet-catalog input,.diet-catalog select{box-sizing:border-box}.ingredients h4{font-family:var(--font-body);font-size:1rem;margin:20px 0 10px}.recipe-method{counter-reset:step}.recipe-method>li{counter-increment:step}.recipe-method>li:before{content:counter(step)}
