﻿/* =========================================
   REGISTRO.CSS - Landing ElectroFans
   ========================================= */

/* =========================
   FUENTES
   ========================= */
@font-face {
    font-family: 'Grotesk';
    src: url('/ld/BasePlantilla/Fuentes/Grotesk.otf') format('opentype');
}

@font-face {
    font-family: 'Grotesk-Bold';
    src: url('/ld/BasePlantilla/Fuentes/Grotesk-Bold.otf') format('opentype');
}

@font-face {
    font-family: 'Grotesk-Extra-Bold';
    src: url('/ld/BasePlantilla/Fuentes/Grotesk-ExtraBold.otf') format('opentype');
}

@font-face {
    font-family: 'Kostic';
    src: url('/ld/BasePlantilla/Fuentes/Kostic-RocGroteskCondensed.otf') format('opentype');
    font-stretch: condensed;
}

/* =========================
   VARIABLES CSS
   ========================= */
:root {
    /* Colores ElectroFans */
    --ef-cyan: #00EAF0;
    --ef-coral: #F46D5E;
    --ef-dark: #000000;
    --ef-accent: #2D4E19;
    --ef-salmon: #DE6B5E;
    --ef-text: #010101;
    --ef-muted: rgba(0,0,0,.68);
    /* Colores generales */
    --color-primary: #FC5B31;
    --color-secondary: #ff701e;
    --color-background: #E9E9E9;
    --color-form-bg: #FFE9D1;
    --color-border: #DADADA;
    --color-text: #000000;
    --color-text-muted: #888;
    --color-text-dark: #444444;
}
html, body {
    margin: 0;
    overflow-x: hidden;
}

/* =========================
   TIPOGRAFÍA BASE
   ========================= */
p {
    margin: 0;
    font-size: clamp(14px, 1.6vw, 18px);
    line-height: 1.45;
}

.cuerpo-texto {
    visibility: hidden;
}

h1.title {
    font-size: 38px;
    text-align: center;
}


h2.title {
    font-size: 25px;
}

h3.title {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 10px !important;
}

/* =========================
   LAYOUT PRINCIPAL
   ========================= */
.electrofans {
    font-family: 'NovaLight';
    text-align: center;
    min-height: 50vh;
}

#electrofans,
#electrofans-evento {
    display: none;
}

.contentContainer {
    padding-inline: 12px;
}


@media (min-width: 576px) {
    .contentContainer {
        padding-inline: 16px;
    }
}

@media (min-width: 992px) {
    .contentContainer {
        max-width: 1290px;
        margin-inline: auto;
    }
}

/* =========================
   BANNER PRINCIPAL
   ========================= */
#DivSeccionBannerPrincipal {
    line-height: 0;
}

    #DivSeccionBannerPrincipal a img,
    #DivSeccionBannerPrincipal .ImagenBannerCM {
        display: none;
        width: 100%;
        height: auto;
        margin: 0;
        position: static !important;
        object-fit: contain;
        object-position: center;
        /*padding-top: 65px;*/
    }

/* Banners: el JS decide el src; CSS alterna visibilidad por breakpoint */
#banner,
#bannerM {
    display: block;
    width: 100%;
    min-height: 28vh;
}

/* Asegurar que siempre haya un banner visible */
#DivSeccionBannerPrincipal {
    line-height: 0;
    overflow: visible;
}

/* =========================
   LANDING PRODUCTOS
   ========================= */
.landing-productos {
    background-color: var(--color-background) !important;
}

    .landing-productos .tituloMejoresOfertasCM {
        margin-block: 12px 20px;
        white-space: nowrap;
    }

    .landing-productos .centradoCajas {
        margin-inline: auto;
    }

        .landing-productos .centradoCajas .margenSuperiorMejoresOfertas {
            margin-top: 12px;
        }

.carruselProductos {
    padding-inline: 0;
}

.ProductosCarrusel > div:first-child {
    width: 90vw !important;
}

/* =========================
   FORMULARIO
   ========================= */
