@import url("https://fonts.googleapis.com/css2?family=Advent+Pro:wght@400;500;600;700&display=swap");

.foutbol-player {
  --foutbol-title-font: "Advent Pro", "AdventPro", Arial, Helvetica, sans-serif;
  --foutbol-orange: #ff8001;

  container-type: inline-size;

  display: block !important;
  width: 100% !important;
  max-width: var(--foutbol-player-max-width, 1860px) !important;
  box-sizing: border-box !important;
  margin: 0.45rem auto !important;
  padding: clamp(0.28rem, 1cqi, 0.45rem) !important;
  overflow: hidden !important;
  text-transform: none !important;
}

.foutbol-player,
.foutbol-player *,
.foutbol-player *::before,
.foutbol-player *::after {
  box-sizing: border-box !important;
  text-transform: none !important;
}

.foutbol-player button,
.foutbol-player input,
.foutbol-player a {
  font: inherit !important;
}

.foutbol-player button {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0;
  margin: 0;
}

.foutbol-player a {
  text-decoration: none !important;
}

.foutbol-player svg,
.foutbol-player img {
  display: block;
}

/* Base layout */

.foutbol-podcast-header {
  display: grid;
  grid-template-columns: clamp(62px, 15cqi, 100px) minmax(0, 1fr);
  gap: clamp(0.62rem, 2.1cqi, 0.95rem);
  align-items: center;
}

.foutbol-podcast-artwork {
  width: clamp(62px, 15cqi, 100px);
  height: clamp(62px, 15cqi, 100px);
  display: block;
  object-fit: cover;
  border-radius: clamp(10px, 2cqi, 15px);
}

.foutbol-podcast-header-text {
  min-width: 0;
}

