/* ════════════════════════════════════════════
   PROFIX – RESPONSIVE (komplett überarbeitet)
════════════════════════════════════════════ */

/* ── TABLET 1100px ── */
@media (max-width: 1100px) {
  .standort-grid { grid-template-columns: 1fr; }
  .standort-info { flex-direction: row; flex-wrap: wrap; gap: 1rem; }
  .sinfo-item    { flex: 1 1 200px; }
}

@media (max-width: 1024px) {
  :root { --section-pad: 70px 5%; }
  .hero-content { max-width: 520px; }
}

/* ── MOBILE NAV ab 960px ── */
@media (max-width: 960px) {
  .hero-right { display: none; }
  .hero-inner { justify-content: center; }
  .hero-watermark { font-size: clamp(5rem, 14vw, 9rem); opacity: .008; }
}

/* ══════════════════════════════
   HAUPT-MOBILE BREAKPOINT 768px
══════════════════════════════ */
@media (max-width: 768px) {
  :root { --section-pad: 48px 5%; }

  /* ── TOPBAR ── */
  .topbar {
    font-size: .6rem;
    letter-spacing: .8px;
    padding: .4rem .8rem;
    line-height: 1.4;
  }

  /* ── NAV ── */
  .nav-container {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 0 5%;
  }
  .nav-links  { display: none !important; }
  .nav-right  { gap: .75rem; }
  .hamburger  { display: flex; }
  .nav-cta    { padding: .4rem .9rem !important; font-size: .8rem !important; }
  .nav-logo-text { font-size: 1.5rem; }

  /* ── HERO ── */
  #hero { padding: 70px 5% 50px; min-height: auto; }
  .hero-inner { flex-direction: column; gap: 0; }
  .hero-content { max-width: 100%; }
  .hero-badge { font-size: .6rem; margin-bottom: 1rem; }
  .hero-title { font-size: clamp(3rem, 13vw, 5rem); }
  .hero-title .o { font-size: .78em !important; }
  .hero-sub   { font-size: clamp(.85rem, 2.8vw, 1.2rem); margin: .4rem 0 .9rem; }
  .hero-desc  { font-size: .88rem; max-width: 100%; margin-bottom: 1rem; }
  .hero-note  { font-size: .78rem; padding: .45rem .8rem; margin-bottom: 1.2rem; }
  .hero-btns  { gap: .6rem; }
  .hero-btns .btn-p,
  .hero-btns .btn-s {
    padding: .7rem 1.3rem;
    font-size: .85rem;
    flex: 1 1 auto;
    text-align: center;
  }
  .hero-stats {
    gap: 1.2rem;
    margin-top: 1.4rem;
    padding-top: 1.2rem;
  }
  .stat-num   { font-size: 1.6rem; }
  .stat-label { font-size: .6rem; }

  /* ── LEISTUNGEN ── */
  #services { padding: 48px 5%; }
  .svc-header {
    flex-direction: column;
    align-items: flex-start;
    gap: .6rem;
    margin-bottom: 1.8rem;
  }
  .svc-header .sec-desc { max-width: 100%; }
  .svc-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    background: transparent;
    border: none;
  }
  .svc-card {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 1.5rem;
  }
  .svc-icon { font-size: 1.8rem; margin-bottom: .7rem; }
  .svc-name { font-size: 1.1rem; }
  .svc-text { font-size: .85rem; }

  /* ── HINWEIS ── */
  #hinweis { padding: 36px 5%; }
  .hinweis-box {
    flex-direction: column;
    gap: .8rem;
    padding: 1.3rem 1.2rem;
  }

  /* ── TEAM ── */
  #team { padding: 48px 5%; }
  .team-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 1rem;
    margin-top: 2rem;
  }
  .tcard {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.2rem 1.5rem;
    text-align: left;
  }
  .tavatar {
    width: 52px;
    height: 52px;
    font-size: 1.2rem;
    flex-shrink: 0;
    margin: 0;
  }
  .tcard-info { flex: 1; }
  .tname  { font-size: 1rem; }
  .trole  { font-size: .68rem; margin-bottom: .4rem; }
  .tphone { font-size: .9rem; }

  /* ── STANDORT ── */
  #standort { padding: 48px 5%; }
  .standort-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .standort-info { flex-direction: column; gap: 1rem; }
  .map-wrap iframe { height: 220px; }

  /* ── BEWERTUNGEN ── */
  #bewertungen { padding: 48px 5%; }
  .bewertungen-grid { grid-template-columns: 1fr; gap: 1rem; }
  .bcard { padding: 1.3rem; }
  .bcard::before { font-size: 2.5rem; top: .5rem; right: .8rem; }
  .btext { font-size: .86rem; }

  /* ── INSTAGRAM ── */
  #instagram { padding: 48px 5%; }
  .insta-cta-inner {
    flex-direction: column;
    text-align: center;
    padding: 1.5rem;
    gap: 1rem;
  }
  .insta-btn { width: 100%; text-align: center; }

  /* ── FAQ ── */
  #faq { padding: 48px 5%; }
  .faq-list { max-width: 100%; gap: .6rem; }
  .faq-q { padding: 1rem 1.1rem; font-size: .95rem; }
  .faq-a { padding: 0 1.1rem; }
  .faq-item.open .faq-a { padding: 0 1.1rem 1rem; }

  /* ── TERMIN FORMULAR ── */
  #termin { padding: 48px 5%; }
  .form-wrap {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .form-info .sec-title { font-size: 2rem !important; }
  .form-info-contact { gap: .7rem; margin-top: 1.2rem; }
  .fic-item { gap: .6rem; }
  .fic-val { font-size: .84rem; }
  .form-row  { grid-template-columns: 1fr; gap: .8rem; }
  .form-group input,
  .form-group select,
  .form-group textarea { padding: .7rem .9rem; font-size: .9rem; }
  .form-submit { width: 100%; align-self: stretch; text-align: center; font-size: .95rem; }

  /* ── CTA ── */
  #cta { padding: 50px 5%; flex-direction: column; text-align: center; }
  .cta-inner { flex-direction: column; align-items: center; gap: 1.5rem; }
  .cta-text h2 { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  .cta-text p  { font-size: .9rem; }
  .btn-white-huge {
    width: 100%;
    max-width: 360px;
    padding: 1rem;
    font-size: 1rem;
    text-align: center;
  }

  /* ── FOOTER ── */
  footer { padding: 1.8rem 5%; }
  .footer-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .8rem;
  }
  .flinks { justify-content: center; gap: 1.2rem; }
  .flogo  { font-size: 1.2rem; }
}

