
/* ===== Terra72 Sortable Gallery ===== */
.section.gallery-section{max-width:1200px;margin:0 auto;padding:clamp(40px,7vw,96px) 20px;}
.gallery-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.gallery-head h2{font-family:Montserrat,system-ui; font-weight:800; letter-spacing:-.02em; font-size: clamp(28px,4.2vw,42px); margin:0;}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap}
.gbtn{appearance:none;border:1px solid #e5e7eb;background:#fff;padding:10px 16px;border-radius:999px;font-weight:700;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}
.gbtn:hover{box-shadow:0 8px 20px rgba(0,0,0,.08); transform:translateY(-1px)}
.gbtn.active{background:#111;color:#fff;border-color:#111}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:18px}
.gitem{background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease}
.gitem:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(0,0,0,.09)}
.gitem img{width:100%;height:220px;object-fit:cover;display:block}
.gitem figcaption{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.gitem figcaption span{color:#fff;font-size:14px}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.gallery-grid{grid-template-columns:1fr}}
/* hide items smoothly */
.gitem[hidden]{display:none !important}