.foutbol-podcast-kicker,
.foutbol-mini-podcast-title {
  font-size: clamp(0.62rem, 1.45cqi, 0.74rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.foutbol-podcast-kicker {
  margin-bottom: 0.16rem;
}

.foutbol-podcast-name {
  margin: 0 0 0.25rem;
  color: var(--foutbol-orange);
  font-family: var(--foutbol-title-font) !important;
  font-size: clamp(1.12rem, 3.8cqi, 1.75rem);
  line-height: 1.04;
  font-weight: 700;
}

.foutbol-mini-podcast-title {
  margin-bottom: 0.12rem;
  color: var(--foutbol-orange);
  font-family: var(--foutbol-title-font) !important;
  font-size: clamp(0.82rem, 1.75cqi, 0.98rem);
  line-height: 1.15;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.foutbol-podcast-description,
.foutbol-current-description {
  font-weight: inherit;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}

.foutbol-podcast-description {
  max-height: clamp(3.25rem, 10cqi, 5.25rem);
  margin: 0;
  padding-right: 0.35rem;
  font-size: clamp(0.82rem, 1.95cqi, 0.95rem);
  line-height: 1.28;
}

.foutbol-current-player {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(84px, 17cqi, 118px);
  grid-template-areas:
    "info artwork"
    "controls controls";
  gap: clamp(0.65rem, 2.2cqi, 1rem);
  align-items: center;
}

.foutbol-current-info {
  grid-area: info;
  min-width: 0;
  text-align: left;
}


.foutbol-mode-episode.foutbol-artwork-left .foutbol-current-player {
  grid-template-columns: clamp(84px, 17cqi, 118px) minmax(0, 1fr);
  grid-template-areas:
    "artwork info"
    "controls controls";
}

.foutbol-mode-episode.foutbol-artwork-left .foutbol-current-artwork {
  justify-self: start;
}

.foutbol-mode-episode.foutbol-artwork-right .foutbol-current-player {
  grid-template-columns: minmax(0, 1fr) clamp(84px, 17cqi, 118px);
  grid-template-areas:
    "info artwork"
    "controls controls";
}

.foutbol-mode-episode.foutbol-artwork-right .foutbol-current-artwork {
  justify-self: end;
}

.foutbol-current-artwork {
  grid-area: artwork;
  justify-self: end;
  align-self: center;
  width: clamp(84px, 17cqi, 118px);
  height: clamp(84px, 17cqi, 118px);
  display: block;
  object-fit: cover;
  border-radius: clamp(10px, 2cqi, 15px);
}

.foutbol-current-title {
  margin: 0 0 0.22rem;
  font-size: clamp(1.02rem, 2.85cqi, 1.35rem);
  line-height: 1.08;
  font-weight: inherit;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.foutbol-current-date {
  margin-bottom: 0.32rem;
  font-size: clamp(0.74rem, 1.7cqi, 0.84rem);
  line-height: 1.2;
  font-weight: inherit;
}

.foutbol-current-description {
  max-height: clamp(2.55rem, 7cqi, 4.1rem);
  margin: 0;
  padding-right: 0.35rem;
  font-size: clamp(0.8rem, 1.85cqi, 0.9rem);
  line-height: 1.26;
}

.foutbol-controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.44rem, 1.6cqi, 0.7rem);
  align-items: center;
  margin-top: clamp(0.12rem, 0.7cqi, 0.28rem);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.foutbol-buttons {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.22rem, 0.9cqi, 0.34rem);
  min-width: max-content;
}

.foutbol-play-toggle,
.foutbol-skip-button,
.foutbol-episode-nav-button {
  position: relative;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  line-height: 1;
  transition:
    transform 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    opacity 0.18s ease;
}

.foutbol-play-toggle {
  width: clamp(39px, 7.8cqi, 46px);
  height: clamp(39px, 7.8cqi, 46px);
  border-radius: 50%;
}

.foutbol-play-toggle:hover,
.foutbol-play-toggle:focus {
  transform: scale(1.04);
}

.foutbol-play-icon {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
}

.foutbol-play-triangle {
  width: 0;
  height: 0;
  margin-left: 3px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.foutbol-pause-bars {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
}

.foutbol-pause-bars span {
  width: 5px;
  height: 17px;
  display: block;
  border-radius: 999px;
}

.foutbol-skip-button,
.foutbol-episode-nav-button {
  width: clamp(29px, 6.2cqi, 35px);
  height: clamp(29px, 6.2cqi, 35px);
  border-radius: 50%;
}

.foutbol-episode-nav-button:disabled {
  opacity: 0.28;
  cursor: default;
  transform: none;
}

.foutbol-prev-icon,
.foutbol-next-icon {
  width: 0;
  height: 0;
  display: block;
}

.foutbol-prev-icon {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 9px solid currentColor;
  margin-left: -2px;
}

.foutbol-next-icon {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid currentColor;
  margin-right: -2px;
}

.foutbol-skip-symbol {
  position: absolute;
  top: 5px;
  font-size: clamp(0.76rem, 1.7cqi, 0.9rem);
  line-height: 1;
}

.foutbol-skip-number {
  position: absolute;
  bottom: 6px;
  font-size: clamp(0.48rem, 1.25cqi, 0.56rem);
  line-height: 1;
  font-weight: 700;
}

.foutbol-progress-area {
  min-width: 0;
  align-self: center;
}

.foutbol-progress {
  --progress-value: 0%;
  width: 100%;
  height: 7px;
  display: block;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 999px;
  cursor: pointer;
  outline: none;
}

.foutbol-progress::-webkit-slider-thumb {
  width: 13px;
  height: 13px;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 50%;
}

.foutbol-progress::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border-radius: 50%;
}

.foutbol-time-row {
  display: flex;
  justify-content: space-between;
  margin-top: 0.13rem;
  font-size: clamp(0.68rem, 1.6cqi, 0.78rem);
  line-height: 1.2;
  font-weight: inherit;
}

.foutbol-follow-links {
  margin-top: clamp(0.62rem, 1.8cqi, 0.85rem);
  padding-top: clamp(0.48rem, 1.5cqi, 0.65rem);
  display: grid;
  gap: 0.42rem;
  justify-items: center;
  text-align: center;
}

.foutbol-follow-label {
  font-size: clamp(0.66rem, 1.5cqi, 0.76rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.foutbol-follow-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  justify-content: center;
}

.foutbol-follow-buttons a {
  display: inline-grid;
  place-items: center;
  width: clamp(1.8rem, 4.8cqi, 2.15rem);
  height: clamp(1.8rem, 4.8cqi, 2.15rem);
  border-radius: 999px;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    opacity 0.18s ease;
}

.foutbol-follow-buttons a:hover,
.foutbol-follow-buttons a:focus {
  transform: translateY(-1px);
}

.foutbol-follow-buttons .foutbol-follow-icon {
  width: 1.12rem;
  height: 1.12rem;
  background-color: var(--publica-podcast-icon-color);
  mask: var(--publica-podcast-icon-mask) center / contain no-repeat;
  pointer-events: none;
}

.foutbol-follow-icon {
  grid-area: 1 / 1;
}

.foutbol-soft-separator {
  height: 1px;
  margin: clamp(0.62rem, 1.9cqi, 0.85rem) 0;
}

.foutbol-episodes-section {
  margin-top: clamp(0.7rem, 1.9cqi, 0.9rem);
  padding-top: clamp(0.62rem, 1.7cqi, 0.78rem);
}

.foutbol-episodes-heading {
  margin: 0 0 0.42rem;
  font-size: clamp(0.9rem, 2cqi, 1rem);
  line-height: 1.2;
  font-weight: inherit;
}

.foutbol-episodes-list {
  display: grid;
  gap: 0;
  max-height: clamp(235px, 31cqi, 285px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.25rem;
  scrollbar-width: thin;
}

.foutbol-episode-row {
  width: 100%;
  display: grid;
  grid-template-columns: 2rem clamp(32px, 7cqi, 42px) minmax(0, 1fr);
  gap: clamp(0.38rem, 1.35cqi, 0.55rem);
  align-items: center;
  padding: 0.34rem 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: left;
  cursor: pointer;
  opacity: 0.78;
  transition:
    opacity 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.foutbol-episode-row:hover,
.foutbol-episode-row:focus {
  opacity: 1;
  transform: translateX(2px);
}

.foutbol-episode-row.is-active {
  opacity: 1;
}

.foutbol-episode-number {
  font-size: clamp(0.76rem, 1.8cqi, 0.86rem);
  line-height: 1.2;
  font-weight: inherit;
  font-variant-numeric: tabular-nums;
}

.foutbol-episode-cover {
  width: clamp(32px, 7cqi, 42px);
  height: clamp(32px, 7cqi, 42px);
  object-fit: cover;
  border-radius: 8px;
}

.foutbol-episode-text {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
}

.foutbol-episode-title {
  font-size: clamp(0.82rem, 1.95cqi, 0.92rem);
  line-height: 1.14;
  font-weight: inherit;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.foutbol-episode-meta {
  font-size: clamp(0.68rem, 1.6cqi, 0.76rem);
  line-height: 1.15;
  font-weight: inherit;
}

.foutbol-loading {
  margin: 0;
  font-size: 0.86rem;
}

/* Description display modes */

.foutbol-description-full .foutbol-podcast-description,
.foutbol-description-full .foutbol-current-description {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  padding-right: 0 !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
}

.foutbol-description-full .foutbol-podcast-description::-webkit-scrollbar,
.foutbol-description-full .foutbol-current-description::-webkit-scrollbar {
  display: none;
}


/* Independent description display modes */
.foutbol-podcast-description-full .foutbol-podcast-description {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  padding-right: 0 !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
}

.foutbol-episode-description-full .foutbol-current-description {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  padding-right: 0 !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
}

.foutbol-podcast-description-full .foutbol-podcast-description::-webkit-scrollbar,
.foutbol-episode-description-full .foutbol-current-description::-webkit-scrollbar {
  display: none;
}

/* Transparent style */

.foutbol-style-transparent {
  --foutbol-title-font: var(--publica-podcast-light-font, inherit);
  --foutbol-black: var(--foutbol-text);
  --foutbol-text: var(--publica-podcast-text, #111111);
  --publica-podcast-icon-color: var(--publica-podcast-icon, #111111);
  --foutbol-muted: var(--foutbol-text);
  --foutbol-soft-muted: rgba(0, 0, 0, 0.68);
  --foutbol-border: rgba(0, 0, 0, 0.24);
  --foutbol-track: rgba(0, 0, 0, 0.20);
  --foutbol-track-soft: rgba(0, 0, 0, 0.10);

  color: var(--foutbol-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--publica-podcast-light-font, inherit) !important;
  letter-spacing: inherit !important;
}

.foutbol-style-transparent,
.foutbol-style-transparent button,
.foutbol-style-transparent input,
.foutbol-style-transparent a,
.foutbol-style-transparent span,
.foutbol-style-transparent div,
.foutbol-style-transparent p,
.foutbol-style-transparent h3,
.foutbol-style-transparent section,
.foutbol-style-transparent header,
.foutbol-style-transparent nav {
  font-family: var(--publica-podcast-light-font, inherit) !important;
}

.foutbol-style-transparent .foutbol-podcast-kicker,
.foutbol-style-transparent .foutbol-podcast-description,
.foutbol-style-transparent .foutbol-current-description {
  color: var(--foutbol-text);
}

.foutbol-style-transparent .foutbol-current-title,
.foutbol-style-transparent .foutbol-episodes-heading,
.foutbol-style-transparent .foutbol-episode-title {
  color: var(--foutbol-text);
}

.foutbol-style-transparent .foutbol-current-date,
.foutbol-style-transparent .foutbol-follow-label,
.foutbol-style-transparent .foutbol-time-row,
.foutbol-style-transparent .foutbol-episode-number,
.foutbol-style-transparent .foutbol-episode-meta,
.foutbol-style-transparent .foutbol-loading {
  color: var(--foutbol-soft-muted);
}

.foutbol-style-transparent .foutbol-podcast-artwork,
.foutbol-style-transparent .foutbol-current-artwork,
.foutbol-style-transparent .foutbol-episode-cover {
  background: transparent;
  box-shadow: none;
}

.foutbol-style-transparent .foutbol-follow-links,
.foutbol-style-transparent .foutbol-episodes-section {
  border-top: 1px solid var(--foutbol-border);
}

.foutbol-style-transparent .foutbol-follow-buttons a {
  color: var(--foutbol-black);
  background: transparent;
  border: 1px solid var(--foutbol-border);
}

.foutbol-style-transparent .foutbol-follow-buttons a:hover,
.foutbol-style-transparent .foutbol-follow-buttons a:focus {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.48);
}



.foutbol-style-transparent .foutbol-soft-separator {
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0),
    rgba(0, 0, 0, 0.34) 18%,
    rgba(0, 0, 0, 0.34) 82%,
    rgba(0, 0, 0, 0)
  );
  opacity: 1;
}

.foutbol-style-transparent .foutbol-play-toggle {
  color: #ffffff;
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.10) 24%, transparent 46%),
    linear-gradient(145deg, #0b4a1f 0%, var(--publica-podcast-accent, #00250b) 48%, #001407 100%);
  border: 1px solid rgba(0, 37, 11, 0.92);
  box-shadow:
    0 7px 14px rgba(0, 37, 11, 0.30),
    0 2px 4px rgba(0, 0, 0, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -4px 6px rgba(0, 0, 0, 0.34);
}

.foutbol-style-transparent .foutbol-play-toggle:hover,
.foutbol-style-transparent .foutbol-play-toggle:focus {
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12) 24%, transparent 46%),
    linear-gradient(145deg, var(--publica-podcast-accent, #0e5a27) 0%, #00250b 48%, #001206 100%);
  border-color: rgba(0, 37, 11, 1);
  box-shadow:
    0 9px 18px rgba(0, 37, 11, 0.36),
    0 3px 6px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    inset 0 -4px 7px rgba(0, 0, 0, 0.38);
}

.foutbol-style-transparent.is-playing .foutbol-play-toggle {
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.30), rgba(255, 255, 255, 0.10) 24%, transparent 46%),
    linear-gradient(145deg, var(--publica-podcast-accent, #0a421c) 0%, #00250b 48%, #000f05 100%);
  border-color: rgba(0, 37, 11, 1);
  box-shadow:
    0 6px 12px rgba(0, 37, 11, 0.34),
    0 2px 4px rgba(0, 0, 0, 0.20),
    inset 0 2px 4px rgba(0, 0, 0, 0.26),
    inset 0 -2px 4px rgba(255, 255, 255, 0.08);
}

.foutbol-style-transparent .foutbol-play-triangle {
  border-left: 13px solid #ffffff;
}

.foutbol-style-transparent .foutbol-pause-bars span {
  background: #ffffff;
}

.foutbol-style-transparent .foutbol-skip-button,
.foutbol-style-transparent .foutbol-episode-nav-button {
  color: var(--foutbol-text);
  background: transparent;
  border: 1px solid var(--foutbol-border);
}

.foutbol-style-transparent .foutbol-skip-button:hover,
.foutbol-style-transparent .foutbol-skip-button:focus,
.foutbol-style-transparent .foutbol-episode-nav-button:hover,
.foutbol-style-transparent .foutbol-episode-nav-button:focus {
  color: var(--foutbol-text);
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.48);
}

.foutbol-style-transparent .foutbol-progress {
  background:
    linear-gradient(
      to right,
      var(--publica-podcast-accent, var(--foutbol-orange)) 0%,
      var(--publica-podcast-accent, var(--foutbol-orange)) var(--progress-value),
      var(--foutbol-track) var(--progress-value),
      var(--foutbol-track) 100%
    );
}

.foutbol-style-transparent .foutbol-progress::-webkit-slider-thumb {
  background: var(--publica-podcast-playback, #00250b);
  border: 2px solid var(--publica-podcast-playback, #00250b);
  box-shadow: 0 2px 7px rgba(0, 37, 11, 0.24);
}

.foutbol-style-transparent .foutbol-progress::-moz-range-thumb {
  background: var(--publica-podcast-playback, #00250b);
  border: 2px solid var(--publica-podcast-playback, #00250b);
  box-shadow: 0 2px 7px rgba(0, 37, 11, 0.24);
}

.foutbol-style-transparent .foutbol-episodes-list,
.foutbol-style-transparent .foutbol-podcast-description,
.foutbol-style-transparent .foutbol-current-description {
  scrollbar-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.05);
}

.foutbol-style-transparent .foutbol-episodes-list::-webkit-scrollbar,
.foutbol-style-transparent .foutbol-podcast-description::-webkit-scrollbar,
.foutbol-style-transparent .foutbol-current-description::-webkit-scrollbar {
  width: 5px;
}

.foutbol-style-transparent .foutbol-episodes-list::-webkit-scrollbar-track,
.foutbol-style-transparent .foutbol-podcast-description::-webkit-scrollbar-track,
.foutbol-style-transparent .foutbol-current-description::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 999px;
}

.foutbol-style-transparent .foutbol-episodes-list::-webkit-scrollbar-thumb,
.foutbol-style-transparent .foutbol-podcast-description::-webkit-scrollbar-thumb,
.foutbol-style-transparent .foutbol-current-description::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.28);
  border-radius: 999px;
}

/* Dark green style */

.foutbol-style-color {
  --foutbol-green-black: #07100c;
  --foutbol-green-dark: #0b1b14;
  --foutbol-green-deep: #10271d;
  --foutbol-green: #1d4433;
  --foutbol-green-soft: #2f644f;
  --foutbol-green-mid: var(--publica-podcast-accent, #4f8f72);
  --foutbol-green-light: var(--publica-podcast-accent, #a7d2bd);
  --foutbol-cream: var(--publica-podcast-text, #f5f0e6);
  --publica-podcast-icon-color: var(--publica-podcast-icon, #a7d2bd);
  --foutbol-muted: color-mix(in srgb, var(--foutbol-cream) 68%, transparent);
  --foutbol-soft-muted: color-mix(in srgb, var(--foutbol-cream) 48%, transparent);
  --foutbol-border: rgba(245, 240, 230, 0.12);

  all: initial !important;
  container-type: inline-size;
  display: block !important;
  width: 100% !important;
  max-width: var(--foutbol-player-max-width, 1860px) !important;
  box-sizing: border-box !important;
  margin: 1.25rem auto !important;
  padding: clamp(0.7rem, 2cqi, 0.95rem) !important;
  color: var(--foutbol-cream) !important;
  background:
    radial-gradient(circle at top left, rgba(167, 210, 189, 0.10), transparent 30%),
    linear-gradient(135deg, var(--publica-podcast-background, #152d22), color-mix(in srgb, var(--publica-podcast-background, #152d22), black 43%) 76%) !important;
  border: 1px solid var(--foutbol-border) !important;
  border-radius: clamp(15px, 3cqi, 20px) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16) !important;
  overflow: hidden !important;
  font-family: var(--foutbol-title-font) !important;
  letter-spacing: 0.01em !important;
}

.foutbol-style-color,
.foutbol-style-color *,
.foutbol-style-color *::before,
.foutbol-style-color *::after {
  font-family: var(--foutbol-title-font) !important;
}

.foutbol-style-color .foutbol-podcast-artwork,
.foutbol-style-color .foutbol-current-artwork,
.foutbol-style-color .foutbol-episode-cover {
  background: var(--foutbol-green);
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.22);
}

.foutbol-style-color .foutbol-podcast-kicker,
.foutbol-style-color .foutbol-mini-podcast-title,
.foutbol-style-color .foutbol-current-date {
  color: var(--foutbol-green-light);
}

.foutbol-style-color .foutbol-episode-row.is-active .foutbol-episode-title,
.foutbol-style-color .foutbol-episode-row.is-active .foutbol-episode-number {
  color: var(--publica-podcast-active-episode, var(--publica-podcast-playback, var(--foutbol-green-light)));
}

.foutbol-style-color .foutbol-podcast-description,
.foutbol-style-color .foutbol-current-description,
.foutbol-style-color .foutbol-loading {
  color: var(--foutbol-muted);
}

.foutbol-style-color .foutbol-current-title,
.foutbol-style-color .foutbol-episodes-heading,
.foutbol-style-color .foutbol-episode-title {
  color: var(--foutbol-cream);
}

.foutbol-style-color .foutbol-follow-links,
.foutbol-style-color .foutbol-episodes-section {
  border-top: 1px solid rgba(245, 240, 230, 0.075);
}

.foutbol-style-color .foutbol-follow-label,
.foutbol-style-color .foutbol-time-row,
.foutbol-style-color .foutbol-episode-meta {
  color: var(--foutbol-soft-muted);
}

.foutbol-style-color .foutbol-follow-buttons a {
  color: var(--foutbol-green-light);
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid rgba(167, 210, 189, 0.18);
}

.foutbol-style-color .foutbol-follow-buttons a:hover,
.foutbol-style-color .foutbol-follow-buttons a:focus {
  color: var(--foutbol-cream);
  background: rgba(167, 210, 189, 0.12);
  border-color: rgba(167, 210, 189, 0.42);
}



.foutbol-style-color .foutbol-soft-separator {
  background: linear-gradient(
    to right,
    rgba(167, 210, 189, 0),
    rgba(167, 210, 189, 0.42) 18%,
    rgba(167, 210, 189, 0.42) 82%,
    rgba(167, 210, 189, 0)
  );
  opacity: 0.8;
}

.foutbol-style-color .foutbol-play-toggle {
  color: var(--foutbol-cream);
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.12) 24%, transparent 45%),
    linear-gradient(145deg, #b8d6c8 0%, var(--publica-podcast-accent, #6da78b) 34%, #285943 66%, #10271d 100%);
  border: 1px solid rgba(225, 245, 235, 0.44);
  box-shadow:
    0 6px 15px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    inset 0 -3px 5px rgba(0, 0, 0, 0.22);
}

.foutbol-style-color .foutbol-play-toggle:hover,
.foutbol-style-color .foutbol-play-toggle:focus {
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.31),
    0 0 0 4px rgba(167, 210, 189, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    inset 0 -3px 5px rgba(0, 0, 0, 0.24);
}

.foutbol-style-color.is-playing .foutbol-play-toggle {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.40), rgba(255, 255, 255, 0.12) 24%, transparent 45%),
    linear-gradient(145deg, #c3dccf 0%, var(--publica-podcast-accent, #76a98f) 34%, #2f644f 66%, #10271d 100%);
}

.foutbol-style-color .foutbol-play-triangle {
  border-left: 13px solid var(--foutbol-cream);
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.28));
}

.foutbol-style-color .foutbol-pause-bars span {
  background: var(--foutbol-cream);
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.28));
}

.foutbol-style-color .foutbol-skip-button,
.foutbol-style-color .foutbol-episode-nav-button {
  color: var(--foutbol-green-light);
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(167, 210, 189, 0.22);
}

.foutbol-style-color .foutbol-skip-button:hover,
.foutbol-style-color .foutbol-skip-button:focus,
.foutbol-style-color .foutbol-episode-nav-button:hover,
.foutbol-style-color .foutbol-episode-nav-button:focus {
  color: var(--foutbol-cream);
  background: rgba(167, 210, 189, 0.12);
  border-color: rgba(167, 210, 189, 0.42);
}

.foutbol-style-color .foutbol-progress {
  background:
    linear-gradient(
      to right,
      var(--foutbol-green-light) 0%,
      var(--foutbol-green-light) var(--progress-value),
      rgba(245, 240, 230, 0.15) var(--progress-value),
      rgba(245, 240, 230, 0.15) 100%
    );
}

.foutbol-style-color .foutbol-progress::-webkit-slider-thumb {
  background: var(--publica-podcast-playback, var(--foutbol-green-light));
  border: 2px solid var(--publica-podcast-playback, var(--foutbol-green-light));
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.24);
}

.foutbol-style-color .foutbol-progress::-moz-range-thumb {
  background: var(--publica-podcast-playback, var(--foutbol-green-light));
  border: 2px solid var(--publica-podcast-playback, var(--foutbol-green-light));
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.24);
}

