:root {
    /* Cable Mágico Colors based on general branding (Orange/Blue) */
    --brand-orange: #00aeff;
    --brand-orange-glow: rgba(138, 43, 226, 0.6);
    --brand-blue: #007499;
    --brand-blue-glow: rgba(0, 116, 153, 0.6);
    
    /* Futuristic Dark Theme */
    --bg-dark: #07090f;
    --bg-card: rgba(13, 17, 28, 0.7);
    --bg-card-hover: rgba(20, 26, 43, 0.85);
    --text-main: #e0e6ed;
    --text-muted: #8a9bb3;
    
    --border-glass: rgba(255, 255, 255, 0.05);
    --border-glow: rgba(138, 43, 226, 0.3);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Rajdhani', sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-main);
    overflow-x: hidden;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2, h3, h4, .logo {
    font-family: 'Exo 2', sans-serif;
}


/* Glassmorphism utility */
.glass {
    background: var(--bg-card);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--border-glass);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================================
   2. BARRA SUPERIOR (MANTIENE PC HORIZONTAL Y MÓVIL EN 3 LÍNEAS VERTICALES)
   ========================================================================== */
.top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100% !important;
    background: #000000;
    color: #eee;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 6px 5%; 
    font-size: 0.95rem;
    font-weight: 600;
    z-index: 1001;
    border-top: 2px solid #00aeff;      
    border-bottom: 2px solid #00aeff;   
    box-shadow: 0 2px 10px rgba(160, 32, 240, 0.3); 
}

