:root {
  --bg: #08090d;
  --panel: #12151c;
  --panel-2: #191e28;
  --text: #f6f7fb;
  --muted: #a9b1c3;
  --line: rgba(255, 255, 255, .12);
  --accent: #27c8ff;
  --accent-2: #ff283d;
  --danger: #ff6b6b;
  --radius: 8px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 0%, rgba(39, 200, 255, .16), transparent 34%),
    radial-gradient(circle at 95% 22%, rgba(255, 40, 61, .08), transparent 28%),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button, input { font: inherit; }

.shell {
  width: min(1220px, calc(100% - 28px));
  margin: 0 auto;
  padding: 18px 0 40px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px 0;
  background: linear-gradient(90deg, rgba(8, 14, 22, .92), rgba(9, 8, 13, .88));
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
  min-width: max-content;
}

.brand-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(39, 200, 255, .35));
}

.brand strong, .brand small { display: block; line-height: 1.1; }
.brand small { color: var(--muted); font-size: 12px; }
.brand strong { font-size: 16px; }

.site-links {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.site-links::-webkit-scrollbar { display: none; }

.site-links a {
  flex: 0 0 auto;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .055);
  color: #dce8f7;
  font-weight: 750;
  text-decoration: none;
}

.site-links a.active {
  border-color: rgba(39, 200, 255, .55);
  background: rgba(39, 200, 255, .12);
  color: #fff;
}

.search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(520px, 100%);
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .06);
  color: var(--muted);
}

.search span { font-size: 13px; }
.search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--text);
  background: transparent;
}

.tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 0 18px;
}

.tab, .chip, .load-more, .category-trigger {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .06);
  color: var(--text);
  cursor: pointer;
}

.tab {
  min-height: 42px;
  padding: 0 16px;
  white-space: nowrap;
}

.tab.active, .chip.active {
  border-color: rgba(50, 214, 162, .8);
  background: rgba(50, 214, 162, .16);
}

.hero {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 760px);
  align-items: center;
  justify-content: center;
  gap: 28px;
  min-height: 250px;
  margin: 22px 0 22px;
  padding: 26px;
  border: 1px solid rgba(39, 200, 255, .18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(39, 200, 255, .10), rgba(255, 40, 61, .06)),
    rgba(255, 255, 255, .035);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .26);
}

.home-brand {
  display: grid;
  place-items: center;
  width: min(330px, 100%);
  justify-self: end;
}

.home-brand img {
  width: 100%;
  height: auto;
  max-height: 210px;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, .45));
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1;
  letter-spacing: 0;
}

.hero p:last-child {
  max-width: 620px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

.stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.stat {
  padding: 20px 16px;
  border: 1px solid rgba(39, 200, 255, .24);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(39, 200, 255, .11), rgba(255, 40, 61, .05));
  box-shadow: 0 16px 36px rgba(0, 0, 0, .22);
  text-align: center;
}

.stat strong { display: block; font-size: clamp(32px, 4.4vw, 54px); line-height: 1; }
.stat span { display: block; margin-top: 8px; color: #cfe6ff; font-size: 15px; }

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 12px;
}

h2 {
  margin: 0;
  font-size: 22px;
}

.section-head span { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; }

.mobile-filter {
  display: none;
}

.category-trigger {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: min(360px, 100%);
  min-height: 44px;
  padding: 0 14px;
  color: var(--text);
}

.category-trigger b {
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(50, 214, 162, .16);
  color: var(--accent);
}

.catalog-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.catalog-layout.home-mode {
  display: block;
}

.catalog-layout.home-mode .category-sidebar {
  display: none;
}

.category-sidebar {
  position: sticky;
  top: 86px;
  max-height: calc(100vh - 104px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(18, 21, 28, .88);
  backdrop-filter: blur(16px);
}

.sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 14px 10px;
}

.sidebar-head .eyebrow { margin-bottom: 2px; }

.icon-close.static {
  position: static;
  flex: 0 0 auto;
}

.sidebar-close { display: none; }

.category-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .06);
  color: var(--muted);
  margin: 0 14px 12px;
}

.category-search span {
  flex: 0 0 auto;
  font-size: 13px;
}

.category-search input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--text);
  background: transparent;
}

.category-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: calc(100vh - 248px);
  overflow: auto;
  padding: 0 10px 12px 14px;
}

.chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  color: var(--muted);
  text-align: left;
}

.chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chip b {
  color: var(--text);
}

.content-area {
  min-width: 0;
}

.row { margin-top: 12px; }

.catalog-layout.home-mode .row {
  margin-top: 20px;
}

.catalog-layout.home-mode .section-head {
  margin-bottom: 14px;
}

.catalog-layout.home-mode .section-head h2 {
  font-size: 26px;
}

.carousel-row {
  overflow: hidden;
  position: relative;
  padding-bottom: 4px;
}

.carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(154px, 178px);
  gap: 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  padding: 0 2px 18px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 52px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 52px), transparent 100%);
}

.carousel::-webkit-scrollbar { display: none; }

.carousel .card {
  scroll-snap-align: start;
  transition: transform .18s ease, border-color .18s ease;
}

.carousel .card:hover {
  transform: translateY(-4px);
  border-color: rgba(39, 200, 255, .42);
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(142px, 1fr));
  gap: 14px;
}

.grid.live {
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
}

.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(23, 29, 42, .96), rgba(14, 17, 25, .98));
  color: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  min-width: 0;
}

.poster {
  display: grid;
  place-items: center;
  aspect-ratio: 2 / 3;
  background: linear-gradient(145deg, #222834, #10131a);
}

.live .poster { aspect-ratio: 1 / 1; padding: 18px; }
.poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.live .poster img { object-fit: contain; }

.fallback {
  padding: 16px;
  color: var(--muted);
  font-weight: 800;
  text-align: center;
}

.meta {
  min-height: 82px;
  padding: 10px;
}

.meta strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

.meta small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.empty, .loading, .error {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  color: var(--muted);
}

.error { border-color: rgba(255, 107, 107, .55); }

.load-more {
  display: block;
  min-height: 42px;
  margin: 20px auto 0;
  padding: 0 18px;
}

.modal {
  width: min(760px, calc(100% - 24px));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0;
  background: var(--panel);
  color: var(--text);
}

.modal::backdrop { background: rgba(0, 0, 0, .72); }

.icon-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(0, 0, 0, .45);
  color: var(--text);
  cursor: pointer;
}

.detail {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
  padding: 18px;
}

.detail img, .detail .poster {
  width: 100%;
  border-radius: var(--radius);
  overflow: hidden;
}

.facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.trailer {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 14px 0;
  border: 1px solid rgba(39, 200, 255, .22);
  border-radius: var(--radius);
  background: #05070b;
}

.trailer iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.fact {
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 760px) {
  .shell { width: min(100% - 20px, 1220px); }
  .topbar { align-items: stretch; flex-direction: column; }
  .site-links {
    width: 100%;
    padding-bottom: 2px;
  }
  .site-links a {
    min-height: 40px;
    padding-inline: 13px;
  }
  .brand-logo { width: 52px; height: 52px; }
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    margin: 14px 0 16px;
    padding: 16px;
  }
  .home-brand { width: min(250px, 68vw); justify-self: center; }
  .stats { grid-template-columns: 1fr; gap: 10px; }
  .stat { padding: 13px 12px; }
  .stat strong { font-size: 30px; }
  .carousel { grid-auto-columns: minmax(136px, 46%); gap: 12px; }
  .category-trigger { display: inline-flex; width: 100%; }
  .catalog-layout { display: block; }
  .category-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 20;
    width: min(88vw, 340px);
    max-height: none;
    border-radius: 0;
    transform: translateX(-105%);
    transition: transform .22s ease;
  }
  body.sidebar-open .category-sidebar { transform: translateX(0); }
  body.sidebar-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 19;
    background: rgba(0, 0, 0, .58);
  }
  .sidebar-close { display: grid; }
  .category-list { max-height: calc(100vh - 150px); }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .grid.live { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .meta { min-height: 72px; padding: 8px; }
  .detail { grid-template-columns: 1fr; }
  h1 { font-size: 40px; }
}

/* App-style catalog view */
body.catalog-active {
  background:
    linear-gradient(90deg, rgba(5, 13, 26, .94), rgba(3, 8, 14, .9)),
    radial-gradient(circle at 70% 0%, rgba(0, 140, 180, .18), transparent 38%),
    var(--bg);
}

body.catalog-active .shell {
  width: min(1540px, calc(100% - 28px));
  padding-top: 10px;
}

