/* =========================================================
   GIULIMPEX - PÁGINA PROYECTOS
========================================================= */

.giulimpex-proyectos-page{
    width:100%;
    font-family:Arial, Helvetica, sans-serif;
    color:#082957;
}

.giulimpex-proyectos-page *,
.giulimpex-proyectos-page *::before,
.giulimpex-proyectos-page *::after{
    box-sizing:border-box;
}

.giulimpex-proyectos-page .contenedor{
    width:100%;
    max-width:1450px;
    margin:0 auto;
    padding-left:60px;
    padding-right:60px;
}


/* =========================================================
   HERO
========================================================= */

.giulimpex-proyectos-hero{
    position:relative;
    width:100vw;
    min-height:520px;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(2,41,80,.95) 0%,
            rgba(2,41,80,.88) 35%,
            rgba(2,41,80,.42) 60%,
            rgba(2,41,80,.08) 100%
        ),
        url('https://giulimpex.com/wp-content/uploads/2026/10/01_hero_referencia.webp');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.giulimpex-proyectos-hero-overlay{
    display:none;
}

.giulimpex-proyectos-hero-inner{
    min-height:520px;
    max-width:1450px;
    margin:0 auto;
    padding:135px 60px 55px;
    display:flex;
    align-items:center;
}

.giulimpex-proyectos-hero-texto{
    max-width:660px;
}

.giulimpex-proyectos-page .eyebrow{
    display:block;
    margin-bottom:10px;
    color:#49aef8;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.5px;
}

.giulimpex-proyectos-hero h1{
    margin:0 0 16px;
    color:#fff;
    font-size:54px;
    line-height:1.02;
    font-weight:800;
    letter-spacing:-1.5px;
}

.giulimpex-proyectos-hero h1 span{
    display:block;
    color:#55b4f8;
}

.giulimpex-proyectos-hero p{
    max-width:610px;
    margin:0 0 24px;
    color:#fff;
    font-size:17px;
    line-height:1.45;
}

.giulimpex-proyectos-hero-botones{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.giulimpex-proyectos-page .btn-principal,
.giulimpex-proyectos-page .btn-secundario{
    min-height:48px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:5px;
    text-decoration:none !important;
    font-size:14px;
    font-weight:700;
}

.giulimpex-proyectos-page .btn-principal{
    background:#168cf4;
    color:#fff !important;
    border:2px solid #168cf4;
}

.giulimpex-proyectos-page .btn-secundario{
    background:rgba(0,0,0,.15);
    color:#fff !important;
    border:2px solid rgba(255,255,255,.8);
}


/* =========================================================
   ESTADÍSTICAS
========================================================= */

.giulimpex-proyectos-stats{
    position:relative;
    z-index:5;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-top:-18px;
}

.giulimpex-proyectos-stats .stats-grid{
    background:#f3f9fe;
    border-radius:22px;
    box-shadow:0 8px 28px rgba(0,0,0,.06);
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding-top:18px;
    padding-bottom:18px;
}

.giulimpex-proyectos-stats .stat-item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:62px;
    border-right:1px solid #d9e6f0;
}

.giulimpex-proyectos-stats .stat-item:last-child{
    border-right:none;
}

.giulimpex-proyectos-stats .stat-icono{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e3f1fc;
    color:#0877d1;
    font-size:24px;
}

.giulimpex-proyectos-stats strong{
    display:block;
    font-size:21px;
    line-height:1;
    color:#082957;
}

.giulimpex-proyectos-stats .stat-item div span{
    display:block;
    margin-top:5px;
    font-size:12px;
    color:#65788f;
}


/* =========================================================
   CABECERAS DE SECCIÓN
========================================================= */

.giulimpex-proyectos-seccion{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:34px 0 18px;
    background:#fff;
}

.giulimpex-proyectos-en-curso{
    margin-top:32px;
    background:#f4f9fd;
    padding-top:30px;
}

.giulimpex-proyectos-seccion-head h2{
    margin:0 0 8px;
    font-size:32px;
    line-height:1.05;
    font-weight:800;
    color:#082957;
}

.giulimpex-proyectos-seccion-head p{
    max-width:780px;
    margin:0;
    font-size:14px;
    line-height:1.45;
    color:#64768c;
}


/* =========================================================
   GRID TARJETAS DINÁMICAS
========================================================= */

