.listen-page { background:var(--bg-deep); }
.listen-header,.listen-footer { display:flex; justify-content:space-between; gap:24px; max-width:1120px; margin:auto; padding:22px 24px; }
.listen-header { border-bottom:1px solid var(--border-dim); }
.listen-header a,.listen-footer a { color:var(--sand); min-height:44px; display:inline-flex; align-items:center; }
.listen-main { max-width:1120px; margin:auto; padding:56px 24px; }
.listen-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.listen-content { min-width:0; }
.listen-content h1 { font-size:clamp(30px,4vw,48px); line-height:1.12; letter-spacing:-.025em; margin:14px 0; }
.listen-byline { color:var(--sand); margin-bottom:20px; }
.listen-description { line-height:1.7; color:var(--text-muted); margin-bottom:26px; }
.listen-cover { width:100%; height:auto; border-radius:12px; grid-column:2; grid-row:1; }
.listen-player-label { display:block; margin-bottom:10px; color:var(--sand); }
.listen-page audio { width:100%; display:block; }
.listen-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.listen-page .es-share-btn { min-height:44px; padding:10px 18px; border:1px solid var(--sand); border-radius:7px; background:transparent; color:var(--sand); font:inherit; cursor:pointer; }
.listen-page .es-share-btn:hover { background:rgba(201,168,112,.12); }
.listen-download { margin-top:14px; }
.listen-download a,.listen-related a { display:inline-flex; align-items:center; min-height:44px; color:var(--sand); }
.listen-chapters { max-width:740px; margin-top:36px; padding:22px; border:1px solid var(--border-dim); border-radius:12px; background:var(--bg-card); }
.listen-chapter-list { display:flex; flex-direction:column; gap:4px; margin-top:10px; }
.listen-related { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:36px; border-top:1px solid var(--border-dim); padding-top:20px; }
.listen-footer { border-top:1px solid var(--border-dim); }
.listen-page :focus-visible { outline:2px solid var(--sand); outline-offset:4px; }
#es-copy-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:var(--sand); color:var(--bg-deep); padding:12px 24px; border-radius:8px; z-index:1000; }
@media(max-width:760px) { .listen-main { padding:28px 20px; } .listen-intro { display:flex; flex-direction:column; gap:24px; } .listen-content { width:100%; } .listen-cover { order:2; } .listen-chapters { padding:14px; } }
.listen-page .skip-link { position:absolute; left:16px; top:-100px; z-index:2000; padding:12px; background:var(--sand); color:var(--bg-deep); }
.listen-page .skip-link:focus { top:8px; }
