/* =====================================================
   GlasfaserAnschluss24 – CLEAN FINAL CSS
   Light Premium Theme · Astra · Startseite · Rechnerseiten · PLZ · Legal · Archive
   Stand: bereinigt, ohne doppelte Dark/Light-Patches und ohne Hero-Bild-Flickwerk
   =====================================================
   CHANGELOG (Korrekturen):
   - --gf-pink (#d946ef Magenta) → #00b4d8 Glasfaser-Cyan (inkl. alle rgba(217,70,239)-Werte)
   - --gf-pink2 (#c026d3 Magenta) → #0090b0 Glasfaser-Cyan Dunkel
   - font-weight: 950 → 900 (Standard-konform, Black)
   - font-weight: 850 → 800 (Standard-konform, ExtraBold)
   ===================================================== */

/* =====================================================
   0. Globale Variablen
   ===================================================== */

:root{
  --gf-max:1180px;
  --gf-text:#16324c;
  --gf-muted:#4f6580;
  --gf-soft:#6f8194;
  --gf-blue:#0077A8;
  --gf-blue2:#006B99;
  --gf-sky:#38bdf8;
  --gf-pink:#00b4d8;  /* Glasfaser Cyan — ersetzt Pink */
  --gf-pink2:#0090b0;  /* Glasfaser Cyan Dunkel — ersetzt Pink2 */
  --gf-accent:#ffb703;
  --gf-border:rgba(116,151,190,.24);
  --gf-border-strong:rgba(116,151,190,.32);
  --gf-card:rgba(255,255,255,.94);
  --gf-card2:rgba(247,251,255,.90);
  --gf-radius:22px;
  --gf-shadow:0 16px 42px rgba(57,84,117,.09);
  --gf-shadow-strong:0 20px 55px rgba(57,84,117,.12);
  --gf-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* =====================================================
   1. Astra Reset / Seitenhintergrund
   ===================================================== */

body,
body.home,
body:has(.gf24),
body:has(.gf24-check-page),
body:has(.gf24-local-page),
body:has(.gf24-legal-page),
body.category,
body.tag,
body.archive{
  background:
    radial-gradient(circle at 10% 5%, rgba(0,180,216,.10), transparent 26%),
    radial-gradient(circle at 90% 8%, rgba(56,189,248,.18), transparent 30%),
    linear-gradient(180deg,#f7fbff 0%,#edf7ff 48%,#fff7ff 100%) !important;
  color:var(--gf-text) !important;
}

body.home .site-content,
body.home .ast-container,
body.home .content-area,
body.home .site-main,
body.home .entry-content,
body:has(.gf24-check-page) .site-content,
body:has(.gf24-check-page) .ast-container,
body:has(.gf24-check-page) .content-area,
body:has(.gf24-check-page) .site-main,
body:has(.gf24-check-page) .entry-content,
body:has(.gf24-local-page) .site-content,
body:has(.gf24-local-page) .ast-container,
body:has(.gf24-local-page) .content-area,
body:has(.gf24-local-page) .site-main,
body:has(.gf24-local-page) .entry-content,
body:has(.gf24-legal-page) .site-content,
body:has(.gf24-legal-page) .ast-container,
body:has(.gf24-legal-page) .content-area,
body:has(.gf24-legal-page) .site-main,
body:has(.gf24-legal-page) .entry-content,
body.category #page,
body.category .site,
body.category #content,
body.category #primary,
body.category .site-content,
body.category .ast-container,
body.category .content-area,
body.category .site-main,
body.tag #page,
body.tag .site,
body.tag #content,
body.tag #primary,
body.tag .site-content,
body.tag .ast-container,
body.tag .content-area,
body.tag .site-main{
  background:transparent !important;
  padding-top:0 !important;
  margin-top:0 !important;
  box-shadow:none !important;
}

body.home .ast-container,
body:has(.gf24-check-page) .ast-container,
body:has(.gf24-local-page) .ast-container,
body:has(.gf24-legal-page) .ast-container{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.home .entry-header,
body.home .entry-title,
body.home .entry-meta,
body.home .comments-area,
body.home .post-navigation,
body:has(.gf24-check-page) .entry-header,
body:has(.gf24-check-page) .entry-title,
body:has(.gf24-check-page) .entry-meta,
body:has(.gf24-check-page) .comments-area,
body:has(.gf24-check-page) .post-navigation,
body:has(.gf24-local-page) .entry-header,
body:has(.gf24-local-page) .entry-title,
body:has(.gf24-local-page) .entry-meta,
body:has(.gf24-local-page) .posted-on,
body:has(.gf24-local-page) .byline,
body:has(.gf24-local-page) .cat-links,
body:has(.gf24-local-page) .tags-links,
body:has(.gf24-local-page) .comments-area,
body:has(.gf24-local-page) #comments,
body:has(.gf24-local-page) .comment-respond,
body:has(.gf24-local-page) .post-navigation,
body:has(.gf24-local-page) .nav-links,
body:has(.gf24-legal-page) .entry-header,
body:has(.gf24-legal-page) .entry-title,
body:has(.gf24-legal-page) .entry-meta,
body:has(.gf24-legal-page) .comments-area,
body:has(.gf24-legal-page) .post-navigation{
  display:none !important;
}

body.home .entry-content > *{
  margin-top:0 !important;
}

/* =====================================================
   2. Header / Footer
   ===================================================== */

body.home .main-header-bar,
body.home .ast-primary-header-bar,
body:has(.gf24-check-page) .main-header-bar,
body:has(.gf24-check-page) .ast-primary-header-bar,
body:has(.gf24-local-page) .main-header-bar,
body:has(.gf24-local-page) .ast-primary-header-bar,
body:has(.gf24-legal-page) .main-header-bar,
body:has(.gf24-legal-page) .ast-primary-header-bar,
body.category .main-header-bar,
body.category .ast-primary-header-bar,
body.tag .main-header-bar,
body.tag .ast-primary-header-bar{
  background:rgba(255,255,255,.82) !important;
  border-bottom:1px solid rgba(116,151,190,.22) !important;
  box-shadow:0 10px 30px rgba(57,84,117,.05) !important;
  backdrop-filter:blur(14px) !important;
}

body.home .site-title a,
body.home .main-header-menu .menu-link,
body:has(.gf24-check-page) .site-title a,
body:has(.gf24-check-page) .main-header-menu .menu-link,
body:has(.gf24-local-page) .site-title a,
body:has(.gf24-local-page) .main-header-menu .menu-link,
body:has(.gf24-legal-page) .site-title a,
body:has(.gf24-legal-page) .main-header-menu .menu-link,
body.category .site-title a,
body.category .main-header-menu .menu-link,
body.tag .site-title a,
body.tag .main-header-menu .menu-link{
  color:var(--gf-text) !important;
  text-decoration:none !important;
}

body.home .main-header-menu .menu-link:hover,
body.home .current-menu-item > .menu-link,
body:has(.gf24-check-page) .main-header-menu .menu-link:hover,
body:has(.gf24-check-page) .current-menu-item > .menu-link,
body:has(.gf24-local-page) .main-header-menu .menu-link:hover,
body:has(.gf24-local-page) .current-menu-item > .menu-link,
body:has(.gf24-legal-page) .main-header-menu .menu-link:hover,
body:has(.gf24-legal-page) .current-menu-item > .menu-link,
body.category .main-header-menu .menu-link:hover,
body.category .current-menu-item > .menu-link,
body.tag .main-header-menu .menu-link:hover,
body.tag .current-menu-item > .menu-link{
  color:var(--gf-pink) !important;
}

body.home .site-footer,
body.home .site-primary-footer-wrap,
body.home .site-below-footer-wrap,
body:has(.gf24-check-page) .site-footer,
body:has(.gf24-check-page) .site-primary-footer-wrap,
body:has(.gf24-check-page) .site-below-footer-wrap,
body:has(.gf24-local-page) .site-footer,
body:has(.gf24-local-page) .site-primary-footer-wrap,
body:has(.gf24-local-page) .site-below-footer-wrap,
body:has(.gf24-legal-page) .site-footer,
body:has(.gf24-legal-page) .site-primary-footer-wrap,
body:has(.gf24-legal-page) .site-below-footer-wrap,
body.category .site-footer,
body.category .site-primary-footer-wrap,
body.category .site-below-footer-wrap,
body.tag .site-footer,
body.tag .site-primary-footer-wrap,
body.tag .site-below-footer-wrap{
  background:rgba(255,255,255,.78) !important;
  color:#5c7086 !important;
  border-top:1px solid rgba(116,151,190,.20) !important;
  backdrop-filter:blur(10px) !important;
}

body.home .site-footer a,
body:has(.gf24-check-page) .site-footer a,
body:has(.gf24-local-page) .site-footer a,
body:has(.gf24-legal-page) .site-footer a,
body.category .site-footer a,
body.tag .site-footer a{
  color:var(--gf-text) !important;
}

body.home .site-footer a:hover,
body:has(.gf24-check-page) .site-footer a:hover,
body:has(.gf24-local-page) .site-footer a:hover,
body:has(.gf24-legal-page) .site-footer a:hover,
body.category .site-footer a:hover,
body.tag .site-footer a:hover{
  color:var(--gf-pink) !important;
}

/* =====================================================
   3. Hauptcontainer / Typografie
   ===================================================== */

.gf24,
.gf24-check-page,
.gf24-local-page,
.gf24-legal-page{
  width:100% !important;
  max-width:var(--gf-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:42px 22px 76px !important;
  background:transparent !important;
  color:var(--gf-text) !important;
  font-family:var(--gf-font) !important;
}

.gf24 *, .gf24 *::before, .gf24 *::after,
.gf24-check-page *, .gf24-check-page *::before, .gf24-check-page *::after,
.gf24-local-page *, .gf24-local-page *::before, .gf24-local-page *::after,
.gf24-legal-page *, .gf24-legal-page *::before, .gf24-legal-page *::after{
  box-sizing:border-box !important;
}

.gf24 a,
.gf24-check-page a,
.gf24-local-page a,
.gf24-legal-page a{
  text-decoration:none !important;
}

.gf24 h1,.gf24 h2,.gf24 h3,.gf24 h4,.gf24 strong,.gf24 summary,
.gf24-check-page h1,.gf24-check-page h2,.gf24-check-page h3,.gf24-check-page h4,.gf24-check-page strong,
.gf24-local-page h1,.gf24-local-page h2,.gf24-local-page h3,.gf24-local-page h4,.gf24-local-page strong,
.gf24-legal-page h1,.gf24-legal-page h2,.gf24-legal-page h3,.gf24-legal-page h4,.gf24-legal-page strong{
  color:var(--gf-text) !important;
}

.gf24 p,.gf24 li,.gf24 span,.gf24 div,
.gf24-check-page p,.gf24-check-page li,.gf24-check-page span,.gf24-check-page div,
.gf24-local-page p,.gf24-local-page li,.gf24-local-page span,.gf24-local-page div,
.gf24-legal-page p,.gf24-legal-page li,.gf24-legal-page span,.gf24-legal-page div{
  color:var(--gf-muted) !important;
}

/* =====================================================
   4. Hero-Bereiche
   ===================================================== */

.gf24-hero,
.gf24-check-hero,
.gf24-local-hero,
.gf24-legal-hero,
body.category .ast-archive-description,
body.tag .ast-archive-description{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 28px !important;
  padding:58px !important;
  border-radius:32px !important;
  background:
    radial-gradient(circle at 84% 16%, rgba(0,180,216,.14), transparent 26%),
    radial-gradient(circle at 12% 100%, rgba(56,189,248,.18), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#eef8ff 54%,#fff6ff 100%) !important;
  border:1px solid rgba(116,151,190,.28) !important;
  box-shadow:var(--gf-shadow-strong) !important;
}

.gf24-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:-120px !important;
  background:
    radial-gradient(circle at 72% 22%, rgba(0,180,216,.14), transparent 24%),
    radial-gradient(circle at 20% 80%, rgba(56,189,248,.14), transparent 26%) !important;
  filter:blur(42px) !important;
  opacity:.9 !important;
  pointer-events:none !important;
}

.gf24-hero-inner{
  position:relative !important;
  z-index:2 !important;
  max-width:760px !important;
}

.gf24-kicker,
.gf24-check-kicker,
.gf24-local-kicker,
.gf24-legal-kicker,
.gf24clean-badge,
.gf24-check-badge,
.gf24-ticker-label{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  max-width:max-content !important;
  margin:0 0 18px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:rgba(0,180,216,.08) !important;
  border:1px solid rgba(0,180,216,.22) !important;
  color:var(--gf-pink2) !important;
  box-shadow:0 8px 22px rgba(57,84,117,.06) !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.gf24-hero h1,
.gf24-check-hero h1,
.gf24-local-hero h1,
.gf24-legal-hero h1,
body.category .ast-archive-description .page-title,
body.category .ast-archive-description h1,
body.tag .ast-archive-description .page-title,
body.tag .ast-archive-description h1{
  max-width:900px !important;
  margin:0 0 18px !important;
  color:var(--gf-text) !important;
  font-size:clamp(42px,5vw,64px) !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
}

.gf24-lead,
.gf24-check-hero p,
.gf24-local-hero p,
.gf24-legal-hero p,
body.category .ast-archive-description p,
body.tag .ast-archive-description p{
  max-width:860px !important;
  margin:0 !important;
  color:#50677f !important;
  font-size:18px !important;
  line-height:1.75 !important;
}

/* Startseiten-Hero: FINAL – Text links, Bildbox rechts, sauberer Innenrand */
.gf24.gf24-homepage .gf24-hero{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 420px !important;
  gap:34px !important;
  align-items:center !important;
}

.gf24.gf24-homepage .gf24-hero-inner{
  grid-column:1 !important;
}

/* Die figure ist nur die weiße Premium-Box. Kein eigenes Bildformat hier. */
.gf24.gf24-homepage .gf24-hero-media{
  grid-column:2 !important;
  width:100% !important;
  max-width:420px !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  padding:14px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,251,255,.96)) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:0 18px 44px rgba(57,84,117,.14) !important;
  overflow:hidden !important;
}

/* Das Bildformat sitzt ausschließlich auf picture. */
.gf24.gf24-homepage .gf24-hero-media picture{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:20px !important;
  overflow:hidden !important;
}

.gf24.gf24-homepage .gf24-hero-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:20px !important;
}

.gf24.gf24-homepage .gf24-hero-media::after{
  inset:14px !important;
  border-radius:20px !important;
}

/* =====================================================
   5. Buttons / CTAs
   ===================================================== */

.gf24-actions{
  display:flex !important;
  gap:13px !important;
  flex-wrap:wrap !important;
  margin-top:30px !important;
}

.gf24-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  padding:15px 23px !important;
  border-radius:16px !important;
  border:1px solid transparent !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:transform .22s ease, background .22s ease, border-color .22s ease !important;
}

.gf24 a.gf24-btn.gf24-btn-primary,
.gf24 .gf24-btn.gf24-btn-primary,
.gf24-check-page a.gf24-btn.gf24-btn-primary,
.gf24-local-page a.gf24-btn.gf24-btn-primary,
.gf24-legal-page a.gf24-btn.gf24-btn-primary{
  background:var(--gf-blue) !important;
  border-color:var(--gf-blue) !important;
  color:#fff !important;
  text-shadow:none !important;
  box-shadow:0 12px 26px rgba(0,119,168,.22),0 8px 18px rgba(15,23,42,.08) !important;
}

.gf24 a.gf24-btn.gf24-btn-primary:hover,
.gf24-check-page a.gf24-btn.gf24-btn-primary:hover,
.gf24-local-page a.gf24-btn.gf24-btn-primary:hover,
.gf24-legal-page a.gf24-btn.gf24-btn-primary:hover{
  background:var(--gf-blue2) !important;
  border-color:var(--gf-blue2) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
}

.gf24-btn-primary *,
.gf24-btn-primary span,
.gf24-btn-primary strong,
.gf24-btn-primary em{
  color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}

.gf24-btn-ghost{
  background:#fff !important;
  color:var(--gf-blue) !important;
  border:1px solid #B6D8F7 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.06) !important;
}

.gf24-btn-ghost:hover{
  background:#EAF7FF !important;
  color:var(--gf-blue2) !important;
  border-color:var(--gf-blue) !important;
  transform:translateY(-2px) !important;
}

/* =====================================================
   6. Ticker
   ===================================================== */

.gf24-random-ticker{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  max-width:100% !important;
  margin:0 0 22px !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:0 12px 30px rgba(57,84,117,.07) !important;
  overflow:hidden !important;
}

.gf24-ticker-text{
  color:var(--gf-text) !important;
  font-size:14px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  transition:opacity .26s ease, transform .26s ease, color .2s ease !important;
}

.gf24-ticker-text:hover{
  color:var(--gf-pink) !important;
}

.gf24-ticker-text.is-changing{
  opacity:0 !important;
  transform:translateY(6px) !important;
}

/* =====================================================
   7. Sektionen / Karten / Boxen
   ===================================================== */

.gf24-section{
  margin-top:26px !important;
}

.gf24-section-head{
  max-width:820px !important;
  margin-bottom:18px !important;
}

.gf24-section-head h2{
  margin:0 0 9px !important;
  font-size:clamp(27px,3vw,40px) !important;
  letter-spacing:-.03em !important;
}

.gf24-section-head p{
  margin:0 !important;
  color:var(--gf-soft) !important;
  line-height:1.7 !important;
}

.gf24-grid-3,
.gf24-reco{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  margin-bottom:34px !important;
}

.gf24-grid-2{
  display:grid !important;
  grid-template-columns:1.25fr .75fr !important;
  gap:18px !important;
  align-items:stretch !important;
}

.gf24-card,
.gf24-provider,
.gf24-sidebox,
.gf24-tile,
.gf24-testimonial,
.gf24-faq details,
.gf24-note,
.gf24-check-widget,
.gf24-check-text,
.gf24-local-widget,
.gf24-local-text,
.gf24-local-info div,
.gf24-check-info div,
.gf24-legal-box,
.gf24-legal-contact div,
.gf24-legal-note,
body.category article,
body.category .ast-article-post,
body.tag article,
body.tag .ast-article-post{
  border-radius:var(--gf-radius) !important;
  border:1px solid var(--gf-border) !important;
  background:linear-gradient(180deg,var(--gf-card),var(--gf-card2)) !important;
  box-shadow:var(--gf-shadow) !important;
}

.gf24-card{
  padding:26px !important;
}

.gf24-card h3,
.gf24-card h4{
  margin:0 0 10px !important;
  font-size:21px !important;
}

.gf24-card p,
.gf24-card li{
  margin:0 !important;
  color:#536980 !important;
  line-height:1.68 !important;
}

.gf24-card ul{
  margin:14px 0 0 !important;
  padding-left:20px !important;
}

.gf24-icon{
  width:48px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  margin-bottom:16px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,rgba(0,180,216,.12),rgba(56,189,248,.16)) !important;
  color:var(--gf-pink2) !important;
  font-size:23px !important;
}

