/* EDV-Service.ME – SEO/UX final tuning */
:root{--edv-navy:#222454;--edv-blue:#0345bf;--edv-orange:#f75b30;--edv-text:#252525;--edv-muted:#667085;--edv-soft:#f5f7fb;--edv-border:#e3e7ee}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--edv-text);font-size:16px;line-height:1.7}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--edv-orange);outline-offset:3px}
img{max-width:100%;height:auto}

/* Horizontal header – replaces the cramped old vertical Fixter sidebar */
body.predefined-header2 .body-wrapper{width:100%;margin-left:0}
body.predefined-header2 #sp-header{height:80px;background:#fff;padding:0 28px;box-shadow:0 2px 16px rgba(20,30,60,.08)}
body.predefined-header2 #sp-header .logo{margin-right:30px}
body.predefined-header2 #sp-header .logo img{max-height:48px;width:auto}
body.predefined-header2 .sp-megamenu-parent>li>a,body.predefined-header2 .sp-megamenu-parent>li>span{line-height:80px;padding:0 11px;font-size:13px;font-weight:600;letter-spacing:.1px}
body.predefined-header2 #sp-header.header-sticky{box-shadow:0 5px 22px rgba(20,30,60,.12)}
body.predefined-header2 .free-quote{padding:14px 20px;margin-left:12px;background:var(--edv-blue)!important;color:#fff!important}
body.predefined-header2 .free-quote:after{background:var(--edv-navy)}

/* Structured Service dropdown */
@media(min-width:992px){
  .services-menu>.sp-dropdown{width:560px!important;max-width:calc(100vw - 40px)}
  .services-menu>.sp-dropdown>.sp-dropdown-inner{padding:18px 22px}
  .services-menu .sp-dropdown-items{display:grid;grid-template-columns:1fr 1.35fr;column-gap:28px;align-items:start}
  .services-menu .sp-dropdown-items>li{min-width:0}
  .services-menu .sp-dropdown-items>li:nth-child(-n+5){grid-column:1}
  .services-menu .sp-dropdown-items>li:nth-child(n+6){grid-column:2}
  .services-menu .sp-dropdown-items>li:nth-child(1)::before,.services-menu .sp-dropdown-items>li:nth-child(6)::before{display:block;color:var(--edv-muted);font-size:11px;line-height:1.4;font-weight:800;letter-spacing:1.2px;margin:6px 0 9px;text-transform:uppercase}
  .services-menu .sp-dropdown-items>li:nth-child(1)::before{content:"Regionen"}
  .services-menu .sp-dropdown-items>li:nth-child(6)::before{content:"Leistungen"}
}

/* Page typography – readable hierarchy, no 90px template headings */
h1,.sppb-addon-title h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.12;font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.25;font-weight:700}
h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.35;font-weight:700}
p,li{line-height:1.75}

/* Home hero */
.edv-home-hero{overflow:hidden}
.edv-home-hero .sppb-row{align-items:flex-start}
.edv-home-hero .sppb-addon-text-block p{max-width:760px}