/* ── SMALL MOBILE 480px ── */
@media (max-width: 480px) {
  :root { --section-pad: 40px 4%; }

  .topbar { display: none; } /* zu eng – ausblenden */

  .nav-cta { padding: .35rem .8rem !important; font-size: .75rem !important; }
  .nav-logo-text { font-size: 1.35rem; }

  #hero { padding: 60px 4% 44px; }
  .hero-title { font-size: clamp(2.8rem, 12vw, 4.5rem); }
  .hero-badge { font-size: .58rem; padding: .28rem .7rem; }
  .hero-btns { flex-direction: column; gap: .5rem; }
  .hero-btns .btn-p,
  .hero-btns .btn-s { width: 100%; text-align: center; padding: .8rem 1rem; }

  .svc-grid { gap: .8rem; }
  .team-grid { gap: .8rem; }
  .faq-q { font-size: .88rem; }
}

/* ── WATERMARK AUF MOBILE AUSBLENDEN ── */
@media (max-width: 960px) {
  .hero-watermark { display: none; }
}

/* ── STANDORT LEERRAUM FIX ── */
@media (max-width: 768px) {
  /* Map iframe Höhe reduzieren */
  .map-wrap { margin-bottom: 0; }
  .map-wrap iframe { height: 200px; }
  
  /* Standort Info kompakter */
  .standort-grid { gap: 1rem; margin-top: 1.5rem; }
  .sinfo-item { padding: .2rem 0; }
  .sinfo-label { font-size: .65rem; margin-bottom: .1rem; }
  .sinfo-val { font-size: .88rem; }
  
  /* Termin Button im Standort-Block */
  .standort-info .btn-p {
    width: 100%;
    text-align: center;
    margin-top: .8rem !important;
    padding: .75rem 1rem;
  }
  
  /* Section Abstände generell kleiner */
  #standort { padding: 40px 5%; }
  #team      { padding: 40px 5%; }
  #bewertungen { padding: 40px 5%; }
  #instagram   { padding: 40px 5%; }
  #faq         { padding: 40px 5%; }
  #termin      { padding: 40px 5%; }
  #hinweis     { padding: 30px 5%; }
}
