:root{
  --nav-color:#fff;
  --cta-text:#fff;
}

body{
  padding-top: 116px;
  background:radial-gradient(1200px 400px at 50% -10%, #222 0%, #131313 55%, #0e0e0e 100%);
}
.carmen-preloader{
  background:radial-gradient(1200px 400px at 50% -10%, #222 0%, #131313 55%, #0e0e0e 100%);
}

.carmen-preloader__img{
  width:240px;
  height:auto;
}
.rep-top:hover,.rep-scroll-list:hover{
  color: white !important;
}
.carmen-topbar{
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: black;
}
.carmen-topbar .brand img{
  width:auto;
  height:70px;
}

.news-topcard{background:#000;}
.carmen-article .news-hero-card{box-shadow:0 8px 24px rgba(0,0,0,.08);background:#000;}
.carmen-bottom-nav{background:#000;border-top:1px solid #111;}
.news-hero-card .nhc-title{margin:.55rem 0 0;font-weight:900;font-size:1.4rem;letter-spacing:normal;text-shadow:none;max-width:none;color:#fff;}
.entry-content{color:#fff;}
.text-muted{color:#c6c6c6!important;}
.rep-card{background:#000;color:#fff;}
.rep-meta{color:#c6c6c6;}
.card{background:#000;color:#fff;}
.nhc-body .btn-light{padding:.35rem .6rem;border-radius:999px;font-weight:800;}
.navigation.pagination .page-numbers{background:#000;}
.topbar-cta{text-align:right;}
.topbar-cta .tv-home-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border:1px solid rgba(0,0,0,.08);border-radius:999px;color:#000;background:#fff;text-decoration:none;line-height:1;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;}
.topbar-cta .tv-home-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.1);border-color:rgba(0,0,0,.12);}
.topbar-cta .tv-home-btn img{display:block;width:24px;height:24px;border-radius:6px;}
.topbar-cta .tv-home-btn span{text-transform:lowercase;}
.carmen-footer{padding:0;}
.carmen-footer>.container{display:none;}
.footer-legal{background:#000;}

@media (max-width:768.98px){
  body{padding-bottom:0;}
}

/* ===== HERO (ajuste radius en desktop) ===== */
.ctv-hero{position:relative;width:100%;margin:0 auto 1.5rem;max-width:1400px;}
.ctv-hero .ratio{overflow:hidden;border-radius:16px;}
@media (min-width:992px){ .ctv-hero .ratio{min-height:58vh;} }
.ctv-hero-img{width:100%;height:100%;object-fit:cover;display:block;}

.ctv-hero .carousel-indicators{gap:8px;margin-bottom:10px;}
.ctv-hero .carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.5);opacity:1;border:0;}
.ctv-hero .carousel-indicators .active{background:#fff;width:18px;}


#ctv-archive{width:100%;margin:0 auto;}

.ctv-row{margin:1.25rem 0;position:relative;}
.ctv-row-head {display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 10px;}
.ctv-row-title{font-size:1.25rem;margin:0;color:#fff;}
.ctv-row-title a {
    text-decoration: none;
    color: #fff;
    font-weight: 800;
    font-size: clamp(1.6rem, 2vw, 3rem);
    letter-spacing: -0.01em;
}
.ctv-row-controls{display:flex;gap:.5rem;}
.ctv-row-btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);}

.ctv-row-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:clamp(78vw,86vw,520px);
  gap:14px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  padding:.25rem .75rem .9rem;
  mask-image:linear-gradient(90deg,transparent 0,black 24px,black calc(100% - 24px),transparent 100%);
}

@media (min-width:576px){
  .ctv-row-track{grid-auto-columns:clamp(46vw,52vw,420px);}
}

/* en desktop hacemos más grandes las tarjetas */
@media (min-width:992px){
  .ctv-row-track{grid-auto-columns:clamp(28vw,30vw,480px);}
}
@media (min-width:1400px){
  .ctv-row-track{grid-auto-columns:clamp(22vw,24vw,420px);}
}

.ctv-card{display:block;text-decoration:none;color:inherit;scroll-snap-align:start;}
.ctv-card-media{aspect-ratio:16/9;width:100%;}
.ctv-card-media img{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 10px 22px rgba(0,0,0,.28);transition:transform .15s ease,box-shadow .15s ease;}
.ctv-card:hover .ctv-card-media img{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.36);}
/* Ocultar barras de scroll en pistas horizontales y hero */
.ctv-row-track,
.ctv-hero .carousel-inner {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ctv-row-track::-webkit-scrollbar,
.ctv-hero .carousel-inner::-webkit-scrollbar {
  display: none;
}

/* Opcional: impedir el scroll horizontal de la página, pero permitir en pistas */
html, body {
  overflow-x: hidden;
}
.nhc-header .ratio{position:relative;}
.tv-fs-btn{
  position:absolute; right:12px; bottom:12px;
  width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(0,0,0,.35); color:#fff; display:grid; place-items:center;
  cursor:pointer; z-index:3; transition:background .2s ease, transform .15s ease;
}
.tv-fs-btn:hover{ background:rgba(0,0,0,.5); transform:translateY(-1px); }
.tv-fs-btn.is-on{ background:rgba(255,255,255,.15); }
.tv-fs-btn svg{ width:22px; height:22px; display:block; }
/* Controles del Hero */
.ctv-hero .carousel-control-prev,
.ctv-hero .carousel-control-next{
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: auto;                 /* no ocupar toda la altura */
  padding: .5rem;
  color: #fff;
  opacity: .9;
  transition: opacity .2s ease, transform .2s ease;
}

.ctv-hero .carousel-control-prev { left: 1rem; }
.ctv-hero .carousel-control-next { right: 1rem; }

/* Área táctil cómoda y contraste */
.ctv-hero .carousel-control-prev i,
.ctv-hero .carousel-control-next i{
  font-size: clamp(1.25rem, 2.5vw, 2.75rem);
  line-height: 1;
  display: inline-block;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.35));
}

.ctv-hero .carousel-control-prev,
.ctv-hero .carousel-control-next{
  background: rgba(0,0,0,.35);
  border-radius: 999px;
  min-width: 44px; 
  min-height: 44px; 
  display: grid;
  place-items: center;
}

@media (hover:hover){
  .ctv-hero .carousel-control-prev:hover,
  .ctv-hero .carousel-control-next:hover{
    opacity: 1;
  }
}

.ctv-hero .carousel:not(.slide) .carousel-control-prev,
.ctv-hero .carousel:not(.slide) .carousel-control-next{
  display: none;
}
