/* =========================================================
   BA Ratgeber-Layout
   Artikeltemplate fuer /ratgeber/*. Ergaenzt ba-brand.css.
   Namespace: .rg-*
   ========================================================= */

:root{
  --rg-ink:#0D0D0D;
  --rg-ink-80:#2A2A2A;
  --rg-ink-60:#4A4A4A;
  --rg-ink-40:#7A7A7A;
  --rg-paper:#FFFFFF;
  --rg-stone:#F4F2EC;
  --rg-stone-light:#FAFAF7;
  --rg-stone-border:#E8E5DA;
  --rg-sun:#F4D03F;
  --rg-sun-light:#FFF4B8;
  --rg-sun-dark:#D4B028;
  --rg-serif:"Playfair Display",Georgia,serif;
  --rg-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --rg-radius:18px;
  --rg-radius-sm:12px;
  --rg-measure:72ch;
}

/* ---------- Grundgeruest ---------- */

.rg-article{font-family:var(--rg-sans);color:var(--rg-ink);font-size:17px;line-height:1.75;}
.rg-article *{box-sizing:border-box;}

/* Doppelte H1 aus dem Theme unterdruecken, der Hero traegt die H1 */
.rg-article ~ .entry-title,
.page .rg-has-hero .page-header,
.rg-article .elementor-widget-theme-page-title{display:none!important;}

/* ---------- Hero ---------- */

.rg-hero{
  position:relative;overflow:hidden;
  background:var(--rg-ink);
  border:1px solid var(--rg-ink-80);
  border-radius:var(--rg-radius);
  padding:56px 48px 44px!important;
  color:#fff;
}
.rg-hero::before{
  content:"";position:absolute;top:-160px;right:-110px;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,208,63,.16),transparent 70%);
  pointer-events:none;
}
.rg-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--rg-sun),rgba(244,208,63,0));
}
.rg-hero > *{position:relative;z-index:1;}

.rg-breadcrumb{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--rg-sun);margin-bottom:18px;}
.rg-breadcrumb a{color:var(--rg-sun);text-decoration:none;}
.rg-breadcrumb a:hover{text-decoration:underline;}
.rg-breadcrumb span{color:rgba(255,255,255,.35);margin:0 8px;}
.rg-breadcrumb em{color:rgba(255,255,255,.6);font-style:normal;}

.rg-hero .rg-h1,
.rg-hero h1{
  font-family:var(--rg-serif)!important;
  font-weight:600!important;
  font-size:clamp(30px,4.2vw,46px)!important;
  line-height:1.15!important;
  letter-spacing:-.01em;
  color:#fff!important;
  margin:0 0 20px!important;
  max-width:22ch;
}

.rg-lead p,.rg-lead{
  color:#D8D6CF!important;font-size:19px!important;line-height:1.65!important;
  max-width:62ch;margin:0;
}
.rg-lead strong{color:var(--rg-sun);font-weight:600;}

/* ---------- Autorenzeile ---------- */

.rg-byline{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:30px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
}
.rg-byline__avatar{
  width:52px;height:52px;border-radius:50%;flex:0 0 52px;
  background:var(--rg-sun);color:var(--rg-ink);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--rg-serif);font-weight:700;font-size:20px;
  overflow:hidden;border:2px solid rgba(255,255,255,.18);
}
.rg-byline__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.rg-byline__who{display:flex;flex-direction:column;gap:3px;min-width:0;}
.rg-byline__name{font-weight:650;font-size:15px;color:#fff;}
.rg-byline__name a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(244,208,63,.5);}
.rg-byline__name a:hover{color:var(--rg-sun);}
.rg-byline__role{font-size:13px;color:rgba(255,255,255,.55);}
.rg-byline__facts{
  display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;align-items:center;
  font-size:12.5px;color:rgba(255,255,255,.6);
}
.rg-byline__facts span{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:999px;padding:5px 12px;white-space:nowrap;
}
.rg-byline__facts .rg-check{color:var(--rg-sun);font-weight:700;}

/* ---------- Das Wichtigste in Kuerze ---------- */

.rg-key{
  background:var(--rg-stone);
  border:1px solid var(--rg-stone-border);
  border-left:5px solid var(--rg-sun);
  border-radius:var(--rg-radius-sm);
  padding:30px 34px!important;
}
.rg-key__title{
  font-family:var(--rg-sans)!important;
  font-size:12px!important;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700!important;color:var(--rg-ink-60)!important;margin:0 0 16px!important;
}
.rg-key ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:12px;}
.rg-key li{
  position:relative;padding-left:30px;font-size:16.5px;line-height:1.6;color:var(--rg-ink);
}
.rg-key li::before{
  content:"";position:absolute;left:0;top:.52em;
  width:14px;height:8px;border-left:2.5px solid var(--rg-sun-dark);border-bottom:2.5px solid var(--rg-sun-dark);
  transform:rotate(-45deg);
}
.rg-key li strong{font-weight:650;}