.gf24-provider,
.gf24-sidebox,
.gf24-tile,
.gf24-testimonial{
  padding:28px !important;
}

.gf24-provider h2{
  margin:0 0 14px !important;
  font-size:clamp(27px,3vw,38px) !important;
  letter-spacing:-.03em !important;
}

.gf24-provider p,
.gf24-provider li,
.gf24-sidebox p,
.gf24-tile span,
.gf24-testimonial span{
  color:#536980 !important;
  line-height:1.7 !important;
}

.gf24-provider ul{
  margin:18px 0 0 !important;
  padding-left:20px !important;
}

.gf24-sidebox{
  background:
    radial-gradient(circle at 90% 0%, rgba(255,183,3,.10), transparent 36%),
    linear-gradient(180deg,var(--gf-card),var(--gf-card2)) !important;
  border-color:rgba(255,183,3,.24) !important;
}

.gf24-sidebox h3{
  margin:0 0 10px !important;
  font-size:24px !important;
}

.gf24-sidebox p{
  margin:0 0 18px !important;
}

.gf24-tile strong,
.gf24-testimonial strong{
  display:block !important;
  color:var(--gf-text) !important;
  line-height:1.4 !important;
}

.gf24-tile strong{
  margin-bottom:9px !important;
  font-size:19px !important;
}