body.catalog-active .topbar {
  top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

body.catalog-active .site-links {
  order: 3;
  width: 100%;
}

body.catalog-active .hero {
  display: none;
}

body.catalog-active .tabs {
  padding: 8px 0 12px;
}

body.catalog-active .tab {
  min-height: 38px;
  background: rgba(255, 255, 255, .04);
}

body.catalog-active .catalog-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

body.catalog-active .category-sidebar {
  top: 104px;
  max-height: calc(100vh - 118px);
  border-width: 0 1px 0 0;
  border-radius: 0;
  background: rgba(8, 16, 30, .62);
  box-shadow: none;
}

body.catalog-active .sidebar-head {
  padding: 16px 18px 12px;
}

body.catalog-active .sidebar-head h2,
body.catalog-active .content-head h2 {
  font-size: 28px;
  font-weight: 650;
}

body.catalog-active .category-search {
  min-height: 48px;
  margin: 0 16px 16px;
  border-color: rgba(255, 255, 255, .48);
  border-radius: 24px;
  background: rgba(0, 0, 0, .18);
}

body.catalog-active .category-search span {
  font-size: 0;
}

body.catalog-active .category-search span::before {
  content: "Buscar";
  font-size: 14px;
}

body.catalog-active .category-list {
  gap: 4px;
  max-height: calc(100vh - 230px);
  padding: 0 16px 18px;
}

body.catalog-active .chip {
  width: 100%;
  min-height: 52px;
  border: 0;
  background: transparent;
  color: #f5f7ff;
  font-size: 18px;
  border-radius: 8px;
}

body.catalog-active .chip:hover,
body.catalog-active .chip.active {
  background: rgba(255, 255, 255, .11);
  color: #f2ff00;
}

body.catalog-active .chip span {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.catalog-active .chip i {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: linear-gradient(135deg, #ff9f1a, #ff6b00);
}

body.catalog-active .chip i::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 6px 0 0 8px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #fff;
}

body.catalog-active .chip b {
  color: inherit;
  font-weight: 650;
}

body.catalog-active .content-panel {
  min-width: 0;
}

body.catalog-active .content-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  margin-bottom: 20px;
}

body.catalog-active .content-head[hidden] {
  display: none;
}

body.catalog-active #totalLabel {
  color: #dbe7ff;
  font-size: 16px;
}

body.catalog-active .row {
  margin-top: 0;
}

body.catalog-active .grid {
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 22px;
}

body.catalog-active .grid.live {
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
}

body.catalog-active .card {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(34, 42, 60, .78);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}

body.catalog-active .meta {
  min-height: 78px;
  text-align: center;
  background: rgba(55, 62, 84, .8);
}

body.catalog-active .meta strong {
  font-size: 16px;
  font-weight: 550;
}

body.catalog-active .meta small {
  display: none;
}

