:root{
  --label-bg: rgba(0,0,0,0.45);
  --label-color: #fff;
  --arrow-size: 60px;
  --dot-size: 10px;
  --transition: 400ms cubic-bezier(.22,.9,.32,1);
}

.carousel{position:relative;width:100%;height:80vh;overflow:hidden;display:block;}
.carousel-track{
  display:flex;
  height:100%;
  transition: transform var(--transition);
  will-change: transform;
  padding:0 8%;
  box-sizing:content-box;
  touch-action: pan-y;
}
.carousel-slide{
  flex:0 0 84%;
  margin:0 8px;
  height:100%;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.carousel-slide img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  -webkit-user-drag:none;
  user-select:none;
  border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
	z-index:1;  /* <- WICHTIG: unter Label */
}

.card_text p {
	padding:0px;
	margin:0px;
}

.carousel-label{
  position:absolute;
  bottom:40px;
  left:0;
  width:100%;
  box-sizing:border-box;
  padding:18px 24px;
  background:var(--label-bg);
  color:var(--label-color);
  backdrop-filter:blur(4px);
  font-size:1.05rem;
  z-index:10;           /* WICHTIG: über Slide-Layer */
  pointer-events:auto;  /* WICHTIG: Links empfangen Klicks */
}
.carousel-label a {
  pointer-events:auto !important; /* Links klickbar */
  color:red;
  text-decoration:underline;
	z-index:20;
}

.carousel-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:var(--arrow-size);
  height:var(--arrow-size);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.4);
  color:#fff;
  border:none!important;
	outline:none!important;       /* Kein Fokus-Rahmen */
	box-shadow:none!important;   /* Browser-Shadow entfernen */
  cursor:pointer;
  z-index:5;
  transition:background 160ms;
}
.carousel-arrow i {
  font-size: 22px; /* Größe des Pfeils */
  pointer-events: none; /* Klick geht an Button, nicht Icon */
}
.carousel-arrow:hover{background:rgba(0,0,0,0.6);}
.carousel-arrow.left{left:16px;}
.carousel-arrow.right{right:16px;}
.carousel-arrow svg{width:22px;height:22px;pointer-events:none;}
.carousel-dots{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:10px;
  z-index:2;
  display:flex;
  gap:8px;
  align-items:center;
}
.carousel-dot{
  width:var(--dot-size);
  height:var(--dot-size);
  border-radius:50%;
  background:rgba(255,255,255,0.35);
  border:0;
  padding:0;
  cursor:pointer;
}
.carousel-dot.active{background:rgba(255,255,255,0.95);}
@media (max-width:600px){
  .carousel-label{padding:12px 14px;font-size:0.95rem;}
  .carousel-arrow{display:none;}
  .carousel-slide{flex:0 0 90%;margin:0 5px;}
  .carousel-track{padding:0 5%;}
}