.giulimpex-proyectos-grid{
    width:100%;
    max-width:1330px;
    margin:0 auto 20px;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.giulimpex-proyecto-card{
    overflow:hidden;
    background:#fff;
    border:1px solid #dce6f0;
    border-radius:9px;
    box-shadow:0 4px 14px rgba(0,0,0,.04);
    transition:.2s ease;
}

.giulimpex-proyecto-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.giulimpex-proyecto-principal{
    display:block;
    height:250px;
    overflow:hidden;
}

.giulimpex-proyecto-principal img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.giulimpex-proyecto-info{
    padding:14px;
}

.giulimpex-proyecto-cabecera{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}

.giulimpex-proyecto-cabecera h3{
    margin:0 0 4px;
    font-size:18px;
    line-height:1.15;
    font-weight:800;
}

.giulimpex-proyecto-cabecera h3 a{
    color:#082957 !important;
    text-decoration:none !important;
}

.giulimpex-proyecto-ubicacion{
    font-size:12px;
    color:#65788f;
}

.giulimpex-estado{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:6px;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
}

.giulimpex-estado.finalizado{
    background:#dff4e8;
    color:#167548;
}

.giulimpex-estado.en-curso{
    background:#fff1da;
    color:#e48700;
}


/* MINIATURAS */

.giulimpex-proyecto-miniaturas{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    margin-bottom:10px;
}

.giulimpex-proyecto-miniaturas a{
    display:block;
    height:72px;
    overflow:hidden;
    border-radius:5px;
}

.giulimpex-proyecto-miniaturas img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.giulimpex-proyecto-enlace{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #cfdce8;
    border-radius:5px;
    color:#075fb7 !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:700;
}

.giulimpex-proyecto-enlace:hover{
    background:#f4f9fd;
}


/* =========================================================
   GRID EN CURSO - 4 TARJETAS
========================================================= */

.giulimpex-proyectos-en-curso + .wp-block-shortcode .giulimpex-proyectos-grid,
.giulimpex-proyectos-en-curso ~ .wp-block-shortcode .giulimpex-proyectos-grid{
    grid-template-columns:repeat(4,1fr);
}


/* =========================================================
   CTA FINAL
========================================================= */

.giulimpex-proyectos-cta{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-top:38px;

    background:
        linear-gradient(
            90deg,
            rgba(2,41,80,.96) 0%,
            rgba(2,41,80,.88) 55%,
            rgba(2,41,80,.60) 100%
        ),
        url('https://giulimpex.com/wp-content/uploads/2026/10/08_cta_fondo_referencia.png');

    background-size:cover;
    background-position:center;
}

.giulimpex-proyectos-cta .cta-grid{
    min-height:230px;
    display:flex;
    align-items:center;
}

.giulimpex-proyectos-cta .cta-texto{
    max-width:640px;
}

.giulimpex-proyectos-cta h2{
    margin:0 0 10px;
    color:#fff;
    font-size:38px;
    line-height:1.05;
    font-weight:800;
}

.giulimpex-proyectos-cta h2 span{
    color:#65bafa;
}

.giulimpex-proyectos-cta p{
    max-width:570px;
    margin:0 0 18px;
    color:#fff;
    font-size:14px;
    line-height:1.45;
}

.giulimpex-proyectos-cta .cta-botones{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

    .giulimpex-proyectos-page .contenedor{
        padding-left:30px;
        padding-right:30px;
    }

    .giulimpex-proyectos-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .giulimpex-proyectos-en-curso + .wp-block-shortcode .giulimpex-proyectos-grid,
    .giulimpex-proyectos-en-curso ~ .wp-block-shortcode .giulimpex-proyectos-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .giulimpex-proyectos-stats .stats-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .giulimpex-proyectos-stats .stat-item{
        border-right:none;
    }
}


/* =========================================================
   MÓVIL
========================================================= */

@media(max-width:650px){

    .giulimpex-proyectos-page .contenedor{
        padding-left:18px;
        padding-right:18px;
    }

    .giulimpex-proyectos-hero{
        min-height:650px;
        background-position:62% center;
    }

    .giulimpex-proyectos-hero-inner{
        min-height:650px;
        padding:125px 20px 45px;
    }

    .giulimpex-proyectos-hero h1{
        font-size:38px;
    }

    .giulimpex-proyectos-hero p{
        font-size:16px;
    }

    .giulimpex-proyectos-hero-botones{
        flex-direction:column;
    }

    .giulimpex-proyectos-page .btn-principal,
    .giulimpex-proyectos-page .btn-secundario{
        width:100%;
    }

    .giulimpex-proyectos-stats{
        margin-top:0;
    }

    .giulimpex-proyectos-stats .stats-grid{
        grid-template-columns:1fr;
        border-radius:0;
    }

    .giulimpex-proyectos-stats .stat-item{
        justify-content:flex-start;
        padding:8px 0;
        border-bottom:1px solid #dce6f0;
    }

    .giulimpex-proyectos-grid,
    .giulimpex-proyectos-en-curso + .wp-block-shortcode .giulimpex-proyectos-grid,
    .giulimpex-proyectos-en-curso ~ .wp-block-shortcode .giulimpex-proyectos-grid{
        grid-template-columns:1fr;
        padding:0 18px;
    }

    .giulimpex-proyecto-principal{
        height:220px;
    }

    .giulimpex-proyectos-seccion-head h2{
        font-size:28px;
    }

    .giulimpex-proyectos-cta .cta-grid{
        min-height:300px;
    }

    .giulimpex-proyectos-cta h2{
        font-size:30px;
    }

    .giulimpex-proyectos-cta .cta-botones{
        flex-direction:column;
    }
}
/* =========================================================
   PROYECTOS - AJUSTES FINALES DE POSICIÓN
========================================================= */

/* Quitar espacio superior en la página proyectos-prueba */
body.page-id-2338 .wp-site-blocks{
    margin-top:0 !important;
    padding-top:0 !important;
}

body.page-id-2338 .wp-site-blocks > .wp-block-template-part:first-child{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1000 !important;
}

body.page-id-2338 .giulimpex-header{
    position:absolute !important;
    top:15px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:1000 !important;
}

body.page-id-2338 main,
body.page-id-2338 .wp-block-post-content{
    margin-top:0 !important;
    padding-top:0 !important;
}

body.page-id-2338 .giulimpex-proyectos-page{
    margin-top:-125px !important;
}

/* Hero más parecido a la maqueta */
body.page-id-2338 .giulimpex-proyectos-hero{
    min-height:500px !important;
}

body.page-id-2338 .giulimpex-proyectos-hero-inner{
    min-height:500px !important;
    padding-top:150px !important;
}

/* =========================================================
   TARJETAS MÁS GRANDES
========================================================= */

body.page-id-2338 .giulimpex-proyectos-grid{
    max-width:1450px !important;
    padding-left:45px !important;
    padding-right:45px !important;
    gap:24px !important;
}

body.page-id-2338 .giulimpex-proyecto-principal{
    height:285px !important;
}

body.page-id-2338 .giulimpex-proyecto-cabecera h3{
    font-size:20px !important;
}

body.page-id-2338 .giulimpex-proyecto-miniaturas a{
    height:84px !important;
}

/* Estado vacío de obras en curso */
body.page-id-2338 .giulimpex-sin-proyectos{
    max-width:1330px;
    margin:0 auto 30px;
    padding:22px;
    background:#fff;
    border:1px dashed #cbd8e5;
    border-radius:8px;
    text-align:center;
    color:#64768c;
}

/* Acercar CTA al footer */
body.page-id-2338 .giulimpex-proyectos-cta{
    margin-bottom:0 !important;
}

body.page-id-2338 .wp-block-post-content + .wp-block-template-part{
    margin-top:-40px !important;
}

/* =========================================================
   PROYECTOS - SUBIR HEADER COMPLETO
========================================================= */

body.page-id-2338 .wp-block-template-part:has(.giulimpex-header){
    transform:translateY(-48px) !important;
    margin-bottom:-30px !important;
    z-index:9999 !important;
}

body.page-id-2338 .giulimpex-header{
    top:0 !important;
    margin-top:0 !important;
}

.giulimpex-proyectos-grid{
    width:100%;
    max-width:1300px;
    margin:0 auto 35px;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:24px;
}

.giulimpex-proyecto-card{
    width:100%;
    max-width:420px;
}

.giulimpex-proyectos-grid .giulimpex-proyecto-card:only-child{
    max-width:420px;
}

body.page-id-2338 .giulimpex-proyectos-grid{
    justify-items:start;
}

body.page-id-2338 .giulimpex-proyecto-principal{
    height:300px !important;
}

body.page-id-2338 .giulimpex-proyectos-seccion{
    padding-bottom:10px !important;
}

body.page-id-2338 .giulimpex-proyectos-en-curso{
    margin-top:10px !important;
}


/* =========================================================
   GIULIMPEX - DETALLE INDIVIDUAL DE PROYECTO
========================================================= */

.giulimpex-proyecto-detalle{
    width:100%;
    margin:0;
    padding:0;
    font-family:Arial, Helvetica, sans-serif;
    color:#082957;
}

.gpd-contenedor{
    width:100%;
    max-width:1250px;
    margin:0 auto;
    padding-left:35px;
    padding-right:35px;
    box-sizing:border-box;
}

/* HERO */
.gpd-hero{
    position:relative;
    width:100vw;
    min-height:460px;
    margin-left:calc(50% - 50vw);
    overflow:hidden;
}

.gpd-hero-fondo{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.gpd-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(2,40,78,.94) 0%,
        rgba(2,40,78,.82) 42%,
        rgba(2,40,78,.25) 75%,
        rgba(2,40,78,.08) 100%
    );
}

