/* ============================================================
 * desktop-fixes-v1.css
 * Run 1A — Desktop Container + Layout Fundamental Fix
 * Datum: 2026-05-12
 *
 * Adressiert:
 *  - Container streckt auf 1904px (12/12 Pages @ 1920)
 *  - Sections ohne Container-Cap haben Voll-Breite-Text
 *  - Mobile-Nav-Bars (Phone/WhatsApp full-width) auf Desktop
 *  - Footer 1-spaltig auf 3 Pages
 *  - Body-Font 13-15px (Lese-Komfort)
 *  - Nav nicht sticky
 *
 * WICHTIG: Greift NUR bei min-width:1024px — Mobile bleibt unangetastet.
 * ============================================================ */

@media (min-width: 1024px) {

  /* --------------------------------------------------------
   * 1. CONTAINER GLOBAL CAP auf 1440px (Voll-Breite-Fix)
   *    Überschreibt Pages mit max-width:100% oder max-width:none
   * -------------------------------------------------------- */
  html body .container,
  html body main .container,
  html body section .container,
  html body div.container,
  html body .wrapper,
  html body .content-wrapper {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(24px, 3vw, 48px) !important;
    padding-right: clamp(24px, 3vw, 48px) !important;
    box-sizing: border-box !important;
  }

  /* Sektionen behalten Voll-Breite für Background, aber Inhalt zentriert.
     Direkte H1/H2/p in <section> (ohne Container) müssen auf 1440 limitiert werden. */
  html body main > section > h1:not(.full-bleed),
  html body main > section > h2:not(.full-bleed),
  html body main > section > p:not(.full-bleed),
  html body main > section > div.fade-up:not(.container):not(.full-bleed),
  html body main > section > div.section-label:not(.container):not(.full-bleed) {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(24px, 3vw, 48px);
    padding-right: clamp(24px, 3vw, 48px);
    box-sizing: border-box;
  }

  /* --------------------------------------------------------
   * 2. CONTENT-MAX-WIDTH 72ch für Fließtext
   *    Personas-Issue: Zeilen >100 Zeichen
   * -------------------------------------------------------- */
  html body main p:not(.hero p):not(.full-width):not([class*="badge"]):not(.eyebrow):not(.no-readwidth),
  html body article p:not(.full-width),
  html body section p:not(.hero p):not(.full-width):not([class*="badge"]):not(.eyebrow) {
    max-width: 72ch;
  }

  /* Zentrierter Fließtext für Hero-Sublines und Section-Intros */
  html body .hero > .container > p,
  html body .hero > p,
  html body section > .container > p.lead,
  html body section > .container > p.section-intro,
  html body main > section > p.lead,
  html body main > section > p.section-intro {
    margin-left: auto;
    margin-right: auto;
  }

  /* --------------------------------------------------------
   * 3. STICKY-NAV auf Desktop
   *    Page-Variants: <header class="site-header">, <nav id="nav" class="nav">,
   *    <header class="nav">, <nav class="site-nav">
   * -------------------------------------------------------- */
  html body header.site-header,
  html body header.nav,
  html body nav.site-nav,
  html body nav#nav,
  html body nav.nav,
  html body header[role="banner"] {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    background: rgba(10, 20, 40, 0.78);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  }
  html body header.site-header.scrolled,
  html body header.nav.scrolled,
  html body nav#nav.scrolled,
  html body nav.nav.scrolled {
    background: rgba(10, 20, 40, 0.92);
    box-shadow: 0 6px 24px -8px rgba(0, 0, 0, 0.4);
  }

  /* Header-Höhe begrenzen (kein 276px-Stack) */
  html body header.site-header,
  html body header.nav,
  html body nav.site-nav,
  html body nav#nav,
  html body nav.nav {
    min-height: auto;
    max-height: 96px;
  }

  /* Header-Inhalt in einer Zeile (Pages mit Wrapper-Element) */
  html body header.site-header > .container,
  html body header.site-header > .header-inner,
  html body header.site-header > nav:not(#nav),
  html body header.nav > .container,
  html body header.nav > .header-inner,
  html body header.nav > nav,
  html body nav#nav > .container,
  html body nav#nav > .nav-inner,
  html body nav#nav > .row,
  html body nav.nav > .container,
  html body nav.nav > .nav-inner,
  html body nav.nav > .row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: clamp(16px, 2vw, 32px);
    flex-wrap: nowrap;
    min-height: 64px;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(24px, 3vw, 48px);
    padding-right: clamp(24px, 3vw, 48px);
    box-sizing: border-box;
    width: 100%;
  }

  /* Header-Inhalt: wenn der Nav selbst die direkten Kinder hält (index/dach-analyse/galerie/bundle-rechner) */
  html body nav#nav.nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: clamp(16px, 2vw, 32px);
    flex-wrap: nowrap;
    padding: 12px clamp(24px, 3vw, 48px) !important;
    box-sizing: border-box;
  }
  /* Im Inneren von nav#nav: Logo + Links + Rechts-Buttons */
  html body nav#nav.nav > .nav-logo-link {
    flex: 0 0 auto;
  }
  html body nav#nav.nav > .nav-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    gap: clamp(2px, 0.4vw, 10px);
    align-items: center;
    flex: 1 1 auto;
    justify-content: center;
    margin: 0 8px;
    min-width: 0;
    overflow: visible;
  }
  html body nav#nav.nav > .nav-links a {
    white-space: nowrap;
    font-size: 13px;
    color: rgba(232, 244, 255, 0.85);
    text-decoration: none;
    padding: 6px 4px;
    border-radius: 6px;
    transition: color 0.2s, background 0.2s;
    line-height: 1.2;
  }
  /* Auf ≥1600px: mehr Atem */
  @media (min-width: 1600px) {
    html body nav#nav.nav > .nav-links {
      gap: 18px;
    }
    html body nav#nav.nav > .nav-links a {
      font-size: 14px;
      padding: 6px 10px;
    }
  }
  /* Auf <1440px: Hide weniger wichtige Links */
  @media (max-width: 1439px) {
    html body nav#nav.nav > .nav-links a[href*="lisa.html"],
    html body nav#nav.nav > .nav-links a[href*="garantie.html"],
    html body nav#nav.nav > .nav-links a[href*="standorte.html"] {
      display: none;
    }
  }
  /* Auf <1280px: noch mehr ausblenden */
  @media (max-width: 1279px) {
    html body nav#nav.nav > .nav-links a[href*="blog.html"],
    html body nav#nav.nav > .nav-links a[href*="ueber-uns.html"] {
      display: none;
    }
  }
  html body nav#nav.nav > .nav-links a:hover {
    color: var(--accent-cyan, #00D4FF);
    background: rgba(0, 212, 255, 0.06);
  }
  html body nav#nav.nav > .nav-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }
  /* Phone-Pill in nav-right kompakt */
  html body nav#nav.nav > .nav-right > #navPhone,
  html body nav#nav.nav > .nav-right > a[href^="tel:"] {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: rgba(0, 212, 255, 0.10);
    border: 1px solid rgba(0, 212, 255, 0.30);
    color: var(--accent-cyan, #00D4FF);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, transform 0.2s;
  }
  html body nav#nav.nav > .nav-right > #navPhone:hover {
    background: rgba(0, 212, 255, 0.18);
    transform: translateY(-1px);
  }
  /* Whatsapp-Pill (in vielen Pages ist es ein <a> mit klasse oder href*=wa.me) */
  html body nav#nav.nav a[href*="wa.me"],
  html body nav#nav.nav a[href*="whatsapp"] {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: rgba(37, 211, 102, 0.12);
    border: 1px solid rgba(37, 211, 102, 0.4);
    color: #25D366;
    text-decoration: none;
    white-space: nowrap;
  }
  /* Bewertungs-Badge kompakt */
  html body nav#nav.nav > .nav-right > #navRating {
    flex-direction: row !important;
    flex-shrink: 0;
  }
  /* CTA-Button (Kostenloses Angebot) */
  html body nav#nav.nav > .nav-right > .nav-cta {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--accent-cyan, #00D4FF), var(--accent-amber, #FFB800));
    color: #0A1428;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  html body nav#nav.nav > .nav-right > .nav-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px -6px rgba(0, 212, 255, 0.45);
  }
  /* Senior-toggle (große Schrift) auf Desktop ausblenden */
  html body nav#nav.nav .cw-senior-toggle {
    display: none !important;
  }
  /* Burger nur auf Mobile sichtbar */
  html body nav#nav.nav > .nav-right > .nav-burger,
  html body nav#nav.nav .nav-burger {
    display: none !important;
  }

  /* --------------------------------------------------------
   * 4. MOBILE-NAV-BARS auf Desktop ausblenden
   *    (Phone-Bar + WhatsApp-Bar als full-width)
   * -------------------------------------------------------- */
  html body .mobile-cta-bar,
  html body .mobile-call-bar,
  html body .mobile-whatsapp-bar,
  html body .header-phone-bar.full-width,
  html body .header-whatsapp-bar.full-width,
  html body header .phone-bar:not(.pill),
  html body header .whatsapp-bar:not(.pill),
  html body header[data-mobile-only],
  html body .nav-mobile-stack,
  html body .nmq-phone,
  html body .nmq-whatsapp,
  html body .nmq-bar,
  html body .nav-mobile-quick-actions,
  html body #mobileStickyCta,
  html body .mobile-sticky-cta {
    display: none !important;
  }

  /* Phone+WhatsApp im Header als kompakte Pills */
  html body header .phone-link,
  html body header .whatsapp-link,
  html body header a[href^="tel:"],
  html body header a[href*="wa.me"],
  html body header a[href*="whatsapp"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: background 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
  }
  html body header a[href^="tel:"]:hover,
  html body header a[href*="wa.me"]:hover {
    background: rgba(0, 212, 255, 0.12);
    border-color: rgba(0, 212, 255, 0.4);
    transform: translateY(-1px);
  }

  /* --------------------------------------------------------
   * 5. FOOTER 4-Spalten Grid
   *    (angebot, bundle-rechner, preisrechner waren 1-spaltig)
   *    Pages mit footer-grid (garantie, gewerbe) bleiben unverändert.
   * -------------------------------------------------------- */
  html body footer,
  html body footer.site-footer,
  html body footer[role="contentinfo"],
  html body footer.lp-footer {
    padding: clamp(64px, 8vw, 96px) clamp(24px, 4vw, 64px) 32px;
  }

  html body footer > .container,
  html body footer > div.footer-inner,
  html body footer .footer-cols,
  html body footer .footer-columns,
  html body footer .footer-grid {
    display: grid;
    grid-template-columns: 2fr repeat(3, 1fr);
    gap: clamp(32px, 4vw, 64px);
    max-width: 1440px;
    margin: 0 auto;
    align-items: start;
  }

  /* lp-footer: hat phone-big + lp-footer-links + lp-footer-copy als direkte Kinder */
  html body footer.lp-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
  }
  html body footer.lp-footer .lp-footer-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
  html body footer.lp-footer a.phone-big {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 16px;
  }

  /* preisrechner footer: site-footer > container.row (Copy + Nav) */
  html body footer.site-footer > .container.row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px clamp(24px, 3vw, 48px);
    flex-wrap: wrap;
  }
  html body footer.site-footer > .container.row nav {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
  }

  /* Fallback: Wenn nur 1 großer footer-Block existiert, dessen Kinder grid'en */
  html body footer.has-stacked-cols > div,
  html body footer.footer-stacked > div {
    display: grid;
    grid-template-columns: 2fr repeat(3, 1fr);
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
  }

  /* --------------------------------------------------------
   * 4b. PROMO-BARS (urgency, stb-bar, cookie-banner-area) zentrieren
   * -------------------------------------------------------- */
  html body #croUrgencyBanner,
  html body .cro-urgency-banner,
  html body #autark-promo-bar,
  html body .stb-bar,
  html body .geo-service-strip {
    text-align: center;
  }
  html body #croUrgencyBanner > *,
  html body .cro-urgency-banner > *,
  html body #autark-promo-bar > *,
  html body .stb-bar > * {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }

  /* --------------------------------------------------------
   * 5b. MARQUEES / WIDE GRIDS auf Desktop cappen
   *    tm-track, pp-marquee strecken sich. Wir lassen sie laufen,
   *    aber wrappen sie in einen 1440-Container via Parent.
   * -------------------------------------------------------- */
  html body .trust-marquee,
  html body .trust-marquee-section,
  html body section.trust-marquee {
    overflow: hidden;
    max-width: 100vw;
  }
  html body .tm-track,
  html body .pp-marquee {
    /* sind absichtlich breit für Auto-Scroll */
  }
  /* Live-Proof-Grid: 3 Spalten mit Container-Cap */
  html body .live-proof-grid,
  html body .lisa-grid,
  html body div[class*="proof-grid"]:not(.container) {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(24px, 3vw, 48px);
    padding-right: clamp(24px, 3vw, 48px);
    box-sizing: border-box;
  }

  html body footer h4,
  html body footer .footer-heading {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(232, 244, 255, 0.55);
    margin: 0 0 16px;
    font-weight: 600;
  }
  html body footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  html body footer a {
    color: rgba(232, 244, 255, 0.78);
    text-decoration: none;
    transition: color 0.2s ease;
  }
  html body footer a:hover {
    color: var(--accent-cyan, #00D4FF);
  }

  /* --------------------------------------------------------
   * 6. BODY-FONT-SIZE 17px (Lese-Komfort)
   * -------------------------------------------------------- */
  html body {
    font-size: 17px;
    line-height: 1.65;
  }
  html body main p,
  html body article p,
  html body section p:not(.eyebrow):not([class*="badge"]) {
    font-size: 17px;
    line-height: 1.65;
  }

  /* Override für bundle-rechner Mikro-Texte */
  html body .calc-text,
  html body .calculator-text,
  html body .br-text,
  html body .form-help,
  html body .form-hint {
    font-size: 16px !important;
    line-height: 1.55;
  }

  /* Hero-Subline 19-22px */
  html body .hero p,
  html body .hero .lead,
  html body .hero-subtitle,
  html body section.hero > .container > p:not([class*="badge"]),
  html body section.hero > p:not([class*="badge"]) {
    font-size: clamp(18px, 1.3vw, 22px);
    line-height: 1.5;
  }

  /* --------------------------------------------------------
   * 7. SECTIONS: Padding ausreichend
   * -------------------------------------------------------- */
  html body main > section,
  html body .section {
    padding-top: clamp(64px, 7vw, 120px);
    padding-bottom: clamp(64px, 7vw, 120px);
  }
  html body section.hero,
  html body section.page-hero {
    padding-top: clamp(80px, 8vw, 128px);
    padding-bottom: clamp(64px, 6vw, 96px);
  }

  /* --------------------------------------------------------
   * 8. Body padding-top für Sticky-Header
   * -------------------------------------------------------- */
  html body {
    /* Sticky-Header braucht keinen padding-top, da sticky in flow bleibt */
  }
}

