/* ============================================================
   RanoTec Module – Design 2026 · Flying Bird Media
   Zentrale Styles für alle RanoTec-Widgets und HTML-Blöcke.
   Klassen-Präfix: rt-
   ============================================================ */

/* ---------- Schriften (selbst gehostet) ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter-var-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700-latin.woff2) format('woff2')}

:root{
  --rt-navy:#12365f;
  --rt-navy-deep:#0c2947;
  --rt-blue:#2389bd;
  --rt-sky:#5ec1ef;
  --rt-ice:#eef6fb;
  --rt-ice-2:#e2f0f9;
  --rt-paper:#ffffff;
  --rt-ink:#1d2c3b;
  --rt-muted:#5a6b7d;
  --rt-red:#d6403a;
  --rt-red-deep:#b8322d;
  --rt-radius:22px;
  --rt-shadow:0 18px 50px -18px rgba(18,54,95,.22);
  --rt-shadow-soft:0 10px 30px -12px rgba(18,54,95,.14);
  --rt-font:'Inter',system-ui,-apple-system,sans-serif;
  --rt-font-head:'Poppins','Inter',sans-serif;
}

/* ---------- Basis (seitenweit) ---------- */
html{scroll-behavior:smooth}
body{
  font-family:var(--rt-font);
  color:var(--rt-ink);
  background:var(--rt-paper);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:var(--rt-font-head);line-height:1.12;color:var(--rt-navy);font-weight:700;letter-spacing:-.015em;margin:0}
a{color:var(--rt-blue);text-decoration:none}

/* Elementor-Abstände um RanoTec-Widgets neutralisieren */
.elementor-widget[class*="elementor-widget-rt-"]{margin:0!important;width:100%}
.elementor-widget[class*="elementor-widget-rt-"] > .elementor-widget-container{margin:0;padding:0}
.elementor-widget-html:has(.rt){margin:0!important;width:100%}

.rt :where(p,ul,ol,figure){margin:0;padding:0}
.rt img{max-width:100%;height:auto;display:block}
.rt-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.rt-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--rt-blue);margin-bottom:18px;
}
.rt-eyebrow::before{content:"";width:26px;height:2px;background:var(--rt-sky);border-radius:2px}
.rt-ic svg,.rt svg.rt-i{fill:currentColor}

