/* BASE
   ========================================================================== */
:root{
    --bg:#242424;
    --bg-elev:#1E1E1E;
    --accent:#FF2E63;
    --accent-2:#7B5CFF;
    --text:#F5F5F7;
    --muted:#9A9AA6;
    --border:rgba(255,255,255,.08);
    --header-h:76px;
    --titulo:'Space Grotesk', sans-serif;
    --parrafo:'Inter', sans-serif;
}

html,body{
    background:var(--bg);
    font-family:var(--titulo);
    color:var(--text);
    margin:0;
    padding:0;
    min-height:100vh;
    min-height:100dvh;
    display:flex;
    flex-direction:column;
}

/* Tipografía base: Space Grotesk en todo el sitio por defecto.
   Inter se aplica sólo en los contextos puntuales marcados más abajo
   (párrafos de contenido en single/page/sticky, horas de horarios,
   descripción de series y datos de ficha técnica). */
body,
p{
    font-size:18px;
    line-height:1.70;
    font-weight:400;
}
p{ margin:0 0 15px; }
p iframe{ margin-bottom:0; }
p img{ margin-bottom:0 !important; }

img{
    border:0;
    vertical-align:middle;
    max-width:100%;
    height:auto;
}
a{ color:inherit; }
a:hover{ text-decoration:none !important; }
::selection{ background-color:var(--accent); color:#fff; }

.page-content{ flex:1 0 auto; }
.site-footer{ flex-shrink:0; }

@media (min-width: 992px){
    .container{
        max-width:1080px !important;
        padding-inline:0 !important;
    }
}
@media (max-width: 991px){
    .container{
        width:100% !important;
        max-width:100% !important;
        padding-inline:14px !important;
    }
}

.page-header{ padding:2.75rem 0 1rem; }

.media{
    position:relative;
    overflow:hidden;
    background:var(--bg-elev);
}
.media img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.media:hover img{ transform:scale(1.035); }
.img-fluid{
    position:relative;
    top:0; left:0;
    width:100%; height:100%;
}

/* --- Frame decorativo (esquinas) --- */
.frame{ position:relative; }
.frame::before,
.frame::after{
    content:"";
    position:absolute;
    width:22px; height:22px;
    z-index:3;
    pointer-events:none;
}
.frame::before{
    top:-1px; left:-1px;
    border-top:2px solid var(--accent);
    border-left:2px solid var(--accent);
}
.frame::after{
    bottom:-1px; right:-1px;
    border-bottom:2px solid var(--accent);
    border-right:2px solid var(--accent);
}
.frame.frame-violet::before,
.frame.frame-violet::after{ border-color:var(--accent-2); }

/* --- Badge "En vivo" --- */
.onair{
    position:absolute;
    top:14px; left:14px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    background:rgba(20,20,20,.72);
    backdrop-filter:blur(2px);
    padding:.28rem .6rem;
    font-size:.66rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--text);
}
.onair::before{
    content:"";
    width:6px; height:6px;
    border-radius:50%;
    background:var(--accent);
}

/* --- Kicker / Sticker (mismo estilo en todas las secciones) --- */
.kicker{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    font-weight:700;
    font-size:.82rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:-1rem;
}
.kicker::before{
    content:"";
    width:7px; height:7px;
    background:var(--accent);
}
.sticker{
    display:inline-block;
    background:var(--accent);
    color:#fff;
    font-weight:700;
    font-size:1.8rem;
    letter-spacing:.01em;
    text-transform:uppercase;
    padding:.3rem 1rem .35rem;
    transform:rotate(-2deg);
}


/* HEADER
   ========================================================================== */
.header{
    position:sticky;
    top:0;
    z-index:1030;
    background:rgba(0,0,0,.92);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
}
.navbar{
    height:var(--header-h);
    padding:0;
}
.navbar .container{
    position:relative;
    height:var(--header-h);
}

.brand img{
    height:38px;
    width:auto;
    display:block;
}

