
/* ── Episode subtitle & S/E badge ── */
.tvschedule-epg__list-item-subtitle{font-size:12px;color:var(--tvs-muted,#9da7c3);margin-top:2px;display:flex;align-items:center;gap:6px;}
.tvschedule-epg__list-item-ep{font-size:11px;font-weight:600;background:rgba(255,255,255,.08);border-radius:4px;padding:1px 5px;letter-spacing:.03em;}

/* ── Modal: episode, presenter, trailer ── */
.tvschedule-epg__modal-episode{font-size:13px;font-weight:600;color:var(--tvs-accent,#c1007e);margin-bottom:4px;}
.tvschedule-epg__modal-presenter{font-size:13px;color:var(--tvs-muted,#9da7c3);margin-top:6px;}
.tvschedule-epg__modal-trailer{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--tvs-accent,#c1007e);text-decoration:none;padding:6px 14px;border:1px solid var(--tvs-accent,#c1007e);border-radius:8px;transition:background .15s;}
.tvschedule-epg__modal-trailer:hover{background:var(--tvs-accent,#c1007e);color:#fff;}

/* ── Single Channel template ── */
.tvschedule-epg--single-channel{background:var(--tvs-panel,#121933);border-radius:var(--tvs-radius,14px);overflow:hidden;border:1px solid var(--tvs-border,rgba(255,255,255,.08));}
.tvschedule-epg--single-channel .tvschedule-epg__sc-header{display:flex;align-items:center;gap:16px;padding:20px 24px 16px;background:var(--tvs-panel,#121933);border-bottom:1px solid var(--tvs-border,rgba(255,255,255,.08));position:relative;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-channel-info{flex:1;min-width:0;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-logo{height:48px;width:auto;object-fit:contain;flex-shrink:0;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-channel-name{margin:0;font-size:var(--tvs-date-header-size,18px);font-weight:700;color:var(--tvs-text,#fff);}
.tvschedule-epg--single-channel .tvschedule-epg__sc-date-label{font-size:13px;color:var(--tvs-muted,#9da7c3);margin-top:2px;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-color-bar{position:absolute;left:0;top:0;bottom:0;width:4px;}
/* Weekbar */
.tvschedule-epg--single-channel .tvschedule-epg__weekbar{background:rgba(0,0,0,.15);border-bottom:1px solid var(--tvs-border,rgba(255,255,255,.08));}
.tvschedule-epg--single-channel .tvschedule-epg__weekbar-top{display:flex;align-items:center;justify-content:center;padding:8px 16px 4px;}
.tvschedule-epg--single-channel .tvschedule-epg__weeknav{display:flex;align-items:center;gap:12px;}
.tvschedule-epg--single-channel .tvschedule-epg__nav-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.06);color:var(--tvs-text,#fff);text-decoration:none;font-size:18px;line-height:1;transition:background .12s;}
.tvschedule-epg--single-channel .tvschedule-epg__nav-btn:hover{background:rgba(255,255,255,.12);}
.tvschedule-epg--single-channel .tvschedule-epg__weeklabel{font-size:12px;font-weight:600;color:var(--tvs-muted,#9da7c3);letter-spacing:.02em;}
.tvschedule-epg--single-channel .tvschedule-epg__weekdays{display:flex;overflow-x:auto;scrollbar-width:none;padding:4px 12px 10px;}
.tvschedule-epg--single-channel .tvschedule-epg__weekdays::-webkit-scrollbar{display:none;}
.tvschedule-epg--single-channel .tvschedule-epg__weekday{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;border-radius:8px;text-decoration:none;color:var(--tvs-muted,#9da7c3);flex:1;min-width:40px;transition:background .12s,color .12s;}
.tvschedule-epg--single-channel .tvschedule-epg__weekday:hover{background:rgba(255,255,255,.06);color:var(--tvs-text,#fff);}
.tvschedule-epg--single-channel .tvschedule-epg__weekday.is-today .tvschedule-epg__weekday-num{color:var(--tvs-accent,#c1007e);}
.tvschedule-epg--single-channel .tvschedule-epg__weekday.is-active{background:rgba(255,255,255,.08);color:var(--tvs-text,#fff);}
.tvschedule-epg--single-channel .tvschedule-epg__weekday-short{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.tvschedule-epg--single-channel .tvschedule-epg__weekday-num{font-size:15px;font-weight:700;}
/* Programs list */
.tvschedule-epg--single-channel .tvschedule-epg__sc-programs{display:flex;flex-direction:column;padding:8px 0 14px;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item{display:grid !important;grid-template-columns:64px 1fr 48px;align-items:flex-start;gap:12px;padding:12px 20px;background:none !important;border:none !important;border-bottom:1px solid var(--tvs-border,rgba(255,255,255,.06)) !important;text-align:left;cursor:pointer;width:100%;transition:background .15s;color:var(--tvs-text,#fff);font-family:inherit;font-size:inherit;line-height:inherit;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item:last-child{border-bottom:none !important;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-programs{padding-bottom:14px;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item:hover{background:rgba(255,255,255,.04) !important;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item.is-current{background:rgba(255,255,255,.06) !important;box-shadow:inset 3px 0 0 var(--tvs-accent,#c1007e);}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item.is-past{opacity:.55;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-time{font-size:13px;font-weight:700;color:var(--tvs-accent,#c1007e);display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-top:2px;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-now-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--tvs-accent,#c1007e);color:#fff;border-radius:4px;padding:1px 5px;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-body{min-width:0;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-title{font-size:var(--tvs-program-title-size,15px);font-weight:600;color:var(--tvs-text,#fff);}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-episode{font-size:12px;color:var(--tvs-muted,#9da7c3);margin-top:3px;display:flex;gap:6px;flex-wrap:wrap;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-meta{font-size:12px;color:var(--tvs-muted,#9da7c3);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap;}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-presenter::before{content:"🎙 ";}
.tvschedule-epg--single-channel .tvschedule-epg__sc-item-end-time{font-size:12px;color:var(--tvs-muted,#9da7c3);text-align:right;padding-top:3px;}

/* ── Mini / Embed template ── */
.tvschedule-epg--mini{display:flex;flex-direction:column;gap:12px;}
.tvschedule-epg--mini .tvschedule-epg__mini-channel{background:var(--tvs-panel,#121933);border-radius:var(--tvs-radius,14px);padding:12px 12px 20px;border:1px solid var(--tvs-border,rgba(255,255,255,.08));}
.tvschedule-epg--mini .tvschedule-epg__mini-channel-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--tvs-border,rgba(255,255,255,.08));}
.tvschedule-epg--mini .tvschedule-epg__mini-logo{height:24px;width:auto;object-fit:contain;}
.tvschedule-epg--mini .tvschedule-epg__mini-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.tvschedule-epg--mini .tvschedule-epg__mini-channel-name{font-size:13px;font-weight:700;color:var(--tvs-text,#fff);}
.tvschedule-epg--mini .tvschedule-epg__mini-list{list-style:none !important;margin:0 !important;padding:0 0 14px !important;display:flex;flex-direction:column;gap:2px;}
.tvschedule-epg--mini .tvschedule-epg__mini-list::after{content:'';display:block;height:10px;}
.tvschedule-epg--mini .tvschedule-epg__mini-list li{list-style:none !important;margin:0 !important;padding:0 !important;background:none !important;}
.tvschedule-epg--mini .tvschedule-epg__mini-list li::before,.tvschedule-epg--mini .tvschedule-epg__mini-list li::after{display:none !important;content:none !important;}
.tvschedule-epg--mini .tvschedule-epg__mini-item{display:flex !important;align-items:center;gap:8px;width:100%;background:none !important;border:none !important;padding:5px 4px;text-align:left;cursor:pointer;border-radius:6px;transition:background .12s;color:var(--tvs-text,#fff);font-family:inherit;font-size:inherit;}
.tvschedule-epg--mini .tvschedule-epg__mini-item:hover{background:rgba(255,255,255,.06);}
.tvschedule-epg--mini .tvschedule-epg__mini-item.is-current{background:rgba(255,255,255,.08);}
.tvschedule-epg--mini .tvschedule-epg__mini-item.is-past{opacity:.5;}
.tvschedule-epg--mini .tvschedule-epg__mini-time{font-size:12px;font-weight:700;color:var(--tvs-accent,#c1007e);min-width:36px;flex-shrink:0;}
.tvschedule-epg--mini .tvschedule-epg__mini-title{font-size:13px;color:var(--tvs-text,#fff);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tvschedule-epg--mini .tvschedule-epg__mini-now{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--tvs-accent,#c1007e);color:#fff;border-radius:4px;padding:1px 5px;flex-shrink:0;}

/* ── Original layout ── */
.tvschedule-epg--list .tvschedule-epg__list,
.tvschedule-epg--compact .tvschedule-epg__compact {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.tvschedule-epg--list .tvschedule-epg__list-channel,
.tvschedule-epg--compact .tvschedule-epg__compact-channel {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)), var(--epg-panel, #121829);
  border: 1px solid var(--epg-border, #1f2937);
  border-radius: 18px;
  padding: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.tvschedule-epg--list .tvschedule-epg__list-channel::before,
.tvschedule-epg--compact .tvschedule-epg__compact-channel::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--epg-accent, #d1008f), rgba(255,255,255,.05));
  opacity: .75;
}

.tvschedule-epg--list .tvschedule-epg__channel-heading,
.tvschedule-epg--compact .tvschedule-epg__channel-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.tvschedule-epg--list .tvschedule-epg__channel-accent,
.tvschedule-epg--compact .tvschedule-epg__channel-accent {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: 0 0 auto;
  box-shadow: 0 0 0 5px rgba(255,255,255,.03);
}

.tvschedule-epg--list .tvschedule-epg__channel-logo,
.tvschedule-epg--compact .tvschedule-epg__channel-logo {
  width: 26px;
  height: 26px;
  object-fit: contain;
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  padding: 2px;
}

.tvschedule-epg--list .tvschedule-epg__channel-title,
.tvschedule-epg--compact .tvschedule-epg__channel-title {
  font-size: var(--epg-channel-font-size, 16px);
  font-weight: 800;
  letter-spacing: -.02em;
}

.tvschedule-epg--list .tvschedule-epg__list-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tvschedule-epg--list .tvschedule-epg__list-item,
.tvschedule-epg--compact .tvschedule-epg__compact-item {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)), rgba(7, 13, 33, .72);
  color: var(--epg-card-text, #fff);
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.tvschedule-epg--list .tvschedule-epg__list-item:hover,
.tvschedule-epg--compact .tvschedule-epg__compact-item:hover,
.tvschedule-epg--list .tvschedule-epg__list-item:focus-visible,
.tvschedule-epg--compact .tvschedule-epg__compact-item:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  border-color: rgba(255,255,255,.12);
  outline: none;
}

.tvschedule-epg--list .tvschedule-epg__list-item-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
}

.tvschedule-epg--list .tvschedule-epg__list-item-title,
.tvschedule-epg--compact .tvschedule-epg__list-item-title {
  font-size: var(--epg-program-title-size, 15px);
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -.02em;
  margin: 0;
}

.tvschedule-epg--list .tvschedule-epg__list-item-time,
.tvschedule-epg--compact .tvschedule-epg__list-item-time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--epg-text, #fff);
  white-space: nowrap;
  font-size: var(--epg-program-time-size, 12px);
  font-weight: 700;
}

.tvschedule-epg--list .tvschedule-epg__program-meta,
.tvschedule-epg--compact .tvschedule-epg__program-meta {
  display: inline-flex;
  margin-top: 7px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: var(--epg-muted, #94a3b8);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.tvschedule-epg--list .tvschedule-epg__list-item-desc {
  margin-top: 10px;
  color: var(--epg-muted, #94a3b8);
  font-size: 13px;
  line-height: 1.5;
}

.tvschedule-epg--compact .tvschedule-epg__compact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.tvschedule-epg--compact .tvschedule-epg__compact-item {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tvschedule-epg--compact .tvschedule-epg__compact-item .tvschedule-epg__list-item-title {
  margin-bottom: 10px;
}

.tvschedule-epg--compact .tvschedule-epg__compact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tvschedule-epg--list .tvschedule-epg__badges,
.tvschedule-epg--compact .tvschedule-epg__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px !important;
}

.tvschedule-epg--list .tvschedule-epg__empty,
.tvschedule-epg--compact .tvschedule-epg__empty {
  padding: 18px;
  border: 1px dashed rgba(255,255,255,.08);
  border-radius: 14px;
  color: var(--epg-muted, #94a3b8);
  background: rgba(255,255,255,.02);
}

@media (max-width: 992px) {
  .tvschedule-epg--compact .tvschedule-epg__compact-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
}

@media (max-width: 768px) {
  .tvschedule-epg--list .tvschedule-epg__list-channel,
  .tvschedule-epg--compact .tvschedule-epg__compact-channel {
    padding: 14px;
  }

  .tvschedule-epg--list .tvschedule-epg__list-item-main {
    grid-template-columns: 1fr;
  }

  .tvschedule-epg--list .tvschedule-epg__list-item-time,
  .tvschedule-epg--compact .tvschedule-epg__list-item-time {
    justify-self: start;
  }

  .tvschedule-epg--compact .tvschedule-epg__compact-grid {
    grid-template-columns: 1fr;
  }
}


/* List + Compact template toolbar/day polish */
.tvschedule-epg--list .tvschedule-epg__toolbar,
.tvschedule-epg--compact .tvschedule-epg__toolbar {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:18px 18px 14px;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
}

.tvschedule-epg--list .tvschedule-epg__toolbar-left,
.tvschedule-epg--compact .tvschedule-epg__toolbar-left,
.tvschedule-epg--list .tvschedule-epg__toolbar-right,
.tvschedule-epg--compact .tvschedule-epg__toolbar-right {
  display:flex;
  align-items:center;
  gap:12px;
}

.tvschedule-epg--list .tvschedule-epg__toolbar-left,
.tvschedule-epg--compact .tvschedule-epg__toolbar-left { min-width:0; flex:1 1 auto; }

.tvschedule-epg--list .tvschedule-epg__title-group,
.tvschedule-epg--compact .tvschedule-epg__title-group {
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.tvschedule-epg--list .tvschedule-epg__kicker,
.tvschedule-epg--compact .tvschedule-epg__kicker {
  font-size:12px;
  font-weight:700;
  color:var(--epg-muted, #94a3b8);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.tvschedule-epg--list .tvschedule-epg__title,
.tvschedule-epg--compact .tvschedule-epg__title {
  margin:0;
  font-size:clamp(26px, 4vw, 34px);
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--epg-text, #fff);
  font-family:var(--tvs-heading-font, var(--tvs-body-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
}

.tvschedule-epg--list .tvschedule-epg__nav,
.tvschedule-epg--compact .tvschedule-epg__nav {
  width:44px;
  height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  font-size:20px;
  line-height:1;
  flex:0 0 auto;
  transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.tvschedule-epg--list .tvschedule-epg__nav:hover,
.tvschedule-epg--compact .tvschedule-epg__nav:hover,
.tvschedule-epg--list .tvschedule-epg__nav:focus-visible,
.tvschedule-epg--compact .tvschedule-epg__nav:focus-visible {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  transform:translateY(-1px);
  outline:none;
}

.tvschedule-epg--list .tvschedule-epg__now,
.tvschedule-epg--compact .tvschedule-epg__now {
  min-width:74px;
  height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--epg-accent, #d1008f) 45%, transparent);
  background:linear-gradient(180deg, color-mix(in srgb, var(--epg-accent, #d1008f) 94%, white 6%), var(--epg-accent, #d1008f));
  color:#fff;
  font-weight:700;
  box-shadow:0 10px 24px rgba(209,0,143,.22);
}

.tvschedule-epg--list .tvschedule-epg__days,
.tvschedule-epg--compact .tvschedule-epg__days {
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:14px 18px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.tvschedule-epg--list .tvschedule-epg__days::-webkit-scrollbar,
.tvschedule-epg--compact .tvschedule-epg__days::-webkit-scrollbar { display:none; }

.tvschedule-epg--list .tvschedule-epg__day,
.tvschedule-epg--compact .tvschedule-epg__day {
  min-width:112px;
  flex:0 0 112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
  border:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  color:var(--epg-text, #fff);
  transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.tvschedule-epg--list .tvschedule-epg__day:hover,
.tvschedule-epg--compact .tvschedule-epg__day:hover {
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.16);
  transform:translateY(-1px);
}

.tvschedule-epg--list .tvschedule-epg__day.is-active,
.tvschedule-epg--compact .tvschedule-epg__day.is-active {
  background:linear-gradient(180deg, rgba(209,0,143,.26), rgba(209,0,143,.12));
  border-color:rgba(209,0,143,.48);
  box-shadow:inset 0 0 0 1px rgba(209,0,143,.24), 0 8px 24px rgba(209,0,143,.14);
}

.tvschedule-epg--list .tvschedule-epg__day-short,
.tvschedule-epg--compact .tvschedule-epg__day-short {
  font-size:13px;
  color:var(--epg-muted, #94a3b8);
  text-transform:lowercase;
  letter-spacing:.01em;
}

.tvschedule-epg--list .tvschedule-epg__day-num,
.tvschedule-epg--compact .tvschedule-epg__day-num {
  font-size:30px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
  font-family:var(--tvs-heading-font, var(--tvs-body-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
}

.tvschedule-epg--list .tvschedule-epg__list,
.tvschedule-epg--compact .tvschedule-epg__compact {
  padding:14px 18px 18px;
}

@media (max-width: 900px) {
  .tvschedule-epg--list .tvschedule-epg__toolbar,
  .tvschedule-epg--compact .tvschedule-epg__toolbar {
    align-items:flex-start;
    flex-direction:column;
  }
  .tvschedule-epg--list .tvschedule-epg__toolbar-right,
  .tvschedule-epg--compact .tvschedule-epg__toolbar-right {
    align-self:flex-end;
  }
}

@media (max-width: 640px) {
  .tvschedule-epg--list .tvschedule-epg__toolbar,
  .tvschedule-epg--compact .tvschedule-epg__toolbar {
    padding:16px 14px 12px;
    gap:14px;
  }
  .tvschedule-epg--list .tvschedule-epg__toolbar-left,
  .tvschedule-epg--compact .tvschedule-epg__toolbar-left {
    width:100%;
  }
  .tvschedule-epg--list .tvschedule-epg__toolbar-right,
  .tvschedule-epg--compact .tvschedule-epg__toolbar-right {
    width:100%;
    justify-content:flex-end;
  }
  .tvschedule-epg--list .tvschedule-epg__title,
  .tvschedule-epg--compact .tvschedule-epg__title {
    font-size:clamp(22px, 7vw, 30px);
  }
  .tvschedule-epg--list .tvschedule-epg__day,
  .tvschedule-epg--compact .tvschedule-epg__day {
    min-width:92px;
    flex-basis:92px;
    padding:10px 12px;
  }
  .tvschedule-epg--list .tvschedule-epg__day-num,
  .tvschedule-epg--compact .tvschedule-epg__day-num {
    font-size:24px;
  }
  .tvschedule-epg--list .tvschedule-epg__days,
  .tvschedule-epg--compact .tvschedule-epg__days,
  .tvschedule-epg--list .tvschedule-epg__list,
  .tvschedule-epg--compact .tvschedule-epg__compact {
    padding-left:14px;
    padding-right:14px;
  }
}


/* Channel switcher for list + compact templates */
.tvschedule-epg--list .tvschedule-epg__channel-switcher,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher {
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:0 18px 18px;
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher::-webkit-scrollbar,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher::-webkit-scrollbar { display:none; }

.tvschedule-epg--list .tvschedule-epg__channel-switcher-tab,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab {
  flex:0 0 auto;
  min-width:140px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
  color:var(--epg-text, #fff);
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher-tab:hover,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab:hover,
.tvschedule-epg--list .tvschedule-epg__channel-switcher-tab:focus-visible,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab:focus-visible {
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.16);
  transform:translateY(-1px);
  outline:none;
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher-tab.is-active,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab.is-active {
  background:linear-gradient(180deg, rgba(209,0,143,.24), rgba(209,0,143,.10));
  border-color:rgba(209,0,143,.42);
  box-shadow:0 10px 24px rgba(209,0,143,.12), inset 0 0 0 1px rgba(209,0,143,.14);
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher-label,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-label {
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}
.tvschedule-epg--list [data-channel-panel],
.tvschedule-epg--compact [data-channel-panel] { display:none; }
.tvschedule-epg--compact [data-channel-panel].is-active { display:block; }

@media (max-width: 640px) {
  .tvschedule-epg--list .tvschedule-epg__channel-switcher,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher {
    padding:0 14px 14px;
    gap:8px;
  }
  .tvschedule-epg--list .tvschedule-epg__channel-switcher-tab,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab {
    min-width:120px;
    padding:10px 12px;
    border-radius:12px;
  }
  .tvschedule-epg--list .tvschedule-epg__channel-switcher-label,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher-label {
    font-size:13px;
  }
  .tvschedule-epg--list .tvschedule-epg__channel-title,
  .tvschedule-epg--compact .tvschedule-epg__channel-title {
    font-size:15px;
  }
  .tvschedule-epg--list .tvschedule-epg__list-item-title,
  .tvschedule-epg--compact .tvschedule-epg__list-item-title {
    font-size:14px;
  }
  .tvschedule-epg--list .tvschedule-epg__list-item-time,
  .tvschedule-epg--compact .tvschedule-epg__list-item-time {
    font-size:11px;
    min-height:30px;
    padding:0 11px;
  }
}


.tvschedule-epg--list [data-channel-panel][hidden],
.tvschedule-epg--compact [data-channel-panel][hidden] { display:none !important; }

.tvschedule-epg--compact [data-channel-panel].is-active { display:block !important; }


/* v0.13.8 spacing + mobile typography polish */
.tvschedule-epg--list .tvschedule-epg__days,
.tvschedule-epg--compact .tvschedule-epg__days {
  padding-bottom: 16px;
}

.tvschedule-epg--list .tvschedule-epg__channel-switcher,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher {
  margin: 4px 0 8px;
  padding-bottom: 20px;
}

.tvschedule-epg--list .tvschedule-epg__list,
.tvschedule-epg--compact .tvschedule-epg__compact {
  padding-top: 6px;
}

.tvschedule-epg--list .tvschedule-epg__list-channel,
.tvschedule-epg--compact .tvschedule-epg__compact-channel {
  padding: 18px;
}

.tvschedule-epg--list .tvschedule-epg__channel-heading,
.tvschedule-epg--compact .tvschedule-epg__channel-heading {
  margin-bottom: 16px;
}

.tvschedule-epg--list .tvschedule-epg__list-items {
  gap: 14px;
}

.tvschedule-epg--compact .tvschedule-epg__compact-grid {
  gap: 14px;
}

.tvschedule-epg--list .tvschedule-epg__list-item,
.tvschedule-epg--compact .tvschedule-epg__compact-item {
  padding: 16px 18px;
}

@media (max-width: 640px) {
  .tvschedule-epg--list .tvschedule-epg__toolbar,
  .tvschedule-epg--compact .tvschedule-epg__toolbar {
    gap: 12px;
  }

  .tvschedule-epg--list .tvschedule-epg__kicker,
  .tvschedule-epg--compact .tvschedule-epg__kicker {
    font-size: 11px;
    letter-spacing: .07em;
  }

  .tvschedule-epg--list .tvschedule-epg__title,
  .tvschedule-epg--compact .tvschedule-epg__title {
    font-size: clamp(18px, 8vw, 24px);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  .tvschedule-epg--list .tvschedule-epg__nav,
  .tvschedule-epg--compact .tvschedule-epg__nav,
  .tvschedule-epg--list .tvschedule-epg__now,
  .tvschedule-epg--compact .tvschedule-epg__now {
    height: 40px;
    min-width: 64px;
    border-radius: 12px;
  }

  .tvschedule-epg--list .tvschedule-epg__now,
  .tvschedule-epg--compact .tvschedule-epg__now {
    padding: 0 16px;
    font-size: 13px;
  }

  .tvschedule-epg--list .tvschedule-epg__day,
  .tvschedule-epg--compact .tvschedule-epg__day {
    min-width: 88px;
    flex-basis: 88px;
    padding: 10px 11px;
    gap: 10px;
  }

  .tvschedule-epg--list .tvschedule-epg__day-short,
  .tvschedule-epg--compact .tvschedule-epg__day-short {
    font-size: 11px;
  }

  .tvschedule-epg--list .tvschedule-epg__day-num,
  .tvschedule-epg--compact .tvschedule-epg__day-num {
    font-size: 21px;
  }

  .tvschedule-epg--list .tvschedule-epg__channel-switcher,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher {
    gap: 10px;
    margin-bottom: 16px;
  }

  .tvschedule-epg--list .tvschedule-epg__channel-switcher-tab,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab {
    min-width: 132px;
    padding: 11px 12px;
  }

  .tvschedule-epg--list .tvschedule-epg__channel-switcher-label,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher-label {
    font-size: 12px;
  }

  .tvschedule-epg--list .tvschedule-epg__list,
  .tvschedule-epg--compact .tvschedule-epg__compact {
    padding-top: 2px;
  }

  .tvschedule-epg--list .tvschedule-epg__list-channel,
  .tvschedule-epg--compact .tvschedule-epg__compact-channel {
    padding: 15px;
    border-radius: 16px;
  }

  .tvschedule-epg--list .tvschedule-epg__channel-title,
  .tvschedule-epg--compact .tvschedule-epg__channel-title {
    font-size: 14px;
  }

  .tvschedule-epg--list .tvschedule-epg__list-item,
  .tvschedule-epg--compact .tvschedule-epg__compact-item {
    padding: 14px 14px;
    border-radius: 14px;
  }

  .tvschedule-epg--list .tvschedule-epg__list-item-title,
  .tvschedule-epg--compact .tvschedule-epg__list-item-title {
    font-size: 13px;
    line-height: 1.35;
  }

  .tvschedule-epg--list .tvschedule-epg__list-item-time,
  .tvschedule-epg--compact .tvschedule-epg__list-item-time {
    font-size: 11px;
    min-height: 28px;
    padding: 0 10px;
  }

  .tvschedule-epg--list .tvschedule-epg__badges,
  .tvschedule-epg--compact .tvschedule-epg__badges {
    gap: 6px;
    margin-top: 10px !important;
  }
}


/* v0.15.2 template consistency polish */
.tvschedule-epg--list .tvschedule-epg__list,
.tvschedule-epg--compact .tvschedule-epg__compact{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher{
  margin-top:-4px;
  margin-bottom:4px;
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher-tab,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab{
  min-height:56px;
}
.tvschedule-epg--list .tvschedule-epg__channel-switcher-tab.is-active,
.tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab.is-active{
  transform:translateY(-1px);
}
.tvschedule-epg--list .tvschedule-epg__list-channel,
.tvschedule-epg--compact .tvschedule-epg__compact-channel{
  padding:18px;
}
.tvschedule-epg--list .tvschedule-epg__channel-heading,
.tvschedule-epg--compact .tvschedule-epg__channel-heading{
  margin-bottom:16px;
  padding-bottom:14px;
}
.tvschedule-epg--list .tvschedule-epg__list-items{
  gap:12px;
}
.tvschedule-epg--list .tvschedule-epg__list-item,
.tvschedule-epg--compact .tvschedule-epg__compact-item{
  box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.tvschedule-epg--list .tvschedule-epg__list-item:hover,
.tvschedule-epg--compact .tvschedule-epg__compact-item:hover,
.tvschedule-epg--list .tvschedule-epg__list-item:focus-visible,
.tvschedule-epg--compact .tvschedule-epg__compact-item:focus-visible{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018)), rgba(7, 13, 33, .78);
}
.tvschedule-epg--list .tvschedule-epg__badges,
.tvschedule-epg--compact .tvschedule-epg__badges{
  margin-top:10px !important;
}
.tvschedule-epg--list .tvschedule-epg__empty,
.tvschedule-epg--compact .tvschedule-epg__empty{
  padding:20px 18px;
}
.tvschedule-epg--list .tvschedule-epg__list-item-desc,
.tvschedule-epg--compact .tvschedule-epg__list-item-desc{
  margin-top:8px;
}
@media (max-width:768px){
  .tvschedule-epg--list .tvschedule-epg__channel-switcher,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher{
    margin-top:0;
    margin-bottom:6px;
  }
  .tvschedule-epg--list .tvschedule-epg__channel-switcher-tab,
  .tvschedule-epg--compact .tvschedule-epg__channel-switcher-tab{
    min-height:50px;
  }
  .tvschedule-epg--list .tvschedule-epg__title,
  .tvschedule-epg--compact .tvschedule-epg__title{
    font-size:clamp(20px, 6.5vw, 28px);
  }
  .tvschedule-epg--list .tvschedule-epg__day,
  .tvschedule-epg--compact .tvschedule-epg__day{
    min-width:84px;
    flex-basis:84px;
  }
  .tvschedule-epg--list .tvschedule-epg__day-short,
  .tvschedule-epg--compact .tvschedule-epg__day-short{
    font-size:12px;
  }
  .tvschedule-epg--list .tvschedule-epg__day-num,
  .tvschedule-epg--compact .tvschedule-epg__day-num{
    font-size:22px;
  }
  .tvschedule-epg--list .tvschedule-epg__channel-title,
  .tvschedule-epg--compact .tvschedule-epg__channel-title{
    font-size:14px;
  }
  .tvschedule-epg--list .tvschedule-epg__list-item-title,
  .tvschedule-epg--compact .tvschedule-epg__list-item-title{
    font-size:15px;
    line-height:1.32;
  }
  .tvschedule-epg--list .tvschedule-epg__list-item-time,
  .tvschedule-epg--compact .tvschedule-epg__list-item-time{
    font-size:12px;
  }
}

.tvschedule-epg__modal-person{display:flex;align-items:center;gap:12px;margin:10px 0 8px;}
.tvschedule-epg__modal-person-image{width:52px;height:52px;border-radius:999px;object-fit:cover;flex:0 0 52px;}
.tvschedule-epg__modal-person-label,.tvschedule-epg__modal-people{font-size:12px;color:var(--tvs-muted,#9da7c3);}
.tvschedule-epg__modal-person-name{font-size:14px;font-weight:600;}
.tvschedule-epg__modal-people{margin:6px 0 0;}
