/* Nativní fotogalerie — mřížka náhledů. Bez zelených dekorativních pruhů.
   Selektory prefixovány .skola-galerie (specificita 0,2,x), aby přebily pravidla
   obsahového wrapperu tématu (.zst-article__content img/a i .entry-content img),
   která jinak nastaví img height:auto a na odkaz podtržení. */
.skola-galerie { margin: 2rem 0; }
.skola-galerie .skola-galerie__nadpis { font-size: 1.3rem; margin: 0 0 1rem; }
.skola-galerie .skola-galerie__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px;
}
.skola-galerie .skola-galerie__item { margin: 0; padding: 0; }
.skola-galerie .skola-galerie__odkaz {
	display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 8px; cursor: pointer;
	background: #eee; text-decoration: none; box-shadow: none;
	-webkit-tap-highlight-color: transparent;
}
.skola-galerie .skola-galerie__img {
	width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; margin: 0;
	transition: transform .25s ease, opacity .25s ease;
}
/* Zvětšení jen na zařízeních se skutečným hoverem (na dotyku nezůstává „zaseknuté"). */
@media (hover: hover) {
	.skola-galerie .skola-galerie__odkaz:hover .skola-galerie__img { transform: scale(1.05); opacity: .92; }
}
.skola-galerie .skola-galerie__odkaz:focus-visible .skola-galerie__img { transform: scale(1.05); opacity: .92; }
.skola-galerie .skola-galerie__odkaz:focus-visible { outline: 3px solid var(--green-deep, #1A6E33); outline-offset: 2px; }

/* Tablet a menší: hustší mřížka, menší mezery. */
@media (max-width: 782px) {
	.skola-galerie .skola-galerie__grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; }
}
/* Telefon: 3 sloupce, ať je vidět víc fotek najednou. */
@media (max-width: 480px) {
	.skola-galerie .skola-galerie__grid { grid-template-columns: repeat(3, 1fr); gap: 5px; }
}

/* Pevný počet sloupců z [galerie sloupce="N"] (--sloupce) — přebíjí responzivní auto-fill.
   Na telefonu omezeno na 2, ať náhledy nejsou moc malé. */
.skola-galerie.skola-galerie--sloupce .skola-galerie__grid {
	grid-template-columns: repeat(var(--sloupce, 3), minmax(0, 1fr));
}
@media (max-width: 480px) {
	.skola-galerie.skola-galerie--sloupce .skola-galerie__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Obrázky z knihovny médií vložené přímo do textu — signál, že je lze zvětšit.
   (Lightbox je otevře i bez odkazu; viz galerie-lightbox.js větev 3.) */
.zst-article__content img[class*="wp-image-"],
.entry-content img[class*="wp-image-"],
.zst-article__image img { cursor: zoom-in; }

/* ===== Lightbox overlay ===== */
.skola-lb {
	position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.9);
	display: none; align-items: center; justify-content: center;
	touch-action: none;
}
.skola-lb.is-open { display: flex; }
.skola-lb__stage { display: flex; align-items: center; justify-content: center; max-width: 100%; max-height: 100%; }
.skola-lb__img {
	max-width: 92vw; max-height: 88vh; max-height: 88dvh;
	object-fit: contain; border-radius: 4px; display: block;
}
.skola-lb__close, .skola-lb__nav {
	position: absolute; background: none; color: #fff; border: 0; cursor: pointer;
	font-size: 2.4rem; line-height: 1; width: 48px; height: 48px;
	display: flex; align-items: center; justify-content: center;
	/* Bez kruhu — čitelnost nad světlou fotkou zajistí stín. */
	text-shadow: 0 1px 4px rgba(0,0,0,.9), 0 0 2px rgba(0,0,0,.8);
	transition: transform .15s ease;
	-webkit-tap-highlight-color: transparent;
}
.skola-lb__close:hover, .skola-lb__nav:hover { transform: scale(1.18); }
.skola-lb__prev:hover { transform: translateY(-50%) scale(1.18); }
.skola-lb__next:hover { transform: translateY(-50%) scale(1.18); }
.skola-lb__close:focus-visible, .skola-lb__nav:focus-visible { outline: 3px solid #fff; outline-offset: 2px; border-radius: 4px; }
.skola-lb__close { top: 16px; right: 16px; }
.skola-lb__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.skola-lb__next { right: 12px; top: 50%; transform: translateY(-50%); }

/* Počítadlo „3 / 12" — orientace pro všechny + oznámení čtečce (aria-live). */
.skola-lb__pocitadlo {
	position: absolute; top: 18px; left: 16px; color: #fff;
	background: rgba(0,0,0,.55); padding: 4px 12px; border-radius: 14px;
	font-size: .95rem; line-height: 1.4;
}

/* Načítání — spinner uprostřed, dokud se fotka nestáhne. */
.skola-lb__spinner {
	position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px;
	border: 4px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%;
	display: none; animation: skola-lb-spin .8s linear infinite;
}
.skola-lb.is-loading .skola-lb__spinner { display: block; }
@keyframes skola-lb-spin { to { transform: rotate(360deg); } }

/* Jediná fotka → skrýt navigaci i počítadlo (nemají co listovat). */
.skola-lb--single .skola-lb__nav,
.skola-lb--single .skola-lb__pocitadlo { display: none; }

/* Větší ovládací prvky na dotykových / malých obrazovkách (palec). */
@media (max-width: 782px) {
	.skola-lb__close, .skola-lb__nav { width: 56px; height: 56px; }
	.skola-lb__prev { left: 6px; }
	.skola-lb__next { right: 6px; }
	.skola-lb__img { max-width: 96vw; }
}

/* Omezení pohybu — respektuj systémové nastavení. */
@media (prefers-reduced-motion: reduce) {
	.skola-galerie .skola-galerie__img { transition: none; }
	.skola-galerie .skola-galerie__odkaz:hover .skola-galerie__img,
	.skola-galerie .skola-galerie__odkaz:focus-visible .skola-galerie__img { transform: none; }
	.skola-lb__close, .skola-lb__nav { transition: none; }
	.skola-lb__spinner { animation: none; }
}
