/* site-7363c8860bb4.css */
:root{--navy:#082b57;--navy2:#061f40;--blue:#0b73d9;--header:#f7fbff;--light:#f3f8ff;--text:#172033;--muted:#667085;--white:#fff;--yellow:#ffc83d;--line:#dfe8f2;--shadow:0 18px 45px rgba(8,43,87,.14);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.6;background:#fff}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}
.topbar{background:var(--navy2);color:#fff;text-align:center;padding:9px 16px;font-weight:800;font-size:14px}
nav{position:sticky;top:0;z-index:50;background:var(--header);border-bottom:1px solid #dce9f8;box-shadow:0 5px 20px rgba(8,43,87,.08);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 5%}
.nav-logo{width:76px;height:62px;object-fit:contain;object-position:left center}.nav-right{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex:1}.links{display:flex;gap:18px;align-items:center;justify-content:flex-end;font-weight:800;color:var(--navy);white-space:nowrap;font-size:15px}.links a{opacity:.95}.links a:hover,.links .active{color:var(--blue);opacity:1}.phone{background:var(--yellow);color:#111;padding:12px 16px;border-radius:10px;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(255,200,61,.25)}
.hero{min-height:700px;background:linear-gradient(90deg,rgba(5,27,57,.94),rgba(8,43,87,.72),rgba(8,43,87,.16)),url("../bilder/unternehmen/klempnerhelden-servicefahrzeug-mitarbeiter.webp") center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:90px 6%}.hero-content{max-width:760px}.eyebrow{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:9px 15px;border-radius:999px;font-weight:900}
h1{font-size:clamp(42px,6vw,72px);line-height:1.04;margin:20px 0 16px;letter-spacing:-.035em}.slogan{font-size:clamp(24px,3vw,34px);font-weight:900;color:var(--yellow);margin:0 0 12px}.hero p{font-size:20px;color:rgba(255,255,255,.92);margin:0 0 30px;max-width:700px}
.btns{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border-radius:10px;font-weight:900}.btn-primary{background:var(--yellow);color:#111}.btn-secondary{background:#fff;color:var(--navy)}.trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;font-weight:800}.trust span{background:rgba(255,255,255,.12);padding:8px 12px;border-radius:999px}
section{padding:76px 6%}.alt{background:var(--light)}.head{text-align:center;max-width:830px;margin:0 auto 42px}.head small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.head h2{font-size:clamp(32px,4vw,46px);line-height:1.12;margin:8px 0 10px;color:var(--navy)}.head p{color:var(--muted);font-size:18px;margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 12px 30px rgba(8,43,87,.055)}.card h3{color:var(--navy);margin:0 0 8px}.icon{width:52px;height:52px;border-radius:15px;background:#e8f2ff;color:var(--blue);display:grid;place-items:center;font-size:27px;margin-bottom:18px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.split img{border-radius:24px;box-shadow:var(--shadow)}.split h2{font-size:clamp(34px,4vw,48px);line-height:1.1;color:var(--navy);margin:0 0 16px}.split p{color:var(--muted);font-size:18px}.checks{display:grid;gap:12px;margin:24px 0}.check{display:flex;gap:12px;font-weight:800}.check:before{content:"✓";background:var(--blue);color:#fff;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;flex:0 0 25px}
.areas{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.area{background:#fff;border:1px solid #cfe0f5;border-radius:999px;padding:12px 18px;font-weight:900;color:var(--navy)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{background:var(--navy);color:#fff;border-radius:var(--radius);padding:25px;box-shadow:0 14px 30px rgba(8,43,87,.16)}.num{color:var(--yellow);font-size:32px;font-weight:900}
.review-slider{max-width:1180px;margin:0 auto;overflow:hidden;position:relative}.review-track{display:flex;gap:22px;animation:slideReviews 24s linear infinite}.review-card{min-width:350px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 12px 30px rgba(8,43,87,.07)}.review-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}.avatar{width:62px;height:62px;border-radius:50%;background:#e8f2ff}.google{width:24px;height:24px}.stars{color:#f6b700;font-size:22px;font-weight:900;margin:8px 0}.review-name{font-weight:900;color:var(--navy)}.google-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.google-badge{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-weight:900;color:var(--navy);margin-top:24px}@keyframes slideReviews{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.faq{max-width:900px;margin:auto}details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:13px;padding:18px 20px}summary{cursor:pointer;color:var(--navy);font-weight:900}details p{color:var(--muted)}
.contact-wrap{background:var(--navy);color:#fff;border-radius:28px;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:32px;box-shadow:var(--shadow)}.contact-wrap h2{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 12px}.contact-wrap p{color:rgba(255,255,255,.84)}.big-phone{display:block;color:var(--yellow);font-size:clamp(26px,4vw,38px);font-weight:900;margin:14px 0}
form{display:grid;gap:12px}input,textarea,select{width:100%;padding:14px;border:0;border-radius:9px;font-size:16px}textarea{min-height:120px}button{background:var(--yellow);border:0;border-radius:9px;padding:15px;font-weight:900;font-size:16px;cursor:pointer}
.page-hero{background:linear-gradient(90deg,var(--navy),var(--blue));color:#fff;padding:72px 6% 72px 120px}.page-hero h1{font-size:clamp(36px,5vw,58px);margin:0 0 10px}.page-hero p{font-size:20px;margin:0;max-width:800px;color:rgba(255,255,255,.9)}
footer{background:var(--navy2);color:rgba(255,255,255,.82);padding:34px 6%;text-align:center}.footer-logo{width:90px;margin:0 auto 14px}.mobile-call{display:none}
@media(max-width:1120px){.links{display:none}.grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.split,.contact-wrap{grid-template-columns:1fr}}
@media(max-width:720px){.nav-logo{width:62px;height:52px}.phone{display:none}.hero{min-height:660px;padding:75px 5%;background-position:center}.grid,.steps{grid-template-columns:1fr}section{padding:56px 5%}.contact-wrap{padding:28px 22px}.review-card{min-width:300px}.review-track{animation-duration:30s}.mobile-call{position:fixed;left:16px;right:16px;bottom:14px;z-index:99;background:var(--blue);color:#fff;border-radius:12px;padding:15px;text-align:center;font-weight:900;display:block;box-shadow:0 16px 35px rgba(8,43,87,.28)}body{padding-bottom:76px}}

/* --- Anpassung: weniger horizontal gestreckt --- */
section > .head,
section > .grid,
section > .split,
section > .areas,
section > .steps,
section > .contact-wrap,
section > .review-slider,
.page-hero > * {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.hero-content {
  max-width: 680px !important;
}
.hero {
  min-height: 620px !important;
  background-position: center center !important;
}
.grid {
  max-width: 1120px;
}
.reviews, .review-track {
  max-width: 1180px;
}
.contact-wrap {
  max-width: 1120px;
}
@media (min-width: 1300px) {
  nav {
    padding-left: calc((100vw - 1180px) / 2) !important;
    padding-right: calc((100vw - 1180px) / 2) !important;
  }
  section {
    padding-left: calc((100vw - 1180px) / 2) !important;
    padding-right: calc((100vw - 1180px) / 2) !important;
  }
  .hero {
    padding-left: calc((100vw - 1180px) / 2) !important;
    padding-right: calc((100vw - 1180px) / 2) !important;
  }
}


/* Öffnungszeiten-Box direkt im Startbild */
.hero{
  position:relative !important;
}
.hero-hours{
  position:absolute;
  right:48px;
  bottom:48px;
  z-index:5;
  background:rgba(255,255,255,.96);
  color:#082b57;
  padding:18px 22px;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  max-width:340px;
  border-left:6px solid #ffc83d;
}
.hero-hours h3{
  margin:0 0 8px;
  font-size:20px;
  color:#082b57;
}
.hero-hours p{
  margin:5px 0;
  font-size:15px;
  line-height:1.35;
  color:#172033 !important;
}
.hero-hours,
.hero-hours *{
  color:#172033 !important;
}
.hero-hours h3{
  color:#082b57 !important;
}
.hero-hours strong{
  color:#082b57;
}
@media(max-width:900px){
  .hero-hours{
    position:static;
    margin-top:22px;
    max-width:100%;
  }
}


/* --- Warmere Gesamtoptik + kompaktere Unterseiten-Header --- */
body{background:#fbf8f2 !important;}
section{background:#fbf8f2;}
.alt{background:#f1f7ff !important;}
.card,.review-card,details,.area{background:#fffdf8 !important;}
.page-hero{
  padding:34px 6% !important;
  background:linear-gradient(90deg,#082b57,#1267bd) !important;
}
.page-hero h1{
  font-size:clamp(28px,4vw,42px) !important;
  margin:0 0 6px !important;
}
.page-hero p{
  font-size:16px !important;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 18px;
  margin-top:12px;
  font-weight:800;
}
.footer-links a{color:#fff;}
.legal-note{
  max-width:900px;
  margin:14px auto 0;
  font-size:13px;
  color:rgba(255,255,255,.65);
}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1120px;margin:auto;}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1120px;margin:auto;}
.process-card{
  background:#fffdf8;
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
  box-shadow:0 12px 30px rgba(8,43,87,.07);
  position:relative;
  overflow:hidden;
}
.process-card::before{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  border-radius:50%;
  background:#e8f2ff;
  right:-30px;
  top:-30px;
}
.process-number{
  color:#ffc83d;
  background:#082b57;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
  margin-bottom:14px;
}
.info-box{
  max-width:1120px;
  margin:auto;
  background:#fffdf8;
  border:1px solid var(--line);
  border-radius:22px;
  padding:30px;
  box-shadow:0 12px 30px rgba(8,43,87,.07);
}
.legal-content{
  max-width:1050px;
  margin:auto;
  background:#fffdf8;
  border:1px solid var(--line);
  border-radius:22px;
  padding:34px;
  box-shadow:0 12px 30px rgba(8,43,87,.07);
}
.legal-content h2,.legal-content h3{color:#082b57;}
@media(max-width:900px){
  .blog-grid,.process-grid{grid-template-columns:1fr;}
}


/* --- Final Mobile Fix: kein seitliches Scrollen + Öffnungszeiten vollständig sichtbar --- */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

body{
  position:relative;
}

img, video, iframe{
  max-width:100%;
  height:auto;
}

nav, section, .hero, .page-hero, .contact-wrap, .grid, .split, .areas, .steps, .review-slider{
  max-width:100%;
}

@media(max-width:1120px){
  .nav-right{
    min-width:0 !important;
    overflow:hidden !important;
  }

  .links{
    display:flex !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:14px !important;
    font-size:13px !important;
    white-space:nowrap !important;
    max-width:100% !important;
    padding:6px 0 !important;
    scrollbar-width:none;
  }

  .links::-webkit-scrollbar{
    display:none;
  }

  .phone{
    display:none !important;
  }
}

@media(max-width:720px){
  nav{
    padding-left:14px !important;
    padding-right:14px !important;
    gap:10px !important;
    align-items:center !important;
  }

  .nav-logo{
    width:54px !important;
    height:48px !important;
    flex:0 0 auto !important;
  }

  .nav-right{
    flex:1 !important;
    min-width:0 !important;
  }

  .links{
    justify-content:flex-start !important;
  }

  .hero{
    min-height:auto !important;
    padding:46px 16px 34px !important;
    background-position:center top !important;
    background-size:cover !important;
    display:block !important;
  }

  .hero-content{
    max-width:100% !important;
  }

  .hero p{
    font-size:17px !important;
    max-width:100% !important;
  }

  .hero-hours{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:22px 0 0 0 !important;
    padding:16px 18px !important;
    box-sizing:border-box !important;
    background:rgba(255,255,255,.97) !important;
    color:#172033 !important;
    display:block !important;
  }

  .hero-hours,
  .hero-hours *{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .hero-hours h3{
    font-size:18px !important;
    color:#082b57 !important;
  }

  .hero-hours p{
    font-size:14px !important;
    line-height:1.38 !important;
    color:#172033 !important;
  }

  section,
  .page-hero{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .review-slider{
    width:100% !important;
    overflow:hidden !important;
  }

  .review-track{
    max-width:none !important;
  }

  .review-card{
    min-width:288px !important;
    max-width:288px !important;
  }

  .contact-wrap,
  .grid,
  .split,
  .steps,
  .blog-grid,
  .process-grid{
    width:100% !important;
    max-width:100% !important;
  }
}


/* --- Header bleibt beim Scrollen sichtbar --- */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  z-index:10000 !important;
}

nav{
  position:fixed !important;
  top:37px !important;
  left:0 !important;
  width:100% !important;
  z-index:9999 !important;
}

body{
  padding-top:124px !important;
}

@media(max-width:720px){
  nav{
    top:34px !important;
  }

  body{
    padding-top:112px !important;
  }
}


/* Leistungen-Dropdown */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown-toggle{
  appearance:none;border:0;background:transparent;color:var(--navy);
  font:inherit;font-weight:800;padding:8px 2px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap
}
.nav-dropdown-toggle:hover,.nav-dropdown.open .nav-dropdown-toggle{color:var(--blue)}
.dropdown-arrow{transition:transform .22s ease;font-size:12px}
.nav-dropdown.open .dropdown-arrow{transform:rotate(180deg)}
.nav-dropdown-menu{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,-6px);
  min-width:250px;background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 22px 50px rgba(8,43,87,.20);padding:9px;
  opacity:0;visibility:hidden;pointer-events:none;z-index:12000;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease
}
.nav-dropdown-menu::before{
  content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;
  background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);
  transform:translateX(-50%) rotate(45deg)
}
.nav-dropdown-menu a{
  display:block;padding:11px 13px;border-radius:9px;color:var(--navy);
  font-weight:800;line-height:1.25;position:relative;z-index:1
}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus{
  background:#edf5ff;color:var(--blue)
}
.nav-dropdown.open .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)
}
@media(hover:hover) and (pointer:fine){
  .nav-dropdown:hover .nav-dropdown-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)
  }
}

/* Animation für Anruf- und Kontaktbuttons */
.cta-animate{
  position:relative;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease !important;
  will-change:transform
}
.cta-animate::after{
  content:"";position:absolute;top:-60%;left:-45%;width:34%;height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transform:rotate(22deg) translateX(-220%);transition:transform .55s ease;
  pointer-events:none
}
@media(hover:hover) and (pointer:fine){
  .cta-animate:hover{
    transform:translateY(-4px) scale(1.025);
    box-shadow:0 14px 30px rgba(8,43,87,.24) !important;
    filter:saturate(1.08)
  }
  .cta-animate:hover::after{transform:rotate(22deg) translateX(520%)}
}
.cta-animate:focus-visible{
  outline:3px solid rgba(11,115,217,.35);outline-offset:3px;
  transform:translateY(-2px)
}

/* Leistungsseiten */
.service-page-wrap{
  max-width:1120px;margin:0 auto;display:grid;
  grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start
}
.service-article{
  background:#fffdf8;border:1px solid var(--line);border-radius:24px;
  padding:40px;box-shadow:0 12px 30px rgba(8,43,87,.07)
}
.service-article h2,.service-article h3,.service-article h4{color:var(--navy)}
.service-article h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin-top:0}
.service-article h3{font-size:clamp(23px,3vw,31px);line-height:1.22;margin-top:38px}
.service-article p,.service-article li{color:var(--muted);font-size:17px}
.service-lead{font-size:20px!important;color:#405166!important}
.service-note,.service-warning{
  padding:18px 20px;border-radius:14px;margin:22px 0
}
.service-note{background:#f1f7ff;border-left:6px solid var(--yellow)}
.service-warning{background:#fff3f0;border-left:6px solid #f15b45}
.service-toc{background:#f5f9ff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:25px 0}
.service-toc strong{display:block;color:var(--navy);font-size:19px;margin-bottom:8px}
.service-toc a{color:var(--blue);font-weight:800}
.service-table{width:100%;border-collapse:collapse;margin:24px 0;background:#fff}
.service-table th,.service-table td{border:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top}
.service-table th{background:#edf5ff;color:var(--navy)}
.service-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:22px 0}
.service-check{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 16px;
  color:var(--muted)
}
.service-check strong{display:block;color:var(--navy);margin-bottom:4px}
.service-steps{counter-reset:service-step;list-style:none;padding:0}
.service-steps li{
  counter-increment:service-step;position:relative;padding:17px 18px 17px 62px;
  background:#fff;border:1px solid var(--line);border-radius:14px;margin:11px 0
}
.service-steps li::before{
  content:counter(service-step);position:absolute;left:17px;top:16px;width:32px;height:32px;
  border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--yellow);font-weight:900
}
.service-faq details{background:#fff;border:1px solid var(--line);border-radius:13px;margin:10px 0;padding:16px 18px}
.service-faq summary{font-weight:900;color:var(--navy);cursor:pointer}
.service-source{background:#f8fafc;border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin-top:34px;font-size:14px}
.service-source a{color:var(--blue);font-weight:800;overflow-wrap:anywhere}
.service-side{
  position:sticky;top:145px;background:var(--navy);color:#fff;border-radius:22px;
  padding:25px;box-shadow:var(--shadow)
}
.service-side h3{margin-top:0;color:#fff}
.service-side p{color:rgba(255,255,255,.86)}
.service-side a{
  display:block;text-align:center;padding:13px 15px;margin-top:12px;border-radius:10px;
  font-weight:900
}
.service-side .call-service{background:var(--yellow);color:#111}
.service-side .contact-service{background:#fff;color:var(--navy)}
.service-card-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1120px;margin:0 auto
}
.service-card{
  background:#fffdf8;border:1px solid var(--line);border-radius:20px;padding:27px;
  box-shadow:0 12px 30px rgba(8,43,87,.065);
  display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease
}
.service-card h3{color:var(--navy);margin:0 0 8px}
.service-card p{color:var(--muted)}
.service-card a{margin-top:auto;background:var(--yellow);padding:12px 15px;border-radius:10px;font-weight:900;text-align:center}
@media(hover:hover) and (pointer:fine){
  .service-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(8,43,87,.15);border-color:#b8d6f6}
}

/* Vorbereitet für spätere Bilder:
   <img class="service-inline-image image-left" ...>
   danach abwechselnd image-right verwenden. */
.service-inline-image{
  width:min(42%,380px);border-radius:18px;box-shadow:var(--shadow);
  margin-top:6px;margin-bottom:18px
}
.service-inline-image.image-left{float:left;margin-right:24px}
.service-inline-image.image-right{float:right;margin-left:24px}
.service-section::after{content:"";display:block;clear:both}

@media(max-width:1120px){
  .nav-dropdown-menu{
    position:fixed;top:112px;left:14px;right:14px;min-width:0;
    transform:translateY(-6px);max-height:calc(100vh - 135px);overflow:auto
  }
  .nav-dropdown-menu::before{display:none}
  .nav-dropdown.open .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{
    transform:translateY(0)
  }
}
@media(max-width:900px){
  .service-page-wrap{grid-template-columns:1fr}
  .service-side{position:static}
  .service-checks,.service-card-grid{grid-template-columns:1fr}
  .service-article{padding:27px 20px}
  .service-inline-image{float:none!important;width:100%;margin:15px 0!important}
}
@media(prefers-reduced-motion:reduce){
  .cta-animate,.cta-animate::after,.service-card,.dropdown-arrow,.nav-dropdown-menu{
    transition:none!important
  }
  .cta-animate:hover,.service-card:hover{transform:none!important}
}


/* --- Kompakte Leistungen-Navigation --- */
nav .links > a,
nav .nav-dropdown-toggle,
nav .nav-dropdown-menu a{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}
nav .links > a::after,
nav .nav-dropdown-toggle::after,
nav .nav-dropdown-menu a::after{
  display:none !important;
}
nav .nav-dropdown-toggle{
  transition:color .16s ease !important;
}
nav .nav-dropdown-menu a{
  transition:background-color .16s ease,color .16s ease !important;
}
nav.services-menu-open .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate(-50%,0) !important;
}
@media(max-width:1120px){
  nav.services-menu-open .nav-dropdown-menu,
  .nav-dropdown.open .nav-dropdown-menu{
    transform:translateY(0) !important;
  }
}
@media(hover:hover) and (pointer:fine){
  nav .phone.cta-animate:hover,
  form button.cta-animate:hover,
  .article-side a.cta-animate:hover,
  .service-side a.cta-animate:hover,
  .mobile-call.cta-animate:hover,
  .btn.cta-animate:hover{
    transform:translateY(-4px) scale(1.025) !important;
    box-shadow:0 14px 30px rgba(8,43,87,.24) !important;
  }
}


/* ===== Finale Navigation, Buttons und Leistungsanordnung ===== */
.nav-dropdown{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:2px !important;
  padding-bottom:0 !important;
}
.nav-dropdown-toggle{
  color:var(--navy) !important;
  font:inherit !important;
  font-weight:800 !important;
  padding:8px 1px !important;
  white-space:nowrap !important;
}
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle.active,
.nav-dropdown.open .nav-dropdown-toggle{
  color:var(--blue) !important;
}
.nav-dropdown-caret{
  width:auto !important;
  min-width:24px !important;
  padding:7px 3px !important;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:var(--navy) !important;
  box-shadow:none !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:none !important;
}
.nav-dropdown-caret span{
  display:block;
  transition:transform .2s ease;
}
.nav-dropdown.open .nav-dropdown-caret span{
  transform:rotate(180deg);
}
.nav-dropdown-menu{
  position:absolute !important;
  top:100% !important;
  left:50% !important;
  margin-top:0 !important;
  min-width:265px !important;
  padding:10px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:0 0 14px 14px !important;
  box-shadow:0 22px 50px rgba(8,43,87,.20) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate(-50%,-5px) !important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
  z-index:12000 !important;
}
.nav-dropdown-menu::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:-18px !important;
  height:20px !important;
  background:transparent !important;
  border:0 !important;
  transform:none !important;
}
.nav-dropdown-menu a{
  display:block !important;
  padding:11px 13px !important;
  border-radius:9px !important;
  color:var(--navy) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  transition:background-color .15s ease,color .15s ease !important;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus,
.nav-dropdown-menu a.active{
  background:#edf5ff !important;
  color:var(--blue) !important;
}
.nav-dropdown.open .nav-dropdown-menu,
nav.services-menu-open .nav-dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate(-50%,0) !important;
}

/* Menüpunkte selbst werden nicht animiert */
nav .links > a,
nav .nav-dropdown-toggle,
nav .nav-dropdown-menu a,
nav .nav-dropdown-caret{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}
nav .links > a::after,
nav .nav-dropdown-toggle::after,
nav .nav-dropdown-menu a::after,
nav .nav-dropdown-caret::after{
  display:none !important;
}

/* Telefonnummer als richtiger, animierter Button */
.big-phone.call-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  background:var(--yellow) !important;
  color:#111 !important;
  padding:13px 18px !important;
  border-radius:10px !important;
  font-size:18px !important;
  line-height:1.2 !important;
  box-shadow:0 10px 22px rgba(255,200,61,.24) !important;
}

/* Auf der Startseite werden nur echte Buttons animiert */
body.home-page .card,
body.home-page .card:hover,
body.home-page .area,
body.home-page .area:hover,
body.home-page .review-card,
body.home-page .review-card:hover,
body.home-page .step,
body.home-page .step:hover{
  transform:none !important;
  transition:none !important;
}
body.home-page .review-track{
  animation:none !important;
}
body.home-page .btns{
  transform:none !important;
}

/* Leistungen: 3 oben, 2 mittig darunter, 2 mittig in der dritten Reihe */
body.home-page #service .grid,
.service-card-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:22px !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.home-page #service .grid > :nth-child(1),
body.home-page #service .grid > :nth-child(2),
body.home-page #service .grid > :nth-child(3),
.service-card-grid > :nth-child(1),
.service-card-grid > :nth-child(2),
.service-card-grid > :nth-child(3){
  grid-column:span 2 !important;
}
body.home-page #service .grid > :nth-child(4),
.service-card-grid > :nth-child(4){
  grid-column:2 / span 2 !important;
}
body.home-page #service .grid > :nth-child(5),
.service-card-grid > :nth-child(5){
  grid-column:4 / span 2 !important;
}
body.home-page #service .grid > :nth-child(6),
.service-card-grid > :nth-child(6){
  grid-column:2 / span 2 !important;
}
body.home-page #service .grid > :nth-child(7),
.service-card-grid > :nth-child(7){
  grid-column:4 / span 2 !important;
}
body.home-page #service .card{
  display:flex !important;
  flex-direction:column !important;
  text-align:center !important;
  align-items:center !important;
}
body.home-page #service .card p{
  margin-bottom:0 !important;
}

/* Die Hilfe-Box auf Leistungsseiten folgt dem Scrollen */
.service-page-wrap{
  position:relative !important;
  overflow:visible !important;
  align-items:start !important;
}
.service-side{
  position:relative !important;
  top:auto !important;
  align-self:start !important;
  z-index:25 !important;
  will-change:transform;
}

/* FAQ besser lesbar */
.faq details,
.service-faq details{
  padding:19px 21px !important;
}
.faq details p,
.service-faq details p{
  line-height:1.7 !important;
  margin-bottom:0 !important;
}

@media(max-width:1120px){
  .nav-dropdown-menu{
    position:fixed !important;
    top:112px !important;
    left:14px !important;
    right:14px !important;
    min-width:0 !important;
    max-height:calc(100vh - 135px) !important;
    overflow:auto !important;
    transform:translateY(-5px) !important;
  }
  .nav-dropdown.open .nav-dropdown-menu,
  nav.services-menu-open .nav-dropdown-menu{
    transform:translateY(0) !important;
  }
  body.home-page #service .grid,
  .service-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.home-page #service .grid > *,
  .service-card-grid > *{
    grid-column:auto !important;
  }
}
@media(max-width:720px){
  body.home-page #service .grid,
  .service-card-grid{
    grid-template-columns:1fr !important;
  }
  .service-side{
    transform:none !important;
  }
  .big-phone.call-button{
    width:100% !important;
  }
}


/* ===== Mobile-, Aktivstatus- und Datenschutz-Fix ===== */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

/* Aktueller Menüpunkt: stabil und gut sichtbar */
nav .links > a.active,
nav .nav-dropdown-toggle.active{
  background:var(--yellow) !important;
  color:#111 !important;
  border-radius:8px !important;
  padding:7px 9px !important;
  opacity:1 !important;
}
nav .nav-dropdown-menu a.active{
  background:var(--yellow) !important;
  color:#111 !important;
  opacity:1 !important;
}

/* Schritt-für-Schritt: Überschrift allein, Erklärung darunter */
.article-main ol li > strong:first-child{
  display:block !important;
  margin-bottom:6px !important;
  color:var(--navy) !important;
  line-height:1.35 !important;
}

/* Datenschutz-Zeile unter Kontaktformularen */
.privacy-consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:11px !important;
  width:100% !important;
  margin:4px 0 6px !important;
  padding:13px 14px !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  background:#f7fbff !important;
  color:var(--muted) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  cursor:pointer !important;
}
.privacy-consent input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:19px !important;
  min-width:19px !important;
  height:19px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  accent-color:var(--blue) !important;
  box-shadow:none !important;
}
.privacy-consent a{
  color:var(--blue) !important;
  text-decoration:underline !important;
  font-weight:800 !important;
}

/* Der untere Anrufbutton bleibt auf Smartphone und Tablet immer sichtbar */
@media(max-width:1120px){
  body{
    padding-bottom:96px !important;
  }

  .mobile-call{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    bottom:calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    min-height:54px !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:2147483000 !important;
    border-radius:13px !important;
    padding:14px 16px !important;
    background:var(--blue) !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-align:center !important;
    box-shadow:0 16px 38px rgba(8,43,87,.32) !important;
  }

  .topbar{
    position:relative !important;
    z-index:2100 !important;
    padding:7px 10px !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }

  nav{
    position:sticky !important;
    top:0 !important;
    z-index:2200 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:0 !important;
    padding:8px 10px 10px !important;
    gap:6px !important;
    overflow:visible !important;
    background:var(--header) !important;
  }

  nav > a:first-child{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .nav-logo{
    width:58px !important;
    height:46px !important;
    object-fit:contain !important;
  }

  .nav-right{
    display:block !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:0 !important;
  }

  .links{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    width:100% !important;
    gap:4px !important;
    white-space:normal !important;
    font-size:12px !important;
  }

  .links > a,
  .nav-dropdown{
    min-width:0 !important;
    width:100% !important;
  }

  .links > a,
  .nav-dropdown-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:36px !important;
    padding:6px 3px !important;
    text-align:center !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
  }

  .nav-dropdown{
    justify-content:center !important;
    gap:0 !important;
  }

  .nav-dropdown-caret{
    min-width:22px !important;
    width:22px !important;
    padding:5px 1px !important;
  }

  .nav-dropdown-menu{
    position:fixed !important;
    top:calc(var(--kh-nav-bottom, 142px) + 2px) !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    min-width:0 !important;
    max-height:calc(100dvh - var(--kh-nav-bottom, 142px) - 86px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    margin:0 !important;
    padding:10px !important;
    transform:translateY(-6px) !important;
    border-radius:0 0 14px 14px !important;
    z-index:2147483100 !important;
  }

  .nav-dropdown.open .nav-dropdown-menu,
  nav.services-menu-open .nav-dropdown-menu{
    transform:translateY(0) !important;
  }

  .nav-dropdown-menu::before{
    display:none !important;
  }

  /* Seitenbanner stehen sauber unter dem vollständigen Header */
  .page-hero{
    position:relative !important;
    z-index:1 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:38px 18px 34px !important;
    text-align:center !important;
  }
  .page-hero h1{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 12px !important;
    font-size:clamp(1.65rem,7.2vw,2.35rem) !important;
    line-height:1.18 !important;
    text-align:center !important;
  }
  .page-hero p{
    width:100% !important;
    max-width:720px !important;
    margin:0 auto !important;
    font-size:1rem !important;
    line-height:1.55 !important;
    text-align:center !important;
  }

  /* Startseiten-Hero: Öffnungszeiten nicht mehr über dem Text */
  .hero{
    position:relative !important;
    z-index:1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    min-height:0 !important;
    margin:0 !important;
    padding:46px 18px 112px !important;
    gap:22px !important;
  }
  .hero-content{
    width:100% !important;
    max-width:100% !important;
  }
  .hero-hours{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:6px 0 0 !important;
    box-sizing:border-box !important;
  }

  section{
    overflow:visible !important;
  }
}

@media(max-width:600px){
  .links{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .topbar{
    font-size:11px !important;
  }
}

@media(max-width:390px){
  .links{
    font-size:11px !important;
  }
  .links > a,
  .nav-dropdown-toggle{
    padding-left:2px !important;
    padding-right:2px !important;
  }
}


/* ===== Unternehmens-, Navigation- und Startseiten-Update ===== */

/* Gleiche Abstände zwischen allen Hauptmenüpunkten */
@media(min-width:1121px){
  nav .links{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:15px !important;
  }
  nav .nav-dropdown{
    width:auto !important;
    min-width:0 !important;
    gap:0 !important;
  }
  nav .nav-dropdown-toggle{
    padding-left:0 !important;
    padding-right:1px !important;
  }
  nav .nav-dropdown-caret{
    width:16px !important;
    min-width:16px !important;
    padding:4px 0 !important;
    margin:0 !important;
  }
}

/* Vermittlungshinweis weit oben auf der Startseite */
.mediation-note{
  max-width:1120px;
  margin:30px auto 0;
  padding:17px 20px;
  display:flex;
  align-items:flex-start;
  gap:13px;
  border:1px solid #c9def5;
  border-left:6px solid var(--blue);
  border-radius:15px;
  background:#f4f9ff;
  color:#405166;
  box-shadow:0 10px 26px rgba(8,43,87,.07);
}
.mediation-note strong{
  color:var(--navy);
}
.mediation-note-icon{
  flex:0 0 auto;
  font-size:23px;
  line-height:1.25;
}

/* Einsatzgebiet moderner darstellen */
.city-showcase{
  background:
    radial-gradient(circle at 12% 18%,rgba(11,115,217,.10),transparent 28%),
    radial-gradient(circle at 88% 78%,rgba(255,200,61,.17),transparent 30%),
    linear-gradient(180deg,#f8fbff,#eef6ff);
}
.city-showcase .areas{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:15px !important;
  max-width:1120px;
  margin:0 auto;
}
.city-showcase .area{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:64px;
  padding:14px 12px !important;
  border:1px solid #c7dcf3 !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.92) !important;
  color:var(--navy) !important;
  box-shadow:0 10px 24px rgba(8,43,87,.07);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease !important;
}
.city-showcase .area::before{
  content:"●";
  color:var(--blue);
  font-size:13px;
  text-shadow:0 0 0 rgba(11,115,217,0);
  transition:transform .22s ease,text-shadow .22s ease;
}
@media(hover:hover) and (pointer:fine){
  .city-showcase .area:hover{
    transform:translateY(-5px) !important;
    border-color:var(--blue) !important;
    box-shadow:0 18px 34px rgba(8,43,87,.14);
  }
  .city-showcase .area:hover::before{
    transform:scale(1.28);
    text-shadow:0 0 12px rgba(11,115,217,.34);
  }
}

/* Google-ähnliche Initialen-Profilbilder */
.initial-avatar{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:23px;
  font-weight:800;
  box-shadow:0 5px 14px rgba(8,43,87,.14);
}
.avatar-blue{background:#4285f4;}
.avatar-red{background:#db4437;}
.avatar-green{background:#0f9d58;}
.avatar-purple{background:#7e57c2;}
.avatar-orange{background:#f4b400;color:#352900;}
.avatar-teal{background:#00897b;}
.avatar-pink{background:#d81b60;}
.avatar-navy{background:#31506f;}

/* Nahtlos wiederholender Bewertungs-Slider */
.review-slider{
  overflow:hidden !important;
}
.review-track{
  display:flex !important;
  width:max-content !important;
  gap:0 !important;
  animation:reviewsContinuous 42s linear infinite !important;
  will-change:transform;
}
.review-group{
  display:flex;
  gap:22px;
  padding-right:22px;
}
.review-card{
  min-width:350px;
  max-width:350px;
}
.review-slider:hover .review-track{
  animation-play-state:paused !important;
}
@keyframes reviewsContinuous{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.review-placeholder-note{
  max-width:760px;
  margin:15px auto 0;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}

/* Ablauf von der ehemaligen Terminseite */
.request-process{
  background:var(--light);
}
.request-process .process-card{
  height:100%;
}
.request-process .process-card h3{
  color:var(--navy);
}

/* Zahlungsinformationen */
.payment-section{
  background:linear-gradient(135deg,var(--navy),var(--navy2));
  color:#fff;
}
.payment-section .head h2,
.payment-section .head small{
  color:#fff !important;
}
.payment-section .head p{
  color:rgba(255,255,255,.78) !important;
}
.payment-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  max-width:980px;
  margin:0 auto;
}
.payment-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  background:rgba(255,255,255,.09);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
.payment-card::before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-65px;
  top:-65px;
  border-radius:50%;
  background:rgba(255,200,61,.13);
}
.payment-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:14px;
  margin-bottom:16px;
  background:var(--yellow);
  color:#111;
  font-size:25px;
}
.payment-card h3{
  margin:0 0 10px;
  color:#fff;
}
.payment-card p{
  margin:0;
  color:rgba(255,255,255,.84);
}

/* Über-uns-Seite */
.hero-values{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.hero-value{
  padding:20px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fffdf8;
  box-shadow:0 10px 25px rgba(8,43,87,.06);
}
.hero-value h3{
  color:var(--navy);
  margin:0 0 8px;
}
.hero-value p{
  color:var(--muted);
  margin:0;
}
.hero-principles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  max-width:1040px;
  margin:30px auto 0;
}
.hero-principle{
  padding:23px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 28px rgba(8,43,87,.06);
}
.hero-principle strong{
  display:block;
  margin-bottom:7px;
  color:var(--navy);
  font-size:18px;
}

/* Kontaktformulare */
input[name="Ort"]{
  letter-spacing:.01em;
}

@media(max-width:900px){
  .city-showcase .areas{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .payment-grid,
  .hero-values,
  .hero-principles{
    grid-template-columns:1fr;
  }
  .review-card{
    min-width:300px;
    max-width:300px;
  }
}
@media(max-width:520px){
  .city-showcase .areas{
    grid-template-columns:1fr;
  }
}
@media(prefers-reduced-motion:reduce){
  .review-track{
    animation:none !important;
  }
  .city-showcase .area{
    transition:none !important;
  }
}


/* ===== Bewertungs-Slider, PLZ/Stadt und Zahlungs-Update ===== */

/* Frühere Stop-Regeln überschreiben: Slider läuft dauerhaft und nahtlos */
body.home-page .review-track{
  display:flex !important;
  width:max-content !important;
  max-width:none !important;
  gap:0 !important;
  animation:khReviewsLoop 42s linear infinite !important;
  animation-play-state:running !important;
  will-change:transform !important;
}
body.home-page .review-slider:hover .review-track{
  animation-play-state:running !important;
}
body.home-page .review-group{
  display:flex !important;
  flex:0 0 auto !important;
  gap:22px !important;
  padding-right:22px !important;
}
@keyframes khReviewsLoop{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}
.review-verification{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.review-verification em{
  font-style:italic;
}
.review-disclaimer{
  max-width:760px;
  margin:15px auto 0;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}

/* PLZ und Stadt stehen in einer gemeinsamen Formularzeile */
.location-row{
  display:grid !important;
  grid-template-columns:minmax(96px,120px) minmax(0,1fr) !important;
  gap:12px !important;
  grid-column:1 / -1 !important;
  width:100% !important;
}
.location-row input{
  width:100% !important;
  min-width:0 !important;
}
@media(max-width:560px){
  .location-row{
    grid-template-columns:105px minmax(0,1fr) !important;
    gap:9px !important;
  }
}

/* Auch bei reduzierter Bewegung bleibt der gewünschte Slider aktiv, nur langsamer */
@media(prefers-reduced-motion:reduce){
  body.home-page .review-track{
    animation:khReviewsLoop 80s linear infinite !important;
  }
}



/* ===== Saubere mobile Navigation und einspaltige Leistungen ===== */
.mobile-logo-row{
  display:none;
}

@media(max-width:1120px){
  html{
    width:100%;
    max-width:100%;
    margin:0;
    background:#fff !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:none;
    scroll-padding-top:112px;
  }

  body{
    width:100%;
    max-width:100%;
    min-height:100dvh;
    margin:0 !important;
    padding-top:34px !important;
    padding-bottom:0 !important;
    background:#fff !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:none;
  }

  /* Blaue Leiste bleibt fest. */
  .topbar{
    position:fixed !important;
    inset:0 0 auto 0 !important;
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    font-size:11px !important;
    line-height:34px !important;
    z-index:2147483200 !important;
    transform:none !important;
  }

  /* Das Logo liegt normal im Dokument und scrollt ohne JavaScript weg. */
  .mobile-logo-row{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:76px !important;
    margin:0 !important;
    padding:8px 12px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }

  .mobile-logo-row a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .mobile-logo-row img{
    display:block !important;
    width:70px !important;
    height:58px !important;
    object-fit:contain !important;
  }

  /* Nur die Menüpunkte bleiben unter der blauen Leiste kleben. */
  nav{
    position:sticky !important;
    top:34px !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:8px 10px !important;
    display:block !important;
    background:#fff !important;
    box-shadow:0 5px 14px rgba(8,43,87,.10) !important;
    z-index:2147483100 !important;
    transform:none !important;
    transition:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  /* Das ursprüngliche Desktop-Logo im nav wird mobil ausgeblendet. */
  nav > a:first-child{
    display:none !important;
  }

  nav .nav-right{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  nav .phone{
    display:none !important;
  }

  nav .links{
    position:relative !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    gap:5px !important;
    white-space:normal !important;
    box-sizing:border-box !important;
  }

  nav .links > a,
  nav .links > .nav-dropdown{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  nav .links > a,
  nav .nav-dropdown-toggle{
    min-height:38px !important;
    padding:6px 3px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:12px !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
    transform:none !important;
  }

  nav .nav-dropdown{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
  }

  nav .nav-dropdown-toggle{
    width:auto !important;
    flex:0 1 auto !important;
  }

  nav .nav-dropdown-caret{
    flex:0 0 20px !important;
    width:20px !important;
    min-width:20px !important;
    padding:5px 0 !important;
    margin:0 !important;
  }

  /* Untermenü direkt unter der kompletten Menüzeile. */
  nav .nav-dropdown-menu{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-height:calc(100dvh - 165px) !important;
    margin:0 !important;
    padding:10px !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
    transform:translateY(-5px) !important;
    z-index:2147483300 !important;
  }

  nav .nav-dropdown.open .nav-dropdown-menu,
  nav.services-menu-open .nav-dropdown-menu{
    transform:translateY(0) !important;
  }

  /* Leistungen: auf jedem mobilen Gerät genau eine Karte pro Zeile. */
  body.home-page #service .grid,
  .service-card-grid{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:760px !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
    overflow:visible !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  body.home-page #service .grid > *,
  .service-card-grid > *{
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:21px 18px !important;
    grid-column:auto !important;
    grid-row:auto !important;
    justify-self:auto !important;
    align-self:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    text-align:left !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body.home-page #service .grid > * .icon,
  .service-card-grid > * .icon{
    margin:0 0 12px !important;
  }

  body.home-page #service .grid > * h3,
  body.home-page #service .grid > * p,
  .service-card-grid > * h3,
  .service-card-grid > * p{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }

  .service-card-grid > * > a{
    margin-top:auto !important;
  }

  body.home-page #service,
  body.home-page #service > .head,
  .service-card-grid{
    left:auto !important;
    right:auto !important;
  }

  section{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  /* Kein grauer Streifen und kein Schatten hinter dem unteren Anrufbutton. */
  .mobile-call{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    bottom:calc(9px + env(safe-area-inset-bottom,0px)) !important;
    width:auto !important;
    min-height:54px !important;
    margin:0 !important;
    padding:14px 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-radius:13px !important;
    background:var(--blue) !important;
    color:#fff !important;
    box-shadow:none !important;
    filter:none !important;
    outline:none !important;
    text-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    -webkit-tap-highlight-color:transparent !important;
    z-index:2147483000 !important;
  }

  .mobile-call::before,
  .mobile-call::after{
    display:none !important;
    content:none !important;
  }

  /* Platz für den Button wird im Footer geschaffen, nicht als grauer Body-Streifen. */
  footer{
    margin-bottom:0 !important;
    padding-bottom:calc(95px + env(safe-area-inset-bottom,0px)) !important;
  }
}

@media(max-width:390px){
  nav .links{
    gap:3px !important;
  }

  nav .links > a,
  nav .nav-dropdown-toggle{
    font-size:11px !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }
}


/* ===== Mobiler weißer Header bleibt zuverlässig sichtbar ===== */
@media(max-width:1120px){
  /*
    overflow-x:hidden auf html/body kann position:sticky auf mobilen Browsern
    außer Kraft setzen. clip verhindert horizontales Überlaufen, erzeugt aber
    keinen eigenen Scroll-Container.
  */
  html,
  body{
    overflow-x:clip !important;
  }

  nav{
    position:-webkit-sticky !important;
    position:sticky !important;
    top:34px !important;
    z-index:2147483100 !important;
  }

  .mobile-nav-spacer{
    display:none;
    width:100%;
    height:var(--kh-mobile-nav-height,96px);
  }

  /* Sicherheitslösung nur für Browser, bei denen sticky trotzdem ausfällt */
  body.mobile-nav-fixed-fallback nav{
    position:fixed !important;
    top:34px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    animation:mobileNavFallbackIn .16s ease-out both;
  }

  body.mobile-nav-fixed-fallback .mobile-nav-spacer{
    display:block !important;
  }

  @keyframes mobileNavFallbackIn{
    from{opacity:.92;transform:translateY(-5px);}
    to{opacity:1;transform:translateY(0);}
  }
}


/* ===== Mobiles Leistungen-Menü: zuverlässiger Touch-Fix ===== */
@media(max-width:1120px){
  nav,
  nav .nav-right,
  nav .links{
    overflow:visible !important;
  }

  nav .nav-dropdown{
    position:static !important;
  }

  nav .nav-dropdown-toggle,
  nav .nav-dropdown-caret{
    position:relative !important;
    z-index:2 !important;
  }

  nav .nav-dropdown-menu{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    min-width:0 !important;
    max-height:calc(100dvh - 170px) !important;
    margin:0 !important;
    padding:10px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    border-radius:0 0 14px 14px !important;
    z-index:2147483500 !important;
  }

  nav .nav-dropdown.open .nav-dropdown-menu,
  nav.services-menu-open .nav-dropdown-menu{
    display:block !important;
  }

  nav .nav-dropdown-menu a{
    display:block !important;
    width:100% !important;
    min-height:42px !important;
    padding:11px 13px !important;
    text-align:left !important;
  }

  nav .nav-dropdown-overview{
    margin-bottom:5px !important;
    background:#edf5ff !important;
    color:var(--blue) !important;
    border-bottom:1px solid var(--line) !important;
  }
}


/* ===== Leistungen-Untermenü: Desktop-Hover-Fix ===== */
@media (min-width:1121px) and (hover:hover) and (pointer:fine){
  nav,
  nav .nav-right,
  nav .links,
  nav .nav-dropdown{
    overflow:visible !important;
  }

  nav .nav-dropdown:hover .nav-dropdown-menu,
  nav .nav-dropdown:focus-within .nav-dropdown-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate(-50%,0) !important;
  }

  nav .nav-dropdown:hover .nav-dropdown-caret span,
  nav .nav-dropdown:focus-within .nav-dropdown-caret span{
    transform:rotate(180deg) !important;
  }

  nav .nav-dropdown-menu:hover{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}
/* seo-enhancements-v2.css */
/* SEO-, Performance- und Barrierefreiheits-Ergänzungen */
.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;color:#082b57;padding:12px 16px;border-radius:8px;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.skip-link:focus{top:16px}
.article-hero-strip{width:min(1120px,88%);height:clamp(150px,18vw,230px);margin:24px auto 0;overflow:hidden;border-radius:20px;border:1px solid var(--line);box-shadow:0 14px 34px rgba(8,43,87,.13);background:#eaf2fa}
.article-hero-strip img{display:block;width:100%;height:100%!important;object-fit:cover;object-position:center}
.article-meta{color:#5c6f83;font-size:14px;font-weight:700;border-bottom:1px solid #e0e8f0;padding-bottom:14px;margin-top:0}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.blog-grid .card{content-visibility:auto;contain-intrinsic-size:520px}
img{font-style:italic}
:focus-visible{outline:3px solid #ffc83d;outline-offset:3px}
@media(max-width:720px){.article-hero-strip{width:calc(100% - 32px);height:145px;margin-top:18px;border-radius:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Einheitliche SEO-Inhaltsbilder in Ratgebern */
.article-content-image{width:100%;margin:28px 0 34px;overflow:hidden;border-radius:20px;border:1px solid var(--line);box-shadow:0 14px 34px rgba(8,43,87,.12);background:#eaf2fa}
.article-content-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
@media(max-width:720px){.article-content-image{margin:22px 0 28px;border-radius:15px}}

/* Mobile Lesbarkeit: keine seitlich aus dem Viewport laufenden Ratgeberinhalte */
@media(max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main,section,.article-wrap,.article-main,.article-side{min-width:0;max-width:100%}
  .article-wrap>*{min-width:0}
  .article-main>*,.article-side>*{min-width:0;max-width:100%}
  .article-main p,.article-main li,.article-main h2,.article-main h3,.article-main h4,
  .article-main a,.toc-box a,.related-grid a,.source-box a,.source-links a{
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .article-main img,.article-content-image,.article-content-image img{max-width:100%}
}

/* Ratgebertabellen werden mobil als lesbare Karten statt als horizontale Scrollfläche dargestellt. */
@media(max-width:720px){
  .article-table{
    display:block;
    width:100%;
    max-width:100%;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
  }
  .article-table tbody{display:block;width:100%}
  .article-table tr{
    display:block;
    width:100%;
    margin:0 0 14px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 18px rgba(8,43,87,.05);
  }
  .article-table tr:first-child{display:none}
  .article-table td{
    display:block;
    width:100%;
    max-width:100%;
    padding:12px 14px;
    border:0;
    border-bottom:1px solid var(--line);
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .article-table td:last-child{border-bottom:0}
  .article-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:var(--navy);
    font-size:13px;
    line-height:1.35;
    font-weight:900;
  }
}
/* seo-vertrauen-social-20260622.css */
/* SEO-, Vertrauens- und Social-Erweiterungen */
.footer-social{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px auto 8px}
.footer-social a{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;text-decoration:none;font-weight:800;background:rgba(255,255,255,.07);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.footer-social a:hover{transform:translateY(-2px);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.42)}
.footer-social img{width:24px;height:24px;flex:0 0 24px}
.article-trust-panel,.seo-trust-card,.editorial-card,.legal-status-box,.local-seo-depth{border:1px solid rgba(8,43,87,.13);background:#fff;border-radius:16px;box-shadow:0 12px 30px rgba(8,43,87,.07)}
.article-trust-panel{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:start;padding:16px 18px;margin:0 0 26px}
.article-trust-panel .trust-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9f6ee;color:#0d7040;font-weight:900;font-size:21px}
.article-trust-panel strong{display:block;color:#082b57;margin-bottom:3px}
.article-trust-panel p{margin:0;color:#46566d;font-size:.94rem}
.article-trust-panel a{color:#0f66cd;font-weight:800}
.seo-trust-section{padding-top:48px;padding-bottom:48px;background:#f7f9fc}
.seo-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1100px;margin:0 auto}
.seo-trust-card{padding:22px}
.seo-trust-card h3{margin:0 0 8px;color:#082b57}
.seo-trust-card p{margin:0 0 12px;color:#46566d}
.seo-trust-card a{font-weight:900;color:#0f66cd}
.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.editorial-card{padding:22px}
.editorial-card h2,.editorial-card h3{margin-top:0;color:#082b57}
.editorial-card p:last-child{margin-bottom:0}
.legal-status-box{padding:16px 18px;margin-bottom:22px;background:#fff9e8;border-color:#ecd38c;color:#5b4714}
.local-seo-depth{padding:22px;margin:28px 0}
.local-seo-depth h3{margin-top:0}
.location-area-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.location-area-grid span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#edf4ff;color:#082b57;font-weight:800;font-size:.88rem}
.local-guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.local-guide-links a{display:flex;align-items:center;min-height:68px;padding:12px;border-radius:12px;background:#f5f8fc;border:1px solid rgba(8,43,87,.11);font-weight:800;color:#082b57;text-decoration:none}
.local-guide-links a:hover{border-color:#0f66cd;color:#0f66cd}
@media(max-width:820px){.seo-trust-grid,.editorial-grid{grid-template-columns:1fr}.local-guide-links{grid-template-columns:1fr}.footer-social{gap:8px}.footer-social a{padding:8px 11px}.article-trust-panel{grid-template-columns:1fr}.article-trust-panel .trust-mark{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.footer-social a{transition:none}}
/* seo-vertrauen-social-sichtbar-v2-20260622.css */
/* Sichtbare SEO-, Vertrauens- und Social-Erweiterungen */

.kh-trust-social-section {
  padding: 72px 5%;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 200, 61, .18), transparent 34%),
    linear-gradient(135deg, #f7fbff, #eef5fb);
  border-top: 1px solid rgba(8, 43, 87, .09);
  border-bottom: 1px solid rgba(8, 43, 87, .09);
}

.kh-trust-social-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.kh-trust-social-head {
  max-width: 760px;
  margin-bottom: 30px;
}

.kh-trust-social-head small {
  display: block;
  margin-bottom: 8px;
  color: #0f66cd;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kh-trust-social-head h2 {
  margin: 0 0 12px;
  color: #082b57;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.12;
}

.kh-trust-social-head p {
  margin: 0;
  color: #3d536b;
  font-size: 1.04rem;
  line-height: 1.7;
}

.kh-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kh-trust-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(8, 43, 87, .1);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(8, 43, 87, .08);
}

.kh-trust-card h3 {
  margin: 0 0 9px;
  color: #082b57;
  font-size: 1.1rem;
}

.kh-trust-card p {
  margin: 0;
  color: #52667a;
  line-height: 1.65;
}

.kh-trust-card a {
  display: inline-flex;
  margin-top: 14px;
  color: #0f66cd;
  font-weight: 900;
  text-decoration: none;
}

.kh-social-heading {
  margin: 38px 0 16px;
  color: #082b57;
  font-size: 1.35rem;
}

.kh-social-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kh-social-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid rgba(8, 43, 87, .1);
  border-radius: 16px;
  background: #fff;
  color: #082b57;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(8, 43, 87, .07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.kh-social-card img {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
}

.kh-social-card span {
  display: block;
}

.kh-social-card small {
  display: block;
  margin-top: 3px;
  color: #60758b;
  font-size: .78rem;
  font-weight: 700;
}

.kh-social-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(8, 43, 87, .13);
}

.kh-footer-business {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: min(1120px, 100%);
  margin: 20px auto;
  padding: 0 5%;
}

.kh-footer-business > div {
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.88);
  line-height: 1.45;
}

.kh-footer-business strong {
  display: block;
  margin-bottom: 3px;
  color: #fff;
}

.kh-footer-business a {
  color: #fff;
  text-decoration: none;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 20px auto;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.footer-social img {
  width: 30px;
  height: 30px;
}

.article-trust-panel {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin: 22px 0 30px;
  padding: 18px 20px;
  border: 1px solid rgba(15, 102, 205, .18);
  border-radius: 16px;
  background: #f2f8ff;
}

.article-trust-panel .trust-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #0f66cd;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 900;
}

.article-trust-panel p {
  margin: 5px 0 0;
}

.location-proof-block {
  margin: 26px 0;
  padding: 22px;
  border-left: 5px solid #0f66cd;
  border-radius: 0 16px 16px 0;
  background: #f4f8fc;
}

.location-proof-block h2 {
  margin-top: 0;
  color: #082b57;
  font-size: 1.35rem;
}

.location-proof-block p:last-child {
  margin-bottom: 0;
}

.legal-status-note {
  padding: 16px 18px;
  border: 1px solid #f0c75e;
  border-radius: 14px;
  background: #fff8df;
  color: #51431a;
}

@media (max-width: 820px) {
  .kh-trust-grid,
  .kh-social-cards,
  .kh-footer-business {
    grid-template-columns: 1fr;
  }

  .kh-trust-social-section {
    padding: 56px 5%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kh-social-card {
    transition: none;
  }
}


/* Stadtseiten: lokale Infokarte sauber formatiert 2026-06-22 */

.location-main .location-proof-block {
  display: block;
  margin: 24px 0 28px;
  padding: clamp(20px, 3vw, 26px);
  border: 1px solid rgba(15, 102, 205, .16);
  border-left: 5px solid #0f66cd;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(135deg, #f7fbff, #eef6ff);
  box-shadow: 0 12px 30px rgba(8, 43, 87, .07);
}

.location-main .location-proof-block .location-proof-title {
  margin: 0 0 16px;
  color: #082b57;
  font-size: clamp(1.15rem, 2vw, 1.38rem);
  line-height: 1.3;
}

.location-main .location-proof-block .location-proof-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin: 0;
  padding: 13px 0;
  color: #344a5f;
  font-size: .98rem;
  line-height: 1.65;
}

.location-main .location-proof-block .location-proof-row + .location-proof-row {
  border-top: 1px solid rgba(15, 102, 205, .12);
}

.location-proof-icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-top: 1px;
  border-radius: 50%;
  background: #0f66cd;
  color: #fff;
  font-size: .86rem;
  font-weight: 900;
  line-height: 1;
}

.location-proof-text {
  min-width: 0;
}

@media (max-width: 640px) {
  .location-main .location-proof-block {
    margin: 20px 0 24px;
    padding: 18px 16px;
    border-left-width: 4px;
    border-radius: 0 14px 14px 0;
  }

  .location-main .location-proof-block .location-proof-title {
    margin-bottom: 12px;
    font-size: 1.12rem;
  }

  .location-main .location-proof-block .location-proof-row {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 9px;
    padding: 11px 0;
    font-size: .94rem;
    line-height: 1.58;
  }

  .location-proof-icon {
    width: 23px;
    height: 23px;
    font-size: .78rem;
  }
}
/* seo-performance-v8.css */
/* SEO & Performance 2026-06-29 */
@media (max-width:720px){
  .hero{background-image:linear-gradient(90deg,rgba(5,27,57,.94),rgba(8,43,87,.72),rgba(8,43,87,.16)),url("../bilder/unternehmen/klempnerhelden-servicefahrzeug-mitarbeiter-960.webp")}
}
.emergency-checklist{background:#f5f9ff;padding-top:54px;padding-bottom:54px}
.emergency-checklist .emergency-inner{max-width:1180px;margin:0 auto}
.emergency-checklist .emergency-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.emergency-checklist article{background:#fff;border:1px solid #dbe6f2;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(8,43,87,.07)}
.emergency-checklist article strong{display:block;color:#082b57;font-size:1.05rem;margin-bottom:8px}
.emergency-checklist .emergency-note{margin-top:18px;color:#40536a;font-size:.95rem}
.review-source-note{max-width:820px;margin:14px auto 0;text-align:center;color:#52657a;font-size:.95rem}
.editorial-responsibility strong{display:block;color:#082b57;margin-bottom:5px}
.local-emergency-box{margin:28px 0;padding:24px;border:1px solid #cbdced;border-left:5px solid #0b5aa7;border-radius:16px;background:#f7fbff}
.local-emergency-box h3{margin-top:0}
.local-emergency-box ol{margin:12px 0 0;padding-left:22px}
.local-emergency-box li+li{margin-top:8px}
@media(max-width:900px){.emergency-checklist .emergency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.emergency-checklist .emergency-grid{grid-template-columns:1fr}.emergency-checklist article{padding:19px}}
