/* ============================================================
   INVESTMENT SECTION
   ============================================================ */

.investment {
    width: 100%;
    height: auto;
    background-color: #2D4754;
    padding-bottom: 4rem;
    /* Sin margin, sin overflow oculto que corte contenido */
}

.investTitle {
    width: 100%;
    height: auto;
    text-align: center;
    font-family: 'campMedium';
    font-size: clamp(1.2rem, 2.5vw, 2rem);
    padding: clamp(3rem, 7vw, 9rem) 1.5rem;
    color: aliceblue;
    line-height: 1.3;
}

.investContent {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(2rem, 4vw, 5rem);
    padding: 0 clamp(1rem, 3vw, 2rem);
}

.investContent .item {
    width: clamp(14rem, 22vw, 25rem);
    height: auto;
    flex-shrink: 0;
}

.investContent .item img {
    width: 100%;
    height: auto;
    display: block;
}

.investBtn {
    width: 100%;
    height: auto; /* ← era 3rem fijo, causaba recorte */
    padding: clamp(3rem, 6vw, 8rem) 2rem clamp(3rem, 6vw, 8rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

.investBtn a {
    width: clamp(160px, 30vw, 420px);
    display: inline-block;
}

.investBtn img {
    width: 100%;
    height: auto;
    display: block;
}

/* ============================================================
   INFRAESTRUCTURE SECTION
   ============================================================ */

.infraestructure {
    width: 100%;
    height: auto;
    background-color: #ACB9C2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    padding-bottom: clamp(3rem, 5vw, 6rem);
}

.infraTitle {
    width: 100%;
    height: auto;
    text-align: center;
    padding: clamp(3rem, 6vw, 8rem) 1.5rem;
    font-family: 'campMedium';
    font-size: clamp(1.3rem, 2.5vw, 2.2rem);
    color: #2D4754;
    line-height: 1.3;
}

#inf {
    font-family: 'campBold';
}

.infraContent {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    padding: 0 1rem;
}

.infraImg {
    width: 45%;
    height: auto;
    padding: clamp(1.5rem, 3vw, 4rem);
    flex: 1 1 280px;
}

.infraImg img {
    width: 100%;
    height: auto;
    display: block;
}

.infraVid {
    width: 45%;
    height: auto; /* ← eliminado el fijo de 45rem */
    aspect-ratio: 9 / 16; /* mantiene proporción del video vertical */
    max-height: 45rem;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 20px;
    flex: 1 1 280px;
}

.infraVid video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================================================
   BREAKPOINTS
   ============================================================ */

/* --- LAPTOP (≤ 1100px) --- */
@media (max-width: 1100px) {
    .infraImg {
        padding: 2rem;
    }

    .investContent {
        gap: 2.5rem;
    }

    .infraVid {
        max-height: 35rem;
    }
}

/* --- TABLET (≤ 900px) --- */
@media (max-width: 900px) {
    .infraContent {
        flex-direction: column;
        align-items: center;
    }

    .infraImg,
    .infraVid {
        width: 85%;
        flex: none;
        max-height: none;
    }

    .infraVid {
        aspect-ratio: 16 / 9;
        border-radius: 16px;
    }
}

/* --- MÓVIL (≤ 768px) --- */
@media (max-width: 768px) {
    .investTitle {
        font-size: clamp(1.1rem, 4.5vw, 1.6rem);
        padding: 2.5rem 1rem;
    }

    .investContent {
        gap: 2rem;
    }

    .investContent .item {
        width: clamp(12rem, 70vw, 20rem);
    }

    .investBtn {
        padding: 3rem 1.5rem;
    }

    .investBtn a {
        width: clamp(160px, 55vw, 250px);
    }

    .infraTitle {
        font-size: clamp(1.2rem, 4.5vw, 1.8rem);
        padding: 2.5rem 1.5rem;
    }

    .infraImg,
    .infraVid {
        width: 90%;
        padding: 0.75rem;
    }

    .infraVid {
        aspect-ratio: 16 / 9;
        margin-top: 0.5rem;
        border-radius: 14px;
    }
}

/* --- MÓVIL PEQUEÑO (≤ 480px) --- */
@media (max-width: 480px) {
    .investTitle {
        font-size: 1.1rem;
        padding: 2rem 1rem;
    }

    .infraTitle {
        font-size: 1.2rem;
        padding: 2rem 1rem;
    }

    .infraImg,
    .infraVid {
        width: 95%;
        padding: 0.5rem;
    }

    .investBtn a {
        width: clamp(140px, 50vw, 200px);
    }
}

/* --- MÓVIL MUY PEQUEÑO (≤ 360px) --- */
@media (max-width: 360px) {
    .investContent .item {
        width: 90vw;
    }

    .investTitle {
        font-size: 1rem;
    }
}

/* --- LANDSCAPE MÓVIL --- */
@media (max-height: 500px) and (orientation: landscape) {
    .infraContent {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .infraImg,
    .infraVid {
        width: 48%;
        flex: none;
    }

    .infraVid {
        aspect-ratio: 9 / 16;
        max-height: 80vw;
    }
}

/* --- PANTALLAS GRANDES (≥ 1600px) --- */
@media (min-width: 1600px) {
    .investTitle {
        font-size: 2.5rem;
    }

    .infraTitle {
        font-size: 2.8rem;
    }

    .investContent .item {
        width: 28rem;
    }
}