.gf24-testimonials{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}

.gf24-testimonial strong{
  font-size:19px !important;
}

.gf24-testimonial span{
  display:block !important;
  margin-top:11px !important;
}

.gf24-note,
.gf24-legal-note{
  margin-top:28px !important;
  margin-bottom:38px !important;
  padding:24px 26px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(0,180,216,.08),rgba(56,189,248,.07)) !important;
  border-color:rgba(0,180,216,.18) !important;
  color:#536980 !important;
  line-height:1.7 !important;
}

.gf24-note strong,
.gf24-legal-note strong{
  color:var(--gf-pink2) !important;
}

/* =====================================================
   8. Bilder / Visuals
   ===================================================== */

.gf24-media{
  position:relative !important;
  z-index:2 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:14px !important;
  border-radius:28px !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:0 18px 44px rgba(57,84,117,.14) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,251,255,.96)) !important;
}

.gf24-media img,
.gf24-media picture{
  display:block !important;
  width:100% !important;
}

.gf24-media picture{
  height:auto !important;
}

.gf24-media img{
  height:100% !important;
  object-fit:cover !important;
  border-radius:20px !important;
}

.gf24-media::after{
  content:"" !important;
  position:absolute !important;
  inset:14px !important;
  pointer-events:none !important;
  border-radius:20px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,119,168,.06)),
    radial-gradient(circle at 20% 10%,rgba(255,255,255,.20),transparent 34%) !important;
}

.gf24-image-section{
  margin-top:30px !important;
  margin-bottom:30px !important;
}

