/* Galería de trabajos realizados */
.gal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; }
@media (min-width:768px){ .gal-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; } }
.gal-item { position:relative; border:none; padding:0; background:#e9eef2; border-radius:12px; overflow:hidden; cursor:zoom-in; aspect-ratio:3/4; box-shadow:0 3px 10px rgba(0,0,0,0.08); transition:transform .3s, box-shadow .3s; }
.gal-item:hover { transform:translateY(-4px); box-shadow:0 8px 25px rgba(13,115,119,0.25); }
.gal-item img { width:100%; height:100%; object-fit:cover; display:block; }
.gal-item figcaption { position:absolute; left:0; right:0; bottom:0; padding:22px 10px 8px; color:#fff; font-size:.78rem; font-weight:600; text-align:left; background:linear-gradient(transparent, rgba(0,0,0,.75)); }
.gal-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:20px; }
.gal-filters button { border:2px solid #0d7377; background:#fff; color:#0d7377; border-radius:999px; padding:6px 16px; font-weight:700; font-size:.85rem; transition:all .2s; }
.gal-filters button.active, .gal-filters button:hover { background:#0d7377; color:#fff; }

.trabajo-card { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 3px 12px rgba(0,0,0,0.08); cursor:pointer; transition:transform .3s, box-shadow .3s; height:100%; border-top:4px solid #0d7377; }
.trabajo-card:hover { transform:translateY(-5px); box-shadow:0 10px 28px rgba(13,115,119,0.22); }
.trabajo-card img { width:100%; height:200px; object-fit:cover; display:block; }
.trabajo-card .tc-body { padding:14px 16px 16px; }
.trabajo-card .tc-badge { display:inline-block; background:#e6f4f4; color:#0d7377; font-size:.72rem; font-weight:700; border-radius:999px; padding:3px 10px; margin-bottom:6px; }
.trabajo-card h3 { font-size:1.05rem; font-weight:800; color:#1a1a1a; margin:0 0 4px; }
.trabajo-card p { font-size:.85rem; color:#666; margin:0; }

.ficha-table th { width:38%; color:#0d7377; font-weight:700; }
.ficha-fotos { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
.ficha-fotos .gal-item { aspect-ratio:1/1; }

#galLightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.94); z-index:20000; align-items:center; justify-content:center; padding:15px; }
#galLightbox.open { display:flex; }
#galLightbox img { max-width:92vw; max-height:78vh; object-fit:contain; border-radius:10px; box-shadow:0 10px 40px rgba(0,0,0,.5); }
#galLightbox p { color:#fff; font-weight:700; text-align:center; margin-top:12px; font-size:1.05rem; }
#galLightbox .gl-btn { position:absolute; background:rgba(13,115,119,.9); border:none; color:#fff; width:48px; height:48px; border-radius:50%; font-size:1.6rem; line-height:1; cursor:pointer; }
#galLightbox .gl-prev { left:12px; top:50%; transform:translateY(-50%); }
#galLightbox .gl-next { right:12px; top:50%; transform:translateY(-50%); }
#galLightbox .gl-close { top:14px; right:14px; background:none; font-size:2.4rem; }

/* Grilla de fotos 3:4 en el index: 10 visibles + botón "Ver más" */
.gal-strip { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
@media (min-width:576px){ .gal-strip { grid-template-columns:repeat(3,1fr); } }
@media (min-width:992px){ .gal-strip { grid-template-columns:repeat(5,1fr); gap:14px; } }
.gal-strip .gal-item { aspect-ratio:3/4; width:100%; }
.gal-strip .gal-item[data-hidden-item] { display:none; }