#formularioRegistroPrevio {
    background-color: var(--color-background);
    padding-block: 34px 60px;
    margin-top: 162px;
}

    #formularioRegistroPrevio #lblRegistro {
        font-family: 'NovaBold';
        color: var(--ef-dark);
        padding-bottom: 50px;
        width: 380px;
        margin-top: 8px;
        display: flex;
        justify-content: end;
    }

        #formularioRegistroPrevio #lblRegistro p {
            font-size: 50px;
            line-height: 0.9;
            letter-spacing: -3.5px;
            max-width: 11ch;
            text-align: right;
        }

    #formularioRegistroPrevio .formulario {
        display: flex;
        flex-direction: column;
        gap: 10.5px;
    }

        #formularioRegistroPrevio .formulario #codArea {
            width: 130px;
        }

        #formularioRegistroPrevio .formulario #celular {
            flex-grow: 1;
            width: auto;
        }

    #formularioRegistroPrevio .contenedor {
        max-width: 1200px;
        margin-inline: auto;
        display: flex;
        justify-content: center;
        align-items: start;
        gap: 38px;
    }

    #formularioRegistroPrevio input,
    #formularioRegistroPrevio select,
    #formularioRegistroPrevio .select {
        height: 48px;
        width: 380px;
        max-width: 380px;
        border: 0;
        border-radius: 8px;
        outline: none;
        background: #fff;
        font-size: 18px;
        color: var(--color-text);
        margin: 0;
    }

    #formularioRegistroPrevio select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    #formularioRegistroPrevio .select {
        position: relative;
    }

        #formularioRegistroPrevio .select::after {
            content: '▼';
            font-size: 18px;
            color: var(--ef-accent);
            position: absolute;
            right: 14px;
            top: 50%;
            transform: translateY(-50%) scaleY(.70);
            pointer-events: none;
        }

    #formularioRegistroPrevio input::placeholder {
        font-size: 20px;
        color: var(--color-text);
    }

    #formularioRegistroPrevio .botonEnviar {
        background: var(--ef-coral);
        color: #fff !important;
        height: 48px;
        width: 190px;
        border-radius: 8px;
        font-family: 'NovaBold';
        font-size: 24px;
        letter-spacing: 0px;
        align-self: start;
        padding-top: 4px;
    }

    #formularioRegistroPrevio .formulario .d-flex {
        display: block;
    }

/* =========================
   MENSAJE DE GRACIAS
   ========================= */
#txtGracias {
    background-color: var(--ef-cyan);
    margin-top: 0;
    padding-block: 24px;
}

    #txtGracias p {
        font-family: 'Grotesk-Bold';
        color: var(--color-primary);
        line-height: 1;
        font-size: 36px;
    }

    #txtGracias h4 {
        color: var(--color-secondary);
    }

/* =========================
   TÍTULOS ELECTROFANS
   ========================= */
.tituloelectrofans,
.descelectrofans {
    color: var(--color-text) !important;
    margin-block: 20px;
    font-size: clamp(20px, 3.2vw, 31px) !important;
    font-weight: 600;
    line-height: 1.2;
    font-family: 'NovaBold';
    width: 100%;
}

/* =========================
   TABLAS
   ========================= */
.tablaMobile {
    display: none;
}

.tablaDesktop {
    display: block;
}

.tamañoTextoTabla {
    color: var(--color-text-muted);
    font-size: 18px;
    text-align: justify;
    line-height: 26px;
}

.tamañoTituloTabla {
    color: var(--color-text-dark);
    font-size: 22px;
    flex-wrap: nowrap;
    width: 50%;
    padding-left: 75px;
}

.renglonTabla {
    border-bottom: 1px groove;
}

.borderB {
    border-bottom: 1px solid var(--color-border) !important;
}

/* =========================
   CONTENIDO MIXTO
   ========================= */
.CMFila h2 {
    font-weight: 600;
    color: var(--color-text);
}

.CMFila .tamañoTexto {
    text-align: left;
    color: var(--color-text);
    line-height: 30px;
    padding-left: 150px;
    font-size: 20px;
    width: 94%;
    font-family: 'NovaLight';
}

.textoSinPadding {
    color: var(--color-text);
    line-height: 30px;
    font-size: 20px;
    width: 90%;
    font-family: 'NovaLight';
    padding-left: 112px;
}

.titulo-comunidad-megatone {
    color: var(--color-text);
    font-family: 'NovaBold';
    padding-left: 13%;
    letter-spacing: -1px;
}

.texto-azul {
    font-family: 'NovaBold';
    color: var(--bs-info-text);
    line-height: 1.3;
    padding-bottom: 4px;
}

.promoTercera {
    background-color: unset !important;
}

/* =========================
   COUNTDOWN
   ========================= */
#relojEventos, #relojEventos * {
    box-shadow: none !important;
    border: 0 !important;
    text-shadow: none !important;
}

