/* IMPACT-TP – custom styles that go beyond plain Tailwind utilities */

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, sans-serif;
  background-color: #0D0D0D;
}

.font-display {
  font-family: 'Anton', 'Inter', sans-serif;
  letter-spacing: 0.01em;
}

/* Scroll-margin so sticky nav doesn't cover anchored sections */
section[id] {
  scroll-margin-top: 88px;
}

/* Dezentes Hexagon-Linienmuster als Hintergrundtextur */
.hex-pattern {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='96' viewBox='0 0 84 96'%3E%3Cpath d='M42 0 L84 24 L84 72 L42 96 L0 72 L0 24 Z' fill='none' stroke='%23A6FF00' stroke-opacity='0.06' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 84px 96px;
}

.hex-pattern-dark {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='96' viewBox='0 0 84 96'%3E%3Cpath d='M42 0 L84 24 L84 72 L42 96 L0 72 L0 24 Z' fill='none' stroke='%23ffffff' stroke-opacity='0.035' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 84px 96px;
}

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger helper */
.reveal:nth-child(2) { transition-delay: 0.08s; }
.reveal:nth-child(3) { transition-delay: 0.16s; }
.reveal:nth-child(4) { transition-delay: 0.24s; }
.reveal:nth-child(5) { transition-delay: 0.32s; }
.reveal:nth-child(6) { transition-delay: 0.4s; }

/* Mobile nav */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
#mobile-menu.open {
  max-height: 640px;
}

/* Sticky nav shadow once scrolled */
#site-nav.scrolled {
  background-color: rgba(13, 13, 13, 0.95);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

/* FAQ accordion */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.faq-item.open .faq-answer {
  max-height: 400px;
}
.faq-item.open .faq-icon {
  transform: rotate(45deg);
}
.faq-icon {
  transition: transform 0.3s ease;
}

/* Gallery lightbox */
#lightbox {
  display: none;
}
#lightbox.open {
  display: flex;
}

/* Line clamp helpers without a Tailwind plugin */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Trainer bio disclosure */
details summary {
  list-style: none;
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  content: '';
}
details[open] summary::after {
  content: '– weniger anzeigen';
}
details:not([open]) summary::after {
  content: '';
}

::selection {
  background-color: #A6FF00;
  color: #0D0D0D;
}

/* Custom scrollbar (webkit) – subtle, on-brand */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #0D0D0D;
}
::-webkit-scrollbar-thumb {
  background: #2A2A2A;
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #A6FF00;
}
