/* ==== UNIVERSAL-GALERIE-GRUNDLAYOUT ==== */
/* Einfach anpassen über Variablen */
.gallery-universal {
  --gap: 16px;            /* Abstand zwischen Kacheln */
  --radius: 14px;         /* Eckradius */
  --shadow: 0 8px 24px rgba(0,0,0,.08);
  --hover-zoom: 1.04;     /* Zoom-Faktor beim Hover */
  --overlay: rgba(0,0,0,.28);   /* Overlay-Farbe */
  --overlay-hover: rgba(0,0,0,.45);
	
	/* ==== BOOKING TOOL VERSTECKEN ==== */
.hidden-booking { 
  display: none; 
  position: relative; 
  width: 100%; 
}
.hidden-booking:target,
.hidden-booking.active { 
  display: block; 
}
	h1 {
  font-size: 30px;
}

/* Pfeile im Elementor-Slider anpassen */
.elementor-swiper-button-prev,
.elementor-swiper-button-next {
    color: #ffffff !important;        /* Pfeilfarbe: Weiß */
    font-size: 40px !important;       /* Größe */
    opacity: 1 !important;            /* immer sichtbar */
    text-shadow: 0 0 8px rgba(0,0,0,0.6) !important; /* leichter Schatten */
}

.elementor-swiper-button {
    opacity: 1 !important;
    visibility: visible !important;
}
	/* Deutliche, runde Pfeile für Slider in Elementor */
.elementor-swiper-button-prev,
.elementor-swiper-button-next {
    color: #ffffff !important;              /* Pfeilfarbe: weiß */
    font-size: 28px !important;             /* Pfeilgröße */
    opacity: 1 !important;                  /* immer sichtbar */
    background-color: rgba(0, 0, 0, 0.5);   /* dunkler Hintergrund, halbtransparent */
    border-radius: 50%;                     /* rund machen */
    width: 50px;                            /* Kreisgröße */
    height: 50px;                           /* Kreisgröße */
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow: none !important;           /* kein zusätzlicher Schatten nötig */
}

/* Sicherstellen, dass die Pfeile nicht ausgeblendet werden */
.elementor-swiper-button {
    opacity: 1 !important;
    visibility: v
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
  --caption-color: #fff;
  --caption-size: 0.95rem;
  --caption-pad: 10px 12px;
}

/* === Elementor PRO Galerie === */
.gallery-universal .elementor-gallery__container {
  gap: var(--gap) !important;
}
.gallery-universal .e-gallery-item {
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transform: translateZ(0); /* bessere GPU-Performance */
  position: relative;
}
.gallery-universal .e-gallery-image {
  transition: transform .35s ease;
  display: block;
}
.gallery-universal .e-gallery-item:after {
  content: "";
  position: absolute; inset: 0;
  background: var(--overlay);
  transition: background .25s ease;
  pointer-events: none;
  border-radius: inherit;
}
.gallery-universal .e-gallery-item:hover .e-gallery-image {
  transform: scale(var(--hover-zoom));
}
.gallery-universal .e-gallery-item:hover:after {
  background: var(--overlay-hover);
}

/* Caption als Overlay ein-/ausblenden */
.gallery-universal .elementor-gallery-item__title,
.gallery-universal .elementor-gallery-item__description {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  margin: 0;
  padding: var(--caption-pad);
  color: var(--caption-color);
  font-size: var(--caption-size);
  line-height: 1.35;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.gallery-universal .e-gallery-item:hover .elementor-gallery-item__title,
.gallery-universal .e-gallery-item:hover .elementor-gallery-item__description {
  opacity: 1;
  transform: translateY(0);
}

/* === Elementor FREE Bild-Galerie (WP .gallery) === */
.gallery-universal .gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Desktop */
  gap: var(--gap);
}
.gallery-universal .gallery-item {
  list-style: none;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  position: relative;
}
.gallery-universal .gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.gallery-universal .gallery-item:after {
  content: "";
  position: absolute; inset: 0;
  background: var(--overlay);
  transition: background .25s ease;
  pointer-events: none;
  border-radius: inherit;
}
.gallery-universal .gallery-item:hover img {
  transform: scale(var(--hover-zoom));
}
.gallery-universal .gallery-item:hover:after {
  background: var(--overlay-hover);
}
/* WP-Caption */
.gallery-universal .wp-caption-text,
.gallery-universal .gallery-caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: var(--caption-pad);
  color: var(--caption-color);
  font-size: var(--caption-size);
  line-height: 1.35;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.gallery-universal .gallery-item:hover .wp-caption-text,
.gallery-universal .gallery-item:hover .gallery-caption {
  opacity: 1;
  transform: translateY(0);
}

/* === Responsive Spalten (free .gallery) === */
@media (max-width: 1024px) {
  .gallery-universal .gallery { grid-template-columns: repeat(2, 1fr); } /* Tablet */
}
@media (max-width: 767px) {
  .gallery-universal .gallery { grid-template-columns: 1fr; } /* Mobile */
}

/* Optional: einheitliches Seitenverhältnis für Bilder */
.gallery-universal .gallery-item,
.gallery-universal .e-gallery-item { aspect-ratio: 4 / 3; }  /* z.B. 4:3 */

.hidden-booking {
  display: none;
  position: relative; /* fixiert den Platz im Layout */
  width: 100%;
}
.hidden-booking {
  display: none;
  position: relative; /* fixiert den Platz im Layout */
  width: 100%;
}
.hidden-booking.active {
  display: block;
}

