/**
 * Fotogalerie s filtrací (custom/block-fotogalerie-filtrace) — frontend
 * Samostatný versovaný soubor (filemtime enqueue, docs/08 §F). Scope: .wp-block-custom-fotogalerie-filtrace.
 * html{font-size:14px} → px. Breakpointy 991/767/479.
 */

.wp-block-custom-fotogalerie-filtrace.fgf-section { padding: 0 var(--abf-gutter, 8%); margin: 0; }
.wp-block-custom-fotogalerie-filtrace .fgf-container {
    max-width: var(--abf-content-max, 1280px); margin: 0 auto; padding: 60px 0;
}
.wp-block-custom-fotogalerie-filtrace .fgf-heading { text-align: left; margin: 0 0 24px; }

/* Chips filtry */
.wp-block-custom-fotogalerie-filtrace .fgf-filters {
    display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 28px;
}
.wp-block-custom-fotogalerie-filtrace .fgf-chip {
    border: 0; background: transparent; cursor: pointer; padding: 4px 0;
    font: inherit; font-size: 15px; font-weight: 600; color: var(--black, #191919);
    border-bottom: 2px solid transparent; transition: color .15s, border-color .15s;
}
.wp-block-custom-fotogalerie-filtrace .fgf-chip:hover { color: var(--red, #d91920); }
.wp-block-custom-fotogalerie-filtrace .fgf-chip.is-active {
    color: var(--red, #d91920); border-bottom-color: var(--red, #d91920);
}
.wp-block-custom-fotogalerie-filtrace .fgf-chip:focus-visible {
    outline: 2px solid var(--red, #d91920); outline-offset: 2px;
}

/* Grid fotek */
.wp-block-custom-fotogalerie-filtrace .fgf-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
}
.wp-block-custom-fotogalerie-filtrace[data-cols="4"] .fgf-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.wp-block-custom-fotogalerie-filtrace .fgf-item {
    margin: 0; aspect-ratio: 3 / 2; overflow: hidden;
    border-radius: var(--button-radius, 6px); background: #ececec;
}
.wp-block-custom-fotogalerie-filtrace .fgf-link { display: block; width: 100%; height: 100%; }
.wp-block-custom-fotogalerie-filtrace .fgf-img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .3s;
}
.wp-block-custom-fotogalerie-filtrace .fgf-link:hover .fgf-img { transform: scale(1.03); }
.wp-block-custom-fotogalerie-filtrace .fgf-link:focus-visible {
    outline: 2px solid var(--red, #d91920); outline-offset: 2px;
}
@keyframes fgf-fade-in { from { opacity: 0; } to { opacity: 1; } }
.wp-block-custom-fotogalerie-filtrace .fgf-item.fgf-in { animation: fgf-fade-in 180ms ease-out; }

.wp-block-custom-fotogalerie-filtrace .fgf-empty {
    color: #6e6e6e; font-size: 15px; text-align: center; padding: 32px 0 0; margin: 0;
}
.wp-block-custom-fotogalerie-filtrace .fgf-sr-only {
    position: absolute; width: 1px; height: 1px; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0;
}

@media (prefers-reduced-motion: reduce) {
    .wp-block-custom-fotogalerie-filtrace .fgf-img { transition: none; }
    .wp-block-custom-fotogalerie-filtrace .fgf-link:hover .fgf-img { transform: none; }
    .wp-block-custom-fotogalerie-filtrace .fgf-item.fgf-in { animation: none; }
}

@media (max-width: 991px) {
    .wp-block-custom-fotogalerie-filtrace .fgf-grid,
    .wp-block-custom-fotogalerie-filtrace[data-cols="4"] .fgf-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .wp-block-custom-fotogalerie-filtrace .fgf-container { padding: 48px 0; }
    .wp-block-custom-fotogalerie-filtrace .fgf-grid,
    .wp-block-custom-fotogalerie-filtrace[data-cols="4"] .fgf-grid { gap: 14px; }
}
@media (max-width: 479px) {
    .wp-block-custom-fotogalerie-filtrace .fgf-container { padding: 40px 0; }
    .wp-block-custom-fotogalerie-filtrace .fgf-grid,
    .wp-block-custom-fotogalerie-filtrace[data-cols="4"] .fgf-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