.gpd-hero-contenido{
    position:relative;
    z-index:2;
    min-height:460px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding-top:95px;
}

.gpd-eyebrow{
    display:block;
    margin-bottom:10px;
    color:#42aaf6;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.5px;
}

.gpd-hero h1{
    max-width:760px;
    margin:0 0 20px;
    color:#fff;
    font-size:52px;
    line-height:1.05;
    font-weight:800;
}

.gpd-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}

.gpd-meta > span{
    padding:8px 12px;
    border-radius:5px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:13px;
}

.gpd-estado.finalizado{
    background:#dff4e8 !important;
    color:#157449 !important;
}

.gpd-estado.en-curso{
    background:#fff0d9 !important;
    color:#ce7600 !important;
}

/* DATOS */
.gpd-resumen{
    background:#f3f8fc;
    padding:24px 0;
}

.gpd-resumen-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
}

.gpd-dato{
    padding:8px 25px;
    border-right:1px solid #d5e2ed;
}

.gpd-dato:last-child{
    border-right:0;
}

.gpd-dato span{
    display:block;
    margin-bottom:5px;
    color:#718195;
    font-size:12px;
}

.gpd-dato strong{
    color:#082957;
    font-size:18px;
}

/* GALERÍA */
.gpd-galeria{
    padding:55px 0 65px;
    background:#fff;
}