@media (max-width: 900px) {
  body.catalog-active .catalog-layout {
    display: block;
  }

  body.catalog-active .mobile-filter {
    display: block;
    margin-bottom: 12px;
  }

  body.catalog-active .category-trigger {
    display: inline-flex;
  }

  body.catalog-active .category-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 20;
    width: min(88vw, 360px);
    max-height: none;
    border-right: 1px solid var(--line);
    transform: translateX(-105%);
    transition: transform .22s ease;
  }

  body.catalog-active.sidebar-open .category-sidebar {
    transform: translateX(0);
  }

  body.catalog-active.sidebar-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 19;
    background: rgba(0, 0, 0, .58);
  }

  body.catalog-active .sidebar-close {
    display: grid;
  }

  body.catalog-active .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.catalog-active .grid.live {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* TVDigital Plus V3 - navegación unificada */
:root{--tvd-sidebar:232px;--tvd-bg:#050b14;--tvd-side:#07111f;--tvd-border:#1d2b40;--tvd-accent:#2d7cff}
body{padding-left:var(--tvd-sidebar)!important}
.tvd-sidebar{position:fixed;inset:0 auto 0 0;width:var(--tvd-sidebar);z-index:1000;background:linear-gradient(180deg,#07111f,#050b14);border-right:1px solid var(--tvd-border);display:flex;flex-direction:column;padding:18px 12px}
.tvd-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 20px;color:#fff;text-decoration:none}.tvd-brand img{width:48px;height:48px;object-fit:contain}.tvd-brand strong{display:block;font-size:16px}.tvd-brand small{color:#6f8aad}
.tvd-nav{display:grid;gap:6px}.tvd-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:11px;color:#b8c7da;text-decoration:none;font-weight:800;font-size:13px;border:1px solid transparent}.tvd-nav a:hover,.tvd-nav a.active{background:#142b60;color:#fff;border-color:#244983}.tvd-nav .ico{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#102038}
.tvd-side-bottom{margin-top:auto;display:grid;gap:7px}.tvd-side-bottom a{padding:10px 12px;border-radius:10px;text-decoration:none;color:#9fc3ff;background:#0b1a2c;border:1px solid #1b3352;font-size:12px;font-weight:800}
.tvd-mobilebar{display:none}.site-header,.topbar{display:none!important}
body>.whatsapp{right:18px!important}
@media(max-width:820px){
 body{padding-left:0!important;padding-top:62px!important}
 .tvd-sidebar{transform:translateX(-102%);transition:.22s ease;width:min(84vw,300px);box-shadow:20px 0 45px rgba(0,0,0,.35)}
 body.tvd-menu-open .tvd-sidebar{transform:translateX(0)}
 .tvd-mobilebar{display:flex;position:fixed;z-index:1100;left:0;right:0;top:0;height:62px;background:#07111f;border-bottom:1px solid var(--tvd-border);align-items:center;justify-content:space-between;padding:8px 12px}
 .tvd-mobilebar button{width:42px;height:42px;border:1px solid #29415f;border-radius:11px;background:#0b1a2c;color:#fff;font-size:21px}.tvd-mobilebrand{display:flex;align-items:center;gap:8px;color:#fff;font-weight:900}.tvd-mobilebrand img{width:38px;height:38px;object-fit:contain}
 body.tvd-menu-open:after{content:"";position:fixed;z-index:999;inset:0;background:rgba(0,0,0,.55)}
}


/* =========================================================
   TVDigital Plus V4 — visual premium / unified
   ========================================================= */
:root{
  --bg:#050914;
  --bg-2:#07111f;
  --panel:#0b1525;
  --panel-2:#101d31;
  --line:#20324b;
  --line-soft:rgba(255,255,255,.07);
  --text:#f6f8fc;
  --muted:#93a6c1;
  --blue:#2f7cff;
  --cyan:#22d3ee;
  --violet:#7c5cff;
  --green:#22c55e;
  --shadow:0 24px 70px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 80% 10%,rgba(47,124,255,.09),transparent 26rem),
    radial-gradient(circle at 18% 55%,rgba(124,92,255,.06),transparent 24rem),
    var(--bg)!important;
  color:var(--text)!important;
}
main,.page,.container,.shell{position:relative}
main{max-width:1480px!important;margin:0 auto!important;padding:26px 28px 48px!important}
.eyebrow,.kicker,.section-kicker{color:#6ddcff!important;letter-spacing:.08em;font-weight:900;text-transform:uppercase}
h1,h2,h3{letter-spacing:-.035em}
p{line-height:1.65}
.btn,.button,button{
  border-radius:12px!important;
  box-shadow:none!important;
}
.btn.primary,.button.primary{
  background:linear-gradient(135deg,var(--blue),#4f46e5)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:0 10px 30px rgba(47,124,255,.22)!important;
}
.btn.primary:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn.ghost{background:#0b1524!important;border:1px solid #263953!important;color:#dce8f7!important}

/* Compact premium hero */
.hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  margin-bottom:20px!important;
}
.hero-copy,.hero-card{
  min-height:0!important;
  border-radius:24px!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow)!important;
  overflow:hidden;
}
.hero-copy{
  padding:38px 40px!important;
  background:
    linear-gradient(135deg,rgba(25,66,146,.94),rgba(65,54,163,.88)),
    var(--panel)!important;
}
.hero-copy h1{
  max-width:860px!important;
  font-size:clamp(38px,5.1vw,72px)!important;
  line-height:.98!important;
  margin:12px 0 18px!important;
}
.hero-copy p{
  max-width:760px!important;
  font-size:16px!important;
  color:#d7e4f5!important;
  margin-bottom:22px!important;
}
.hero-card{
  padding:28px!important;
  background:
    linear-gradient(180deg,rgba(13,24,43,.94),rgba(7,14,27,.98))!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
}
.hero-card img{max-width:190px!important;max-height:150px!important;object-fit:contain!important;filter:drop-shadow(0 18px 32px rgba(47,124,255,.18))}
.hero-stats,.stats{gap:10px!important}
.hero-stats>*{
  min-width:0!important;
  padding:15px 10px!important;
  border-radius:14px!important;
  background:#101a2b!important;
  border:1px solid #223651!important;
}

/* Reduce repetition / utility cards */
.feature-grid,.info-grid,.cards,.benefit-grid{
  gap:14px!important;
}
.feature-card,.info-card,.card,.benefit-card{
  background:linear-gradient(180deg,#0c1728,#091322)!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  box-shadow:0 14px 38px rgba(0,0,0,.14)!important;
}
.feature-card,.info-card,.benefit-card{padding:20px!important}
.feature-card:hover,.info-card:hover,.benefit-card:hover{
  transform:translateY(-2px);
  border-color:#31517d!important;
}

/* pricing section premium */
.pricing-section{
  margin-top:22px!important;
  padding:28px!important;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(10,22,39,.96),rgba(6,13,24,.98))!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow)!important;
}
.pricing-section .section-head{margin-bottom:18px!important}
.price-grid,.pricing-grid,#consumerPrices,#creditPrices{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.price-card{
  position:relative!important;
  overflow:hidden!important;
  padding:24px!important;
  min-height:290px!important;
  border-radius:20px!important;
  border:1px solid #263955!important;
  background:
    linear-gradient(180deg,rgba(17,30,51,.98),rgba(8,17,31,.98))!important;
  box-shadow:
    0 22px 42px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
  transform:translateZ(0);
}
.price-card:before{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-78px;top:-90px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(47,124,255,.28),transparent 68%);
  pointer-events:none;
}
.price-card:nth-child(2){
  border-color:#4e68d7!important;
  transform:translateY(-6px)!important;
  box-shadow:0 26px 55px rgba(47,90,255,.22)!important;
}
.price-card .tag,.price-card .badge{
  display:inline-flex!important;
  width:auto!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#132744!important;
  color:#8ddcff!important;
  border:1px solid #24527b!important;
  font-size:10px!important;
  font-weight:900!important;
}
.price-card h3{font-size:20px!important;margin:14px 0 8px!important}
.price-card .price{
  display:block!important;
  font-size:36px!important;
  line-height:1!important;
  margin:10px 0 6px!important;
  color:#fff!important;
}
.price-card ul{
  color:#a9bdd5!important;
  padding-left:18px!important;
  margin:16px 0 22px!important;
}
.price-card li{margin:7px 0!important}
.price-card .btn{margin-top:auto!important}

/* less bulky "what includes" section */
.what-includes,.includes-section,.sales-section{
  padding:26px!important;
  border-radius:22px!important;
  background:#091422!important;
  border:1px solid var(--line)!important;
}
.what-includes h2,.includes-section h2,.sales-section h2{font-size:clamp(30px,3vw,46px)!important}

/* sidebar premium cleanup */
.tvd-sidebar{
  background:
    linear-gradient(180deg,#07111f 0%,#07101c 70%,#050b13 100%)!important;
  border-right:1px solid #1b2b40!important;
  box-shadow:18px 0 45px rgba(0,0,0,.12)!important;
}
.tvd-brand{padding:8px 9px 22px!important}
.tvd-brand img{width:44px!important;height:44px!important}
.tvd-nav a{transition:.16s ease!important}
.tvd-nav a.active{
  background:linear-gradient(135deg,#17336c,#1d438f)!important;
  border-color:#2a55a4!important;
  box-shadow:0 10px 25px rgba(34,89,190,.18)!important;
}
.tvd-side-bottom a{
  background:#0a1727!important;
  border-color:#1d3552!important;
}

/* catalog pages */
.catalog-shell,.catalog-panel,.content-panel{
  border-radius:20px!important;
  border:1px solid var(--line)!important;
  background:#091522!important;
}
.catalog-grid,.content-grid{gap:14px!important}
.catalog-card,.content-card{
  border-radius:16px!important;
  background:#0b1728!important;
  border:1px solid #22364f!important;
  overflow:hidden!important;
}

/* mobile */
@media(max-width:1050px){
  .hero{grid-template-columns:1fr!important}
  .hero-card{min-height:250px!important}
  .price-grid,.pricing-grid,#consumerPrices,#creditPrices{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  main{padding:16px 14px 36px!important}
  .hero-copy{padding:26px 22px!important}
  .hero-copy h1{font-size:clamp(38px,12vw,58px)!important}
  .price-grid,.pricing-grid,#consumerPrices,#creditPrices{grid-template-columns:1fr!important}
  .price-card:nth-child(2){transform:none!important}
}

/* V4.3 - Identidad azul unificada TVDigital Plus */
:root{--accent:#2f7cff!important;--blue:#2f7cff!important;--cyan:#2f7cff!important;--tvd-accent:#2f7cff!important}
.eyebrow,.kicker,.section-kicker{color:#5d96ff!important}
.btn.primary,.primary,.cta-primary,button.primary,.submit-btn,.action-primary{background:linear-gradient(135deg,#2f7cff,#245fe0)!important;color:#fff!important;border-color:#4b8aff!important;box-shadow:0 10px 26px rgba(47,124,255,.22)!important}
.badge,.pill,.tag,.chip{border-color:#28549a!important}
a:not(.tvd-nav a):not(.tvd-brand):not(.tvd-side-bottom a){--link-accent:#5d96ff}


/* =========================================================
   TVDigital Plus 5.5 — Catálogo PRO
   Presentación solamente. No toca API ni credenciales.
   ========================================================= */
:root{
  --accent:#2f7cff!important;
  --accent-2:#5b6df3!important;
  --blue:#2f7cff!important;
  --cyan:#2f7cff!important;
  --tvd-accent:#2f7cff!important;
}

/* Área superior */
.catalog-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:2px 0 16px;
  padding:14px 16px;
  border:1px solid #1f334d;
  border-radius:16px;
  background:linear-gradient(180deg,#0b1728,#081321);
}
.catalog-toolbar-copy strong{
  display:block;
  font-size:14px;
  color:#f7f9fd;
}
.catalog-toolbar-copy span{
  display:block;
  margin-top:3px;
  color:#8499b4;
  font-size:11px;
}
.catalog-search{
  width:min(460px,100%)!important;
  min-height:44px;
  border-radius:12px!important;
  border-color:#294561!important;
  background:#08111f!important;
}
.catalog-search span{
  color:#70a8ff!important;
  font-size:18px!important;
}
.catalog-search input{
  font-size:13px!important;
}

/* Tabs: todo en azul */
.tabs{
  gap:8px!important;
  padding:8px 0 12px!important;
}
.tab{
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:11px!important;
  border:1px solid #263c58!important;
  background:#0b1625!important;
  color:#dce7f5!important;
  font-weight:800!important;
}
.tab:hover{
  border-color:#3b5f8e!important;
}
.tab.active{
  background:linear-gradient(135deg,#2f7cff,#4f63e9)!important;
  border-color:#4f86ff!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(47,124,255,.18)!important;
}

/* Hero compacto y equilibrado */
body:not(.catalog-active) #hero.hero{
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)!important;
  min-height:205px!important;
  margin:16px 0 18px!important;
  padding:22px 28px!important;
  gap:28px!important;
  border-radius:20px!important;
  border:1px solid #223a56!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(47,124,255,.13),transparent 17rem),
    linear-gradient(135deg,#0c1929,#101b2d 58%,#1a1321)!important;
}
body:not(.catalog-active) #hero .home-brand{
  width:min(280px,100%)!important;
  justify-self:center!important;
}
body:not(.catalog-active) #hero .home-brand img{
  max-width:235px!important;
  max-height:150px!important;
}
body:not(.catalog-active) #hero .stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
body:not(.catalog-active) #hero .stat{
  min-width:0!important;
  padding:18px 8px!important;
  border-radius:15px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#111d30,#0b1625)!important;
  border:1px solid #29415f!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
body:not(.catalog-active) #hero .stat strong{
  display:block!important;
  width:100%!important;
  font-size:clamp(30px,3.1vw,46px)!important;
  letter-spacing:-1.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-variant-numeric:tabular-nums!important;
}
body:not(.catalog-active) #hero .stat span{
  margin-top:9px!important;
  color:#aebfd4!important;
  font-size:12px!important;
}

/* Inicio del catálogo / recientes */
.catalog-layout.home-mode .content-panel{
  border:0!important;
  background:transparent!important;
}
.catalog-layout.home-mode .carousel-row{
  margin-top:0!important;
  padding:22px 0 2px 20px!important;
  border:1px solid #1f324b!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#091523,#07111e)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.14)!important;
}
.catalog-layout.home-mode .section-head{
  padding-right:20px!important;
  margin:0 0 15px!important;
}
.catalog-layout.home-mode .section-head h2{
  font-size:26px!important;
  letter-spacing:-.8px!important;
}
.catalog-layout.home-mode .section-head span{
  font-size:11px!important;
  color:#75aaff!important;
}
.carousel{
  grid-auto-columns:minmax(148px,172px)!important;
  gap:14px!important;
  padding-bottom:16px!important;
}
.carousel .card{
  border-radius:15px!important;
  border:1px solid #243851!important;
  background:#0a1525!important;
  box-shadow:0 15px 34px rgba(0,0,0,.15)!important;
}
.carousel .card:hover{
  transform:translateY(-4px)!important;
  border-color:#3d6699!important;
}
.carousel .poster{
  border-radius:14px 14px 0 0!important;
  overflow:hidden!important;
}
.carousel .meta{
  min-height:78px!important;
  padding:10px 10px 12px!important;
}
.carousel .meta strong{
  font-size:13px!important;
  line-height:1.25!important;
}
.carousel .meta small{
  font-size:10px!important;
  color:#8298b3!important;
}

/* Vista por categorías */
body.catalog-active .content-head{
  padding:0 4px 10px!important;
}
body.catalog-active .content-head h2{
  font-size:25px!important;
}
body.catalog-active #totalLabel{
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#10213a!important;
  border:1px solid #24456e!important;
  color:#9cc5ff!important;
  font-size:11px!important;
}
body.catalog-active .grid{
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;
  gap:16px!important;
}
body.catalog-active .grid.live{
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;
}
body.catalog-active .card{
  border-radius:15px!important;
  overflow:hidden!important;
  border:1px solid #23364e!important;
  background:#0a1524!important;
}
body.catalog-active .card:hover{
  border-color:#3d6699!important;
  transform:translateY(-2px)!important;
}
body.catalog-active .meta{
  min-height:72px!important;
  padding:9px!important;
  background:#0d192a!important;
}
body.catalog-active .meta strong{
  font-size:13px!important;
  line-height:1.25!important;
}
body.catalog-active .chip.active,
body.catalog-active .chip:hover{
  background:#132a54!important;
  color:#fff!important;
}
body.catalog-active .chip i{
  background:linear-gradient(135deg,#2f7cff,#5b6df3)!important;
}

/* Diálogo / detalle */
.modal{
  border-radius:20px!important;
  overflow:hidden!important;
  border-color:#27405f!important;
  background:#081321!important;
}
.detail{
  gap:22px!important;
  padding:22px!important;
}
.fact{
  border-color:#29415f!important;
  background:#0c192a!important;
  color:#a9bed6!important;
}

/* Loading / empty / error */
.loading,.empty,.error{
  border-radius:16px!important;
  background:#091523!important;
  border:1px solid #22354e!important;
}
.error{
  border-color:#82424b!important;
  color:#d7b2b8!important;
}

/* Responsive */
@media(max-width:900px){
  .catalog-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .catalog-search{
    width:100%!important;
  }
  body:not(.catalog-active) #hero.hero{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  body:not(.catalog-active) #hero .home-brand img{
    max-width:180px!important;
    max-height:110px!important;
  }
}
@media(max-width:620px){
  .catalog-toolbar-copy{display:none}
  .catalog-toolbar{padding:8px!important}
  body:not(.catalog-active) #hero.hero{
    padding:15px!important;
    gap:14px!important;
  }
  body:not(.catalog-active) #hero .stats{
    gap:6px!important;
  }
  body:not(.catalog-active) #hero .stat{
    padding:12px 4px!important;
  }
  body:not(.catalog-active) #hero .stat strong{
    font-size:clamp(18px,7.1vw,28px)!important;
  }
  body:not(.catalog-active) #hero .stat span{
    font-size:9px!important;
  }
  .carousel{
    grid-auto-columns:minmax(132px,44vw)!important;
  }
  .catalog-layout.home-mode .carousel-row{
    padding-left:12px!important;
  }
}
