/*
Theme Name: Nüsslein & Lippold
Theme URI: https://nuesslein-lippold.de
Author: Tobias Lippold
Description: Custom Theme für den ambulanten Pflegedienst Nüsslein & Lippold in Erfurt. Warme, menschliche Startseite mit situationsbasiertem Einstieg statt klassischer Menüführung.
Version: 1.0
Requires PHP: 7.4
Text Domain: nuesslein-lippold
*/

/* ---------------------------------------------
   Design tokens
--------------------------------------------- */
:root{
  --creme:#F8EFD5;
  --creme-mobile:#F7F2E9;
  --warm-panel:#F1EADC;
  --white:#FFFFFF;
  --card-border:#ECE3D2;
  --divider:#EBDFC7;

  --green:#2E5442;
  --green-dark:#264635;
  --green-body:#4B6B58;
  --green-icon:#3C6B52;
  --green-dot:#4E8A67;
  --green-tint-bg:#E7F0E8;

  --yellow:#FFC21A;
  --yellow-soft-bg:#FEF3D6;
  --yellow-text:#8A6300;
  --yellow-text-2:#7A5C1C;

  --blue:#1D5B77;
  --blue-light-bg:#E4EFF4;
  --blue-accent:#AEDCEE;
  --blue-accent-3:#CFE3EE;
  --blue-btn-text:#23333A;

  --red-tint-bg:#FDECEC;
  --red-icon:#C56A5C;

  --stone-tint-bg:#ECE7E0;
  --stone-icon:#8B8378;

  --ink:#37332C;
  --body:#5B5347;
  --body-2:#6E665A;
  --muted:#6B6357;
  --chevron:#C2B8A6;

  --serif:'Newsreader',Georgia,serif;
  --sans:'Nunito Sans',system-ui,sans-serif;
  --wrap:1200px;

  --r-pill:999px;
  --r-lg:24px;
  --r-card:20px;
  --r-card-alt:22px;
  --r-sm:16px;
  --r-btn:14px;
  --r-bar:8px;

  --shadow-card:0 4px 16px rgba(60,50,30,.05);
  --shadow-blue:0 8px 20px rgba(29,91,119,.22);
}

/* ---------------------------------------------
   Base
--------------------------------------------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--creme-mobile); color:var(--ink);
  font-family:var(--sans); font-weight:400; font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--serif); font-weight:500; line-height:1.15; margin:0;}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
svg{display:block;}
button{font-family:inherit; cursor:pointer;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 40px;}
:focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:4px;}
.screen-reader-text{position:absolute; left:-9999px;}

/* ---------------------------------------------
   Header / Nav
--------------------------------------------- */
.nl-header{position:relative; background:var(--creme); border-bottom:1px solid var(--divider);}
.nl-header .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 40px;}
.nl-brand{display:flex; align-items:center; gap:13px;}
.nl-brand-logo{flex:none; display:block; width:54px; height:auto;}
.nl-brand-text{line-height:1.15;}
.nl-brand-name{font-weight:800; font-size:18px; color:var(--ink);}
.nl-brand-sub{font-size:12.5px; color:var(--muted); font-weight:700; letter-spacing:.05em; text-transform:uppercase;}

.nl-nav{display:flex; align-items:center; gap:26px;}
.nl-nav ul{list-style:none; display:flex; gap:26px; margin:0; padding:0; font-size:16.5px; font-weight:700; color:var(--body);}
.nl-nav a{color:var(--body);}
.nl-nav a:hover,
.nl-nav .current-menu-item a{color:var(--ink);}

.nl-nav a.nl-phone-pill{display:inline-flex; align-items:center; gap:9px; background:var(--green); color:#fff; padding:11px 20px; border-radius:12px; font-weight:800; font-size:16px; white-space:nowrap;}
.nl-phone-pill svg{flex:none;}
.nl-phone-pill:hover{background:var(--green-dark);}

.nl-menu-toggle{display:none; background:none; border:none; padding:8px;}
.nl-nav a{white-space:nowrap;}
/* Desktop: Name und Unterzeile einzeilig halten (auf dem Handy dürfen sie umbrechen) */
@media (min-width:1024px){
  .nl-brand-name,.nl-brand-sub{white-space:nowrap;}
}

/* Kleine Desktops (1024–1199 px): sechs Menüpunkte + Telefon in einer Zeile halten */
@media (min-width:1024px) and (max-width:1199px){
  .nl-nav,.nl-nav ul{gap:18px;}
  .nl-nav a.nl-phone-pill{padding:11px 16px;}
  /* Platz für das Menü: Logo etwas kleiner, Unterzeile ausblenden */
  .nl-brand{gap:10px; margin-right:20px;}
  .nl-brand-logo{width:46px;}
  .nl-brand-sub{display:none;}
}

.nl-nav.is-open ul{
  display:flex; flex-direction:column; gap:6px;
  position:absolute; top:100%; left:0; right:0; z-index:10;
  background:var(--creme); border-bottom:1px solid var(--divider);
  padding:16px 20px 22px; margin:0;
}
.nl-nav.is-open ul a{display:block; padding:10px 0;}

/* ---------------------------------------------
   Brotkrumen-Navigation (alle Seiten außer Startseite)
--------------------------------------------- */
.nl-breadcrumb{background:var(--creme); padding:18px 40px 0;}
.nl-breadcrumb .wrap{padding:0;}
.nl-breadcrumb ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 0; font-size:15.5px; font-weight:700; color:var(--body-2);}
.nl-breadcrumb li{display:inline-flex; align-items:center; min-width:0;}
.nl-breadcrumb li:not(:last-child)::after{content:"›"; margin:0 10px; color:var(--chevron); font-weight:400;}
.nl-breadcrumb a{display:inline-flex; align-items:center; gap:4px; color:var(--green); text-decoration:underline; text-decoration-color:transparent; text-underline-offset:3px; transition:text-decoration-color .15s ease;}
.nl-breadcrumb a:hover{text-decoration-color:currentColor;}
.nl-breadcrumb .is-current span{color:var(--body-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:420px;}
.nl-breadcrumb-back{display:none;}
/* Abstand zum folgenden Seitenkopf verkleinern */
.nl-breadcrumb + .nl-page-hero{padding-top:28px;}
.nl-breadcrumb + .nl-single .nl-single-hero{padding-top:24px;}
.nl-breadcrumb + .nl-quick{padding-top:32px;}
.nl-breadcrumb:has(+ .nl-quick){background:var(--blue); padding-bottom:0;}
.nl-breadcrumb:has(+ .nl-quick) a{color:#fff;}

/* ---------------------------------------------
   Hero
--------------------------------------------- */
.nl-hero{
  position:relative; overflow:hidden; background-color:var(--creme);
  padding:56px 40px 52px;
}
.nl-hero .wrap{position:relative; z-index:1; padding:0;}
.nl-hero .wrap + .wrap{margin-top:48px;}
/* Erste Hero-Zeile: zwei Spalten (Text | Wege-Karten) */
.nl-hero-top{display:grid; grid-template-columns:.82fr 1.18fr; gap:48px; align-items:center;}
/* Star of Life: liegt im Hintergrund und zentriert sich dynamisch im Bereich zwischen
   linkem Bildschirmrand und der linken Kante der rechten Boxen. Vertikal nur über die
   erste Hero-Zeile (nicht über die Kostenbox darunter), damit er nicht verrutscht. */
.nl-hero-top::before{
  content:"";
  position:absolute; top:-24px; bottom:-24px;
  left:calc((100% - 100vw) / 2); right:calc(50% + 80px);
  background:url('assets/img/star-of-life-green.svg') no-repeat center;
  background-size:520px 520px;
  pointer-events:none; z-index:-1;
}
/* Desktop: Star of Life riesig und angeschnitten über den ganzen Hero.
   Der Mittelpunkt liegt in der Lücke zwischen Text und Karten, sodass der Stab
   zwischen den Spalten steht und die Arme hinter Text und Karten bis an die
   Ränder laufen. Tablet und Handy behalten die ruhigere Darstellung (siehe unten). */
@media (min-width:1024px){
  .nl-hero-top::before{
    right:auto; bottom:auto;
    width:1380px; height:1380px;
    left:40%; top:56%;
    transform:translate(-50%,-50%);
    background-size:contain;
  }
}
.nl-hero-copy{position:relative; z-index:1; grid-column:1; grid-row:1;}
.nl-eyebrow{display:inline-flex; align-items:center; gap:9px; background:var(--green-tint-bg); color:var(--green); padding:7px 14px; border-radius:var(--r-pill); font-size:14.5px; font-weight:700; margin-bottom:20px;}
.nl-eyebrow-dot{width:8px; height:8px; border-radius:50%; background:var(--green-dot);}
.nl-hero h1{font-size:46px; line-height:1.12; letter-spacing:-.01em; margin:0 0 18px;}
.nl-hero-lead{font-size:19px; line-height:1.6; color:var(--body-2); margin:0 0 26px; max-width:490px;}

.nl-phone-card{display:inline-flex; align-items:center; gap:11px; background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-sm); padding:14px 18px;}
.nl-phone-card-icon{width:40px; height:40px; border-radius:11px; background:var(--green-tint-bg); display:flex; align-items:center; justify-content:center; color:var(--green); flex:none;}
.nl-phone-card-label{display:block; font-size:13.5px; color:var(--muted); font-weight:700;}
.nl-phone-card-number{display:block; font-size:18px; font-weight:800; color:var(--green); white-space:nowrap;}

.nl-situations{display:flex; flex-direction:column; gap:14px; grid-column:2; grid-row:1;}
.nl-situation-card{display:flex; align-items:center; gap:18px; background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-card-alt); padding:22px 24px; box-shadow:var(--shadow-card); transition:box-shadow .15s ease, transform .15s ease;}
.nl-situation-card:hover{box-shadow:0 8px 22px rgba(60,50,30,.09); transform:translateY(-1px);}
.nl-situation-icon{width:56px; height:56px; flex:none; border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center;}
.nl-situation-icon--red{background:var(--red-tint-bg); color:var(--red-icon);}
.nl-situation-icon--yellow{background:var(--yellow-soft-bg); color:var(--yellow-text);}
.nl-situation-icon--green{background:var(--green-tint-bg); color:var(--green-icon);}
.nl-situation-icon--blue{background:var(--blue-light-bg); color:var(--blue);}
.nl-situation-icon--stone{background:var(--stone-tint-bg); color:var(--stone-icon);}
.nl-situation-body{flex:1; display:flex; flex-direction:column;}
.nl-situation-title{font-size:19px; font-weight:800; margin-bottom:3px; color:var(--ink);}
.nl-situation-text{font-size:16px; color:var(--muted); line-height:1.45;}
.nl-situation-chevron{color:var(--chevron); flex:none; transition:transform .15s ease;}
.nl-situation-card:hover .nl-situation-chevron{transform:translateX(3px);}