#relojEventos {
    position: relative;
    width: 100%;
    height: 69px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 10px;
    background: var(--ef-salmon);
    color: var(--ef-text);
    font-size: 60px;
    text-transform: uppercase;
    line-height: 1;
    z-index: 1;
}

    #relojEventos::before,
    #relojEventos::after {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        letter-spacing: .4px;
        color: var(--ef-text);
        white-space: nowrap;
        pointer-events: none;
        opacity: .96;
        font-size: 28px;
    }

    #relojEventos::before {
        left: 28px;
    }

    #relojEventos::after {
        right: 28px;
    }

.ef-pretitle,
.ef-title {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: -0.52px;
    font-family: 'NovaLight';
    font-size: 26px;
    line-height: 1.1;
    color: var(--color-text);
    text-align: right;
}

#relojEventos .unidad {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-items: center;
    min-width: 49px;
    padding: 0 4px;
    gap: 8px;
}

    #relojEventos .unidad:not(:last-child)::after {
        content: none !important;
    }

#relojEventos .Numeros {
    font-size: 60px;
    letter-spacing: -3px;
    color: var(--ef-text);
    opacity: 1;
    font-family: 'NovaBold';
}

#relojEventos .Leyenda {
    margin-top: 15px;
    font-size: 32px;
    letter-spacing: .7px;
    color: var(--color-text);
}

/* =========================
   BANNER INTERMEDIO
   ========================= */
.bannerIntermedio {
    margin: 0;
    padding: 0;
    overflow: hidden;
    line-height: 0;
}

    .bannerIntermedio img {
        width: 100%;
        height: auto;
        border-radius: 0;
    }

/* =========================
   CARRUSELES
   ========================= */
.swiper-button-prev, .swiper-button-next {
    display: none;
}

.marginCarruselCategorias.marcas {
    margin-top: 28px !important;
}

.swiper-carrusel-preFooter .TituloCajaGuia {
    width: 230px !important;
}

.customer-logos.marginCarruselCategorias .swiper {
    padding-left: 75px;
}

.marginCarruselCategorias .swiper .swiper-button-prev,
.marginCarruselCategorias .swiper .swiper-button-next {
    top: 3px !important;
    width: 50px !important;
}

.marginCarruselCategorias .swiper .swiper-button-prev {
    margin-left: -17px !important;
    width: 50px !important;
}

/* =========================
   RESPONSIVE
   ========================= */

/* Mobile First - Base styles */
.resolucionDesktopFlex {
    display: none !important;
}

.resolucionMobileFlex {
    display: block !important;
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
    /* Asegurar que el banner sea visible en tablets */
    /* #DivSeccionBannerPrincipal {
        min-height: 180px;
    }

    #banner, #bannerM {
        min-height: 180px;
    }*/

    #relojEventos {
        height: 69px;
        gap: 30px;
        padding: 16px 18px;
    }

        #relojEventos .unidad {
            min-width: 100px;
        }

        #relojEventos .Numeros {
            font-size: 60px;
        }

    /* #relojEventos .Leyenda {
            font-size: 14px;
            margin-top: 6px;
        }*/
}

@media (min-width: 1200px) {
    #banner {
        display: block;
        padding-top: 1px;
    }
}


