/* SWISS THEME (theme_css=swiss.css) — international-style poster: mega uppercase
   grotesk on white, one hot accent colour, hairline rules and hard corners. No
   softness anywhere; the grid is the design.

   Colors/type/radii come from settings (background_color, text_color,
   primary_color, heading_font, heading_text_uppercase, title size/weight,
   default square corners, episode_number_badge). This file owns the bespoke
   skin: the accent second line, the rule grid, and the oversized numerals. */

:root {
  --sw-accent: var(--primary-color);
  --sw-rule: color-mix(in srgb, var(--text-color) 16%, transparent);
}

/* ---------- NAV ---------- */
.show-page .navbar { border-bottom: 1px solid var(--sw-rule); }
.show-page .navbar-brand, .show-page .navbar-brand div { letter-spacing: -0.02em; }
.navbar-nav .nav-link { letter-spacing: 0.1em; }
.navbar-nav .nav-link:hover { color: var(--btn-text-color) !important; }
#nav-cta .btn, .navbar .btn-base-1 {
  border: none !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em; text-transform: uppercase; padding: 12px 20px !important;
}

/* ---------- HERO: mega type, accent second line ---------- */
#header-hero { border-bottom: 1px solid var(--sw-rule); }
/* the highlight span is the accent-coloured line — the signature move */
#homepage-header-title .text-highlight {
  color: var(--sw-accent) !important; background: none !important;
  -webkit-text-fill-color: var(--sw-accent) !important;
}
/* CTAs: hard-edged and compact, first one accent-filled */
#header-hero #c-text .btn {
  background: transparent !important; color: var(--heading-color) !important;
  border: 1px solid var(--sw-rule) !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500 !important;
  padding: 13px 22px !important; box-shadow: none !important;
}
#header-hero #c-text .btn:first-child {
  background: var(--sw-accent) !important; color: var(--btn-text-color) !important;
  border-color: var(--sw-accent) !important;
}
#header-hero #c-text .btn:hover { background: var(--heading-color) !important; color: var(--inverse-color) !important; border-color: var(--heading-color) !important; }

/* ---------- SECTION CHROME ---------- */
.feed-section, .slice { border-color: var(--sw-rule) !important; }
#recent-episodes-header .col-4 a {
  color: var(--sw-accent) !important;
  font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase;
}

/* ---------- THE GRID: rule cells, oversized numerals ---------- */
@media (min-width: 1200px) {
  .feed-section .pp-list--grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
.feed-section .pp-card.card {
  background: transparent !important;
  transition: background 0.25s ease;
}
.feed-section .pp-card.card:hover { background: color-mix(in srgb, var(--text-color) 3%, transparent) !important; }
/* the numeral is set big and accent-coloured — the grid's rhythm */
.pp-card-episode-number {
  /* public_styles hides this by default — a theme opts in. */
  display: block !important;
  font-family: var(--heading-font) !important;
  font-size: 1.9rem !important; font-weight: 800 !important;
  color: var(--sw-accent) !important;
  letter-spacing: -0.02em !important; line-height: 1 !important;
  text-transform: none !important;
}
.pp-card-date {
  font-size: 0.62rem !important; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-light-color) !important; font-weight: 400 !important;
}
.pp-card-description {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pp-card-cta a {
  background: none !important; border: none !important;
  padding: 0 !important; color: var(--sw-accent) !important;
  font-size: 0.62rem !important; letter-spacing: 0.1em; text-transform: uppercase;
}

/* featured episode: art left, hard-edged black play button right */
.pp-card--large-card.card { padding: 0 !important; }
.pp-card--large-card .pp-card-body { padding: 36px !important; }
.pp-card--large-card .pp-card-title,
.pp-card--large-card .pp-card-title a { font-size: 1.8rem !important; }
.pp-card--large-card .pp-card-cta a {
  background: var(--heading-color) !important; color: var(--bg-color) !important;
  padding: 14px 24px !important; display: inline-block;
}
.pp-card--large-card .pp-card-cta a:hover { background: var(--sw-accent) !important; color: var(--btn-text-color) !important; }

/* ---------- SUBSCRIBE / FOOTER ---------- */
#listen-card-section { border-top: 1px solid var(--sw-rule); }
#listen-card-section .listen-card__btn {
  font-size: 0.66rem !important; letter-spacing: 0.1em; text-transform: uppercase;
}
#footer.footer { border-top: 1px solid var(--sw-rule); }
#footer.footer a { font-size: 0.66rem; letter-spacing: 0.08em; }
