/**
 * Hero-Styles für dentblanc.de
 * Diese zentrale CSS-Datei enthält alle Styling-Elemente für den Hero-Bereich,
 * um ein einheitliches Erscheinungsbild über alle Seiten zu gewährleisten.
 */

/* Basis-Struktur des Hero-Bereichs */
.hero-section {
  position: relative;
  height: 550px;
  overflow: hidden;
  margin-top: 70px;
  /* Standard ohne Abrundung */
}

/* Variante mit komplett abgerundeten Ecken */
.hero-section.rounded {
  border-radius: 70px 70px 70px 70px;
}

/* Variante mit nur oben abgerundeten Ecken (für Wellenform unten) */
.hero-section.rounded-top {
  border-radius: 70px 70px 0 0;
}

.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

/* Anpassung von hero-bg für abgerundete Variante */
.hero-section.rounded .hero-bg {
  border-radius: 70px;
}

/* Anpassung von hero-bg für oben abgerundete Variante */
.hero-section.rounded-top .hero-bg {
  border-radius: 70px 70px 0 0;
}

/* Moderner Overlay für das Hero-Bild */
.hero-bg:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg,
      rgba(149, 193, 33, 0.2) 0%,
      rgba(0, 0, 0, 0) 40%);
  z-index: 1;
}

/* Anpassung von hero-bg:after für abgerundete Variante */
.hero-section.rounded .hero-bg:after {
  border-radius: 70px;
}

/* Anpassung von hero-bg:after für oben abgerundete Variante */
.hero-section.rounded-top .hero-bg:after {
  border-radius: 70px 70px 0 0;
}

/* Wellenform am unteren Rand */
.hero-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  filter: drop-shadow(0 -4px 4px rgba(0, 0, 0, 0.05));
}

/* Zusätzliche innere Abrundung durch Pseudoelement */
.hero-inner-shape {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* Sanftere, stärker abgerundete Form mit cubischer Kurve */
  clip-path: polygon(0 0,
      100% 0,
      100% 80%,
      85% 100%,
      15% 100%,
      0 80%);
  /* Alternativ mit border-radius funktioniert das nur mit overflow: hidden im Container */
  pointer-events: none;
}

/* Fügt einen modernen, geschwungenen unteren Rand hinzu */
.hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: transparent;
  z-index: 1;
  pointer-events: none;
}



/* Hero-Content Styling */
.hero-content {
  position: absolute;
  top: auto;
  bottom: 70px;
  left: 70px;
  transform: none;
  z-index: 10;
  color: white;
  max-width: 600px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.hero-content h1 {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.hero-content p {
  font-size: 18px;
  line-height: 1.6;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}

/* Hero-Button-Styling */
.hero-btn {
  display: inline-block;
  background: #95c121;
  color: white;
  padding: 12px 24px;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 10px 20px rgba(149, 193, 33, 0.2);
  position: relative;
  overflow: hidden;
  z-index: 3;
  border: 2px solid transparent;
  margin-top: 20px;
  animation: pulse 2s infinite;
}

.hero-btn:hover {
  background: white;
  color: #95c121;
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(149, 193, 33, 0.3);
  border-color: #95c121;
  animation: none;
}

/* Pulse-Animation für den Button */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(149, 193, 33, 0.5);
  }

  70% {
    box-shadow: 0 0 0 15px rgba(149, 193, 33, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(149, 193, 33, 0);
  }
}

/* Media Queries für Responsive Design */
@media (max-width: 768px) {
  .hero-section {
    height: 450px;
    margin-top: 50px;
  }

  .hero-content {
    bottom: 40px;
    left: 40px;
    width: calc(100% - 80px);
  }

  .hero-content h1 {
    font-size: 36px;
  }


}

@media (max-width: 576px) {
  .hero-section {
    height: 350px;
    margin-top: 30px;
  }

  .hero-content {
    bottom: 30px;
    left: 30px;
    width: calc(100% - 60px);
  }

  .hero-content h1 {
    font-size: 28px;
  }

  .hero-content p {
    font-size: 16px;
  }

}