/* Desktop (≥ 1000px) alineado con JS (>999) */
@media (max-width: 1000px) {
    /* Banner - mostrar desktop, ocultar mobile */
    #banner {
        display: block;
        padding-top: 173px;
    }

    #bannerM {
        display: none;
    }

    #ImagenBannerCM {
        margin-top: 174px;
    }
    /* Fallback de altura para evitar huecos en carga */
    /* #DivSeccionBannerPrincipal {
        min-height: 220px;
    }*/
    /* Layout */
    .resolucionDesktopFlex {
        display: flex !important;
    }

    #relojEventos .ef-pretitle {
        font-size: 24px;
        letter-spacing: 0;
        text-align: center;
    }

    .resolucionMobileFlex {
        display: none !important;
    }

    /* Swiper arrows */
    .swiper-button-prev, .swiper-button-next {
        display: block;
    }

    /* Formulario */
    #formularioRegistroPrevio {
        padding-block: 34px 60px;
    }

        #formularioRegistroPrevio .formulario {
            gap: 10.5px;
        }

            #formularioRegistroPrevio .formulario #codArea {
                width: 130px;
            }

            #formularioRegistroPrevio .formulario #celular {
                flex-grow: 1;
                width: auto;
            }

        #formularioRegistroPrevio #lblRegistro {
            width: auto;
            margin-top: 8px;
            display: flex;
            justify-content: end;
        }

            #formularioRegistroPrevio #lblRegistro p {
                max-width: 11ch;
                font-size: 50px;
                text-align: right;
                line-height: 0.76;
            }

        #formularioRegistroPrevio .contenedor {
            display: flex;
            justify-content: center;
            gap: 38px;
        }

        #formularioRegistroPrevio input,
        #formularioRegistroPrevio select {
            width: auto;
        }

    /* Tipografía */
    p {
        font-size: clamp(15px, 1.2vw, 18px);
    }

    /* Tablas */
    .tablaMobile {
        display: none;
    }

    .tablaDesktop {
        display: block;
    }

    .tamañoTextoTabla {
        text-align: justify;
        line-height: 26px;
        font-size: 18px;
    }

    .tamañoTituloTabla {
        flex-wrap: nowrap;
        width: 50%;
        padding-left: 75px;
    }

    /* Banner intermedio */
    .bannerIntermedio, .bannerIntermedio img {
        width: 100%;
        min-width: 0;
    }

    /* Categorías */
    #divCategorias {
        height: 0;
        overflow: hidden;
    }

    /* Imágenes */
    /*  #img1 {
        top: 1155px;
        left: 970px;
        width: 513px;
        height: 348px;
        background: transparent url('img/Imagen 10.png') no-repeat;
        border-radius: 12px;
        opacity: 1;
    }

    #img3 {
        margin-bottom: -6px;
    }

    #img2 {
        margin-left: -100px;
    }

    #DivImg2M {
        display: none;
    }*/

    .DivFondoContador {
        width: 1200px;
        height: 854px;
        background: url(../Images/Registro-1200.jpg) no-repeat;
        margin-left: -100px;
    }
}

/* Large Desktop (≥ 1200px) */
@media (min-width: 1000px) {
    #relojEventos {
        gap: 20px;
        padding: 20px 28px;
    }

        #relojEventos .unidad {
            min-width: 130px;
        }

        #relojEventos .Numeros {
            font-size: 60px;
        }

    /*  #relojEventos .Leyenda {
            font-size: 18px;
        }*/


    .bannerIntermedio,
    .bannerIntermedio img {
        width: 100%;
        min-width: 100%;
    }
}

/* Extra Large (≥ 1400px) */
@media (min-width: 1400px) {
    #img2 {
        margin-left: -190px;
    }

    .CMFila {
        width: 100%;
    }
}

/* Mobile (≤ 999px) alineado con JS (<=999) */
@media (max-width: 999px) {
    /* Banner - mostrar mobile, ocultar desktop */
    #banner {
        display: none;
    }

    #bannerM {
        display: block;
        min-height: 120px;
    }

    /* Asegurar que el banner mobile sea visible y tenga tamaño apropiado */
    #DivSeccionBannerPrincipal {
        min-height: 120px;
        display: none;
    }

    /* Layout */
    .resolucionDesktopFlex {
        display: none !important;
    }

    .resolucionMobileFlex {
        display: block !important;
    }

    /* Swiper arrows */
    .swiper-button-prev, .swiper-button-next {
        display: none;
    }

    /* Formulario */
    #formularioRegistroPrevio {
        padding-block: 12px 20px;
        margin-top:133px;
    }

        #formularioRegistroPrevio .formulario {
            align-items: center;
            gap: 11px;
        }

            #formularioRegistroPrevio .formulario #codArea {
                width: 66px;
            }

        #formularioRegistroPrevio .contenedor {
            padding-inline: 20px;
            flex-direction: column;
            gap: 12px;
            align-items: center;
        }

        #formularioRegistroPrevio #lblRegistro {
            margin-block: 6px 10px;
            display: block;
            text-align: center;
            padding-bottom: 0;
        }

            #formularioRegistroPrevio #lblRegistro p {
                font-size: 29px;
                line-height: 0.9;
                letter-spacing: -2.03px;
                text-align: center;
                max-width: none;
            }

        #formularioRegistroPrevio input,
        #formularioRegistroPrevio select,
        #formularioRegistroPrevio .select {
            height: 48px;
            width: 100%;
            max-width: 460px;
        }

        #formularioRegistroPrevio .botonEnviar {
            align-self: start;
        }

    /* Mensaje de gracias */
    #txtGracias {
        padding-block: 28px;
    }

        #txtGracias p {
            font-size: 24px;
        }

    /* Tipografía */
    h1.title {
        line-height: 40px;
        margin-top: 15px;
    }

    h2.title {
        line-height: 35px;
    }

    h3.title {
        line-height: 26px;
        font-size: 16px;
    }


    /* Tablas */
    .tablaMobile {
        display: block;
    }

    .tablaDesktop {
        display: none;
    }

    .tamañoTextoTabla {
        text-align: initial;
        line-height: 22px;
        font-size: 15px;
        padding: 0 0 13px;
    }

    .tamañoTituloTabla {
        flex-wrap: initial;
        width: 50%;
        padding-left: 0;
        padding-bottom: 5px;
    }

    /* Banner intermedio */
    .bannerIntermedio {
        min-width: 100vw;
        margin-inline: -2.5%;
    }

        .bannerIntermedio img {
            min-width: 100vw;
            border-radius: 0;
        }

    /* Imágenes */
    #img1, #img2, #img3 {
        height: 285px !important;
    }

    #DivImg2 {
        display: none;
    }

    #DivIcoMenu {
        float: none !important;
    }

    .ContenedorTL {
        top: 0;
        left: -4px !important;
        zoom: 80%;
        transform: scale(0.7) !important;
    }

    /* Countdown */
    #relojEventos {
        height: 83px;
        gap: 30px;
        padding: 16px 18px;
    }

        #relojEventos::before {
            left: 12px;
            font-size: 16px;
        }

        #relojEventos::after {
            right: 12px;
            font-size: 16px;
        }

        #relojEventos .unidad {
            min-width: 100px;
        }

        #relojEventos .Numeros {
            font-size: 60px;
        }

        #relojEventos .Leyenda {
            font-size: 14px;
            margin-top: 6px;
        }

    /*------------- ESTILOS DE TEXTO ------------------*/
    .tituloelectrofans, .descelectrofans {
        margin: 0 auto;
        padding: 4% 4% 0% 4%;
    }

    .CMFila .tamañoTexto {
        padding-left: 8%;
        font-size: 16px;
        line-height: 1.3;
        padding-bottom: 8px;
    }

    .textoSinPadding {
        line-height: 1.4;
        padding-left: 8%;
        font-size: 16px;
    }

    .titulo-comunidad-megatone {
        padding-left: 8%;
        font-size: 16px;
    }

    /*------------- FIN ESTILOS DE TEXTO ------------------*/
}