/* --- Links de navegación (desktop) --- */
.nav-links{
    display:flex;
    align-items:center;
    gap:1rem;
    margin:0 0 0 2.5rem;
    padding:0;
    list-style:none;
}
.nav-links a{
    position:relative;
    color:#fff;
    text-decoration:none;
    font-weight:500;
    font-size:.92rem;
    letter-spacing:.02em;
    text-transform:uppercase;
    padding:.4rem 0;
    transition:color .2s ease;
}
.nav-links a::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:0%;
    height:2px;
    background:linear-gradient(90deg,var(--accent),var(--accent-2));
    transition:width .25s ease;
}
.nav-links a:hover,
.nav-links a.active{ color:#fff; }
.nav-links a:hover::after,
.nav-links a.active::after{ width:100%; }

/* --- Rail de íconos --- */
.icon-rail{
    display:flex;
    align-items:center;
    gap:.05rem;
    margin-left:auto;
}
.icon-btn{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--muted);
    background:transparent;
    border:0;
    transition:color .2s ease;
}
.icon-btn:hover{ color:#fff; }
.icon-btn svg{ width:22px; height:22px; }

.divider-v{
    width:1px;
    height:22px;
    background:rgba(255,255,255,.22);
    margin:0 .5rem;
}

/* --- Toggler (botón hamburguesa) --- */
.toggler{
    width:42px;
    height:42px;
    border:0;
    background:transparent;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0;
}
.toggler span{
    display:block;
    width:23px;
    height:2px;
    border-radius:2px;
    background:var(--text);
    transition:transform .3s ease, opacity .25s ease, background .2s ease;
}
.toggler.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.toggler.is-active span:nth-child(2){ opacity:0; }
.toggler.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.toggler:hover span{ background:var(--accent); }

/* --- Header responsive (mobile) --- */
@media (max-width:991.98px){
    .toggler{
        position:absolute;
        left:0;
        top:50%;
        transform:translateY(-50%);
        z-index:2;
    }
    .brand{
        position:absolute;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        z-index:1;
    }
    .mobile-search-btn{
        position:absolute;
        right:0;
        top:50%;
        transform:translateY(-50%);
        z-index:2;
        width:46px;
        height:46px;
    }
    .mobile-search-btn svg{
        width:27px;
        height:27px;
        stroke-width:2.6;
    }
}

/* --- Búsqueda mobile (fila que reemplaza el header) --- */
.mobile-search-row{
    display:none;
    align-items:center;
    gap:.6rem;
    width:100%;
    height:100%;
}
#spHeaderContainer.mobile-search-open .toggler,
#spHeaderContainer.mobile-search-open .brand,
#spHeaderContainer.mobile-search-open .mobile-search-btn{
    display:none;
}
#spHeaderContainer.mobile-search-open .mobile-search-row{
    display:flex;
}
.mobile-search-row input{
    flex:1;
    background:transparent;
    border:0;
    border-bottom:2px solid var(--border);
    outline:0;
    color:#fff;
    font-family:inherit;
    font-size:1rem;
    padding:.5rem 0;
    text-transform:uppercase;
    transition:border-color .2s ease;
}
.mobile-search-row input:focus{ border-color:var(--accent); }
.mobile-search-row input::placeholder{ color:var(--muted); text-transform:uppercase; }

/* --- Búsqueda desktop (overlay dentro del nav) --- */
.desktop-area{
    position:relative;
    flex:1 1 auto;
    min-width:0;
    align-items:center;
}
.nav-row{
    display:flex;
    align-items:center;
    width:100%;
}
.search-row{
    display:none;
    align-items:center;
    gap:.75rem;
    flex:1 1 auto;
    min-width:0;
    margin:0 0 0 2.5rem;
    height:var(--header-h);
}
.search-row.is-open{ display:flex; }
.search-row input{
    flex:1;
    background:transparent;
    border:0;
    border-bottom:2px solid var(--border);
    outline:0;
    color:#fff;
    font-family:inherit;
    font-size:1.05rem;
    padding:.5rem 0;
    text-transform:uppercase;
    transition:border-color .2s ease;
}
.search-row input:focus{ border-color:var(--accent); }
.search-row input::placeholder{ color:var(--muted); text-transform:uppercase; }

