/* Shared editorial preview. Tokens and typography belong to the existing site. */
.ed-header { position:relative; z-index:90; background:var(--cream,#f7f2ee); border-bottom:1px solid var(--hairline,#ddd6cb); }
.ed-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; }
.ed-brand { flex:none; display:block; }
.ed-brand img { display:block; max-width:none; }
.ed-nav { display:flex; gap:clamp(14px,2.1vw,28px); align-items:center; font:500 .9rem/1.35 var(--sans,sans-serif); }
.ed-nav a { color:var(--ink,#302820); text-decoration:none; }
.ed-nav a[aria-current=page] { color:var(--terra,#ae5a30); text-decoration:underline; text-underline-offset:7px; }
.ed-nav a:hover,.ed-nav summary:hover { color:var(--terra,#ae5a30); }
.ed-nav a,.ed-nav summary { padding-block:13px; }
.ed-nav .ed-get { background:var(--ink,#302820); color:var(--cream,#f7f2ee); border-radius:100px; padding:12px 17px; white-space:nowrap; }
.ed-about { position:relative; }
.ed-about summary { cursor:pointer; white-space:nowrap; }
.ed-about > div { position:absolute; z-index:100; right:0; top:100%; padding:10px; min-width:190px; display:grid; border:1px solid var(--hairline,#ddd6cb); border-radius:14px; background:var(--cream,#f7f2ee); box-shadow:0 12px 30px #30282014; }
.ed-about > div a { padding:10px 14px; }
.ed-main { padding:clamp(36px,6vw,76px) 0 72px; }
.ed-intro { max-width:790px; margin-bottom:40px; }
.ed-intro h1 { font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.08; margin:12px 0 24px; }
.ed-intro > p:not(.eyebrow) { max-width:660px; font-size:1.13rem; line-height:1.65; }
.ed-series { display:flex; gap:10px; flex-wrap:wrap; padding-bottom:30px; border-bottom:1px solid var(--hairline,#ddd6cb); }
.ed-series a { padding:10px 17px; color:var(--ink,#302820); border:1px solid var(--hairline,#ddd6cb); border-radius:30px; text-decoration:none; }
.ed-series a:hover { background:var(--cream-warm,#f1e8db); }
.ed-series-section { margin:46px 0 60px; scroll-margin-top:28px; }
.ed-series-section > h2 { font-size:clamp(1.7rem,3vw,2.5rem); margin-bottom:22px; }
.ed-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ed-card { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(22px,3vw,36px); border:1px solid var(--hairline,#ddd6cb); border-radius:20px; background:rgba(255,255,255,.3); }
.ed-card h3 { margin:12px 0 16px; font-size:clamp(1.4rem,2.5vw,2rem); line-height:1.2; }
.ed-card h3 a { color:inherit; text-decoration:none; }
.ed-card > p:not(.eyebrow) { font-size:1rem; line-height:1.65; color:var(--muted,#695d51); }
.ed-read { margin-top:auto; padding-top:22px; color:var(--terra,#ae5a30); font-weight:600; text-decoration:none; }
.ed-footer { display:flex; flex-wrap:wrap; gap:24px; border-top:1px solid var(--hairline,#ddd6cb); padding-block:28px 96px; font-size:.9rem; }
.ed-footer a { color:inherit; }
.ed-footer span { margin-left:auto; }
.ed-home { padding:clamp(48px,7vw,90px) 0; }
.ed-home-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.ed-home-head h2 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.16; max-width:600px; margin:12px 0 0; }
.ed-home-head > a,.ed-next a { color:var(--terra,#ae5a30); }
.ed-next { margin-top:28px; }
.ed-plan-preview { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; background:var(--cream-warm,#f1e8db); padding:clamp(24px,5vw,56px); border-radius:24px; }
.ed-plan-preview h2 { font-size:clamp(1.8rem,3.5vw,3rem); line-height:1.18; margin:16px 0 24px; }
.ed-plan-preview p { line-height:1.65; }
.ed-plan-promise { margin:16px 0 0; padding-left:25px; }
.ed-plan-promise li { padding:14px 0; border-bottom:1px solid var(--hairline,#d6cbbb); line-height:1.55; }
.ed-pending { font-size:.92rem; color:var(--muted,#695d51); }
.ed-draft-note { margin:28px 0; padding:18px 22px; border-left:3px solid var(--terra,#ae5a30); line-height:1.6; color:var(--muted,#695d51); }
.ed-recipe-reading { border-block:1px solid var(--hairline,#ddd6cb); margin:18px 0 26px; padding:16px 0; }
.ed-recipe-reading p { margin:0 0 8px; }
.ed-recipe-reading a { display:block; color:var(--terra,#ae5a30); padding:6px 0; line-height:1.45; }
.ed-header + main.artikel-main,.ed-header + .xp-page { padding-top:40px; }
.artikel-prosa a { color:var(--terra,#ae5a30); text-underline-offset:3px; }
.ed-table-wrap { overflow:auto; margin:24px 0 30px; border:1px solid var(--hairline,#ddd6cb); border-radius:12px; }
.artikel-prosa table { width:100%; border-collapse:collapse; font-size:.94rem; line-height:1.55; }
.artikel-prosa th,.artikel-prosa td { text-align:left; vertical-align:top; padding:14px; border-bottom:1px solid var(--hairline,#ddd6cb); min-width:160px; }
.artikel-prosa th { background:var(--cream-warm,#f1e8db); }
.artikel-prosa ul,.artikel-prosa ol { line-height:1.7; margin:0 0 24px; padding-left:25px; }
.artikel-prosa li + li { margin-top:9px; }
.ed-nav a:focus-visible,.ed-nav summary:focus-visible,.ed-series a:focus-visible,.ed-card a:focus-visible { outline:2px solid var(--terra,#ae5a30); outline-offset:5px; border-radius:4px; }
/* Meal plans use the site's existing type and warm paper palette. */
.mp-page { max-width:1080px; }
.mp-hero { padding-bottom:40px; border-bottom:1px solid var(--hairline-strong,#d6cbbb); }
.mp-hero h1 { max-width:850px; margin:14px 0 24px; font:600 clamp(2.3rem,5.6vw,4.5rem)/1.12 var(--serif,Georgia,serif); letter-spacing:-.03em; }
.mp-hero > p:not(.eyebrow) { max-width:720px; font-size:1.16rem; line-height:1.7; }
.mp-tags,.mp-actions,.mp-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:22px 0; }
.mp-tags span { padding:7px 12px; background:var(--cream-warm,#f1e9e0); border-radius:30px; font-size:.9rem; }
.mp-button,.mp-actions a,.mp-toolbar button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; border:1px solid var(--deep,#3b2412); border-radius:100px; padding:12px 21px; font:600 .95rem/1.3 var(--sans,sans-serif); color:var(--cream,#f7f2ee); background:var(--deep,#3b2412); text-decoration:none; cursor:pointer; }
.mp-actions a + a,.mp-toolbar button + button { background:transparent; color:var(--deep,#3b2412); }
.mp-button:hover,.mp-actions a:hover,.mp-toolbar button:hover { box-shadow:inset 0 0 0 2px currentColor; }
.mp-page a:not(.mp-button),.mp-plan-card h2 a,.mp-home-plan a { color:var(--deep,#3b2412); text-underline-offset:4px; }
.mp-page .mp-actions a { color:var(--cream,#f7f2ee); }
.mp-page .mp-actions a + a { color:var(--deep,#3b2412); }
.mp-page a:focus-visible,.mp-page button:focus-visible,.mp-page summary:focus-visible,.mp-page input:focus-visible,.mp-plan-card a:focus-visible { outline:3px solid var(--leaf,#4f7a4a); outline-offset:5px; }
.mp-page section { scroll-margin-top:28px; }
.mp-page h2 { font:600 clamp(1.7rem,3vw,2.5rem)/1.2 var(--serif,Georgia,serif); }
.mp-page h3 { font-size:1.08rem; }
.mp-week { margin-top:48px; }
.mp-day { display:flow-root; min-height:220px; padding:30px 0 34px; border-bottom:1px solid var(--hairline-strong,#d6cbbb); }
.mp-day img { float:right; width:clamp(160px,26vw,250px); height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:18px; margin:0 0 22px 32px; }
.mp-day h2,.mp-day h3 { margin:10px 0 16px; }
.mp-day p { max-width:70ch; line-height:1.7; }
.mp-day .eyebrow { color:#5d5146; }
.mp-day a { display:inline-block; padding-block:8px; }
.mp-portions { margin-top:18px; clear:both; }
.mp-portions summary { cursor:pointer; display:list-item; padding:13px 0; font-weight:600; }
.mp-portions ul { columns:2; column-gap:36px; padding-left:22px; margin:10px 0 0; }
.mp-portions li { break-inside:avoid; padding:5px 0; line-height:1.6; }
.mp-reuse,.mp-shopping { margin-top:52px; }
.mp-reuse { padding:26px 32px; border-radius:20px; background:var(--cream-warm,#f1e9e0); }
.mp-reuse p,.mp-reuse li { max-width:75ch; line-height:1.7; }
.mp-shopping { padding:32px; background:#fffdfa; border:1px solid var(--hairline-strong,#d6cbbb); border-radius:22px; }
.mp-shopping h2 { margin-top:0; }
.mp-shopping h3 { margin:28px 0 12px; padding-bottom:10px; border-bottom:1px solid var(--hairline-strong,#d6cbbb); }
.mp-checklist { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
.mp-checklist li { min-width:0; }
.mp-checklist label { display:flex; align-items:flex-start; gap:11px; min-height:48px; padding:10px 0; line-height:1.5; cursor:pointer; }
.mp-checklist input { flex:none; width:21px; height:21px; margin:2px 0 0; accent-color:var(--leaf,#4f7a4a); }
.mp-checklist input:checked + span { text-decoration:line-through; color:#655d57; }
.mp-copy-fallback { width:100%; min-height:240px; padding:14px; font:inherit; border:1px solid var(--deep,#3b2412); border-radius:10px; }
[data-shopping-status] { min-height:1.5em; font-size:.95rem; }
.mp-page > section:not(.mp-week):not(.mp-reuse):not(.mp-shopping) { max-width:780px; margin-top:42px; line-height:1.75; }
.mp-page .ed-draft-note { color:#58442e; background:#fff6e7; border-color:#8c4c23; font-size:.97rem; }
.mp-plan-grid { display:grid; gap:26px; }
.mp-plan-card { display:grid; grid-template-columns:minmax(230px,.85fr) minmax(0,1.4fr); overflow:hidden; border:1px solid var(--hairline-strong,#d6cbbb); border-radius:24px; }
.mp-plan-card > img { width:100%; height:100%; object-fit:cover; min-height:330px; }
.mp-plan-card > div { padding:clamp(24px,4vw,46px); }
.mp-plan-card h2 { font-size:clamp(1.6rem,3vw,2.6rem); line-height:1.2; }
.mp-plan-card h2 a { text-decoration:none; }
.mp-review-label { font-size:.9rem; color:#655341; }
.mp-home-plan { margin-top:28px; border-radius:20px; padding:28px 34px; background:var(--cream-warm,#f1e9e0); }
.mp-home-plan h3 { max-width:750px; font-size:clamp(1.6rem,3vw,2.4rem); margin:10px 0 18px; }
.mp-home-plan p { max-width:700px; }
@media(max-width:640px) {
 .mp-day img { width:116px; margin:0 0 12px 18px; border-radius:12px; }
 .mp-day h2 { font-size:1.6rem; }
 .mp-portions ul { columns:1; }
 .mp-shopping,.mp-reuse { padding:22px 18px; }
 .mp-checklist { grid-template-columns:1fr; }
 .mp-actions a,.mp-toolbar button { width:100%; }
 .mp-plan-card { grid-template-columns:1fr; }
 .mp-plan-card > img { min-height:0; height:220px; }
}
@media print {
 @page { margin:15mm; }
 .ed-header,.ed-footer,[data-redaktion],.mp-toolbar,.mp-actions,.mp-day img,.mp-copy-fallback { display:none!important; }
 .ed-main { padding:0; }
 .mp-page { max-width:none; padding:0; }
 .mp-page h1 { font-size:25pt; }
 .mp-page h2 { font-size:17pt; }
 .mp-page p,.mp-page li { font-size:10pt; }
 .mp-day { min-height:0; padding:10px 0; break-inside:avoid; }
 .mp-portions { display:none; }
 .mp-shopping,.mp-reuse { background:white; padding:16px 0; border:0; margin-top:22px; }
 .mp-checklist { grid-template-columns:1fr 1fr; }
 .mp-checklist label { min-height:0; padding:5px 0; }
 .mp-checklist li { break-inside:avoid; }
 a { color:#000!important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(max-width:760px) {
 .ed-header-inner { display:block; padding-block:18px 10px; }
 .ed-brand img { width:110px; height:auto; }
 .ed-nav { margin-top:12px; gap:2px 18px; flex-wrap:wrap; font-size:.84rem; }
 .ed-nav .ed-get { padding:8px 12px; }
 .ed-about > div { left:0; right:auto; }
 .ed-cards { grid-template-columns:1fr; }
 .ed-plan-preview { grid-template-columns:1fr; gap:16px; }
 .ed-home-head { display:block; }
 .ed-home-head > a { display:inline-block; margin-top:16px; }
 .ed-footer span { width:100%; margin-left:0; }
}
