/*=========================================================
 GRID PHOTO HOME
=========================================================*/

#grid-photo-home{
    width:100%;
    padding:30px 0;
    background:#ffffff;
    font-family:'Montserrat',sans-serif;
}

.grid-home-container{
    width:min(1600px, 100%);
    margin:0 auto;
}

.grid-home-title{
    text-align:center;
    font-size:34px;
    font-weight:300;
    color:#222;
    margin-bottom:34px;
}

/*==============================
 GRID
==============================*/

.grid-home-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

/*==============================
 CARD
==============================*/

.grid-home-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:15px;
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.18);
    text-decoration:none;
    transition:all .25s ease;
}

.grid-home-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 28px rgba(0,0,0,.28);
}

.grid-home-image{
    aspect-ratio:5/4;
    overflow:hidden;
}

.grid-home-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.grid-home-card:hover img{
    transform:scale(1.08);
}

/*==============================
 OVERLAY
==============================*/

.grid-home-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:18px;
    background:rgba(19,95,132,.94);
    color:#fff;

    /* Solo visible la banda inferior */
    transform:translateY(calc(100% - 82px));
    transition:transform .35s ease;
}

/* Estado normal: solo el título */
.grid-home-overlay h3{
    height:50px;
    display:flex;
    align-items:center;          /* Centrado vertical */
    color:#fff;
    font-size:20px;
    font-weight:400;
    line-height:1.3;
    margin:0;
    overflow:hidden;
    opacity:0.7
}

/* Ocultar descripción y botón */
.grid-home-overlay p,
.grid-home-more{
    opacity:0;
    visibility:none;
    transform:translateY(10px);
    transition:all .2s ease;
    opacity:0.7
}

/*==============================
 HOVER
==============================*/

.grid-home-card:hover .grid-home-overlay{
    transform:translateY(0);
}

.grid-home-card:hover .grid-home-overlay h3{
    margin:0 0 14px;
    -webkit-line-clamp:unset;
}

.grid-home-card:hover .grid-home-overlay p,
.grid-home-card:hover .grid-home-overlay .grid-home-more{
    opacity:0.7;
    visibility:visible;
    transform:translateY(0);
    transition-delay:.15s;
}

.grid-home-overlay p{
    color:#fff;
    font-size:13px;
    font-weight:400;
    line-height:1.6;
    margin:0;
}

.grid-home-more{
    margin-top:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#fff;
    font-size:13px;
    font-weight:600;
}

.grid-home-more::after{
    content:"+";
    font-size:28px;
    font-weight:300;
    line-height:1;
}

/*=========================================================
  RESPONSIVE - 1200px
=========================================================*/
@media (max-width:1200px){

    #grid-photo-home{
        padding:26px 0;
    }

    .grid-home-title{
        font-size:30px;
        margin-bottom:28px;
    }

    .grid-home-wrapper{
        gap:18px;
    }

    .grid-home-overlay{
        padding:16px;
        transform:translateY(calc(100% - 78px));
    }

    .grid-home-overlay h3{
        height:46px;
        font-size:18px;
    }

    .grid-home-overlay p{
        font-size:12px;
    }

}

/*=========================================================
  RESPONSIVE - 900px
=========================================================*/
@media (max-width:900px){

    #grid-photo-home{
        padding:24px 0;
    }

    .grid-home-title{
        font-size:28px;
        margin-bottom:24px;
    }

    .grid-home-wrapper{
        grid-template-columns:repeat(2,1fr);
        gap:18px;
    }

    .grid-home-overlay{
        padding:16px;
        transform:translateY(calc(100% - 76px));
    }

    .grid-home-overlay h3{
        height:44px;
        font-size:17px;
    }

    .grid-home-overlay p{
        font-size:12px;
        line-height:1.5;
    }

    .grid-home-more{
        font-size:12px;
    }
    .grid-home-card.touch-open .grid-home-overlay{
        transform:translateY(0);
    }

    .grid-home-card.touch-open .grid-home-overlay h3{
        margin:0 0 14px;
        height:auto;
    }

    .grid-home-card.touch-open .grid-home-overlay p,
    .grid-home-card.touch-open .grid-home-overlay .grid-home-more{
        opacity:.7;
        visibility:visible;
        transform:translateY(0);
        transition-delay:.15s;
    }

}

/*=========================================================
  RESPONSIVE - 600px
=========================================================*/
@media (max-width:600px){

    #grid-photo-home{
        padding:20px 0;
    }

    .grid-home-title{
        font-size:24px;
        margin-bottom:20px;
    }

    .grid-home-wrapper{
        grid-template-columns:1fr;
        gap:16px;
    }

    .grid-home-card{
        border-radius:12px;
    }

    .grid-home-overlay{
        padding:14px;
        transform:translateY(calc(100% - 72px));
    }

    .grid-home-overlay h3{
        height:44px;
        font-size:16px;
        line-height:1.3;
    }

    .grid-home-overlay p{
        font-size:12px;
        line-height:1.5;
    }

    .grid-home-more{
        font-size:12px;
    }

    .grid-home-more::after{
        font-size:24px;
    }

}