/* Three home service cards – image above, text below, never overlay text */
.edv-home-services .sppb-row{row-gap:28px}
.edv-home-services .sppb-column{height:100%;background:#fff;border:1px solid var(--edv-border);box-shadow:0 10px 28px rgba(30,40,70,.07);overflow:hidden}
.edv-home-services .service-item .sppb-addon-content{position:static!important}
.edv-home-services .service-item .sppb-img-container{position:relative;background:#eef1f6;overflow:hidden}
.edv-home-services .service-item .sppb-img-container img{opacity:1!important;width:100%;aspect-ratio:16/10;object-fit:cover}
.edv-home-services .service-item .sppb-img-container:after{display:none!important}
.edv-home-services .service-item .service-content-wrapper{position:static!important;inset:auto!important;padding:22px 24px 16px!important;color:var(--edv-text)!important;background:#fff!important}
.edv-home-services .service-item .service-content-wrapper .sppb-addon-title{color:var(--edv-blue)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.8px!important;margin-bottom:8px!important}
.edv-home-services .service-item .service-content-wrapper .sppb-addon-text{color:var(--edv-navy)!important;font-size:22px!important;line-height:1.3!important;font-weight:750!important;letter-spacing:0!important;text-transform:none!important}
.edv-home-services .service-button{display:block;text-align:left!important;padding:14px 24px 20px!important;background:#fff!important;color:var(--edv-blue)!important;font-size:12px!important;font-weight:700}
.edv-home-services .service-button:after{display:none}

/* Region overview */
.edv-region-overview{max-width:1140px;margin:0 auto;padding:18px 15px 52px}
.edv-region-overview p{max-width:900px}
.edv-region-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.edv-region-links a{display:inline-flex;padding:9px 14px;border:1px solid var(--edv-border);border-radius:999px;background:#fff;color:var(--edv-blue);font-weight:650}
.edv-region-links a:hover{border-color:var(--edv-blue);background:var(--edv-soft)}

/* Local landing pages */
.edv-local{max-width:1140px;margin:0 auto;padding:18px 15px 48px;color:var(--edv-text);line-height:1.75}
.edv-local h2{margin:38px 0 13px}
.edv-local h3{margin:0 0 8px}
.edv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.edv-card{border:1px solid var(--edv-border);border-radius:12px;padding:22px;background:#fff;box-shadow:0 7px 20px rgba(30,40,70,.045)}
.edv-steps{padding-left:22px}.edv-steps li{margin:8px 0}
.edv-local details{border-top:1px solid var(--edv-border);padding:13px 2px}
.edv-local details:last-of-type{border-bottom:1px solid var(--edv-border)}
.edv-local summary{font-weight:700;cursor:pointer;color:var(--edv-navy)}
.edv-local details p{margin:9px 0 3px}
.edv-cta{margin-top:30px;padding:24px;border-radius:12px;background:var(--edv-soft);border:1px solid #e9edf5}
.edv-cta h2{margin-top:0}
.edv-links{display:flex;flex-wrap:wrap;gap:8px 16px}.edv-links a{font-weight:650}

/* Semantic feature lists */
ul.edv-checklist{list-style:none;padding:0;margin:8px 0 0}
ul.edv-checklist li{position:relative;padding:5px 0 5px 25px}
ul.edv-checklist li:before{content:"✓";position:absolute;left:0;color:var(--edv-blue);font-weight:800}

/* Footer */
#sp-bottom{padding-top:58px;padding-bottom:36px}
#sp-bottom .sp-module-title{font-size:18px;font-weight:700}
#sp-footer{font-size:13px}

/* Mobile */
@media(max-width:991.98px){
  body,p{font-size:15px!important}
  body.predefined-header2 #sp-header{height:70px;padding:0 18px}
  body.predefined-header2 #sp-header .logo img{max-height:42px}
  .edv-grid{grid-template-columns:1fr}
  .edv-home-services .sppb-column{margin-bottom:5px}
}
@media(max-width:575.98px){
  body,p{font-size:15px!important}
  .edv-home-services .service-item .service-content-wrapper{padding:18px 18px 12px!important}
  .edv-home-services .service-button{padding:12px 18px 18px!important}
  .edv-region-overview,.edv-local{padding-left:18px;padding-right:18px}
}

/* ============================================================
   EDV-Service.ME – consolidated responsive layout 2026-09-20
   Replaces previous visual/mobile hotfix blocks.
   ============================================================ */

/* Desktop navigation */
@media (min-width:992px){
  #sp-header,body.predefined-header1 #sp-header,body.predefined-header2 #sp-header{background:#fff!important;color:var(--edv-navy)!important}
  #sp-header .sp-megamenu-parent>li>a,#sp-header .sp-megamenu-parent>li>span{color:var(--edv-navy)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.25px!important;text-transform:uppercase}
  #sp-header .sp-megamenu-parent>li:hover>a,#sp-header .sp-megamenu-parent>li.active>a{color:var(--edv-orange)!important}
  #sp-header .sp-dropdown .sp-dropdown-inner{background:#fff!important;box-shadow:0 12px 30px rgba(20,30,60,.14)!important}
  #sp-header .sp-dropdown li.sp-menu-item>a,#sp-header .sp-dropdown li.sp-menu-item>span{color:var(--edv-navy)!important;font-size:13px!important;line-height:1.4!important}
  #sp-header .sp-dropdown li.sp-menu-item>a:hover{color:var(--edv-orange)!important}
}

/* Page Builder typography */
body.com-sppagebuilder .sppb-addon-heading h1,body.com-sppagebuilder h1.sppb-addon-title{font-size:42px!important;line-height:1.12!important;letter-spacing:-.5px!important}
body.com-sppagebuilder #sp-page-builder .sppb-section:first-child{overflow:visible!important}
body.com-sppagebuilder #sp-page-builder .sppb-section:first-child .sppb-row{align-items:flex-start!important}

/* Fixter service cards */
body.com-sppagebuilder .service-item,body.com-sppagebuilder .service-item .sppb-img-container{overflow:hidden!important}
body.com-sppagebuilder .service-item .service-content-wrapper{left:24px!important;right:24px!important;top:auto!important;bottom:72px!important;width:auto!important;max-width:calc(100% - 48px)!important;padding:14px 16px!important;background:rgba(22,34,78,.82)!important;box-sizing:border-box!important}
body.com-sppagebuilder .service-item .service-content-wrapper .sppb-addon-title{color:#fff!important;font-size:12px!important;line-height:1.25!important;margin:0 0 5px!important;letter-spacing:.5px!important;overflow-wrap:anywhere!important}
body.com-sppagebuilder .service-item .service-content-wrapper .sppb-addon-text{color:#fff!important;font-size:18px!important;line-height:1.25!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;margin:0!important;overflow-wrap:anywhere!important}
body.com-sppagebuilder .service-button{font-size:11px!important;line-height:1.3!important;padding:14px 20px!important}

@media (max-width:1199.98px){
  body.com-sppagebuilder .sppb-addon-heading h1,body.com-sppagebuilder h1.sppb-addon-title{font-size:36px!important}
  body.com-sppagebuilder .service-item .service-content-wrapper .sppb-addon-text{font-size:16px!important}
}

/* Tablet + phone navigation */
@media (max-width:991.98px){
  body,p{font-size:15px!important}
  body.predefined-header1 .body-wrapper,body.predefined-header2 .body-wrapper{width:100%!important;margin-left:0!important;left:0!important;right:0!important}
  #sp-header,body.predefined-header1 #sp-header,body.predefined-header2 #sp-header{display:block!important;position:relative!important;width:100%!important;height:70px!important;min-height:70px!important;padding:8px 18px!important;background:#fff!important;z-index:9998!important}
  #sp-header.header-sticky,body.predefined-header1 #sp-header.header-sticky,body.predefined-header2 #sp-header.header-sticky{position:fixed!important}
  #sp-header .sp-header-inner,body.predefined-header1 #sp-header .sp-header-inner,body.predefined-header2 #sp-header .sp-header-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:54px!important}
  #sp-header .logo{margin:0!important;max-width:150px!important}
  #sp-header .logo img{max-height:46px!important;width:auto!important}
  #sp-header .sp-megamenu-parent{display:none!important}
  #offcanvas-toggler,#sp-header #offcanvas-toggler{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-width:42px!important;margin-left:auto!important;padding:0!important;color:var(--edv-navy)!important;background:#fff!important;border:2px solid var(--edv-navy)!important;border-radius:4px!important;position:relative!important;z-index:10001!important}
  #offcanvas-toggler .fa,#offcanvas-toggler .fas,#offcanvas-toggler .far,#offcanvas-toggler i,#offcanvas-toggler span{color:var(--edv-navy)!important;font-size:0!important;line-height:1!important;opacity:1!important}
  #offcanvas-toggler:after{content:'☰';display:block;color:var(--edv-navy);font-size:26px;font-weight:700;line-height:1}

  /* Drawer stays off-screen until body.offcanvas-active is set by Helix */
  .offcanvas-menu{display:block!important;visibility:visible!important;width:min(86vw,340px)!important;background:var(--edv-navy)!important;z-index:10002!important}
  .offcanvas-menu .offcanvas-inner{padding:62px 24px 30px!important}
  .offcanvas-menu .offcanvas-inner .sp-module ul>li>a,.offcanvas-menu .offcanvas-inner .sp-module ul>li>span,.offcanvas-menu .offcanvas-inner .sp-module ul>li>.menu-separator{color:#fff!important;font-size:15px!important;line-height:1.35!important;padding:11px 8px!important}
  .offcanvas-menu .offcanvas-inner .sp-module ul>li.active>a,.offcanvas-menu .offcanvas-inner .sp-module ul>li>a:hover{color:var(--edv-orange)!important}
  .offcanvas-menu .offcanvas-inner .sp-module ul>li ul{padding-left:12px!important}
  .close-offcanvas{color:#fff!important;background:var(--edv-orange)!important}
  .offcanvas-overlay{position:fixed!important}

  body.com-sppagebuilder .sppb-addon-heading h1,body.com-sppagebuilder h1.sppb-addon-title{font-size:32px!important;line-height:1.15!important}
}

@media (max-width:575.98px){
  #sp-header,body.predefined-header1 #sp-header,body.predefined-header2 #sp-header{height:64px!important;min-height:64px!important;padding:6px 14px!important}
  #sp-header .sp-header-inner{height:52px!important}
  #sp-header .logo img{max-height:42px!important}
  #offcanvas-toggler,#sp-header #offcanvas-toggler{width:40px!important;height:40px!important;min-width:40px!important}
  body.com-sppagebuilder .sppb-addon-heading h1,body.com-sppagebuilder h1.sppb-addon-title{font-size:29px!important}
  body.com-sppagebuilder .service-item .service-content-wrapper{left:14px!important;right:14px!important;bottom:60px!important;max-width:calc(100% - 28px)!important;padding:11px 12px!important}
  body.com-sppagebuilder .service-item .service-content-wrapper .sppb-addon-text{font-size:16px!important}
}

/* === EDV-Service desktop navigation refinement 2026-09-20 === */
@media (min-width: 992px) {
  /* Keep logo left, navigation visually centered, contact CTA right */
  #sp-header .sp-header-inner {display:flex!important;align-items:center!important;position:relative!important;width:100%!important;}
  #sp-header .logo {flex:0 0 auto!important;margin-right:24px!important;}
  #sp-header .sp-megamenu-wrapper,
  #sp-header .sp-megamenu-parent {margin-left:auto!important;margin-right:auto!important;}
  #sp-header .sp-megamenu-parent {display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;}
  #sp-header .sp-megamenu-parent>li>a,
  #sp-header .sp-megamenu-parent>li>span {padding-left:13px!important;padding-right:13px!important;white-space:nowrap!important;}

  /* Service mega menu: one coherent panel instead of two loose lists */
  #sp-header .services-menu>.sp-dropdown {width:640px!important;max-width:calc(100vw - 48px)!important;}
  #sp-header .services-menu>.sp-dropdown>.sp-dropdown-inner {
    padding:22px 24px 24px!important;
    border-radius:0 0 10px 10px!important;
    border-top:3px solid var(--edv-blue)!important;
    box-shadow:0 18px 42px rgba(20,30,60,.16)!important;
    background:#fff!important;
  }
  #sp-header .services-menu .sp-dropdown-items {
    display:grid!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    column-gap:34px!important;
    row-gap:0!important;
  }
  #sp-header .services-menu .sp-dropdown-items>li {margin:0!important;padding:0!important;border:0!important;}
  #sp-header .services-menu .sp-dropdown-items>li:nth-child(-n+5){grid-column:1!important;}
  #sp-header .services-menu .sp-dropdown-items>li:nth-child(n+6){grid-column:2!important;}
  #sp-header .services-menu .sp-dropdown-items>li:nth-child(1)::before,
  #sp-header .services-menu .sp-dropdown-items>li:nth-child(6)::before {
    display:block!important;margin:0 0 9px!important;padding-bottom:8px!important;
    border-bottom:1px solid #e6e9f0!important;color:#6c7285!important;
    font-size:11px!important;font-weight:800!important;letter-spacing:1.2px!important;text-transform:uppercase!important;
  }
  #sp-header .services-menu .sp-dropdown-items>li:nth-child(1)::before{content:'REGIONEN'!important;}
  #sp-header .services-menu .sp-dropdown-items>li:nth-child(6)::before{content:'LEISTUNGEN'!important;}
  #sp-header .services-menu .sp-dropdown-items>li>a,
  #sp-header .services-menu .sp-dropdown-items>li>span {
    display:block!important;padding:8px 10px!important;border-radius:6px!important;
    color:var(--edv-navy)!important;font-size:13px!important;font-weight:600!important;line-height:1.35!important;
    white-space:normal!important;transition:background .15s ease,color .15s ease!important;
  }
  #sp-header .services-menu .sp-dropdown-items>li>a:hover,
  #sp-header .services-menu .sp-dropdown-items>li.active>a {
    background:var(--edv-soft)!important;color:var(--edv-blue)!important;
  }
}


/* ===== CONTACT PAGE FONT HOTFIX ===== */

/* EDV-Service.ME – Kontaktseite Typografie-Hotfix
   Nur auf der Kontaktseite aktiv. */
body.itemid-110 .sppb-section:first-of-type h1,
body.itemid-110 .sppb-section:first-of-type .sppb-addon-title {
    font-size: clamp(32px, 3vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
}

body.itemid-110 .sppb-section:first-of-type a[href^="mailto:"],
body.itemid-110 .sppb-section:first-of-type a[href^="mailto:"] *,
body.itemid-110 .sppb-section:first-of-type .sppb-addon-text-block a[href^="mailto:"] {
    font-size: clamp(20px, 2vw, 26px) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

body.itemid-110 .sppb-section:first-of-type h2,
body.itemid-110 .sppb-section:first-of-type h3 {
    font-size: clamp(24px, 2.3vw, 29px) !important;
    line-height: 1.18 !important;
}

/* Telefonnummer oberhalb der Karte */
body.itemid-110 .sppb-section:first-of-type a[href^="tel:"] {
    font-size: inherit;
}

/* Nachfolgende Kontakt-Überschriften harmonisieren */
body.itemid-110 .sppb-section:not(:first-of-type) h2,
body.itemid-110 .sppb-section:not(:first-of-type) .sppb-addon-title {
    font-size: clamp(27px, 2.5vw, 32px) !important;
    line-height: 1.16 !important;
}

@media (max-width: 767px) {
    body.itemid-110 .sppb-section:first-of-type h1,
    body.itemid-110 .sppb-section:first-of-type .sppb-addon-title {
        font-size: 30px !important;
    }
    body.itemid-110 .sppb-section:first-of-type a[href^="mailto:"],
    body.itemid-110 .sppb-section:first-of-type a[href^="mailto:"] * {
        font-size: 19px !important;
    }
    body.itemid-110 .sppb-section:not(:first-of-type) h2,
    body.itemid-110 .sppb-section:not(:first-of-type) .sppb-addon-title {
        font-size: 26px !important;
    }
}