.search-close{
    flex:0 0 auto;
    width:36px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    border:0;
    color:var(--muted);
    transition:color .2s ease;
}
.search-close:hover{ color:#fff; }
.search-close svg{ width:18px; height:18px; }


/* OFFCANVAS (menú mobile)
   ========================================================================== */
.offcanvas{
    width:100vw;
    background:#131313;
    color:#F5F5F7;
    border-right:1px solid rgba(255,255,255,.08);
}
@media (min-width:576px){
    .offcanvas{ width:100%; max-width:420px; }
}
.offcanvas .offcanvas-header{ padding:1.5rem 1.5rem 1rem; }
.offcanvas .offcanvas-body{
    display:flex;
    flex-direction:column;
    padding:0 1.5rem 1.5rem;
}
.offcanvas .btn-close{
    filter:invert(1) grayscale(1) brightness(2);
    opacity:.85;
}
.offcanvas .btn-close:hover{ opacity:1; }

.oc-nav{
    list-style:none;
    padding:0;
    margin:0 0 1rem;
}
.oc-nav a{
    display:block;
    color:#F5F5F7;
    text-decoration:none;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.01em;
    font-size:1.05rem;
    padding:.65rem 0;
    transition:color .2s ease;
}
.oc-nav a:hover,
.oc-nav a.active{ color:var(--accent); }

.oc-social{
    margin-top:auto;
    padding-top:1.5rem;
    border-top:1px solid rgba(255,255,255,.08);
}
.oc-social p{
    font-size:.72rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#9A9AA6;
    font-weight:600;
    margin-bottom:.9rem;
}
.oc-social-icons{
    display:flex;
    align-items:center;
    gap:1.1rem;
    flex-wrap:wrap;
}
.oc-social-icons a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#F5F5F7;
    transition:color .2s ease, transform .2s ease;
}
.oc-social-icons a:hover{
    color:var(--accent);
    transform:translateY(-2px);
}
.oc-social-icons svg{ width:19px; height:19px; }


/* HOMEPAGE
   ========================================================================== */
.headline{
    font-weight:600;
    letter-spacing:-.01em;
    line-height:1.14;
    margin:0;
}

.hero-section{ padding:3rem 0 0; }

.hero-primary .media{ aspect-ratio:5/4; }
.hero-primary .headline{
    font-size:clamp(1.75rem, 2.6vw, 2.15rem);
    margin-top:.2rem;
}

.hero-secondary .media{ aspect-ratio:16/10; }
.hero-secondary .headline{
    font-size:1.25rem;
    margin-top:.2rem;
    line-height:1.27;
}

.mini-list .mini-item{
    display:flex;
    gap:1rem;
    padding:1rem 0;
    border-top:1px solid var(--border);
}
.mini-list .mini-item:last-child{ padding-bottom:0; }
.mini-list .mini-item .media{
    flex:0 0 92px; width:92px;
    aspect-ratio:1/1;
}
.mini-list .mini-item h4{
    font-weight:600;
    font-size:1rem;
    line-height:1.32;
    margin:0;
}

.banners-section{ padding:3.5rem 0; }
.banners-section .sec-label{
    font-size:.68rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:1rem;
    display:block;
}

.banner-hero{
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:970/250;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 14px),
        var(--bg-elev);
    border:1px solid var(--border);
    color:var(--muted);
    font-size:.75rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:1.4rem;
}
.banner-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.banner-slot{
    display:block;
    background:var(--bg-elev);
}
.banner-slot img{
    width:100%; height:auto;
    display:block;
    transition:transform .5s ease;
}
.banner-slot:hover img{
    transform:scale(1.02);
}

.otaku-section{ padding:1rem 0 4rem; }
.otaku-title-row{
    display:flex;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:2rem;
}
.otaku-feature{ margin-bottom:4rem; }
.otaku-feature .media{ aspect-ratio:16/8; }
.otaku-feature .headline{
    font-size:2rem;
    margin-top:.85rem;
}
.otaku-item{ margin-bottom:.95rem; }
.otaku-item .media{ aspect-ratio:4/3; }
.otaku-item h4{
    font-weight:500;
    font-size:1.3rem;
    line-height:1.3;
    margin-top:.75rem;
}

@media (max-width: 767px){
    .hero-primary .headline{
        font-size:1.26rem;
        line-height:1.2;
        margin-top:.2rem;
        margin-bottom:.7rem;
    }
    .hero-primary .media{ aspect-ratio:16/9; }
    .hero-secondary .headline{
        font-size:1.2rem;
        margin-top:.2rem;
        line-height:1.27;
    }
    .hero-secondary .media{ aspect-ratio:16/9; }
    .sticker{ font-size:1.4rem; }
    .otaku-feature{ margin-bottom:1.88rem; }
    .otaku-feature .headline{
        font-size:1.4rem;
        line-height:1.68rem;
    }
    .otaku-item{ margin-bottom:.75rem; }
    .otaku-item .media{ aspect-ratio:16/9; }
    .otaku-item h4{
        font-size:1.3rem;
        line-height:1.2;
    }
}


