/* ============ GALERÍA — builds on home.css + nosotros.css pagehead ============ */

.gal{max-width:1360px;margin:0 auto;padding:64px 32px 24px;}
.gal-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:36px;}
.gal-head .section-title{margin-top:12px;}
.gal-head p{color:var(--muted);font-size:16px;line-height:1.6;margin:0;align-self:end;}

/* filter chips */
.gal-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;}
.gal-filters button{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-soft);font-family:inherit;font-weight:600;font-size:14px;padding:9px 18px;border-radius:999px;cursor:pointer;transition:.15s var(--ease);display:inline-flex;align-items:center;gap:8px;}
.gal-filters button .n{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--muted-2);}
.gal-filters button:hover{border-color:var(--ink);color:var(--ink);}
.gal-filters button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.gal-filters button.on .n{color:var(--red-mid);}

/* masonry grid */
.gal-grid{column-count:4;column-gap:16px;}
.gal-item{break-inside:avoid;margin-bottom:16px;position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--alt-2);cursor:pointer;display:block;}
.gal-item:nth-child(7n+1){border-radius:var(--radius-d);}
.gal-item img{width:100%;display:block;}
.gal-item .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.72),rgba(11,12,15,0) 55%);opacity:0;transition:opacity .25s var(--ease);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;}
.gal-item:hover .ov{opacity:1;}
.gal-item .ov .cap{color:#fff;font-weight:700;font-size:14px;line-height:1.3;transform:translateY(8px);transition:transform .25s var(--ease);}
.gal-item:hover .ov .cap{transform:translateY(0);}
.gal-item .ov .tag{align-self:flex-start;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;margin-bottom:8px;transform:translateY(8px);transition:transform .25s var(--ease) .04s;}
.gal-item:hover .ov .tag{transform:translateY(0);}
.gal-item .zoom{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--ink);font-size:18px;opacity:0;transform:scale(.8);transition:.25s var(--ease);}
.gal-item:hover .zoom{opacity:1;transform:scale(1);}
.gal-item.hide{display:none;}

/* aspect helpers for visual rhythm */
.gal-item.tall img{aspect-ratio:3/4;object-fit:cover;}
.gal-item.wide img{aspect-ratio:4/3;object-fit:cover;}
.gal-item.sq img{aspect-ratio:1/1;object-fit:cover;}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(11,12,15,.92);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;animation:fade .25s var(--ease);}
.lightbox .lb-inner{max-width:90vw;max-height:86vh;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.lightbox img{max-width:90vw;max-height:86vh;display:block;}
.lightbox .lb-empty{background:var(--ink-2);color:#9AA0AC;padding:60px 80px;border-radius:var(--radius-lg);text-align:center;font-size:15px;border:1px solid rgba(255,255,255,.1);}
.lightbox .lb-empty i{font-size:40px;color:var(--red-mid);display:block;margin-bottom:14px;}
.lightbox .close{position:absolute;top:24px;right:24px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:0;color:#fff;font-size:24px;cursor:pointer;display:grid;place-items:center;transition:.15s var(--ease);}
.lightbox .close:hover{background:var(--red);}

@media(max-width:1080px){
  .gal-head{grid-template-columns:1fr;gap:14px;}
  .gal-grid{column-count:3;}
}
@media(max-width:680px){
  .gal{padding-left:18px;padding-right:18px;}
  .gal-grid{column-count:2;column-gap:12px;}
  .gal-item{margin-bottom:12px;}
}
