/* Időpont – galéria. A beágyazó oldal stílusa erősebb szelektorral felülírja. */
.idp-galeria{
  --idp-g-r:14px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;
}
.idp-gal-kep{
  padding:0;border:0;background:none;cursor:zoom-in;display:block;
  border-radius:var(--idp-g-r);overflow:hidden;line-height:0;
}
.idp-gal-kep img{
  width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .35s ease;
}
.idp-gal-kep:hover img,
.idp-gal-kep:focus-visible img{transform:scale(1.04)}
.idp-gal-kep:focus-visible{outline:2px solid currentColor;outline-offset:3px}

body.idp-lb-nyitva{overflow:hidden}

.idp-lightbox{
  position:fixed;inset:0;z-index:99999;display:none;
  align-items:center;justify-content:center;
  background:rgba(10,20,22,.94);
  padding:56px 68px;
}
.idp-lightbox.on{display:flex}
.idp-lb-keret{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center}
.idp-lb-keret img{
  max-width:100%;max-height:82vh;object-fit:contain;display:block;
  border-radius:8px;background:#0a1416;
}
.idp-lb-keret figcaption{color:#cfdedc;font-size:.9rem;text-align:center;max-width:62ch;line-height:1.5}

.idp-lightbox button{
  position:absolute;background:rgba(255,255,255,.1);color:#fff;border:0;cursor:pointer;
  border-radius:50%;width:48px;height:48px;font-size:28px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.idp-lightbox button:hover{background:rgba(255,255,255,.22)}
.idp-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.idp-lb-zar{top:14px;right:14px}
.idp-lb-nyil{top:50%;transform:translateY(-50%);font-size:34px}
.idp-lb-elozo{left:12px}
.idp-lb-kovetkezo{right:12px}
.idp-lb-szamlalo{
  position:absolute;bottom:16px;left:50%;transform:translateX(-50%);
  color:#cfdedc;font-size:.85rem;letter-spacing:.04em;
}

@media (max-width:640px){
  .idp-galeria{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
  .idp-lightbox{padding:56px 10px}
  .idp-lb-nyil{width:42px;height:42px;font-size:28px}
  .idp-lb-elozo{left:4px}
  .idp-lb-kovetkezo{right:4px}
}
@media (prefers-reduced-motion:reduce){
  .idp-gal-kep img{transition:none}
  .idp-gal-kep:hover img{transform:none}
}
