/* Rückblicke: scoped additions to the existing dark/gold design. */
.recap-hero { padding:80px 0 40px; background:radial-gradient(ellipse at 80% 10%,rgba(200,163,92,.08),transparent 60%); }
.recap-hero h1 { max-width:850px; font-size:var(--step-4); line-height:1.16; margin:18px 0 26px; }
.recap-lead { max-width:820px; font-size:var(--step-1); color:var(--ink-soft); line-height:1.6; }
.recap-hero-meta { display:flex; flex-wrap:wrap; gap:12px 28px; margin:28px 0 0; font-family:var(--sans); font-size:.86rem; color:var(--gold-bright); }
.recap-intro.section { padding-top:12px; padding-bottom:24px; }
.recap-note { padding:28px 36px; background:var(--bg-1); border:1px solid var(--line-2); border-left:3px solid var(--gold); border-radius:var(--radius); }
.recap-note h2 { font-size:var(--step-2); margin:0 0 12px; }
.recap-note p:not(.eyebrow) { max-width:940px; color:var(--ink-soft); margin:12px 0; }
.recap-library.section { padding-top:40px; }
.recap-library-intro { max-width:850px; color:var(--ink-soft); }
.recap-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.recap-card { display:flex; flex-direction:column; border:1px solid var(--line-2); border-radius:var(--radius); background:var(--bg-1); overflow:hidden; color:var(--ink); text-decoration:none; }
.recap-card:hover { border-color:var(--gold); background:var(--bg-2); }
.recap-card-art { aspect-ratio:16/9; position:relative; background:var(--bg-2); border-bottom:1px solid var(--line); }
.recap-card-art img { display:block; width:100%; height:100%; object-fit:contain; }
.recap-play { position:absolute; left:20px; bottom:18px; width:42px; height:42px; display:grid; place-items:center; padding-left:3px; border:1px solid var(--gold); background:var(--bg-1); color:var(--gold-bright); border-radius:50%; font-size:1rem; }
.recap-runtime { position:absolute; right:14px; bottom:16px; padding:4px 9px; border-radius:3px; background:rgba(12,11,16,.92); font: .8rem/1.6 var(--sans); color:var(--ink); }
.recap-card-copy { display:flex; flex-direction:column; flex:1; padding:24px; }
.recap-kicker { font-family:var(--sans); color:var(--gold-bright); font-size:.77rem; letter-spacing:.025em; margin:0 0 10px; }
.recap-card h3 { font-size:1.5rem; line-height:1.35; margin:0 0 10px; }
.recap-series { font-size:.98rem; color:var(--muted); margin:0 0 24px; }
.recap-card-cta { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line-2); padding-top:15px; margin-top:auto; color:var(--gold-bright); }
.recap-spoiler { font-family:var(--sans); font-size:.73rem; color:var(--ink-soft); margin:8px 0 0; }
.recap-future { margin:34px 0 20px; color:var(--muted); }
.recap-detail-head { padding:44px 0 0; }
.recap-breadcrumb { display:flex; flex-wrap:wrap; gap:14px 32px; margin-bottom:32px; font-size:1rem; }
.recap-book-heading { display:grid; grid-template-columns:132px minmax(0,1fr); align-items:center; gap:32px; }
.recap-book-heading>img { width:132px; height:auto; border:1px solid var(--line-2); border-radius:4px; }
.recap-book-heading h1 { font-size:var(--step-3); line-height:1.2; margin:10px 0; }
.recap-book-heading .recap-lead { margin:8px 0; }
.recap-detail-meta { color:var(--muted); font-size:1rem; margin:8px 0; }
.recap-watch.section { padding-top:40px; }
.recap-gate { padding:36px; border:1px solid var(--line-2); border-radius:var(--radius); background:linear-gradient(115deg,var(--bg-2),var(--bg-1)); }
.recap-gate h2 { font-size:var(--step-2); margin:0 0 16px; }
.recap-gate>p { max-width:850px; color:var(--ink-soft); }
.recap-confirm { display:flex; gap:14px; align-items:flex-start; padding:18px 0; cursor:pointer; color:var(--ink); }
.recap-confirm input { width:22px; height:22px; flex-shrink:0; margin:4px 0 0; accent-color:var(--gold); cursor:pointer; }
.recap-gate-foot { font-size:.95rem; margin:18px 0 0; }
.recap-page button:disabled { opacity:.48; cursor:not-allowed; }
.recap-status { min-height:1.6em; color:var(--ink-soft); font-size:1rem; }
.recap-player-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:22px; }
.recap-player-heading h2 { margin:0; }
.recap-player-heading .btn { text-transform:none; letter-spacing:normal; }
.recap-player { background:#08070a; border:1px solid var(--line-2); border-radius:var(--radius); overflow:hidden; }
.recap-player video,.recap-player iframe { display:block; width:100%; height:auto; aspect-ratio:16/9; min-height:200px; border:0; }
.recap-youtube-consent { min-height:300px; padding:38px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.recap-youtube-poster { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-bottom:1px solid var(--line-2); }
.recap-player-external { margin:12px 0 0; font-size:1rem; }
.recap-youtube-consent h3 { font-size:var(--step-2); margin:0 0 14px; }
.recap-youtube-consent p { max-width:760px; margin:0 0 20px; color:var(--ink-soft); }
.recap-chapters { padding-top:28px; }
.recap-chapters h3 { font-size:var(--step-2); margin:0; }
.recap-chapters>p { color:var(--muted); margin:6px 0 20px; }
.recap-chapters ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; list-style:none; }
.recap-chapters button { display:flex; gap:16px; align-items:flex-start; width:100%; height:100%; padding:14px 16px; background:var(--bg-1); border:1px solid var(--line-2); border-radius:4px; color:var(--ink-soft); font:inherit; font-size:1rem; text-align:left; cursor:pointer; }
.recap-chapters button:hover { color:var(--gold-bright); border-color:var(--gold); }
.recap-chapters time { font-family:var(--sans); font-size:.83rem; color:var(--gold-bright); padding-top:4px; min-width:3.5em; font-variant-numeric:tabular-nums; }
.recap-after-note { color:var(--muted); font-size:1rem; }
.recap-related { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.recap-teaser { display:grid; grid-template-columns:88px minmax(0,1fr); gap:28px; align-items:center; padding:34px 38px; border:1px solid var(--line-2); border-radius:var(--radius); background:linear-gradient(110deg,var(--bg-2),var(--bg-1)); }
.recap-teaser-icon { display:grid; place-items:center; width:76px; height:76px; border:1px solid var(--gold); border-radius:50%; color:var(--gold-bright); padding-left:5px; font-size:1.5rem; }
.recap-teaser h2 { margin:0 0 12px; font-size:var(--step-2); }
.recap-teaser p:not(.eyebrow) { max-width:860px; color:var(--ink-soft); }
.recap-world-teaser.section { padding-top:20px; padding-bottom:30px; }
.recap-page :is(a,button,input):focus-visible { outline:3px solid var(--gold-bright); outline-offset:5px; }
@media(max-width:980px) { .recap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .recap-hero { padding-top:44px; } .recap-hero h1 { font-size:2.55rem; } .recap-hero-meta { gap:10px 18px; }
 .recap-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
 .recap-note,.recap-gate { padding:24px; } .recap-book-heading { grid-template-columns:80px minmax(0,1fr); gap:18px; align-items:start; }
 .recap-book-heading>img { width:80px; } .recap-book-heading h1 { font-size:1.8rem; } .recap-book-heading .eyebrow { font-size:.63rem; letter-spacing:.06em; }
 .recap-book-heading .recap-lead { font-size:1.08rem; } .recap-detail-meta { font-size:.9rem; }
 .recap-chapters ol { grid-template-columns:minmax(0,1fr); } .recap-player-heading .btn { width:100%; }
 .recap-youtube-consent { padding:24px; } .recap-teaser { grid-template-columns:minmax(0,1fr); padding:26px; gap:18px; }
 .recap-teaser-icon { width:50px; height:50px; font-size:1rem; } .recap-related .btn { width:100%; }
}
