/* Recipe pages and recipe index. One consistent template for every recipe. */
.recipe-card-image{max-width:none;display:block}
.rp{padding:40px 0 96px}
.rp .recipe-crumb{margin-bottom:36px}
.rp-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(24px,4vw,48px);align-items:end;padding-bottom:36px;border-bottom:1px solid var(--line)}
.rp-hero h1{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:18px}
.rp-hero .rp-desc{color:var(--muted);font:22px/1.5 Georgia,serif;margin:0 0 20px;max-width:640px}
.rp-chip{display:inline-block;border:1px solid var(--gold);color:var(--gold);border-radius:20px;padding:7px 14px;font-size:14px;font-weight:800}
.rp-nutri{background:#161616;border:1px solid var(--line);border-radius:14px;padding:20px}
.rp-nutri h2{font:800 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.rp-nutri dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0}
.rp-nutri dl div{background:#0e0e0e;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.rp-nutri dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.rp-nutri dd{margin:2px 0 0;font:700 21px/1.2 Georgia,serif;color:#fff}
.rp-nutri dl div.cal{grid-column:span 2;display:flex;justify-content:space-between;align-items:baseline}
.rp-nutri dl div.cal dd{font-size:28px}
.rp-nutri .rp-basis{font-size:13px;color:var(--muted);margin:12px 0 0}
.rp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.rp-btn{display:inline-flex;align-items:center;gap:8px;border-radius:9px;padding:11px 16px;font-weight:800;font-size:15px;text-decoration:none;border:1px solid var(--gold)}
.rp-btn.primary{background:var(--gold);color:#171717}
.rp-btn.ghost{color:var(--gold)}
.rp-btn:hover{opacity:.9}
.rp-photo{margin:36px 0 0}
.rp-photo img{display:block;width:100%;max-width:none;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:14px}
.rp-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,80px);margin-top:56px;align-items:start}
.rp-body h2{font-size:clamp(1.9rem,3vw,2.4rem);margin:0 0 18px}
.rp-ing{list-style:none;margin:0;padding:0}
.rp-ing li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--line)}
.rp-ing li::before{content:"";position:absolute;left:2px;top:21px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.rp-ing li.sub{padding-left:0;border-bottom:0;padding-top:20px;color:var(--gold);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.rp-ing li.sub::before{display:none}
.rp-steps{list-style:none;margin:0;padding:0;counter-reset:st}
.rp-steps li{counter-increment:st;position:relative;padding:4px 0 22px 52px}
.rp-steps li::before{content:counter(st);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#171717;font:800 15px/34px Arial,Helvetica,sans-serif;text-align:center}
.rp-notes{margin-top:56px;background:#1d1d1d;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;padding:28px 32px}
.rp-notes h2{font-size:30px;margin:0 0 12px}
.rp-notes p{margin:0 0 10px}.rp-notes p:last-child{margin:0}
.rp-disclaimer{margin-top:28px;border:1px solid var(--line);border-radius:14px;background:#161616;padding:20px 24px;color:var(--muted);font-size:14px}
.rp-disclaimer strong{color:var(--ink);text-transform:uppercase;letter-spacing:.09em;font-size:12px}
.rp-disclaimer p{margin:6px 0 0}
.rp-more{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px}
.rp-more a{color:var(--gold);font-weight:800;text-decoration:none}
.rp-more a:hover{text-decoration:underline}
@media(max-width:860px){.rp-hero,.rp-body{grid-template-columns:1fr}.rp-hero{align-items:start}}
/* Recipe index additions */
.meals-promo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}
.meals-promo>div{padding:24px;border:1px solid var(--line);border-radius:14px;background:#151515}
.meals-promo h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.2rem)}
.meals-promo p:not(.eyebrow){color:var(--muted);margin:0 0 14px}
@media(max-width:760px){.meals-promo{grid-template-columns:1fr}}
.rp-times{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;color:var(--muted);font-size:15px}
.rp-times b{color:var(--gold);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-right:6px}