.gf24-wide-image{
  aspect-ratio:16/6.5 !important;
}

.gf24-how-image{
  margin:20px 0 24px !important;
  aspect-ratio:16/6.8 !important;
}

.gf24-wide-image img{
  object-position:center center !important;
}

/* =====================================================
   9. Clean Check / Startseitenformular
   ===================================================== */

#gf24-clean-check,
#gf24-clean-check *,
#gf24-clean-check *::before,
#gf24-clean-check *::after{
  box-sizing:border-box !important;
}

#gf24-clean-check{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  margin:26px auto 0 !important;
  padding:34px !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(0,180,216,.12), transparent 30%),
    radial-gradient(circle at 10% 100%, rgba(56,189,248,.16), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,251,255,.92)) !important;
  border:1px solid rgba(116,151,190,.26) !important;
  box-shadow:0 20px 52px rgba(57,84,117,.10) !important;
  overflow:hidden !important;
  font-family:var(--gf-font) !important;
}

.gf24-check-layout{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr) !important;
  gap:34px !important;
  align-items:center !important;
}

.gf24-check-copy h2,
#gf24-clean-check h2{
  margin:0 0 12px !important;
  color:var(--gf-text) !important;
  font-size:clamp(30px,4vw,48px) !important;
  line-height:1.08 !important;
  letter-spacing:-.05em !important;
  font-weight:900 !important;
}

.gf24-check-copy p,
#gf24-clean-check .gf24clean-text{
  max-width:620px !important;
  margin:0 !important;
  color:var(--gf-muted) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

.gf24clean-form{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:24px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(255,255,255,.85) !important;
  box-shadow:0 18px 42px rgba(57,84,117,.10), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#gf24-clean-check input[type="hidden"]{
  display:none !important;
}

.gf24clean-fields-short{
  display:grid !important;
  grid-template-columns:150px 1fr !important;
  gap:14px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
}

.gf24clean-fields-short label{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.gf24clean-fields-short span{
  display:block !important;
  margin:0 0 7px !important;
  color:var(--gf-muted) !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}

#gf24-clean-check input[type="text"]{
  display:block !important;
  width:100% !important;
  height:54px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 15px !important;
  border-radius:13px !important;
  border:1px solid rgba(116,151,190,.32) !important;
  background:#fff !important;
  color:var(--gf-text) !important;
  font-size:15px !important;
  line-height:54px !important;
  box-shadow:0 8px 20px rgba(57,84,117,.05) !important;
  outline:none !important;
}

#gf24-clean-check input[type="text"]::placeholder{
  color:#8ea0b4 !important;
}

#gf24-clean-check input[type="text"]:focus{
  border-color:var(--gf-blue) !important;
  box-shadow:0 0 0 4px rgba(0,119,168,.10) !important;
}

.gf24clean-submit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#168fd3,var(--gf-blue)) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 16px 32px rgba(0,119,168,.28),0 8px 18px rgba(15,23,42,.08) !important;
}

.gf24clean-submit::after{
  content:"→" !important;
  margin-left:10px !important;
  font-size:20px !important;
  line-height:1 !important;
}

.gf24clean-submit:hover{
  background:linear-gradient(180deg,#0d83c0,var(--gf-blue2)) !important;
  transform:translateY(-1px) !important;
}

.gf24clean-hint{
  margin:13px 0 0 !important;
  color:#66788f !important;
  font-size:12px !important;
  line-height:1.45 !important;
  text-align:center !important;
}

/* =====================================================
   10. Rechnerseiten / Tariffuxx
   ===================================================== */

.gf24-check-widget{
  padding:32px !important;
  border-radius:30px !important;
  margin-bottom:28px !important;
  overflow:hidden !important;
}

.gf24-widget-head{
  margin-bottom:22px !important;
}

.gf24-widget-head h2{
  margin:0 0 10px !important;
  color:var(--gf-text) !important;
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
}

.gf24-widget-head p{
  max-width:980px !important;
  margin:0 0 24px !important;
  color:#536980 !important;
  font-size:17px !important;
  line-height:1.75 !important;
}

.gf24-tariffuxx-wrap{
  width:100% !important;
  max-width:100% !important;
  padding:24px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#fbfdff,#eef7ff) !important;
  border:1px solid rgba(116,151,190,.26) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.70),0 12px 30px rgba(57,84,117,.08) !important;
  overflow:hidden !important;
}

.gf24-tariffuxx-wrap iframe,
.gf24-tariffuxx-wrap form,
.gf24-tariffuxx-wrap table,
.gf24-tariffuxx-wrap div,
.gf24-tariffuxx-wrap input,
.gf24-tariffuxx-wrap select,
.gf24-tariffuxx-wrap textarea{
  max-width:100% !important;
}

.gf24-check-info,
.gf24-local-info{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important;
  margin-bottom:34px !important;
}

.gf24-check-info div,
.gf24-local-info div{
  padding:26px !important;
  border-radius:22px !important;
}

.gf24-check-info strong,
.gf24-local-info strong{
  display:block !important;
  margin-bottom:9px !important;
  color:var(--gf-text) !important;
  font-size:19px !important;
}

.gf24-check-info p,
.gf24-local-info p{
  margin:0 !important;
  color:#536980 !important;
  line-height:1.65 !important;
}

.gf24-check-text,
.gf24-local-widget,
.gf24-local-text{
  padding:34px !important;
  border-radius:28px !important;
  margin-bottom:28px !important;
  overflow:hidden !important;
}

.gf24-check-text h2,
.gf24-local-widget-head h2,
.gf24-local-text h2{
  margin:0 0 14px !important;
  color:var(--gf-text) !important;
  font-size:clamp(28px,3vw,40px) !important;
  line-height:1.16 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
}

.gf24-check-text p,
.gf24-local-widget-head p,
.gf24-local-text p{
  max-width:980px !important;
  margin:0 0 18px !important;
  color:#536980 !important;
  font-size:16px !important;
  line-height:1.78 !important;
}

.gf24-check-text p:last-child,
.gf24-local-text p:last-child{
  margin-bottom:0 !important;
}

/* =====================================================
   11. Legal / Anbieter / Kontakt
   ===================================================== */

.gf24-legal-box{
  padding:34px !important;
  border-radius:28px !important;
  margin-top:34px !important;
  margin-bottom:34px !important;
}

.gf24-legal-box h2{
  margin:0 0 18px !important;
  color:var(--gf-text) !important;
  font-size:clamp(26px,3vw,38px) !important;
  line-height:1.15 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
}

