/* ============================================================
ELEVAVISION - ESTILOS MÓVIL
============================================================ */

/* ============================================================
SISTEMA DE ESPACIADO UNIFICADO
Cada sección define su propio padding vertical en UN SOLO LUGAR.
No hay margin-top ni margin-bottom dispersos que interfieran.

Referencia rápida de secciones y su espaciado:
  .presentation-section     → padding: 60px 0 50px   (+ margin-top: 80px por el hero fijo)
  .manipulaciones-section   → padding: 70px 0 60px
  .casosApp-section         → padding: 70px 0 60px
  .try-it-section           → padding: 70px 0 60px
  .eleva3d-section          → padding: 70px 0 50px
  .ventas-section           → padding: 70px 0 70px
  .tecnologia-section       → padding: 80px 0 80px
  .planes-section           → padding: 80px 0 80px
  .faq-section              → padding: 70px 0 80px
  .contacto-section         → padding: 70px 0 50px
============================================================ */

/* ============================================================
1. VARIABLES Y BASE MÓVIL
============================================================ */

/* Ocultar indicador en desktop */
.casos-scroll-indicator {
    display: none;
}

.ventas-scroll-indicator {
    display: none;
}

.hero-mobile {
    display: none;
}

/* Móviles pequeños tipo SE (hasta 375px) */
@media (max-width: 375px) {
    .card {
        height: 580px !important;
    }
}

/* Móviles normales (desde 376px) */
@media (min-width: 376px) and (max-width: 768px) {
    .card {
        height: 690px !important;
    }
}