/* ARTICLES
   ========================================================================== */
.article-section{ 
    padding:2.75rem 0 1rem; 
    }
.post-cover .media{ 
    aspect-ratio:16/9; 
}
.post-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:1rem;
    font-family: var(--parrafo);
    margin-top:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid var(--border);
}
.post-meta .tag-cat{
    background:var(--accent);
    color:#fff;
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:.32rem .7rem;
}
.post-meta .meta-item{
    font-size:.78rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--muted);
}
.post-meta .meta-item strong{
    color:var(--text);
    font-weight:600;
}
.post-meta .dot{ color:var(--border); }

.post-row{ align-items:stretch; }

.post-title{
    font-weight:700;
    font-size:clamp(1.7rem, 3.4vw, 2.4rem);
    line-height:1.16;
    letter-spacing:-.01em;
    margin:1.1rem 0 2rem;
}

/* Cuerpo del artículo (single/sticky): párrafos en Inter, el resto del sitio en Space Grotesk */
.post-body{ max-width:none; }
.post-body p{
    font-family:var(--parrafo);
    font-size:1.15rem;
    line-height:1.64;
    color:#DADADD;
    margin-bottom:1.1rem;
}
.post-body strong{
    color:var(--text);
    font-weight:700;
}
.post-body h2{
    font-weight:800;
    font-size:1.87rem;
    margin:3rem 0 1.3rem;
}
.post-body a.inline-link{
    color:var(--accent);
    text-decoration:underline;
    text-underline-offset:3px;
}
.post-body figcaption,
.post-body .wp-caption-text,
.post-body .wp-element-caption{
    text-transform:uppercase;
    font-weight:500;
    font-size:78%;
    color:var(--muted);
}
.post-body ul,
.post-body ol{
    margin:0 0 1.1rem;
    padding-left:1.4rem;
    color:#DADADD;
    font-family:var(--parrafo);
}
.post-body ul li,
.post-body ol li{
    margin:0 0 .5rem;
    padding-left:.2rem;
    line-height:1.5;
}
.post-body ul{ list-style-type:disc; }
.post-body ol{ list-style-type:decimal; }
.post-body ul ul,
.post-body ol ul{
    margin:.5rem 0;
    padding-left:1.6rem;
    list-style-type:circle;
}
.post-body ul ul li{ margin-bottom:.35rem; }
.post-body li > strong{
    display:inline-block;
    margin-bottom:.2rem;
}
.post-body iframe{
    display:block;
    width:100%;
    max-width:100%;
    aspect-ratio:16/9;
    height:auto;
    border:0;
    border-radius:12px;
    margin:38px 0 60px;
    box-shadow:0 8px 16px -8px rgba(0,0,0,.3), 0 13px 27px -5px rgba(50,50,93,.25);
}
.post-body .embed-responsive{
    position:relative;
    display:block;
    height:0;
    padding:0;
    overflow:hidden;
}
.post-body .embed-responsive-item,
.post-body .embed-responsive iframe{
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.post-body .embed-responsive-16by9{
    padding-bottom:56.25%;
    margin:38px 0 60px;
    border-radius:12px;
    box-shadow:0 8px 16px -8px rgba(0,0,0,.3), 0 13px 27px -5px rgba(50,50,93,.25);
}

.the-post-tags {
    display: flex;
    flex-wrap: wrap;
    margin-top: 32px;
    font-weight: 500;
    text-transform: uppercase;
}
.the-post-tags:last-child {
    margin-bottom: -20px;
}
.the-post-tags a {
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 0 10px;
    border: 1px solid var(--accent);
    font-size: 0.75rem;
    letter-spacing: .03em;
    line-height: 25px;
    border-radius: 12px;
}
.the-post-tags a {
    color: #fff;
    text-decoration: none;
}
.the-post-tags a:hover {
    background-color: var(--accent);
    text-decoration: none;
}
.share-col{
    position:relative;
    display:flex;
}
.share-sticky{
    position:sticky;
    top:calc(var(--header-h) + 24px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.6rem;
    margin-top:1.6rem;
}
.share-mobile{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    margin:0 0 1.6rem;
}
.share-btn{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--accent);
    border:1px solid var(--bg);
    border-radius:8px;
    color:#fff;
    margin:0 0 .6rem;
    transition:opacity .15s ease, transform .15s ease;
}
.share-btn:hover{
    opacity:.85;
    transform:translateY(-2px);
}
.share-btn svg{
    width:17px;
    height:17px;
    fill:currentColor;
}
.share-mobile .share-btn{
    width:36px;
    height:36px;
}

.related-section{ padding:4rem 0 .1rem; }
.related-title-row{
    display:flex;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:2rem;
}
.related-card .media{ aspect-ratio:16/9; }
.related-card h4{
    font-weight:400;
    font-size:1.31rem;
    line-height:1.23;
    margin-top:.75rem;
}

.photo-credit{
    position:absolute;
    right:18px;
    bottom:18px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    background:rgba(20,20,20,.72);
    backdrop-filter:blur(2px);
    padding:.32rem .7rem;
    font-family:var(--parrafo);
    font-size:.72rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing:.02em;
    color:var(--text);
}
.photo-credit svg{ width:14px; height:14px; flex:0 0 auto; fill:#fff; color:#fff;}

@media (max-width: 767px){
    .post-cover .media{ aspect-ratio:4/3; }
    .post-body h2{ font-weight:600; font-size:1.4rem; }
    .post-body p{ font-size:1rem; }
    .photo-credit{ right:10px; bottom:10px; padding:.3rem .6rem; }
}


/* ARCHIVE
   ========================================================================== */
.archive-header{ padding:2.75rem 0 2.25rem; }
.archive-header .count{
    color:var(--muted);
    font-size:.9rem;
    margin-top:1rem;
}

.results-section{ padding-bottom:2.5rem; }
.result-card{ margin-bottom:2.4rem; }
.result-card .media{ aspect-ratio:16/9; }
.result-card .kicker{ margin-top:.9rem; }
.result-card h4{
    font-weight:500;
    font-size:1.32rem;
    line-height:1.32;
    margin-top:.5rem;
}

.post-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 0 4rem;
    border-top:1px solid var(--border);
    margin-top:1rem;
    flex-wrap:wrap;
}
.pag-btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:var(--accent);
    color:#fff;
    padding:.65rem 1.4rem;
    font-weight:700;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.02em;
    transition:opacity .2s ease;
}
.pag-btn:hover{ opacity:.85; }
.pag-btn.is-disabled{
    opacity:.25;
    pointer-events:none;
}


