/* ===========================
   PAGE: PROGEPI (extrait de site.css)
   =========================== */

.tvp-tv-direct-menu{
  margin-top: 0.65rem;
}

.tvp-tv-direct-menu-scroll{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.45rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 0.28rem 0.08rem 0.48rem;
}

.tvp-tv-direct-menu-btn{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  border: 1px solid var(--tvp-direct-border);
  border-radius: 999px;
  background: var(--tvp-direct-surface);
  color: var(--tvp-direct-text);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.38rem 0.82rem;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.tvp-tv-direct-menu-btn:hover{
  color: var(--tvp-direct-text);
  border-color: var(--tvp-direct-border-strong);
  background: var(--tvp-direct-surface-muted);
}

.tvp-tv-direct-menu-btn:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 2px;
}

.tvp-tv-direct-menu-btn.is-active{
  border-color: var(--tvp-direct-live-bg);
  background: var(--tvp-direct-live-bg);
  color: var(--tvp-direct-live-text);
}

.tvp-tv-direct-menu-btn--admin{
  border-color: transparent;
  background:
    linear-gradient(var(--tvp-direct-surface), var(--tvp-direct-surface)) padding-box,
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, var(--tvp-u-danger) 56%, var(--tvp-direct-border-strong) 44%) 0 0.34rem,
      color-mix(in srgb, var(--tvp-direct-surface) 68%, transparent 32%) 0.34rem 0.68rem
    ) border-box;
}

.tvp-tv-direct-menu-btn--admin:hover{
  border-color: transparent;
  background:
    linear-gradient(var(--tvp-direct-surface-muted), var(--tvp-direct-surface-muted)) padding-box,
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, var(--tvp-u-danger) 62%, var(--tvp-direct-border-strong) 38%) 0 0.34rem,
      color-mix(in srgb, var(--tvp-direct-surface-muted) 62%, transparent 38%) 0.34rem 0.68rem
    ) border-box;
}

.tvp-tv-direct-menu-btn--admin.is-active,
.tvp-tv-direct-menu-btn--admin.is-active:hover{
  border-color: transparent;
  background:
    linear-gradient(var(--tvp-direct-live-bg), var(--tvp-direct-live-bg)) padding-box,
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, #ffffff 28%, var(--tvp-u-danger) 72%) 0 0.34rem,
      color-mix(in srgb, var(--tvp-direct-live-bg) 76%, transparent 24%) 0.34rem 0.68rem
    ) border-box;
  color: var(--tvp-direct-live-text);
}

/* ===========================
   PAGE: PROGEPI
   =========================== */
.tvp-progepi-page,
#progepi_watch_modal{
  --tvp-progepi-card-bg: #ffffff;
  --tvp-progepi-card-border: #d7e2ef;
  --tvp-progepi-card-border-hover: #b9cbdf;
  --tvp-progepi-card-shadow: 0 1px 4px rgb(15 23 42 / 0.1);
  --tvp-progepi-card-shadow-hover: 0 12px 24px rgb(15 23 42 / 0.15);
  --tvp-progepi-card-title: #112033;
  --tvp-progepi-card-meta: #49607b;
  --tvp-progepi-media-bg: #e7eff8;
  --tvp-progepi-logo-bg: rgb(255 255 255 / 0.9);
  --tvp-progepi-logo-border: #d2deec;
  --tvp-progepi-aud-wrap-bg: #f7fbff;
  --tvp-progepi-aud-wrap-border: #cddcf0;
  --tvp-progepi-aud-head-bg: #e7f0fb;
  --tvp-progepi-aud-row-alt: #f4f8ff;
  --tvp-progepi-aud-row-hover: #e8f1fd;
  --tvp-progepi-aud-head-text: #304866;
  --tvp-progepi-aud-link: #1f3a5b;
  --tvp-progepi-aud-link-hover: #102a45;
  --tvp-progepi-aud-cta-bg: #0f57b6;
  --tvp-progepi-aud-cta-bg-hover: #0c4692;
  --tvp-progepi-aud-cta-text: #ffffff;
  --tvp-progepi-aud-panel-bg: linear-gradient(180deg, color-mix(in srgb, var(--tvp-progepi-card-bg) 96%, #ffffff 4%) 0%, color-mix(in srgb, var(--tvp-progepi-card-bg) 74%, var(--tvp-progepi-aud-wrap-bg) 26%) 100%);
  --tvp-progepi-aud-surface-bg: color-mix(in srgb, var(--tvp-progepi-card-bg) 84%, var(--tvp-progepi-aud-wrap-bg) 16%);
  --tvp-progepi-aud-surface-border: color-mix(in srgb, var(--tvp-progepi-aud-wrap-border) 84%, var(--tvp-progepi-card-bg) 16%);
  --tvp-progepi-aud-surface-highlight: rgb(255 255 255 / 0.72);
  --tvp-progepi-aud-row-even: rgb(255 255 255 / 0.78);
  --tvp-progepi-aud-grid: rgba(148, 163, 184, 0.22);
  --tvp-progepi-aud-pdm-line: #1d4ed8;
  --tvp-progepi-aud-pdm-axis: #3565c0;
  --tvp-progepi-aud-status-direct-border: #f2bec6;
  --tvp-progepi-aud-status-direct-bg: #fff0f3;
  --tvp-progepi-aud-status-direct-text: #c42b3e;
  --tvp-progepi-aud-status-inedit-border: #f4d197;
  --tvp-progepi-aud-status-inedit-bg: #fffaef;
  --tvp-progepi-aud-status-inedit-text: #b96b05;
  --tvp-progepi-aud-status-rerun-border: #c8dbe4;
  --tvp-progepi-aud-status-rerun-bg: #eff7fb;
  --tvp-progepi-aud-status-rerun-text: #486f81;
  --tvp-progepi-text-block-bg: linear-gradient(180deg, #f8fbff 0%, #eef4fc 100%);
  --tvp-progepi-text-block-bg-critique: linear-gradient(180deg, #faf5f7 0%, #f2e8ec 100%);
  --tvp-progepi-text-block-border: #d2dfef;
  --tvp-progepi-text-block-shadow: 0 10px 24px rgb(15 23 42 / 0.09);
  --tvp-progepi-text-summary-accent: #4f81c7;
  --tvp-progepi-text-critique-accent: #d55367;
  --tvp-progepi-text-link: #1f4f88;
  --tvp-progepi-text-link-hover: #0f3d6f;
  --tvp-progepi-progress-track: #d9e5f3;
  --tvp-progepi-progress-border: #c8d7e8;
  --tvp-progepi-progress-value: #dc3545;
  --tvp-progepi-pill-bg: #ffffff;
  --tvp-progepi-pill-border: #d3deeb;
  --tvp-progepi-pill-border-strong: #c2d3e8;
  --tvp-progepi-pill-text: #23364d;
  --tvp-progepi-pill-link-bg: #eef4ff;
  --tvp-progepi-pill-link-text: #1f3b5f;
  --tvp-progepi-pill-focus: #0f6fdb;
  --tvp-progepi-pill-flag-bg: #253146;
  --tvp-progepi-pill-flag-text: #f8fafc;
  --tvp-progepi-pill-rating-bg: #e6edf7;
  --tvp-progepi-pill-rating-text: #23364d;
  --tvp-progepi-pill-rating-star: #facc15;
  --tvp-progepi-live-current-bg: #f2dde4;
  --tvp-progepi-live-current-border: #e2c0cb;
  --tvp-progepi-live-next-bg: #e6edf7;
  --tvp-progepi-live-next-border: #c4d5e8;
  --tvp-progepi-live-btn-bg: #b42335;
  --tvp-progepi-live-btn-border: #991c2b;
  --tvp-progepi-live-btn-bg-hover: #991c2b;
  --tvp-progepi-live-btn-text: #ffffff;
  --tvp-progepi-reviews-title: #111827;
  --tvp-progepi-reviews-muted: #475569;
  --tvp-progepi-reviews-divider: #d7dce5;
  --tvp-progepi-reviews-track: #d9dbe1;
  --tvp-progepi-reviews-fill-start: #f6c400;
  --tvp-progepi-reviews-fill-end: #ff9800;
  --tvp-progepi-reviews-head-icon-bg: linear-gradient(180deg, #f03b4f 0%, #dd2339 100%);
  --tvp-progepi-reviews-head-icon-shadow: 0 14px 28px rgb(221 35 57 / 0.2);
  --tvp-progepi-mnxt-btn-text: #243249;
  --tvp-progepi-mnxt-btn-border: #5b677d;
  --tvp-progepi-mnxt-btn-bg: rgb(255 255 255 / 0.16);
  --tvp-progepi-mnxt-btn-border-hover: #3f4b61;
  --tvp-progepi-mnxt-btn-bg-hover: rgb(255 255 255 / 0.28);
  --tvp-progepi-mnxt-btn-shadow-hover: 0 6px 14px rgb(15 23 42 / 0.12);
  --tvp-progepi-mnxt-btn-shadow-active: 0 2px 6px rgb(15 23 42 / 0.12);
  --tvp-progepi-play-bg: rgb(2 6 23 / 0.58);
  --tvp-progepi-play-color: #ffffff;
  --tvp-progepi-vod-surface: var(--tvp-progepi-card-bg);
  --tvp-progepi-vod-surface-muted: color-mix(in srgb, var(--tvp-progepi-card-bg) 90%, var(--tvp-u-surface-muted) 10%);
  --tvp-progepi-vod-border: var(--tvp-progepi-card-border);
  --tvp-progepi-vod-border-strong: var(--tvp-progepi-card-border-hover);
  --tvp-progepi-vod-text: var(--tvp-progepi-card-meta);
  --tvp-progepi-vod-title: var(--tvp-progepi-card-title);
  --tvp-progepi-vod-focus: var(--tvp-direct-focus);
  --tvp-progepi-vod-card-shadow: var(--tvp-progepi-card-shadow);
  --tvp-progepi-vod-card-shadow-hover: var(--tvp-progepi-card-shadow-hover);
  --tvp-progepi-vod-chip-bg: var(--tvp-progepi-pill-link-bg);
  --tvp-progepi-vod-chip-border: var(--tvp-progepi-pill-border-strong);
  --tvp-progepi-vod-chip-text: var(--tvp-progepi-pill-link-text);
  --tvp-progepi-vod-meta-chip-bg: var(--tvp-progepi-pill-bg);
  --tvp-progepi-vod-meta-chip-border: var(--tvp-progepi-pill-border);
  --tvp-progepi-vod-meta-chip-text: var(--tvp-progepi-pill-text);
  --tvp-progepi-watch-surface: #ffffff;
  --tvp-progepi-watch-surface-muted: #f8fafc;
  --tvp-progepi-watch-border: #dbe3ef;
  --tvp-progepi-watch-border-strong: #c5d2e2;
  --tvp-progepi-watch-text-muted: #475569;
  --tvp-progepi-watch-title-color: #0f172a;
  --tvp-progepi-watch-focus: #0f6fdb;
  --tvp-direct-surface: #ffffff;
  --tvp-direct-surface-muted: #f8fafc;
  --tvp-direct-border: #dbe3ef;
  --tvp-direct-border-strong: #c6d3e2;
  --tvp-direct-text: #1f2937;
  --tvp-direct-live-bg: #dc3545;
  --tvp-direct-live-text: #ffffff;
  --tvp-direct-focus: #0f6fdb;
}

.tvp-progepi-page .tvp-icon{
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -0.125em;
}

/* Unified chapter heading style for progepi sections (same visual as "Rôles principaux"). */
.tvp-progepi-page .tvp_chapitre,
#progepi_watch_modal .tvp_chapitre{
  border-left: 0;
  margin-top: 1.2rem;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.008em;
  padding-left: 0;
}

.tvp-progepi-page .tvp_chapitre a:not(.tvp-progepi-admin-link),
#progepi_watch_modal .tvp_chapitre a:not(.tvp-progepi-admin-link){
  color: inherit;
  text-decoration: none;
}

.tvp-cursor-pointer{
  cursor: pointer;
}

.tvp-clear-both{
  clear: both;
}

.tvp-progepi-news-section{
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tvp-progepi-news-intro{
  margin: 0;
  color: var(--tvp-u-text-muted);
  font-size: 0.96rem;
  line-height: 1.45;
}

.tvp-progepi-news-cards{
  margin: 0;
  --tvp-news-page-surface: #ffffff;
  --tvp-news-page-surface-muted: #f8fafc;
  --tvp-news-page-border: #dbe3ef;
  --tvp-news-page-border-strong: #c5d1e1;
  --tvp-news-page-text: #1f2937;
  --tvp-news-page-text-muted: #526174;
  --tvp-news-page-title: #0f172a;
  --tvp-news-page-media-bg: #e2e8f0;
  --tvp-news-page-shadow: 0 1px 3px rgb(15 23 42 / 0.09);
  --tvp-news-page-shadow-hover: 0 8px 20px rgb(15 23 42 / 0.16);
  --tvp-news-page-focus: #0f6fdb;
  --tvp-news-admin-chip-bg: #fff1f3;
  --tvp-news-admin-chip-border: #f3c7cf;
  --tvp-news-admin-chip-text: #9f2030;
}

.tvp-progepi-news-cards .tvp-news-list-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.92rem;
}

.tvp-progepi-news-cards .tvp-news-list-card{
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--tvp-news-page-border);
  border-radius: 0.78rem;
  background: var(--tvp-news-page-surface);
  box-shadow: var(--tvp-news-page-shadow);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tvp-progepi-news-cards .tvp-news-list-card:hover{
  border-color: var(--tvp-news-page-border-strong);
  box-shadow: var(--tvp-news-page-shadow-hover);
  transform: translateY(-1px);
}

.tvp-progepi-news-cards .tvp-news-list-card-link{
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
}

.tvp-progepi-news-cards .tvp-news-list-media{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--tvp-news-page-media-bg);
}

.tvp-progepi-news-cards .tvp-news-list-media--placeholder{
  background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
}

.tvp-progepi-news-cards .tvp-news-list-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.22s ease;
}

.tvp-progepi-news-cards .tvp-news-list-card:hover .tvp-news-list-image{
  transform: scale(1.02);
}

.tvp-progepi-news-cards .tvp-news-list-category{
  position: absolute;
  left: 0.6rem;
  bottom: 0.6rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 1.2rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 999px;
  background: #c61f2f;
  color: #ffffff;
  border: 1px solid rgb(255 255 255 / 0.22);
  padding: 0.2rem 0.55rem;
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1;
}

.tvp-progepi-news-cards .tvp-news-list-body{
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 0.46rem;
  padding: 0.82rem 0.86rem 0.9rem;
}

