.recipe-intro{max-width:850px;margin:auto;text-align:center;padding:45px 24px 10px}.recipe-intro h1{font:normal clamp(34px,4vw,50px)/1.15 Georgia,serif;letter-spacing:0;text-transform:none}.recipe-intro>p{line-height:1.7}.recipe-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:25px}.recipe-filters button{font:600 14px Arial,sans-serif;padding:12px 18px;min-height:44px;border:1px solid #1c4033;background:white;color:#1c4033;cursor:pointer}.recipe-filters button[aria-pressed=true]{background:#1c4033;color:white}.recipe-filters button:focus-visible,.recipe-tile a:focus-visible{outline:3px solid #b42c24;outline-offset:4px}.recipe-count{font:13px Arial,sans-serif}.recipe-grid{max-width:1250px;margin:auto;padding:20px 5% 55px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.recipe-tile{background:white;border:1px solid #e6dcc9;display:flex;flex-direction:column}.recipe-tile[hidden]{display:none}.recipe-photo{display:block;background:#eee9de}.recipe-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}.recipe-tile-copy{padding:24px;flex:1;display:flex;flex-direction:column}.recipe-tile h2{font:normal 27px/1.2 Georgia,serif;margin:5px 0 16px}.recipe-tile h2 a{text-decoration:none;color:inherit}.recipe-tile-copy>p:not(.eyebrow){font-size:16px;line-height:1.6}.recipe-read{margin-top:auto;padding-top:15px;min-height:44px;text-underline-offset:4px}@media(max-width:950px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.recipe-grid{grid-template-columns:1fr;padding:20px 22px 35px}.recipe-intro{padding-top:30px}.recipe-tile-copy{padding:22px}}.recipe-browser{max-width:1125px;margin:auto;padding:20px 24px}.search-box{display:grid;grid-template-columns:1fr auto;gap:8px}.search-box label{grid-column:1/-1}.recipe-browser label{font:600 15px Arial,sans-serif;display:flex;flex-direction:column;gap:8px}.recipe-browser input,.recipe-browser select{min-width:0;width:100%;box-sizing:border-box;padding:12px;font:16px Arial,sans-serif;border:1px solid #637a6e;background:#fff;color:#143c30;min-height:46px}.recipe-browser button,.pagination button{padding:12px 20px;font:600 15px Arial,sans-serif;min-height:46px;border:1px solid #1c4033;background:#1c4033;color:white;cursor:pointer}.filter-fields{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:16px;align-items:end;margin-top:18px}#reset{background:transparent;color:#1c4033}.pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin:0 24px 45px}.pagination[hidden],#empty[hidden]{display:none}.pagination button:disabled{opacity:.5;cursor:default}#empty{text-align:center;padding:35px 24px}.photo-pending{display:grid;place-items:center;aspect-ratio:3/2}.recipe-browser :focus-visible,.pagination :focus-visible{outline:3px solid #b42c24;outline-offset:3px}@media(max-width:700px){.filter-fields{grid-template-columns:1fr 1fr}.recipe-browser{padding:20px 22px}.pagination{gap:12px}}@media(max-width:420px){.filter-fields{grid-template-columns:1fr}.search-box button{padding:12px}}

/* Pagination is in document flow, independent of the mobile header menu. */
nav.pagination{position:static;inset:auto;display:flex;flex-direction:row;flex-wrap:wrap;width:auto;padding:16px 24px;background:transparent;z-index:auto}

/* Local recipe autocomplete; native GET search remains available without JavaScript. */
.search-input-wrap{position:relative;min-width:0}
.recipe-search-hint{grid-column:1/-1;margin:2px 0 0;font:13px/1.5 Arial,sans-serif;color:#496556}
.recipe-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:#fff;border:1px solid #637a6e;box-shadow:0 8px 22px #193d3026;max-height:min(440px,60vh);overflow:auto}
.recipe-suggestions[hidden],.suggestion-empty[hidden]{display:none}
.recipe-suggestions.opens-above{top:auto;bottom:calc(100% + 6px)}
.suggestion-heading{margin:0;padding:12px 16px;border-bottom:1px solid #e6dcc9;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#496556}
.recipe-suggestions ul{list-style:none;margin:0;padding:0}
.recipe-suggestions li{margin:0;padding:12px 16px;min-height:48px;border-bottom:1px solid #eee9de;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.recipe-suggestions li:hover,.recipe-suggestions li[aria-selected=true]{background:#edf3eb;box-shadow:inset 4px 0 #1c4033}
.suggestion-title{font:600 16px/1.35 Arial,sans-serif;color:#193d30}
.suggestion-detail{font:13px/1.4 Arial,sans-serif;color:#496556}
.recipe-suggestions button{width:100%;text-align:left;border:0;background:#f6f1e5;color:#193d30;white-space:normal}
.suggestion-empty{padding:12px 16px;margin:0;font:14px/1.5 Arial,sans-serif}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:420px){.suggestion-title{font-size:15px}.recipe-suggestions li{padding:12px}}

/* A few plain-language dish tags, without the legacy keyword clutter. */
.recipe-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 8px;padding:0}
.recipe-tags li{margin:0;padding:0}
.recipe-tags a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid #d5dfd4;background:#edf3eb;color:#1c4033;border-radius:4px;font:600 13px/1.4 Arial,sans-serif;text-decoration:none}
.recipe-tags a:hover{background:#dfeade;text-decoration:underline}

/* Recipe discovery: let the food lead, keep optional controls compact. */
.recipe-intro{max-width:1250px;text-align:left;padding:22px 24px 8px}
.recipe-intro h1{font:normal 36px/1.15 Georgia,serif;margin:0;text-transform:none;letter-spacing:0}
.recipe-intro>p{font:15px/1.5 Arial,sans-serif;margin:8px 0 0}
.recipe-browser{max-width:1250px;padding:8px 24px 0}
.recipe-result-bar{position:relative;margin:12px 0 0;min-height:44px}
.recipe-result-count{position:absolute;left:0;top:0;margin:0;padding:13px 0;font:14px/1.3 Arial,sans-serif;pointer-events:none}
.recipe-filter-panel>summary{display:table;list-style:none;margin-left:auto;padding:11px 14px;min-height:44px;border:1px solid #637a6e;cursor:pointer;font:600 14px/1.4 Arial,sans-serif;background:#fff;color:#1c4033}
.recipe-filter-panel>summary::-webkit-details-marker{display:none}
.recipe-filter-panel>summary::after{content:' +';margin-left:6px}
.recipe-filter-panel[open]>summary::after{content:' −'}
.recipe-filter-panel>summary:focus-visible{outline:3px solid #b42c24;outline-offset:3px}
.recipe-filter-panel .filter-fields{margin-top:12px;padding:18px;background:#edf3eb;border:1px solid #d5dfd4;border-radius:3px}
.recipe-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.recipe-active-filters a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 10px;border:1px solid #d5dfd4;background:#edf3eb;color:#1c4033;font:13px/1.4 Arial,sans-serif;text-decoration:none;overflow-wrap:anywhere}
.recipe-active-filters .recipe-clear-all a{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.recipe-no-results{font:15px/1.5 Arial,sans-serif;margin:16px 0 8px}
.recipe-grid{padding:12px 24px 32px}
.recipe-family-invitation{max-width:1202px;margin:0 auto 32px;padding:28px 24px;text-align:center;background:#e8e7d7}
.recipe-family-invitation h2{font:normal 30px/1.2 Georgia,serif;margin:0 0 12px}
.recipe-family-invitation p{max-width:640px;margin:0 auto 14px;font:16px/1.6 Georgia,serif}
.recipe-family-invitation>a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;font:600 14px/1.4 Arial,sans-serif}
@media(max-width:600px){.recipe-intro{padding:18px 22px 6px}.recipe-intro h1{font-size:29px}.recipe-intro>p{font-size:14px;margin-top:6px}.recipe-browser{padding:8px 22px 0}.recipe-grid{padding:12px 22px 28px}.recipe-result-count{font-size:13px}.recipe-filter-panel>summary{padding:11px 12px}.recipe-filter-panel .filter-fields{padding:14px;margin-top:10px}.recipe-family-invitation{margin:0 22px 28px;padding:24px 18px}.recipe-family-invitation h2{font-size:27px}}
