/* MODULE: responsive ──────────────────────────────────────── */

/* ── Events Grid: Kartenanzahl nach Bildschirmgröße (nur index.html #rides)
   Desktop: max 6 · 1024px: max 4 · 768px: max 3 · 480px: max 2        */
#rides .event-card:nth-child(n+7) { display: none; }

/* ════════════════════════════════════════════════════════════
   1024px – Tablet landscape
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .about-grid,
  .equipment-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-visual { order: -1; }
  .about-img-wrap,
  .equipment-visual { aspect-ratio: 16/9; }

  .featured-inner { grid-template-columns: 1fr; }
  .featured-img-wrap { aspect-ratio: 16/8; }
  .featured-content { padding: 32px; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }

  #rides .event-card:nth-child(n+5) { display: none; }
}

/* ════════════════════════════════════════════════════════════
   768px – Tablet portrait / großes Smartphone
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .section { padding: 72px 0; }

  /* ── Navigation ── */
  .nav-links { display: none; flex-direction: column; gap: 0; }
  .nav-links.open {
    display: flex;
    position: fixed;
    top: var(--nav-h); left: 0; right: 0;
    background: rgba(255,255,255,0.98);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    padding: 24px;
    gap: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  }
  .nav-links.open a {
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
    font-size: 16px;
    color: var(--text);
  }
  .nav-links.open a:last-child { border-bottom: none; }
  .nav-burger { display: flex; }

  /* ── Hero ── */
  .hero-title { font-size: clamp(56px, 15vw, 80px); }
  .hero-stats {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
  }
  .stat { padding: 16px 24px; }
  .stat-number { font-size: 28px; }

  /* ── Gallery ── */
  .gallery-masonry {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
    grid-auto-rows: 200px;
    grid-auto-flow: dense;
  }
  /* Explizite Grid-Positionen (Desktop-Templates) auf mobil deaktivieren */
  .gallery-masonry .gallery-item {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  /* ── Kontaktformular ── */
  .form-row { grid-template-columns: 1fr; }

  /* ── Footer ── */
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: span 2; }

  /* ── Events Grid ── */
  .events-grid { grid-template-columns: 1fr 1fr; }
  #rides .event-card:nth-child(n+4) { display: none; }
}

/* ════════════════════════════════════════════════════════════
   480px – Smartphone
   ════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  /* ── Abstände ── */
  .section { padding: 52px 0; }
  .container { padding: 0 16px; }

  /* ── Hero ── */
  .hero-title { font-size: clamp(40px, 12vw, 52px); }
  .hero-actions { flex-direction: column; }
  .hero-scroll-hint { display: none; }
  .stat { padding: 12px 18px; }
  .stat-number { font-size: 24px; }

  /* ── Nav ── */
  .nav-logo { font-size: 18px; }
  .nav-logo img { width: 30px; height: 30px; }

  /* ── About ── */
  .about-grid { gap: 28px; }
  .about-img-badge { width: 56px; height: 56px; font-size: 22px; }

  /* ── Featured Event ── */
  .featured-content { padding: 20px; }
  .featured-img-wrap { aspect-ratio: 16/10; }

  /* ── Events Grid ── */
  .events-grid { grid-template-columns: 1fr; }
  #rides .event-card:nth-child(n+3) { display: none; }

  /* ── Gallery ── */
  .gallery-masonry {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 160px;
  }

  /* ── Kontaktformular ── */
  .form-group input,
  .form-group select,
  .form-group textarea { font-size: 14px; }

  /* ── Footer ── */
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: span 1; }
}

/* ════════════════════════════════════════════════════════════
   Rideouts
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .rof-inner { grid-template-columns: 1fr; }
  .rof-visual { min-height: 220px; }
  .rof-content { padding: 32px; }
  .rideouts-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}

@media (max-width: 768px) {
  .rideouts-grid { grid-template-columns: 1fr; }
  .rof-content { padding: 24px; }
}

@media (max-width: 480px) {
  .rof-distance { font-size: 64px; }
  .rof-distance small { font-size: 28px; }
  .rof-content { padding: 20px; }
  .rideouts-grid { gap: 12px; }
}

/* ════════════════════════════════════════════════════════════
   Blog
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .bp-card { grid-template-columns: 1fr 1fr; }
  .bp-title { font-size: 28px; }
  .bpc-title { font-size: 34px; }
}

@media (max-width: 768px) {
  .bp-card { grid-template-columns: 1fr; }
  .bp-img-wrap { aspect-ratio: 16/7; }
  .bp-body { padding: 24px; }
  .bp-title { font-size: 26px; }
  .bpc-title { font-size: 28px; }
  .bpc-gallery { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
  /* Abschnitt: Bild+Text stapeln */
  .bps-image-text { grid-template-columns: 1fr; direction: ltr; gap: 20px; }
  .bps-image-text > * { direction: ltr; }
}

@media (max-width: 480px) {
  .bp-title { font-size: 22px; }
  .bpc-title { font-size: 24px; }
  .blog-main { padding: 36px 16px 60px; }
}

/* ════════════════════════════════════════════════════════════
   App Sheet auf Desktop
   ════════════════════════════════════════════════════════════ */
@media (min-width: 621px) {
  .app-sheet {
    left: 50%;
    right: auto;
    transform: translateX(-50%) translateY(100%);
    width: 100%;
    max-width: 620px;
  }
  .app-sheet.open { transform: translateX(-50%) translateY(0); }
}