.tvp-progepi-news-cards .tvp-news-list-title,
.tvp-progepi-news-cards .tvp-news-list-body > .tvp_chapitre{
  margin: 0;
  border-left: 0;
  padding-left: 0;
  color: var(--tvp-news-page-title);
  font-size: clamp(1.05rem, 0.98rem + 0.38vw, 1.28rem);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.012em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.tvp-progepi-news-cards .tvp-news-list-card:hover .tvp-news-list-title,
.tvp-progepi-news-cards .tvp-news-list-card:hover .tvp-news-list-body > .tvp_chapitre{
  text-decoration: underline;
  text-decoration-color: #6e88a6;
}

.tvp-progepi-news-cards .tvp-news-list-meta{
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.36rem;
  color: var(--tvp-news-page-text-muted);
  font-size: 0.86rem;
  line-height: 1.28;
  font-weight: 500;
}

.tvp-progepi-news-cards .tvp-news-list-meta-dot{
  opacity: 0.6;
}

.tvp-progepi-news-cards .tvp-news-list-admin-hits{
  display: inline-flex;
  align-items: center;
  padding: 0.08rem 0.44rem;
  border: 1px solid var(--tvp-news-admin-chip-border);
  border-radius: 999px;
  background: var(--tvp-news-admin-chip-bg);
  color: var(--tvp-news-admin-chip-text);
  font-weight: 600;
  font-size: 0.76rem;
  line-height: 1.1;
}

.tvp-progepi-news-cards .tvp-news-list-excerpt{
  margin: 0;
  color: var(--tvp-news-page-text);
  font-size: 1rem;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.tvp-progepi-news-cards .tvp-news-list-empty{
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--tvp-news-page-border);
  border-radius: 0.7rem;
  background: var(--tvp-news-page-surface-muted);
  color: var(--tvp-news-page-text-muted);
}

.tvp-progepi-news-cards .tvp-news-list-card-link:focus-visible{
  outline: 2px solid var(--tvp-news-page-focus);
  outline-offset: 2px;
}

@media (min-width: 1180px) {
  .tvp-progepi-news-cards .tvp-news-list-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

html[data-theme="dark"] .tvp-progepi-news-cards,
html.dark .tvp-progepi-news-cards{
  --tvp-news-page-surface: #111827;
  --tvp-news-page-surface-muted: #161f2d;
  --tvp-news-page-border: #334155;
  --tvp-news-page-border-strong: #4b647f;
  --tvp-news-page-text: #dbe4ef;
  --tvp-news-page-text-muted: #a9bacf;
  --tvp-news-page-title: #e2e8f0;
  --tvp-news-page-media-bg: #0f172a;
  --tvp-news-page-shadow: 0 2px 6px rgb(2 6 23 / 0.5);
  --tvp-news-page-shadow-hover: 0 8px 20px rgb(2 6 23 / 0.55);
  --tvp-news-page-focus: #7aa8ff;
  --tvp-news-admin-chip-bg: #3a1f27;
  --tvp-news-admin-chip-border: #6a3640;
  --tvp-news-admin-chip-text: #f0b6bf;
}

html[data-theme="dark"] .tvp-progepi-news-cards .tvp-news-list-media--placeholder,
html.dark .tvp-progepi-news-cards .tvp-news-list-media--placeholder{
  background: linear-gradient(135deg, #1f3147 0%, #24384f 100%);
}

.tvp-progepi-aud-chart-panel{
  margin-bottom: 1rem;
  border: 1px solid var(--tvp-progepi-aud-wrap-border);
  border-radius: 1rem;
  background: var(--tvp-progepi-aud-panel-bg);
  box-shadow: 0 10px 24px rgb(15 23 42 / 0.08);
  padding: 1rem;
}

.tvp-progepi-aud-chart-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.tvp-progepi-aud-chart-copy{
  max-width: 46rem;
}

.tvp-progepi-aud-chart-title{
  margin: 0;
}

.tvp-progepi-aud-chart-intro{
  margin: 0.4rem 0 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.97rem;
  line-height: 1.5;
}

.tvp-progepi-aud-chart-statuses{
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.tvp-progepi-aud-status{
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
  padding: 0.42rem 0.66rem;
}

.tvp-progepi-aud-status::before{
  content: "";
  width: 0.62rem;
  height: 0.62rem;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, currentColor 14%, transparent);
}

.tvp-progepi-aud-status--direct{
  border-color: var(--tvp-progepi-aud-status-direct-border);
  background: var(--tvp-progepi-aud-status-direct-bg);
  color: var(--tvp-progepi-aud-status-direct-text);
}

.tvp-progepi-aud-status--inedit{
  border-color: var(--tvp-progepi-aud-status-inedit-border);
  background: var(--tvp-progepi-aud-status-inedit-bg);
  color: var(--tvp-progepi-aud-status-inedit-text);
}

.tvp-progepi-aud-status--rerun{
  border-color: var(--tvp-progepi-aud-status-rerun-border);
  background: var(--tvp-progepi-aud-status-rerun-bg);
  color: var(--tvp-progepi-aud-status-rerun-text);
}

.tvp-progepi-aud-kpis{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.9rem;
}

.tvp-progepi-aud-kpi{
  display: grid;
  gap: 0.24rem;
  border: 1px solid var(--tvp-progepi-aud-surface-border);
  border-radius: 0.9rem;
  background: var(--tvp-progepi-aud-surface-bg);
  box-shadow: 0 8px 18px rgb(15 23 42 / 0.05);
  padding: 0.85rem 0.9rem;
}

.tvp-progepi-aud-kpi-label{
  color: var(--tvp-progepi-card-meta);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tvp-progepi-aud-kpi-value{
  color: var(--tvp-progepi-card-title);
  font-size: 1.46rem;
  line-height: 1;
}

.tvp-progepi-aud-kpi-meta{
  color: var(--tvp-progepi-card-meta);
  font-size: 0.88rem;
  line-height: 1.4;
}

.tvp-progepi-aud-chart-scroll{
  margin-top: 0.95rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.45rem;
  scrollbar-width: thin;
  scrollbar-color: var(--tvp-progepi-aud-wrap-border) transparent;
}

.tvp-progepi-aud-chart-scroll:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 3px;
}

.tvp-progepi-aud-chart-scroll::-webkit-scrollbar{
  height: 0.5rem;
}

.tvp-progepi-aud-chart-scroll::-webkit-scrollbar-track{
  background: transparent;
}

.tvp-progepi-aud-chart-scroll::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: color-mix(in srgb, var(--tvp-progepi-aud-wrap-border) 84%, var(--tvp-progepi-card-bg) 16%);
}

.tvp-progepi-aud-chart-stage{
  position: relative;
  height: 22rem;
  min-height: 22rem;
}

.tvp-progepi-aud-chart-wrap{
  position: relative;
  height: 100%;
  min-height: 22rem;
  border: 1px solid var(--tvp-progepi-aud-surface-border);
  border-radius: 1rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--tvp-progepi-aud-surface-bg) 92%, var(--tvp-progepi-card-bg) 8%) 0%, color-mix(in srgb, var(--tvp-progepi-aud-wrap-bg) 84%, var(--tvp-progepi-card-bg) 16%) 100%);
  box-shadow: inset 0 1px 0 var(--tvp-progepi-aud-surface-highlight);
  padding: 0.8rem 0.8rem 0.55rem;
}

.tvp-progepi-aud-chart-wrap canvas{
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.tvp-progepi-aud-history-panel{
  border: 1px solid var(--tvp-progepi-aud-wrap-border);
  border-radius: 1rem;
  background: var(--tvp-progepi-aud-panel-bg);
  box-shadow: 0 10px 24px rgb(15 23 42 / 0.08);
  padding: 1rem;
}

.tvp-progepi-aud-history-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.tvp-progepi-aud-history-copy{
  max-width: 42rem;
}

.tvp-progepi-aud-history-title{
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 1.36rem;
  line-height: 1.2;
}

.tvp-progepi-aud-history-intro{
  margin: 0.42rem 0 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.98rem;
  line-height: 1.45;
}

.tvp-progepi-aud-history-intro strong{
  color: var(--tvp-progepi-card-title);
  font-weight: 800;
}

.tvp-progepi-aud-history-pills{
  display: flex;
  align-items: stretch;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.tvp-progepi-aud-history-pill{
  display: grid;
  gap: 0.16rem;
  min-width: 9rem;
  border: 1px solid var(--tvp-progepi-aud-surface-border);
  border-radius: 0.9rem;
  background: var(--tvp-progepi-aud-surface-bg);
  box-shadow: 0 8px 18px rgb(15 23 42 / 0.05);
  padding: 0.78rem 0.86rem;
}

.tvp-progepi-aud-history-pill-label{
  color: var(--tvp-progepi-card-meta);
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tvp-progepi-aud-history-pill-value{
  color: var(--tvp-progepi-card-title);
  font-size: 1rem;
  line-height: 1.25;
}

.tvp-progepi-aud-table-wrap{
  margin-top: 0.9rem;
  border: 1px solid var(--tvp-progepi-aud-surface-border);
  border-radius: 1rem;
  background: var(--tvp-progepi-aud-surface-bg);
  box-shadow: inset 0 1px 0 var(--tvp-progepi-aud-surface-highlight);
  overflow: auto;
}

.tvp-progepi-aud-table{
  width: 100%;
  min-width: 52rem;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--tvp-progepi-card-title);
}

.tvp-progepi-aud-table > thead > tr > th{
  position: sticky;
  top: 0;
  z-index: 1;
  border: 0;
  border-bottom: 1px solid var(--tvp-progepi-aud-surface-border);
  background: linear-gradient(180deg, color-mix(in srgb, var(--tvp-progepi-aud-head-bg) 90%, var(--tvp-progepi-card-bg) 10%) 0%, color-mix(in srgb, var(--tvp-progepi-aud-head-bg) 98%, var(--tvp-progepi-aud-wrap-bg) 2%) 100%);
  color: var(--tvp-progepi-aud-head-text);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0.74rem 0.8rem;
}

.tvp-progepi-aud-table > thead > tr > th:nth-child(1),
.tvp-progepi-aud-table > thead > tr > th:nth-child(3){
  text-align: center;
}

.tvp-progepi-aud-row{
  transition: background-color 0.16s ease;
}

.tvp-progepi-aud-table > tbody > tr:nth-child(odd){
  background: color-mix(in srgb, var(--tvp-progepi-aud-row-alt) 82%, var(--tvp-progepi-card-bg) 18%);
}

.tvp-progepi-aud-table > tbody > tr:nth-child(even){
  background: var(--tvp-progepi-aud-row-even);
}

.tvp-progepi-aud-table > tbody > tr:hover{
  background: color-mix(in srgb, var(--tvp-progepi-aud-row-hover) 90%, var(--tvp-progepi-card-bg) 10%);
}

.tvp-progepi-aud-table > tbody > tr > td{
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--tvp-progepi-aud-wrap-border) 72%, transparent);
  vertical-align: middle;
  padding: 0.82rem 0.8rem;
}

.tvp-progepi-aud-table > tbody > tr:last-child > td{
  border-bottom: 0;
}

.tvp-progepi-aud-col-day,
.tvp-progepi-aud-col-rank{
  text-align: center;
}

.tvp-progepi-aud-day-link{
  display: inline-block;
  color: var(--tvp-progepi-aud-link);
  font-weight: 700;
  text-decoration: none;
}

.tvp-progepi-aud-day-link-body{
  display: grid;
  gap: 0.16rem;
  text-align: left;
}

.tvp-progepi-aud-day-link-text{
  color: inherit;
  line-height: 1.25;
}

.tvp-progepi-aud-day-link-note{
  color: var(--tvp-progepi-card-meta);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
}

.tvp-progepi-aud-day-link:hover{
  color: var(--tvp-progepi-aud-link-hover);
  text-decoration: none;
}

.tvp-progepi-aud-day-link:hover .tvp-progepi-aud-day-link-note{
  color: var(--tvp-progepi-aud-link-hover);
}

.tvp-progepi-aud-day-link:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 3px;
  border-radius: 0.7rem;
}

.tvp-progepi-aud-chain-link{
  display: inline-flex;
  align-items: center;
  gap: 0.58rem;
  color: var(--tvp-progepi-card-title);
  text-decoration: none;
}

.tvp-progepi-aud-chain-link:hover{
  color: var(--tvp-progepi-aud-link-hover);
  text-decoration: none;
}

.tvp-progepi-aud-chain-link:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 3px;
  border-radius: 0.8rem;
}

.tvp-progepi-aud-chain-logo{
  padding: 0.14rem;
  border: 1px solid var(--tvp-progepi-logo-border);
  border-radius: 0.56rem;
  background: var(--tvp-progepi-logo-bg);
}

.tvp-progepi-aud-chain-name{
  font-weight: 700;
  line-height: 1.3;
}

.tvp-progepi-aud-rank{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  border: 1px solid var(--tvp-progepi-aud-wrap-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--tvp-progepi-aud-head-bg) 58%, var(--tvp-progepi-card-bg) 42%);
  color: var(--tvp-progepi-card-title);
  font-weight: 700;
  line-height: 1;
  padding: 0.28rem 0.56rem;
}

.tvp-progepi-aud-metric{
  display: grid;
  gap: 0.12rem;
}

.tvp-progepi-aud-value{
  color: var(--tvp-progepi-card-title);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.15;
}

.tvp-progepi-aud-unit{
  color: var(--tvp-progepi-card-meta);
  font-size: 0.84rem;
  font-weight: 500;
}

.tvp-progepi-aud-flags{
  margin-top: 0.38rem;
}

.tvp-progepi-aud-flag{
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
  padding: 0.36rem 0.56rem;
}

.tvp-progepi-aud-flag::before{
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 999px;
  background: currentColor;
}

.tvp-progepi-aud-flag--direct{
  border-color: var(--tvp-progepi-aud-status-direct-border);
  background: var(--tvp-progepi-aud-status-direct-bg);
  color: var(--tvp-progepi-aud-status-direct-text);
}

.tvp-progepi-aud-flag--inedit{
  border-color: var(--tvp-progepi-aud-status-inedit-border);
  background: var(--tvp-progepi-aud-status-inedit-bg);
  color: var(--tvp-progepi-aud-status-inedit-text);
}

.tvp-progepi-aud-flag--rerun{
  border-color: var(--tvp-progepi-aud-status-rerun-border);
  background: var(--tvp-progepi-aud-status-rerun-bg);
  color: var(--tvp-progepi-aud-status-rerun-text);
}

.tvp-progepi-aud-share-stack{
  display: grid;
  gap: 0.42rem;
}

.tvp-progepi-aud-share-bar{
  display: block;
  width: min(100%, 10rem);
  height: 0.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--tvp-progepi-aud-wrap-border) 42%, var(--tvp-progepi-card-bg) 58%);
  overflow: hidden;
}

.tvp-progepi-aud-share-bar-value{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1d4ed8 0%, #60a5fa 100%);
}

.tvp-progepi-aud-cta{
  margin-top: 0;
}

.tvp-u-btn.tvp-progepi-aud-cta{
  border-color: var(--tvp-progepi-aud-cta-bg);
  background: var(--tvp-progepi-aud-cta-bg);
  color: var(--tvp-progepi-aud-cta-text);
}

.tvp-u-btn.tvp-progepi-aud-cta:visited,
.tvp-u-btn.tvp-progepi-aud-cta:hover,
.tvp-u-btn.tvp-progepi-aud-cta:active,
.tvp-u-btn.tvp-progepi-aud-cta:focus{
  color: var(--tvp-progepi-aud-cta-text);
  text-decoration: none;
}

.tvp-u-btn.tvp-progepi-aud-cta:hover,
.tvp-u-btn.tvp-progepi-aud-cta:active{
  border-color: var(--tvp-progepi-aud-cta-bg-hover);
  background: var(--tvp-progepi-aud-cta-bg-hover);
  filter: none;
}

.tvp-u-btn.tvp-progepi-aud-cta:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 2px;
}

.tvp-progepi-aud-history-actions{
  display: flex;
  justify-content: flex-end;
  margin-top: 0.9rem;
}

@media (max-width: 767.98px){
  .tvp-progepi-aud-chart-panel{
    padding: 0.85rem;
  }

  .tvp-progepi-aud-history-panel{
    padding: 0.85rem;
  }

  .tvp-progepi-aud-kpis{
    grid-template-columns: 1fr;
  }

  .tvp-progepi-aud-history-pills{
    width: 100%;
  }

  .tvp-progepi-aud-history-pill{
    min-width: 0;
    flex: 1 1 12rem;
  }

  .tvp-progepi-aud-chart-stage,
  .tvp-progepi-aud-chart-wrap{
    height: 18rem;
    min-height: 18rem;
  }

  .tvp-progepi-aud-history-actions{
    justify-content: stretch;
  }

  .tvp-u-btn.tvp-progepi-aud-cta{
    width: 100%;
    justify-content: center;
  }
}

.tvp-progepi-comment-cta-wrap--more{
  display: flex;
  justify-content: center;
}

.tvp-progepi-comment-cta-wrap--reviews-more{
  margin-top: 0;
  margin-bottom: 1.35rem;
}

.tvp-u-btn.tvp-progepi-comment-more-link{
  width: auto;
  min-height: 0;
  max-width: min(100%, 28rem);
  padding: 0.82rem 1.2rem;
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-card-border) 82%, #86a3c5 18%);
  border-radius: 0.98rem;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 88%, #edf4fd 12%);
  color: var(--tvp-progepi-card-title);
  box-shadow: 0 8px 18px rgb(61 88 126 / 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1rem;
  font-weight: 780;
  line-height: 1.2;
  letter-spacing: -0.02em;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.tvp-u-btn.tvp-progepi-comment-more-link:visited,
.tvp-u-btn.tvp-progepi-comment-more-link:hover,
.tvp-u-btn.tvp-progepi-comment-more-link:active,
.tvp-u-btn.tvp-progepi-comment-more-link:focus{
  color: var(--tvp-progepi-card-title);
  text-decoration: none;
}

.tvp-u-btn.tvp-progepi-comment-more-link:hover,
.tvp-u-btn.tvp-progepi-comment-more-link:active{
  border-color: color-mix(in srgb, var(--tvp-direct-focus) 48%, var(--tvp-progepi-card-border) 52%);
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 78%, #e7f1fc 22%);
  box-shadow: 0 12px 24px rgb(61 88 126 / 0.12);
  transform: translateY(-1px);
}

.tvp-u-btn.tvp-progepi-comment-more-link:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 3px;
}

.tvp-progepi-action-group{
  margin-bottom: 1.5rem;
}

.tvp-progepi-member-reviews{
  display: grid;
  gap: 1.5rem;
}

.tvp-progepi-member-reviews-head{
  display: flex;
  align-items: center;
  gap: 1.1rem;
}

.tvp-progepi-member-reviews-head-icon{
  width: 4.55rem;
  height: 4.55rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tvp-progepi-reviews-head-icon-bg);
  color: #ffffff;
  box-shadow: var(--tvp-progepi-reviews-head-icon-shadow);
  flex: 0 0 auto;
}

