/* =========================================
   PORTAFOLIO GALLERY PREMIUM
========================================= */
.portfolio-gallery{
    max-width:1450px;
    margin:190px auto;
    padding:0 25px;
}

.portfolio-gallery .row{
    display:flex;
    flex-wrap:wrap;
}

/* columnas */
.portfolio-gallery .col-md-4{
    padding:12px;
}

/* item */
.portfolio-item{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(0,0,0,0.05);
    border:1px solid #ebe4d7;
    background:#fff;
    transition:.35s;
}

.portfolio-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

/* imagen */
.portfolio-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
    transition:.5s;
}

.portfolio-item:hover img{
    transform:scale(1.08);
}

/* overlay elegante */
.portfolio-item::before{
    content:"VER PROYECTO";
    position:absolute;
    inset:0;
    background:rgba(20,20,20,0.28);
    color:#fff;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    transition:.35s;
    z-index:2;
}

.portfolio-item:hover::before{
    opacity:1;
}












/* =========================================
   CATALOGO PREMIUM
========================================= */
.catalogo{
    max-width:1450px;
    margin:110px auto;
    padding:0 40px;
}

.catalogo-box{
    background:linear-gradient(135deg,#f6f2ea,#efe8dc);
    border:1px solid #e5dccd;
    border-radius:32px;
    padding:45px;
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:45px;
    align-items:center;
    box-shadow:0 15px 35px rgba(0,0,0,0.04);
}

/* IMAGEN */
.catalogo-img img{
    width:100%;
    border-radius:24px;
    box-shadow:0 15px 30px rgba(0,0,0,0.08);
}

/* INFO */
.catalogo-mini{
    color:#7a8d52;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
}

.catalogo-info h2{
    font-size:48px;
    line-height:1.1;
    color:#222;
    margin:15px 0 20px;
    font-family:'Times New Roman', serif;
}

.catalogo-info p{
    font-size:17px;
    color:#666;
    line-height:1.8;
    margin-bottom:25px;
}

/* BADGES */
.badges{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:30px;
}

.badges span{
    background:#fff;
    border:1px solid #e7dfd0;
    color:#5d6d3d;
    font-size:13px;
    padding:10px 14px;
    border-radius:20px;
    box-shadow:0 4px 10px rgba(0,0,0,0.03);
}

/* BOTON */
.btn-catalogo{
    display:inline-block;
    background:#6f7f46;
    color:#fff;
    padding:15px 32px;
    border-radius:30px;
    text-decoration:none;
    font-weight:600;
    box-shadow:0 10px 25px rgba(111,127,70,0.2);
    transition:.3s;
}

.btn-catalogo:hover{
    background:#5c6c39;
    transform:translateY(-3px);
}






/* =========================================
   MODAL PORTAFOLIO PREMIUM
========================================= */
#portfolioModal .modal-dialog{
    margin-top: 120px;
    max-width:900px;
}

#portfolioModal .modal-content{
    background:transparent;
    border:none;
    box-shadow:none;
}

#portfolioModal .modal-body{
    padding:0;
    text-align:center;
    position:relative;
}

/* fondo oscuro elegante */
#portfolioModal{
    background:rgba(10,10,10,0.82);
    backdrop-filter:blur(6px);
}

/* imagen */
#modalImage{
    width:100%;
    max-height:85vh;
    object-fit:contain;
    border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,0.35);
    border:3px solid rgba(255,255,255,0.08);
}

/* boton cerrar */
#portfolioModal .close{
    position:absolute;
    top:-18px;
    right:-18px;

    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#111;

    font-size:28px;
    font-weight:300;
    line-height:1;

    opacity:1;
    cursor:pointer;
    z-index:999;

    box-shadow:0 8px 20px rgba(0,0,0,0.2);
    transition:.3s;
}

#portfolioModal .close:hover{
    transform:scale(1.08);
    background:#6f7f46;
    color:#fff;
}

#portfolioModal .close span{
    position:relative;
    top:-1px;
}