/* Nobleclean Ratgeber-Layout (Runde 5, 24.09.2026) – nur auf Seiten mit .nc-rg */
.nc-rg {
  --rg-navy: #0A192F;
  --rg-ink: #1E293B;
  --rg-muted: #475569;
  --rg-line: #E2E8F0;
  --rg-soft: #F8FAFC;
  --rg-mint: #00D285;
  --rg-green: #047857;
  --rg-mint-soft: #ECFDF5;
  --rg-warn: #B45309;
  --rg-warn-soft: #FFFBEB;
  max-width: 760px;
  margin: 0 auto;
  padding: 40px 20px 64px;
  color: var(--rg-ink);
  font-size: 1.0625rem;
  line-height: 1.75;
}
.nc-rg > * + * { margin-top: 32px; }
.nc-rg p { margin: 0 0 1em; }
.nc-rg p:last-child { margin-bottom: 0; }
.nc-rg a { color: var(--rg-green); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nc-rg a:hover { color: var(--rg-navy); }
.nc-rg h2 {
  margin: 0 0 16px;
  color: var(--rg-navy);
  font-size: clamp(1.45rem, 1.2rem + 1vw, 1.85rem);
  line-height: 1.25;
  letter-spacing: -0.01em;
  scroll-margin-top: 110px;
}
.nc-rg h3 { margin: 28px 0 10px; color: var(--rg-navy); font-size: 1.2rem; line-height: 1.35; }
.nc-rg ul, .nc-rg ol { margin: 0 0 1em; padding-left: 1.3em; }
.nc-rg li + li { margin-top: 6px; }
.nc-rg strong { color: var(--rg-navy); }

/* Meta-Zeile */
.nc-rg-meta {
  font-size: 0.9rem;
  color: var(--rg-muted);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rg-line);
}
.nc-rg-meta a { color: var(--rg-navy); font-weight: 600; text-decoration: none; }

/* Das Wichtigste in Kürze */
.nc-rg-summary {
  background: var(--rg-mint-soft);
  border: 1px solid #A7F3D0;
  border-left: 5px solid var(--rg-green);
  border-radius: 14px;
  padding: 22px 26px;
}
.nc-rg-summary__label, .nc-rg-toc__label, .nc-rg-related__label {
  margin: 0 0 10px !important;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rg-green);
}
.nc-rg-summary ul { list-style: none; padding: 0; margin: 0; }
.nc-rg-summary li { position: relative; padding-left: 28px; }
.nc-rg-summary li::before {
  content: ""; position: absolute; left: 0; top: 0.55em;
  width: 16px; height: 9px; border-left: 2.5px solid var(--rg-green); border-bottom: 2.5px solid var(--rg-green);
  transform: rotate(-45deg);
}

/* Inhaltsverzeichnis */
.nc-rg-toc { background: var(--rg-soft); border: 1px solid var(--rg-line); border-radius: 14px; padding: 20px 26px; }
.nc-rg-toc__label { color: var(--rg-muted) !important; }
.nc-rg-toc ol { margin: 0; padding-left: 1.2em; columns: 2; column-gap: 32px; }
.nc-rg-toc li { break-inside: avoid; font-size: 0.97rem; }
.nc-rg-toc a { color: var(--rg-navy); text-decoration: none; }
.nc-rg-toc a:hover { text-decoration: underline; }

/* Abschnitte */
.nc-rg-section { padding-top: 8px; }
.nc-rg-section + .nc-rg-section { border-top: 1px solid var(--rg-line); padding-top: 36px; }

