/* Aura Experience Center - responsivo.css
   Manejo de pantallas móviles, tablets y monitores ultra anchos
*/

/* --- Pantallas Ultra Anchas (Desktop XL) --- */
@media (min-width: 1600px) {
    #metrics-section .container {
        max-width: 1600px;
    }
}

/* --- Pantallas Extra Grandes --- */
@media (max-width: 1680px) {
    .top-nav {
        margin-top: 40px;
    }

    .feature-label {
        font-size: 19px;
    }
}

/* --- Laptops Muy Grandes --- */
@media (max-width: 1399px) {
    .metric-label {
        font-size: 26px;
    }
}

/* --- Laptops Grandes --- */
@media (max-width: 1369px) {
    .metric-number .counter {
        font-size: 65px;
    }

    .contact-info {
        gap: 80px;
    }
}

/* --- Pantallas Estándar (Laptops) --- */
@media (max-width: 1366px) {
    .top-nav {
        margin-top: 40px;
    }
}

/* --- Laptops y Pantallas Medianas-Grandes --- */
@media (max-width: 1280px) {
    .contact-info {
        gap: 60px;
    }

    .feature-bar-wrapper {
        margin-top: 50px;
    }

    .feature-bar {
        flex-wrap: wrap;
        height: auto;
        border-radius: 40px;
        padding: 20px;
    }

    .feature-item {
        flex: 0 0 33.33%;
        margin-bottom: 15px;
    }

    .footer-logo-col {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 20px;
    }
}

/* --- Rango Específico (1100px a 1199px) --- */
@media (min-width: 1100px) and (max-width: 1199px) {
    .metric-number .counter {
        font-size: 55px;
    }

    .metric-label {
        font-size: 20px;
    }

    .metric-icon-img {
        max-height: 70px;
    }

    .contact-info {
        gap: 30px;
    }

    .nav-logo {
        width: 205px;
        height: auto;
    }

    .contact-title {
        font-size: 32px;
    }

    .title-logo {
        max-width: 140px;
    }
}

/* --- Laptops Pequeñas y Tablets Horizontales --- */
@media (max-width: 1099px) {
    .top-nav {
        height: auto;
        padding: 25px;
        flex-direction: column;
        margin-top: 20px;
        border-radius: 40px;
    }

    .contact-info {
        display: grid;
        grid-template-columns: auto auto;
        column-gap: 40px;
        row-gap: 15px;
        align-items: center;
        justify-content: center;
    }

    .contact-info>.contact-item:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .contact-info>.contact-item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .contact-info>.google-maps-btn {
        grid-column: 2;
        grid-row: 1 / span 2;
        height: fit-content;
    }

    .contact-card {
        padding: 70px 20px;
    }
}

/* --- Ajustes de Logo (Rango intermedio) --- */
@media (min-width: 768px) and (max-width: 1099px) {
    .nav-logo {
        width: 175px;
    }
}

/* --- Rango Específico (992px a 1099px) --- */
@media (min-width: 992px) and (max-width: 1099px) {
    .metric-number .counter {
        font-size: 55px;
    }

    .metric-label {
        font-size: 20px;
    }

    .metric-icon-img {
        max-height: 70px;
    }

    .contact-title {
        font-size: 32px;
    }

    .title-logo {
        top: -4px;
        max-width: 112px;
    }

    .footer-info-col:nth-child(2),
    .footer-info-col:nth-child(3) {
        width: calc(50% - 20px);
    }

    .footer-info-col:nth-child(4) {
        width: 100%;
    }
}

/* --- Tablets y Pantallas Medianas --- */
@media (max-width: 991px) {
    .nav-logo {
        width: 135px;
    }

    .contact-item {
        font-size: 16px;
    }

    .top-nav {
        padding: 15px;
    }

    .contact-title {
        font-size: 32px;
    }

    .title-logo {
        top: -3px;
        max-width: 110px;
    }

    .info-logo-title {
        margin: 0 auto 45px;
    }

    .gallery-grid.diseno2 {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        gap: 20px;
        /* Gap aplicado */
    }

    .gallery-grid.diseno2 .gallery-item {
        grid-column: span 1 !important;
        height: auto !important;
    }

    .info-content-col {
        padding-left: 0;
        margin-top: 110px;
        text-align: center;
    }

    .info-paragraph {
        margin-bottom: 0;
    }

    #metrics-section>.container:first-child,
    #metrics-section .col-md-4:nth-child(1) {
        width: 100%;
        max-width: 100%;
    }

    #metrics-section .col-md-4:nth-child(2),
    #metrics-section .col-md-4:nth-child(3) {
        width: 50%;
    }

    #map {
        height: 500px;
    }

    .dat-footer {
        height: auto;
        padding: 60px 6%;
    }

    #footer {
        height: auto;
        padding: 30px 6%;
    }

    .footer-bottom-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .back-to-top {
        right: 20px;
    }
}

/* --- Pantallas Pequeñas y Tablets Verticales --- */
@media (max-width: 767px) {
    .nav-logo {
        display: none;
    }

    .contact-info {
        display: grid !important;
    }

    .project-title {
        font-size: 46px;
    }

    .contact-title {
        font-size: 26px;
    }

    .title-logo {
        top: -3px;
        max-width: 90px;
    }

    .contact-subtitle {
        font-size: 21px;
    }

    .gallery-grid.diseno2 {
        gap: 10px;
        /* Gap reducido para pantallas pequeñas */
    }
}

/* --- Phablets y Móviles Grandes --- */
@media (max-width: 680px) {
    .hero-container {
        display: flex;
        flex-direction: column-reverse;
    }

    .top-nav {
        position: relative;
        border-radius: initial;
        margin: 0;
        background-color: #002d62;
    }

    .metric-number .counter {
        font-size: 55px;
    }

    .metric-label {
        font-size: 20px;
    }

    .metric-icon-img {
        max-height: 70px;
    }

    .footer-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-item {
        justify-content: center;
    }
}

/* --- Teléfonos Móviles --- */
@media (max-width: 576px) {
    .contact-info {
        display: flex !important;
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .feature-bar {
        padding: 40px;
    }

    .feature-item {
        flex: 0 0 50%;
        margin-bottom: 35px;
    }

    .project-title {
        font-size: 32px;
    }

    .contact-title {
        font-size: 22px;
    }

    .info-image-frame {
        margin-left: 0;
    }

    .info-image-frame::before {
        display: none;
    }

    /* Forzar 100% en las últimas dos métricas */
    #metrics-section .col-md-4:nth-child(2),
    #metrics-section .col-md-4:nth-child(3) {
        width: 100%;
    }

    .info-section {
        margin-top: 90px;
    }

    .gallery-section {
        margin-top: 85px;
    }
}