/* ---------- Zweispalter mit Sticky-TOC ---------- */

.rg-layout{align-items:flex-start!important;gap:52px!important;}
.rg-aside{position:sticky;top:96px;align-self:flex-start!important;}

.rg-toc{
  background:var(--rg-stone-light);
  border:1px solid var(--rg-stone-border);
  border-radius:var(--rg-radius-sm);
  padding:22px 24px;
}
.rg-toc__title{
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
  color:var(--rg-ink-40);margin:0 0 14px;
}
.rg-toc ol{list-style:none;margin:0;padding:0;counter-reset:rgtoc;}
.rg-toc li{counter-increment:rgtoc;margin:0 0 2px;}
.rg-toc a{
  display:flex;gap:11px;align-items:baseline;
  padding:7px 10px;border-radius:8px;
  font-size:14.5px;line-height:1.4;color:var(--rg-ink-60);text-decoration:none;
  transition:background .15s,color .15s;
}
.rg-toc a::before{
  content:counter(rgtoc);
  font-size:11px;font-weight:700;color:var(--rg-sun-dark);
  min-width:14px;flex:0 0 14px;
}
.rg-toc a:hover{background:#fff;color:var(--rg-ink);}
.rg-toc a.is-active{background:#fff;color:var(--rg-ink);font-weight:600;box-shadow:inset 2px 0 0 var(--rg-sun);}

.rg-aside-cta{
  margin-top:18px;background:var(--rg-ink);color:#fff;
  border-radius:var(--rg-radius-sm);padding:22px 24px;
}
.rg-aside-cta h3{
  font-family:var(--rg-serif);font-size:18px;font-weight:600;color:#fff;margin:0 0 8px;line-height:1.3;
}
.rg-aside-cta p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.65);margin:0 0 16px;}
.rg-aside-cta a{
  display:block;text-align:center;background:var(--rg-sun);color:var(--rg-ink);
  font-weight:650;font-size:14.5px;text-decoration:none;
  padding:11px 16px;border-radius:999px;transition:background .15s;
}
.rg-aside-cta a:hover{background:var(--rg-sun-light);}

/* ---------- Artikeltext ---------- */

.rg-body{max-width:var(--rg-measure);}
.rg-body h2{
  font-family:var(--rg-serif)!important;
  font-size:clamp(23px,2.6vw,30px)!important;font-weight:600!important;
  line-height:1.25!important;color:var(--rg-ink)!important;
  margin:52px 0 16px!important;scroll-margin-top:110px;
}
.rg-body h2:first-child{margin-top:0!important;}
.rg-body h2::before{
  content:"";display:block;width:42px;height:4px;
  background:var(--rg-sun);border-radius:2px;margin-bottom:16px;
}
.rg-body h3{
  font-size:19.5px!important;font-weight:650!important;line-height:1.35!important;
  color:var(--rg-ink)!important;margin:32px 0 10px!important;scroll-margin-top:110px;
}
.rg-body p{margin:0 0 18px;}
.rg-body a{color:var(--rg-ink);text-decoration:underline;text-decoration-color:var(--rg-sun-dark);text-underline-offset:3px;text-decoration-thickness:2px;}
.rg-body a:hover{background:var(--rg-sun-light);}
.rg-body ul,.rg-body ol{margin:0 0 20px;padding-left:1.35em;}
.rg-body li{margin:0 0 9px;}
.rg-body ul li::marker{color:var(--rg-sun-dark);}
.rg-body ol li::marker{color:var(--rg-ink-40);font-weight:600;}
.rg-body strong{font-weight:650;}

/* ---------- Tabellen ---------- */

.rg-table{
  overflow-x:auto;margin:28px 0;
  border:1px solid var(--rg-stone-border);border-radius:var(--rg-radius-sm);
  -webkit-overflow-scrolling:touch;
}
.rg-table table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px;margin:0;}
.rg-table thead th{
  background:var(--rg-ink);color:#fff;text-align:left;font-weight:600;font-size:13px;
  letter-spacing:.04em;padding:13px 16px;white-space:nowrap;
}
.rg-table td{padding:13px 16px;border-top:1px solid var(--rg-stone-border);vertical-align:top;line-height:1.55;}
.rg-table tbody tr:nth-child(even){background:var(--rg-stone-light);}
.rg-table td strong{color:var(--rg-ink);}
.rg-table caption{
  caption-side:bottom;text-align:left;font-size:13px;color:var(--rg-ink-40);
  padding:10px 16px;border-top:1px solid var(--rg-stone-border);
}

