/* ==========================================================================
   Southframe — Responsive
   Mobile-First-Erweiterungen. Basiswerte in base/components/sections.css
   gelten für 320–479px. Ab hier nur Ergänzungen/Überschreibungen.

   Breakpoints (siehe Brief §5):
   480  – Large Mobile
   768  – Tablet
   1024 – Desktop
   1440 – Large Desktop
   ========================================================================== */

/* ---------------------------------------------------------------------------
   480px – Large Mobile
   ------------------------------------------------------------------------- */
@media (min-width: 480px) {
  .hero__actions {
    flex-direction: row;
  }

  .hero__actions .btn {
    width: auto;
  }
}

/* ---------------------------------------------------------------------------
   768px – Tablet
   ------------------------------------------------------------------------- */
@media (min-width: 768px) {
  /* .section-Padding läuft seit Sprint 2 fluide über --space-section
     (variables.css) — hier keine Breakpoint-Überschreibung mehr nötig. */

  .hero {
    padding-block: calc(var(--space-section) + var(--space-md)) var(--space-xl);
  }

  .mobile-nav__list {
    gap: var(--space-md);
  }

  .why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ---------------------------------------------------------------------------
   1024px – Desktop
   ------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  /* Header: Desktop-Navigation ersetzt Hamburger */
  .site-nav {
    display: block;
  }

  .header-cta {
    display: inline-flex;
  }

  .nav-toggle {
    display: none;
  }

  .hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: var(--space-2xl);
  }

  .hero__visual {
    display: block;
    position: relative;
    min-height: 380px;
  }

  .hero__actions {
    flex-direction: row;
  }

  .why-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .services-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .platform-tabs__body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-xl);
  }

  .seo-layout {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    gap: var(--space-2xl);
    align-items: start;
  }

  .pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  /* Business-Paket leicht angehoben (Brief: "leicht erhöhte Position auf
     Desktop"), ohne Glow-Effekt — reine Positionsverschiebung. */
  .pricing-card--featured {
    margin-top: calc(var(--space-md) * -1);
    padding-block: calc(1.75rem + var(--space-md));
  }

  .addons-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-footer__top {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-2xl);
  }

  .site-footer__brand {
    max-width: 20rem;
  }

  .site-footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* ---------------------------------------------------------------------------
   1440px – Large Desktop
   ------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  :root {
    --edge-padding: 3rem;
  }

  .hero__inner {
    gap: calc(var(--space-2xl) + var(--space-lg));
  }
}