.gf24-legal-box h3{
  margin:26px 0 10px !important;
  color:var(--gf-pink2) !important;
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

.gf24-legal-box p,
.gf24-legal-box li{
  max-width:980px !important;
  color:#536980 !important;
  font-size:16px !important;
  line-height:1.78 !important;
}

.gf24-legal-box p{
  margin:0 0 14px !important;
}

.gf24-legal-box ul{
  margin:0 0 18px !important;
  padding-left:22px !important;
}

.gf24-legal-box a,
body.category .entry-content a,
body.category .entry-summary a,
body.tag .entry-content a,
body.tag .entry-summary a{
  color:var(--gf-pink2) !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.gf24-legal-box a:hover,
body.category .entry-title a:hover,
body.tag .entry-title a:hover{
  color:var(--gf-sky) !important;
}

.gf24-legal-contact{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:18px !important;
  margin-top:20px !important;
}

.gf24-legal-contact div{
  padding:22px !important;
  border-radius:22px !important;
}

.gf24-legal-contact strong{
  display:block !important;
  margin-bottom:8px !important;
  color:var(--gf-text) !important;
  font-size:18px !important;
}

.gf24-anbieter-page .gf24-section,
.gf24-kontakt-page .gf24-section{
  margin-top:34px !important;
  margin-bottom:34px !important;
}

.gf24-anbieter-page .gf24-card,
.gf24-kontakt-page .gf24-card{
  min-height:100% !important;
}

/* =====================================================
   12. FAQ / Accordion
   ===================================================== */

.gf24-faq{
  margin-top:36px !important;
}

.gf24-faq h2{
  margin:0 0 18px !important;
  color:var(--gf-pink2) !important;
  font-size:clamp(28px,3vw,40px) !important;
  letter-spacing:-.03em !important;
}

.gf24-faq details{
  margin-bottom:10px !important;
  overflow:hidden !important;
  border-radius:16px !important;
}

.gf24-faq summary{
  position:relative !important;
  display:block !important;
  padding:18px 52px 18px 20px !important;
  color:var(--gf-text) !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  cursor:pointer !important;
  list-style:none !important;
}

.gf24-faq summary::-webkit-details-marker{
  display:none !important;
}

.gf24-faq summary::after{
  content:"+" !important;
  position:absolute !important;
  top:50% !important;
  right:19px !important;
  transform:translateY(-50%) !important;
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:rgba(0,180,216,.10) !important;
  color:var(--gf-pink2) !important;
  font-size:22px !important;
  line-height:1 !important;
}

.gf24-faq details[open] summary{
  color:var(--gf-pink2) !important;
  border-bottom:1px solid rgba(116,151,190,.18) !important;
}

.gf24-faq details[open] summary::after{
  content:"–" !important;
}

.gf24-answer{
  padding:17px 20px 20px !important;
  color:#536980 !important;
  line-height:1.72 !important;
  background:rgba(245,249,255,.82) !important;
}

/* Detailseiten-FAQ */
.gf24-local-page .gf24-detail-faq-box{
  display:block !important;
  max-width:1180px !important;
  margin:34px auto !important;
  padding:30px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.92)) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:0 16px 42px rgba(57,84,117,.09) !important;
}

.gf24-local-page .gf24-detail-faq-list details{
  margin-bottom:10px !important;
  overflow:hidden !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,251,255,.92)) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:0 10px 28px rgba(57,84,117,.06) !important;
}

.gf24-local-page .gf24-detail-faq-list summary{
  position:relative !important;
  display:block !important;
  padding:17px 52px 17px 18px !important;
  color:var(--gf-text) !important;
  font-weight:900 !important;
  cursor:pointer !important;
  list-style:none !important;
}

.gf24-local-page .gf24-detail-faq-list summary::-webkit-details-marker,
.gf24-local-page .gf24-detail-faq-list summary::marker{
  display:none !important;
  content:"" !important;
}

.gf24-local-page .gf24-detail-faq-list summary::after{
  content:"+" !important;
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(0,180,216,.10) !important;
  color:var(--gf-pink2) !important;
  font-size:22px !important;
}

.gf24-local-page .gf24-detail-faq-list details[open] summary{
  color:var(--gf-pink2) !important;
  border-bottom:1px solid rgba(116,151,190,.18) !important;
}

.gf24-local-page .gf24-detail-faq-list details[open] summary::after{
  content:"–" !important;
}

.gf24-local-page .gf24-detail-answer{
  display:block !important;
  padding:16px 18px 18px !important;
  color:var(--gf-muted) !important;
  line-height:1.72 !important;
  background:#f8fbff !important;
}

/* =====================================================
   13. Ratgeber / Anbieter / DSL-Hinweisbilder
   ===================================================== */

.gf24-ratgeber-page .gf24-ratgeber-process,
.gf24-anbieter-page .gf24-anbieter-visual,
.gf24-dsl-glasfaser-page .gf24-dsl-switch-hint{
  margin-top:28px !important;
  margin-bottom:34px !important;
  padding:28px !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(56,189,248,.14), transparent 34%),
    radial-gradient(circle at 8% 100%, rgba(0,180,216,.10), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.94)) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:0 18px 44px rgba(57,84,117,.10) !important;
}

.gf24-ratgeber-page .gf24-ratgeber-process-head{
  margin-bottom:18px !important;
}

.gf24-ratgeber-page .gf24-ratgeber-process-head h2,
.gf24-dsl-glasfaser-page .gf24-dsl-switch-copy h3{
  margin:0 0 10px !important;
  color:var(--gf-text) !important;
  font-size:clamp(24px,2.8vw,38px) !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
}

.gf24-ratgeber-page .gf24-ratgeber-process-head p,
.gf24-dsl-glasfaser-page .gf24-dsl-switch-copy p{
  margin:0 !important;
  color:var(--gf-muted) !important;
  line-height:1.7 !important;
}

.gf24-ratgeber-page .gf24-ratgeber-process-image,
.gf24-anbieter-page .gf24-anbieter-image,
.gf24-dsl-glasfaser-page .gf24-dsl-switch-image{
  margin:0 !important;
  padding:12px !important;
  border-radius:24px !important;
  background:#fff !important;
  border:1px solid rgba(116,151,190,.22) !important;
  box-shadow:0 16px 38px rgba(57,84,117,.10) !important;
  overflow:hidden !important;
}

.gf24-ratgeber-page .gf24-ratgeber-process-image img,
.gf24-anbieter-page .gf24-anbieter-image img,
.gf24-dsl-glasfaser-page .gf24-dsl-switch-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  border-radius:18px !important;
}

.gf24-ratgeber-page .gf24-faq{
  margin-top:42px !important;
}

.gf24-dsl-glasfaser-page .gf24-dsl-switch-hint{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(280px,.55fr) !important;
  gap:22px !important;
  align-items:center !important;
  margin:22px 0 26px !important;
  padding:22px !important;
  border-radius:26px !important;
}