/* Kosten-Kompaktbox: volle Breite unter den zwei Hero-Spalten, neutraler Steingrau-Akzent */
.nl-hero-cost{
  display:flex; gap:22px; align-items:flex-start;
  background:var(--green-tint-bg); border:1px solid var(--card-border);
  border-radius:var(--r-lg); padding:26px 30px;
}
.nl-hero-cost-icon{
  width:56px; height:56px; flex:none; border-radius:var(--r-sm);
  background:var(--white); color:var(--green-icon);
  display:flex; align-items:center; justify-content:center;
}
.nl-hero-cost-body{flex:1; min-width:0;}
.nl-hero-cost .nl-cost-head{margin-bottom:16px; flex-wrap:wrap; gap:8px 16px;}
.nl-hero-cost .nl-cost-head h2{font-size:24px;}
.nl-hero-cost .nl-cost-check{background:var(--white); color:var(--green-icon);}
.nl-hero-cost-more{margin-top:16px;}

/* ---------------------------------------------
   Kosten + Beratung
--------------------------------------------- */
.nl-cost-section{padding:56px 40px; background:var(--white);}
.nl-cost-section .wrap{padding:0; display:flex; justify-content:center;}

.nl-cost-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px;}
.nl-cost-head h2{font-size:32px;}
.nl-cost-badge{font-size:13.5px; font-weight:800; color:var(--yellow-text); background:var(--yellow-soft-bg); padding:5px 12px; border-radius:8px; white-space:nowrap;}

.nl-cost-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.nl-cost-item{display:flex; gap:13px; align-items:flex-start;}
.nl-cost-check{width:26px; height:26px; flex:none; border-radius:50%; background:var(--green-tint-bg); color:var(--green-icon); display:flex; align-items:center; justify-content:center;}
.nl-cost-item-text{font-size:16px; line-height:1.5; color:var(--body);}
.nl-cost-item-text b{color:var(--ink);}

.nl-cost-bar{margin-top:26px; height:16px; border-radius:var(--r-bar); overflow:hidden; display:flex;}
.nl-cost-bar-sach{width:68%; background:var(--green);}
.nl-cost-bar-geld{width:32%; background:var(--yellow);}
.nl-cost-legend{display:flex; justify-content:space-between; font-size:14.5px; margin-top:10px;}
.nl-cost-legend span{display:flex; align-items:center; gap:7px; font-weight:700;}
.nl-cost-legend .sach{color:var(--green);}
.nl-cost-legend .geld{color:var(--yellow-text-2);}
.nl-legend-dot{width:11px; height:11px; border-radius:3px;}
.nl-legend-dot--sach{background:var(--green);}
.nl-legend-dot--geld{background:var(--yellow);}

/* ---------------------------------------------
   Bild-Banner: „Bei jedem Wetter für Sie da“
--------------------------------------------- */
.nl-banner{position:relative; overflow:hidden; min-height:400px; display:flex; align-items:center; padding:64px 40px;}
.nl-banner-media{position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(35%) contrast(1.02);}
/* Platzhalter, solange kein Foto hochgeladen ist */
.nl-banner--placeholder .nl-banner-media{
  filter:none;
  background:
    repeating-linear-gradient(135deg,rgba(0,0,0,.05) 0 22px,rgba(0,0,0,0) 22px 44px),
    linear-gradient(120deg,var(--green-dark) 0%,var(--green) 55%,var(--green-icon) 100%);
}
/* Neutral-graue Abdunkelung von links – hält den Text lesbar, ohne die Autofarbe zu verfälschen */
.nl-banner-overlay{position:absolute; inset:0; background:linear-gradient(90deg,rgba(28,28,30,.82) 0%,rgba(30,30,32,.55) 48%,rgba(32,32,34,.22) 100%);}
.nl-banner-inner{position:relative; z-index:1;}
.nl-banner-eyebrow{display:inline-flex; align-items:center; font-size:20px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:var(--yellow); margin-bottom:16px;}
.nl-banner-title{font-size:42px; line-height:1.12; color:#fff; margin:0; max-width:640px; text-shadow:0 1px 20px rgba(0,0,0,.25);}
/* Desktop: geteilte Darstellung – Text auf dunkelgrüner Fläche links, Foto rechts
   vollständig und ohne Abdunklung. So liegt der Schriftzug nicht über der
   Beschriftung des Autos. Höhe wächst mit der Breite; der Ausschnitt hält das
   Auto (im Foto ca. 36–79 % der Bildhöhe) samt Dach und Rädern im Bild. */
@media (min-width:1024px){
  .nl-banner{min-height:0; height:clamp(420px, 32.5vw, 600px); padding:0; background:var(--green-dark); align-items:stretch;}
  .nl-banner-media{left:40%; background-position:center 63%;}
  .nl-banner-overlay{left:40%; right:auto; width:90px; background:linear-gradient(90deg,var(--green-dark) 0%,rgba(38,70,53,0) 100%);}
  .nl-banner-inner{display:flex; flex-direction:column; justify-content:center; width:40%; max-width:none; margin:0; padding:0 48px 0 max(40px, calc((100vw - var(--wrap)) / 2 + 40px));}
  .nl-banner-title{font-size:clamp(34px, 2.9vw, 44px); max-width:440px; text-shadow:none;}
  .nl-banner-eyebrow{font-size:16px;}
}

/* ---------------------------------------------
   Leistungen
--------------------------------------------- */
.nl-services{padding:56px 40px; background:var(--creme);}
.nl-services-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:30px;}
.nl-services-kicker{font-size:14.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--yellow-text); margin-bottom:9px;}
.nl-services-head h2{font-size:34px;}
.nl-services-link{font-size:16.5px; font-weight:700; color:var(--green); display:inline-flex; align-items:center; gap:6px; white-space:nowrap;}
.nl-services-link:hover{text-decoration:underline;}

.nl-services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.nl-service-card{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-card); padding:26px 26px 28px;}
.nl-service-number{width:44px; height:44px; border-radius:12px; background:var(--yellow-soft-bg); color:var(--yellow-text); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:600; font-size:19px; margin-bottom:16px;}
.nl-service-card h3{font-size:19px; font-weight:800; font-family:var(--sans); margin:0 0 7px;}
.nl-service-card p{font-size:16px; line-height:1.6; color:var(--body-2); margin:0;}