.foutbol-style-color .foutbol-episodes-list,
.foutbol-style-color .foutbol-podcast-description,
.foutbol-style-color .foutbol-current-description {
  scrollbar-color: rgba(167, 210, 189, 0.42) rgba(255, 255, 255, 0.04);
}

.foutbol-style-color .foutbol-episodes-list::-webkit-scrollbar,
.foutbol-style-color .foutbol-podcast-description::-webkit-scrollbar,
.foutbol-style-color .foutbol-current-description::-webkit-scrollbar {
  width: 5px;
}

.foutbol-style-color .foutbol-episodes-list::-webkit-scrollbar-track,
.foutbol-style-color .foutbol-podcast-description::-webkit-scrollbar-track,
.foutbol-style-color .foutbol-current-description::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
}

.foutbol-style-color .foutbol-episodes-list::-webkit-scrollbar-thumb,
.foutbol-style-color .foutbol-podcast-description::-webkit-scrollbar-thumb,
.foutbol-style-color .foutbol-current-description::-webkit-scrollbar-thumb {
  background: rgba(167, 210, 189, 0.38);
  border-radius: 999px;
}

/* Responsive */

@container (min-width: 620px) {
  .foutbol-podcast-description-scroll .foutbol-podcast-description {
    max-height: 5.25rem;
  }

  .foutbol-episode-description-scroll .foutbol-current-description {
    max-height: 4.1rem;
  }
}

