:root{
  --edx-blue:#1874CD;      /* corporate */
  --edx-ink:#121317;       /* almost-black */
  --edx-ink-2:#1b1e23;     /* slightly lighter for gradients */
  --edx-gray:#f6f7f8;      /* light section bg */
  --edx-border:#e6e8eb;
  --radius:18px;
}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color:var(--edx-ink)
}
.btn-edx{
  --bs-btn-bg:var(--edx-blue);
  --bs-btn-border-color:var(--edx-blue);
  --bs-btn-hover-bg:#0f60ad;
  --bs-btn-hover-border-color:#0f60ad;
  --bs-btn-color:#fff;
  border-radius:calc(var(--radius) - 8px);
}

/* Nav */
.navbar{backdrop-filter:saturate(180%) blur(8px);}

/* Hero */
.hero{
  position:relative; overflow:hidden; 
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(24,116,205,.18), transparent),
    linear-gradient(180deg, #fff 0%, #fff 75%, var(--edx-gray) 100%);
}
.hero .glow{
  position:absolute; inset:-20%;
  background:
    radial-gradient(600px 300px at 70% 10%, rgba(24,116,205,0.16), transparent),
    radial-gradient(400px 300px at 10% 20%, rgba(24,116,205,0.08), transparent);
  pointer-events:none; filter:saturate(140%);
}
.hero h1{font-weight:800; letter-spacing:-.02em}


/* Badge – hoher Kontrast */
.badge-lite{
  background:var(--edx-ink);
  color:#fff;
  border:0;
}

/* Reveal on scroll */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1; transform:none}

/* Stat counters */
.stat{font-size:clamp(2rem,4vw,3rem); font-weight:800}
.stat-sub{opacity:.7}

/* Section titles */
.section-title{font-weight:800; letter-spacing:-.02em}

/* Progress bar */
#scrollbar{
  position:fixed; top:0; left:0; height:3px; width:0;
  background:linear-gradient(90deg, var(--edx-blue), #0f60ad); z-index:1040
}

/* CTA dock */
.cta-dock{position:fixed; right:16px; bottom:16px; z-index:1040}

/* Accessibility */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0
}

/* Extras */
.bg-light{background-color:var(--edx-gray)!important}


/* Hero layering fix + soft right fade so Blau überlagert nicht die Karte */
.hero .glow{z-index:0}
.hero .container{position:relative; z-index:1}
.hero::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, transparent 0 55%, rgba(255,255,255,.85) 72%, #fff 100%)}

