/* Zusätzliche Styles, die über Tailwind-Utility-Klassen hinausgehen */

html {
  scroll-behavior: smooth;
}

body {
  padding-bottom: 0;
}

@media (max-width: 1023px) {
  body {
    padding-bottom: 56px; /* Platz für sticky mobile CTA-Leiste */
  }
}

/* Farb-Utilities für dynamisch erzeugte Gradient-Klassen des Saisonbanners */
.from-forest-dark { --tw-gradient-from: #173D2A; }
.to-graphite { --tw-gradient-to: #2E2E2E; }

/* Line clamp fallback */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Form feedback states */
.form-feedback.success {
  color: #245B3F;
  background: #eef6f0;
  padding: 0.6rem 0.9rem;
  border-radius: 0.5rem;
  display: block !important;
}
.form-feedback.error {
  color: #b91c1c;
  background: #fef2f2;
  padding: 0.6rem 0.9rem;
  border-radius: 0.5rem;
  display: block !important;
}

/* Honeypot field - visually hidden but accessible to bots */
.hidden-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

details > summary {
  list-style: none;
}
details > summary::-webkit-details-marker {
  display: none;
}
details > summary::after {
  content: '\f078';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  float: right;
  transition: transform 0.2s;
  color: #6FA85B;
}
details[open] > summary::after {
  transform: rotate(180deg);
}