/* ---------- Hinweis-Boxen ---------- */

.rg-note{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--rg-stone-light);border:1px solid var(--rg-stone-border);
  border-left:4px solid var(--rg-ink-40);
  border-radius:var(--rg-radius-sm);padding:20px 24px;margin:28px 0;
  font-size:16px;line-height:1.65;
}
.rg-note__icon{
  flex:0 0 26px;width:26px;height:26px;border-radius:50%;
  background:var(--rg-ink);color:#fff;font-size:14px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.rg-note p:last-child{margin-bottom:0;}
.rg-note--tip{border-left-color:var(--rg-sun-dark);background:#FFFDF2;}
.rg-note--tip .rg-note__icon{background:var(--rg-sun);color:var(--rg-ink);}
.rg-note--warn{border-left-color:#B4451F;background:#FDF6F3;}
.rg-note--warn .rg-note__icon{background:#B4451F;}
.rg-note__title{display:block;font-weight:650;margin-bottom:4px;}

/* ---------- Infografiken ---------- */

.rg-figure{margin:34px 0;}
.rg-figure svg{display:block;width:100%;height:auto;}
.rg-figure__frame{
  background:var(--rg-stone-light);border:1px solid var(--rg-stone-border);
  border-radius:var(--rg-radius-sm);padding:26px 26px 20px;
}
.rg-figure figcaption{
  font-size:13.5px;color:var(--rg-ink-40);line-height:1.5;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--rg-stone-border);
}
.rg-article .elementor-widget-image img{border-radius:var(--rg-radius-sm);}

/* ---------- FAQ ---------- */

.rg-faq .e-n-accordion-item{
  border:1px solid var(--rg-stone-border)!important;
  border-radius:var(--rg-radius-sm)!important;
  margin-bottom:10px!important;background:#fff;overflow:hidden;
}
.rg-faq .e-n-accordion-item-title{
  padding:17px 22px!important;font-weight:600!important;font-size:16.5px!important;
  color:var(--rg-ink)!important;
}
.rg-faq .e-n-accordion-item-title:hover{background:var(--rg-stone-light);}
.rg-faq .e-n-accordion-item[open]{box-shadow:inset 3px 0 0 var(--rg-sun);}
.rg-faq .e-n-accordion-item[open] > .e-n-accordion-item-title{background:var(--rg-stone-light);}
.rg-faq .e-con-inner,.rg-faq .e-n-accordion-item > .e-con{padding:0 22px 6px!important;}
.rg-faq p{font-size:16px;line-height:1.7;color:var(--rg-ink-60);}

/* ---------- Quellen und Stand ---------- */

.rg-sources{
  margin-top:44px;padding:24px 26px;
  background:var(--rg-stone-light);border:1px solid var(--rg-stone-border);
  border-radius:var(--rg-radius-sm);font-size:14px;line-height:1.65;color:var(--rg-ink-60);
}
.rg-sources h3{
  font-size:11.5px!important;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700!important;color:var(--rg-ink-40)!important;margin:0 0 12px!important;
}
.rg-sources ul{list-style:none;margin:0 0 14px;padding:0;}
.rg-sources li{padding-left:18px;position:relative;margin-bottom:7px;}
.rg-sources li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--rg-sun-dark);}
.rg-sources a{color:var(--rg-ink-60);text-decoration:underline;text-underline-offset:2px;}
.rg-sources__meta{display:block;padding-top:12px;border-top:1px solid var(--rg-stone-border);font-size:13px;color:var(--rg-ink-40);}

/* ---------- Abschluss-CTA ---------- */

.rg-cta{
  background:var(--rg-ink);border-radius:var(--rg-radius);
  padding:44px 48px!important;color:#fff;position:relative;overflow:hidden;
  display:flex!important;flex-direction:row!important;align-items:center;gap:32px;flex-wrap:wrap;
}
.rg-cta::before{
  content:"";position:absolute;bottom:-150px;left:-80px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,208,63,.13),transparent 70%);pointer-events:none;
}
.rg-cta > *{position:relative;z-index:1;}
.rg-cta__text{flex:1 1 340px;}
.rg-cta h2{font-family:var(--rg-serif);font-size:27px;font-weight:600;color:#fff;margin:0 0 10px;line-height:1.25;}
.rg-cta p{color:rgba(255,255,255,.65);font-size:16px;margin:0;line-height:1.6;}
.rg-cta__btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--rg-sun);color:var(--rg-ink);font-weight:650;font-size:16px;
  padding:15px 30px;border-radius:999px;text-decoration:none;white-space:nowrap;
  transition:transform .15s,background .15s;
}
.rg-cta__btn:hover{background:var(--rg-sun-light);transform:translateY(-1px);}
.rg-cta__back{display:block;margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.45);text-decoration:underline;}