/* Small Mobile (≤ 560px) */
@media (max-width: 500px) {
    /* Asegurar que el banner sea visible en pantallas muy pequeñas */
    /* #DivSeccionBannerPrincipal {
        min-height: 120px;
    }

    #banner, #bannerM {
        min-height: 120px;
    }*/

    #relojEventos::before,
    #relojEventos::after {
        display: none;
    }

    #relojEventos {
        gap: 14px;
        padding: 12px 10px;
        min-height: 64px;
    }

        #relojEventos .unidad {
            min-width: 74px;
        }

        #relojEventos .Numeros {
            font-size: 41px;
            letter-spacing: -.5px;
        }

        #relojEventos .Leyenda {
            font-size: 12px;
            margin-top: 4px;
            letter-spacing: .4px;
        }
}

@media (max-width: 700px) {
    #relojEventos::before,
    #relojEventos::after {
        display: none;
    }

    #formularioRegistroPrevio .contenedor {
        padding-inline: 30px;
        flex-direction: column;
        gap: 12px;
        align-items: center;
    }

    #relojEventos {
        gap: 8px;
        padding: 12px 10px;
        min-height: 64px;
        display: flex;
        flex-direction: column;
    }

        #relojEventos .ef-pretitle .ef-title {
            display: none;
        }

        #relojEventos .unidad {
            min-width: 74px;
            gap: 2px;
        }

        #relojEventos .Numeros {
            font-size: 41px;
            letter-spacing: -.5px;
        }

        #relojEventos .Leyenda {
            font-size: 22px;
            margin-top: 10px;
            letter-spacing: .4px;
        }
}

/* =========================
   ACCESIBILIDAD
   ========================= */
@media (prefers-reduced-motion: reduce) {
    .swiper-wrapper {
        transition-duration: 0.001ms !important;
    }
}

/* =========================
   UTILIDADES
   ========================= */
.linea {
    border-bottom: solid 1px #868686;
}

hr {
    color: #AC8EB4;
    border: 0;
}

.hscroll {
    margin: auto;
}

#formularioPreRegistro {
    padding: 0px;
}

#DivImg2M {
    display: none;
}

/* Placeholders específicos */
#TextBox2::placeholder,
#TextBox1::placeholder,
#Opcion::placeholder {
    font-size: 22px;
}

/* Enlaces */
.electrofans a {
    text-decoration: none !important;
}