/* ---------------------------------------------
   Team / Vertrauen
--------------------------------------------- */
.nl-trust{padding:52px 40px; background:var(--warm-panel);}
.nl-trust .wrap{padding:0; display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; align-items:center;}
.nl-trust-image{height:300px; border-radius:var(--r-lg); overflow:hidden; background:repeating-linear-gradient(135deg,#E1D6BF 0 13px,#EAE0CB 13px 26px); display:flex; align-items:center; justify-content:center; color:#A89A7E; font:600 12px ui-monospace,Menlo,monospace;}
.nl-trust-image img{width:100%; height:100%; object-fit:cover;}
.nl-trust-kicker{font-size:14.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--yellow-text); margin-bottom:12px;}
.nl-trust h2{font-size:32px; line-height:1.16; margin:0 0 16px;}
.nl-trust-quote{font-size:18px; line-height:1.65; color:var(--body); margin:0 0 20px;}
.nl-trust-signature{font-size:16.5px; font-weight:700; color:var(--green);}

/* Bewertungen (Startseite) */
.nl-reviews{padding:56px 40px; background:var(--white);}
.nl-reviews .wrap{padding:0;}
.nl-reviews-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:26px;}
.nl-reviews h2{font-size:32px; line-height:1.16; margin:0;}
.nl-reviews-more{color:var(--green); font-weight:800; font-size:16.5px; text-decoration:underline; text-underline-offset:3px; white-space:nowrap;}
.nl-reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start;}
.nl-review{margin:0; padding:24px 24px 22px; border-radius:var(--r-lg); background:var(--creme-mobile); display:flex; flex-direction:column; gap:14px;}
.nl-review-stars{display:flex; gap:2px; color:#D9CFBC;}
.nl-review-stars .is-on{color:#E9A800;}
.nl-review-stars svg{display:block;}
.nl-review blockquote{margin:0;}
.nl-review blockquote p{margin:0; font-size:17px; line-height:1.6; color:var(--ink);}
.nl-review figcaption{font-size:15px; color:var(--muted);}
.nl-review figcaption strong{color:var(--ink);}
.nl-reviews-note{margin:20px 0 0; font-size:14.5px; line-height:1.5; color:var(--muted);}
.nl-reviews-admin{margin:0; padding:20px 24px; border:2px dashed var(--yellow); border-radius:var(--r-lg); background:var(--yellow-soft-bg); color:var(--ink); font-size:16px;}
.nl-reviews--single .nl-reviews-head,
.nl-reviews--single .nl-review,
.nl-reviews--single .nl-reviews-note{max-width:860px;}
@media (min-width:1024px){ .nl-reviews--single .wrap{padding:0 40px;} }
.nl-reviews--single .nl-review blockquote p{font-size:18px;}

/* ---------------------------------------------
   Job & Ausbildung
--------------------------------------------- */
.nl-jobs{padding:50px 40px; background:var(--blue);}
.nl-jobs .wrap{padding:0; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.nl-jobs-copy{max-width:660px;}
.nl-jobs-kicker{font-size:14.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--blue-accent); margin-bottom:11px;}
.nl-jobs h2{font-size:34px; line-height:1.1; margin:0 0 12px; color:#fff;}
.nl-jobs p{font-size:18px; line-height:1.55; color:var(--blue-accent-3); margin:0; font-weight:500;}
.nl-jobs-actions{display:flex; flex-direction:column; gap:11px; flex:none;}
.nl-btn-yellow{background:var(--yellow); color:var(--blue-btn-text); padding:15px 30px; border-radius:var(--r-btn); font-weight:800; font-size:18px; white-space:nowrap; text-align:center; box-shadow:var(--shadow-blue);}
.nl-btn-yellow:hover{background:#F5B300;}
.nl-btn-outline{background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.28); color:#fff; padding:13px 30px; border-radius:var(--r-btn); font-weight:700; font-size:16.5px; white-space:nowrap; text-align:center;}
.nl-btn-outline:hover{background:rgba(255,255,255,.2);}

/* ---------------------------------------------
   Unterseite: Job & Karriere
--------------------------------------------- */
.nl-page-hero{background:var(--creme); padding:64px 40px 56px;}
.nl-page-hero .wrap{padding:0;}
.nl-page-hero h1{font-size:44px; line-height:1.12; letter-spacing:-.01em; margin:0 0 18px; max-width:720px;}
.nl-page-hero .nl-hero-lead{max-width:620px;}
.nl-page-hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:2px;}

.nl-btn-green{display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:#fff; padding:14px 26px; border-radius:var(--r-btn); font-weight:800; font-size:16.5px; white-space:nowrap;}
.nl-btn-green:hover{background:var(--green-dark);}
.nl-btn-ghost{display:inline-flex; align-items:center; justify-content:center; background:var(--white); border:1px solid var(--card-border); color:var(--green); padding:14px 26px; border-radius:var(--r-btn); font-weight:800; font-size:16.5px; white-space:nowrap;}
.nl-btn-ghost:hover{border-color:var(--green);}

.nl-benefits{padding:56px 40px; background:var(--white);}
.nl-benefits-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.nl-benefit-card{display:flex; gap:15px; align-items:flex-start; background:var(--creme-mobile); border:1px solid var(--card-border); border-radius:var(--r-card); padding:22px 24px;}
.nl-benefit-card h3{font-size:18.5px; font-weight:800; font-family:var(--sans); margin:0 0 5px;}
.nl-benefit-card p{font-size:16px; line-height:1.55; color:var(--body-2);}

.nl-positions{padding:56px 40px; background:var(--creme);}
.nl-position-list{display:flex; flex-direction:column; gap:14px;}
.nl-position-card{display:flex; align-items:center; justify-content:space-between; gap:22px; background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-card-alt); padding:22px 26px; box-shadow:var(--shadow-card);}
.nl-position-card h3{font-size:19px; font-weight:800; font-family:var(--sans); margin:0 0 8px;}
.nl-position-meta{display:flex; flex-wrap:wrap; gap:8px 18px; font-size:15px; font-weight:700; color:var(--muted);}
.nl-position-meta span{display:inline-flex; align-items:center; gap:6px;}
.nl-position-meta svg{color:var(--green-icon);}
.nl-position-apply{flex:none;}
.nl-positions-note{margin-top:20px; font-size:16px; color:var(--body-2);}

.nl-training{padding:56px 40px; background:var(--warm-panel);}
.nl-training .wrap{padding:0; display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:center;}
.nl-training h2{font-size:32px; line-height:1.16; margin:0 0 16px;}
.nl-training-list{list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:12px;}
.nl-training-list li{display:flex; align-items:center; gap:12px; font-size:16.5px; font-weight:600; color:var(--body);}
.nl-training-list .nl-cost-check{background:var(--white);}
.nl-training-more{margin-top:22px;}
.nl-training-cta{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:30px 32px;}
.nl-training-cta h3{font-size:22px; margin:0 0 8px;}
.nl-training-cta p{font-size:16px; line-height:1.6; color:var(--body-2); margin:0 0 18px;}
.nl-training-cta .nl-advice-phone{margin-bottom:10px;}
.nl-training-cta .nl-advice-hours{color:var(--muted);}

.nl-apply{padding:56px 40px 60px; background:var(--blue);}
.nl-apply .wrap{padding:0;}
.nl-apply h2{font-size:34px; line-height:1.12; color:#fff; margin:0 0 30px;}
.nl-apply-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:32px;}
.nl-apply-step{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:var(--r-card); padding:24px 26px;}
.nl-apply-step-number{width:44px; height:44px; border-radius:12px; background:var(--yellow); color:var(--blue-btn-text); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:600; font-size:19px; margin-bottom:15px;}
.nl-apply-step h3{font-size:18px; font-weight:800; font-family:var(--sans); color:#fff; margin:0 0 6px;}
.nl-apply-step p{font-size:16px; line-height:1.6; color:var(--blue-accent-3);}
.nl-apply-actions{display:flex; gap:12px; flex-wrap:wrap;}
.nl-apply-form{display:grid; grid-template-columns:.85fr 1.15fr; gap:36px; align-items:start;}
.nl-apply-form-intro h3{font-size:26px; color:#fff; margin:0 0 10px;}
.nl-apply-form-intro p{font-size:17px; line-height:1.6; color:var(--blue-accent-3); margin:0 0 18px;}
.nl-apply-form-intro .nl-apply-form-or{margin:26px 0 10px; font-weight:800; color:#fff;}
.nl-apply-form-intro .nl-apply-form-mail{margin:18px 0 0; font-size:16px;}
.nl-apply-form-mail a{color:#fff; font-weight:800; text-decoration:underline; word-break:break-word;}
.nl-apply .nl-form-card{padding:28px 26px;}
.nl-apply .nl-form-success h2{font-size:26px; margin:0 0 10px; color:var(--ink);}
.nl-positions-note a{font-weight:800; color:var(--green); text-decoration:underline; white-space:nowrap;}

/* Grüner Telefon-Button (Karten auf Unterseiten) */
.nl-advice-phone{display:flex; align-items:center; justify-content:center; gap:10px; background:var(--green); color:#fff; padding:15px; border-radius:var(--r-btn); font-size:18.5px; font-weight:800;}
.nl-advice-phone:hover{background:var(--green-dark);}
.nl-advice-hours{text-align:center; font-size:15px; font-weight:700; color:var(--green-body);}

/* ---------------------------------------------
   Unterseite: Ausbildung
--------------------------------------------- */
.nl-page-hero--split .wrap{display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center;}
.nl-facts-card{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:28px 30px; box-shadow:var(--shadow-card);}
.nl-facts-title{font-size:14.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--yellow-text); margin-bottom:14px;}
.nl-facts-list{margin:0; display:flex; flex-direction:column;}
.nl-facts-list div{padding:13px 0; border-top:1px solid var(--card-border);}
.nl-facts-list div:first-child{border-top:none; padding-top:0;}
.nl-facts-list dt{font-size:13.5px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:2px;}
.nl-facts-list dd{margin:0; font-size:17px; font-weight:700; color:var(--ink); line-height:1.4;}

.nl-paths{padding:56px 40px; background:var(--white);}
.nl-paths-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.nl-path-card{background:var(--creme-mobile); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:28px 30px;}
.nl-path-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px;}
.nl-path-badge{font-size:13.5px; font-weight:800; color:var(--yellow-text); background:var(--yellow-soft-bg); padding:5px 12px; border-radius:8px; white-space:nowrap;}
.nl-path-card h3{font-size:22px; font-weight:800; font-family:var(--sans); margin:0 0 8px;}
.nl-path-card > p{font-size:16.5px; line-height:1.6; color:var(--body-2);}
.nl-path-card .nl-training-list{margin-top:18px;}
.nl-path-card .nl-training-list li{align-items:flex-start; font-size:16px;}
.nl-path-card .nl-cost-check{background:var(--white);}

.nl-steps-grid{grid-template-columns:repeat(4,1fr);}

.nl-faq{padding:56px 40px; background:var(--white);}
.nl-faq-list{display:flex; flex-direction:column; gap:12px; max-width:860px;}
.nl-faq-item{background:var(--creme-mobile); border:1px solid var(--card-border); border-radius:var(--r-card); padding:0 24px;}
.nl-faq-item summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; font-size:18.5px; font-weight:800; color:var(--ink);}
.nl-faq-item summary::-webkit-details-marker{display:none;}
.nl-faq-item summary::after{content:"+"; flex:none; width:30px; height:30px; border-radius:50%; background:var(--white); color:var(--green); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; transition:transform .15s ease;}
.nl-faq-item[open] summary::after{transform:rotate(45deg);}
.nl-faq-item p{font-size:16.5px; line-height:1.65; color:var(--body-2); padding:0 0 20px; max-width:720px;}

/* Bewerbung / Kontaktformular */
.nl-form-section{padding:60px 40px 64px; background:var(--blue);}
.nl-form-section .wrap{padding:0; display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start;}
.nl-form-intro h2{font-size:34px; line-height:1.12; color:#fff; margin:0 0 14px;}
.nl-form-intro > p{font-size:18px; line-height:1.6; color:var(--blue-accent-3); font-weight:500;}
.nl-form-contacts{display:flex; flex-direction:column; gap:12px; margin-top:28px;}
.nl-form-contact{display:flex; align-items:center; gap:13px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:var(--r-sm); padding:14px 18px; color:#fff;}
.nl-form-contact:hover{background:rgba(255,255,255,.14);}
.nl-form-contact-icon{width:40px; height:40px; flex:none; border-radius:11px; background:var(--yellow); color:var(--blue-btn-text); display:flex; align-items:center; justify-content:center;}
.nl-form-contact-label{display:block; font-size:13.5px; font-weight:700; color:var(--blue-accent-3);}
.nl-form-contact-value{display:block; font-size:18.5px; font-weight:800; word-break:break-word;}

.nl-form-card{background:var(--white); border-radius:var(--r-lg); padding:32px 34px; box-shadow:0 18px 50px rgba(10,40,55,.25);}
.nl-form{display:flex; flex-direction:column; gap:18px;}
.nl-form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.nl-field{display:flex; flex-direction:column; gap:7px; margin:0; padding:0; border:none; min-width:0;}
.nl-field legend,
.nl-field > label:not(.nl-upload):not(.nl-check),
.nl-label{font-size:16px; font-weight:800; color:var(--ink); padding:0; margin-bottom:7px;}
.nl-field > label:not(.nl-upload):not(.nl-check),.nl-label{margin-bottom:0;}
.nl-req{color:var(--red-icon);}
.nl-optional{font-weight:600; color:var(--muted);}
.nl-field input[type="text"],
.nl-field input[type="email"],
.nl-field input[type="tel"],
.nl-field textarea{
  width:100%; font:inherit; font-size:17px; color:var(--ink);
  background:var(--creme-mobile); border:1.5px solid var(--card-border); border-radius:12px;
  padding:13px 15px; transition:border-color .15s ease, background .15s ease;
}
.nl-field textarea{resize:vertical; min-height:110px; line-height:1.55;}
.nl-field input::placeholder,.nl-field textarea::placeholder{color:#A9A195;}
.nl-field input:focus,.nl-field textarea:focus{outline:none; border-color:var(--green); background:var(--white);}
.nl-field.has-error input,.nl-field.has-error textarea,.nl-field.has-error .nl-upload{border-color:var(--red-icon); background:#FFF8F7;}
.nl-field-error{font-size:14.5px; font-weight:700; color:#B0503F;}

.nl-choice-group{display:flex; flex-wrap:wrap; gap:10px;}
.nl-choice{position:relative; cursor:pointer;}
.nl-choice input{position:absolute; opacity:0; pointer-events:none;}
.nl-choice span{display:inline-flex; align-items:center; padding:10px 16px; border-radius:var(--r-pill); border:1.5px solid var(--card-border); background:var(--creme-mobile); font-size:16px; font-weight:700; color:var(--body); transition:all .15s ease;}
.nl-choice:hover span{border-color:var(--green-dot);}
.nl-choice input:checked + span{background:var(--green); border-color:var(--green); color:#fff;}
.nl-choice input:focus-visible + span{outline:2px solid var(--green); outline-offset:2px;}

.nl-upload{display:flex; align-items:center; gap:12px; cursor:pointer; padding:15px 16px; border:1.5px dashed #D8CCB4; border-radius:12px; background:var(--creme-mobile); color:var(--green-icon); font-size:16px; font-weight:700;}
.nl-upload:hover{border-color:var(--green-dot);}
.nl-upload svg{flex:none;}
.nl-upload-text{color:var(--body-2); overflow-wrap:anywhere;}
.nl-upload.has-file{border-style:solid; border-color:var(--green-dot); background:var(--green-tint-bg);}
.nl-upload.has-file .nl-upload-text{color:var(--green);}
.nl-upload-input{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden;}
.nl-field:focus-within .nl-upload{border-color:var(--green);}

.nl-check{display:flex; align-items:flex-start; gap:11px; cursor:pointer; font-size:16px; line-height:1.5; color:var(--body);}
.nl-check input{flex:none; width:20px; height:20px; margin:1px 0 0; accent-color:var(--green); cursor:pointer;}
.nl-check a{color:var(--green); font-weight:700; text-decoration:underline;}

.nl-form-submit{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px;}
.nl-form-submit .nl-btn-yellow{border:none; font-family:inherit; cursor:pointer;}
.nl-form-hint{font-size:14.5px; font-weight:600; color:var(--muted);}
.nl-form-alert{background:var(--red-tint-bg); border:1px solid #F1CFC9; color:#8E3B2E; border-radius:12px; padding:13px 16px; font-size:16px; font-weight:700;}
.nl-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.nl-form-success{text-align:center; padding:24px 8px;}
.nl-form-success-icon{width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:var(--green-tint-bg); color:var(--green-icon); display:flex; align-items:center; justify-content:center;}
.nl-form-success-icon svg{width:30px; height:30px;}
.nl-form-success h3{font-size:26px; margin:0 0 10px;}
.nl-form-success p{font-size:17px; line-height:1.6; color:var(--body-2); max-width:420px; margin:0 auto 22px;}
.nl-form-success p a{color:var(--green); white-space:nowrap;}

/* ---------------------------------------------
   Unterseite: Unsere Leistungen
--------------------------------------------- */
.nl-toc-card{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:26px 24px 18px; box-shadow:var(--shadow-card);}
.nl-toc-card .nl-facts-title{padding:0 6px;}
.nl-toc-card ul{list-style:none; margin:0; padding:0;}
.nl-toc-card li + li{border-top:1px solid var(--card-border);}
.nl-toc-card a{display:flex; align-items:center; gap:14px; padding:11px 6px; font-size:18px; font-weight:800; color:var(--ink); border-radius:12px;}
.nl-toc-card a:hover{background:var(--creme-mobile);}
.nl-toc-icon{width:40px; height:40px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center;}
.nl-toc-icon svg{width:20px; height:20px;}
.nl-toc-chevron{margin-left:auto; color:var(--chevron); transition:transform .15s ease;}
.nl-toc-card a:hover .nl-toc-chevron{transform:translateX(3px);}

.nl-areas{padding:56px 40px; background:var(--white);}
.nl-areas .wrap{padding:0; display:flex; flex-direction:column; gap:20px;}
.nl-area-card{display:grid; grid-template-columns:1.25fr .75fr; gap:36px; background:var(--creme-mobile); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:32px 34px; scroll-margin-top:24px;}
.nl-area-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px;}
.nl-area-card h2{font-size:30px; margin:0 0 10px;}
.nl-area-main > p{font-size:18px; line-height:1.65; color:var(--body-2); max-width:560px;}
.nl-area-payer{display:flex; align-items:flex-start; gap:12px; margin-top:22px; padding:14px 16px; background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-sm); font-size:16px; line-height:1.5; color:var(--body);}
.nl-area-payer strong{color:var(--ink);}
.nl-area-payer-icon{width:32px; height:32px; flex:none; border-radius:10px; background:var(--green-tint-bg); color:var(--green-icon); display:flex; align-items:center; justify-content:center; margin-top:-4px;}
.nl-area-list{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-card); padding:22px 24px; align-self:start;}
.nl-area-list-title{font-size:13.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:14px;}
.nl-area-list .nl-training-list{margin:0;}
.nl-area-list .nl-training-list li{align-items:flex-start; font-size:16px;}

.nl-relatives{padding:56px 40px; background:var(--creme); scroll-margin-top:0;}
.nl-training-cta .nl-training-cta-secondary{width:100%; margin-top:2px;}

/* Symbolbilder (KI-Illustrationen) – immer mit sichtbarem Hinweis „Symbolbild“ */
.nl-symbol{position:relative; margin:0;}
.nl-symbol img{display:block; width:100%; height:100%; object-fit:cover;}
.nl-symbol figcaption{position:absolute; right:12px; bottom:12px; padding:4px 10px; border-radius:var(--r-pill); background:rgba(30,30,30,.55); color:#fff; font-family:var(--sans); font-size:12.5px; font-weight:700; line-height:1.4; letter-spacing:.02em;}
.nl-trust-image.nl-symbol{height:400px;}
.nl-trust-image.nl-symbol img{object-position:center 8% !important;}
.nl-media-band{padding:0 40px; background:linear-gradient(var(--creme) 50%, var(--white) 50%);}
.nl-media-band .wrap{padding:0;}
.nl-media-band .nl-symbol{border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-card); aspect-ratio:16/7; max-height:480px;}
.nl-media-band .nl-symbol img{object-position:center 35%;}

/* ---------------------------------------------
   Unterseite: Kosten & Finanzierung
--------------------------------------------- */
.nl-summary-head{align-items:center; margin-bottom:14px;}
.nl-summary-head .nl-facts-title{margin:0;}
.nl-facts-card .nl-training-list{margin:0;}

.nl-budget{padding:56px 40px; background:var(--creme); scroll-margin-top:0;}
.nl-budget-card{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:10px 28px 22px; box-shadow:var(--shadow-card);}
.nl-budget-table{width:100%; border-collapse:collapse; font-size:18px;}
.nl-budget-table th,.nl-budget-table td{padding:16px 14px; text-align:left; border-bottom:1px solid var(--card-border);}
.nl-budget-table thead th{font-size:16px; font-weight:800; color:var(--ink); vertical-align:bottom;}
.nl-budget-table thead th small{display:block; font-size:14px; font-weight:600; color:var(--muted); margin-top:2px;}
.nl-budget-table thead .nl-legend-dot{display:inline-block; margin-right:7px;}
.nl-budget-table tbody td{font-weight:700; color:var(--body); font-variant-numeric:tabular-nums;}
.nl-budget-table tbody td:nth-child(2){color:var(--green); font-weight:800;}
.nl-budget-table tbody tr:last-child th,.nl-budget-table tbody tr:last-child td{border-bottom:none;}
.nl-grade{display:inline-flex; width:34px; height:34px; border-radius:10px; background:var(--yellow-soft-bg); color:var(--yellow-text); align-items:center; justify-content:center; font-family:var(--serif); font-weight:600; font-size:18.5px;}
.nl-budget-source{margin-top:12px; font-size:14.5px; color:var(--muted);}
.nl-budget-source a{color:var(--green); font-weight:700; text-decoration:underline;}
.nl-update-hint{display:flex; gap:18px; align-items:flex-start; margin-top:28px; padding:22px 26px; border-radius:var(--r-lg); background:var(--white); border-left:5px solid var(--yellow);}
.nl-update-hint-icon{flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--yellow-soft-bg); color:var(--yellow-text);}
.nl-update-hint h3{margin:0 0 6px; font-size:20px;}
.nl-update-hint p{margin:0; font-size:17px; line-height:1.6; color:var(--ink);}
.nl-update-hint a{color:var(--green); font-weight:800; white-space:nowrap; text-decoration:underline;}
@media (max-width:767px){ .nl-update-hint{flex-direction:column; padding:18px; gap:12px;} .nl-update-hint-icon{width:40px; height:40px;} }

.nl-example{display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; align-items:center; margin-top:20px; background:var(--green-tint-bg); border-radius:var(--r-lg); padding:28px 30px;}
.nl-example h3{font-size:24px; color:var(--green-dark); margin:0 0 8px;}
.nl-example-text p{font-size:16.5px; line-height:1.6; color:var(--green-body);}
.nl-example-calc{background:var(--white); border-radius:var(--r-card); padding:20px 22px;}
.nl-example-label{font-size:14.5px; font-weight:800; color:var(--muted); margin-bottom:12px;}
.nl-example-calc .nl-cost-bar{margin-top:0;}
.nl-example-rows{margin:14px 0 0; display:flex; flex-direction:column; gap:8px;}
.nl-example-rows div{display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:16px;}
.nl-example-rows dt{display:flex; align-items:flex-start; gap:8px; color:var(--body); font-weight:600;}
.nl-example-rows dt .nl-legend-dot{margin-top:.42em;}
.nl-example-rows dd{margin:0; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums;}
.nl-example-rows .sach dd{color:var(--green);}
.nl-example-rows .geld dd{color:var(--yellow-text-2);}
.nl-example-rows small{font-weight:600; color:var(--muted);}

.nl-extras{padding:56px 40px; background:var(--white);}
.nl-extras-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.nl-extra-card{background:var(--creme-mobile); border:1px solid var(--card-border); border-radius:var(--r-card); padding:22px;}
.nl-extra-amount{display:inline-block; font-size:15px; font-weight:800; color:var(--green); background:var(--green-tint-bg); padding:5px 11px; border-radius:8px; margin-bottom:14px;}
.nl-extra-card h3{font-size:18.5px; font-weight:800; font-family:var(--sans); margin:0 0 6px;}
.nl-extra-card p{font-size:16px; line-height:1.55; color:var(--body-2);}
.nl-faq-disclaimer{margin-top:18px;}
.nl-facts-card .nl-training-list a{color:var(--green); font-weight:700; text-decoration:underline; text-underline-offset:2px;}

/* Hilfe zur Pflege */
.nl-solidarity{padding:60px 40px; background:var(--warm-panel); scroll-margin-top:0;}
.nl-solidarity .wrap{padding:0; display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:start;}
.nl-solidarity h2{font-size:32px; line-height:1.16; margin:0 0 16px;}
.nl-solidarity-main .nl-trust-quote{margin-bottom:14px;}
.nl-right-quote{margin:24px 0 28px; padding:20px 24px; background:var(--green-tint-bg); border-left:4px solid var(--green); border-radius:0 var(--r-sm) var(--r-sm) 0;}
.nl-right-quote p{font-family:var(--serif); font-size:24px; line-height:1.3; color:var(--green-dark);}
.nl-right-quote cite{display:block; margin-top:6px; font-style:normal; font-size:16px; font-weight:700; color:var(--green-body);}
.nl-solidarity-subtitle{font-family:var(--sans); font-size:18.5px; font-weight:800; margin:0 0 4px;}
.nl-solidarity-main .nl-training-list li{align-items:flex-start;}
.nl-solidarity-aside{display:flex; flex-direction:column; gap:18px;}
.nl-early-note{background:var(--yellow-soft-bg); border:1px solid #F3DFA6; border-radius:var(--r-card); padding:20px 22px;}
.nl-early-note strong{display:block; font-size:18px; color:#7A5600; margin-bottom:6px;}
.nl-early-note p{font-size:16px; line-height:1.55; color:#6B5A2E;}
.nl-office-card .nl-facts-title{margin-bottom:8px;}
.nl-office-card .nl-contact-card-title span{display:block; font-weight:700; color:var(--body-2); font-size:16.5px; margin-top:2px;}
.nl-office-card small{display:block; font-size:14.5px; font-weight:600; color:var(--muted); margin-top:3px;}
.nl-office-card .nl-contact-list a{word-break:break-word;}
.nl-office-link{display:inline-block; margin-top:16px; font-size:16px; font-weight:800; color:var(--green); text-decoration:underline; text-underline-offset:2px;}
.nl-solidarity-aside .nl-next-steps p{font-size:16px; line-height:1.55; color:var(--green-body);}

/* ---------------------------------------------
   Rechtstexte: Impressum, Datenschutz
--------------------------------------------- */
.nl-legal-hero{padding-top:52px; padding-bottom:40px;}
.nl-legal-hero h1{margin-bottom:8px;}
.nl-legal-updated{font-size:16px; font-weight:700; color:var(--muted);}

.nl-legal{padding:48px 40px 64px; background:var(--white);}
.nl-legal .wrap{padding:0; display:grid; grid-template-columns:260px minmax(0,760px); gap:56px; align-items:start;}
.nl-legal .wrap > .nl-prose:only-child{grid-column:1 / -1; max-width:760px;}
.nl-legal-toc{position:sticky; top:24px; background:var(--creme-mobile); border:1px solid var(--card-border); border-radius:var(--r-card); padding:20px 20px 14px;}
.nl-legal-toc .nl-facts-title{margin-bottom:10px;}
.nl-legal-toc ol{margin:0; padding:0 0 0 20px; display:flex; flex-direction:column; gap:7px; font-size:16px; line-height:1.4; color:var(--muted);}
.nl-legal-toc a{color:var(--body); font-weight:700;}
.nl-legal-toc a:hover{color:var(--green); text-decoration:underline;}

.nl-prose{font-size:18px; line-height:1.7; color:var(--body);}
.nl-prose > *:first-child{margin-top:0;}
.nl-prose h2{font-size:26px; line-height:1.2; color:var(--ink); margin:44px 0 12px; scroll-margin-top:24px;}
.nl-prose h3{font-family:var(--sans); font-size:18.5px; font-weight:800; color:var(--ink); margin:26px 0 6px;}
.nl-prose p,.nl-prose ul,.nl-prose ol,.nl-prose address{margin:0 0 14px;}
.nl-prose ul,.nl-prose ol{padding-left:22px;}
.nl-prose li{margin-bottom:4px;}
.nl-prose address{font-style:normal;}
.nl-prose a{color:var(--green); font-weight:700; text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere;}
.nl-prose strong{color:var(--ink);}
.nl-prose mark{background:var(--yellow-soft-bg); color:#7A5600; padding:1px 4px; border-radius:4px;}
.nl-legal-draft{background:var(--yellow-soft-bg); border:1px solid #F3DFA6; border-radius:var(--r-sm); padding:16px 18px; margin-bottom:28px; font-size:16px; color:#6B5A2E;}
.nl-legal-draft strong{color:#7A5600;}

/* Fließtext-Elemente, die vor allem in Blogbeiträgen vorkommen */
.nl-prose h1{font-size:28px; line-height:1.2; color:var(--ink); margin:44px 0 12px;}
.nl-prose h4{font-family:var(--sans); font-size:18px; font-weight:800; color:var(--ink); margin:22px 0 6px;}
.nl-prose blockquote{margin:26px 0; padding:18px 22px; background:var(--green-tint-bg); border-left:4px solid var(--green); border-radius:0 var(--r-sm) var(--r-sm) 0; font-family:var(--serif); font-size:20px; line-height:1.45; color:var(--green-dark);}
.nl-prose blockquote p:last-child{margin-bottom:0;}
.nl-prose blockquote cite{display:block; margin-top:8px; font-family:var(--sans); font-style:normal; font-size:16px; font-weight:700; color:var(--green-body);}
.nl-prose hr{border:none; border-top:1px solid var(--card-border); margin:32px 0;}
.nl-prose img{height:auto; border-radius:var(--r-sm);}
.nl-prose figure{margin:26px 0;}
.nl-prose figcaption{margin-top:8px; font-size:15px; color:var(--muted);}
.nl-prose .wp-block-image img{margin:0 auto;}

/* ---------------------------------------------
   Blog
--------------------------------------------- */
.nl-blog-hero{padding-bottom:40px;}
.nl-blog-hero .nl-hero-lead{max-width:620px;}
.nl-blog-filter{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px;}
.nl-choice-pill{display:inline-flex; align-items:center; padding:9px 16px; border-radius:var(--r-pill); border:1.5px solid var(--card-border); background:var(--white); font-size:16px; font-weight:700; color:var(--body); transition:all .15s ease;}
.nl-choice-pill:hover{border-color:var(--green-dot); color:var(--ink);}
.nl-choice-pill.is-active{background:var(--green); border-color:var(--green); color:#fff;}

.nl-blog{padding:48px 40px 64px; background:var(--white);}
.nl-blog .wrap,.nl-related .wrap{padding:0;}
.nl-post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.nl-post-card{display:flex; flex-direction:column; background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-card); overflow:hidden; box-shadow:var(--shadow-card); transition:box-shadow .15s ease, transform .15s ease;}
.nl-post-card:hover{box-shadow:0 8px 22px rgba(60,50,30,.09); transform:translateY(-2px);}
.nl-post-card-media{display:block; aspect-ratio:16/10; overflow:hidden; background:var(--warm-panel);}
.nl-post-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.nl-post-card:hover .nl-post-card-media img{transform:scale(1.03);}
.nl-post-card-placeholder{display:block; width:100%; height:100%; background:repeating-linear-gradient(135deg,#E1D6BF 0 13px,#EAE0CB 13px 26px);}
.nl-title-card{display:block; width:100%; height:100%; transition:transform .3s ease;}
.nl-post-card:hover .nl-title-card{transform:scale(1.03);}
/* Rubrikname im Bild nur bei großen Karten – bei kleinen wäre er unter 12 px
   und steht ohnehin als Etikett direkt unter dem Bild. */
.nl-post-card-media{container-type:inline-size;}
@container (max-width:460px){ .nl-title-card-kicker{display:none;} }
.nl-post-card-body{display:flex; flex-direction:column; gap:10px; padding:20px 22px 22px; flex:1;}
.nl-post-meta{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:14.5px; font-weight:700; color:var(--muted);}
.nl-post-meta .nl-path-badge:hover{background:#FCE7B0;}
.nl-post-card-title{font-size:21px; line-height:1.25; margin:0;}
.nl-post-card-title a:hover{color:var(--green);}
.nl-post-card-excerpt{font-size:16px; line-height:1.6; color:var(--body-2); flex:1;}
.nl-post-card .nl-services-link{font-size:16px;}

/* Neuester Beitrag groß über die ganze Breite */
.nl-post-card--featured{grid-column:1 / -1; flex-direction:row;}
.nl-post-card--featured .nl-post-card-media{flex:0 0 56%; aspect-ratio:auto; min-height:340px;}
.nl-post-card--featured .nl-post-card-body{padding:32px 34px; justify-content:center;}
.nl-post-card--featured .nl-post-card-title{font-size:30px;}
.nl-post-card--featured .nl-post-card-excerpt{flex:0 0 auto; font-size:18px;}

.nl-pagination{margin-top:40px;}
.nl-pagination .nav-links{display:flex; flex-wrap:wrap; justify-content:center; gap:8px;}
.nl-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px; border-radius:12px; border:1px solid var(--card-border); background:var(--white); font-weight:800; font-size:16px; color:var(--body);}
.nl-pagination a.page-numbers:hover{border-color:var(--green); color:var(--green);}
.nl-pagination .page-numbers.current{background:var(--green); border-color:var(--green); color:#fff;}
.nl-pagination .dots{border:none; background:none;}
.nl-blog-empty{text-align:center; padding:40px 0;}
.nl-blog-empty h2{font-size:26px; margin-bottom:18px;}

/* Einzelner Beitrag */
.nl-single-hero{padding-top:40px; padding-bottom:36px;}
.nl-single-hero .wrap{max-width:860px;}
.nl-back-link{display:inline-flex; align-items:center; gap:6px; font-size:16px; font-weight:800; color:var(--green); margin-bottom:22px;}
.nl-back-link:hover{text-decoration:underline;}
.nl-single-cats{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
.nl-single-hero h1{font-size:42px; line-height:1.14; letter-spacing:-.01em; margin:0 0 14px;}
.nl-single-meta{display:flex; flex-wrap:wrap; gap:6px 10px; font-size:16px; font-weight:700; color:var(--muted);}
.nl-single-media{background:linear-gradient(var(--creme) 50%, var(--white) 50%); padding:0 40px;}
.nl-single-media .wrap{max-width:1000px; padding:0;}
.nl-single-media img{width:100%; height:auto; max-height:520px; object-fit:cover; border-radius:var(--r-lg); box-shadow:var(--shadow-card);}
.nl-single-body{padding:44px 40px 56px; background:var(--white);}
.nl-single-body .wrap{max-width:760px; padding:0;}
.nl-single-body .nl-prose{font-size:18.5px; line-height:1.75;}

.nl-single-cta{display:grid; grid-template-columns:1fr auto; gap:20px 28px; align-items:center; margin-top:44px; padding:26px 28px; background:var(--green-tint-bg); border-radius:var(--r-lg);}
.nl-single-cta h2{font-size:24px; color:var(--green-dark); margin:0 0 6px;}
.nl-single-cta p{font-size:16.5px; line-height:1.55; color:var(--green-body);}
.nl-single-cta-actions{display:flex; flex-direction:column; gap:10px; min-width:220px;}
.nl-single-cta .nl-advice-phone{padding:13px 20px; font-size:18px;}

.nl-post-nav{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px;}
.nl-post-nav-link{display:flex; flex-direction:column; gap:4px; padding:16px 18px; border:1px solid var(--card-border); border-radius:var(--r-sm); background:var(--creme-mobile); transition:border-color .15s ease;}
.nl-post-nav-link:hover{border-color:var(--green-dot);}
.nl-post-nav-link span{font-size:14px; font-weight:800; color:var(--muted);}
.nl-post-nav-link strong{font-size:16.5px; line-height:1.35; color:var(--ink);}
.nl-post-nav-link--prev{grid-column:2; text-align:right;}

.nl-related{padding:56px 40px 64px; background:var(--creme);}

/* ---------------------------------------------
   Schnellbewerbung /mobil/ (Ziel des QR-Codes)
--------------------------------------------- */
.nl-quick{padding:44px 20px 48px; background:var(--blue);}
.nl-quick .wrap{max-width:600px; padding:0;}
.nl-quick-eyebrow{display:inline-flex; align-items:center; padding:7px 14px; border-radius:var(--r-pill); background:rgba(255,255,255,.14); color:#fff; font-size:14.5px; font-weight:700; margin-bottom:16px;}
.nl-quick h1{font-size:34px; line-height:1.15; color:#fff; margin:0 0 12px;}
.nl-quick-lead{font-size:18px; line-height:1.55; color:var(--blue-accent-3); margin-bottom:26px;}
.nl-quick .nl-form-card{padding:26px 24px;}
.nl-quick .nl-form-success h2{font-size:26px; margin:0 0 10px;}
.nl-quick-submit{width:100%; border:none; font-family:inherit; font-size:18px; padding:17px 24px; cursor:pointer; box-shadow:none;}
.nl-quick-call{display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:26px; color:var(--blue-accent-3); font-size:16px; font-weight:700;}
.nl-quick-call-btn{display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:var(--r-btn); border:1.5px solid rgba(255,255,255,.35); background:rgba(255,255,255,.1); color:#fff; font-size:20px; font-weight:800;}
.nl-quick-call-btn:hover{background:rgba(255,255,255,.18);}
.nl-quick-why{padding:40px 20px 48px; background:var(--creme);}
.nl-quick-why .wrap{max-width:600px; padding:0;}
.nl-quick-why h2{font-size:26px; margin:0 0 6px;}
.nl-quick-why .nl-training-list{margin:14px 0 22px;}
.nl-quick-why .nl-training-list .nl-cost-check{background:var(--white);}
@media (min-width:768px){
  .nl-quick{padding-top:64px; padding-bottom:64px;}
  .nl-quick h1{font-size:42px;}
  .nl-quick .nl-form-card{padding:32px 34px;}
}

/* ---------------------------------------------
   Fehlerseite 404
--------------------------------------------- */
.nl-404-hero{position:relative; overflow:hidden;}
.nl-404-hero .wrap{display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center;}
.nl-404-hero .nl-hero-lead{max-width:560px;}
.nl-404-mark{font-family:var(--serif); font-weight:500; font-size:180px; line-height:1; letter-spacing:-.02em; color:var(--green); opacity:.13; text-align:center; user-select:none;}
.nl-404-links{padding:48px 40px 64px; background:var(--white);}
.nl-404-links .wrap{padding:0;}
.nl-404-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.nl-404-grid .nl-situation-card{padding:20px;}
.nl-404-grid .nl-situation-title{font-size:18.5px;}

/* ---------------------------------------------
   Unterseite: Kontakt
--------------------------------------------- */
.nl-call-card{background:var(--green); color:#fff; border-radius:var(--r-lg); padding:30px 32px; box-shadow:0 14px 34px rgba(38,70,53,.22);}
.nl-call-card-label{font-size:14.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#BFD8C8; margin-bottom:12px;}
.nl-call-card-number{display:flex; align-items:center; gap:14px; font-size:30px; font-weight:800; letter-spacing:.01em; color:#fff; white-space:nowrap;}
.nl-call-card-number:hover{color:var(--yellow);}
.nl-call-card-icon{width:52px; height:52px; flex:none; border-radius:var(--r-sm); background:var(--yellow); color:var(--blue-btn-text); display:flex; align-items:center; justify-content:center;}
.nl-call-card-hours{display:flex; align-items:center; gap:8px; margin:16px 0 14px; font-size:16.5px; font-weight:700; color:#fff;}
.nl-call-card-hours svg{color:var(--yellow);}
.nl-emergency{display:flex; gap:12px; align-items:flex-start; padding-top:16px; border-top:1px solid rgba(255,255,255,.16); font-size:16px; line-height:1.5; color:#CFE0D3;}
.nl-emergency strong{display:block; font-size:18px; color:#fff;}
.nl-emergency-badge{flex:none; background:var(--yellow); color:var(--blue-btn-text); font-size:14.5px; font-weight:800; padding:5px 9px; border-radius:8px; margin-top:1px;}
.nl-call-card-112{margin-top:14px; font-size:14.5px; font-weight:700; color:#BFD8C8;}

.nl-contact-section{padding:56px 40px 64px; background:var(--warm-panel);}
.nl-contact-section .wrap{padding:0; display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:start;}
.nl-form-card--light{box-shadow:var(--shadow-card); border:1px solid var(--card-border);}
.nl-form-title{font-size:30px; margin:0 0 6px;}
.nl-form-lead{font-size:16.5px; color:var(--body-2); margin-bottom:24px;}
.nl-field-hint{font-size:14.5px; font-weight:600; color:var(--muted); margin-top:-8px;}
.nl-form-submit .nl-btn-green{border:none; font-family:inherit; font-size:18px; padding:15px 30px; cursor:pointer;}

.nl-contact-aside{display:flex; flex-direction:column; gap:20px;}
.nl-contact-card{background:var(--white); border:1px solid var(--card-border); border-radius:var(--r-lg); padding:28px 30px;}
.nl-contact-card-title{font-family:var(--sans); font-size:18.5px; font-weight:800; margin:0 0 18px;}
.nl-contact-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
.nl-contact-list li{display:flex; align-items:flex-start; gap:13px; font-size:16.5px; line-height:1.5; font-weight:600; color:var(--body);}
.nl-contact-list a{color:var(--ink); font-weight:800;}
.nl-contact-list a:hover{color:var(--green);}
.nl-contact-icon{width:36px; height:36px; flex:none; border-radius:10px; background:var(--green-tint-bg); color:var(--green-icon); display:flex; align-items:center; justify-content:center; margin-top:-6px;}
.nl-contact-icon svg{width:18px; height:18px;}
.nl-contact-emergency .nl-contact-icon{background:var(--yellow-soft-bg); color:var(--yellow-text);}
.nl-contact-emergency span{color:var(--ink); font-weight:700;}

.nl-social-card p{font-size:16px; line-height:1.55; color:var(--body-2);}
.nl-social-card .nl-contact-card-title{margin-bottom:6px;}
.nl-social-actions{display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 12px;}
.nl-social-actions a{gap:8px; padding:12px 18px; font-size:16px;}
.nl-social-actions svg{width:18px; height:18px;}
.nl-social-card p.nl-social-note{font-size:13.5px; color:var(--muted);}
.nl-contact-list a.nl-contact-route{display:block; width:fit-content; margin-top:4px; font-size:16px; color:var(--green); text-decoration:underline;}

.nl-next-steps{background:var(--green-tint-bg); border-radius:var(--r-lg); padding:26px 30px;}
.nl-next-steps ol{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
.nl-next-steps li{display:flex; gap:14px; align-items:flex-start; font-size:16px; line-height:1.55; color:var(--green-body);}
.nl-next-steps strong{display:block; font-size:17px; color:var(--green-dark);}
.nl-next-steps-number{width:30px; height:30px; flex:none; border-radius:50%; background:var(--white); color:var(--green); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:600; font-size:18px;}

/* ---------------------------------------------
   Footer
--------------------------------------------- */
.nl-footer{padding:48px 40px 30px; background:var(--green); color:var(--blue-accent-3);}
.nl-footer .wrap{padding:0;}
.nl-footer-top{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:30px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.13);}
.nl-footer-brand{display:flex; align-items:center; gap:11px; margin-bottom:13px;}
.nl-footer-logo{flex:none; display:block; width:56px; height:auto;}
.nl-footer-name{color:#fff; font-weight:800; font-size:16.5px;}
.nl-footer-claim{font-size:16px; line-height:1.6; margin:0; color:#B9D0C1; max-width:280px;}
.nl-footer h4{color:#fff; font-weight:800; font-size:14.5px; margin:0 0 13px; font-family:var(--sans);}
.nl-footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; font-size:16px; font-weight:600;}
.nl-footer ul a:hover{color:#fff;}
.nl-footer-contact{display:flex; flex-direction:column; gap:9px; font-size:16px; font-weight:600;}
.nl-footer-contact a:hover{color:#fff;}
.nl-footer-emergency{display:flex; align-items:center; gap:8px; color:#fff; font-weight:700;}
.nl-footer-emergency-badge{flex:none; background:var(--yellow); color:var(--blue-btn-text); font-size:13px; font-weight:800; padding:3px 7px; border-radius:6px;}
.nl-footer-social{display:inline-flex; align-items:center; gap:8px;}
/* bpa-Logo auf weißer Fläche – die Logofarben (Blau) sind auf Grün sonst kaum lesbar */
.nl-footer-member-badge{display:inline-flex; align-items:center; justify-content:center; width:178px; padding:12px 14px; border-radius:12px; background:#fff;}
.nl-footer-member-badge:hover{box-shadow:0 0 0 3px rgba(255,255,255,.35);}
.nl-footer-member-badge img{display:block; width:150px; height:auto;}
.nl-footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding-top:20px; font-size:14px; color:#B9D0C1; font-weight:600;}

/* ---------------------------------------------
   Responsive
--------------------------------------------- */
@media (max-width:1023px){
  .nl-breadcrumb{padding-left:24px; padding-right:24px;}
  .nl-media-band{padding-left:24px; padding-right:24px;}

  .wrap{padding:0 24px;}
  .nl-header .wrap,
  .nl-hero,
  .nl-banner,
  .nl-services,
  .nl-trust,
  .nl-reviews,
  .nl-jobs,
  .nl-page-hero,
  .nl-benefits,
  .nl-positions,
  .nl-training,
  .nl-apply,
  .nl-paths,
  .nl-faq,
  .nl-form-section,
  .nl-contact-section,
  .nl-areas,
  .nl-relatives,
  .nl-budget,
  .nl-extras,
  .nl-solidarity,
  .nl-legal,
  .nl-blog,
  .nl-single-media,
  .nl-single-body,
  .nl-related,
  .nl-404-links,
  .nl-footer{padding-left:24px; padding-right:24px;}

  .nl-404-hero .wrap{grid-template-columns:1fr;}
  .nl-404-mark{display:none;}
  .nl-404-grid{grid-template-columns:1fr 1fr;}

  .nl-post-grid{grid-template-columns:1fr 1fr;}
  .nl-post-card--featured{flex-direction:column;}
  .nl-post-card--featured .nl-post-card-media{flex:none; aspect-ratio:16/9; min-height:0;}
  .nl-post-grid--three .nl-post-card:nth-child(3){display:none;}

  .nl-legal .wrap{grid-template-columns:1fr; gap:28px;}
  .nl-legal-toc{position:static;}

  .nl-solidarity .wrap{grid-template-columns:1fr; gap:28px;}

  .nl-area-card{grid-template-columns:1fr; gap:22px;}
  .nl-example{grid-template-columns:1fr; gap:20px;}
  .nl-extras-grid{grid-template-columns:1fr 1fr;}

  .nl-page-hero--split .wrap{grid-template-columns:minmax(0,1fr); gap:32px;}
  .nl-contact-section .wrap{grid-template-columns:1fr;}
  .nl-steps-grid{grid-template-columns:1fr 1fr;}
  .nl-form-section .wrap{grid-template-columns:1fr; gap:32px;}

  .nl-nav ul{display:none;}
  .nl-menu-toggle{display:flex; align-items:center; justify-content:center;}

  /* Handy/Tablet: Begrüßung → Text → Auswahl-Karten → „Lieber direkt sprechen?“ */
  .nl-hero-top{display:flex; flex-direction:column; align-items:stretch; gap:0;}
  .nl-hero-copy{display:contents;}
  .nl-hero-copy > *{position:relative; z-index:1;}
  .nl-hero-copy .nl-eyebrow{align-self:flex-start;}
  .nl-hero-lead{margin-bottom:0;}
  .nl-situations{order:1; margin-top:28px;}
  .nl-phone-card{order:2; align-self:flex-start; margin-top:20px;}
  .nl-hero-top::before{right:auto; width:380px; background-size:380px 380px; background-position:-60px center;}

  .nl-services-grid{grid-template-columns:1fr 1fr;}
  .nl-trust .wrap{grid-template-columns:1fr;}
  .nl-reviews-head{flex-direction:column; align-items:flex-start; gap:10px;}
  .nl-reviews-grid{grid-template-columns:1fr;}
  .nl-reviews-more{white-space:normal;}
  .nl-trust-image{height:220px;}

  .nl-training .wrap{grid-template-columns:minmax(0,1fr);}
  .nl-apply-steps{grid-template-columns:1fr;}

  .nl-jobs-actions{width:100%;}
  .nl-btn-yellow,.nl-btn-outline{width:100%;}

  .nl-footer-top{grid-template-columns:1fr 1fr;}
}

@media (max-width:767px){
  .nl-brand{gap:10px;}
  .nl-brand-logo{width:44px;}
  .nl-media-band{padding-left:20px; padding-right:20px;}
  .nl-trust-image.nl-symbol{height:320px;}
  .nl-media-band .nl-symbol{aspect-ratio:4/3;}

  /* Brotkrumen auf dem Handy: nur „‹ Eltern-Seite“ als großer Zurück-Link */
  .nl-breadcrumb{padding:10px 20px 0;}
  .nl-breadcrumb li{display:none;}
  .nl-breadcrumb li.is-parent{display:inline-flex;}
  .nl-breadcrumb li.is-parent::after{content:none;}
  .nl-breadcrumb a{min-height:44px; padding-right:12px; font-size:17px; text-decoration:none;}
  .nl-breadcrumb-back{display:block; margin-left:-4px;}
  .nl-breadcrumb + .nl-page-hero{padding-top:12px;}
  .nl-breadcrumb + .nl-single .nl-single-hero{padding-top:8px;}
  .nl-breadcrumb + .nl-quick{padding-top:16px;}

  .wrap{padding:0 20px;}
  .nl-header .wrap,
  .nl-hero,
  .nl-banner,
  .nl-services,
  .nl-trust,
  .nl-reviews,
  .nl-jobs,
  .nl-page-hero,
  .nl-benefits,
  .nl-positions,
  .nl-training,
  .nl-apply,
  .nl-paths,
  .nl-faq,
  .nl-form-section,
  .nl-contact-section,
  .nl-areas,
  .nl-relatives,
  .nl-budget,
  .nl-extras,
  .nl-solidarity,
  .nl-legal,
  .nl-blog,
  .nl-single-media,
  .nl-single-body,
  .nl-related,
  .nl-404-links,
  .nl-footer{padding-left:20px; padding-right:20px;}

  .nl-404-grid{grid-template-columns:1fr;}
  .nl-404-links{padding-top:32px; padding-bottom:44px;}

  .nl-blog{padding-top:32px; padding-bottom:44px;}
  .nl-post-grid{grid-template-columns:1fr;}
  .nl-post-grid--three .nl-post-card:nth-child(3){display:flex;}
  .nl-post-card--featured .nl-post-card-body{padding:20px 22px 22px;}
  .nl-post-card--featured .nl-post-card-title{font-size:23px;}
  .nl-single-hero h1{font-size:29px;}
  .nl-single-body{padding-top:28px; padding-bottom:40px;}
  .nl-single-body .nl-prose{font-size:18px;}
  .nl-single-cta{grid-template-columns:1fr; padding:22px;}
  .nl-single-cta-actions{min-width:0;}
  .nl-post-nav{grid-template-columns:1fr;}
  .nl-post-nav-link--prev{grid-column:auto; text-align:left;}
  .nl-related{padding-top:40px; padding-bottom:44px;}

  .nl-legal{padding-top:32px; padding-bottom:44px;}
  .nl-prose{font-size:17px;}
  .nl-prose h2{font-size:22px; margin-top:34px;}

  .nl-solidarity{padding-top:40px; padding-bottom:44px;}
  .nl-solidarity h2{font-size:25px;}
  .nl-right-quote p{font-size:20px;}

  .nl-budget,.nl-extras{padding-top:40px; padding-bottom:40px;}
  .nl-extras-grid{grid-template-columns:1fr;}
  .nl-example{padding:22px;}
  .nl-example-calc{padding:16px;}
  .nl-example-rows div{flex-direction:column; gap:2px;}

  /* Tabelle wird zu einer Karte pro Pflegegrad */
  .nl-budget-card{padding:8px 18px 16px;}
  .nl-budget-table thead{position:absolute; left:-9999px;}
  .nl-budget-table,.nl-budget-table tbody,.nl-budget-table tr,.nl-budget-table th,.nl-budget-table td{display:block; width:100%;}
  .nl-budget-table tr{padding:14px 0; border-bottom:1px solid var(--card-border);}
  .nl-budget-table tbody tr:last-child{border-bottom:none;}
  .nl-budget-table th,.nl-budget-table td{border:none; padding:3px 0;}
  .nl-budget-table tbody th{margin-bottom:6px;}
  .nl-budget-table tbody th::after{content:"Pflegegrad"; margin-left:10px; font-size:16.5px; font-weight:800; color:var(--ink);}
  .nl-budget-table td{display:flex; justify-content:space-between; gap:12px; font-size:16.5px;}
  .nl-budget-table td::before{content:attr(data-label); font-weight:600; color:var(--body-2);}

  .nl-areas,.nl-relatives{padding-top:40px; padding-bottom:40px;}
  .nl-area-card{padding:22px;}
  .nl-area-card h2{font-size:25px;}
  .nl-area-list{padding:18px;}
  .nl-toc-card{padding:20px 16px 12px;}

  .nl-call-card{padding:24px 22px;}
  .nl-call-card-number{font-size:24px; gap:12px;}
  .nl-call-card-icon{width:44px; height:44px;}
  .nl-contact-section{padding-top:40px; padding-bottom:44px;}
  .nl-contact-card,.nl-next-steps{padding:22px;}
  .nl-form-title{font-size:25px;}
  .nl-form-submit .nl-btn-green{width:100%;}

  .nl-paths,.nl-faq{padding-top:40px; padding-bottom:40px;}
  .nl-paths-grid,.nl-steps-grid{grid-template-columns:1fr;}
  .nl-path-card{padding:22px;}
  .nl-facts-card{padding:22px;}
  .nl-faq-item{padding:0 18px;}
  .nl-faq-item summary{font-size:17px;}
  .nl-form-section{padding-top:44px; padding-bottom:44px;}
  .nl-form-intro h2{font-size:26px;}
  .nl-form-card{padding:24px 20px;}
  .nl-form-row{grid-template-columns:1fr;}
  .nl-form-submit .nl-btn-yellow{width:100%;}

  .nl-hero{padding:40px 20px 36px;}
  .nl-hero-top::before{background-image:none;}
  .nl-hero h1{font-size:32px;}
  .nl-hero-lead{max-width:none;}
  .nl-phone-card{width:100%;}

  /* Handy: mehr Breite für den Text statt kleinerer Schrift */
  .nl-situation-card{padding:16px 14px 16px 16px; gap:12px; align-items:flex-start;}
  .nl-situation-icon{width:42px; height:42px; border-radius:12px;}
  .nl-situation-icon svg{width:22px; height:22px;}
  .nl-situation-title{font-size:17px; line-height:1.3;}
  .nl-situation-chevron{align-self:center;}
  .nl-situation-chevron svg{width:18px; height:18px;}

  .nl-hero-cost{padding:22px; gap:16px;}
  .nl-hero-cost-icon{width:46px; height:46px;}
  .nl-cost-grid{grid-template-columns:1fr; gap:16px;}
  .nl-cost-head h2{font-size:23px;}

  .nl-banner{min-height:300px; padding-top:44px; padding-bottom:44px;}
  .nl-banner-eyebrow{font-size:18px;}
  .nl-banner-title{font-size:28px;}

  .nl-services{padding-top:40px; padding-bottom:40px;}
  .nl-services-head{flex-direction:column; align-items:flex-start; gap:10px;}
  .nl-services-head h2{font-size:26px;}
  .nl-services-grid{grid-template-columns:1fr;}

  .nl-trust{padding-top:40px; padding-bottom:40px;}
  .nl-trust h2{font-size:24px;}
  .nl-reviews{padding-top:40px; padding-bottom:40px;}
  .nl-reviews h2{font-size:24px;}

  .nl-jobs{padding-top:36px; padding-bottom:36px;}
  .nl-jobs h2{font-size:26px;}

  .nl-page-hero{padding-top:44px; padding-bottom:40px;}
  .nl-page-hero h1{font-size:31px;}
  .nl-benefits,.nl-positions,.nl-training,.nl-apply{padding-top:40px; padding-bottom:40px;}
  .nl-benefits-grid{grid-template-columns:1fr;}
  .nl-position-card{flex-direction:column; align-items:stretch; padding:20px;}
  .nl-position-apply{width:100%;}
  .nl-training h2,.nl-apply h2{font-size:26px;}
  .nl-training-cta{padding:24px 22px;}
  .nl-apply-actions{flex-direction:column;}
  .nl-apply-actions .nl-btn-yellow,.nl-apply-actions .nl-btn-outline{width:100%; white-space:normal; text-align:center;}
  .nl-apply-form{grid-template-columns:1fr; gap:24px;}
  .nl-apply-form-intro .nl-btn-outline{width:100%; text-align:center;}
  .nl-apply .nl-form-card{padding:22px 18px;}

  .nl-footer-top{grid-template-columns:1fr; gap:26px;}
}

/* Schmale Handys: Logo + Name bleiben sichtbar (man soll sehen, wessen Seite
   das ist). Platz schafft der Telefonknopf: nur noch ein runder Hörer – die
   Nummer steht im aria-label und ausgeschrieben unter den Auswahl-Karten. */
@media (max-width:639px){
  .nl-brand{gap:9px; min-width:0;}
  .nl-brand-logo{width:44px;}
  .nl-brand-text{min-width:0;}
  .nl-brand-name{font-size:16.5px; line-height:1.15;}
  .nl-brand-sub{font-size:10.5px; letter-spacing:.04em; white-space:nowrap; margin-top:2px;}
  .nl-brand-sub-place{display:none;}
  .nl-nav a.nl-phone-pill{width:46px; height:46px; padding:0; justify-content:center; border-radius:50%;}
  .nl-phone-pill svg{width:21px; height:21px;}
  .nl-phone-pill-number{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
}
@media (max-width:359px){
  .nl-brand{gap:7px;}
  .nl-brand-logo{width:38px;}
  .nl-brand-name{font-size:15px; max-width:6.2em; line-height:1.12;}
  .nl-brand-sub{display:none;}
}
  .nl-brand-logo{width:48px;}
}

/* ===========================================================
   PLZ-Check „Kommen wir zu Ihnen?“ (alle Bildschirme)
   =========================================================== */
.nl-plz{padding:36px 40px; background:var(--white);}
.nl-plz .wrap{padding:0;}
.nl-plz-inner{display:flex; align-items:center; gap:22px; padding:24px 28px; border-radius:var(--r-lg); background:var(--green-tint-bg);}
.nl-plz-icon{flex:none; display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:var(--white); color:var(--green);}
.nl-plz-text{flex:1; min-width:0;}
.nl-plz-text h2{font-size:26px; line-height:1.2; margin:0 0 4px; color:var(--green-dark);}
.nl-plz-text p{margin:0; font-size:16.5px; line-height:1.5; color:var(--body);}
.nl-plz-form{flex:none; display:flex; gap:10px;}
.nl-plz-form input{width:170px; padding:14px 16px; border:2px solid var(--card-border); border-radius:12px; background:var(--white); font:700 19px var(--sans); letter-spacing:.06em; color:var(--ink);}
.nl-plz-form input:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(46,84,66,.18);}
.nl-plz-form button{padding:14px 22px; border:0; border-radius:12px; background:var(--green); color:#fff; font:800 17px var(--sans); cursor:pointer;}
.nl-plz-form button:hover{background:var(--green-dark);}
.nl-plz-result{margin:0; font-size:17px; line-height:1.5; font-weight:700;}
.nl-plz-result:empty{display:none;}
.nl-plz-result:not(:empty){margin-top:12px; padding:14px 18px; border-radius:12px;}
.nl-plz-result.is-ja{background:var(--green-tint-bg); color:var(--green-dark); border-left:5px solid var(--green);}
.nl-plz-result.is-nein{background:var(--yellow-soft-bg); color:var(--ink); border-left:5px solid var(--yellow);}
.nl-plz-result.is-ungueltig{background:#FBEAEA; color:#8A2A2A; border-left:5px solid #C0504D;}
.nl-plz-result a{color:inherit; font-weight:800; text-decoration:underline; white-space:nowrap;}
@media (max-width:1023px){
  .nl-plz{padding:28px 24px;}
  .nl-plz-inner{flex-wrap:wrap;}
  .nl-plz-form{width:100%;}
  .nl-plz-form input{flex:1; width:auto; min-width:0;}
}
@media (max-width:767px){
  .nl-plz{padding:24px 20px;}
  .nl-plz-inner{padding:20px; gap:14px;}
  .nl-plz-icon{width:44px; height:44px;}
  .nl-plz-text h2{font-size:22px;}
}

/* ===========================================================
   Zahlenleiste (Startseite, Team-Abschnitt)
   =========================================================== */
.nl-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:26px 0 0;}
.nl-stats > div{display:flex; flex-direction:column-reverse; gap:2px; padding:14px 16px; border-radius:var(--r-sm); background:var(--white);}
.nl-stats dt{font-size:15px; font-weight:700; color:var(--muted); line-height:1.3;}
.nl-stats dd{margin:0; font:600 34px/1.1 var(--serif); color:var(--green); font-variant-numeric:tabular-nums;}
@media (max-width:767px){
  .nl-stats{gap:8px;}
  .nl-stats > div{padding:12px 10px;}
  .nl-stats dd{font-size:26px;}
  .nl-stats dt{font-size:13.5px;}
}

/* ===========================================================
   Kostenrechner (Kostenseite) – Bedienelemente nur mit JavaScript;
   ohne JavaScript bleibt die feste Beispielrechnung.
   =========================================================== */
.nl-calc-controls,
.nl-calc-hint{display:none;}
.nl-calc-note{margin:12px 0 0; font-size:14px; line-height:1.5; color:var(--muted);}
.nl-example-rows .extra{padding-top:8px; border-top:1px dashed var(--card-border);}
.nl-example-rows .extra dd{color:var(--body);}
.nl-js .nl-calc-controls{display:block; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--card-border);}
.nl-js .nl-calc-hint{display:block; margin-top:12px; font-weight:700; color:var(--green-dark);}
.nl-calc-grades{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 16px; padding:0; border:0;}
.nl-calc-grades legend{float:left; margin-right:10px; font-size:15px; font-weight:800; color:var(--ink);}
.nl-calc-grades label{cursor:pointer;}
.nl-calc-grades input{position:absolute; opacity:0; pointer-events:none;}
.nl-calc-grades span{display:grid; place-items:center; width:44px; height:44px; border-radius:12px; border:2px solid var(--card-border); font-weight:800; font-size:18px; color:var(--ink); background:var(--white); transition:background .15s ease, border-color .15s ease, color .15s ease;}
.nl-calc-grades label:hover span{border-color:var(--green);}
.nl-calc-grades input:checked + span{background:var(--green); border-color:var(--green); color:#fff;}
.nl-calc-grades input:focus-visible + span{outline:3px solid var(--yellow); outline-offset:2px;}
.nl-calc-share{display:grid; grid-template-columns:1fr auto; align-items:center; gap:6px 12px;}
.nl-calc-share label{font-size:15px; font-weight:800; color:var(--ink);}
.nl-calc-share output{font-weight:800; font-size:18px; color:var(--green); font-variant-numeric:tabular-nums;}
.nl-calc-share input{grid-column:1 / -1; width:100%; accent-color:var(--green); height:32px; cursor:pointer;}
.nl-calc .nl-cost-bar > div{transition:width .25s ease;}
@media (max-width:767px){
  /* Schmal: Überschrift über die Knöpfe, Knöpfe auf ganze Breite */
  .nl-calc-grades legend{float:none; width:100%; margin:0 0 8px;}
  .nl-calc-grades label{flex:1;}
  .nl-calc-grades span{width:auto; height:48px;}
}
@media (prefers-reduced-motion:reduce){
  .nl-calc .nl-cost-bar > div{transition:none;}
}

/* ===========================================================
   Desktop-Effekte (Paket A): nur ab 1024 px, mit Maus und
   wenn „Bewegung reduzieren“ nicht eingeschaltet ist.
   Handy und Tablet bleiben unverändert schlicht.
   =========================================================== */
@media (min-width:1024px){
  /* Kopfbereich bleibt oben stehen; Anker springen nicht darunter. */
  .nl-header{position:sticky; top:var(--wp-admin--admin-bar--height, 0px); z-index:50;}
  html{scroll-padding-top:96px;}
}

@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){

  /* 2. Mitwachsender Kopfbereich */
  .nl-header,
  .nl-header .wrap,
  .nl-brand-logo{transition:padding .25s ease, width .25s ease, box-shadow .25s ease, background-color .25s ease;}
  .nl-header.is-scrolled{box-shadow:0 6px 24px rgba(60,50,30,.10); background:rgba(248,239,213,.94); backdrop-filter:blur(8px);}
  .nl-header.is-scrolled .wrap{padding-top:9px; padding-bottom:9px;}
  .nl-header.is-scrolled .nl-brand-logo{width:44px;}

  /* 4. Situationskarten: weicher Lichtschein unter dem Mauszeiger */
  .nl-situation-card{position:relative; overflow:hidden; isolation:isolate;}
  .nl-situation-card::before{content:""; position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity .2s ease;
    background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(255,194,26,.30), transparent 70%);}
  .nl-situation-card:hover::before{opacity:1;}
  .nl-situation-icon{transition:transform .2s ease;}
  .nl-situation-card:hover .nl-situation-icon{transform:scale(1.07) rotate(-3deg);}
  .nl-situation-card:hover .nl-situation-chevron{transform:translateX(5px); color:var(--green);}

  /* 5. Weiche Seitenwechsel (Chrome, Edge, Safari 18.2+; sonst normal) */
  @view-transition{navigation:auto;}
  .nl-header{view-transition-name:nl-header;}
  ::view-transition-old(root),
  ::view-transition-new(root){animation-duration:.28s;}
}

/* 1. + 3. Sanftes Einblenden und Balken, gesteuert vom Scrollen
   (Chrome, Edge, Safari 26; Firefox zeigt alles sofort). */
@supports (animation-timeline: view()){
  @media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
    @keyframes nl-rise{from{opacity:0; translate:0 28px;} to{opacity:1; translate:0 0;}}
    @keyframes nl-fill{from{clip-path:inset(0 100% 0 0 round 8px);} to{clip-path:inset(0 0 0 0 round 8px);}}

    .nl-services-head,
    .nl-reviews-head,
    .nl-service-card,
    .nl-benefit-card,
    .nl-path-card,
    .nl-area-card,
    .nl-extra-card,
    .nl-post-card,
    .nl-review,
    .nl-faq-item,
    .nl-plz-inner,
    .nl-hero-cost,
    .nl-example,
    .nl-update-hint,
    .nl-stats > div,
    .nl-trust .wrap > *,
    .nl-training .wrap > *{
      animation:nl-rise linear both;
      animation-timeline:view();
      animation-range:entry 5% entry 55%;
    }
    /* Karten nebeneinander erscheinen leicht nacheinander */
    :is(.nl-services-grid, .nl-news-grid, .nl-reviews-grid, .nl-extras-grid, .nl-benefits-grid, .nl-paths-grid, .nl-stats) > :nth-child(2){animation-range:entry 12% entry 62%;}
    :is(.nl-services-grid, .nl-news-grid, .nl-reviews-grid, .nl-extras-grid, .nl-benefits-grid, .nl-paths-grid, .nl-stats) > :nth-child(3){animation-range:entry 19% entry 69%;}
    :is(.nl-services-grid, .nl-news-grid, .nl-reviews-grid, .nl-extras-grid, .nl-benefits-grid, .nl-paths-grid, .nl-stats) > :nth-child(4){animation-range:entry 26% entry 76%;}

    /* Kostenbalken „füllt sich“ */
    .nl-cost-bar{animation:nl-fill linear both; animation-timeline:view(); animation-range:entry 30% cover 45%;}
  }
}

/* ===========================================================
   Aktuelles auf der Startseite (Pflegepolitik & Gesetze)
   Desktop: drei Karten. Handy: schlanke Liste ohne Bild.
   =========================================================== */
.nl-news{padding:56px 40px; background:var(--creme-mobile);}
.nl-news .wrap{padding:0;}
.nl-news-links{display:flex; flex-wrap:wrap; gap:8px 24px;}
.nl-news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.nl-news .nl-post-card-title{font-size:20px;}
@media (max-width:1023px){
  .nl-news{padding:40px 24px;}
  .nl-news-grid{grid-template-columns:1fr; gap:12px;}
  .nl-news .nl-post-card-media,
  .nl-news .nl-post-card-excerpt,
  .nl-news .nl-post-card .nl-services-link{display:none;}
  .nl-news .nl-post-card-body{padding:16px 18px; gap:6px;}
  .nl-news .nl-post-card-title{font-size:18px;}
}
@media (max-width:767px){
  .nl-news{padding:36px 20px;}
  .nl-news .nl-services-head h2{font-size:24px;}
}