/* Section title accent */
.section-title{position:relative}
.section-title::after{content:""; position:absolute; left:0; bottom:-6px; width:72px; height:3px;
  background:linear-gradient(90deg, var(--edx-blue), #0f60ad); border-radius:2px}

/* Premium card treatment: gradient border on hover + slight lift */
.edx-card{position:relative; overflow:hidden}
.edx-card::before{content:""; position:absolute; inset:-1px; border-radius:calc(var(--radius) + 2px);
  background:linear-gradient(135deg, rgba(24,116,205,.45), rgba(24,116,205,0)); z-index:0; opacity:0; transition:opacity .25s ease}
.edx-card:hover::before{opacity:1}
.edx-card > *{position:relative; z-index:1}

/* Value props: decorative icon dot before headings */
.value-props .edx-card h3.h6{position:relative; padding-left:40px}
.value-props .edx-card h3.h6::before{content:""; position:absolute; left:10px; top:2px; width:22px; height:22px; border-radius:50%;
  background:linear-gradient(135deg, #1874CD, #0f60ad); box-shadow:0 2px 8px rgba(24,116,205,.35)}

/* Course tiles: passing sheen + tighter hover */
.course-tiles .edx-card{transition:transform .25s ease, box-shadow .25s ease}
.course-tiles .edx-card:hover{transform:translateY(-6px)}
.course-tiles .edx-card::after{content:""; position:absolute; top:0; left:-120%; width:40%; height:100%; transform:skewX(-20deg);
  background:linear-gradient(90deg, rgba(255,255,255,0) 0, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
  transition:left .6s ease}
.course-tiles .edx-card:hover::after{left:140%}

/* Facts banner: brand gradient + checklist + glass card */
.facts-band{background:linear-gradient(90deg, #1874CD 0%, #0f60ad 100%); color:#fff}
.facts-band .text-muted{color:rgba(255,255,255,.85)!important}
.facts-band ul li{position:relative; padding-left:34px; margin-bottom:.8rem}
.facts-band ul li::before{content:""; position:absolute; left:0; top:3px; width:18px; height:18px; border-radius:50%;
  background:rgba(255,255,255,.1); box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.facts-band ul li::after{content:""; position:absolute; left:5px; top:9px; width:8px; height:4px;
  border:2px solid #fff; border-top:none; border-right:none; transform:rotate(-45deg)}
.facts-band .edx-card{background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.25); backdrop-filter:blur(6px)}
.facts-band .btn-outline-dark{--bs-btn-color:#fff; --bs-btn-border-color:#fff; --bs-btn-hover-bg:#fff; --bs-btn-hover-color:#0f60ad}
.facts-band .btn-edx{--bs-btn-color:#fff}

/* Logo NavBar */

.navbar-edx .navbar-brand img {
  height: 32px;   /* Höhe */
  width: auto;   
}


.navbar-edx .navbar-brand { min-height: 64px; padding-block: 6px; }

/* mobile etwas kleiner, damit nichts umbrecht */
@media (max-width: 991.98px){
  .navbar-edx .navbar-brand img { height: 20px; }
  .navbar-edx .navbar-brand { min-height: 16px; padding-block: 4px; }
}


.edx-card{transition:none}
.edx-card:hover{transform:none; box-shadow:none}
.edx-card::before,.edx-card::after{display:none}

/* Keep interactivity only for course tiles */
.course-tiles .edx-card{position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease}
.course-tiles .edx-card:hover{transform:translateY(-6px); box-shadow:0 10px 30px rgba(0,0,0,.08)}
.course-tiles .edx-card::before{content:""; position:absolute; inset:-1px; border-radius:calc(var(--radius) + 2px);
  background:linear-gradient(135deg, rgba(24,116,205,.45), rgba(24,116,205,0)); z-index:0; opacity:0; transition:opacity .25s ease}
.course-tiles .edx-card:hover::before{opacity:1}

/* No-hover cards (hero quick-select, lead form, FAQ) */
.edx-static,.edx-static:hover{transform:none!important; box-shadow:none!important}
.edx-static::before,.edx-static::after{display:none!important}

/* Scroll-snap for course rows on mobile */
.scroll-row{--gap:1.5rem}
@media (max-width: 991.98px){
  .scroll-row{flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; gap:var(--gap)}
  .scroll-row > [class*="col-"]{min-width:72%; scroll-snap-align:start}
}



/* ===== Kundenfeedback mit EKG ===== */
.feedback-band{
  position:relative;
  background:linear-gradient(90deg,#1874CD 0%,#0f60ad 100%);
  color:#fff;
  overflow:hidden;
}
.feedback-band .section-title::after{
  background:rgba(255,255,255,.6);
  left:50%;
  transform:translateX(-50%);
}
.feedback-band .ecg{
  position:absolute;
  top:-6px; left:0;
  width:100%; height:140px;
  opacity:.35;
}
.feedback-band .ecg path{
  stroke:#fff;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:320 880;
  animation:dash 6s linear infinite;
}
@keyframes dash{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-1500}
}

/* Karten-Style */
.feedback-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(6px);
  border-radius:16px;
  padding:2rem;
  text-align:center;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.feedback-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.15);
}
.feedback-card .quote{
  font-size:1.1rem;
  line-height:1.5;
  margin-bottom:1.2rem;
}
.feedback-card .meta{
  font-size:.9rem;
  opacity:.9;
}
.feedback-card .role{
  font-weight:400;
  font-size:.85rem;
  opacity:.8;
}


/* ===== Value Props: NEO ===== */
.value-props-neo .vp-legend{opacity:.8}

/* Grid mit sanfter 3D-Anmutung */
.vcard{
  position:relative;
  background:#fff;
  border-radius:18px;
  padding:24px 20px 16px 20px;
  border:1px solid var(--edx-border);
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  height:100%;
}
@media (min-width: 992px){
  .vcard:hover{
    transform:translateY(-6px);
    box-shadow:0 14px 34px rgba(0,0,0,.08);
    border-color:rgba(24,116,205,.35);
  }
}

/* Gradient-Ribbon (linke Akzentfläche) */
.vcard .ribbon{
  position:absolute; inset:-1px auto -1px -1px; width:7px; border-radius:18px 0 0 18px;
  background:linear-gradient(180deg, #1874CD, #0f60ad);
}

/* Icon in „pill“ */
.vcard .v-icon{
  width:46px; height:46px; border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(24,116,205,.12), rgba(24,116,205,.06));
  color:var(--edx-blue);
  margin-bottom:10px;
}

/* Typografie */
.vcard .v-title{font-weight:800; letter-spacing:-.01em}
.vcard .v-text{color:#444; margin-bottom:10px}

/* Chips (Beweis/Proof) */
.vcard .v-chips{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px}
.vcard .chip{
  font-size:.75rem; padding:.2rem .5rem; border-radius:999px;
  border:1px solid rgba(24,116,205,.25); color:#1b2b3c; background:rgba(24,116,205,.06);
}

/* „Mehr erfahren“ – dezenter Link-Button */
.vcard .v-more{
  appearance:none; border:0; background:transparent; padding:0; margin-top:4px;
  font-size:.9rem; color:var(--edx-blue); font-weight:600; cursor:pointer;
}
.vcard .v-more:hover{text-decoration:underline}

/* Collapsed Content */
.vcard .v-more-content{margin-top:8px}

/* Reveal Unterstützung */
.value-props-neo .reveal{opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease}
.value-props-neo .reveal.visible{opacity:1; transform:none}

/* Mobile Komfort (leicht grössere hit areas) */
@media (max-width: 575.98px){
  .vcard{padding:20px 16px 14px 16px}
  .vcard .v-icon{width:42px;height:42px}
}
/* ===== Courses (MINIMAL) – zwei ruhige Kacheln ===== */
.courses-min .mincard{
  display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px 18px;
  text-decoration:none; color:inherit; position:relative;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.courses-min .mincard:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  border-color:rgba(24,116,205,.28);
}
.courses-min .mincard .icon{
  display:grid; place-items:center;
  width:44px; height:44px; border-radius:12px;
  color:#0f60ad; background:rgba(24,116,205,.08);
  flex:0 0 44px;
}
.courses-min .mincard .title{
  font-weight:800; letter-spacing:-.01em;
}
.courses-min .mincard .chev{
  margin-left:auto; align-self:center; font-size:1.1rem; opacity:.55;
  transition:transform .2s ease, opacity .2s ease;
}
.courses-min .mincard:hover .chev{
  transform:translateX(2px); opacity:1;
}

/* Mobile: Kacheln übereinander, genug Luft */
@media (max-width: 767.98px){
  .courses-min .mincard{ padding:16px 16px }
}

/* ===== Lead contact (MINIMAL) – Kacheln & Stack-Links ===== */
.lead-contact-min .mincard{
  display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px 18px;
  text-decoration:none; color:inherit; position:relative;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lead-contact-min .mincard:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  border-color:rgba(24,116,205,.28);
}
.lead-contact-min .mincard .icon{
  display:grid; place-items:center;
  width:44px; height:44px; border-radius:12px;
  color:#0f60ad; background:rgba(24,116,205,.08);
  flex:0 0 44px;
}
.lead-contact-min .mincard .title{
  font-weight:800; letter-spacing:-.01em;
}
.lead-contact-min .mincard .chev{
  margin-left:auto; align-self:center; font-size:1.05rem; opacity:.55;
  transition:transform .2s ease, opacity .2s ease;
}
.lead-contact-min .mincard:hover .chev{ transform:translateX(2px); opacity:1; }

/* Stapelkarte rechts */
.lead-contact-min .mincard.stack{
  display:block; padding:18px 18px;
}
.lead-contact-min .stack .title{ font-weight:800; letter-spacing:-.01em; }
.lead-contact-min .stack-links{ display:flex; flex-direction:column; gap:.6rem; }
.lead-contact-min .stack-link{
  display:flex; flex-direction:column; gap:.1rem;
  padding:.7rem .9rem; border-radius:12px;
  background:#f7f9fc; border:1px solid var(--edx-border);
  text-decoration:none; color:inherit; transition:background .2s ease, border-color .2s ease;
}
.lead-contact-min .stack-link:hover{ background:#f3f6fb; border-color:rgba(24,116,205,.28); }
.lead-contact-min .stack-link span{ font-weight:700; }
.lead-contact-min .stack-link em{ font-style:normal; font-size:.85rem; opacity:.75; }

/* Lead-Headline Unterstrich mittig (falls noch nicht gesetzt) */
#lead .section-title{display:inline-block; text-align:center}
#lead .section-title::after{left:50%; transform:translateX(-50%); bottom:-8px}

/* Mobile Feinschliff */
@media (max-width: 767.98px){
  .lead-contact-min .mincard{ padding:16px 16px }
}

/* ===== Header / Navbar Refresh ===== */
.navbar-edx{
  background:rgba(255,255,255,0.85);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--edx-border);
  box-shadow:0 4px 20px rgba(0,0,0,.04);
  transition:background .3s ease, box-shadow .3s ease;
}

/* Nav links */
.navbar-edx .nav-link{
  font-weight:600; color:var(--edx-ink); padding:.5rem 0;
  position:relative; transition:color .2s ease;
}
.navbar-edx .nav-link::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--edx-blue); transition:width .25s ease;
}
.navbar-edx .nav-link:hover,
.navbar-edx .nav-link:focus{
  color:var(--edx-blue);
}
.navbar-edx .nav-link:hover::after,
.navbar-edx .nav-link:focus::after{
  width:100%;
}

/* Dropdown styling */
.navbar-edx .dropdown-menu{
  border:1px solid var(--edx-border);
  border-radius:12px;
  padding:.5rem 0;
}
.navbar-edx .dropdown-item{
  font-weight:500; padding:.45rem 1rem;
  transition:background .2s ease, color .2s ease;
}
.navbar-edx .dropdown-item:hover{
  background:rgba(24,116,205,.06);
  color:var(--edx-blue);
}
/* Safety: Dropdown wirklich sichtbar machen, wenn .show gesetzt ist */
.dropdown-menu { display: none; }
.dropdown-menu.show { display: block; }

/* Z-Index über Content */
.navbar-edx { position: sticky; top: 0; z-index: 1040; }
.navbar-edx .dropdown-menu { z-index: 1060; }

/* Desktop: auch per Hover anzeigen (Fallback, falls JS klemmt) */
@media (min-width: 992px){
  .navbar-edx .dropdown:hover > .dropdown-menu { display: block; }
  .navbar-edx .dropdown > .dropdown-toggle:active { pointer-events: none; }
}

/* Lead-Headline: Unterstrich mittig ausrichten */
#lead .section-title{
  position:relative;
  display:inline-block;       
  text-align:center;
}
#lead .section-title::after{
  left:50%;
  transform:translateX(-50%); 
  background:linear-gradient(90deg, var(--edx-blue), #0f60ad);
  bottom:-8px;                  
}

/* ===== Footer (MINIMAL) ===== */
.site-footer{
  background:#fff;
  border-top:1px solid var(--edx-border);
  position:relative;
}
.site-footer::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--edx-blue), #0f60ad);
}
.site-footer .brand img{ display:block }
.site-footer .contact .icon{ color:#0f60ad }
.site-footer .footer-links li + li{ margin-top:.35rem }
.site-footer .footer-links a{
  color:inherit; text-decoration:none; position:relative;
}
.site-footer .footer-links a:hover{ color:#0f60ad }

/* Karten-Stil für Schnellkontakt (re-using Lead-Minimal) */
.site-footer .mincard{
  display:block; background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px 18px;
  text-decoration:none; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.site-footer .mincard:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  border-color:rgba(24,116,205,.28);
}
.site-footer .stack .title{ font-weight:800; letter-spacing:-.01em; }
.site-footer .stack-links{ display:flex; flex-direction:column; gap:.6rem; }
.site-footer .stack-link{
  display:flex; flex-direction:column; gap:.1rem;
  padding:.7rem .9rem; border-radius:12px;
  background:#f7f9fc; border:1px solid var(--edx-border);
  text-decoration:none; color:inherit;
  transition:background .2s ease, border-color .2s ease;
}
.site-footer .stack-link:hover{
  background:#f3f6fb; border-color:rgba(24,116,205,.28);
}
.site-footer .stack-link span{ font-weight:700; }
.site-footer .stack-link em{ font-style:normal; font-size:.85rem; opacity:.75; }

/* Mobile spacing */
@media (max-width: 767.98px){
  .site-footer .mincard{ padding:16px 16px; }
}
/* Impressum: blauen Balken zentrieren */
.impressum-title::after {
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, var(--edx-blue), #0f60ad);
}

/* Über uns – Intro */
.about-hero{
  background:#fff;
}
.about-title::after{
  left:50%; transform:translateX(-50%);
}

/* Leitbild: Nummer-Badge */
.badge-num{
  width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; font-weight:800; color:#fff;
  background:linear-gradient(135deg,#1874CD,#0f60ad);
  box-shadow:0 3px 10px rgba(24,116,205,.25); margin-bottom:.6rem;
}

/* Personen-/Teamkarten */
.person-card .avatar{
  width:120px; height:120px; object-fit:cover; border-radius:50%;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.xsmall{ font-size:.85rem; }
/* Team Overview – linksbündiger Textblock */
.team-overview {
  background: var(--edx-gray);
}
.team-overview .section-title {
  position: relative;
  text-align: left;        
}
.team-overview .section-title::after {
  content: "";
  position: absolute;
  left: 0;                
  bottom: -6px;
  width: 72px;
  height: 3px;
  background: linear-gradient(90deg, var(--edx-blue), #0f60ad);
  border-radius: 2px;
}

/* Zertifizierungs-Kacheln */
.badge-tile {
  display: flex;
  flex-direction: column;        
  align-items: center;         
  justify-content: center;
}

.badge-caption {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--edx-ink);
  line-height: 1.3;
}


/* Trust-Microband */
.trust-microband{
  background:linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color:#fff;
}
.trust-microband .dot{ opacity:.6; padding:0 .5rem; }
.trust-microband .quote{ opacity:.92; }

/* Footer Grundlayout */
footer.site-footer{
  background:#fff;
  border-top:1px solid var(--edx-border);
  position:relative;
}
footer.site-footer::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--edx-blue), #0f60ad);
}
/* Kleine Mail-Karte in den Personenkarten */
.email-box {
  background: rgba(24,116,205,0.06);      
  border: 1px solid rgba(24,116,205,0.2);
  border-radius: 8px;
  padding: 0.35rem 0.6rem;
  font-size: 0.9rem;
  color: var(--edx-blue);
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.email-box i {
  font-size: 1rem;
  opacity: 0.9;
}
.email-box:hover {
  background: var(--edx-blue);
  color: #fff;
}
.email-box:hover i {
  opacity: 1;
  color: #fff;
}

/* ===== Globale Link-Optimierung ===== */
a {
  color: var(--edx-blue);
  text-decoration: none;                 
  transition: color .2s ease, box-shadow .2s ease;
}

/* dezente Unterstreichung als animierte Linie */
a.link-underline,
a:not(.btn):not(.navbar-brand):not(.dropdown-item):not(.stretched-link) {
  position: relative;
}
a.link-underline::after,
a:not(.btn):not(.navbar-brand):not(.dropdown-item):not(.stretched-link)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: var(--edx-blue);
  opacity: 0.3;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease, opacity .25s ease;
}
a.link-underline:hover::after,
a:not(.btn):not(.navbar-brand):not(.dropdown-item):not(.stretched-link):hover::after {
  transform: scaleX(1);
  opacity: 0.9;
}


a:hover {
  color: #0f60ad;        
}


/* Kurse Erst-Helfer Übersicht */
/* Subhero / Breadcrumb */
.subhero .breadcrumb { --bs-breadcrumb-divider: '›'; }
.subhero .breadcrumb a { text-decoration: none; }

/* Kurs-Kacheln (Übersichtsseite) */
.ef-grid .course-tile .media-wrap {
  position: relative;
  aspect-ratio: 16/10;
  background: #eef3f8;
}
.ef-grid .course-tile .media-wrap img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.badge-overlay {
  position: absolute; left: 12px; top: 12px;
  background: rgba(18,19,23,.8); color: #fff;
  font-size: .75rem; padding: .25rem .5rem; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.15);
}
.mini-points { list-style: none; padding-left: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
.mini-points li { font-size: .8rem; color: #6c757d; position: relative; padding-left: 14px; }
.mini-points li::before {
  content: ""; position: absolute; left: 0; top: .55em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--edx-blue);
}

/* Callout unten */
.contact-callout { background: linear-gradient(180deg,#fff, #f9fbfe); }
.contact-callout .btn { white-space: nowrap; }

/* Kurse BLS-AED-SRC Kompakt */

.page-ef-kompakt .hero.hero--compact {
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-ef-kompakt .hero.hero--compact h1 { font-weight: 800; letter-spacing: .2px; }

/* KPIs */
.page-ef-kompakt .kpis .kpi { display:flex; gap:.5rem; align-items:center; }
.page-ef-kompakt .kpis .kpi i { font-size:1.1rem; }

/* Trust microband */
.page-ef-kompakt .trust-micro {
  background: linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color: #fff;
}
.page-ef-kompakt .trust-micro .dot { opacity:.6; padding:0 .5rem; }

/* Nutzenkacheln (kcard) */
.page-ef-kompakt .kcard{
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px; height:100%;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 992px){
  .page-ef-kompakt .kcard:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:rgba(24,116,205,.28);
  }
}
.page-ef-kompakt .kicon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  color:#0f60ad; background:rgba(24,116,205,.08); margin-bottom:8px;
}
.page-ef-kompakt .ktext{ color:#444; }

/* Ablauf-Box */
.page-ef-kompakt .card-soft{
  border:1px solid #eee; border-radius:1rem;
}

/* Kleinzeug */
.page-ef-kompakt .text-muted { color:#6c757d !important; }
.page-ef-kompakt .section-title { font-weight:800; letter-spacing:-.02em; }
.page-ef-kompakt .breadcrumb .link-underline:after{ opacity:.35; }

/* Utility */
.fw-800{ font-weight:800; }
.text-edx{ color:var(--edx-blue); }

/* === BLS-AED-SRC Komplett – Seitenspezifisch === */
.page-ef-komplett .hero.hero--compact {
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-ef-komplett .hero.hero--compact h1 { font-weight: 800; letter-spacing: .2px; }

/* KPIs */
.page-ef-komplett .kpis .kpi { display:flex; gap:.5rem; align-items:center; }
.page-ef-komplett .kpis .kpi i { font-size:1.1rem; }

/* Trust microband */
.page-ef-komplett .trust-micro {
  background: linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color: #fff;
}
.page-ef-komplett .trust-micro .dot { opacity:.6; padding:0 .5rem; }
.page-ef-komplett .cred-logo { width:26px; height:26px; object-fit:contain; filter: drop-shadow(0 1px 1px rgba(0,0,0,.15)); }

/* Nutzenkacheln */
.page-ef-komplett .kcard{
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px; height:100%;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 992px){
  .page-ef-komplett .kcard:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:rgba(24,116,205,.28);
  }
}
.page-ef-komplett .kicon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  color:#0f60ad; background:rgba(24,116,205,.08); margin-bottom:8px;
}
.page-ef-komplett .ktext{ color:#444; }

/* Boxen */
.page-ef-komplett .card-soft{ border:1px solid #eee; border-radius:1rem; }
.page-ef-komplett .reg-box{
  background:#fff; border:1px solid var(--edx-border); border-radius:16px;
}
.page-ef-komplett .reg-box .title{ font-weight:800; letter-spacing:-.01em; }


/* Kleinzeug */
.page-ef-komplett .text-muted { color:#6c757d !important; }
.page-ef-komplett .section-title { font-weight:800; letter-spacing:-.02em; }
.page-ef-komplett .breadcrumb .link-underline:after { opacity:.35; }

/* Anerkennungen unten – Komplett */
.page-ef-komplett .cred-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 991.98px){
  .page-ef-komplett .cred-grid{ grid-template-columns: 1fr; }
}
.page-ef-komplett .cred-item{
  display:flex; gap:16px; align-items:center;
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:16px 18px;
}
.page-ef-komplett .cred-item .logo-wrap{
  flex:0 0 auto; width:84px; height:84px;
  display:grid; place-items:center; border-radius:12px;
  background:#fff;
}
.page-ef-komplett .cred-item .logo-wrap img{
  max-width: 100%; max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.page-ef-komplett .cred-item .cred-text p{ font-size: .95rem; }

/* === Vereinheitlichung: Kursvergleich-Box (für BEIDE Seiten) === */

.compare-box{
  background:#fff;
  border:1px solid var(--edx-border);
  border-radius:16px;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.compare-box .title{ font-weight:800; letter-spacing:-.01em; }
.compare-box .option{
  padding:.6rem .75rem;
  border-radius:10px;
  border:1px solid var(--edx-border);
  transition:.2s;
}
.compare-box .option + .option{ margin-top:.5rem; }
.compare-box .option .head{
  display:flex; align-items:center; gap:.4rem; margin-bottom:.25rem;
}
.compare-box .option .badge{ font-size:.75rem; padding:.35em .65em; }
.compare-box .option.active{
  border-color:rgba(24,116,205,.3);
  background:linear-gradient(90deg,rgba(24,116,205,.06),#fff);
}

.badge.bg-edx{ background:var(--edx-blue); }

.compare-box.alt .option.active{ border-color:var(--edx-blue); }

.compare-box .option .head strong{ font-weight:700; }

/* === Erste Hilfe Kleinkinder – Seitenspezifisch === */
.page-ef-kids .hero.hero--compact{
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-ef-kids .hero.hero--compact h1{ font-weight:800; letter-spacing:.2px; }

/* KPIs */
.page-ef-kids .kpis .kpi{ display:flex; gap:.5rem; align-items:center; }
.page-ef-kids .kpis .kpi i{ font-size:1.1rem; }

/* Trust microband */
.page-ef-kids .trust-micro{
  background: linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color:#fff;
}
.page-ef-kids .trust-micro .dot{ opacity:.6; padding:0 .5rem; }

/* Nutzenkacheln */
.page-ef-kids .kcard{
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px; height:100%;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 992px){
  .page-ef-kids .kcard:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:rgba(24,116,205,.28);
  }
}
.page-ef-kids .kicon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  color:#0f60ad; background:rgba(24,116,205,.08); margin-bottom:8px;
}
.page-ef-kids .ktext{ color:#444; }

/* Boxen */
.page-ef-kids .card-soft{ border:1px solid #eee; border-radius:1rem; }

/* Vergleichsbox */
.page-ef-kids .compare-box{ background:#fff; border:1px solid var(--edx-border); border-radius:16px; box-shadow:0 2px 10px rgba(0,0,0,.03); }
.page-ef-kids .compare-box .option{ padding:.6rem .75rem; border-radius:10px; border:1px solid var(--edx-border); transition:.2s; }
.page-ef-kids .compare-box .option + .option{ margin-top:.5rem; }
.page-ef-kids .compare-box .option.active{ border-color:rgba(24,116,205,.3); background:linear-gradient(90deg,rgba(24,116,205,.06),#fff); }
.badge.bg-edx{ background:var(--edx-blue); } 

/* 145 – Tox Info Suisse */
.page-ef-kids .tox-card{
  background:#fff; border:1px solid var(--edx-border); border-radius:16px;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}
.page-ef-kids .tox-counter{
  display:flex; justify-content:center; gap:10px;
}
.page-ef-kids .tox-counter .digit{
  width:64px; height:82px; border-radius:12px; display:grid; place-items:center;
  font-weight:800; font-size:2rem; color:#0f60ad; background:rgba(24,116,205,.08);
  box-shadow: inset 0 0 0 1px rgba(24,116,205,.25), 0 6px 16px rgba(0,0,0,.08);
  animation: countIn .7s ease both;
}
.page-ef-kids .tox-counter .digit:nth-child(1){ animation-delay:.0s; }
.page-ef-kids .tox-counter .digit:nth-child(2){ animation-delay:.08s; }
.page-ef-kids .tox-counter .digit:nth-child(3){ animation-delay:.16s; }
@keyframes countIn{
  from{ transform: translateY(6px); opacity:0; }
  to{ transform:none; opacity:1; }
}

/* Kleinzeug */
.page-ef-kids .text-muted{ color:#6c757d !important; }
.page-ef-kids .section-title{ font-weight:800; letter-spacing:-.02em; }
.page-ef-kids .breadcrumb .link-underline:after{ opacity:.35; }

/* === Erste Hilfe bei Elektrounfällen – Seitenspezifisch === */
.page-ef-elektro .hero.hero--compact{
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-ef-elektro .hero.hero--compact h1{ font-weight:800; letter-spacing:.2px; }

/* KPIs */
.page-ef-elektro .kpis .kpi{ display:flex; gap:.5rem; align-items:center; }
.page-ef-elektro .kpis .kpi i{ font-size:1.1rem; }

/* Trust microband */
.page-ef-elektro .trust-micro{
  background: linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color:#fff;
}
.page-ef-elektro .trust-micro .dot{ opacity:.6; padding:0 .5rem; }

/* Nutzenkacheln */
.page-ef-elektro .kcard{
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px; height:100%;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 992px){
  .page-ef-elektro .kcard:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:rgba(24,116,205,.28);
  }
}
.page-ef-elektro .kicon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  color:#0f60ad; background:rgba(24,116,205,.08); margin-bottom:8px;
}
.page-ef-elektro .ktext{ color:#444; }

/* Boxen */
.page-ef-elektro .card-soft{ border:1px solid #eee; border-radius:1rem; }
.page-ef-elektro .reg-box{ background:#fff; border:1px solid var(--edx-border); border-radius:16px; }
.page-ef-elektro .reg-box .title{ font-weight:800; letter-spacing:-.01em; }

/* Vergleichsbox */
.page-ef-elektro .compare-box{ background:#fff; border:1px solid var(--edx-border); border-radius:16px; box-shadow:0 2px 10px rgba(0,0,0,.03); }
.page-ef-elektro .compare-box .option{ padding:.6rem .75rem; border-radius:10px; border:1px solid var(--edx-border); transition:.2s; }
.page-ef-elektro .compare-box .option + .option{ margin-top:.5rem; }
.page-ef-elektro .compare-box .option.active{ border-color:rgba(24,116,205,.3); background:linear-gradient(90deg,rgba(24,116,205,.06),#fff); }
.badge.bg-edx{ background:var(--edx-blue); } 

/* Kleinzeug */
.page-ef-elektro .text-muted{ color:#6c757d !important; }
.page-ef-elektro .section-title{ font-weight:800; letter-spacing:-.02em; }
.page-ef-elektro .breadcrumb .link-underline:after{ opacity:.35; }

/* Anerkennung unten – Elektrounfälle */
.page-ef-elektro .elektro-cred{
  display:grid; grid-template-columns: 1fr; gap:18px;
}
.page-ef-elektro .elektro-cred .cred-item{
  display:flex; gap:16px; align-items:center;
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:16px 18px;
}
.page-ef-elektro .elektro-cred .logo-wrap{
  flex:0 0 auto; width:84px; height:84px;
  display:grid; place-items:center; border-radius:12px; background:#fff;
}
.page-ef-elektro .elektro-cred .logo-wrap img{
  max-width:100%; max-height:100%; object-fit:contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.page-ef-elektro .elektro-cred .cred-text p{ font-size:.95rem; }

/* === Notfalltraining Arztpraxis – Professionals === */
.page-pro-arztpraxis .hero.hero--compact{
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-pro-arztpraxis .hero.hero--compact h1{ font-weight:800; letter-spacing:.2px; }

/* KPIs */
.page-pro-arztpraxis .kpis .kpi{ display:flex; gap:.5rem; align-items:center; }
.page-pro-arztpraxis .kpis .kpi i{ font-size:1.1rem; }

/* Trust microband */
.page-pro-arztpraxis .trust-micro{
  background: linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color:#fff;
}
.page-pro-arztpraxis .trust-micro .dot{ opacity:.6; padding:0 .5rem; }

/* Nutzenkacheln */
.page-pro-arztpraxis .kcard{
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px; height:100%;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 992px){
  .page-pro-arztpraxis .kcard:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:rgba(24,116,205,.28);
  }
}
.page-pro-arztpraxis .kicon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  color:#0f60ad; background:rgba(24,116,205,.08); margin-bottom:8px;
}
.page-pro-arztpraxis .ktext{ color:#444; }

/* Boxen */
.page-pro-arztpraxis .card-soft{ border:1px solid #eee; border-radius:1rem; }
.page-pro-arztpraxis .reg-box{ background:#fff; border:1px solid var(--edx-border); border-radius:16px; }
.page-pro-arztpraxis .reg-box .title{ font-weight:800; letter-spacing:-.01em; }

/* Hinweiszeile */
.page-pro-arztpraxis .compare-line{
  display:flex; align-items:center; gap:.75rem;
  background:#fff; border:1px solid var(--edx-border); border-radius:16px;
  padding:12px 14px; margin-top:8px;
}
.page-pro-arztpraxis .compare-line .item{ font-size:.95rem; }

/* Anerkennung unten – Professionals */
.page-pro-arztpraxis .cred-grid-pro{
  display:grid; grid-template-columns: 1fr; gap:18px;
}
.page-pro-arztpraxis .cred-grid-pro .cred-item{
  display:flex; gap:16px; align-items:center;
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:16px 18px;
}
.page-pro-arztpraxis .cred-grid-pro .logo-wrap{
  flex:0 0 auto; width:84px; height:84px;
  display:grid; place-items:center; border-radius:12px; background:#fff;
}
.page-pro-arztpraxis .cred-grid-pro .logo-wrap img{
  max-width:100%; max-height:100%; object-fit:contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.page-pro-arztpraxis .cred-grid-pro .cred-text p{ font-size:.95rem; }

/* Kleinzeug */
.page-pro-arztpraxis .text-muted{ color:#6c757d !important; }
.page-pro-arztpraxis .section-title{ font-weight:800; letter-spacing:-.02em; }
.page-pro-arztpraxis .breadcrumb .link-underline:after{ opacity:.35; }

/* === Injektionen & Infusionen – Professionals === */
.page-pro-injinf .hero.hero--compact{
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-pro-injinf .hero.hero--compact h1{ font-weight:800; letter-spacing:.2px; }

/* KPIs */
.page-pro-injinf .kpis .kpi{ display:flex; gap:.5rem; align-items:center; }
.page-pro-injinf .kpis .kpi i{ font-size:1.1rem; }

/* Trust microband */
.page-pro-injinf .trust-micro{
  background: linear-gradient(90deg, #1874CD 0%, #0f60ad 100%);
  color:#fff;
}
.page-pro-injinf .trust-micro .dot{ opacity:.6; padding:0 .5rem; }

/* Nutzenkacheln */
.page-pro-injinf .kcard{
  background:#fff; border:1px solid var(--edx-border);
  border-radius:16px; padding:18px; height:100%;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (min-width: 992px){
  .page-pro-injinf .kcard:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    border-color:rgba(24,116,205,.28);
  }
}
.page-pro-injinf .kicon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  color:#0f60ad; background:rgba(24,116,205,.08); margin-bottom:8px;
}
.page-pro-injinf .ktext{ color:#444; }

/* Boxen */
.page-pro-injinf .card-soft{ border:1px solid #eee; border-radius:1rem; }
.page-pro-injinf .reg-box{ background:#fff; border:1px solid var(--edx-border); border-radius:16px; }
.page-pro-injinf .reg-box .title{ font-weight:800; letter-spacing:-.01em; }

/* Vergleichs-/Kombi-Box */
.page-pro-injinf .compare-box{ background:#fff; border:1px solid var(--edx-border); border-radius:16px; box-shadow:0 2px 10px rgba(0,0,0,.03); }
.page-pro-injinf .compare-box .option{ padding:.6rem .75rem; border-radius:10px; border:1px solid var(--edx-border); transition:.2s; }
.page-pro-injinf .compare-box .option + .option{ margin-top:.5rem; }
.page-pro-injinf .compare-box .option.active{ border-color:rgba(24,116,205,.3); background:linear-gradient(90deg,rgba(24,116,205,.06),#fff); }
.badge.bg-edx{ background:var(--edx-blue); } 

/* Kleinzeug */
.page-pro-injinf .text-muted{ color:#6c757d !important; }
.page-pro-injinf .section-title{ font-weight:800; letter-spacing:-.02em; }
.page-pro-injinf .breadcrumb .link-underline:after{ opacity:.35; }

/* === Kontaktseite === */
.page-contact .hero.hero--compact {
  padding: 3.5rem 0 2.5rem;
  border-bottom: 1px solid #eee;
}
.page-contact .hero.hero--compact h1 {
  font-weight: 800;
  letter-spacing: .2px;
}
.page-contact form .form-control:focus {
  border-color: var(--edx-blue);
  box-shadow: 0 0 0 0.2rem rgba(24,116,205,.15);
}
.page-contact .card-soft {
  border: 1px solid var(--edx-border);
  border-radius: 1rem;
}
.page-contact .btn-edx {
  font-weight: 600;
}
