/* ==========================================================================
   Fotogalerie (přehled alb + detail alba)
   ========================================================================== */

.album-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3) var(--sp-6);
    margin-bottom: var(--sp-6);
}

.album-toolbar__hint {
    font-size: var(--fs-sm);
    color: var(--muted);
}

.album-toolbar__hint i {
    margin-right: 4px;
    color: var(--accent);
}

@media (max-width: 759px) {
    .album-toolbar__hint {
        display: none;
    }
}

/* Justified layout – fotky v plném poměru stran, řádky vyplní šířku (--r = šířka / výška) */
.photo-grid {
    --row-h: clamp(96px, 3rem + 12vw, 260px);
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.375rem, 0.25rem + 0.5vw, 0.75rem);
}

.photo-grid::after {
    content: '';
    flex-grow: 1000000;
}

.photo-grid--fill::after {
    flex-grow: 0;
}

.photo-grid__item {
    position: relative;
    flex: calc(var(--r) * 100) 1 calc(var(--r) * var(--row-h));
    aspect-ratio: var(--r);
    max-height: calc(var(--row-h) * 1.6);
    border-radius: var(--r-sm);
    overflow: hidden;
    background: var(--surface-3);
    cursor: zoom-in;
}

.photo-grid__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms var(--ease), opacity var(--t);
}

.photo-grid__item:hover img {
    transform: scale(1.03);
}

.photo-grid__item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(12, 15, 18, 0);
    transition: background-color var(--t);
}

.photo-grid__item:hover::after {
    background: rgba(12, 15, 18, 0.12);
}

.photo-grid__item {
    border-radius: var(--r-sm);
}
