:root {
  --blue-primary: #2563eb;
  --blue-hover: #1d4ed8;
  --blue-soft: #eff6ff;
  --blue-mid: #3b82f6;
  --blue-dark: #1e3a8a;
  --text-main: #0f172a;
  --orange-primary: #f97316;
  --orange-hover: #ea580c;
  --yellow-primary: #fde047;
  --yellow-mid: #facc15;
  --yellow-hover: #fef08a;
  --white: #ffffff;
  --gray-light: #f8fafc;
  --gray-border: #e2e8f0;
}


:root{
  --bg:#eef3fb;
  --surface:#ffffff;
  --surface-soft:#f7f9fe;
  --text:#142347;
  --muted:#66758d;
  --line:#e4ebf6;
  --blue-1:#486dff;
  --blue-2:#223db4;
  --gold-1:#ff9800;
  --gold-2:#ffc328;
  --navy:#13264e;
  --shadow:0 18px 48px rgba(20,35,71,.08);
  --shadow-lg:0 34px 80px rgba(20,35,71,.12);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, Arial, Helvetica, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(72,109,255,.10), transparent 24%),
    radial-gradient(circle at top right, rgba(255,152,0,.10), transparent 26%),
    linear-gradient(180deg,#f9fbff 0%, var(--bg) 100%);
  line-height:1.55;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(calc(100% - 32px), var(--max));margin:0 auto}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.site-header{
  position:sticky;
  top:0;
  z-index:120;
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(228,235,246,.95);
}
.header-inner{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.logo{height:76px;width:auto}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:30px;
  font-size:15px;
  font-weight:800;
  color:var(--navy);
}
.desktop-nav a{opacity:.9}
.desktop-nav a:hover{opacity:1}
.desktop-nav a.is-active{
  opacity:1;
  position:relative;
}
.desktop-nav a.is-active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:3px;
  border-radius: 8px;
  background:linear-gradient(135deg,var(--blue-1),var(--blue-2));
}
@media (max-width: 820px){
  .desktop-nav a.is-active::after{
    display:none;
  }
}
.header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius: 8px;
  color:#fff;
  background:linear-gradient(135deg,#ff8a00,#ffb347);
  box-shadow:0 16px 34px rgba(243,156,61,.28);
}
.mobile-toggle{
  display:none;
  min-height:52px;
  padding:0 18px;
  border-radius: 8px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  font-weight:800;
  box-shadow:0 12px 24px rgba(20,35,71,.06);
  cursor:pointer;
}

.hero-desktop{
  padding:28px 0 18px;
}
.hero-shell{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:stretch;
}
.hero-copy,
.hero-visual{
  position:relative;
}
.hero-copy{
  padding:36px;
  border:1px solid var(--line);
  border-radius: 8px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.hero-copy::after{
  content:"";
  position:absolute;
  left:-80px;
  bottom:-120px;
  width:280px;
  height:280px;
  background:radial-gradient(circle, rgba(72,109,255,.14), transparent 68%);
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius: 8px;
  background:#eef2ff;
  color:#3557da;
  border:1px solid #dde6ff;
  font-size:14px;
  font-weight:800;
}
.hero-copy h1{
  margin:16px 0 12px;
  font-size:clamp(40px,5vw,62px);
  line-height:1.02;
  letter-spacing:-.038em;
  max-width:760px;
}
.lead{
  margin:0;
  font-size:20px;
  color:var(--muted);
  max-width:720px;
}
.hero-search{
  display:flex;
  gap:14px;
  margin-top:28px;
}
.input-shell{
  flex:1;
  background:#fff;
  border:1px solid var(--line);
  border-radius: 8px;
  box-shadow:0 14px 28px rgba(20,35,71,.06);
  overflow:hidden;
}
.input-shell input{
  width:100%;
  min-height:72px;
  padding:0 22px;
  border:0;
  outline:0;
  font-size:22px;
  font-weight:700;
  color:var(--navy);
  background:transparent;
}
.input-shell input::placeholder{
  color:#6a7890;
  font-weight:700;
}
.search-btn{
  border:0;
  min-width:220px;
  min-height:72px;
  border-radius: 8px;
  font-size:22px;
  font-weight:800;
  color:#fff;
  cursor:pointer;
  box-shadow:0 18px 38px rgba(243,156,61,.28);
}
.search-btn.strom{
  background:linear-gradient(135deg,#ff8a00,#ffb347);
}
.hero-microtrust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.hero-microtrust span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius: 8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 22px rgba(20,35,71,.04);
  font-size:14px;
  font-weight:800;
}
.hero-feature-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:22px;
}
.feature-card{
  display:flex;
  gap:14px;
  padding:18px;
  border-radius: 8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 24px rgba(20,35,71,.05);
}
.feature-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 8px;
  background:#fff3df;
  color:#ff9800;
  font-weight:900;
  font-size:22px;
}
.feature-card strong{
  display:block;
  margin-bottom:4px;
  font-size:17px;
  line-height:1.2;
}
.feature-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.hero-visual{
  border-radius: 8px;
  overflow:hidden;
}
.visual-main{
  height:100%;
  min-height:520px;
  padding:26px;
  border:1px solid rgba(255,255,255,.45);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.84)),
    radial-gradient(circle at 20% 20%, rgba(255,195,40,.20), transparent 22%),
    radial-gradient(circle at 80% 20%, rgba(72,109,255,.16), transparent 24%),
    linear-gradient(135deg,#fff8ea 0%, #eef5ff 100%);
  box-shadow:var(--shadow-lg);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
}
.visual-main::before{
  content:"";
  position:absolute;
  right:-30px;
  top:90px;
  width:240px;
  height:240px;
  border-radius: 8px;
  background:radial-gradient(circle, rgba(255,195,40,.18), transparent 64%);
}
.visual-main::after{
  content:"";
  position:absolute;
  left:-30px;
  bottom:40px;
  width:220px;
  height:220px;
  border-radius: 8px;
  background:radial-gradient(circle, rgba(72,109,255,.14), transparent 64%);
}
.visual-top,
.visual-bottom,
.visual-content{position:relative;z-index:1}
.visual-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.badge-light,
.mini-pill{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius: 8px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(228,235,246,.92);
  font-size:14px;
  font-weight:800;
}
.visual-headline{
  max-width:420px;
  font-size:36px;
  line-height:1.04;
  letter-spacing:-.03em;
  font-weight:900;
  margin:18px 0 10px;
}
.visual-content p{
  margin:0;
  max-width:420px;
  color:var(--muted);
  font-size:18px;
}
.visual-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px;
}
.stat-box{
  padding:18px;
  border-radius: 8px;
  color:#fff;
  box-shadow:0 18px 34px rgba(20,35,71,.12);
}
.stat-box span{
  display:inline-flex;
  padding:6px 11px;
  border-radius: 8px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.24);
  font-size:12px;
  font-weight:800;
}
.stat-box strong{
  display:block;
  margin:12px 0 6px;
  font-size:42px;
  line-height:1;
}
.stat-box small{
  display:block;
  font-size:14px;
  line-height:1.35;
  color:rgba(255,255,255,.95);
}
.stat-box.strom{
  background:linear-gradient(135deg,var(--blue-1),var(--blue-2));
}
.stat-box.gas{
  background:linear-gradient(135deg,#ff8a00,#ffb347);
}
.visual-bottom{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px;
}
.mini-panel{
  padding:18px;
  border-radius: 8px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(228,235,246,.94);
  box-shadow:0 12px 24px rgba(20,35,71,.05);
}
.mini-panel strong{
  display:block;
  margin-bottom:4px;
  font-size:16px;
}
.mini-panel p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

.compare-section{padding:12px 0 16px}
.compare-card{
  padding:18px;
  border:1px solid var(--line);
  border-radius: 8px;
  background:rgba(255,255,255,.95);
  box-shadow:var(--shadow-lg);
}
.compare-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.partner-badge{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius: 8px;
  background:#eef2ff;
  color:#3557da;
  border:1px solid #dde6ff;
  font-size:14px;
  font-weight:800;
}
.compare-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.compare-chips span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border-radius: 8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 20px rgba(20,35,71,.04);
  font-size:13px;
  font-weight:800;
}
.tab-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.tab{
  min-height:62px;
  border:0;
  border-radius: 8px;
  background:var(--surface-soft);
  color:var(--navy);
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.tab.active{
  background:#fff;
  box-shadow:0 12px 24px rgba(20,35,71,.08);
  border:1px solid #edf1f7;
}
.frame-wrapper{
  position:relative;
  border-radius: 8px;
  overflow:hidden;
}
.premium-frame{
  box-shadow:0 32px 80px rgba(32,55,111,.10), 0 10px 26px rgba(255,152,0,.08);
}
.frame{
  width:100%;
  height:84vh;
  min-height:690px;
  max-height:820px;
  border:none;
  display:none;
  background:#fff;
}
.frame.active{display:block}
.under-frame{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
  margin-top:14px;
}
.under-card{
  padding:18px;
  border-radius: 8px;
  background:#fbfdff;
  border:1px solid var(--line);
  box-shadow:0 10px 22px rgba(20,35,71,.04);
}
.under-card strong{
  display:block;
  margin-bottom:4px;
  font-size:16px;
}
.under-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.fallback-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.small-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  border-radius: 8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 22px rgba(20,35,71,.05);
  font-size:14px;
  font-weight:800;
}

.section{padding:28px 0}
.section-head{margin-bottom:16px}
.section-head h2{
  margin:0 0 8px;
  font-size:clamp(30px,4vw,44px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.section-head p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:18px;
}
.grid-3,
.grid-2,
.topics-grid{
  display:grid;
  gap:18px;
}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.topics-grid{grid-template-columns:repeat(5,1fr)}
.extra-gap{margin-top:18px}
.card{
  padding:24px;
  border-radius: 8px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 14px 28px rgba(20,35,71,.05);
}
.kicker{
  display:inline-block;
  margin-bottom:10px;
  color:#3557da;
  font-size:13px;
  font-weight:800;
}
.card h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.14;
}
.card p{
  margin:0;
  color:var(--muted);
}
.number{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 8px;
  background:#edf2ff;
  color:#243fb6;
  font-size:20px;
  font-weight:900;
  margin-bottom:12px;
}
.check-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}
.check-list li{
  position:relative;
  padding-left:28px;
  font-weight:600;
}
.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#11945a;
  font-weight:900;
}

.footer{
  margin-top:38px;
  background:#122342;
  color:#dbe6f6;
}
.footer-inner{
  display:grid;
  grid-template-columns:1fr 1fr 1.4fr;
  gap:24px;
  padding:34px 0;
}
.footer-block h4,
.footer-note h4{
  margin:0 0 12px;
  font-size:16px;
}
.footer-block a,
.footer-note p{
  display:block;
  color:rgba(219,230,246,.82);
  font-size:13px;
  line-height:1.7;
  margin:0;
}
.footer-note{
  padding:0;
  border-radius:0;
  background:none;
  border:none;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:16px 0 24px;
  color:#c7d4e7;
  font-size:13px;
}

