/* ============================================================
   ZTFOTO v1.1.0 — vyplnění produktových fotek obsahem (2026-07-29)
   Páruje se se zahradatech-custom.js (translate+scale zoom podle
   detekovaného bílého rámu). Anti-FOUC: cílové <img> skryté do
   zpracování; keyframe fallback je VŽDY odkryje do 1.2 s, i kdyby
   JS selhal (nikdy skryté navždy). Selektory jsou descendant —
   musí platit i po zabalení <img> do .ztfoto-clip.
   POZOR: samostatný soubor schválně — zahradatech-styles.css má dva
   nezavřené @media (min-width:100px / 1200px), takže cokoliv na jeho
   konci by platilo jen pro desktop ≥1200px. Link musí být v <head>
   (render-blocking), jinak anti-FOUC nefunguje.
   ============================================================ */
.products-block .p a.image img,
.p-detail .p-image a.p-main-image img {
  opacity: 0;
  animation: ztfoto-fb 0s linear 1.2s forwards;
}
@keyframes ztfoto-fb { to { opacity: 1; } }
img.ztfoto-ready { opacity: 1 !important; animation: none !important; }
/* karty: klip na JS wrapperu kolem <img> — flags badges přesahují
   a.image zápornými offsety, overflow:hidden na anchoru by je ořízl */
.ztfoto-clip { overflow: hidden; }
/* PDP hlavní foto: flags jsou sourozenci anchoru → klip přímo anchor */
.p-detail .p-image a.p-main-image { overflow: hidden; }
/* zoomnutý <img> vytváří stacking context — badge musí zůstat nad ním */
.products-block .p .flags-default,
.products-block .p .flags-extra,
.p-detail .p-image .flags { z-index: 2; }