.gf24-dsl-glasfaser-page .gf24-dsl-switch-copy span{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:10px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(0,119,168,.08) !important;
  border:1px solid rgba(0,119,168,.18) !important;
  color:var(--gf-blue) !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.gf24-dsl-glasfaser-page .gf24-dsl-switch-copy strong{
  color:var(--gf-text) !important;
}

/* =====================================================
   14. Archive / Kategorie / Tag
   ===================================================== */

body.category .ast-container,
body.tag .ast-container{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:42px 22px 76px !important;
}

body.category .site-main,
body.tag .site-main,
body.category .ast-row,
body.tag .ast-row{
  display:block !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

body.category .ast-row [class*="ast-col-"],
body.tag .ast-row [class*="ast-col-"]{
  width:100% !important;
  max-width:100% !important;
  flex:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.category article,
body.category .ast-article-post,
body.tag article,
body.tag .ast-article-post{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 26px !important;
  padding:30px !important;
  border-radius:28px !important;
  overflow:hidden !important;
}

body.category .entry-title,
body.tag .entry-title{
  margin:0 0 14px !important;
  color:var(--gf-text) !important;
  font-size:26px !important;
  line-height:1.22 !important;
  letter-spacing:-.025em !important;
  font-weight:900 !important;
}

body.category .entry-title a,
body.tag .entry-title a{
  color:var(--gf-text) !important;
  text-decoration:none !important;
}

body.category .entry-meta,
body.category .posted-on,
body.category .byline,
body.category .author,
body.tag .entry-meta,
body.tag .posted-on,
body.tag .byline,
body.tag .author{
  display:none !important;
}

body.category .entry-content,
body.category .entry-summary,
body.category .entry-content p,
body.category .entry-summary p,
body.tag .entry-content,
body.tag .entry-summary,
body.tag .entry-content p,
body.tag .entry-summary p{
  color:#536980 !important;
  font-size:16px !important;
  line-height:1.75 !important;
}

body.category .nav-links a,
body.category .nav-links span,
body.tag .nav-links a,
body.tag .nav-links span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  min-height:42px !important;
  margin:4px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  color:var(--gf-text) !important;
  text-decoration:none !important;
  font-weight:900 !important;
}

body.category .nav-links .current,
body.tag .nav-links .current{
  background:linear-gradient(135deg,var(--gf-pink),var(--gf-sky)) !important;
  color:#fff !important;
}

/* =====================================================
   15. Cookie-Richtlinie / Complianz
   ===================================================== */

body:has(.cmplz-document) .ast-single-entry-banner,
body:has(.cmplz-document) .ast-archive-description,
body:has(.cmplz-document) .ast-breadcrumbs-wrapper,
body:has(.cmplz-document) .ast-breadcrumb,
body:has(.cmplz-document) .breadcrumbs,
body:has(.cmplz-document) .rank-math-breadcrumb,
body:has(.cmplz-document) .entry-header,
body:has(.cmplz-document) .page-header,
body:has(.cmplz-document) .site-main > header,
body:has(.cmplz-document) .entry-content > header{
  display:none !important;
}

body:has(.cmplz-document) .ast-container{
  padding-top:42px !important;
}

body:has(.cmplz-document) .cmplz-document{
  margin-top:0 !important;
}

/* =====================================================
   16. Formular-Test isoliert
   ===================================================== */

#gf24-formtest,
#gf24-formtest *,
#gf24-formtest *::before,
#gf24-formtest *::after{
  box-sizing:border-box !important;
}

#gf24-formtest{
  display:block !important;
  width:calc(100% - 40px) !important;
  max-width:1180px !important;
  margin:40px auto !important;
  padding:34px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.92)) !important;
  border:1px solid rgba(116,151,190,.24) !important;
  box-shadow:var(--gf-shadow) !important;
  font-family:var(--gf-font) !important;
}

#gf24-formtest .gf24ft-badge{
  display:inline-flex !important;
  align-items:center !important;
  max-width:max-content !important;
  margin:0 0 14px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(0,180,216,.08) !important;
  border:1px solid rgba(0,180,216,.22) !important;
  color:var(--gf-pink2) !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

#gf24-formtest h2{
  margin:0 0 10px !important;
  color:var(--gf-text) !important;
  font-size:clamp(30px,4vw,46px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:900 !important;
}

#gf24-formtest .gf24ft-text{
  max-width:920px !important;
  margin:0 0 24px !important;
  color:var(--gf-muted) !important;
  font-size:16px !important;
  line-height:1.65 !important;
}

#gf24-formtest .gf24ft-grid{
  display:grid !important;
  grid-template-columns:150px minmax(180px,1fr) minmax(260px,1.35fr) 110px !important;
  grid-template-areas:"plz ort street nr" !important;
  gap:14px !important;
  align-items:end !important;
  width:100% !important;
  margin:0 0 16px !important;
}

#gf24-formtest .gf24ft-grid label:nth-child(1){ grid-area:plz !important; }
#gf24-formtest .gf24ft-grid label:nth-child(2){ grid-area:ort !important; }
#gf24-formtest .gf24ft-grid label:nth-child(3){ grid-area:street !important; }
#gf24-formtest .gf24ft-grid label:nth-child(4){ grid-area:nr !important; }

#gf24-formtest label{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
}

#gf24-formtest label span{
  display:block !important;
  margin:0 0 6px !important;
  color:var(--gf-muted) !important;
  font-size:12px !important;
  font-weight:800 !important;
}

#gf24-formtest input[type="hidden"]{
  display:none !important;
}

#gf24-formtest input[type="text"]{
  display:block !important;
  width:100% !important;
  height:46px !important;
  padding:0 13px !important;
  border-radius:10px !important;
  border:1px solid rgba(116,151,190,.34) !important;
  background:#fff !important;
  color:var(--gf-text) !important;
  font-size:15px !important;
  outline:none !important;
}

#gf24-formtest input[type="text"]:focus{
  border-color:var(--gf-blue) !important;
  box-shadow:0 0 0 3px rgba(0,119,168,.11) !important;
}

#gf24-formtest .gf24ft-submit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:54px !important;
  border:0 !important;
  border-radius:15px !important;
  background:var(--gf-blue) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 12px 26px rgba(0,119,168,.22),0 8px 18px rgba(15,23,42,.08) !important;
}

#gf24-formtest .gf24ft-submit:hover{
  background:var(--gf-blue2) !important;
  transform:translateY(-1px) !important;
}

#gf24-formtest .gf24ft-hint{
  margin:12px 0 0 !important;
  color:#536980 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  text-align:center !important;
}

/* =====================================================
   17. Responsive
   ===================================================== */

@media(max-width:980px){
  .gf24,
  .gf24-check-page,
  .gf24-local-page,
  .gf24-legal-page{
    max-width:100% !important;
    padding:28px 14px 60px !important;
  }

  .gf24-hero,
  .gf24-check-hero,
  .gf24-local-hero,
  .gf24-legal-hero,
  body.category .ast-archive-description,
  body.tag .ast-archive-description{
    padding:30px 22px !important;
    border-radius:24px !important;
  }

  .gf24.gf24-homepage .gf24-hero{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .gf24.gf24-homepage .gf24-hero-inner,
  .gf24.gf24-homepage .gf24-hero-media{
    grid-column:auto !important;
  }

  .gf24.gf24-homepage .gf24-hero-media{
    max-width:none !important;
    aspect-ratio:auto !important;
  }

  .gf24.gf24-homepage .gf24-hero-media picture,
  .gf24-wide-image,
  .gf24-how-image{
    aspect-ratio:16/9 !important;
  }

  .gf24-hero h1,
  .gf24-check-hero h1,
  .gf24-local-hero h1,
  .gf24-legal-hero h1,
  body.category .ast-archive-description .page-title,
  body.category .ast-archive-description h1,
  body.tag .ast-archive-description .page-title,
  body.tag .ast-archive-description h1{
    font-size:38px !important;
  }

  .gf24-check-layout,
  .gf24-grid-2,
  .gf24-grid-3,
  .gf24-reco,
  .gf24-testimonials,
  .gf24-check-info,
  .gf24-local-info,
  .gf24-legal-contact,
  .gf24-dsl-glasfaser-page .gf24-dsl-switch-hint{
    grid-template-columns:1fr !important;
  }

  .gf24-btn{
    width:100% !important;
  }

  .gf24-card,
  .gf24-provider,
  .gf24-sidebox,
  .gf24-tile,
  .gf24-testimonial,
  .gf24-check-widget,
  .gf24-check-text,
  .gf24-local-widget,
  .gf24-local-text,
  .gf24-legal-box,
  body.category article,
  body.category .ast-article-post,
  body.tag article,
  body.tag .ast-article-post{
    padding:22px !important;
    border-radius:24px !important;
  }

  .gf24-tariffuxx-wrap{
    padding:12px !important;
  }

  .gf24-random-ticker{
    width:100% !important;
    align-items:flex-start !important;
    border-radius:18px !important;
    flex-direction:column !important;
  }

  .gf24-ticker-text{
    white-space:normal !important;
    line-height:1.45 !important;
  }

  body.category .ast-container,
  body.tag .ast-container{
    padding:28px 14px 60px !important;
  }

  #gf24-formtest .gf24ft-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "plz ort"
      "street street"
      "nr nr" !important;
  }
}

