
/* Galeria pública - Saitone Jardinagem | acabamento */
.gallery-section{padding-top:38px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}

/* Quando houver poucos trabalhos, os cards não ficam largos demais */
.work-grid:has(.work-card:only-child){grid-template-columns:minmax(300px,430px)}
.work-grid:has(.work-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(300px,430px))}

.work-card{background:#fff;border:1px solid #dfe9e1;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(17,73,42,.07);transition:.22s}
.work-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(17,73,42,.12)}
.work-photo{position:relative;width:100%;height:260px;padding:0;border:0;background:#eaf2ec;overflow:hidden;cursor:zoom-in}
.work-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}
.work-card:hover .work-photo img{transform:scale(1.035)}
.work-photo span{position:absolute;right:14px;bottom:14px;background:rgba(10,57,31,.9);color:#fff;padding:7px 11px;border-radius:99px;font-size:12px;font-weight:800}
.work-content{padding:22px}
.work-content>b{display:inline-block;color:#16703e;background:#eaf6ee;border-radius:99px;padding:6px 10px;font-size:12px}
.work-content h2{font-size:21px;margin:10px 0;color:#123625}
.work-content p{color:#607067;line-height:1.65}

.gallery-cta{margin-top:48px;padding:30px 34px;border-radius:20px;background:#0e5130;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}
.gallery-cta .eyebrow{color:#bde5c9!important;font-weight:800}
.gallery-cta h2{color:#fff!important;margin:5px 0 8px}
.gallery-cta p{color:#e0efe5!important;margin-bottom:0}

/* Especificidade maior para impedir conflito com style.css */
.gallery-cta a.btn,
.gallery-cta a.btn:link,
.gallery-cta a.btn:visited{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:14px 22px!important;
    background:#fff!important;
    color:#125a35!important;
    border:2px solid #fff!important;
    border-radius:10px;
    text-decoration:none!important;
    font-weight:800!important;
    line-height:1.2;
    white-space:nowrap;
}
.gallery-cta a.btn:hover{
    background:#eaf6ee!important;
    color:#0d4e2d!important;
    border-color:#eaf6ee!important;
}

.lightbox[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:9999;background:#05140ce8;display:flex;align-items:center;justify-content:center;padding:40px}
.lightbox img{max-width:95vw;max-height:88vh;border-radius:10px}
.lightbox button{position:fixed;top:18px;right:24px;width:46px;height:46px;border:0;border-radius:50%;font-size:31px;cursor:pointer}
.reveal{opacity:0;transform:translateY(14px)}
.reveal.is-visible{opacity:1;transform:none;transition:.45s}

@media(max-width:900px){
 .work-grid,.work-grid:has(.work-card:only-child),.work-grid:has(.work-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
 .work-grid,.work-grid:has(.work-card:only-child),.work-grid:has(.work-card:nth-child(2):last-child){grid-template-columns:1fr}
 .work-photo{height:240px}
 .gallery-cta{padding:24px}
 .gallery-cta a.btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
