/* ── Galeria – siatka kafelkowa ─────────────────────────────────────────── */

.galeria-grid {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    /* grid-template-columns i gap ustawiane przez inline <style> per-album */
}

.galeria-grid__item {
    overflow: hidden;
    line-height: 0;
    position: relative;
    border-radius: inherit;
}

.galeria-grid__item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform .25s ease, opacity .25s ease;
}

.galeria-grid__item img:hover {
    transform: scale( 1.04 );
    opacity: .92;
}

/* Link lightbox w siatce */
.galeria-grid__link {
    display: block;
    line-height: 0;
    position: relative;
    overflow: hidden;
}

/* Podpis najeżdżany */
.galeria-caption-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba( 0, 0, 0, .55 );
    color: #fff;
    padding: 7px 10px;
    font-size: 13px;
    line-height: 1.4;
    transform: translateY( 101% );
    transition: transform .22s ease;
    display: block;
    line-height: 1.4;
}

.galeria-grid__item:hover .galeria-caption-overlay,
.galeria-grid__link:hover .galeria-caption-overlay {
    transform: translateY( 0 );
}

/* ── Układ Masonry (CSS columns) ─────────────────────────────────────────── */

.galeria-masonry {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    /* grid-template-columns i gap ustawiane przez inline <style> per-album */
}

.galeria-masonry .galeria-grid__item {
    line-height: 0;
}

.galeria-masonry .galeria-grid__item img {
    height: auto;   /* nadpisuje object-fit: cover ze siatki */
    object-fit: unset;
}

/* ── Ograniczenie do N zdjęć + nakładka "Pokaż wszystkie" ───────────────── */

.galeria-grid-limited-wrap {
    position: relative;
    /* border-radius i overflow:hidden ustawiane inline przez PHP (pasuje do border_radius kafelek) */
}

/* Reguła ukrywania zdjęć powyżej limitu generowana dynamicznie per-album przez PHP inline <style>
   na podstawie ustawienia grid_columns * grid_rows dla każdego albumu */

/* Nakładka na dole – symetrycznie do tytułu "inside" u góry */
.galeria-grid-more {
    position: relative;
    height: 110px;
    margin-top: -110px;
    z-index: 2;
    background: linear-gradient( to bottom, transparent 0%, rgba( 0, 0, 0, .58 ) 100% );
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 20px;
    cursor: pointer;
    transition: background .2s ease;
}

.galeria-grid-more:hover {
    background: linear-gradient( to bottom, transparent 0%, rgba( 0, 0, 0, .72 ) 100% );
}

.galeria-grid-more__text {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .2px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-shadow: 0 1px 4px rgba( 0, 0, 0, .5 );
    user-select: none;
}

.galeria-grid-more__text::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba( 255, 255, 255, .85 );
    border-top: none;
    border-left: none;
    transform: rotate( 45deg ) translateY( -3px );
    flex-shrink: 0;
}

.galeria-grid-more__count {
    opacity: .8;
    font-weight: 500;
    font-size: 13px;
}

/* ── Pasek filtrów ────────────────────────────────────────────────────────── */

.galeria-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.galeria-filter-btn {
    padding: 6px 16px;
    border: 1px solid #c3c4c7;
    border-radius: 20px;
    background: transparent;
    cursor: pointer;
    font-size: 13px;
    line-height: 1.4;
    transition: background .18s, color .18s, border-color .18s;
}

.galeria-filter-btn:hover,
.galeria-filter-btn.active {
    background: #1d2327;
    color: #fff;
    border-color: #1d2327;
}
