
/* Recipe overview V0.4 – extends the approved V0.3 palette and non-sticky header. */
.catalog-hero{background:linear-gradient(110deg,#fffdf6,#f1ead9);border-bottom:1px solid var(--line)}
.catalog-hero-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center;min-height:320px;padding-top:43px;padding-bottom:43px}
.breadcrumbs{display:flex;align-items:center;gap:12px;color:#827868;font-size:.79rem;margin-bottom:24px}.breadcrumbs a:hover{text-decoration:underline}.catalog-intro .eyebrow{margin-bottom:8px}
.catalog-intro h1{font:normal clamp(2.5rem,4vw,3.8rem)/1.14 Georgia,serif;letter-spacing:-.05em;margin:0 0 12px;color:var(--brown)}.catalog-intro h1 em{color:var(--sage-dark);font-weight:normal}
.catalog-intro>p:not(.eyebrow){max-width:625px;color:#73685a;margin:0 0 15px}.catalog-hero-note{color:#8f6955;font:italic .97rem Georgia,serif}
.catalog-art{position:relative;justify-self:end;width:min(100%,380px);padding:12px;background:#fffaf0;border:1px solid #e7dac6;border-radius:24px;box-shadow:var(--shadow);transform:rotate(1.4deg)}
.catalog-art img{width:100%;height:222px;object-fit:cover;border-radius:15px}.catalog-art-flourish{position:absolute;color:#82946e;font-size:37px;top:-25px;right:8px}.catalog-art-ribbon{display:block;text-align:center;font:italic .88rem Georgia,serif;color:#7d725b;padding:10px 0 0}
.catalog-section{padding-top:45px;padding-bottom:67px}.filter-panel{background:#fffdf7;border:1px solid #e6ddcc;border-radius:24px;box-shadow:0 13px 30px #5b482910;padding:28px 34px 30px}
.filter-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:21px}.filter-top .eyebrow{margin:0 0 2px;font-size:.71rem}.filter-top h2{font:normal 1.8rem Georgia,serif;letter-spacing:-.035em;margin:0}.filter-clear{border:0;background:transparent;color:#667859;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.84rem}
.field-caption{display:block;color:#778568;font-size:.72rem;font-weight:800;letter-spacing:.115em;margin-bottom:9px}.type-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type-buttons button{border:1px solid #dfe2d3;background:#f4f4eb;color:#586751;padding:10px 21px;border-radius:22px;cursor:pointer;font-weight:700;font-size:.92rem;transition:background .2s,transform .2s}.type-buttons button:hover{transform:translateY(-2px)}.type-buttons button.selected{background:#607553;color:#fff;border-color:#607553}
.filter-divider{height:1px;background:#ebe4d7;margin:22px 0}.filter-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;align-items:end}.diet-filter{min-width:0;margin:0;padding:0;border:0}.diet-filter legend{padding:0}.diet-choices{display:flex;gap:18px;flex-wrap:wrap;min-height:43px;align-items:center}.filter-check{display:inline-flex;align-items:center;gap:9px;font-size:.89rem;color:#594d3e;cursor:pointer}.filter-check input{width:17px;height:17px;accent-color:#637753}
.filter-field select,.search-input-wrap{border:1px solid #dcd8ca;background:#fbfaf3;border-radius:11px;color:#584b3c;font:inherit}.filter-field select{width:100%;padding:11px 34px 11px 13px;font-size:.83rem;min-height:44px}.search-row{margin-top:19px}.search-field{max-width:100%}.search-input-wrap{display:flex;align-items:center;padding:0 15px;gap:12px}.search-input-wrap span{font-size:26px;color:#829371;line-height:1}.search-input-wrap input{flex:1;min-width:0;background:transparent;border:0;outline:0;padding:12px 0;font-size:.91rem}.search-input-wrap:focus-within,.filter-field select:focus-visible,.type-buttons button:focus-visible,.filter-clear:focus-visible{outline:2px solid #8c9e7c;outline-offset:2px}
.results-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:40px 0 22px}.results-heading h2{font:normal 2rem Georgia,serif;margin:0 0 4px}.results-heading p{margin:0;font-size:.85rem;color:#827868}.sort-label{font-size:.82rem;color:#657956;background:#e9eee3;padding:6px 12px;border-radius:18px;white-space:nowrap}
.catalog-grid{max-width:unset;gap:22px}.catalog-grid .recipe-card{display:block}.catalog-grid .recipe-photo{height:236px}.catalog-grid .recipe-info{padding:20px 23px 22px}.catalog-grid .recipe-info h3{font-size:1.47rem;margin:0 0 9px}.catalog-grid .recipe-blurb{min-height:46px}.catalog-grid .recipe-details{margin-bottom:9px}.catalog-grid .recipe-stamp{font-size:.65rem}.catalog-grid .recipe-card[hidden]{display:none}
.recipe-photo.placeholder-photo{background:radial-gradient(circle at 25% 25%,#ffffffb0,transparent 35%),linear-gradient(135deg,#f4e9d4,#e1e9d6);display:flex;justify-content:center;align-items:center;position:relative}.placeholder-photo::before,.placeholder-photo::after{position:absolute;content:'❧';font-size:72px;color:#9caf88;opacity:.38;left:18px;bottom:-35px;transform:rotate(-15deg)}.placeholder-photo::after{left:auto;right:18px;top:-25px;bottom:auto;transform:rotate(175deg)}.placeholder-symbol{font-size:84px;filter:drop-shadow(0 7px 8px #5d55351f)}.placeholder-label{position:absolute;bottom:14px;right:15px;color:#6b735d;font-size:.71rem;background:#fffaf1df;border-radius:15px;padding:5px 10px}
.empty-state{text-align:center;padding:38px 20px;margin:0 auto 18px;border:1px dashed #c4cbb8;background:#f7f8ee;border-radius:20px;max-width:680px}.empty-state[hidden]{display:none}.empty-state>span{font-size:48px}.empty-state h3{font:normal 1.8rem Georgia,serif;margin:5px 0}.empty-state p{color:#726a5d;max-width:440px;margin:0 auto 19px}
.catalog-section .example-note{margin:22px auto 19px}.demo-disclaimer{max-width:850px;margin:20px auto 0;display:flex;align-items:start;gap:12px;background:#f3f0e5;padding:15px 20px;border-radius:14px;color:#766b59;font-size:.83rem;line-height:1.55}.demo-disclaimer>span{font-size:24px;color:#a18b72}.demo-disclaimer p{margin:0}
/* Minimal detail-page skeleton (full recipes will follow). */
.detail-section{padding-top:34px;padding-bottom:85px;min-height:55vh}.detail-shell{background:#fffdf7;border:1px solid #e9dfd2;border-radius:23px;overflow:hidden;box-shadow:var(--shadow);max-width:850px;margin:22px auto 0}.detail-cover{height:300px;background:#f0e5d4}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-cover.placeholder-photo{display:grid;place-items:center;background:linear-gradient(120deg,#e5eadd,#f3e6d0);font-size:80px}.detail-body{padding:32px 40px 36px}.detail-body h1{font:normal clamp(2rem,4vw,3rem) Georgia,serif;margin:8px 0}.detail-body>p{color:#716658;line-height:1.7}.detail-placeholder{margin-top:24px;padding:21px 25px;background:#f1f0e5;border-radius:17px}.detail-placeholder h2{font:normal 1.4rem Georgia,serif;margin:0 0 8px}.detail-placeholder p{margin:0;color:#706657}.detail-return{margin-top:26px}
@media(max-width:810px){.catalog-hero-inner{grid-template-columns:1fr;gap:20px;padding-top:30px}.catalog-art{justify-self:center;max-width:450px}.catalog-art img{height:195px}.filter-grid{grid-template-columns:1fr 1fr}.diet-filter{grid-column:1/-1}.filter-panel{padding:25px}.catalog-grid .recipe-photo{height:215px}}
@media(max-width:550px){.catalog-hero-inner{gap:20px;padding-bottom:32px}.catalog-art{width:100%}.catalog-art img{height:160px}.catalog-intro h1{font-size:2.55rem}.filter-panel{padding:21px 17px}.filter-top{flex-wrap:wrap;gap:9px}.filter-top h2{font-size:1.56rem}.filter-clear{font-size:.79rem}.type-buttons button{flex:1;padding:9px 13px;font-size:.83rem}.filter-grid{grid-template-columns:1fr;gap:15px}.diet-filter{grid-column:auto}.diet-choices{gap:14px}.results-heading{align-items:start;flex-direction:column}.results-heading h2{font-size:1.8rem}.catalog-grid .recipe-photo{height:200px}.catalog-grid .recipe-info h3{font-size:1.43rem}.demo-disclaimer{padding:14px}.detail-cover{height:200px}.detail-body{padding:21px}}
