.podcasts { padding: 132px 0 120px; }
.section-heading { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); align-items: end; gap: 80px; margin-bottom: 64px; }
.section-heading h2 {
  margin: 0; font-size: clamp(50px,5.2vw,82px); font-weight: 800; letter-spacing: -.05em; line-height: .98;
}
.section-heading > p { max-width: 480px; margin: 0 0 6px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.episode-grid { display: grid; grid-template-columns: 1.28fr .86fr .86fr; gap: 22px; }
.episode-card {
  position: relative; display: flex; min-height: 470px; flex-direction: column; overflow: hidden;
  padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); color: inherit;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease;
}
.episode-card:hover, .episode-card:focus-visible { box-shadow: 0 24px 70px rgba(var(--navy-rgb),.14); transform: translateY(-6px); }
.episode-cyan { background: radial-gradient(circle at 85% 8%,rgba(255,255,255,.3),transparent 22%),var(--cyan); }
.episode-navy { background: var(--navy); color: var(--white); }
.episode-light { background: var(--white); }
.episode-card-top { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.episode-number { position: absolute; top: 42px; right: 19px; color: rgba(var(--navy-rgb),.08); font-size: 170px; font-weight: 900; letter-spacing: -.08em; line-height: 1; }
.episode-navy .episode-number { color: rgba(255,255,255,.06); }
.episode-card-copy { position: relative; z-index: 1; max-width: 430px; margin-top: auto; padding-right: 20px; }
.episode-card-copy > p { margin: 0 0 12px; font-size: 14px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.episode-card-copy h3 { margin: 0; font-size: clamp(28px,2.25vw,42px); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }
.episode-play { display: grid; width: 58px; height: 58px; place-items: center; margin-top: 28px; border: 1px solid currentColor; border-radius: 50%; transition: background .18s ease, color .18s ease, transform .18s ease; }
.episode-card:hover .episode-play, .episode-card:focus-visible .episode-play { background: var(--navy); color: var(--white); transform: scale(1.05); }
.episode-navy:hover .episode-play, .episode-navy:focus-visible .episode-play { background: var(--cyan); color: var(--navy); }
.section-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.section-footer p { margin: 0; color: var(--muted); font-size: 14px; }
.text-link { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-size: 15px; font-weight: 900; }

@media (max-width: 1180px) {
  .episode-grid { grid-template-columns: 1.15fr .925fr .925fr; }
}

@media (max-width: 960px) {
  .section-heading { grid-template-columns: 1fr; gap: 30px; }
  .episode-grid { grid-template-columns: 1fr 1fr; }
  .episode-card:first-child { grid-column: 1/-1; }
}

@media (max-width: 640px) {
  .podcasts { padding: 86px 0; }
  .section-heading h2 { font-size: 46px; }
  .episode-grid { grid-template-columns: 1fr; }
  .episode-card, .episode-card:first-child { grid-column: auto; min-height: 390px; }
  .episode-number { font-size: 130px; }
  .section-footer { align-items: flex-start; flex-direction: column; }
}

/* Doplňkové karty, které drží mřížku zaplněnou, dokud dílů není dost */
.episode-card--promo .episode-card-watermark {
  position: absolute; top: 34px; right: 14px; opacity: .1;
}
.episode-card--promo .episode-card-watermark .icon { width: 168px; height: 168px; }
.episode-navy.episode-card--promo .episode-card-watermark { opacity: .12; }
.episode-card--promo .episode-card-copy h3 { font-size: clamp(24px,1.85vw,34px); }
.episode-card--promo .episode-card-copy > p { color: inherit; opacity: .78; }

@media (max-width: 640px) {
  .episode-card--promo .episode-card-watermark .icon { width: 124px; height: 124px; }
}