/* PAGE
   ========================================================================== */
.page-generic-header{ text-align:center; }
.page-generic-body{ padding:2rem 0 4rem; }

/* Contenido de página (page): párrafos en Inter, el resto del sitio en Space Grotesk */
.generic-content{
    text-align:left;
    color:#e6e6e6;
    font-size:1.05rem;
    font-weight:400;
    text-transform:none;
    line-height:1.75;
}
.generic-content p{
    font-family:var(--parrafo);
    margin-bottom:1.4rem;
}
.generic-content a{
    color:var(--accent);
    text-decoration:underline;
}
.generic-content h2,
.generic-content h3{
    font-weight:700;
    text-transform:uppercase;
    margin:2rem 0 1rem;
}
.generic-content img{
    max-width:100%;
    border-radius:12px;
    margin:1.5rem 0;
}


/* HORARIOS
   ========================================================================== */
.page-content .block-title{
    text-align:left;
    margin-left:0;
    margin-right:auto;
}
.page-content .block-title::after{
    margin-left:0;
    margin-right:auto;
}

.schedule-list{ 
    display:flex; 
    flex-direction:column; 
    gap:7px; 
    padding-bottom: 52px;
}
.schedule-item{
    display:flex;
    align-items:stretch;
    background:var(--bg-elev);
}
.schedule-item .media{
    flex:0 0 150px;
    width:120px;
    height:150px;
    overflow:hidden;
}
.schedule-item .media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.schedule-item .body{
    flex:1;
    padding:1.1rem 1.3rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.schedule-item .slot{
    font-family:var(--parrafo);
    color:var(--accent);
    font-weight:700;
    font-size:1rem;
    letter-spacing:.03em;
    text-transform:uppercase;
    margin-bottom:-0.2rem;
}
.schedule-item .title{
    font-weight:700;
    font-size:1.77rem;
    text-transform:uppercase;
    letter-spacing:.01em;
    line-height:1.2;
}
.schedule-item .starts-bar{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-top:.7rem;
    padding-top:.7rem;
    border-top:1px solid var(--border);
    font-size:.98rem;
    font-weight:600;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--muted);
}
.schedule-item .starts-bar svg{ flex:0 0 auto; }
.schedule-item .starts-bar strong{ color:var(--text); font-weight:700; }

