/* Reset básico */
:root{
    --inicio-pieFoto-mobile: 8px;
    --inicio-pieFoto-ipadMini: 10px;
	--inicio-pieFoto-ipadAir: 11px;
	--inicio-pieFoto-ipadPro: 12px;

}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    overflow-x: hidden;
    font-family: 'Arial', sans-serif;
}

.container-full {
    width: 100%;
    padding: 0 21px;
}

/* Clases de visibilidad */
.desktop-only {
    display: block;
}

.mobile-tablet-only,
.mobile-only {
    display: none;
}

.proyectos-trio-completo {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 20px;
    width: 100%;
    margin-top: 0;
    align-items: start;
}

.proyecto-izquierda-completa,
.proyecto-derecha-completa {
    height: 55vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 50px;
}

.proyecto-centro-completo {
    height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: -80px;
}

.proyecto-imagen {
    flex-grow: 1;
    width: 100%;
}

.proyectos-trio-completo .proyecto-imagen a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: block;
}

.proyectos-trio-completo .proyecto-imagen a:hover img {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}


.texto-centrado-completo {
    position: absolute;
    color: var(--inicio-primary-color);
    width: 30%;
    text-align: left;
    margin: -60px 0 20px calc(24% + 21px);
    padding: 10px 0;
    font-size: 14px;
    line-height: 1.2;
}

.proyectos-cuadro-completo {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Cambiar de space-between a flex-start */
    width: 100%;
    gap: 21px;
    margin: 60px 0;
    margin-bottom: 100px;
}

.proyectos-cuadro-completo .proyecto-item {
    width: calc(25% - 15.75px);
    flex-shrink: 0;
    flex-grow: 0;
}

.proyectos-cuadro-completo .proyecto-vacio {
    visibility: hidden; /* Ocupa espacio pero no se ve */
}

.proyectos-cuadro-completo .proyecto-imagen {
    width: 100%;
}

.proyectos-cuadro-completo .proyecto-imagen img {
    width: 100%;
    height: 550px;
    object-fit: cover;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: block;
}

.proyectos-cuadro-completo .proyecto-imagen a:hover img {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.mobile-tablet-layout {
    display: none;
}

.texto-centrado-mobile {
    text-align: center;
    padding: 20px 15px;
    color: var(--inicio-primary-color);
    font-size: 14px;
    line-height: 1.4;
    margin: 20px 0;
}

.proyecto-contenido h3 {
    margin-top: 0px;
    font-size: 14px;
    line-height: 1.3;
}

.proyecto-contenido h3 a {
    color: var(--inicio-primary-color, #333);
    text-decoration: none;
    transition: color 0.3s ease;
}

.proyecto-contenido h3 a:hover {
    color: var(--inicio-accent-color, #666);
}

/* =========== RESPONSIVE =========== */


/* Móviles grandes y tablets pequeñas (481px - 767px) */
@media screen and (max-width: 767px) and (min-width: 481px) {
    .desktop-only {
        display: none !important;
    }
    
    .mobile-tablet-only,
    .mobile-only {
        display: block !important;
    }
    
    .container-full {
        padding: 0 12px !important;
    }
    
    .fila-superior {
        display: flex !important;
        justify-content: space-between;
        gap: 12px;
        margin: 25px 0 !important;
    }
    
    .fila-superior .proyecto-item {
        flex: 1;
    }
    
    .fila-superior .proyecto-imagen img {
        width: 100%;
        height: 280px;
        object-fit: cover;
    }
    
    .fila-superior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
        margin-top: 0px !important;
        line-height: 1.2 !important;
    }
    
    .texto-centrado-mobile {
        display: block !important;
        text-align: left !important;
        margin: 40px 0 30px 0 !important;
        padding: 0 12px !important;
        font-size: var(--inicio-pieFoto-mobile) !important;
        line-height: 1.4 !important;
        color: var(--inicio-primary-color) !important;
        max-width: 65% !important;
    }
    
    .fila-inferior {
        display: flex !important;
        justify-content: space-between;
        gap: 12px;
        margin: 25px 0 !important;
        width: 100%;
    }
    
    .fila-inferior .proyecto-item {
        flex: 1;
    }
    
    .fila-inferior .proyecto-imagen img {
        width: 100%;
        height: 280px;
        object-fit: cover;
    }
    
    .fila-inferior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
        margin-top: 0px !important;
        line-height: 1.2 !important;
    }
}

/* Móviles medianos (376px - 480px) */
@media screen and (max-width: 480px) and (min-width: 376px) {
    .desktop-only {
        display: none !important;
    }
    
    .mobile-tablet-only,
    .mobile-only {
        display: block !important;
    }
    
    .container-full {
        padding: 0 10px !important;
    }
    
    .fila-superior {
        display: flex !important;
        justify-content: space-between;
        gap: 10px;
        margin: 20px 0 !important;
    }
    
    .fila-superior .proyecto-item {
        flex: 1;
    }
    
    .fila-superior .proyecto-imagen img {
        width: 100%;
        height: 240px;
        object-fit: cover;
    }
    
    .fila-superior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
        margin-top: 0px !important;
        line-height: 1.2 !important;
    }
    
    .texto-centrado-mobile {
        display: block !important;
        text-align: left !important;
        margin: 30px 0 25px 0 !important;
        padding: 0 0px !important;
        font-size: var(--inicio-pieFoto-mobile)!important;
        line-height: 1.4 !important;
        color: var(--inicio-primary-color) !important;
        max-width: 65% !important;
    }
    
    .fila-inferior {
        display: flex !important;
        justify-content: space-between;
        gap: 10px;
        margin: 0 0 20px 0 !important;
    }
    
    .fila-inferior .proyecto-item {
        flex: 1;
    }
    
    .fila-inferior .proyecto-imagen img {
        width: 100%;
        height: 240px;
        object-fit: cover;
    }
    
    .fila-inferior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile)!important;
        margin-top: 0px !important;
        line-height: 1.2 !important;
    }
}