.tvp-progepi-member-reviews-head-icon-svg{
  width: 2rem;
  height: 2rem;
}

.tvp-progepi-member-reviews-title{
  margin: 0;
  color: var(--tvp-progepi-reviews-title);
  font-size: clamp(1.9rem, 1.5rem + 1.1vw, 2.55rem);
  line-height: 1.05;
  font-weight: 850;
  letter-spacing: -0.04em;
}

.tvp-progepi-member-reviews-grid{
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 2.25rem;
  align-items: start;
}

.tvp-progepi-member-reviews-grid--with-tvp{
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 0.68fr) minmax(0, 1.18fr);
  gap: 1.6rem;
  align-items: stretch;
}

.tvp-progepi-member-reviews-summary{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: 0.45rem;
  padding: 1rem 0.95rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-reviews-divider) 76%, transparent 24%);
  border-radius: 1rem;
  background: transparent;
  box-sizing: border-box;
  box-shadow: 0 14px 30px rgb(15 23 42 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.6);
}

.tvp-progepi-member-reviews-summary--separated{
  padding-left: 0.95rem;
}

.tvp-progepi-member-reviews-pane-title{
  margin: 0;
  color: var(--tvp-progepi-reviews-muted);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-transform: uppercase;
}

.tvp-progepi-member-reviews-score{
  color: var(--tvp-progepi-reviews-title);
  font-size: clamp(4.35rem, 3.8rem + 1.25vw, 5.8rem);
  line-height: 0.92;
  font-weight: 900;
  letter-spacing: -0.045em;
  margin-bottom: -0.45rem;
}

.tvp-progepi-member-reviews-grid--with-tvp .tvp-progepi-member-reviews-score{
  font-size: clamp(3.35rem, 3rem + 0.9vw, 4.7rem);
}

.tvp-progepi-member-reviews-stars{
  color: #f6c400;
  font-size: 2.15rem;
  line-height: 1;
}

.tvp-progepi-member-reviews-grid--with-tvp .tvp-progepi-member-reviews-stars{
  font-size: 1.75rem;
}

.tvp-progepi-member-reviews-stars .tvp-icon{
  margin: 0 0.08rem;
}

.tvp-progepi-member-reviews-count{
  margin: -0.18rem 0 -0.24rem;
  color: var(--tvp-progepi-reviews-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.tvp-progepi-member-reviews-breakdown{
  align-self: center;
  border-left: 0;
  padding-left: 0;
}

.tvp-progepi-member-reviews-grid--with-tvp .tvp-progepi-member-reviews-breakdown{
  padding-left: 0;
}

.tvp-progepi-member-reviews-breakdown-title{
  margin: 0 0 1.4rem;
  color: var(--tvp-progepi-reviews-title);
  font-size: clamp(1.55rem, 1.35rem + 0.55vw, 2.15rem);
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: -0.04em;
}

.tvp-progepi-member-reviews-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
}

.tvp-progepi-member-reviews-item{
  display: grid;
  grid-template-columns: minmax(3.3rem, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
}

.tvp-progepi-member-reviews-item-label{
  color: var(--tvp-progepi-reviews-muted);
  font-size: 1rem;
  font-weight: 750;
  white-space: nowrap;
}

.tvp-progepi-member-reviews-item-bar{
  position: relative;
  display: block;
  width: 100%;
  height: 1.05rem;
  border-radius: 999px;
  background: var(--tvp-progepi-reviews-track);
  overflow: hidden;
}

.tvp-progepi-member-reviews-item-bar-value{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--tvp-progepi-reviews-fill-start) 0%, var(--tvp-progepi-reviews-fill-end) 100%);
}

.tvp-progepi-member-reviews-item-count{
  color: var(--tvp-progepi-reviews-muted);
  font-size: 1rem;
  font-weight: 650;
  min-width: 1ch;
}

.tvp-progepi-critique-grid{
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 2.25rem;
  align-items: start;
}

.tvp-progepi-critique-summary{
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 0.9rem;
}

.tvp-progepi-critique-score{
  color: var(--tvp-progepi-reviews-title);
  font-size: clamp(4.35rem, 3.8rem + 1.25vw, 5.8rem);
  line-height: 0.92;
  font-weight: 900;
  letter-spacing: -0.07em;
  margin-bottom: -0.45rem;
}

.tvp-progepi-critique-stars{
  color: #f6c400;
  font-size: 2.15rem;
  line-height: 1;
}

.tvp-progepi-critique-stars .tvp-icon{
  margin: 0 0.08rem;
}

.tvp-progepi-critique-body{
  border-left: 0;
  padding-left: 0;
}

.tvp-progepi-critique-editorial{
  position: relative;
  max-inline-size: 68ch;
  margin: 0.45rem 0.7rem 0;
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-reviews-divider) 76%, transparent 24%);
  border-radius: 1rem;
  background: transparent;
  box-shadow: 0 14px 30px rgb(15 23 42 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.6);
  color: var(--tvp-progepi-card-title);
  font-size: clamp(1.04rem, 1rem + 0.14vw, 1.14rem);
  line-height: 1.72;
  overflow-wrap: anywhere;
  padding: 0.92rem 1rem 1rem 1.08rem;
  text-wrap: pretty;
}

.tvp-progepi-critique-editorial a{
  color: var(--tvp-progepi-text-link);
  font-weight: 700;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.16em;
}

.tvp-progepi-critique-editorial a:hover{
  color: var(--tvp-progepi-text-link-hover);
}

.tvp-progepi-critique-body--full{
  grid-column: 1 / -1;
  border-left: 0;
  padding-left: 0;
}

.tvp-progepi-critique-body--full .tvp-progepi-critique-editorial{
  width: calc(100% - 1.4rem);
  margin: 0.45rem auto 0;
}

@media (max-width: 991.98px){
  .tvp-progepi-member-reviews-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 1.8rem;
  }

  .tvp-progepi-member-reviews-grid--with-tvp{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .tvp-progepi-member-reviews-grid--with-tvp .tvp-progepi-member-reviews-breakdown{
    grid-column: 1 / -1;
  }

  .tvp-progepi-member-reviews-breakdown{
    align-self: start;
    border-left: 0;
    border-top: 0;
    padding-left: 0;
    padding-top: 0;
  }

  .tvp-progepi-critique-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 1.8rem;
  }

  .tvp-progepi-critique-body{
    border-left: 0;
    border-top: 0;
    padding-left: 0;
    padding-top: 0;
  }

  .tvp-progepi-critique-body--full{
    border-top: 0;
    padding-top: 0;
  }
}

@media (max-width: 767.98px){
  .tvp-progepi-member-reviews-head{
    gap: 0.9rem;
  }

  .tvp-progepi-member-reviews-head-icon{
    width: 3.7rem;
    height: 3.7rem;
  }

  .tvp-progepi-member-reviews-head-icon-svg{
    width: 1.55rem;
    height: 1.55rem;
  }

  .tvp-progepi-member-reviews-title{
    font-size: 1.9rem;
  }

  .tvp-progepi-member-reviews-score{
    font-size: 3.95rem;
  }

  .tvp-progepi-member-reviews-stars{
    font-size: 1.78rem;
  }

  .tvp-progepi-critique-score{
    font-size: 3.95rem;
  }

  .tvp-progepi-critique-stars{
    font-size: 1.78rem;
  }

  .tvp-progepi-member-reviews-item{
    grid-template-columns: minmax(2.8rem, auto) minmax(0, 1fr) auto;
    gap: 0.8rem;
  }

  .tvp-u-btn.tvp-progepi-comment-more-link{
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 575.98px){
  .tvp-progepi-member-reviews{
    gap: 1.2rem;
  }

  .tvp-progepi-member-reviews-list{
    gap: 0.78rem;
  }

  .tvp-progepi-member-reviews-head{
    align-items: flex-start;
  }

  .tvp-progepi-member-reviews-title{
    font-size: 1.6rem;
  }

  .tvp-progepi-member-reviews-score{
    font-size: 3.3rem;
  }

  .tvp-progepi-critique-score{
    font-size: 3.3rem;
  }

  .tvp-progepi-critique-editorial{
    width: calc(100% - 1rem);
    padding: 0.88rem 0.88rem 0.9rem 0.96rem;
    font-size: 1rem;
    line-height: 1.66;
  }

  .tvp-progepi-member-reviews-breakdown-title{
    margin-bottom: 1rem;
  }

  .tvp-progepi-member-reviews-item-label,
  .tvp-progepi-member-reviews-item-count{
    line-height: 1;
  }

  .tvp-progepi-member-reviews-item-bar{
    height: 0.92rem;
  }
}

.tvp-progepi-inline-logo-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.tvp-progepi-badge-xxs{
  font-size: 0.6rem;
  vertical-align: text-top;
}

.tvp-progepi-badge-xs{
  font-size: 0.7rem;
  vertical-align: text-top;
}

.tvp-progepi-badge-micro{
  font-size: 0.5rem;
}

.tvp-progepi-hero-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: flex-start;
  gap: 1.08rem;
  margin-top: 0.55rem;
  margin-bottom: 0.95rem;
}

.tvp-progepi-hero-col{
  min-width: 0;
}

.tvp-progepi-head-col{
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.64rem;
}

.tvp-progepi-title-main{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.38rem;
  margin: 0.22rem 0 0.16rem;
  font-size: clamp(1.48rem, 1.2rem + 0.75vw, 1.82rem);
  line-height: 1.14;
  font-weight: 600;
  letter-spacing: -0.012em;
}

.tvp-progepi-title-main > a:not(.tvp-progepi-admin-link){
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: inherit;
  line-height: inherit;
  text-wrap: balance;
  color: inherit;
  text-decoration: none;
}

.tvp-progepi-title-main > a:not(.tvp-progepi-admin-link):hover{
  color: inherit;
  text-decoration: none;
}

.tvp-progepi-title-hero{
  margin: 0.12rem 0 0.18rem;
  font-size: clamp(1.62rem, 1.18rem + 1.24vw, 2.22rem);
  line-height: 1.1;
  font-weight: 540;
  letter-spacing: -0.018em;
}

.tvp-progepi-title-hero > a{
  display: block;
  max-width: 100%;
  text-wrap: pretty;
}

.tvp-progepi-title-hero strong,
.tvp-progepi-title-hero b{
  font-weight: 640;
  color: inherit;
}

.tvp-progepi-meta-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.62rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--tvp-u-border);
}

.tvp-progepi-info-pills{
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.tvp-progepi-info-pill{
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  border: 1px solid var(--tvp-progepi-pill-border);
  border-radius: 999px;
  background: var(--tvp-progepi-pill-bg);
  color: var(--tvp-progepi-pill-text);
  font-size: 0.71rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  padding: 0.27rem 0.56rem;
}

a.tvp-progepi-info-pill{
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

a.tvp-progepi-info-pill.is-link{
  border-color: var(--tvp-progepi-pill-border-strong);
  background: var(--tvp-progepi-pill-link-bg);
  color: var(--tvp-progepi-pill-link-text);
  font-weight: 800;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.08);
}

a.tvp-progepi-info-pill.is-link::after{
  content: "";
  width: 0.34rem;
  height: 0.34rem;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(0.01rem);
  opacity: 0.75;
}

a.tvp-progepi-info-pill.is-link:hover{
  border-color: var(--tvp-progepi-pill-focus);
  background: var(--tvp-u-surface-muted);
  color: var(--tvp-u-text);
  box-shadow: 0 4px 10px rgb(15 23 42 / 0.12);
  transform: translateY(-1px);
}

a.tvp-progepi-info-pill.is-link:focus-visible{
  outline: 2px solid var(--tvp-progepi-pill-focus);
  outline-offset: 2px;
  border-color: var(--tvp-progepi-pill-focus);
}

a.tvp-progepi-info-pill.is-link:active{
  transform: translateY(0);
  box-shadow: 0 1px 3px rgb(15 23 42 / 0.12);
}

.tvp-progepi-info-pill.is-flag{
  border-color: var(--tvp-progepi-pill-flag-bg);
  background: var(--tvp-progepi-pill-flag-bg);
  color: var(--tvp-progepi-pill-flag-text);
  font-size: 0.64rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.tvp-progepi-info-pill.is-rating{
  border-color: var(--tvp-progepi-pill-border);
  border-radius: 999px;
  background: var(--tvp-progepi-pill-rating-bg);
  color: var(--tvp-progepi-pill-rating-text);
}

.tvp-progepi-info-pill.is-rating .tvp-icon{
  color: var(--tvp-progepi-pill-rating-star);
}

.tvp-progepi-admin-link,
.tvp-progepi-info-admin-link,
.tvp-progepi-casting-admin-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  color: var(--tvp-u-danger, #dc3545);
  text-decoration: none;
}

.tvp-progepi-admin-link:visited,
.tvp-progepi-admin-link:hover,
.tvp-progepi-admin-link:focus,
.tvp-progepi-admin-link:focus-visible,
.tvp-progepi-admin-link:active,
.tvp-progepi-info-admin-link:visited,
.tvp-progepi-info-admin-link:hover,
.tvp-progepi-info-admin-link:focus,
.tvp-progepi-info-admin-link:focus-visible,
.tvp-progepi-info-admin-link:active,
.tvp-progepi-casting-admin-link:visited,
.tvp-progepi-casting-admin-link:hover,
.tvp-progepi-casting-admin-link:focus,
.tvp-progepi-casting-admin-link:focus-visible,
.tvp-progepi-casting-admin-link:active{
  color: var(--tvp-u-danger, #dc3545);
  text-decoration: none;
}

.tvp-progepi-admin-link .tvp-icon,
.tvp-progepi-info-admin-link .tvp-icon,
.tvp-progepi-casting-admin-link .tvp-icon{
  color: currentColor;
}

.tvp-progepi-admin-link .tvp-progepi-admin-icon{
  color: var(--tvp-u-danger, #dc3545);
}

.tvp-progepi-admin-link--chip{
  padding: 0.2rem 0.46rem;
  border: 1px solid rgb(220 53 69 / 0.42);
  border-radius: 0.54rem;
  background: rgb(220 53 69 / 0.1);
  font-size: 0.78rem;
  font-weight: 700;
}

.tvp-progepi-admin-link--icon{
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: 1px solid rgb(220 53 69 / 0.42);
  border-radius: 0.44rem;
  background: rgb(220 53 69 / 0.1);
}

.tvp-progepi-info-admin-link--pill{
  flex: 0 0 auto;
  align-self: center;
}

.tvp-progepi-admin-icon{
  font-size: 0.96rem;
  color: var(--tvp-u-danger, #dc3545);
}

.tvp-progepi-admin-link:hover .tvp-progepi-admin-icon,
.tvp-progepi-admin-link:focus-visible .tvp-progepi-admin-icon,
.tvp-progepi-admin-link:active .tvp-progepi-admin-icon{
  color: var(--tvp-u-danger, #dc3545);
}

/* Backward compatibility for any stale markup still using old warning/danger icon classes. */
.tvp-progepi-casting-admin-icon--warning,
.tvp-progepi-casting-admin-icon--danger{
  color: var(--tvp-u-danger, #dc3545);
}

.tvp-progepi-info-admin-link--title{
  flex: 0 0 auto;
  align-self: center;
  font-size: 1.02rem;
  line-height: 1;
}

.tvp-progepi-page .menu_ou_regarder.tvp-tv-direct-menu.tvp-progepi-or-menu{
  position: -webkit-sticky;
  position: sticky;
  top: 48px;
  z-index: 1030;
  background: color-mix(in srgb, var(--tvp-progepi-media-bg) 84%, var(--tvp-progepi-card-bg) 16%);
  border-bottom: 1px solid color-mix(in srgb, var(--tvp-progepi-card-border) 78%, transparent);
  box-shadow: 0 10px 20px rgb(15 23 42 / 0.08);
}

.tvp-progepi-page .anchorscroll{
  top: -6rem;
  scroll-margin-top: 6rem;
}

.tvp-progepi-or-menu .tvp-tv-direct-menu-scroll{
  padding-top: 0.25rem;
  padding-bottom: 0.42rem;
}

.tvp-progepi-menu-count{
  margin-left: 0.32rem;
  font-size: 0.62rem;
  line-height: 1;
  padding: 0.15rem 0.34rem;
}

.tvp-progepi-watch-block{
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
}

.tvp-progepi-watch-modal-body{
  min-height: 12rem;
}

#progepi_watch_modal .tvp-modal__content,
#progepi_watch_modal .tvp-modal__body{
  background: var(--tvp-progepi-card-bg);
}

#progepi_watch_modal .tvp-modal__title{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-next-head-title{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-next-head-count{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-next-channel{
  font-weight: 700;
}

#progepi_watch_modal .tvp-progepi-watch-next-meta{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-next-title{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-program-link a{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-action-kicker{
  font-weight: 700;
}

#progepi_watch_modal .tvp-progepi-watch-action-title{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-more-btn{
  font-weight: 600;
}

#progepi_watch_modal .tvp-progepi-watch-action{
  --tvp-progepi-watch-accent: var(--tvp-progepi-watch-border-strong);
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--tvp-progepi-watch-border) 78%, var(--tvp-progepi-watch-accent) 22%);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--tvp-progepi-watch-surface) 95%, var(--tvp-progepi-watch-accent) 5%) 0%,
    color-mix(in srgb, var(--tvp-progepi-watch-surface) 91%, #ffffff 9%) 100%
  );
  box-shadow: 0 10px 24px rgb(15 23 42 / 0.06), inset 0 1px 0 rgb(255 255 255 / 0.6);
}