@container (min-width: 780px) {
  .foutbol-podcast-description-scroll .foutbol-podcast-description {
    max-height: 6.25rem;
  }

  .foutbol-episode-description-scroll .foutbol-current-description {
    max-height: 5.1rem;
  }
}

@container (max-width: 620px) {
  .foutbol-current-player {
    grid-template-columns: minmax(0, 1fr) clamp(64px, 16cqi, 86px);
  }

  .foutbol-current-artwork {
    width: clamp(64px, 16cqi, 86px);
    height: clamp(64px, 16cqi, 86px);
  }

  .foutbol-episode-description-scroll .foutbol-current-description {
    max-height: 3.45rem;
  }

  .foutbol-episodes-list {
    max-height: 255px;
  }
}

@container (max-width: 470px) {
  .foutbol-player {
    padding: 0.34rem !important;
  }

  .foutbol-podcast-header {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .foutbol-podcast-artwork {
    width: 56px;
    height: 56px;
    border-radius: 10px;
  }

  .foutbol-podcast-description-scroll .foutbol-podcast-description {
    max-height: 3.2rem;
  }

  .foutbol-current-player,
  .foutbol-mode-episode.foutbol-artwork-left .foutbol-current-player,
  .foutbol-mode-episode.foutbol-artwork-right .foutbol-current-player {
    grid-template-columns: 1fr;
    grid-template-areas:
      "artwork"
      "info"
      "controls";
    gap: 0.58rem;
    text-align: center;
  }

  .foutbol-current-artwork {
    justify-self: center;
    width: clamp(76px, 26cqi, 98px);
    height: clamp(76px, 26cqi, 98px);
    border-radius: 12px;
  }

  .foutbol-current-info {
    text-align: center;
  }

  .foutbol-current-title {
    -webkit-line-clamp: 3;
  }

  .foutbol-current-date {
    margin-bottom: 0.28rem;
  }

  .foutbol-episode-description-scroll .foutbol-current-description {
    max-height: 3.2rem;
  }


  .foutbol-controls {
    grid-template-columns: 1fr;
    gap: 0.46rem;
    margin-top: 0.12rem;
    justify-items: center;
  }

  .foutbol-buttons {
    justify-content: center;
  }

  .foutbol-progress-area {
    width: 100%;
    max-width: 340px;
    justify-self: center;
  }

  .foutbol-episode-row {
    grid-template-columns: 1.8rem 34px minmax(0, 1fr);
  }

  .foutbol-episode-cover {
    width: 34px;
    height: 34px;
  }

  .foutbol-episode-title {
    -webkit-line-clamp: 2;
  }
}

@container (max-width: 350px) {
  .foutbol-podcast-header {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .foutbol-podcast-artwork {
    margin: 0 auto;
  }

  .foutbol-podcast-description {
    text-align: left;
  }

  .foutbol-follow-buttons {
    justify-content: center;
  }

  .foutbol-current-artwork {
    width: 72px;
    height: 72px;
  }

  .foutbol-progress-area {
    max-width: 100%;
  }

  .foutbol-episode-row {
    grid-template-columns: 1.7rem 32px minmax(0, 1fr);
  }

  .foutbol-episode-cover {
    width: 32px;
    height: 32px;
  }
}


/* Use the player font for the single-episode podcast title. */
.foutbol-player.foutbol-mode-episode .foutbol-mini-podcast-title,
.foutbol-player.foutbol-mode-episode.foutbol-artwork-left .foutbol-mini-podcast-title,
.foutbol-player.foutbol-mode-episode.foutbol-artwork-right .foutbol-mini-podcast-title,
.foutbol-style-transparent.foutbol-mode-episode .foutbol-mini-podcast-title,
.foutbol-style-color.foutbol-mode-episode .foutbol-mini-podcast-title {
  font-family: var(--foutbol-title-font) !important;
  color: var(--foutbol-orange) !important;
  font-size: clamp(0.82rem, 1.75cqi, 0.98rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  font-weight: 700 !important;
}


/* Typography hard overrides */
.foutbol-style-transparent .foutbol-podcast-name,
.foutbol-style-transparent .foutbol-mini-podcast-title {
  font-family: var(--foutbol-title-font) !important;
  color: var(--foutbol-orange) !important;
}

.foutbol-style-color,
.foutbol-style-color *,
.foutbol-style-color *::before,
.foutbol-style-color *::after,
.foutbol-style-color button,
.foutbol-style-color input,
.foutbol-style-color a,
.foutbol-style-color span,
.foutbol-style-color div,
.foutbol-style-color p,
.foutbol-style-color h2,
.foutbol-style-color h3,
.foutbol-style-color section,
.foutbol-style-color header,
.foutbol-style-color nav {
  font-family: var(--foutbol-title-font) !important;
}


/* Transparent progress color override */
.foutbol-style-transparent .foutbol-progress {
  background:
    linear-gradient(
      to right,
      var(--publica-podcast-accent, var(--foutbol-orange)) 0%,
      var(--publica-podcast-accent, var(--foutbol-orange)) var(--progress-value),
      var(--foutbol-track) var(--progress-value),
      var(--foutbol-track) 100%
    ) !important;
}

.foutbol-style-transparent .foutbol-progress::-webkit-slider-thumb {
  background: var(--publica-podcast-playback, #00250b) !important;
  border: 2px solid var(--publica-podcast-playback, #00250b) !important;
  box-shadow: 0 2px 7px rgba(0, 37, 11, 0.24) !important;
}

.foutbol-style-transparent .foutbol-progress::-moz-range-thumb {
  background: var(--publica-podcast-playback, #00250b) !important;
  border: 2px solid var(--publica-podcast-playback, #00250b) !important;
  box-shadow: 0 2px 7px rgba(0, 37, 11, 0.24) !important;
}


/* Mobile/transparent color and artwork alignment fixes */
.foutbol-style-transparent .foutbol-episode-row,
.foutbol-style-transparent .foutbol-episode-row:visited,
.foutbol-style-transparent .foutbol-episode-row:hover,
.foutbol-style-transparent .foutbol-episode-row:focus,
.foutbol-style-transparent .foutbol-episode-row:active {
  color: var(--foutbol-text) !important;
  -webkit-tap-highlight-color: rgba(255, 128, 1, 0.14);
}

.foutbol-style-transparent .foutbol-episode-title,
.foutbol-style-transparent .foutbol-episode-title:visited,
.foutbol-style-transparent .foutbol-episode-title:hover,
.foutbol-style-transparent .foutbol-episode-title:focus,
.foutbol-style-transparent .foutbol-episode-title:active {
  color: var(--foutbol-text) !important;
}

.foutbol-style-transparent .foutbol-episode-row.is-active .foutbol-episode-title,
.foutbol-style-transparent .foutbol-episode-row.is-active .foutbol-episode-number {
  color: var(--publica-podcast-active-episode, var(--publica-podcast-metal)) !important;
}

.foutbol-style-transparent .foutbol-episode-number,
.foutbol-style-transparent .foutbol-episode-meta {
  color: var(--foutbol-soft-muted) !important;
}

@container (max-width: 470px) {
  .foutbol-mode-episode.foutbol-artwork-left .foutbol-current-artwork,
  .foutbol-mode-episode.foutbol-artwork-right .foutbol-current-artwork,
  .foutbol-style-transparent.foutbol-mode-episode.foutbol-artwork-left .foutbol-current-artwork,
  .foutbol-style-transparent.foutbol-mode-episode.foutbol-artwork-right .foutbol-current-artwork {
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* Derive the metallic playback controls from each style's main color. */
.foutbol-style-transparent {
  --publica-podcast-metal: var(--publica-podcast-playback, var(--publica-podcast-text, #111111));
}
.foutbol-style-color {
  --publica-podcast-metal: var(--publica-podcast-playback, var(--publica-podcast-background, #152d22));
}
.foutbol-player:is(.foutbol-style-transparent, .foutbol-style-color) .foutbol-play-toggle {
  background: var(--publica-podcast-metal);
  background: linear-gradient(145deg,
    color-mix(in srgb, var(--publica-podcast-metal), white 68%) 0%,
    color-mix(in srgb, var(--publica-podcast-metal), white 28%) 32%,
    var(--publica-podcast-metal) 52%,
    color-mix(in srgb, var(--publica-podcast-metal), black 55%) 100%);
  border-color: color-mix(in srgb, var(--publica-podcast-metal), white 48%);
}
.foutbol-player:is(.foutbol-style-transparent, .foutbol-style-color) .foutbol-play-toggle:hover,
.foutbol-player:is(.foutbol-style-transparent, .foutbol-style-color) .foutbol-play-toggle:focus-visible {
  filter: brightness(1.13);
}

.foutbol-player:is(.foutbol-style-transparent, .foutbol-style-color) :is(.foutbol-skip-button, .foutbol-episode-nav-button) {
  color: var(--publica-podcast-playback, currentColor);
}

/* Original Futbol gradients for the original playback palette. */
.foutbol-player.foutbol-original-playback.foutbol-style-transparent .foutbol-play-toggle {
  color: #ffffff;
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.10) 24%, transparent 46%),
    linear-gradient(145deg, #0b4a1f 0%, #00250b 48%, #001407 100%);
  border: 1px solid rgba(0, 37, 11, 0.92);
  box-shadow:
    0 7px 14px rgba(0, 37, 11, 0.30),
    0 2px 4px rgba(0, 0, 0, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -4px 6px rgba(0, 0, 0, 0.34);
}
.foutbol-player.foutbol-original-playback.foutbol-style-transparent .foutbol-play-toggle:hover,
.foutbol-player.foutbol-original-playback.foutbol-style-transparent .foutbol-play-toggle:focus {
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12) 24%, transparent 46%),
    linear-gradient(145deg, #0e5a27 0%, #00250b 48%, #001206 100%);
  border-color: rgba(0, 37, 11, 1);
  box-shadow:
    0 9px 18px rgba(0, 37, 11, 0.36),
    0 3px 6px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    inset 0 -4px 7px rgba(0, 0, 0, 0.38);
}
.foutbol-player.foutbol-original-playback.foutbol-style-transparent.is-playing .foutbol-play-toggle {
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.30), rgba(255, 255, 255, 0.10) 24%, transparent 46%),
    linear-gradient(145deg, #0a421c 0%, #00250b 48%, #000f05 100%);
  border-color: rgba(0, 37, 11, 1);
  box-shadow:
    0 6px 12px rgba(0, 37, 11, 0.34),
    0 2px 4px rgba(0, 0, 0, 0.20),
    inset 0 2px 4px rgba(0, 0, 0, 0.26),
    inset 0 -2px 4px rgba(255, 255, 255, 0.08);
}
.foutbol-player.foutbol-original-playback.foutbol-style-color .foutbol-play-toggle {
  color: var(--foutbol-cream);
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.12) 24%, transparent 45%),
    linear-gradient(145deg, #b8d6c8 0%, #6da78b 34%, #285943 66%, #10271d 100%);
  border: 1px solid rgba(225, 245, 235, 0.44);
  box-shadow:
    0 6px 15px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    inset 0 -3px 5px rgba(0, 0, 0, 0.22);
}
.foutbol-player.foutbol-original-playback.foutbol-style-color .foutbol-play-toggle:hover,
.foutbol-player.foutbol-original-playback.foutbol-style-color .foutbol-play-toggle:focus {
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.31),
    0 0 0 4px rgba(167, 210, 189, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    inset 0 -3px 5px rgba(0, 0, 0, 0.24);
}
.foutbol-player.foutbol-original-playback.foutbol-style-color.is-playing .foutbol-play-toggle {
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.40), rgba(255, 255, 255, 0.12) 24%, transparent 45%),
    linear-gradient(145deg, #c3dccf 0%, #76a98f 34%, #2f644f 66%, #10271d 100%);
}

.foutbol-player.foutbol-original-playback .foutbol-play-toggle:hover,
.foutbol-player.foutbol-original-playback .foutbol-play-toggle:focus-visible {
  filter: none;
}

/* Justify podcast and episode descriptions in both player styles. */
div.foutbol-player[id] p:is(.foutbol-podcast-description, .foutbol-current-description) {
  text-align: justify !important;
  text-align-last: start !important;
  text-justify: inter-word;
  -webkit-hyphens: auto !important;
  hyphens: auto !important;
}