/* Móviles pequeños (hasta 375px) */
@media screen and (max-width: 375px) {
    .desktop-only {
        display: none !important;
    }
    
    .mobile-tablet-only,
    .mobile-only {
        display: block !important;
    }
    
    .container-full {
        padding: 0 8px !important;
    }
    
    .fila-superior {
        display: flex !important;
        justify-content: space-between;
        gap: 8px;
        margin: 20px 0 !important;
    }
    
    .fila-superior .proyecto-item {
        flex: 1;
    }
    
    .fila-superior .proyecto-imagen img {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }
    
    .fila-superior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
        margin-top: 0px !important;
        line-height: 1.2 !important;
    }
    
    .texto-centrado-mobile {
        display: block !important;
        text-align: left !important;
        margin: 25px 0 20px 0 !important;
        padding: 0 8px !important;
        font-size: var(--inicio-pieFoto-mobile) !important;
        line-height: 1.4 !important;
        color: var(--inicio-primary-color) !important;
        max-width: 70% !important;
    }
    
    .fila-inferior {
        display: flex !important;
        justify-content: space-between;
        gap: 8px;
        margin: 0 0 20px 0 !important;
    }
    
    .fila-inferior .proyecto-item {
        flex: 1;
    }
    
    .fila-inferior .proyecto-imagen img {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }
    
    .fila-inferior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
        margin-top: 0px !important;
        line-height: 1.2 !important;
    }
}

@media (hover: hover) {
    .mobile-tablet-layout .proyecto-imagen a:hover img,
    .fila-superior .proyecto-imagen a:hover img,
    .fila-inferior .proyecto-imagen a:hover img {
        transform: scale(1.03);
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
    }
}

/* iPad Pro (1366x1024) - Landscape y Portrait */
@media screen and (min-width: 1025px) and (max-width: 1366px) {
    .desktop-only {
        display: none !important;
    }
    
    .mobile-tablet-only {
        display: block !important;
    }
    
    .container-full {
        padding: 0 20px !important;
    }
    
    .fila-superior {
        display: flex !important;
        justify-content: space-between;
        gap: 20px;
        margin: 40px 0 !important;
        width: 100%;
    }
    
    .fila-superior .proyecto-item {
        flex: 1;
    }
    
    .fila-superior .proyecto-imagen img {
        width: 100%;
        height: 400px;
        object-fit: cover;
    }
    
    .fila-superior .proyecto-contenido h3 {
        font-size: 12px !important;
        margin-top: 0px !important;
        line-height: 1.3 !important;
    }
    
    .texto-centrado-mobile {
        display: block !important;
        text-align: left !important;
        margin: 60px 0 50px 0 !important;
        padding: 0px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        color: var(--inicio-primary-color) !important;
        max-width: 70% !important;
    }
    
    .fila-inferior {
        display: flex !important;
        justify-content: space-between;
        gap: 20px;
        margin: 40px 0 !important;
        width: 100%;
    }
    
    .fila-inferior .proyecto-item {
        flex: 1;
    }
    
    .fila-inferior .proyecto-imagen img {
        width: 100%;
        height: 400px;
        object-fit: cover;
    }
    
    .fila-inferior .proyecto-contenido h3 {
        font-size: 12px !important;
        margin-top: 0px !important;
        line-height: 1.3 !important;
    }
}