/* ---------- Weiterlesen ---------- */

.rg-related__title{
  font-family:var(--rg-serif)!important;font-size:24px!important;font-weight:600!important;
  margin:0 0 20px!important;
}
.rg-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rg-related__card{
  display:block;background:#fff;border:1px solid var(--rg-stone-border);
  border-radius:var(--rg-radius-sm);padding:22px 24px;text-decoration:none;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.rg-related__card:hover{border-color:var(--rg-sun);transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,13,13,.06);}
.rg-related__kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--rg-sun-dark);display:block;margin-bottom:9px;}
.rg-related__name{font-weight:650;font-size:16.5px;color:var(--rg-ink);line-height:1.35;display:block;margin-bottom:7px;}
.rg-related__desc{font-size:14px;color:var(--rg-ink-60);line-height:1.5;display:block;}

/* ---------- Lesefortschritt ---------- */

.rg-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--rg-sun);z-index:9999;transition:width .1s linear;}

/* ---------- Responsive ---------- */

@media (max-width:1024px){
  .rg-aside{position:static;}
  .rg-layout{flex-direction:column!important;gap:30px!important;}
  .rg-aside,.rg-body{width:100%!important;max-width:100%!important;}
  .rg-aside-cta{display:none;}
}
@media (max-width:767px){
  .rg-hero{padding:34px 22px 30px!important;border-radius:14px;}
  .rg-hero .rg-h1,.rg-hero h1{font-size:27px!important;max-width:none;}
  .rg-lead p,.rg-lead{font-size:17px!important;}
  .rg-byline{gap:12px;}
  .rg-byline__facts{margin-left:0;width:100%;}
  .rg-key{padding:24px 22px!important;}
  .rg-cta{padding:30px 24px!important;gap:20px;}
  .rg-cta h2{font-size:22px;}
  .rg-related__grid{grid-template-columns:1fr;}
  .rg-toc{padding:18px 18px;}
  .rg-body h2{margin-top:40px!important;}
}

/* ---------- Druck ---------- */

@media print{
  .rg-aside,.rg-cta,.rg-related,.rg-progress{display:none!important;}
  .rg-hero{background:#fff!important;color:#000!important;border:none;padding:0!important;}
  .rg-hero .rg-h1,.rg-hero h1{color:#000!important;}
}

/* ---------- Elementor-Container-Breiten ---------- */

.rg-article > .e-con,
.rg-article > .e-con > .e-con-inner{max-width:1140px;}
.rg-article .e-con{--padding-inline-start:0;--padding-inline-end:0;}
.rg-layout > .e-con:first-child{flex:0 0 288px!important;max-width:288px!important;}
.rg-layout > .e-con:last-child{flex:1 1 auto!important;min-width:0!important;max-width:none!important;}
@media (max-width:1024px){
  .rg-layout > .e-con:first-child,
  .rg-layout > .e-con:last-child{flex:1 1 100%!important;max-width:100%!important;}
}
.rg-article .elementor-widget{margin-bottom:0;}
.rg-article .elementor-widget-html,
.rg-article .elementor-widget-text-editor,
.rg-article .elementor-widget-heading{width:100%;}

/* ---------- Korrekturen: Elementor setzt die Klasse auf den Wrapper ---------- */

.rg-key__title .elementor-heading-title{
  font-family:var(--rg-sans)!important;font-size:12px!important;letter-spacing:.2em;
  text-transform:uppercase;font-weight:700!important;color:var(--rg-ink-60)!important;
  margin:0 0 16px!important;line-height:1.4!important;
}
.rg-key__title .elementor-heading-title::before{display:none!important;}
.rg-related__title .elementor-heading-title{
  font-family:var(--rg-serif)!important;font-size:24px!important;font-weight:600!important;
  color:var(--rg-ink)!important;margin:0 0 20px!important;
}
.rg-related__title .elementor-heading-title::before{display:none!important;}
.rg-h1 .elementor-heading-title{color:#fff!important;}

/* Abstaende der HTML-Widgets im Artikel */
.rg-body > .elementor-widget-html > .elementor-widget-container > .rg-figure{margin:34px 0 36px;}
.rg-body > .elementor-widget-html > .elementor-widget-container > .rg-note{margin:28px 0 30px;}
.rg-body > .elementor-widget-html + .elementor-widget-text-editor{margin-top:4px;}
.rg-figure figcaption{margin-bottom:0;}

/* Konfigurator im Artikel etwas absetzen */
.rg-body > .elementor-widget-shortcode{margin:38px 0 42px;display:block;}