.sticky-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:110;
  padding:12px 16px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
  transform:translateY(calc(100% + 24px));
  opacity:0;
  pointer-events:none;
  transition:transform .28s ease, opacity .28s ease;
}
.sticky-cta.is-hidden{
  transform:translateY(calc(100% + 24px)) !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.sticky-cta:not(.is-hidden){
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.sticky-inner{
  width:min(calc(100% - 8px), 920px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.sticky-btn{
  min-height:56px;
  padding:12px 18px;
  border-radius: 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  font-weight:800;
  font-size:clamp(18px, 3.9vw, 22px);
  line-height:1.12;
  letter-spacing:-0.02em;
  white-space:nowrap;
}
.sticky-btn.strom{
  background:linear-gradient(135deg,var(--blue-1),var(--blue-2));
  box-shadow:0 16px 34px rgba(52,87,218,.28);
}
.sticky-btn.gas{
  background:linear-gradient(135deg,#ff8a00,#ffb347);
  box-shadow:0 16px 34px rgba(243,156,61,.28);
}
.page-spacer{height:96px}

@media (max-width: 1080px){
  .hero-shell{grid-template-columns:1fr}
  .compare-meta{flex-direction:column;align-items:flex-start}
  .grid-3{grid-template-columns:1fr}
  .topics-grid{grid-template-columns:repeat(2,1fr)}
  .under-frame{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width: 820px){
  .desktop-nav{display:none}
  .mobile-toggle{display:block}
  .header-inner{min-height:88px;position:relative}
  .logo{height:58px}
  .hero-desktop{padding:18px 0 12px}
  .hero-copy{padding:24px}
  .hero-copy h1{font-size:clamp(32px,9vw,44px)}
  .lead{font-size:17px}
  .hero-search{flex-direction:column}
  .search-btn{min-width:100%}
  .hero-feature-row,
  .visual-stats,
  .visual-bottom,
  .grid-2,
  .topics-grid{grid-template-columns:1fr}
  .hero-shell{gap:16px}
  .visual-main{min-height:auto}
  .frame{
    height:84vh;
    min-height:700px;
    max-height:840px;
  }
  .footer-inner{grid-template-columns:1fr}
  .desktop-nav.is-open{
    display:flex !important;
    position:absolute;
    top:100%;
    right:0;
    left:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    margin-top:10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius: 8px;
    box-shadow:0 18px 40px rgba(20,35,71,.12);
  }
  .desktop-nav.is-open a{
    padding:14px 16px;
    border-radius: 8px;
  }
  .desktop-nav.is-open .header-cta{
    margin-top:6px;
  }
}


/* REAL IMAGES */
.hero-photo-card{
  min-height:520px;
  border-radius: 8px;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00)),
    url('../img/hero-couple.png') center/cover no-repeat;
  box-shadow:0 34px 80px rgba(20,35,71,.12);
  border:1px solid rgba(255,255,255,.45);
}
.hero-photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.00) 100%);
}
.hero-photo-overlay{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  z-index:2;
}
.photo-badge,
.photo-note{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 16px;
  border-radius: 8px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 12px 24px rgba(20,35,71,.08);
  font-size:14px;
  font-weight:800;
  color:#142347;
}

.image-band{
  padding:10px 0 8px;
}
.image-band-card{
  min-height:300px;
  border-radius: 8px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--line);
  box-shadow:var(--shadow-lg);
}
.image-band-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.72) 38%, rgba(255,255,255,.14) 100%);
}
.image-band-energy .image-band-card{
  background:url('../img/image-set.png') center center/cover no-repeat;
  background-position:center 50%;
}
.image-band-contract .image-band-card{
  background:url('../img/image-set.png') center center/cover no-repeat;
  background-position:right center;
}
.image-band-copy{
  position:relative;
  z-index:2;
  max-width:560px;
  padding:34px;
}
.image-band-copy h2{
  margin:14px 0 10px;
  font-size:clamp(32px,4vw,48px);
  line-height:1.04;
  letter-spacing:-.03em;
}
.image-band-copy p{
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.55;
}
.contract-card::before{
  background:linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.74) 42%, rgba(255,255,255,.16) 100%);
}

@media (max-width: 820px){
  .hero-photo-card{
    min-height:300px;
    background-position:center;
  }
  .hero-photo-overlay{
    left:14px;
    right:14px;
    bottom:14px;
    flex-direction:column;
    align-items:flex-start;
  }
  .image-band-card{
    min-height:220px;
  }
  .image-band-copy{
    padding:22px;
    max-width:100%;
  }
  .image-band-copy p{
    font-size:16px;
  }
}


/* CLEAN HERO IMAGE */
.hero-photo-card{
  min-height: 520px;
  background-position: center center !important;
}

.hero-photo-card::after{
  background: linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.00) 100%) !important;
}

.hero-photo-overlay,
.photo-badge,
.photo-note{
  display:none !important;
}

@media (max-width: 820px){
  .hero-photo-card{
    min-height: 360px;
    border-radius: 8px;
  }
}

/* HERO TEXT FINAL */
.hero-photo-card{
  position:relative;
}

.hero-photo-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0.0) 40%,
    rgba(0,0,0,0.45) 100%
  );
}

.hero-image-text{
  position:absolute;
  bottom:30px;
  left:30px;
  color:#fff;
  max-width:320px;
  z-index:2;
}

.hero-image-text h2{
  margin:0;
  font-size:22px;
  font-weight:800;
  line-height:1.2;
}

.hero-image-text p{
  margin:6px 0 0;
  font-size:16px;
  font-weight:600;
  opacity:0.95;
}

/* MOBILE OPTIMIERUNG */
@media (max-width: 820px){
  .hero-image-text{
    bottom:20px;
    left:20px;
    max-width:260px;
  }

  .hero-image-text h2{
    font-size:18px;
  }

  .hero-image-text p{
    font-size:14px;
  }
}

.hero-image-text small{
  display:block;
  margin-top:8px;
  font-size:14px;
  opacity:0.9;
}

.attention-box{
  margin:20px auto;
  padding:16px;
  background:#fff;
  border-radius: 8px;
  text-align:center;
  font-weight:700;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.mini-trust{
  text-align:center;
  font-weight:700;
  margin-bottom:10px;
}

.frame-wrapper{
  box-shadow:0 40px 100px rgba(0,0,0,0.15), 0 10px 30px rgba(0,0,0,0.1);
}

.cta-btn{
  font-size:20px;
  font-weight:800;
}


/* TYPOGRAFIE FEINSCHLIFF */
.hero-image-text{
  position:absolute;
  bottom:80px !important;
  left:40px !important;
  max-width:520px !important;
  z-index:2;
  color:#fff;
  text-shadow:0 6px 30px rgba(0,0,0,0.5);
}

.hero-image-text h2{
  margin:0;
  font-size:48px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-1.2px !important;
}

.hero-image-text p{
  margin:14px 0 0 !important;
  font-size:24px !important;
  font-weight:600 !important;
  letter-spacing:0.3px;
  opacity:0.95;
}

.hero-image-text small{
  display:block;
  margin-top:10px;
  font-size:14px;
  font-weight:600;
  opacity:0.92;
}

.hero-photo-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0.0) 20%,
    rgba(0,0,0,0.75) 100%
  ) !important;
  z-index:1;
}

@media (max-width: 820px){
  .hero-image-text{
    bottom:30px !important;
    left:20px !important;
    max-width:280px !important;
  }

  .hero-image-text h2{
    font-size:30px !important;
    line-height:1.1 !important;
  }

  .hero-image-text p{
    font-size:18px !important;
  }
}


/* PIXEL PERFECT HERO */
.hero-image-text{
  position:absolute !important;
  left:42px !important;
  bottom:64px !important;
  max-width:560px !important;
  z-index:2 !important;
  color:#fff !important;
  text-shadow:0 8px 34px rgba(0,0,0,0.52) !important;
}

.hero-image-text h2{
  margin:0 !important;
  font-size:36px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-1.05px !important;
}

.hero-photo-card{
  position:relative !important;
}

.hero-photo-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0.00) 18%,
    rgba(0,0,0,0.18) 46%,
    rgba(0,0,0,0.72) 100%
  ) !important;
  z-index:1 !important;
}

@media (max-width: 1100px){
  .hero-image-text{
    left:34px !important;
    bottom:48px !important;
    max-width:500px !important;
  }

  .hero-image-text h2{
    font-size:30px !important;
    line-height:1.08 !important;
  }
}

@media (max-width: 820px){
  .hero-image-text{
    left:20px !important;
    right:20px !important;
    bottom:24px !important;
    max-width:290px !important;
  }

  .hero-image-text h2{
    font-size:23px !important;
    line-height:1.12 !important;
    letter-spacing:-0.4px !important;
  }
}

.hero-small{
  display:block;
  margin-top:10px;
  font-size:14px;
  font-weight:600;
  opacity:0.9;
  color:#fff;
}


/* REAL LAYOUT FINAL FIX */
.hero-desktop{
  padding:20px 0 8px !important;
}

.hero-shell{
  gap:18px !important;
  align-items:start !important;
}

.hero-copy{
  padding:28px !important;
}

.hero-copy h1{
  margin:14px 0 12px !important;
  max-width:760px !important;
  font-size:clamp(34px,4.5vw,52px) !important;
  line-height:1.04 !important;
}

.hero-copy .lead{
  margin:0 0 14px !important;
  max-width:680px !important;
  font-size:17px !important;
  line-height:1.55 !important;
}

.hero-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:8px !important;
  min-height:58px !important;
  padding:0 24px !important;
  border-radius: 8px;
  background:linear-gradient(135deg,#ff9800,#ffc328) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:800 !important;
  box-shadow:0 16px 34px rgba(243,156,61,.28) !important;
}

.hero-microtrust{
  margin-top:12px !important;
  gap:8px !important;
}

.hero-microtrust span{
  min-height:34px !important;
  padding:0 12px !important;
  font-size:13px !important;
}

.hero-feature-row{
  margin-top:16px !important;
}

.feature-card{
  padding:16px !important;
}

.compare-section{
  padding:6px 0 12px !important;
}

.compare-card{
  padding:14px !important;
}

.compare-meta{
  margin-bottom:12px !important;
}

.tab-row{
  margin-bottom:10px !important;
}