/* Tabellen */
.nc-rg-table { overflow-x: auto; border: 1px solid var(--rg-line); border-radius: 12px; margin: 20px 0; -webkit-overflow-scrolling: touch; }
.nc-rg-table table { width: 100%; border-collapse: collapse; font-size: 0.95rem; line-height: 1.5; min-width: 520px; }
.nc-rg-table caption { caption-side: top; text-align: left; padding: 12px 16px; font-weight: 700; color: var(--rg-navy); background: var(--rg-soft); border-bottom: 1px solid var(--rg-line); }
.nc-rg-table th { background: var(--rg-navy); color: #FFFFFF; text-align: left; font-weight: 600; padding: 11px 16px; }
.nc-rg-table td { padding: 11px 16px; border-top: 1px solid var(--rg-line); vertical-align: top; }
.nc-rg-table tbody tr:nth-child(even) td { background: var(--rg-soft); }

/* Checkliste und Schritte */
.nc-rg-check { list-style: none; padding: 0 !important; }
.nc-rg-check li { position: relative; padding-left: 32px; }
.nc-rg-check li::before {
  content: ""; position: absolute; left: 0; top: 0.3em; width: 20px; height: 20px; border-radius: 50%;
  background: var(--rg-green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12'/%3E%3C/svg%3E");
}
.nc-rg-check li::after {
  content: ""; position: absolute; left: 6px; top: calc(0.3em + 6px); width: 8px; height: 4px;
  border-left: 2px solid #FFFFFF; border-bottom: 2px solid #FFFFFF; transform: rotate(-45deg);
}
.nc-rg-steps { counter-reset: rg-step; list-style: none; padding: 0 !important; }
.nc-rg-steps li { counter-increment: rg-step; position: relative; padding-left: 48px; min-height: 34px; }
.nc-rg-steps li + li { margin-top: 14px; }
.nc-rg-steps li::before {
  content: counter(rg-step); position: absolute; left: 0; top: 0;
  width: 32px; height: 32px; border-radius: 50%; background: var(--rg-navy); color: #FFFFFF;
  font-weight: 700; font-size: 0.95rem; display: flex; align-items: center; justify-content: center;
}

/* Hinweise */
.nc-rg-note { background: var(--rg-soft); border-left: 4px solid var(--rg-green); border-radius: 10px; padding: 16px 20px; margin: 20px 0; }
.nc-rg-note--warn { background: var(--rg-warn-soft); border-left-color: var(--rg-warn); }
.nc-rg-note--warn strong { color: #92400E; }

/* CTA */
.nc-rg-cta { background: var(--rg-navy); color: #E2E8F0; border-radius: 18px; padding: 30px 32px; }
.nc-rg-cta__title { color: #FFFFFF; font-size: 1.35rem; font-weight: 700; line-height: 1.3; margin-bottom: 8px !important; }
.nc-rg-cta__actions { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin-top: 18px !important; }
.nc-rg .nc-rg-cta__btn {
  display: inline-block; background: var(--rg-mint); color: var(--rg-navy); font-weight: 700; text-decoration: none;
  padding: 13px 22px; border-radius: 10px;
}
.nc-rg .nc-rg-cta__btn:hover { background: #34E0A1; color: var(--rg-navy); }
.nc-rg .nc-rg-cta__tel { color: #FFFFFF; font-weight: 600; }

/* FAQ */
.nc-rg-faq details { border: 1px solid var(--rg-line); border-radius: 12px; background: #FFFFFF; }
.nc-rg-faq details + details { margin-top: 10px; }
.nc-rg-faq summary {
  cursor: pointer; list-style: none; position: relative; padding: 16px 52px 16px 20px;
  font-weight: 600; color: var(--rg-navy); line-height: 1.45;
}
.nc-rg-faq summary::-webkit-details-marker { display: none; }
.nc-rg-faq summary::after {
  content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; border-radius: 50%; background: var(--rg-mint-soft); color: var(--rg-green);
  font-size: 1.2rem; line-height: 26px; text-align: center; font-weight: 700;
}
.nc-rg-faq details[open] summary::after { content: "–"; }
.nc-rg-faq details[open] summary { border-bottom: 1px solid var(--rg-line); }
.nc-rg-faq details > div { padding: 14px 20px 18px; }

/* Autor */
.nc-rg-author { display: block; background: var(--rg-soft); border: 1px solid var(--rg-line); border-radius: 14px; padding: 22px 26px; }
.nc-rg-author__name { font-weight: 700; color: var(--rg-navy); font-size: 1.1rem; margin-bottom: 2px !important; }
.nc-rg-author__role { color: var(--rg-green); font-size: 0.92rem; font-weight: 600; margin-bottom: 10px !important; }

/* Weiterlesen */
.nc-rg-related ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nc-rg-related li { margin: 0 !important; }
.nc-rg-related a {
  display: block; height: 100%; padding: 14px 16px; border: 1px solid var(--rg-line); border-radius: 12px;
  color: var(--rg-navy); font-weight: 600; text-decoration: none; background: #FFFFFF;
}
.nc-rg-related a:hover { border-color: var(--rg-green); color: var(--rg-green); }

/* Quellen */
.nc-rg-sources { font-size: 0.9rem; color: var(--rg-muted); }
.nc-rg-sources h2 { font-size: 1.1rem; }
.nc-rg-sources a { color: var(--rg-muted); word-break: break-word; }

/* Fokus */
.nc-rg a:focus-visible, .nc-rg summary:focus-visible { outline: 3px solid var(--rg-green); outline-offset: 2px; border-radius: 6px; }

@media (max-width: 640px) {
  .nc-rg { padding: 28px 16px 48px; font-size: 1rem; }
  .nc-rg > * + * { margin-top: 26px; }
  .nc-rg-toc ol { columns: 1; }
  .nc-rg-summary, .nc-rg-toc, .nc-rg-author { padding: 18px 18px; }
  .nc-rg-cta { padding: 24px 20px; }
  .nc-rg-related ul { grid-template-columns: 1fr; }
}
@media print {
  .nc-rg-cta, .nc-rg-related, .nc-rg-toc { display: none; }
}
/* ===== Runde 5b – Fixes aus VERIFY-RUNDE5-design ===== */

/* P2-5: leeres <p> aus wpautop (Kommentar) → 32-px-Streifen über dem Hero */
.entry-content > p:empty { display: none !important; }

/* P1-1: Slim-Hero – einspaltig, kompakt */
.nc-hero2.nc-hero2--slim { padding-block: 48px 56px !important; }
.nc-hero2--slim .nc-hero2__inner {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 880px; gap: 0 !important;
}
.nc-hero2--slim .nc-hero2__copy { max-width: 820px; }
.nc-hero2.nc-hero2--slim .nc-hero2__title {
  font-size: clamp(1.75rem, 1.1rem + 2.4vw, 3rem) !important; line-height: 1.1;
}
.nc-hero2.nc-hero2--slim .nc-hero2__lead { max-width: 64ch; }
@media (max-width: 640px) {
  .nc-hero2.nc-hero2--slim { padding-block: 28px 36px !important; }
  .nc-hero2--slim .nc-hero2__ctas a.nc-hero2__btn--ghost { display: none; } /* spart ~64 px; Telefon ist in der Sticky-Bar */
}

/* P1-2: Chips als Pills, Farbe gegen body.single-post-Override absichern */
body .nc-hero2 ul.nc-hero2__chips {
  display: flex !important; flex-wrap: wrap; gap: 8px 10px;
  list-style: none !important; padding: 0 !important; margin: 20px 0 28px !important;
  color: #C9D4E3 !important;
}
body .nc-hero2 .nc-hero2__chips li.nc-hero2__chip {
  display: inline-flex; align-items: center; gap: 6px; margin: 0 !important;
  padding: 6px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px;
  background: rgba(255,255,255,.05); color: #C9D4E3 !important;  /* 12,5 : 1 */
  font-size: .875rem; line-height: 1.3;
}
body .nc-hero2 .nc-hero2__chip svg { color: #00D285; flex: none; }
body .nc-hero2 .nc-hero2__chip strong { color: #FFFFFF !important; }

/* P1-3: Beitrags-Layout (nur Ratgeber-Beiträge) zentrieren + Hero vollbreit */
body.single-post:has(.nc-rg) #inner-wrap .content-container.site-container {
  max-width: 100% !important; margin-inline: auto !important;
}
body.single-post .entry-content > .nc-hero2.nc-hero2--slim {
  max-width: none !important; width: 100% !important; margin: 0 !important;
}
body.single-post .entry-content > div.nc-rg {
  max-width: 760px !important; margin-inline: auto !important;
}

/* P2-1: Überschriften-Hierarchie gegen globale !important-Regeln (Spezifität 0,3,3) */
body .entry-content div.nc-rg h2 {
  font-size: clamp(1.45rem, 1.2rem + 1vw, 1.85rem) !important;
  line-height: 1.25 !important; margin: 0 0 16px !important; letter-spacing: -0.01em !important;
}
body .entry-content div.nc-rg h3 {
  font-size: 1.2rem !important; line-height: 1.35 !important; margin: 28px 0 10px !important;
}
body .entry-content div.nc-rg .nc-rg-sources h2 { font-size: 1.1rem !important; }

/* P1-4 + P2-2: Linkfarben (ID im :not() schlägt die (0,11,4)-Regel aus nc-master…css) */
.nc-rg a:not(#nc-rg-x)                    { color: #047857 !important; font-weight: inherit; }
.nc-rg a:not(#nc-rg-x):hover              { color: #0A192F !important; }
.nc-rg .nc-rg-toc a:not(#nc-rg-x),
.nc-rg .nc-rg-related a:not(#nc-rg-x),
.nc-rg .nc-rg-meta a:not(#nc-rg-x)        { color: #0A192F !important; }
.nc-rg .nc-rg-related a:not(#nc-rg-x):hover { color: #047857 !important; }
.nc-rg .nc-rg-sources a:not(#nc-rg-x)     { color: #475569 !important; font-weight: 400; }
.nc-rg .nc-rg-cta a.nc-rg-cta__tel:not(#nc-rg-x) { color: #FFFFFF !important; }   /* 17,6 : 1 */
.nc-rg .nc-rg-cta a.nc-rg-cta__btn:not(#nc-rg-x) { color: #0A192F !important; text-decoration: none; }

/* P2-3: Fokusrahmen – dunkelgrün auf hell (5,2 : 1), Mint nur auf Navy */
.nc-rg a:focus-visible, .nc-rg summary:focus-visible {
  outline: 3px solid #047857 !important; outline-offset: 2px !important;
}
.nc-rg .nc-rg-cta a:focus-visible { outline-color: #00D285 !important; }

/* P2-4: Tabellen wieder als Tabelle; der Wrapper scrollt */
.nc-rg .nc-rg-table table {
  display: table !important; min-width: 520px !important; width: 100% !important;
  overflow: visible !important;
}
.nc-rg .nc-rg-table:focus-visible { outline: 3px solid #047857; outline-offset: 2px; }

/* P3-1: Sprungziele unter dem Sticky-Header (128 px) */
.nc-rg .nc-rg-section[id], .nc-rg h2[id] { scroll-margin-top: 140px !important; }

/* ===== Runde 6 – Nachbesserung nach Abnahme 25.09. ===== */
/* Beitrag (Hygieneplan): Artikelspalte 760 statt 880 */
html body.single-post .entry-content div.nc-rg,
html body.single-post div.nc-rg { max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
/* Tabellen auch mobil als Tabelle, Wrapper scrollt */
html body .entry-content .nc-rg .nc-rg-table table,
html body .nc-rg .nc-rg-table table { display: table !important; min-width: 520px !important; }
html body .nc-rg .nc-rg-table { display: block !important; overflow-x: auto !important; }
/* Mobil: kompakterer Kopfbereich */
@media (max-width: 640px) {
  body .nc-hero2.nc-hero2--slim .nc-hero2__title { font-size: 1.6rem !important; line-height: 1.15 !important; }
  body .nc-hero2.nc-hero2--slim .nc-hero2__lead { font-size: 0.98rem !important; margin-bottom: 14px !important; }
  body .nc-hero2 ul.nc-hero2__chips { margin: 14px 0 18px !important; }
  body .nc-hero2 .nc-hero2__chips li.nc-hero2__chip:nth-child(n+3) { display: none !important; }
}
/* Runde 6b: Theme-Regel #nc-blog-hero-css (0,3,3, spaeter geladen) ueberstimmen */
html body.single-post .entry-content > div.nc-rg:not(#nc-rg-x) { max-width: 760px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
/* Runde 6c: Beitrags-Container auf Ratgebern zentrieren */
html body.single-post:has(div.nc-rg) .entry-content-wrap:not(#nc-rg-x) { max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
/* Rechtsseiten (25.09.): Schluessel-Wert-Tabellen ohne Mindestbreite, mobil gestapelt */
html body .nc-rg .nc-rg-table.nc-rg-table--kv table { min-width: 0 !important; }
.nc-rg .nc-rg-table--kv th[scope="row"] { background: var(--rg-soft); color: var(--rg-navy); width: 34%; border-top: 1px solid var(--rg-line); font-weight: 600; }
.nc-rg .nc-rg-table--kv tbody tr:nth-child(even) td { background: transparent; }
@media (max-width: 640px) {
  .nc-rg .nc-rg-table--kv th[scope="row"], .nc-rg .nc-rg-table--kv td { display: block; width: auto; }
  .nc-rg .nc-rg-table--kv th[scope="row"] { padding: 10px 14px 2px; background: transparent; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.04em; color: #475569; }
  .nc-rg .nc-rg-table--kv td { border-top: 0; padding: 0 14px 10px; }
}