.gpd-galeria h2,
.gpd-servicios h2{
    margin:0 0 8px;
    color:#082957;
    font-size:34px;
    font-weight:800;
}

.gpd-intro{
    margin:0 0 26px;
    color:#65778b;
    font-size:15px;
}

.gpd-galeria-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.gpd-galeria-item{
    display:block;
    height:240px;
    overflow:hidden;
    border-radius:8px;
}

.gpd-galeria-item.principal{
    grid-column:span 2;
    grid-row:span 2;
    height:494px;
}

.gpd-galeria-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .25s ease;
}

.gpd-galeria-item:hover img{
    transform:scale(1.03);
}

/* SERVICIOS */
.gpd-servicios{
    padding:55px 0;
    background:#f4f9fd;
}

.gpd-servicios-contenido{
    margin-top:20px;
    padding:25px 30px;
    background:#fff;
    border-radius:8px;
    border:1px solid #dbe7f0;
    color:#455a70;
    font-size:15px;
    line-height:1.8;
}

/* CTA */
.gpd-cta{
    padding:55px 0;
    background:#063969;
    color:#fff;
}

.gpd-cta h2{
    margin:0 0 10px;
    color:#fff;
    font-size:38px;
}

.gpd-cta p{
    max-width:620px;
    margin:0 0 22px;
    font-size:15px;
}