.mini-trust{
  margin:4px 0 10px !important;
  text-align:center !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.frame-wrapper{
  margin-top:0 !important;
}

.premium-frame{
  box-shadow:0 32px 80px rgba(32,55,111,.12), 0 12px 30px rgba(255,152,0,.10) !important;
}

@media (max-width: 820px){
  .hero-desktop{
    padding:12px 0 8px !important;
  }
  .hero-copy{
    padding:22px !important;
  }
  .hero-copy h1{
    font-size:clamp(30px,8vw,40px) !important;
  }
  .hero-copy .lead{
    font-size:15px !important;
    margin-bottom:12px !important;
  }
  .hero-cta{
    width:100% !important;
    min-height:54px !important;
    font-size:17px !important;
  }
}

/* CTA BELOW IMAGE */
.hero-bottom-cta{
  margin-top:20px;
  text-align:center;
}

.hero-bottom-cta .hero-cta{
  display:inline-block;
  padding:16px 28px;
  font-size:20px;
  font-weight:800;
  border-radius: 8px;
  background:linear-gradient(135deg,#ff8a00,#ffb300);
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,0.2);
}

.hero-trust{
  margin-top:12px;
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.hero-trust span{
  background:#f1f3f6;
  padding:8px 12px;
  border-radius: 8px;
  font-size:13px;
  font-weight:600;
}


/* CLEAN HERO REBUILD */
.hero-desktop{
  padding:18px 0 12px !important;
}

.hero-shell-clean{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
}

.hero-copy-clean{
  width:100% !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid var(--line) !important;
  border-radius: 8px;
  box-shadow:var(--shadow) !important;
  padding:22px !important;
}

.hero-copy-clean h1{
  margin:0 0 12px !important;
  color:var(--navy) !important;
  font-size:clamp(28px,7vw,40px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.02em !important;
}

.hero-copy-clean .lead{
  margin:0 !important;
  color:var(--muted) !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

.hero-photo-card{
  min-height:320px !important;
  border-radius: 8px;
  overflow:hidden !important;
  position:relative !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00)),
    url('../img/hero-couple.png') center/cover no-repeat !important;
  box-shadow:0 24px 60px rgba(20,35,71,.12) !important;
}

.hero-photo-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(0,0,0,0.00) 22%, rgba(0,0,0,0.72) 100%) !important;
  z-index:1 !important;
}

.hero-photo-card::after{
  display:none !important;
}

.hero-image-text{
  position:absolute !important;
  left:22px !important;
  bottom:22px !important;
  max-width:320px !important;
  z-index:2 !important;
  color:#fff !important;
  text-shadow:0 4px 20px rgba(0,0,0,.35) !important;
}

.hero-image-text h2{
  margin:0 !important;
  font-size:26px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-0.5px !important;
}

.hero-small{
  display:block !important;
  margin-top:10px !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:#fff !important;
}

.hero-bottom-cta{
  margin-top:4px !important;
  text-align:center !important;
}

.hero-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:56px !important;
  padding:0 24px !important;
  border-radius: 8px;
  background:linear-gradient(135deg,#ff9800,#ffc328) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:800 !important;
  box-shadow:0 16px 34px rgba(243,156,61,.28) !important;
}

.hero-trust{
  margin-top:10px !important;
  display:flex !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.hero-trust span{
  background:#f1f3f6 !important;
  padding:8px 12px !important;
  border-radius: 8px;
  font-size:13px !important;
  font-weight:600 !important;
}

.attention-box{
  width:min(calc(100% - 32px), var(--max)) !important;
  margin:14px auto 20px !important;
  padding:15px 16px !important;
  border-radius: 8px;
}

@media (min-width: 821px){
  .hero-copy-clean h1{
    font-size:clamp(38px,4.4vw,62px) !important;
  }
  .hero-copy-clean .lead{
    font-size:18px !important;
    max-width:900px !important;
  }
  .hero-photo-card{
    min-height:440px !important;
  }
  .hero-image-text{
    left:28px !important;
    bottom:28px !important;
    max-width:420px !important;
  }
  .hero-image-text h2{
    font-size:32px !important;
  }
}


/* RESTORE HERO CTA */
.hero-bottom-cta{
  display:block !important;
  margin-top:8px !important;
  text-align:center !important;
  visibility:visible !important;
  opacity:1 !important;
}

.hero-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:56px !important;
  padding:0 28px !important;
  border-radius: 8px;
  background:linear-gradient(135deg,#ff9800,#ffc328) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:800 !important;
  box-shadow:0 16px 34px rgba(243,156,61,.28) !important;
  text-decoration:none !important;
  visibility:visible !important;
  opacity:1 !important;
}

.hero-trust{
  display:flex !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:10px !important;
  visibility:visible !important;
  opacity:1 !important;
}

.hero-trust span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:0 14px !important;
  background:#f3f5f9 !important;
  color:#142347 !important;
  border-radius: 8px;
  font-size:13px !important;
  font-weight:700 !important;
  box-shadow:0 8px 18px rgba(20,35,71,.05) !important;
}

@media (max-width: 820px){
  .hero-cta{
    min-height:54px !important;
    padding:0 24px !important;
    font-size:17px !important;
  }
  .hero-trust{
    gap:8px !important;
  }
  .hero-trust span{
    min-height:34px !important;
    padding:0 12px !important;
    font-size:12px !important;
  }
}


/* REMOVE COMPARE INFO CARDS */
.under-frame{
  display:none !important;
}

.fallback-row{
  margin-top:12px !important;
}


.compare-toggle-section{
  margin:24px 0;
}
.compare-toggle-button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:none;
  cursor:pointer;
  border-radius: 8px;
  padding:18px 22px;
  background: var(--white);
  box-shadow:0 12px 30px rgba(16,24,40,.08);
  color:#132a5e;
  font-size:1.05rem;
  font-weight:800;
}
.compare-toggle-icon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 8px;
  background:#f4f7ff;
  font-size:1.6rem;
  line-height:1;
}
.compare-toggle-content{
  margin-top:14px;
}
@media (max-width:768px){
  .compare-toggle-button{
    padding:16px 18px;
    font-size:1rem;
    border-radius: 8px;
  }
}


#tarifrechner{
  scroll-margin-top: 24px;
}


/* Tab-Farben wirklich erzwingen */
.tab-row .tab{
  min-height:62px !important;
  border:1px solid #e8edf5 !important;
  border-radius: 8px;
  background:#f3f5fa !important;
  color:#1a2d5a !important;
  font-size:18px !important;
  font-weight:800 !important;
  transition:all .25s ease !important;
}

.tab-row .tab:not(.active){
  background:#f3f5fa !important;
  color:#1a2d5a !important;
  box-shadow:none !important;
}