/* ============================================================
 * XL Desktop ≥1600px — Komfort-Padding
 * ============================================================ */
@media (min-width: 1600px) {
  html body .container,
  html body main .container,
  html body section .container,
  html body div.container {
    max-width: 1440px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  html body {
    font-size: 17px;
  }
}

/* ============================================================
 * Standardpattern für Body-padding entsteht durch sticky-header.
 * Falls eine Page header in flow vor main hat, fügen wir nichts hinzu.
 * Falls header position:fixed wäre, würden wir padding-top setzen —
 * wir nutzen aber sticky, das im Document-Flow bleibt.
 * ============================================================ */


/* ═══════════════════════════════════════════════════════════════════════════
   DESKTOP ITER 2 — 30-Persona-Schwarm 2026-05-13 18:30
   Iter 1: 9.26/10 → Ziel: ≥ 9.4/10
   Top-Bugs:
     1. Header-Stack-Chaos (3-4 gestapelte Banner = Premium-Killer)
     2. Bento /leistungen hellbeige bricht Dark-Theme
     3. Reviews-Cyan-Pill überlagert Hero auf Subpages
     4. Header-Nav-Items überlappen bei mittleren Viewports
     5. Phone/WhatsApp-Buttons zu groß auf Desktop
   ═══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 769px) {

  /* 1️⃣  Header-Stack reduzieren — Promo-Marquee + Sub-Promo nur EINE Zeile */
  html body .top-banner,
  html body .promo-marquee,
  html body .promo-bar,
  html body #top-promo,
  html body .top-promo-bar {
    max-height: 36px !important;
    overflow: hidden !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 13px !important;
  }
  /* Falls zweite Promo-Sub-Bar darunter, ausblenden auf Desktop */
  html body .top-banner + .top-banner,
  html body .promo-marquee + .promo-marquee,
  html body .top-banner + .sub-promo,
  html body .top-promo-bar + .sub-promo-bar {
    display: none !important;
  }

  /* 2️⃣  Bento auf /leistungen — Dark-Theme erzwingen */
  html body .bento-grid,
  html body .leistungen-bento,
  html body .leistungen-grid {
    background: var(--bg-dark, #0A1428) !important;
  }
  html body .bento-grid .bento-card,
  html body .bento-grid > article,
  html body .bento-grid > div,
  html body .leistungen-grid .card,
  html body .leistungen-bento .bento-card {
    background: var(--bg-dark-card, #0D1B35) !important;
    color: var(--text-on-dark, #F0F6FF) !important;
    border: 1px solid var(--border-on-dark, rgba(255,255,255,0.10)) !important;
  }
  html body .bento-grid .bento-card h3,
  html body .bento-grid .bento-card h4,
  html body .bento-grid .bento-card p,
  html body .bento-grid .bento-card span,
  html body .leistungen-bento .bento-card * {
    color: inherit !important;
  }

  /* 3️⃣  Google-Reviews-Floater: Auf Desktop dezent unten-rechts,
        nicht über Hero. Plus Z-Index niedriger als Header. */
  html body #autark-reviews-widget,
  html body a#autark-reviews-widget {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: 50 !important;
    max-width: 220px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.35) !important;
  }
  /* Bei sehr breiten Screens noch dezenter */
  @media (min-width: 1440px) {
    html body #autark-reviews-widget {
      bottom: 32px !important;
      right: 32px !important;
    }
  }

  /* 4️⃣  Header-Nav — Mehr Spacing, kein Überlapp */
  html body header nav,
  html body header .nav-links,
  html body header .nav-main,
  html body .site-header nav ul {
    gap: 22px !important;
    column-gap: 22px !important;
  }
  html body header nav a,
  html body header .nav-link {
    white-space: nowrap !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 14.5px !important;
  }
  /* Bei engerem Desktop (1024-1280px) auch mal Items verstecken */
  @media (min-width: 769px) and (max-width: 1199px) {
    html body header nav .nav-secondary,
    html body header .nav-link.nav-link--secondary {
      display: none !important;
    }
  }

  /* 5️⃣  Phone/WhatsApp Sticky-Buttons — auf Desktop normal-groß */
  html body .wa-float,
  html body .whatsapp-float,
  html body .float-tel,
  html body .float-cta,
  html body .sticky-mobile-cta {
    display: none !important;  /* Desktop nutzt Header-Tel + Sticky-Header-CTA */
  }

  /* 6️⃣  Hero — Above-the-Fold entzerren auf Subpages */
  html body main > section:first-of-type {
    padding-top: clamp(48px, 6vh, 80px) !important;
  }

  /* 7️⃣  Trust-Logo-Strip — Logos crisp, gleichmäßig */
  html body .partner-strip,
  html body .trust-logos,
  html body .premium-partners {
    padding: 28px 48px !important;
    gap: 56px !important;
  }
  html body .partner-strip img,
  html body .trust-logos img {
    max-height: 36px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: brightness(0.95) contrast(1.05);
  }
}