#progepi_watch_modal .tvp-progepi-watch-action::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 0.18rem;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--tvp-progepi-watch-accent) 88%, #ffffff 12%) 0%,
    color-mix(in srgb, var(--tvp-progepi-watch-accent) 26%, transparent 74%) 100%
  );
  pointer-events: none;
}

#progepi_watch_modal .tvp-progepi-watch-action::after{
  content: "";
  position: absolute;
  right: -1rem;
  bottom: -1.1rem;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 999px;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--tvp-progepi-watch-accent) 18%, transparent 82%) 0%,
    transparent 72%
  );
  pointer-events: none;
}

#progepi_watch_modal .tvp-progepi-watch-action:hover,
#progepi_watch_modal .tvp-progepi-watch-action:focus-visible{
  border-color: color-mix(in srgb, var(--tvp-progepi-watch-border-strong) 66%, var(--tvp-progepi-watch-accent) 34%);
  box-shadow: 0 12px 24px rgb(15 23 42 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.62);
}

#progepi_watch_modal .tvp-progepi-watch-action-kicker{
  color: color-mix(in srgb, var(--tvp-progepi-watch-accent) 62%, var(--tvp-progepi-watch-text-muted) 38%);
}

#progepi_watch_modal .tvp-progepi-watch-action--replay{
  --tvp-progepi-watch-accent: #2c9f59;
}

#progepi_watch_modal .tvp-progepi-watch-action--streaming{
  --tvp-progepi-watch-accent: #db3545;
}

#progepi_watch_modal .tvp-progepi-watch-action--dvd{
  --tvp-progepi-watch-accent: #ffc105;
}

@media (max-width: 575.98px) {
  #progepi_watch_modal .tvp-modal__dialog{
    top: calc(env(safe-area-inset-top, 0px) + 0.55rem);
    transform: translateX(-50%);
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - 1.1rem);
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 1.1rem);
  }
}

@media (max-width: 767.98px){
  .tvp-progepi-page .menu_ou_regarder.tvp-tv-direct-menu.tvp-progepi-or-menu{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .tvp-progepi-or-menu .tvp-tv-direct-menu-scroll{
    padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  }
}

.tvp-progepi-watch-modal-body .tvp-progepi-watch-block{
  margin: 0;
}

.tvp-progepi-watch-modal-state{
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 10rem;
  color: var(--tvp-progepi-card-meta);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.tvp-progepi-watch-modal-state--error{
  color: #b4384f;
}

.tvp-progepi-watch-more-wrap{
  display: flex;
  justify-content: center;
}

.tvp-u-btn.tvp-progepi-watch-more-btn{
  width: 100%;
  justify-content: center;
  border-color: var(--tvp-progepi-card-border);
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 92%, #eef4fb 8%);
  color: var(--tvp-progepi-card-title);
  box-shadow: var(--tvp-progepi-card-shadow);
}

.tvp-u-btn.tvp-progepi-watch-more-btn:hover,
.tvp-u-btn.tvp-progepi-watch-more-btn:active{
  border-color: var(--tvp-progepi-card-border-hover);
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 84%, #e5effb 16%);
  color: var(--tvp-progepi-card-title);
  box-shadow: var(--tvp-progepi-card-shadow-hover);
}

.tvp-progepi-page-layout{
  display: block;
}

.tvp-progepi-page-main,
.tvp-progepi-page-side{
  min-width: 0;
}

.tvp-progepi-page-side{
  margin-top: 0.9rem;
}

.tvp-progepi-watch-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  scroll-margin-top: 6rem;
}

.tvp-progepi-watch-card{
  border: 1px solid var(--tvp-progepi-card-border);
  border-radius: 0.8rem;
  background: var(--tvp-progepi-card-bg);
  box-shadow: var(--tvp-progepi-card-shadow);
  padding: 0.52rem 0.62rem;
}

.tvp-progepi-watch-card .tvp-list-item:last-child{
  border-bottom: 0;
}

.tvp-progepi-watch-card--schedule{
  border-color: #c6d9ee;
  padding: 0.62rem;
}

#bloc-diffusions-past{
  margin-top: 0.72rem;
}

.tvp-progepi-watch-next-head{
  display: flex;
  align-items: center;
  gap: 0.48rem;
  margin-bottom: 0.55rem;
  padding: 0 0.1rem;
}

.tvp-progepi-watch-next-head-title{
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
}

.tvp-progepi-watch-next-head-count{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.95rem;
  height: 1.45rem;
  border-radius: 999px;
  border: 1px solid #aec7e1;
  background: #eaf3ff;
  color: #1f4f88;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
}

.tvp-progepi-photos-count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.95rem;
  height: 1.45rem;
  margin-left: 0.32rem;
  padding: 0 0.52rem;
  border-radius: 999px;
  border: 1px solid #aec7e1;
  background: #eaf3ff;
  color: #1f4f88;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}

.tvp-progepi-photos-head{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  scroll-margin-top: 6rem;
}

.tvp-progepi-photos-head .tvp-progepi-photos-count{
  margin-left: 0;
}

.tvp-progepi-photos-head .tvp-progepi-admin-link--chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.24rem;
  min-width: 1.95rem;
  height: 1.45rem;
  padding: 0 0.48rem;
  margin-left: 0.02rem;
  border-radius: 0.58rem;
}

.tvp-progepi-photos-head .tvp-progepi-admin-chip-count{
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
}

.tvp-progepi-photos-head .tvp-progepi-admin-link--chip .tvp-progepi-admin-icon{
  font-size: 0.86rem;
  line-height: 1;
}

.tvp-progepi-watch-next-list{
  display: flex;
  flex-direction: column;
  gap: 0.46rem;
}

.tvp-progepi-watch-next-item{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.52rem;
  white-space: nowrap;
  border: 1px solid #cfdeee;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 96%, #edf4fc 4%);
  padding: 0.42rem 0.48rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.tvp-progepi-watch-next-item:hover{
  border-color: #afc7e1;
  box-shadow: 0 6px 14px rgb(15 23 42 / 0.08);
}

.tvp-progepi-watch-next-item--past{
  grid-template-columns: auto minmax(0, 1fr);
}

.tvp-progepi-watch-next-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tvp-progepi-watch-next-logo .tvp-progepi-list-logo{
  width: 45px;
  height: 45px;
  border-radius: 0.45rem;
}

.tvp-progepi-watch-next-body{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
}

.tvp-progepi-watch-next-channel{
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.tvp-progepi-watch-next-meta{
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.25;
}

.tvp-progepi-watch-next-title{
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 0.93rem;
  font-weight: 600;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tvp-progepi-watch-next-title a{
  color: inherit;
  text-decoration: none;
}

.tvp-progepi-watch-next-title a:hover{
  text-decoration: underline;
}

.tvp-progepi-watch-next-tags{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.2rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.tvp-progepi-watch-next-tags > a{
  text-decoration: none;
}

.tvp-progepi-watch-next-actions{
  justify-self: end;
}

.tvp-progepi-watch-next-alert-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border-color: #d44156;
  background: #e84f64;
  color: #ffffff;
  padding: 0;
}

.tvp-progepi-watch-next-alert-btn:hover{
  border-color: #cb3148;
  background: #d93e54;
  color: #ffffff;
}

.tvp-progepi-watch-next-menu{
  min-width: min(20rem, calc(100vw - 2rem));
}

.tvp-progepi-watch-next-empty{
  margin: 0;
  border: 1px dashed #c6d8ea;
  border-radius: 0.7rem;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 95%, #edf4fc 5%);
  color: var(--tvp-progepi-card-meta);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.4;
  padding: 0.64rem 0.7rem;
}

.tvp-progepi-watch-card--past{
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 90%, #dce8f6 10%);
}

.tvp-progepi-watch-program-link{
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-card-border) 82%, #c0d5ea 18%);
  border-radius: 0.9rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--tvp-progepi-card-bg) 94%, #f5f9ff 6%) 0%, color-mix(in srgb, var(--tvp-progepi-card-bg) 88%, #eaf2fc 12%) 100%);
  box-shadow: 0 10px 22px rgb(15 23 42 / 0.06);
  padding: 0.78rem 0.92rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.tvp-progepi-watch-program-link a{
  display: block;
  color: var(--tvp-progepi-card-title);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}

.tvp-progepi-watch-program-link:hover{
  border-color: var(--tvp-progepi-card-border-hover);
  box-shadow: 0 12px 26px rgb(15 23 42 / 0.1);
  transform: translateY(-1px);
}

.tvp-progepi-watch-program-link a:hover{
  text-decoration: underline;
}

.tvp-progepi-watch-actions{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.52rem;
}

.tvp-progepi-watch-action{
  --tvp-progepi-watch-accent: var(--tvp-progepi-watch-border-strong);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  position: relative;
  overflow: hidden;
  column-gap: 0.7rem;
  row-gap: 0.16rem;
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-watch-border) 78%, var(--tvp-progepi-watch-accent) 22%);
  border-radius: 0.95rem;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--tvp-progepi-watch-surface) 95%, var(--tvp-progepi-watch-accent) 5%) 0%,
    color-mix(in srgb, var(--tvp-progepi-watch-surface) 91%, #ffffff 9%) 100%
  );
  box-shadow: 0 10px 24px rgb(15 23 42 / 0.06), inset 0 1px 0 rgb(255 255 255 / 0.6);
  color: inherit;
  text-decoration: none;
  padding: 0.78rem 0.92rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.tvp-progepi-watch-action::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 0.18rem;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--tvp-progepi-watch-accent) 88%, #ffffff 12%) 0%,
    color-mix(in srgb, var(--tvp-progepi-watch-accent) 26%, transparent 74%) 100%
  );
  pointer-events: none;
}

.tvp-progepi-watch-action::after{
  content: "";
  position: absolute;
  right: -1rem;
  bottom: -1.1rem;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 999px;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--tvp-progepi-watch-accent) 18%, transparent 82%) 0%,
    transparent 72%
  );
  pointer-events: none;
}

.tvp-progepi-watch-action:hover{
  border-color: color-mix(in srgb, var(--tvp-progepi-watch-border-strong) 66%, var(--tvp-progepi-watch-accent) 34%);
  box-shadow: 0 12px 24px rgb(15 23 42 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.62);
  transform: translateY(-1px);
  text-decoration: none;
}

.tvp-progepi-watch-action:focus-visible{
  outline: 2px solid var(--tvp-progepi-watch-focus);
  outline-offset: 2px;
  border-color: color-mix(in srgb, var(--tvp-progepi-watch-border-strong) 66%, var(--tvp-progepi-watch-accent) 34%);
  box-shadow: 0 12px 24px rgb(15 23 42 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.62);
}

.tvp-progepi-watch-action-kicker{
  grid-column: 1;
  grid-row: 1;
  color: color-mix(in srgb, var(--tvp-progepi-watch-accent) 62%, var(--tvp-progepi-watch-text-muted) 38%);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tvp-progepi-watch-action-title{
  grid-column: 1;
  grid-row: 2;
  color: var(--tvp-progepi-watch-title-color);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.tvp-progepi-page .tvp-progepi-watch-action-icon,
#progepi_watch_modal .tvp-progepi-watch-action-icon{
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  display: inline-block;
  width: 1.18rem;
  height: 1.18rem;
  line-height: 1;
  flex: 0 0 auto;
  vertical-align: -0.125em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: color-mix(in srgb, var(--tvp-progepi-watch-accent) 78%, var(--tvp-progepi-watch-title-color) 22%);
}

.tvp-progepi-watch-action--replay{
  --tvp-progepi-watch-accent: #2c9f59;
}

.tvp-progepi-watch-action--streaming{
  --tvp-progepi-watch-accent: #db3545;
}

.tvp-progepi-watch-action--dvd{
  --tvp-progepi-watch-accent: #ffc105;
}

@media (max-width: 767.98px) {
  .tvp-progepi-watch-action{
    padding: 0.72rem 0.8rem;
  }

  .tvp-progepi-watch-action-title{
    font-size: 0.98rem;
    line-height: 1.22rem;
  }
}

.tvp-progepi-variants{
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  border: 1px solid var(--tvp-progepi-card-border);
  border-radius: 0.82rem;
  background: var(--tvp-progepi-card-bg);
  box-shadow: var(--tvp-progepi-card-shadow);
  padding: 0.64rem;
}

.tvp-progepi-variants-head{
  display: flex;
  align-items: center;
  gap: 0.48rem;
  padding: 0 0.1rem;
}

.tvp-progepi-variants-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.62rem;
}

.tvp-progepi-variant-card-item{
  min-width: 0;
}

.tvp-progepi-variant-card{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid #cfdeee;
  border-radius: 0.78rem;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 96%, #edf4fc 4%);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tvp-progepi-variant-card:hover{
  border-color: #afc7e1;
  box-shadow: 0 8px 18px rgb(15 23 42 / 0.12);
  transform: translateY(-1px);
}

.tvp-progepi-variant-card:focus-visible{
  outline: 2px solid var(--tvp-u-primary);
  outline-offset: 2px;
}

.tvp-progepi-variant-card-media{
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--tvp-progepi-media-bg);
}