.gpd-cta-botones{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.gpd-btn-principal,
.gpd-btn-secundario{
    min-height:46px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:5px;
    text-decoration:none !important;
    font-size:14px;
    font-weight:700;
}

.gpd-btn-principal{
    background:#168cf4;
    color:#fff !important;
}

.gpd-btn-secundario{
    border:1px solid rgba(255,255,255,.8);
    color:#fff !important;
}

/* MÓVIL */
@media(max-width:768px){

    .gpd-contenedor{
        padding-left:18px;
        padding-right:18px;
    }

    .gpd-hero,
    .gpd-hero-contenido{
        min-height:520px;
    }

    .gpd-hero h1{
        font-size:38px;
    }

    .gpd-resumen-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .gpd-dato{
        border-right:0;
        border-bottom:1px solid #d5e2ed;
    }

    .gpd-galeria-grid{
        grid-template-columns:1fr;
    }

    .gpd-galeria-item,
    .gpd-galeria-item.principal{
        grid-column:auto;
        grid-row:auto;
        height:260px;
    }

    .gpd-cta-botones{
        flex-direction:column;
    }
}
/* =========================================================
   PROYECTO INDIVIDUAL - LIBERAR ANCHO DEL TEMA
========================================================= */

body.single-proyecto .wp-block-shortcode{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:0 !important;
}

body.single-proyecto .giulimpex-proyecto-detalle{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.single-proyecto .gpd-contenedor{
    width:calc(100% - 80px) !important;
    max-width:1250px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
}


/* =========================================================
   GALERÍA
========================================================= */

body.single-proyecto .gpd-galeria-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:2fr 1fr 1fr !important;
    grid-template-rows:230px 230px !important;
    gap:14px !important;
    margin:25px 0 0 !important;
    padding:0 !important;
}

body.single-proyecto .gpd-galeria-item{
    display:block !important;
    width:100% !important;
    height:230px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:8px !important;
}

body.single-proyecto .gpd-galeria-item.principal{
    grid-column:1 !important;
    grid-row:1 / 3 !important;
    height:474px !important;
}

body.single-proyecto .gpd-galeria-item img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
}


/* Foto 4, 5 y 6 si existen */
body.single-proyecto .gpd-galeria-item:nth-child(4),
body.single-proyecto .gpd-galeria-item:nth-child(5),
body.single-proyecto .gpd-galeria-item:nth-child(6){
    height:230px !important;
}


/* =========================================================
   MÓVIL
========================================================= */

@media(max-width:768px){

    body.single-proyecto .gpd-contenedor{
        width:calc(100% - 32px) !important;
    }

    body.single-proyecto .gpd-galeria-grid{
        grid-template-columns:1fr !important;
        grid-template-rows:auto !important;
    }

    body.single-proyecto .gpd-galeria-item,
    body.single-proyecto .gpd-galeria-item.principal{
        grid-column:auto !important;
        grid-row:auto !important;
        height:260px !important;
    }
}

/* =========================================================
   PROYECTO INDIVIDUAL - GALERÍA DEFINITIVA
========================================================= */

body.single-proyecto .gpd-galeria-grid{
    display:grid !important;
    grid-template-columns:2fr 1fr !important;
    grid-auto-rows:230px !important;
    gap:14px !important;
    width:100% !important;
}

/* Foto principal */
body.single-proyecto .gpd-galeria-item:nth-child(1){
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    height:474px !important;
}

/* Fotos laterales */
body.single-proyecto .gpd-galeria-item:nth-child(2){
    grid-column:2 !important;
    grid-row:1 !important;
}

body.single-proyecto .gpd-galeria-item:nth-child(3){
    grid-column:2 !important;
    grid-row:2 !important;
}

/* Desde la foto 4, tres por fila debajo */
body.single-proyecto .gpd-galeria-item:nth-child(n+4){
    grid-column:auto !important;
    grid-row:auto !important;
    height:230px !important;
}

body.single-proyecto .gpd-galeria-item img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

/* Si hay más de 3 imágenes, zona inferior en 3 columnas */
body.single-proyecto .gpd-galeria-grid:has(.gpd-galeria-item:nth-child(4)){
    grid-template-columns:2fr 1fr !important;
}

/* =========================================================
   GALERÍA PROYECTO - CORRECCIÓN DEFINITIVA
========================================================= */

body.single-proyecto .gpd-galeria-grid{
    width:100% !important;
    max-width:1250px !important;
    margin:25px auto 0 !important;
    padding:0 !important;

    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows:none !important;
    grid-auto-rows:280px !important;
    grid-auto-flow:row !important;

    gap:16px !important;
}

/* ANULA TODOS LOS TAMAÑOS Y POSICIONES ANTERIORES */
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item,
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item.principal,
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item:nth-child(1),
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item:nth-child(2),
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item:nth-child(3),
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item:nth-child(4),
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item:nth-child(5),
body.single-proyecto .gpd-galeria-grid .gpd-galeria-item:nth-child(6){
    grid-column:auto !important;
    grid-row:auto !important;

    width:100% !important;
    max-width:none !important;
    height:280px !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;
    overflow:hidden !important;

    border-radius:10px !important;
}

