/* ═══════════════════════════════════════════════════════
   mobile.css – WerkUp Mobile Design
   Ergänzt index.css für Smartphones & kleine Tablets
   ═══════════════════════════════════════════════════════ */

/* ── 768px: Tablet / Großes Smartphone ───────────────── */
@media (max-width: 768px) {

  /* Allgemeine Abstände */
  .hero           { min-height: 100svh; }
  .logos-band,
  .problems,
  .features,
  .how-it-works,
  .vergleich,
  .gewerke,
  .mobile-section,
  .kpi-section,
  .testimonials,
  .pricing,
  .sicherheit,
  .faq,
  .news-teaser,
  .cta-final      { padding: 4.5rem 0; }

  .container { padding: 0 1.25rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     HERO
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .hero-layout {
    padding-top: 6rem;
    padding-bottom: 3rem;
    gap: 2.5rem;
    text-align: center;
  }
  .hero-left { align-items: center; }
  .hero-left h1 { font-size: clamp(2rem, 8vw, 2.8rem); }
  .hero-subtitle {
    font-size: 0.97rem;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-ctas {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .hero-ctas .btn-hero-primary,
  .hero-ctas .btn-hero-ghost-light {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
  .hero-trust-stars { justify-content: center; }
  .hero-right { display: none; }
  .hero-scroll-hint { display: none; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     LOGOS BAND – Nur Logo-Track darf dunkel sein,
     Text-Bereich (logos-header) bleibt lesbar
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .logos-header {
    position: relative;
    z-index: 3;           /* über den ::before / ::after Gradienten */
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  /* Gradient-Fades auf Mobile verstecken (nur für Logo-Track relevant) */
  .logos-band::before,
  .logos-band::after { display: none; }

  .logos-stats {
    gap: 1.25rem;
    width: 100%;
    justify-content: space-between;
  }
  .logos-stat strong { font-size: 1.2rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     PROBLEME
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .problems-head {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2.5rem;
  }
  .problems-head h2 {
    text-align: left;
    font-size: clamp(1.6rem, 6vw, 2rem);
  }
  .problems-head-left .section-label { text-align: left; }
  .problems-grid { grid-template-columns: 1fr 1fr; gap: 0.85rem; }
  .p-card { padding: 1.5rem 1.25rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     FEATURES – Zentriert + App-Mockup sichtbar
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .features .section-head { margin-bottom: 2rem; }

  /* Tab-Leiste: Icons only */
  .feat-tabs {
    width: 100%;
    border-radius: var(--radius-sm);
    gap: 0.25rem;
    padding: 0.35rem;
  }
  .feat-tab {
    flex: 1;
    justify-content: center;
    padding: 0.6rem 0.5rem;
    font-size: 0;
    gap: 0;
  }
  .feat-tab i { font-size: 1rem; }

  /* Panel: zentriert, 1 Spalte */
  .feat-panel.active {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .feat-text { text-align: center; }
  .feat-tag  { margin-left: auto; margin-right: auto; }
  .feat-list { align-items: flex-start; text-align: left; max-width: 340px; margin-left: auto; margin-right: auto; }
  .btn-feat  { margin: 0 auto; }
  .feat-text h3 { font-size: clamp(1.3rem, 5vw, 1.7rem); }

  /* App-Mockup: sichtbar machen, Sidebar ausblenden */
  .feat-visual { display: block; }
  .feat-visual .app-body {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 220px;
  }
  .feat-visual .app-sidebar { display: none; }
  .feat-visual .app-main { padding: 14px; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     HOW IT WORKS
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .hiw-head { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.5rem; }
  .hiw-head-right { text-align: left; }
  .hiw-head-right .section-label { text-align: left; }
  .hiw-head h2 { font-size: clamp(1.6rem, 6vw, 2rem); }
  .hiw-steps { grid-template-columns: 1fr; gap: 1rem; }
  .hiw-connector { display: none; }
  .hiw-step-inner { padding: 1.75rem 1.5rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     VERGLEICH – kein Scroll, Badge sichtbar
     Wurzel des Problems: Grid-Items haben min-width:auto
     → schrumpfen nie unter Inhaltsgröße → Seite scrollt.
     Fix: min-width:0 auf Feature-Zellen + Section clippt Überlauf.
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  /* Section schneidet jeden Überlauf ab → kein Body-Scroll */
  .vergleich { overflow: hidden; }
  .vergleich > .container { overflow: visible; }

  /* Tabelle: badge darf nach oben herausragen */
  .vergleich-table {
    overflow: visible;
    width: 100%;
    margin-top: 0;
  }
  .vergleich-header {
    overflow: visible;
    border-radius: var(--radius) var(--radius) 0 0;
  }

  /* Badge ausblenden auf Mobile */
  .vgl-wu-badge { display: none; }

  /* Spalten: 3 feste Icon-Spalten, Feature bekommt Rest */
  .vergleich-header,
  .vgl-row { grid-template-columns: 1fr 58px 58px 58px; min-width: unset; }

  /* min-width:0 → Grid-Item darf unter Inhaltsgröße schrumpfen */
  .vgl-feature {
    min-width: 0;
    font-size: 0.73rem;
    padding: 0.8rem 0.65rem;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .vgl-label-col { padding: 1rem 0.5rem; }
  .vgl-col { font-size: 0.63rem; padding: 0.8rem 0.2rem; gap: 0.25rem; }
  .vgl-col-icon { width: 26px; height: 26px; font-size: 0.7rem; border-radius: 7px; }
  .vgl-yes, .vgl-no, .vgl-partial { font-size: 0.82rem; padding: 0.8rem 0.2rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     GEWERKE
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .gewerke-head { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.5rem; }
  .gewerke-head h2 { text-align: left; font-size: clamp(1.6rem, 6vw, 2rem); }
  .gewerke-grid { grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
  .gw-item { padding: 1.25rem 0.75rem 1rem; }
  .gw-icon { width: 44px; height: 44px; font-size: 1rem; }
  .gw-item span { font-size: 0.72rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     MOBILE / APP SECTION – Zentriert
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .mobile-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .mobile-visual { display: none; }
  .mobile-text {
    text-align: center;
  }
  .mobile-text .section-label { text-align: center; }
  .mobile-text h2 { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  .mobile-intro { margin-left: auto; margin-right: auto; }
  .mobile-feat-list li { text-align: left; }
  .mobile-text .btn-primary-red { display: inline-flex; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     KPI – Überschrift zentrieren
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .kpi-head {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2.5rem;
    text-align: center;
  }
  .kpi-head h2 {
    font-size: clamp(1.6rem, 6vw, 2rem);
    text-align: center;
  }
  .kpi-head-right { text-align: center; }
  .kpi-head-right .section-label { text-align: center; }
  .kpi-head-right .section-intro { margin-left: auto; margin-right: auto; }
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: 0.85rem; }
  .kpi-card-inner { padding: 1.75rem 1.5rem; }
  .kpi-num { font-size: clamp(2.2rem, 8vw, 3rem); }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     TESTIMONIALS
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .testi-head { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.5rem; }
  .testi-head-right { text-align: left; }
  .testi-head-right .section-label { text-align: left; }
  .testi-head h2 { font-size: clamp(1.6rem, 6vw, 2rem); }
  .testi-grid { grid-template-columns: 1fr; max-width: 100%; }
  .testi-card { padding: 1.5rem 1.25rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     PRICING
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .pricing-grid { grid-template-columns: 1fr; max-width: 100%; }
  .price-card.highlighted { transform: none; }
  .price-val { font-size: 3rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     SICHERHEIT – Alles zentrieren
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .sicherheit-head {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    text-align: center;
  }
  .sicherheit-head .section-label { text-align: center; }
  .sicherheit-head h2 {
    font-size: clamp(1.6rem, 6vw, 2.2rem);
    text-align: center;
  }
  .sicherheit-intro {
    text-align: center;
    max-width: 100%;
    margin: 0 auto;
  }
  .sicherheit-grid { grid-template-columns: 1fr 1fr; gap: 0.85rem; }
  .sich-card { padding: 1.5rem; }
  .sicherheit-cta { text-align: center; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     NEWS TEASER – Zentrieren
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .news-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem;
  }
  .news-head .section-label { text-align: center; }
  .news-head h2 {
    font-size: clamp(1.6rem, 6vw, 2rem);
    text-align: center;
  }
  .news-grid { grid-template-columns: 1fr; }
  .news-card-img { height: 150px; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     FAQ
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .faq-q { padding: 1rem 1.25rem; font-size: 0.88rem; }
  .faq-a { padding: 0 1.25rem 1.2rem 1.25rem; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     CTA FINAL
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .cta-final { padding: 5rem 0; }
  .cta-final h2 { font-size: clamp(1.7rem, 7vw, 2.5rem); }
  .cta-final p { font-size: 0.97rem; }
  .cta-final-btns {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }
  .cta-final-btns .btn-hero-primary,
  .cta-final-btns .btn-hero-ghost-light {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
  .cta-trust { gap: 1rem; flex-direction: column; align-items: center; }


  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     FOOTER – Komplett zentriert
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  .footer-top-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
  }
  .footer-top-text { text-align: center; }
  .footer-newsletter {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
  }
  .footer-newsletter input { width: 100%; }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    padding: 3rem 1rem 2.5rem;
    text-align: center;
  }
  .footer-brand-col {
    grid-column: 1 / -1;
    align-items: center;
    text-align: center;
  }
  .footer-col h4 { text-align: center; }
  .footer-col ul { align-items: center; }
  .footer-col ul li a { justify-content: center; }
  .footer-col ul li a:hover { padding-left: 0; }

  .footer-bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
  }
  .footer-copy { text-align: center; }
  .footer-legal-links { justify-content: center; flex-wrap: wrap; }
}


/* ── 520px: Kleines Smartphone ───────────────────────── */
@media (max-width: 520px) {

  .logos-band,
  .problems,
  .features,
  .how-it-works,
  .vergleich,
  .gewerke,
  .mobile-section,
  .kpi-section,
  .testimonials,
  .pricing,
  .sicherheit,
  .faq,
  .news-teaser     { padding: 3.5rem 0; }

  .container { padding: 0 1rem; }

  /* ── Hero ── */
  .hero-layout { padding-top: 5rem; padding-bottom: 2.5rem; }
  .hero-left h1 { font-size: clamp(1.8rem, 9vw, 2.3rem); }
  .hero-badge { font-size: 0.72rem; }
  .hero-ctas .btn-hero-primary,
  .hero-ctas .btn-hero-ghost-light { max-width: 100%; }

  /* ── Logos ── */
  .logos-stats { gap: 0.75rem; }
  .logos-stat strong { font-size: 1rem; }
  .logos-stat span { font-size: 0.62rem; }
  .logos-stat-sep { height: 28px; }

  /* ── Section headers ── */
  .section-head h2 { font-size: clamp(1.5rem, 7vw, 1.9rem); }
  .section-intro { font-size: 0.93rem; }
  .section-head { margin-bottom: 2rem; }

  /* ── Probleme ── */
  .problems-grid { grid-template-columns: 1fr; }
  .p-card { padding: 1.25rem 1rem; }

  /* ── Features ── */
  .feat-tabs { gap: 0.2rem; }
  .feat-tab { padding: 0.55rem 0.4rem; }
  .feat-text h3 { font-size: 1.3rem; }
  .feat-list li { font-size: 0.88rem; }

  /* ── How it works ── */
  .hiw-step-inner { padding: 1.5rem 1.25rem; }
  .hiw-step-inner h3 { font-size: 1rem; }
  .hiw-step-bg-num { font-size: 3rem; }

  /* ── Vergleich ── */
  .vergleich-header,
  .vgl-row { grid-template-columns: 1fr 50px 50px 50px; }
  .vgl-feature { font-size: 0.68rem; padding: 0.7rem 0.5rem; }
  .vgl-col { font-size: 0.58rem; padding: 0.7rem 0.15rem; }
  .vgl-yes, .vgl-no, .vgl-partial { font-size: 0.75rem; padding: 0.7rem 0.15rem; }

  /* ── Gewerke ── */
  .gewerke-grid { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
  .gw-item { padding: 1rem 0.5rem 0.85rem; }
  .gw-icon { width: 38px; height: 38px; font-size: 0.9rem; border-radius: 11px; }

  /* ── KPI ── */
  .kpi-grid { grid-template-columns: 1fr; max-width: 380px; margin: 0 auto; }
  .kpi-num { font-size: clamp(2.5rem, 10vw, 3.5rem); }

  /* ── Testimonials ── */
  .testi-card blockquote { font-size: 0.88rem; }

  /* ── Pricing ── */
  .price-card-inner { padding: 1.75rem 1.5rem; }
  .price-val { font-size: 2.8rem; }
  .price-features li { font-size: 0.82rem; }
  .pricing-toggle-wrap { flex-direction: column; gap: 0; border-radius: var(--radius-sm); width: 100%; }
  .ptoggle-btn { width: 100%; justify-content: center; }

  /* ── Sicherheit ── */
  .sicherheit-grid { grid-template-columns: 1fr; max-width: 100%; }
  .sich-card { padding: 1.25rem; }

  /* ── FAQ ── */
  .faq-q { font-size: 0.84rem; padding: 0.95rem 1rem; }
  .faq-a { padding: 0 1rem 1rem 1rem; font-size: 0.87rem; }

  /* ── News ── */
  .news-card-body { padding: 1.25rem; }
  .news-card h3 { font-size: 0.93rem; }

  /* ── Footer ── */
  .footer-main { grid-template-columns: 1fr; }
  .footer-bottom-inner { flex-direction: column; align-items: center; }

  /* ── Buttons global ── */
  .btn-primary-red,
  .btn-feat { padding: 0.85rem 1.5rem; font-size: 0.9rem; }
  .btn-hero-primary { padding: 0.9rem 1.75rem; font-size: 0.95rem; }
}


/* ── 380px: Sehr kleines Smartphone ─────────────────── */
@media (max-width: 380px) {

  .container { padding: 0 0.875rem; }

  .hero-left h1 { font-size: 1.7rem; }
  .hero-badge   { font-size: 0.68rem; }

  .logos-stats { flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
  .logos-stat-sep { display: none; }

  .feat-tab { padding: 0.5rem 0.3rem; }
  .feat-tab i { font-size: 0.9rem; }

  .gewerke-grid { gap: 0.5rem; }
  .gw-item { padding: 0.875rem 0.4rem 0.75rem; }
  .gw-icon { width: 34px; height: 34px; font-size: 0.8rem; }
  .gw-item span { font-size: 0.67rem; }

  .price-card-inner { padding: 1.5rem 1.25rem; }
  .price-val { font-size: 2.5rem; }

  .hiw-step-inner h3 { font-size: 0.95rem; }
  .hiw-step-inner p  { font-size: 0.84rem; }
}


/* ── Touch-Optimierungen ─────────────────────────────── */
@media (hover: none) and (pointer: coarse) {
  .feat-tab    { min-height: 44px; }
  .ptoggle-btn { min-height: 44px; }
  .faq-q       { min-height: 52px; }
  .nav-links a { padding: 0.5rem 0; }

  .p-card:hover,
  .gw-item:hover,
  .kpi-card:hover,
  .testi-card:hover,
  .price-card:hover,
  .sich-card:hover,
  .news-card:hover,
  .hiw-step:hover .hiw-step-inner { transform: none; box-shadow: var(--shadow-sm); }
}
