.pfnb,.pfnb-dialog{--pf-navy:#1b3a6b;--pf-navy-dark:#12294d;--pf-blue:#5b84c4;--pf-sky:#eef3fa;--pf-line:#d8e0ec;--pf-text:#1f2933;--pf-muted:#5a6675;--pf-red:#b42318;--pf-green:#1a7f37}
.pfnb{font-family:inherit;color:var(--pf-text);line-height:1.6;max-width:1140px;margin:0 auto}
.pfnb *,.pfnb-dialog *{box-sizing:border-box}
.pfnb h2,.pfnb h3,.pfnb p,.pfnb ul,.pfnb dl,.pfnb-dialog h2,.pfnb-dialog h3,.pfnb-dialog p{margin:0}
.pfnb a{color:var(--pf-navy)}
.pfnb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Buttons ---------- */
.pfnb .pfnb-btn,.pfnb-dialog .pfnb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font:inherit;font-size:15px;font-weight:600;padding:12px 22px;border-radius:8px;border:2px solid var(--pf-navy);background:var(--pf-navy);color:#fff;cursor:pointer;text-decoration:none;line-height:1.2;text-align:center}
.pfnb .pfnb-btn:hover,.pfnb-dialog .pfnb-btn:hover{filter:brightness(1.12);color:#fff}
.pfnb .pfnb-btn-light{background:#fff;border-color:#fff;color:var(--pf-navy)}
.pfnb .pfnb-btn-light:hover{color:var(--pf-navy);filter:none;background:var(--pf-sky);border-color:var(--pf-sky)}
.pfnb .pfnb-btn-ghost{background:transparent;border-color:#fff;color:#fff}
.pfnb .pfnb-btn-ghost:hover{background:rgba(255,255,255,.12);filter:none}
.pfnb .pfnb-btn-line{background:#fff;color:var(--pf-navy)}
.pfnb .pfnb-btn-line:hover{color:var(--pf-navy);filter:none;background:var(--pf-sky)}
.pfnb .pfnb-btn-danger{background:#fff;border-color:var(--pf-red);color:var(--pf-red)}
.pfnb .pfnb-btn-danger:hover{background:#fef3f2;color:var(--pf-red);filter:none}
.pfnb .pfnb-btn-danger-solid{background:var(--pf-red);border-color:var(--pf-red);color:#fff}
.pfnb .pfnb-btn-full,.pfnb-dialog .pfnb-btn-full{width:100%}
.pfnb .pfnb-btn[disabled],.pfnb-dialog .pfnb-btn[disabled]{opacity:.55;cursor:not-allowed;filter:none}
.pfnb :focus-visible,.pfnb-dialog :focus-visible{outline:3px solid var(--pf-blue);outline-offset:2px}

/* ---------- Kopfbereich ---------- */
.pfnb-hero{background:var(--pf-navy);color:#fff;border-radius:16px;padding:48px 44px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:center}
.pfnb .pfnb-hero h2{color:#fff;font-size:clamp(28px,4vw,40px);line-height:1.15;margin-bottom:14px}
.pfnb .pfnb-hero p{color:#d6e0f0;font-size:17px;max-width:54ch}
.pfnb-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:480px;margin-top:26px}
.pfnb-hero-actions .pfnb-btn{width:100%}
.pfnb-count{background:var(--pf-navy-dark);border-radius:12px;padding:26px;text-align:center}
.pfnb-count strong{display:block;font-size:54px;line-height:1;color:#fff}
.pfnb-count span{color:#b9c8e2;font-size:15px}

/* ---------- Abschnitte ---------- */
.pfnb-section{margin-top:64px}
.pfnb .pfnb-section>h2,.pfnb .pfnb-offers>h2{font-size:28px;color:var(--pf-navy);margin-bottom:8px}
.pfnb .pfnb-lead{color:var(--pf-muted);max-width:65ch;margin-bottom:26px}
.pfnb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:pfstep}
.pfnb-step{border-top:3px solid var(--pf-blue);padding-top:16px;counter-increment:pfstep}
.pfnb-step::before{content:counter(pfstep);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--pf-sky);color:var(--pf-navy);font-weight:700;margin-bottom:10px}
.pfnb .pfnb-step h3{font-size:18px;color:var(--pf-navy);margin-bottom:6px}
.pfnb .pfnb-step p{color:var(--pf-muted);font-size:15px}

/* Angebote: eigene Fläche, klar abgesetzt */
.pfnb-offers{margin-top:72px;background:var(--pf-sky);border-radius:16px;padding:40px 36px 44px}

/* ---------- Filter ---------- */
.pfnb-toolbar{display:flex;flex-direction:column;gap:16px;margin:18px 0 26px}
.pfnb-chips{display:flex;flex-wrap:wrap;gap:8px}
.pfnb .pfnb-chip{font:inherit;font-size:14px;padding:7px 14px;border-radius:999px;border:1px solid var(--pf-line);background:#fff;color:var(--pf-text);cursor:pointer;line-height:1.3}
.pfnb .pfnb-chip[aria-pressed="true"]{background:var(--pf-navy);border-color:var(--pf-navy);color:#fff}
.pfnb-selects{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.pfnb-selects label{display:flex;flex-direction:column;font-size:13px;color:var(--pf-muted);font-weight:600}
.pfnb-selects select{font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--pf-line);border-radius:8px;background:#fff;min-width:120px;margin-top:4px}
.pfnb .pfnb-toggle{flex-direction:row;align-items:center;gap:8px;background:#fff;border:1px solid var(--pf-line);border-radius:8px;padding:9px 12px;font-size:14px;color:var(--pf-text);cursor:pointer}
.pfnb .pfnb-toggle input{width:18px;height:18px;margin:0;accent-color:var(--pf-navy)}

/* ---------- Karten ---------- */
.pfnb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.pfnb-card{background:#fff;border:1px solid var(--pf-line);border-radius:12px;padding:20px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(18,41,77,.05)}
.pfnb-card[hidden]{display:none}
.pfnb-card.is-full{opacity:.85}
.pfnb-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.pfnb-card-name{flex:1;min-width:0}
.pfnb-avatar{width:44px;height:44px;border-radius:50%;background:var(--pf-sky);color:var(--pf-navy);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.pfnb .pfnb-card h3{font-size:18px}
.pfnb .pfnb-jg{font-size:14px;color:var(--pf-muted)}
.pfnb-badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.pfnb-badge-free{background:#e6f4ea;color:var(--pf-green)}
.pfnb-badge-full{background:#f1f1f1;color:#50575e}
.pfnb-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pfnb-tag{font-size:13px;padding:3px 10px;border-radius:6px;background:var(--pf-sky);color:var(--pf-navy);font-weight:600}
.pfnb-tag-sonst{background:#fff;border:1px dashed var(--pf-blue)}
.pfnb .pfnb-exam{font-size:14px;background:#fff8e6;border-radius:6px;padding:6px 10px;margin-bottom:12px;color:#6b4e00}
.pfnb .pfnb-exam span{font-weight:700}
.pfnb-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:14px;margin-bottom:10px}
.pfnb-facts dt{color:var(--pf-muted)}
.pfnb-facts dd{margin:0;font-weight:600}
.pfnb-times{list-style:none;padding:0;margin:0 0 18px;font-size:14px;flex-grow:1}
.pfnb-times li{padding:2px 0}
.pfnb-times span{display:inline-block;width:30px;font-weight:700;color:var(--pf-navy)}
.pfnb .pfnb-report{font:inherit;font-size:13px;color:var(--pf-muted);background:none;border:0;padding:8px 0 0;margin-top:4px;cursor:pointer;text-decoration:underline;align-self:center}
.pfnb .pfnb-report:hover{color:var(--pf-red)}
.pfnb .pfnb-empty{grid-column:1/-1;background:#fff;border-radius:12px;padding:28px;text-align:center;color:var(--pf-navy)}

/* ---------- Mitmachen ---------- */
.pfnb-join{background:var(--pf-navy);color:#fff;border-radius:16px;padding:34px 36px;display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:24px;align-items:center}
.pfnb .pfnb-join h2{font-size:24px;color:#fff;margin-bottom:6px}
.pfnb .pfnb-join p{color:#d6e0f0}
.pfnb .pfnb-join .pfnb-btn{background:#fff;border-color:#fff;color:var(--pf-navy)}

/* ---------- FAQ ---------- */
.pfnb-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:2px solid var(--pf-line);margin:18px 0 8px}
.pfnb .pfnb-tab{font:inherit;text-align:left;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:14px 16px 12px;cursor:pointer;color:var(--pf-muted);display:flex;flex-direction:column;gap:2px;border-radius:8px 8px 0 0}
.pfnb .pfnb-tab strong{font-size:18px;font-weight:700;color:inherit}
.pfnb .pfnb-tab span{font-size:14px;line-height:1.35}
.pfnb .pfnb-tab:hover{background:var(--pf-sky)}
.pfnb .pfnb-tab[aria-selected="true"]{color:var(--pf-navy);border-bottom-color:var(--pf-navy);background:var(--pf-sky)}
.pfnb-tabpanel[hidden]{display:none}
.pfnb .pfnb-faq-group{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--pf-blue);margin:30px 0 4px}
.pfnb-tabpanel .pfnb-faq-group:first-child{margin-top:20px}
.pfnb-faq details{border-bottom:1px solid var(--pf-line);padding:14px 0;width:100%;max-width:none}
.pfnb .pfnb-faq details>summary,.pfnb .pfnb-faq details[open]>summary{cursor:pointer;font-weight:600;color:var(--pf-navy);font-size:17px;list-style-position:inside;border:0!important;padding:0;margin:0;background:none}
.pfnb .pfnb-answer{display:block;width:100%;max-width:none;margin-top:10px;font-size:16px;line-height:1.65;color:var(--pf-muted)}

/* ---------- Datenschutz ---------- */
.pfnb-privacy-text{font-size:15px;color:var(--pf-muted);max-width:none}
.pfnb .pfnb-privacy-text h3{font-size:16px;color:var(--pf-text);margin:20px 0 4px}
.pfnb .pfnb-privacy-text p{margin:0 0 8px;max-width:none}

/* ---------- Panels (Bestätigen, Verwalten, Admin-Links) ---------- */
.pfnb-panel{background:#fff;border:1px solid var(--pf-line);border-radius:14px;padding:36px 40px;max-width:880px;margin:0 auto}
.pfnb .pfnb-panel h2{font-size:28px;color:var(--pf-navy);margin-bottom:14px}
.pfnb .pfnb-panel>p{color:var(--pf-muted);margin-bottom:10px;max-width:70ch}
.pfnb-panel-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.pfnb-back{display:inline-block;font-size:15px;text-decoration:none;margin-bottom:14px}
.pfnb-status{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;background:var(--pf-sky);border-left:4px solid var(--pf-navy);border-radius:8px;padding:14px 18px;margin-bottom:26px}
.pfnb-status strong{color:var(--pf-navy)}
.pfnb-status span{color:var(--pf-muted);font-size:15px}
.pfnb-status-pausiert{border-left-color:#b7791f}
.pfnb-status-ausgeblendet{border-left-color:var(--pf-red);background:#fef3f2}
.pfnb-manage-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.pfnb-manage-actions .pfnb-btn-danger{margin-left:auto}
.pfnb .pfnb-kicker{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pf-blue);margin-bottom:6px}
.pfnb .pfnb-more{margin-top:18px;font-size:14px;color:var(--pf-muted)}
.pfnb .pfnb-summary{white-space:pre-wrap;font-family:inherit;font-size:15px;background:var(--pf-sky);border-radius:8px;padding:14px 16px;margin:10px 0 18px;color:var(--pf-text)}
.pfnb .pfnb-facts-admin{margin:14px 0 0}

/* ---------- Startseiten-Box ---------- */
.pfnb-box{background:var(--pf-navy);color:#fff;border-radius:14px;padding:26px 30px;display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;justify-content:space-between;max-width:none}
.pfnb .pfnb-box-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b9c8e2;margin-bottom:4px}
.pfnb .pfnb-box h3{color:#fff;font-size:22px;line-height:1.25;margin-bottom:4px}
.pfnb .pfnb-box-count{color:#d6e0f0;font-size:15px}
.pfnb-box-actions{display:flex;flex-direction:column;align-items:center;gap:8px}
.pfnb .pfnb-box-link{color:#fff;font-size:14px}

/* ---------- Dialog ---------- */
html.pfnb-lock{overflow:hidden}
.pfnb-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 60px rgba(18,41,77,.35);color:#1f2933;font-family:inherit;line-height:1.55;overflow:hidden}
.pfnb-dialog::backdrop{background:rgba(18,41,77,.55)}
.pfnb-dialog[open]{display:flex;flex-direction:column}
.pfnb-dlg-head{background:var(--pf-navy);color:#fff;padding:22px 28px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-shrink:0}
.pfnb-dialog .pfnb-dlg-head h2{color:#fff;font-size:22px;line-height:1.25;margin-bottom:4px}
.pfnb-dialog .pfnb-dlg-head p{color:#d6e0f0;font-size:14px}
.pfnb-dialog .pfnb-close{font:inherit;font-size:26px;line-height:1;width:40px;height:40px;border-radius:8px;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;flex-shrink:0;padding:0}
.pfnb-dialog .pfnb-close:hover{background:rgba(255,255,255,.26)}
.pfnb-dlg-body{padding:24px 28px 28px;overflow-y:auto}
.pfnb-done{text-align:center;padding:30px 8px}
.pfnb-done[hidden],.pfnb-dialog form[hidden]{display:none}
.pfnb-done-icon{width:64px;height:64px;border-radius:50%;background:var(--pf-sky);color:var(--pf-navy);display:inline-flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:14px}
.pfnb-dialog .pfnb-done-msg{color:var(--pf-text);max-width:48ch;margin:0 auto 22px;font-size:16px}

/* ---------- Formulare ---------- */
.pfnb-form .pfnb-fs{border:0;padding:0;margin:0 0 24px;min-width:0}
.pfnb-form legend{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pf-blue);margin-bottom:10px;padding:0}
.pfnb-form legend span{text-transform:none;letter-spacing:0;font-weight:500;color:var(--pf-muted)}
.pfnb-form .pfnb-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.pfnb-form .pfnb-row-gap{margin-top:14px}
.pfnb-form .pfnb-full{display:block;margin:14px 0}
.pfnb-form .pfnb-row>label,.pfnb-form .pfnb-full{font-size:15px;font-weight:600;color:var(--pf-navy)}
.pfnb-form input[type=text],.pfnb-form input[type=email],.pfnb-form input[type=date],.pfnb-form input[type=number],.pfnb-form select,.pfnb-form textarea{display:block;width:100%;font:inherit;font-size:16px;font-weight:400;padding:10px 12px;margin-top:6px;border:1px solid #c5d0e0;border-radius:8px;background:#fff;color:var(--pf-text);line-height:1.4}
.pfnb-form textarea{resize:vertical}
.pfnb-form input:disabled{background:#f3f5f8;color:var(--pf-muted)}
.pfnb-form .is-invalid{border-color:var(--pf-red)!important;box-shadow:0 0 0 1px var(--pf-red)}
.pfnb-form .pfnb-help{display:block;font-size:13px;font-weight:400;color:var(--pf-muted);margin-top:4px}
.pfnb-form .pfnb-center{text-align:center;margin-top:10px}
.pfnb-form .pfnb-err{font-size:14px;font-weight:600;color:var(--pf-red);margin-top:6px}
.pfnb-form .pfnb-form-msg{background:#fef3f2;color:var(--pf-red);border-radius:8px;padding:12px 14px;margin:0 0 14px;font-weight:600;font-size:15px}
.pfnb-form .pfnb-form-msg.is-ok{background:#ecfdf3;color:#027a48}
.pfnb-checks{display:flex;flex-wrap:wrap;gap:8px}
.pfnb-form .pfnb-check{display:inline-flex;align-items:flex-start;gap:8px;font-size:15px;font-weight:400;color:var(--pf-text);cursor:pointer}
.pfnb-checks .pfnb-check{border:1px solid var(--pf-line);border-radius:999px;padding:6px 14px 6px 10px;background:#fff;align-items:center}
.pfnb-checks .pfnb-check:has(input:checked){background:var(--pf-sky);border-color:var(--pf-navy);color:var(--pf-navy);font-weight:600}
.pfnb-checks .pfnb-check:has(input:disabled){opacity:.45;cursor:not-allowed}
.pfnb-checks-stufen .pfnb-check{border-radius:8px;min-width:54px;justify-content:center}
.pfnb-form .pfnb-check input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--pf-navy)}
.pfnb-days{display:flex;flex-direction:column;gap:8px}
.pfnb-day{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;border:1px solid var(--pf-line);border-radius:10px;padding:8px 14px}
.pfnb-day.is-on{background:var(--pf-sky);border-color:var(--pf-navy)}
.pfnb-day .pfnb-check{min-width:120px;font-weight:600}
.pfnb-day-times{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--pf-muted)}
.pfnb-form .pfnb-day-times select{width:auto;margin-top:0;padding:6px 8px;font-size:15px}
.pfnb-day:not(.is-on) .pfnb-day-times{opacity:.4}
.pfnb-enddate{background:var(--pf-sky);border-radius:8px;padding:10px 14px;font-size:14px;color:var(--pf-muted);align-self:end}
.pfnb-enddate span{display:block;font-weight:600;color:var(--pf-navy)}
.pfnb-enddate strong{font-size:18px;color:var(--pf-text)}
.pfnb-enddate em{display:block;font-style:normal;font-size:13px}
.pfnb-form .pfnb-amount{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:15px;color:var(--pf-text)}
.pfnb-form .pfnb-amount[hidden]{display:none}
.pfnb-form .pfnb-amount span:first-child{font-weight:600;color:var(--pf-navy)}
.pfnb-form .pfnb-amount input{width:90px;margin-top:0}
.pfnb-legal{background:var(--pf-sky);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.pfnb-legal .pfnb-check{line-height:1.5}
.pfnb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Mobil ---------- */
@media (max-width:820px){
  .pfnb-hero,.pfnb-join{grid-template-columns:1fr;padding:30px 22px}
  .pfnb-hero-actions{grid-template-columns:1fr;max-width:none}
  .pfnb-steps{grid-template-columns:1fr}
  .pfnb-offers{padding:28px 18px 32px;margin-top:56px}
  .pfnb-panel{padding:26px 20px}
  .pfnb-manage-actions .pfnb-btn{width:100%}
  .pfnb-manage-actions .pfnb-btn-danger{margin-left:0}
  .pfnb-join .pfnb-btn{width:100%}
}
@media (max-width:640px){
  .pfnb-dialog{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;margin:0}
  .pfnb-dlg-head{padding:18px}
  .pfnb-dlg-body{padding:18px 18px 32px}
  .pfnb-form .pfnb-row{grid-template-columns:1fr}
  .pfnb-selects label{flex:1 1 40%}
  .pfnb .pfnb-toggle{flex:1 1 100%}
  .pfnb .pfnb-tab span{display:none}
  .pfnb .pfnb-tab{padding:12px 10px;text-align:center;align-items:center}
  .pfnb .pfnb-tab strong{font-size:16px}
  .pfnb-box{padding:22px 20px}
  .pfnb-box-actions{width:100%}
  .pfnb-box-actions .pfnb-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.pfnb *,.pfnb-dialog *{scroll-behavior:auto!important}}