/* iPad Air (1180x820) - Landscape y Portrait */
@media screen and (min-width: 821px) and (max-width: 1180px) {
    .desktop-only {
        display: none !important;
    }
    
    .mobile-tablet-only {
        display: block !important;
    }
    
    .container-full {
        padding: 0 18px !important;
    }
    
    .fila-superior {
        display: flex !important;
        justify-content: space-between;
        gap: 18px;
        margin: 35px 0 !important;
        width: 100%;
    }
    
    .fila-superior .proyecto-item {
        flex: 1;
    }
    
    .fila-superior .proyecto-imagen img {
        width: 100%;
        height: 360px;
        object-fit: cover;
    }
    
    .fila-superior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadPro) !important;
        margin-top: 0px !important;
        line-height: 1.3 !important;
    }
    
    .texto-centrado-mobile {
        display: block !important;
        text-align: left !important;
        margin: 55px 0 45px 0 !important;
        padding: 0px !important;
        font-size: var(--inicio-pieFoto-ipadPro) !important;
        line-height: 1.4 !important;
        color: var(--inicio-primary-color) !important;
        max-width: 70% !important;
    }
    
    .fila-inferior {
        display: flex !important;
        justify-content: space-between;
        gap: 18px;
        margin: 35px 0 !important;
        width: 100%;
    }
    
    .fila-inferior .proyecto-item {
        flex: 1;
    }
    
    .fila-inferior .proyecto-imagen img {
        width: 100%;
        height: 360px;
        object-fit: cover;
    }
    
    .fila-inferior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadPro) !important;
        margin-top: 0px !important;
        line-height: 1.3 !important;
    }
}

/* iPad Mini (1024x768) - Landscape y Portrait */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .desktop-only {
        display: none !important;
    }
    
    .mobile-tablet-only {
        display: block !important;
    }
    
    .container-full {
        padding: 0 15px !important;
    }
    
    .fila-superior {
        display: flex !important;
        justify-content: space-between;
        gap: 15px;
        margin: 30px 0 !important;
        width: 100%;
    }
    
    .fila-superior .proyecto-item {
        flex: 1;
    }
    
    .fila-superior .proyecto-imagen img {
        width: 100%;
        height: 320px;
        object-fit: cover;
    }
    
    .fila-superior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadAir) !important;
        margin-top: 0px !important;
        line-height: 1.3 !important;
    }
    
    .texto-centrado-mobile {
        display: block !important;
        text-align: left !important;
        margin: 50px 0 40px 0 !important;
        padding: 0px !important;
        font-size: var(--inicio-pieFoto-ipadAir) !important;
        line-height: 1.4 !important;
        color: var(--inicio-primary-color) !important;
        max-width: 70% !important;
    }
    
    .fila-inferior {
        display: flex !important;
        justify-content: space-between;
        gap: 15px;
        margin: 30px 0 !important;
        width: 100%;
    }
    
    .fila-inferior .proyecto-item {
        flex: 1;
    }
    
    .fila-inferior .proyecto-imagen img {
        width: 100%;
        height: 320px;
        object-fit: cover;
    }
    
    .fila-inferior .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadAir) !important;
        margin-top: 0px !important;
        line-height: 1.3 !important;
    }
}

/* ============ Estilos ultimas 3 fotos mobil ============ */

.trio-adicional {
    display: none;
    width: 100%;
    margin-top: 20px;
}

.imagen-superior-centrada {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
}

.imagen-superior-centrada .proyecto-item {
    width: 65%;
    max-width: 300px;
}

