/* NISG-2026 Betroffenheitscheck — Darstellung
   Copyright (c) 2026 Tobias Gösslbauer — TG Advisory, 1030 Wien
   Alle Rechte vorbehalten. https://tg-advisory.at
   -------------------------------------------------------------------- */

/* --------------------------------------------------------------------
   Seitenrahmen: Navigation, Kontakt-Overlay, Fusszeile.

   Webflow legt diese Regeln in jede Seiten-CSS. Diese Datei ist von Hand
   angelegt und traegt sie deshalb als Kopie aus page-impressum.css.
   Bei einer Aenderung am Seitenrahmen hier mitziehen — sonst steht die
   Navigation dieser einen Seite ohne Gestaltung da.
   -------------------------------------------------------------------- */
/* rahmen:anfang — erzeugt aus page-impressum.css, nicht von Hand aendern */
:root{--black-main:#292929;--white:white;--black:black;--charcole:#161616;--divider:#cecece;--focus-two:#ddbea9;--mission:#003049;--insights:#9d0208;--focus-four:#b7b7a4;--focus-five:#a5a58d;--focus-six:#6b705c;--focus-one:#cb997e;--accessible-components--dark-grey:#9b9b9b;--white-smoke:#f0f0f0;--features:#3a5a40;--yellow:#ecfd6f;--blue:#146ef5;--black-transparent:#363636;--pink:#dc58be;--focus-three:#ffe8d6;--text-focus-six:#cdd6b1;--accessible-components--dodger-blue:#1378d1}body{background-color:var(--black-main);color:var(--white);font-family:Poppins,sans-serif;font-size:1rem;line-height:1.5}h1{margin-top:0;margin-bottom:0;font-size:4rem;font-weight:300;line-height:1.35}h2{margin-top:0;margin-bottom:0;font-size:2rem;font-weight:300}h3{margin-top:0;margin-bottom:0;font-size:1.5rem;font-weight:300;line-height:30px}a{color:var(--black);text-decoration:none}.w-layout-hflex{flex-direction:row;align-items:flex-start;display:flex}.w-layout-vflex{flex-direction:column;align-items:flex-start;display:flex}.w-layout-grid{grid-row-gap:16px;grid-column-gap:16px;grid-template-rows:auto auto;grid-template-columns:1fr 1fr;grid-auto-columns:1fr;display:grid}.html{position:absolute;inset:0% auto auto 0%}.nav-bar{z-index:200;background-color:#292929;justify-content:space-between;align-items:center;width:100%;padding:0 6rem;display:flex;position:fixed;inset:0% auto auto 0%}.nav-bar.en{left:0}.grid-main{grid-column-gap:1rem;grid-row-gap:1rem;grid-template-rows:auto;grid-template-columns:1fr 1fr 1fr;width:100%;height:100%}.grid-main.image{height:40%}.grid-main.nav{grid-template-columns:.5fr 1.5fr}.flex-menu{grid-column-gap:1.5rem;grid-row-gap:1.5rem;justify-content:flex-end;align-items:center;padding-top:1.5rem;padding-bottom:1.5rem;display:flex;position:relative}.nav-link{color:#353535cc;font-weight:400;transition:opacity .5s}.nav-link:hover{color:var(--black)}.nav-link.w--current{color:var(--black);font-weight:600}.nav-link.white{color:var(--white)}.nav-link.white.w--current{display:flex}.nav-link.white.hide{display:none}.nav-link.contact-toggle{margin-left:auto;margin-right:auto}.header-parent-2{grid-column-gap:2rem;grid-row-gap:2rem;flex-flow:column;justify-content:flex-end;align-items:flex-start;width:100%;padding:2rem 2rem 1rem;display:flex;overflow:visible}.main-wrapper{grid-column-gap:2rem;grid-row-gap:2rem;flex-flow:column;justify-content:center;align-items:center;min-height:100vh;padding:3rem 3rem 6rem 6rem;display:flex}.hero-parent-2{flex-flow:column;justify-content:flex-end;align-items:flex-start;width:100%;padding-top:8rem;display:flex;overflow:hidden}.footer-parent{grid-column-gap:1rem;grid-row-gap:1rem;border-top-left-radius:10px;border-top-right-radius:10px;flex-flow:column;padding-top:0;display:flex}.footer-grid{grid-column-gap:16px;grid-row-gap:16px;background-color:#161616;grid-template-rows:auto;grid-template-columns:1fr 2fr;grid-auto-columns:1fr}.div-block-59{grid-column-gap:10px;grid-row-gap:10px;flex-flow:column;justify-content:flex-end;align-items:flex-start;padding:2rem;display:flex}.flex-footer{grid-column-gap:1rem;grid-row-gap:1rem;justify-content:space-between;width:100%;display:flex;position:relative}.nav-link-footer{color:#a7a7a7cc;font-size:.875rem;font-weight:400;transition:opacity .5s}.nav-link-footer:hover{color:var(--white)}.nav-link-footer.w--current{color:var(--white);font-weight:600}.divider-footer{background-color:#a7a7a71a;width:100%;height:1px}.nav-text-footer{color:#a7a7a7cc;font-size:.875rem;font-weight:400;transition:opacity .5s}.nav-text-footer.w--current{color:var(--black);font-weight:600}.div-block-60{grid-column-gap:1rem;grid-row-gap:1rem;display:flex}.flex-footer-top{grid-column-gap:1rem;grid-row-gap:1rem;justify-content:flex-end;align-items:center;width:100%;display:flex;position:relative}.heading-2{color:var(--white)}.div-block-76{background-color:var(--yellow);border-radius:10px;padding:.5rem 1rem}.grid-block{grid-column-gap:2rem;grid-row-gap:2rem;flex-flow:row;margin-top:2rem;margin-bottom:2rem;padding-top:0;padding-left:2rem;padding-right:2rem}.grid-block.flex-block{flex-flow:column}.grid-block.flex-block.flex-hor{flex-flow:row}.flex-block-2{grid-column-gap:3rem;grid-row-gap:3rem;grid-template:"Unternehmensname Area"". ."/1fr 1fr;grid-auto-columns:1fr;width:100%;margin-top:auto;margin-bottom:auto;display:flex}.flex-block-2.grid-block-2{grid-column-gap:3rem;grid-row-gap:3rem;grid-column-gap:3rem;grid-row-gap:3rem;grid-template-rows:auto auto;grid-template-columns:1fr 1fr;grid-auto-columns:1fr;display:grid}.div-block-77{background-color:var(--charcole);border-radius:10px;width:100%;padding-top:0;padding-bottom:2rem}.div-block-78{border-bottom:2px solid #ecfd6f;min-width:100%}.contact-overlay{z-index:100;background-color:#0000;border-radius:10px;flex-flow:row;justify-content:flex-end;align-items:stretch;width:100vw;padding-top:6rem;padding-bottom:0;display:flex;position:fixed;inset:0;transform:translate(100%)}.contact-panel{z-index:102;grid-column-gap:4rem;grid-row-gap:4rem;background-color:#161616;border-radius:10px;flex-flow:column;width:50%;display:flex;position:relative;overflow:auto}.panel-header{grid-column-gap:0px;grid-row-gap:0px;flex-flow:column;align-items:center;width:100%;padding-top:6rem;padding-left:4rem;padding-right:4rem;display:flex}.close-button{color:var(--black-main);background-color:#ecfd6f;border-radius:10px}.close-button.contact-close{width:44px;height:44px;display:flex;position:relative}.flex-block-3{grid-column-gap:2rem;grid-row-gap:2rem;justify-content:space-between;width:100%}.submit-button{color:var(--black-main);-webkit-text-stroke-color:var(--white);background-color:#ecfd6f;border-radius:10px}.field-label,.field-label-2,.field-label-3,.field-label-4,.field-label-5{font-weight:500}.form-block{padding-left:0}.form{grid-column-gap:1rem;grid-row-gap:1rem;flex-flow:column;display:flex}.text-field{border:1px solid var(--charcole);color:var(--white);background-color:#292929;border-radius:10px}.text-field:active,.text-field:focus,.text-field:focus-visible,.text-field[data-wf-focus-visible]{border-color:var(--yellow)}.flex-block-4{box-sizing:border-box;grid-column-gap:.5rem;grid-row-gap:.5rem;width:100%}.flex-block-5{grid-column-gap:0px;grid-row-gap:0px;grid-template-rows:auto auto;grid-template-columns:1fr 1fr;grid-auto-columns:1fr;width:100%;display:flex;position:static}.div-block-79{padding-left:4rem;padding-right:4rem;display:block}.contact-overlay-bg{z-index:101;background-color:#0006;position:absolute;inset:0}.contact-close-trigger,.contact-open-trigger{display:none}.textarea{color:var(--white);background-color:#292929;border:1px solid #292929;border-radius:10px;width:100%;min-width:100%;max-width:27%}.textarea:active{border-color:var(--yellow)}.textarea:focus{border-color:#ecfd6f}.text-block-19{text-align:left;-webkit-text-stroke-color:var(--blue);background-color:#0000;border:1px solid #0000;border-radius:10px;margin-bottom:1rem}.success-message{background-color:#0000}.success-message.success{margin-top:2rem;padding-left:0}.error-message{background-color:#0000}.success-header{display:none}.div-block-80{grid-column-gap:1rem;grid-row-gap:1rem;flex-flow:column;display:flex}.link{color:var(--white)}.text-span-3{display:inline}.div-block-81{grid-column-gap:.5rem;grid-row-gap:.5rem;flex-flow:row;justify-content:center;align-items:center;display:flex}.toggle-track{cursor:pointer;background-color:#161616;border-radius:999px;width:48px;height:24px;position:relative}.knob-track-de{background-color:#ecfd6f;border-radius:50%;width:16px;height:16px;margin:4px;transition:transform .2s ease-out;position:absolute;left:0}.div-block-82{position:relative}.image-11{width:5rem}.menu-button{display:none}.div-block-83,.div-block-84{width:50%}.x-line{background-color:var(--black-transparent);pointer-events:none;-webkit-text-stroke-color:var(--black-transparent);cursor:pointer;border:0 solid #353535cc;width:18px;height:1.5px;transition:background-color .2s;position:absolute;transform:rotate(45deg)}.x-line.x-line-2{transform:rotate(-45deg)}.link-block{background-color:var(--yellow);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.link-block.close-button.contact-close{color:var(--black-transparent)}.link-block.close-button.contact-close:hover{color:var(--black);-webkit-text-stroke-color:var(--black)}@media screen and (max-width:991px){h1{font-size:3.5rem}.grid-main.image{height:20%}.hero-parent{justify-content:center;align-items:center}.header-parent{align-self:center;align-items:center;height:75%;padding-left:0;padding-right:0}.header-parent-2{height:60%;padding-bottom:0}.team-detail-img{max-height:30vh;display:none}.header-team-detail{height:60%}.title-name-intro{font-size:19vw}.transaction-detail-img{max-height:30vh;display:none}.header-parent-copy{height:60%}.heading{font-size:3rem}.heading-2{padding-left:0}.grid-block{flex-flow:column-reverse}.flex-block-2{grid-column-gap:1rem;grid-row-gap:1rem;margin-top:0;margin-bottom:0}.flex-block-2.grid-block-2{display:flex}.image-10{align-self:center;max-width:80%}.contact-panel{width:80%}.header-parent-3,.header-parent-2-copy{height:60%;padding-bottom:0}}@media screen and (max-width:767px){.grid-main.image{height:80rem}.hero-parent{grid-column-gap:2rem;grid-row-gap:2rem;height:auto}.header-parent,.header-parent-2{height:40rem;padding-top:10rem}.hero-parent-2{grid-column-gap:2rem;grid-row-gap:2rem;height:auto}.fs_modal-1_close{padding:1rem}.fs_modal-1_content-2{grid-column-gap:1.5rem;grid-row-gap:1.5rem;padding:3rem 2rem}.header-team-detail{height:40rem;padding-top:10rem}.title-name-intro{font-size:24vw}.header-parent-copy{height:40rem;padding-top:10rem}.hero-parent-copy{grid-column-gap:2rem;grid-row-gap:2rem;height:auto}.header-parent-3,.header-parent-2-copy{height:40rem;padding-top:10rem}}@media screen and (max-width:479px){h2{font-size:4.4rem}p{font-size:1rem}a{color:var(--charcole)}.parent{grid-column-gap:1.8rem;grid-row-gap:1.8rem;grid-auto-columns:1fr;display:flex}.nav-bar{padding-left:1rem;padding-right:1rem}.grid-main.nav{grid-column-gap:0rem;grid-row-gap:0rem;grid-column-gap:0rem;grid-row-gap:0rem;flex-flow:row-reverse;grid-template-rows:auto;grid-template-columns:1fr 1fr;grid-auto-columns:1fr;justify-content:space-between;align-items:center;display:flex}.text-sm{font-size:1rem}.hero-parent{min-height:100%;padding-left:2rem;padding-right:2rem}.header-parent{height:40rem}.text-parent{grid-column-gap:2rem;grid-row-gap:2rem}.flex-menu{z-index:900;grid-column-gap:3rem;grid-row-gap:3rem;background-color:var(--black-main);flex-flow:column;justify-content:flex-start;align-items:flex-start;width:100%;height:100%;margin-top:0;padding-top:9rem;padding-left:2rem;display:flex;position:fixed;top:0;left:0;right:0;transform:translate(100%)}.home{z-index:1000;position:relative}.home.w--current{z-index:200}.header-parent-2{grid-column-gap:1rem;grid-row-gap:1rem;height:auto;padding-top:2rem}.main-wrapper{min-height:100%;padding:0}.hero-parent-2{grid-column-gap:0rem;grid-row-gap:0rem}.tab-area-wrapper{grid-column-gap:1rem;grid-row-gap:1rem;border-bottom-right-radius:0;border-bottom-left-radius:0;padding:2rem}.tabs-menu-region{padding-left:2rem}.in-detail-section{grid-column-gap:0rem;grid-row-gap:0rem}.header-team-detail{height:40rem}.flex-footer{width:100%}.title-name-intro{font-size:26vw}.flex-footer-top{width:100%}.header-parent-copy{height:40rem}.heading{font-size:2rem}.heading-2{padding-left:0;font-size:1.5rem}.div-block-73{grid-column-gap:1rem;grid-row-gap:1rem;flex-flow:column;display:flex}.div-block-74{width:100%}.div-block-75{grid-template-rows:auto;grid-template-columns:1fr 1fr;grid-auto-columns:1fr;width:100%}.grid-block{margin-bottom:0}.flex-block-2{grid-column-gap:0rem;grid-row-gap:0rem}.div-block-77{border-bottom-right-radius:0;border-bottom-left-radius:0;padding-bottom:0}.image-10{max-width:100%;margin-top:0;margin-right:0;padding:0}.contact-overlay{display:flex}.contact-panel{grid-column-gap:2rem;grid-row-gap:2rem;width:100%}.panel-header{padding-top:1rem;padding-left:2rem;padding-right:2rem}.flex-block-3{grid-column-gap:.3rem;grid-row-gap:.3rem;flex-flow:column}.form{grid-column-gap:.3rem;grid-row-gap:.3rem}.div-block-79{padding-left:2rem;padding-right:2rem}.contact-overlay-bg.contact-close{display:none}.heading-3{font-size:1.25rem}.menu-button{z-index:1000;grid-row-gap:2px;cursor:pointer;flex-flow:column;justify-content:center;align-items:center;width:44px;height:44px;margin-top:0;display:flex;position:relative}.text-block-21{font-size:3rem}.navbar-2{z-index:201}.line{background-color:#fff;border-radius:2px;width:24px;height:2px}.line.line-1,.line.line-2,.line.line-3,.line.line-1,.line.line-2,.line.line-3{pointer-events:none}.navbar-3{justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem}.navbar-4{z-index:200}.navbar-5{z-index:1000}.div-block-83,.div-block-84{width:100%}.header-parent-3{grid-column-gap:1rem;grid-row-gap:1rem;height:auto;padding-top:2rem;padding-left:2rem;padding-right:2rem}.header-parent-2-copy{grid-column-gap:1rem;grid-row-gap:1rem;height:auto;padding-top:2rem}.x-line,.x-line.x-line-2,.x-line.x-line-2{height:1px}}#w-node-_458acd0d-2f11-d9b7-511f-541f2a4070a2-2a4070a0{align-self:center}#w-node-_458acd0d-2f11-d9b7-511f-541f2a4070a5-2a4070a0{place-self:center end}@media screen and (max-width:767px){#w-node-_458acd0d-2f11-d9b7-511f-541f2a4070a5-2a4070a0{grid-area:span 1/span 3/span 1/span 3;place-self:end stretch}}@media screen and (max-width:479px){#w-node-_458acd0d-2f11-d9b7-511f-541f2a4070a5-2a4070a0{grid-area:span 1/span 2/span 1/span 2;place-self:end center}}
/* rahmen:ende */
/* Gehoert NICHT in den Rahmen: page-impressum.css ist die deutsche Seite
   und kennt nur .knob-track-de. Der Knopf der englischen Fassung sitzt
   rechts — uebernommen aus page-en-imprint.css. */
.knob-track-en{background-color:var(--yellow);border-radius:999px;width:16px;height:16px;margin:4px;position:absolute;left:24px}

/* NISG-2026 Betroffenheitscheck — Seitenstil
   Farben aus den Site-Variablen (--black-main, --charcole, --yellow), Poppins.
   Bildschirm: dunkel wie die uebrige Site. Druck: weisses Papier, siehe unten. */

:root {
  --black-main: #292929;
  --white: white;
  --black: black;
  --charcole: #161616;
  --divider: #cecece;
  --yellow: #ecfd6f;
  --white-smoke: #f0f0f0;
}

/* Der Seitenblock ist die Inhaltskarte dieser Seite und traegt deshalb
   dieselben Masse wie .tab-area-wrapper auf /services und /team:
   Charcoal auf Anthrazit, 10px Radius, 3rem Innenabstand, volle Breite des
   .main-wrapper. Vorher hatte er keine Breite, wurde von dessen
   align-items:center mittig gestellt und trug zusaetzlich 5vw eigenen
   Abstand — die Ueberschrift begann dadurch bei 240px, wo sie auf jeder
   anderen Seite bei 96px beginnt, und die Karte hatte weder eckenbuendige
   Kanten noch Radius.

   margin-top: .main-wrapper gibt 3rem, die Navigationsleiste steht fixiert
   darueber. 3rem + 5rem = 8rem, genau die Kopffreiheit, die
   .hero-parent-2 auf den uebrigen Seiten setzt. */
.nis2 {
  font-family: Poppins, sans-serif;
  color: var(--white);
  background: var(--charcole);
  border-radius: 10px;
  width: 100%;
  margin-top: 5rem;
  padding: 3rem;
  min-height: 60vh;
}

/* Keine eigene Breitenbegrenzung: Der Inhalt fuellt die Karte, wie auf
   /impressum und /services. Vorher stand hier 62rem mit margin:0 auto —
   die Spalte war damit auf einem 1440er Schirm 240px schmaler als die
   Karte und sass mittig darin, was wie ein Satzfehler aussah. Das Mass
   fuer Fliesstext haengt dort, wo es hingehoert: an den Textbloecken
   selbst (.nis2-lead, .nis2-wissen-intro, .nis2-faq je 46rem). */
.nis2-inner { max-width: none; }

/* ------------------------------------------------------------------ Hero */

.nis2-eyebrow {
  color: var(--yellow);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 600;
  margin: 0 0 .8rem;
}

/* 2rem/300 ist der Seitentitel der ganzen Site: Webflow setzt h1 auf
   font-weight 300, und site-fixes.css holt die zu <h1> befoerderten
   Ueberschriften auf 2rem zurueck. Hier stand 3,4rem in 600 — dieselbe
   Seite, aber eine andere Schrift als jede andere. */
.nis2 h1 {
  font-size: 2rem;
  line-height: 1.35;
  font-weight: 300;
  margin: 0 0 1.2rem;
  color: var(--white);
}

.nis2-lead {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #d8d8d8;
  margin: 0 0 2rem;
}

.nis2-fakten {
  list-style: none;
  padding: 0;
  margin: 0 0 3rem;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.6rem;
  font-size: .82rem;
  color: #b9b9b9;
}

.nis2-fakten li::before {
  content: "";
  display: inline-block;
  width: .45rem; height: .45rem;
  background: var(--yellow);
  border-radius: 50%;
  margin-right: .55rem;
  vertical-align: middle;
}

/* --------------------------------------------------------------- Frage-UI */

.nis2-card {
  background: var(--black-main);
  border: 1px solid #3a3a3a;
  border-radius: 10px;
  padding: 2.2rem clamp(1.2rem, 3vw, 2.4rem);
}

.nis2-progress-bar {
  height: 3px;
  background: #3a3a3a;
  border-radius: 2px;
  overflow: hidden;
}

.nis2-progress-bar span {
  display: block;
  height: 100%;
  background: var(--yellow);
  transition: width .25s ease;
}

.nis2-progress-text {
  font-size: .72rem;
  color: #9b9b9b;
  margin: .5rem 0 1.8rem;
  letter-spacing: .06em;
}

.nis2-step { border: 0; padding: 0; margin: 0; }
.nis2-step:focus { outline: none; }

.nis2-frage {
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  font-weight: 600;
  line-height: 1.3;
  padding: 0;
  margin: 0 0 .5rem;
  color: var(--white);
}

.nis2-recht {
  font-size: .76rem;
  color: var(--yellow);
  margin: 0 0 1.6rem;
  letter-spacing: .03em;
}

.nis2-optionen { display: flex; flex-direction: column; gap: .55rem; }

.nis2-option {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .95rem 1.1rem;
  border: 1px solid #414141;
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}

.nis2-option:hover { border-color: #6a6a6a; background: #2f2f2f; }

.nis2-option input {
  margin: .25rem 0 0;
  accent-color: var(--yellow);
  flex: 0 0 auto;
  width: 1rem; height: 1rem;
}

.nis2-option span { display: block; font-size: .93rem; line-height: 1.45; }
.nis2-option strong { display: block; font-weight: 600; }
.nis2-option em {
  display: block;
  font-style: normal;
  font-size: .78rem;
  color: #a8a8a8;
  margin-top: .3rem;
  line-height: 1.45;
}

.nis2-option:has(input:checked) {
  border-color: var(--yellow);
  background: #313115;
}

.nis2-gruppe {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #9b9b9b;
  margin: 1.4rem 0 .3rem;
}
.nis2-gruppe:first-child { margin-top: 0; }

/* Der Gesetzeswortlaut steht unter dem verstaendlichen Titel, nicht davor. */
.nis2-gesetzesname {
  display: block;
  font-size: .72rem;
  color: #9b9b9b;
  margin-top: .2rem;
}

/* Fundstelle in der Auswahlliste: bewusst nur die Ziffer, nicht der
   Gesetzeswortlaut — beim Durchsehen von 16 Eintraegen zaehlt jede Zeile.
   #a5a5a5 statt #9b9b9b, damit der Kontrast auf #292929 ueber 4,5:1 bleibt. */
.nis2-anlage-nr {
  display: inline-block;
  font-size: .7rem;
  letter-spacing: .04em;
  color: #a5a5a5;
  margin-top: .15rem;
}

/* „Nicht erfasst" muss sich optisch von der Erfasst-Zeile abheben, sonst liest
   es sich als Fortsetzung derselben Aufzaehlung. */
.nis2-option em.nis2-nicht-erfasst {
  margin-top: .45rem;
  padding-left: .65rem;
  border-left: 2px solid #6a6a6a;
  color: #9b9b9b;
}
.nis2-option em.nis2-nicht-erfasst b { color: #c9c9c9; font-weight: 600; }

.nis2-fehlt .nis2-optionen,
.nis2-fehlt .nis2-zahlen { animation: nis2shake .35s; }
@keyframes nis2shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

/* Dichte: die Erläuterungen sollen lesbar, aber nicht raumgreifend sein. */
.nis2-option em { font-size: .76rem; line-height: 1.42; margin-top: .25rem; }
.nis2-sektor-option em { font-size: .74rem; }

.nis2-mehrfach {
  font-size: .8rem;
  color: #c9c9c9;
  line-height: 1.55;
  margin: 0 0 1.2rem;
  padding-left: .8rem;
  border-left: 2px solid var(--yellow);
}
.nis2-mehrfach em { font-style: normal; color: var(--yellow); }

/* Kopfzeile ueber der Bereichsliste statt einer Freitextsuche. */
.nis2-listenkopf {
  font-size: .78rem;
  color: #9b9b9b;
  line-height: 1.55;
  margin: 0 0 .9rem;
}

/* Die Liste hinter dem „Tor“ — sichtbar, bevor man Ja oder Nein waehlt. */
.nis2-torliste {
  list-style: none;
  padding: 0 0 0 .85rem;
  margin: 0 0 1.4rem;
  border-left: 2px solid #4d4d4d;
}
.nis2-torliste li {
  font-size: .84rem;
  color: #c9c9c9;
  line-height: 1.5;
  padding: .18rem 0;
}

/* Innerer Scroller nur dort, wo genug Platz ist. Am Telefon ergab er ein
   454-px-Fenster mit 4.300 px Inhalt — zwei sichtbare Einträge von sechzehn,
   in einem Kasten, der selbst in einer scrollenden Seite steckt. Zusätzlich
   standen die beiden Ausstiege AUSSERHALB der Box, sodass „ganz unten" nicht
   das war, was der Leser scrollte. */
.nis2-sektoren { padding-right: .4rem; }
@media (min-width: 768px) and (min-height: 700px) {
  .nis2-sektoren { max-height: 30rem; overflow-y: auto; }
}
.nis2-sektor-aus { margin-top: .9rem; border-top: 1px solid #3a3a3a; padding-top: .9rem; }

/* Das „Tor“: zweite Option ist ein Button, sieht aber aus wie eine Option. */
.nis2-tor-auf {
  font-family: inherit;
  text-align: left;
  background: transparent;
  color: inherit;
  width: 100%;
}

/* Sichtbare Fehlermeldung statt eines stummen Wackelns. */
.nis2-fehler {
  margin-top: 1.4rem;
  padding: .85rem 1.1rem;
  border-left: 3px solid #dc9358;
  border-radius: 0 10px 10px 0;
  background: #2e2418;
  font-size: .86rem;
  color: #f0d6b6;
  line-height: 1.55;
}

/* Sprungangebot, wenn die restlichen Fragen das Ergebnis nicht mehr ändern. */
.nis2-sprung {
  margin-top: 1.6rem;
  padding: 1rem 1.2rem;
  border: 1px dashed var(--yellow);
  border-radius: 10px;
  background: #2b2b17;
}
.nis2-sprung p { font-size: .86rem; color: #e4e4c8; margin: 0 0 .8rem; line-height: 1.55; }
.nis2-sprung-alt { display: block; font-size: .76rem; color: #9b9b9b; margin-top: .6rem; }

/* Der Unterschriftenblock gehört auf das Papier, nicht auf den Bildschirm. */
.nis2-nurdruck { display: none; }

/* Das Logo ebenso: am Bildschirm trägt die Seite schon die Marke. */
.nis2-doc-logo { display: none; }

.nis2-veraltet {
  margin-top: .9rem !important;
  padding: .7rem .9rem;
  border-left: 3px solid #dc9358;
  background: #2e2418;
  font-size: .82rem !important;
  color: #e8cdae !important;
  line-height: 1.55;
}

/* ÖNACE-Abkuerzung */

.nis2-nace {
  background: #232323;
  border: 1px dashed #4d4d4d;
  border-radius: 10px;
  padding: .85rem 1.1rem;
  margin-bottom: 1.4rem;
}
.nis2-nace summary {
  cursor: pointer;
  font-size: .82rem;
  color: var(--yellow);
  list-style: none;
}
.nis2-nace summary::-webkit-details-marker { display: none; }
.nis2-nace summary::before { content: "+ "; }
.nis2-nace[open] summary::before { content: "– "; }
.nis2-nace[open] summary { margin-bottom: .8rem; }
.nis2-nace-ja { color: var(--yellow) !important; }
.nis2-nace-nein { color: #e8cdae !important; }
/* „Kann erfasst sein" und „keine Aussage" duerfen nicht wie ein Treffer und
   nicht wie eine Entwarnung aussehen — beides waere eine Aussage, die der
   Check an dieser Stelle gerade nicht trifft. */
.nis2-nace-vielleicht { color: #d9d2a8 !important; }
.nis2-nace-offen { color: #b0b0b0 !important; }

/* Ausklappbare „Zugrunde gelegte Angaben". */
/* `font: inherit` erbt die Schriftform, aber Chrome setzt fuer <button>
   text-transform und letter-spacing eigens zurueck — die Ueberschrift stand
   dadurch als einzige nicht in Versalien. */
.nis2-klapp {
  background: none; border: 0; padding: 0; margin: 0; cursor: pointer;
  font: inherit; color: inherit; text-align: left;
  text-transform: inherit; letter-spacing: inherit;
  display: flex; align-items: center; gap: .5rem; width: 100%;
}
.nis2-klapp-zeichen {
  width: .55rem; height: .55rem; flex: none;
  border-right: 2px solid var(--yellow); border-bottom: 2px solid var(--yellow);
  transform: rotate(45deg); transition: transform .15s ease;
}
.nis2-klapp[aria-expanded="true"] .nis2-klapp-zeichen { transform: rotate(-135deg); }
.nis2-klapp:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .nis2-klapp-zeichen { transition: none; } }

/* Quittung fuer die Auswahl, bevor der Schritt wechselt: ohne sie wirkt der
   automatische Sprung, als haette die Seite den Klick verschluckt. */
.nis2-option-quittung {
  border-color: var(--yellow) !important;
  transition: border-color .12s ease, background-color .12s ease;
}
@media (prefers-reduced-motion: reduce) {
  .nis2-option-quittung { transition: none; }
}

/* Tastaturfokus muss am ganzen Feld sichtbar sein, nicht nur am 1-rem-Radio. */
.nis2-option:has(input:focus-visible) {
  outline: 2px solid var(--yellow);
  outline-offset: 2px;
}

/* Zurueckgespiegelter Zahlenwert unter dem Eingabefeld. */
.nis2-echo { margin: .35rem 0 0; font-size: .78rem; color: #9b9b9b; min-height: 1.1em; }
.nis2-echo-fehler { color: #f0b9b9; }
.nis2-feld input.nis2-feld-fehler { border-color: #c98b8b; }

/* Firmenzeile im Dokumentkopf. Am Bildschirm nur sichtbar, sobald etwas
   eingetragen wurde — leer waere sie dort nur Rauschen. Im Druck steht sie
   immer, notfalls als Linie zum Ausfuellen von Hand. */
.nis2-doc-firma { font-size: .82rem; color: #b4b4b4; margin: .6rem 0 0; }
/* `:has(.nis2-fuellbar-leer:first-of-type)` traf auch die Firmenbuchnummer —
   sie ist das einzige <span> in ihrem eigenen Elternelement und damit dort
   „first-of-type". Wer nur den Firmennamen eintrug, sah die ganze Zeile
   verschwinden. Jetzt wird ausdrücklich auf das Namensfeld geprüft. */
.nis2-doc-firma:has(> #nis2-doc-firma-name.nis2-fuellbar-leer) { display: none; }
.nis2-fuellbar { display: inline-block; min-width: 8rem; }
.nis2-doc-firma-fn:has(#nis2-doc-firma-fn.nis2-fuellbar-leer) { display: none; }

/* Firmenangaben-Eingabe, unmittelbar vor den Aktionsknoepfen. */
.nis2-firma { display: grid; grid-template-columns: auto 1fr; gap: .5rem .75rem;
  align-items: center; margin: 2rem 0 1rem; padding-top: 1.25rem;
  border-top: 1px solid #3a3a3a; }
.nis2-firma-titel { grid-column: 1 / -1; margin: 0; font-size: .78rem;
  letter-spacing: .08em; text-transform: uppercase; color: #9b9b9b; }

/* Schalter „Felder weglassen". */
.nis2-schalter { grid-column: 1 / -1; display: flex; gap: .6rem;
  align-items: flex-start; cursor: pointer; margin-top: .4rem; }
.nis2-schalter input[type="checkbox"] {
  flex: none; width: 1rem; height: 1rem; margin: .15rem 0 0; accent-color: var(--yellow);
}
.nis2-schalter > span { flex: 1 1 auto; min-width: 0; }
.nis2-schalter strong { display: block; font-size: .85rem; font-weight: 500; color: #e6e6e6; }
.nis2-schalter em { display: block; font-style: normal; font-size: .76rem;
  color: #9b9b9b; margin-top: .2rem; line-height: 1.5; }
.nis2-schalter:has(input:focus-visible) { outline: 2px solid var(--yellow); outline-offset: 3px; }

/* Abgeschaltete Firmenfelder erkennbar machen. */
.nis2-firma input:disabled { opacity: .4; cursor: not-allowed; }

/* Ausgeblendet: gilt am Bildschirm wie im Druck. Die Regel steht bewusst
   ausserhalb des @media-print-Blocks und schlaegt mit hoeherer Spezifitaet
   das `display:block !important` von .nis2-nurdruck. */
#nis2-result.nis2-ohne-felder .nis2-doc-firma,
#nis2-result.nis2-ohne-felder .nis2-unterschrift { display: none !important; }
.nis2-firma label { font-size: .8rem; color: #b4b4b4; }
/* Nur die Textfelder: Ohne die Typ-Einschraenkung traefe `width:100%` auch das
   Kontrollkaestchen des Schalters, zoege es auf die volle Zeilenbreite und
   draengte den Beschriftungstext aus dem Label. */
.nis2-firma input[type="text"] { background: transparent; border: 0; border-bottom: 1px solid #4a4a4a;
  color: #fff; font: inherit; font-size: .9rem; padding: .25rem .1rem; width: 100%; }
.nis2-firma input[type="text"]:focus { outline: none; border-bottom-color: var(--yellow); }
.nis2-firma-notiz { grid-column: 1 / -1; margin: 0; font-size: .72rem; color: #9b9b9b; }
.nis2-nicht-erhoben { color: #9b9b9b; font-style: italic; }
.nis2-nace label { display: block; font-size: .8rem; color: #c9c9c9; margin-bottom: .5rem; }
.nis2-nace input {
  width: 13rem;
  background: var(--charcole);
  border: 1px solid #565656;
  border-radius: 10px;
  color: var(--white);
  font-family: inherit;
  font-size: 1rem;
  padding: .5rem .7rem;
}
.nis2-nace input:focus { outline: 2px solid var(--yellow); outline-offset: 1px; }
.nis2-nace-hit { font-size: .8rem; color: var(--yellow); margin: .7rem 0 0; line-height: 1.5; }

/* Groessenabfrage */

.nis2-zahlen { display: flex; flex-wrap: wrap; gap: 1rem; }
.nis2-feld { flex: 1 1 11rem; }
.nis2-feld label { display: block; font-size: .8rem; color: #c9c9c9; margin-bottom: .45rem; }

.nis2-feld-eingabe { position: relative; display: block; }

.nis2-feld input {
  width: 100%;
  background: var(--charcole);
  border: 1px solid #565656;
  border-radius: 10px;
  color: var(--white);
  font-family: inherit;
  font-size: 1rem;
  padding: .65rem 3.4rem .65rem .8rem;
}
.nis2-feld input:focus { outline: 2px solid var(--yellow); outline-offset: 1px; }

/* Die nativen Spinner sind in jedem Browser anders und passen zu keinem Design.
   Sie werden entfernt und durch eigene Schaltflaechen ersetzt. */
.nis2-feld input[type=number] { -moz-appearance: textfield; appearance: textfield; }
.nis2-feld input[type=number]::-webkit-outer-spin-button,
.nis2-feld input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.nis2-spin {
  position: absolute;
  top: 50%;
  right: .35rem;
  transform: translateY(-50%);
  display: flex;
  gap: .2rem;
}
.nis2-spin button {
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 1px solid #565656;
  border-radius: 5px;
  background: #2f2f2f;
  color: #d2d2d2;
  font-family: inherit;
  font-size: .95rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.nis2-spin button:hover { background: var(--yellow); border-color: var(--yellow); color: var(--charcole); }
.nis2-spin button:focus-visible { outline: 2px solid var(--yellow); outline-offset: 1px; }

.nis2-einheit {
  position: absolute;
  top: 50%;
  right: 3.9rem;
  transform: translateY(-50%);
  font-size: .78rem;
  color: #9b9b9b;
  pointer-events: none;
}
.nis2-feld.nis2-feld-geld input { padding-right: 6.2rem; }

.nis2-notiz { font-size: .78rem; color: #9b9b9b; line-height: 1.55; margin: 1rem 0 0; }

/* Hilfe */

.nis2-hilfe { margin-top: 1.5rem; border-top: 1px solid #3a3a3a; padding-top: 1rem; }
/* Der Aufklapper steht auf jeder Frage und war mit 19 px das kleinste
   Ziel der Seite. 44 px ist das Mindestmass fuer eine Fingerspitze
   (WCAG 2.5.8, Target Size). Die Hoehe kommt aus Innenabstand, damit die
   Schriftgroesse gleich bleibt. */
.nis2-hilfe summary {
  cursor: pointer;
  font-size: .82rem;
  color: var(--yellow);
  list-style: none;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: .25rem 0;
  gap: .5rem;
}
.nis2-hilfe summary::-webkit-details-marker { display: none; }

/* Dasselbe Winkelzeichen wie .nis2-klapp im Ergebnis. Vorher stand hier ein
   „+" als Textzeichen; das Leerzeichen dahinter faellt im Flex-Container weg,
   und es stand „+Was ist damit gemeint?" ohne Abstand da. Zwei Aufklapper auf
   derselben Seite, die verschieden aussehen, liest man als Versehen. */
.nis2-hilfe summary::before {
  content: "";
  width: .5rem; height: .5rem; flex: none;
  border-right: 2px solid var(--yellow); border-bottom: 2px solid var(--yellow);
  transform: rotate(-45deg); transition: transform .15s ease;
}
.nis2-hilfe[open] summary::before { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
  .nis2-hilfe summary::before { transition: none; }
}
.nis2-hilfe p { font-size: .84rem; line-height: 1.6; color: #bcbcbc; margin: .8rem 0 0; }

/* Buttons */

.nis2-aktionen { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }

/* Steht unter den Knoepfen, nicht daneben: Gelesen wird er erst, wenn der
   Dialog schon offen war und die Kopfzeile aufgefallen ist. */
.nis2-druckhinweis { margin: .9rem 0 0; font-size: .74rem; line-height: 1.5;
  color: #9b9b9b; max-width: 46rem; }

.nis2-btn {
  font-family: inherit;
  font-size: .88rem;
  font-weight: 500;
  padding: .85rem 1.5rem;
  border-radius: 10px;
  border: 1px solid #5a5a5a;
  background: transparent;
  color: var(--white);
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.nis2-btn:hover { border-color: var(--yellow); color: var(--yellow); }

.nis2-btn-primary {
  background: var(--yellow);
  border-color: var(--yellow);
  color: #292929;
  font-weight: 500;
}
/* Gleiche Reaktion wie alle Limettentasten der Site: Der Hintergrund bleibt
   stehen, die Schrift geht auf Schwarz. Vorher hellte der Hintergrund auf
   #f4ff9c auf und die Schrift blieb, wo sie war — das war das einzige
   Bedienelement der Site, das seinen Hover ueber die Flaeche meldete statt
   ueber die Schrift. Die Ruhefarbe geht von --charcole (#161616) auf das
   #292929 der uebrigen Tasten; betroffen sind alle drei Primaertasten:
   Weiter, Ergebnis jetzt ansehen, Als PDF speichern oder drucken.

   Das transition aus .nis2-btn bleibt stehen. Die Limettentasten im Rest
   der Site schalten hart um, aber die Sekundaertasten dieser Seite blenden
   in .15s — nur die Primaertaste hart zu schalten waere innerhalb der Seite
   der groessere Bruch. */
.nis2-btn-primary:hover { background: var(--yellow); color: #000;
  -webkit-text-stroke: 0.2px #000; }

.nis2-btn-ghost { border-style: dashed; }

/* ------------------------------------------------------------- Ergebnis */

.nis2-doc { margin-top: 1rem; }

.nis2-doc-kopf {
  border-bottom: 2px solid var(--yellow);
  padding-bottom: 1.2rem;
  margin-bottom: 2rem;
}
.nis2-doc-marke {
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--yellow);
  margin: 0 0 .6rem;
  font-weight: 600;
}
.nis2-doc-kopf h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 600;
  margin: 0 0 .6rem;
  line-height: 1.2;
}
.nis2-doc-datum { font-size: .78rem; color: #a8a8a8; margin: 0; }

.nis2-verdikt {
  display: flex;
  gap: 1.4rem;
  align-items: flex-start;
  border-left: 4px solid var(--yellow);
  padding: 1.5rem 1.6rem;
  background: #232323;
  border-radius: 0 10px 10px 0;
  margin-bottom: 2.4rem;
}
.nis2-verdikt h3 { font-size: 1.35rem; font-weight: 600; margin: 0 0 .5rem; line-height: 1.25; }
.nis2-verdikt p { margin: 0; font-size: .92rem; line-height: 1.65; color: #d2d2d2; }
.nis2-verdikt-text { min-width: 0; }

.nis2-einstufung {
  font-size: .82rem !important;
  color: var(--yellow) !important;
  margin: 0 0 1rem !important;
  letter-spacing: .02em;
}

/* Die grosse Ja/Nein-Marke. Das Urteil muss vor der Einstufung lesbar sein —
   „wichtige Einrichtung" beantwortet die Frage des Geschaeftsfuehrers nicht. */
.nis2-marke {
  flex: 0 0 auto;
  min-width: 5.2rem;
  padding: .7rem .9rem;
  border-radius: 10px;
  text-align: center;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
}
.nis2-marke-ja { background: var(--yellow); color: var(--charcole); }
.nis2-marke-nein { background: #3a3a3a; color: var(--white); border: 1px solid #5a5a5a; }
.nis2-marke-unklar { background: transparent; color: #d8d8b0; border: 2px dashed #8d8d6a; }

.nis2-ton-treffer { border-left-color: var(--yellow); }
.nis2-ton-offen { border-left-color: #b7b7a4; }
.nis2-ton-neutral { border-left-color: #6a6a6a; }

.nis2-doc-fuss {
  margin-top: 2.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid #3a3a3a;
}
.nis2-doc-fuss p { font-size: .74rem; color: #9b9b9b; line-height: 1.6; margin: 0 0 .3rem; }

@media screen and (max-width: 560px) {
  .nis2-verdikt { flex-direction: column; gap: 1rem; }
  .nis2-marke { min-width: 0; align-self: flex-start; padding: .5rem 1.1rem; font-size: 1.2rem; }
}

.nis2-abschnitt { margin-bottom: 2.2rem; }
.nis2-abschnitt h3 {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--yellow);
  margin: 0 0 .9rem;
  font-weight: 600;
}
.nis2-abschnitt p { font-size: .9rem; line-height: 1.65; color: #d2d2d2; margin: 0 0 .7rem; }
.nis2-abschnitt ul { margin: 0; padding-left: 1.2rem; }
.nis2-abschnitt li { font-size: .9rem; line-height: 1.65; color: #d2d2d2; margin-bottom: .5rem; }

.nis2-offen ul { padding-left: 1.2rem; }
.nis2-offen li { color: #e6e6c8; }

.nis2-tabelle { width: 100%; border-collapse: collapse; font-size: .85rem; }
.nis2-tabelle th {
  text-align: left;
  font-weight: 600;
  color: #9b9b9b;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 0 .8rem .6rem 0;
  border-bottom: 1px solid #414141;
}
.nis2-tabelle td {
  padding: .7rem .8rem .7rem 0;
  border-bottom: 1px solid #333;
  vertical-align: top;
  line-height: 1.55;
  color: #d2d2d2;
}
.nis2-antworten td:first-child { width: 62%; }
.nis2-fundstelle { font-size: .72rem; color: #9b9b9b; }

.nis2-sig { display: flex; flex-wrap: wrap; gap: 2.5rem; margin-top: 2.5rem; }
.nis2-sig > div { flex: 1 1 14rem; font-size: .76rem; color: #9b9b9b; }
.nis2-linie { display: block; border-top: 1px solid #6a6a6a; margin-bottom: .4rem; }

.nis2-disclaimer p { font-size: .8rem; color: #a8a8a8; }

/* Statischer Fallback ohne JavaScript */

.nis2-statisch h2 { font-size: 1.3rem; font-weight: 600; margin: 2rem 0 .8rem; }
.nis2-statisch h3 { font-size: .95rem; font-weight: 600; margin: 1.4rem 0 .5rem; color: var(--yellow); }
.nis2-statisch p, .nis2-statisch li { font-size: .9rem; line-height: 1.65; color: #d2d2d2; }
.nis2-statisch ul { padding-left: 1.2rem; }

/* --------------------------------------------------------- Wissensteil

   Der einzige Teil dieser Seite, der ohne Interaktion Text zeigt. Das Werkzeug
   selbst rendert eine Frage nach der anderen in ein leeres <div> und erzeugt
   damit nichts, was ein Crawler indexieren koennte — indexierbar waren bis
   hierher Hero und Fusszeile. Inhalt und Strukturdaten erzeugt
   tools/build-nis2-seo.js aus denselben Daten, aus denen der Check laeuft.

   Er steht ausserhalb von .nis2-card: eine Karte ist auf dieser Seite das
   Zeichen fuer „hier wird etwas ausgefuellt oder ausgegeben", und das ist er
   nicht. Stattdessen eine Limettenlinie als Zaesur, wie im Nachweisregister
   auf /team.
*/

.nis2-wissen {
  border-top: 1px solid var(--yellow);
  margin-top: 3rem;
  padding-top: 2.5rem;
}

.nis2-wissen h2 { font-size: 1.45rem; font-weight: 600; margin: 2.6rem 0 1rem; }
.nis2-wissen h2:first-child { margin-top: 0; }
.nis2-wissen h3.nis2-anlage {
  font-size: .95rem; font-weight: 600; margin: 2rem 0 .8rem; color: var(--yellow);
}
.nis2-wissen p { font-size: .9rem; line-height: 1.65; color: #d2d2d2; }


/* Zwei Spalten, wo Platz ist. Achtzehn Sektoren untereinander sind eine sehr
   lange Spalte, und die Beschreibungen sind kurz genug, um nebeneinander zu
   stehen. minmax(0,1fr) wie ueberall sonst: ein Grid-Element hat
   min-width:auto, und ein langer ÖNACE-Begriff zieht die Spur sonst ueber den
   Container hinaus. */
.nis2-sektorliste {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
  gap: 1.1rem 2rem;
}

.nis2-sektor h4 {
  font-size: .9rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 .25rem;
  line-height: 1.4;
}

/* Die Fundstelle steht VOR dem Namen, nicht dahinter: So beginnt jede Zeile
   an derselben Stelle mit derselben Art von Angabe, und die Liste laesst sich
   gegen die Anlage des Gesetzes abhaken. */
.nis2-sektor-nr {
  color: #9b9b9b;
  font-weight: 400;
  font-size: .78rem;
  letter-spacing: .04em;
  white-space: nowrap;
}

.nis2-sektor p { font-size: .82rem; line-height: 1.55; color: #a8a8a8; margin: 0; }


.nis2-faq-eintrag { margin-top: 1.6rem; }
.nis2-faq-eintrag h3 {
  font-size: 1rem; font-weight: 600; color: #fff; margin: 0 0 .4rem; line-height: 1.45;
}
.nis2-faq-eintrag p { margin: 0; }

.nis2-wissen-fuss {
  border-top: 1px solid #3a3a3a;
  margin-top: 2.5rem;
  padding-top: 1.2rem;
}

/* Links im Inhalt. Der Grundsatz a{color:var(--black)} kommt aus dem
   Seitenrahmen und gilt fuer die ganze Site; auf Anthrazit ist Schwarz
   praktisch unsichtbar, weshalb jede Seite ihre Inhaltslinks selbst einfaerbt.
   Hier fehlte bis eben beides — der Grundsatz UND diese Regel: Die Links im
   Check standen in Browserblau mit Unterstreichung, wie die gesamte
   Navigation dieser einen Seite.

   Lime als Erkennungszeichen, graue Haarlinie statt Unterstreichung, wie im
   Nachweisregister auf /team.

   NUR im Fliesstext, nicht auf jedem <a> der Seite. Erster Anlauf war `.nis2 a`
   mit einer Ausnahmeregel fuer die Tasten — und die Ausnahme setzte
   border-bottom:0 und padding-bottom:0. Beides traf die Tasten selbst: Der
   Rahmen war unten offen und der Text sass am unteren Rand. Eine Ausnahme,
   die den Ausgenommenen beschaedigt, ist keine. Die Tasten sind
   <button>-Elemente und <a class="nis2-btn"> — nach Elternelement zu greifen
   trifft sie beide nicht. */
.nis2 p a,
.nis2 li a,
.nis2 dd a {
  color: var(--yellow);
  border-bottom: 1px solid #4a4a4a;
  padding-bottom: 1px;
}

.nis2 p a:hover,
.nis2 li a:hover,
.nis2 dd a:hover { border-bottom-color: var(--yellow); }

@media screen and (max-width: 767px) {
  .nis2 { padding: 2rem; }
  .nis2-card { padding: 1.5rem 1.1rem; }
  .nis2-antworten td:first-child { width: 55%; }
}

/* Ab hier faellt .main-wrapper auf padding:0 — die Karte muss den Rand dann
   selbst tragen und laeuft, wie .tab-area-wrapper auf /services, bis an die
   Kante. Unten deshalb keine Radien mehr. */
@media screen and (max-width: 479px) {
  .nis2 {
    margin-top: 7rem;
    padding: 1.5rem 6vw 3rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

}

/* ------------------------------------------------------------------ Druck
   Bewusst weisses Papier: Das Ergebnis ist ein Nachweisdokument, das
   abgelegt und weitergereicht wird — nicht ein Screendesign. Die Marke
   traegt die Lime-Linie im Kopf, nicht der Hintergrund. */

@media print {
  @page { size: A4; margin: 16mm 15mm 16mm; }

  .nav-bar, .navbar, .footer-parent, .contact-overlay,
  .nis2-hero, .nis2-noprint, .nis2-hilfe, #nis2-app,
  .nis2-sprung, #nis2-wissen { display: none !important; }

  /* Solange kein Ergebnis vorliegt, ist die statische Kurzfassung das Einzige,
     was der Besucher hat — sie zu verstecken ergaebe ein leeres A4-Blatt. Erst
     wenn das Ergebnis da ist, tritt sie zurueck. Gleiches gilt fuer den
     Ausdruck mitten im Fragebogen. */
  /* Die statische Kurzfassung ist das Einzige, was ein Besucher ohne Ergebnis
     hat — sie muss druckbar bleiben. Ohne Farbreset kam dabei ein dunkler
     Kasten mit Lime-Ueberschriften auf weissem Papier heraus. */
  #nis2-statisch { display: block; }
  #nis2-statisch, #nis2-statisch * {
    background: #fff !important; color: #161616 !important;
    border-color: #bbb !important; box-shadow: none !important;
  }
  #nis2-statisch { padding: 0 !important; }
  body:has(#nis2-result:not([hidden])) #nis2-statisch { display: none !important; }

  /* Der Unterschriftenblock erscheint nur hier — auf dem Papier. */
  .nis2-nurdruck { display: block !important; }

  html, body, .page-wrapper, .main-wrapper, .nis2 {
    background: #fff !important;
    color: #161616 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    font-size: 10pt;
  }

  .nis2-inner { max-width: none; }
  /* margin-top zuruecknehmen: Der Bildschirmabstand versetzt sonst den
     Dokumentkopf — und damit das absolut positionierte Logo — um rund 3,5 mm
     nach unten. */
  .nis2-doc { widows: 3; orphans: 3; margin-top: 0 !important; }

  /* --- Kopf ------------------------------------------------------------ */
  .nis2-doc-kopf {
    position: relative;
    border-bottom: 2.5pt solid #161616;
    margin-bottom: 7mm;
    padding-bottom: 3mm;
    padding-right: 26mm;
    break-after: avoid;
  }
  .nis2-doc-logo {
    display: block !important;
    position: absolute;
    top: 0;
    right: 0;
    width: 20mm;
    height: 20mm;
  }
  .nis2-doc-marke { color: #161616; font-size: 7.5pt; letter-spacing: .22em; margin-bottom: 2mm; }
  .nis2-doc-kopf h2 { font-size: 17pt; color: #161616; margin-bottom: 2mm; letter-spacing: -.01em; }
  .nis2-doc-datum { color: #555; font-size: 8pt; }

  /* --- Urteil ---------------------------------------------------------- */
  .nis2-verdikt {
    display: flex;
    gap: 5mm;
    background: #f2f2f2 !important;
    border: none;
    border-left: 4pt solid #161616;
    border-radius: 0;
    padding: 4.5mm 5mm;
    margin-bottom: 7mm;
    break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .nis2-marke {
    min-width: 22mm;
    padding: 2mm 3mm;
    font-size: 15pt;
    border-radius: 2mm;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .nis2-marke-ja { background: #ecfd6f !important; color: #161616 !important; border: .5pt solid #161616; }
  .nis2-marke-nein { background: #fff !important; color: #161616 !important; border: 1pt solid #161616; }
  .nis2-marke-unklar { background: #fff !important; color: #161616 !important; border: 1pt dashed #161616; }
  .nis2-verdikt h3 { font-size: 13pt; color: #161616; margin-bottom: 1.5mm; }
  .nis2-einstufung { color: #444 !important; font-size: 8.5pt !important; margin-bottom: 2.5mm !important; }
  .nis2-verdikt p { color: #222; font-size: 9.5pt; }

  /* --- Abschnitte ------------------------------------------------------ */
  .nis2-abschnitt { margin-bottom: 6mm; }
  .nis2-abschnitt h3 {
    color: #161616;
    font-size: 8pt;
    letter-spacing: .16em;
    border-bottom: .5pt solid #999;
    padding-bottom: 1mm;
    margin-bottom: 2.5mm;
    break-after: avoid;
  }
  .nis2-abschnitt p, .nis2-abschnitt li { color: #222; font-size: 9.5pt; line-height: 1.55; }
  .nis2-abschnitt li { margin-bottom: 1.2mm; }
  .nis2-offen li { color: #222; }
  .nis2-begruendung li::marker { color: #161616; }

  /* --- Tabellen -------------------------------------------------------- */
  .nis2-tabelle { font-size: 9pt; break-inside: auto; }
  .nis2-tabelle thead { display: table-header-group; }
  .nis2-tabelle tr { break-inside: avoid; break-after: auto; }
  .nis2-tabelle th {
    color: #161616;
    border-bottom: .75pt solid #161616;
    font-size: 7.5pt;
    padding-bottom: 1.5mm;
  }
  .nis2-tabelle td { color: #222; border-bottom: .25pt solid #ccc; padding: 1.8mm .8mm 1.8mm 0; }
  .nis2-fundstelle { color: #666; font-size: 7.5pt; }
  .nis2-antworten td:first-child { width: 62%; padding-right: 5mm; }

  /* --- Unterschrift und Fuss ------------------------------------------- */
  .nis2-unterschrift { break-inside: avoid; }
  /* Drei Felder auf 180 mm Satzbreite: 8 mm Abstand statt 12, sonst rutscht das
     dritte um. flex-basis klein halten, damit sie in einer Zeile bleiben. */
  .nis2-sig { margin-top: 10mm; gap: 8mm; break-inside: avoid; }
  .nis2-sig > div { color: #444; font-size: 7.5pt; flex: 1 1 40mm; }
  .nis2-sig-hinweis { color: #666 !important; font-size: 7pt !important; margin-top: 4mm; }
  .nis2-linie { border-top: .75pt solid #161616; margin-bottom: 1.5mm; }

  .nis2-disclaimer { break-inside: avoid; }
  /* Die Listenpunkte erbten sonst 9.5pt/#222 aus `.nis2-abschnitt li` und
     standen 27 % groesser als die Absaetze desselben Blocks. */
  .nis2-disclaimer p,
  .nis2-disclaimer li { color: #444; font-size: 7.5pt; line-height: 1.5; }

  /* Begruendung und offene Punkte koennen mehrere Absaetze lang werden; ohne
     diese Regeln reisst ein Abschnitt mitten im Satz ueber den Seitenrand. */
  .nis2-abschnitt, .nis2-lieferkette { break-inside: auto; }
  .nis2-abschnitt p, .nis2-abschnitt li { orphans: 3; widows: 3; }
  /* Der Eingabeblock selbst wird nicht gedruckt (er traegt .nis2-noprint);
     gedruckt wird die Zeile im Kopf. Leere Felder erscheinen dort als Linie. */
  .nis2-doc-firma { display: block !important; color: #333 !important;
    font-size: 8.5pt !important; margin-top: 2mm !important; }
  .nis2-doc-firma-fn { display: inline !important; }
  .nis2-fuellbar { min-width: 45mm; border-bottom: .4pt solid #888; }
  .nis2-firma-notiz, .nis2-echo { display: none !important; }

  /* Auf dem Papier ist die Angabentabelle der Kern des Belegs — sie wird
     unabhaengig vom Bildschirmzustand immer gedruckt. */
  /* content-visibility MIT zuruecksetzen, nicht nur display. Seit der
     Abschnitt hidden="until-found" traegt, greift die UA-Regel
     [hidden="until-found"]{content-visibility:hidden} statt display:none —
     display:block allein liess die Ueberschrift drucken und die Angaben
     darunter verschwinden. Auf einem Blatt, das die Selbstermittlung
     festhalten soll, waeren das genau die festzuhaltenden Angaben.
     Nachgestellt: gemessen an einer Druckprobe, nicht angenommen. */
  .nis2-klapp-inhalt {
    display: block !important;
    content-visibility: visible !important;
  }
  .nis2-klapp-zeichen { display: none !important; }
  .nis2-klapp { display: block !important; cursor: auto; }
  .nis2-nicht-erhoben { color: #666 !important; }

  /* `break-before: avoid` haelt den Fuss bei der letzten Textseite. Ohne ihn
     rutschte er allein auf eine vierte Seite — ein Blatt, das nur die Anschrift
     traegt, sieht nach einem Fehler im Ausdruck aus. Der Aussenabstand ist
     zugleich knapper, damit er auf der Seite noch Platz findet. */
  .nis2-doc-fuss {
    margin-top: 5mm;
    padding-top: 2mm;
    border-top: .5pt solid #161616;
    break-inside: avoid;
    break-before: avoid;
  }
  .nis2-doc-fuss p { color: #555; font-size: 7pt; line-height: 1.5; }

  /* Fliesstextlinks sind am Bildschirm Lime mit Haarlinie. Auf Papier waere das
     eine gelbe Zeile mit grauem Strich darunter — und die Bildschirmregel
     gewaenne, weil sie spezifischer ist als ein blankes `a`. Deshalb hier
     dieselben Selektoren. */
  a, .nis2 p a, .nis2 li a, .nis2 dd a {
    color: inherit; text-decoration: none; border-bottom: 0; padding-bottom: 0;
  }
}

/* Legende der oesterreichischen Zitierweise — nur auf der englischen Seite.
   Kleiner gesetzt als die uebrigen Punkte: Sie wird einmal gelesen und dann
   nicht mehr gebraucht. */
.nis2-legende {
  font-size: .78rem;
  line-height: 1.55;
  color: #a8a8a8;
  margin-top: .55rem;
}
.nis2-legende strong { color: var(--yellow); font-weight: 500; }
.nis2-legende em { font-style: italic; }

/* ------------------------------------------------- Untergrenze am Handy
 *
 * Der Grundschriftgrad ist fluid (site-fixes.css) und faellt bei 320px auf
 * 14,7px. Alles in rem faellt mit: die Beschriftungen dieser Seite stehen
 * ohnehin am unteren Ende der Skala (.72rem) und landeten bei 10,6px — das
 * ist die Groesse, in der hier die Fundstellen im Gesetz stehen, also genau
 * das, was niemand raten soll. 13px ist die Grenze, in px, weil eine
 * Untergrenze nicht mitschrumpfen darf.
 *
 * Der Block steht am DATEIENDE, nicht beim uebrigen 479px-Block weiter oben:
 * Ein @media erhoeht die Spezifitaet nicht. .nis2-legende wird erst in Zeile
 * 1080 gesetzt, und bei gleicher Spezifitaet gewinnt die spaetere Regel —
 * weiter oben war die Untergrenze fuer die Zitierlegende wirkungslos, was
 * nur auf der englischen Seite auffiel, weil dort die Legende der einzige
 * Traeger dieser Klasse im sichtbaren Bereich ist.
 */
@media screen and (max-width: 479px) {
  .nis2-eyebrow, .nis2-progress-text, .nis2-recht, .nis2-gruppe,
  .nis2-option em, .nis2-sektor-option em, .nis2-mehrfach,
  .nis2-listenkopf, .nis2-torliste li, .nis2-fehler, .nis2-fakten,
  .nis2-sprung p, .nis2-sprung-alt, .nis2-veraltet, .nis2-nace summary,
  .nis2-echo, .nis2-firma-titel, .nis2-schalter strong, .nis2-schalter em,
  .nis2-firma label, .nis2-firma-notiz, .nis2-nace label, .nis2-nace-hit,
  .nis2-feld label, .nis2-einheit, .nis2-notiz, .nis2-hilfe p, .nis2-btn,
  .nis2-doc-marke, .nis2-doc-datum, .nis2-einstufung, .nis2-doc-fuss p,
  .nis2-abschnitt h3, .nis2-tabelle, .nis2-tabelle th, .nis2-fundstelle,
  .nis2-sig > div, .nis2-disclaimer p, .nis2-sektor p,
  .nis2-hilfe summary, .nis2-sektor-nr, .nis2-legende {
    font-size: 13px;
  }

  /* Weiter/Zurueck sind die Bedienelemente des Checks; 44px ist dieselbe
     Fingerflaeche wie ueberall sonst (site-fixes.css). */
  .nis2-btn { min-height: 44px; }
}