.tvp-progepi-variant-card-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tvp-progepi-variant-card-image--placeholder{
  background: linear-gradient(135deg, #e2ebf6 0%, #c8d8ea 100%);
}

.tvp-progepi-variant-card-body{
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 0.36rem;
  padding: 0.66rem 0.72rem 0.78rem;
}

.tvp-progepi-variant-card-title{
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 0.99rem;
  font-weight: 700;
  line-height: 1.34rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tvp-progepi-variant-card-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto;
  min-height: 1.1rem;
}

.tvp-progepi-variant-card-tags{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
}

.tvp-progepi-variant-card-rating{
  display: inline-flex;
  align-items: center;
  color: #e09f15;
  font-size: 0.76rem;
  line-height: 1;
}

.tvp-progepi-episodes-list{
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin: 0;
}

.tvp-progepi-episodes-season{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tvp-progepi-episodes-season-title{
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.tvp-progepi-episodes-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
}

.tvp-progepi-episode-card-item{
  min-width: 0;
}

.tvp-progepi-episode-card{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid var(--tvp-progepi-card-border);
  border-radius: 0.85rem;
  background: var(--tvp-progepi-card-bg);
  box-shadow: var(--tvp-progepi-card-shadow);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tvp-progepi-episode-card:hover{
  border-color: var(--tvp-progepi-card-border-hover);
  box-shadow: var(--tvp-progepi-card-shadow-hover);
  transform: translateY(-1px);
}

.tvp-progepi-episode-card-media{
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--tvp-progepi-media-bg);
}

.tvp-progepi-episode-card-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tvp-progepi-episode-card-image--placeholder{
  background: linear-gradient(135deg, #e2ebf6 0%, #c8d8ea 100%);
}

.tvp-progepi-episode-card-body{
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 0.32rem;
  padding: 0.7rem 0.72rem 0.78rem;
}

.tvp-progepi-episode-card-kicker{
  margin: 0;
  color: #5e7188;
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1.25;
}

.tvp-progepi-episode-card-title{
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.3rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tvp-progepi-episode-card-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  min-height: 1.1rem;
  margin-top: auto;
}

.tvp-progepi-episode-card-tags{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
}

.tvp-progepi-episode-card-tag{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.13rem 0.44rem;
  border: 1px solid transparent;
  font-size: 0.69rem;
  font-weight: 700;
  line-height: 1;
}

.tvp-progepi-episode-card-tag.is-vod{
  border-color: #f2b7bf;
  background: #fff1f3;
  color: #a61f2f;
}

.tvp-progepi-episode-card-tag.is-replay{
  border-color: #a9dfc1;
  background: #effdf4;
  color: #196f3d;
}

.tvp-progepi-episode-card-rating{
  display: inline-flex;
  align-items: center;
  color: #e09f15;
  font-size: 0.76rem;
  line-height: 1;
}

.tvp-progepi-episodes-more{
  margin: 0.25rem 0 0;
}

.tvp-progepi-episodes-more-link{
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  border-radius: 999px;
  border: 1px solid #c8d8ea;
  background: #f4f8fd;
  color: #194a86;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  padding: 0.45rem 0.82rem;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.tvp-progepi-episodes-more-link:hover{
  border-color: #a6bfd8;
  background: #e8f1fb;
  color: #113865;
}

.tvp-progepi-vod-groups{
  display: grid;
  gap: 0.82rem;
  margin: 0 0 0.95rem;
}

.tvp-progepi-vod-group{
  display: grid;
  gap: 0.46rem;
}

.tvp-progepi-vod-offers-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 0.58rem;
}

.tvp-progepi-vod-offer-item{
  min-width: 0;
}

.tvp-progepi-vod-offer-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.24rem;
  min-height: 100%;
  border: 1px solid var(--tvp-progepi-vod-border);
  border-radius: 0.66rem;
  background: var(--tvp-progepi-vod-surface);
  box-shadow: var(--tvp-progepi-vod-card-shadow);
  color: var(--tvp-progepi-vod-text);
  text-decoration: none;
  text-align: center;
  padding: 0.56rem 0.48rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tvp-progepi-vod-offer-card:hover{
  border-color: var(--tvp-progepi-vod-border-strong);
  box-shadow: var(--tvp-progepi-vod-card-shadow-hover);
}

.tvp-progepi-vod-offer-card:focus-visible{
  outline: 2px solid var(--tvp-progepi-vod-focus);
  outline-offset: 2px;
}

.tvp-progepi-vod-offer-logo{
  width: 3rem;
  height: 3rem;
  display: block;
  object-fit: contain;
}

.tvp-progepi-vod-offer-provider{
  color: var(--tvp-progepi-vod-text);
  font-size: 0.71rem;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.tvp-progepi-vod-offer-price{
  color: var(--tvp-progepi-vod-text);
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1;
}

.tvp-progepi-vod-offer-badge{
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--tvp-progepi-vod-meta-chip-border);
  border-radius: 999px;
  background: var(--tvp-progepi-vod-meta-chip-bg);
  color: var(--tvp-progepi-vod-meta-chip-text);
  padding: 0.2rem 0.42rem;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
}

.tvp-progepi-vod-seasons{
  display: grid;
  gap: 0.72rem;
  margin-top: 0.95rem;
}

.tvp-progepi-vod-season-block{
  overflow: hidden;
  border: 1px solid var(--tvp-progepi-vod-border);
  border-radius: 0.78rem;
  background: var(--tvp-progepi-vod-surface);
  box-shadow: var(--tvp-progepi-vod-card-shadow);
}

.tvp-progepi-vod-season-summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  cursor: pointer;
  list-style: none;
  background: var(--tvp-progepi-vod-surface-muted);
  color: var(--tvp-progepi-vod-text);
  padding: 0.62rem 0.72rem;
}

.tvp-progepi-vod-season-summary::-webkit-details-marker{
  display: none;
}

.tvp-progepi-vod-season-summary::after{
  content: "";
  width: 0.46rem;
  height: 0.46rem;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.72;
  transition: transform 0.2s ease;
}

.tvp-progepi-vod-season-block[open] .tvp-progepi-vod-season-summary::after{
  transform: rotate(-135deg) translate(-0.08rem, -0.08rem);
}

.tvp-progepi-vod-season-summary:focus-visible{
  outline: 2px solid var(--tvp-progepi-vod-focus);
  outline-offset: 2px;
}

.tvp-progepi-vod-season-title{
  color: var(--tvp-progepi-vod-title);
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.2;
}

.tvp-progepi-vod-season-count{
  flex: 0 0 auto;
  border: 1px solid var(--tvp-progepi-vod-chip-border);
  border-radius: 999px;
  background: var(--tvp-progepi-vod-chip-bg);
  color: var(--tvp-progepi-vod-chip-text);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.24rem 0.46rem;
}

.tvp-progepi-vod-episode-list{
  display: grid;
  gap: 0.32rem;
  margin: 0;
  padding: 0.36rem;
  list-style: none;
}

.tvp-progepi-vod-episode-item{
  min-width: 0;
}

.tvp-progepi-vod-episode-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.54rem;
  border: 1px solid transparent;
  border-radius: 0.62rem;
  color: var(--tvp-progepi-vod-text);
  text-decoration: none;
  padding: 0.44rem 0.5rem;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.tvp-progepi-vod-episode-link:hover{
  border-color: var(--tvp-progepi-vod-border-strong);
  background: var(--tvp-progepi-vod-surface-muted);
  color: var(--tvp-progepi-vod-title);
  box-shadow: 0 2px 8px rgb(15 23 42 / 0.08);
}

.tvp-progepi-vod-episode-link:focus-visible{
  outline: 2px solid var(--tvp-progepi-vod-focus);
  outline-offset: 2px;
}

.tvp-progepi-vod-episode-main{
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.tvp-progepi-vod-episode-code{
  flex: 0 0 auto;
  border: 1px solid var(--tvp-progepi-vod-chip-border);
  border-radius: 999px;
  background: var(--tvp-progepi-vod-chip-bg);
  color: var(--tvp-progepi-vod-chip-text);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.2rem 0.44rem;
}

.tvp-progepi-vod-episode-name{
  overflow: hidden;
  color: var(--tvp-progepi-vod-title);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tvp-progepi-vod-episode-meta{
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  flex: 0 0 auto;
}

.tvp-progepi-vod-episode-duration,
.tvp-progepi-vod-episode-rating{
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border: 1px solid var(--tvp-progepi-vod-meta-chip-border);
  border-radius: 999px;
  background: var(--tvp-progepi-vod-meta-chip-bg);
  color: var(--tvp-progepi-vod-meta-chip-text);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.2rem 0.42rem;
}

.tvp-progepi-vod-card-rating-star{
  color: #facc15;
}

.tvp-progepi-vod-chip-icon{
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.tvp-progepi-replay-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
}

.tvp-progepi-replay-card-item{
  min-width: 0;
}

.tvp-progepi-replay-card{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid var(--tvp-progepi-card-border);
  border-radius: 0.85rem;
  background: var(--tvp-progepi-card-bg);
  box-shadow: var(--tvp-progepi-card-shadow);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tvp-progepi-replay-card:hover{
  border-color: var(--tvp-progepi-card-border-hover);
  box-shadow: var(--tvp-progepi-card-shadow-hover);
  transform: translateY(-1px);
}

.tvp-progepi-replay-card-media{
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--tvp-progepi-media-bg);
}

.tvp-progepi-replay-card-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tvp-progepi-replay-card-media-chip{
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: var(--tvp-progepi-pill-bg);
  color: var(--tvp-progepi-pill-text);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  padding: 0.24rem 0.56rem;
  pointer-events: none;
}

.tvp-progepi-replay-card-logo{
  position: absolute;
  left: 0.55rem;
  bottom: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.95rem;
  height: 1.95rem;
  padding: 0.2rem;
  border: 1px solid var(--tvp-progepi-logo-border);
  border-radius: 0.35rem;
  background: var(--tvp-progepi-logo-bg);
  line-height: 0;
}

.tvp-progepi-replay-card-body{
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  padding: 0.72rem 0.72rem 0.76rem;
}

.tvp-progepi-replay-card-title{
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tvp-progepi-replay-card-meta{
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.78rem;
  line-height: 1.3;
}

.tvp-progepi-replay-ad-slot{
  grid-column: 1 / -1;
}

.tvp-progepi-dropdown-menu{
  z-index: 500;
}

.tvp-progepi-calendar-menu{
  min-width: min(20rem, calc(100vw - 2rem));
  max-width: min(24rem, calc(100vw - 2rem));
  padding: 0.42rem;
  border-radius: 1rem;
  border-color: color-mix(in srgb, var(--tvp-u-border) 92%, transparent 8%);
  background: linear-gradient(180deg, var(--tvp-u-surface), color-mix(in srgb, var(--tvp-u-surface-muted) 78%, var(--tvp-u-surface) 22%));
  box-shadow: 0 1.1rem 2.6rem rgb(2 6 23 / 0.24);
}

.tvp-progepi-calendar-menu .tvp-u-dropdown-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  width: 100%;
  border-radius: 0.78rem;
  padding: 0.72rem 0.92rem;
  color: var(--tvp-u-text);
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.32;
  text-decoration: none;
  white-space: normal;
}

.tvp-progepi-calendar-menu .tvp-u-dropdown-item:hover{
  background: color-mix(in srgb, var(--tvp-u-surface-muted-2) 82%, var(--tvp-u-surface) 18%);
  color: var(--tvp-u-text);
}

.tvp-progepi-calendar-menu .tvp-u-dropdown-item:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--tvp-u-primary) 68%, transparent 32%);
  outline-offset: -2px;
}

.tvp-progepi-calendar-menu .tvp-u-dropdown-item + .tvp-progepi-calendar-menu-item{
  margin-top: 0.12rem;
}

.tvp-progepi-calendar-menu .tvp-u-dropdown-item:not(.tvp-progepi-calendar-menu-item) + .tvp-progepi-calendar-menu-item{
  margin-top: 0.38rem;
  padding-top: 0.92rem;
  border-top: 1px solid color-mix(in srgb, var(--tvp-u-border) 86%, transparent 14%);
}

.tvp-progepi-calendar-menu-item{
  color: var(--tvp-u-text);
}

.tvp-progepi-calendar-menu-item svg,
.tvp-progepi-calendar-menu-item .tvp-icon{
  flex: 0 0 auto;
  width: 1.18rem;
  height: 1.18rem;
  margin-left: auto;
  color: inherit;
}

.tvp-progepi-dropdown-menu-lg{
  z-index: 5000;
  min-width: min(22rem, calc(100vw - 2rem));
}

.tvp-progepi-video-layout{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}

.tvp-progepi-video-pane{
  min-width: 0;
}

@media (min-width: 1024px){
  .tvp-progepi-video-layout{
    flex-direction: row;
    align-items: flex-start;
  }

  .tvp-progepi-video-pane--content,
  .tvp-progepi-video-pane--ad{
    flex: 0 0 50%;
    max-width: 50%;
  }
}

.tvp-progepi-hero-wrap{
  overflow: hidden;
  border-radius: 0.72rem;
}

.tvp-progepi-hero-poster{
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 50%;
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-end;
  line-height: 0;
}

.tvp-progepi-hero-poster-image{
  display: block;
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain;
  border-radius: 0.72rem;
}

.tvp-progepi-video-feature{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  cursor: pointer;
  border-radius: 0.72rem;
  background: #0f172a;
  overflow: hidden;
}

.tvp-progepi-page .video_button{
  cursor: pointer;
}