@media(max-width:560px){
  .gf24-hero h1,
  .gf24-check-hero h1,
  .gf24-local-hero h1,
  .gf24-legal-hero h1{
    font-size:36px !important;
  }

  .gf24-hero,
  .gf24-check-hero,
  .gf24-local-hero,
  .gf24-legal-hero{
    padding:28px 18px !important;
  }

  #gf24-clean-check{
    padding:24px 20px !important;
    border-radius:24px !important;
  }

  .gf24clean-form{
    padding:20px !important;
  }

  .gf24clean-fields-short{
    grid-template-columns:1fr !important;
  }

  .gf24-check-copy h2,
  #gf24-clean-check h2{
    font-size:30px !important;
  }

  .gf24-media{
    padding:9px !important;
    border-radius:22px !important;
  }

  .gf24-media img,
  .gf24-media::after{
    border-radius:16px !important;
  }

  .gf24-media::after{
    inset:9px !important;
  }

  .gf24.gf24-homepage .gf24-hero-media{
    max-width:none !important;
    aspect-ratio:auto !important;
  }

  .gf24.gf24-homepage .gf24-hero-media picture,
  .gf24-wide-image,
  .gf24-how-image{
    aspect-ratio:16/9 !important;
  }

  .gf24-ratgeber-page .gf24-ratgeber-process,
  .gf24-anbieter-page .gf24-anbieter-visual,
  .gf24-dsl-glasfaser-page .gf24-dsl-switch-hint{
    padding:20px !important;
    border-radius:22px !important;
    margin-top:22px !important;
    margin-bottom:28px !important;
  }

  .gf24-ratgeber-page .gf24-ratgeber-process-image,
  .gf24-anbieter-page .gf24-anbieter-image,
  .gf24-dsl-glasfaser-page .gf24-dsl-switch-image{
    padding:8px !important;
    border-radius:18px !important;
  }

  .gf24-ratgeber-page .gf24-ratgeber-process-image img,
  .gf24-anbieter-page .gf24-anbieter-image img,
  .gf24-dsl-glasfaser-page .gf24-dsl-switch-image img{
    border-radius:13px !important;
  }

  #gf24-formtest{
    width:calc(100% - 20px) !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  #gf24-formtest .gf24ft-grid{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "plz"
      "ort"
      "street"
      "nr" !important;
  }

  #gf24-formtest h2{
    font-size:31px !important;
  }
}
/* =====================================================
   GF24 Startseite: Adressprüfung lebendiger / weniger nackisch
   ===================================================== */

/* =====================================================
   FORM-SEKTION: Sauber Hell + Cyan-Akzent
   Fixes: Leerraum, PLZ/Ort nebeneinander, weißes Card
   ===================================================== */

#gf24-clean-check{
  position:relative !important;
  overflow:hidden !important;
  padding:52px !important;
  background:
    radial-gradient(ellipse at 0% 60%, rgba(0,180,216,.09), transparent 42%),
    radial-gradient(ellipse at 100% 10%, rgba(0,119,168,.07), transparent 40%),
    linear-gradient(160deg,#eaf6ff 0%,#f4fbff 55%,#e8f5ff 100%) !important;
  border-radius:30px !important;
}

#gf24-clean-check::before,
#gf24-clean-check::after{
  content:none !important;
}

/* Layout */
.gf24-check-layout{
  align-items:center !important;
}

.gf24-check-copy{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:0 40px 0 0 !important;
}

.gf24-check-copy h2{
  max-width:520px !important;
}

.gf24-check-copy p{
  max-width:480px !important;
  font-size:16px !important;
  line-height:1.75 !important;
}

/* Trust-Badge */
.gf24-check-copy::after{
  content:"✓ Kostenlos prüfen  ·  ✓ Adresse genauer  ·  ✓ DSL-Alternative";
  display:inline-flex !important;
  align-items:center !important;
  width:fit-content !important;
  max-width:100% !important;
  margin-top:24px !important;
  padding:10px 16px !important;
  border-radius:10px !important;
  background:rgba(0,153,204,.08) !important;
  border:1px solid rgba(0,153,204,.22) !important;
  color:#0077a8 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
}

/* ---- Weißes Card mit Cyan-Top-Akzent ---- */
.gf24clean-form{
  position:relative !important;
  display:block !important;                 /* FIX: kein flex-centering */
  min-height:0 !important;                  /* FIX: kein künstliches min-height */
  padding:32px !important;
  border-radius:20px !important;
  background:#ffffff !important;
  border:1px solid rgba(0,153,204,.18) !important;
  border-top:3px solid #0099cc !important;  /* Cyan-Akzent-Linie */
  box-shadow:
    0 8px 32px rgba(0,119,168,.10),
    0 2px 8px rgba(0,0,0,.04) !important;
}

/* Kein Pseudo-Element-Inhalt mehr */
.gf24clean-form::before,
.gf24clean-form::after{
  content:none !important;
}

/* FIX: PLZ + Ort nebeneinander */
.gf24clean-fields-short{
  display:grid !important;
  grid-template-columns:130px 1fr !important;
  gap:14px !important;
  margin-bottom:16px !important;
  align-items:start !important;
}

/* Label */
.gf24clean-fields-short span{
  display:block !important;
  margin-bottom:7px !important;
  color:#4f6580 !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

/* Eingabefelder */
#gf24-clean-check input[type="text"]{
  display:block !important;
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  padding:0 15px !important;
  border-radius:10px !important;
  border:1px solid rgba(116,151,190,.32) !important;
  background:#f8fbff !important;
  color:var(--gf-text) !important;
  font-size:15px !important;
  font-family:var(--gf-font) !important;
  transition:border-color .18s, box-shadow .18s !important;
  outline:none !important;
}

#gf24-clean-check input[type="text"]::placeholder{
  color:#a0b8cc !important;
}

#gf24-clean-check input[type="text"]:focus{
  border-color:#0099cc !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(0,153,204,.14) !important;
}

/* Submit-Button */
.gf24clean-submit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:54px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:11px !important;
  background:#0099cc !important;
  color:#fff !important;
  font-family:var(--gf-font) !important;
  font-size:16px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 6px 20px rgba(0,153,204,.30) !important;
  transition:background .18s, transform .18s, box-shadow .18s !important;
}

.gf24clean-submit::after{
  content:"→" !important;
  margin-left:10px !important;
  font-size:18px !important;
}

.gf24clean-submit:hover{
  background:#007aaa !important;
  transform:translateY(-2px) !important;
  box-shadow:0 10px 28px rgba(0,153,204,.38) !important;
}

.gf24clean-hint{
  margin:13px 0 0 !important;
  color:#8ea5bb !important;
  font-size:12px !important;
  line-height:1.5 !important;
  text-align:center !important;
}

