/* ================================================
   RESPONSIVE.CSS  –  Mobile & Tablet Breakpoints
   ================================================ */

@media (max-width: 960px) {

  /* Navigation */
  nav { padding: 1rem 1.5rem; }
  .nav-links li a,
  .nav-links li button { padding: .35rem .5rem; font-size: .68rem; }

  /* Sections */
  section { padding: 3.5rem 1.5rem; }
  .page-hero,
  .sp-hero,
  .buch-hero,
  .ueber-hero,
  .kurse-hero,
  .kontakt-hero { padding: 8rem 1.5rem 3rem; }

  /* Hero */
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-left { padding: 7.5rem 1.5rem 3rem; }
  .hero-right { height: 270px; }

  /* About strip */
  .about-strip { grid-template-columns: 1fr; padding: 3rem 1.5rem; gap: 2rem; }

  /* Kurs-Grids */
  .hk-grid,
  .kd-grid { grid-template-columns: 1fr; }
  .sp-mini-grid,
  .spezial-grid,
  .zert-grid,
  .phil-grid { grid-template-columns: 1fr 1fr; }
  .sp-mini-last,
  .spezial-last { grid-column: auto; }

  /* Über mich */
  .ueber-intro,
  .werdegang,
  .zertifikate { padding: 3.5rem 1.5rem; }
  .ueber-intro-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .photo-frame { max-width: 300px; margin: 0 auto; }

  /* Timeline mobile */
  .timeline::before { left: 20px; }
  .tl-item { grid-template-columns: 1fr; gap: .5rem; }
  .tl-item:nth-child(odd) .tl-content,
  .tl-item:nth-child(even) .tl-content { grid-column: 1; text-align: left; padding-left: 3rem; padding-right: 0; }
  .tl-item:nth-child(even) .tl-year { grid-column: 1; }
  .tl-dot { left: 20px !important; transform: translateX(-50%); }
  .tl-year { padding-left: 3rem; }

  /* Philosophie */
  .philosophie { padding: 3.5rem 1.5rem; }

  /* Stundenplan */
  .sp-section { padding: 3.5rem 1.5rem; }
  .timetable { display: none; }
  .mobile-sched { display: block; }

  /* Buchung */
  .buch-section { padding: 3.5rem 1.5rem; }
  .kurs-auswahl { grid-template-columns: 1fr; }
  .termin-grid { grid-template-columns: 1fr; }
  .buch-nav { flex-direction: column; gap: 1rem; }

  /* Stepper */
  .stepper { gap: 0; }
  .st-label { display: none; }
  .st-line { width: 26px; }

  /* Buchungsformular */
  .form-row2 { grid-template-columns: 1fr; }

  /* Spezial / Kurse section */
  .kurse-section,
  .spezial-section { padding: 3.5rem 1.5rem; }

  /* Kontakt */
  .kontakt-section { grid-template-columns: 1fr; gap: 2.5rem; padding: 3.5rem 1.5rem; }

  /* Footer */
  footer { flex-direction: column; gap: 1rem; text-align: center; padding: 2rem; }
}

@media (max-width: 600px) {
  .sp-mini-grid,
  .spezial-grid,
  .zert-grid,
  .phil-grid { grid-template-columns: 1fr; }
  .sp-mini-last,
  .spezial-last { grid-column: auto; }
  .hero-title { font-size: 2.8rem; }
  .about-number { font-size: 2.8rem; }
}