.tvp-progepi-page .video_button > .tvp-progepi-hero-image{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tvp-progepi-video-feature-image{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tvp-progepi-hero-image{
  display: block;
  width: 100%;
  height: auto;
}

.tvp-progepi-video-play{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  background: var(--tvp-progepi-play-bg);
  color: var(--tvp-progepi-play-color);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.tvp-progepi-video-play-icon{
  font-size: 1.52rem;
  line-height: 1;
}

/* get_videos_html2() dynamic markup uses these transverse classes (not visible in static progepi.php source). */
.tvp-video-embed{
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--tvp-u-border);
  border-radius: 0.5rem;
  background: #0f172a;
}

.tvp-video-embed::before{
  display: block;
  content: "";
  padding-top: 56.25%;
}

.tvp-video-embed > *{
  position: absolute;
  inset: 0;
}

.tvp-video-embed--plain{
  border: 0;
}

.tvp-video-embed--plain::before{
  display: none;
}

.tvp-video-embed--plain > *{
  position: static;
}

.tvp-video-embed--raw iframe,
.tvp-video-embed--raw object,
.tvp-video-embed--raw embed,
.tvp-video-embed--raw video,
.tvp-video-embed--raw > div{
  width: 100%;
  height: 100%;
}

.tvp-video-embed iframe,
.tvp-video-player{
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000000;
}

.tvp-video-button{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background: #0f172a;
}

.tvp-video-button--empty{
  background:
    radial-gradient(circle at 25% 20%, rgb(255 255 255 / 0.08) 0, transparent 35%),
    linear-gradient(135deg, #223149 0%, #0f172a 100%);
}

.tvp-video-button:focus-visible{
  outline: 2px solid #0f6fdb;
  outline-offset: 2px;
}

.tvp-video-poster{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tvp-video-play-icon{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: clamp(2.8rem, 9vw, 5.2rem);
  height: clamp(2.8rem, 9vw, 5.2rem);
  border-radius: 999px;
  background: rgb(2 6 23 / 0.6);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.tvp-video-play-icon::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 51%;
  width: 0;
  height: 0;
  border-top: clamp(0.45rem, 1.1vw, 0.78rem) solid transparent;
  border-bottom: clamp(0.45rem, 1.1vw, 0.78rem) solid transparent;
  border-left: clamp(0.72rem, 1.8vw, 1.18rem) solid #ffffff;
  transform: translate(-40%, -50%);
}

html[data-theme="dark"] .tvp-video-embed,
html.dark .tvp-video-embed,
body.dark-mode .tvp-video-embed,
body.dark-theme .tvp-video-embed{
  border-color: var(--tvp-u-border);
  background: #0b1220;
}

.tvp-progepi-breadcrumb-home{
  width: 18px;
}

.tvp-progepi-list-logo-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.tvp-progepi-list-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 0.22rem;
  border: 1px solid var(--tvp-progepi-logo-border);
  border-radius: 0.5rem;
  background: var(--tvp-progepi-logo-bg);
}

.tvp-progepi-list-logo > .logoChaine,
.tvp-progepi-list-logo > img,
.tvp-progepi-list-logo > svg{
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.tvp-progepi-live-card{
  display: flex;
  margin-top: 0;
  border: 1px solid var(--tvp-progepi-live-next-border);
  border-radius: 0.82rem;
  background: var(--tvp-progepi-live-next-bg);
  padding: 0.44rem 0.96rem;
}

.tvp-progepi-live-card--current{
  border-color: var(--tvp-progepi-live-current-border);
  background: var(--tvp-progepi-live-current-bg);
}

.tvp-progepi-live-card--next{
  border-color: var(--tvp-progepi-text-block-border);
  border-radius: 0.92rem;
  background: var(--tvp-progepi-text-block-bg);
  box-shadow: var(--tvp-progepi-text-block-shadow);
  padding: 0.44rem 0.96rem;
}

.tvp-progepi-live-card-body{
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
}

.tvp-progepi-live-card-head{
  display: flex;
  align-items: flex-start;
  gap: 0.72rem;
}

.tvp-progepi-live-card .tvp-progepi-inline-logo-link{
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
}

.tvp-progepi-live-card .tvp-progepi-inline-logo-link > .logoChaine,
.tvp-progepi-live-card .tvp-progepi-inline-logo-link > img,
.tvp-progepi-live-card .tvp-progepi-inline-logo-link > svg{
  display: block;
  width: 50px;
  height: 50px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.tvp-progepi-live-card-content{
  width: 100%;
  min-width: 0;
}

.tvp-progepi-live-card-text{
  margin: 0;
  color: var(--tvp-progepi-card-title);
  font-size: 0.97rem;
  font-weight: 500;
  line-height: 1.34;
}

.tvp-progepi-live-card-text--next{
  margin-bottom: 0;
}

.tvp-progepi-live-card-text strong{
  font-weight: 800;
}

.tvp-progepi-live-card-actions{
  display: grid;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.tvp-progepi-live-card-alert{
  margin-left: auto;
}

.tvp-progepi-live-card--next .tvp-progepi-live-card-head{
  align-items: center;
}

.tvp-progepi-live-card--next .tvp-progepi-inline-logo-link{
  float: none;
  align-self: center;
}

.tvp-progepi-live-card--next .tvp-progepi-live-card-alert{
  align-self: center;
}

.tvp-progepi-live-alert-btn{
  min-width: 2.1rem;
  min-height: 2rem;
  padding: 0.3rem 0.55rem;
  line-height: 1;
}

.tvp-progepi-live-alert-icon{
  font-size: 1rem;
  line-height: 1;
}

.tvp-progepi-live-progress-wrap{
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.26rem;
}

.tvp-progepi-live-progress{
  display: block;
  width: 100%;
  height: 0.5rem;
  margin: 0;
  border: 1px solid var(--tvp-progepi-progress-border);
  border-radius: 999px;
  background: var(--tvp-progepi-progress-track);
  color: var(--tvp-progepi-progress-value);
}

.tvp-progepi-live-progress::-webkit-progress-bar{
  border-radius: 999px;
  background: var(--tvp-progepi-progress-track);
}

.tvp-progepi-live-progress::-webkit-progress-value{
  border-radius: 999px;
  background: var(--tvp-progepi-progress-value);
}

.tvp-progepi-live-progress::-moz-progress-bar{
  border-radius: 999px;
  background: var(--tvp-progepi-progress-value);
}

.tvp-progepi-live-progress-label{
  display: block;
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.82rem;
  font-weight: 600;
}

.tvp-progepi-live-progress-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.tvp-progepi-live-progress-label--start{
  text-align: left;
}

.tvp-progepi-live-progress-label--end{
  margin-left: auto;
  text-align: right;
}

.tvp-u-btn.tvp-progepi-live-btn{
  margin-top: 0;
  border-color: var(--tvp-progepi-live-btn-border);
  background: var(--tvp-progepi-live-btn-bg);
  color: var(--tvp-progepi-live-btn-text);
  font-weight: 800;
}

.tvp-u-btn.tvp-progepi-live-btn:visited,
.tvp-u-btn.tvp-progepi-live-btn:hover,
.tvp-u-btn.tvp-progepi-live-btn:active,
.tvp-u-btn.tvp-progepi-live-btn:focus{
  color: var(--tvp-progepi-live-btn-text);
  text-decoration: none;
}

.tvp-u-btn.tvp-progepi-live-btn:hover,
.tvp-u-btn.tvp-progepi-live-btn:active{
  border-color: var(--tvp-progepi-live-btn-bg-hover);
  background: var(--tvp-progepi-live-btn-bg-hover);
  filter: none;
}

.tvp-u-btn.tvp-progepi-live-btn:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 2px;
}

.tvp-progepi-mnxt-form{
  display: flex;
  margin: 0;
  min-width: 0;
}

.tvp-progepi-mnxt-row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
  margin-top: 0.5rem;
  align-items: stretch;
}

.tvp-progepi-mnxt-spacer{
  display: block;
  min-width: 0;
}

.tvp-u-btn.tvp-progepi-mnxt-btn{
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  line-height: 1;
  justify-content: center;
  padding-top: 0.18rem;
  padding-bottom: 0.18rem;
  border-color: var(--tvp-progepi-mnxt-btn-border);
  background: var(--tvp-progepi-mnxt-btn-bg);
  color: var(--tvp-progepi-mnxt-btn-text);
  font-weight: 700;
  filter: none;
  box-shadow: 0 0 0 transparent;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.tvp-u-btn.tvp-progepi-mnxt-btn:hover,
.tvp-u-btn.tvp-progepi-mnxt-btn:active{
  border-color: var(--tvp-progepi-mnxt-btn-border-hover);
  background: var(--tvp-progepi-mnxt-btn-bg-hover);
  color: var(--tvp-progepi-mnxt-btn-text);
  filter: none;
}

.tvp-u-btn.tvp-progepi-mnxt-btn:hover{
  transform: none;
  box-shadow: var(--tvp-progepi-mnxt-btn-shadow-hover);
}

.tvp-u-btn.tvp-progepi-mnxt-btn:active{
  transform: none;
  box-shadow: var(--tvp-progepi-mnxt-btn-shadow-active);
}

.tvp-u-btn.tvp-progepi-mnxt-btn:focus,
.tvp-u-btn.tvp-progepi-mnxt-btn:focus-visible{
  color: var(--tvp-progepi-mnxt-btn-text);
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 2px;
}

.tvp-progepi-replay-sort-menu{
  --tvp-direct-live-bg: #0f6fdb;
  --tvp-direct-live-text: #ffffff;

  padding: 0;
  overflow: visible;
  margin-bottom: 0.38rem;
}

.tvp-progepi-replay-head{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.42rem;
}

.tvp-progepi-replay-title{
  margin: 0;
}

.tvp-progepi-replay-sort-menu .tvp-tv-direct-menu-btn:visited{
  color: var(--tvp-direct-text);
}

.tvp-progepi-replay-sort-menu .tvp-tv-direct-menu-btn.is-active,
.tvp-progepi-replay-sort-menu .tvp-tv-direct-menu-btn.is-active:visited{
  color: var(--tvp-direct-live-text);
}

.tvp-progepi-slide-item{
  display: block;
}

#photoswipe-gallery:not(.tvp-progepi-photo-wall) .tvp-progepi-slide-item{
  flex: 0 0 auto;
}

#photoswipe-gallery:not(.tvp-progepi-photo-wall) .tvp-progepi-slide-item img{
  display: block;
  width: auto;
  height: 75px;
  max-width: none;
  box-sizing: border-box;
}

.tvp-progepi-photo-wall{
  padding: 0.8rem;
  border: 1px solid var(--tvp-progepi-card-border);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 92%, #edf4fb 8%);
  box-shadow: var(--tvp-progepi-card-shadow);
  column-count: 2;
  column-gap: 0.85rem;
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-slide-item{
  display: inline-block;
  flex: none;
  width: 100%;
  margin: 0 0 0.85rem;
  break-inside: avoid;
  page-break-inside: avoid;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-card-border) 86%, transparent);
  border-radius: 0.95rem;
  background: var(--tvp-progepi-card-bg);
  box-shadow: var(--tvp-progepi-card-shadow);
}

#photoswipe-gallery.tvp-progepi-photo-wall .pswp_image{
  display: block;
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-photo-wall-link{
  display: block;
  overflow: hidden;
  background: var(--tvp-progepi-media-bg);
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-photo-wall-image{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  box-sizing: border-box;
  transition: transform 0.24s ease;
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-photo-wall-link:hover .tvp-progepi-photo-wall-image,
#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-photo-wall-link:focus-visible .tvp-progepi-photo-wall-image{
  transform: scale(1.018);
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-photo-wall-link:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 3px;
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-slide-tag,
#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-slide-subtag{
  z-index: 3;
  box-shadow: 0 6px 16px rgb(15 23 42 / 0.2);
}

#photoswipe-gallery.tvp-progepi-photo-wall .tvp-progepi-photo-wall-badge{
  position: absolute;
  top: 0.68rem;
  left: 0.68rem;
  z-index: 3;
  padding: 0.22rem 0.56rem;
  border: 1px solid color-mix(in srgb, var(--tvp-progepi-card-border) 72%, #ffffff 28%);
  border-radius: 999px;
  background: rgb(255 255 255 / 0.94);
  color: var(--tvp-progepi-card-title);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.tvp-progepi-tab-head{
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  margin: 1rem 0 0.4rem;
}

.tvp-progepi-tab-title{
  margin: 0;
}

.tvp-progepi-tab-title--section-gap{
  padding-top: 1rem;
}

.tvp-progepi-summary-top{
  margin-top: 1rem;
}

.tvp-progepi-tab-meta{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.62rem;
  margin: 0;
}

.tvp-progepi-tab-meta-text{
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.96rem;
  line-height: 1.4;
}

@media (min-width: 768px){
  .tvp-progepi-photo-wall{
    column-count: 3;
  }
}

@media (min-width: 1200px){
  .tvp-progepi-photo-wall{
    column-count: 4;
  }
}

.tvp-progepi-casting-group{
  margin-bottom: 1.08rem;
}

.tvp-progepi-casting-group-title{
  margin-top: 1.08rem;
  margin-bottom: 0.62rem;
}

.tvp-progepi-casting-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.72rem;
}

.tvp-progepi-casting-grid--compact{
  margin-top: 0.3rem;
}

.tvp-progepi-casting-grid--compact .tvp-progepi-casting-thumb-link{
  flex-basis: 2.88rem;
  width: 2.88rem;
  min-width: 2.88rem;
}

.tvp-progepi-casting-grid--compact .tvp-progepi-casting-body{
  gap: 0.14rem;
  padding: 0.42rem 0.56rem;
}

.tvp-progepi-casting-grid--compact .tvp-progepi-casting-name{
  font-size: 1rem;
  line-height: 1.16;
}

.tvp-progepi-casting-grid--compact .tvp-progepi-casting-age{
  font-size: 0.86em;
}

.tvp-progepi-casting-grid--compact .tvp-progepi-casting-role{
  font-size: 0.88rem;
  line-height: 1.24;
}

.tvp-progepi-casting-grid--compact .tvp-progepi-casting-admin-icon{
  font-size: 0.82rem;
}

.tvp-progepi-section-more-link-wrap,
.tvp-progepi-casting-more-link-wrap{
  margin-top: 0.7rem;
}

.tvp-progepi-casting-card-item{
  min-width: 0;
}

.tvp-progepi-casting-card{
  display: flex;
  align-items: stretch;
  min-height: 100%;
  border: 1px solid var(--tvp-progepi-card-border);
  border-radius: 0.82rem;
  overflow: hidden;
  background: var(--tvp-progepi-card-bg);
  box-shadow: var(--tvp-progepi-card-shadow);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tvp-progepi-casting-card:hover{
  border-color: var(--tvp-progepi-card-border-hover);
  box-shadow: var(--tvp-progepi-card-shadow-hover);
  transform: translateY(-1px);
}

.tvp-progepi-casting-thumb-link{
  display: block;
  flex: 0 0 4.3rem;
  width: 4.3rem;
  min-width: 4.3rem;
  background: var(--tvp-progepi-media-bg);
  border-right: 1px solid var(--tvp-progepi-card-border);
  text-decoration: none;
}

.tvp-progepi-casting-photo{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.tvp-progepi-casting-photo-placeholder{
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  color: #5c718d;
  background: color-mix(in srgb, var(--tvp-progepi-media-bg) 84%, #f1f5fa 16%);
}

.tvp-progepi-casting-body{
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 0.24rem;
  padding: 0.58rem 0.72rem;
}

.tvp-progepi-casting-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.44rem;
}

.tvp-progepi-casting-name-wrap{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.22rem;
  min-width: 0;
}

.tvp-progepi-casting-name{
  color: var(--tvp-progepi-card-title);
  font-size: 1.04rem;
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.tvp-progepi-casting-age{
  color: var(--tvp-progepi-card-meta);
  font-size: 0.92em;
  font-weight: 400;
  white-space: nowrap;
}

.tvp-progepi-casting-name:hover{
  text-decoration: underline;
}

.tvp-progepi-casting-thumb-link:focus-visible,
.tvp-progepi-casting-name:focus-visible,
.tvp-progepi-casting-admin-link:focus-visible{
  outline: 2px solid var(--tvp-direct-focus);
  outline-offset: 2px;
}

.tvp-progepi-casting-role{
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.92rem;
  line-height: 1.34;
}

.tvp-progepi-casting-appearances{
  margin: 0;
  color: var(--tvp-progepi-card-meta);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.28;
}

.tvp-progepi-casting-admin-link{
  margin-left: 0.28rem;
}

.tvp-progepi-casting-admin-icon{
  font-size: 0.92rem;
}

.tvp-progepi-text-block{
  position: relative;
  margin: 0;
  border: 0;
  border-radius: 0.92rem;
  background: transparent;
  box-shadow: none;
  color: var(--tvp-progepi-card-title);
  font-size: 1.03rem;
  line-height: 1.62;
  overflow-wrap: anywhere;
  padding: 0;
}

.tvp-progepi-text-block::before{
  content: none;
  display: none;
}

.tvp-progepi-text-block--summary::before{
  content: none;
}

.tvp-progepi-text-block--summary{
  margin-bottom: 0.7rem;
}

.tvp-progepi-text-block--critique{
  background: var(--tvp-progepi-text-block-bg-critique);
}

.tvp-progepi-text-block--critique::before{
  content: none;
}

.tvp-progepi-text-block a{
  color: var(--tvp-progepi-text-link);
  font-weight: 700;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.16em;
}

.tvp-progepi-text-block a:hover{
  color: var(--tvp-progepi-text-link-hover);
}

.tvp-progepi-text-block #affiche_film{
  float: left;
  display: block;
  width: min(120px, 32vw);
  max-width: 120px;
  height: auto;
  margin: 0 0.85rem 0 0;
  border-radius: 0.72rem;
  object-fit: cover;
  shape-margin: 0.5rem;
}

.tvp-progepi-info-text{
  display: flow-root;
  min-height: 0;
}

.tvp-progepi-info-text[data-has-affiche="1"]{
  min-height: 160px;
}

.tvp-progepi-slide-tag{
  font-size: 0.7rem;
}

.tvp-progepi-slide-subtag{
  font-size: 0.6rem;
}

.tvp-progepi-slide-delete.tvp-progepi-admin-link--icon{
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid #b52333;
  border-radius: 0.36rem;
  background: #dc3545;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.2);
}

.tvp-progepi-slide-delete.tvp-progepi-admin-link,
.tvp-progepi-slide-delete.tvp-progepi-admin-link:visited,
.tvp-progepi-slide-delete.tvp-progepi-admin-link:hover,
.tvp-progepi-slide-delete.tvp-progepi-admin-link:focus,
.tvp-progepi-slide-delete.tvp-progepi-admin-link:focus-visible,
.tvp-progepi-slide-delete.tvp-progepi-admin-link:active{
  color: #ffffff;
}

.tvp-progepi-slide-delete .tvp-progepi-admin-icon,
.tvp-progepi-slide-delete .tvp-icon{
  color: #ffffff;
  font-size: 0.64rem;
}

.tvp-progepi-slide-delete.tvp-progepi-admin-link:hover,
.tvp-progepi-slide-delete.tvp-progepi-admin-link:focus-visible{
  background: #c92f40;
  border-color: #a82231;
}

.tvp-progepi-slide-delete.tvp-progepi-admin-link:active{
  background: #b82435;
  border-color: #991c2b;
}

html[data-theme="dark"] .tvp-progepi-page,
html.dark .tvp-progepi-page,
html[data-theme="dark"] #progepi_watch_modal,
html.dark #progepi_watch_modal{
  --tvp-progepi-card-bg: #1a2636;
  --tvp-progepi-card-border: #34455c;
  --tvp-progepi-card-border-hover: #4b6482;
  --tvp-progepi-card-shadow: 0 2px 7px rgb(2 6 23 / 0.5);
  --tvp-progepi-card-shadow-hover: 0 12px 24px rgb(2 6 23 / 0.58);
  --tvp-progepi-card-title: #e5edf7;
  --tvp-progepi-card-meta: #b8c8da;
  --tvp-progepi-media-bg: #121d2c;
  --tvp-progepi-logo-bg: rgb(15 23 42 / 0.92);
  --tvp-progepi-logo-border: #4a5e77;
  --tvp-progepi-aud-wrap-bg: #1b2a3a;
  --tvp-progepi-aud-wrap-border: #3f536a;
  --tvp-progepi-aud-head-bg: #24374a;
  --tvp-progepi-aud-row-alt: #223347;
  --tvp-progepi-aud-row-hover: #2b4158;
  --tvp-progepi-aud-head-text: #c9d9eb;
  --tvp-progepi-aud-link: #d9e8fb;
  --tvp-progepi-aud-link-hover: #ffffff;
  --tvp-progepi-aud-cta-bg: #2f6fcf;
  --tvp-progepi-aud-cta-bg-hover: #255cae;
  --tvp-progepi-aud-cta-text: #ffffff;
  --tvp-progepi-aud-panel-bg: linear-gradient(180deg, color-mix(in srgb, var(--tvp-progepi-card-bg) 94%, var(--tvp-progepi-aud-head-bg) 6%) 0%, color-mix(in srgb, var(--tvp-progepi-card-bg) 56%, var(--tvp-progepi-aud-wrap-bg) 44%) 100%);
  --tvp-progepi-aud-surface-bg: color-mix(in srgb, var(--tvp-progepi-card-bg) 56%, var(--tvp-progepi-aud-wrap-bg) 44%);
  --tvp-progepi-aud-surface-border: color-mix(in srgb, var(--tvp-progepi-aud-wrap-border) 82%, var(--tvp-progepi-card-bg) 18%);
  --tvp-progepi-aud-surface-highlight: rgb(255 255 255 / 0.04);
  --tvp-progepi-aud-row-even: color-mix(in srgb, var(--tvp-progepi-card-bg) 88%, var(--tvp-progepi-aud-wrap-bg) 12%);
  --tvp-progepi-aud-grid: rgba(148, 163, 184, 0.16);
  --tvp-progepi-aud-pdm-line: #8ec5ff;
  --tvp-progepi-aud-pdm-axis: #8ec5ff;
  --tvp-progepi-aud-status-direct-border: #7f3a46;
  --tvp-progepi-aud-status-direct-bg: rgb(229 72 89 / 0.14);
  --tvp-progepi-aud-status-direct-text: #ffb6bf;
  --tvp-progepi-aud-status-inedit-border: #826227;
  --tvp-progepi-aud-status-inedit-bg: rgb(245 158 11 / 0.13);
  --tvp-progepi-aud-status-inedit-text: #ffd38e;
  --tvp-progepi-aud-status-rerun-border: #3d6678;
  --tvp-progepi-aud-status-rerun-bg: rgb(120 169 187 / 0.14);
  --tvp-progepi-aud-status-rerun-text: #add6e5;
  --tvp-progepi-text-block-bg: linear-gradient(180deg, #1f3042 0%, #1a2838 100%);
  --tvp-progepi-text-block-bg-critique: linear-gradient(180deg, #3a2a34 0%, #32242d 100%);
  --tvp-progepi-text-block-border: #445a73;
  --tvp-progepi-text-block-shadow: 0 10px 24px rgb(2 6 23 / 0.45);
  --tvp-progepi-text-summary-accent: #72a4ea;
  --tvp-progepi-text-critique-accent: #f06d80;
  --tvp-progepi-text-link: #c9defa;
  --tvp-progepi-text-link-hover: #ffffff;
  --tvp-progepi-progress-track: #2d3f55;
  --tvp-progepi-progress-border: #3d536f;
  --tvp-progepi-progress-value: #f06d80;
  --tvp-progepi-pill-bg: #1f2f43;
  --tvp-progepi-pill-border: #41546c;
  --tvp-progepi-pill-border-strong: #586f8d;
  --tvp-progepi-pill-text: #dbe8f9;
  --tvp-progepi-pill-link-bg: #233349;
  --tvp-progepi-pill-link-text: #dbe8ff;
  --tvp-progepi-pill-focus: #7aa8ff;
  --tvp-progepi-pill-flag-bg: #374862;
  --tvp-progepi-pill-flag-text: #f8fafc;
  --tvp-progepi-pill-rating-bg: #344a63;
  --tvp-progepi-pill-rating-text: #e2ecfa;
  --tvp-progepi-live-current-bg: #3d2a34;
  --tvp-progepi-live-current-border: #6b4256;
  --tvp-progepi-live-next-bg: #1f3046;
  --tvp-progepi-live-next-border: #3d5777;
  --tvp-progepi-live-btn-bg: #c53047;
  --tvp-progepi-live-btn-border: #ad263b;
  --tvp-progepi-live-btn-bg-hover: #ad263b;
  --tvp-progepi-live-btn-text: #ffffff;
  --tvp-progepi-reviews-title: #f1f5f9;
  --tvp-progepi-reviews-muted: #c9d4e3;
  --tvp-progepi-reviews-divider: #415168;
  --tvp-progepi-reviews-track: #334155;
  --tvp-progepi-reviews-fill-start: #ffcb1f;
  --tvp-progepi-reviews-fill-end: #ff9d21;
  --tvp-progepi-reviews-head-icon-bg: linear-gradient(180deg, #ff516b 0%, #db2d45 100%);
  --tvp-progepi-reviews-head-icon-shadow: 0 16px 34px rgb(2 6 23 / 0.38);
  --tvp-progepi-mnxt-btn-text: #dbe7f8;
  --tvp-progepi-mnxt-btn-border: #566e8b;
  --tvp-progepi-mnxt-btn-bg: rgb(15 23 42 / 0.22);
  --tvp-progepi-mnxt-btn-border-hover: #7a93b1;
  --tvp-progepi-mnxt-btn-bg-hover: rgb(122 168 255 / 0.16);
  --tvp-progepi-mnxt-btn-shadow-hover: 0 8px 18px rgb(2 6 23 / 0.46);
  --tvp-progepi-mnxt-btn-shadow-active: 0 3px 8px rgb(2 6 23 / 0.34);
  --tvp-progepi-play-bg: rgb(2 6 23 / 0.8);
  --tvp-direct-surface: #1b2636;
  --tvp-direct-surface-muted: #172334;
  --tvp-direct-border: #334155;
  --tvp-direct-border-strong: #475569;
  --tvp-direct-text: #dbe4ef;
  --tvp-direct-live-bg: #e55a6f;
  --tvp-direct-live-text: #ffffff;
  --tvp-direct-focus: #7aa8ff;
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-watch-next-head-count,
html.dark .tvp-progepi-page .tvp-progepi-watch-next-head-count{
  border-color: #516986;
  background: #25384d;
  color: #d8e8fb;
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-photos-count,
html.dark .tvp-progepi-page .tvp-progepi-photos-count{
  border-color: #516986;
  background: #25384d;
  color: #d8e8fb;
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-watch-next-item,
html.dark .tvp-progepi-page .tvp-progepi-watch-next-item{
  border-color: #445a76;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 96%, #2f4158 4%);
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-watch-next-item:hover,
html.dark .tvp-progepi-page .tvp-progepi-watch-next-item:hover{
  border-color: #5d7898;
  box-shadow: 0 8px 18px rgb(2 6 23 / 0.45);
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-variant-card,
html.dark .tvp-progepi-page .tvp-progepi-variant-card{
  border-color: #445a76;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 96%, #2f4158 4%);
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-variant-card:hover,
html.dark .tvp-progepi-page .tvp-progepi-variant-card:hover{
  border-color: #5d7898;
  box-shadow: 0 8px 18px rgb(2 6 23 / 0.45);
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-variant-card-image--placeholder,
html.dark .tvp-progepi-page .tvp-progepi-variant-card-image--placeholder{
  background: linear-gradient(135deg, #223145 0%, #2f425b 100%);
}

html[data-theme="dark"] .tvp-progepi-page .tvp-progepi-watch-next-empty,
html.dark .tvp-progepi-page .tvp-progepi-watch-next-empty{
  border-color: #4b6280;
  background: color-mix(in srgb, var(--tvp-progepi-card-bg) 95%, #2d4056 5%);
}

@media (min-width: 576px) {
  .tvp-progepi-casting-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tvp-progepi-variants-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tvp-progepi-watch-actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tvp-progepi-episodes-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tvp-progepi-vod-offers-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tvp-progepi-replay-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .tvp-progepi-page-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1.5rem;
    align-items: start;
  }

  .tvp-progepi-page-side{
    margin-top: 0;
    align-self: stretch;
  }

  .tvp-progepi-episodes-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tvp-progepi-vod-offers-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tvp-progepi-replay-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .tvp-progepi-hero-grid{
    grid-template-columns: minmax(16rem, 34%) minmax(0, 1fr);
    column-gap: 1.32rem;
  }
}

@media (min-width: 1200px) {
  .tvp-progepi-episodes-grid{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1400px) {
  .tvp-progepi-casting-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tvp-progepi-variants-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tvp-progepi-episodes-grid{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .tvp-progepi-vod-offers-grid{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .tvp-progepi-replay-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .tvp-progepi-casting-grid--compact > .tvp-progepi-casting-card-item:nth-child(n + 4){
    display: none;
  }

  .tvp-progepi-hero-grid{
    gap: 0.92rem;
    margin-top: 0.45rem;
    margin-bottom: 0.85rem;
  }

  .tvp-progepi-head-col{
    gap: 0.56rem;
  }

  .tvp-progepi-title-main{
    margin: 0.08rem 0 0.12rem;
    font-size: clamp(1.36rem, 6.7vw, 1.66rem);
  }

  .tvp-progepi-title-hero{
    margin: 0.03rem 0 0.1rem;
    font-size: clamp(1.32rem, 7.1vw, 1.74rem);
    line-height: 1.12;
  }

  .tvp-progepi-news-cards .tvp-news-list-title,
.tvp-progepi-news-cards .tvp-news-list-body > .tvp_chapitre{
    font-size: 0.94rem;
    line-height: 1.3rem;
  }

  .tvp-progepi-news-cards .tvp-news-list-excerpt{
    font-size: 0.87rem;
    line-height: 1.38;
  }

  .tvp-progepi-meta-row{
    gap: 0.52rem;
    padding-top: 0.64rem;
  }

  .tvp-progepi-live-card{
    padding: 0.78rem 0.8rem;
  }

  .tvp-progepi-live-card-text{
    font-size: 0.93rem;
    line-height: 1.34;
  }

  .tvp-progepi-casting-grid{
    grid-template-columns: minmax(0, 1fr);
  }

  .tvp-progepi-casting-grid--compact .tvp-progepi-casting-thumb-link{
    flex-basis: 2.55rem;
    width: 2.55rem;
    min-width: 2.55rem;
  }

  .tvp-progepi-casting-grid--compact .tvp-progepi-casting-body{
    padding: 0.38rem 0.5rem;
    gap: 0.12rem;
  }

  .tvp-progepi-casting-grid--compact .tvp-progepi-casting-name{
    font-size: 0.92rem;
    line-height: 1.14;
  }

  .tvp-progepi-casting-grid--compact .tvp-progepi-casting-role{
    font-size: 0.8rem;
    line-height: 1.2;
  }

  .tvp-progepi-casting-thumb-link{
    flex-basis: 3.8rem;
    width: 3.8rem;
    min-width: 3.8rem;
  }

  .tvp-progepi-casting-body{
    padding: 0.52rem 0.58rem;
    gap: 0.2rem;
  }

  .tvp-progepi-casting-name{
    font-size: 0.98rem;
  }

  .tvp-progepi-casting-role{
    font-size: 0.86rem;
  }

  .tvp-progepi-casting-appearances{
    font-size: 0.76rem;
  }

  .tvp-progepi-episodes-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 0.58rem;
  }

  .tvp-progepi-episode-card{
    flex-direction: row;
    align-items: stretch;
    min-height: 0;
  }

  .tvp-progepi-episode-card-media{
    flex: 0 0 42%;
    max-width: 42%;
    aspect-ratio: 16 / 9;
  }

  .tvp-progepi-episode-card-body{
    gap: 0.26rem;
    padding: 0.56rem 0.62rem 0.6rem;
  }

  .tvp-progepi-episodes-more-link{
    width: 100%;
    justify-content: center;
  }

  .tvp-progepi-replay-sort-menu{
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .tvp-progepi-text-block{
    font-size: 0.97rem;
    line-height: 1.56;
    padding: 0;
  }

  .tvp-progepi-text-block::before{
    content: none;
    display: none;
  }

  .tvp-progepi-aud-history-title{
    font-size: 1.2rem;
  }

  .tvp-progepi-aud-history-intro{
    font-size: 0.92rem;
  }

  .tvp-progepi-aud-table{
    min-width: 38rem;
  }

  .tvp-progepi-aud-table > thead > tr > th,
.tvp-progepi-aud-table > tbody > tr > td{
    padding: 0.45rem 0.5rem;
  }

}

/* ===========================
   PROGEPI - Bootstrapless Utilities
   =========================== */
.tvp-progepi-page,
#progepi_watch_modal{
  --tvp-u-text: #1f2937;
  --tvp-u-text-muted: #5f6b7a;
  --tvp-u-surface: #ffffff;
  --tvp-u-surface-muted: #f3f6fb;
  --tvp-u-surface-muted-2: #e6edf7;
  --tvp-u-border: #d3deeb;
  --tvp-u-border-strong: #bdcde0;
  --tvp-u-primary: #0f6fdb;
  --tvp-u-success: #2d9f59;
  --tvp-u-danger: #dc3545;
  --tvp-u-warning: #d08a12;
  --tvp-u-info: #0f766e;
}

html[data-theme="dark"] .tvp-progepi-page,
html.dark .tvp-progepi-page,
html[data-theme="dark"] #progepi_watch_modal,
html.dark #progepi_watch_modal{
  --tvp-u-text: #e5edf7;
  --tvp-u-text-muted: #b8c8da;
  --tvp-u-surface: #1a2636;
  --tvp-u-surface-muted: #1f2f43;
  --tvp-u-surface-muted-2: #23344a;
  --tvp-u-border: #3d5068;
  --tvp-u-border-strong: #4d6481;
  --tvp-u-primary: #3b82f6;
  --tvp-u-success: #3cb371;
  --tvp-u-danger: #f06d80;
  --tvp-u-warning: #d9a33a;
  --tvp-u-info: #2fa4ad;
}

.tvp-u-container-fluid{
  width: 100%;
  min-width: 0;
}

.tvp-u-navbar{
  display: block;
}

.tvp-u-row{
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.tvp-u-row > [class*="tvp-u-col-"],
.tvp-u-row > [class*="tvp-u-row-cols-"] > *{
  box-sizing: border-box;
  min-width: 0;
}

.tvp-u-row > [class*="tvp-u-col-"]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.tvp-u-col-12{
  width: 100%;
}

.tvp-u-col-5{
  width: 41.6667%;
}

.tvp-u-col-7{
  width: 58.3333%;
}

@media (min-width: 576px) {
  .tvp-u-col-sm-4{
    width: 33.3333%;
  }

  .tvp-u-col-sm-5{
    width: 41.6667%;
  }

  .tvp-u-col-sm-6{
    width: 50%;
  }

  .tvp-u-col-sm-7{
    width: 58.3333%;
  }
}

@media (min-width: 768px) {
  .tvp-u-col-md-4{
    width: 33.3333%;
  }

  .tvp-u-col-md-8{
    width: 66.6667%;
  }

  .tvp-u-row-cols-md-3 > *{
    width: 33.3333%;
  }
}

@media (min-width: 1024px) {
  .tvp-u-col-lg-4{
    width: 33.3333%;
  }

  .tvp-u-col-lg-5{
    width: 41.6667%;
  }

  .tvp-u-col-lg-7{
    width: 58.3333%;
  }

  .tvp-u-col-lg-8{
    width: 66.6667%;
  }

  .tvp-u-d-lg-none{
    display: none;
  }

  .tvp-u-order-lg-1{
    order: 1;
  }

  .tvp-u-order-lg-2{
    order: 2;
  }

  .tvp-u-row-cols-lg-4 > *{
    width: 25%;
  }
}

@media (min-width: 1200px) {
  .tvp-u-row-cols-xl-5 > *{
    width: 20%;
  }
}

.tvp-u-row-cols-2 > *{
  width: 50%;
}

.tvp-u-order-1{
  order: 1;
}

.tvp-u-order-2{
  order: 2;
}

.tvp-u-d-none{
  display: none;
}

.tvp-u-d-block{
  display: block;
}

@media (min-width: 768px) {
  .tvp-u-d-md-block{
    display: block;
  }
}

@media (min-width: 1024px) {
  .tvp-u-d-lg-block{
    display: block;
  }
}

.tvp-u-d-flex{
  display: flex;
}

.tvp-u-d-grid{
  display: grid;
}

.tvp-u-flex-column{
  flex-direction: column;
}

.tvp-u-flex-fill{
  flex: 1 1 auto;
}

.tvp-u-flex-wrap{
  flex-wrap: wrap;
}

.tvp-u-flex-nowrap{
  flex-wrap: nowrap;
}

.tvp-u-align-items-start{
  align-items: flex-start;
}

.tvp-u-align-items-center{
  align-items: center;
}

.tvp-u-align-items-end{
  align-items: flex-end;
}

.tvp-u-justify-content-between{
  justify-content: space-between;
}

.tvp-u-justify-content-center{
  justify-content: center;
}

.tvp-u-gap-0{
  gap: 0;
}

.tvp-u-gap-1{
  gap: 0.25rem;
}

.tvp-u-gap-2{
  gap: 0.5rem;
}

.tvp-u-w-100{
  width: 100%;
}

.tvp-u-overflow-auto{
  overflow: auto;
}

.tvp-u-overflow-x-auto{
  overflow-x: auto;
}

.tvp-u-position-relative{
  position: relative;
}

.tvp-u-position-absolute{
  position: absolute;
}

.tvp-u-top-0{
  top: 0;
}

.tvp-u-top-50{
  top: 50%;
}

.tvp-u-start-50{
  left: 50%;
}

.tvp-u-end-0{
  right: 0;
}

.tvp-u-bottom-0{
  bottom: 0;
}

.tvp-u-translate-middle{
  transform: translate(-50%, -50%);
}

.tvp-u-float-start{
  float: left;
}

.tvp-u-float-end{
  float: right;
}

.tvp-u-text-center{
  text-align: center;
}

.tvp-u-text-nowrap{
  white-space: nowrap;
}

.tvp-u-text-uppercase{
  text-transform: uppercase;
}

.tvp-u-text-end{
  text-align: right;
}

.tvp-u-align-text-bottom{
  vertical-align: text-bottom;
}

.tvp-u-text-truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tvp-u-text-white{
  color: #ffffff;
}

.tvp-u-text-light{
  color: #e5edf7;
}

.tvp-u-text-dark{
  color: #1f2937;
}

.tvp-u-text-danger{
  color: var(--tvp-u-danger);
}

.tvp-u-text-warning{
  color: var(--tvp-u-warning);
}

.tvp-u-text-secondary{
  color: var(--tvp-u-text-muted);
}

.tvp-u-bg-transparent{
  background-color: transparent;
}

.tvp-u-bg-dark{
  background-color: #0f172a;
}

.tvp-u-bg-primary{
  background-color: var(--tvp-u-primary);
}

.tvp-u-bg-success{
  background-color: var(--tvp-u-success);
}

.tvp-u-bg-danger{
  background-color: var(--tvp-u-danger);
}

.tvp-u-bg-danger-subtle{
  background-color: rgb(220 53 69 / 0.14);
}

.tvp-u-bg-secondary{
  background-color: var(--tvp-u-surface-muted);
}

.tvp-u-bg-white{
  background-color: #ffffff;
}

.tvp-u-bg-body-secondary{
  background-color: var(--tvp-u-surface-muted);
}

.tvp-u-bg-body-tertiary,
.tvp-u-bg-secondary-subtle{
  background-color: var(--tvp-u-surface-muted-2);
}

.tvp-u-border{
  border: 1px solid var(--tvp-u-border);
}

.tvp-u-border-0{
  border: 0;
}

.tvp-u-border-2{
  border-width: 2px;
}

.tvp-u-border-top{
  border-top: 1px solid var(--tvp-u-border);
}

.tvp-u-border-bottom{
  border-bottom: 1px solid var(--tvp-u-border);
}

.tvp-u-border-start{
  border-left: 1px solid var(--tvp-u-border);
}

.tvp-u-border-danger{
  border-color: var(--tvp-u-danger);
}

.tvp-u-border-light-subtle{
  border-color: var(--tvp-u-border);
}

.tvp-u-border-success{
  border-color: var(--tvp-u-success);
}

.tvp-u-border-info{
  border-color: var(--tvp-u-info);
}

.tvp-u-rounded{
  border-radius: 0.375rem;
}

.tvp-u-rounded-0{
  border-radius: 0;
}

.tvp-u-rounded-pill{
  border-radius: 999px;
}

.tvp-u-rounded-start-1{
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.tvp-u-fs-2{
  font-size: 1.5rem;
}

.tvp-u-fs-3{
  font-size: 1.375rem;
}

.tvp-u-fs-4{
  font-size: 1.25rem;
}

.tvp-u-fs-5{
  font-size: 1.1rem;
}

.tvp-u-fs-6{
  font-size: 0.95rem;
}

.tvp-u-fw-bold{
  font-weight: 700;
}

.tvp-u-fw-medium{
  font-weight: 600;
}

.tvp-u-fst-italic{
  font-style: italic;
}

.tvp-u-lh-sm{
  line-height: 1.25;
}

.tvp-u-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 1px solid transparent;
  border-radius: 0.4rem;
  padding: 0.45rem 0.8rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  color: #ffffff;
  background: #334155;
}

.tvp-u-btn:hover{
  filter: brightness(1.04);
}

.tvp-u-btn-sm{
  font-size: 0.82rem;
  padding: 0.3rem 0.58rem;
}

.tvp-u-btn-lg{
  font-size: 1rem;
  padding: 0.62rem 1rem;
}

.tvp-u-btn-primary{
  background: var(--tvp-u-primary, #0f6fdb);
  border-color: var(--tvp-u-primary, #0f6fdb);
}

.tvp-u-btn-success{
  background: var(--tvp-u-success, #2d9f59);
  border-color: var(--tvp-u-success, #2d9f59);
}

.tvp-u-btn-danger{
  background: var(--tvp-u-danger, #dc3545);
  border-color: var(--tvp-u-danger, #dc3545);
}

.tvp-u-btn-warning{
  background: var(--tvp-u-warning, #d08a12);
  border-color: var(--tvp-u-warning, #d08a12);
  color: #ffffff;
}

.tvp-u-btn-info{
  background: var(--tvp-u-info, #0f766e);
  border-color: var(--tvp-u-info, #0f766e);
  color: #ffffff;
}

.tvp-u-btn-outline-danger,
.tvp-u-btn-outline-success,
.tvp-u-btn-outline-secondary,
.tvp-u-btn-outline-light,
.tvp-u-btn-outline-dark{
  background: transparent;
}

.tvp-u-btn-outline-danger{
  color: var(--tvp-u-danger);
  border-color: var(--tvp-u-danger);
}

.tvp-u-btn-outline-success{
  color: var(--tvp-u-success);
  border-color: var(--tvp-u-success);
}

.tvp-u-btn-outline-secondary{
  color: var(--tvp-u-text-muted);
  border-color: var(--tvp-u-border-strong);
}

.tvp-u-btn-outline-light{
  color: #f8fafc;
  border-color: #cbd5e1;
}

.tvp-u-btn-outline-dark{
  color: #1f2937;
  border-color: #4b5563;
}

.tvp-u-btn-group{
  display: flex;
  align-items: stretch;
}

.tvp-u-badge{
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.tvp-u-text-bg-light{
  background: #edf2f9;
  color: #273448;
}

.tvp-u-text-bg-secondary{
  background: #4b5563;
  color: #f8fafc;
}

.tvp-u-text-bg-primary{
  background: var(--tvp-u-primary);
  color: #ffffff;
}

.tvp-u-text-bg-success{
  background: var(--tvp-u-success);
  color: #ffffff;
}

.tvp-u-text-bg-danger{
  background: var(--tvp-u-danger);
  color: #ffffff;
}

.tvp-u-text-bg-dark{
  background: #111827;
  color: #f8fafc;
}

.tvp-u-text-bg-warning{
  background: var(--tvp-u-warning);
  color: #ffffff;
}

.tvp-progepi-live-card-text .tvp-u-badge{
  margin-left: 0.16rem;
  vertical-align: baseline;
}

.tvp-progepi-live-card-text .tvp-u-badge.tvp-progepi-badge-xs{
  padding: 0.12rem 0.44rem;
  font-size: 0.62rem;
  line-height: 1;
  transform: translateY(-0.03em);
}

.tvp-progepi-live-card-text .tvp-u-badge.tvp-progepi-badge-micro{
  padding: 0.1rem 0.4rem;
  font-size: 0.58rem;
  line-height: 1;
  vertical-align: baseline;
  transform: translateY(-0.03em);
}

.tvp-u-breadcrumb{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--tvp-u-border-strong) transparent;
  list-style: none;
  gap: 0;
  margin: 0;
  padding: 0.34rem 0.42rem;
  border: 1px solid var(--tvp-u-border);
  border-radius: 0.72rem;
  background: linear-gradient(180deg, var(--tvp-u-surface), var(--tvp-u-surface-muted));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.66), 0 1px 2px rgb(15 23 42 / 0.08);
}

.tvp-u-breadcrumb::-webkit-scrollbar{
  height: 0.4rem;
}

.tvp-u-breadcrumb::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: var(--tvp-u-border-strong);
}

.tvp-u-breadcrumb-item{
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
}

.tvp-u-breadcrumb-item + .tvp-u-breadcrumb-item{
  padding-left: 0.16rem;
}

.tvp-u-breadcrumb-item + .tvp-u-breadcrumb-item::before{
  content: "";
  width: 0.36rem;
  height: 0.36rem;
  margin: 0 0.34rem 0 0.14rem;
  border-top: 1.5px solid var(--tvp-u-text-muted);
  border-right: 1.5px solid var(--tvp-u-text-muted);
  transform: rotate(45deg);
  opacity: 0.82;
}

.tvp-u-breadcrumb-item a{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: none;
  padding: 0.2rem 0.44rem;
  border-radius: 0.45rem;
  color: var(--tvp-u-text);
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.16s ease, background-color 0.16s ease;
}

.tvp-u-breadcrumb-item a:hover{
  color: var(--tvp-u-primary);
  background: rgb(15 111 219 / 0.11);
}

.tvp-u-breadcrumb-item a:focus-visible{
  outline: 2px solid var(--tvp-u-primary);
  outline-offset: 2px;
  background: rgb(15 111 219 / 0.11);
}

.tvp-u-breadcrumb-item:last-child a,
.tvp-u-breadcrumb-item[aria-current="page"] > a{
  color: var(--tvp-u-text);
  background: var(--tvp-u-surface-muted-2);
}

.tvp-progepi-breadcrumb-home a{
  padding-inline: 0.32rem;
}

@media (max-width: 575.98px) {
  .tvp-progepi-page .breadcrumb .tvp-u-text-truncate{
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
  }

  .tvp-progepi-page .breadcrumb .breadcrumb-item a{
    max-width: none;
    overflow: visible;
    text-overflow: clip;
  }

  .tvp-u-breadcrumb{
    padding: 0.3rem 0.34rem;
    border-radius: 0.68rem;
  }

  .tvp-u-breadcrumb-item a{
    max-width: 60vw;
    padding: 0.18rem 0.36rem;
  }
}

.tvp-u-ratio{
  position: relative;
  width: 100%;
}

.tvp-u-ratio::before{
  display: block;
  content: "";
  padding-top: 56.25%;
}

.tvp-u-ratio > *{
  position: absolute;
  inset: 0;
}

.tvp-u-ratio-16x9::before{
  padding-top: 56.25%;
}

.tvp-u-img-fluid{
  max-width: 100%;
  height: auto;
}

.tvp-u-img-thumbnail{
  border: 1px solid var(--tvp-u-border);
  border-radius: 0.4rem;
  background: var(--tvp-u-surface);
  padding: 0.18rem;
}

.tvp-u-table-responsive{
  width: 100%;
  overflow-x: auto;
}

.tvp-u-table{
  width: 100%;
  border-collapse: collapse;
  color: var(--tvp-u-text);
}

.tvp-u-table th,
.tvp-u-table td{
  border: 1px solid var(--tvp-u-border);
  padding: 0.45rem 0.55rem;
  vertical-align: top;
}

.tvp-u-table-sm th,
.tvp-u-table-sm td{
  padding: 0.3rem 0.45rem;
}

.tvp-u-table-striped tbody tr:nth-of-type(odd){
  background: rgb(59 130 246 / 0.06);
}

.tvp-u-table-hover tbody tr:hover{
  background: rgb(59 130 246 / 0.14);
}

.tvp-u-pagination{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tvp-u-page-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.1rem;
  height: 2.1rem;
  border: 1px solid var(--tvp-u-border);
  border-radius: 0.4rem;
  background: var(--tvp-u-surface);
  color: var(--tvp-u-text);
  text-decoration: none;
}

.tvp-u-page-item.tvp-u-active .tvp-u-page-link{
  border-color: var(--tvp-u-primary);
  background: var(--tvp-u-primary);
  color: #ffffff;
}

.tvp-u-page-item.tvp-u-disabled .tvp-u-page-link{
  opacity: 0.55;
  pointer-events: none;
}

.tvp-u-dropstart,
.tvp-u-dropdown{
  position: relative;
}

.tvp-u-dropdown-toggle::after{
  content: "";
  display: inline-block;
  margin-left: 0.35rem;
  vertical-align: 0.08em;
  border-top: 0.32em solid currentColor;
  border-right: 0.32em solid transparent;
  border-left: 0.32em solid transparent;
}

.tvp-u-dropdown-menu{
  display: none;
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  min-width: 235px;
  padding: 0.35rem;
  border-radius: 0.45rem;
  border: 1px solid var(--tvp-u-border);
  background: var(--tvp-u-surface);
  box-shadow: 0 10px 24px rgb(15 23 42 / 0.22);
  z-index: 1300;
}

.tvp-u-dropstart > .tvp-u-dropdown-menu{
  top: 0;
  right: calc(100% + 0.35rem);
}

.tvp-u-dropdown-menu.tvp-u-dropdown-menu-right,
.tvp-u-dropdown-menu.tvp-u-dropdown-menu-end{
  right: 0;
  left: auto;
}

.tvp-u-dropdown-menu.is-open{
  display: block;
}

.tvp-u-dropdown-item{
  display: block;
  width: 100%;
  border-radius: 0.36rem;
  padding: 0.42rem 0.52rem;
  color: var(--tvp-u-text);
  text-decoration: none;
}

.tvp-u-dropdown-item:hover{
  background: var(--tvp-u-surface-muted);
}

.tvp-u-stretched-link::after{
  content: "";
  position: absolute;
  inset: 0;
}

.tvp-u-text-bg-danger,
.tvp-u-text-bg-success,
.tvp-u-text-bg-warning,
.tvp-u-text-bg-secondary,
.tvp-u-text-bg-primary,
.tvp-u-text-bg-light,
.tvp-u-text-bg-dark{
  border: 1px solid transparent;
}

.tvp-u-m-0{ margin: 0; }
.tvp-u-m-1{ margin: 0.25rem; }
.tvp-u-m-2{ margin: 0.5rem; }
.tvp-u-mb-0{ margin-bottom: 0; }
.tvp-u-mb-1{ margin-bottom: 0.25rem; }
.tvp-u-mb-2{ margin-bottom: 0.5rem; }
.tvp-u-mb-3{ margin-bottom: 1rem; }
.tvp-u-mb-4{ margin-bottom: 1.5rem; }
.tvp-u-mb-5{ margin-bottom: 3rem; }
.tvp-u-mt-1{ margin-top: 0.25rem; }
.tvp-u-mt-2{ margin-top: 0.5rem; }
.tvp-u-mt-3{ margin-top: 1rem; }
.tvp-u-mt-4{ margin-top: 1.5rem; }
.tvp-u-mt-5{ margin-top: 3rem; }
.tvp-u-me-1{ margin-right: 0.25rem; }
.tvp-u-me-2{ margin-right: 0.5rem; }
.tvp-u-ms-1{ margin-left: 0.25rem; }
.tvp-u-ms-2{ margin-left: 0.5rem; }
.tvp-u-ms-auto{ margin-left: auto; }
.tvp-u-mx-2{ margin-left: 0.5rem; margin-right: 0.5rem; }
.tvp-u-my-2{ margin-top: 0.5rem; margin-bottom: 0.5rem; }
.tvp-u-my-3{ margin-top: 1rem; margin-bottom: 1rem; }
.tvp-u-my-4{ margin-top: 1.5rem; margin-bottom: 1.5rem; }

.tvp-u-p-0{ padding: 0; }
.tvp-u-p-1{ padding: 0.25rem; }
.tvp-u-px-0{ padding-left: 0; padding-right: 0; }
.tvp-u-px-1{ padding-left: 0.25rem; padding-right: 0.25rem; }
.tvp-u-px-2{ padding-left: 0.5rem; padding-right: 0.5rem; }
.tvp-u-py-1{ padding-top: 0.25rem; padding-bottom: 0.25rem; }
.tvp-u-py-2{ padding-top: 0.5rem; padding-bottom: 0.5rem; }
.tvp-u-pt-1{ padding-top: 0.25rem; }
.tvp-u-pt-4{ padding-top: 1.5rem; }
.tvp-u-pb-2{ padding-bottom: 0.5rem; }
.tvp-u-ps-3{ padding-left: 1rem; }

.tvp-u-clearfix::after{
  content: "";
  display: table;
  clear: both;
}

body.tvp-modal-open{
  overflow: hidden;
}

.tvp-modal-input:focus-visible,
.tvp-modal-textarea:focus-visible{
  outline: 2px solid #3f84d8;
  outline-offset: 1px;
}

.tvp-modal-help{
  margin: 0 0 0.7rem;
  color: #334f6d;
}

.tvp-modal-field{
  margin-bottom: 0.74rem;
}

.tvp-modal-label{
  display: block;
  margin-bottom: 0.3rem;
  color: #274666;
  font-size: 0.92rem;
  font-weight: 600;
}

.tvp-modal-input-wrap{
  position: relative;
}

.tvp-modal-input-icon{
  position: absolute;
  top: 50%;
  left: 0.62rem;
  transform: translateY(-50%);
  color: #607a98;
  pointer-events: none;
}

.tvp-modal-input,
.tvp-modal-textarea{
  width: 100%;
  border: 1px solid #c4d4e6;
  border-radius: 0.55rem;
  background: #ffffff;
  color: #1d344f;
  padding: 0.56rem 0.68rem;
  font-size: 0.98rem;
  line-height: 1.35;
}

.tvp-modal-input--with-icon{
  padding-left: 1.95rem;
}

.tvp-modal-textarea{
  min-height: 110px;
  resize: vertical;
}

.tvp-modal-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.tvp-modal-actions--center{
  justify-content: center;
}

.tvp-modal-actions--stack{
  justify-content: stretch;
}

.tvp-modal-btn-block{
  width: 100%;
}

.tvp-modal-note{
  align-items: center;
  gap: 0.15rem;
  margin-bottom: 0.78rem;
  font-size: 1.3rem;
}

.tvp-modal-note-label{
  min-width: 7.5rem;
  margin-left: 0.24rem;
  color: #2b5077;
  font-size: 0.95rem;
  font-weight: 600;
}

html[data-theme="dark"] .tvp-modal-help,
html.dark .tvp-modal-help{
  color: #c4d6ea;
}

html[data-theme="dark"] .tvp-modal-label,
html.dark .tvp-modal-label{
  color: #d3e3f7;
}

html[data-theme="dark"] .tvp-modal-input,
html.dark .tvp-modal-input,
html[data-theme="dark"] .tvp-modal-textarea,
html.dark .tvp-modal-textarea{
  border-color: #506884;
  background: #172737;
  color: #e5eef8;
}

html[data-theme="dark"] .tvp-modal-input-icon,
html.dark .tvp-modal-input-icon{
  color: #94afcc;
}

html[data-theme="dark"] .tvp-modal-note-label,
html.dark .tvp-modal-note-label{
  color: #cfe2f7;
}


.menu_ou_regarder{
  position: -webkit-sticky;
  position: sticky;
  top: var(--tvp-menu-top, -9px);
  z-index: 1002;
}

.menu_ou_regarder.tvp-tv-direct-menu{
  position: static;
  top: auto;
  z-index: auto;
}