/* ---- Responsive ---- */
@media(max-width:980px){
  #gf24-clean-check{
    padding:32px !important;
  }

  .gf24-check-copy{
    padding:0 !important;
  }

  .gf24-check-copy::after{
    width:100% !important;
    border-radius:10px !important;
    white-space:normal !important;
  }

  .gf24clean-form{
    padding:26px !important;
  }
}

@media(max-width:560px){
  #gf24-clean-check{
    padding:22px !important;
    border-radius:22px !important;
  }

  .gf24clean-form{
    padding:22px !important;
    border-radius:16px !important;
  }

  .gf24clean-fields-short{
    grid-template-columns:1fr !important;
  }

  .gf24-check-copy::after{
    font-size:12px !important;
    border-radius:8px !important;
  }
}



/* Mobile: darf umbrechen, damit nichts rausläuft */
@media(max-width:560px){
  .gf24-random-ticker{
    max-width:100% !important;
    border-radius:20px !important;
    align-items:flex-start !important;
  }

  .gf24-ticker-text{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.4 !important;
  }
}

/* Ticker sauber mittig ausrichten */
.gf24-top-ticker,
.gf24-random-plz-ticker,
.gf24-plz-ticker{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
  min-height:72px;
  padding:12px 18px;
  border:1px solid rgba(116,151,190,.22);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(57,84,117,.06);
  width:fit-content;
  max-width:100%;
  margin:0 0 18px;
}

/* linker Badge */
.gf24-top-ticker .ticker-badge,
.gf24-random-plz-ticker .ticker-badge,
.gf24-plz-ticker .ticker-badge,
.gf24-top-ticker strong,
.gf24-random-plz-ticker strong,
.gf24-plz-ticker strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.1;
  min-height:42px;
  padding:8px 14px;
  border-radius:999px;
  white-space:nowrap;
}

/* rechter Lauftext / Link */
.gf24-top-ticker a,
.gf24-random-plz-ticker a,
.gf24-plz-ticker a,
.gf24-top-ticker span,
.gf24-random-plz-ticker span,
.gf24-plz-ticker span{
  display:flex;
  align-items:center;
  line-height:1.2;
  min-height:42px;
  margin:0;
}

/* mobil */
@media(max-width:768px){
  .gf24-top-ticker,
  .gf24-random-plz-ticker,
  .gf24-plz-ticker{
    gap:12px;
    padding:10px 14px;
    min-height:64px;
  }

  .gf24-top-ticker a,
  .gf24-random-plz-ticker a,
  .gf24-plz-ticker a,
  .gf24-top-ticker span,
  .gf24-random-plz-ticker span,
  .gf24-plz-ticker span{
    font-size:15px;
  }
}



/* =====================================================
   GF24 FIX: Adresscheck mit Text im Formular
   Muss GANZ UNTEN in gf24-design.css stehen
   ===================================================== */

.gf24-homepage #gf24-adresscheck,
.gf24-homepage #gf24-adresscheck *,
.gf24-homepage #gf24-adresscheck *::before,
.gf24-homepage #gf24-adresscheck *::after{
  box-sizing:border-box !important;
}

.gf24-homepage #gf24-adresscheck.gf24-adresscheck-wrap{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  margin:28px auto 30px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  font-family:var(--gf-font) !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px) !important;
  gap:28px !important;
  align-items:stretch !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-card{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:42px !important;
  border-radius:28px !important;
  border:1px solid rgba(116,151,190,.26) !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(0,180,216,.11), transparent 34%),
    radial-gradient(circle at 8% 100%, rgba(56,189,248,.13), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,251,255,.93)) !important;
  box-shadow:0 18px 46px rgba(57,84,117,.10) !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 18px 0 !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  background:rgba(0,180,216,.08) !important;
  border:1px solid rgba(0,180,216,.22) !important;
  color:#0090b0 !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:0 8px 22px rgba(57,84,117,.06) !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-info h2{
  margin:0 0 14px 0 !important;
  padding:0 !important;
  max-width:560px !important;
  color:#16324c !important;
  font-size:clamp(34px,4.4vw,50px) !important;
  line-height:1.08 !important;
  letter-spacing:-.05em !important;
  font-weight:900 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-info p{
  margin:0 !important;
  padding:0 !important;
  max-width:520px !important;
  color:#4f6580 !important;
  font-size:16px !important;
  line-height:1.75 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-benefits{
  display:inline-flex !important;
  align-items:center !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:24px 0 0 0 !important;
  padding:10px 16px !important;
  border-radius:11px !important;
  background:rgba(0,153,204,.08) !important;
  border:1px solid rgba(0,153,204,.22) !important;
  color:#0077a8 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-formcard{
  background:#ffffff !important;
  border-top:3px solid #0099cc !important;
  display:flex !important;
  align-items:center !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-form{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-hidden{
  display:none !important;
}

/* Neuer Textbereich im Formular */
.gf24-homepage #gf24-adresscheck .gf24-adresscheck-formintro{
  margin:0 0 24px 0 !important;
  padding:0 0 22px 0 !important;
  border-bottom:1px solid rgba(116,151,190,.18) !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-formintro span{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 11px 0 !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(0,180,216,.08) !important;
  border:1px solid rgba(0,180,216,.22) !important;
  color:#0090b0 !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-formintro h3{
  margin:0 0 8px 0 !important;
  padding:0 !important;
  color:#16324c !important;
  font-size:25px !important;
  line-height:1.16 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-formintro p{
  margin:0 !important;
  padding:0 !important;
  color:#4f6580 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields{
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 0 16px 0 !important;
  padding:0 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields label{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields span{
  display:block !important;
  margin:0 0 7px 0 !important;
  padding:0 !important;
  color:#4f6580 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields input[type="text"]{
  display:block !important;
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  padding:0 15px !important;
  border-radius:10px !important;
  border:1px solid rgba(116,151,190,.32) !important;
  background:#f8fbff !important;
  color:#16324c !important;
  font-size:15px !important;
  line-height:50px !important;
  box-shadow:0 8px 20px rgba(57,84,117,.05) !important;
  outline:none !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields input[type="text"]::placeholder{
  color:#9db3c8 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields input[type="text"]:focus{
  border-color:#0099cc !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(0,153,204,.14) !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-submit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:54px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:11px !important;
  background:#0099cc !important;
  color:#fff !important;
  font-family:var(--gf-font) !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 6px 20px rgba(0,153,204,.30) !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-submit::after{
  content:"→" !important;
  margin-left:10px !important;
  color:#ffffff !important;
  font-size:18px !important;
  line-height:1 !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-submit:hover{
  background:#007aaa !important;
  transform:translateY(-2px) !important;
  box-shadow:0 10px 28px rgba(0,153,204,.38) !important;
}

.gf24-homepage #gf24-adresscheck .gf24-adresscheck-hint{
  margin:13px 0 0 0 !important;
  padding:0 !important;
  color:#66788f !important;
  font-size:12px !important;
  line-height:1.45 !important;
  text-align:center !important;
}

@media(max-width:980px){
  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-card{
    padding:28px 22px !important;
    border-radius:24px !important;
  }

  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-benefits{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

@media(max-width:560px){
  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-fields{
    grid-template-columns:1fr !important;
  }

  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-info h2{
    font-size:30px !important;
  }

  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-formintro h3{
    font-size:22px !important;
  }

  .gf24-homepage #gf24-adresscheck .gf24-adresscheck-benefits{
    display:block !important;
  }
}