/* =========================================================
   EventShield360 – Professionelles Design-System v2
   ========================================================= */
:root{
  --es-navy:#0B1220;
  --es-navy-2:#111C33;
  --es-blue:#2E7CF6;
  --es-blue-dark:#1D5FD6;
  --es-cta:#F59E0B;
  --es-bg:#F5F7FB;
  --es-surface:#FFFFFF;
  --es-text:#1E293B;
  --es-muted:#64748B;
  --es-line:#E2E8F0;
  --es-radius:14px;
  --es-shadow:0 10px 30px rgba(11,18,32,.08);
  --es-shadow-lg:0 18px 50px rgba(11,18,32,.14);
}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--es-bg);color:var(--es-text);line-height:1.65;}
h1,h2,h3,h4{font-family:'Sora',Inter,sans-serif;color:var(--es-navy);line-height:1.25;font-weight:700;hyphens:none;}
a{color:var(--es-blue);}
/* ---------- Header: kompakt, dunkel, Logo links ---------- */
.site-header{background:var(--es-navy) !important;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:999;box-shadow:0 4px 20px rgba(0,0,0,.25);}
.site-header .site-logo img,
.site-header img.custom-logo{max-height:52px !important;width:auto !important;}
.site-branding{display:flex;align-items:center;}
.site-title,.site-description{display:none !important;}
.main-navigation .main-nav>ul>li>a{color:#E7ECF5 !important;font-weight:500;font-size:15px;padding:14px 14px;}
.main-navigation .main-nav>ul>li>a:hover{color:#fff !important;}
.main-navigation .main-nav>ul>li.current-menu-item>a{color:#fff !important;}
.main-navigation ul ul{background:#0F1A31;border-radius:10px;box-shadow:var(--es-shadow-lg);border:1px solid rgba(255,255,255,.08);padding:6px;}
.main-navigation ul ul li a{color:#CBD5E1 !important;font-size:14px;padding:9px 14px;border-radius:7px;}
.main-navigation ul ul li a:hover{background:rgba(46,124,246,.15);color:#fff !important;}
/* CTA + Telefon im Menü */
.es-menu-cta>a{background:var(--es-blue) !important;color:#fff !important;border-radius:999px;padding:10px 20px !important;margin-left:8px;font-weight:600;box-shadow:0 4px 14px rgba(46,124,246,.4);}
.es-menu-cta>a:hover{background:var(--es-blue-dark) !important;transform:translateY(-1px);}
.es-menu-phone>a{color:#fff !important;font-weight:600;display:inline-flex;align-items:center;gap:6px;}
/* Sidebar aus (falls irgendwo aktiv) */
.sidebar,.widget-area{display:none !important;}
.content-area,.inside-article{width:100% !important;}
/* ---------- Seiten-Titel auf Startseite aus ---------- */
.home .entry-title,.page-id-5 .entry-title{display:none !important;}
/* ---------- Hero ---------- */
.es-hero{position:relative;color:#fff;background:linear-gradient(115deg,rgba(11,18,32,.95) 30%,rgba(17,28,51,.85) 65%,rgba(11,18,32,.72)),url('/wp-content/uploads/bestand/about-bg-img.jpg') center/cover no-repeat;padding:clamp(60px,8vw,110px) 40px clamp(44px,6vw,80px);overflow:hidden;}
.es-hero::after{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border:2px solid rgba(46,124,246,.25);border-radius:50%;box-shadow:0 0 0 60px rgba(46,124,246,.06),0 0 0 120px rgba(46,124,246,.04);pointer-events:none;}
.es-hero h1{color:#fff !important;font-size:clamp(1.8rem,4vw,3rem);max-width:720px;margin:0 0 18px;}
.es-hero .lead{color:#C9D4E8 !important;font-size:clamp(1rem,1.5vw,1.18rem);max-width:620px;margin:0 0 14px;}
.es-price-anchor{display:inline-block;color:var(--es-cta);font-weight:700;font-size:1.05rem;margin:0 0 20px;}
.es-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;}
.es-badge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#E7ECF5;padding:7px 14px;border-radius:999px;font-size:.85rem;font-weight:500;}
.es-btnrow{display:flex;flex-wrap:wrap;gap:14px;}
.es-btn,.es-btnrow a[class*=es-btn]{display:inline-block;background:var(--es-blue);color:#fff !important;padding:13px 28px;border-radius:999px;font-weight:600;font-size:1rem;box-shadow:0 8px 22px rgba(46,124,246,.35);transition:all .2s;text-decoration:none;}
.es-btn:hover,.es-btnrow a[class*=es-btn]:hover{background:var(--es-blue-dark);transform:translateY(-2px);}
.es-btn-outline{background:transparent;color:#fff !important;border:1.5px solid rgba(255,255,255,.5);padding:12px 26px;border-radius:999px;font-weight:600;transition:all .2s;text-decoration:none;}
.es-btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;}
/* ---------- Inhalt ---------- */
.page .entry-content{max-width:1200px;margin:0 auto;padding:0 40px;}
.es-lead{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--es-muted);max-width:820px;margin:0 auto 42px;text-align:center;line-height:1.7;}
.page h2{margin-top:56px;position:relative;padding-top:14px;}
.page h2::before{content:"";position:absolute;top:0;left:0;width:56px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--es-blue),#6FB1FF);}
/* ---------- Karten / Schritte / Warnbox / FAQ ---------- */
.es-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin:28px 0;}
.es-card{background:var(--es-surface);border:1px solid var(--es-line);border-radius:var(--es-radius);padding:28px 24px;box-shadow:var(--es-shadow);transition:transform .2s,box-shadow .2s;}
.es-card:hover{transform:translateY(-4px);box-shadow:var(--es-shadow-lg);}
.es-card h3{font-size:1.12rem;margin:0 0 10px;}
.es-card h3::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--es-blue);margin-right:10px;vertical-align:1px;}
.es-card p{margin:0;color:var(--es-muted);font-size:.95rem;}
.es-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin:28px 0;}
.es-step{background:var(--es-surface);border:1px solid var(--es-line);border-radius:var(--es-radius);padding:26px 22px;position:relative;box-shadow:var(--es-shadow);}
.es-step b{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--es-navy);color:#fff;border-radius:50%;font-family:'Sora',sans-serif;font-size:1rem;margin-bottom:14px;}
.es-step p{margin:0;color:var(--es-muted);font-size:.93rem;}
.es-warn{background:#FFF7E6;border:1px solid #FDE68A;border-left:5px solid var(--es-cta);border-radius:10px;padding:20px 24px;color:#7C5E10;margin:30px 0;}
.es-faq details{background:var(--es-surface);border:1px solid var(--es-line);border-radius:12px;margin:10px 0;padding:16px 22px;cursor:pointer;}
.es-faq summary{font-weight:600;color:var(--es-navy);font-family:'Sora',sans-serif;font-size:1rem;}
.es-faq details p{margin:12px 0 0;color:var(--es-muted);}
/* ---------- Preise / Tabellen ---------- */
.es-tablewrap{background:var(--es-surface);border-radius:var(--es-radius);border:1px solid var(--es-line);box-shadow:var(--es-shadow);overflow:hidden;}
.es-table{width:100%;border-collapse:collapse;}
.es-table th{background:var(--es-navy);color:#fff;text-align:left;padding:14px 18px;font-family:'Sora',sans-serif;}
.es-table td{padding:13px 18px;border-top:1px solid var(--es-line);}
.es-table tr:nth-child(even) td{background:#FAFBFE;}
.es-price{color:var(--es-blue);font-weight:700;font-family:'Sora',sans-serif;}
.es-meta{color:var(--es-muted);font-size:.9rem;}
/* ---------- Kontakt ---------- */
.es-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:24px 0;}
.es-cbox{background:var(--es-surface);border:1px solid var(--es-line);border-radius:12px;padding:20px;box-shadow:var(--es-shadow);color:var(--es-muted);font-size:.93rem;}
.es-cbox b{display:block;color:var(--es-navy);margin-bottom:6px;font-family:'Sora',sans-serif;font-size:.95rem;}
/* ---------- Footer ---------- */
.site-footer{background:var(--es-navy);color:#94A3B8;border-top:3px solid var(--es-blue);}
.site-footer .widget-title{color:#fff;font-family:'Sora',sans-serif;font-size:1rem;}
.site-footer a{color:#CBD5E1;}
.site-footer a:hover{color:#fff;}
.footer-widgets-container{padding:50px 40px 30px;}
.copyright-bar{background:#070D18;padding:18px 40px;font-size:.85rem;color:#64748B;text-align:center;}
/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .page .entry-content{padding:0 24px;}
  .es-hero{padding:48px 24px 40px;}
  .footer-widgets-container{padding:40px 24px 20px;}
}
@media (max-width:768px){
  .es-grid,.es-steps{grid-template-columns:1fr;}
  .es-btnrow{flex-direction:column;}
  .es-btn,.es-btnrow a[class*=es-btn]{text-align:center;}
  .site-header .site-logo img,.site-header img.custom-logo{max-height:44px !important;}
  .es-hero{padding:44px 20px 36px;}
}

/* ===== v3-Fixes ===== */
/* Logo auf dunklem Header: schwarzen Kasten wegblenden, silbernes Logo sichtbar */

/* Mobile: Overflow + Wortumbruch + Headline-Größe */
html,body{ overflow-x:clip; }
@media (max-width:768px){
  .es-hero h1{ font-size:1.55rem !important; line-height:1.3; }
  .es-hero .lead{ font-size:.98rem; }
  .es-hero{padding:40px 18px 32px !important;}
}
/* Fließtext-Kontrast + Lesebreite */
.es-lead{ color:#334155; max-width:760px; }
/* Paket-Highlight "Beliebteste Wahl" */
.es-card{ position:relative; }
.es-popular{
  position:absolute; top:-13px; left:22px; z-index:2;
  background:var(--es-cta); color:#1F2937; font-weight:700; font-size:.78rem;
  padding:5px 14px; border-radius:999px; letter-spacing:.02em;
  box-shadow:0 4px 12px rgba(245,158,11,.45);
}
/* Header CTA + Telefon-Abstand */
.es-menu-phone>a{ margin-right:6px; }

/* Komfort-Highlight in Vergleichstabelle */
.es-popular-th{ position:relative; }
.es-popular-inline{
  display:block; margin-top:6px; width:max-content;
  background:var(--es-cta); color:#1F2937; font-weight:700; font-size:.72rem;
  padding:4px 12px; border-radius:999px; letter-spacing:.02em;
}

/* ===== v4-Fixes: Logo + aktiver Menüpunkt + Tabellen-CTA ===== */
.site-header{ background:#000000 !important; }
.site-header img.custom-logo{
  mix-blend-mode:screen;
  filter:brightness(2.4) contrast(1.35);
  max-height:56px !important;
}
/* Site-Titel (falls vorhanden) konsequent ausblenden */
.site-title, .site-description, .site-branding .site-title, .site-branding .site-description{ display:none !important; }
/* Aktiver Menüpunkt: weiß + Unterstrich statt grauer Box */
.main-navigation .main-nav>ul>li.current-menu-item>a,
.main-navigation .main-nav>ul>li.current_page_item>a{
  color:#ffffff !important;
  background:transparent !important;
  box-shadow:none;
  border-bottom:2px solid var(--es-blue);
  padding-bottom:12px !important;
}
.main-navigation .main-nav>ul>li.current-menu-item,
.main-navigation .main-nav>ul>li.current_page_item{ background:transparent !important; }
/* CTA-Zeile in Pakete-Tabelle */
.es-table-cta-row td{ background:#ffffff !important; border-top:2px solid var(--es-line); text-align:center; padding:16px 10px !important; }
.es-table-cta-row a.es-btn{ padding:10px 16px; font-size:.85rem; white-space:nowrap; }

/* ===== v5-Fixes ===== */
/* Logo: weißes Vollbild auf transparentem Grund */
.site-header img.custom-logo{
  mix-blend-mode:normal;
  filter:brightness(0) invert(1);
  max-height:52px !important;
  width:auto !important;
}
/* Prozess-Schritte: Labels statt abgeschnittener Kreise */
.es-step b{
  display:inline-block; width:auto; height:auto;
  background:var(--es-navy); color:#fff;
  border-radius:8px; padding:7px 14px;
  font-size:.85rem; letter-spacing:.01em; margin-bottom:12px;
}
/* CTA im Menü: robust auf allen Seiten */
.main-navigation li.es-menu-cta > a,
.main-navigation .es-menu-cta > a{
  background:var(--es-blue) !important;
  color:#fff !important;
  border-radius:999px;
  padding:10px 20px !important;
}
.main-navigation li.es-menu-cta > a:hover,
.main-navigation .es-menu-cta > a:hover{ background:var(--es-blue-dark) !important; }
/* Footer: durchgehend dunkel + lesbare Links */
.site-footer,
.site-footer .footer-widgets-container,
.site-footer .footer-widgets-container .widget,
.site-footer .widget-area{
  background:#000000 !important;
  color:#CBD5E1 !important;
}
.site-footer a{ color:#E2E8F0 !important; }
.site-footer a:hover{ color:#fff !important; }
.site-footer .widget-title{ color:#fff !important; }
.copyright-bar{ background:#070D18 !important; color:#94A3B8 !important; }
/* FAQ-Button „Kontakt aufnehmen": Text sichtbar (war weiß auf weiß) */
.es-btn-onwhite{ color:var(--es-navy) !important; border-color:var(--es-navy) !important; }
.es-btn-onwhite:hover{ background:rgba(11,18,32,.06) !important; color:var(--es-navy) !important; }
/* Einheitlicher dunkler Header (keine zwei Leisten) */
.main-navigation, .main-navigation .inside-navigation{ background:#000000 !important; }

/* ===== v6-Fixes ===== */
/* Header: Menü vertikal zentriert, CTA auf gleicher Linie */
.main-navigation .main-nav > ul{ display:flex; align-items:center; }
.main-navigation li.es-menu-cta > a,
.main-navigation .es-menu-cta > a{
  background:var(--es-blue) !important;
  color:#fff !important; border-radius:999px;
  padding:10px 20px !important; line-height:1.2;
  display:inline-block; vertical-align:middle;
}
/* Logo: keine Hintergrundfläche */

/* Abstand Hero → Intro-Text */
.entry-content .es-hero + .es-lead{ margin-top:64px; }
.entry-content .es-hero + p.es-lead{ margin-top:64px; }
/* Branchen-Links als saubere Chips */
a.es-sector{
  display:inline-block; background:#fff; border:1px solid var(--es-line);
  border-radius:999px; padding:9px 20px; margin:5px 6px 5px 0;
  color:var(--es-blue); font-weight:500; font-size:.95rem; text-decoration:none;
  transition:all .2s;
}
a.es-sector:hover{ background:var(--es-blue); color:#fff; border-color:var(--es-blue); transform:translateY(-1px); }
/* Schritte: Nummerierung ergänzen */
.es-steps{ counter-reset:esstep; }
.es-step b::before{ counter-increment:esstep; content:counter(esstep) ". "; }
/* Pakete-Seite: 4er-Grid + gleiche Kartenhöhe + Button unten */
.page-id-7 .es-grid{ grid-template-columns:repeat(4,1fr); }
.page-id-7 .es-card{ display:flex; flex-direction:column; }
.page-id-7 .es-card p{ flex:1 1 auto; }
.page-id-7 .es-card a.es-btn{ align-self:flex-start; margin-top:14px; }
/* Footer: komplett schwarz, keine Übergänge, Copyright lesbar */
.site-footer{ background:#000 !important; }
.site-footer .footer-widgets-container,
.site-footer .inside-footer-widgets,
.site-footer .footer-widgets-container .widget,
.site-footer .footer-widgets-container .widget-area,
.footer-widgets{ background:#000 !important; }
.copyright-bar{ background:#000 !important; color:#CBD5E1 !important; border-top:1px solid #1E293B; }
.site-footer{ margin-bottom:0 !important; }
body .site{ overflow-x:clip; }
/* Pakete-Seite: H1 + Intro linksbündig */
.page-id-7 h1, .page-id-7 .es-lead{ text-align:left !important; margin-left:0; margin-right:auto; }
/* Mobile-Feinabstimmung */
@media (max-width:768px){
  .page-id-7 .es-grid{ grid-template-columns:1fr; }
  .es-hero{ padding:44px 24px 36px !important; }
  .entry-content .es-hero + .es-lead, .entry-content .es-hero + p.es-lead{ margin-top:40px; }
}

/* ===== v7-Fixes ===== */
/* Desktop-Nav: flex NUR auf Desktop, Mobile-Menü von GP nicht stören */
@media (min-width:1025px){
  .main-navigation .main-nav > ul{ display:flex; align-items:center; }
}
@media (max-width:1024px){
  .main-navigation .main-nav > ul{ display:block; }
  .main-navigation .main-nav > ul > li{ display:block; float:none; }
  .main-navigation .main-nav > ul > li > a{ padding:12px 8px; }
}
/* CTA im Menü: überall gefüllt (auch bei aktueller Seite) */
.main-navigation li.es-menu-cta a,
.main-navigation .es-menu-cta a,
.main-navigation li.es-menu-cta.current-menu-item > a,
.main-navigation li.es-menu-cta.current_page_item > a{
  background:var(--es-blue) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:10px 20px !important;
  border-bottom:none !important;
  box-shadow:0 4px 14px rgba(46,124,246,.45) !important;
}
.main-navigation li.es-menu-cta a:hover,
.main-navigation li.es-menu-cta.current-menu-item > a:hover{
  background:var(--es-blue-dark) !important;
}
/* Logo: maximale Weißgarantie über Filter-Kette */
.site-header img.custom-logo{
  filter:brightness(0) invert(1) contrast(1.2) !important;
}
/* Branchen: Container mit a.es-sector auf Flex-Chips umstellen */
div:has(> a.es-sector){ display:flex !important; flex-wrap:wrap !important; gap:10px !important; }
/* Prozess-Karten: nichts abschneiden */
.es-steps, .es-grid{ overflow:visible !important; }
.es-step, .es-card{ overflow:visible !important; }
/* Paketkarten: Buttons unten ausrichten */
.page-id-7 .es-card{ display:flex; flex-direction:column; }
.page-id-7 .es-card > p{ flex:1 1 auto; }
.page-id-7 .es-card a.es-btn{ margin-top:auto !important; align-self:flex-start; }

/* ===== v8: Site-Titel/Description radikal aus, Logo allein ===== */
.site-branding .site-title, .site-branding .site-title a,
.site-branding .site-description, .site-title, .site-description{
  display:none !important; visibility:hidden !important; height:0 !important; margin:0 !important; padding:0 !important;
}
.site-branding .custom-logo-link{ margin-right:0 !important; }

/* ===== v9: CTA auch im current-menu-item-Zustand blau ===== */
#masthead .main-navigation li.es-menu-cta > a,
#masthead .main-navigation li.es-menu-cta.current-menu-item > a,
#masthead .main-navigation li.es-menu-cta.current_page_item > a,
#masthead .main-navigation li.es-menu-cta a:hover{
  background:#2E7CF6 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:10px 20px !important;
  border:none !important;
  box-shadow:0 4px 14px rgba(46,124,246,.45) !important;
  text-shadow:none !important;
}

/* ===== v10: Header kompakt + EIN Logo (keine Text-Dopplung) ===== */
.site-header{ padding:0 !important; }
.site-header .inside-header{ padding:10px 24px !important; }
.site-header .site-branding{ display:flex; align-items:center; }
.site-header .main-title, .site-header .site-description,
.site-branding .main-title, .site-branding .site-description{ display:none !important; }
.site-header .header-image{ max-height:46px !important; width:auto !important; }
.site-header .main-navigation .main-nav > ul > li > a{ padding:12px 14px !important; font-size:15px !important; }
.site-header .es-menu-cta > a{ padding:9px 18px !important; }
.site-header .es-menu-phone{ margin-left:6px !important; }
@media (max-width:1024px){
  .site-header .inside-header{ padding:8px 16px !important; }
  .site-header .header-image{ max-height:40px !important; }
}

/* ===== v11: B1-B7 nach Lena-Re-QA (2026-11-10) ===== */
/* B1: Header kompakt - Nav einzeilig, Pfeile inline */
.main-navigation .main-nav > ul > li > a{
  white-space:nowrap !important;
  line-height:1.25 !important;
  padding:10px 11px !important;
}
.main-navigation .dropdown-menu-toggle{
  display:inline-block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  margin-left:4px !important;
  padding:0 !important;
  vertical-align:middle;
}
.site-header .inside-header{ padding:6px 24px !important; }
.site-header{ min-height:0 !important; }
/* B2: CTA als flache Pille statt Kreis */
.main-navigation li.es-menu-cta > a{
  display:inline-block !important;
  line-height:1.2 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:9px 18px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}
/* B3: Telefonnummer einzeilig */
.main-navigation li.es-menu-phone > a{ white-space:nowrap !important; }
/* B4: Logo groesser + vertikal zentriert, Unterstreichung direkt unter Text */
.site-header .inside-header{ display:flex !important; align-items:center !important; }
.site-header .site-branding{ display:flex !important; align-items:center !important; align-self:center !important; }
.site-header .main-navigation{ margin-left:auto !important; }
.site-header .header-image{ max-height:58px !important; width:auto !important; }
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current_page_item > a{
  position:relative !important;
  border-bottom:none !important;
  padding-bottom:0 !important;
}
.main-navigation .main-nav > ul > li.current-menu-item > a::after,
.main-navigation .main-nav > ul > li.current_page_item > a::after{
  content:"" !important;
  position:absolute !important;
  left:11px; right:11px; bottom:2px !important;
  height:2px !important;
  background:var(--es-blue) !important;
  border-radius:1px;
}
/* B6: Komfort-Spalte in Vergleichstabelle durchgehend hervorheben */
.es-table:has(> thead th.es-popular-th) tbody td:nth-child(3){ background:#FFF7E3 !important; }
.es-table:has(> thead th.es-popular-th) tbody tr:nth-child(even) td:nth-child(3){ background:#FFF1D2 !important; }
.es-table:has(> thead th.es-popular-th) tbody td:nth-child(3){ border-left:2px solid #F59E0B !important; border-right:2px solid #F59E0B !important; }
.es-table:has(> thead th.es-popular-th) tbody tr.es-table-cta-row td:nth-child(3){ background:#fff !important; border-left:2px solid #F59E0B !important; border-right:2px solid #F59E0B !important; border-bottom:2px solid #F59E0B !important; }
.es-table:has(> thead th.es-popular-th) thead th.es-popular-th{ box-shadow:inset 0 0 0 2px #F59E0B; }

/* ===== v11b: Kontrast-Fix Banner-Ueberschrift (es-hero h2) ===== */
.es-hero h2{ color:#ffffff !important; }
.es-hero h2::before{ background:var(--es-blue) !important; }

/* ===== v11c: Mobile-Menue standardmaessig zugeklappt (GP-Toggle), =====
   CTA/Telefon im aufgeklappten Menue sichtbar */
@media (max-width:1024px){
  .main-navigation .main-nav > ul{ display:none !important; }
  .main-navigation.toggled .main-nav > ul{ display:block !important; }
  .main-navigation .menu-toggle{ display:block !important; }
  .site-header .inside-header{ flex-wrap:wrap !important; }
}
@media (max-width:1024px){
  .main-navigation.toggled .main-nav > ul > li.es-menu-cta > a,
  .main-navigation.toggled .main-nav > ul > li.es-menu-phone > a{ display:inline-block !important; }
}

/* ===== v11d: Mobile - CTA-Buttons im Content untereinander stapeln ===== */
@media (max-width:768px){
  .entry-content p > a[class*="es-btn"]{
    display:block !important;
    width:100% !important;
    box-sizing:border-box;
    margin:10px 0 0 !important;
    text-align:center;
  }
  .entry-content p > a[class*="es-btn"]:first-child{ margin-top:0 !important; }
}
/* ===== v12: Design-Überarbeitung (2026-11-11, Bernhards Kritik) =====
   - Layout-Wurzel: kein weißer Streifen/Rahmen mehr um Inhalte
   - Hero: full-bleed, passende Event-Technik-Bildsprache (Mischpult/Rack)
   - Stärkere visuelle Hierarchie, aufgeräumte Cards/Schritte/FAQ
   - Header-Logo: silber auf schwarz (Filter entfernt), große Telefon-Nummer
   - Mobile: Sticky-Callbar, große Tap-Targets
   - Inhalte/Preise/Rechtstexte unverändert (reines Design) */

/* ---------- Header-Logo: silber auf schwarz, kein Weichzeichner-Filter ---------- */
.site-header img.custom-logo{
  mix-blend-mode:normal !important;
  filter:none !important;
  max-height:64px !important;
  width:auto !important;
}
/* Telefon im Header: bei schmalen Desktop-Breiten ausblenden (sonst abgeschnitten),
   ab 1560px wieder einblenden; Nummer steht im Hero + Kontakt + Sticky-Callbar */
.es-menu-phone{ display:none !important; }
@media (min-width:1561px){
  .es-menu-phone{ display:inline-block !important; }
}

/* ---------- Layout-Wurzel: one-container konsequent ---------- */
.separate-containers .site-main{ margin:0 !important; }
.separate-containers .inside-article{ padding:0 !important; }

/* ---------- Hero: full-bleed + Event-Technik-Bild ---------- */
.es-hero{
  position:relative;
  color:#fff;
  left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;
  width:100vw;
  box-sizing:border-box;
  overflow:hidden;
  background:
    linear-gradient(108deg, rgba(4,9,20,.97) 0%, rgba(9,16,32,.92) 38%, rgba(11,18,32,.66) 72%, rgba(11,18,32,.38) 100%),
    url('/wp-content/uploads/2026/11/hero-mischpult-techniker.jpg') center/cover no-repeat;
  border-bottom:1px solid rgba(46,124,246,.3);
  padding:clamp(70px,9vw,132px) max(20px, calc(50vw - 560px)) clamp(56px,7vw,92px);
}
/* Im-Notfall-Seite: eigenes passendes Motiv (Verstärker-Rack/Bühne) */
body.page-id-12 .es-hero{
  background:
    linear-gradient(100deg, rgba(4,9,20,.97) 0%, rgba(11,18,32,.88) 50%, rgba(11,18,32,.5) 100%),
    url('/wp-content/uploads/2026/11/hero-verstaerker-rack.jpg') center/cover no-repeat;
}
.es-hero::after{
  content:""; position:absolute; right:-140px; top:-140px;
  width:420px; height:420px;
  border:2px solid rgba(46,124,246,.22);
  border-radius:50%;
  box-shadow:0 0 0 60px rgba(46,124,246,.05), 0 0 0 120px rgba(46,124,246,.03);
  pointer-events:none;
}
/* Hero-Typografie: klare Hierarchie */
.es-hero h1{
  color:#fff !important;
  font-size:clamp(1.9rem,4.5vw,3.3rem);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
  max-width:760px;
  margin:0 0 20px;
  text-wrap:balance;
  text-shadow:0 2px 26px rgba(0,0,0,.5);
}
.es-hero h2{ color:#fff !important; text-wrap:balance; }
.es-hero .lead{
  color:#D8E2F3 !important;
  font-size:clamp(1.02rem,1.55vw,1.22rem);
  line-height:1.75;
  max-width:660px;
  margin:0 0 22px;
}
/* Preis-Anker: auffällige Pille (Eyecatcher) */
.es-price-anchor{
  display:inline-block;
  background:linear-gradient(92deg,#F59E0B,#FBBF24);
  color:#1F2937;
  padding:10px 24px;
  border-radius:999px;
  font-weight:800;
  font-size:clamp(1rem,1.4vw,1.15rem);
  letter-spacing:.01em;
  margin:0 0 18px;
  box-shadow:0 10px 28px rgba(245,158,11,.42);
}
/* Meta-Zeile unter dem Preis: Vertragsfakten kompakt */
.es-price-meta{
  display:block;
  color:#B9C6DC !important;
  font-size:.88rem;
  margin:0 0 24px;
}
/* Badges: Pills mit Häkchen-Icon (rein visuell) */
.es-badges{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; padding:0; }
.es-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.22);
  color:#EAF0FA;
  padding:8px 16px;
  border-radius:999px;
  font-size:.87rem; font-weight:500;
  backdrop-filter:blur(4px);
}
.es-badge::before{ content:"✓"; color:#34D399; font-weight:800; font-size:.92rem; }
/* CTAs im Hero: primär (Paket) vs. Notfall (Amber) */
.es-btnrow{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.es-btn,.es-btnrow a[class*=es-btn]{
  display:inline-block; background:var(--es-blue); color:#fff !important;
  padding:14px 30px; border-radius:999px; font-weight:700; font-size:1rem;
  box-shadow:0 10px 26px rgba(46,124,246,.4);
  transition:all .22s; text-decoration:none;
}
.es-btn:hover,.es-btnrow a[class*=es-btn]:hover{
  background:var(--es-blue-dark); transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(46,124,246,.5);
}
.es-btn-outline{
  background:rgba(245,158,11,.14);
  color:#FFD584 !important;
  border:1.5px solid #F59E0B;
  padding:13px 28px; border-radius:999px; font-weight:700; transition:all .22s; text-decoration:none;
}
.es-btn-outline:hover{ background:#F59E0B; color:#1F2937 !important; }

/* ---------- Notfall-Seite: Telefonnummer als großer Augen-/Antipp-Fänger ---------- */
.es-phone-big{
  display:inline-flex; align-items:center; gap:12px;
  background:linear-gradient(92deg,#F59E0B,#FBBF24);
  color:#1F2937 !important;
  font-family:'Sora',sans-serif;
  font-size:clamp(1.1rem,2vw,1.5rem);
  font-weight:800;
  padding:14px 30px;
  border-radius:999px;
  box-shadow:0 10px 30px rgba(245,158,11,.45);
  text-decoration:none;
  margin:8px 0 4px;
  transition:transform .2s;
}
.es-phone-big:hover{ transform:translateY(-2px); }

/* ---------- Sektionen: klarere Hierarchie ---------- */
.page h2{
  margin-top:76px; padding-top:16px;
  font-size:clamp(1.5rem,2.6vw,2.05rem);
  letter-spacing:-.015em;
  text-wrap:balance;
}
.page h2::before{ width:64px; height:5px; border-radius:3px; }
.es-lead{ font-size:clamp(1.05rem,1.7vw,1.22rem); color:#334155; max-width:780px; margin:0 auto 48px; text-align:center; line-height:1.75; }

/* ---------- Karten: einheitlich ---------- */
.es-grid{ gap:24px; margin:32px 0; }
.es-card{
  border-radius:16px;
  padding:32px 26px;
  border:1px solid #E7EDF7;
  box-shadow:0 12px 34px rgba(11,18,32,.07);
}
.es-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 48px rgba(11,18,32,.16);
  border-color:#C9DDF7;
}
.es-card h3{ font-size:1.14rem; margin:0 0 12px; }
.es-card h3::before{
  content:""; display:inline-block; width:12px; height:12px; border-radius:4px;
  background:linear-gradient(135deg,var(--es-blue),#6FB1FF);
  margin-right:11px; vertical-align:1px;
  box-shadow:0 3px 10px rgba(46,124,246,.35);
}
.es-card p{ color:var(--es-muted); font-size:.95rem; line-height:1.65; }

/* ---------- Prozess-Schritte ---------- */
.es-steps{ gap:24px; margin:32px 0; counter-reset:esstep; overflow:visible !important; }
.es-step{
  border-radius:16px; padding:30px 24px;
  box-shadow:0 12px 30px rgba(11,18,32,.06);
}
.es-step b{
  background:linear-gradient(135deg,var(--es-navy),#20325A);
  border-radius:10px;
  padding:8px 16px;
  font-size:.9rem;
  box-shadow:0 6px 16px rgba(11,18,32,.28);
}
.es-step p{ color:var(--es-muted); font-size:.94rem; line-height:1.65; }

/* ---------- FAQ: weiche Panels ---------- */
.es-faq details{
  border-radius:14px; padding:18px 24px;
  transition:border-color .2s, box-shadow .2s;
}
.es-faq details:hover{ border-color:#C9DDF7; box-shadow:var(--es-shadow); }
.es-faq summary{ font-size:1.02rem; }

/* ---------- Tabelle: Responsive-Scroll ---------- */
.es-tablewrap{
  border-radius:16px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:768px){ .es-table{ min-width:720px; } }

/* ---------- Kontakt-Boxen ---------- */
.es-cbox{ transition:transform .2s, box-shadow .2s, border-color .2s; }
.es-cbox:hover{ transform:translateY(-3px); box-shadow:var(--es-shadow-lg); border-color:#C9DDF7; }

/* ---------- Branchen-Chips ---------- */
a.es-sector{ padding:10px 22px; font-size:.96rem; }

/* ---------- Mobile Sticky-Callbar (Notfall) ---------- */
.es-callbar{ display:none; }
@media (max-width:768px){
  .es-callbar{
    display:flex; align-items:center; justify-content:center; gap:10px;
    position:fixed; left:0; right:0; bottom:0; z-index:9999;
    background:linear-gradient(92deg,#F59E0B,#FBBF24);
    color:#1F2937; font-weight:800; font-size:1rem;
    padding:15px 20px;
    box-shadow:0 -6px 24px rgba(0,0,0,.25);
    text-decoration:none;
    box-sizing:border-box;
  }
  .es-callbar .es-callbar-icon{ font-size:1.15rem; }
  body{ padding-bottom:56px; }
}

/* ---------- Mobile-Feinschliff ---------- */
@media (max-width:1024px){
  .page-id-7 .es-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .es-hero{ padding:50px 20px 42px !important; }
  .es-hero h1{ font-size:1.72rem !important; letter-spacing:-.01em; }
  .es-hero .lead{ font-size:1rem !important; line-height:1.68; }
  .es-badge{ font-size:.8rem; padding:7px 13px; }
  .es-btn,.es-btnrow a[class*=es-btn],.es-btn-outline{ width:100%; text-align:center; box-sizing:border-box; }
  .page h2{ margin-top:56px; }
  .es-card,.es-step{ padding:24px 20px; }
  .es-phone-big{ font-size:1.05rem; padding:12px 24px; width:100%; justify-content:center; box-sizing:border-box; }
}
@media (max-width:520px){
  .es-hero h1{ font-size:1.5rem !important; }
  .es-price-anchor{ font-size:.95rem; padding:9px 18px; }
}

/* ===== ES360 Finalcheck: Vollwertiger Footer (Logo, Nav, Kontakt, Rechtliches) ===== */
.es360-footer{ background:#000 !important; border-top:1px solid #1E293B; }
.es360-footer-inner{
  max-width:1240px; margin:0 auto; padding:44px 24px 36px;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px;
}
.es360-fcol-title{
  color:#fff !important; font-family:'Sora',Inter,sans-serif;
  font-size:.95rem; text-transform:uppercase; letter-spacing:.04em;
  margin:0 0 16px;
}
.es360-footer-logo{ width:72px; height:72px; border-radius:12px; margin-bottom:14px; }
.es360-footer-claim{ color:#94A3B8; font-size:.92rem; line-height:1.6; margin:0 0 14px; }
.es360-footer-mark{ color:#64748B; font-size:.85rem; margin:0; }
.es360-footer-mark a{ color:#E2E8F0; text-decoration:none; }
.es360-footer-mark a:hover{ color:#fff; text-decoration:underline; }
.es360-footer-nav,.es360-footer-legal{
  list-style:none; margin:0; padding:0;
}
.es360-footer-nav li,.es360-footer-legal li{ margin:0 0 9px; }
.es360-footer-nav a,.es360-footer-legal a{ color:#CBD5E1; text-decoration:none; font-size:.92rem; }
.es360-footer-nav a:hover,.es360-footer-legal a:hover{ color:#fff; text-decoration:underline; }
.es360-footer-contact{ list-style:none; margin:0; padding:0; }
.es360-footer-contact li{ color:#94A3B8; font-size:.9rem; margin:0 0 9px; line-height:1.5; }
.es360-fc-label{ color:#CBD5E1; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; display:block; }
.es360-footer-contact a{ color:#E2E8F0; text-decoration:none; }
.es360-footer-contact a:hover{ color:#fff; text-decoration:underline; }
@media (max-width:1024px){
  .es360-footer-inner{ grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:640px){
  .es360-footer-inner{ grid-template-columns:1fr; padding:32px 20px 28px; }
}

/* ===== ES360 Finalcheck: Kontaktformular [es360_anfrage] ===== */
.es360-form{
  background:#fff; border:1px solid var(--es-line); border-radius:var(--es-radius);
  box-shadow:var(--es-shadow); padding:28px; margin:26px 0;
}
.es360-form label{ display:block; color:var(--es-text); font-weight:600; font-size:.9rem; margin:0 0 6px; }
.es360-form input[type=text],
.es360-form input[type=email],
.es360-form input[type=tel],
.es360-form textarea{
  width:100%; box-sizing:border-box; display:block;
  border:1px solid var(--es-line); border-radius:10px; padding:11px 14px;
  font:inherit; font-size:.95rem; color:var(--es-text); background:#FBFCFE;
  margin:0 0 18px; transition:border-color .2s, box-shadow .2s;
}
.es360-form input:focus,
.es360-form textarea:focus{ outline:none; border-color:var(--es-blue); box-shadow:0 0 0 3px rgba(46,124,246,.15); background:#fff; }
.es360-form textarea{ min-height:140px; resize:vertical; line-height:1.55; }
.es360-form .es360-dsgvo{ display:flex; align-items:flex-start; gap:10px; font-weight:500; font-size:.9rem; margin:4px 0 20px; color:var(--es-text); }
.es360-form .es360-dsgvo input{ margin:3px 0 0; }
.es360-submit{
  display:inline-block; background:var(--es-blue); color:#fff !important;
  border:0; border-radius:999px; padding:13px 30px; font-weight:600; font-size:.98rem;
  cursor:pointer; transition:background .2s, transform .2s, box-shadow .2s;
}
.es360-submit:hover{ background:var(--es-blue-dark); transform:translateY(-1px); box-shadow:var(--es-shadow); }
.es360-note{ color:var(--es-muted); font-size:.82rem; margin:12px 0 0; }
.es360-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.es360-ok{ background:#ECFDF5; border:1px solid #6EE7B7; color:#065F46; border-radius:10px; padding:12px 16px; margin:0 0 16px; font-weight:500; }
.es360-err{ background:#FEF2F2; border:1px solid #FCA5A5; color:#991B1B; border-radius:10px; padding:12px 16px; margin:0 0 16px; font-weight:500; }
@media (max-width:640px){ .es360-form{ padding:20px; } .es360-submit{ width:100%; text-align:center; } }

/* ===== v13-Fix (GO#3 I9, 2026-11-13) ===== */
/* Pakete-Seite (page-id-7): .es-grid blieb unter 768px in 2 Spalten, weil die
   spaetere @media(max-width:1024px)-Regel (repeat(2,1fr)) die fruehere
   768px-1fr-Regel gleicher Spezifitaet ueberschrieb. Karten ragten rechts
   ueber den Viewport. Fix: unter 768px zwingend 1 Spalte. */
@media (max-width:768px){
  .page-id-7 .es-grid{ grid-template-columns:1fr !important; }
}