.tab-row .tab[data-target="strom-frame"].active{
  background:linear-gradient(135deg,#2f5bff,#6c8cff) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 10px 24px rgba(47,91,255,.32) !important;
}

.tab-row .tab[data-target="gas-frame"].active{
  background:linear-gradient(135deg,#ff8a00,#ffb347) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 10px 24px rgba(255,138,0,.30) !important;
}

.tab-row .tab:hover{
  transform:translateY(-1px);
}


/* ===== ZIELGERICHTETER FIX: VERGLEICHSRECHNER BREITER ===== */
/* Nur den Vergleichsbereich anfassen, nicht die ganze Seite */
.compare-section .container{
  width:min(calc(100% - 16px), 1320px) !important;
}

.compare-card{
  padding:12px !important;
  border-radius: 8px;
}

.compare-meta{
  margin-bottom:12px !important;
}

.partner-badge{
  min-height:38px !important;
  padding:0 12px !important;
}

.tab-row{
  gap:8px !important;
  margin-bottom:10px !important;
}

.tab{
  min-height:58px !important;
}

.frame-wrapper{
  margin-left:-2px !important;
  margin-right:-2px !important;
  border-radius: 8px;
}

.frame{
  width:100% !important;
}

@media (max-width: 820px){
  .compare-section .container{
    width:calc(100% - 10px) !important;
  }

  .compare-card{
    padding:8px !important;
    border-radius: 8px;
  }

  .compare-meta{
    margin-bottom:10px !important;
  }

  .partner-badge{
    min-height:36px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }

  .tab-row{
    gap:8px !important;
    margin-bottom:8px !important;
  }

  .tab{
    min-height:56px !important;
    font-size:17px !important;
  }

  .mini-trust{
    margin-bottom:8px !important;
  }

  .frame-wrapper{
    margin-left:-4px !important;
    margin-right:-4px !important;
    border-radius: 8px;
  }
}


@media (max-width: 520px){
  .sticky-cta{padding:10px 12px;}
  .sticky-inner{gap:10px;}
  .sticky-btn{min-height:54px;padding:10px 14px;font-size:clamp(15px, 4.2vw, 18px);}
}

.hinweis {
  background: none;
  padding: 0;
  border: none;
  box-shadow: none;
  color: #cbd5e1;
}


.footer-note h4{
  margin:0 0 8px;
  font-size:15px;
}


.savings{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.saving-box{
  border-radius:20px;
  padding:20px;
  color:#fff;
  box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.saving-box.strom{
  background:linear-gradient(135deg,#1e63d6,#1fa2ff);
}

.saving-box.gas{
  background:linear-gradient(135deg,#ff7a00,#ffb300);
}

.saving-big{
  font-size:32px;
  font-weight:700;
}

.saving-text{
  font-size:15px;
  margin-top:4px;
}

.saving-note{
  font-size:13px;
  color:#6b7280;
  text-align:center;
}


/* Savings boxes */
.savings{
  padding:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:stretch;
}

.saving-box{
  border-radius:20px;
  padding:22px;
  color:#fff;
  box-shadow:0 10px 25px rgba(0,0,0,0.10);
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-decoration:none;
  transform:translateY(28px);
  opacity:0;
  transition:transform .55s ease, opacity .55s ease, box-shadow .25s ease, filter .25s ease;
  will-change:transform, opacity;
}

.saving-box.is-visible{
  transform:translateY(0);
  opacity:1;
}

.saving-box:hover,
.saving-box:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(0,0,0,0.16);
  filter:saturate(1.05);
}

.saving-box:active{
  transform:translateY(-1px) scale(.995);
}

.saving-box.strom{
  background:linear-gradient(135deg,#1e63d6,#1fa2ff);
}

.saving-box.gas{
  background:linear-gradient(135deg,#ff7a00,#ffb300);
}

.saving-big{
  font-size:32px;
  font-weight:800;
  line-height:1.05;
  margin-bottom:10px;
}

.saving-text{
  font-size:16px;
  line-height:1.4;
  opacity:.96;
  max-width:26ch;
}

.saving-note{
  grid-column:1 / -1;
  font-size:13px;
  color:#6b7280;
  text-align:center;
  margin:2px 0 0;
}

@media (max-width: 820px){
  .savings{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .saving-box{
    min-height:148px;
    padding:18px;
    border-radius:18px;
  }
  .saving-big{
    font-size:28px;
  }
  .saving-text{
    font-size:14px;
  }
}

@media (max-width: 560px){
  .savings{
    grid-template-columns:1fr;
  }
  .saving-note{
    margin-top:0;
  }
}

.trust-zone{padding:18px 16px 8px;}
.trust-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.06);}
.trust-points{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.trust-points span{padding:8px 12px;border-radius:999px;background:#f8fafc;color:#14264b;font-size:14px;font-weight:600;}
.trust-card h3{margin:0 0 10px;font-size:30px;color:#14264b;}
.trust-card p{margin:0 0 16px;color:#5f6f86;}
.trust-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:12px;text-decoration:none;font-weight:700;color:#fff;background:linear-gradient(135deg,#1e63d6,#1fa2ff);}

/* remove middle conversion killers */
.info-split,
.trust-zone{
  display:none !important;
}

/* remove unwanted sections completely */
.info-split,
.trust-zone,
.energy-section,
.feature-split,
.split-section{
  display:none !important;
}


/* PREMIUM STEP CARDS */



/* STEP SLIDER */
.steps-slider{
  display:flex !important;
  gap:16px !important;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:8px;
  scrollbar-width:none;
}
.steps-slider::-webkit-scrollbar{
  display:none;
}
.steps-slider .step-card{
  flex:0 0 88%;
  min-width:88%;
  scroll-snap-align:start;
}
@media (min-width: 900px){
  .steps-slider{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    overflow:visible;
    scroll-snap-type:none;
    padding-bottom:0;
  }
  .steps-slider .step-card{
    flex:initial;
    min-width:0;
  }
}

.steps-swipe-hint{
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}
@media (min-width: 900px){
  .steps-swipe-hint{
    display:none;
  }
}


/* FINAL STEP LAYOUT FIX */
.steps-premium {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  margin-top: 20px;
}

.step-card {
  min-width: 0;
}

/* Desktop nebeneinander */
@media (min-width: 900px) {
  .steps-premium {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch;
  }

  .steps-premium .step-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}



/* STEP CARDS VARIANTE A */
.steps-premium{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:stretch;
}

.step-card-a{
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 28px rgba(20,35,71,.05);
}

.step-image{
  position:relative;
  min-height:168px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.step-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(255,255,255,.10) 0%, rgba(255,255,255,.18) 100%);
}

.step-image-1{
  background-image:url("../img/vergleich-starten.jpg");
}

.step-image-2{
  background-image:url("../img/tarif-auswaehlen.jpg");
}

.step-image-3{
  background-image:url("../img/anbieter-uebernimmt-den-rest.jpg");
}

.step-card-a .step-number{
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  width:44px;
  height:44px;
  min-width:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(237,244,255,.96);
  color:#223a8f;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(20,35,71,.08);
}

.step-content{
  padding:20px 20px 22px;
  background:#fff;
}

.step-content h3{
  margin:0 0 12px;
  font-size:20px;
  line-height:1.16;
  color:#142347;
}

.step-content p{
  margin:0;
  color:var(--muted);
}

.step-top,
.step-line{
  display:none !important;
}

@media (min-width: 1000px){
  .steps-premium{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
  }
  .step-image{
    min-height:156px;
  }
}

@media (max-width: 768px){
  .step-image{
    min-height:150px;
  }
  .step-content{
    padding:18px 18px 20px;
  }
  .step-content h3{
    font-size:18px;
  }
}



/* STEP CARDS CLEAN REBUILD */
.section-head-steps p{
  max-width:720px;
}

.steps-premium-clean{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:22px;
}

.step-card-clean{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 28px rgba(20,35,71,.05);
  transition:transform .28s ease, box-shadow .28s ease;
}

.step-card-clean:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 42px rgba(20,35,71,.10);
}

.step-media{
  position:relative;
  overflow:hidden;
  background:#eef3fb;
}

.step-media img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  object-position:center;
}

.step-card-clean .step-number{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(237,244,255,.96);
  color:#223a8f;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(20,35,71,.08);
}

.step-card-clean .step-content{
  padding:20px 20px 22px;
}

.step-card-clean .step-content h3{
  margin:0 0 12px;
  font-size:20px;
  line-height:1.14;
  color:#142347;
}

.step-card-clean .step-content p{
  margin:0;
  color:var(--muted);
}

@media (min-width: 900px){
  .steps-premium-clean{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }

  .step-media img{
    height:200px;
  }
}

@media (max-width: 768px){
  .step-media img{
    height:172px;
  }

  .step-card-clean .step-content{
    padding:18px 18px 20px;
  }

  .step-card-clean .step-content h3{
    font-size:17px;
  }
}


/* HERO CTA IN TEXT BOX */
.hero-copy-clean .hero-bottom-cta-inline{
  margin-top:16px !important;
  text-align:left !important;
}

.hero-copy-clean .hero-trust{
  justify-content:flex-start !important;
}

@media (max-width: 820px){
  .hero-copy-clean .hero-bottom-cta-inline{
    text-align:center !important;
  }

  .hero-copy-clean .hero-trust{
    justify-content:center !important;
  }
}


/* FIX: step headlines same size as lower card headlines */
.steps-premium .step-content h3,
.steps-premium-clean .step-content h3,
.step-card-clean .step-content h3,
.step-card .step-content h3 {
  font-size: 22px !important;
  line-height: 1.14 !important;
  margin: 0 0 10px !important;
}

@media (max-width: 768px) {
  .steps-premium .step-content h3,
  .steps-premium-clean .step-content h3,
  .step-card-clean .step-content h3,
  .step-card .step-content h3 {
    font-size: 22px !important;
  }
}

/* Sticky smooth animation */
.sticky-bar {
  transition: all 0.3s ease;
}


/* removed old toggle styles */
.compare-toggle-button {
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-radius:14px;
  background:#f3f5f9;
  font-weight:700;
  font-size:18px;
  color:#1a2b49;
}

.compare-toggle-button .arrow {
  width:18px;
  height:18px;
  border-right:2px solid #1a2b49;
  border-bottom:2px solid #1a2b49;
  transform:rotate(45deg);
  transition:transform 0.25s ease;
}

.compare-toggle-button.active .arrow {
  transform:rotate(-135deg);
}


/* Clean compare toggle */
.compare-toggle-section{
  margin: 24px 0;
}

.compare-toggle-button{
  width: 100%;
  display: grid !important;
  grid-template-columns: 56px 1fr 56px;
  align-items: center;
  gap: 14px;
  border: none;
  cursor: pointer;
  border-radius: 22px;
  padding: 18px 22px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(16,24,40,.08);
  color: #132a5e;
  text-align: center;
}

.compare-toggle-arrowbox,
.compare-toggle-spacer{
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  flex-shrink: 0;
}

.compare-toggle-arrowbox{
  background: #f4f7ff;
  border: 1px solid #e7edf8;
}

.compare-toggle-label{
  display: block;
  font-size: clamp(18px, 4.8vw, 22px);
  line-height: 1.15;
  font-weight: 800;
  color: #132a5e;
  text-align: center;
  white-space: normal;
}

.compare-toggle-arrow{
  width: 14px;
  height: 14px;
  border-right: 3px solid #132a5e;
  border-bottom: 3px solid #132a5e;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .28s ease;
}

.compare-toggle-button.active .compare-toggle-arrow{
  transform: rotate(-135deg) translateX(-1px);
}

@media (max-width: 768px){
  .compare-toggle-button{
    grid-template-columns: 52px 1fr 52px;
    padding: 16px 16px;
    border-radius: 20px;
    gap: 12px;
  }

  .compare-toggle-arrowbox,
  .compare-toggle-spacer{
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }

  .compare-toggle-label{
    font-size: 17px;
  }
}


/* Benefit cards with serious inline SVG icons */
.benefit-card{
  position: relative;
  border-radius: 22px;
  padding: 26px 28px 28px;
  box-shadow: 0 12px 28px rgba(20,35,71,.05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.benefit-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(20,35,71,.08);
}

.benefit-icon{
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 14px;
  border: 1px solid rgba(20,35,71,.07);
}

.benefit-icon svg{
  width: 22px;
  height: 22px;
  display: block;
}

.benefit-icon.icon-blue{
  background: linear-gradient(135deg, rgba(43,103,226,.10), rgba(35,157,255,.08));
  color: #1f64d8;
  box-shadow: 0 10px 24px rgba(52,87,218,.10);
}

.benefit-icon.icon-orange{
  background: linear-gradient(135deg, rgba(255,153,0,.12), rgba(255,193,40,.09));
  color: #ef8c00;
  box-shadow: 0 10px 24px rgba(243,156,61,.10);
}

.benefit-icon.icon-green{
  background: linear-gradient(135deg, rgba(18,184,134,.12), rgba(52,211,153,.10));
  color: #13a86b;
  box-shadow: 0 10px 24px rgba(19,168,107,.12);
}

.benefit-card h3{
  margin: 0 0 12px;
  font-size: 24px;
  line-height: 1.14;
  color: #142347;
}

.benefit-card p{
  margin: 0;
  font-size: 18px;
  line-height: 1.48;
  color: var(--muted);
}

@media (max-width: 768px){
  .benefit-card{
    padding: 22px 22px 24px;
    border-radius: 20px;
  }

  .benefit-card h3{
    font-size: 20px;
  }

  .benefit-card p{
    font-size: 17px;
  }

  .benefit-icon{
    width: 44px;
    height: 44px;
    border-radius: 13px;
    margin-bottom: 12px;
  }

  .benefit-icon svg{
    width: 20px;
    height: 20px;
  }
}


/* FAQ Accordion */
.faq-section {
  padding-top: 20px;
}

.faq-head {
  max-width: 860px;
  margin: 0 0 28px;
  text-align: left;
}

.faq-head h2 {
  max-width: 760px;
  margin: 0;
}

.section-kicker {
  display: inline-block;
  margin-bottom: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(20, 90, 210, 0.08);
  color: #1f4db5;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-section .faq-head,
.faq-section .faq-head h2 {
  text-align: left !important;
}

.faq-head p {
  max-width: 760px;
  margin: 14px auto 0;
  font-size: 18px;
  line-height: 1.65;
  color: #5f6b7a;
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 980px;
  margin: 0 auto;
}

.faq-item {
  border: 1px solid rgba(18, 41, 84, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,249,253,0.98) 100%);
  box-shadow: 0 18px 45px rgba(18, 41, 84, 0.07);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.faq-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 24px 55px rgba(18, 41, 84, 0.10);
}

.faq-item.active {
  border-color: rgba(31, 77, 181, 0.16);
  box-shadow: 0 26px 60px rgba(31, 77, 181, 0.12);
}

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 800;
  color: var(--blue-dark);
  text-align: left;
  border: none;
  background: none;
  cursor: pointer;
}

.faq-question span:first-child {
  flex: 1;
}

.faq-icon {
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #1f4db5;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.active .faq-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0.1);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 26px;
  font-size: 17px;
  line-height: 1.75;
  color: #5f6b7a;
  transition: max-height 0.32s ease, padding 0.32s ease;
}

.faq-answer p {
  margin: 0;
}

.faq-item.active .faq-answer {
  max-height: 240px;
  padding: 0 26px 24px;
}

.faq-cta-box {
  max-width: 980px;
  margin: 22px auto 0;
  padding: 24px 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue-primary) 100%);
  color: #fff;
  box-shadow: 0 26px 60px rgba(18, 41, 84, 0.18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.faq-cta-box strong {
  display: block;
  margin-bottom: 8px;
  font-size: 26px;
  line-height: 1.15;
}

.faq-cta-box p {
  margin: 0;
  max-width: 650px;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255,255,255,0.88);
}

.faq-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, #FFD84D 0%, #FFC107 100%);
  color: #1f2f56 !important;
  font-size: 17px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  box-shadow:
    0 8px 18px rgba(255, 193, 7, 0.25),
    0 2px 6px rgba(0,0,0,0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
  position: relative;
  overflow: hidden;
  backdrop-filter: none !important;
  filter: none !important;
}

.faq-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 24px rgba(255, 193, 7, 0.35),
    0 4px 10px rgba(0,0,0,0.15);
}


.faq-cta-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.5),
    transparent
  );
  transform: skewX(-20deg);
  pointer-events: none;
}

.faq-cta-btn:hover::after {
  left: 130%;
  transition: left 0.7s ease;
}


@media (max-width: 820px) {
  .faq-head p {
    font-size: 16px;
  }

  .faq-question {
    padding: 20px 18px;
    font-size: 18px;
    gap: 14px;
  }

  .faq-answer {
    padding: 0 18px;
    font-size: 16px;
    line-height: 1.7;
  }

  .faq-item.active .faq-answer {
    max-height: 320px;
    padding: 0 18px 20px;
  }

  .faq-cta-box {
    padding: 22px 18px;
    border-radius: 20px;
    flex-direction: column;
    align-items: flex-start;
  }

  .faq-cta-box strong {
    font-size: 22px;
  }

  .faq-cta-btn {
    width: 100%;
  }
}


/* Sticky CTA only on mobile */



/* Final hero text tuning */
.hero-copy-clean h1{
  max-width: 760px;
}

.hero-copy-clean .lead{
  max-width: 780px;
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.62;
  color: #4a5a72;
}

/* Premium main CTA */
.btn-main{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
  min-height:60px !important;
  padding:0 28px !important;
  border-radius:14px !important;
  font-weight:800 !important;
  font-size:18px !important;
  letter-spacing:-0.01em;
  text-decoration:none !important;
  color:#fff !important;
  background:linear-gradient(135deg,#2b67e2,#239dff) !important;
  box-shadow:0 12px 28px rgba(43,103,226,0.26) !important;
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.btn-main:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(43,103,226,0.34) !important;
  filter:saturate(1.02);
}

.btn-main:active{
  transform:scale(.98);
}

.btn-main::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);
  transition:left .62s ease;
}

.btn-main:hover::after{
  left:140%;
}

/* CTA trust line */
.cta-trust{
  margin-top:10px;
  color:#5f7089;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

@media (max-width: 768px){
  .hero-copy-clean .lead{
    font-size:16px;
    line-height:1.56;
  }

  .btn-main{
    min-height:58px !important;
    width:100%;
    padding:0 22px !important;
    font-size:17px !important;
    border-radius:13px !important;
  }

  .cta-trust{
    font-size:13px;
  }
}


/* FINAL BLUE UNIFICATION */
:root{
  --primary-blue:#2F80ED;
  --primary-blue-light:#4DA3FF;
}

/* Main blue CTA */
.btn-main,
.hero-cta.btn-main,
.btn.blue,
.sticky-btn.strom,
.tab.active,
.tab-row .tab.active,
.compare-section .tab.active,
.compare-card .tab.active{
  background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-light)) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(47,128,237,.26) !important;
  border-color:transparent !important;
}