/* Tu animación original de cambio de colores intacta */
@keyframes rainbow-text {
    0% { color: #ff0000; text-shadow: 0 0 10px #ff0000; }
    14% { color: #ff7f00; text-shadow: 0 0 10px #ff7f00; }
    28% { color: #ffff00; text-shadow: 0 0 10px #ffff00; }
    42% { color: #00ff00; text-shadow: 0 0 10px #00ff00; }
    57% { color: #00f3ff; text-shadow: 0 0 10px #00f3ff; }
    71% { color: #bc13fe; text-shadow: 0 0 10px #bc13fe; }
    85% { color: #e0247d; text-shadow: 0 0 10px #e0247d; }
    100% { color: #ff0000; text-shadow: 0 0 10px #ff0000; }
}

.contact-info-top {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important; 
}

.contact-info-top span {
    animation: rainbow-text 3s linear infinite; 
    font-family: 'Exo 2', sans-serif; 
    font-weight: 800; 
    letter-spacing: 1px; 
}

/* CONDICIÓN EXCLUSIVA PARA PC REAL (DISTRIBUCIÓN EN UNA LÍNEA) */
@media (min-width: 1025px) {
    .top-bar {
        flex-direction: row !important; 
        gap: 30px !important; 
    }
    .contact-info-top {
        flex-direction: row !important; 
        gap: 30px !important; 
        flex-wrap: nowrap !important;
    }
}

/* BLINDAJE PARA CELULARES (INCLUYE EL MODO SITIO DE COMPUTADORA EN 3 LÍNEAS) */
@media (max-width: 1024px) {
    .top-bar {
        padding: 6px 10px !important; 
        font-size: 0.85rem !important; 
        flex-direction: column !important; 
        gap: 4px !important;
        min-width: 100% !important;
    }
    .contact-info-top {
        gap: 4px !important; 
        flex-direction: column !important; 
        width: 100% !important;
        flex-wrap: nowrap !important; 
    }
    .contact-info-top span:last-child, 
    .top-bar div:last-child {
        white-space: nowrap !important;
        font-size: 0.75rem !important; 
        display: block !important;
        text-align: center !important;
    }
}

@media (max-width:680px){

    .top-bar{
        width:100% !important;
        max-width:100% !important;
        padding:6px 8px !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    .contact-info-top{
        width:100% !important;
        max-width:100% !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        gap:2px !important;

        box-sizing:border-box !important;
    }

    .contact-info-top span{
        display:block !important;

        width:100% !important;
        max-width:100% !important;

        text-align:center !important;

        font-size:clamp(10px,3vw,13px) !important;
        line-height:1.25 !important;

        white-space:normal !important;

        overflow:visible !important;
        text-overflow:clip !important;

        word-break:normal !important;
        overflow-wrap:anywhere !important;

        box-sizing:border-box !important;
    }

    .contact-info-top span:nth-child(2){
        font-size:clamp(10px,2.8vw,12px) !important;
    }

    .contact-info-top span:nth-child(3){
        font-size:clamp(9px,2.6vw,11px) !important;
        white-space:normal !important;
    }
}

.nav-content::before {
    content: "" !important;

    position: absolute !important;

    top: 40px !important;    
    left: 13% !important;

    width: 2.5px !important;  
    height: 2.5px !important;

    background: transparent !important;

    box-shadow: 
        15px 5px #fff, 
        45px -10px rgba(30, 144, 255, 0.9), 
        75px 15px #fff, 
        105px -5px rgba(138, 43, 226, 0.9),
        135px 8px #fff,
        165px -12px rgba(30, 144, 255, 0.9) !important;

    animation: brillarEstrellas 1.8s ease-in-out infinite alternate !important;

    z-index: 4 !important;
    pointer-events: none !important;
}


.nav-links a:hover, .nav-links a.active {
    color: #fff;
    background: rgba(138, 43, 226, 0.1);
    text-shadow: 0 0 10px var(--brand-orange-glow);
    box-shadow: 0 0 15px rgba(138, 43, 226, 0.2);
}

/* =========================================================
   NAVBAR FINET RESPONSIVE - SISTEMA ÚNICO
   PC / NOTEBOOK / TABLET / IPHONE / ANDROID
   ========================================================= */

.navbar {
    position:fixed !important;
    top:45px !important;
    left:0 !important;
    overflow:visible !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    padding:10px 0 !important;
    z-index:1000 !important;
    transition:all .3s ease !important;
    border-bottom:1px solid transparent;
    box-sizing:border-box !important;
}

/* Zona completa por donde cruza */
.finet-ufo-flight{
    position:absolute;
    top:8px;
    left:-180px;
    width:160px;
    height:45px;
    z-index:2;
    pointer-events:none;
}

/* Nave */
.finet-ufo{
    position:absolute;
    right:10px;
    top:8px;
    width:46px;
    height:22px;
    filter:
        drop-shadow(0 0 6px rgba(0,229,255,.95))
        drop-shadow(0 0 12px rgba(138,43,226,.65));
    transform:rotate(-4deg);
}

/* Cúpula */
.ufo-dome{
    position:absolute;
    left:12px;
    top:0;
    width:22px;
    height:10px;
    border-radius:50% 50% 35% 35%;
    background:
        radial-gradient(circle at 50% 30%,
        #dffcff 0%,
        #00e5ff 35%,
        #1666ff 70%,
        transparent 72%);
    box-shadow:
        inset 0 0 4px #ffffff,
        0 0 8px rgba(0,229,255,.8);
}

/* Cuerpo */
.ufo-body{
    position:absolute;
    left:2px;
    top:8px;
    width:42px;
    height:11px;
    border-radius:50%;
    background:
        linear-gradient(
            to bottom,
            #cfd7e5 0%,
            #7f8ca3 35%,
            #202838 70%,
            #080b12 100%
        );
    border:1px solid rgba(255,255,255,.55);
    box-shadow:
        0 0 8px rgba(0,229,255,.75),
        0 0 14px rgba(138,43,226,.45);
}

/* Luces inferiores */
.ufo-light{
    position:absolute;
    top:15px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#00e5ff;
    box-shadow:0 0 6px #00e5ff;
    animation:ufoBlink .45s ease-in-out infinite alternate;
}

.ufo-light-1{
    left:10px;
}

.ufo-light-2{
    left:21px;
    background:#a855f7;
    box-shadow:0 0 6px #a855f7;
    animation-delay:.12s;
}

.ufo-light-3{
    left:32px;
    animation-delay:.24s;
}

/* Estela */
.ufo-trail{
    position:absolute;
    right:47px;
    top:19px;
    width:115px;
    height:2px;
    border-radius:10px;
    background:
        linear-gradient(
            to left,
            rgba(0,229,255,.95) 0%,
            rgba(0,229,255,.55) 35%,
            rgba(138,43,226,.25) 65%,
            transparent 100%
        );
    box-shadow:
        0 0 6px rgba(0,229,255,.65),
        0 0 14px rgba(0,229,255,.35);
}

/* =========================================================
   RUTAS DEL OVNI
   ========================================================= */

/* Ruta 1: izquierda -> derecha casi recta */
@keyframes ufoRuta1{
    0%{
        left:-180px;
        top:8px;
        opacity:0;
        transform:scale(.7) rotate(-3deg);
    }

    8%{
        opacity:1;
    }

    50%{
        top:14px;
        transform:scale(.9) rotate(0deg);
    }

    90%{
        opacity:1;
    }

    100%{
        left:calc(100% + 40px);
        top:5px;
        opacity:0;
        transform:scale(.65) rotate(3deg);
    }
}

/* Ruta 2: diagonal hacia abajo */
@keyframes ufoRuta2{
    0%{
        left:-180px;
        top:-5px;
        opacity:0;
        transform:scale(.6) rotate(7deg);
    }

    10%{
        opacity:1;
    }

    50%{
        top:18px;
        transform:scale(.95) rotate(3deg);
    }

    100%{
        left:calc(100% + 40px);
        top:35px;
        opacity:0;
        transform:scale(.7) rotate(-4deg);
    }
}

/* Ruta 3: diagonal hacia arriba */
@keyframes ufoRuta3{
    0%{
        left:-180px;
        top:35px;
        opacity:0;
        transform:scale(.65) rotate(-8deg);
    }

    10%{
        opacity:1;
    }

    55%{
        top:18px;
        transform:scale(1) rotate(-3deg);
    }

    100%{
        left:calc(100% + 40px);
        top:-8px;
        opacity:0;
        transform:scale(.65) rotate(5deg);
    }
}

/* Ruta 4: pequeña curva */
@keyframes ufoRuta4{
    0%{
        left:-180px;
        top:20px;
        opacity:0;
        transform:scale(.6) rotate(0deg);
    }

    10%{
        opacity:1;
    }

    30%{
        top:3px;
        transform:scale(.8) rotate(-5deg);
    }

    60%{
        top:28px;
        transform:scale(1) rotate(5deg);
    }

    85%{
        top:8px;
        transform:scale(.8) rotate(-3deg);
    }

    100%{
        left:calc(100% + 40px);
        top:16px;
        opacity:0;
        transform:scale(.6) rotate(0deg);
    }
}

/* Ruta 5: derecha -> izquierda */
@keyframes ufoRuta5{
    0%{
        left:calc(100% + 80px);
        top:10px;
        opacity:0;
        transform:scale(.7) rotate(180deg);
    }

    10%{
        opacity:1;
    }

    50%{
        top:22px;
        transform:scale(.95) rotate(180deg);
    }

    100%{
        left:-200px;
        top:4px;
        opacity:0;
        transform:scale(.6) rotate(180deg);
    }
}

/* =========================================================
   FLASH DEL OVNI
   ========================================================= */

/* =========================================================
   FLASH PEQUEÑO SOBRE EL OVNI
   ========================================================= */

.finet-ufo-flash{
    position:absolute;
    width:18px;
    height:18px;

    left:50%;
    top:-8px;

    transform:translateX(-50%) scale(.2);

    border-radius:50%;

    background:
        radial-gradient(circle,
        #ffffff 0%,
        #ffffff 20%,
        #8ff8ff 45%,
        rgba(0,229,255,.35) 65%,
        transparent 75%);

    opacity:0;

    pointer-events:none;

    z-index:50;

    box-shadow:
        0 0 5px #ffffff,
        0 0 10px rgba(0,229,255,.9),
        0 0 18px rgba(0,229,255,.6);
}

/* =========================================================
   FLASH MINI DE CÁMARA SOBRE EL OVNI
   ========================================================= */

.finet-ufo-flash{
    position:absolute;

    width:18px;
    height:18px;

    left:50%;
    top:-2px;

    transform:translateX(-50%) scale(.15);

    border-radius:50%;

    background:
        radial-gradient(circle,
        #ffffff 0%,
        #ffffff 25%,
        #bffcff 42%,
        #00e5ff 58%,
        rgba(0,229,255,.25) 72%,
        transparent 78%);

    opacity:0;

    pointer-events:none;

    z-index:100;

    box-shadow:
        0 0 3px #ffffff,
        0 0 6px #ffffff,
        0 0 10px rgba(0,229,255,.9);
}

.finet-ufo-flash.active{
    animation:finetMiniCameraFlash .22s ease-out;
}

@keyframes finetMiniCameraFlash{

    0%{
        opacity:0;
        transform:translateX(-50%) scale(.15);
    }

    18%{
        opacity:1;
        transform:translateX(-50%) scale(1.1);
    }

    35%{
        opacity:1;
        transform:translateX(-50%) scale(.8);
    }

    65%{
        opacity:.55;
        transform:translateX(-50%) scale(.55);
    }

    100%{
        opacity:0;
        transform:translateX(-50%) scale(.15);
    }
}

/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.nav-content {
    width:100% !important;
    max-width:1600px !important;

    margin:0 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    padding-left:clamp(8px,1.5vw,24px) !important;
    padding-right:clamp(8px,1.5vw,24px) !important;

    gap:clamp(5px,1vw,18px) !important;

    box-sizing:border-box !important;

    position:relative !important;
}


/* =========================================================
   PC GRANDE
   Mantiene el logo en la posición clásica
   ========================================================= */

@media (min-width:1300px) {

    .logo {
        margin-left:clamp(140px,10vw,190px) !important;
    }
}


/* =========================================================
   NOTEBOOK / PC MÁS ANGOSTO
   Empieza a acercarse a la izquierda
   ========================================================= */

@media (min-width:1001px) and (max-width:1299px) {

    .logo {
        margin-left:clamp(60px,7vw,120px) !important;
    }
}


/* =========================================================
   TABLET / PANTALLA INTERMEDIA
   Se acerca mucho más a la pared
   ========================================================= */

@media (min-width:681px) and (max-width:1000px) {

    .logo {
        margin-left:clamp(5px,3vw,35px) !important;
    }
}


/* =========================================================
   TELÉFONO NORMAL
   Pegado prácticamente a la pared izquierda
   ========================================================= */

@media (max-width:680px) {

    .logo {
        margin-left:0 !important;
    }
}


/* =========================================================
   MENÚ DE ESCRITORIO
   ========================================================= */

.desktop-menu {
    flex:1 1 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    min-width:0 !important;

    margin-left:auto !important;
}


/* =========================================================
   LINKS DEL MENÚ
   ========================================================= */

.nav-links {
    display:flex !important;

    flex-direction:row !important;

    align-items:center !important;
    justify-content:flex-end !important;

    list-style:none !important;

    margin:0 !important;
    padding:0 !important;

    gap:clamp(5px,1vw,16px) !important;

    white-space:nowrap !important;
}


/* =========================================================
   TEXTO DEL MENÚ
   ========================================================= */

.nav-links a {
    color:var(--text-muted) !important;

    text-decoration:none !important;

    font-family:'Exo 2',sans-serif !important;

    font-size:clamp(10px,1.05vw,17px) !important;

    font-weight:600 !important;

    text-transform:uppercase !important;

    letter-spacing:clamp(0px,.05vw,1px) !important;

    padding:
        clamp(6px,.7vw,10px)
        clamp(2px,.45vw,8px) !important;

    white-space:nowrap !important;

    border-radius:6px !important;

    transition:all .4s ease !important;

    position:relative !important;
}


/* =========================================================
   HOVER / LINK ACTIVO
   ========================================================= */

.nav-links a:hover,
.nav-links a.active {
    color:#fff !important;

    background:rgba(138,43,226,.1) !important;

    text-shadow:0 0 10px var(--brand-orange-glow) !important;

    box-shadow:0 0 15px rgba(138,43,226,.2) !important;
}


/* =========================================================
   BOTÓN COBERTURA
   ========================================================= */

.nav-actions {
    flex:0 0 auto !important;

    margin-left:clamp(4px,.8vw,10px) !important;
}


/* BOTÓN */

.btn-glow {
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    white-space:nowrap !important;

    background:linear-gradient(135deg,#1e90ff,#8a2be2) !important;

    color:#fff !important;

    font-size:clamp(10px,.95vw,16px) !important;

    font-weight:bold !important;

    padding:
        clamp(6px,.6vw,8px)
        clamp(6px,.7vw,10px) !important;

    border-radius:8px !important;

    text-transform:uppercase !important;

    letter-spacing:clamp(0px,.04vw,1px) !important;

    gap:clamp(3px,.5vw,8px) !important;

    box-shadow:0 0 15px rgba(138,43,226,.4) !important;

    transition:all .3s ease !important;

    text-decoration:none !important;
}


/* ICONO WHATSAPP */

.btn-glow i {
    margin-left:clamp(2px,.4vw,6px) !important;
}


/* =========================================================
   HAMBURGUESA BASE
   ========================================================= */

.hamburger {
    display:none;

    background:transparent !important;

    border:none !important;

    cursor:pointer !important;

    z-index:99999 !important;

    padding:0 !important;
}

@media (min-width:681px) and (max-width:964px) {

    body .navbar .hamburger {
        margin-left:auto !important;
        margin-right:75px !important;
    }
}


/* LÍNEAS HAMBURGUESA */

.hamburger-line {
    display:block !important;

    width:100% !important;

    height:3px !important;

    background-color:#fff !important;

    border-radius:3px !important;

    transition:all .3s ease !important;
}


/* =========================================================
   PANTALLAS INTERMEDIAS
   NOTEBOOK / TABLET / IPAD
   ========================================================= */

@media (max-width:1100px) {

    .nav-content {
        padding-left:8px !important;
        padding-right:8px !important;

        gap:5px !important;
    }


    .logo {
        width:clamp(95px,14vw,150px) !important;

        min-width:95px !important;

        max-width:150px !important;

        margin-left:0 !important;

        margin-right:5px !important;
    }


    .nav-links {
        gap:clamp(2px,.5vw,6px) !important;
    }


    .nav-links a {
        font-size:clamp(9px,1vw,12px) !important;

        letter-spacing:0 !important;

        padding:7px 2px !important;
    }


    .nav-actions {
        margin-left:3px !important;
    }


    .btn-glow {
        font-size:clamp(9px,.9vw,11px) !important;

        padding:6px 5px !important;

        letter-spacing:0 !important;
    }


    .btn-glow i {
        margin-left:3px !important;
    }
}


/* =========================================================
   PANTALLAS MÁS ANGOSTAS
   MANTIENE TODAVÍA EL MENÚ COMPLETO
   ========================================================= */

@media (max-width:820px) {

    .nav-content {
        padding-left:6px !important;
        padding-right:6px !important;

        gap:3px !important;
    }


    .logo {
        width:clamp(90px,13vw,110px) !important;

        min-width:90px !important;

        max-width:110px !important;

        margin-left:0 !important;

        margin-right:3px !important;
    }


    .nav-links {
        gap:2px !important;
    }


    .nav-links a {
        font-size:9px !important;

        letter-spacing:0 !important;

        padding:6px 1px !important;
    }


    .nav-actions {
        margin-left:2px !important;
    }


    .btn-glow {
        font-size:9px !important;

        padding:5px 4px !important;
    }
}

/* =========================================================
   CORRECCIÓN DEFINITIVA - TELÉFONO NORMAL
   SOLO PANTALLAS DE 680PX O MENOS
   ========================================================= */

@media screen and (max-width:680px) {

    /* CONTENEDOR DEL NAVBAR */
    body .navbar .nav-content {
        width:100% !important;
        max-width:100% !important;

        min-height:125px !important;

        display:flex !important;
        flex-direction:row !important;
        align-items:flex-start !important;
        justify-content:space-between !important;

        padding:8px 14px 0 10px !important;

        gap:0 !important;

        box-sizing:border-box !important;

        position:relative !important;
    }


    /* =========================================
       LOGO MÓVIL
       ========================================= */

@media (max-width:680px) {

    .logo::before {
        top:-45px !important;
    }

    .logo::after {
        top:-45px !important;
    }
}

    body .navbar .nav-content > .logo {
        flex:0 0 180px !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        margin:0 !important;

        padding:0 !important;

        position:relative !important;

        left:0 !important;
        right:auto !important;
        top:0 !important;

        transform:none !important;

        display:flex !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;

        z-index:10 !important;
    }

    body .navbar .nav-content > .logo a {
        display:block !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        margin:0 !important;
        padding:0 !important;
    }

    body .navbar .nav-content > .logo img {
        display:block !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        height:auto !important;

        object-fit:contain !important;

        margin:0 !important;
        padding:0 !important;
    }


    /* =========================================
       ESCONDER COMPLETAMENTE MENÚ DE PC
       ========================================= */

    body .navbar .desktop-menu {
        display:none !important;

        width:0 !important;
        height:0 !important;

        overflow:hidden !important;

        visibility:hidden !important;
        opacity:0 !important;

        pointer-events:none !important;
    }


    /* =========================================
       HAMBURGUESA
       ========================================= */

    body .navbar .hamburger {
        display:flex !important;

        flex:0 0 32px !important;

        flex-direction:column !important;
        justify-content:space-between !important;

        width:32px !important;
        min-width:32px !important;
        height:23px !important;

        margin:12px 0 0 auto !important;

        padding:0 !important;

        position:relative !important;

        top:auto !important;
        right:auto !important;
        left:auto !important;

        z-index:99999 !important;
    }


    /* =========================================
       TEXTO MARQUEE
       SALE DEL FLEX PARA NO APRETAR EL LOGO
       ========================================= */

    body .navbar .metro-marquee-container {
        position:absolute !important;

        left:0 !important;
        top:82px !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;

        padding:0 !important;

        overflow:hidden !important;

        z-index:5 !important;
    }

    body .navbar .metro-marquee-text {
        font-size:clamp(9px,2.6vw,12px) !important;
    }
}


/* =========================================================
   TELÉFONO
   RECIÉN AQUÍ PASA A MENÚ HAMBURGUESA
   ========================================================= */

@media (max-width:680px) {

    .nav-content {
        width:100% !important;

        padding-left:12px !important;
        padding-right:14px !important;

        gap:8px !important;
    }


    .logo {
        flex:0 0 auto !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        margin-left:0 !important;
        margin-right:auto !important;

        left:auto !important;
        transform:none !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
    }

    .logo img {
        width:100% !important;
        max-width:180px !important;
        height:auto !important;
        object-fit:contain !important;
    }
}

/* 🌀 ANILLO 4D AZUL (Gira en el fondo) */
.logo::before {
    content: "" !important;
    position: absolute !important;
    
    /* MODIFICADO: Aumentado el tamaño a 190px para alejarlo de los bordes del logo */
    width: 190px !important;
    height: 190px !important;
    
    border: 2.5px solid rgba(30, 144, 255, 0.7) !important; 
    border-top-color: transparent !important; 
    border-radius: 50% !important;
    animation: giroOrbita1 4s linear infinite !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 🌀 ANILLO 4D MORADO (Gira por el frente) */
.logo::after {
    content: "" !important;
    position: absolute !important;
    
    /* MODIFICADO: Aumentado el tamaño a 200px para que orbite de forma más amplia */
    width: 200px !important;
    height: 200px !important;
    
    border: 2.5px solid rgba(138, 43, 226, 0.7) !important; 
    border-bottom-color: transparent !important; 
    border-radius: 50% !important;
    animation: giroOrbita2 6s linear infinite !important;
    pointer-events: none !important;
    z-index: 3 !important; 
}

/* 🌀 ANILLO 4D AZUL (Gira en el fondo) */
.logo::before {
    content: "" !important;
    position: absolute !important;
    
    /* MODIFICADO: Aumentado el tamaño a 190px para alejarlo de los bordes del logo */
    width: 190px !important;
    height: 190px !important;
    
    border: 2.5px solid rgba(30, 144, 255, 0.7) !important; 
    border-top-color: transparent !important; 
    border-radius: 50% !important;
    animation: giroOrbita1 4s linear infinite !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 🌀 ANILLO 4D MORADO (Gira por el frente) */
.logo::after {
    content: "" !important;
    position: absolute !important;
    
    /* MODIFICADO: Aumentado el tamaño a 200px para que orbite de forma más amplia */
    width: 200px !important;
    height: 200px !important;
    
    border: 2.5px solid rgba(138, 43, 226, 0.7) !important; 
    border-bottom-color: transparent !important; 
    border-radius: 50% !important;
    animation: giroOrbita2 6s linear infinite !important;
    pointer-events: none !important;
    z-index: 3 !important; 
}



/* ==========================================================================
   🛸 ESTILOS VENTANA FLOTANTE DE COBERTURA (ESTILO TLINK CYBER)
   ========================================================================== */
.modal-cobertura-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.85) !important; /* Oscurece el fondo de canales */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 100000 !important; /* Por encima de todo */
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease-in-out !important;
}

.modal-cobertura-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
}

.modal-cobertura-card {
    background: #0d0d14 !important; /* Gris espacial ultra oscuro */
    border: 2px solid rgba(138, 43, 226, 0.4) !important; /* Borde neón morado */
    box-shadow: 0 0 30px rgba(138, 43, 226, 0.2), 0 0 10px rgba(30, 144, 255, 0.2) !important;
    border-radius: 16px !important;
    width: 90% !important;
    max-width: 450px !important;
    padding: 30px !important;
    position: relative !important;
    box-sizing: border-box !important;
    font-family: 'Exo 2', sans-serif !important;
}

.modal-cobertura-close {
    position: absolute !important;
    top: 15px !important;
    right: 20px !important;
    background: transparent !important;
    border: none !important;
    color: #888 !important;
    font-size: 2rem !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
}
.modal-cobertura-close:hover { color: #fff !important; }

.modal-cobertura-header h3 {
    color: #00ffcc !important; /* Turquesa idéntico a tu metro */
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    margin: 0 0 5px 0 !important;
    letter-spacing: 1px !important;
}
.modal-cobertura-header p {
    color: #aaa !important;
    font-size: 0.9rem !important;
    margin: 0 0 25px 0 !important;
}

.form-group-cobertura {
    margin-bottom: 20px !important;
    text-align: left !important;
}
.form-group-cobertura label {
    display: block !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
}
.form-group-cobertura input, 
.form-group-cobertura select {
    width: 100% !important;
    padding: 12px 15px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}
.form-group-cobertura input:focus, 
.form-group-cobertura select:focus {
    outline: none !important;
    border-color: #00ffcc !important;
    background: rgba(0, 255, 204, 0.03) !important;
    box-shadow: 0 0 10px rgba(0, 255, 204, 0.1) !important;
}
.form-group-cobertura select option { background: #0d0d14 !important; color: #fff !important; }

.btn-submit-cobertura {
    width: 100% !important;
    padding: 14px !important;
    background: linear-gradient(135deg, #1e90ff, #8a2be2) !important; /* Tus colores fluidos */
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(138, 43, 226, 0.3) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}
.btn-submit-cobertura:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(138, 43, 226, 0.5) !important;
    filter: brightness(1.1) !important;
}

.modal-cobertura-footer {
    margin-top: 15px !important;
    font-size: 0.8rem !important;
    color: #666 !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   🤖 SUBMENÚ DESPLEGABLE (QUIÉNES SOMOS -> PREGUNTAS FRECUENTES)
   ========================================================================== */

/* Posiciona el contenedor base */
.menu-desplegable {
    position: relative !important;
}

/* Configuración de la caja del submenú (Oculta por defecto) */
.menu-desplegable .submenu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important; /* Lo centra y lo baja un poco */
    background: rgba(10, 10, 15, 0.95) !important; /* Fondo oscuro translúcido premium */
    border: 1px solid rgba(138, 43, 226, 0.3) !important; /* Borde morado sutil a tono con tus anillos */
    border-radius: 8px !important;
    padding: 10px 0 !important;
    list-style: none !important;
    min-width: 200px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.7), 0 0 15px rgba(138, 43, 226, 0.1) !important;
    
    /* Efecto de transición suave */
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease-in-out !important;
    pointer-events: none !important;
    z-index: 9999 !important;
}

/* Muestra el submenú de inmediato al poner el cursor sobre "Quiénes Somos" */
.menu-desplegable:hover .submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important; /* Sube suavemente a su posición */
    pointer-events: auto !important;
}

/* Estilos para el botón interno de Preguntas Frecuentes */
.menu-desplegable .submenu li a {
    display: block !important;
    padding: 10px 20px !important;
    color: #ffffff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
    transition: all 0.2s ease !important;
}

/* Efecto hover exclusivo para la opción del submenú */
.menu-desplegable .submenu li a:hover {
    color: #00ffcc !important; /* Color turquesa brillante idéntico a tu metro */
    background: rgba(0, 255, 204, 0.08) !important;
    padding-left: 25px !important; /* Pequeño desplazamiento dinámico a la derecha */
}

/* =========================================================
   FINET - EFECTO PREMIUM ADAPTADO AL CONTORNO REAL DEL LOGO
   ========================================================= */

.logo img {
    display:block !important;
    width:100% !important;
    max-width:230px !important;
    height:auto !important;
    object-fit:contain !important;

    position:relative !important;
    z-index:2 !important;

    transform-origin:center center !important;

    animation:
        finetContourPremium 7s ease-in-out infinite !important;

    transition:
        transform .45s ease,
        filter .45s ease !important;

    will-change:transform,filter;
}


/* =========================================================
   EFECTO PRINCIPAL
   LA LUZ SIGUE EL CONTORNO REAL DEL PNG
   ========================================================= */

@keyframes finetContourPremium {

    /* ESTADO NORMAL */
    0%, 12%, 100% {
        transform:
            translateY(0)
            scale(1);

        filter:
            brightness(1.03)
            contrast(1.07)
            saturate(1.05)
            drop-shadow(0 0 2px rgba(0,174,255,.30));
    }


    /* RESPIRACIÓN MUY SUAVE */
    28% {
        transform:
            translateY(-2px)
            scale(1.008);

        filter:
            brightness(1.08)
            contrast(1.08)
            saturate(1.08)
            drop-shadow(0 0 4px rgba(0,174,255,.50))
            drop-shadow(0 0 7px rgba(138,43,226,.20));
    }


    /* PRIMER ENCENDIDO */
    44% {
        transform:
            translateY(-3px)
            scale(1.018);

        filter:
            brightness(1.16)
            contrast(1.10)
            saturate(1.12)
            drop-shadow(0 0 5px rgba(0,174,255,.80))
            drop-shadow(0 0 10px rgba(138,43,226,.42));
    }


    /* PULSO CENTRAL */
    50% {
        transform:
            translateY(-4px)
            scale(1.035);

        filter:
            brightness(1.32)
            contrast(1.13)
            saturate(1.17)

            drop-shadow(2px 0 3px rgba(0,229,255,.95))
            drop-shadow(-2px 0 3px rgba(170,50,255,.80))

            drop-shadow(0 0 8px rgba(0,174,255,.95))
            drop-shadow(0 0 15px rgba(138,43,226,.60));
    }


    /* MICRO EFECTO PRISMÁTICO */
    52% {
        transform:
            translateY(-4px)
            translateX(1px)
            scale(1.032);

        filter:
            brightness(1.24)
            contrast(1.12)
            saturate(1.18)

            drop-shadow(3px 0 2px rgba(0,229,255,.85))
            drop-shadow(-3px 0 2px rgba(170,50,255,.70))

            drop-shadow(0 0 10px rgba(0,174,255,.70));
    }


    /* VUELVE A UNIRSE */
    54% {
        transform:
            translateY(-3px)
            translateX(0)
            scale(1.022);

        filter:
            brightness(1.16)
            contrast(1.10)
            saturate(1.12)
            drop-shadow(0 0 7px rgba(0,174,255,.70))
            drop-shadow(0 0 11px rgba(138,43,226,.40));
    }


    /* BAJA LA ENERGÍA */
    72% {
        transform:
            translateY(-1px)
            scale(1.008);

        filter:
            brightness(1.07)
            contrast(1.08)
            saturate(1.07)
            drop-shadow(0 0 4px rgba(0,174,255,.40));
    }
}


/* =========================================================
   HOVER
   ENCENDIDO DEL CONTORNO
   ========================================================= */

.logo img:hover {
    transform:
        translateY(-3px)
        scale(1.045) !important;

    filter:
        brightness(1.27)
        contrast(1.13)
        saturate(1.18)

        drop-shadow(2px 0 3px rgba(0,229,255,.95))
        drop-shadow(-2px 0 3px rgba(170,50,255,.85))

        drop-shadow(0 0 9px rgba(0,174,255,.95))
        drop-shadow(0 0 17px rgba(138,43,226,.65)) !important;
}


/* =========================================================
   1096PX HACIA ABAJO
   CONSERVA EL MISMO EFECTO SIN CAMBIAR TU RESPONSIVE
   ========================================================= */

@media (max-width:1096px) {

    .logo img {
        animation-duration:7.5s !important;
    }
}


/* 🔄 KEYFRAMES: Anillo 4D Horizontal */
@keyframes giroOrbita1 {
    0% { transform: rotateX(75deg) rotateY(10deg) rotateZ(0deg); }
    100% { transform: rotateX(75deg) rotateY(10deg) rotateZ(360deg); }
}

/* 🔄 KEYFRAMES: Anillo 4D Vertical Inclinado */
@keyframes giroOrbita2 {
    0% { transform: rotateX(60deg) rotateY(-20deg) rotateZ(360deg); }
    100% { transform: rotateX(60deg) rotateY(-20deg) rotateZ(0deg); }
}

/* 🔄 KEYFRAMES: Parpadeo de Estrellas */
@keyframes brillarEstrellas {
    0% { opacity: 0.2; transform: scale(0.7); }
    100% { opacity: 1; transform: scale(1.3); }
}

/* Contenedor principal que actúa como la pantalla del letrero */
.metro-marquee-container {
    position: absolute !important;
    top: 95px !important;       /* Lo sitúa exactamente en la zona que marcaste en rojo */
    left: 10% !important;        /* Alineado justo debajo del área del logo */
    width: 420px !important;     /* Tu medida compacta de pantalla ideal que te gustó */
    overflow: hidden !important; /* Oculta el texto que se va saliendo por la izquierda */
    background: transparent !important;
    padding: 5px 0 !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

/* Caja interna del letrero */
.metro-marquee-text {
    width: 100% !important;
}


/* Estilo de la tipografía tipo letrero digital del metro */
.metro-marquee-text span {
    color: #00ffcc !important;   /* Verde/Turquesa digital brillante de tablero */
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-family: 'Courier New', Courier, monospace !important; /* Tipografía monoespaciada de sistema */
    text-shadow: 0 0 5px rgba(0, 255, 204, 0.6) !important;   /* Brillo neón de pantalla */
    margin-right: 80px !important; /* Separación limpia entre cada una de tus frases largas */
}
/* termina animacion metro*/

.logo .cable {
    color: #fff;
}

.logo .magico {
    color: var(--brand-orange);
    text-shadow: 0 0 10px var(--brand-orange-glow);
}

.desktop-menu {
    display: flex;
    align-items: center;
}


/* Buttons */
.btn-glow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* AJUSTE SUTIL: Cambiamos tu padding horizontal de 28px a 16px para recortar el ancho del botón sin alterar fuentes ni colores */
    padding: 12px 16px;
    background: linear-gradient(45deg, var(--brand-orange), #9932CC);
    color: #fff;
    text-decoration: none;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 1rem;
    text-transform: uppercase;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 15px var(--brand-orange-glow);
    transition: all 0.3s ease;
    letter-spacing: 1px;
    line-height: 1;
    white-space: nowrap; 
}

.btn-glow:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 0 25px var(--brand-orange);
}

.btn-primary {
    display: inline-block;
    padding: 14px 32px;
    background: var(--brand-blue);
    color: #fff;
    text-decoration: none;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 1.1rem;
    text-transform: uppercase;
    border-radius: 4px;
    box-shadow: 0 0 15px var(--brand-blue-glow);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: #008fbc;
    box-shadow: 0 0 25px var(--brand-blue-glow);
    transform: translateY(-2px);
}

.btn-secondary {
    display: inline-block;
    padding: 12px 30px;
    background: transparent;
    color: #fff;
    text-decoration: none;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 1.1rem;
    text-transform: uppercase;
    border-radius: 4px;
    border: 2px solid var(--text-muted);
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.05);
}

.btn-outline {
    display: inline-block;
    padding: 12px 28px;
    background: transparent;
    color: var(--brand-orange);
    text-decoration: none;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 1rem;
    text-transform: uppercase;
    border-radius: 4px;
    border: 2px solid var(--brand-orange);
    box-shadow: 0 0 10px inset rgba(255,118,0,0.1);
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background: rgba(255,118,0,0.1);
    box-shadow: 0 0 15px inset rgba(255,118,0,0.3), 0 0 15px rgba(255,118,0,0.3);
}


.glitch {
    font-size: 4.5rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    position: relative;
    text-shadow: 0 0 20px var(--brand-blue);
    margin-bottom: 20px;
}

.glitch::before, .glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.8;
}

.glitch::before {
    left: 3px;
    text-shadow: -2px 0 var(--brand-orange);
    animation: glitch-anim-1 2.5s infinite linear alternate-reverse;
}

.glitch::after {
    left: -3px;
    text-shadow: -2px 0 var(--brand-blue);
    animation: glitch-anim-2 3s infinite linear alternate-reverse;
}

@keyframes glitch-anim-1 {
    0% { clip: rect(20px, 9999px, 85px, 0); }
    100% { clip: rect(60px, 9999px, 15px, 0); }
}
@keyframes glitch-anim-2 {
    0% { clip: rect(10px, 9999px, 45px, 0); }
    100% { clip: rect(80px, 9999px, 75px, 0); }
}

.cta-group {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0.7;
    animation: bounce 2s infinite;
}

.scroll-indicator span {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    color: var(--text-muted);
}

.scroll-indicator .arrow {
    width: 20px;
    height: 20px;
    border-right: 2px solid var(--brand-orange);
    border-bottom: 2px solid var(--brand-orange);
    transform: rotate(45deg);
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0) translateX(-50%); }
    40% { transform: translateY(-15px) translateX(-50%); }
    60% { transform: translateY(-7px) translateX(-50%); }
}


.neon-card {
    background: rgba(13, 17, 28, 0.7);
    border: 2px solid #bc13fe;
    border-radius: 16px;
    padding: 30px;
    margin: 20px auto 0;
    max-width: 800px;
    text-align: center;
    box-shadow: 0 0 15px rgba(188, 19, 254, 0.4), 0 0 30px rgba(188, 19, 254, 0.3) inset;
}

.neon-card h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 15px;
    text-shadow: 0 0 10px rgba(188, 19, 254, 0.7);
}

.neon-card p {
    font-size: 1.1rem;
    color: var(--text-muted);
    line-height: 1.6;
}


/* Services */
.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

@media (max-width: 768px) {
    .service-grid {
        grid-template-columns: 1fr;
    }
}

.service-card {
    padding: 40px 30px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.4s ease;
    border-top: 1px solid rgba(255, 118, 0, 0.1);
}


/* Tarjeta Popular */
.service-card.popular {
    position: relative;
    transform: scale(1.05);
    border: 2px solid #b84dff;

    box-shadow:
        0 0 15px rgba(184, 77, 255, 0.5),
        0 0 30px rgba(184, 77, 255, 0.3);

    overflow: hidden;
}


/* Etiqueta Popular */
.popular-badge {
    position: absolute;
    top: 10px;
    right: 10px;

    background: linear-gradient(45deg, #8a2be2, #c44dff);
    color: #fff;

    font-size: 10px;
    font-weight: 700;

    padding: 2px 5px;   /* 👈 reduce el “ancho lateral” */
    
    border-radius: 10px;

    display: inline-flex; /* 👈 evita que se estire raro */
    align-items: center;
    justify-content: center;

    line-height: 1;
    white-space: nowrap;
}

.popular-badge2 {
    position: absolute;
    top: 3px;
    right: 3px;

    background: linear-gradient(45deg, #2be249, #c44dff);
    color: #fff;

    padding: 3px 8px;
    border-radius: 20px;

    font-size: 0.8rem;
    font-weight: 700;

    box-shadow: 0 0 15px rgba(196, 77, 255, 0.5);
}

.popular-badge3 {
    position: absolute;
    top: 3px;
    right: 3px;

    background: linear-gradient(45deg, #b40bb9, #c44dff);
    color: #fff;

    padding: 3px 8px;
    border-radius: 20px;

    font-size: 0.8rem;
    font-weight: 700;

    box-shadow: 0 0 15px rgba(196, 77, 255, 0.5);
}

.popular-badge4 {
    position: absolute;
    top: 3px;
    left: 3px;

    background: linear-gradient(45deg, #b40bb9, #c44dff);
    color: #fff;

    padding: 3px 8px;
    border-radius: 20px;

    font-size: 0.8rem;
    font-weight: 700;

    box-shadow: 0 0 15px rgba(196, 77, 255, 0.5);
}

/* Efecto brillo futurista */
.service-card.popular::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;

    width: 50%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.15),
        transparent
    );

    animation: popular-shine 3s infinite;
}

@keyframes popular-shine {
    100% {
        left: 200%;
    }
}

.service-card:hover {
    transform: translateY(-10px);
    border-color: var(--brand-orange);
    box-shadow: 0 15px 35px rgba(0,0,0,0.5), 0 0 20px inset rgba(255, 118, 0, 0.05);
    background: var(--bg-card-hover);
}

.icon-wrapper {
    width: 80px;
    height: 80px;
    margin: 0 auto 25px;
    background: rgba(0, 116, 153, 0.1);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.5rem;
    color: var(--brand-blue);
    border: 1px solid var(--brand-blue);
    box-shadow: 0 0 15px var(--brand-blue-glow);
    transition: all 0.4s ease;
}

.service-card:hover .icon-wrapper {
    background: var(--brand-orange);
    color: #000;
    border-color: var(--brand-orange);
    box-shadow: 0 0 25px var(--brand-orange-glow);
    transform: scale(1.1);
}

.service-card h3 {
    font-size: 1.6rem;
    color: #fff;
    margin-bottom: 15px;
}

.service-card p {
    color: var(--text-muted);
    font-size: 1.1rem;
}

/* Plan Tabs */
.plan-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.tab-btn {
    padding: 12px 25px;
    background: transparent;
    border: 2px solid var(--border-glass);
    color: var(--text-muted);
    border-radius: 30px;
    font-family: 'Exo 2', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab-btn:hover {
    border-color: var(--brand-blue);
    color: #fff;
}

.tab-btn.active {
    background: var(--brand-blue);
    border-color: var(--brand-blue);
    color: #fff;
    box-shadow: 0 0 15px var(--brand-blue-glow);
}

.tab-content {
    display: none !important;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.tab-content.active {
    display: flex !important;
    flex-wrap: wrap;
    opacity: 1;
}

/* Pricing */
.pricing-grid {
    top: -12px;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 30px;
    align-items: stretch;
    justify-content: center;

    width: 100%;
    max-width: 1110px;

    margin-left: auto;
    margin-right: auto;

    padding: 15px 5px 10px 5px;

    box-sizing: border-box;
    overflow: visible;
}

.popular-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--brand-orange);
    color: #000;
    padding: 5px 20px;
    border-radius: 20px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 0.9rem;
    letter-spacing: 1px;
    box-shadow: 0 0 15px var(--brand-orange-glow);
}

.price {
    font-size: 3.5rem;
    font-weight: 800;
    color: #fff;
    font-family: 'Exo 2', sans-serif;
    line-height: 1;
}

.price span {
    font-size: 1.5rem;
    vertical-align: super;
    margin-right: 5px;
    color: var(--brand-orange);
}

.price small {
    font-size: 1rem;
    color: var(--text-muted);
    font-weight: 400;
}



/* Channels Section */
.channels-showcase {
    border-radius: 20px;
    overflow: hidden;
    padding: 0;
    border-top: 2px solid var(--brand-orange);
}

.channels-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 50px;
    background: linear-gradient(135deg, rgba(255, 118, 0, 0.1) 0%, rgba(0, 116, 153, 0.1) 100%);
    border-bottom: 1px solid var(--border-glass);
}

.banner-text {
    flex: 1;
    max-width: 600px;
}

.banner-text h3 {
    font-size: 2.2rem;
    color: #fff;
    margin-bottom: 15px;
}

.banner-text p {
    font-size: 1.1rem;
    color: var(--text-muted);
    margin-bottom: 25px;
}

.banner-image {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.tv-icon-wrapper {
    position: relative;
    width: 200px;
    height: 150px;
    background: rgba(13, 17, 28, 0.8);
    border: 2px solid var(--brand-blue);
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 30px var(--brand-blue-glow);
}

.tv-icon-wrapper i {
    font-size: 5rem;
    color: var(--brand-blue);
}

.channel-count {
    position: absolute;
    bottom: -20px;
    background: var(--brand-orange);
    color: #000;
    padding: 8px 20px;
    border-radius: 30px;
    font-weight: 800;
    font-family: 'Exo 2', sans-serif;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

.channel-count span {
    font-size: 1.2rem;
}

.channels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 20px;
    padding: 40px 50px;
    background: rgba(0,0,0,0.2);
}

.channel-box {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border-glass);
    border-radius: 12px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.channel-box:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--brand-blue);
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 116, 153, 0.3);
}

.ch-logo {
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 1.1rem;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 0 5px rgba(255,255,255,0.3);
}

.ch-logo.espn { color: #e60000; text-shadow: 0 0 8px rgba(230,0,0,0.5); }
.ch-logo.disney { color: #0072d6; font-family: cursive; text-transform: none; }
.ch-logo.star { color: #00a8e1; }
.ch-logo.history { color: #f5b041; border-bottom: 2px solid #f5b041; }
.ch-logo.cinecanal { color: #f1c40f; }

@media (max-width: 768px) {
    .channels-banner {
        flex-direction: column;
        text-align: center;
        gap: 40px;
        padding: 30px 20px;
    }
    .banner-image {
        justify-content: center;
    }
    .channels-grid {
        padding: 30px 20px;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}

/* Contact Section */
.contact-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 20px;
    overflow: hidden;
    border-left: 2px solid var(--brand-orange);
}

.contact-info {
    padding: 60px;
    background: rgba(0,0,0,0.2);
}

.contact-info h2 {
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 20px;
}

.contact-info p {
    font-size: 1.2rem;
    color: var(--text-muted);
    margin-bottom: 40px;
}

.info-items {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.info-item {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
}

.info-item i {
    width: 40px;
    height: 40px;
    background: rgba(255, 118, 0, 0.1);
    color: var(--brand-orange);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    margin-right: 20px;
    font-size: 1.2rem;
    border: 1px solid rgba(255, 118, 0, 0.3);
}

.contact-action {
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: radial-gradient(circle at center, rgba(0, 116, 153, 0.15) 0%, transparent 70%);
}

.hex-bg {
    width: 120px;
    height: 120px;
    background: rgba(255, 118, 0, 0.1);
    border: 1px solid var(--brand-orange);
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
    transform: rotate(45deg);
    box-shadow: 0 0 30px var(--brand-orange-glow);
    transition: all 0.5s ease;
}

.hex-bg:hover {
    transform: rotate(0deg);
    background: rgba(255, 118, 0, 0.2);
}

.whatsapp-huge {
    font-size: 4rem;
    color: var(--brand-orange);
    transform: rotate(-45deg);
    transition: all 0.5s ease;
}

.hex-bg:hover .whatsapp-huge {
    transform: rotate(0deg);
}

.contact-action h3 {
    font-size: 1.8rem;
    color: #fff;
    margin-bottom: 15px;
}

.contact-action p {
    color: var(--text-muted);
    margin-bottom: 30px;
    font-size: 1.1rem;
}

/* Footer */
footer {
    background: #040508;
    border-top: 1px solid rgba(255,255,255,0.05);
    padding: 60px 20px 20px;
    text-align: center;
    margin-top: auto;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px; /* Espacio entre elementos del footer */
}

.footer-main-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px; /* Espacio entre el logo/texto y el horario */
    width: 100%;
    align-items: flex-start;
}

.footer-brand-info {
    text-align: center;
    max-width: 400px;
}

.schedule-footer {
    text-align: left;
    padding: 20px;
    border-radius: 12px;
    background: rgba(13, 17, 28, 0.7);
    border: 1px solid var(--border-glass);
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.schedule-footer h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.4rem;
    color: var(--brand-orange);
    margin-bottom: 15px;
    text-shadow: 0 0 10px var(--brand-orange-glow);
}

.schedule-footer ul {
    list-style: none;
    padding: 0;
}

.schedule-footer li {
    font-size: 1.1rem;
    color: var(--text-main);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.schedule-footer li:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .footer-main-content {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .footer-brand-info {
        max-width: 90%;
    }

    .schedule-footer {
        text-align: center;
        width: 90%;
        max-width: 350px;
    }

    .schedule-footer li {
        justify-content: center;
    }
}

.footer-logo {
    font-size: 2.2rem;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    margin-bottom: 20px;
}

.footer-logo .cable { color: #fff; }
.footer-logo .magico { color: var(--brand-orange); }

.footer-content p {
    color: var(--text-muted);
    margin-bottom: 30px;
    font-size: 1.1rem;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.social-links a {
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.05);
    color: #fff;
    border-radius: 50%;
    text-decoration: none;
    font-size: 1.2rem;
    transition: all 0.3s;
    border: 1px solid rgba(255,255,255,0.1);
}

.social-links a:hover {
    background: var(--brand-blue);
    border-color: var(--brand-blue);
    transform: translateY(-5px);
    box-shadow: 0 5px 15px var(--brand-blue-glow);
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.05);
    padding-top: 20px;
    color: #556;
    font-size: 0.9rem;
}

/* Benefits Section */
.benefits-title {
    font-size: 2.2rem;
    color: #fff;
    text-shadow: 0 0 15px var(--brand-blue);
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.4;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.benefit-card {
    padding: 20px;
}

.benefit-card h3 {
    font-size: 1rem;
    margin-bottom: 10px;
}

.benefit-card p {
    font-size: 0.9rem;
    line-height: 1.5;
}

.benefit-card {
    padding: 35px 25px;
    border-radius: 16px;
    transition: all 0.4s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.benefit-card:hover {
    transform: translateY(-5px);
    border-color: var(--brand-blue);
    background: rgba(0, 116, 153, 0.1);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 20px inset rgba(0, 116, 153, 0.1);
}

.benefit-card.highlight {
    border-color: rgba(255, 118, 0, 0.3);
    background: rgba(255, 118, 0, 0.05);
}

.benefit-card.highlight:hover {
    border-color: var(--brand-orange);
    background: rgba(255, 118, 0, 0.1);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 20px inset rgba(255, 118, 0, 0.1);
}

.b-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.benefit-card h3 {
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 15px;
    font-family: 'Exo 2', sans-serif;
}

.benefit-card p {
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.6;
}

/* About Page */
.page-header {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 180px 20px 80px;
    border-bottom: 1px solid var(--border-glass);
    background: radial-gradient(circle at bottom, rgba(0, 116, 153, 0.2) 0%, transparent 60%);
}

.about-content {
    padding: 80px 20px;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.about-text {
    padding: 50px;
    border-radius: 20px;
    border-top: 2px solid var(--brand-blue);
}

.about-text h2 {
    font-size: 2.2rem;
    margin-bottom: 25px;
    color: #fff;
}

.about-text p {
    font-size: 1.15rem;
    margin-bottom: 20px;
    color: var(--text-muted);
}

.about-text strong {
    color: #fff;
}

.highlight-text {
    font-size: 1.4rem !important;
    color: var(--brand-orange) !important;
    font-weight: 600;
    font-style: italic;
    border-left: 4px solid var(--brand-orange);
    padding-left: 20px;
    margin-top: 30px;
}

.about-features {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.a-feature {
    padding: 30px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s;
}

.a-feature:hover {
    transform: translateX(10px);
    border-color: var(--brand-orange);
    background: rgba(255, 118, 0, 0.05);
}

.a-icon {
    font-size: 2.5rem;
    color: var(--brand-blue);
    margin-bottom: 15px;
}

.a-feature:hover .a-icon {
    color: var(--brand-orange);
    text-shadow: 0 0 15px var(--brand-orange-glow);
}

.a-feature h3 {
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 10px;
}

.a-feature p {
    color: var(--text-muted);
}

.schedule ul {
    list-style: none;
    margin-top: 15px;
}

.schedule li {
    font-size: 1.1rem;
    color: var(--text-muted);
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(255,255,255,0.1);
}

.schedule li:last-child {
    border-bottom: none;
}

.schedule strong {
    color: #fff;
    display: inline-block;
    width: 150px;
}

.pricing-card {
    flex: 1 1 280px;
    max-width: 350px;
    width: 100%;
    padding: 40px 25px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.4s ease;
    box-sizing: border-box;

    /* NUEVO: mejora visual suave sin cambiar tu diseño */
    overflow: visible;
}

/* EFECTO GENERAL AL PASAR EL CURSOR POR LA TARJETA */
.pricing-card:hover {
    transform: translateY(-8px) scale(1.015);
    border-color: rgba(0, 174, 255, 0.55);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.55),
        0 0 18px rgba(0, 174, 255, 0.18);

    background: rgba(16, 21, 34, 0.92);
}


/* TARJETA DESTACADA - TUS PARÁMETROS ACTUALES */
.pricing-card.popular {
    border-color: var(--brand-orange);
    background: rgba(20, 26, 43, 0.8);
    transform: scale(1.05);

    box-shadow:
        0 10px 40px rgba(0,0,0,0.6),
        0 0 20px rgba(255, 118, 0, 0.15);

    z-index: 10;
}


/* EFECTO HOVER ESPECIAL PARA LA TARJETA POPULAR */
.pricing-card.popular:hover {
    transform: scale(1.05) translateY(-8px);

    box-shadow:
        0 18px 50px rgba(0,0,0,0.65),
        0 0 32px rgba(0, 174, 255, 0.30),
        0 0 20px rgba(138, 43, 226, 0.25);
}



/* =========================================================
   CARACTERÍSTICAS
   ========================================================= */

.features {
    list-style: none;
    margin-bottom: 40px;
    flex-grow: 1;
}

.features li {
    padding: 12px 0;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    border-bottom: 1px dashed rgba(255,255,255,0.05);

    /* NUEVO */
    transition:
        transform 0.25s ease,
        color 0.25s ease,
        text-shadow 0.25s ease,
        padding-left 0.25s ease;
}


/* CUANDO PASAS SOBRE LA TARJETA,
   LAS CARACTERÍSTICAS COBRAN VIDA */
.pricing-card:hover .features li {
    color: #ffffff;
}


/* EFECTO INDIVIDUAL AL PASAR POR CADA CARACTERÍSTICA */
.pricing-card .features li:hover {
    transform: translateX(6px);
    padding-left: 4px;

    color: #ffffff;

    text-shadow:
        0 0 8px rgba(0, 174, 255, 0.45);
}


/* TUS ICONOS ACTUALES */
.features li i {
    color: var(--brand-blue);
    margin-right: 15px;
    font-size: 1.2rem;

    /* NUEVO */
    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}


/* ICONO REACCIONA AL PASAR POR LA CARACTERÍSTICA */
.pricing-card .features li:hover i {
    transform: scale(1.18);

    filter:
        drop-shadow(0 0 6px rgba(0, 174, 255, 0.65));
}


/* TUS ICONOS DE LA TARJETA POPULAR */
.popular .features li i {
    color: var(--brand-orange);
}


/* BRILLO ESPECIAL EN LA TARJETA POPULAR */
.pricing-card.popular .features li:hover {
    text-shadow:
        0 0 8px rgba(138, 43, 226, 0.50);
}

.pricing-card.popular .features li:hover i {
    transform: scale(1.18);

    filter:
        drop-shadow(0 0 7px rgba(0, 174, 255, 0.75));
}


/* TUS ELEMENTOS DESACTIVADOS */
.features li.disabled {
    color: #556;
}

.features li.disabled i {
    color: #556;
}


/* =========================================================
   BOTONES
   ========================================================= */

.pricing-card .btn-outline,
.pricing-card .btn-glow {
    text-align: center;
    width: 100%;
    margin-top: auto;

    /* NUEVO */
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        filter 0.3s ease,
        background 0.3s ease;
}


/* CUANDO EL CURSOR ENTRA A LA TARJETA,
   EL BOTÓN SE ACTIVA VISUALMENTE */
.pricing-card:hover .btn-outline,
.pricing-card:hover .btn-glow {
    transform: translateY(-2px);
}


/* BOTÓN OUTLINE DE LAS TARJETAS NORMALES */
.pricing-card:hover .btn-outline {
    border-color: #00aeff;

    box-shadow:
        0 0 12px rgba(0, 174, 255, 0.35),
        inset 0 0 10px rgba(0, 174, 255, 0.05);
}


/* HOVER DIRECTO SOBRE EL BOTÓN */
.pricing-card .btn-outline:hover {
    transform: translateY(-4px) scale(1.02);

    background: rgba(0, 174, 255, 0.10);

    box-shadow:
        0 0 20px rgba(0, 174, 255, 0.55),
        inset 0 0 14px rgba(0, 174, 255, 0.10);
}


/* BOTÓN GLOW DE LA TARJETA DESTACADA */
.pricing-card:hover .btn-glow {
    box-shadow:
        0 0 18px rgba(0, 174, 255, 0.45),
        0 0 24px rgba(138, 43, 226, 0.30);

    filter: brightness(1.08);
}


/* HOVER DIRECTO SOBRE EL BOTÓN DESTACADO */
.pricing-card .btn-glow:hover {
    transform: translateY(-4px) scale(1.025);

    filter: brightness(1.18);

    box-shadow:
        0 0 22px rgba(0, 174, 255, 0.65),
        0 0 32px rgba(138, 43, 226, 0.50);
}

/* Responsive */
@media (max-width: 992px) {
    .about-grid {
        grid-template-columns: 1fr;
    }
    .contact-container {
        grid-template-columns: 1fr;
    }
    .glitch {
        font-size: 3.5rem;
    }
    .pricing-card.popular {
        transform: scale(1);
    }
    .pricing-card.popular:hover {
        transform: translateY(-5px);
    }
}

@media (max-width: 768px) {
    .glitch {
        font-size: 2.5rem;
    }
    .hero .subtitle {
        font-size: 1.2rem;
    }
    .cta-group {
        flex-direction: column;
    }
    .section-header h2 {
        font-size: 2.2rem;
    }
    .contact-info {
        padding: 40px 20px;
    }
    .contact-action {
        padding: 40px 20px;
    }
    .pricing-grid {
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 20px;
    }
    .pricing-card {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
    }
    section {
        padding: 60px 15px;
        overflow-x: hidden;
        width: 100%;
    }
    .price {
        font-size: 3rem;
    }
    .plan-tabs {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .tab-btn {
        width: 100%;
    }
}

/* --- Duo Badges --- */
.duo-badge {
    position: absolute;
    top: -15px;
    right: -15px;
    background: linear-gradient(45deg, #007499, #00d2ff);
    color: #fff;
    padding: 8px 15px;
    border-radius: 20px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 1px;
    box-shadow: 0 0 15px rgba(0, 116, 153, 0.6);
    z-index: 5;
    border: 2px solid #07090f;
}

.duo-badge.duo-m {
    background: linear-gradient(45deg, #ff7600, #ffb347);
    box-shadow: 0 0 15px rgba(255, 118, 0, 0.6);
}

.duo-badge.duo-l {
    background: linear-gradient(45deg, #bc13fe, #e056fd);
    box-shadow: 0 0 15px rgba(188, 19, 254, 0.6);
}

/* --- Premium Channels --- */
.premium-ch {
    border-color: #ff7600;
    background: rgba(255, 118, 0, 0.1);
    box-shadow: 0 0 15px rgba(255, 118, 0, 0.2);
    position: relative;
    overflow: hidden;
}

.premium-ch::after {
    content: 'PREMIUM';
    position: absolute;
    top: 5px;
    right: -25px;
    background: #ff7600;
    color: #000;
    font-size: 0.6rem;
    font-weight: 800;
    padding: 2px 25px;
    transform: rotate(45deg);
}

.premium-ch:hover {
    background: rgba(255, 118, 0, 0.2);
    border-color: #ff9900;
    box-shadow: 0 0 25px rgba(255, 118, 0, 0.4);
    transform: translateY(-5px) scale(1.05);
}

.premium-text {
    background: -webkit-linear-gradient(45deg, #ff7600, #ffcc00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
}

/* Corrección para que el menú lateral tape las barras fijas al abrirse */
@media (max-width: 991px) {
    .mobile-menu {
        z-index: 999999 !important; /* Capa superior absoluta para cubrir todo */
    }
    
    .mobile-menu-overlay {
        z-index: 999998 !important; /* El fondo oscuro también cubre las barras */
    }
}

@media (max-width: 991px) {
    /* Fijamos la barra de contactos de arriba */
    .top-bar {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 99997 !important;
    }

    /* Fijamos la barra del logo respetando su transparencia original */
    .navbar {
        position: fixed !important;
        top: 40px !important; /* Se acomoda justo debajo de la barra de contactos */
        left: 0;
        width: 100%;
        z-index: 99997 !important;
        background: transparent !important; /* Le devolvemos la transparencia de tu diseño */
    }

    /* Le damos espacio al banner para que no se meta debajo de las barras fijas */
    .hero {
        margin-top: 110px !important;
    }
}


.hero-content {
    max-width: 900px;
    z-index: 10;
}

.hero .subtitle {
    font-size: 1.5rem;
    color: var(--text-muted);
    margin-bottom: 40px;
    font-weight: 500;
}

.hero{
    padding-top: 0px;
    padding-bottom: 60px;
}

/* MODIFICA TU CLASE ACTUAL CON ESTO (TUS PARÁMETROS REALES UNIFICADOS) */
.hero-content {
    /* REGLAS ORIGINALES DE TU SEGUNDO BLOQUE INTACTAS */
    position: relative;   /* Parámetro tuyo intacto */
    text-align: center;   /* Parámetro tuyo intacto */
    padding: 0 20px;      /* Parámetro tuyo intacto */
    z-index: 1;           /* Parámetro tuyo intacto */
    
    /* REGLA ORIGINAL DE TU PRIMER BLOQUE INTACTA */
    max-width: 900px;     /* Recupera tus 900px originales para contener el texto */
    
    /* CORRECCIÓN SEGURA: Unifica tus márgenes de 50px agregando 'auto' a los lados */
    /* Esto mantiene tu separación vertical de 50px y centra la caja horizontalmente */
    margin: 50px auto;     
}

.hero{
    padding-top: 0px;
    padding-bottom: 60px;
}

.hero-slider {
    /*
    Se adapta al ancho REAL disponible del documento.
    No depende directamente de 100vw.
    */
    width: 100%;
    max-width: 100%;

    /*
    Mantiene tu separación superior actual.
    */
    margin-top: 200px;
    margin-left: 0;
    margin-right: 0;

    /*
    Mantiene automáticamente la proporción REAL
    de tus banners 1862 x 515.
    */
    aspect-ratio: 1862 / 515;
    height: auto;

    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

.hero-slider .slide{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    opacity:0;
    transition:opacity 1s ease;
}

.hero-slider .slide.active{
    opacity:1;
}

.hero-slider img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center !important;
    display:block;
}

.hero-slider .slide img {
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center !important;
    display:block;
}

.hero-content .glitch {
    font-size: clamp(2.5rem, 5vw, 4.5rem) !important; 
    font-weight: 900;                                 
    letter-spacing: 2px;                              
    margin-bottom: 20px;                             
    line-height: 1.1;                                 
}

.hero-content .subtitle {
    color: #cccccc;       
    font-size: 1.1rem;
    margin-bottom: 25px;  
}


/* Líneas internas con tamaño y visualización garantizada */
.hamburger-line {
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    background-color: #ffffff !important; /* Blanco sólido */
    border-radius: 3px;
    transition: all 0.3s ease;
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
    z-index: 1005;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: -350px;
    width: 80%;
    max-width: 320px;
    height: 100vh;
    background: #020a14;
    z-index: 1010;
    display: flex;
    flex-direction: column;
    padding: 30px 25px;
    box-shadow: -5px 0 25px rgba(0,0,0,0.8);
    transition: right 0.4s cubic-bezier(0.77,0.2,0.05,1.0);
    border-left: 1px solid var(--brand-blue);
    overflow-y: auto;
}

.mobile-menu.active {
    right: 0;
}

section {
    padding: 70px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.section-header {
    text-align: center;
    margin-bottom: 40px;
}

.section-header h2 {
    font-size: 2.8rem;
    color: #fff;
    margin-bottom: 15px;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
}

.section-header h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--brand-orange);
    box-shadow: 0 0 10px var(--brand-orange);
}

.section-header p {
    font-size: 1.2rem;
    color: var(--text-muted);
}

.card-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-glass);
}

.card-header h3 {
    font-size: 1.4rem;
    color: var(--text-muted);
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.popular .card-header h3 {
    color: #fff;
    text-shadow: 0 0 5px rgba(255,255,255,0.3);
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
    padding-bottom: 0;
    border-bottom: none;
}

/* =========================================================
   LOGO DEL MENÚ HAMBURGUESA
   964PX HACIA ABAJO
   ========================================================= */

@media (max-width:964px) {

    .mobile-menu-header .logo {
        width:210px !important;
        min-width:210px !important;
        max-width:210px !important;

        margin:0 !important;

        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
    }

    .mobile-menu-header .logo img {
        width:210px !important;
        min-width:210px !important;
        max-width:210px !important;

        height:auto !important;

        object-fit:contain !important;
    }

    .mobile-menu-header .logo::before {
        width:250px !important;
        height:250px !important;
    }

    .mobile-menu-header .logo::after {
        width:260px !important;
        height:260px !important;
    }
}

.close-menu {
    background: none;
    border: none;
    color: #fff;
    font-size: 2.5rem;
    cursor: pointer;
    line-height: 1;
    transition: transform 0.3s ease;
}

.close-menu:hover {
    color: var(--brand-orange);
    transform: rotate(90deg);
}

.mobile-nav-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 40px;
}

.mobile-nav-links a {
    color: #fff;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 600;
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    transition: all 0.3s;
}

.mobile-nav-links a:hover {
    color: var(--brand-orange);
    padding-left: 10px;
}

.mobile-btn-container {
    margin-top: auto;
}

.mobile-btn-container .btn-glow {
    background: linear-gradient(90deg, #00d2ff, #bc13fe);
    box-shadow: 0 0 15px rgba(188, 19, 254, 0.4);
    border: none;
    color: #fff;
    text-transform: none;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 15px;
}


/* --- Chatbot --- */
.chat-fab {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: linear-gradient(135deg, #00d2ff 0%, #bc13fe 100%);
    border: none;
    color: #fff;
    font-size: 1.8rem;
    cursor: pointer;
    box-shadow: 0 5px 20px rgba(188, 19, 254, 0.5);
    z-index: 999;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-fab:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(188, 19, 254, 0.7);
}

.chatbot-container {
    position: fixed;
    bottom: 100px;
    right: 30px;
    width: 350px;
    height: 480px;
    background: var(--bg-card);
    border: 1px solid var(--brand-blue);
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 20px rgba(0, 116, 153, 0.2);
    display: flex;
    flex-direction: column;
    z-index: 1000;
    overflow: hidden;
    backdrop-filter: blur(15px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.chatbot-container.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 500px) {
    .chatbot-container {
        width: 90%;
        right: 5%;
        left: 5%;
        bottom: 90px;
    }
}

.chatbot-header {
    background: rgba(0, 116, 153, 0.4);
    padding: 15px 20px;
    color: #fff;
    font-weight: 700;
    font-family: 'Exo 2', sans-serif;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 116, 153, 0.6);
}

.chatbot-body {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.chat-message {
    max-width: 85%;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 0.95rem;
    line-height: 1.4;
    position: relative;
}

.chat-message.bot {
    background: rgba(0, 116, 153, 0.2);
    border: 1px solid rgba(0, 116, 153, 0.4);
    color: #fff;
    align-self: flex-start;
    border-bottom-left-radius: 2px;
}

.chat-message.user {
    background: rgba(255, 118, 0, 0.2);
    border: 1px solid rgba(255, 118, 0, 0.4);
    color: #fff;
    align-self: flex-end;
    border-bottom-right-radius: 2px;
}

.chatbot-input {
    display: flex;
    padding: 15px;
    background: rgba(0, 0, 0, 0.4);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.chatbot-input input {
    flex: 1;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 10px 15px;
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1rem;
    transition: border-color 0.3s;
}

.chatbot-input input:focus {
    outline: none;
    border-color: var(--brand-blue);
}

.chatbot-input button {
    background: var(--brand-blue);
    border: none;
    color: #fff;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    margin-left: 10px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
}

.chatbot-input button:hover {
    background: #00d2ff;
    box-shadow: 0 0 15px var(--brand-blue-glow);
}

/* --- New Channels Categories Styling on Index --- */
.categories-container {
    padding: 40px;
    background: rgba(13, 17, 28, 0.4);
    border-radius: 0 0 20px 20px;
    border-top: 1px solid var(--border-glass);
}

.categories-intro {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 30px;
    text-align: center;
    letter-spacing: 1px;
    text-shadow: 0 0 15px rgba(0, 116, 153, 0.4);
}

.categories-grid-layout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.category-item {
    background: rgba(13, 17, 28, 0.6);
    border: 1px solid var(--border-glass);
    border-radius: 12px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
}

.category-item:hover {
    border-color: var(--brand-orange);
    background: rgba(255, 118, 0, 0.05);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.5), 0 0 15px rgba(255, 118, 0, 0.15);
}

.category-item-bullet {
    color: var(--brand-orange);
    font-size: 1.5rem;
    text-shadow: 0 0 8px var(--brand-orange-glow);
    display: inline-block;
    transition: transform 0.3s ease;
}

.category-item:hover .category-item-bullet {
    transform: scale(1.3) rotate(360deg);
}

.category-item-text {
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-main);
    letter-spacing: 0.5px;
    transition: color 0.3s;
}

.category-item:hover .category-item-text {
    color: #fff;
}

.categories-action-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.btn-parrilla-glow {
    display: inline-block;
    padding: 14px 36px;
    background: linear-gradient(45deg, var(--brand-blue), #00d2ff);
    color: #fff;
    text-decoration: none;
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 1.1rem;
    text-transform: uppercase;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 15px var(--brand-blue-glow);
    transition: all 0.3s ease;
    letter-spacing: 1.5px;
}

.btn-parrilla-glow:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 0 30px #00d2ff;
    background: linear-gradient(45deg, #008fbc, #00f3ff);
}

/* --- Parrilla Page CSS --- */
.parrilla-intro-section {
    padding: 160px 20px 40px;
    text-align: center;
    position: relative;
    background: radial-gradient(circle at bottom, rgba(0, 116, 153, 0.15) 0%, transparent 65%);
}

.parrilla-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 3.5rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    text-shadow: 0 0 20px var(--brand-blue-glow);
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.parrilla-subtitle {
    font-size: 1.3rem;
    color: var(--text-muted);
    max-width: 700px;
    margin: 0 auto 30px;
    font-weight: 500;
}

.parrilla-controls {
    max-width: 1000px;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--border-glass);
}

.search-box-wrapper {
    flex: 1 1 350px;
    position: relative;
}

.search-box-wrapper i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    font-size: 1.1rem;
    transition: color 0.3s;
}

.search-input {
    width: 100%;
    background: rgba(13, 17, 28, 0.6);
    border: 1px solid var(--border-glass);
    border-radius: 30px;
    padding: 14px 20px 14px 50px;
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.1rem;
    transition: all 0.3s;
}

.search-input:focus {
    outline: none;
    border-color: var(--brand-blue);
    box-shadow: 0 0 15px var(--brand-blue-glow);
}

.search-input:focus + i {
    color: #00d2ff;
}

.filter-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filter-btn {
    padding: 10px 20px;
    background: rgba(13, 17, 28, 0.6);
    border: 1px solid var(--border-glass);
    color: var(--text-muted);
    border-radius: 20px;
    font-family: 'Exo 2', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.filter-btn:hover {
    border-color: var(--brand-blue);
    color: #fff;
}

.filter-btn.active {
    background: var(--brand-blue);
    border-color: var(--brand-blue);
    color: #fff;
    box-shadow: 0 0 15px var(--brand-blue-glow);
}

.parrilla-channels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 25px;
    max-width: 1200px;
    margin: 0 auto 80px;
    padding: 0 20px;
}

.channel-card-premium {
    background: rgba(13, 17, 28, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--border-glass);
    border-radius: 16px;
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.channel-card-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--brand-orange), var(--brand-blue));
    opacity: 0;
    transition: opacity 0.3s;
}

.channel-card-premium:hover::before {
    opacity: 1;
}

.channel-card-premium:hover {
    transform: translateY(-8px);
    border-color: var(--brand-blue);
    background: rgba(20, 26, 43, 0.9);
    box-shadow: 0 15px 35px rgba(0,0,0,0.6), 0 0 20px rgba(0, 116, 153, 0.25);
}

.logo-wrapper-premium {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border-glass);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 18px;
    transition: all 0.3s;
}

.channel-card-premium:hover .logo-wrapper-premium {
    border-color: var(--brand-orange);
    box-shadow: 0 0 15px rgba(255, 118, 0, 0.3);
    background: rgba(255, 255, 255, 0.06);
}

.logo-wrapper-premium img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.channel-card-premium:hover .logo-wrapper-premium img {
    transform: scale(1.15);
}

.channel-card-premium h4 {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    transition: color 0.3s;
}

.channel-card-premium:hover h4 {
    color: var(--brand-orange);
}

.channel-category-tag {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--brand-blue);
    letter-spacing: 1px;
    background: rgba(0, 116, 153, 0.1);
    padding: 3px 12px;
    border-radius: 12px;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.channel-card-premium:hover .channel-category-tag {
    color: #00d2ff;
    background: rgba(0, 116, 153, 0.2);
    opacity: 0;
    transform: translateY(-10px);
}

.channel-hover-description {
    position: absolute;
    bottom: 22px;
    left: 15px;
    right: 15px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
    text-align: center;
    line-height: 1.35;
    text-shadow: 0 0 8px rgba(0, 116, 153, 0.6);
}

.channel-card-premium:hover .channel-hover-description {
    opacity: 1;
    transform: translateY(0);
}

/* No results state */
.no-results-msg {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: rgba(13, 17, 28, 0.4);
    border-radius: 16px;
    border: 1px solid var(--border-glass);
}

.no-results-msg i {
    font-size: 3rem;
    color: var(--text-muted);
    margin-bottom: 15px;
}

.no-results-msg h3 {
    font-family: 'Exo 2', sans-serif;
    color: #fff;
    margin-bottom: 8px;
}

.no-results-msg p {
    color: var(--text-muted);
    font-size: 1.1rem;
}

@media (max-width: 768px) {
    .parrilla-title {
        font-size: 2.5rem;
    }
    .parrilla-controls {
        flex-direction: column;
        align-items: stretch;
        padding: 15px;
    }
    .search-box-wrapper {
        flex: 1 1 auto;
    }
    .filter-categories {
        justify-content: center;
    }
    .parrilla-channels-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 15px;
    }
}

/* --- Tamaños personalizados para logos individuales --- */
.logo-a-e {
    width: 110px !important;
    height: auto !important;
}
.logo-13c {
    width: 80px !important;
    height: auto !important;
}
.logo-tvplus {
    width: 110px !important;
    height: auto !important;
}
.logo-bio-bio-tv {
    width: 130px !important;
    height: auto !important;
}
.logo-tnt-sports-2 {
    width: 110px !important;
    height: auto !important;
}
.logo-tnt-sports-hd-premium {
    width: 110px !important;
    height: auto !important;
}
.logo-hgtv {
    width: 110px !important;
    height: auto !important;
}
.logo-discovery-turbo {
    width: 100px !important;
    height: auto !important;
}
.logo-discovery-hyh {
    width: 80px !important;
    height: auto !important;
}
.logo-food-network {
    width: 120px !important;
    height: auto !important;
}
.logo-golden-plus.logo-golden {
    width:230px !important;
    height:auto !important;
}
.logo-tv-mas {
    width: 100px !important;
    height: auto !important;
}
.logo-id-hd {
    width: 100px !important;
    height: auto !important;
}
.logo-discovery-world {
    width: 100px !important;
    height: auto !important;
}
.logo-discovery-theater {
    width: 100px !important;
    height: auto !important;
}
.logo-almanaque {
    width: 90px !important;
    height: auto !important;
}
.logo-history-hd {
    width: 100px !important;
    height: auto !important;
}
.logo-animal-planet {
    width: 110px !important;
    height: auto !important;
}
.logo-memorias-series {
    width: 120px !important;
    height: auto !important;
}
.logo-kanal-d-drama {
    width: 120px !important;
    height: auto !important;
}
.logo-kanal-d-drama-2 {
    width: 120px !important;
    height: auto !important;
}
.logo-vibra-series { 
    width: 130px !important;
    height: auto !important;
}
.logo-discovery-channel { 
    width: 90px !important;
    height: auto !important;
}
.logo-zoom-back { 
    width: 130px !important;
    height: auto !important;
}
.logo-cineplus-premium { 
    width: 200px !important;
    height: auto !important;
}
.logo-cineplus-terror { 
    width: 140px !important;
    height: auto !important;
}
.logo-avi-action { 
    width: 150px !important;
    height: auto !important;
}
.logo-mx-drama { 
    width: 210px !important;
    height: auto !important;
}
.logo-avi-extreme { 
    width: 150px !important;
    height: auto !important;
}
.logo-hbo-family { 
    width: 130px !important;
    height: auto !important;
}
.logo-hbo-hd { 
    width: 100px !important;
    height: auto !important;
}
.logo-cinemax { 
    width: 120px !important;
    height: auto !important;
}
.logo-tnt-hd { 
    width: 120px !important;
    height: auto !important;
}
.logo-space { 
    width: 130px !important;
    height: auto !important;
}
.logo-de-peliculas { 
    width: 80px !important;
    height: auto !important;
}
.logo-tcm { 
    width: 140px !important;
    height: auto !important;
}
.logo-tnt-series { 
    width: 100px !important;
    height: auto !important;
}
.logo-warner-channel { 
    width: 80px !important;
    height: auto !important;
}
.logo-cineplus { 
    width: 90px !important;
    height: auto !important;
}
.logo-tnt-novelas { 
    width: 60px !important;
    height: auto !important;
}
.logo-mx-old { 
    width: 110px !important;
    height: auto !important;
}
.logo-old-music { 
    width: 110px !important;
    height: auto !important;
}
.logo-musica-k-pop { 
    width: 110px !important;
    height: auto !important;
}
.logo-htv { 
    width: 100px !important;
    height: auto !important;
}
.logo-tooncast { 
    width: 90px !important;
    height: auto !important;
}
.logo-cartoonito { 
    width: 90px !important;
    height: auto !important;
}
.logo-plim-plim-tv { 
    width: 130px !important;
    height: auto !important;
}
.logo-zona-latina { 
    width: 100px !important;
    height: auto !important;
}
.logo-latina-tv { 
    width: 130px !important;
    height: auto !important;
}
.logo-via-x { 
    width: 70px !important;
    height: auto !important;
}
.logo-hits { 
    width: 60px !important;
    height: auto !important;
}
.logo-total-music { 
    width: 90px !important;
    height: auto !important;
}
.logo-blues { 
    width: 130px !important;
    height: auto !important;
}
.logo-carolina { 
    width: 120px !important;
    height: auto !important;
}
.logo-vibra-music { 
    width: 120px !important;
    height: auto !important;
}
.logo-memorias-toons { 
    width: 130px !important;
    height: auto !important;
}
.logo-adult-swim { 
    width: 140px !important;
    height: auto !important;
}
.logo-vclassic-tv-tropical { 
    width: 100px !important;
    height: auto !important;
}
.logo-cineplus-ani-retro { 
    width: 100px !important;
    height: auto !important;
}
.logo-avi-music { 
    width: 100px !important;
    height: auto !important;
}
.logo-salsa-tv { 
    width: 100px !important;
    height: auto !important;
}
.logo-popu-tv { 
    width: 140px !important;
    height: auto !important;
}
.logo-hola-tv { 
    width: 100px !important;
    height: auto !important;
}
.logo-karavana-urbano { 
    width: 120px !important;
    height: auto !important;
}
.logo-concerts { 
    width: 110px !important;
    height: auto !important;
}
.logo-mtv { 
    width: 150px !important;
    height: auto !important;
}
.logo-karavana-tv { 
    width: 100px !important;
    height: auto !important;
}
.logo-cineplus-family { 
    width: 80px !important;
    height: auto !important;
}
.logo-mundo-y-sabor { 
    width: 90px !important;
    height: auto !important;
}
.logo-goku-tv { 
    width: 90px !important;
    height: auto !important;
}
.logo-nick-junior { 
    width: 110px !important;
    height: auto !important;
}
.logo-nickelodeon { 
    width: 100px !important;
    height: auto !important;
}
.logo-discovery-kids { 
    width: 90px !important;
    height: auto !important;
}
.logo-cartoon-network { 
    width: 110px !important;
    height: auto !important;
}
.logo-wester { 
    width: 130px !important;
    height: auto !important;
}
.logo-cine-war { 
    width: 120px !important;
    height: auto !important;
}
.logo-france-24 { 
    width: 70px !important;
    height: auto !important;
}
.logo-canal-13 { 
    width: 100px !important;
    height: auto !important;
}
.logo-fx { 
    width: 70px !important;
    height: auto !important;
}
.logo-mx-prime { 
    width: 150px !important;
    height: auto !important;
}
.logo-distrito-comedia {
    width: 80px !important;
    height: auto !important;
}
.logo-telenovelas {
    width: 100px !important;
    height: auto !important;
}
.logo-mega {
    width: 170px !important;
    height: auto !important;
}
.logo-la-red {
    width: 70px !important;
    height: auto !important;
}
.logo-girovision {
    width: 100px !important;
    height: auto !important;
}
.logo-informacion {
    width: 100px !important;
    height: auto !important;
}
.logo-t13-vivo {
    width: 70px !important;
    height: auto !important;
}
.logo-mega-2 {
    width: 100px !important;
    height: auto !important;
}
.logo-chilevision {
    width: 100px !important;
    height: auto !important;
}
.logo-tvn {
    width: 80px !important;
    height: auto !important;
}
.logo-avi-concert {
    width: 120px !important;
    height: auto !important;
}
.logo-etc {
    width: 90px !important;
    height: auto !important;
}
.logo-national-geographic {
    width: 110px !important;
    height: auto !important;
}
.logo-a3-series {
    width: 80px !important;
    height: auto !important;
}
.logo-star-channel {
    width: 100px !important;
    height: auto !important;
}
.logo-dhe {
    width: 100px !important;
    height: auto !important;
}
.logo-cinecanal {
    width: 100px !important;
    height: auto !important;
}
.logo-teletrak {
    width: 80px !important;
    height: auto !important;
}
.logo-horizont-wild {
    width: 120px !important;
    height: auto !important;
}
.logo-cine-familiar {
    width: 120px !important;
    height: auto !important;
}
.logo-rec-tv {
    width: 80px !important;
    height: auto !important;
}
.logo-pasiones {
    width: 100px !important;
    height: auto !important;
}
.logo-reggaeton {
    width: 90px !important;
    height: auto !important;
}
.logo-las-estrellas {
    width: 150px !important;
    height: auto !important;
}
.logo-fmh-movies {
    width: 140px !important;
    height: auto !important;
}
.logo-fmh-family {
    width: 120px !important;
    height: auto !important;
}
.logo-fmh-rewind {
    width: 130px !important;
    height: auto !important;
}
.logo-animotion {
    width: 130px !important;
    height: auto !important;
}
.logo-atlas {
    width: 200px !important;
    height: auto !important;
}
.logo-kizzy {
    width: 80px !important;
    height: auto !important;
}
.logo-fmh-kids {
    width: 120px !important;
    height: auto !important;
}
.logo-cine-premium {
    width:130px !important;
    height:auto !important;

    transform:scale(1.8) !important;
    transform-origin:center center !important;
}

.channel-card-premium:hover .logo-cine-premium {
    transform:scale(1.9) !important;
}
.logo-disney-channel {
    width: 100px !important;
    height: auto !important;
}
.logo-america {
    width: 80px !important;
    height: auto !important;
}
.logo-telemundo {
    width: 70px !important;
    height: auto !important;
}
.logo-usa {
    width: 70px !important;
    height: auto !important;
}
.logo-moni-tv {
    width: 100px !important;
    height: auto !important;
}
.logo-el-gourmet {
    width: 90px !important;
    height: auto !important;
}
.logo-universal-tv {
    width: 100px !important;
    height: auto !important;
}
.logo-sony-movies {
    width: 60px !important;
    height: auto !important;
}
.logo-amc-series.logo-amc {
    width: 140px !important;
    height: auto !important;
}
.logo-amc {
    width: 90px !important;
    height: auto !important;
}
.logo-axn {
    width: 120px !important;
    height: auto !important;
}
.logo-sony-channel {
    width: 63px !important;
    height: auto !important;
}
.logo-e {
    width: 110px !important;
    height: auto !important;
}
.logo-love-nature {
    width: 100px !important;
    height: auto !important;
}
.logo-studio-universal {
    width: 90px !important;
    height: auto !important;
}
.logo-history {
    width: 160px !important;
    height: auto !important;
}
.logo-tve {
    width: 70px !important;
    height: auto !important;
}
.logo-cine-hispano {
    width: 120px !important;
    height: auto !important;
}
.logo-karanava { 
    width: 150px !important;
    height: auto !important;
}
.logo-golden { 
    width: 90px !important;
    height: auto !important;
}
.logo-24-horas { 
    width: 70px !important;
    height: auto !important;
}
.logo-cnn { 
    width: 100px !important;
    height: auto !important;
}
.logo-k-pop { 
    width: 80px !important;
    height: auto !important;
}
.logo-cine-classic { 
    width: 90px !important;
    height: auto !important;
}
.logo-antena-3 { 
    width: 90px !important;
    height: auto !important;
}
.logo-sun-channel { 
    width: 70px !important;
    height: auto !important;
}
.logo-tv-plus { 
    width: 90px !important;
    height: auto !important;
}
.logo-dw { 
    width: 100px !important;
    height: auto !important;
}
.logo-ewtn { 
    width: 100px !important;
    height: auto !important;
}
.logo-dhh { 
    width: 120px !important;
    height: auto !important;
}
.logo-humor { 
    width: 120px !important;
    height: auto !important;
}
.logo-tlc { 
    width: 80px !important;
    height: auto !important;
}
.logo-lifetime { 
    width: 75px !important;
    height: auto !important;
}
.logo-golden-edge { 
    width: 90px !important;
    height: auto !important;
}
.logo-senado-tv { 
    width: 80px !important;
    height: auto !important;
}
.logo-enlace { 
    width: 200px !important;
    height: auto !important;
}
.logo-senado-tv { 
    width: 110px !important;
    height: auto !important;
}
.logo-rewind-2 { 
    width: 120px !important;
    height: auto !important;
}
.logo-avi-cine { 
    width: 140px !important;
    height: auto !important;
}
.logo-vision-plus { 
    width: 120px !important;
    height: auto !important;
}
.logo-mx-series { 
    width: 120px !important;
    height: auto !important;
}
.logo-animados {
    width: 100px !important;
    height: auto !important;
}
.logo-chile-channel {
    width: 150px !important;
    height: auto !important;
}
.logo-musica-hits {
    width: 120px !important;
    height: auto !important;
}
.logo-santiago-tv {
    width: 150px !important;
    height: auto !important;
}
.logo-ztv {
    width: 140px !important;
    height: auto !important;
}
.logo-dos-kids {
    width: 140px !important;
    height: auto !important;
}
.logo-clover {
    width: 130px !important;
    height: auto !important;
}
.logo-history-2 {
    width: 80px !important;
    height: auto !important;
}
.logo-inf {
    width: 100px !important;
    height: auto !important;
}
.logo-espn {
    width: 100px !important;
    height: auto !important;
}
.logo-film-arts {
    width:120px !important;
    height:auto !important;
}
.logo-disney-junior {
    width: 90px !important;
    height: auto !important;
}

/* =========================================================
   CONTROL DE TAMAÑO INDIVIDUAL POR LOGO
   ========================================================= */

.logo-fortinet {
    width: 130px !important; /* Ajusta el ancho a tu gusto */
    height: auto !important;
}

.logo-softaculous {
    width: 120px !important;
    height: auto !important;
}

.logo-letsencrypt {
    width: 100px !important;
    height: auto !important;
}

.logo-cpanel {
    width: 110px !important;
    height: auto !important;
}

.logo-cloudlinux {
    width: 115px !important;
    height: auto !important;
}

.logo-litespeed {
    width: 125px !important;
    height: auto !important;
}

.logo-imunify360 {
    width: 120px !important;
    height: auto !important;
}

.logo-acronis {
    width: 110px !important;
    height: auto !important;
}

/* Location Map Styles */
.map-container {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
}

.map-container iframe {
    width: 100%;
    height: 100%;
    min-height: 350px;
    border: none;
}

@media (min-width: 768px) {
    .map-container iframe {
        min-height: 450px;
    }
}

@media (max-width: 767px) {
    .map-container iframe {
        min-height: 250px;
    }
}

.testimonial-header img {
    position: absolute;
    top: 30px;
    right: 60px;

    width: 45px;
    height: 45px;

    border-radius: 50%;
    object-fit: cover;

    border: 2px solid #00cfff;
}

.footer-logo-img {
    max-width: 300px;
    height: auto;
    display: block;
}

footer {
    border-top: 1px solid rgba(138,43,226,.3);
    padding-top: 60px;
}

.footer-content {
    max-width: 1300px;
    margin: auto;
    padding: 0 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 50px;
}

.footer-column h3 {
    color: #a855f7;
    margin-bottom: 20px;
}

.footer-column ul {
    list-style: none;
    padding: 0;
}

.footer-column ul li {
    margin-bottom: 12px;
}

.footer-column a {
    color: #bfc7d5;
    text-decoration: none;
    transition: .3s;
}

.footer-column a:hover {
    color: #a855f7;
}

.footer-logo-img {
    width: 250px;
    margin-bottom: 20px;
}

.footer-bottom {
    margin-top: 50px;
    padding: 25px;
    border-top: 1px solid rgba(255,255,255,.08);

    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;

    text-align: center;
}

.footer-links {
    display: flex;
    gap: 20px;
}

.footer-links a {
    text-decoration: none;
    color: #bfc7d5;
}

.footer-links a:hover {
    color: #a855f7;
}


/* Incremento limpio y controlado solo para las letras de esta página */
.pagina-principal .contact-info-top span {
    font-size: 13px !important; /* Sube el tamaño base de forma segura */
    white-space: nowrap;        /* Evita estrictamente que el texto se salte de línea */
}

/* En pantallas grandes (PC), nos podemos permitir que crezcan un poco más */
@media (min-width: 1024px) {
    .pagina-principal .contact-info-top span {
        font-size: 16px !important; 
    }
}


/* AJUSTE EXCLUSIVO PARA EMPAREJAR EL FOOTER DE LA PÁGINA DE INICIO */
.pagina-principal footer a, 
.pagina-principal footer p, 
.pagina-principal footer span,
.pagina-principal .footer a, 
.pagina-principal .footer p, 
.pagina-principal .footer span {
    font-size: 14px !important; /* Ajusta a 15px o 16px si las otras páginas se ven más grandes */
    line-height: 1.6 !important;
}

.pagina-principal footer h3, 
.pagina-principal footer h4,
.pagina-principal .footer h3, 
.pagina-principal .footer h4 {
    font-size: 16px !important;
    font-weight: bold !important;
}

/* ==========================================================================
   🛸 ESTILOS EXCLUSIVOS PARA LA PÁGINA DE TÉRMINOS Y CONDICIONES
   ========================================================================== */

/* Contenedor principal con espacio superior fijo para no taparse con la navbar delgada */
.terminos-page-wrapper {
    padding-top: 140px !important;
    max-width: 950px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Bloque del encabezado */
.terminos-header-block {
    text-align: left !important;
    margin-bottom: 40px !important;
}

.terminos-main-title {
    font-family: 'Exo 2', sans-serif !important;
    font-weight: 800 !important;
    font-size: 2.2rem !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 10px 0 !important;
}

.terminos-subtitle {
    font-family: 'Exo 2', sans-serif !important;
    color: #64748b !important;
    font-size: 0.95rem !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.5 !important;
}

/* Línea divisoria cian/morada neón estilo Finet */
.terminos-divider-neon {
    width: 100% !important;
    height: 1px !important;
    background: linear-gradient(90deg, #00ffcc 0%, #8a2be2 50%, rgba(0,0,0,0) 100%) !important;
}

/* Grilla estructural de las cláusulas legales */
.terminos-body-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    margin-bottom: 80px !important;
}

/* Tarjetas contenedoras de cada artículo */
.terminos-card {
    background: rgba(255, 255, 255, 0.01) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
    border-left: 3px solid #8a2be2 !important; /* Detalle morado al borde izquierdo */
    padding: 25px !important;
    border-radius: 6px !important;
    transition: all 0.3s ease-in-out !important;
}

.terminos-card:hover {
    background: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(0, 255, 204, 0.15) !important;
    border-left-color: #00ffcc !important; /* Se ilumina en cian al pasar el mouse */
    box-shadow: 0 5px 20px rgba(0, 255, 204, 0.02) !important;
}

/* Títulos internos de sección */
.terminos-section-title {
    font-family: 'Rajdhani', sans-serif !important;
    color: #ffffff !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    margin: 0 0 12px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Texto de los párrafos informativos */
.terminos-card p {
    font-family: 'Exo 2', sans-serif !important;
    color: #94a3b8 !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    margin: 0 0 15px 0 !important;
}

.terminos-card p:last-of-type {
    margin-bottom: 0 !important;
}

/* Resaltado de enlaces en línea seguros */
.terminos-inline-link {
    color: #00ffcc !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    transition: color 0.2s ease !important;
}

.terminos-inline-link:hover {
    color: #1e90ff !important;
    text-shadow: 0 0 6px rgba(30, 144, 255, 0.4) !important;
}

/* 📱 OPTIMIZACIÓN DE ESCALADO AUTOMÁTICO EN CELULARES ANDROID */
@media screen and (max-width: 768px) {
    .terminos-page-wrapper {
        padding-top: 110px !important; /* Espaciado más compacto en celular */
    }
    .terminos-main-title {
        font-size: 1.6rem !important; /* Letra ajustada al ancho del teléfono */
    }
    .terminos-card {
        padding: 18px !important; /* Reduce márgenes internos para ganar espacio */
    }
    .terminos-section-title {
        font-size: 1.15rem !important;
    }
    .terminos-card p {
        font-size: 0.9rem !important; /* Letra fluida de fácil lectura móvil */
    }
}

/* ==========================================================================
   🚀 CORRECCIÓN DE DESPLAZAMIENTO EXCLUSIVA PARA EL TÍTULO (ZONA COMPUTADORA)
   ========================================================================== */

/* Baja el título para que no se sobreponga con el logotipo ni la barra flotante */
.terminos-main-title {
    margin-top: 140px !important; /* Fuerza al título a bajar de forma limpia al área visible */
    font-family: 'Exo 2', sans-serif !important;
    font-weight: 900 !important; /* Fuente ancha y gorda como tu Inicio */
    font-size: 2.6rem !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 15px !important;
    text-align: center !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6) !important;
}

/* Ajuste automático para cuando simulas o entras desde pantallas de teléfonos */
@media screen and (max-width: 991px) {
    .terminos-main-title {
        margin-top: 100px !important; /* Ajuste más corto en móviles para simetría total */
        font-size: 1.8rem !important;
    }
}

/* ==========================================================================
   🔒 CONGELAMIENTO MAESTRO: EVITA EL SALTO DE PÁGINAS POR EL SCROLLBAR
   ========================================================================== */

/* Obliga al navegador a dejar el espacio de la barra de scroll vertical reservado siempre, 
   impediendo que el footer y el menú se desplacen hacia los lados al cambiar de pestaña */
html {
    overflow-y: scroll !important;
}

/* Limpia y asegura que la base del documento mantenga la misma estructura fluida */
body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
}

/* ==========================================================================
   🛸 GRID SÓLIDO SIMÉTRICO EN FILAS DE 3 COLUMNAS (CONTACTO)
   ========================================================================== */

/* Contenedor principal con Flexbox elástico para nivelar las alturas por igual */
.terminos-body-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* Fuerza las filas de 3 bloques en PC */
    gap: 25px !important;
    margin-bottom: 100px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 💻 Regla de balance para computadoras: Hace que las últimas tarjetas rellenen la fila de 3 */
@media (min-width: 992px) {
    .terminos-body-grid .cyber-card-interactive:nth-child(4),
    .terminos-body-grid .cyber-card-interactive:nth-child(5) {
        grid-column: span 1.5 !important;
    }
}

/* 📱 Reajuste automático para tablets (Pantallas de 768px a 991px) */
@media screen and (max-width: 991px) {
    .terminos-body-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    .terminos-body-grid .cyber-card-interactive:nth-child(5) {
        grid-column: span 2 !important;
    }
}

/* 📲 Reajuste para teléfonos móviles Android (Menos de 767px) */
@media screen and (max-width: 767px) {
    .terminos-body-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    .terminos-body-grid .cyber-card-interactive:nth-child(4),
    .terminos-body-grid .cyber-card-interactive:nth-child(5) {
        grid-column: auto !important;
    }
}

/* ==========================================================================
   🚨 CORRECCIÓN MAESTRA DE ALTURA Y DESORDEN DE LAS TARJETAS
   ========================================================================== */

.cyber-card-interactive {
    position: relative !important;
    overflow: hidden !important;
    background: rgba(4, 8, 18, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.03) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
    
    /* 🔥 CORRECCIÓN CLAVE 1: Fuerza a que TODAS las tarjetas midan exactamente el mismo alto */
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Manda los botones y cajas de datos abajo alineados */
    
    padding: 25px !important; /* Ajuste limpio igualitario para todas */
    border-radius: 8px !important;
    box-sizing: border-box !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.4s ease, box-shadow 0.4s ease !important;
}

/* Títulos internos de sección: Eliminamos cualquier margen extraño arriba */
.terminos-section-title {
    font-family: 'Rajdhani', sans-serif !important;
    color: #ffffff !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 15px 0 !important; /* Margen solo hacia abajo */
    padding-top: 0 !important;     /* Borra espacios ocultos en la cabecera interna */
}

/* Párrafos informativos equilibrados */
.cyber-card-interactive p {
    font-family: 'Exo 2', sans-serif !important;
    color: #94a3b8 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin: 0 0 20px 0 !important;
    flex-grow: 1 !important; /* Hace que el texto use el espacio necesario sin empujar */
}

/* 🔥 CORRECCIÓN CLAVE 2: Forzar la línea de escaneo a estar oculta fuera de la caja al inicio */
.cyber-scanner-line {
    position: absolute !important;
    top: -5px !important; 
    left: 0 !important;
    width: 100% !important; 
    height: 3px !important;
    opacity: 0 !important; /* Invisible hasta hacer hover */
    pointer-events: none !important;
    z-index: 10 !important;
}

.c-green-border .cyber-scanner-line  { background: linear-gradient(90deg, transparent, #00ffcc, transparent); }
.c-blue-border .cyber-scanner-line   { background: linear-gradient(90deg, transparent, #1e90ff, transparent); }
.c-purple-border .cyber-scanner-line { background: linear-gradient(90deg, transparent, #8a2be2, transparent); }

/* Activar escaneo fluido al pasar el mouse */
.cyber-card-interactive:hover .cyber-scanner-line {
    opacity: 0.8 !important;
    animation: scanAnimationFinet 2.5s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}

@keyframes scanAnimationFinet {
    0% { top: 0%; }
    50% { top: 100%; }
    100% { top: 0%; }
}

/* ==========================================================================
   🎮 DETALLES ESTÍLICOS E INTERACTIVOS RESTANTES COMPLETOS
   ========================================================================== */

/* Declaración estricta de bordes neón corporativos */
.c-green-border { 
    border-left: 3px solid #00ffcc !important; 
}
.c-blue-border { 
    border-left: 3px solid #1e90ff !important; 
}
.c-purple-border { 
    border-left: 3px solid #8a2be2 !important; 
}

/* Elevación elástica tridimensional al pasar el cursor */
.cyber-card-interactive:hover { 
    transform: translate3d(0, -5px, 0) !important; 
}

/* Proyección de resplandores neón específicos en hover */
.c-green-border:hover { 
    border-color: rgba(0, 255, 204, 0.3) !important; 
    box-shadow: 0 15px 35px rgba(0, 255, 204, 0.08) !important; 
}
.c-blue-border:hover { 
    border-color: rgba(30, 144, 255, 0.3) !important; 
    box-shadow: 0 15px 35px rgba(30, 144, 255, 0.08) !important; 
}
.c-purple-border:hover { 
    border-color: rgba(138, 43, 226, 0.3) !important; 
    box-shadow: 0 15px 35px rgba(138, 43, 226, 0.08) !important; 
}

/* Animación del título principal */
.dynamic-glitch-title { 
    animation: cyanPulseText 3s ease-in-out infinite alternate !important; 
}

@keyframes cyanPulseText { 
    0% { text-shadow: 0 2px 10px rgba(0,0,0,0.6); } 
    100% { text-shadow: 0 0 15px rgba(0, 255, 204, 0.4), 0 0 30px rgba(0, 255, 204, 0.2); } 
}

/* Efecto de rayo láser continuo en la barra divisora */
.animated-beam { 
    position: relative; 
    overflow: hidden; 
    background: rgba(255, 255, 255, 0.05) !important; 
}
.animated-beam::after { 
    content: ''; 
    position: absolute; 
    top: 0; 
    left: -150px; 
    width: 150px; 
    height: 100%; 
    background: linear-gradient(90deg, transparent, #00ffcc, transparent); 
    animation: laserPass 4s linear infinite !important; 
}

@keyframes laserPass { 
    0% { left: -150px; } 
    100% { left: 100%; } 
}

/* Bloques contenedores internos de datos (Consola Cyberpunk) */
.cyber-highlight-box {
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.04) !important;
    padding: 10px 16px !important;
    border-radius: 6px !important;
    margin-top: auto !important; /* Fuerza a las cajas a anclarse simétricamente abajo */
    width: fit-content !important;
}

/* Tipografía de las etiquetas de consola */
.cyber-label { 
    font-family: 'Rajdhani', sans-serif !important; 
    font-size: 0.78rem !important; 
    font-weight: 700 !important; 
    color: #475569 !important; 
    letter-spacing: 1px; 
}

/* Valores numéricos e informativos con fuentes gorderas */
.cyber-value { 
    font-family: 'Exo 2', sans-serif !important; 
    font-size: 1.05rem !important; 
    font-weight: 800 !important; 
}

/* Variaciones de iluminación interna para los datos */
.txt-blue { 
    color: #1e90ff !important; 
    text-shadow: 0 0 8px rgba(30, 144, 255, 0.3); 
}
.txt-purple { 
    color: #8a2be2 !important; 
    text-shadow: 0 0 8px rgba(138, 43, 226, 0.3); 
}

/* Enlaces integrados en línea */
.cyber-link-glow { 
    font-size: 1.05rem !important; 
    text-shadow: 0 0 8px rgba(0, 255, 204, 0.4); 
    text-decoration: none !important; 
}

/* Cápsula / Badge para redes sociales */
.cyber-link-badge { 
    display: inline-flex !important; 
    align-items: center !important; 
    gap: 8px; 
    background: rgba(30, 144, 255, 0.03) !important; 
    border: 1px solid rgba(30, 144, 255, 0.1) !important; 
    padding: 8px 16px !important; 
    border-radius: 4px !important; 
    font-family: 'Rajdhani', sans-serif !important; 
    font-weight: 700 !important; 
    font-size: 0.9rem !important; 
    letter-spacing: 0.5px; 
    text-decoration: none !important; 
    color: #1e90ff !important; 
    transition: all 0.3s ease !important; 
    margin-top: auto !important; /* Mantiene la alineación en la base de la fila */
}

.cyber-link-badge:hover { 
    background: #1e90ff !important; 
    color: #ffffff !important; 
    box-shadow: 0 0 10px #1e90ff !important; 
}

/* Pulso interactivo exclusivo para el botón de Cobertura de WhatsApp */
.pulse-btn-cyber:hover { 
    animation: buttonPulseCyber 1s ease-in-out infinite alternate !important; 
}

@keyframes buttonPulseCyber { 
    0% { transform: scale(1); } 
    100% { transform: scale(1.03); box-shadow: 0 0 15px #00ffcc !important; } 
}

/* ==========================================================================
   🛸 CONFIGURACIÓN MAESTRA DE 5 COLUMNAS EXPANDIDAS (CONTACTO)
   ========================================================================== */

/* 1. LIBERACIÓN DEL CONTENEDOR MADRE: Rompe el bloqueo de 950px en la página de contacto */
main.terminos-page-wrapper,
.terminos-page-wrapper {
    width: 95% !important;
    max-width: 1400px !important; /* Estira el marco de la web para dar espacio */
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* 2. GRID HORIZONTAL: Abre pasillos limpios de 20px entre cada tarjeta */
.terminos-body-grid,
main.terminos-page-wrapper div.terminos-body-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important; /* Fuerza las 5 columnas exactas por fila */
    gap: 20px !important; /* Espacio real y aire para que no se toquen los bordes neón */
    margin-top: 40px !important;
    margin-bottom: 100px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 3. COMPACTACIÓN DE LAS TARJETAS: Equilibra el espacio interno */
.terminos-body-grid .terminos-card,
main.terminos-page-wrapper div.terminos-body-grid section.terminos-card {
    padding: 20px 14px !important; /* Reduce los márgenes laterales internos */
    height: 100% !important;
    min-width: 0 !important; /* Permite que la tarjeta se encoja de forma elástica en PC */
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Alinea los datos al fondo */
    box-sizing: border-box !important;
}

/* 4. REDUCCIÓN TIPOGRÁFICA: Evita que los títulos largos colisionen */
.terminos-body-grid .terminos-card .terminos-section-title,
main.terminos-page-wrapper div.terminos-body-grid section.terminos-card h2.terminos-section-title {
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 0.95rem !important; /* Tamaño milimétrico para que el texto respire */
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* 5. PÁRRAFOS ADAPTADOS AL ANCHO DE COLUMNA */
.terminos-body-grid .terminos-card p,
main.terminos-page-wrapper div.terminos-body-grid section.terminos-card p {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 0.82rem !important; 
    line-height: 1.5 !important;
    margin: 0 0 20px 0 !important;
}

/* 6. REDUCCIÓN DE LAS CAJAS DE DATOS DE LA CONSOLA INFERIOR */
.terminos-body-grid .terminos-card .cyber-highlight-box,
main.terminos-page-wrapper div.terminos-body-grid section.terminos-card .cyber-highlight-box {
    padding: 8px 10px !important;
    gap: 5px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: space-between !important;
    margin-top: auto !important;
}

.terminos-body-grid .terminos-card .cyber-label { font-size: 0.65rem !important; }
.terminos-body-grid .terminos-card .cyber-value { font-size: 0.8rem !important; }

/* Mini-badges y botones adaptados a las 5 columnas */
.terminos-body-grid .terminos-card .cyber-link-badge { padding: 6px 10px !important; font-size: 0.75rem !important; width: 100% !important; justify-content: center !important; }
.terminos-body-grid .terminos-card .btn-glow { font-size: 0.75rem !important; padding: 6px 12px !important; width: 100% !important; text-align: center !important; }

/* Anulación de spans antiguos en computadoras */
@media (min-width: 1200px) {
    main.terminos-page-wrapper div.terminos-body-grid section.terminos-card {
        grid-column: auto !important;
    }
}

/* ==========================================================================
   📱 ADAPTACIÓN RESPONSIVA EN CASCADA AUTOMÁTICA
   ========================================================================== */
@media screen and (max-width: 1250px) {
    main.terminos-page-wrapper div.terminos-body-grid { 
        grid-template-columns: repeat(3, 1fr) !important; 
        gap: 20px !important; 
    }
    main.terminos-page-wrapper div.terminos-body-grid section.terminos-card { 
        padding: 25px !important; 
    }
    main.terminos-page-wrapper div.terminos-body-grid section.terminos-card h2.terminos-section-title { 
        font-size: 1.3rem !important; 
    }
    main.terminos-page-wrapper div.terminos-body-grid section.terminos-card p { 
        font-size: 0.95rem !important; 
    }
}
@media screen and (max-width: 991px) {
    main.terminos-page-wrapper div.terminos-body-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media screen and (max-width: 767px) {
    main.terminos-page-wrapper div.terminos-body-grid { grid-template-columns: 1fr !important; gap: 15px !important; }
}

/* ==========================================================================
   🛸 CONTROLES INTERACTIVOS Y ANIMACIONES MAESTRAS DE LAS TARJETAS (CARGA GPU)
   ========================================================================== */

/* 1. LÍNEA DE ESCANEO DIGITAL: Pasa verticalmente al poner el puntero */
.cyber-scanner-line,
main.terminos-page-wrapper div.terminos-body-grid section.terminos-card .cyber-scanner-line {
    position: absolute !important;
    top: -100% !important; 
    left: 0 !important;
    width: 100% !important; 
    height: 5px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 10 !important;
    transition: opacity 0.3s ease !important;
}

/* Colores degradados específicos para el láser de escaneo */
.c-green-border .cyber-scanner-line  { background: linear-gradient(90deg, transparent, #00ffcc, transparent) !important; }
.c-blue-border .cyber-scanner-line   { background: linear-gradient(90deg, transparent, #1e90ff, transparent) !important; }
.c-purple-border .cyber-scanner-line { background: linear-gradient(90deg, transparent, #8a2be2, transparent) !important; }

/* Dispara el movimiento continuo del láser al pasar el mouse por encima de la tarjeta */
.terminos-card:hover .cyber-scanner-line {
    opacity: 0.7 !important;
    animation: scanAnimationFinet 2.2s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}

@keyframes scanAnimationFinet {
    0% { top: -10px; }
    100% { top: 110%; }
}

/* 2. REACCIONES HOVER: Elevación elástica y encendido de resplandores neón */
.terminos-card:hover {
    transform: translate3d(0, -5px, 0) !important;
}
.c-green-border:hover  { border-color: rgba(0, 255, 204, 0.3) !important; box-shadow: 0 15px 35px rgba(0, 255, 204, 0.08) !important; }
.c-blue-border:hover   { border-color: rgba(30, 144, 255, 0.3) !important; box-shadow: 0 15px 35px rgba(30, 144, 255, 0.08) !important; }
.c-purple-border:hover { border-color: rgba(138, 43, 226, 0.3) !important; box-shadow: 0 15px 35px rgba(138, 43, 226, 0.08) !important; }

/* 3. ILUMINACIÓN INTERNA: Tonos de consola para los datos del Call Center y Disponibilidad */
.txt-blue { 
    color: #1e90ff !important; 
    text-shadow: 0 0 8px rgba(30, 144, 255, 0.3) !important; 
}
.txt-purple { 
    color: #8a2be2 !important; 
    text-shadow: 0 0 8px rgba(138, 43, 226, 0.3) !important; 
}
.cyber-link-glow { 
    text-shadow: 0 0 8px rgba(0, 255, 204, 0.4) !important; 
    text-decoration: none !important; 
}

/* 4. MICRO-PULSO DE ADRENALINA: Animación exclusiva para tu botón de WhatsApp de Cobertura */
.pulse-btn-cyber:hover {
    animation: buttonPulseCyber 1s ease-in-out infinite alternate !important;
}

@keyframes buttonPulseCyber {
    0% { 
        transform: scale(1); 
    }
    100% { 
        transform: scale(1.03); 
        box-shadow: 0 0 15px #00ffcc !important; 
    }
}

/* ==========================================================================
   INTERFAZ TÁCTICA Y DE INGENIERÍA PREMIUM - FINET
   ========================================================================== */

/* --- Contenedor Global de la Sección --- */
.finet-soluciones-premium,
.finet-services-landing {
    background-color: #020205;
    color: #ffffff;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    padding: 100px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
    position: relative;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}

/* Luz ambiental difuminada detrás de las tarjetas */
.glow-ambient-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(189, 0, 255, 0.08) 0%, rgba(0, 240, 255, 0.03) 50%, transparent 100%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 1;
}

/* --- Títulos Estilo Cyberpunk --- */
.neon-main-title {
    font-size: 2.8rem;
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-align: center;
    z-index: 2;
}

.neon-main-title span {
    color: #00f0ff;
    text-shadow: 0 0 20px rgba(0, 240, 255, 0.6), 0 0 40px rgba(0, 240, 255, 0.2);
}

.neon-main-subtitle {
    color: #717b99;
    font-size: 1.1rem;
    margin-bottom: 60px;
    text-align: center;
    z-index: 2;
}

/* --- Grid de Tarjetas Avanzado (Sección 1) --- */
.extravagant-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    max-width: 1200px;
    width: 100%;
    z-index: 2;
}

.cyber-card {
    position: relative;
    border-radius: 20px;
    padding: 2px;
    background: transparent;
    transition: transform 0.4s cubic-bezier(0.2, 1, 0.2, 1);
}

.card-inner-content {
    background: rgba(8, 8, 18, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 18px;
    padding: 40px 30px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    z-index: 2;
    position: relative;
}

.card-border-glow {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    border-radius: 20px;
    background: linear-gradient(135deg, #14142b 0%, #202040 100%);
    transition: all 0.4s ease;
    z-index: 1;
}

/* ANIMACIÓN: Borde animado infinito tarjeta central */
.card-border-glow.dynamic-motion {
    background: linear-gradient(var(--angle, 135deg), #00f0ff, #bd00ff, #00f0ff);
    animation: rotateGradient 6s linear infinite;
}

@property --angle {
    syntax: '<angle>';
    initial-value: 135deg;
    inherits: false;
}

@keyframes rotateGradient {
    0% { --angle: 0deg; }
    100% { --angle: 360deg; }
}

.cyber-card:hover {
    transform: translateY(-8px) scale(1.02);
}

.cctv-card:hover .card-border-glow,
.accesos-card:hover .card-border-glow {
    background: linear-gradient(135deg, #00f0ff, #bd00ff);
    box-shadow: 0 0 30px rgba(0, 240, 255, 0.25);
}

.levantamiento-card.VIP:hover .card-border-glow {
    box-shadow: 0 0 35px rgba(189, 0, 255, 0.4);
}

.cyber-badge {
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 1px;
}

.cyber-badge.cyan {
    background: rgba(0, 240, 255, 0.1);
    color: #00f0ff;
    border: 1px solid rgba(0, 240, 255, 0.3);
}

.cyber-badge.purple {
    background: rgba(189, 0, 255, 0.15);
    color: #bd00ff;
    border: 1px solid rgba(189, 0, 255, 0.4);
    text-shadow: 0 0 8px rgba(189, 0, 255, 0.6);
}

.cyber-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    background: #0d0d21;
    border: 1px solid #1a1a3a;
    transition: transform 0.3s ease;
}

.cyber-card:hover .cyber-icon-wrapper {
    transform: scale(1.1) rotate(5deg);
}

.cctv-card .cyber-icon-wrapper,
.accesos-card .cyber-icon-wrapper {
    border-color: #00f0ff;
    box-shadow: inset 0 0 10px rgba(0, 240, 255, 0.1);
}

.pulse-neon {
    animation: neonPulse 2s infinite alternate;
}

@keyframes neonPulse {
    0% { box-shadow: 0 0 5px rgba(189, 0, 255, 0.2), inset 0 0 10px rgba(189, 0, 255, 0.2); }
    100% { box-shadow: 0 0 15px rgba(189, 0, 255, 0.5), inset 0 0 15px rgba(189, 0, 255, 0.3); }
}

.cyber-icon { font-size: 1.8rem; }
.cyber-card h3 { font-size: 1.35rem; font-weight: 800; margin-bottom: 25px; color: #ffffff; letter-spacing: 0.5px; }
.cyber-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 15px; }
.cyber-list li { font-size: 0.92rem; color: #b4bccf; line-height: 1.4; display: flex; align-items: flex-start; gap: 12px; transition: color 0.3s ease; }
.cyber-card:hover .cyber-list li { color: #ffffff; }
.neon-check { color: #00f0ff; font-weight: bold; text-shadow: 0 0 8px rgba(0, 240, 255, 0.8); }
.neon-check.vip-check { color: #bd00ff; text-shadow: 0 0 8px rgba(189, 0, 255, 0.8); }


/* --- Panel de Métricas de Datos (Sección 2) --- */
.finet-stats-premium {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 140px; /* 👈 ÚNICO CAMBIO: Empuja la sección hacia abajo para que no choque con el menú */
    position: relative;
    z-index: 2;
}

.stats-cyber-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    width: 100%;
}

.stat-cyber-card {
    background: rgba(6, 6, 15, 0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid #101026;
    border-radius: 14px;
    padding: 35px 25px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.stat-scanner-line {
    position: absolute;
    top: -100%; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.02) 90%, rgba(0,240,255,0.1) 100%);
    pointer-events: none;
    animation: scanAnimation 4s linear infinite;
}

@keyframes scanAnimation {
    0% { top: -100%; }
    100% { top: 100%; }
}

.stat-cyber-card.cyan-glow { border-color: rgba(0, 240, 255, 0.15); }
.stat-cyber-card.purple-glow { border-color: rgba(189, 0, 255, 0.15); }
.stat-cyber-card:hover { transform: translateY(-4px); background: rgba(10, 10, 26, 0.9); }
.stat-cyber-card.cyan-glow:hover { border-color: #00f0ff; box-shadow: 0 0 25px rgba(0, 240, 255, 0.2), inset 0 0 10px rgba(0, 240, 255, 0.1); }
.stat-cyber-card.purple-glow:hover { border-color: #bd00ff; box-shadow: 0 0 25px rgba(189, 0, 255, 0.2), inset 0 0 10px rgba(189, 0, 255, 0.1); }

.stat-number-wrapper { margin-bottom: 15px; }
.stat-cyber-number { font-size: 3rem; font-weight: 900; font-family: 'Segoe UI', Impact, sans-serif; letter-spacing: -1px; transition: all 0.3s ease; }
.cyan-glow .stat-cyber-number { color: #00f0ff; text-shadow: 0 0 15px rgba(0, 240, 255, 0.5); }
.purple-glow .stat-cyber-number { color: #bd00ff; text-shadow: 0 0 15px rgba(189, 0, 255, 0.5); }
.stat-cyber-card:hover .stat-cyber-number { color: #ffffff; text-shadow: 0 0 20px #ffffff, 0 0 40px rgba(255,255,255,0.2); }

.stat-cyber-label { color: #7e87a6; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; margin-bottom: 20px; line-height: 1.4; transition: color 0.3s ease; }
.stat-cyber-card:hover .stat-cyber-label { color: #ffffff; }

.stat-progress-bar { width: 100%; height: 4px; background: #0d0d21; border-radius: 10px; overflow: hidden; position: relative; }
.progress-fill { height: 100%; border-radius: 10px; position: relative; transform-origin: left; animation: loadBar 1.5s cubic-bezier(0.1, 1, 0.1, 1) forwards; }

@keyframes loadBar { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
.cyan-fill { background: linear-gradient(90deg, #0055ff, #00f0ff); box-shadow: 0 0 8px #00f0ff; }
.purple-fill { background: linear-gradient(90deg, #7700ff, #bd00ff); box-shadow: 0 0 8px #bd00ff; }


/* --- Cronología de Proceso de Enlace (Sección 3) --- */
.finet-process-premium {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;    /* 👈 SOLUCIÓN: Centra todo el bloque en la pantalla */
    text-align: center; /* 👈 SOLUCIÓN: Centra el título H3 automáticamente */
    background: rgba(6, 6, 15, 0.4);
    border: 1px solid #101026;
    border-radius: 20px;
    padding: 60px 40px;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
}


.process-cyber-title { font-size: 1.8rem; letter-spacing: 2px; color: #ffffff; margin-bottom: 70px; text-align: center; font-weight: 800; text-transform: uppercase; }
.process-cyber-title span { color: #00f0ff; text-shadow: 0 0 15px rgba(0, 240, 255, 0.5); }

.process-cyber-timeline { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; position: relative; width: 100%; }
.timeline-laser-line { position: absolute; top: 35px; left: 5%; width: 90%; height: 2px; background: rgba(32, 32, 64, 0.4); z-index: 1; overflow: hidden; }

.laser-pulse {
    width: 150px; height: 100%;
    background: linear-gradient(90deg, transparent, #00f0ff, #bd00ff, transparent);
    position: absolute; top: 0; left: -150px;
    animation: laserDataTravel 4s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}

@keyframes laserDataTravel { 0% { left: -150px; } 100% { left: 100%; } }

.process-cyber-node { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; z-index: 2; }
.node-radar-wrapper { position: relative; width: 70px; height: 70px; display: flex; align-items: center; justify-content: center; margin-bottom: 25px; }
.node-cyber-number { width: 54px; height: 54px; border-radius: 50%; background: #090919; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 900; z-index: 3; transition: all 0.3s ease; }

.cyan-node { border: 2px solid #00f0ff; color: #00f0ff; box-shadow: 0 0 15px rgba(0, 240, 255, 0.3); }
.purple-node { border: 2px solid #bd00ff; color: #bd00ff; box-shadow: 0 0 15px rgba(189, 0, 255, 0.3); }

/* Ondas expansivas de radar perimetral */
.radar-ring {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    border-radius: 50%;
    border: 1px solid rgba(0, 240, 255, 0.4);
    animation: radarWave 2s cubic-bezier(0.1, 0.8, 0.3, 1) infinite;
    pointer-events: none;
    z-index: 1;
}

.radar-ring.purple-ring {
    border-color: rgba(189, 0, 255, 0.4);
}

@keyframes radarWave {
    0% { transform: scale(0.7); opacity: 1; }
    100% { transform: scale(1.3); opacity: 0; }
}

/* --- Bloque de Información del Paso --- */
.node-cyber-content {
    background: rgba(11, 11, 26, 0.4);
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

.node-cyber-content h4 {
    font-size: 1.15rem;
    color: #ffffff;
    margin-bottom: 12px;
    font-weight: 700;
    transition: color 0.3s ease;
}

.node-cyber-content p {
    color: #818ba3;
    font-size: 0.9rem;
    line-height: 1.5;
    transition: color 0.3s ease;
}

/* --- Efectos Interactivos al Pasar el Cursor --- */
.process-cyber-node:hover .node-cyber-number {
    transform: scale(1.1);
    background: #ffffff;
    color: #030308;
    border-color: #ffffff;
    box-shadow: 0 0 20px #ffffff;
}

.process-cyber-node:hover .node-cyber-content {
    background: rgba(16, 16, 35, 0.9);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

.process-cyber-node:hover .node-cyber-content h4 {
    color: #00f0ff;
}

.process-cyber-node:hover .node-cyber-content p {
    color: #ffffff;
}

/* --- Sección Portafolio de Proyectos (Despliegue Táctico) --- */
.finet-portfolio-premium {
    width: 100%;
    max-width: 1200px;
    z-index: 2;
}

.portfolio-cyber-title {
    font-size: 2.2rem;
    text-align: center;
    font-weight: 900;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.portfolio-cyber-title span {
    color: #bd00ff;
    text-shadow: 0 0 20px rgba(189, 0, 255, 0.5);
}

.portfolio-cyber-subtitle {
    text-align: center;
    color: #717b99;
    margin-bottom: 50px;
    font-size: 1.05rem;
}

.portfolio-cyber-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    width: 100%;
}

.portfolio-cyber-card {
    background: rgba(6, 6, 15, 0.85);
    border: 1px solid #141432;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
}

.portfolio-cyber-card.cyan-border:hover {
    border-color: #00f0ff;
    box-shadow: 0 10px 30px rgba(0, 240, 255, 0.15);
}

.portfolio-cyber-card.purple-border:hover {
    border-color: #bd00ff;
    box-shadow: 0 10px 30px rgba(189, 0, 255, 0.15);
}

/* --- Visor Holográfico de Imágenes --- */
.holo-image-container {
    position: relative;
    height: 220px;
    background: #090919;
    overflow: hidden;
}


.portfolio-img-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #434d6e;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    position: relative;
    transition: all 0.4s ease;
}

.grid-lines {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 15px 15px;
    pointer-events: none;
}

/* Línea Láser de Escaneo */
.laser-scanner-horizontal {
    position: absolute;
    left: 0; top: 0; width: 100%; height: 2px;
    z-index: 3;
    pointer-events: none;
    animation: laserScanVertical 3.5s linear infinite;
}

.cyan-border .laser-scanner-horizontal {
    background: linear-gradient(90deg, transparent, #00f0ff, transparent);
    box-shadow: 0 0 8px #00f0ff;
}

.purple-border .laser-scanner-horizontal {
    background: linear-gradient(90deg, transparent, #bd00ff, transparent);
    box-shadow: 0 0 8px #bd00ff;
}

@keyframes laserScanVertical {
    0% { top: 0%; }
    50% { top: 100%; }
    100% { top: 0%; }
}

.corner-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    font-size: 0.65rem;
    font-family: monospace;
    background: rgba(0, 0, 0, 0.7);
    padding: 2px 6px;
    border-radius: 4px;
    z-index: 4;
    border: 1px solid rgba(255,255,255,0.1);
    color: #8c94b5;
}

.portfolio-cyber-card:hover .portfolio-img-placeholder {
    transform: scale(1.05);
    color: #ffffff;
    background: #0d0d26;
}

.portfolio-cyber-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.cyber-tag {
    align-self: flex-start;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 18px;
}

.cyan-tag {
    background: rgba(0, 240, 255, 0.08);
    color: #00f0ff;
    border: 1px solid rgba(0, 240, 255, 0.2);
}

.purple-tag {
    background: rgba(189, 0, 255, 0.1);
    color: #bd00ff;
    border: 1px solid rgba(189, 0, 255, 0.2);
}

.portfolio-cyber-content h4 {
    font-size: 1.25rem;
    color: #ffffff;
    font-weight: 700;
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.portfolio-cyber-content p {
    color: #818ba3;
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0;
}

.portfolio-cyber-card:hover .portfolio-cyber-content h4 { color: #ffffff; }
.portfolio-cyber-card.cyan-border:hover .portfolio-cyber-content h4 { text-shadow: 0 0 10px rgba(0, 240, 255, 0.3); }
.portfolio-cyber-card.purple-border:hover .portfolio-cyber-content h4 { text-shadow: 0 0 10px rgba(189, 0, 255, 0.3); }
.portfolio-cyber-card:hover .portfolio-cyber-content p { color: #cbd5e1; }

/* --- Sección de Preguntas Frecuentes (FAQ Acordeón) --- */
.finet-faq-section {
    width: 100%;
    max-width: 800px;
    z-index: 2;
}

.faq-main-title {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 30px;
    font-weight: 800;
    text-transform: uppercase;
}

.faq-main-title span {
    color: #00f0ff;
    text-shadow: 0 0 10px rgba(0, 240, 255, 0.3);
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-item {
    background: rgba(9, 9, 21, 0.8);
    border: 1px solid #1a1a3a;
    border-radius: 8px;
    overflow: hidden;
}

.faq-question {
    width: 100%;
    background: transparent;
    border: none;
    padding: 20px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-question:hover {
    background: rgba(189, 0, 255, 0.05);
}

.faq-icon {
    font-size: 1.3rem;
    color: #bd00ff;
    transition: transform 0.3s ease;
}

.faq-answer {
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1), padding 0.3s ease;
    background: #06060f;
}

.faq-answer p {
    color: #8c94b5;
    font-size: 0.95rem;
    line-height: 1.5;
    padding-bottom: 20px;
    margin: 0;
}

.faq-item.active .faq-answer {
    max-height: 300px;
    padding: 20px;
    transition: max-height 0.3s cubic-bezier(1, 0, 1, 0), padding 0.3s ease;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
    color: #00f0ff;
}

/* --- Formulario Técnico de Cotización --- */
.cotizacion-wrapper {
    max-width: 900px;
    width: 100%;
    z-index: 2;
}

.cotizacion-container {
    background: #090914;
    border: 1px solid #202040;
    border-top: 4px solid #00f0ff;
    border-radius: 12px;
    padding: 50px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}

.form-header {
    text-align: center;
    margin-bottom: 40px;
}

.form-header h3 {
    font-size: 1.6rem;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-weight: 800;
}

.form-header p {
    color: #8c94b5;
    font-size: 0.95rem;
}

.cotizacion-form {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.form-row {
    display: flex;
    gap: 25px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.form-group label {
    font-size: 0.8rem;
    color: #00f0ff;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
}

.cotizacion-form input,
.cotizacion-form select,
.cotizacion-form textarea {
    background-color: #12122b;
    border: 1px solid #25254d;
    border-radius: 6px;
    padding: 14px 18px;
    color: #ffffff;
    font-size: 0.95rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    width: 100%;
    box-sizing: border-box;
}

.cotizacion-form input:focus,
.cotizacion-form select:focus,
.cotizacion-form textarea:focus {
    outline: none;
    border-color: #bd00ff;
    box-shadow: 0 0 12px rgba(189, 0, 255, 0.3);
    background-color: #161635;
}

.form-footer-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 15px;
    flex-wrap: wrap;
}

.terms-notice {
    font-size: 0.8rem;
    color: #646b8c;
    max-width: 400px;
    line-height: 1.4;
}

.btn-submit-premium {
    background: transparent;
    border: 2px solid #ffffff;
    color: #ffffff;
    padding: 16px 35px;
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 30px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
}

.btn-submit-premium .arrow {
    transition: transform 0.3s ease;
}

/* ==========================================================================
   ESTILOS DE ALTA DISPONIBILIDAD - INGENIERÍA EXCLUSIVA FINET
   ========================================================================== */

/* Rompe las opacidades negras de tu clase wrapper original */
.style-fluid-transparent {
    background: transparent !important;
    background-color: transparent !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Grilla optimizada para las 8 tarjetas en paneles multitarea */
.grid-extravagant-8 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
    padding: 0 40px !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    box-sizing: border-box;
}

/* --- Rediseño de Tarjetas Nativas (100% Cristal Invisible) --- */
.card-premium-glow {
    background: rgba(6, 6, 15, 0.4) !important; /* Capa casi invisible para generar contraste */
    backdrop-filter: blur(4px) !important; /* Deja pasar las animaciones pero las suaviza sutilmente */
    -webkit-backdrop-filter: blur(4px) !important;
    border-radius: 16px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.2, 1, 0.2, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Efectos hover avanzados con inclinación en perspectiva */
.card-premium-glow:hover {
    transform: translateY(-8px) scale(1.02) rotateX(2deg) rotateY(1deg) !important;
}

/* Resplandores reactivos dependientes del color del borde original */
.card-premium-glow.c-blue-border:hover {
    box-shadow: 0 0 25px rgba(0, 240, 255, 0.25), inset 0 0 15px rgba(0, 240, 255, 0.1) !important;
    border-color: #00f0ff !important;
}

.card-premium-glow.c-purple-border:hover {
    box-shadow: 0 0 25px rgba(189, 0, 255, 0.3), inset 0 0 15px rgba(189, 0, 255, 0.1) !important;
    border-color: #bd00ff !important;
}

.card-premium-glow.c-green-border:hover {
    box-shadow: 0 0 25px rgba(0, 255, 100, 0.25), inset 0 0 15px rgba(0, 255, 100, 0.1) !important;
    border-color: #00ff64 !important;
}

/* --- Configuración de Láseres de Escaneo Realistas --- */
.cyber-scanner-line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    z-index: 3;
    pointer-events: none;
    animation: advancedScanVertical 4s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}

.laser-cyan { background: linear-gradient(90deg, transparent, #00f0ff, transparent); box-shadow: 0 0 8px #00f0ff; }
.laser-purple { background: linear-gradient(90deg, transparent, #bd00ff, transparent); box-shadow: 0 0 8px #bd00ff; }
.laser-green { background: linear-gradient(90deg, transparent, #00ff64, transparent); box-shadow: 0 0 8px #00ff64; }

@keyframes advancedScanVertical {
    0% { top: -5%; opacity: 0; }
    5% { opacity: 1; }
    95% { opacity: 1; }
    100% { top: 105%; opacity: 0; }
}

/* --- Decoraciones de Interfaz de Ingeniería (Sci-Fi Widgets) --- */
.card-tech-index {
    position: absolute;
    top: 15px;
    right: 20px;
    font-family: monospace;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.2);
    letter-spacing: 1px;
}

.card-status-indicator {
    margin-top: auto;
    padding-top: 15px;
    font-family: monospace;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.card-status-indicator.online {
    color: rgba(0, 240, 255, 0.4);
}

.card-status-indicator.online::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #00f0ff;
    box-shadow: 0 0 8px #00f0ff;
    display: inline-block;
    animation: techBlink 1.5s ease infinite alternate;
}

@keyframes techBlink {
    0% { opacity: 0.3; }
    100% { opacity: 1; }
}

/* Iluminación de Textos en Hover */
.card-premium-glow:hover .terminos-section-title {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255,255,255,0.4) !important;
}

.card-premium-glow:hover p {
    color: #ffffff !important;
}

/* Adaptación para pantallas de smartphones pequeños */
@media (max-width: 768px) {
    .grid-extravagant-8 {
        gap: 25px !important;
        padding: 0 20px !important;
    }
}


.btn-submit-premium:hover {
    background-color: #ffffff;
    color: #020205;
    box-shadow: 0 0 20px rgba(255,255,255,0.4);
	}

/* --- Sección Soluciones de Cámaras --- */
.finet-cctv-premium {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 240px; /* 👈 SOLUCIÓN: Subimos a 240px para que calce exacto con la referencia */
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 40px 20px;
    box-sizing: border-box;
}

.cctv-cyber-tag {
    color: #00f0ff;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: bold;
    text-transform: uppercase;
}

.cctv-cyber-title {
    font-size: 42px;
    color: #ffffff;
    margin: 20px 0;
    text-transform: uppercase;
    font-weight: 900;
    /* Efecto glitch/brillo similar al de tu imagen */
    text-shadow: 0 0 20px rgba(0, 240, 255, 0.6), 2px 2px 0px #ff00ff;
}

.cctv-cyber-subtitle {
    color: #a0a0b8;
    font-size: 18px;
    max-width: 800px;
    margin: 0 auto 40px auto;
    line-height: 1.6;
}

/* Contenedor de Botones */
.cctv-cyber-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
}

/* Estilo Base de Botones */
.btn-cyber-cctv {
    display: inline-block;
    padding: 15px 35px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 50px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

/* Botón Verde (Acción principal) */
.primary-cctv {
    background: #00e676;
    color: #000000;
    box-shadow: 0 0 15px rgba(0, 230, 118, 0.4);
}

.primary-cctv:hover {
    background: #00c853;
    box-shadow: 0 0 25px rgba(0, 230, 118, 0.7);
}

/* Botón Blanco (Acción secundaria) */
.secondary-cctv {
    background: #ffffff;
    color: #000000;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}

.secondary-cctv:hover {
    background: #e0e0e0;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.5);
}

/* --- Sección Ventajas de Cámaras --- */
.finet-advantages-premium {
    width: 100%;
    max-width: 1200px;
    margin: 100px auto 0 auto; /* Separación simétrica de los otros bloques */
    padding: 60px 20px;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
}

.advantages-cyber-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Divide el espacio de forma asimétrica */
    gap: 50px;
    align-items: center;
}

/* --- Columna de Textos --- */
.advantages-cyber-tag {
    color: #a855f7;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.advantages-cyber-title {
    font-size: 36px;
    color: #ffffff;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.advantages-cyber-title span {
    color: #00f0ff;
    text-shadow: 0 0 15px rgba(0, 240, 255, 0.5);
}

.advantages-cyber-text {
    color: #a0a0b8;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 35px;
}

/* --- Cuadrícula de Viñetas (Grid interno) --- */
.cyber-check-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px; /* 👈 Ajuste: Un poco más de espacio vertical entre módulos */
    margin-bottom: 40px;
}

.check-item {
    font-size: 15px;
    font-weight: 800; /* 👈 Ajuste: Más grosor para que resalte la tipografía */
    color: #ffffff;
    letter-spacing: 1px; /* 👈 Ajuste: Estilo tipo terminal */
    display: flex;
    align-items: center;
    gap: 14px; /* 👈 Ajuste: Espacio balanceado icono-texto */
    padding: 12px 16px; /* 👈 NUEVO: Crea el contenedor del ítem */
    background: rgba(16, 16, 38, 0.3); /* 👈 NUEVO: Fondo oscuro semitransparente */
    border: 1px solid rgba(255, 255, 255, 0.03); /* 👈 NUEVO: Borde sutil */
    border-radius: 6px; /* 👈 NUEVO: Esquinas suavizadas */
    transition: all 0.3s ease; /* 👈 NUEVO: Transición suave para el hover */
}

/* 👈 NUEVO: Efecto al pasar el cursor sobre la viñeta */
.check-item:hover {
    background: rgba(16, 16, 38, 0.7);
    transform: translateX(5px); /* Se desplaza sutilmente hacia la derecha */
}

.full-width-check {
    grid-column: span 2; /* Ocupa las dos columnas en la última fila */
}

/* Icono estilo rayo/láser neón */
.check-icon {
    font-size: 16px;
    display: inline-block;
    animation: lightningPulse 1.5s infinite alternate; /* 👈 NUEVO: El rayo ahora parpadea y vibra con energía */
}

/* 👈 Ajuste: Añadido borde neón lateral e iluminación en hover al texto */
.cyan-glow-text {
    border-left: 3px solid #00f0ff;
}
.cyan-glow-text .check-icon { 
    color: #00f0ff; 
    text-shadow: 0 0 10px #00f0ff, 0 0 20px rgba(0, 240, 255, 0.5); 
}
.cyan-glow-text:hover {
    border-color: #00f0ff;
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.15);
}

/* 👈 Ajuste: Añadido borde neón lateral e iluminación en hover al texto */
.purple-glow-text {
    border-left: 3px solid #a855f7;
}
.purple-glow-text .check-icon { 
    color: #a855f7; 
    text-shadow: 0 0 10px #a855f7, 0 0 20px rgba(168, 85, 247, 0.5); 
    animation-delay: 0.4s; /* Alterna el ritmo con los cian */
}
.purple-glow-text:hover {
    border-color: #a855f7;
    box-shadow: 0 0 15px rgba(168, 85, 247, 0.15);
}

/* 👈 NUEVO: Animación que hace oscilar el brillo y la escala del rayo */
@keyframes lightningPulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
        filter: brightness(1);
    }
    50% {
        opacity: 1;
        filter: brightness(1.4);
    }
    100% {
        transform: scale(1.15);
        opacity: 0.9;
        filter: brightness(1.2);
    }
}

/* --- Botón Descargar --- */
.btn-cyber-download {
    display: inline-block;
    padding: 15px 35px;
    background: #00f0ff;
    color: #000000;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px; /* Estilo más cuadrado/futurista */
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.3);
    transition: all 0.3s ease;
}

.btn-cyber-download:hover {
    background: #ffffff;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.6);
    transform: translateY(-2px);
}

/* --- Columna Derecha: Contenedor Holográfico de Imagen --- */
.media-cyber-frame {
    position: relative;
    border: 1px solid #101026;
    background: rgba(6, 6, 15, 0.6);
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.15); /* Brillo ambiental morado */
    overflow: hidden;
}

.cyber-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    filter: grayscale(20%) brightness(90%); /* Tono cinemático */
}

/* Animación de línea de escáner láser sobre la foto */
.frame-scanner-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #00f0ff, transparent);
    animation: scanImage 3.5s infinite linear;
    z-index: 3;
}

@keyframes scanImage {
    0% { top: 0%; opacity: 0; }
    5% { opacity: 1; }
    95% { opacity: 1; }
    100% { top: 100%; opacity: 0; }
}

/* Adaptación para pantallas de Celulares */
@media (max-width: 768px) {
    .advantages-cyber-grid { grid-template-columns: 1fr; gap: 40px; }
    .cyber-check-list { grid-template-columns: 1fr; }
    .full-width-check { grid-column: span 1; }
}

/* --- Sección de Servicios de Optimización (Contenedor Avanzado) --- */
.finet-services-premium {
    width: 100%;
    max-width: 1200px;
    margin: 100px auto 0 auto;
    padding: 60px 40px;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    text-align: center;
    background: radial-gradient(circle at top, rgba(16, 16, 38, 0.25) 0%, rgba(6, 6, 15, 0) 70%);
}

.services-cyber-tag {
    color: #a855f7;
    font-size: 13px;
    letter-spacing: 3px;
    font-weight: bold;
    display: block;
    margin-bottom: 15px;
}

.services-cyber-title {
    font-size: 38px;
    color: #ffffff;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.services-cyber-title span {
    color: #00f0ff;
    text-shadow: 0 0 20px rgba(0, 240, 255, 0.6);
}

.services-cyber-text {
    color: #e2e8f0;          /* Un gris más claro para que resalte en el fondo negro */
    font-size: 20px;          /* Texto más grande y fácil de leer */
    line-height: 1.7;
    max-width: 800px;
    margin: 0 auto 55px auto; /* Mantenemos tu margen actual */
    text-align: center;       /* Asegura que el texto esté centrado */
}

/* --- Grilla Táctica Orientada a Tarjetas --- */
.services-cyber-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Estructura simétrica de 3 columnas */
    justify-content: center;
    gap: 30px; /* Mayor separación entre planes */
    width: 100%;
}

/* --- REESTRUCTURACIÓN DE LA TARJETA DE SERVICIO --- */
.service-item {
    display: flex;
    flex-direction: column;
    background: #090919;      /* Fondo idéntico al portafolio */
    border-radius: 12px;
    overflow: hidden;         /* Recorta la foto en las esquinas superiores */
    transition: all 0.4s ease;
    position: relative;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* --- NUEVAS CLASES: Rutas de imágenes corregidas saliendo de la carpeta CSS --- */
.bg-cableado { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/cableado.jpg'); }
.bg-reactivacion { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/reactivacion.jpg'); }
.bg-diagnostico { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/diagnostico.jpg'); }
.bg-limpieza { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/limpieza.jpg'); }
.bg-citofonia { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/citofonia.jpg'); }
.bg-portones { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/portones.jpg'); }
.bg-cercos { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/cercos.jpg'); }
.bg-incendio { background-image: linear-gradient(135deg, rgba(16, 16, 38, 0.8), rgba(8, 8, 20, 0.95)), url('../img/incendio.jpg'); }


.service-item:hover .service-cyber-img {
    transform: scale(1.08); 
}

/* --- 2. CONFIGURACIÓN EXCLUSIVA PARA TU PORTAFOLIO HOLOGRÁFICO (ABAJO) --- */
.holo-image-container {
    width: 100%;
    height: 220px;          /* 👈 Controla la altura fija del cuadro del portafolio */
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.portfolio-cyber-img {
    width: 100%;
    height: 100%;
    object-fit: cover;      /* 👈 Hace que la foto llene el espacio sin estirarse */
    display: block;
    transition: all 0.4s ease;
}

/* Efecto hover específico para el portafolio */
.portfolio-cyber-card:hover .portfolio-cyber-img {
    transform: scale(1.08);
}

/* --- FORZAR TEXTO DE DESCRIPCIÓN EN LAS TARJETA (ESTADO NORMAL) --- */
.services-cyber-grid .service-item .service-card-desc {
    font-size: 18px !important;    /* 👈 MODIFICADO: Subió de 16px a 18px para que sea más grande */
    line-height: 1.6 !important;
    color: #cbd5e1 !important;     
    text-align: center !important;
}

/* --- EFECTO HOVER PARA LA DESCRIPCIÓN (AL PASAR EL CURSOR) --- */
.services-cyber-grid .service-item:hover .service-card-desc {
    font-size: 18px !important;    /* 👈 MODIFICADO: Mantiene los 18px grandes durante el hover */
    color: #ffffff !important;     
    text-shadow: 0 0 1px rgba(255,255,255,0.3); 
}

/* ELEGANCIA INTERACTIVA PREMIUM: Al pasar el mouse, el fondo oscuro se disuelve suavemente 
   para revelar más detalles de la foto corporativa de fondo */
.service-item:hover {
    background-color: rgba(16, 16, 38, 0.35); /* Baja la opacidad del overlay */
}

.service-item:hover {
    transform: translateY(-8px);
}

/* Micro LED de Actividad */
.service-led {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    animation: ledServicePulse 1.8s infinite ease-in-out;
}

/* --- ESTILOS ADICIONALES PARA BOTÓN MINI EN EL PORTAFOLIO --- */
.cyber-btn-mini {
    display: inline-block;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.portfolio-cyber-card:hover .cyber-btn-mini {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.6);
    transform: scale(1.05);
}

/* --- ANIMACIONES PARA LOS EMOJIS CYBERPUNK --- */
.service-icon {
    display: inline-block;
    transition: all 0.3s ease;
}

.portfolio-cyber-card:hover .service-icon {
    transform: scale(1.3);
    filter: drop-shadow(0 0 5px currentColor);
}

/* --- 1. CONFIGURACIÓN BASE DEL ICONO Y ELEMENTOS --- */
.service-icon {
    display: inline-block;
    font-size: 28px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.1));
    position: relative;
}

/* Transición suave para los títulos que ya están en tu HTML */
.service-card-header h4 {
    transition: all 0.3s ease;
}

/* --- 2. ANIMACIONES AVANZADAS CON GLITCH Y NEÓN (HOVER) --- */

/* 1. Enchufe (Cableado): Pulso Neón Cian + Glitch */
.service-item:nth-child(1):hover .service-icon {
    animation: cyber-glitch 0.3s linear infinite;
    filter: drop-shadow(0 0 10px #00f0ff) drop-shadow(0 0 20px #00f0ff);
}

/* 2. Pantalla (Cámaras): Rotación y Brillo Morado */
.service-item:nth-child(2):hover .service-icon {
    transform: rotate(12deg) scale(1.3);
    filter: drop-shadow(0 0 10px #bd00ff) drop-shadow(0 0 20px #bd00ff);
}

/* 3. Lupa (Diagnóstico): Escaneo Azul Profundo */
.service-item:nth-child(3):hover .service-icon {
    transform: scale(1.35) translateY(-5px);
    filter: drop-shadow(0 0 10px #0072ff) drop-shadow(0 0 20px #0072ff);
}

/* 4. Jabón (Limpieza): Balanceo Líquido Verde */
.service-item:nth-child(4):hover .service-icon {
    animation: cyber-shake-premium 0.5s ease infinite alternate;
    filter: drop-shadow(0 0 10px #00ffaa) drop-shadow(0 0 20px #00ffaa);
}

/* 5. Teléfono (Citofonía): Vibración Sísmica Roja */
.service-item:nth-child(5):hover .service-icon {
    animation: cyber-ring-premium 0.1s ease infinite;
    filter: drop-shadow(0 0 10px #ff0055) drop-shadow(0 0 20px #ff0055);
}

/* 6. Puerta (Portones): Desplazamiento Magnético Naranja */
.service-item:nth-child(6):hover .service-icon {
    transform: translateX(8px) scale(1.25);
    filter: drop-shadow(0 0 10px #ff9900) drop-shadow(0 0 20px #ff9900);
}

/* 7. Rayo (Cercos): Brinco de Alta Tensión Amarillo */
.service-item:nth-child(7):hover .service-icon {
    animation: cyber-bounce-premium 0.3s ease infinite alternate;
    filter: drop-shadow(0 0 12px #ffea00) drop-shadow(0 0 25px #ffea00);
}

/* 8. Fuego (Incendio): Parpadeo Crítico */
.service-item:nth-child(8):hover .service-icon {
    animation: cyber-flicker-premium 0.15s ease infinite alternate;
    filter: drop-shadow(0 0 12px #ff3c00) drop-shadow(0 0 30px #ff0000);
}

/* --- 3. EFECTOS COMPLEMENTARIOS EN LA TARJETA (HOVER) --- */

/* Iluminación e impacto en el título al pasar el mouse */
.service-item:hover .service-card-header h4 {
    color: #ffffff !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
    transform: translateY(-2px);
}

/* Zoom suave controlado a la imagen (Usa la clase que ya tienes) */
.service-item:hover .service-cyber-img {
    transform: scale(1.08); /* Hace que la foto avance un toque de forma elegante */
}

/* --- 4. KEYFRAMES DE ANIMACIÓN FUTURISTA --- */
@keyframes cyber-glitch {
    0% { transform: scale(1.3) translate(0); skewX(0deg); }
    20% { transform: scale(1.3) translate(-2px, 1px); skewX(-5deg); opacity: 0.8; }
    40% { transform: scale(1.35) translate(1px, -1px); skewX(5deg); }
    60% { transform: scale(1.3) translate(-1px, -1px); opacity: 0.9; }
    80% { transform: scale(1.3) translate(2px, 1px); skewX(0deg); }
    100% { transform: scale(1.3) translate(0); }
}
@keyframes cyber-shake-premium {
    0% { transform: rotate(-15deg) scale(1.3); }
    100% { transform: rotate(15deg) scale(1.3); }
}
@keyframes cyber-ring-premium {
    0% { transform: translate(1px, 1px) rotate(0deg) scale(1.25); }
    50% { transform: translate(-1px, -1px) rotate(-5deg) scale(1.25); }
    100% { transform: translate(1px, -1px) rotate(5deg) scale(1.25); }
}
@keyframes cyber-bounce-premium {
    0% { transform: translateY(0) scale(1.25); }
    100% { transform: translateY(-8px) scale(1.25); }
}
@keyframes cyber-flicker-premium {
    0% { transform: scale(1.25) opacity(0.7); }
    100% { transform: scale(1.4) opacity(1); }
}

/* --- CONTENEDOR Y DISEÑO DEL BOTÓN CTA MINI --- */
.service-card-cta {
    margin-top: auto;          /* 👈 CRÍTICO: Empuja el botón siempre al fondo de la tarjeta para alinearlos todos perfectamente */
    padding: 15px 0 10px 0;
    text-align: center;
}

.cyber-btn-mini {
    display: inline-block;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Efecto al pasar el cursor por encima de la tarjeta completa o del botón */
.service-item:hover .cyber-btn-mini,
.cyber-btn-mini:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.6);
    transform: scale(1.05);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
}


/* Contenedor del Icono Estilo Hexágono/Caja Digital */
.service-icon-wrapper {
    font-size: 28px;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}

.service-item:hover .service-icon-wrapper {
    transform: scale(1.1) rotate(5deg);
}

.service-status-tag {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 8px;
}

.service-info h4 {
    font-size: 19px;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.3;
}

/* --- Línea Divisoria Neón Estilo Ficha --- */
.service-divider-line {
    width: 40px;
    height: 2px;
    margin: 20px 0;
    transition: width 0.3s ease;
}

.service-item:hover .service-divider-line {
    width: 80px;
}

/* Cuerpo de Texto */
.service-item p {
    font-size: 14px;
    color: #a0a0b8;
    margin: 0 0 25px 0;
    line-height: 1.6;
    flex-grow: 1; /* Empuja el footer hacia el fondo de la tarjeta */
}

/* --- Footer de la Tarjeta e Interacción del Botón --- */
.service-card-footer {
    width: 100%;
}

.service-btn-action {
    display: block;
    width: 100%;
    padding: 12px 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #ffffff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

/* --- Identidades Neón Aplicadas a los Planes --- */

/* Plan Variante CIAN */
.cyan-glow-border {
    border-top: 3px solid #00f0ff; /* 👈 Cambio: El neón lidera desde arriba */
}
.cyan-glow-border .service-led { background: #00f0ff; box-shadow: 0 0 10px #00f0ff; }
.cyan-glow-border .service-status-tag { color: #00f0ff; }
.cyan-glow-border .service-divider-line { background: #00f0ff; box-shadow: 0 0 8px #00f0ff; }

.cyan-glow-border:hover {
    border-color: #00f0ff;
    box-shadow: 0 0 30px rgba(0, 240, 255, 0.15);
}
.cyan-glow-border:hover .service-btn-action {
    background: #00f0ff;
    color: #000000;
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.4);
    border-color: #00f0ff;
}

/* Plan Variante MORADA */
.purple-glow-border {
    border-top: 3px solid #a855f7; /* 👈 Cambio: El neón lidera desde arriba */
}
.purple-glow-border .service-led { background: #a855f7; box-shadow: 0 0 10px #a855f7; animation-delay: 0.5s; }
.purple-glow-border .service-status-tag { color: #a855f7; }
.purple-glow-border .service-divider-line { background: #a855f7; box-shadow: 0 0 8px #a855f7; }

.purple-glow-border:hover {
    border-color: #a855f7;
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.15);
}
.purple-glow-border:hover .service-btn-action {
    background: #a855f7;
    color: #ffffff;
    box-shadow: 0 0 15px rgba(168, 85, 247, 0.4);
    border-color: #a855f7;
}

/* --- Animaciones Base --- */
@keyframes ledServicePulse {
    0%, 100% { opacity: 0.3; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.2); }
}

/* --- Adaptación Responsiva --- */
@media (max-width: 992px) {
    .services-cyber-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 650px) {
    .services-cyber-grid { grid-template-columns: 1fr; }
    .finet-services-premium { padding: 40px 20px; }
}


/* --- ANIMACIÓN 1: Elevación e Inyección de Matriz de Luz --- */
.service-item:hover {
    transform: translateY(-12px) scale(1.02);
}

/* Efecto de rejilla de energía de fondo en hover */
.service-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0) 100%),
                linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0) 100%);
    background-size: 10px 10px; /* Rejilla digital */
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
    pointer-events: none;
}
.service-item:hover::before {
    opacity: 1;
}

/* Asegurar que el contenido flote por encima del fondo animado */
.service-card-header, .service-divider-line, .service-item p, .service-card-footer {
    position: relative;
    z-index: 2;
}

/* Micro LED de Actividad */
.service-led {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    animation: ledServicePulse 1.8s infinite ease-in-out;
    z-index: 3;
}

/* --- Cabecera de la Tarjeta --- */
.service-card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* Contenedor del Icono con Animación Flotante Estilo Holograma */
.service-icon-wrapper {
    font-size: 28px;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.service-item:hover .service-icon-wrapper {
    transform: translateY(-6px) scale(1.15) rotate(10deg);
    background: rgba(255, 255, 255, 0.07);
}

.service-status-tag {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}
.service-item:hover .service-status-tag {
    animation: textFlickerGlitch 0.4s steps(2) infinite; /* Parpadeo tipo monitor dañado */
}

.service-info h4 {
    font-size: 19px;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.3;
    transition: color 0.3s ease;
}

/* --- ANIMACIÓN 2: Línea Divisoria Láser con Carga Dinámica --- */
.service-divider-line {
    width: 40px;
    height: 2px;
    margin: 20px 0;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
/* Se expande por completo simulando una carga del sistema */
.service-item:hover .service-divider-line {
    width: 100%;
}

/* Cuerpo de Texto */
.service-item p {
    font-size: 13.5px;
    color: #a0a0b8;
    margin: 0 0 25px 0;
    line-height: 1.6;
    flex-grow: 1;
    text-align: justify;
    transition: color 0.3s ease;
}
.service-item:hover p {
    color: #ffffff; /* Texto más brillante y legible al enfocar la tarjeta */
}

/* --- Footer de la Tarjeta --- */
.service-card-footer {
    width: 100%;
}

.service-btn-action {
    display: block;
    width: 100%;
    padding: 13px 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #ffffff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    text-transform: uppercase;
    transition: all 0.4s ease;
}

/* --- IDENTIDADES NEÓN Y MARCOS LÁSER --- */

/* Variante CIAN (Líneas de energía estables) */
.cyan-glow-border {
    border-top: 3px solid rgba(0, 240, 255, 0.4);
}
.cyan-glow-border .service-led { background: #00f0ff; box-shadow: 0 0 10px #00f0ff; }
.cyan-glow-border .service-status-tag { color: #00f0ff; }
.cyan-glow-border .service-divider-line { background: #00f0ff; box-shadow: 0 0 8px #00f0ff; }

/* ANIMACIÓN 3 & 4: Activación Cuántica en Hover */
.cyan-glow-border:hover {
    border-top-color: #00f0ff;
    border-bottom: 1px solid rgba(0, 240, 255, 0.3);
    box-shadow: 0 10px 35px rgba(0, 240, 255, 0.18);
}
.cyan-glow-border:hover .service-icon-wrapper {
    border-color: #00f0ff;
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.3);
}
.cyan-glow-border:hover h4 {
    color: #00f0ff;
    text-shadow: 0 0 10px rgba(0, 240, 255, 0.5);
}
.cyan-glow-border:hover .service-btn-action {
    background: #00f0ff;
    color: #000000;
    border-color: #00f0ff;
    animation: quantumPulseCyan 1.2s infinite alternate; /* Botón vibrante */
}

/* Variante MORADA */
.purple-glow-border {
    border-top: 3px solid rgba(168, 85, 247, 0.4);
}
.purple-glow-border .service-led { background: #a855f7; box-shadow: 0 0 10px #a855f7; animation-delay: 0.5s; }
.purple-glow-border .service-status-tag { color: #a855f7; }
.purple-glow-border .service-divider-line { background: #a855f7; box-shadow: 0 0 8px #a855f7; }

.purple-glow-border:hover {
    border-top-color: #a855f7;
    border-bottom: 1px solid rgba(168, 85, 247, 0.3);
    box-shadow: 0 10px 35px rgba(168, 85, 247, 0.18);
}
.purple-glow-border:hover .service-icon-wrapper {
    border-color: #a855f7;
    box-shadow: 0 0 15px rgba(168, 85, 247, 0.3);
}
.purple-glow-border:hover h4 {
    color: #a855f7;
    text-shadow: 0 0 10px rgba(168, 85, 247, 0.5);
}
.purple-glow-border:hover .service-btn-action {
    background: #a855f7;
    color: #ffffff;
    border-color: #a855f7;
    animation: quantumPulsePurple 1.2s infinite alternate; /* Botón vibrante */
}

/* ==========================================
   NÚCLEO DE ANIMACIONES (KEYFRAMES)
   ========================================== */

/* Latido del LED indicador */
@keyframes ledServicePulse {
    0%, 100% { opacity: 0.4; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.2); }
}

/* Glitch de texto estilo consola de comandos en carga */
@keyframes textFlickerGlitch {
    0% { opacity: 1; filter: blur(0px); }
    50% { opacity: 0.6; filter: blur(0.5px); text-shadow: 2px 0 #ff00ff, -2px 0 #00f0ff; }
    100% { opacity: 1; filter: blur(0px); }
}

/* Sobrecarga cuántica de energía neón (Botón Cian) */
@keyframes quantumPulseCyan {
    0% { box-shadow: 0 0 10px rgba(0, 240, 255, 0.4), inset 0 0 0px rgba(255,255,255,0); }
    100% { box-shadow: 0 0 25px #00f0ff, inset 0 0 8px rgba(255,255,255,0.6); transform: scale(1.01); }
}

/* Sobrecarga cuántica de energía neón (Botón Morado) */
@keyframes quantumPulsePurple {
    0% { box-shadow: 0 0 10px rgba(168, 85, 247, 0.4), inset 0 0 0px rgba(255,255,255,0); }
    100% { box-shadow: 0 0 25px #a855f7, inset 0 0 8px rgba(255,255,255,0.6); transform: scale(1.01); }
}

/* ==========================================================================
   🛸 NUESTRA EXPERIENCIA: TIPOGRAFÍA KINÉTICA DE ALTA GAMA (SIN CAJAS)
   ========================================================================== */

/* Contenedor principal alineado en una fila fluida limpia */
.fnet-stats-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 30px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* Bloque interactivo sin bordes ni fondos */
.fnet-stat-item {
    text-align: center !important;
    cursor: pointer !important;
    padding: 15px 10px !important;
    background: transparent !important;
    border: none !important;
    position: relative !important;
}

/* El número gigante con brillo de marca inicial */
.fnet-stat-item .fnet-big-num {
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 3.6rem !important;
    font-weight: 800 !important;
    color: #00ffcc !important;
    line-height: 1 !important;
    display: inline-block !important;
    text-shadow: 0 0 15px rgba(0, 255, 204, 0.25) !important;
    /* Curva de aceleración ultra suave para el movimiento */
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* Línea láser minimalista debajo del número */
.fnet-stat-item .fnet-laser-line {
    display: block !important;
    width: 30px;
    height: 2px;
    background: rgba(0, 255, 204, 0.3);
    margin: 12px auto !important;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
    border-radius: 2px !important;
}

/* El texto descriptivo animado */
.fnet-stat-item .fnet-animated-desc {
    color: #888888 !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0px !important;
    margin: 0 !important;
    display: block !important;
    /* Sincronización exacta con el movimiento del número */
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* 🔥 EFECTO HOVER CINEMATOGRÁFICO COMBINADO */

/* 1. El número se eleva y enciende */
.fnet-stat-item:hover .fnet-big-num {
    color: #ffffff !important;
    transform: translateY(-6px) scale(1.03) !important;
    text-shadow: 0 0 30px rgba(0, 255, 204, 0.8), 0 0 10px rgba(0, 255, 204, 0.4) !important;
}

/* 2. La línea central se expande y cambia a blanco nítido */
.fnet-stat-item:hover .fnet-laser-line {
    width: 80px;
    background: #ffffff !important;
    box-shadow: 0 0 12px rgba(0, 255, 204, 0.6) !important;
}

/* 3. La descripción se desplaza hacia abajo y expande el espacio entre sus letras */
.fnet-stat-item:hover .fnet-animated-desc {
    color: #ffffff !important;
    transform: translateY(4px) !important;
    letter-spacing: 1px !important; /* Animación kinética en el texto */
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.2) !important;
}

/* ==========================================
   ESTRUCTURA GENERAL DE LA SECCIÓN
   ========================================== */
.stack-section {
  background-color: transparent; /* 👈 Totalmente transparente */
  color: #ffffff;
  padding: 80px 20px;
  font-family: sans-serif;
  text-align: center;
}

.stack-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* ==========================================
   ESTILOS DEL BLOQUE SUPERIOR
   ========================================== */
.stack-subtitle {
  color: #00ffcc; /* Tu cian neón */
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.stack-title {
  font-size: 34px;
  font-weight: 700;
  max-width: 750px;
  margin: 0 auto 20px auto;
  line-height: 1.3;
}

.stack-description {
  color: #8fa0b5;
  font-size: 15px;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto 50px auto;
}

/* ==========================================
   ESTRUCTURA GENERAL DE LA SECCIÓN
   ========================================== */
.stack-section {
  background-color: transparent; /* 👈 Totalmente transparente */
  color: #ffffff;
  padding: 80px 20px;
  font-family: sans-serif;
  text-align: center;
}

.stack-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* ==========================================
   ESTILOS DEL BLOQUE SUPERIOR
   ========================================== */
.stack-subtitle {
  color: #00ffcc; /* Tu cian neón */
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.stack-title {
  font-size: 34px;
  font-weight: 700;
  max-width: 750px;
  margin: 0 auto 20px auto;
  line-height: 1.3;
}

.stack-description {
  color: #8fa0b5;
  font-size: 15px;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto 50px auto;
}

/* ==========================================
   CARRUSEL INFINITO DE LOGOS
   ========================================== */
.logo-slider-container {
  overflow: hidden;
  padding: 30px 0;
  white-space: nowrap;
  position: relative;
  width: 100%;
  margin-bottom: 50px;
  background-color: transparent; /* 👈 Transparente para que no tape tu web */
}

/* Desvanecimiento difuminado en los bordes (ahora usa transparencias puras) */
.logo-slider-container::before,
.logo-slider-container::after {
  content: "";
  position: absolute;
  top: 0;
  width: 180px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.logo-slider-container::before { left: 0; background: linear-gradient(to right, rgba(0,0,0,0.4), transparent); }
.logo-slider-container::after { right: 0; background: linear-gradient(to left, rgba(0,0,0,0.4), transparent); }

.logo-slider-track {
  display: inline-flex;
  gap: 24px;
  animation: scrollInfinito 35s linear infinite; 
}

.logo-slider-track:hover {
  animation-play-state: paused;
}

/* =========================================================
   TARJETA INDIVIDUAL (NUEVA ESTRUCTURA COMPATIBLE)
   ========================================================= */
.logo-slide {
  position: relative;
  background: rgba(18, 22, 28, 0.6); 
  border: 1px solid rgba(0, 255, 204, 0.12); 
  border-radius: 14px;
  width: 250px;
  height: 240px; 
  padding: 30px 20px;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
  overflow: hidden;

  /* Sistema Grid de 3 filas */
  display: grid !important;
  grid-template-rows: 60px auto auto; /* 👈 Subí a 60px para dar más espacio a logos grandes */
  align-items: center !important; 
  justify-items: center !important;
  gap: 12px;
}

/* Regla general limpia: ya no limita el tamaño del logo */
.logo-slide img {
  grid-row: 1;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Títulos de las tecnologías centrados */
.logo-slide h3 {
  grid-row: 2;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  margin: 0 !important;
  white-space: normal; 
  text-align: center !important;
  width: 100%;
}

/* Descripciones de las tecnologías centradas */
.logo-slide p {
  grid-row: 3;
  color: #8fa0b5;
  font-size: 12px;
  line-height: 1.4;
  margin: 0 !important;
  white-space: normal;
  text-align: center !important;
  width: 100%;
}


.logo-slide:hover {
  transform: translateY(-5px); 
  border-color: #00ffcc; 
  box-shadow: 0 8px 25px rgba(0, 255, 204, 0.18); 
}

.slide-glow {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: radial-gradient(circle at center, rgba(173, 255, 47, 0.07) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 0;
}

.logo-slide:hover .slide-glow { opacity: 1; }
.logo-slide h3, .logo-slide p, .logo-slide img { position: relative; z-index: 1; }

/* ==========================================
   ESTILOS DEL BOTÓN INFERIOR (BADGE)
   ========================================== */
.stack-badge-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.stack-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(0, 255, 204, 0.03); 
  border: 1px solid rgba(0, 255, 204, 0.2); 
  border-radius: 50px; 
  padding: 12px 30px;
  max-width: 850px;
  box-shadow: 0 4px 15px rgba(0, 255, 204, 0.03);
}

.badge-icon {
  background-color: #00ffcc; 
  color: #0b0d10; 
  font-size: 12px;
  font-weight: bold;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.badge-text {
  color: #e2e8f0;
  font-size: 14px;
  margin: 0;
  line-height: 1.4;
  text-align: left;
}

/* ==========================================
   CONTROL DE TAMAÑO INDIVIDUAL POR LOGO
   ========================================== */
.logo-fortinet { width: 130px !important; height: auto !important; }
.logo-softaculous { width: 120px !important; height: auto !important; }
.logo-letsencrypt { width: 100px !important; height: auto !important; }
.logo-cpanel { width: 110px !important; height: auto !important; }
.logo-cloudlinux { width: 115px !important; height: auto !important; }
.logo-litespeed { width: 125px !important; height: auto !important; }
.logo-imunify360 { width: 120px !important; height: auto !important; }
.logo-acronis { width: 110px !important; height: auto !important; }

/* ANIMACIÓN */
@keyframes scrollInfinito {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 12px)); }
}


/* ==========================================
   CONTENEDOR PRINCIPAL
   ========================================== */
.panel-section {
  width: 100%;
  padding: 60px 20px;
  background-color: transparent;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}

.panel-card-container {
  background: linear-gradient(135deg, #0f141c 0%, #090c10 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 24px; /* Esquinas muy redondeadas premium */
  padding: 45px;
  max-width: 1140px;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
  
  /* Distribución con CSS Grid */
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
}

/* ==========================================
   BLOQUE IZQUIERDO
   ========================================== */
.panel-tag-top {
  color: #00ffcc; /* Tu cian corporativo */
  font-family: sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  display: block;
  margin-bottom: 12px;
}

.panel-main-title {
  color: #ffffff;
  font-family: sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 20px 0;
}

.panel-main-description {
  color: #94a3b8;
  font-family: sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 30px 0;
}

/* Cuadro de aviso oscuro/marrón */
.panel-notice-box {
  background: rgba(234, 88, 12, 0.08); /* Tono naranja traslúcido muy sutil */
  border-left: 4px solid #ea580c; /* Línea de borde viva */
  border-radius: 6px;
  padding: 15px 20px;
}

.panel-notice-box p {
  color: #f97316;
  font-family: sans-serif;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

/* ==========================================
   BLOQUE DERECHO (RECUADROS)
   ========================================== */
.panel-stats-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: flex-start;
}

.stat-box {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.stat-box:hover {
  border-color: rgba(0, 255, 204, 0.3);
  background: rgba(0, 255, 204, 0.01);
}

.stat-box h3 {
  color: #ffffff;
  font-family: sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

.stat-box p {
  color: #64748b;
  font-family: sans-serif;
  font-size: 12px;
  margin: 0;
}

/* ==========================================
   BLOQUE INFERIOR (TAGS)
   ========================================== */
.panel-tags-footer {
  grid-column: 1 / -1; /* Hace que ocupe todo el ancho inferior */
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.info-badge {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
  font-family: sans-serif;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 18px;
  border-radius: 30px;
  transition: all 0.3s ease;
  cursor: default;
}

.info-badge:hover {
  background: rgba(0, 255, 204, 0.1);
  border-color: #00ffcc;
  color: #ffffff;
}

/* ==========================================
   RESPONSIVE (ADAPTACIÓN MÓVIL)
   ========================================== */
@media (max-width: 900px) {
  .panel-card-container {
    grid-template-columns: 1fr; /* Pasa a una sola columna en celulares */
    padding: 30px 20px;
  }
  
  .panel-stats-grid {
    flex-direction: row; /* Los recuadros se ponen de lado en móviles */
    flex-wrap: wrap;
  }
  
  .stat-box {
    flex: 1 1 140px;
  }
}

.channels-animated {
    position: relative;
    overflow: visible;
}
.channels-animated .channels-banner {
    position: relative;
    overflow: hidden;
}
.channels-animated .channels-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 80% 50%, rgba(0,229,255,0.10), transparent 35%),
        radial-gradient(circle at 15% 50%, rgba(138,43,226,0.08), transparent 40%);
    pointer-events: none;
    animation: channelsAmbient 6s ease-in-out infinite alternate;
}
@keyframes channelsAmbient {
    from {
        opacity: 0.45;
        transform: scale(1);
    }
    to {
        opacity: 1;
        transform: scale(1.05);
    }
}
.premium-banner-text {
    position: relative;
    z-index: 5;
}
.premium-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 14px;
    color: #00e5ff;
    font-family: 'Exo 2', sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    opacity: 0.9;
}
.premium-eyebrow::before {
    content: "";
    width: 24px;
    height: 1px;
    margin-right: 10px;
    background: linear-gradient(90deg, transparent, #00e5ff);
    box-shadow: 0 0 8px rgba(0,229,255,0.8);
}
.premium-banner-text h3 {
    max-width: 650px;
    margin-bottom: 18px;
    font-family: 'Exo 2', sans-serif;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -1px;
    color: #ffffff;
    text-shadow: 0 3px 18px rgba(0,0,0,0.7);
}
.premium-banner-text h3 span {
    display: block;
    margin-top: 5px;
    background: linear-gradient(90deg, #00e5ff, #7c5cff, #d35cff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 10px rgba(0,229,255,0.18));
}
.premium-banner-text p {
    max-width: 650px;
    margin-bottom: 28px;
    color: #c8d5e5;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.65;
}
.premium-banner-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}
.btn-tv-premium {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 270px;
    padding: 13px 16px;
    border-radius: 12px;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(0,229,255,0.14), rgba(124,92,255,0.12));
    border: 1px solid rgba(0,229,255,0.55);
    color: #ffffff;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,0.45), inset 0 0 20px rgba(0,229,255,0.04), 0 0 15px rgba(0,229,255,0.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}
.btn-tv-premium::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
    transform: skewX(-20deg);
    transition: left 0.7s ease;
}
.btn-tv-premium:hover::before {
    left: 140%;
}
.btn-tv-premium:hover {
    transform: translateY(-4px) scale(1.02);
    border-color: rgba(0,229,255,0.95);
    background: linear-gradient(135deg, rgba(0,229,255,0.21), rgba(124,92,255,0.18));
    box-shadow: 0 16px 45px rgba(0,0,0,0.55), 0 0 25px rgba(0,229,255,0.27), 0 0 35px rgba(124,92,255,0.15);
}
.btn-tv-icon {
    width: 42px;
    height: 42px;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(0,229,255,0.10);
    border: 1px solid rgba(0,229,255,0.25);
    font-size: 1.2rem;
    box-shadow: inset 0 0 10px rgba(0,229,255,0.07);
}
.btn-tv-text {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.1;
}
.btn-tv-text strong {
    font-family: 'Exo 2', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 1px;
}
.btn-tv-text small {
    margin-top: 5px;
    color: #7f9bb3;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.78rem;
}
.btn-tv-arrow {
    margin-left: auto;
    font-size: 1.4rem;
    color: #00e5ff;
    transition: transform 0.3s ease;
}
.btn-tv-premium:hover .btn-tv-arrow {
    transform: translateX(5px);
}
.premium-tv-area {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 330px;
    padding: 25px;
    z-index: 5;
}
.premium-tv-card {
    position: relative;
    width: 265px;
    min-height: 285px;
    padding: 20px 22px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(7,18,31,.96), rgba(10,28,43,.82));
    border: 1px solid rgba(0,229,255,.42);
    box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 35px rgba(0,195,255,.12), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.premium-tv-card:hover {
    transform: translateY(-7px) scale(1.025);
    border-color: rgba(0,229,255,.8);
    box-shadow: 0 30px 70px rgba(0,0,0,.55), 0 0 45px rgba(0,229,255,.23), inset 0 1px 0 rgba(255,255,255,.08);
}
.premium-tv-glow {
    position: absolute;
    width: 190px;
    height: 190px;
    top: -80px;
    right: -70px;
    border-radius: 50%;
    background: rgba(0,229,255,.14);
    filter: blur(50px);
    pointer-events: none;
    animation: premiumTvGlow 4s ease-in-out infinite alternate;
}
@keyframes premiumTvGlow {
    from {
        opacity: .35;
        transform: scale(.85);
    }
    to {
        opacity: .8;
        transform: scale(1.2);
    }
}
.premium-tv-top {
    position: absolute;
    top: 17px;
    left: 18px;
    right: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.premium-tv-status {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7f9cb0;
    font-family: 'Exo 2', sans-serif;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: 1.6px;
}
.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #00e5ff;
    box-shadow: 0 0 8px #00e5ff;
    animation: statusPulse 1.7s ease-in-out infinite;
}
@keyframes statusPulse {
    0%,100% {
        opacity: .4;
        transform: scale(.8);
    }
    50% {
        opacity: 1;
        transform: scale(1.25);
    }
}
.premium-tv-signal {
    color: #00e5ff;
    font-size: .8rem;
    opacity: .8;
    text-shadow: 0 0 10px rgba(0,229,255,.8);
    animation: signalSoft 2s ease-in-out infinite;
}
@keyframes signalSoft {
    0%,100% {
        opacity: .35;
    }
    50% {
        opacity: 1;
    }
}
.premium-tv-icon {
    width: 70px;
    height: 70px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(0,229,255,.12), rgba(0,137,255,.05));
    border: 1px solid rgba(0,229,255,.2);
    box-shadow: inset 0 0 18px rgba(0,229,255,.05), 0 0 20px rgba(0,229,255,.08);
    animation: premiumTvFloat 3.5s ease-in-out infinite;
}
.premium-tv-icon svg {
    width: 44px;
    height: 44px;
    fill: none;
    stroke: #00e5ff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 6px rgba(0,229,255,.55));
}
@keyframes premiumTvFloat {
    0%,100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}
.premium-tv-number {
    margin-top: 12px;
    font-family: 'Exo 2', sans-serif;
    font-size: 3.2rem;
    line-height: .95;
    font-weight: 900;
    letter-spacing: -2px;
    background: linear-gradient(90deg, #00e5ff, #28a9ff, #985cff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 10px rgba(0,229,255,.2));
}
.premium-tv-label {
    margin-top: 7px;
    color: #ffffff;
    font-family: 'Exo 2', sans-serif;
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: 5px;
    padding-left: 5px;
}
.premium-tv-subtitle {
    margin-top: 9px;
    color: #657d91;
    font-family: 'Rajdhani', sans-serif;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: 1.4px;
}
.premium-tv-line {
    position: relative;
    width: 105px;
    height: 2px;
    margin-top: 18px;
    overflow: hidden;
    border-radius: 10px;
    background: rgba(255,255,255,.06);
}
.premium-tv-line span {
    position: absolute;
    top: 0;
    left: -60%;
    width: 60%;
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(90deg, transparent, #00e5ff, transparent);
    box-shadow: 0 0 8px rgba(0,229,255,.7);
    animation: premiumTvScan 2.5s linear infinite;
}
@keyframes premiumTvScan {
    from {
        left: -60%;
    }
    to {
        left: 110%;
    }
}
.premium-categories-intro {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin: 20px auto 35px auto;
    text-align: center;
}
.intro-line {
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0,229,255,0.65), transparent);
}
.intro-main {
    color: #ffffff;
    font-family: 'Exo 2', sans-serif;
    font-size: 0.85rem;
    font-weight: 900;
    letter-spacing: 2.5px;
}
.intro-sub {
    width: 100%;
    color: #71839a;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.95rem;
}
.categories-grid-layout .category-item {
    position: relative;
    overflow: hidden;
    transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
    animation: categoryEntry 0.7s ease both;
}
.categories-grid-layout .category-item:hover {
    transform: translateY(-6px) scale(1.025);
    border-color: rgba(0,229,255,0.45);
    background: rgba(13,20,34,0.92);
    box-shadow: 0 12px 30px rgba(0,0,0,0.45), 0 0 18px rgba(0,174,255,0.16);
}
.category-item-text,.category-item-bullet {
    position: relative;
    z-index: 5;
}
.category-item-text {
    transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.3s ease;
}
.category-item:hover .category-item-text {
    color: #ffffff;
    text-shadow: 0 0 7px rgba(255,255,255,0.25);
    transform: translateX(4px);
}
.category-fx {
    position: absolute;
    pointer-events: none;
    z-index: 2;
    opacity: 0.35;
}
.category-item:hover .category-fx {
    opacity: 0.85;
}
.fx-leaf {
    right: 15px;
    bottom: -5px;
    font-size: 18px;
    animation: leafFloat 4s ease-in-out infinite;
}
.fx-leaf.fx-delay-1 {
    right: 45px;
    animation-delay: 1.2s;
}
.fx-leaf.fx-delay-2 {
    right: 75px;
    animation-delay: 2.1s;
}
@keyframes leafFloat {
    0% {
        transform: translateY(15px) rotate(0deg);
        opacity: 0;
    }
    30% {
        opacity: 0.5;
    }
    100% {
        transform: translateY(-80px) rotate(35deg);
        opacity: 0;
    }
}
.fx-note {
    right: 15px;
    bottom: 8px;
    font-size: 20px;
    animation: noteFloat 3.2s ease-in-out infinite;
}
.fx-note.fx-delay-1 {
    right: 45px;
    animation-delay: 0.8s;
}
.fx-note.fx-delay-2 {
    right: 70px;
    animation-delay: 1.6s;
}
@keyframes noteFloat {
    0% {
        transform: translateY(10px) rotate(-10deg);
        opacity: 0;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        transform: translateY(-70px) rotate(15deg);
        opacity: 0;
    }
}
.fx-film {
    right: 15px;
    bottom: 10px;
    font-size: 23px;
    animation: filmMove 4s ease-in-out infinite;
}
.fx-film.fx-delay-1 {
    right: 55px;
    animation-delay: 1.4s;
}
@keyframes filmMove {
    0%,100% {
        transform: translateX(0) rotate(0deg);
        opacity: 0.25;
    }
    50% {
        transform: translateX(-20px) rotate(-8deg);
        opacity: 0.65;
    }
}
.fx-energy {
    right: 20px;
    top: 15px;
    font-size: 18px;
    animation: animeEnergy 1.7s ease-in-out infinite;
}
.fx-energy.fx-delay-1 {
    right: 55px;
    top: 35px;
    animation-delay: 0.5s;
}
.fx-energy.fx-delay-2 {
    right: 80px;
    top: 10px;
    animation-delay: 1s;
}
@keyframes animeEnergy {
    0%,100% {
        transform: scale(0.6) rotate(0);
        opacity: 0.15;
    }
    50% {
        transform: scale(1.35) rotate(25deg);
        opacity: 0.85;
    }
}
.fx-heart {
    right: 15px;
    bottom: 5px;
    font-size: 18px;
    animation: heartRise 3s ease-in-out infinite;
}
.fx-heart.fx-delay-1 {
    right: 50px;
    animation-delay: 0.7s;
}
.fx-heart.fx-delay-2 {
    right: 80px;
    animation-delay: 1.4s;
}
@keyframes heartRise {
    0% {
        transform: translateY(15px) scale(0.6);
        opacity: 0;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        transform: translateY(-65px) scale(1.1);
        opacity: 0;
    }
}
.fx-news {
    right: 12px;
    top: 10px;
    font-size: 9px;
    font-weight: 900;
    color: #ff3344;
    animation: newsBlink 1.2s linear infinite;
}
@keyframes newsBlink {
    0%,100% {
        opacity: 0.25;
    }
    50% {
        opacity: 1;
    }
}
.fx-news-line {
    left: -80%;
    bottom: 7px;
    width: 70%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(0,229,255,0.75), transparent);
    animation: newsTicker 3s linear infinite;
}
@keyframes newsTicker {
    from {
        left: -80%;
    }
    to {
        left: 110%;
    }
}
.fx-atom {
    right: 16px;
    top: 13px;
    font-size: 25px;
    animation: atomSpin 5s linear infinite;
}
@keyframes atomSpin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.fx-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #00e5ff;
    animation: scienceDot 2s ease-in-out infinite;
}
.dot-1 {
    right: 50px;
    top: 20px;
}
.dot-2 {
    right: 30px;
    bottom: 15px;
    animation-delay: 0.6s;
}
.dot-3 {
    right: 75px;
    bottom: 25px;
    animation-delay: 1.1s;
}
@keyframes scienceDot {
    0%,100% {
        transform: scale(0.5);
        opacity: 0.2;
    }
    50% {
        transform: scale(1.5);
        opacity: 0.8;
    }
}
.fx-ball {
    right: 10px;
    bottom: 8px;
    font-size: 20px;
    animation: ballRun 3.5s ease-in-out infinite;
}
@keyframes ballRun {
    0%,100% {
        transform: translateX(0) rotate(0);
    }
    50% {
        transform: translateX(-80px) rotate(-360deg);
    }
}
.fx-speed-line {
    right: 0;
    bottom: 15px;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(0,229,255,0.55));
    opacity: 0.3;
}
.fx-retro {
    right: 12px;
    top: 10px;
    font-size: 22px;
    animation: retroJitter 2.4s steps(2) infinite;
}
@keyframes retroJitter {
    0%,100% {
        transform: translate(0,0);
    }
    30% {
        transform: translate(1px,-1px);
    }
    60% {
        transform: translate(-1px,1px);
    }
}
.fx-static {
    inset: 0;
    opacity: 0;
    background: repeating-linear-gradient(0deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 4px);
    animation: staticFlash 3s infinite;
}
@keyframes staticFlash {
    0%,90%,100% {
        opacity: 0;
    }
    94% {
        opacity: 0.4;
    }
    97% {
        opacity: 0.1;
    }
}
.fx-star {
    right: 15px;
    bottom: 8px;
    font-size: 19px;
    animation: kidsFloat 3.5s ease-in-out infinite;
}
.fx-star.fx-delay-1 {
    right: 48px;
    animation-delay: 0.8s;
}
.fx-star.fx-delay-2 {
    right: 82px;
    animation-delay: 1.6s;
}
@keyframes kidsFloat {
    0%,100% {
        transform: translateY(5px) rotate(-5deg);
        opacity: 0.25;
    }
    50% {
        transform: translateY(-30px) rotate(10deg);
        opacity: 0.8;
    }
}
.fx-signal-ring {
    right: 18px;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(0,229,255,0.8);
    border-radius: 50%;
    transform: translateY(-50%) scale(0.4);
    animation: signalRing 2s linear infinite;
}
.ring-2 {
    animation-delay: 1s;
}
.fx-signal-core {
    right: 24px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #00e5ff;
    transform: translateY(-50%);
}
@keyframes signalRing {
    0% {
        transform: translateY(-50%) scale(0.4);
        opacity: 0.9;
    }
    100% {
        transform: translateY(-50%) scale(3);
        opacity: 0;
    }
}
.fx-rocket {
    right: 10px;
    bottom: 8px;
    font-size: 22px;
    animation: rocketMove 4s ease-in-out infinite;
}
@keyframes rocketMove {
    0%,100% {
        transform: translate(0,0) rotate(-10deg);
    }
    50% {
        transform: translate(-70px,-35px) rotate(-20deg);
    }
}
.fx-space-star {
    font-size: 13px;
    animation: spaceTwinkle 1.8s ease-in-out infinite;
}
.star-1 {
    right: 50px;
    top: 12px;
}
.star-2 {
    right: 85px;
    top: 35px;
    animation-delay: 0.6s;
}
.star-3 {
    right: 110px;
    top: 10px;
    animation-delay: 1.1s;
}
@keyframes spaceTwinkle {
    0%,100% {
        transform: scale(0.5);
        opacity: 0.15;
    }
    50% {
        transform: scale(1.4);
        opacity: 0.9;
    }
}
.categories-grid-layout .category-item:nth-child(1) {
    animation-delay: 0.05s;
}
.categories-grid-layout .category-item:nth-child(2) {
    animation-delay: 0.10s;
}
.categories-grid-layout .category-item:nth-child(3) {
    animation-delay: 0.15s;
}
.categories-grid-layout .category-item:nth-child(4) {
    animation-delay: 0.20s;
}
.categories-grid-layout .category-item:nth-child(5) {
    animation-delay: 0.25s;
}
.categories-grid-layout .category-item:nth-child(6) {
    animation-delay: 0.30s;
}
.categories-grid-layout .category-item:nth-child(7) {
    animation-delay: 0.35s;
}
.categories-grid-layout .category-item:nth-child(8) {
    animation-delay: 0.40s;
}
.categories-grid-layout .category-item:nth-child(9) {
    animation-delay: 0.45s;
}
.categories-grid-layout .category-item:nth-child(10) {
    animation-delay: 0.50s;
}
.categories-grid-layout .category-item:nth-child(11) {
    animation-delay: 0.55s;
}
.categories-grid-layout .category-item:nth-child(12) {
    animation-delay: 0.60s;
}
@keyframes categoryEntry {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.categories-action-wrapper {
    margin-top: 35px;
    display: flex;
    justify-content: center;
}
.btn-parrilla-premium {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 310px;
    padding: 14px 18px;
    border-radius: 14px;
    text-decoration: none;
    color: #ffffff;
    background: linear-gradient(135deg, rgba(16,22,38,0.94), rgba(10,14,25,0.94));
    border: 1px solid rgba(145,92,255,0.55);
    box-shadow: 0 12px 35px rgba(0,0,0,0.5), 0 0 20px rgba(145,92,255,0.11), inset 0 0 20px rgba(145,92,255,0.04);
    overflow: hidden;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.btn-parrilla-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,0.07) 45%, transparent 65%);
    transform: translateX(-120%);
    transition: transform 0.8s ease;
}
.btn-parrilla-premium:hover::before {
    transform: translateX(120%);
}
.btn-parrilla-premium:hover {
    transform: translateY(-5px) scale(1.025);
    border-color: rgba(181,111,255,0.95);
    box-shadow: 0 18px 45px rgba(0,0,0,0.55), 0 0 28px rgba(145,92,255,0.28), 0 0 15px rgba(0,229,255,0.16);
}
.parrilla-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 13px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(145,92,255,0.18), rgba(0,229,255,0.09));
    border: 1px solid rgba(145,92,255,0.30);
    color: #c796ff;
    text-shadow: 0 0 8px rgba(145,92,255,0.7);
    animation: parrillaIconPulse 2.5s ease-in-out infinite;
}
@keyframes parrillaIconPulse {
    0%,100% {
        transform: scale(1);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.12);
        opacity: 1;
    }
}
.parrilla-button-text {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.1;
}
.parrilla-button-text strong {
    font-family: 'Exo 2', sans-serif;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 1px;
}
.parrilla-button-text small {
    margin-top: 5px;
    color: #72849b;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.8rem;
}
.parrilla-arrow {
    margin-left: auto;
    color: #a966ff;
    font-size: 1.5rem;
    transition: transform 0.3s ease, color 0.3s ease;
}
.btn-parrilla-premium:hover .parrilla-arrow {
    transform: translateX(6px);
    color: #00e5ff;
}
@media (max-width: 768px) {
    .premium-banner-text h3 {
        font-size: 2rem;
    }
    .premium-banner-text p {
        font-size: 1rem;
    }
    .btn-tv-premium,.btn-parrilla-premium {
        width: 100%;
        min-width: 0;
    }
    .premium-banner-actions {
        width: 100%;
    }
    .premium-tv-area {
        min-height: auto;
        padding: 25px 0 5px;
    }
    .premium-tv-card {
        width: 100%;
        max-width: 290px;
        min-height: 265px;
    }
    .premium-tv-number {
        font-size: 2.8rem;
    }
    .intro-line {
        width: 25px;
    }
    .intro-main {
        font-size: 0.75rem;
        letter-spacing: 1.8px;
    }
    .intro-sub {
        font-size: 0.88rem;
    }
    .category-fx {
        opacity: 0.25;
    }
    .categories-grid-layout .category-item:hover {
        transform: none;
    }
    .fx-ball {
        animation-duration: 5s;
    }
    .fx-rocket {
        animation-duration: 6s;
    }
}
@media (prefers-reduced-motion: reduce) {
    .channels-animated *,.channels-animated *::before,.channels-animated *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
    }
}

.features li[data-info] {
    position: relative;
    cursor: help;
}

.features li[data-info]::after {
    content: attr(data-info);
    position: absolute;
    left: 15px;
    bottom: calc(100% + 10px);

    width: max-content;
    max-width: 280px;

    padding: 12px 15px;

    background: rgba(7, 12, 22, 0.97);
    border: 1px solid rgba(0, 174, 255, 0.55);
    border-radius: 10px;

    color: #e8f7ff;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: left;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.65),
        0 0 18px rgba(0, 174, 255, 0.18);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;

    pointer-events: none;
    z-index: 100;
}

.features li[data-info]::before {
    content: "";
    position: absolute;

    left: 28px;
    bottom: calc(100% + 3px);

    width: 12px;
    height: 12px;

    background: rgba(7, 12, 22, 0.97);

    border-right: 1px solid rgba(0, 174, 255, 0.55);
    border-bottom: 1px solid rgba(0, 174, 255, 0.55);

    transform: rotate(45deg);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;

    pointer-events: none;
    z-index: 101;
}

.features li[data-info]:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.features li[data-info]:hover::before {
    opacity: 1;
    visibility: visible;
}

.channel-card-premium {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.channel-animation-layer {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}
.channel-card-premium .logo-wrapper-premium,
.channel-card-premium h4,
.channel-card-premium .channel-category-tag,
.channel-card-premium .channel-hover-description {
    position: relative;
    z-index: 5;
}
.channel-card-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
    z-index: 0;
}
.channel-card-premium:hover::before {
    opacity: 1;
}
.channel-card-premium:hover {
    transform: translateY(-6px) scale(1.02);
}
.fx {
    position: absolute;
    display: block;
    pointer-events: none;
}
.anim-deportes::before {
    background: radial-gradient(circle at 75% 50%,rgba(0,255,140,.13),transparent 38%);
}
.anim-deportes .fx-1 {
    width: 28px;
    height: 28px;
    right: 15px;
    bottom: 18px;
    border: 2px solid rgba(255,255,255,.7);
    border-radius: 50%;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.08);
    animation: ballSport 3.2s ease-in-out infinite;
}
.anim-deportes .fx-2 {
    width: 100px;
    height: 2px;
    right: -20px;
    bottom: 28px;
    background: linear-gradient(90deg,transparent,rgba(0,255,170,.7),transparent);
    animation: speedSport 2.2s linear infinite;
}
.anim-deportes .fx-3 {
    width: 6px;
    height: 6px;
    right: 70px;
    top: 20px;
    border-radius: 50%;
    background: #00ffaa;
    box-shadow: 0 0 12px #00ffaa;
    animation: pulseSport 1.5s ease-in-out infinite;
}
@keyframes ballSport {
    0%,100% {
        transform: translateX(0) rotate(0);
    }
    50% {
        transform: translateX(-85px) rotate(-360deg);
    }
}
@keyframes speedSport {
    from {
        transform: translateX(0);
        opacity: .15;
    }
    50% {
        opacity: .8;
    }
    to {
        transform: translateX(-90px);
        opacity: .1;
    }
}
@keyframes pulseSport {
    0%,100% {
        opacity: .2;
        transform: scale(.6);
    }
    50% {
        opacity: 1;
        transform: scale(1.4);
    }
}
.anim-noticias::before {
    background: linear-gradient(135deg,rgba(255,30,60,.08),transparent 45%);
}
.anim-noticias .fx-1 {
    right: 14px;
    top: 14px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff3344;
    box-shadow: 0 0 10px #ff3344;
    animation: liveBlink 1.1s infinite;
}
.anim-noticias .fx-1::after {
    content: "LIVE";
    position: absolute;
    right: 14px;
    top: -3px;
    color: #ff5968;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}
.anim-noticias .fx-2 {
    left: -70%;
    bottom: 10px;
    width: 65%;
    height: 2px;
    background: linear-gradient(90deg,transparent,#ff3344,transparent);
    animation: newsLine 2.4s linear infinite;
}
.anim-noticias .fx-3 {
    left: 0;
    right: 0;
    bottom: 0;
    height: 14px;
    background: repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 14px,transparent 14px 28px);
    opacity: .35;
    animation: newsTicker 5s linear infinite;
}
@keyframes liveBlink {
    0%,100% {
        opacity: .25;
    }
    50% {
        opacity: 1;
    }
}
@keyframes newsLine {
    from {
        left: -70%;
    }
    to {
        left: 110%;
    }
}
@keyframes newsTicker {
    from {
        background-position-x: 0;
    }
    to {
        background-position-x: -56px;
    }
}
.anim-naturaleza::before {
    background: radial-gradient(circle at 80% 70%,rgba(50,220,120,.13),transparent 42%);
}
.anim-naturaleza .fx-1,
.anim-naturaleza .fx-2,
.anim-naturaleza .fx-3 {
    width: 12px;
    height: 18px;
    border-radius: 80% 0 80% 0;
    background: linear-gradient(135deg,rgba(80,255,150,.75),rgba(20,150,90,.25));
    transform: rotate(35deg);
    animation: leafNature 4s ease-in-out infinite;
}
.anim-naturaleza .fx-1 {
    right: 18px;
    bottom: -20px;
}
.anim-naturaleza .fx-2 {
    right: 55px;
    bottom: -25px;
    animation-delay: 1.2s;
}
.anim-naturaleza .fx-3 {
    right: 90px;
    bottom: -18px;
    animation-delay: 2.1s;
}
@keyframes leafNature {
    0% {
        transform: translateY(0) rotate(20deg);
        opacity: 0;
    }
    25% {
        opacity: .7;
    }
    100% {
        transform: translateY(-110px) translateX(-20px) rotate(160deg);
        opacity: 0;
    }
}
.anim-infantil::before {
    background: radial-gradient(circle at 50% 50%,rgba(255,120,230,.12),transparent 50%);
}
.anim-infantil .fx-1,
.anim-infantil .fx-2,
.anim-infantil .fx-3 {
    width: 10px;
    height: 10px;
    clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 92%,50% 71%,21% 92%,32% 57%,2% 35%,39% 35%);
    background: #ffd95c;
    filter: drop-shadow(0 0 6px rgba(255,217,92,.65));
    animation: kidsStar 2.8s ease-in-out infinite;
}
.anim-infantil .fx-1 {
    right: 18px;
    top: 18px;
}
.anim-infantil .fx-2 {
    right: 55px;
    bottom: 22px;
    animation-delay: .7s;
    background: #ff79d8;
}
.anim-infantil .fx-3 {
    right: 88px;
    top: 35px;
    animation-delay: 1.4s;
    background: #65eaff;
}
@keyframes kidsStar {
    0%,100% {
        transform: translateY(0) rotate(0) scale(.7);
        opacity: .25;
    }
    50% {
        transform: translateY(-16px) rotate(180deg) scale(1.3);
        opacity: 1;
    }
}
.anim-musica::before {
    background: radial-gradient(circle at 70% 60%,rgba(190,70,255,.14),transparent 45%);
}
.anim-musica .fx-1::before {
    content: "♪";
}
.anim-musica .fx-2::before {
    content: "♫";
}
.anim-musica .fx-3::before {
    content: "♬";
}
.anim-musica .fx-1,
.anim-musica .fx-2,
.anim-musica .fx-3 {
    right: 18px;
    bottom: 5px;
    color: #d67bff;
    font-size: 22px;
    text-shadow: 0 0 10px rgba(214,123,255,.7);
    animation: musicFloat 3s ease-in-out infinite;
}
.anim-musica .fx-2 {
    right: 55px;
    animation-delay: .8s;
}
.anim-musica .fx-3 {
    right: 88px;
    animation-delay: 1.5s;
}
@keyframes musicFloat {
    0% {
        transform: translateY(12px) rotate(-8deg);
        opacity: 0;
    }
    35% {
        opacity: .8;
    }
    100% {
        transform: translateY(-85px) rotate(15deg);
        opacity: 0;
    }
}
.anim-anime::before {
    background: radial-gradient(circle at 70% 50%,rgba(0,200,255,.15),transparent 45%);
}
.anim-anime .fx-1,
.anim-anime .fx-2,
.anim-anime .fx-3 {
    width: 3px;
    height: 45px;
    background: linear-gradient(transparent,#00e5ff,transparent);
    transform: rotate(45deg);
    animation: animeFlash 1.7s ease-in-out infinite;
}
.anim-anime .fx-1 {
    right: 20px;
    top: 10px;
}
.anim-anime .fx-2 {
    right: 55px;
    top: 25px;
    animation-delay: .5s;
}
.anim-anime .fx-3 {
    right: 90px;
    top: 5px;
    animation-delay: 1s;
}
@keyframes animeFlash {
    0%,100% {
        opacity: .1;
        transform: rotate(45deg) scaleY(.5);
    }
    50% {
        opacity: 1;
        transform: rotate(45deg) scaleY(1.4);
        box-shadow: 0 0 10px #00e5ff;
    }
}
.anim-retro::before {
    background: linear-gradient(rgba(255,180,80,.05),rgba(255,255,255,.01));
}
.anim-retro .fx-1 {
    inset: 0;
    background: repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 4px);
    animation: crtMove 1.8s linear infinite;
}
.anim-retro .fx-2 {
    left: 0;
    right: 0;
    top: 40%;
    height: 1px;
    background: rgba(255,255,255,.3);
    animation: crtScan 2.4s linear infinite;
}
.anim-retro .fx-3 {
    inset: 0;
    box-shadow: inset 0 0 35px rgba(255,180,70,.10);
}
@keyframes crtMove {
    from {
        background-position-y: 0;
    }
    to {
        background-position-y: 8px;
    }
}
@keyframes crtScan {
    from {
        top: -5%;
    }
    to {
        top: 105%;
    }
}
.anim-western::before {
    background: radial-gradient(circle at 80% 25%,rgba(255,160,50,.17),transparent 40%);
}
.anim-western .fx-1,
.anim-western .fx-2,
.anim-western .fx-3 {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #d69b55;
    box-shadow: 0 0 6px rgba(214,155,85,.5);
    animation: westernDust 4s linear infinite;
}
.anim-western .fx-1 {
    left: -10px;
    bottom: 20px;
}
.anim-western .fx-2 {
    left: -20px;
    bottom: 35px;
    animation-delay: 1.2s;
}
.anim-western .fx-3 {
    left: -15px;
    bottom: 55px;
    animation-delay: 2s;
}
@keyframes westernDust {
    from {
        transform: translateX(0) translateY(0);
        opacity: 0;
    }
    20% {
        opacity: .7;
    }
    to {
        transform: translateX(230px) translateY(-18px);
        opacity: 0;
    }
}
.anim-guerra::before {
    background: radial-gradient(circle at 80% 70%,rgba(255,80,20,.16),transparent 42%);
}
.anim-guerra .fx-1,
.anim-guerra .fx-2,
.anim-guerra .fx-3 {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #ff8b45;
    box-shadow: 0 0 8px #ff5722;
    animation: warSpark 1.8s ease-out infinite;
}
.anim-guerra .fx-1 {
    right: 20px;
    bottom: 15px;
}
.anim-guerra .fx-2 {
    right: 55px;
    bottom: 12px;
    animation-delay: .6s;
}
.anim-guerra .fx-3 {
    right: 85px;
    bottom: 18px;
    animation-delay: 1.2s;
}
@keyframes warSpark {
    0% {
        transform: translate(0,0) scale(.5);
        opacity: 0;
    }
    25% {
        opacity: 1;
    }
    100% {
        transform: translate(-25px,-70px) scale(1.2);
        opacity: 0;
    }
}
.anim-gourmet::before {
    background: radial-gradient(circle at 75% 60%,rgba(255,180,80,.12),transparent 45%);
}
.anim-gourmet .fx-1,
.anim-gourmet .fx-2,
.anim-gourmet .fx-3 {
    width: 12px;
    height: 35px;
    border: 2px solid rgba(255,255,255,.35);
    border-color: rgba(255,255,255,.35) transparent transparent transparent;
    border-radius: 50%;
    animation: steamRise 3s ease-in-out infinite;
}
.anim-gourmet .fx-1 {
    right: 20px;
    bottom: 12px;
}
.anim-gourmet .fx-2 {
    right: 50px;
    bottom: 8px;
    animation-delay: .8s;
}
.anim-gourmet .fx-3 {
    right: 78px;
    bottom: 14px;
    animation-delay: 1.5s;
}
@keyframes steamRise {
    0% {
        transform: translateY(10px) scale(.7);
        opacity: 0;
    }
    40% {
        opacity: .6;
    }
    100% {
        transform: translateY(-60px) scale(1.1);
        opacity: 0;
    }
}
.anim-cine::before {
    background: linear-gradient(120deg,transparent 20%,rgba(120,80,255,.10) 45%,transparent 70%);
}
.anim-cine .fx-1 {
    top: 0;
    left: -45%;
    width: 35%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
    transform: skewX(-20deg);
    animation: cinemaSweep 4s ease-in-out infinite;
}
.anim-cine .fx-2 {
    left: 0;
    right: 0;
    bottom: 0;
    height: 6px;
    background: repeating-linear-gradient(90deg,rgba(160,100,255,.25) 0 10px,transparent 10px 18px);
    opacity: .45;
}
.anim-cine .fx-3 {
    width: 55px;
    height: 55px;
    right: -25px;
    top: -25px;
    border-radius: 50%;
    border: 1px solid rgba(150,100,255,.25);
    animation: cinemaReel 7s linear infinite;
}
@keyframes cinemaSweep {
    0%,20% {
        left: -45%;
    }
    65%,100% {
        left: 125%;
    }
}
@keyframes cinemaReel {
    to {
        transform: rotate(360deg);
    }
}
.anim-familiar::before {
    background: radial-gradient(circle at 70% 60%,rgba(0,180,255,.10),transparent 45%);
}
.anim-familiar .fx-1,
.anim-familiar .fx-2,
.anim-familiar .fx-3 {
    border-radius: 50%;
    border: 1px solid rgba(80,210,255,.45);
    animation: familyBubble 3.5s ease-in-out infinite;
}
.anim-familiar .fx-1 {
    width: 18px;
    height: 18px;
    right: 15px;
    bottom: -20px;
}
.anim-familiar .fx-2 {
    width: 12px;
    height: 12px;
    right: 50px;
    bottom: -15px;
    animation-delay: 1s;
}
.anim-familiar .fx-3 {
    width: 8px;
    height: 8px;
    right: 80px;
    bottom: -12px;
    animation-delay: 1.8s;
}
@keyframes familyBubble {
    0% {
        transform: translateY(0) scale(.7);
        opacity: 0;
    }
    30% {
        opacity: .7;
    }
    100% {
        transform: translateY(-95px) scale(1.1);
        opacity: 0;
    }
}
.anim-nacional::before {
    background: linear-gradient(135deg,rgba(255,255,255,.03),rgba(0,160,255,.06));
}
.anim-nacional .fx-1 {
    left: -80%;
    bottom: 8px;
    width: 70%;
    height: 2px;
    background: linear-gradient(90deg,transparent,#00aaff,transparent);
    animation: nationalLine 3.5s linear infinite;
}
.anim-nacional .fx-2 {
    right: 15px;
    top: 15px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #00aaff;
    box-shadow: 0 0 10px #00aaff;
    animation: nationalPulse 2s ease-in-out infinite;
}
.anim-nacional .fx-3 {
    right: 15px;
    top: 28px;
    width: 30px;
    height: 1px;
    background: rgba(255,255,255,.25);
}
@keyframes nationalLine {
    from {
        left: -80%;
    }
    to {
        left: 110%;
    }
}
@keyframes nationalPulse {
    0%,100% {
        opacity: .25;
        transform: scale(.7);
    }
    50% {
        opacity: 1;
        transform: scale(1.3);
    }
}
.anim-general::before {
    background: radial-gradient(circle at 75% 50%,rgba(110,90,255,.09),transparent 45%);
}
.anim-general .fx-1,
.anim-general .fx-2,
.anim-general .fx-3 {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(120,200,255,.7);
    box-shadow: 0 0 8px rgba(120,200,255,.55);
    animation: generalFloat 3.6s ease-in-out infinite;
}
.anim-general .fx-1 {
    right: 18px;
    bottom: 12px;
}
.anim-general .fx-2 {
    right: 50px;
    bottom: 20px;
    animation-delay: 1s;
}
.anim-general .fx-3 {
    right: 82px;
    bottom: 15px;
    animation-delay: 2s;
}
@keyframes generalFloat {
    0%,100% {
        transform: translateY(0);
        opacity: .15;
    }
    50% {
        transform: translateY(-35px);
        opacity: .8;
    }
}
.channel-card-premium:hover .channel-logo {
    transform: scale(1.06);
    filter: drop-shadow(0 0 12px rgba(255,255,255,.22));
}
.channel-card-premium .channel-logo {
    transition: transform .35s ease,filter .35s ease;
}
.channel-card-premium:hover h4 {
    text-shadow: 0 0 10px rgba(255,255,255,.18);
}
@media (max-width:768px) {
    .channel-card-premium:hover {
        transform: none;
    }
    .channel-animation-layer {
        opacity: .65;
    }
}
@media (prefers-reduced-motion:reduce) {
    .channel-card-premium *,
    .channel-card-premium *::before,
    .channel-card-premium *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}

.channel-hover-description {
    position:absolute !important;
    bottom:22px !important;
    left:0 !important;
    right:0 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-family:'Rajdhani',sans-serif;
    font-size:.85rem;
    font-weight:600;
    color:#fff;
    line-height:1.35;
    opacity:0;
    transform:translateY(10px) !important;
    transition:opacity .35s cubic-bezier(.25,.8,.25,1),transform .35s cubic-bezier(.25,.8,.25,1);
    pointer-events:none;
    text-shadow:0 0 8px rgba(0,116,153,.6);
}
.channel-card-premium:hover .channel-hover-description {
    opacity:1;
    transform:translateY(0) !important;
}

.pricing-grid.tab-content {
    display:none !important;
    opacity:0 !important;
}
.pricing-grid.tab-content.active {
    display:grid !important;
    opacity:1 !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
@media (max-width:768px) {
    .pricing-grid.tab-content.active {
        grid-template-columns:1fr !important;
    }
}

.finet-testimonials-section {
    position:relative;
}
.finet-testimonials-section .section-header {
    max-width:850px;
    margin-left:auto;
    margin-right:auto;
}
.testimonials-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    color:#00e5ff;
    font-family:'Exo 2',sans-serif;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(0,229,255,.45);
}
.testimonials-eyebrow::before,
.testimonials-eyebrow::after {
    content:"";
    width:28px;
    height:1px;
    background:linear-gradient(90deg,transparent,#00e5ff);
}
.testimonials-eyebrow::after {
    background:linear-gradient(90deg,#00e5ff,transparent);
}
.testimonials-subtitle {
    max-width:700px;
    margin:15px auto 0;
    color:#7e91a8;
    font-size:1.05rem;
}
.finet-testimonials-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    width:100%;
    max-width:1100px;
    margin:0 auto;
    perspective:1600px;
}
.finet-flip-card {
    position:relative;
    width:100%;
    height:320px;
    perspective:1400px;
}
.finet-flip-inner {
    position:relative;
    width:100%;
    height:100%;
    transform-style:preserve-3d;
    transition:transform .85s cubic-bezier(.18,.8,.25,1);
}
.finet-flip-card:hover .finet-flip-inner {
    transform:rotateY(180deg);
}
.finet-flip-front,
.finet-flip-back {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:26px 24px;
    border-radius:18px;
    overflow:hidden;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    box-sizing:border-box;
}
.finet-flip-front {
    display:flex;
    flex-direction:column;
    background:linear-gradient(145deg,rgba(13,18,30,.97),rgba(7,11,20,.98));
    border:1px solid rgba(255,255,255,.07);
    box-shadow:0 16px 45px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035);
}
.finet-flip-front::before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 80% 10%,rgba(0,229,255,.08),transparent 35%),radial-gradient(circle at 15% 100%,rgba(138,43,226,.07),transparent 35%);
    pointer-events:none;
}
.finet-flip-front::after {
    content:"";
    position:absolute;
    left:-80%;
    bottom:0;
    width:70%;
    height:2px;
    background:linear-gradient(90deg,transparent,#00e5ff,transparent);
    box-shadow:0 0 12px rgba(0,229,255,.8);
    animation:testimonialScan 4s linear infinite;
}
@keyframes testimonialScan {
    from{left:-80%}
    to{left:120%}
}
.testimonial-led {
    position:absolute;
    top:16px;
    right:17px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#00e5ff;
    box-shadow:0 0 10px #00e5ff;
    animation:testimonialLed 1.8s ease-in-out infinite;
}
@keyframes testimonialLed {
    0%,100%{opacity:.3;transform:scale(.8)}
    50%{opacity:1;transform:scale(1.3)}
}
.testimonial-quote {
    position:absolute;
    right:20px;
    bottom:-18px;
    color:rgba(0,229,255,.045);
    font-family:Georgia,serif;
    font-size:9rem;
    line-height:1;
    pointer-events:none;
}
.finet-flip-front .testimonial-header {
    position:relative;
    display:flex;
    align-items:center;
    gap:15px;
    width:100%;
    margin-bottom:18px;
    z-index:2;
}
.finet-flip-front .testimonial-header img {
    position:static !important;
    width:56px !important;
    height:56px !important;
    min-width:56px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #00cfff;
    box-shadow:0 0 0 5px rgba(0,207,255,.06),0 0 18px rgba(0,207,255,.18);
}
.testimonial-heading {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.testimonial-status {
    margin-bottom:5px;
    color:#00e5ff;
    font-family:'Exo 2',sans-serif;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:1.8px;
}
.finet-flip-front .testimonial-header h3 {
    margin:0;
    color:#fff;
    font-size:1.16rem;
    line-height:1.2;
}
.finet-flip-front .b-icon {
    position:relative;
    z-index:2;
    margin-bottom:17px;
    color:#ffc928;
    font-size:1.45rem;
    letter-spacing:4px;
    line-height:1;
    text-shadow:0 0 10px rgba(255,201,40,.15);
}
.finet-flip-front > p {
    position:relative;
    z-index:2;
    margin:0 0 13px;
    color:#8c9db2;
    font-size:.94rem;
    line-height:1.55;
    flex-grow:1;
}
.finet-flip-front > strong {
    position:relative;
    z-index:2;
    color:#fff;
    font-size:.83rem;
}
.testimonial-flip-hint {
    position:absolute;
    right:20px;
    bottom:18px;
    z-index:3;
    display:flex;
    align-items:center;
    gap:7px;
    color:#526b80;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
    transition:color .3s ease;
}
.finet-flip-card:hover .testimonial-flip-hint {
    color:#00e5ff;
}
.testimonial-flip-hint i {
    animation:flipHint 2.5s ease-in-out infinite;
}
@keyframes flipHint {
    0%,100%{transform:rotate(0)}
    50%{transform:rotate(180deg)}
}
.finet-flip-back {
    transform:rotateY(180deg);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:linear-gradient(145deg,rgba(5,19,32,.99),rgba(15,10,31,.99));
    border:1px solid rgba(0,229,255,.42);
    box-shadow:0 22px 55px rgba(0,0,0,.48),0 0 30px rgba(0,229,255,.10),inset 0 0 35px rgba(138,43,226,.04);
}
.finet-flip-back::before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,transparent 25%,rgba(0,229,255,.045) 50%,transparent 75%);
    pointer-events:none;
}
.back-orbit {
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(0,229,255,.14);
    pointer-events:none;
}
.orbit-one {
    width:190px;
    height:190px;
    right:-90px;
    top:-95px;
    animation:backOrbit 11s linear infinite;
}
.orbit-two {
    width:130px;
    height:130px;
    left:-65px;
    bottom:-65px;
    border-color:rgba(138,43,226,.18);
    animation:backOrbit 8s linear infinite reverse;
}
@keyframes backOrbit {
    to{transform:rotate(360deg)}
}
.back-badge {
    position:relative;
    z-index:2;
    margin-bottom:13px;
    color:#00e5ff;
    font-family:'Exo 2',sans-serif;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:2.2px;
}
.back-icon {
    position:relative;
    z-index:2;
    width:54px;
    height:54px;
    margin-bottom:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#00e5ff;
    font-size:1.4rem;
    background:rgba(0,229,255,.08);
    border:1px solid rgba(0,229,255,.25);
    box-shadow:0 0 22px rgba(0,229,255,.09);
    animation:backIconFloat 3s ease-in-out infinite;
}
@keyframes backIconFloat {
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-6px)}
}
.finet-flip-back h3 {
    position:relative;
    z-index:2;
    margin:0 0 8px;
    color:#fff;
    font-size:1.22rem;
}
.finet-flip-back > p {
    position:relative;
    z-index:2;
    max-width:290px;
    margin:0 0 15px;
    color:#8296aa;
    font-size:.84rem;
    line-height:1.45;
}
.back-feature {
    position:relative;
    z-index:2;
    width:82%;
    display:flex;
    align-items:center;
    gap:9px;
    margin:3px 0;
    padding:5px 9px;
    border-radius:7px;
    color:#b9c6d4;
    font-size:.76rem;
    text-align:left;
    background:rgba(255,255,255,.018);
}
.back-feature i {
    color:#00e5ff;
    font-size:.7rem;
}
.back-customer {
    position:relative;
    z-index:2;
    margin-top:9px;
    color:#536b80;
    font-size:.64rem;
    font-weight:700;
    letter-spacing:.7px;
}

.finet-flip-card:nth-child(3) .finet-flip-back .back-customer {
    margin-top:5px;
    transform:translateY(-5px);
}

.finet-flip-card:nth-child(3) .finet-flip-back .back-badge {
    transform:translateY(10px);
}

.finet-flip-card:nth-child(3) .finet-flip-back .back-icon {
    margin-top:12px;
    margin-bottom:8px;
}

.finet-flip-card:nth-child(1) .finet-flip-back .back-customer {
    margin-top:5px;
    transform:translateY(-3px);
}

.finet-flip-card:nth-child(1) .finet-flip-back .back-badge {
    transform:translateY(10px);
}

.finet-flip-card:nth-child(1) .finet-flip-back .back-icon {
    margin-top:10px;
    margin-bottom:8px;
}

.finet-flip-card:nth-child(2) .finet-flip-back .back-badge {
    transform:translateY(8px);
}
.finet-flip-card:nth-child(2) .finet-flip-back .back-icon {
    margin-top:12px;
    margin-bottom:8px;
}
.finet-flip-card:nth-child(2) .finet-flip-back h3 {
    margin-bottom:6px;
}
.finet-flip-card:nth-child(2) .finet-flip-back > p {
    margin-bottom:10px;
    line-height:1.35;
}
.finet-flip-card:nth-child(2) .finet-flip-back .back-feature {
    margin:2px 0;
    padding:4px 9px;
}
.finet-flip-card:nth-child(2) .finet-flip-back .back-customer {
    margin-top:8px;
    transform:translateY(-4px);
}
.finet-flip-card:hover {
    z-index:20;
}
.finet-flip-card:hover .finet-flip-front,
.finet-flip-card:hover .finet-flip-back {
    box-shadow:0 25px 65px rgba(0,0,0,.55),0 0 30px rgba(0,229,255,.12);
}
@media (max-width:900px) {
    .finet-testimonials-grid {
        grid-template-columns:1fr;
        max-width:520px;
    }
    .finet-flip-card {
        height:320px;
    }
}
@media (max-width:600px) {
    .finet-flip-card {
        height:340px;
    }
    .finet-flip-front,
    .finet-flip-back {
        padding:22px 19px;
    }
    .testimonials-subtitle {
        font-size:.95rem;
    }
}
@media (hover:none) {
    .finet-flip-card:active .finet-flip-inner {
        transform:rotateY(180deg);
    }
}

/* =========================================================
   NAVBAR FINET - SISTEMA ÚNICO Y LIMPIO
   PC / NOTEBOOK / TABLET / MÓVIL
   ========================================================= */

.navbar {
    position:fixed !important;
    top:45px !important;
    left:0 !important;

    width:100% !important;
    max-width:100% !important;

    height:auto !important;
    max-height:none !important;

    padding:10px 0 !important;

    z-index:1000 !important;

    border-bottom:1px solid transparent !important;

    box-sizing:border-box !important;

    transition:all .3s ease !important;
}



/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.nav-content {
    width:100% !important;
    max-width:1600px !important;

    margin:0 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    padding-left:clamp(8px,1.5vw,24px) !important;
    padding-right:clamp(8px,1.5vw,24px) !important;

    gap:clamp(5px,1vw,18px) !important;

    box-sizing:border-box !important;

    position:relative !important;
}


/* =========================================================
   LOGO BASE
   ========================================================= */

.logo {
    flex:0 1 auto !important;

    width:clamp(105px,15vw,230px) !important;
    min-width:95px !important;
    max-width:230px !important;

    margin-left:0 !important;
    margin-right:clamp(5px,1vw,18px) !important;

    position:relative !important;

    left:auto !important;
    right:auto !important;
    top:auto !important;

    transform:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    perspective:800px !important;
}

/* =========================================================
   ANILLO 4D AZUL
   UNA SOLA DEFINICIÓN
   ========================================================= */

.logo::before {
    content:"" !important;

    position:absolute !important;

    width:190px !important;
    height:190px !important;

    border:3.5px solid rgba(30,144,255,.7) !important;
    border-top-color:transparent !important;

    border-radius:50% !important;

    animation:giroOrbita1 4s linear infinite !important;

    pointer-events:none !important;

    z-index:1 !important;
}


/* =========================================================
   ANILLO 4D MORADO
   UNA SOLA DEFINICIÓN
   ========================================================= */

.logo::after {
    content:"" !important;

    position:absolute !important;

    width:200px !important;
    height:200px !important;

    border:3.5px solid rgba(138,43,226,.7) !important;
    border-bottom-color:transparent !important;

    border-radius:50% !important;

    animation:giroOrbita2 6s linear infinite !important;

    pointer-events:none !important;

    z-index:3 !important;
}


/* =========================================================
   PC GRANDE
   CONSERVA LA POSICIÓN CLÁSICA DEL LOGO
   ========================================================= */

@media (min-width:1300px) {

    .logo {
        width:230px !important;
        min-width:230px !important;
        max-width:230px !important;

        margin-left:clamp(140px,10vw,190px) !important;
        margin-right:18px !important;
    }

    .logo img {
        width:100% !important;
        max-width:230px !important;
    }
}


/* =========================================================
   NOTEBOOK / PC MÁS ANGOSTO
   EL LOGO EMPIEZA A ACERCARSE A LA PARED IZQUIERDA
   ========================================================= */

@media (min-width:1001px) and (max-width:1299px) {

    .logo {
        width:clamp(150px,15vw,210px) !important;
        min-width:150px !important;
        max-width:210px !important;

        margin-left:clamp(55px,7vw,115px) !important;
        margin-right:clamp(5px,1vw,14px) !important;
    }

    .logo img {
        width:100% !important;
        max-width:210px !important;
    }

    .nav-content {
        padding-left:8px !important;
        padding-right:8px !important;
        gap:5px !important;
    }

    .nav-links {
        gap:clamp(2px,.5vw,6px) !important;
    }

    .nav-links a {
        font-size:clamp(9px,1vw,12px) !important;
        letter-spacing:0 !important;
        padding:7px 2px !important;
    }

    .nav-actions {
        margin-left:3px !important;
    }

    .btn-glow {
        font-size:clamp(9px,.9vw,11px) !important;
        padding:6px 5px !important;
        letter-spacing:0 !important;
    }
}


/* =========================================================
   TABLET / PANTALLAS ANGOSTAS
   LOGO MÁS CERCA DE LA PARED
   ========================================================= */

@media (min-width:681px) and (max-width:1000px) {

    .logo {
        width:clamp(100px,14vw,150px) !important;
        min-width:100px !important;
        max-width:150px !important;

        margin-left:clamp(4px,2vw,25px) !important;
        margin-right:4px !important;
    }

    .logo img {
        width:100% !important;
        max-width:150px !important;
    }

    .nav-content {
        padding-left:6px !important;
        padding-right:6px !important;
        gap:3px !important;
    }

    .nav-links {
        gap:2px !important;
    }

    .nav-links a {
        font-size:9px !important;
        letter-spacing:0 !important;
        padding:6px 1px !important;
    }

    .nav-actions {
        margin-left:2px !important;
    }

    .btn-glow {
        font-size:9px !important;
        padding:5px 4px !important;
    }
}


/* =========================================================
   MENÚ DE ESCRITORIO
   ========================================================= */

.desktop-menu {
    flex:1 1 auto !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    min-width:0 !important;

    margin-left:auto !important;
}


/* =========================================================
   LINKS
   ========================================================= */

.nav-links {
    display:flex !important;

    flex-direction:row !important;

    align-items:center !important;
    justify-content:flex-end !important;

    list-style:none !important;

    margin:0 !important;
    padding:0 !important;

    gap:clamp(5px,1vw,16px) !important;

    white-space:nowrap !important;
}


.nav-links a {
    color:var(--text-muted) !important;

    text-decoration:none !important;

    font-family:'Exo 2',sans-serif !important;

    font-size:clamp(10px,1.05vw,17px) !important;

    font-weight:600 !important;

    text-transform:uppercase !important;

    letter-spacing:clamp(0px,.05vw,1px) !important;

    padding:
        clamp(6px,.7vw,10px)
        clamp(2px,.45vw,8px) !important;

    white-space:nowrap !important;

    border-radius:6px !important;

    transition:all .4s ease !important;

    position:relative !important;
}


.nav-links a:hover,
.nav-links a.active {
    color:#fff !important;

    background:rgba(138,43,226,.1) !important;

    text-shadow:0 0 10px var(--brand-orange-glow) !important;

    box-shadow:0 0 15px rgba(138,43,226,.2) !important;
}


/* =========================================================
   COBERTURA
   ========================================================= */

.nav-actions {
    flex:0 0 auto !important;

    margin-left:clamp(4px,.8vw,10px) !important;
}


.btn-glow {
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    white-space:nowrap !important;

    background:linear-gradient(135deg,#1e90ff,#8a2be2) !important;

    color:#fff !important;

    font-size:clamp(10px,.95vw,16px) !important;

    font-weight:bold !important;

    padding:
        clamp(6px,.6vw,8px)
        clamp(6px,.7vw,10px) !important;

    border-radius:8px !important;

    text-transform:uppercase !important;

    letter-spacing:clamp(0px,.04vw,1px) !important;

    gap:clamp(3px,.5vw,8px) !important;

    box-shadow:0 0 15px rgba(138,43,226,.4) !important;

    transition:all .3s ease !important;

    text-decoration:none !important;
}


.btn-glow i {
    margin-left:clamp(2px,.4vw,6px) !important;
}


/* =========================================================
   HAMBURGUESA BASE
   ========================================================= */

.hamburger {
    display:none !important;

    background:transparent !important;

    border:none !important;

    cursor:pointer !important;

    padding:0 !important;

    z-index:99999 !important;
}


.hamburger-line {
    display:block !important;

    width:100% !important;

    height:3px !important;

    background:#fff !important;

    border-radius:3px !important;

    transition:all .3s ease !important;
}


/* =========================================================
   TELÉFONO NORMAL
   680PX O MENOS
   ========================================================= */

@media screen and (max-width:680px) {

    body .navbar .nav-content {
        width:100% !important;
        max-width:100% !important;

        min-height:125px !important;

        display:flex !important;
        flex-direction:row !important;

        align-items:flex-start !important;
        justify-content:space-between !important;

        padding:8px 14px 0 10px !important;

        gap:0 !important;

        box-sizing:border-box !important;

        position:relative !important;
    }


    /* LOGO PRINCIPAL MÓVIL */

    body .navbar .nav-content > .logo {
        flex:0 0 180px !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        margin:0 !important;

        padding:0 !important;

        position:relative !important;

        left:0 !important;
        right:auto !important;
        top:0 !important;

        transform:none !important;

        display:flex !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;

        z-index:10 !important;
    }


    body .navbar .nav-content > .logo a {
        display:block !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        margin:0 !important;
        padding:0 !important;
    }


    body .navbar .nav-content > .logo img {
        display:block !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        height:auto !important;

        object-fit:contain !important;

        margin:0 !important;
        padding:0 !important;
    }


    /* SUBE SOLAMENTE LOS ANILLOS DEL LOGO PRINCIPAL */

    body .navbar .nav-content > .logo::before,
    body .navbar .nav-content > .logo::after {
        top:-45px !important;
    }


    /* OCULTA MENÚ PC */

    body .navbar .desktop-menu {
        display:none !important;

        width:0 !important;
        height:0 !important;

        overflow:hidden !important;

        visibility:hidden !important;
        opacity:0 !important;

        pointer-events:none !important;
    }


    /* HAMBURGUESA */

    body .navbar .hamburger {
        display:flex !important;

        flex:0 0 32px !important;

        flex-direction:column !important;
        justify-content:space-between !important;

        width:32px !important;
        min-width:32px !important;
        height:23px !important;

        margin:12px 0 0 auto !important;

        padding:0 !important;

        position:relative !important;

        top:auto !important;
        right:auto !important;
        left:auto !important;

        z-index:99999 !important;
    }


    /* TEXTO MARQUEE MÓVIL */

    body .navbar .metro-marquee-container {
        position:absolute !important;

        left:0 !important;
        top:82px !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;

        padding:0 !important;

        overflow:hidden !important;

        z-index:5 !important;
    }


    body .navbar .metro-marquee-text {
        font-size:clamp(9px,2.6vw,12px) !important;
    }
}


/* ===================================================== 
   LOGO DEL MENÚ LATERAL 
   NO AFECTA AL LOGO PRINCIPAL 
   ===================================================== */ 

.mobile-menu-header .logo { 
    width:175px !important; 
    min-width:175px !important; 
    max-width:175px !important; 

    margin:0 !important; 

    position:relative !important; 

    display:flex !important; 
    align-items:center !important; 
    justify-content:flex-start !important; 
} 

.mobile-menu-header .logo img { 
    width:210px !important; 
    min-width:210px !important; 
    max-width:210px !important; 

    height:auto !important; 
    object-fit:contain !important; 

    position:relative !important;

    left:23px !important;
    top:16px !important;

    transform:none !important;
} 

.mobile-menu-header .logo::before { 
    width:225px !important; 
    height:225px !important; 
} 

.mobile-menu-header .logo::after { 
    width:235px !important; 
    height:235px !important; 
} 



/* =========================================================
   PC / TABLET
   HAMBURGUESA OCULTA
   ========================================================= */

@media (min-width:681px) {

    .hamburger {
        display:none !important;
    }

    .mobile-menu,
    .mobile-menu-overlay {
        display:none !important;
    }
}

/* =========================================================
   NAVBAR SCROLLED - MISMO EFECTO GLASS EN TODOS LOS EQUIPOS
   PC / NOTEBOOK / TABLET / IPHONE / ANDROID
   ========================================================= */

.navbar.scrolled {
    top:45px !important;

    padding-top:10px !important;
    padding-bottom:25px !important;

    /* MISMA TRANSPARENCIA EN TODAS LAS PANTALLAS */
    background:rgba(5,10,24,.24) !important;

    /* MISMO CRISTAL / DESENFOQUE */
    backdrop-filter:
        blur(26px)
        saturate(240%)
        brightness(1.14)
        contrast(110%) !important;

    -webkit-backdrop-filter:
        blur(26px)
        saturate(240%)
        brightness(1.14)
        contrast(110%) !important;

    border-bottom:1px solid rgba(0,174,255,.20) !important;

    box-shadow:
        0 10px 34px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.05) !important;

    height:auto !important;
    max-height:none !important;

    transition:
        background .3s ease,
        backdrop-filter .3s ease,
        -webkit-backdrop-filter .3s ease,
        box-shadow .3s ease !important;
}


/* =========================================================
   TABLET / PANTALLAS INTERMEDIAS
   MISMO EFECTO, SOLO CONSERVA SU GEOMETRÍA
   ========================================================= */

@media (min-width:681px) and (max-width:1000px) {

    .navbar.scrolled {
        top:45px !important;

        background:rgba(5,10,24,.24) !important;

        backdrop-filter:
            blur(26px)
            saturate(240%)
            brightness(1.14)
            contrast(110%) !important;

        -webkit-backdrop-filter:
            blur(26px)
            saturate(240%)
            brightness(1.14)
            contrast(110%) !important;

        border-bottom:1px solid rgba(0,174,255,.20) !important;

        box-shadow:
            0 10px 34px rgba(0,0,0,.34),
            inset 0 1px 0 rgba(255,255,255,.05) !important;
    }
}


/* =========================================================
   TELÉFONO NORMAL
   MISMO GLASS DEL PC
   SOLO CAMBIA ALTURA / PADDING DEL NAVBAR
   ========================================================= */

@media (max-width:680px) {

    .navbar.scrolled {
        top:45px !important;

        padding-top:10px !important;
        padding-bottom:10px !important;

        min-height:auto !important;
        height:auto !important;
        max-height:none !important;

        /* EXACTAMENTE EL MISMO FONDO DEL PC */
        background:rgba(5,10,24,.24) !important;

        /* EXACTAMENTE EL MISMO EFECTO DEL PC */
        backdrop-filter:
            blur(26px)
            saturate(240%)
            brightness(1.14)
            contrast(110%) !important;

        -webkit-backdrop-filter:
            blur(26px)
            saturate(240%)
            brightness(1.14)
            contrast(110%) !important;

        border-bottom:1px solid rgba(0,174,255,.20) !important;

        box-shadow:
            0 10px 34px rgba(0,0,0,.34),
            inset 0 1px 0 rgba(255,255,255,.05) !important;
    }
}

/* =========================================================
   LOGO A LA IZQUIERDA DESDE 1096PX HACIA ABAJO
   ========================================================= */

@media (max-width:1096px) {

    .navbar .nav-content > .logo {
        margin-left:0 !important;
    }
}


/* =========================================================
   LOGO FINET - TAMAÑO NORMAL ENTRE 681PX Y 1000PX
   CONTINÚA CON EL MISMO TAMAÑO DEL MÓVIL
   ========================================================= */

@media (min-width:681px) and (max-width:1000px) {

    body .navbar .nav-content > .logo {
        flex:0 0 180px !important;

        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        margin-left:80px !important;
        margin-right:5px !important;
    }

    body .navbar .nav-content > .logo a {
        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;
    }

    body .navbar .nav-content > .logo img {
        width:180px !important;
        min-width:180px !important;
        max-width:180px !important;

        height:auto !important;
        object-fit:contain !important;
    }
}

/* =========================================================
   FINET - CAMBIO DEFINITIVO MENÚ / HAMBURGUESA
   976PX+ = MENÚ NORMAL
   975PX- = HAMBURGUESA
   CONSERVA POSICIÓN ACTUAL DE LA HAMBURGUESA
   ========================================================= */


/* =========================================================
   976PX HACIA ARRIBA
   MENÚ NORMAL
   ========================================================= */

@media (min-width:976px) {

    body .navbar .desktop-menu {
        display:flex !important;
        width:auto !important;
        height:auto !important;
        visibility:visible !important;
        opacity:1 !important;
        overflow:visible !important;
        pointer-events:auto !important;
    }

    body .navbar .hamburger {
        display:none !important;
    }

    .mobile-menu,
    .mobile-menu-overlay {
        display:none !important;
    }
}


/* =========================================================
   975PX HACIA ABAJO
   HAMBURGUESA SIEMPRE
   ========================================================= */

@media (max-width:975px) {

    /* DESAPARECE COMPLETAMENTE EL MENÚ NORMAL */
    body .navbar .desktop-menu {
        display:none !important;
        width:0 !important;
        min-width:0 !important;
        max-width:0 !important;
        height:0 !important;
        overflow:hidden !important;
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
        position:absolute !important;
    }

    /* APARECE LA HAMBURGUESA */
    body .navbar .hamburger {
        display:flex !important;

        flex:0 0 32px !important;
        flex-direction:column !important;
        justify-content:space-between !important;

        width:32px !important;
        min-width:32px !important;
        max-width:32px !important;
        height:23px !important;

        /* CONSERVA LA POSICIÓN QUE HABÍAMOS AJUSTADO */
        margin-left:auto !important;
        margin-right:75px !important;

        padding:0 !important;

        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;

        visibility:visible !important;
        opacity:1 !important;

        z-index:99999 !important;
    }

    /* HABILITA TU MENÚ LATERAL ACTUAL */
    .mobile-menu {
        display:flex !important;
    }

    .mobile-menu-overlay {
        display:block !important;
    }
}


/* =========================================================
   TELÉFONO 680PX HACIA ABAJO
   CONSERVA TU POSICIÓN MÓVIL ACTUAL
   ========================================================= */

@media (max-width:680px) {

    body .navbar .hamburger {
        margin:12px 0 0 auto !important;
    }
}

.channel-card-premium {
    position:relative !important;
    overflow:hidden !important;
}

.finet-premium-badge {
    position:absolute !important;
    top:12px !important;
    left:-34px !important;

    width:125px !important;
    height:24px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    transform:rotate(-42deg) !important;

    z-index:30 !important;

    background:linear-gradient(
        90deg,
        #8f5d00 0%,
        #d99a00 20%,
        #ffe27a 48%,
        #ffbf00 70%,
        #9c6500 100%
    ) !important;

    color:#111 !important;

    font-family:'Exo 2',sans-serif !important;
    font-size:9px !important;
    font-weight:800 !important;

    letter-spacing:1.2px !important;
    text-transform:uppercase !important;

    border-top:1px solid rgba(255,235,150,.9) !important;
    border-bottom:1px solid rgba(120,70,0,.8) !important;

    box-shadow:
        0 2px 6px rgba(0,0,0,.55),
        0 0 9px rgba(255,190,0,.45) !important;

    pointer-events:none !important;
}

.finet-premium-badge::before {
    content:"★";
    margin-right:5px !important;
    font-size:8px !important;
}

.finet-premium-badge::after {
    content:"";
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:2px !important;
    height:1px !important;
    background:rgba(255,255,255,.5) !important;
}

/* =========================================================
   SUBMENU DESKTOP EN PANTALLAS TÁCTILES
   Chrome "Sitio de computadora"
   ========================================================= */

@media (hover: none), (pointer: coarse) {

    .desktop-menu .menu-desplegable.touch-open > .submenu {
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateY(0) !important;
    }

}

@media (min-width:900px) and (max-width:999px) {

    .desktop-menu {
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        margin-left:auto !important;
        min-width:0 !important;
    }

    .hamburger,
    .mobile-menu,
    .mobile-menu-overlay {
        display:none !important;
    }

    .navbar .nav-content {
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding-left:0 !important;
        padding-right:6px !important;
        gap:4px !important;
    }

    .navbar .nav-content > .logo {
        margin-left:-30px !important;
        margin-right:8px !important;
        flex-shrink:0 !important;
    }

    .desktop-menu .nav-links {
        gap:4px !important;
        flex-wrap:nowrap !important;
    }

.desktop-menu .nav-links > li > a {
    font-size:16px !important;
    padding:7px 4px !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
}

    .desktop-menu .nav-actions {
        margin-left:3px !important;
    }

.desktop-menu .btn-glow {
    font-size:12px !important;
    padding:6px 7px !important;
    white-space:nowrap !important;
}
}

/* =========================================================
   SITIO COMPUTADORA / PANTALLA INTERMEDIA
   SOLO DE 900px A 999px
   MANTIENE TUS PARAMETROS ACTUALES
   ========================================================= */

@media (min-width:900px) and (max-width:999px) {

    /* LOGO */
    body .navbar .nav-content > .logo {
        top:12px !important;
    }

    /* ANILLO AZUL */
    body .navbar .nav-content > .logo::before {
        left:-20px !important;
        top:-50px !important;
    }

    /* ANILLO MORADO */
    body .navbar .nav-content > .logo::after {
        left:-25px !important;
        top:-50px !important;
    }
}

/* =========================================================
   SUBMENU DESKTOP PARA DISPOSITIVOS SIN MOUSE
   TELÉFONOS / TABLETS / "SITIO DE COMPUTADORA"
   NO AFECTA PC CON MOUSE
   ========================================================= */

@media (hover:none), (pointer:coarse) {

    .desktop-menu .menu-desplegable.touch-open > .submenu {
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateX(-50%) translateY(0) !important;
    }

}

@media (min-width:1001px) and (max-width:1120px) {

    .navbar .nav-content > .logo img {
        transform:translateX(28px) !important;
    }

}

/* =========================================================
   SEGUNDA NAVE FINET
   DERECHA -> IZQUIERDA
   ========================================================= */

.finet-ufo2-flight{
    position:absolute;
    right:-180px;
    top:10px;
    width:160px;
    height:50px;
    z-index:6;
    pointer-events:none;
    opacity:0;
}

.finet-ufo2{
    position:absolute;
    left:10px;
    top:8px;
    width:46px;
    height:22px;

    filter:
        drop-shadow(0 0 6px rgba(185,80,255,.95))
        drop-shadow(0 0 12px rgba(0,229,255,.55));

    transform:rotate(4deg);
}

.ufo2-dome{
    position:absolute;
    left:12px;
    top:0;

    width:22px;
    height:10px;

    border-radius:50% 50% 35% 35%;

    background:
        radial-gradient(
            circle at 50% 30%,
            #ffffff 0%,
            #d28cff 30%,
            #8a2be2 60%,
            transparent 72%
        );

    box-shadow:
        inset 0 0 4px #fff,
        0 0 8px rgba(180,70,255,.9);
}

.ufo2-body{
    position:absolute;
    left:2px;
    top:8px;

    width:42px;
    height:11px;

    border-radius:50%;

    background:
        linear-gradient(
            to bottom,
            #e1e4ec 0%,
            #9097a8 35%,
            #292033 70%,
            #09070d 100%
        );

    border:1px solid rgba(255,255,255,.55);

    box-shadow:
        0 0 8px rgba(180,70,255,.75),
        0 0 14px rgba(0,229,255,.35);
}

.ufo2-light{
    position:absolute;
    top:15px;

    width:4px;
    height:4px;

    border-radius:50%;

    background:#bc13fe;

    box-shadow:0 0 6px #bc13fe;

    animation:ufo2Blink .4s ease-in-out infinite alternate;
}

.ufo2-light-1{
    left:10px;
}

.ufo2-light-2{
    left:21px;
    background:#00e5ff;
    box-shadow:0 0 6px #00e5ff;
    animation-delay:.12s;
}

.ufo2-light-3{
    left:32px;
    animation-delay:.24s;
}

@keyframes ufo2Blink{
    from{
        opacity:.35;
        transform:scale(.7);
    }

    to{
        opacity:1;
        transform:scale(1.25);
    }
}

/* Estela hacia la derecha porque viaja a la izquierda */

.ufo2-trail{
    position:absolute;

    left:47px;
    top:19px;

    width:115px;
    height:2px;

    border-radius:10px;

    background:
        linear-gradient(
            to right,
            rgba(188,19,254,.95) 0%,
            rgba(188,19,254,.55) 35%,
            rgba(0,229,255,.25) 65%,
            transparent 100%
        );

    box-shadow:
        0 0 6px rgba(188,19,254,.65),
        0 0 14px rgba(188,19,254,.35);
}


/* =========================================================
   FLASH MINI NAVE 2
   ========================================================= */

.finet-ufo2-flash{
    position:absolute;

    width:16px;
    height:16px;

    left:50%;
    top:-10px;

    transform:translateX(-50%) scale(.15);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            #ffffff 0%,
            #ffffff 20%,
            #d9a9ff 42%,
            #bc13fe 58%,
            rgba(188,19,254,.25) 72%,
            transparent 80%
        );

    opacity:0;

    z-index:100;

    box-shadow:
        0 0 4px #ffffff,
        0 0 8px #bc13fe,
        0 0 13px rgba(188,19,254,.8);
}

.finet-ufo2-flash.active{
    animation:ufo2CameraFlash .24s ease-out;
}

@keyframes ufo2CameraFlash{

    0%{
        opacity:0;
        transform:translateX(-50%) scale(.15);
    }

    20%{
        opacity:1;
        transform:translateX(-50%) scale(1.15);
    }

    45%{
        opacity:.85;
        transform:translateX(-50%) scale(.8);
    }

    100%{
        opacity:0;
        transform:translateX(-50%) scale(.15);
    }
}


/* =========================================================
   MARCIANO
   ========================================================= */

.finet-alien{
    position:absolute;

    top:-17px;
    left:0;

    font-size:17px;

    z-index:999;

    pointer-events:none;

    filter:
        drop-shadow(0 0 4px rgba(88,255,130,.9))
        drop-shadow(0 0 8px rgba(88,255,130,.55));

    animation:
        alienWalk .33s ease-in-out infinite alternate,
        alienGlow .7s ease-in-out infinite alternate;
}

@keyframes alienWalk{

    from{
        transform:
            translateY(0)
            rotate(-8deg)
            scale(1);
    }

    to{
        transform:
            translateY(-3px)
            rotate(8deg)
            scale(1.05);
    }
}

@keyframes alienGlow{

    from{
        opacity:.75;
    }

    to{
        opacity:1;
    }
}


/* Asegurar que el marciano pueda posicionarse
   encima de las letras */

.nav-links > li{
    position:relative !important;
}

.nav-links > li > a{
    position:relative !important;
}

/* =========================================================
   MODAL CCTV FINET
   ========================================================= */

.finet-modal-trigger{
    background:transparent !important;
    border:none !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
    font:inherit !important;
}

.finet-cctv-modal-overlay{
    position:fixed;
    inset:0;

    display:none;
    align-items:center;
    justify-content:center;

    padding:20px;

    background:rgba(0,0,0,.82);

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    z-index:999999;
}

.finet-cctv-modal-overlay.active{
    display:flex;
}

.finet-cctv-modal{
    position:relative;

    width:100%;
    max-width:430px;

    max-height:90vh;
    overflow-y:auto;

    background:
        linear-gradient(
            145deg,
            rgba(12,12,22,.98),
            rgba(8,8,16,.98)
        );

    border:1px solid rgba(138,43,226,.8);

    border-radius:16px;

    padding:30px 26px;

    box-shadow:
        0 0 25px rgba(138,43,226,.35),
        0 25px 60px rgba(0,0,0,.65);

    box-sizing:border-box;
}

.finet-cctv-close{
    position:absolute;

    top:12px;
    right:14px;

    border:none;
    background:transparent;

    color:#aaa;

    font-size:28px;

    cursor:pointer;

    line-height:1;
}

.finet-cctv-close:hover{
    color:#fff;
}

.finet-cctv-modal-icon{
    font-size:22px;
    margin-bottom:6px;
}

.finet-cctv-modal h2{
    margin:0 0 8px 0;

    font-family:'Exo 2',sans-serif;

    font-size:1.35rem;

    font-weight:800;

    text-transform:uppercase;

    color:#00ffcc;

    letter-spacing:1px;
}

.finet-cctv-modal > p{
    margin:0 0 22px 0;

    color:#aaa;

    font-family:'Exo 2',sans-serif;

    font-size:.92rem;

    line-height:1.5;
}

.finet-cctv-field{
    margin-bottom:16px;
}

.finet-cctv-field label{
    display:block;

    margin-bottom:6px;

    color:#fff;

    font-family:'Exo 2',sans-serif;

    font-size:.8rem;

    font-weight:800;

    text-transform:uppercase;
}

.finet-cctv-field input,
.finet-cctv-field select,
.finet-cctv-field textarea{
    width:100%;

    padding:12px 14px;

    box-sizing:border-box;

    border-radius:7px;

    border:1px solid rgba(255,255,255,.14);

    background:rgba(255,255,255,.045);

    color:#fff;

    font-family:'Exo 2',sans-serif;

    font-size:.92rem;

    outline:none;

    transition:.25s ease;
}

.finet-cctv-field input:focus,
.finet-cctv-field select:focus,
.finet-cctv-field textarea:focus{
    border-color:#8a2be2;

    box-shadow:0 0 10px rgba(138,43,226,.3);
}

.finet-cctv-field textarea{
    min-height:90px;
    resize:vertical;
}

.finet-cctv-whatsapp-btn{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:8px;

    border:none;

    padding:13px 15px;

    border-radius:8px;

    background:
        linear-gradient(
            135deg,
            #1e90ff,
            #8a2be2
        );

    color:#fff;

    font-family:'Exo 2',sans-serif;

    font-weight:800;

    font-size:.95rem;

    cursor:pointer;

    box-shadow:0 0 18px rgba(138,43,226,.25);
}

.finet-cctv-whatsapp-btn:hover{
    transform:translateY(-1px);
}

.finet-cctv-note{
    margin-top:12px;

    color:#666;

    font-family:'Exo 2',sans-serif;

    font-size:.75rem;

    text-align:center;
}

@media(max-width:680px){

    .finet-cctv-modal-overlay{
        padding:12px;
    }

    .finet-cctv-modal{
        max-width:100%;
        padding:26px 18px;
    }

}

/* =========================================================
   SELECTS OSCUROS DEL MODAL CCTV
   ========================================================= */

.finet-cctv-field select{
    background:#15151f !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color-scheme:dark !important;
}

.finet-cctv-field select option{
    background:#15151f !important;
    color:#ffffff !important;
}

.finet-cctv-field select option:checked{
    background:#2b1b4f !important;
    color:#ffffff !important;
}

.finet-cctv-field select option:hover{
    background:#24153f !important;
    color:#ffffff !important;
}

/* =========================================================
   BOTONES DE ACCIÓN CCTV MÁS VISIBLES
   ========================================================= */

.finet-cyber-action{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin-top:14px !important;
    padding:8px 14px !important;

    border:1px solid rgba(0,255,204,.65) !important;
    border-radius:7px !important;

    background:
        linear-gradient(
            135deg,
            rgba(0,255,204,.10),
            rgba(0,174,255,.06)
        ) !important;

    color:#00ffcc !important;

    font-family:'Rajdhani',sans-serif !important;
    font-size:.78rem !important;
    font-weight:800 !important;

    letter-spacing:1.5px !important;
    text-transform:uppercase !important;

    box-shadow:
        0 0 8px rgba(0,255,204,.18),
        inset 0 0 8px rgba(0,255,204,.04) !important;

    cursor:pointer !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        border-color .2s ease !important;
}

.finet-cyber-action:hover{
    transform:translateY(-2px) scale(1.04) !important;

    background:
        linear-gradient(
            135deg,
            rgba(0,255,204,.22),
            rgba(0,174,255,.13)
        ) !important;

    border-color:#00ffcc !important;
    color:#ffffff !important;

    box-shadow:
        0 0 12px rgba(0,255,204,.55),
        0 0 25px rgba(0,174,255,.20) !important;
}

.finet-cyber-action:active{
    transform:scale(.96) !important;
}

.form-group-cobertura select option{
    background:#0d0d14 !important;
    color:#ffffff !important;
}

.form-group-cobertura select option:disabled{
    background:#11111a !important;
    color:#00ffcc !important;
    font-weight:800 !important;
}

/* =========================================================
   FINET - DÓNDE ESTAMOS PREMIUM
   ========================================================= */

.finet-location-premium{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;

    max-width:1180px !important;
    margin:0 auto !important;

    overflow:hidden !important;

    border:1px solid rgba(0,174,255,.18) !important;
    border-left:2px solid #00aeff !important;

    border-radius:22px !important;

    background:
        linear-gradient(
            135deg,
            rgba(7,12,22,.97),
            rgba(8,14,25,.94)
        ) !important;

    box-shadow:
        0 25px 70px rgba(0,0,0,.35),
        0 0 25px rgba(0,174,255,.04) !important;
}


/* COLUMNA IZQUIERDA */

.finet-location-info{
    padding:55px 60px !important;
    box-sizing:border-box !important;
}

.finet-location-eyebrow{
    display:flex;
    align-items:center;
    gap:9px;

    color:#00ffcc;

    font-family:'Rajdhani',sans-serif;
    font-size:.82rem;
    font-weight:800;

    letter-spacing:2.2px;
    text-transform:uppercase;

    margin-bottom:18px;
}

.finet-location-dot{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#00ffcc;

    box-shadow:
        0 0 8px #00ffcc,
        0 0 15px rgba(0,255,204,.6);
}

.finet-location-title{
    display:flex;
    align-items:center;
    gap:12px;

    margin:0 0 20px 0 !important;

    color:#ffffff !important;

    font-family:'Exo 2',sans-serif !important;
    font-size:2.7rem !important;
    font-weight:800 !important;

    letter-spacing:-1px;
}

.finet-pin{
    font-size:2rem;
}

.finet-location-description{
    max-width:510px;

    margin:0 0 32px 0 !important;

    color:#8f9bad !important;

    font-family:'Rajdhani',sans-serif !important;
    font-size:1.06rem !important;

    line-height:1.65 !important;
}


/* BLOQUES DE INFORMACIÓN */

.finet-location-block{
    position:relative;

    display:flex;
    align-items:center;

    gap:16px;

    padding:16px 18px;

    margin-bottom:14px;

    border:1px solid rgba(255,255,255,.055);

    border-radius:12px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.025),
            rgba(255,255,255,.008)
        );

    transition:.25s ease;
}

.finet-location-block:hover{
    transform:translateX(3px);

    border-color:rgba(0,255,204,.18);

    background:
        linear-gradient(
            135deg,
            rgba(0,255,204,.035),
            rgba(255,255,255,.008)
        );
}

.finet-location-icon{
    min-width:43px;
    width:43px;
    height:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:10px;

    background:rgba(0,174,255,.08);

    border:1px solid rgba(0,174,255,.25);

    color:#00aeff;

    font-size:1rem;
}

.finet-location-icon.whatsapp{
    background:rgba(37,211,102,.07);
    border-color:rgba(37,211,102,.25);
    color:#25d366;
}

.finet-location-content{
    flex:1;

    display:flex;
    flex-direction:column;

    gap:5px;
}

.finet-location-content strong{
    color:#ffffff;

    font-family:'Exo 2',sans-serif;
    font-size:.96rem;
    font-weight:800;
}

.finet-location-content small{
    color:#64748b;

    font-family:'Rajdhani',sans-serif;
    font-size:.83rem;
}

.finet-location-phone{
    color:#d8dee7;

    font-family:'Rajdhani',sans-serif;
    font-size:1rem;
}


/* CHIPS DE ZONAS */

.finet-zone-chips{
    display:flex;
    flex-wrap:wrap;

    gap:6px;

    margin-top:3px;
}

.finet-zone-chips span{
    padding:4px 9px;

    border-radius:30px;

    background:rgba(0,174,255,.06);

    border:1px solid rgba(0,174,255,.15);

    color:#aab8c8;

    font-family:'Rajdhani',sans-serif;
    font-size:.76rem;
    font-weight:700;
}


/* ESTADO DISPONIBLE */

.finet-online-status{
    display:flex;
    align-items:center;

    gap:6px;

    color:#60d394;

    font-family:'Rajdhani',sans-serif;
    font-size:.7rem;
    font-weight:800;

    letter-spacing:.5px;
}

.finet-online-status span{
    width:6px;
    height:6px;

    border-radius:50%;

    background:#25d366;

    box-shadow:0 0 8px #25d366;
}


/* BOTONES */

.finet-location-actions{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

    margin-top:24px;
}

.finet-location-btn{
    min-height:58px;

    display:flex;
    align-items:center;

    gap:11px;

    padding:11px 16px;

    border-radius:10px;

    text-decoration:none !important;

    box-sizing:border-box;

    transition:.25s ease;
}

.finet-location-btn i{
    font-size:1.05rem;
}

.finet-location-btn span{
    display:flex;
    flex-direction:column;

    gap:2px;
}

.finet-location-btn strong{
    font-family:'Exo 2',sans-serif;
    font-size:.77rem;
    font-weight:800;

    text-transform:uppercase;
}

.finet-location-btn small{
    font-family:'Rajdhani',sans-serif;
    font-size:.72rem;
}

.finet-location-btn-primary{
    background:
        linear-gradient(
            135deg,
            #00ffcc,
            #00b98e
        );

    color:#04110d !important;

    box-shadow:
        0 8px 20px rgba(0,255,204,.15);
}

.finet-location-btn-primary:hover{
    transform:translateY(-2px);

    box-shadow:
        0 10px 25px rgba(0,255,204,.25);
}

.finet-location-btn-primary small{
    color:rgba(4,17,13,.65);
}

.finet-location-btn-secondary{
    background:rgba(30,144,255,.045);

    color:#ffffff !important;

    border:1px solid rgba(30,144,255,.35);
}

.finet-location-btn-secondary:hover{
    transform:translateY(-2px);

    background:rgba(30,144,255,.09);

    border-color:#1e90ff;
}

.finet-location-btn-secondary small{
    color:#7f8ea3;
}


/* COLUMNA MAPA */

.finet-map-side{
    padding:38px !important;

    box-sizing:border-box !important;

    background:
        linear-gradient(
            180deg,
            rgba(10,17,30,.55),
            rgba(7,12,22,.30)
        );
}

.finet-map-header{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-bottom:14px;
}

.finet-map-header > div:first-child{
    display:flex;
    flex-direction:column;

    gap:3px;
}

.finet-map-label{
    color:#00aeff;

    font-family:'Rajdhani',sans-serif;
    font-size:.68rem;
    font-weight:800;

    letter-spacing:1.5px;
}

.finet-map-header strong{
    color:#fff;

    font-family:'Exo 2',sans-serif;
    font-size:.95rem;
}

.finet-map-live{
    display:flex;
    align-items:center;

    gap:6px;

    color:#00ffcc;

    font-family:'Rajdhani',sans-serif;
    font-size:.66rem;
    font-weight:800;

    letter-spacing:1px;
}

.finet-map-live span{
    width:6px;
    height:6px;

    border-radius:50%;

    background:#00ffcc;

    box-shadow:0 0 8px #00ffcc;
}


/* MAPA */

.finet-map-container{
    overflow:hidden;

    border-radius:15px !important;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:
        0 15px 35px rgba(0,0,0,.35);
}

.finet-map-container iframe{
    display:block;

    width:100% !important;
    height:390px !important;

    border:0 !important;
}


/* PIE DEL MAPA */

.finet-map-footer{
    display:flex;
    align-items:flex-start;

    gap:8px;

    margin-top:12px;

    color:#66758a;

    font-family:'Rajdhani',sans-serif;
    font-size:.76rem;

    line-height:1.35;
}

.finet-map-footer i{
    color:#00aeff;
    margin-top:2px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:850px){

    .finet-location-premium{
        grid-template-columns:1fr !important;
    }

    .finet-location-info{
        padding:32px 24px !important;
    }

    .finet-location-title{
        font-size:2.1rem !important;
    }

    .finet-map-side{
        padding:24px !important;
    }

    .finet-map-container iframe{
        height:320px !important;
    }

}


@media(max-width:520px){

    .finet-location-info{
        padding:27px 18px !important;
    }

    .finet-location-title{
        font-size:1.8rem !important;
    }

    .finet-location-actions{
        grid-template-columns:1fr;
    }

    .finet-online-status{
        display:none;
    }

    .finet-map-side{
        padding:18px !important;
    }

    .finet-map-container iframe{
        height:280px !important;
    }

}