body.single-proyecto .gpd-galeria-grid .gpd-galeria-item img{
    width:100% !important;
    max-width:none !important;
    height:100% !important;

    margin:0 !important;
    padding:0 !important;

    display:block !important;
    object-fit:cover !important;
}


/* TABLET */
@media(max-width:950px){

    body.single-proyecto .gpd-galeria-grid{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }

}


/* MÓVIL */
@media(max-width:600px){

    body.single-proyecto .gpd-galeria-grid{
        grid-template-columns:1fr !important;
        grid-auto-rows:250px !important;
        gap:12px !important;
    }

    body.single-proyecto .gpd-galeria-grid .gpd-galeria-item,
    body.single-proyecto .gpd-galeria-grid .gpd-galeria-item.principal{
        height:250px !important;
    }

}

/* =========================================================
   GALERÍA PROFESIONAL - PROYECTO INDIVIDUAL
========================================================= */

body.single-proyecto .gpd-galeria-profesional{
    width:100%;
    max-width:1250px;
    margin:30px auto 0;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:14px;
}

/* Base */
body.single-proyecto .gpd-galeria-profesional .gpd-foto{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:10px;
    min-height:220px;
    background:#eef3f7;
}

/* Foto principal grande */
body.single-proyecto .gpd-galeria-profesional .gpd-foto-1{
    grid-column:1 / -1;
    min-height:500px;
}

/* Fotos 2, 3 y 4 */
body.single-proyecto .gpd-galeria-profesional .gpd-foto-2,
body.single-proyecto .gpd-galeria-profesional .gpd-foto-3,
body.single-proyecto .gpd-galeria-profesional .gpd-foto-4{
    grid-column:span 2;
    min-height:260px;
}

/* Fotos 5 y 6 */
body.single-proyecto .gpd-galeria-profesional .gpd-foto-5,
body.single-proyecto .gpd-galeria-profesional .gpd-foto-6{
    grid-column:span 3;
    min-height:300px;
}

body.single-proyecto .gpd-galeria-profesional img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}

/* Overlay */
body.single-proyecto .gpd-foto-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:rgba(2,41,80,.50);
    color:#fff;
    font-size:14px;
    font-weight:700;
    opacity:0;
    transition:opacity .25s ease;
}

body.single-proyecto .gpd-foto:hover img{
    transform:scale(1.035);
}

body.single-proyecto .gpd-foto:hover .gpd-foto-overlay{
    opacity:1;
}

/* Tablet */
@media(max-width:900px){

    body.single-proyecto .gpd-galeria-profesional{
        grid-template-columns:repeat(2,1fr);
    }

    body.single-proyecto .gpd-galeria-profesional .gpd-foto-1{
        grid-column:1 / -1;
        min-height:420px;
    }

    body.single-proyecto .gpd-galeria-profesional .gpd-foto-2,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-3,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-4,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-5,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-6{
        grid-column:auto;
        min-height:240px;
    }
}

/* Móvil */
@media(max-width:600px){

    body.single-proyecto .gpd-galeria-profesional{
        grid-template-columns:1fr;
        gap:10px;
    }

    body.single-proyecto .gpd-galeria-profesional .gpd-foto,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-1,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-2,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-3,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-4,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-5,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-6{
        grid-column:1;
        min-height:250px;
    }
}
/* =========================================================
   GALERÍA PROFESIONAL - AISLADA DEL TEMA
========================================================= */

body.single-proyecto .gpd-galeria{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:60px 0 !important;
    background:#fff !important;
}

body.single-proyecto .gpd-galeria > .gpd-contenedor{
    width:calc(100% - 80px) !important;
    max-width:1250px !important;
    margin:0 auto !important;
    padding:0 !important;
}

body.single-proyecto .gpd-galeria-profesional{
    width:100% !important;
    max-width:none !important;
    margin:30px 0 0 !important;
    padding:0 !important;

    display:grid !important;
    grid-template-columns:repeat(12, minmax(0,1fr)) !important;
    gap:16px !important;
}

/* TODAS LAS FOTOS */
body.single-proyecto .gpd-galeria-profesional .gpd-foto{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:10px !important;
    background:#eef3f7 !important;
}

/* FOTO PRINCIPAL */
body.single-proyecto .gpd-galeria-profesional .gpd-foto-1{
    grid-column:1 / -1 !important;
    height:520px !important;
}

