body.recipes-page{--recipe-sage:#e6f1ed;--recipe-navy:#153845;--recipe-teal:#087c75;--recipe-cream:#f7f4ed}
.recipes-hero{background:linear-gradient(135deg,#f7f4ed 0%,#eef7f5 72%,#f7f4ed 100%);border-bottom:1px solid var(--line)}
.recipes-hero__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.58fr);gap:clamp(44px,7vw,92px);align-items:center;padding-block:clamp(58px,7vw,88px)}
.recipes-hero h1{max-width:820px;font-size:clamp(3rem,5.4vw,5rem);margin:.06em 0 .22em}
.recipes-hero .lede{max-width:760px}
.recipes-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.recipes-promise{padding:28px;border:1px solid var(--navy);border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 22px 54px rgba(21,56,69,.14)}
.recipes-promise .eyebrow{color:#8addd3}.recipes-promise h2{color:#fff;font-size:clamp(1.65rem,2.6vw,2.25rem)}
.recipes-promise p{color:#c8dad8;margin-bottom:0}
.recipes-promise ul{display:grid;gap:12px;margin:20px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid rgba(255,255,255,.18)}
.recipes-promise li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;color:#d9e7e5;font-size:.84rem}
.recipes-promise li::before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dceeea;color:#075f5a;font-size:.7rem;font-weight:900}

.recipes-index{padding-block:60px 100px}
.recipe-filter{display:grid;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(170px,.34fr)) auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.recipe-filter .field{margin:0}.recipe-filter input,.recipe-filter select{min-height:48px}
.recipe-filter__actions{display:flex;gap:8px}.recipe-filter__actions .button{white-space:nowrap}
.recipe-results-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin:48px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.recipe-results-head h2{margin-bottom:0}.recipe-results-head p{margin:0;color:var(--muted)}
.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.recipe-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.recipe-card:hover{transform:translateY(-3px);border-color:#abcac5;box-shadow:0 20px 44px rgba(21,56,69,.10);color:inherit}
.recipe-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#dceeea,#f7f4ed)}
.recipe-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}.recipe-card:hover .recipe-card__media img{transform:scale(1.025)}
.recipe-card__placeholder{display:grid;place-items:center;width:100%;height:100%;color:#46716d;font-family:var(--display);font-size:1.35rem;text-align:center;padding:28px}
.recipe-card__badge{position:absolute;left:14px;top:14px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#075f5a;font-size:.66rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.recipe-card__body{display:flex;flex-direction:column;flex:1;padding:22px}
.recipe-card__meta{display:flex;flex-wrap:wrap;gap:7px 10px;color:var(--teal);font-size:.69rem;font-weight:820;letter-spacing:.05em;text-transform:uppercase}
.recipe-card h3{font-size:clamp(1.45rem,2.1vw,1.85rem);margin:13px 0 10px}.recipe-card p{color:var(--slate);margin:0}
.recipe-card__footer{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-top:auto;padding-top:22px;color:var(--muted);font-size:.74rem}
.recipe-card__footer strong{display:block;color:var(--navy);font-size:.78rem}.recipe-card__footer span:last-child{color:var(--teal);font-weight:800;white-space:nowrap}
.recipe-invitation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;margin-top:64px;padding:34px 38px;border-radius:16px;background:var(--navy);color:#fff}
.recipe-invitation h2{color:#fff}.recipe-invitation p{color:#d2e2e0;margin-bottom:0}.recipe-invitation .button.secondary{border-color:rgba(255,255,255,.45);color:#fff}.recipe-invitation .button.secondary:hover{background:rgba(255,255,255,.1);color:#fff}

.recipe-detail-hero{background:var(--ivory);border-bottom:1px solid var(--line)}
.recipe-detail-hero__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(42px,7vw,86px);align-items:center;padding-block:52px 68px}
.recipe-detail-image{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#dceeea,#fff);box-shadow:0 22px 55px rgba(21,56,69,.12)}
.recipe-detail-image img{width:100%;height:100%;object-fit:cover;display:block}
.recipe-detail-copy h1{font-size:clamp(2.75rem,5vw,4.8rem);margin:.08em 0 .24em}.recipe-detail-copy .lede{font-size:1.08rem}
.recipe-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.recipe-fact{min-width:112px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.recipe-fact span,.recipe-fact strong{display:block}.recipe-fact span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.recipe-fact strong{margin-top:3px;color:var(--navy);font-size:.86rem}
.recipe-author{display:flex;align-items:center;gap:12px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
.recipe-author__avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--navy);color:#fff;font-family:var(--display);font-weight:700}
.recipe-author strong,.recipe-author span{display:block}.recipe-author strong{color:var(--navy)}.recipe-author span{color:var(--muted);font-size:.76rem;margin-top:2px}
.recipe-detail-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.52fr);gap:clamp(46px,7vw,84px);padding-block:62px 110px}
.recipe-content{display:grid;gap:52px}.recipe-section{padding-bottom:44px;border-bottom:1px solid var(--line)}.recipe-section:last-child{border-bottom:0}
.recipe-section h2{font-size:clamp(1.9rem,3vw,2.75rem)}
.recipe-ingredients{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.recipe-ingredients li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.recipe-ingredients li::before{content:'✓';color:var(--teal);font-weight:900}
.recipe-steps{counter-reset:recipe-step;display:grid;gap:0;margin:0;padding:0;list-style:none}.recipe-steps li{counter-increment:recipe-step;display:grid;grid-template-columns:48px 1fr;gap:17px;padding:20px 0;border-bottom:1px solid var(--line)}
.recipe-steps li::before{content:counter(recipe-step,decimal-leading-zero);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--soft);color:#075f5a;font-family:var(--display);font-weight:800}
.recipe-safety{position:sticky;top:112px;display:grid;gap:16px;align-self:start}
.recipe-safety-card{padding:23px;border:1px solid var(--line);border-radius:13px;background:#fff}.recipe-safety-card--primary{background:#eef7f5;border-color:#b8d9d4}.recipe-safety-card h3{font-size:1.28rem}.recipe-safety-card p{color:var(--slate);font-size:.86rem;margin-bottom:0;white-space:pre-line}
.recipe-review-note{padding:18px;border-left:4px solid var(--teal);background:var(--soft);color:#31515a;font-size:.8rem;line-height:1.6}

.recipe-submit-page{padding-block:48px 100px}.recipe-submit-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);gap:54px;align-items:end;margin-bottom:32px}
.recipe-submit-head h1{font-size:clamp(2.8rem,5vw,4.6rem)}.recipe-submit-head aside{padding-left:22px;border-left:1px solid var(--line);color:var(--slate);font-size:.86rem}
.recipe-form{display:grid;gap:22px}.recipe-form-section{padding:clamp(24px,4vw,38px);border:1px solid var(--line);border-radius:15px;background:#fff}
.recipe-form-section__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.45fr);gap:34px;align-items:end;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.recipe-form-section__head h2{font-size:clamp(1.7rem,2.7vw,2.35rem);margin-bottom:0}.recipe-form-section__head p{margin:0;color:var(--slate);font-size:.82rem}
.recipe-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.recipe-form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-form .field{margin:0}.recipe-form textarea{min-height:150px}.recipe-form textarea.recipe-lines{min-height:260px}
.recipe-form-help{margin:7px 0 0;color:var(--muted);font-size:.75rem;line-height:1.5}.recipe-consent{display:flex;align-items:flex-start;gap:10px;padding:16px;border:1px solid #b8d9d4;border-radius:10px;background:#eef7f5;font-size:.83rem}.recipe-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--teal)}
.recipe-form-actions{position:sticky;bottom:14px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(21,56,69,.14);backdrop-filter:blur(12px)}.recipe-form-actions p{margin:0;color:var(--muted);font-size:.78rem}.recipe-form-actions div{display:flex;gap:9px;flex-wrap:wrap}
.recipe-access-note{padding:38px;border:1px dashed #9eb6b1;border-radius:15px;background:#eef7f5}.recipe-access-note h2{font-size:2rem}.recipe-access-note p{color:var(--slate)}
.recipe-submission-list{margin-top:48px}.recipe-submission-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.recipe-submission-row strong,.recipe-submission-row span{display:block}.recipe-submission-row strong{color:var(--navy)}.recipe-submission-row span{color:var(--muted);font-size:.75rem;margin-top:3px}

.recipe-admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:42px;padding-block:42px 100px}.recipe-admin-main{min-width:0}.recipe-admin-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px}.recipe-admin-head h1{font-size:clamp(2.6rem,4.6vw,4.25rem)}
.recipe-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:38px}.recipe-admin-stat{padding:21px;border:1px solid var(--line);border-radius:12px;background:#fff}.recipe-admin-stat strong,.recipe-admin-stat span{display:block}.recipe-admin-stat strong{color:var(--navy);font-family:var(--display);font-size:2rem}.recipe-admin-stat span{color:var(--muted);font-size:.76rem;margin-top:4px}
.recipe-admin-panel{margin-top:38px}.recipe-admin-panel__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.recipe-admin-panel__head h2{margin-bottom:0}.recipe-admin-filter{display:flex;gap:7px;flex-wrap:wrap}.recipe-admin-filter a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--slate);font-size:.72rem;font-weight:800}.recipe-admin-filter a.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.recipe-admin-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.recipe-admin-table table{min-width:820px;margin:0}.recipe-admin-table a{font-weight:800;text-decoration:none}
.recipe-contributor-form{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(160px,.5fr)) auto;gap:10px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:12px;background:#eef7f5}.recipe-contributor-form .field{margin:0}
.recipe-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--soft);color:#075f5a;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.recipe-status--rejected,.recipe-status--archived{background:#f2e6df;color:#80441f}.recipe-status--submitted{background:#fff2d7;color:#805000}
.recipe-admin-editor{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.48fr);gap:40px;align-items:start}.recipe-admin-side{position:sticky;top:108px;display:grid;gap:14px}.recipe-admin-side section{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.recipe-admin-side h3{font-size:1.2rem}.recipe-admin-side p{font-size:.8rem;color:var(--slate)}
.recipe-admin-actions{display:grid;gap:8px}.recipe-admin-actions button{width:100%}.recipe-admin-actions .button.secondary{background:#fff}.recipe-admin-actions .button.danger{background:var(--burgundy);color:#fff}
.recipe-admin-preview{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#dceeea,#f7f4ed)}.recipe-admin-preview img{width:100%;height:100%;object-fit:cover}

@media(max-width:1080px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-filter{grid-template-columns:1fr 1fr}.recipe-filter__actions{grid-column:1/-1}.recipe-form-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-admin-layout{grid-template-columns:1fr}.recipe-admin-layout .sidebar{display:flex;overflow-x:auto;gap:6px}.recipe-admin-layout .sidebar .sidebar-label{display:none}.recipe-admin-layout .sidebar a{flex:0 0 auto}.recipe-contributor-form{grid-template-columns:1fr 1fr}.recipe-contributor-form .button{grid-column:1/-1}.recipe-admin-editor{grid-template-columns:1fr}.recipe-admin-side{position:relative;top:auto}}
@media(max-width:820px){.recipes-hero__inner,.recipe-detail-hero__inner,.recipe-detail-main,.recipe-submit-head,.recipe-invitation{grid-template-columns:1fr}.recipe-safety{position:relative;top:auto}.recipe-filter{grid-template-columns:1fr}.recipe-filter__actions{grid-column:auto}.recipe-form-section__head{grid-template-columns:1fr}.recipe-admin-stats{grid-template-columns:1fr}}
@media(max-width:620px){.recipe-grid{grid-template-columns:1fr}.recipe-results-head,.recipe-admin-head,.recipe-admin-panel__head,.recipe-form-actions{align-items:flex-start;flex-direction:column}.recipe-form-grid,.recipe-form-grid--four,.recipe-contributor-form{grid-template-columns:1fr}.recipe-form-actions,.recipe-form-actions div,.recipe-form-actions .button{width:100%}.recipe-detail-main{padding-top:42px}.recipe-invitation{padding:28px 23px}.recipe-submit-head aside{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}}