@media (max-width: 575px){
    .schedule-item .media{ flex:0 0 100px; width:100px; height:100px; }
    .schedule-item .body{ padding:.8rem .9rem; }
    .schedule-item .slot{ font-size:.86rem; margin-bottom:-.1rem; }
    .schedule-item .title{ font-size:1.3rem; }
    .schedule-item .starts-bar{
        font-size:.64rem;
        gap:.35rem;
        margin-top:.55rem;
        padding-top:.55rem;
        flex-wrap:wrap;
    }
}


/* SERIES
   ========================================================================== */
.catalog-section{ padding-bottom:3rem; }
.catalog-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));
    gap:1.1rem;
}
@media (max-width: 575px){
    .catalog-grid{
        grid-template-columns:repeat(auto-fill, minmax(68px, 1fr));
        gap:.7rem;
    }
}
.catalog-item{
    display:block;
    cursor:pointer;
    border:0;
    background:none;
    padding:0;
    text-align:left;
}
.catalog-item .media{ aspect-ratio:1/1; }
.catalog-item.is-active .media{
    outline:3px solid var(--accent);
    outline-offset:-2px;
}

/* --- Ficha de serie: sólo el título en Space Grotesk, el resto en Inter --- */
.detail-section{ padding:1rem 0 4rem; display:none; overflow-x:hidden; }
.detail-section.is-active{ display:block; }

.detail-poster .media{ aspect-ratio:2/3; }
.detail-title{
    font-weight:700;
    font-size:clamp(1.5rem, 2.8vw, 2.1rem);
    line-height:1.15;
    text-transform:uppercase;
    margin-bottom:.9rem;
}
.detail-desc{
    font-family:var(--parrafo);
    font-size:1rem;
    line-height:1.7;
    color:#DADADD;
    margin-bottom:1.8rem;
}

/* --- Ficha técnica: sólo el título en Space Grotesk, el resto en Inter --- */
.spec-box{ padding:0; }
.spec-box .spec-title{
    display:block;
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:1.3rem;
}
.spec-box dl{
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:1.5rem;
    row-gap:.65rem;
    margin:0;
}
.spec-box dt{
    font-family:var(--parrafo);
    color:var(--muted);
    font-size:.92rem;
    font-weight:600;
    white-space:nowrap;
    line-height:1.16em;
}
.spec-box dd{
    font-family:var(--parrafo);
    margin:0;
    font-size:.92rem;
    font-weight:600;
    line-height:1.16em;
    color:var(--text);
}

@media (max-width: 767px){
    .detail-poster{ max-width:220px; margin:0 auto 2rem; }
}


/* SENPAI
   ========================================================================== */
.operadores-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
    padding:20px 0 60px;
}
.operador-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:20px;
    background:#1a1a1a;
    border:1px solid #2a2a2a;
    border-radius:10px;
    text-align:center;
    transition:transform .2s ease, border-color .2s ease;
}
.operador-card:hover{
    transform:translateY(-4px);
    border-color:var(--accent);
}
.operador-card .logo-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    height:70px;
    width:100%;
}
.operador-card .logo{
    max-width:100%;
    max-height:160px;
    object-fit:contain;
}
.operador-card .canal{
    margin-top:12px;
    font-size:1.18rem;
    font-weight:600;
    text-transform: uppercase;
    color:#fff;
}

@media (max-width: 768px){
    .operadores-grid{
        grid-template-columns:repeat(2, 1fr);
        gap:16px;
    }
    .operador-card{ padding:14px; }
    .operador-card .logo-wrap{ height:50px; }
    .operador-card .logo{ max-height:50px; }
}
@media (max-width: 480px){
    .operadores-grid{ grid-template-columns:1fr; }
}


/* CORPORATIVO
   ========================================================================== */
.page-corp{
    padding:2.75rem 0 1rem;
    text-align:center;
}
.block-title{
    display:block;
    width:100%;
    text-align:center;
    font-weight:700;
    font-size:1.5rem;
    text-transform:uppercase;
    letter-spacing:-.01em;
    margin:0 0 2.2rem;
}
.block-title::after{
    content:"";
    display:block;
    width:34px;
    height:3px;
    background:var(--accent);
    margin:.7rem auto 0;
}