/* Savings Strom box exact family */
.saving-box.strom{
  background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-light)) !important;
  box-shadow:0 12px 28px rgba(47,128,237,.22) !important;
}

/* Blue trust / icon accents */
.icon-blue,
.benefit-icon.icon-blue{
  background:rgba(47,128,237,.10) !important;
  color:var(--primary-blue) !important;
  box-shadow:0 10px 24px rgba(47,128,237,.10) !important;
}

/* Buttons hover */
.btn-main:hover,
.hero-cta.btn-main:hover,
.btn.blue:hover,
.sticky-btn.strom:hover,
.tab.active:hover,
.tab-row .tab.active:hover{
  box-shadow:0 18px 40px rgba(47,128,237,.34) !important;
  filter:saturate(1.02);
}

/* Keep inactive tabs neutral */
.tab,
.tab-row .tab{
  border-color:rgba(20,35,71,.08);
}

/* Sticky Strom button unify */
.sticky-btn.strom{
  background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-light)) !important;
}

/* Compare active state stronger */
.frame-wrapper.premium-frame,
.compare-card{
  --active-blue: var(--primary-blue);
}


/* HARD FIX: Rechnerbutton Strom exakt wie Sparbox-Blau */
.compare-card .tab.active,
.compare-section .tab.active,
.tab-row .tab.active,
button.tab.active,
#strom.tab.active,
#strom-frame.active,
#vergleich .tab.active{
  background: linear-gradient(135deg, #2F80ED, #4DA3FF) !important;
  background-image: linear-gradient(135deg, #2F80ED, #4DA3FF) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(47,128,237,.22) !important;
}

/* Hover/Focus konsistent */
.compare-card .tab.active:hover,
.compare-section .tab.active:hover,
.tab-row .tab.active:hover,
button.tab.active:hover,
#strom.tab.active:hover,
#vergleich .tab.active:hover,
.compare-card .tab.active:focus-visible,
.compare-section .tab.active:focus-visible,
.tab-row .tab.active:focus-visible,
button.tab.active:focus-visible,
#strom.tab.active:focus-visible,
#vergleich .tab.active:focus-visible{
  background: linear-gradient(135deg, #2F80ED, #4DA3FF) !important;
  background-image: linear-gradient(135deg, #2F80ED, #4DA3FF) !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(47,128,237,.28) !important;
  outline: none !important;
}


/* FINAL ORANGE UNIFICATION (Gas = Sparbox Orange) */
:root{
  --primary-orange:#FF8A00;
  --primary-orange-light:#FFA726;
}

/* Gas active tab/button */
.compare-card .tab.gas.active,
.compare-section .tab.gas.active,
.tab-row .tab.gas.active,
button.tab.gas.active,
#gas.tab.active,
#vergleich .tab.gas.active{
  background: linear-gradient(135deg, var(--primary-orange), var(--primary-orange-light)) !important;
  background-image: linear-gradient(135deg, var(--primary-orange), var(--primary-orange-light)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 28px rgba(255,138,0,.25) !important;
}

/* Hover */
.compare-card .tab.gas.active:hover,
.compare-section .tab.gas.active:hover,
.tab-row .tab.gas.active:hover,
button.tab.gas.active:hover,
#gas.tab.active:hover,
#vergleich .tab.gas.active:hover{
  box-shadow:0 18px 40px rgba(255,138,0,.35) !important;
}

.tab-row .tab.gas.active{
  background: linear-gradient(135deg, #FF8A00, #FFA726) !important;
  color:#fff !important;
}
.tab-row .tab.strom.active{
  background: linear-gradient(135deg, #2F80ED, #4DA3FF) !important;
  color:#fff !important;
}


/* Fake precheck calculator */
.precheck-section{
  padding-top: 10px;
}

.precheck-wrap{
  background:#fff;
  border:1px solid rgba(20,35,71,.06);
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 38px rgba(20,35,71,.06);
}

.precheck-head{
  margin-bottom:18px;
}

.precheck-badge{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(47,128,237,.10);
  color:#2F80ED;
  font-weight:800;
  font-size:14px;
  margin-bottom:12px;
}

.precheck-head h2{
  margin:0 0 10px;
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.06;
  letter-spacing:-.03em;
  color:#142347;
}

.precheck-head p{
  margin:0;
  max-width:760px;
  color:#64748b;
  font-size:18px;
  line-height:1.56;
}

.energy-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:18px;
}

.energy-option{
  min-height:64px;
  border-radius:18px;
  border:1px solid rgba(20,35,71,.08);
  background:#f7f9fd;
  color:#142347;
  font-size:clamp(22px, 3vw, 28px);
  font-weight:900;
  box-shadow:0 10px 24px rgba(20,35,71,.04);
}

.energy-option.active[data-energy="strom"]{
  color:#fff;
  background:linear-gradient(135deg,#2F80ED,#4DA3FF);
  box-shadow:0 16px 34px rgba(47,128,237,.26);
  border-color:transparent;
}

.energy-option.active[data-energy="gas"]{
  color:#fff;
  background:linear-gradient(135deg,#FF8A00,#FFA726);
  box-shadow:0 16px 34px rgba(255,138,0,.24);
  border-color:transparent;
}

.precheck-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.precheck-field{
  display:block;
}

.precheck-field span,
.quick-picks-label{
  display:block;
  margin:0 0 8px;
  color:#66748a;
  font-size:15px;
  font-weight:700;
}

.precheck-field input{
  width:100%;
  min-height:62px;
  border-radius:16px;
  border:1px solid rgba(20,35,71,.12);
  background:#fff;
  padding:0 18px;
  font-size:20px;
  color:#142347;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.precheck-field input:focus{
  border-color:#2F80ED;
  box-shadow:0 0 0 4px rgba(47,128,237,.10);
}

.precheck-field input[aria-invalid="true"]{
  border-color:#dc2626;
  box-shadow:0 0 0 4px rgba(220,38,38,.08);
}

.quick-picks{
  margin-top:16px;
}

.quick-pick-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.quick-pick{
  min-height:44px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(20,35,71,.10);
  background:#f8fafc;
  color:#142347;
  font-weight:700;
}

.quick-pick:hover,
.energy-option:hover,
.precheck-cta:hover{
  transform:translateY(-1px);
}

.precheck-actions{
  margin-top:20px;
}

.precheck-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:0 28px;
  border:none;
  border-radius:16px;
  background:linear-gradient(135deg,#2F80ED,#4DA3FF);
  color:#fff;
  font-size:19px;
  font-weight:900;
  box-shadow:0 16px 34px rgba(47,128,237,.26);
}

.precheck-trust{
  margin-top:12px;
  color:#64748b;
  font-size:14px;
  font-weight:700;
}

@media (max-width: 768px){
  .precheck-wrap{
    padding:18px;
    border-radius:22px;
  }

  .precheck-head h2{
    font-size:32px;
    line-height:1.08;
  }

  .precheck-head p{
    font-size:16px;
  }

  .precheck-grid{
    grid-template-columns:1fr;
  }

  .energy-option{
    min-height:58px;
    font-size:18px;
    border-radius:16px;
  }

  .precheck-field input{
    min-height:58px;
    font-size:18px;
    border-radius:14px;
  }

  .precheck-cta{
    width:100%;
    min-height:58px;
    border-radius:14px;
    font-size:18px;
  }

  .precheck-trust{
    text-align:center;
    line-height:1.5;
  }
}


/* CTA COLOR SYNC */
.precheck-cta.cta-strom{
  background:linear-gradient(135deg,#2F80ED,#4DA3FF);
  box-shadow:0 16px 34px rgba(47,128,237,.26);
}

.precheck-cta.cta-gas{
  background:linear-gradient(135deg,#FF8A00,#FFA726);
  box-shadow:0 16px 34px rgba(255,138,0,.28);
}


/* rebuilt precheck clean */
.precheck-hint{
  margin:14px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.5;
  font-weight:600;
}

.quick-picks,
.quick-pick-row,
.quick-pick,
.quick-picks-label{
  display:none !important;
}

@media (max-width: 768px){
  .precheck-hint{
    font-size:13px;
  }
}


/* Desktop: Tabs und Inputs kompakter */
@media (min-width: 769px){
  .precheck-wrap{
    max-width: 760px;
    margin: 0 auto;
  }

  .energy-toggle{
    width: min(560px, 100%);
    grid-template-columns: 1fr 1fr;
    margin-bottom: 20px;
  }

  .precheck-grid{
    grid-template-columns: 1fr 1fr;
    width: min(560px, 100%);
    gap: 14px;
  }

  .precheck-actions{
    width: min(560px, 100%);
  }

  .precheck-field input,
  .energy-option,
  .precheck-cta{
    width: 100%;
  }

  .precheck-hint,
  .precheck-trust{
    width: min(560px, 100%);
  }
}


/* ONLY RECHNER ZENTRIEREN */
.precheck-wrap{
  max-width:680px;
  margin:0 auto;
}

.energy-toggle,
.precheck-grid,
.precheck-actions,
.precheck-hint,
.precheck-trust,
.precheck-legal{
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
}

/* Legal */
.precheck-legal{
  margin-top:12px;
  font-size:13px;
  color:#6b7280;
  line-height:1.5;
}


/* FIX LEGAL POSITION */
.precheck-legal{
  display:block;
  margin:12px auto 0;
  font-size:13px;
  color:#6b7280;
  line-height:1.5;
  max-width:520px;
  text-align:center;
}


/* ONLY top savings boxes highlight calculator - sticky buttons remain untouched */
#rechnerBox{
  transition: box-shadow .28s ease;
}
#rechnerBox.flash-strom{
  box-shadow: 0 0 0 3px rgba(47,128,237,.12), 0 18px 38px rgba(47,128,237,.12);
}
#rechnerBox.flash-gas{
  box-shadow: 0 0 0 3px rgba(255,138,0,.12), 0 18px 38px rgba(255,138,0,.12);
}


/* PLZ only highlight, no keyboard popup */
#plzField.focus-highlight{
  box-shadow: 0 0 0 3px rgba(47,128,237,.18), 0 10px 24px rgba(47,128,237,.10);
  border-color: rgba(47,128,237,.55);
  transition: box-shadow .28s ease, border-color .28s ease;
}


/* Desktop sticky enabled */
.sticky-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:110;
}

.sticky-cta.is-hidden{
  transform:translateY(calc(100% + 24px)) !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.sticky-cta:not(.is-hidden){
  transform:translateY(0) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

@media (min-width: 900px){
  .sticky-cta{
    display:block !important;
    padding:14px 18px !important;
    background:rgba(255,255,255,.94) !important;
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(20,35,71,.08);
  }
  .sticky-inner{
    max-width:1100px;
    margin:0 auto;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .sticky-btn{
    min-height:56px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border-radius:16px !important;
    font-size:20px !important;
    font-weight:800 !important;
  }
}


/* Dünnere Menüleiste */
.header,
.site-header,
header{
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.header-inner{
  min-height: 76px !important;
}

.logo{
  height: 48px !important;
}

.menu-btn,
.mobile-toggle,
.menu-toggle{
  min-height: 64px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
}

@media (max-width: 820px){
  .header,
  .site-header,
  header{
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .header-inner{
    min-height: 72px !important;
  }

  .logo{
    height: 44px !important;
  }

  .menu-btn,
  .mobile-toggle,
  .menu-toggle{
    min-height: 58px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
  }
}


/* Logo wieder größer, Header bleibt schlank */
.logo{
  height: 64px !important;
}

@media (max-width: 820px){
  .logo{
    height: 58px !important;
  }
}


/* Header exactly around logo height, logo unchanged */
.header,
.site-header,
header{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.header-inner{
  min-height: unset !important;
  height: 64px !important;
  align-items: center !important;
}

.logo{
  height: auto !important;
  max-height: 64px !important;
  width: auto !important;
  display:block;
}

.menu-btn,
.mobile-toggle,
.menu-toggle{
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  align-self: center !important;
}

@media (max-width: 820px){
  .header,
  .site-header,
  header{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .header-inner{
    min-height: unset !important;
    height: 64px !important;
  }

  .logo{
    height: auto !important;
    max-height: 64px !important;
  }

  .menu-btn,
  .mobile-toggle,
  .menu-toggle{
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
  }
}


/* Sixth benefit card */
.benefit-card-risk{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(20,35,71,.08);
  box-shadow:0 16px 34px rgba(20,35,71,.06);
}

.benefit-card-risk .benefit-icon{
  animation:shieldPulse 2.8s ease-in-out infinite;
  transition:transform .28s ease, box-shadow .28s ease;
}

.benefit-card-risk:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(20,35,71,.10);
}

.benefit-card-risk:hover .benefit-icon{
  transform:translateY(-2px) scale(1.04);
}

@keyframes shieldPulse{
  0%{transform:scale(1); box-shadow:0 0 0 0 rgba(19,168,107,.20);}
  70%{transform:scale(1.035); box-shadow:0 0 0 14px rgba(19,168,107,0);}
  100%{transform:scale(1); box-shadow:0 0 0 0 rgba(19,168,107,0);}
}

@media (prefers-reduced-motion: reduce){
  .benefit-card-risk .benefit-icon{
    animation:none;
  }
  .benefit-card-risk:hover{
    transform:none;
  }
}


/* FINAL PREMIUM PRECHECK LAYOUT */
.precheck-shell{
  background:#fff;
  border:1px solid rgba(20,35,71,.06);
  border-radius:32px;
  box-shadow:0 26px 60px rgba(20,35,71,.07);
  padding:34px;
}

.precheck-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 520px;
  gap:56px;
  align-items:center;
}

.precheck-left{
  max-width:540px;
}

.precheck-left h2{
  margin:14px 0 14px;
  font-size:clamp(34px,3.2vw,52px);
  line-height:1.02;
  letter-spacing:-0.03em;
  color:var(--navy);
}

.precheck-lead{
  margin:0;
  color:var(--muted);
  font-size:20px;
  line-height:1.65;
  max-width:520px;
}

.precheck-points{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:28px 0 18px;
}

.precheck-point{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:#f5f8ff;
  border:1px solid rgba(47,128,237,.10);
  color:var(--navy);
  font-weight:800;
  box-shadow:0 10px 22px rgba(47,128,237,.06);
}

.precheck-side-note{
  color:#6b7280;
  font-size:14px;
  line-height:1.6;
  max-width:500px;
}

.precheck-right{
  width:100%;
}

.precheck-form{
  background:linear-gradient(180deg,#ffffff 0%, #fbfcff 100%);
  border:1px solid rgba(20,35,71,.08);
  border-radius:26px;
  padding:24px;
  box-shadow:0 16px 38px rgba(20,35,71,.06);
}

.energy-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:18px;
}

.energy-option{
  min-height:62px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  font-size:20px;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.energy-option.active[data-energy="strom"]{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--blue-1),var(--blue-2));
  box-shadow:0 16px 34px rgba(52,87,218,.22);
}

.energy-option.active[data-energy="gas"]{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#ff8a00,#ffb347);
  box-shadow:0 16px 34px rgba(243,156,61,.22);
}

.precheck-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.precheck-field span{
  display:block;
  margin:0 0 8px;
  color:#627084;
  font-size:15px;
  font-weight:800;
}

.precheck-field input{
  width:100%;
  min-height:62px;
  padding:0 20px;
  border-radius:18px;
  border:1px solid rgba(20,35,71,.10);
  background:#fff;
  font-size:18px;
  color:var(--navy);
  outline:none;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.precheck-field input:focus{
  border-color:rgba(47,128,237,.55);
  box-shadow:0 0 0 4px rgba(47,128,237,.12);
}

.precheck-cta{
  width:100%;
  min-height:62px;
  margin-top:18px;
  border:none;
  border-radius:18px;
  color:#fff;
  font-size:22px;
  font-weight:900;
  letter-spacing:-0.02em;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease;
}

.precheck-cta:hover{
  transform:translateY(-2px);
}

.precheck-cta.cta-strom{
  background:linear-gradient(135deg,var(--blue-1),var(--blue-2)) !important;
  box-shadow:0 16px 34px rgba(52,87,218,.28) !important;
}

.precheck-cta.cta-gas{
  background:linear-gradient(135deg,#ff8a00,#ffb347) !important;
  box-shadow:0 16px 34px rgba(243,156,61,.28) !important;
}

.precheck-legal{
  margin:14px auto 0;
  text-align:center;
  color:#6b7280;
  font-size:13px;
  line-height:1.55;
  max-width:440px;
}

.precheck-trust{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin-top:14px;
  color:#627084;
  font-size:14px;
  font-weight:800;
  text-align:center;
}

#plzField.focus-highlight{
  box-shadow:0 0 0 4px rgba(47,128,237,.12), 0 12px 24px rgba(47,128,237,.08);
  border-color:rgba(47,128,237,.55);
}

#rechnerBox.flash-strom{
  box-shadow:0 0 0 3px rgba(47,128,237,.10), 0 26px 60px rgba(47,128,237,.12);
}

#rechnerBox.flash-gas{
  box-shadow:0 0 0 3px rgba(243,156,61,.10), 0 26px 60px rgba(243,156,61,.12);
}

@media (max-width: 1180px){
  .precheck-layout{
    grid-template-columns:1fr 480px;
    gap:34px;
  }
}

@media (max-width: 980px){
  .precheck-shell{
    padding:26px;
  }
  .precheck-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .precheck-left{
    max-width:none;
  }
  .precheck-left h2{
    font-size:clamp(30px,8vw,44px);
  }
  .precheck-lead{
    font-size:18px;
    max-width:none;
  }
  .precheck-right{
    width:100%;
  }
}

@media (max-width: 640px){
  .precheck-shell{
    border-radius:24px;
    padding:18px;
  }
  .precheck-left h2{
    margin-top:12px;
    font-size:clamp(28px,9vw,40px);
  }
  .precheck-lead{
    font-size:17px;
    line-height:1.55;
  }
  .precheck-points{
    display:none;
  }
  .precheck-side-note{
    display:none;
  }
  .precheck-form{
    padding:18px;
    border-radius:22px;
  }
  .energy-option,
  .precheck-field input,
  .precheck-cta{
    min-height:58px;
    border-radius:16px;
  }
  .energy-option{
    font-size:18px;
  }
  .precheck-cta{
    font-size:20px;
  }
}

.precheck-cta.cta-gas{
  background:linear-gradient(135deg,#ff8a00,#ffb347) !important;
  box-shadow:0 18px 40px rgba(255,138,0,.35) !important;
}

/* stronger orange */
.precheck-cta,
.tab.active.gas {
  background: linear-gradient(135deg, #ff7a00, #ffb84d) !important;
  box-shadow: 0 20px 45px rgba(255,122,0,.4) !important;
}

.precheck-cta,
.tab.active.gas {
  background: linear-gradient(135deg, #ff6a00, #ffc166) !important;
  box-shadow: 0 25px 60px rgba(255,106,0,.5) !important;
  transform: translateY(0);
}
.precheck-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 30px 70px rgba(255,106,0,.6);
}

/* === FINAL BLUE FIX (FORCE) === */

.precheck-form{
  background: linear-gradient(
    180deg,
    rgba(79,125,255,0.10),
    rgba(79,125,255,0.04)
  ) !important;

  border: 1px solid rgba(20,35,71,0.08);
  box-shadow: 0 12px 28px rgba(20,35,71,0.10);
}


/* === CENTER INPUTS CLEAN === */

.precheck-form{
  text-align: center;
}

.precheck-form label{
  display: block;
  text-align: center;
  margin-bottom: 6px;
}

.precheck-form input{
  display: block;
  margin: 0 auto 18px auto;
  text-align: center;
  max-width: 420px;
}

.precheck-form input::placeholder{
  text-align: center;
}



/* === PREMIUM TRUST UNDER CTA === */
.precheck-form{
  text-align:center;
}

.precheck-trust{
  width:100%;
  display:flex !important;
  justify-content:center !important;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin:18px auto 12px !important;
  padding:0;
  text-align:center;
}

.precheck-trust span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(241,246,255,0.96) 100%);
  border:1px solid rgba(62,113,215,0.14);
  box-shadow:
    0 10px 24px rgba(30,107,255,0.08),
    inset 0 1px 0 rgba(255,255,255,0.75);
  color:#2d3f5f;
  font-size:15px;
  font-weight:700;
  line-height:1;
  letter-spacing:0.1px;
  white-space:nowrap;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.precheck-trust span:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 28px rgba(30,107,255,0.11),
    inset 0 1px 0 rgba(255,255,255,0.85);
  border-color:rgba(30,107,255,0.20);
}

.precheck-legal{
  max-width:760px;
  margin:10px auto 0 !important;
  text-align:center;
}

@media (max-width: 767px){
  .precheck-trust{
    gap:10px;
    margin:14px auto 10px !important;
  }

  .precheck-trust span{
    min-height:38px;
    padding:9px 13px;
    font-size:14px;
  }
}


/* === HIGH-END LEGAL MICRO TRUST === */
.precheck-legal.premium-legal{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  max-width:760px;
  margin:12px auto 0 !important;
  text-align:center;
  color:#7a8598;
  font-size:14px;
  line-height:1.55;
}

.precheck-legal.premium-legal .legal-line{
  display:block;
}

.precheck-legal.premium-legal .legal-line-main{
  opacity:.92;
}

.precheck-legal.premium-legal .legal-line-sub{
  font-weight:600;
  color:#5f6f86;
  opacity:1;
}

@media (min-width: 768px){
  .precheck-legal.premium-legal{
    font-size:15px;
    gap:2px;
  }
}

@media (prefers-reduced-motion: no-preference){
  .precheck-legal.premium-legal{
    animation: legalFadeUp .45s ease both;
  }
  @keyframes legalFadeUp{
    from{
      opacity:0;
      transform:translateY(4px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }
}


/* === targeted fix: text Abstand zum Rechner + PLZ Placeholder bleibt erhalten === */
.precheck-lead{
  margin-bottom: 28px !important;
}

@media (max-width: 768px){
  .precheck-lead{
    margin-bottom: 28px !important;
  }
}


/* === ONLY risk icon fully green === */
.benefit-card-risk .benefit-icon,
.benefit-card-risk .benefit-icon.icon-orange,
.benefit-card-risk .benefit-icon.icon-beige,
.benefit-card-risk .benefit-icon.icon-safe {
  color: #22c55e !important;
  background: rgba(34,197,94,0.10) !important;
  border-color: rgba(34,197,94,0.22) !important;
  box-shadow: 0 6px 15px rgba(34,197,94,0.15) !important;
}

.benefit-card-risk .benefit-icon svg,
.benefit-card-risk .benefit-icon svg * {
  stroke: #22c55e !important;
  color: #22c55e !important;
}

.benefit-card-risk .benefit-icon path[fill]:not([fill="none"]),
.benefit-card-risk .benefit-icon circle[fill]:not([fill="none"]),
.benefit-card-risk .benefit-icon rect[fill]:not([fill="none"]),
.benefit-card-risk .benefit-icon svg [fill]:not([fill="none"]) {
  fill: #22c55e !important;
}

/* animation / ring / overlay also green */
.benefit-card-risk .benefit-icon::before,
.benefit-card-risk .benefit-icon::after {
  background: rgba(34,197,94,0.14) !important;
  border-color: rgba(34,197,94,0.38) !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,0.12), 0 6px 18px rgba(34,197,94,0.16) !important;
}


@keyframes faqCtaShine {
  0% {
    left: -120%;
  }
  55% {
    left: 125%;
  }
  100% {
    left: 125%;
  }
}


/* Color system helpers */
.hero-cta,
.btn-main,
.sticky-btn.strom {
  background: var(--blue-primary);
}

.hero-cta:hover,
.btn-main:hover,
.sticky-btn.strom:hover {
  background: var(--blue-hover);
}

.saving-box.strom {
  background: linear-gradient(135deg, var(--blue-mid), var(--blue-primary));
}

.saving-box.gas,
.sticky-btn.gas {
  background: linear-gradient(135deg, var(--orange-primary), var(--orange-hover));
}

.section h1,
.section h2,
.section h3,
.faq-question,
.faq-cta-box strong {
  color: var(--blue-dark);
}

/* FAQ CTA headline contrast fix */
.faq-cta-box h2 {
  color: #ffffff !important;
  letter-spacing: -0.3px;
  text-shadow: 0 2px 6px rgba(0,0,0,0.25);
}



/* Real gas/orange selector fix */
:root {
  --orange-primary: #fb923c;
  --orange-mid: #f97316;
  --orange-strong: #ff6a00;
  --orange-hover: #fdba74;
}

/* Gas savings card */
.saving-box.gas {
  background: linear-gradient(135deg, var(--orange-primary) 0%, var(--orange-strong) 100%) !important;
}

/* Gas tab in calculator */
.energy-switch .tab-button.gas.active,
.energy-switch .switch-btn.gas.active,
.switch-toggle .gas.active,
.toggle-option.gas.active {
  background: linear-gradient(135deg, var(--orange-primary) 0%, var(--orange-mid) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(249, 115, 22, 0.22) !important;
}

/* Gas CTA / submit button */
.precheck-shell .submit-btn,
.precheck-shell .compare-btn,
.precheck-shell button[type="submit"],
.precheck-shell .calculator-cta {
  background: linear-gradient(135deg, var(--orange-primary) 0%, var(--orange-mid) 55%, #fbbf24 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(249, 115, 22, 0.22) !important;
}

/* Hover states */
.saving-box.gas:hover,
.energy-switch .tab-button.gas.active:hover,
.energy-switch .switch-btn.gas.active:hover,
.switch-toggle .gas.active:hover,
.toggle-option.gas.active:hover,
.precheck-shell .submit-btn:hover,
.precheck-shell .compare-btn:hover,
.precheck-shell button[type="submit"]:hover,
.precheck-shell .calculator-cta:hover {
  filter: brightness(1.03) saturate(1.02);
}

/* Sticky gas button */
.sticky-btn.gas {
  background: linear-gradient(135deg, var(--orange-primary) 0%, var(--orange-mid) 100%) !important;
  color: #ffffff !important;
}


/* Dynamic color system based on selection */
body.strom-active .submit-btn {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
  color:#fff !important;
}

body.gas-active .submit-btn {
  background: linear-gradient(135deg, #fb923c, #f97316) !important;
  color:#fff !important;
}

.switch-btn.strom.active {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
  color:#fff !important;
}

.switch-btn.gas.active {
  background: linear-gradient(135deg, #fb923c, #f97316) !important;
  color:#fff !important;
}



/* Actual energy toggle color logic */
.energy-toggle .energy-option[data-energy="strom"].active {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.22) !important;
}

.energy-toggle .energy-option[data-energy="gas"].active {
  background: linear-gradient(135deg, #fb923c 0%, #f97316 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(249, 115, 22, 0.22) !important;
}

.precheck-cta.cta-strom {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(37, 99, 235, 0.22) !important;
}

.precheck-cta.cta-gas {
  background: linear-gradient(135deg, #fb923c 0%, #f97316 55%, #fbbf24 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(249, 115, 22, 0.22) !important;
}



/* Force CTA color to match selected energy */
.precheck-form .precheck-cta.cta-strom,
.precheck-form .precheck-cta.cta-strom:visited {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(37, 99, 235, 0.22) !important;
}

.precheck-form .precheck-cta.cta-gas,
.precheck-form .precheck-cta.cta-gas:visited {
  background: linear-gradient(135deg, #fb923c 0%, #f97316 55%, #fbbf24 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(249, 115, 22, 0.22) !important;
}

.precheck-form .precheck-cta.cta-strom:hover,
.precheck-form .precheck-cta.cta-gas:hover {
  filter: brightness(1.03) saturate(1.02);
}



/* Consistent Strom blue across sticky, savings, toggle, and CTA */
:root {
  --strom-blue-start: #1e88e5;
  --strom-blue-end: #1f9cf0;
}

.saving-box.strom {
  background: linear-gradient(135deg, var(--strom-blue-start) 0%, var(--strom-blue-end) 100%) !important;
}

.sticky-btn.strom {
  background: linear-gradient(135deg, var(--strom-blue-start) 0%, var(--strom-blue-end) 100%) !important;
  color: #ffffff !important;
}

.energy-toggle .energy-option[data-energy="strom"].active {
  background: linear-gradient(135deg, var(--strom-blue-start) 0%, var(--strom-blue-end) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(30, 136, 229, 0.22) !important;
}

.precheck-form .precheck-cta.cta-strom,
.precheck-form .precheck-cta.cta-strom:visited {
  background: linear-gradient(135deg, var(--strom-blue-start) 0%, var(--strom-blue-end) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(30, 136, 229, 0.22) !important;
}



/* FINAL Strom Blue (clean + premium) */
:root {
  --strom-blue-start: #1a73e8;
  --strom-blue-end: #1557c0;
}

/* Apply everywhere */
.saving-box.strom,
.sticky-btn.strom,
.energy-toggle .energy-option[data-energy="strom"].active,
.precheck-form .precheck-cta.cta-strom {
  background: linear-gradient(135deg, var(--strom-blue-start) 0%, var(--strom-blue-end) 100%) !important;
  color: #ffffff !important;
}

/* Subtle premium hover */
.precheck-form .precheck-cta.cta-strom:hover,
.sticky-btn.strom:hover,
.energy-toggle .energy-option[data-energy="strom"].active:hover {
  filter: brightness(1.08);
}



/* Hero CTA synced with Strom blue + premium animation */
.hero-cta,
.btn-main,
.hero-bottom-cta .hero-cta,
.hero-bottom-cta .btn-main,
.hero-copy-clean .hero-cta,
.hero-copy-clean .btn-main {
  background: linear-gradient(135deg, #1a73e8 0%, #1557c0 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(26, 115, 232, 0.25) !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  animation: heroCtaPulse 2.5s ease-in-out 1;
}

.hero-cta:hover,
.btn-main:hover,
.hero-bottom-cta .hero-cta:hover,
.hero-bottom-cta .btn-main:hover,
.hero-copy-clean .hero-cta:hover,
.hero-copy-clean .btn-main:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 22px 45px rgba(26, 115, 232, 0.35) !important;
  filter: brightness(1.04);
}

.hero-cta:active,
.btn-main:active,
.hero-bottom-cta .hero-cta:active,
.hero-bottom-cta .btn-main:active,
.hero-copy-clean .hero-cta:active,
.hero-copy-clean .btn-main:active {
  transform: scale(0.97);
}

.hero-cta::after,
.btn-main::after,
.hero-bottom-cta .hero-cta::after,
.hero-bottom-cta .btn-main::after,
.hero-copy-clean .hero-cta::after,
.hero-copy-clean .btn-main::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.35) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  pointer-events: none;
}

.hero-cta:hover::after,
.btn-main:hover::after,
.hero-bottom-cta .hero-cta:hover::after,
.hero-bottom-cta .btn-main:hover::after,
.hero-copy-clean .hero-cta:hover::after,
.hero-copy-clean .btn-main:hover::after {
  animation: heroCtaShine 0.9s ease;
}

@keyframes heroCtaPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

@keyframes heroCtaShine {
  100% { left: 130%; }
}



/* Real heading/text color fix */
:root {
  --premium-dark-text: #1b2f55;
}

.section-head h2,
.section-head p,
.section h2,
.section h3,
.faq-head h2,
.faq-head p,
.faq-question,
.benefit-card h3,
.step-card h3,
.card h3,
.precheck-shell h2,
.precheck-shell h3,
.hero-copy-clean h1,
.hero-copy-clean h2,
.footer h4,
nav a,
.desktop-nav a {
  color: var(--premium-dark-text) !important;
}



/* Contrast fixes for dark background sections */
.faq-cta-box strong,
.faq-cta-box h2,
.faq-cta-box h3 {
  color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
}

.footer h4,
.footer-block h4 {
  color: #ffffff !important;
}

.footer a,
.footer-block a,
.footer-note,
.footer-note p,
.footer-bottom {
  color: rgba(255,255,255,0.88);
}


/* sticky delay real fix */
.sticky-cta {
  transition: opacity 0.35s ease, transform 0.35s ease !important;
  will-change: opacity, transform;
}


/* Sticky CTA visibility helper */
.sticky-cta {
  transition: transform .35s ease, opacity .35s ease !important;
}
.sticky-cta.is-hidden {
  transform: translateY(calc(100% + 24px)) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.cta-subline{font-size:16px;line-height:1.5;margin-top:12px;color:#5f6b7a;max-width:500px;}


/* HERO FIX V3 */
.hero-copy-clean h1{font-size:clamp(30px,8vw,46px) !important;line-height:1.06 !important;margin-bottom:14px !important;}
.hero-copy-clean .lead,
.hero-copy-clean .cta-subline{display:block !important;font-size:18px !important;line-height:1.62 !important;max-width:900px !important;color:#5f6b7a !important;margin:0 0 18px !important;}
@media (max-width:820px){
  .hero-copy-clean{padding:18px !important;}
  .hero-copy-clean h1{font-size:clamp(34px,6.5vw,44px) !important;}
  .hero-copy-clean .lead,
  .hero-copy-clean .cta-subline{font-size:16px !important;line-height:1.55 !important;}
  .hero-copy-clean .hero-cta,
  .hero-copy-clean .btn-main{min-height:50px !important;padding:0 20px !important;font-size:15px !important;}
}


/* === FULLWIDTH FIX (REAL) === */

/* remove container padding ONLY for precheck */
.precheck-section .container{
  width:100% !important;
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* remove inner white spacing */
.precheck-shell{
  margin-left:0 !important;
  margin-right:0 !important;
  border-radius:0 !important;
}

/* remove hero radius bottom */
.hero-photo-card{
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}

/* remove gap */
.hero-desktop{
  padding-bottom:0 !important;
}
.precheck-section{
  margin-top:-10px !important;
  padding-top:0 !important;
}

.icon.red { background: #ffe3e3; }

.icon-danger { background: #ffeaea; color: #e03131; }


/* CTA finale Optimierung */
.cta-section h2,
.final-cta h2,
.cta-box h2,
.section-cta h2 {
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}

.cta-section p,
.final-cta p,
.cta-box p,
.section-cta p {
  max-width: 980px;
  font-size: clamp(1.05rem, 1.8vw, 1.5rem);
  line-height: 1.5;
  opacity: 0.96;
}

.cta-section .cta-button,
.final-cta .cta-button,
.cta-box .cta-button,
.section-cta .cta-button,
.cta-section .btn,
.final-cta .btn,
.cta-box .btn,
.section-cta .btn {
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -0.01em;
}


.footer-legal-note {
  max-width: 980px;
  margin: 18px auto 0;
  font-size: 0.92rem;
  line-height: 1.55;
  opacity: 0.78;
  text-align: center;
}


/* SEO article pages */
.hero-image-text h1{
  margin:0;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.02;
  letter-spacing:-0.03em;
}
.section-subline{
  margin:10px 0 0;
  color:var(--muted);
  font-size:17px;
}
.seo-guides-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.seo-guide-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:24px;
  background:#fff;
  border:1px solid rgba(32,55,111,.10);
  border-radius:22px;
  box-shadow:0 18px 45px rgba(17,29,58,.06);
  color:inherit;
  text-decoration:none;
}
.seo-guide-card strong{font-size:22px; line-height:1.15;}
.seo-guide-card span{color:var(--muted); line-height:1.6;}
.seo-guide-card:hover{transform:translateY(-2px); box-shadow:0 24px 56px rgba(17,29,58,.09);}

.article-hero{padding:48px 0 10px;}
.article-shell{max-width:920px; margin:0 auto;}
.article-breadcrumbs{font-size:14px; color:var(--muted); margin-bottom:18px;}
.article-breadcrumbs a{color:var(--navy); text-decoration:none;}
.article-headline{font-size:clamp(36px,5vw,56px); line-height:1.04; letter-spacing:-0.03em; margin:0 0 16px;}
.article-intro{font-size:19px; line-height:1.7; color:var(--muted); max-width:820px; margin:0;}
.article-layout{padding:0 0 72px;}
.article-content{max-width:820px; margin:0 auto;}
.article-content h2{font-size:34px; line-height:1.15; margin:42px 0 14px;}
.article-content h3{font-size:24px; line-height:1.2; margin:24px 0 10px;}
.article-content p, .article-content li{font-size:18px; line-height:1.8; color:#33425f;}
.article-content p{margin:0 0 20px;}
.article-content > p:first-child{margin-top:0;}
.article-content ul{padding-left:22px;}
.article-box{padding:24px; border-radius:24px; background:linear-gradient(180deg,#fff,#f7f9fd); border:1px solid rgba(32,55,111,.10); margin:26px 0;}
.article-cta{display:flex; flex-direction:column; gap:14px; padding:28px; border-radius:28px; background:#0f1d3d; color:#fff; margin:36px 0 24px;}
.article-cta p{color:rgba(255,255,255,.82); margin:0;}
.article-cta-actions{display:flex; flex-wrap:wrap; gap:12px;}
.article-cta .btn-main, .article-cta .btn-secondary{display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 18px; border-radius:999px; text-decoration:none; font-weight:800;}
.article-cta .btn-main{background:#fff; color:#10214a;}
.article-cta .btn-secondary{background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.18);}
.related-guides{margin-top:42px;}
.related-guides ul{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; list-style:none; padding:0;}
.related-guides a{display:block; padding:18px 20px; border-radius:18px; border:1px solid rgba(32,55,111,.10); background:#fff; text-decoration:none; color:var(--navy); font-weight:700;}
@media (max-width: 900px){
  .seo-guides-grid, .related-guides ul{grid-template-columns:1fr;}
  .article-content h2{font-size:28px;}
  .article-content p, .article-content li{font-size:17px;}
}


/* FINAL RESPONSIVE HERO BREAK */
.mobile-break{
  display:inline;
}

@media (max-width: 820px){
  .mobile-break{
    display:block;
  }
}

.hero-image-text{
  left:20px !important;
  right:20px !important;
  width:auto !important;
  max-width:none !important;
}

.hero-image-text h1{
  font-size:24px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  max-width:520px !important;
}

@media (min-width: 821px){
  .hero-image-text h1{
    font-size:38px !important;
    line-height:1.12 !important;
    max-width:700px !important;
  }
}