/* FILA DE 3 */
body.single-proyecto .gpd-galeria-profesional .gpd-foto-2,
body.single-proyecto .gpd-galeria-profesional .gpd-foto-3,
body.single-proyecto .gpd-galeria-profesional .gpd-foto-4{
    grid-column:span 4 !important;
    height:260px !important;
}

/* FILA DE 2 */
body.single-proyecto .gpd-galeria-profesional .gpd-foto-5,
body.single-proyecto .gpd-galeria-profesional .gpd-foto-6{
    grid-column:span 6 !important;
    height:310px !important;
}

/* IMÁGENES */
body.single-proyecto .gpd-galeria-profesional .gpd-foto img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
}

/* EFECTO */
body.single-proyecto .gpd-foto-overlay{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    background:rgba(4,43,82,.50) !important;
    color:white !important;
    opacity:0 !important;
    transition:.25s ease !important;
}

body.single-proyecto .gpd-foto:hover .gpd-foto-overlay{
    opacity:1 !important;
}

body.single-proyecto .gpd-foto:hover img{
    transform:scale(1.03);
    transition:.3s ease;
}

/* TABLET */
@media(max-width:900px){

    body.single-proyecto .gpd-galeria-profesional{
        grid-template-columns:repeat(2,1fr) !important;
    }

    body.single-proyecto .gpd-galeria-profesional .gpd-foto{
        grid-column:auto !important;
        height:250px !important;
    }

    body.single-proyecto .gpd-galeria-profesional .gpd-foto-1{
        grid-column:1 / -1 !important;
        height:400px !important;
    }
}

/* MÓVIL */
@media(max-width:600px){

    body.single-proyecto .gpd-galeria > .gpd-contenedor{
        width:calc(100% - 30px) !important;
    }

    body.single-proyecto .gpd-galeria-profesional{
        grid-template-columns:1fr !important;
    }

    body.single-proyecto .gpd-galeria-profesional .gpd-foto,
    body.single-proyecto .gpd-galeria-profesional .gpd-foto-1{
        grid-column:1 !important;
        height:250px !important;
    }
}

/* =========================================================
   MODAL GALERÍA GIULIMPEX
========================================================= */

.giulimpex-galeria-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
}

.giulimpex-galeria-modal.abierto{
    display:flex;
    align-items:center;
    justify-content:center;
}

.giulimpex-galeria-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.82);
    backdrop-filter:blur(3px);
}

.giulimpex-galeria-contenido{
    position:relative;
    z-index:2;
    width:min(1180px, calc(100% - 40px));
    height:min(760px, calc(100vh - 60px));
    padding:60px 80px 55px;
    box-sizing:border-box;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#24211f;
    border-radius:14px;
    box-shadow:0 25px 70px rgba(0,0,0,.4);
}

.giulimpex-galeria-titulo{
    position:absolute;
    top:20px;
    left:30px;

    color:#fff;
    font-size:18px;
    font-weight:700;
}

.giulimpex-galeria-cerrar{
    position:absolute;
    top:12px;
    right:18px;
    z-index:5;

    width:42px;
    height:42px;

    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.12);

    color:#fff;
    font-size:30px;
    line-height:1;

    cursor:pointer;
}

.giulimpex-galeria-imagen-wrap{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;
}

.giulimpex-galeria-imagen{
    display:none;
    width:100%;
    height:100%;
    object-fit:contain;
}

.giulimpex-galeria-imagen.activa{
    display:block;
}

.giulimpex-galeria-flecha{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;

    width:52px;
    height:52px;

    border:0;
    border-radius:50%;

    background:rgba(0,0,0,.65);
    color:#fff;

    font-size:40px;
    line-height:1;

    cursor:pointer;
}

.giulimpex-galeria-flecha.anterior{
    left:18px;
}

.giulimpex-galeria-flecha.siguiente{
    right:18px;
}

.giulimpex-galeria-indicadores{
    position:absolute;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    gap:8px;
}

.giulimpex-galeria-punto{
    width:10px;
    height:10px;

    padding:0;
    border:0;
    border-radius:50%;

    background:rgba(255,255,255,.45);

    cursor:pointer;
}

.giulimpex-galeria-punto.activo{
    background:#fff;
    transform:scale(1.2);
}

body.giulimpex-modal-abierto{
    overflow:hidden;
}


/* LOS BOTONES DE LA TARJETA CONSERVAN EL ASPECTO */
.giulimpex-proyecto-principal,
.giulimpex-miniatura-galeria,
button.giulimpex-proyecto-enlace{
    border:0;
    padding:0;
    cursor:pointer;
    font-family:inherit;
}