/* Independiente del override de HORARIOS: en corporativo siempre centrado,
   sin importar el orden de las reglas en el archivo */
.page-corp .block-title{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.page-corp .block-title::after{
    margin-left:auto !important;
    margin-right:auto !important;
}

section{ padding:3.5rem 0; }
.section-divider .container{
    border-top:1px solid var(--border);
    padding-top:0.45rem;
}
.section-divider{ padding-top:0; }

.lead-text{
    font-family: var(--parrafo);
    font-size:.98rem;
    line-height:1.7;
}
.lead-text strong{ color:var(--text); }
.lead-text p{ margin-bottom:1rem; }
.lead-text p:last-child{ margin-bottom:0; }

.video-card{
    background:var(--bg-elev);
    border:1px solid var(--border);
}
.video-embed{
    position:relative; width:100%;
    padding-top:56.25%;
    background:#000;
}
.video-embed iframe{
    position:absolute; top:0; left:0;
    width:100%; height:100%;
    border:0;
}

.fact-item{
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    margin-bottom:.6rem;
    font-size:.85rem;
    line-height:1.3;
}
.fact-item:last-child{ margin-bottom:0; }
.fact-label{
    color:var(--accent);
    font-weight:700;
    flex-shrink:0;
}
.fact-value{
    color:var(--text);
    font-weight:400;
}
.fact-value.is-long{
    color:var(--muted);
    flex-basis:100%;
    line-height:1.7;
}

.about-panel{
    padding:1.6rem;
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
}
.about-panel img{ width:100%; height:auto; }
.experience-media img{
    width:100%;
    height:auto;
    display:block;
}

.logos{
    width:90%;
}
.social-card{
    background:#FFF;
    border-radius:22px;
    padding:2.2rem 1.5rem;
}
.social-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:.7rem;
}
.social-item .s-icon{
    width:56px; height:56px;
    border-radius:50%;
    border:2px solid var(--accent);
    color:var(--accent);
    display:flex; align-items:center; justify-content:center;
}
.social-item .s-num{
    font-weight:700;
    font-size:1.5rem;
    color:#161616;
    margin-top:8px;
    line-height:.7;
}
.social-item .s-label{
    font-size:.78rem;
    line-height:.7rem;
    text-transform:uppercase;
    color:#6b6b72;
}

.contact-sticker{
    display:inline-block;
    background:var(--accent);;
    color:#fff;
    font-weight:700;
    font-size:1.15rem;
    letter-spacing:-.01em;
    padding:.55rem 1.4rem .6rem;
    margin-top:1.4rem;
}

@media (max-width: 575px){
    section{ padding:2.4rem 0; }
    .about-panel{ margin-bottom:1.5rem; }
    .social-card{ padding:1.6rem 1rem; border-radius:18px; }
    .social-item .s-icon{ width:38px; height:38px; }
    .social-item .s-num{ font-size:1.1rem; }
}


/* FOOTER
   ========================================================================== */
.site-footer{
    background:var(--bg);
    padding:3rem 0 0;
}
.footer-disclaimer{
    font-size:.85rem;
    line-height:1.6;
    color:rgba(245,245,247,.55);
    max-width:820px;
}
.footer-disclaimer strong{
    color:var(--text);
    opacity:.85;
}
.footer-divider{
    height:1px;
    background:var(--border);
}

/* Logo y redes centrados de forma pareja, sin depender del contenedor padre */
.footer-logo{
    display:block;
    width:100%;
    text-align:center;
}
.footer-logo img{
    height:44px;
    width:auto;
    margin:0 auto;
    display:block;
}
.footer-social-icons{
    display:flex;
    width:100%;
    justify-content:center;
    align-items:center;
    gap:1.1rem;
}
.footer-social-icons a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--muted);
    transition:color .2s ease;
}
.footer-social-icons a:hover{ color:#fff; }
.footer-social-icons svg{
    width:25px;
    height:25px;
}

.footer-legal a{
    color:var(--text);
    text-decoration:none;
    font-size:.85rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.02em;
    transition:color .2s ease;
}
.footer-legal a:hover{ color:var(--accent); }
.footer-legal .sep{ color:var(--border); }
.footer-copyright-bar{
    background:#000;
    padding:1.1rem 1.5rem;
}
.footer-copyright{
    font-size:.82rem;
    font-weight:600;
    color:var(--text);
    letter-spacing:.01em;
}
