/* ============================================================
   W15 Mobile-Mega-Fix (2026-05-20)
   Konsolidiert P0/P1/P2 aus DS01-DS19 Reports
   Lade NACH premium-v14-ocean.css und premium-design-v13.css
   ============================================================ */

/* ----------------------------------------------------------------
   P0-2: Hero-H1 vertikal Buchstaben-gestackt verhindern
   (solar-hameln/bielefeld/berlin/hamburg/muenchen)
   ---------------------------------------------------------------- */
h1, .hero h1, .hero-h1, #hero-h, .v12-hero h1, .v13-hero h1, .er-h1 {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  hyphens: auto !important;
}
.hero, .v12-hero, .v13-hero, [class*="hero"] {
  flex-direction: row !important;
}
.hero > h1, .v12-hero > h1, .v13-hero > h1, .hero-inner > h1 {
  flex-direction: row !important;
  display: block !important;
}

/* ----------------------------------------------------------------
   P0-7: Burger min-44px tappbar (alle v13-nav + floating-nav)
   ---------------------------------------------------------------- */
#v13-burger, .v13-burger, .burger, .floating-nav .burger, .nav-burger {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ----------------------------------------------------------------
   P1-1: Horizontaler Overflow +37px durch .v12-orb-* + Hero
   ---------------------------------------------------------------- */
.v12-orb, [class*="v12-orb"], .animated-bg .orb, .orb, .hero-aurora-orb {
  max-width: 60vw !important;
  max-height: 60vh !important;
}
.hero, .v12-hero, .v13-hero, .hero-inner, .v12-hero-inner, .v13-hero-inner {
  overflow-x: hidden !important;
}

/* ----------------------------------------------------------------
   P1-2 + P1-3: Tap-Targets 44px (Nav-Links, Footer, CTA, Labels)
   ---------------------------------------------------------------- */
@media (max-width: 768px) {
  nav a, header a, footer a, .menu-link, .footer-link,
  .v13-nav-fixed a, .v13-footer-col a, .nav a, .nav-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-block: 6px;
  }
  .v12-btn-primary, .v13-btn-primary, .btn-primary,
  .v12-btn-secondary, .v13-btn-secondary, .btn-secondary,
  button[type="submit"], .fc-submit {
    min-height: 48px !important;
  }
  input[type="checkbox"], input[type="radio"] {
    min-width: 22px;
    min-height: 22px;
  }
  label,
  .fc-checkbox label,
  .form-checkbox label {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-block: 4px;
  }
}

/* ----------------------------------------------------------------
   P1-6: Pillar-Article + TOC max-width Box-Sizing
   ---------------------------------------------------------------- */
.pillar-toc, .pillar-article, .pillar-article section, aside.pillar-toc,
.pillar-content, .pillar-wrap {
  box-sizing: border-box !important;
  max-width: 100vw !important;
  overflow-wrap: break-word !important;
}

/* ----------------------------------------------------------------
   P1-7: Vergleichstabellen Wrapper-Scroll
   ---------------------------------------------------------------- */
.wb-spec-table, .cost-table, .comp-table, .vergleich-tabelle,
.spec-table, .pricing-table, .feature-table,
table.compare, table.spec, .ratgeber-table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

/* ----------------------------------------------------------------
   P1-8: Blog-Content rechts 199-637px Overflow
   ---------------------------------------------------------------- */
.blog-content, .blog-article, .blog-post, article.blog,
.blog-body, .blog-wrap {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
}
.blog-content img, .blog-article img {
  max-width: 100% !important;
  height: auto !important;
}

/* ----------------------------------------------------------------
   P1-15: Senior-Kontrast Hero-CTA klima.html
   ---------------------------------------------------------------- */
.hero .v12-btn-primary, .hero .btn-primary,
.v12-hero .v12-btn-primary, .v13-hero .v13-btn-primary {
  color: #ffffff !important;
}

/* ----------------------------------------------------------------
   P2-3: Header-Settings-Panel Off-Screen statt right:402px
   ---------------------------------------------------------------- */
.header-settings-panel:not(.is-open),
.settings-panel:not(.is-open) {
  transform: translateX(100%) !important;
  right: 0 !important;
}

/* ----------------------------------------------------------------
   P2-4: cro-trust-bar Badges Flex-Wrap
   ---------------------------------------------------------------- */
.cro-trust-bar, .trust-badges, .trust-row {
  flex-wrap: wrap !important;
  max-width: 100% !important;
}

/* ----------------------------------------------------------------
   P3: Doppel overflow-x:hidden → nur body
   (HTML-Element overflow zurück auf visible)
   ---------------------------------------------------------------- */
html { overflow-x: visible !important; }
body { overflow-x: hidden; }

/* ----------------------------------------------------------------
   P0-5 Konkurrenz-Layout-Bugs
   ---------------------------------------------------------------- */
.enpal-table-wrap, .enpal-table {
  overflow-x: auto !important;
  max-width: 100% !important;
}
/* tesla-solar Burger initial-state */
body.tesla-solar #v13-mobile-menu:not(.is-open),
body[data-page="tesla-solar"] .v13-mobile-menu:not(.is-open) {
  transform: translateX(100%) !important;
}
/* 1komma5grad Lisa-CTA z-index */
.lisa-cta, .lisa-bubble, .floating-lisa {
  z-index: 90 !important;
}
.v12-hero, .v13-hero, .hero {
  position: relative;
  z-index: 100;
}
