/* =================================================
   EXPERIENCIA – CSS AISLADO Y DEFINITIVO
   SOLO afecta #experiencia
   ================================================= */

#experiencia {
    width: 100%;
    overflow-x: hidden;
}

/* ===============================
   Layout base
   =============================== */

#experiencia .experience-split {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(48px, 6vw, 96px);
    align-items: center;
}


/* ===============================
   Mobile – FIX REAL
   =============================== */

@media (max-width: 768px) {

    /* Una sola columna */
    #experiencia .experience-split {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    /* Carrusel sin altura forzada */
    #experiencia .experience-carousel {
        height: auto;
        max-height: none;
    }

    #experiencia .carousel-track {
        animation-duration: 60s;
    }

    /* Imágenes MOBILE CONTROLADAS */
    #experiencia .carousel-track img {
        max-width: 100%;
        max-height: 240px;   /* ⬅ evita que ocupen media pantalla */
        height: auto;
        object-fit: contain;
        margin: 0 auto;
    }

    /* Texto SIEMPRE dentro del viewport */
    #experiencia .split-text,
    #experiencia h2,
    #experiencia p {
        max-width: 100%;
    }
}

/* ===============================
   Animación
   =============================== */

@keyframes experiencia-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-66.666%); }
}

/* =================================================
   EXPERIENCIA – MOBILE FIX FINAL (TEXTO PROLIJO)
   ================================================= */

@media (max-width: 768px) {

    /* 1. Layout limpio: una sola columna real */
    #experiencia .experience-split {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    /* 2. Imagen siempre arriba */
    #experiencia .experience-visual {
        order: -1;
    }

    /* 3. RESET TOTAL del ancho de texto */
    #experiencia .split-text {
        max-width: none !important;
        width: 100%;
        margin: 0;
    }

    #experiencia h2,
    #experiencia p {
        max-width: none !important;
        width: 100%;
    }

    /* 4. Tipografía más cómoda en mobile */
    #experiencia p {
        font-size: 16px;
        line-height: 1.65;
    }

    /* 5. Contenedor con márgenes sanos */
    #experiencia .container {
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* =================================================
   EXPERIENCIA – FIX REAL DE ANCHO DE TEXTO (MOBILE)
   ================================================= */

@media (max-width: 768px) {

    /* MATAMOS el max-width heredado de app.css */
    section#experiencia .container.split.experience-split > .split-text {
        max-width: 100% !important;
        width: 100%;
        margin: 0;
    }

    /* MATAMOS el límite de los párrafos */
    section#experiencia .container.split.experience-split > .split-text p,
    section#experiencia .container.split.experience-split > .split-text h2 {
        max-width: 100% !important;
        width: 100%;
    }

    /* Tipografía cómoda real */
    section#experiencia p {
        font-size: 16px;
        line-height: 1.65;
    }
}


/* =================================================
   EXPERIENCIA – FIX DEFINITIVO REVEAL MOBILE
   ================================================= */

@media (max-width: 768px) {

    /* El texto NO debe desplazarse en mobile */
    #experiencia .reveal {
        transform: none !important;
    }

    /* Evita que el fade de la sección tape el texto */
    #experiencia {
        overflow: visible;
    }

    /* Asegura contraste limpio */
    #experiencia .split-text {
        position: relative;
        z-index: 2;
    }
}
/* =================================================
   EXPERIENCIA – FIX DEFINITIVO REVEAL MOBILE
   ================================================= */

@media (max-width: 768px) {

    /* El texto NO debe desplazarse en mobile */
    #experiencia .reveal {
        transform: none !important;
    }

    /* Evita que el fade de la sección tape el texto */
    #experiencia {
        overflow: visible;
    }

    /* Asegura contraste limpio */
    #experiencia .split-text {
        position: relative;
        z-index: 2;
    }
}

/* =================================================
   EXPERIENCE – MOBILE GRID EDITORIAL
   ================================================= */

.desktop-only { display: block; }
.mobile-only { display: none; }

@media (max-width: 768px) {

    .desktop-only { display: none; }
    .mobile-only { display: block; }

    .experience-mobile-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-bottom: 24px;
    }

    .experience-mobile-grid img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 3px;
        filter: grayscale(100%) contrast(1.05);
        opacity: 0.9;
    }

    /* Variación visual sutil */
    .experience-mobile-grid img:nth-child(3n) {
        grid-column: span 2;
    }
}

/* =================================================
   EXPERIENCE – COLLAGE EDITORIAL (DESKTOP + MOBILE)
   ================================================= */

.experience-collage {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    align-items: start;
}


/* Base imagen */
.experience-collage img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
    filter: grayscale(100%) contrast(1.05);
    opacity: 0.9;
    transition:
        filter 0.5s ease,
        opacity 0.5s ease,
        transform 0.5s ease;
}

/* Hover SOLO desktop */
@media (hover: hover) and (pointer: fine) {
    .experience-collage img:hover {
        filter: grayscale(0%);
        opacity: 1;
        transform: translateY(-4px);
        z-index: 2;
    }
}

/* ===============================
   Desktop ajuste fino
   =============================== */
@media (min-width: 1024px) {

    .experience-collage {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

}

/* ===============================
   Mobile limpio
   =============================== */
@media (max-width: 768px) {

    .experience-collage {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-bottom: 24px;
    }

    .experience-collage img {
        filter: grayscale(100%) contrast(1.05);
        opacity: 0.95;
        transform: none;
    }
}

/* =================================================
   EXPERIENCE – VISIBILIDAD CORRECTA POR DISPOSITIVO
   ================================================= */

/* Desktop: collage visible, mobile grid oculto */
.experience-collage {
    display: grid;
}

.experience-mobile-grid {
    display: none;
}

/* Mobile: collage oculto, mobile grid visible */
@media (max-width: 768px) {
    .experience-collage {
        display: none;
    }

    .experience-mobile-grid {
        display: grid;
    }
}