.imagenes-inferiores {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.imagenes-inferiores .proyecto-item {
    flex: 1;
}

.trio-adicional .proyecto-imagen img {
    width: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trio-adicional .proyecto-contenido h3 {
    margin-top: 0px;
    line-height: 1.2;
}

.trio-adicional .proyecto-contenido h3 a {
    color: var(--inicio-primary-color, #333);
    text-decoration: none;
    transition: color 0.3s ease;
}

.trio-adicional .proyecto-contenido h3 a:hover {
    color: var(--inicio-accent-color, #666);
}

@media (hover: hover) {
    .trio-adicional .proyecto-imagen a:hover img {
        transform: scale(1.03);
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
    }
}

/* ============ Responsive ultimas 3 fotos ============ */

/* Móviles grandes y tablets pequeñas (481px - 767px) */
@media screen and (max-width: 767px) and (min-width: 481px) {
    .trio-adicional {
        display: block !important;
        margin-top: 25px;
    }
    
    .imagen-superior-centrada {
        margin: 40px 0 110px 0;
    }
    
    .imagen-superior-centrada .proyecto-item {
        width: 60%;
    }
    
    .imagen-superior-centrada .proyecto-imagen img {
        height: 280px;
    }
    
    .imagen-superior-centrada .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
    }
    
    .imagenes-inferiores {
        gap: 12px;
        margin-top: 20px;
    }
    
    .imagenes-inferiores .proyecto-imagen img {
        height: 280px;
    }
    
    .imagenes-inferiores .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
    }
}

/* Móviles medianos (376px - 480px) */
@media screen and (max-width: 480px) and (min-width: 376px) {
    .trio-adicional {
        display: block !important;
        margin-top: 20px;
    }
    
    .imagen-superior-centrada {
        margin: 35px 0 100px 0;
    }
    
    .imagen-superior-centrada .proyecto-item {
        width: 65%;
    }
    
    .imagen-superior-centrada .proyecto-imagen img {
        height: 240px;
    }
    
    .imagen-superior-centrada .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
    }
    
    .imagenes-inferiores {
        gap: 10px;
        margin-top: 15px;
    }
    
    .imagenes-inferiores .proyecto-imagen img {
        height: 240px;
    }
    
    .imagenes-inferiores .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
    }
}

/* Móviles pequeños (hasta 375px) */
@media screen and (max-width: 375px) {
    .trio-adicional {
        display: block !important;
        margin-top: 20px;
    }
    
    .imagen-superior-centrada {
        margin: 30px 0 100px 0;
    }
    
    .imagen-superior-centrada .proyecto-item {
        width: 70%;
    }
    
    .imagen-superior-centrada .proyecto-imagen img {
        height: 200px;
    }
    
    .imagen-superior-centrada .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
    }
    
    .imagenes-inferiores {
        gap: 8px;
        margin-top: 15px;
    }
    
    .imagenes-inferiores .proyecto-imagen img {
        height: 200px;
    }
    
    .imagenes-inferiores .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-mobile) !important;
    }
}

/* iPad Pro (1366x1024) - Landscape y Portrait */
@media screen and (min-width: 1025px) and (max-width: 1366px) {
    .trio-adicional {
        display: block !important;
        margin-top: 40px;
    }
    
    .imagen-superior-centrada {
        margin: 60px 0 120px 0;
    }
    
    .imagen-superior-centrada .proyecto-item {
        width: 50%;
        max-width: 400px;
    }
    
    .imagen-superior-centrada .proyecto-imagen img {
        height: 400px;
    }
    
    .imagen-superior-centrada .proyecto-contenido h3 {
        font-size: 12px !important;
    }
    
    .imagenes-inferiores {
        gap: 20px;
        margin-top: 30px;
    }
    
    .imagenes-inferiores .proyecto-imagen img {
        height: 400px;
    }
    
    .imagenes-inferiores .proyecto-contenido h3 {
        font-size: 12px !important;
    }
}

/* iPad Air (1180x820) - Landscape y Portrait */
@media screen and (min-width: 821px) and (max-width: 1180px) {
    .trio-adicional {
        display: block !important;
        margin-top: 35px;
    }
    
    .imagen-superior-centrada {
        margin: 55px 0 110px 0;
    }
    
    .imagen-superior-centrada .proyecto-item {
        width: 55%;
        max-width: 350px;
    }
    
    .imagen-superior-centrada .proyecto-imagen img {
        height: 360px;
    }
    
    .imagen-superior-centrada .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadPro) !important;
    }
    
    .imagenes-inferiores {
        gap: 18px;
        margin-top: 25px;
    }
    
    .imagenes-inferiores .proyecto-imagen img {
        height: 360px;
    }
    
    .imagenes-inferiores .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadPro) !important;
    }
}

/* iPad Mini (1024x768) - Landscape y Portrait */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .trio-adicional {
        display: block !important;
        margin-top: 30px;
    }
    
    .imagen-superior-centrada {
        margin: 80px 0 160px 0;
    }
    
    .imagen-superior-centrada .proyecto-item {
        width: 60%;
        max-width: 320px;
    }
    
    .imagen-superior-centrada .proyecto-imagen img {
        height: 320px;
    }
    
    .imagen-superior-centrada .proyecto-contenido h3 {
        font-size:var(--inicio-pieFoto-ipadAir) !important;
    }
    
    .imagenes-inferiores {
        gap: 15px;
        margin-top: 20px;
    }
    
    .imagenes-inferiores .proyecto-imagen img {
        height: 320px;
    }
    
    .imagenes-inferiores .proyecto-contenido h3 {
        font-size: var(--inicio-pieFoto-ipadAir)!important;
    }
}