/* --- LIMPIEZA Y ESTILO BASE PC --- */
:root {
    color-scheme: dark only;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body {
    background-color: #05051a;
    font-family: sans-serif;
    min-width: 1920px;
    /* Forzamos un ancho mínimo de monitor estándar */
    overflow-x: auto;
    /* Permite que aparezca la barra de scroll horizontal */
    max-width: 1920px;
    margin: 0 auto;
    /* centra */
    background: #0000;
    /* o imagen */
}

.interactivo {
    touch-action: manipulation;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.interactivo:active {
    transform: scale(0.98);
    /* Solo un toque sutil */
    opacity: 1 !important;
    /* Que no se vuelva transparente */
}

/* Forzar que el botón de convocatoria no se mueva al clickear */
.no-anim:active img {
    transform: none !important;
}

/* --- CONTENEDOR MAESTRO PC (EDGE-TO-EDGE) --- */
.pc-viewport-edge {
    position: relative;
    width: 100%;
    min-width: 1920px;
    /* El contenedor ya no se dejará aplastar a menos de 1280px */
    left: 0;
    transform: none;
    min-height: 100vh;
    background-color: #05051a;
    overflow: hidden;
    /* Esto asegura que el contenido interno que sobresale no rompa el fondo */
}


.fondo-base-pc {
    width: 100%;
    height: auto;
    display: block;
    pointer-events: none;
    isolation: isolate;
}


/* Clase maestra para posicionamiento absoluto */
.abs-el {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/* ==========================================
   1. AJUSTES DE TAMAÑO Y POSICIÓN PC
   ========================================== */

/* Carrusel SUPERIOR SE BUSCA (Edge y Coordenadas para AVIF) */
.carrusel-top-edge {
    top: 25vh;
    /* Coordenada visual */
    width: 100vw;
    /* Forzamos ancho total de la PC */
    left: 0;
    transform: none;
    overflow: hidden;
    /* JS manejará el scroll */
    z-index: 5;
    height: 750px;
    /* Altura del contenedor para acomodar imágenes gigantes */
}

.track-infinite-top {
    display: flex;
    gap: 0px;
    /* Sin gap entre carteles para loop perfecto */
    width: max-content;
}

.track-infinite-top img {
    height: 790px;
    /* ¡¡50% más grande que el anterior (525px)!! */
    width: auto;
    border-radius: 15px;
}

/* 2. [AJUSTE - PUNTO 2] Carrusel de la palabra CASTING (Edge, Doble Grande, Sin Gap) */
.carrusel-casting-edge {
    top: 75vh;
    /* Coordenada visual en AVIF */
    width: 100vw;
    left: 0;
    transform: none;
    overflow: hidden;
    z-index: 5;
    height: 300px;
    /* Altura del contenedor */
}

.track-infinite-casting {
    display: flex;
    gap: 0;
    /* IMPRESCINDIBLE: Sin gap para loop perfecto */
    width: max-content;
}

.track-infinite-casting img {
    width: 100vw;
    /* El banner ocupa todo el ancho visual */
    height: 250px;
    /* ¡¡Doble de grande que el anterior!! (Era auto-scaled) */
    display: block;
    object-fit: cover;
    /* Asegura que cubra el espacio sin deformarse excesivamente */
}

/* Botones y Requisitos (Mismos %, tamaño Huge) */
.convocatoria-pc {
    top: 35%;
    left: 46.5%;
    /* Coordenada visual */
    width: 90%;
}

.btn-interactivo-huge {
    width: 800px;
    /* Tamaño Huge para PC */
    cursor: pointer;
    display: block;
    margin: 0 auto;
}

.requisitos-pc-huge {
    top: 45%;
    /* Coordenada visual */
    width: 90%;
}

.task-column-huge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.btn-task-huge {
    width: 1000px;
    /* Tamaño Huge para PC */
    cursor: pointer;
}

/* --- 3. CARRUSEL DE PERSONAJES HUGE (Igual que móvil but Huge) --- */
.personajes-carousel-pc-huge {
    top: 63.5%;
    /* Coordenada visual */
    width: 100%;
    /* Forzamos ancho total para centrar la tarjeta huge */
    height: 1400px;
    /* Altura necesaria para tarjetas gigantes */
}

.personajes-viewport-pc {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    scroll-behavior: smooth;
    width: 100%;
}

.personajes-viewport-pc::-webkit-scrollbar {
    display: none;
}

.personaje-item-pc-huge {
    flex: 0 0 100%;
    scroll-snap-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.personaje-item-pc-huge img {
    width: 100%;
    /* Ocupa el 80% del viewport visual */
    max-width: 1400px;
    /* ¡¡Enorme para PC!! */
    height: auto;
    border-radius: 30px;
}

/* Controles del carrusel huge */
.carousel-controls-huge {
    position: absolute;
    bottom: 670px;
    /*entre mas se aumenta mas sube*/
    /* Anclados abajo de la tarjeta huge */
    left: 50%;
    transform: translateX(-50%);
    width: 1300px;
    /* Ancho que envuelve a la tarjeta de 1000px */
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
}

.ctrl-btn-huge {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #c3c3c3;
    border-radius: 50%;
    width: 60px;
    /* Botones más grandes para PC */
    height: 60px;
    font-size: 28px;
    color: #000000;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
}

.carousel-dots-huge {
    display: flex;
    gap: 12px;
}

.dot-pc {
    width: 14px;
    height: 14px;
    background: rgba(195, 195, 195, 0.7);
    border-radius: 50%;
}

.dot-pc.active {
    background: linear-gradient(90deg, #9D4EDD, #00F5D4);
    width: 35px;
    border-radius: 7px;
}

/* --- BOTÓN SUBE TU CASTING DESKTOP --- */
.btn-subir-pc-container {
    top: 75.2%;
    /* Se ubica entre el carrusel de personajes y las preguntas */
    width: 100%;
    display: flex;
    justify-content: center;
}

.btn-subir-huge {
    width: 900px;
    /* Tamaño masivo para que combine con el resto */
    height: auto;
    transition: transform 0.3s ease;
}

.btn-subir-huge:hover {
    transform: scale(1.05);
    /* Efecto sutil al pasar el mouse */
}

/* --- 4. FAQ HUGE (Burbujas gigantes) --- */
.faq-column-huge {
    top: 85%;
    /* Coordenada visual final */
    width: 90%;
}

.faq-column-huge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
}

.faq-btn-huge {
    width: 900px;
    /* ¡¡Enorme para PC!! */
    cursor: pointer;
}

/* ==========================================
   2. REINTEGRACIÓN DE STICKERS Y CONTACTO
   ========================================== */

/* [PUNTO 4] Pegatinas arrastrables PC */
.sticker-pc-h {
    width: 200px;
}

/* Nada mas cool, Que waso */
.sticker-pc-v {
    width: 160px;
}

/* 100% humano */

.header-cool-pc {
    top: 25%;
    left: 80%;
    width: 180px;
}

.img-waso-pc {
    top: 58%;
    left: 8%;
}

.img-humano-pc {
    top: 58%;
    left: 88%;
}

/* ==========================================
   2. REINTEGRACIÓN DE STICKERS Y CONTACTO
   ========================================== */

/* Pegatinas arrastrables PC */
.sticker-pc-h {
    width: 200px;
}

.sticker-pc-v {
    width: 160px;
}

.header-cool-pc {
    top: 15%;
    left: 85%;
    width: 220px;
}

.img-waso-pc {
    top: 20%;
    left: 10%;
    width: 450px;
}

.img-humano-pc {
    top: 65%;
    left: 88%;
    width: 180px;
}

/* Contactos (Bajo el título) */
.title-contacto-pc {
    top: 79%;
    left: 85%;
    /* Ajustado para que encaje en la franja magenta */
    width: 25%;
}

.redes-container-pc {
    top: 98.4%;
    left: 12%;
    /* Separa los iconos del título */
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 40px;
}

.redes-container-pc img {
    width: 80px;
    /* Tamaño generoso para desktop */
    transition: transform 0.2s;
}

.redes-container-pc img:hover {
    transform: scale(1.1);
}

/* Interrogación rosa */
.icon-interrogacion-pc {
    top: 92%;
    /* A la altura del título pero a la derecha */
    left: 30%;
    width: 250px;
}

/* --- 1. MODAL GIGANTE Y CENTRADO (Solución punto 2) --- */
/* --- MODAL FIJO (Solución al modal que se abre afuera) --- */
.modal {
    display: none;
    position: fixed;
    /* CAMBIO CLAVE: Se pega a la pantalla, no al fondo */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(5, 5, 26, 0.95);
    backdrop-filter: blur(10px);
    z-index: 99999;
    /* Por encima de TODO */
}

.modal-content {
    background-color: #1a1a3a;
    position: absolute;
    top: 50%;
    /* Centro vertical de la pantalla */
    left: 50%;
    /* Centro horizontal de la pantalla */
    transform: translate(-50%, -50%);
    /* Centrado matemático perfecto */
    padding: 60px;
    border: 3px solid #ccff00;
    border-radius: 30px;
    width: 80%;
    max-width: 900px;
    color: white;
    text-align: center;
    box-shadow: 0 0 50px rgba(204, 255, 0, 0.3);
}

#modal-body h2 {
    font-size: 3rem;
    margin-bottom: 20px;
    color: #ccff00;
}

#modal-body p {
    font-size: 1.8rem;
    line-height: 1.5;
}