button.giulimpex-proyecto-enlace{
    width:100%;
}


/* MÓVIL */
@media(max-width:700px){

    .giulimpex-galeria-contenido{
        width:calc(100% - 20px);
        height:calc(100vh - 40px);
        padding:55px 15px 60px;
    }

    .giulimpex-galeria-flecha{
        width:42px;
        height:42px;
        font-size:31px;
    }

    .giulimpex-galeria-flecha.anterior{
        left:8px;
    }

    .giulimpex-galeria-flecha.siguiente{
        right:8px;
    }

    .giulimpex-galeria-titulo{
        left:18px;
        right:60px;
        font-size:15px;
    }
}
/* Imagen principal de tarjeta - ancho completo */
.giulimpex-proyecto-card .giulimpex-proyecto-principal{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    overflow:hidden !important;
}

.giulimpex-proyecto-card .giulimpex-proyecto-principal img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:300px !important;
    object-fit:cover !important;
    margin:0 !important;
}

/* =========================================================
   RESPONSIVE MÓVIL - PROYECTOS GIULIMPEX
========================================================= */

@media (max-width:600px){

    html,
    body{
        overflow-x:hidden !important;
    }

  /* CONTENEDOR DE PROYECTOS */
.giulimpex-proyectos-grid{
    width:100vw !important;
    max-width:100vw !important;

    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;

    margin:0 !important;
    padding:0 14px !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;

    box-sizing:border-box !important;
}

/* TARJETA */
.giulimpex-proyecto-card{
    width:100% !important;
    max-width:350px !important;
    min-width:0 !important;

    margin:0 auto 28px !important;

    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;

    box-sizing:border-box !important;
    overflow:hidden !important;
}

    /* IMAGEN PRINCIPAL */
    .giulimpex-proyecto-principal{
        display:block !important;

        width:100% !important;
        max-width:100% !important;

        margin:0 !important;
        padding:0 !important;

        border:0 !important;
        background:none !important;
    }

    .giulimpex-proyecto-principal img{
        display:block !important;

        width:100% !important;
        max-width:100% !important;
        height:240px !important;

        margin:0 !important;

        object-fit:cover !important;
    }

    /* INFORMACIÓN */
    .giulimpex-proyecto-info{
        width:100% !important;
        padding:14px !important;

        box-sizing:border-box !important;
    }

    /* CABECERA */
    .giulimpex-proyecto-cabecera{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;

        gap:8px !important;
    }

    .giulimpex-proyecto-cabecera h3{
        margin:0 !important;

        font-size:21px !important;
        line-height:1.08 !important;
    }

    .giulimpex-proyecto-cabecera h3 a{
        white-space:normal !important;
        word-break:normal !important;
    }

    /* UBICACIÓN */
    .giulimpex-proyecto-ubicacion{
        margin-top:4px !important;

        font-size:12px !important;
    }

    /* ESTADO */
    .giulimpex-estado{
        align-self:flex-start !important;

        padding:7px 10px !important;

        font-size:11px !important;
        white-space:nowrap !important;
    }

    /* MINIATURAS */
    .giulimpex-proyecto-miniaturas{
        width:100% !important;

        display:grid !important;
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;

        gap:6px !important;
        margin-top:12px !important;

        box-sizing:border-box !important;
    }

    .giulimpex-miniatura-galeria{
        width:100% !important;
        height:82px !important;

        margin:0 !important;
        padding:0 !important;

        overflow:hidden !important;
    }

    .giulimpex-miniatura-galeria img{
        width:100% !important;
        height:100% !important;

        display:block !important;
        object-fit:cover !important;
    }

    /* BOTÓN VER GALERÍA */
    button.giulimpex-proyecto-enlace,
    .giulimpex-proyecto-enlace{
        width:100% !important;
        min-height:42px !important;

        margin-top:10px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        box-sizing:border-box !important;

        text-align:center !important;
    }
}
@media (min-width:601px){

    .giulimpex-proyecto-card{
        max-width:320px !important;
    }

    .giulimpex-proyecto-card .giulimpex-proyecto-principal img{
        height:220px !important;
        object-fit:cover !important;
    }

    .giulimpex-proyecto-miniaturas{
        gap:5px !important;
    }

    .giulimpex-miniatura-galeria{
        height:78px !important;
    }
}