/* 0.9.43 — Galerie der Restaurantseite und Grossansicht.
   Nur geladen, wenn es neben dem Kopfbild weitere Bilder gibt.
   Farben und Radien aus tp-place-detail.css (Token --tp-*). */

.tp-galerie{margin:0 0 2.2rem}
.tp-galerie__zahl{font-family:inherit;font-weight:400;font-size:.8em;color:var(--tp-muted,#4A4A4A)}
.tp-galerie__raster{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;
  grid-template-columns:repeat(3,minmax(0,1fr))}
.tp-galerie__raster[data-anzahl="1"]{grid-template-columns:minmax(0,1fr);max-width:40rem}
.tp-galerie__raster[data-anzahl="2"],
.tp-galerie__raster[data-anzahl="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tp-galerie__item{margin:0;min-width:0}
.tp-galerie__link{display:block;position:relative;overflow:hidden;border-radius:var(--tp-r,14px);
  background:var(--tp-soft,#F3EFE6);aspect-ratio:4/3;outline-offset:3px}
.tp-galerie__raster[data-anzahl="1"] .tp-galerie__link{aspect-ratio:3/2}
.tp-galerie__raster[data-anzahl="1"] .tp-galerie__item--hoch{max-width:24rem}
.tp-galerie__raster[data-anzahl="1"] .tp-galerie__item--hoch .tp-galerie__link{aspect-ratio:4/5}
.tp-galerie__img{display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease}
.tp-galerie__link:hover .tp-galerie__img,
.tp-galerie__link:focus-visible .tp-galerie__img{transform:scale(1.03)}
.tp-galerie__link:focus-visible{outline:3px solid var(--tp-green,#556B45)}
.tp-galerie__mehr{margin-top:.8rem}
.tp-galerie__mehr>summary{cursor:pointer;display:inline-block;padding:.45rem .9rem;border:1px solid var(--tp-line,#E7E1D6);
  border-radius:999px;background:var(--tp-cream,#FFFEFC);font-size:.92rem;color:var(--tp-ink,#1A1A1A);list-style:none}
.tp-galerie__mehr>summary::-webkit-details-marker{display:none}
.tp-galerie__mehr[open]>summary{margin-bottom:.8rem}
.tp-galerie__nachweis{margin:.7rem 0 0;font-size:.82rem;color:var(--tp-muted,#4A4A4A)}

@media (max-width:699px){
  .tp-galerie__raster,
  .tp-galerie__raster[data-anzahl="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp-galerie__raster[data-anzahl="1"]{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .tp-galerie__img{transition:none}
  .tp-galerie__link:hover .tp-galerie__img,.tp-galerie__link:focus-visible .tp-galerie__img{transform:none}
}

/* Grossansicht (nur mit Skript) */
.tp-lb{border:0;padding:0;margin:auto;width:100vw;height:100vh;max-width:none;max-height:none;
  background:rgba(14,18,15,.94);color:#fff}
.tp-lb::backdrop{background:rgba(14,18,15,.94)}
.tp-lb__fig{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:3.5rem 4.5rem 1.2rem;box-sizing:border-box}
.tp-lb__img{max-width:100%;max-height:calc(100vh - 8rem);width:auto;height:auto;object-fit:contain;border-radius:6px}
.tp-lb__cap{margin-top:.8rem;font-size:.92rem;line-height:1.45;text-align:center;max-width:46rem;color:rgba(255,255,255,.92)}
.tp-lb__cap small{display:block;color:rgba(255,255,255,.72);margin-top:.15rem}
.tp-lb__zahl{position:absolute;top:1.1rem;left:1.2rem;font-size:.9rem;color:rgba(255,255,255,.8)}
.tp-lb__btn{position:absolute;display:flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;
  border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;
  font-size:1.35rem;line-height:1;cursor:pointer}
.tp-lb__btn:hover,.tp-lb__btn:focus-visible{background:rgba(255,255,255,.2)}
.tp-lb__btn[hidden]{display:none}   /* 0.9.44: display:flex oben ueberstimmte [hidden] */
.tp-lb__btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.tp-lb__zu{top:.8rem;right:1rem}
.tp-lb__vor,.tp-lb__zurueck{top:50%;transform:translateY(-50%)}
.tp-lb__zurueck{left:1rem}
.tp-lb__vor{right:1rem}
@media (max-width:699px){
  .tp-lb__fig{padding:3.4rem .6rem 5rem}
  .tp-lb__vor,.tp-lb__zurueck{top:auto;bottom:1rem;transform:none}
  .tp-lb__zurueck{left:calc(50% - 3.4rem)}
  .tp-lb__vor{right:calc(50% - 3.4rem)}
}
