/* Radio-section additions on top of the site's dl-html-blocks.css */
.elementor-2219 .e-con{--display:flex;}
.elementor-2219 .elementor-widget-html{width:100%;max-width:100%;}
.elementor-2219 .e-con{--content-width:1140px;}
.page-header--episode h1{font-size:clamp(30px,4.5vw,52px);}
.ep-year{font-size:24px;margin:40px 0 16px;}

/* dl-html-blocks.css defines .btn--outline's border, but a later .btn{border:none}
   block wins the cascade; restore the outline with higher specificity. */
.episode-main a.btn--outline,.ep-nav a.btn--outline{border:2.5px solid var(--black,#000);}

/* Tags that carry an inline SVG icon: center icon and text in the pill
   (the theme's .tag is inline-block, which leaves the icon on the baseline). */
.elementor-2219 .tag{display:inline-flex;align-items:center;gap:8px;line-height:1.4;}
.elementor-2219 .tag svg{flex-shrink:0;display:block;}

/* Episode byline: person · company with a properly spaced separator */
.episode-byline{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;}
.byline-sep{width:5px;height:5px;border-radius:50%;background:var(--magenta,#f43fd9);flex-shrink:0;}
.byline-company{color:var(--magenta,#f43fd9);font-weight:700;}

/* Episode list rows: same byline treatment at small size */
.ep-info p{display:flex;align-items:center;column-gap:8px;row-gap:2px;flex-wrap:wrap;}
.ep-sep{width:4px;height:4px;border-radius:50%;background:var(--magenta,#f43fd9);flex-shrink:0;}
.ep-company{color:var(--magenta,#f43fd9);font-weight:700;}
.ep-tags-inline{color:var(--muted,#666);}

/* Episode page */
.episode-section{padding:72px 0 48px;}
.episode-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:56px;align-items:start;}
.episode-layout--nocover{grid-template-columns:minmax(0,1fr);max-width:780px;margin:0 auto;}
.episode-layout .episode-main{grid-column:2;}
.episode-layout--nocover .episode-main{grid-column:1;}
.episode-cover{position:sticky;top:120px;}
.episode-cover img{width:100%;display:block;border-radius:var(--card-r,16px);box-shadow:0 12px 32px rgba(0,0,0,.16);}
.episode-player-card{background:var(--white,#fff);border:1px solid rgba(0,0,0,.06);border-radius:var(--card-r,16px);padding:28px 32px;box-shadow:0 4px 16px rgba(0,0,0,.06);}
.episode-h2{margin:0 0 16px;font-size:24px;}
.episode-video .episode-h2{margin-bottom:20px;}
.episode-audio{width:100%;display:block;margin:0 0 12px;}
.episode-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.episode-duration{color:var(--muted,#666);font-size:14px;}
.episode-video{margin-top:48px;}
.video-embed{border-radius:var(--card-r,16px);overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08);}
.tag-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px;}
.tag-list .tag{text-decoration:none;}
.ep-nav{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:80px;padding-top:36px;border-top:1px solid rgba(0,0,0,.1);}
@media(max-width:900px){
  .episode-layout{grid-template-columns:1fr;gap:32px;}
  .episode-layout .episode-main{grid-column:auto;}
  .episode-cover{position:static;max-width:420px;margin:0 auto;width:100%;}
  .episode-section{padding:48px 0 32px;}
  .episode-player-card{padding:22px 20px;}
  .episode-h2{font-size:20px;}
  .ep-nav{flex-direction:column;align-items:stretch;text-align:center;margin-top:56px;padding-top:28px;}
  .page-header{padding:64px 0 48px;}
  .page-header h1{font-size:clamp(32px,9vw,48px);}
  .page-header p{font-size:16px;}
  .ep-year{font-size:20px;margin:28px 0 8px;}
  .ep-item{grid-template-columns:44px 1fr 40px;gap:12px;padding:16px 0;}
  .ep-info h4{font-size:14px;}
  .ep-info p{font-size:12px;}
}
