/* ============================================================
   LEISTUNGEN (sec-dark mit Foto-Hintergrund)
============================================================ */
#leistungen {
	position: relative;

  background-image: url('../img/leistungen-bg.webp');
	/*display:none;*/
}

#leistungen::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--red), var(--yellow));
  z-index: 3;
}

.leistung-card {
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  padding: 2rem 1.75rem;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 2px;
}

.js-ready .leistung-card {
  opacity: 0;
  transform: translateY(160px);
  transition: opacity 0.9s ease, transform 0.6s ease;
}
.js-ready .leistung-card.slide-in {
  opacity: 1;
  transform: translateY(0);
}

.leistung-card:hover {
  background: rgba(255,255,255,0.3);
  transform: translateY(-4px);
}

/* Gelber Balken unten: wächst bei Hover/Touch von links nach rechts */
.leistung-card::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 0%;
  height: 3px;
  background: var(--yellow);
  transition: width 0.4s ease;
}

.leistung-card:hover::after,
.leistung-card:focus-within::after,
.leistung-card.touch-active::after {
  width: 100%;
}

.leistung-card .l-icon {
  font-size: 2rem;
  color: var(--yellow);
  margin-bottom: 1rem;
}

.leistung-card h3 {
  font-size: 0.9rem;
  color: #fff;
  margin-bottom: 0.6rem;
  letter-spacing: 0.04em;
}

.leistung-card p {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.75;
  margin: 0;
}