/* ── END Desktop Iter 2 Fixes ── */


/* ═══════════════════════════════════════════════════════════════════════════
   TABLET ITER 2 — 30-Persona-Schwarm 2026-05-13 19:00
   Iter 1: 9.10/10 → Ziel: ≥ 9.4/10
   Top-Bugs:
     1. Sticky-CTA verdeckt letzten Content (alle Seiten)
     2. Sticky-Banner Z-Stack-Konflikt mit Header
     3. Logo-Carousel beidseitig abgeschnitten
     4. Kontaktseite 800px schwarzer Block (Map-Container leer)
     5. Bento Layer-Bug auf "Komplett-Anlage"
     6. Klima-Hero rendert nicht (min-height fehlt)
     7. Logo weiß auf einigen Pages bricht Dark-Theme
   ═══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 769px) and (max-width: 1024px) {

  /* 1️⃣  Main bekommt Padding-Bottom damit Sticky-CTA nichts verdeckt */
  html body main {
    padding-bottom: 120px !important;
  }
  html body main > section:last-of-type,
  html body main section:last-child {
    margin-bottom: 24px !important;
  }

  /* 2️⃣  Sticky-Bars Z-Stack klären für Tablet */
  html body header,
  html body .site-header,
  html body nav.site-nav { z-index: 1500 !important; }
  html body .promo-marquee,
  html body .top-banner,
  html body .top-promo-bar { z-index: 1400 !important; }
  html body .sticky-mobile-cta,
  html body .smc-bar { z-index: 1100 !important; }
  html body #autark-reviews-widget { z-index: 50 !important; }

  /* 3️⃣  Logo-/Partner-Carousel — padding + scroll-snap, kein Cutoff */
  html body .partner-strip,
  html body .premium-partners,
  html body .trust-logos,
  html body .partners-carousel,
  html body .logo-carousel,
  html body .marquee-track {
    padding-left: 24px !important;
    padding-right: 24px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none;
  }
  html body .partner-strip > *,
  html body .premium-partners > *,
  html body .trust-logos > *,
  html body .logo-carousel > * {
    scroll-snap-align: center;
    flex-shrink: 0 !important;
  }
  html body .partner-strip::-webkit-scrollbar,
  html body .logo-carousel::-webkit-scrollbar { display: none; }

  /* 4️⃣  Kontaktseite Map-Container — Fallback, keine 800px Leere */
  html body .map-container,
  html body .contact-map,
  html body #map,
  html body [data-map],
  html body iframe[src*="map"] {
    min-height: 320px !important;
    max-height: 480px !important;
    background: var(--bg-dark-elev, #11203D) url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60" viewBox="0 0 24 24" fill="none" stroke="%2300D4FF" stroke-width="1.5"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>') center center no-repeat !important;
    background-size: 60px !important;
    border-radius: 16px !important;
  }

  /* 5️⃣  Bento-Karten — Layer-Bug auf "Komplett-Anlage" fixen */
  html body .bento-card,
  html body .bento-grid > *,
  html body .leistungen-bento .bento-card {
    position: relative !important;
    isolation: isolate;
  }
  html body .bento-card > *,
  html body .bento-card .bento-overlay {
    opacity: 1 !important;
    visibility: visible !important;
  }
  html body .bento-card::before,
  html body .bento-card::after {
    pointer-events: none;
  }

  /* 6️⃣  Hero — min-height sichern + Visual-Placeholder Background */
  html body main > section:first-of-type,
  html body .hero,
  html body section.hero,
  html body [data-hero] {
    min-height: 420px !important;
    background-color: var(--bg-dark, #0A1428) !important;
    padding-top: clamp(56px, 8vh, 88px) !important;
    padding-bottom: clamp(40px, 6vh, 64px) !important;
    padding-left: clamp(20px, 4vw, 32px) !important;
    padding-right: clamp(20px, 4vw, 32px) !important;
  }

  /* 7️⃣  Header-Logo — IMMER Dark-Theme-konform (kein weißer Hintergrund) */
  html body header .logo,
  html body header .nav-logo,
  html body header .site-logo,
  html body header img[alt*="Autark"],
  html body .site-header .logo-img {
    background: transparent !important;
    filter: none !important;
  }
  html body header .logo-wrap,
  html body header .nav-logo-wrap {
    background: transparent !important;
  }

  /* 8️⃣  Tabellen scrollbar — wie Mobile, aber Tablet-spezifisch padding */
  html body table:not(.no-mobile-scroll),
  html body .price-table,
  html body .pricing-table,
  html body .comparison-table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }

  /* 9️⃣  Sticky-CTA auf Tablet kompakter */
  html body .sticky-mobile-cta,
  html body .smc-bar {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    max-height: 72px !important;
  }

  /* 🔟 Hero-Padding-Right damit Reviews-Pill nicht überdeckt */
  html body main > section:first-of-type .hero-content,
  html body .hero-content {
    padding-right: 16px !important;
    max-width: calc(100% - 24px) !important;
  }
}

/* ── END Tablet Iter 2 Fixes ── */