/* ---------- Buttons ---------- */
.rt-btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  padding:14px 26px;border-radius:999px;font-weight:600;font-size:1rem;line-height:1.3;
  font-family:var(--rt-font);
  transition:.22s;white-space:nowrap;border:2px solid transparent;cursor:pointer;
}
.rt-btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.rt-btn.rt-btn--primary{background:var(--rt-blue);color:#fff;box-shadow:0 10px 24px -10px rgba(35,137,189,.6)}
.rt-btn.rt-btn--primary:hover,.rt-btn.rt-btn--primary:focus{background:var(--rt-navy);color:#fff;transform:translateY(-2px)}
.rt-btn.rt-btn--ghost{border-color:var(--rt-ice-2);color:var(--rt-navy);background:#fff}
.rt-btn.rt-btn--ghost:hover,.rt-btn.rt-btn--ghost:focus{border-color:var(--rt-sky);color:var(--rt-blue)}
.rt-btn.rt-btn--red{background:var(--rt-red);color:#fff;box-shadow:0 10px 24px -10px rgba(214,64,58,.55)}
.rt-btn.rt-btn--red:hover,.rt-btn.rt-btn--red:focus{background:var(--rt-red-deep);color:#fff;transform:translateY(-2px)}
.rt-btn.rt-btn--white{background:#fff;color:var(--rt-navy)}
.rt-btn.rt-btn--white:hover,.rt-btn.rt-btn--white:focus{color:var(--rt-navy);transform:translateY(-2px)}
.rt-btns{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Header ---------- */
/* Sticky sitzt am Theme-Builder-Wrapper, da .rt-header nur so hoch ist wie sein Elternelement */
.elementor-location-header:has(.rt-header){position:sticky;top:0;z-index:50}
.admin-bar .elementor-location-header:has(.rt-header){top:32px}
.rt-header{
  position:relative;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rt-ice-2);
}
.rt-nav{display:flex;align-items:center;gap:34px;height:80px}
.rt-nav .rt-logo img{height:34px;width:auto}
.rt-nav > nav{margin-left:auto}
.rt-menu{display:flex;gap:30px;margin:0;padding:0;list-style:none}
.rt-menu li{position:relative;list-style:none}
.rt-menu > li > a{color:var(--rt-navy);font-weight:500;font-size:.98rem;padding:6px 0;border-bottom:2px solid transparent;transition:.2s;display:inline-block}
.rt-menu > li > a:hover,.rt-menu > li.current-menu-item > a,.rt-menu > li.current-menu-ancestor > a,.rt-menu > li.current-page-ancestor > a{color:var(--rt-blue);border-bottom-color:var(--rt-sky)}
.rt-menu .sub-menu{
  position:absolute;top:100%;left:-18px;min-width:240px;margin:0;padding:12px 0;list-style:none;
  background:#fff;border:1px solid var(--rt-ice-2);border-radius:16px;box-shadow:var(--rt-shadow);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;
}
/* :focus-visible statt :focus-within: Nach einem Mausklick bliebe das Untermenü sonst offen hängen. */
.rt-menu li:hover > .sub-menu,.rt-menu li:has(:focus-visible) > .sub-menu{opacity:1;visibility:visible;transform:translateY(4px)}
/* Brücke über die Lücke zwischen Menüpunkt und Untermenü */
.rt-menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.rt-menu .sub-menu a{display:block;padding:8px 20px;color:var(--rt-navy);font-size:.95rem;font-weight:500}
.rt-menu .sub-menu a:hover{color:var(--rt-blue);background:var(--rt-ice)}
.rt-nav .rt-tel{color:var(--rt-navy);font-weight:700;font-size:.98rem;white-space:nowrap;display:flex;align-items:center;gap:8px}
.rt-nav .rt-tel svg{width:17px;height:17px;fill:var(--rt-blue)}
.rt-nav--no-menu .rt-tel{margin-left:auto}
.rt-nav .rt-btn{padding:11px 22px}
.rt-burger{
  display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--rt-ice-2);background:#fff;
  align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--rt-navy);
}
.rt-burger svg{width:22px;height:22px;fill:currentColor}
.rt-burger:hover,.rt-burger:focus{background:var(--rt-ice);color:var(--rt-navy)}
.rt-mobile{display:none;border-top:1px solid var(--rt-ice-2);background:#fff;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow:auto;overscroll-behavior:contain}
.rt-header.is-open .rt-mobile{display:block}
.rt-mobile ul{list-style:none;margin:0;padding:0}
.rt-mobile .rt-wrap{padding-top:14px;padding-bottom:24px}
.rt-mobile nav a{display:block;padding:11px 0;color:var(--rt-navy);font-weight:600;border-bottom:1px solid var(--rt-ice)}
.rt-mobile nav .sub-menu a{padding-left:18px;font-weight:500;color:var(--rt-muted)}
.rt-mobile .sub-menu{display:none}
.rt-mobile li.is-open > .sub-menu{display:block}
.rt-mobile nav .menu-item-has-children > a{display:flex;align-items:center;justify-content:space-between}
.rt-mobile nav .menu-item-has-children > a::after{content:"";width:9px;height:9px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.rt-mobile nav li.is-open > a::after{transform:rotate(-135deg)}
.rt-mobile .rt-btns{margin-top:18px}

/* ---------- Hero ---------- */
.rt-hero{
  background:
    radial-gradient(900px 520px at 88% -10%, var(--rt-ice-2) 0%, transparent 60%),
    linear-gradient(180deg,#fff 0%,var(--rt-ice) 100%);
  overflow:hidden;position:relative;
}
.rt-hero > .rt-wrap{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:48px;align-items:center;
  padding-top:76px;padding-bottom:96px;
}
.rt-hero--no-visual > .rt-wrap{grid-template-columns:1fr;max-width:900px}
.rt-hero h1{font-size:clamp(2.3rem,4.4vw,3.55rem);margin-bottom:22px;position:relative;z-index:0;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word}
.rt-hero h1 em{font-style:normal;color:var(--rt-blue);position:relative;white-space:nowrap}
.rt-hero h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:.02em;height:.32em;
  background:linear-gradient(90deg,var(--rt-sky),transparent);opacity:.35;border-radius:4px;z-index:-1;
}
.rt-hero .rt-lead{font-size:1.16rem;color:var(--rt-muted);max-width:34rem;margin-bottom:32px}
.rt-hero .rt-btns{margin-bottom:34px}
.rt-trust{display:flex;gap:26px;flex-wrap:wrap;color:var(--rt-muted);font-size:.92rem}
.rt-trust span{display:flex;align-items:center;gap:8px}
.rt-trust svg{width:18px;height:18px;fill:var(--rt-blue);flex-shrink:0}

.rt-hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}
.rt-hero-blob{
  position:absolute;inset:6% 0 10% 4%;
  background:linear-gradient(135deg,var(--rt-sky) 0%,var(--rt-blue) 55%,var(--rt-navy) 130%);
  border-radius:46% 54% 52% 48% / 52% 46% 54% 48%;
  opacity:.16;
}
.rt-hero-wave{
  position:absolute;left:2%;right:-4%;bottom:8%;height:36%;
  background:linear-gradient(135deg,var(--rt-blue),var(--rt-navy));
  border-radius:60px 120px 24px 90px;opacity:.1;
}
.rt-hero-visual img.rt-cutout{position:relative;z-index:2;width:min(560px,100%);filter:drop-shadow(0 30px 40px rgba(12,41,71,.28))}
.rt-hero-visual img.rt-photo{position:relative;z-index:2;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:var(--rt-shadow)}

.rt-badge{
  position:absolute;z-index:3;
  display:flex;align-items:center;gap:10px;
  background:#fff;border-radius:16px;padding:12px 18px;
  box-shadow:var(--rt-shadow);font-weight:600;font-size:.9rem;line-height:1.35;color:var(--rt-navy);
  animation:rt-float 8s ease-in-out infinite;
}
.rt-badge .rt-ic{
  width:36px;height:36px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--rt-ice);
}
.rt-badge .rt-ic svg{width:19px;height:19px;fill:var(--rt-blue)}
.rt-badge small{display:block;font-weight:400;color:var(--rt-muted);font-size:.78rem;line-height:1.3}
.rt-badge--tl{top:-4%;left:-3%;animation-delay:0s}
.rt-badge--tr{top:2%;right:-4%;animation-delay:1.1s}
.rt-badge--mr{bottom:13%;right:-6%;animation-delay:2.2s}
.rt-badge--bl{bottom:-2%;left:4%;animation-delay:4.4s}
.rt-badge--br{bottom:-2%;right:4%;animation-delay:3.3s}
.rt-badge--red{background:var(--rt-red);color:#fff}
.rt-badge--red .rt-ic{background:rgba(255,255,255,.18)}
.rt-badge--red .rt-ic svg{fill:#fff}
.rt-badge--red small{color:rgba(255,255,255,.85)}
@keyframes rt-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* Rote Karte im Hero */
.rt-red-card{
  position:relative;z-index:2;
  background:linear-gradient(140deg,var(--rt-red) 0%,var(--rt-red-deep) 100%);
  border-radius:28px;padding:44px 42px;color:#fff;
  box-shadow:0 30px 70px -22px rgba(184,50,45,.55);
  max-width:480px;margin-left:auto;
}
.rt-red-card h3{color:#fff;font-size:1.55rem;margin-bottom:10px;line-height:1.25}
.rt-red-card > p{color:rgba(255,255,255,.88);margin-bottom:22px;font-size:.98rem}
.rt-red-card ul{list-style:none;display:grid;gap:12px;margin:0 0 28px;padding:0}
.rt-red-card ul li{display:flex;gap:11px;align-items:flex-start;font-size:.96rem}
.rt-red-card ul li svg{width:19px;height:19px;fill:#fff;flex-shrink:0;margin-top:3px;background:rgba(255,255,255,.18);border-radius:6px;padding:2px}
.rt-red-card .rt-hint{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:16px}

/* ---------- Versicherungs-Box ---------- */
.rt-insurance--overlap{margin-top:-46px;position:relative;z-index:5}
.rt-insurance-box{
  background:linear-gradient(120deg,var(--rt-red) 0%,var(--rt-red-deep) 100%);
  border-radius:var(--rt-radius);
  padding:34px 42px;
  display:flex;align-items:center;gap:28px;flex-wrap:wrap;
  color:#fff;box-shadow:0 24px 60px -20px rgba(184,50,45,.5);
}
.rt-insurance-box .rt-euro{
  width:62px;height:62px;border-radius:18px;flex-shrink:0;
  background:rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;
}
.rt-insurance-box .rt-euro svg{width:30px;height:30px;fill:#fff}
.rt-insurance-box h3{color:#fff;font-size:clamp(1.25rem,2.4vw,1.7rem);margin-bottom:4px}
.rt-insurance-box p{color:rgba(255,255,255,.88);font-size:.98rem;max-width:38rem}
.rt-insurance-box .rt-grow{flex:1;min-width:260px}
.rt-insurance-box .rt-grow:last-child p{max-width:none}
.rt-insurance-box .rt-btn{flex-shrink:0}

/* ---------- Sektionen ---------- */
.rt-section{padding:96px 0}
.rt-section--tight{padding:72px 0}
.rt-section--flush-top{padding-top:0}
.rt-section--flush-bottom{padding-bottom:0}
.rt-bg-ice{background:linear-gradient(180deg,var(--rt-ice) 0%,#fff 100%)}
.rt-bg-ice-solid{background:var(--rt-ice)}
.rt-sec-head{max-width:620px;margin-bottom:52px}
.rt-sec-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:14px}
.rt-sec-head p{color:var(--rt-muted);font-size:1.08rem}
.rt-sec-head--center{margin-left:auto;margin-right:auto;text-align:center}
.rt-sec-head--center .rt-eyebrow{justify-content:center}
.rt-sec-head:last-child{margin-bottom:0}

/* ---------- Leistungs-Grid ---------- */
.rt-services{display:grid;grid-template-columns:1.25fr 1fr;gap:26px}
.rt-services--no-featured{grid-template-columns:repeat(3,1fr)}
.rt-svc{
  border-radius:var(--rt-radius);padding:40px;position:relative;overflow:hidden;
  background:var(--rt-ice);transition:.25s;display:flex;flex-direction:column;color:var(--rt-ink);
}
.rt-svc:hover{transform:translateY(-4px);box-shadow:var(--rt-shadow-soft)}
.rt-svc h3{font-size:1.5rem;margin-bottom:12px}
.rt-svc p{color:var(--rt-muted);margin-bottom:22px;max-width:32rem}
.rt-svc .rt-more{font-weight:600;margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--rt-blue)}
.rt-svc .rt-more::after{content:"→";transition:.2s}
.rt-svc:hover .rt-more::after{transform:translateX(4px)}
.rt-svc--featured{grid-row:span 2;background:linear-gradient(160deg,var(--rt-navy) 0%,var(--rt-blue) 120%)}
.rt-svc--featured h3{color:#fff}
.rt-svc--featured p{color:rgba(255,255,255,.82)}
.rt-svc--featured .rt-more{color:var(--rt-sky)}
.rt-svc .rt-tag{
  display:inline-block;align-self:flex-start;background:rgba(255,255,255,.14);color:#fff;
  font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;margin-bottom:20px;
}
.rt-svc--featured ul{list-style:none;margin:4px 0 26px;padding:0;display:grid;gap:10px}
.rt-svc--featured ul li{color:rgba(255,255,255,.92);display:flex;gap:10px;align-items:flex-start;font-size:.98rem}
.rt-svc--featured ul li svg{width:18px;height:18px;fill:var(--rt-sky);flex-shrink:0;margin-top:4px}
.rt-svc .rt-num-ic{
  width:52px;height:52px;border-radius:16px;background:#fff;
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;
  box-shadow:var(--rt-shadow-soft);
}
.rt-svc .rt-num-ic svg{width:26px;height:26px;fill:var(--rt-blue)}
.rt-svc-more-line{margin-top:30px!important;text-align:center;color:var(--rt-muted);font-size:.95rem}
.rt-svc-more-line a{font-weight:600}

/* ---------- Ablauf ---------- */
.rt-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:rtstep}
.rt-steps--3{grid-template-columns:repeat(3,1fr)}
.rt-step{
  background:#fff;border:1px solid var(--rt-ice-2);border-radius:var(--rt-radius);
  padding:32px 26px;position:relative;counter-increment:rtstep;
}
.rt-step::before{
  content:counter(rtstep,decimal-leading-zero);
  font-family:var(--rt-font-head);font-weight:700;font-size:2.2rem;
  color:var(--rt-sky);display:block;margin-bottom:12px;line-height:1;
}
.rt-step h4{font-size:1.08rem;margin-bottom:8px}
.rt-step p{color:var(--rt-muted);font-size:.93rem}

/* ---------- Icon-Karten (Warum wir / Methoden) ---------- */
.rt-cards{display:grid;gap:22px}
.rt-cards--list{grid-template-columns:repeat(2,1fr)}
.rt-cards--grid3{grid-template-columns:repeat(3,1fr)}
.rt-cards--grid2{grid-template-columns:repeat(2,1fr)}
.rt-card{background:#fff;border:1px solid var(--rt-ice-2);border-radius:var(--rt-radius);color:var(--rt-ink);display:block}
.rt-card .rt-ic{
  border-radius:16px;background:var(--rt-ice);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.rt-card .rt-ic svg{fill:var(--rt-blue)}
.rt-card h4{font-size:1.1rem;margin-bottom:6px}
.rt-card p{color:var(--rt-muted);font-size:.95rem}
.rt-card .rt-more{display:inline-flex;gap:8px;margin-top:12px;font-weight:600;font-size:.95rem;color:var(--rt-blue)}
.rt-card .rt-more::after{content:"→";transition:.2s}
.rt-cards--list .rt-card{display:flex;gap:20px;align-items:flex-start;padding:30px}
.rt-cards--list .rt-card .rt-ic{width:50px;height:50px;border-radius:15px}
.rt-cards--list .rt-card .rt-ic svg{width:24px;height:24px}
.rt-cards--grid3 .rt-card,.rt-cards--grid2 .rt-card{padding:34px 28px;transition:.25s}
.rt-cards--grid3 .rt-card .rt-ic,.rt-cards--grid2 .rt-card .rt-ic{width:54px;height:54px;margin-bottom:20px}
.rt-cards--grid3 .rt-card .rt-ic svg,.rt-cards--grid2 .rt-card .rt-ic svg{width:26px;height:26px}
.rt-cards--grid3 .rt-card h4,.rt-cards--grid2 .rt-card h4{font-size:1.12rem;margin-bottom:8px}
.rt-cards--grid3 .rt-card p,.rt-cards--grid2 .rt-card p{font-size:.94rem}
.rt-cards--hover .rt-card:hover,a.rt-card:hover{transform:translateY(-4px);box-shadow:var(--rt-shadow-soft);border-color:transparent}
a.rt-card:hover .rt-more::after{transform:translateX(4px)}

/* ---------- Statistik-Band ---------- */
.rt-stat-band{
  background:linear-gradient(120deg,var(--rt-navy) 0%,var(--rt-blue) 130%);
  border-radius:var(--rt-radius);padding:52px 48px;color:#fff;
  display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;
}
.rt-stat-band .rt-big{font-family:var(--rt-font-head);font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1;color:var(--rt-sky);white-space:nowrap}
.rt-stat-band p{font-size:1.12rem;color:rgba(255,255,255,.9);max-width:36rem}

/* ---------- Städte ---------- */
.rt-cities{display:flex;flex-wrap:wrap;gap:12px}
.rt-cities a,.rt-cities span{
  background:#fff;border:1px solid var(--rt-ice-2);border-radius:999px;
  padding:11px 22px;color:var(--rt-navy);font-weight:500;font-size:.95rem;transition:.2s;
}
.rt-cities a:hover{border-color:var(--rt-sky);color:var(--rt-blue);transform:translateY(-2px)}

/* ---------- FAQ ---------- */
.rt-faq{max-width:780px;margin:0 auto}
.rt-faq details{
  background:#fff;border:1px solid var(--rt-ice-2);border-radius:18px;
  padding:0;margin-bottom:14px;overflow:hidden;
}
.rt-faq summary{
  cursor:pointer;list-style:none;font-weight:600;color:var(--rt-navy);
  padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.rt-faq summary::-webkit-details-marker{display:none}
.rt-faq summary::after{content:"+";font-size:1.5rem;color:var(--rt-blue);font-weight:400;transition:.2s;line-height:1}
.rt-faq details[open] summary::after{transform:rotate(45deg)}
.rt-faq .rt-faq-a{padding:0 26px 24px;color:var(--rt-muted)}
.rt-faq .rt-faq-a p + p{margin-top:.8em}

/* ---------- CTA-Finale ---------- */
.rt-cta{
  background:linear-gradient(140deg,var(--rt-navy) 0%,var(--rt-blue) 110%);
  border-radius:var(--rt-radius);padding:64px 56px;color:#fff;
  display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;overflow:hidden;position:relative;
}
.rt-cta--no-image{grid-template-columns:1fr}
.rt-cta h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:14px}
.rt-cta p{color:rgba(255,255,255,.85);margin-bottom:28px;max-width:32rem}
.rt-cta img{filter:drop-shadow(0 24px 30px rgba(0,0,0,.3))}

/* ---------- Inhalt / Fließtext ---------- */
.rt-content{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:center}
.rt-content--img-right{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.rt-content--img-left{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.rt-content--img-left .rt-content-media{order:-1}
/* Textblöcke ohne Bild laufen über die volle Inhaltsbreite; nur zentrierte Blöcke bleiben auf Lesebreite. */
.rt-content--narrow.rt-content--center{max-width:820px}
.rt-content-text .rt-sec-head{margin-bottom:24px}
.rt-content--narrow.rt-content--center{margin:0 auto}
.rt-prose .rt-center{text-align:center}
.rt-prose .rt-center .rt-btns{justify-content:center}
.rt-content-media{display:flex;justify-content:center}
.rt-content-media--titled{display:grid;justify-content:start;justify-items:center;gap:18px}
.rt-content--img-left .rt-content-media--titled{justify-content:end}
.rt-content-media .rt-media-title{font-size:1.35rem;margin:0;text-align:center}
.rt-content-media a{display:block;border-radius:var(--rt-radius);transition:.25s}
.rt-content-media a:hover{transform:translateY(-4px)}
.rt-content-media img{width:auto;max-width:100%;max-height:460px;border-radius:var(--rt-radius);box-shadow:var(--rt-shadow-soft);object-fit:cover}
.rt-prose{color:var(--rt-ink)}
.rt-prose > * + *{margin-top:1em}
.rt-prose h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-top:1.6em}
.rt-prose h3{font-size:1.35rem;margin-top:1.5em}
.rt-prose h4{font-size:1.1rem;margin-top:1.4em}
.rt-prose > :first-child{margin-top:0}
.rt-prose p,.rt-prose li{color:var(--rt-muted)}
.rt-prose strong{color:var(--rt-ink)}
.rt-prose ul,.rt-prose ol{padding-left:1.3em}
.rt-prose ul li::marker{color:var(--rt-sky)}
.rt-prose li + li{margin-top:.4em}
.rt-prose a{text-decoration:underline;text-decoration-color:var(--rt-sky);text-underline-offset:3px}
.rt-prose a.rt-btn{text-decoration:none}
.rt-prose p,.rt-prose li,.rt-prose a{overflow-wrap:break-word}
.rt-prose .rt-btns{margin-top:1.4em}
.rt-prose .rt-btn svg{width:18px;height:18px;fill:currentColor}
.rt-prose .rt-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 56px}
.rt-prose .rt-cols-2 > div > :first-child{margin-top:0}
.rt-prose .rt-cols-2 h3{margin-bottom:.6em}
.rt-prose .rt-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 44px}
.rt-prose .rt-cols-3 > div > :first-child{margin-top:0}
.rt-prose .rt-cols-3 h3{margin-bottom:.6em}
.rt-prose ul.rt-checks{list-style:none;padding:0}
.rt-prose ul.rt-checks li{position:relative;padding-left:30px}
.rt-prose ul.rt-checks li::before{content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;border-radius:6px;background:var(--rt-ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232389bd' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'/%3E%3C/svg%3E") center/15px no-repeat}

/* ---------- Galerie (Zertifikate / Logos) ---------- */
.rt-gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px}
.rt-gallery--certs a{display:block;border-radius:14px;overflow:hidden;box-shadow:var(--rt-shadow-soft);transition:.25s}
.rt-gallery--certs a:hover{transform:translateY(-4px);box-shadow:var(--rt-shadow)}
.rt-gallery--certs img{display:block;height:380px;width:auto;max-width:100%;object-fit:contain;background:#fff}
.rt-gallery--logos{gap:36px 56px}
.rt-gallery--logos img{height:46px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:.25s}
.rt-gallery--logos img:hover{filter:none;opacity:1}

/* ---------- Kontakt: Infokarte + Formular (Elementor-Formular im Container .rt-contact) ---------- */
.e-con.rt-contact{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start;max-width:1180px;margin:0 auto;padding:72px 28px 96px!important}
.rt-contact-card{background:linear-gradient(160deg,var(--rt-navy) 0%,var(--rt-navy-deep) 100%);color:rgba(255,255,255,.82);border-radius:var(--rt-radius);padding:40px 36px;box-shadow:var(--rt-shadow);position:sticky;top:110px}
.rt-contact-card h3{color:#fff;font-size:1.3rem;margin-bottom:14px}
.rt-contact-card p{margin:0 0 1em;line-height:1.7}
.rt-contact-card strong{color:#fff}
.rt-contact-card ul{list-style:none;margin:26px 0 0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:14px}
.rt-contact-card li a{display:flex;gap:12px;align-items:center;color:#fff;font-weight:600}
.rt-contact-card li a:hover{color:var(--rt-sky)}
.rt-contact-card li .rt-ic{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;flex-shrink:0}
.rt-contact-card li svg{width:18px;height:18px;fill:var(--rt-sky)}
.rt-contact > .elementor-widget-html{align-self:stretch}
/* Kontakt-Buttons springen direkt zu #formular: ohne Scroll-Animation und nicht unter den festen Header */
html:has(#formular){scroll-behavior:auto}
#formular{scroll-margin-top:100px}
.rt-contact .elementor-widget-form{background:#fff;border:1px solid var(--rt-ice-2);border-radius:var(--rt-radius);padding:40px 36px;box-shadow:var(--rt-shadow-soft)}
.rt-contact .elementor-field-group{margin-bottom:16px}
.rt-contact .elementor-field-group > label,.rt-contact .elementor-field-label{font-family:var(--rt-font);font-size:.88rem;font-weight:600;color:var(--rt-navy);margin-bottom:6px}
.rt-contact .elementor-field-textual,.rt-contact .elementor-field-group .elementor-select-wrapper select{
  font-family:var(--rt-font);font-size:.98rem;color:var(--rt-ink);background:var(--rt-ice)!important;
  border:1.5px solid transparent!important;border-radius:12px!important;padding:12px 14px;min-height:48px;transition:.2s;
}
.rt-contact .elementor-field-textual:focus{outline:none;border-color:var(--rt-sky)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(94,193,239,.18)}
.rt-contact .elementor-field-textual::placeholder{color:#8a9aab}
.rt-contact .elementor-field-type-radio .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:10px}
.rt-contact .elementor-field-type-radio .elementor-field-option label,.rt-contact .elementor-field-type-acceptance label{font-size:.92rem;color:var(--rt-muted);font-weight:400}
.rt-contact .elementor-field-type-radio .elementor-field-option{background:var(--rt-ice);border-radius:12px;padding:10px 16px;margin:0!important}
.rt-contact .elementor-field-type-radio .elementor-field-option br{display:none}
.rt-contact .elementor-field-type-acceptance .elementor-field-subgroup{line-height:1.5}
.rt-contact .elementor-field-type-upload input{font-size:.9rem;color:var(--rt-muted)}
.rt-contact .elementor-button[type=submit]{
  font-family:var(--rt-font);font-weight:700;font-size:1rem;background:var(--rt-red);color:#fff;border:0;border-radius:999px;
  padding:16px 34px;box-shadow:0 12px 26px -10px rgba(214,64,58,.55);transition:.22s;
}
.rt-contact .elementor-button[type=submit]:hover{background:var(--rt-red-deep);transform:translateY(-2px)}

/* ---------- Footer ---------- */
.rt-footer{background:var(--rt-navy-deep);color:rgba(255,255,255,.75);padding:72px 0 0;font-size:.94rem}
.rt-footer h5{color:#fff;font-family:var(--rt-font-head);font-size:1rem;margin-bottom:18px;letter-spacing:.02em}
.rt-foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:52px}
.rt-foot-grid ul{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.rt-foot-grid .sub-menu{display:none}
.rt-foot-grid a{color:rgba(255,255,255,.72);transition:.2s}
.rt-foot-grid a:hover{color:var(--rt-sky)}
.rt-foot-brand img{height:32px;width:auto;margin-bottom:20px;filter:brightness(0) invert(1)}
.rt-foot-brand p{max-width:26rem;line-height:1.7}
.rt-foot-contact li{display:flex;gap:10px;align-items:flex-start}
.rt-foot-contact li span{white-space:nowrap}
.rt-foot-contact svg{width:16px;height:16px;fill:var(--rt-sky);flex-shrink:0;margin-top:5px}
.rt-foot-legal{
  border-top:1px solid rgba(255,255,255,.1);
  padding:26px 0 34px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:.85rem;color:rgba(255,255,255,.5);
}
.rt-foot-legal ul{display:flex;gap:20px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.rt-foot-legal a{color:rgba(255,255,255,.6)}
.rt-foot-legal a:hover{color:var(--rt-sky)}
.rt-footnote{padding:0 0 26px;font-size:.8rem;color:rgba(255,255,255,.45);max-width:60rem;line-height:1.6}

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion:reduce){
  .rt-badge{animation:none}
  .rt-btn:hover,.rt-svc:hover,.rt-card:hover,.rt-cities a:hover{transform:none!important}
}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .rt-prose .rt-cols-3{grid-template-columns:1fr}
  .rt-hero > .rt-wrap{grid-template-columns:1fr;padding-top:52px;padding-bottom:120px}
  .rt-hero-visual{min-height:360px;margin-top:10px}
  .rt-red-card{margin:0 auto}
  .rt-services,.rt-services--no-featured{grid-template-columns:1fr}
  .rt-svc--featured{grid-row:auto}
  /* Keine 2+1-Reihen: ungerade Anzahl → untereinander, gerade → 2 Spalten */
  .rt-steps,.rt-steps--3,.rt-cards--grid3{grid-template-columns:repeat(2,1fr)}
  .rt-steps:has(> :last-child:nth-child(odd)),.rt-cards--grid3:has(> :last-child:nth-child(odd)),.rt-cards--grid2:has(> :last-child:nth-child(odd)),.rt-cards--list:has(> :last-child:nth-child(odd)){grid-template-columns:1fr}
  .rt-cta{grid-template-columns:1fr}
  .rt-content{gap:40px}
  .e-con.rt-contact{grid-template-columns:1fr}
  .rt-contact-card{position:static}
  .rt-foot-grid{grid-template-columns:1fr 1fr}
  .rt-nav > nav{display:none}
  .rt-nav .rt-tel{margin-left:auto}
  .rt-nav .rt-tel span{display:none}
  .rt-burger{display:inline-flex}
  .rt-stat-band{grid-template-columns:1fr;gap:16px;padding:42px 34px}
}
@media (max-width:782px){
  .rt-content--img-right,.rt-content--img-left{grid-template-columns:minmax(0,1fr);gap:36px}
  .admin-bar .elementor-location-header:has(.rt-header){top:46px}
}
@media (max-width:640px){
  body{font-size:16px}
  .rt h1,.rt h2,.rt h3,.rt h4{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
  .rt-wrap{padding:0 20px}
  .rt-section{padding:64px 0}
  .rt-section--tight{padding:56px 0}
  .rt-section--flush-top{padding-top:0}
  .rt-section--flush-bottom{padding-bottom:0}
  .rt-nav{gap:16px;height:70px}
  .rt-nav .rt-logo img{height:28px}
  .rt-prose .rt-cols-2,.rt-prose .rt-cols-3{grid-template-columns:1fr}
  .rt-steps,.rt-steps--3,.rt-cards--list,.rt-cards--grid3,.rt-cards--grid2{grid-template-columns:1fr}
  .rt-insurance-box{padding:28px 26px}
  .rt-red-card{padding:34px 28px}
  .rt-cta{padding:44px 28px}
  .rt-badge{padding:9px 13px;font-size:.8rem}
  .rt-badge .rt-ic{width:28px;height:28px}
  .rt-badge small{display:none}
  .rt-foot-grid{grid-template-columns:1fr}
  .rt-nav .rt-btn{display:none}
  .rt-hero h1 em{white-space:normal}
  .e-con.rt-contact{padding:48px 20px 64px!important;gap:28px}
  #formular{scroll-margin-top:84px}
  .rt-contact-card,.rt-contact .elementor-widget-form{padding:30px 22px}
  .rt-gallery--certs img{height:280px}
  .rt-gallery--logos{gap:28px 36px}
  .rt-gallery--logos img{height:36px}
}

/* ============================================================
   Blog – Übersicht (rt-posts) und Beitrag (rt-post)
   ============================================================ */
.rt-posts-section .rt-sec-head h1{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.rt-posts-section .rt-sec-head h1 em{font-style:normal;color:var(--rt-blue)}
.rt-posts-empty{color:var(--rt-muted)}
.rt-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.rt-post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rt-ice-2);border-radius:var(--rt-radius);overflow:hidden;color:var(--rt-ink);transition:.25s}
.rt-post-card:hover{transform:translateY(-4px);box-shadow:var(--rt-shadow);border-color:transparent}
.rt-post-card-media{aspect-ratio:16/10;background:var(--rt-ice);overflow:hidden}
.rt-post-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.rt-post-card:hover .rt-post-card-media img{transform:scale(1.04)}
.rt-post-card-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.rt-post-card-ph svg{width:48px;height:48px;fill:var(--rt-sky)}
.rt-post-card-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.rt-post-meta{display:block;font-size:.85rem;font-weight:600;color:var(--rt-blue);margin-bottom:8px}
.rt-post-card h3{font-size:1.15rem;line-height:1.3;margin-bottom:10px}
.rt-post-card p{font-size:.95rem;line-height:1.6;color:var(--rt-muted);margin:0 0 16px}
.rt-post-card .rt-more{margin-top:auto;display:inline-flex;gap:8px;font-weight:600;font-size:.95rem;color:var(--rt-blue)}
.rt-post-card .rt-more::after{content:"→";transition:.2s}
.rt-post-card:hover .rt-more::after{transform:translateX(4px)}
.rt-post-card--featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);margin-bottom:28px}
.rt-post-card--featured .rt-post-card-media{aspect-ratio:auto;min-height:340px}
.rt-post-card--featured .rt-post-card-body{padding:44px;justify-content:center}
.rt-post-card--featured h3{font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2;margin-bottom:14px}
.rt-post-card--featured p{font-size:1.02rem}
.rt-post-card--featured .rt-more{margin-top:8px}
.rt-pagination{margin-top:48px}
.rt-pagination ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.rt-pagination a,.rt-pagination span{display:flex;min-width:44px;height:44px;padding:0 14px;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--rt-ice-2);background:#fff;color:var(--rt-navy);font-weight:600}
.rt-pagination .current{background:var(--rt-blue);border-color:var(--rt-blue);color:#fff}
.rt-pagination a:hover{border-color:var(--rt-sky);color:var(--rt-blue)}

/* Beitrag */
.rt-post .rt-wrap{max-width:900px}
.rt-post-head{margin-bottom:36px}
.rt-post-back{display:inline-block;font-weight:600;font-size:.95rem;margin-bottom:20px}
.rt-post-head h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:14px}
.rt-post-head .rt-post-meta{margin:0;color:var(--rt-muted);font-weight:500}
.rt-post-img{margin:0 0 48px;border-radius:var(--rt-radius);overflow:hidden;box-shadow:var(--rt-shadow-soft)}
.rt-post-img img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}

/* Beitragsinhalt (alte Elementor-Widgets) an das neue Design angleichen */
.rt-article{font-size:1.06rem;line-height:1.75;color:var(--rt-ink)}
.rt-article .elementor-section,.rt-article .e-con,.rt-article .e-con-inner{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;padding:0 !important;max-width:none !important;background:none !important}
.rt-article .elementor-widget:not(:last-child){margin-bottom:0}
.rt-article .elementor-widget-text-editor,.rt-article .elementor-widget-text-editor *{font-family:var(--rt-font) !important;color:inherit;font-size:inherit;line-height:inherit}
.rt-article p{margin:0 0 1.1em}
.rt-article ul,.rt-article ol{margin:0 0 1.2em;padding-left:1.3em}
.rt-article li{margin-bottom:.45em}
.rt-article li::marker{color:var(--rt-blue)}
.rt-article strong,.rt-article b{color:var(--rt-navy);font-weight:600}
.rt-article a{color:var(--rt-blue) !important;text-decoration:underline;text-decoration-color:var(--rt-sky);text-underline-offset:3px}
.rt-article .elementor-heading-title,.rt-article h2,.rt-article h3,.rt-article h4{font-family:var(--rt-font-head) !important;color:var(--rt-navy) !important;font-weight:700 !important;letter-spacing:-.015em;text-transform:none !important}
.rt-article .elementor-widget-heading{margin:1.6em 0 .55em}
.rt-article .elementor-widget-heading .elementor-heading-title{font-size:clamp(1.45rem,2.6vw,1.9rem) !important;line-height:1.25 !important}
.rt-article h3{font-size:1.2rem !important;line-height:1.35 !important;margin:1.4em 0 .5em}
.rt-article .elementor-widget-animated-headline{margin:1.6em 0 .55em}
.rt-article .elementor-headline{font-family:var(--rt-font-head) !important;font-size:clamp(1.45rem,2.6vw,1.9rem) !important;color:var(--rt-navy) !important;line-height:1.25 !important;text-align:left !important}
.rt-article .elementor-headline *{color:inherit !important}
.rt-article .elementor-headline svg path{stroke:var(--rt-sky) !important}
/* Inhaltsverzeichnis */
.rt-article .elementor-widget-table-of-contents{margin:28px 0 36px}
.rt-article .elementor-toc__header{background:var(--rt-ice) !important;border:0 !important;padding:16px 22px !important}
.rt-article .elementor-toc__header-title{font-family:var(--rt-font-head) !important;color:var(--rt-navy) !important;font-size:1.05rem !important}
.rt-article .elementor-widget-container:has(> .elementor-toc__header),.rt-article .elementor-widget-table-of-contents .elementor-widget-container{border:1px solid var(--rt-ice-2) !important;border-radius:16px !important;overflow:hidden;background:#fff !important}
.rt-article .elementor-toc__body{padding:16px 22px 18px !important}
.rt-article .elementor-toc__list-item-text{color:var(--rt-ink) !important;text-decoration:none !important;font-size:.98rem}
.rt-article .elementor-toc__list-item-text:hover{color:var(--rt-blue) !important}
.rt-article .elementor-toc__list-item::before,.rt-article .elementor-toc__list-item-text-wrapper::before{color:var(--rt-blue) !important}
/* Aufklapp-FAQ in Beiträgen */
.rt-article .e-n-accordion-item{border:1px solid var(--rt-ice-2) !important;border-radius:14px;margin-bottom:10px;overflow:hidden;background:#fff}
.rt-article .e-n-accordion-item-title{padding:16px 20px !important;border:0 !important;background:#fff !important}
.rt-article .e-n-accordion-item-title-text{font-family:var(--rt-font-head) !important;color:var(--rt-navy) !important;font-size:1rem !important;font-weight:600 !important}
.rt-article .e-n-accordion-item > .e-con{padding:0 20px 6px !important;border:0 !important}
.rt-article img{max-width:100%;height:auto;border-radius:14px}

@media (max-width:1020px){
  .rt-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-post-card--featured{grid-template-columns:minmax(0,1fr)}
  .rt-post-card--featured .rt-post-card-media{aspect-ratio:16/9;min-height:0}
  .rt-post-card--featured .rt-post-card-body{padding:30px 28px 32px}
}
@media (max-width:640px){
  .rt-posts{grid-template-columns:minmax(0,1fr);gap:20px}
  .rt-post-img{margin-bottom:32px}
  .rt-article{font-size:1rem}
}
/* Hintergründe/Overlays der alten Beitrags-Container ausblenden */
.rt-article .e-con::before,.rt-article .elementor-section::before,.rt-article .elementor-background-overlay{display:none !important}
.rt-article .elementor-toc__list-item{color:var(--rt-blue) !important}
.rt-article .elementor-toc__list-wrapper{padding-left:1.1em !important}
.rt-post-img{margin:0 0 48px !important}
