/* dlaždica fotky s popisom (galérie služieb, portfólio) */
.gal-item { position: relative; overflow: hidden; border-radius: var(--r); background: var(--muted); }
.gal-open { display: flex; gap: 2px; width: 100%; cursor: zoom-in; }
.gal-open img { width: 100%; object-fit: cover; transition: transform .3s; }
.pair .gal-open img { width: 50%; }
.gal-item:hover img { transform: scale(1.05); }
.gal-item figcaption {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: .75rem;
  background: linear-gradient(to top, rgb(0 0 0 / .7), transparent 60%);
  color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / .4); pointer-events: none;
  opacity: 0; transition: opacity .3s;
}
.gal-item:hover figcaption, .gal-item:focus-within figcaption { opacity: 1; }
.gal-item figcaption strong { font-size: .875rem; line-height: 1.25; }
.gal-item figcaption span {
  font-size: .75rem; line-height: 1.25; margin-top: 2px; color: rgb(255 255 255 / .8);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.gal-grid { columns: 1; column-gap: 12px; }
@media (min-width: 640px) { .gal-grid { columns: 2; } }
@media (min-width: 1024px) { .gal-grid { columns: 3; } }
@media (min-width: 1280px) { .gal-grid { columns: 4; } }
.gal-grid li { break-inside: avoid; margin-bottom: 12px; }