@media (max-width: 768px) {
    :root {
        --border-radius-base: 20px;
        --border-radius-large: 28px;
        --border-radius-xl: 40px;
    }

    /* SIN padding genérico en section — cada sección lo define individualmente */

    body {
        overflow-x: hidden;
    }

    .container {
        padding: 0 18px;
    }

    /* ============================================================
2. LOGOTIPO Y MENÚ SUPERIOR
============================================================ */
    .logotipo {
        display: none !important;
    }

    .top-bar-menu,
    #top-menu {
        display: none !important;
    }


    /* ============================================================
4. TIPOGRAFÍA GLOBAL
============================================================ */
    .section-title {
        font-size: clamp(2.59rem, 10vw, 3.74rem) !important;
        line-height: 1.1;
        margin-bottom: 28px;
        text-align: left;
    }

    .section-subtitle {
        font-size: 1.2rem !important;
        margin-top: 16px;
        margin-bottom: 40px;
        line-height: 1.4;
        text-align: left;
    }

    .section-subsubtitle,
    .section-subsubtitle-blue {
        font-size: 1.02rem !important;
        margin-top: -30px;
        margin-bottom: 40px;
        text-align: left;
    }

    /* Excepciones: hero y tecnología mantienen centrado */
    .hero-section .section-title,
    .hero-section .section-subtitle,
    .hero-section .section-subsubtitle,
    .tecnologia-section .section-title,
    .tecnologia-section .section-subtitle,
    .tecnologia-section .section-subsubtitle,
    .tecnologia-section .section-subsubtitle-white {
        text-align: center;
    }

    .tecnologia-section .section-subsubtitle-white {
        font-size: 1.02rem !important;
        margin-top: -30px;
        margin-bottom: 40px;
    }

    .texto-gradient-int {
        font-size: 1.2rem;
    }

    /* ============================================================
5. BOTONES
============================================================ */
    .action-buttons-container {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
        margin-bottom: 10px;
    }

    .action-btn,
    button.action-btn.info-trigger {
        width: 100%;
        max-width: 280px;
        font-size: 0.85rem;
        padding: 10px 20px;
    }

    /* ============================================================
   OCULTAR SECCIONES ESPECÍFICAS EN MÓVIL
============================================================ */


    /* Pruébalo tu mismo */
    .try-it-section {
        display: none !important;
    }

    /* Realismo estratégico */
    .eleva3d-section {
        display: none !important;
    }

    /* Tecnología y proceso */
    .tecnologia-section {
        display: none !important;
    }

    /* Ejemplos / Presentaciones */
    #presentaciones,
    #presentaciones-section {
        display: none !important;
    }

    /* Planes y alcance */
    .planes-section {
        display: none !important;
    }


    /* ============================================================
6. SECCIÓN PRESENTACIÓN
Espaciado: margin-top compensa el hero fijo, padding define
el espacio interno superior e inferior.
============================================================ */
    .presentation-section {
        margin-top: 0 !important;
        padding: 120px 0 50px !important;
    }

    .presentation-section .section-title {
        text-align: left !important;
        font-size: clamp(2.59rem, 10vw, 3.74rem) !important;
        margin-bottom: 28px !important;
    }

    .presentation-section .section-subtitle {
        text-align: left !important;
        font-size: 1.2rem !important;
        margin-top: 16px !important;
    }

    .presentation-section .section-subsubtitle,
    .presentation-section .section-subsubtitle-blue {
        text-align: left !important;
        font-size: 1.02rem !important;
    }

    .presentation-section .action-buttons-container {
        margin-top: 10px !important;
    }

    .presentacion-video-container {
        top: 0 !important;
        border-radius: 0 !important;
        margin-top: -50px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        box-shadow: none !important;
        /* <--- SOMBRA ELIMINADA */
    }

    .presentacion-video {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
        display: block;
    }

    /* ============================================================
7. SECCIÓN MANIPULACIONES
Espaciado definido solo aquí: padding: 70px 0 60px
============================================================ */
    .manipulaciones-section {
        padding: 80px 0 60px;
    }

    .manipulaciones-section .section-title {
        margin-bottom: 14px !important;
    }

    .manipulaciones-section .section-subtitle {
        margin-top: 0px !important;
        margin-bottom: 30px !important;
    }

    .manipulaciones-section .action-buttons-container {
        flex-direction: row !important;
        display: flex !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
        padding: 0 5px !important;
        margin-top: 0px !important;
    }

    .manipulaciones-section .action-btn {
        flex: 1 !important;
        max-width: none !important;
        font-size: 0.85rem !important;
        padding: 12px 5px !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }

    .manipulaciones-carousel-container,
    .manipulaciones-carousel,
    .manipulaciones-carousel-inner,
    .manipulaciones-carousel-image,
    .manipulaciones-carousel-inner img,
    .manipulaciones-accordion-icon,
    .manipulaciones-accordion-icon img {
        border-radius: 0 !important;
        -webkit-border-radius: 0 !important;
        overflow: visible !important;
    }

    .manipulaciones-carousel-container {
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        margin-top: -20px !important;
        margin-bottom: 10px !important;
        order: 1;
    }

    .manipulaciones-section .advertising_note {
        margin-top: 15px !important;
        margin-bottom: 0 !important;
        text-align: center;
        padding: 0 20px;
    }

    .manipulaciones-content {
        flex-direction: column;
        gap: 0;
    }

    .manipulaciones-accordion {
        order: 2;
        width: 100%;
        margin-top: 30px;
    }

    .manipulaciones-video-wrapper {
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .manipulaciones-carousel-container {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
    }

    .manipulaciones-video-wrapper {
        border-radius: 0 !important;
        box-shadow: none !important;
        width: 100% !important;
    }

    .manipulaciones-video-wrapper iframe {
        border-radius: 0 !important;
    }

    /* ============================================================
8. SECCIÓN CASOS (TARJETAS)
Espaciado definido solo aquí: padding: 70px 0 60px
============================================================ */
    .casosApp-section {
        padding: 180px 0 60px;
        overflow: visible !important;
        perspective: 1500px;
    }

    .casosApp-section .section-title {
        margin-bottom: 16px;
        /* ← añadir esto */
    }

    .casosApp-section .section-subtitle {
        text-align: left !important;
        margin-left: 0;
        padding-left: 0;
        margin-bottom: 10px;
    }

    .casos-navigation {
        display: none !important;
    }

    .cards-wrapper {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: 40px 0 !important;

        display: block !important;
        /* ← simple, no interfiere */

        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: auto !important;

        scroll-snap-type: x mandatory;
        scrollbar-width: none;

        clip-path: none !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    .cards-wrapper::-webkit-scrollbar {
        display: none;
    }

    .cards-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        gap: 10px;
        padding: 0 6vw !important;
        overflow: visible !important;
        transform: none !important;
        /* ← anula el translateX del JS */
        transition: none !important;
        /* ← sin animaciones de escritorio */
        transform-style: flat !important;
        /* ← sin 3D en móvil */
    }

    .card {
        width: 88vw !important;
        flex-shrink: 0 !important;
        scroll-snap-align: center;
        margin-bottom: 0 !important;
        overflow: visible !important;
        position: relative;
        box-shadow: none !important;
        transform: none !important;
        transition: none !important;
        background: transparent !important;
        scroll-snap-align: center;
        /* Hace que la tarjeta se detenga justo en el centro de la pantalla */
        scroll-snap-stop: always;
    }

    .card:hover,
    .card:active,
    .card:focus,
    .card-inner:hover,
    .card-inner:active {
        transform: none !important;
        scale: 1 !important;
    }

    .card-inner {
        height: 100%;
        width: 100%;
        position: relative;
        transform-style: preserve-3d !important;
        transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: none !important;
    }

    .card.flipped .card-inner,
    .card.is-flipped .card-inner {
        transform: rotateY(180deg) !important;
    }

    .card-front,
    .card-back {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
        border-radius: 30px;
        overflow: hidden;
        box-shadow: none !important;
    }

    .card-back {
        transform: rotateY(180deg);
        background: #1a1a2e;
        padding: 40px 5px !important;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        hyphens: auto !important;
        -webkit-hyphens: auto !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    .card-overlay {
        position: relative !important;
        height: 45% !important;
        background: inherit;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: flex-start !important;
        z-index: 2;
        padding: 10px 0px !important;
    }

    .card-content-front {
        padding: 5 !important;
        width: 100%;
    }

    .card-images-container {
        height: 65% !important;
        position: relative !important;
        z-index: 1;
        overflow: hidden;
        border-bottom-left-radius: 30px;
        border-bottom-right-radius: 30px;
    }

    .card-carousel-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .flip-icon,
    .flip-back-btn {
        position: absolute !important;
        bottom: 15px !important;
        right: 15px !important;
        width: 60px !important;
        height: 60px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 10 !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Icono frontal (mas.svg): 50×50px — referencia visual */
    .flip-icon img {
        width: 50px !important;
        height: 50px !important;
        filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
        display: block !important;
    }

    /* Icono posterior (×): igualado visualmente al flip-icon de referencia */
    .flip-back-btn {
        top: auto !important;
        font-size: 42px !important;
        color: #fff !important;
        line-height: 1 !important;
        text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3) !important;
        font-weight: 300 !important;
        letter-spacing: 0 !important;
    }

    .card-back .card-title,
    .card-back .card-subtitle,
    .card-back .card-description {
        color: #fff;
    }

    .card-back .card-title {
        font-size: 2.0rem !important;
        margin-bottom: 10px !important;
        line-height: 1.2;
    }

    .card .card-front .card-stats-overlay .stats-container .stats-title {
        font-size: 1.2rem !important;
        /* Cambia este valor al tamaño que desees */
        line-height: 1.5 !important;
        margin-bottom: 20px !important;
        color: #ffffff !important;
        text-align: center !important;
        padding: 0 0px !important;
    }

    .card .card-inner .card-back .card-content .card-link {
        display: none !important;
    }

    .card .card-inner .card-back .card-content .card-description {
        margin-bottom: 0 !important;
        /* Eliminamos el margen que dejaba sitio al enlace */
    }

    .card-example-link {
        font-size: 0px !important;
        line-height: 0 !important;
        color: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 1. TÍTULO DEL REVERSO (Ej: "Tutoriales interactivos") */
    .card .card-inner .card-back .card-content .card-title {
        font-size: 2.1rem !important;
        /* Ajusta según necesites */
        margin-bottom: 10px !important;
        line-height: 1.2 !important;
        color: #ffffff !important;
        /* Asegura el contraste sobre el fondo oscuro */
    }

    /* 2. SUBTÍTULO DEL REVERSO (Ej: "Tu herramienta de trabajo") */
    .card .card-inner .card-back .card-content .card-subtitle {
        font-size: 1.45rem !important;
        margin-bottom: 15px !important;
        line-height: 1.3 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }

    .card[data-card="A3"] .card-title-front,
    .card[data-card="A3"] .card-title-front-white {
        font-size: 1.90rem !important;
    }

    /* 3. PÁRRAFO / DESCRIPCIÓN DEL REVERSO */
    .card .card-inner .card-back .card-content .card-description {
        font-size: 1.1rem !important;
        line-height: 1.5 !important;
        margin-bottom: 20px !important;
        color: rgba(255, 255, 255, 0.8) !important;
        text-align: left !important;
        /* Opcional: mejorar la distribución del espacio */
        text-justify: inter-word;
    }

    .card .card-front .card-stats-overlay .stats-container .stats-description {
        font-size: 1.15rem !important;
        /* Cambia este valor para ajustar el tamaño */
        line-height: 1.4 !important;
        color: rgba(255, 255, 255, 0.9) !important;
        max-width: 270px !important;
        /* Ajusta el ancho para que el texto no toque los bordes */
        margin: 0 auto !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6) !important;
        display: block !important;
    }

    .card-back .card-subtitle {
        font-size: 0.75rem !important;
        margin-bottom: 15px !important;
        opacity: 0.9;
    }

    .card-back .card-description {
        font-size: 0.85rem !important;
        line-height: 1.5;
        margin-bottom: 10px;
    }

    .card-title-front,
    .card-title-front-white {
        font-size: 2.15rem !important;
        margin-top: -20px !important;
        line-height: 1.1 !important;
    }

    .card[data-card="A2"] .card-title-front-white {
        display: block;
        max-width: 250px;
    }

    .card[data-card="A5"] .card-title-front-white {
        display: block;
        max-width: 200px;
    }

    .card-description-front,
    .card-description-front-white {
        font-size: 1.10rem !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    .casosApp-section .action-buttons-container {
        display: flex !important;
        justify-content: flex-start !important;
        /* ← alineado a la izquierda */
        margin-top: 20px !important;
        width: 100% !important;
        margin-bottom: -20px !important;
    }

    .casosApp-section .action-buttons-container .action-btn {
        width: auto !important;
        max-width: none !important;
        padding: 10px 24px !important;
    }

    /* ============================================================
9. SECCIÓN DEMO (METRÓNOMO)
Espaciado definido solo aquí: padding: 70px 0 60px
============================================================ */
    .try-it-section {
        padding: 70px 0 60px;
        width: 100%;
        overflow: hidden;
    }

    .try-it-section .container {
        padding: 0 12px;
    }

    .try-it-section .section-title {
        font-size: clamp(1.8rem, 7vw, 2.4rem);
    }

    .try-it-buttons-container {
        margin-top: -20px;
        margin-bottom: 20px;
    }

    .contenedor-metronomo {
        transform: scale(0.42);
        transform-origin: top center;
    }

    .menu-contenedor-flotante {
        transform: scale(0.78);
        transform-origin: center bottom;
        bottom: -40px;
        width: 100%;
        left: 0;
        right: 0;
    }

    .menu-subtexto {
        font-size: 9px;
    }

    .contenedor-3d {
        top: 40px;
    }

    #info-text-3d-left {
        display: none !important;
    }

    .info-derecha {
        left: 50% !important;
        right: auto !important;
        transform: translate(-50%, 0) !important;
        top: auto !important;
        bottom: 60px !important;
        width: 90%;
    }

    .accesorio-3d-btn {
        width: 120px;
        height: 120px;
        padding: 10px;
    }

    .accesorios-3d-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    /* ============================================================
10. SECCIÓN ELEVA3D
Espaciado definido solo aquí: padding: 70px 0 50px
============================================================ */
    .eleva3d-section {
        padding: 70px 0 50px;
    }

    .eleva3d-slider-viewport {
        height: 320px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .eleva3d-card-slide {
        margin: 0 8px;
        border-radius: 18px;
    }

    .eleva3d-card-slide img {
        border-radius: 18px;
    }

    .arrow-left {
        left: 8px !important;
    }

    .arrow-right {
        right: 8px !important;
    }

    .eleva3d-nav-arrow img {
        width: 28px;
    }

    .eleva3d-modal-image {
        border-radius: 16px;
        max-width: 95vw;
        max-height: 80vh;
    }

    /* ============================================================
11. SECCIÓN VENTAS (MOBILE OPTIMIZED)
============================================================ */
    .ventas-section {
        padding: 0px 0 0px !important;
        overflow: visible !important;
        background: none !important;
    }

    .ventas-header-container {
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        /* ← CLAVE: desbloquea el hijo */
    }

    .ventas-header-layout {
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        /* ← CLAVE: desbloquea el hijo */
    }

    .ventas-titles-column {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .ventas-section .section-title {
        font-size: clamp(2.59rem, 10vw, 3.74rem) !important;
        line-height: 1.1 !important;
        text-align: left !important;
        margin-bottom: 28px !important;
    }

    .ventas-section .section-subtitle {
        font-size: 1.2rem !important;
        text-align: left !important;
        line-height: 1.4 !important;
        margin-top: 16px !important;
        margin-bottom: 30px !important;
        max-width: 100% !important;
    }

    .ventas-section .action-buttons-container {
        display: block !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .ventas-section .action-buttons-container .action-btn {
        display: inline-flex !important;
        width: auto !important;
        max-width: fit-content !important;
        padding: 12px 24px !important;
        border-radius: 999px !important;
    }

    /* VÍDEO: igual que .presentacion-video-container */
    .ventas-video-column {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        margin-top: 50px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .ventas-video-container {
        border-radius: 0 !important;
        width: 100% !important;
        aspect-ratio: 16 / 9;
        background: #000;
        overflow: hidden;
        box-shadow: none !important;
        /* <--- SOMBRA ELIMINADA */
    }

    .ventas-video {
        width: 100% !important;
        height: auto !important;
        display: block;
        border-radius: 0 !important;
    }

    /* ADVERTISING NOTE */
    .ventas-video-column .advertising_note,
    .ventas-video-column p.advertising_note {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        text-align: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0px 18px 0 !important;

        font-size: 0.85rem !important;
        color: rgba(72, 72, 72, 0.6) !important;
    }

    /* CARRUSEL DE TARJETAS */
    .ventas-cards-wrapper {
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        margin-top: 0px !important;
        padding: 24px 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none;
    }

    .ventas-cards-wrapper::-webkit-scrollbar {
        display: none;
    }

    .ventas-cards-container {
        display: flex !important;
        padding: 16px 24px !important;
        /* ← el padding vertical aquí permite ver la sombra */
        gap: 14px !important;
        scroll-snap-type: x mandatory;
    }

    .ventas-card {
        flex: 0 0 calc(100vw - 48px) !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        padding: 28px 24px 32px !important;
        border-radius: 24px !important;
        height: auto !important;
        margin-right: 0;
    }

    .ventas-card-title {
        font-size: 1.35rem !important;
        margin-bottom: 12px !important;
        line-height: 1.25 !important;
    }

    .ventas-card-description {
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    .ventas-navigation {
        display: none !important;
    }

    #ventas-cards-container {
        display: flex !important;
        flex-wrap: nowrap !important;
        /* Evita que las tarjetas se vayan abajo */
        overflow-x: auto;
        /* Permite scroll manual */
        scroll-snap-type: x mandatory;
        /* Hace que se detengan en cada tarjeta */
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }


    /* ============================================================
    13. SECCIÓN AGENCIAS Y PARTNERS
    Espaciado definido solo aquí: padding: 70px 0 60px
    ============================================================ */
    .agencias-section {
        padding: 70px 0 60px;
    }

    .agencias-section .section-title {
        font-size: clamp(2.59rem, 10vw, 3.74rem) !important;
        line-height: 1.1 !important;
        text-align: left !important;
        margin-bottom: 28px !important;
    }

    .agencias-section .section-subtitle {
        font-size: 1.2rem !important;
        text-align: left !important;
        line-height: 1.4 !important;
        margin-top: 16px !important;
        margin-bottom: 30px !important;
        max-width: 100% !important;
    }

    .agencias-intro {
        max-width: 100% !important;
        padding: 24px 22px !important;
        margin: 0 0 36px 0 !important;
        border-radius: 20px !important;
    }

    .agencias-intro p {
        font-size: 1rem !important;
        line-height: 1.6 !important;
        text-align: left !important;
    }

    .agencias-modos {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-bottom: 36px !important;
    }

    .agencia-modo {
        padding: 32px 24px !important;
        border-radius: 20px !important;
        min-height: auto !important;
    }

    .agencia-modo:hover {
        transform: none !important;
    }

    .agencia-modo-title {
        font-size: 1.25rem !important;
        margin-bottom: 12px !important;
    }

    .agencia-modo-text {
        font-size: 0.98rem !important;
        line-height: 1.6 !important;
    }

    .agencias-cierre {
        max-width: 100% !important;
        text-align: left !important;
    }

    .agencias-cierre p {
        font-size: 1rem !important;
        line-height: 1.6 !important;
        margin-bottom: 24px !important;
        text-align: left !important;
    }

    .agencias-section .action-buttons-container {
        display: block !important;
        margin-top: 0 !important;
    }

    .agencias-section .action-buttons-container .action-btn {
        display: inline-flex !important;
        width: auto !important;
        max-width: fit-content !important;
        padding: 12px 24px !important;
        border-radius: 999px !important;
    }


    /* ============================================================
14. SECCIÓN FAQ
Espaciado definido solo aquí: padding: 70px 0 80px
============================================================ */
    .faq-section {
        padding: 0px 0 180px;
    }

    .faq-section .section-title {
        font-size: clamp(1.8rem, 7vw, 2.4rem);
    }

    .faq-section .section-subtitle {
        margin-top: 15px !important;
        margin-bottom: 30px !important;
        /* separa subtítulo del botón */
    }

    .faq-section .action-buttons-container {
        margin-top: 0 !important;
    }

    .faq-section .action-buttons-container .action-btn {
        width: auto !important;
        max-width: none !important;
        padding: 10px 24px !important;
    }

    .faq-list {
        padding: 0 4px;
    }

    .faq-question {
        font-size: 1.05rem;
        line-height: 1.4;
    }

    .faq-answer-preview,
    .faq-answer-full {
        font-size: 0.88rem;
        line-height: 1.6;
    }

    .faq-answer-full p,
    .faq-answer-full li {
        font-size: 0.88rem !important;
    }

    .faq-item {
        padding-bottom: 18px;
    }

    .faq-item:not(:first-child) {
        padding-top: 18px;
    }

    /* Modal Hablamos - reducir espacio entre texto y formulario */
    #modal-contacto .contacto-form-container-modal {
        margin-top: -18px !important;
    }

    /* ============================================================
15. FOOTER / CONTACTO
Espaciado definido solo aquí: padding: 70px 0 50px
============================================================ */
    .contacto-section {
        padding: 70px 0 50px;
    }

    .contacto-container {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 0 30px;
        box-sizing: border-box !important;
    }

    /* También ajustamos el copyright para que esté alineado con el nuevo margen */
    .footer-bottom {
        padding: 16px 40px !important;
        /* Alineado con los 40px del contenedor */
        margin-top: 50px !important;
    }

    /* Aseguramos que el formulario no se desborde con el nuevo margen */
    .contacto-form-container {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .contacto-left,
    .contacto-center,
    .contacto-right {
        max-width: 100%;
        padding: 0;
    }

    .contacto-logo img {
        width: 180px;
    }

    .contacto-tagline {
        font-size: 0.85rem;
        margin-top: -14px;
    }

    .contacto-title {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }

    .contacto-subtitle {
        font-size: 0.85rem;
        margin-bottom: 20px;
        max-width: 100%;
    }

    .contacto-info-item {
        margin-bottom: 14px;
        gap: 10px;
    }

    .contacto-details {
        font-size: 0.85rem;
    }

    .contacto-form-container {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .contacto-form input,
    .contacto-form textarea {
        font-size: 0.95rem;
        padding: 11px 12px;
    }

    .contacto-btn {
        font-size: 0.95rem;
        padding: 13px 20px;
    }

    .footer-bottom {
        padding: 16px 20px !important;
        margin-top: 50px !important;
    }

    .footer-bottom p {
        font-size: 0.78rem !important;
    }

    /* ============================================================
16. MODALES
============================================================ */
    .modal-overlay {
        padding: 0 !important;
        margin: 0 !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    .modal-content,
    .modal-content.modal-long,
    .modal-content.modal-medium,
    .modal-content.modal-sort {
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        position: relative !important;
    }

    .modal-content .modal-long,
    .modal-content .modal-medium,
    .modal-content .modal-sort {
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        border-radius: 0 !important;
        flex: 1 !important;
        overflow-y: auto !important;
        margin: 0 !important;
    }

    .modal-header {
        padding: 28px 60px 14px 24px !important;
        flex-shrink: 0;
        position: relative;
    }

    .sectors-section h3 {
        margin-bottom: -20px;
        /* <--- Aumenta este número para dar más espacio */
        font-size: 1.3rem;
        /* (Aquí también controlas el tamaño que preguntabas antes) */
    }

    .modal-header h3 {
        font-size: 2.3rem !important;
        line-height: 1.1 !important;
        padding-right: 40px;
    }

    .modal-header .modal-subtitle {
        font-size: 1.4rem !important;
        margin-top: 6px !important;
        line-height: 1.4 !important;
    }

    .modal-close {
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        width: 40px !important;
        height: 40px !important;
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 10 !important;
        overflow: visible !important;
    }

    .modal-close img,
    .modal-close svg,
    .modal-close span {
        display: none !important;
    }

    .modal-close::before,
    .modal-close::after {
        content: '' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 24px !important;
        height: 2.5px !important;
        background-color: #222 !important;
        border-radius: 2px !important;
        display: block !important;
    }

    .modal-close::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    .modal-close::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    .modal-body {
        padding: 16px 24px 40px !important;
        flex: 1 !important;
        overflow-y: auto !important;
    }

    .modal-body p,
    .modal-body li {
        font-size: 1.1rem !important;
        line-height: 1.6;
    }

    .modal-body h4 {
        font-size: 1.4rem;
        margin-top: 16px;
        margin-bottom: 6px;
    }

    .contacto-form-container-modal {
        padding: 16px 24px 28px;
        margin-top: 32px;
    }

    .modal-app-content {
        border-radius: 20px;
        width: 94vw;
    }

    .modal-app-slides {
        width: 100%;
        aspect-ratio: 4/3;
    }

    .modal-video-player {
        width: 94vw;
        border-radius: 20px;
    }

    .modal-video-content {
        border-radius: 20px;
    }

    .modal-info-content {
        width: 96vw;
        height: 82vh;
        border-radius: 20px;
    }

    .panel-share-content.eleva-style {
        width: 96%;
        border-radius: 24px;
        max-height: 90vh;
        overflow-y: auto;
    }

    .modal-header-share {
        padding: 28px 24px 10px;
    }

    .modal-header-share h3 {
        font-size: 1.5rem;
    }

    .contacto-form-container-share {
        padding: 10px 24px 30px;
    }

    .sector-item {
        margin-bottom: 14px;
    }

    .sector-item h4 {
        font-size: 1rem;
    }

    .sector-item p {
        font-size: 1.1rem !important;
    }

    .render-info-container {
        gap: 28px;
    }

    .render-info-block h4 {
        font-size: 1rem;
    }

    .render-info-img {
        border-radius: 14px;
    }

    /* ============================================================
17. ADVERTISING NOTE
============================================================ */
    .advertising_note {
        font-size: 0.92rem;
        padding: 0 16px;
    }

    /* ============================================================
18. UTILIDADES GLOBALES MÓVIL
============================================================ */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .sectors-section {
        margin-bottom: 16px;
    }

    .casos-nav-btn,
    .ventas-nav-btn {
        min-width: 44px;
        min-height: 44px;
    }

    .contacto-nav a {
        font-size: 0.88rem;
        padding: 4px 0;
    }

    .planes-accordion-item {
        padding-bottom: 18px;
    }

    .planes-accordion-item:not(:first-child) {
        padding-top: 18px;
    }

    .selector-webapp-integrado .selector-option {
        padding: 7px 13px;
        font-size: 13px;
    }

    .menu-item {
        padding: 7px 13px;
        font-size: 13px;
    }

    .manipulaciones-accordion-icon,
    .manipulaciones-accordion-icon img,
    img[src*="desplegable"] {
        border-radius: 0 !important;
        -webkit-border-radius: 0 !important;
        background-color: transparent !important;
    }


    /* ============================================================
MODALES FULLSCREEN - ESTADO ACTIVO
============================================================ */

    .modal-overlay.active {
        display: flex !important;
        padding: 0 !important;
        margin: 0 !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
    }

    .modal-overlay.active .modal-content,
    .modal-overlay.active .modal-content.modal-long,
    .modal-overlay.active .modal-content.modal-medium,
    .modal-overlay.active .modal-content.modal-sort {
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        min-height: 100vh !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        top: 0 !important;
        left: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    .modal-overlay.active .modal-content>.modal-long,
    .modal-overlay.active .modal-content>.modal-medium,
    .modal-overlay.active .modal-content>.modal-sort {
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        border-radius: 0 !important;
        flex: 1 1 auto !important;
        overflow-y: auto !important;
    }

    .modal-overlay.active .modal-close {
        position: absolute !important;
        top: 18px !important;
        right: 18px !important;
        width: 44px !important;
        height: 44px !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 9999 !important;
        overflow: visible !important;
    }

    .modal-overlay.active .modal-close img,
    .modal-overlay.active .modal-close svg,
    .modal-overlay.active .modal-close span {
        display: none !important;
        visibility: hidden !important;
    }

    .modal-overlay.active .modal-close::before,
    .modal-overlay.active .modal-close::after {
        content: '' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 26px !important;
        height: 2.5px !important;
        background-color: #1a1a1a !important;
        border-radius: 2px !important;
        display: block !important;
        transform-origin: center center !important;
    }

    .modal-overlay.active .modal-close::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    .modal-overlay.active .modal-close::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    .modal-overlay.active .modal-content {
        overflow: hidden !important;
    }

    .modal-overlay.active .modal-header {
        position: sticky !important;
        top: 0 !important;
        flex-shrink: 0 !important;
        z-index: 10 !important;
        background: #fff !important;
        padding: 28px 60px 14px 24px !important;
    }

    .modal-overlay.active .modal-content>.modal-long,
    .modal-overlay.active .modal-content>.modal-medium,
    .modal-overlay.active .modal-content>.modal-sort {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    .modal-overlay.active .modal-body {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        min-height: 0 !important;
        padding: 16px 24px 40px !important;
    }

    .modal-overlay.active .modal-content>.modal-long::after,
    .modal-overlay.active .modal-content>.modal-medium::after,
    .modal-overlay.active .modal-content>.modal-sort::after,
    .modal-overlay.active .modal-body::after {
        content: '' !important;
        display: block !important;
        height: 1.5em !important;
    }

    .modal-overlay.active .contacto-form-container-modal {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }



    /* ============================================================
BANNER DE USO EN ORDENADOR
============================================================ */
    .desktop-notice-animated {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: linear-gradient(180deg, #1a1a2e 0%, #11111d 100%);
        color: #ffffff;
        z-index: 10001;
        /* Asegurar que esté por encima de todo */
        padding: 20px 24px 35px;
        text-align: center;
        border-top: 2px solid rgba(60, 99, 255, 0.6);
        box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.8);
        box-sizing: border-box;

        /* ESTADO INICIAL (OCULTO) */
        transform: translateY(100%);
        opacity: 0;
        visibility: hidden;

        /* TRANSICIÓN */
        transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1),
            opacity 0.6s ease,
            visibility 0.6s;
    }

    /* ESTADO ACTIVO (VISIBLE) */
    .desktop-notice-animated.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    /* ESTADO DE CIERRE */
    .desktop-notice-animated.closing {
        transform: translateY(100%);
        opacity: 0;
    }

    /* Tirador visual superior para el gesto swipe */
    .banner-drag-handle {
        width: 45px;
        height: 5px;
        background: rgba(255, 255, 255, 0.15);
        border-radius: 10px;
        margin: -5px auto 20px;
    }

    .desktop-notice-animated p {
        font-family: 'Inter', sans-serif;
        font-size: 1.2rem;
        /* Texto grande solicitado */
        line-height: 1.5;
        margin-bottom: 25px;
        font-weight: 400;
        color: rgba(255, 255, 255, 0.95);
    }

    .desktop-notice-animated p strong {
        color: #3c63ff;
        /* Azul corporativo */
        font-weight: 600;
    }

    .banner-accept-btn {
        background: transparent;
        color: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.4);
        padding: 14px 50px;
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 1.5px;
        border-radius: 50px;
        cursor: pointer;
        transition: all 0.3s ease;
        text-transform: uppercase;
        outline: none;
        -webkit-tap-highlight-color: transparent;
    }

    .banner-accept-btn:active {
        background: #ffffff;
        color: #1a1a2e;
        transform: scale(0.92);
    }

    /* Botones alineados a la izquierda — solución definitiva */
    .casosApp-section .action-buttons-container,
    .ventas-section .action-buttons-container,
    .agencias-section .action-buttons-container,
    .faq-section .action-buttons-container {
        display: block !important;
    }

    .casosApp-section .action-buttons-container .action-btn,
    .ventas-section .action-buttons-container .action-btn,
    .agencias-section .action-buttons-container .action-btn,
    .faq-section .action-buttons-container .action-btn {
        display: inline-flex !important;
        width: auto !important;
        max-width: fit-content !important;
        min-width: unset !important;
    }

    /* ---- INDICADOR GUSANO - CARRUSEL CASOS DE USO ---- */
    .casos-scroll-indicator {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 8px 0 24px;
        margin-top: -20px;
    }

    .casos-indicator-track {
        position: relative;
        display: flex;
        align-items: center;
        gap: 13px;
        /* era 10px → ahora 20px */
        height: 22px;
        /* era 12px → ahora 24px */
    }

    .casos-dot {
        width: 15px;
        /* era 9px  → ahora 18px */
        height: 15px;
        /* era 9px  → ahora 18px */
        border-radius: 50%;
        background: rgba(60, 99, 255, 0.22);
        flex-shrink: 0;
        position: relative;
        z-index: 1;
        transition: background 0.25s ease;
    }

    .casos-worm {
        position: absolute;
        height: 15px;
        /* IGUAL que el punto: garantiza cápsula perfecta */
        border-radius: 999px;
        background: #3c63ff;
        z-index: 2;
        top: 3px;
        /* (24px track - 18px worm) / 2 = centrado */
        left: 0;
        width: 56px;
        /* era 28px → ahora 56px (ancho de reposo = ⌀ punto) */
        pointer-events: none;
        will-change: left, width;
    }

    /* ---- INDICADOR GUSANO - CARRUSEL VENTAS ---- */
    .ventas-scroll-indicator {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 8px 0 44px;
        margin-top: -40px;
    }

    .ventas-indicator-track {
        position: relative;
        display: flex;
        align-items: center;
        gap: 13px;
        height: 22px;
    }

    .ventas-dot {
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background: rgba(60, 99, 255, 0.22);
        flex-shrink: 0;
        position: relative;
        z-index: 1;
        transition: background 0.25s ease;
    }

    .ventas-worm {
        position: absolute;
        height: 16px;
        border-radius: 999px;
        background: #3c63ff;
        z-index: 2;
        top: 3px;
        left: 0;
        width: 56px;
        pointer-events: none;
        will-change: left, width;
    }

    /* ============================================================
   HERO MONTAJE DE DOS IMAGENES Y LOGOTIPO
   ============================================================ */
    .hero-section {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .hero-mobile {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        height: 100svh;
        overflow: hidden;
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    .hero-img-top {
        flex: 3;
        min-height: 0;
        overflow: hidden;
    }

    .hero-img-bottom {
        flex: 3;
        min-height: 0;
        overflow: hidden;
    }

    .hero-img-top img,
    .hero-img-bottom img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }

    .hero-text-block {
        flex: 2;
        background: #ffffff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 40px 28px;
        gap: 8px;
    }

    .hero-logo-mobile {
        width: 230px;
        margin-bottom: 6px;
    }

    .hero-tagline {
        font-size: 0.85rem;
        font-weight: 400;
        color: #888;
        margin: 0;
    }

    .hero-title-mobile {
        font-size: 1.1rem;
        font-weight: 700;
        color: #111;
        line-height: 1.3;
        margin: 0;
    }

    .hero-desc-mobile {
        font-size: 0.85rem;
        font-weight: 400;
        color: #888;
        margin: 0;
    }

    /* ============================================================
CORRECCIONES SAFARI iOS
============================================================ */
    @supports (-webkit-touch-callout: none) {
        .hero-section::before {
            background-attachment: scroll;
            position: absolute;
        }

        .tecnologia-section::before {
            background-attachment: scroll;
        }

        .modal-overlay {
            -webkit-overflow-scrolling: touch;
        }

        .modal-content .modal-long,
        .modal-content .modal-medium {
            -webkit-overflow-scrolling: touch;
        }

        .hero-img-top,
        .hero-img-bottom {
            flex-basis: 37.5%;
        }

        .hero-text-block {
            flex-basis: 25%;
        }
    }
}