/* ASV Bewegung Tennis Steyr — Theme CSS */

@font-face {
  font-family: 'Red Hat Display';
  font-style: normal;
  font-weight: 400 700;
  src: url('../fonts/RedHatDisplayVF.woff2') format('woff2-variations');
  font-display: swap;
}
@font-face {
  font-family: 'Red Hat Display';
  font-style: italic;
  font-weight: 400 700;
  src: url('../fonts/RedHatDisplayVF-Italic.woff2') format('woff2-variations');
  font-display: swap;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 400 500;
  src: url('../fonts/RedHatTextVF.woff2') format('woff2-variations');
  font-display: swap;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: italic;
  font-weight: 400 500;
  src: url('../fonts/RedHatTextVF-Italic.woff2') format('woff2-variations');
  font-display: swap;
}

:root {
  --tc-red:        oklch(52% 0.24 22);
  --tc-red-dark:   oklch(40% 0.20 22);
  --tc-red-hero:   oklch(48% 0.24 22);
  --tc-red-soft:   oklch(66% 0.20 22);
  --tc-red-tint:   oklch(95% 0.04 22);
  --tc-dark:       oklch(16% 0.025 22);
  --tc-surface:    oklch(98.5% 0.004 22);
  --tc-surface-2:  oklch(96% 0.006 22);
  --tc-text:       oklch(16% 0.025 22);
  --tc-text-soft:  oklch(46% 0.04 22);
  --tc-border:     oklch(88% 0.012 22);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Red Hat Text', system-ui, sans-serif;
  color: var(--tc-text);
  background: var(--tc-surface);
  overflow-x: hidden;
  line-height: 1.6;
}

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--tc-surface); }
::-webkit-scrollbar-thumb { background: var(--tc-red); border-radius: 3px; }

/* Navigation — scrolled state */
#main-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: transparent;
  box-shadow: none;
  transition: background 0.35s, box-shadow 0.35s;
}
#main-nav.scrolled {
  background: var(--tc-red-hero);
  box-shadow: 0 1px 0 rgba(0,0,0,0.15), 0 4px 24px rgba(0,0,0,0.25);
}
#main-nav.solid {
  background: var(--tc-red-hero);
  box-shadow: 0 1px 0 rgba(0,0,0,0.15);
}

/* Nav hover states */
.nav-link:hover { color: white !important; }
.nav-btn:hover { background: var(--tc-red-tint) !important; }

/* Article card hover */
.news-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.09);
  transform: translateY(-4px);
}

/* Membership row hover */
.fee-row:hover { background: var(--tc-red-tint); }

/* Link hover states */
a.read-more:hover { color: var(--tc-red-dark); }
a.back-link:hover { color: white; }
a.map-btn:hover { background: var(--tc-red); color: white; border-color: var(--tc-red); }
a.reserve-btn:hover { background: var(--tc-red-tint); }
a.footer-link:hover { color: white; }
a.news-more:hover { color: var(--tc-red-dark); }
a.contact-link:hover { color: white; }
a.cta-primary:hover { background: var(--tc-red-dark); }
a.cta-ghost:hover { border-color: rgba(255,255,255,0.7); }

/* Responsive */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .contact-grid { grid-template-columns: 1fr !important; }
  .news-grid { grid-template-columns: 1fr !important; }
  .hero-stats { gap: 28px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
}
