/* responsive.css - Responsive breakpoints for shared components */

  /* ══ Responsive ══ */

  /* ── Tablet (≤1024px) ── */
  @media(max-width: 1024px) {

    /* Swipe Dots sichtbar */
    .swipe-dots {
      display: flex;
    }

    /* Carousel: 3 → 2 Karten */
    .carousel > * {
      min-width: calc(50% - 0.625rem);
      max-width: calc(50% - 0.625rem);
    }

    /* Desktop-off Carousels: jetzt aktivieren */
    .carousel--desktop-off {
      overflow-x: auto;
      scroll-snap-type: x mandatory;
    }

    .carousel--desktop-off > * {
      min-width: calc(50% - 0.625rem);
      max-width: calc(50% - 0.625rem);
      scroll-snap-align: start;
      flex-shrink: 0;
    }

    /* Agenda: eigenes Scroll-Verhalten (kein Carousel) */
    .agenda-v2 {
      display: flex !important;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      gap: 1rem;
      padding-bottom: 0.5rem;
    }

    .agenda-v2::-webkit-scrollbar { display: none; }

    .agenda-v2 .agenda-module {
      min-width: 100%;
      max-width: 100%;
      scroll-snap-align: start;
      flex-shrink: 0;
    }

    /* SP + Audience: Layout-Fixes fuer Flex */
    .sp-card {
      margin-bottom: 0;
      display: flex;
      flex-direction: column;
      grid-row: auto;
      grid-template-rows: none;
      box-shadow: none;
    }

    .sp-card-body {
      display: flex;
      flex-direction: column;
      grid-row: auto;
      grid-template-rows: none;
      flex: 1;
    }

    .aud-card {
      display: flex;
      flex-direction: column;
      grid-row: auto;
      grid-template-rows: none;
      box-shadow: none;
    }

    /* Trainer: iPad – kleiner neben Text */
    .trainer-layout {
      grid-template-columns: 180px 1fr;
      gap: 1.5rem;
    }

    .trainer-photo {
      margin-left: 0;
      align-self: end;
    }

    .trainer-photo img {
      max-height: 280px;
      object-fit: contain;
      object-position: bottom;
    }

    .trainer-stats {
      justify-content: flex-start;
    }

    /* Case: Stack */
    .case-content {
      grid-template-columns: 1fr;
    }

    /* Event Cards: Tablet-Layout */
    .ev-card {
      grid-template-columns: 100px 1fr;
      gap: 1rem;
    }

    .ev-right {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
      text-align: left;
      padding-top: 0.5rem;
      border-top: 1px solid var(--border-light);
    }

    .ev-price-line {
      justify-content: flex-start;
    }

    .ev-actions {
      flex-wrap: wrap;
    }

    /* Badge: Stack */
    .badge-container,
    .badge-container--eu {
      grid-template-columns: 1fr;
      text-align: center;
    }

    .badge-img {
      margin: 0 auto;
    }
  }

  /* ── Mobile (≤768px) ── */
  @media(max-width: 768px) {
    body.nav-top .container {
      margin-left: auto;
    }

    /* Carousel: 2 → 1 Karte */
    .carousel > * {
      min-width: 100%;
      max-width: 100%;
    }

    .carousel--desktop-off > * {
      min-width: 100%;
      max-width: 100%;
    }

    .sp-card,
    .aud-card {
      box-shadow: none;
    }

    /* Trainer: Bild komplett weg */
    .trainer-layout {
      grid-template-columns: 1fr;
    }

    .trainer-photo {
      display: none;
    }

    .trainer-stats {
      justify-content: center;
    }

    /* Event Cards: 1 Spalte, zentriert */
    .ev-card {
      grid-template-columns: 1fr;
      text-align: center;
    }

    .ev-right {
      flex-direction: column;
      align-items: center;
      text-align: center;
      border-top: none;
      padding-top: 0;
    }

    .ev-info { text-align: center; }
    .ev-guarantee { margin-left: auto; margin-right: auto; }
    .ev-price-line { justify-content: center; }
    .ev-actions { justify-content: center; flex-wrap: wrap; }

    .ev-inhouse-top {
      grid-template-columns: 1fr;
      text-align: center;
    }

    .ev-card-inhouse .ev-date-block {
      display: flex;
      flex-direction: row;
      gap: 0.5rem;
      justify-content: center;
    }

    .ev-inhouse-expand-inner {
      text-align: center;
    }
  }

  @media(max-width: 600px) {
    section {
      padding: 4rem 1.25rem;
    }

    .hero {
      padding: 5rem 1.25rem 3rem;
    }

    .lr-box {
      padding: 2rem 1.5rem;
    }

    .lr-signup .wpcf7-form p {
      flex-direction: column;
      align-items: stretch;
    }

    .lr-signup input[type="email"] {
      width: 100%;
    }

    .lr-signup input[type="submit"] {
      width: 100%;
    }

    .case-content {
      gap: 2rem;
    }
  }

