/* nanoz-extra.css - Ergaenzungen: Cookie-Consent, FAQ, Zugaenglichkeit
   Ergaenzt nanoz.webflow.a81a56a06.css, ersetzt sie nicht. */

/* ---------- Cookie-Banner: Sichtbarkeit wird per JS gesteuert ---------- */
.bottom-cookie-wrapper { display: none; opacity: 1; }
.bottom-cookie-wrapper.nz-visible { display: flex; }
.cookie-content.bottom-banner-content { gap: 12px; flex-wrap: wrap; }
.cookie-button-bottom.nz-decline {
  color: #fff; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff;
}
.cookie-button-bottom.nz-decline:hover { color: #000; background-color: #fff; }
.nz-cookie-link { color: #fff; text-decoration: underline; font-size: 14px; }

/* ---------- FAQ ---------- */
.nz-faq-intro {
  font-family: Nanoz Sans Serif, Arial, sans-serif;
  font-size: 18px; line-height: 30px; color: #333;
  max-width: 60ch; margin: 0 0 3rem;
}
.nz-faq-intro a { color: #d31a36; }
.nz-faq-toc { margin: 0 0 3.5rem; }
.nz-faq-toc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.nz-faq-toc a {
  display: inline-block; padding: 8px 18px; border: 1px solid #d8d8d8;
  font-family: Nanoz Sans Serif, Arial, sans-serif; font-size: 15px;
  color: #333; text-decoration: none;
}
.nz-faq-toc a:hover { border-color: #d31a36; color: #d31a36; }

.nz-faq-cat {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 32px; line-height: 38px; font-weight: 500; color: #111;
  margin: 3.5rem 0 1.5rem; padding-bottom: .8rem; border-bottom: 3px solid #d31a36;
  scroll-margin-top: 100px;
}
.nz-faq-teaser { scroll-margin-top: 100px; }
.nz-faq-cat:first-of-type { margin-top: 0; }
.nz-faq { border-top: 1px solid #e2e2e2; }
.nz-faq-item { border-bottom: 1px solid #e2e2e2; padding: 2rem 0; }
.nz-faq-q {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 24px; line-height: 32px; font-weight: 500;
  color: #111; margin: 0 0 1rem; max-width: 46ch;
}
.nz-faq-a, .nz-faq-a p {
  font-family: Nanoz Sans Serif, Arial, sans-serif;
  font-size: 16px; line-height: 29px; color: #333;
}
.nz-faq-a p { margin: 0 0 1rem; max-width: 68ch; }
.nz-faq-a p:last-child { margin-bottom: 0; }
.nz-faq-a a { color: #d31a36; }
.nz-faq-list { margin: 0 0 1rem; padding-left: 1.2rem; max-width: 68ch; }
.nz-faq-list li { margin-bottom: .6rem; }
.nz-faq-note { font-size: 14px; line-height: 24px; color: #6a6a6a; }

.nz-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; min-width: 0; margin: 0 0 1.4rem; }
.nz-gas-table {
  border-collapse: collapse; width: 100%; min-width: 460px;
  font-family: Nanoz Sans Serif, Arial, sans-serif; font-size: 15px;
}
.nz-gas-table th, .nz-gas-table td {
  text-align: left; padding: 10px 14px; border-bottom: 1px solid #e2e2e2;
}
.nz-gas-table thead th {
  border-bottom: 2px solid #d31a36; font-weight: 700; white-space: nowrap;
}
.nz-gas-table tbody tr:hover { background-color: #fafafa; }

.nz-cta {
  margin-top: 3.5rem; padding: 2rem; background-color: #f5f5f5;
  border-left: 5px solid #d31a36;
}
.nz-cta h2 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 24px; line-height: 32px; font-weight: 500;
  margin: 0 0 .8rem; color: #111;
}
.nz-cta p {
  font-family: Nanoz Sans Serif, Arial, sans-serif;
  font-size: 16px; line-height: 29px; color: #333; margin: 0 0 1.4rem; max-width: 62ch;
}
.nz-cta-btn {
  display: inline-block; padding: 12px 34px; background-color: #111; color: #fff;
  font-family: Nanoz Sans Serif, Arial, sans-serif; font-size: 16px; text-decoration: none;
}
.nz-cta-btn:hover { background-color: #d31a36; color: #fff; }

/* ---------- FAQ-Teaser auf der Startseite ---------- */
.nz-faq-teaser { background-color: #fff; padding: 5rem 0; }
.nz-faq-teaser .nz-teaser-head { margin-bottom: 2.5rem; }
.nz-faq-teaser h2 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 46px; line-height: 52px; font-weight: 500; margin: 0 0 1rem; color: #111;
}
.nz-teaser-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem 3rem; }
.nz-teaser-item h3 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 20px; line-height: 28px; font-weight: 500; margin: 0 0 .6rem; color: #111;
}
.nz-teaser-item p {
  font-family: Nanoz Sans Serif, Arial, sans-serif;
  font-size: 16px; line-height: 27px; color: #333; margin: 0;
}
@media screen and (max-width: 767px) {
  .nz-teaser-grid { grid-template-columns: 1fr; }
  .nz-faq-teaser h2 { font-size: 32px; line-height: 38px; }
  .nz-faq-q { font-size: 20px; line-height: 28px; }
}

/* ---------- Rechtstexte ---------- */
.nz-legal { font-family: Nanoz Sans Serif, Arial, sans-serif; color: #333; }
.nz-legal .nz-stand {
  font-size: 14px; color: #6a6a6a; margin: 0 0 2.5rem;
  padding-bottom: 1rem; border-bottom: 1px solid #e2e2e2;
}
.nz-legal h2 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 26px; line-height: 33px; font-weight: 500; color: #111;
  margin: 3rem 0 1rem; padding-bottom: .6rem; border-bottom: 2px solid #d31a36;
  scroll-margin-top: 100px;
}
.nz-legal h2:first-of-type { margin-top: 0; }
.nz-legal h3 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 19px; line-height: 26px; font-weight: 500; color: #111; margin: 2rem 0 .6rem;
}
.nz-legal p { font-size: 16px; line-height: 29px; margin: 0 0 1rem; max-width: 72ch; }
.nz-legal ul, .nz-legal ol { margin: 0 0 1rem; padding-left: 1.3rem; max-width: 72ch; }
.nz-legal li { font-size: 16px; line-height: 29px; margin-bottom: .5rem; }
.nz-legal a { color: #d31a36; }
.nz-legal strong { color: #111; }
.nz-legal .nz-adr {
  background: #f6f6f6; padding: 1.2rem 1.4rem; margin: 0 0 1.4rem;
  border-left: 4px solid #d31a36; font-size: 16px; line-height: 27px;
}
.nz-legal .nz-todo {
  background: #fff6e5; border: 1px solid #e6c98a; border-left: 4px solid #c88a12;
  padding: 1.1rem 1.3rem; margin: 0 0 1.4rem; font-size: 15px; line-height: 26px;
}
.nz-legal .nz-todo strong { color: #8a5c05; }
.nz-legal .nz-widerruf {
  border: 2px solid #111; padding: 1.6rem 1.8rem; margin: 1.5rem 0 2rem;
}
.nz-legal .nz-widerruf h3 { margin-top: 0; }
.nz-legal .nz-toc { margin: 0 0 2.5rem; }
.nz-legal .nz-toc ol {
  list-style: none; padding: 0; margin: 0;
  columns: 2; column-gap: 2.5rem;
}
.nz-legal .nz-toc li {
  font-size: 15px; line-height: 26px; margin-bottom: .3rem;
  break-inside: avoid;
}
@media screen and (max-width: 767px) {
  .nz-legal .nz-toc ol { columns: 1; }
  .nz-legal h2 { font-size: 22px; line-height: 28px; }
}

/* ---------- Fachbeitraege (Pillar-Seiten) ---------- */
.nz-article { font-family: Nanoz Sans Serif, Arial, sans-serif; color: #333; max-width: 100%; min-width: 0; }
.nz-article h2 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 30px; line-height: 38px; font-weight: 500; color: #111;
  margin: 3.5rem 0 1.2rem; padding-bottom: .7rem; border-bottom: 2px solid #d31a36;
  scroll-margin-top: 100px; max-width: 24ch;
}
.nz-article h2:first-of-type { margin-top: 0; }
.nz-article h3 {
  font-family: PP Montreal, Arial, sans-serif;
  font-size: 21px; line-height: 29px; font-weight: 500; color: #111; margin: 2.2rem 0 .7rem;
}
.nz-article p { font-size: 17px; line-height: 31px; margin: 0 0 1.1rem; max-width:56ch; }
.nz-article ul, .nz-article ol { margin: 0 0 1.2rem; padding-left: 1.3rem; max-width:56ch; }
.nz-article li { font-size: 17px; line-height: 31px; margin-bottom: .6rem; }
.nz-article a { color: #d31a36; }
.nz-article strong { color: #111; }
.nz-article .nz-lead {
  font-size: 20px; line-height: 34px; color: #222; max-width:52ch;
  margin: 0 0 2.5rem; padding-bottom: 1.6rem; border-bottom: 1px solid #e2e2e2;
}
.nz-article figure { margin: 2rem 0 2.4rem; }
.nz-article figure img { width: 100%; display: block; border: 1px solid #ececec; }
.nz-article figcaption {
  font-size: 14px; line-height: 24px; color: #6a6a6a; margin-top: .8rem; max-width:56ch;
  text-align: left;
}
.nz-article .nz-key {
  background: #f6f6f6; border-left: 4px solid #d31a36; padding: 1.3rem 1.5rem;
  margin: 2rem 0; font-size: 17px; line-height: 30px; max-width:56ch;
}
.nz-article .nz-key strong { display: block; margin-bottom: .3rem; }
@media screen and (max-width: 767px) {
  .nz-article h2 { font-size: 24px; line-height: 30px; }
  .nz-article p, .nz-article li { font-size: 16px; line-height: 28px; }
  .nz-article .nz-lead { font-size: 18px; line-height: 30px; }
}

/* ---------- Zugaenglichkeit ---------- */
.nz-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: #111; color: #fff; padding: 10px 18px;
  font-family: Nanoz Sans Serif, Arial, sans-serif; font-size: 15px;
}
.nz-skip-link:focus { left: 0; }

/* Mobilkorrekturen: nichts darf breiter werden als das Fenster */
.nz-faq, .nz-faq-item, .nz-legal { max-width: 100%; min-width: 0; }
.nz-faq-q, .nz-faq-a { overflow-wrap: break-word; }
.heading-datenschutz, .nz-article h1, .nz-article h2, .nz-article h3 {
  overflow-wrap: break-word; word-break: break-word; hyphens: auto;
}
@media (max-width: 480px) {
  .heading-datenschutz { font-size: 30px; line-height: 36px; }
}

/* Vertiefungslinks auf der Anwendungsseite */
.nz-mehr { margin-top: 1.1rem; }
.nz-mehr a {
  display: inline-block; font-family: Nanoz Sans Serif, Arial, sans-serif;
  font-size: 15px; font-weight: 700; color: #d31a36; text-decoration: none;
  border-bottom: 2px solid #d31a36; padding-bottom: 2px;
}
.nz-mehr a:after { content: " 92"; }
.nz-mehr a:hover { opacity: .72; }
