/* ═══ Theme-Schutz ═══
   Alle Widget-Regeln stehen unter .wfp-app (höhere Spezifität als übliche Theme-Regeln), und Formularelemente/
   Buttons starten bei Browser-Standards, damit Theme-Styles (Padding, Versalien, Rahmen) nicht hineinwirken. */
.wfp-app button,.wfp-app input,.wfp-app select,.wfp-app textarea{all:revert;box-sizing:border-box;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;margin:0;text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;border-radius:0}
.wfp-app button{cursor:pointer;background:none;border:0;padding:0;text-align:inherit}
.wfp-app h1,.wfp-app h2,.wfp-app h3,.wfp-app h4,.wfp-app p,.wfp-app ul{margin:0;padding:0;text-transform:none;letter-spacing:normal}
.wfp-app a{text-decoration:none;box-shadow:none}
/* Links nie unterstrichen – :not(#…) hebt die Spezifität über Theme-Regeln wie .entry-content a / .td-post-content a (gilt auch fürs Portal-Modal, das .wfp-app trägt) */
.wfp-app a:not(#wfp-nx){text-decoration:none;box-shadow:none}

/* wpFAZ Programm – Frontend. Alles unter .wfp-app gescopet, Farben/Schrift aus --wfp-* Variablen. */

.wfp-app{
    --_bg:var(--wfp-bg,#f2f2f3);
    --_surface:var(--wfp-surface,#e9e9ea);
    --_text:var(--wfp-text,#1d1f20);
    --_accent:var(--wfp-accent,#5980a6);
    --_line:var(--wfp-line,rgba(29,31,32,.16));
    --_fh:var(--wfp-font-heading,"Barlow Condensed",system-ui,sans-serif);
    --_fb:var(--wfp-font-body,"Barlow",system-ui,sans-serif);
    background:var(--_bg);color:var(--_text);font-family:var(--_fb);
    line-height:1.5;padding:24px clamp(20px,3vw,48px);box-sizing:border-box;
    width:100%; /* füllt seinen Container – die volle Breite kommt über die Seite (alignfull / Full-Width-Template) */
}
.wfp-app *,.wfp-app *::before,.wfp-app *::after{box-sizing:border-box}
.wfp-app h1,.wfp-app h2,.wfp-app h3{font-family:var(--_fh);font-weight:600;margin:0;line-height:1.05}
.wfp-app a{color:var(--_accent)}
.wfp-app button{font-family:inherit;cursor:pointer}
.wfp-app :focus-visible{outline:2px solid var(--_accent);outline-offset:2px}
.wfp-boot{padding:48px 0;text-align:center;color:var(--_text);opacity:.6;letter-spacing:.1em;text-transform:uppercase;font-size:13px}

/* Header */
.wfp-app .wfp-head{border-bottom:2px solid var(--_text);padding-bottom:16px;margin-bottom:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:flex-end}
.wfp-app .wfp-title{font-size:clamp(30px,5vw,52px);letter-spacing:-.01em}
.wfp-app .wfp-claim{font-size:16px;opacity:.8;margin-top:6px}
.wfp-app .wfp-meta{font-size:13px;text-align:right;opacity:.85}
.wfp-app .wfp-meta strong{display:block;font-size:15px}
.wfp-app .wfp-langtog{display:inline-flex;border:1px solid var(--_line);margin-top:8px}
.wfp-app .wfp-langtog button{padding:4px 10px;border:0;background:transparent;color:inherit;font-weight:600;font-size:12px}
.wfp-app .wfp-langtog button.is-on{background:var(--_accent);color:#fff}

/* Programmberater-Band */
.wfp-app .wfp-berater{border:1px solid var(--_accent);background:color-mix(in srgb,var(--_accent) 8%,var(--_bg));padding:14px 16px;margin-bottom:16px}
.wfp-app .wfp-berater-h{font-family:var(--_fh);font-size:17px;margin-bottom:10px}
.wfp-app .wfp-berater-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.wfp-app .wfp-berater-row select{padding:7px 10px;border:1px solid var(--_line);background:var(--_bg);color:inherit;font-family:inherit}
.wfp-app .wfp-berater-p{margin:0 0 14px;max-width:660px;opacity:.85;font-size:15px}

/* Berater-Wizard */
.wfp-app .wfp-wiz,.wfp-app .wfp-result{max-width:780px}
.wfp-app .wfp-link{border:0;background:transparent;color:var(--_accent);cursor:pointer;font-family:inherit;font-size:14px;padding:4px 0;margin-bottom:8px;display:inline-block}
.wfp-app .wfp-wiz-prog{display:flex;gap:6px;margin:8px 0 10px}
.wfp-app .wfp-wiz-dot{width:38px;height:5px;background:var(--_line)}
.wfp-app .wfp-wiz-dot.is-cur{background:var(--_accent)}
.wfp-app .wfp-wiz-dot.is-done{background:var(--_accent);opacity:.45}
.wfp-app .wfp-wiz-step{font-size:12px;text-transform:uppercase;letter-spacing:.14em;opacity:.6;margin-bottom:6px}
.wfp-app .wfp-wiz-title{font-family:var(--_fh);font-size:26px;margin:0 0 16px;line-height:1.1}
.wfp-app .wfp-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.wfp-app .wfp-opt{text-align:left;padding:14px 16px;border:1px solid var(--_line);background:transparent;color:inherit;font-family:inherit;font-size:15px;cursor:pointer}
.wfp-app .wfp-opt:hover{border-color:var(--_accent)}
.wfp-app .wfp-opt.is-sel{border-color:var(--_accent);box-shadow:inset 4px 0 0 var(--_accent);font-weight:600}
.wfp-app .wfp-pills{display:flex;flex-wrap:wrap;gap:8px}
.wfp-app .wfp-pill{padding:9px 15px;border:1px solid var(--_line);background:transparent;color:inherit;font-family:inherit;font-size:14px;cursor:pointer}
.wfp-app .wfp-pill:hover{border-color:var(--_accent)}
.wfp-app .wfp-pill.is-sel{background:var(--_accent);color:#fff;border-color:var(--_accent)}
.wfp-app .wfp-hint{font-size:13px;opacity:.7;margin:12px 0 0}
.wfp-app .wfp-wiz-nav{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.wfp-app .wfp-day-h{font-family:var(--_fh);font-size:16px;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--_accent);padding-bottom:6px;margin:20px 0 10px}
.wfp-app .wfp-export{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 18px}

/* Day tabs */
.wfp-app .wfp-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:14px;border:1px solid var(--_line)}
.wfp-app .wfp-tab{flex:1;min-width:120px;padding:10px 12px;border:0;border-right:1px solid var(--_line);background:transparent;color:inherit;text-align:left}
.wfp-app .wfp-tab:last-child{border-right:0}
.wfp-app .wfp-tab.is-on{background:var(--_accent);color:#fff}
.wfp-app .wfp-tab .wfp-tab-k{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.75}
.wfp-app .wfp-tab .wfp-tab-d{font-family:var(--_fh);font-size:18px}

/* Toolbar */
.wfp-app .wfp-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center}
.wfp-app .wfp-toolbar select,.wfp-app .wfp-toolbar input[type=search]{padding:7px 10px;border:1px solid var(--_line);background:var(--_bg);color:inherit;font-family:inherit}
.wfp-app .wfp-toolbar input[type=search]{flex:1;min-width:180px}
.wfp-app .wfp-chip{padding:6px 12px;border:1px solid var(--_line);background:transparent;color:inherit;font-weight:600;font-size:13px}
.wfp-app .wfp-chip.is-on{background:var(--_text);color:var(--_bg)}
.wfp-app .wfp-count{font-size:13px;opacity:.7;margin:0 0 12px}

/* Card */
.wfp-app .wfp-card{position:relative;border:1px solid var(--_line);background:transparent;padding:14px;display:flex;flex-direction:column;gap:8px;text-align:left;width:100%}
@media (hover:hover){.wfp-app .wfp-card:hover{border-color:var(--_accent)}}
.wfp-app .wfp-card .wfp-c-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.wfp-app .wfp-card .wfp-c-time{font-family:var(--_fh);font-size:14px;font-weight:600}
.wfp-app .wfp-card .wfp-c-title{font-family:var(--_fh);font-size:19px;line-height:1.1}
.wfp-app .wfp-card .wfp-c-spk{font-size:13px;opacity:.8}
.wfp-app .wfp-badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:3px 7px;border:1px solid var(--_accent);color:var(--_accent);white-space:nowrap}
.wfp-app .wfp-badge.wfp-badge-fill{background:var(--_accent);color:#fff}
.wfp-app .wfp-fav{border:0;background:transparent;font-size:18px;line-height:1;color:var(--_accent);padding:2px 4px}
.wfp-app .wfp-tag{font-size:11px;padding:2px 6px;border:1px solid var(--_line);opacity:.85}

/* Layout: Liste / kompakt */
.wfp-app .wfp-list{display:flex;flex-direction:column;gap:10px}

/* Layout: Kacheln */
.wfp-app .wfp-session{margin-bottom:22px}
.wfp-app .wfp-session-h{font-family:var(--_fh);font-size:15px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--_line);padding-bottom:6px;margin-bottom:10px}
.wfp-app .wfp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}

/* Layout: Zeitraster */
.wfp-app .wfp-tt{overflow-x:auto}
.wfp-app .wfp-tt-inner{display:grid;gap:8px;min-width:640px}
.wfp-app .wfp-tt-head{font-family:var(--_fh);font-weight:600;padding:6px 8px;background:var(--_surface);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.wfp-app .wfp-tt-time{font-family:var(--_fh);font-weight:600;font-size:13px;padding:8px 6px;border-top:1px solid var(--_line)}
.wfp-app .wfp-tt-cell{border-top:1px solid var(--_line);padding:4px}

/* Detail modal */
/* Detail-Fenster: mittig im Viewport, über allen Theme-Menüs; Portal hängt am <body> (siehe JS) */
.wfp-app .wfp-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px;z-index:2147483000;overflow:auto}
.wfp-app.wfp-portal{position:static;max-width:none;margin:0;padding:0;background:transparent}
.wfp-app .wfp-backdrop .wfp-detail{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto}
.wfp-app .wfp-detail{background:var(--_bg);color:var(--_text);border:1px solid var(--_text);max-width:680px;width:100%;padding:24px;position:relative}
.wfp-app .wfp-detail h2{font-size:28px;margin:8px 0}
.wfp-app .wfp-detail .wfp-d-row{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;opacity:.85;margin:10px 0}
.wfp-app .wfp-detail .wfp-d-teaser{font-size:15px;line-height:1.55;margin:12px 0}
.wfp-app .wfp-detail .wfp-d-spklist{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.wfp-app .wfp-detail .wfp-d-spklist .wfp-d-s{padding-left:0}
.wfp-app .wfp-detail .wfp-d-s .wfp-d-n{font-weight:700}
.wfp-app .wfp-detail .wfp-d-s .wfp-d-p{font-size:13px;opacity:.8}
.wfp-app .wfp-close{position:absolute;top:12px;right:12px;border:1px solid var(--_line);background:transparent;color:inherit;width:32px;height:32px;font-size:18px}
.wfp-app .wfp-detail-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.wfp-app .wfp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:10px 18px;min-height:42px;border:1px solid var(--_accent);
    background:var(--_accent);color:#fff;font-family:inherit;font-size:14px;font-weight:600;
    line-height:1.2;text-decoration:none;cursor:pointer;box-sizing:border-box}
.wfp-app a.wfp-btn{color:#fff}
.wfp-app .wfp-btn.wfp-btn-ghost{background:transparent;color:var(--_accent)}
.wfp-app .wfp-btn:hover{filter:brightness(1.08);text-decoration:none}

.wfp-app .wfp-empty{padding:30px;text-align:center;opacity:.6;border:1px dashed var(--_line)}

/* Personen-Blöcke im Detail */
.wfp-app .wfp-pblock{margin-top:16px}
.wfp-app .wfp-pblock-h{font-family:var(--_fh);font-size:13px;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-bottom:8px}
.wfp-app .wfp-plist{display:flex;flex-direction:column;gap:10px}
.wfp-app .wfp-pitem{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}
.wfp-app .wfp-pphoto{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}
.wfp-app .wfp-plogo{width:64px;height:42px;object-fit:contain;flex:none;background:#fff;border:1px solid var(--_line);padding:3px}
.wfp-app .wfp-pph{width:46px;height:46px;border-radius:50%;background:var(--_accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.wfp-app .wfp-pname{font-weight:600}
.wfp-app .wfp-ppos{font-size:12px;opacity:.7}

/* Archiv-Grid */
.wfp-app .wfp-archive .wfp-arch-title{font-family:var(--_fh);font-size:24px;margin:0 0 16px}
.wfp-app .wfp-arch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.wfp-app .wfp-arch-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:16px;border:1px solid var(--_line);text-decoration:none;color:inherit}
.wfp-app .wfp-arch-card:hover{border-color:var(--_accent)}
.wfp-app .wfp-arch-img{width:100%;height:110px;display:flex;align-items:center;justify-content:center}
.wfp-app .wfp-arch-photo{width:96px;height:96px;border-radius:50%;object-fit:cover}
.wfp-app .wfp-arch-logo{max-width:100%;max-height:100px;object-fit:contain}
.wfp-app .wfp-arch-ph{width:96px;height:96px;border-radius:50%;background:var(--_accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--_fh);font-size:34px}
.wfp-app .wfp-arch-name{font-family:var(--_fh);font-weight:600;font-size:16px;line-height:1.15}
.wfp-app .wfp-arch-sub{font-size:12px;opacity:.7}

/* Person/Sponsor Einzelseite */
.wfp-app .wfp-person{display:flex;gap:24px;flex-wrap:wrap;margin:16px 0}
.wfp-app .wfp-person-img img{max-width:220px;height:auto}
.wfp-app .wfp-person-body{flex:1;min-width:260px}
.wfp-app .wfp-person-sub{font-size:15px;opacity:.75;margin:0 0 10px}
.wfp-app .wfp-person-social{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.wfp-app .wfp-social{display:inline-block;padding:6px 12px;border:1px solid var(--wfp-accent,#5980a6);color:var(--wfp-accent,#5980a6);text-decoration:none;font-size:13px}

@media(max-width:640px){
    .wfp-app{padding:16px}
    .wfp-app .wfp-meta{text-align:left}
}

/* ─────────── Lesbarkeit & frischeres Look (Zielgruppe 60+) ───────────
   Größere Schrift, klarer Kontrast statt blasser Grautöne, mehr Luft,
   größere Klickflächen. */
.wfp-app{
    --_muted:color-mix(in srgb, var(--_text) 82%, var(--_bg));
    font-size:17px;line-height:1.6;
}
/* schwache Grautöne durch kräftigeres Muted ersetzen */
.wfp-app .wfp-meta,.wfp-app .wfp-card .wfp-c-spk,.wfp-app .wfp-tag,.wfp-app .wfp-arch-sub,.wfp-app .wfp-ppos,.wfp-app .wfp-hint,
.wfp-app .wfp-wiz-step,.wfp-app .wfp-tab .wfp-tab-k,.wfp-app .wfp-detail .wfp-d-row,.wfp-app .wfp-pblock-h,.wfp-app .wfp-berater-p,.wfp-app .wfp-count{
    opacity:1;color:var(--_muted);
}
/* Karten */
.wfp-app .wfp-card{padding:18px;gap:10px}
.wfp-app .wfp-card .wfp-c-title{font-size:21px;line-height:1.22}
.wfp-app .wfp-card .wfp-c-time{font-size:15px}
.wfp-app .wfp-card .wfp-c-spk{font-size:15px}
.wfp-app .wfp-tag{font-size:13px;padding:3px 9px}
.wfp-app .wfp-badge{font-size:12px;padding:4px 9px}
.wfp-app .wfp-fav{font-size:26px;padding:4px 8px;line-height:1}
/* Kopf / Tabs / Toolbar */
.wfp-app .wfp-title{letter-spacing:-.005em}
.wfp-app .wfp-claim{font-size:18px;opacity:1;color:var(--_muted)}
.wfp-app .wfp-meta{font-size:14.5px}
.wfp-app .wfp-tab{padding:14px 16px}
.wfp-app .wfp-tab .wfp-tab-d{font-size:21px}
.wfp-app .wfp-tab .wfp-tab-k{font-size:12px}
.wfp-app .wfp-toolbar{gap:10px}
.wfp-app .wfp-toolbar select,.wfp-app .wfp-toolbar input[type=search]{font-size:16px;padding:12px 12px;min-height:48px}
.wfp-app .wfp-chip{font-size:15px;padding:11px 16px}
.wfp-app .wfp-count{font-size:16px;margin-bottom:16px}
.wfp-app .wfp-langtog button{font-size:14px;padding:7px 13px}
/* Buttons */
.wfp-app .wfp-btn{min-height:48px;font-size:16px;padding:12px 22px}
/* Detailansicht */
.wfp-app .wfp-detail{padding:30px}
.wfp-app .wfp-detail h2{font-size:30px;line-height:1.12}
.wfp-app .wfp-detail .wfp-d-teaser{font-size:17px;line-height:1.62}
.wfp-app .wfp-detail .wfp-d-row{font-size:15px;gap:10px 18px}
.wfp-app .wfp-pblock-h{font-size:14px}
.wfp-app .wfp-pname{font-size:18px}
.wfp-app .wfp-ppos{font-size:14px}
.wfp-app .wfp-pphoto,.wfp-app .wfp-pph{width:54px;height:54px}
.wfp-app .wfp-plogo{width:74px;height:50px}
/* Programmberater */
.wfp-app .wfp-wiz-title{font-size:28px}
.wfp-app .wfp-opt{font-size:16px;padding:16px 18px}
.wfp-app .wfp-pill{font-size:15px;padding:11px 17px}
.wfp-app .wfp-day-h{font-size:18px}
/* Archiv */
.wfp-app .wfp-arch-name{font-size:18px}
.wfp-app .wfp-arch-card{padding:18px}

/* ─────────── Feinschliff: weicher, mehr Abstand, höherer Kontrast ───────────
   Abgerundete Flächen mit dezentem Schatten statt scharfer Linien,
   großzügigere Abstände, kräftigerer Text-Kontrast. */
.wfp-app{
    --_muted:color-mix(in srgb, var(--_text) 90%, var(--_bg));  /* deutlich kontrastreicher */
    --_soft:0 1px 2px color-mix(in srgb, var(--_text) 12%, transparent), 0 10px 26px color-mix(in srgb, var(--_text) 8%, transparent);
    --_soft-h:0 3px 8px color-mix(in srgb, var(--_text) 14%, transparent), 0 18px 44px color-mix(in srgb, var(--_text) 13%, transparent);
    padding:34px clamp(20px,3vw,56px);
}
.wfp-app .wfp-head{margin-bottom:28px;padding-bottom:22px}
.wfp-app .wfp-intro,.wfp-app .wfp-toolbar{margin-bottom:22px}
.wfp-app .wfp-count{margin:0 0 20px}

/* Karten: rund, weicher Schatten, sanftes Anheben beim Hover */
.wfp-app .wfp-card{
    border:1px solid color-mix(in srgb, var(--_text) 9%, transparent);
    border-radius:16px;
    box-shadow:var(--_soft);
    padding:22px;
    transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
@media (hover:hover){.wfp-app .wfp-card:hover{box-shadow:var(--_soft-h);transform:translateY(-3px);border-color:color-mix(in srgb, var(--_accent) 45%, transparent)}}
.wfp-app .wfp-list{gap:18px}
.wfp-app .wfp-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(265px,1fr))}
.wfp-app .wfp-session{margin-bottom:36px}
.wfp-app .wfp-session-h{margin-bottom:16px;padding-bottom:9px}

/* runde, weiche Elemente */
.wfp-app .wfp-badge{border-radius:999px;padding:5px 13px}
.wfp-app .wfp-tag{border-radius:999px;padding:4px 12px}
.wfp-app .wfp-chip{border-radius:999px}
.wfp-app .wfp-btn{border-radius:11px}
.wfp-app .wfp-btn:hover{transform:translateY(-1px)}
.wfp-app .wfp-toolbar select,.wfp-app .wfp-toolbar input[type=search]{border-radius:11px}
.wfp-app .wfp-tabs{border-radius:14px;overflow:hidden;box-shadow:var(--_soft);border-color:transparent}
.wfp-app .wfp-opt{border-radius:12px}
.wfp-app .wfp-pill{border-radius:999px}
.wfp-app .wfp-berater{border-radius:16px;padding:24px 26px}

/* Detailansicht: weich, schwebend */
.wfp-app .wfp-detail{border:0;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.38);padding:34px}
.wfp-app .wfp-close{border-radius:10px}

/* Fotos/Logos + Archiv weicher */
.wfp-app .wfp-pphoto{border-radius:50%}
.wfp-app .wfp-arch-card{border-radius:16px;box-shadow:var(--_soft);border-color:color-mix(in srgb, var(--_text) 9%, transparent);transition:box-shadow .18s ease, transform .18s ease}
.wfp-app .wfp-arch-card:hover{box-shadow:var(--_soft-h);transform:translateY(-3px)}
.wfp-app .wfp-arch-photo{box-shadow:var(--_soft)}
.wfp-app .wfp-day-h{margin:28px 0 16px}

/* Zeitraster: weichere Trennlinien */
.wfp-app .wfp-tt-cell,.wfp-app .wfp-tt-time{border-top-color:color-mix(in srgb, var(--_text) 9%, transparent)}
.wfp-app .wfp-tt-head{border-radius:8px}

/* Fix: heller Text auf farbigen Flächen (aktiver Tag-Reiter, gefüllte Elemente) */
.wfp-app .wfp-tab.is-on .wfp-tab-k,.wfp-app .wfp-tab.is-on .wfp-tab-d,.wfp-app .wfp-tab.is-on{color:#fff}
.wfp-app .wfp-tab.is-on .wfp-tab-k{opacity:.92}
.wfp-app .wfp-badge.wfp-badge-fill{color:#fff}
.wfp-app .wfp-langtog button.is-on{color:#fff}

/* Sonderprogramm-Reiter (z. B. Meet the Expert) hebt sich ab */
.wfp-app .wfp-tab-special{}
.wfp-app .wfp-tab-special .wfp-tab-k{color:var(--_accent);opacity:1}
.wfp-app .wfp-tab-special.is-on .wfp-tab-k{color:#fff}

/* ═══════════ Typografische Exzellenz ═══════════
   Feedback: Karten liefen zu hoch (Display-Font zu groß), Format-Tags wirkten
   wie Buttons, Programm zu schmal/linksbündig. Ruhigere Hierarchie:
   Display-Font nur für große Überschriften, Fließtext-Font für Kartentitel. */

/* Programm zentriert + etwas breiter (Selbstzentrierung; volle Breite via [wfp_section bleed]) */
.wfp-app{max-width:1320px;margin-inline:auto}

/* Karten-Titel: Fließtext-Font, ruhigere Größe, mehr Zeilenluft → deutlich kompakter */
.wfp-app .wfp-card .wfp-c-title{font-family:var(--_fb);font-size:17px;font-weight:600;line-height:1.34;letter-spacing:0}
.wfp-app .wfp-card .wfp-c-time{font-family:var(--_fb);font-size:13px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;opacity:.9}
.wfp-app .wfp-card{padding:20px 22px;gap:11px}
.wfp-app .wfp-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.wfp-app .wfp-card .wfp-c-spk{font-size:14px;line-height:1.5}

/* Format-Tags als LABEL statt Button: flach, dezent getönt, klar nicht klickbar */
.wfp-app .wfp-badge{border:0;background:color-mix(in srgb,var(--_accent) 12%, var(--_bg));color:var(--_accent);
    border-radius:6px;font-size:11px;letter-spacing:.09em;padding:4px 10px;font-weight:700}
.wfp-app .wfp-badge.wfp-badge-fill{background:var(--_accent);color:#fff}
.wfp-app .wfp-tag{border:0;background:color-mix(in srgb,var(--_text) 7%, var(--_bg));color:var(--_muted);border-radius:6px;padding:4px 10px}

/* Session-/Tages-Überschriften ruhiger */
.wfp-app .wfp-session-h{font-size:14px;letter-spacing:.12em}

/* Detail-Modal: Titel ruhiger, klare Hierarchie statt Riesen-Headline */
.wfp-app .wfp-detail h2{font-family:var(--_fh);font-size:clamp(22px,2.6vw,27px);line-height:1.16;letter-spacing:-.01em;margin:10px 0 4px}
.wfp-app .wfp-detail .wfp-d-teaser{font-size:16px;line-height:1.6}
.wfp-app .wfp-detail .wfp-d-row{font-size:14px}

/* ═══════════ Layout: Zeitachse ═══════════
   Räume als Spalten, jeder Punkt an seiner echten Uhrzeit/Dauer, Sprachtag je Punkt,
   Pausen als schraffierte Bänder, leere Räume ausgeblendet oder ausgegraut. */

/* Sprach-Tags (beide aktiv, einzeln abschaltbar, letzter bleibt gesperrt) */
.wfp-app .wfp-langtags{display:inline-flex;gap:6px}
.wfp-app .wfp-langtag{font-family:inherit;font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px;border:1.5px solid var(--_line);background:transparent;color:var(--_muted);cursor:pointer;display:inline-flex;align-items:center;gap:7px;min-height:44px}
.wfp-app .wfp-langtag::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.35}
.wfp-app .wfp-langtag:hover:not(.is-last){border-color:var(--_accent)}
.wfp-app .wfp-langtag.is-on{color:#fff}
.wfp-app .wfp-langtag.is-on::before{opacity:1;background:#fff}
.wfp-app .wfp-langtag.wfp-lang-de.is-on{background:var(--_lang-de);border-color:var(--_lang-de);color:var(--_lang-de-ink)}
.wfp-app .wfp-langtag.wfp-lang-en.is-on{background:var(--_lang-en);border-color:var(--_lang-en);color:var(--_lang-en-ink)}
.wfp-app .wfp-langtag.is-last{cursor:not-allowed}

/* Scroll-Kasten: beide Scrollbalken im Sichtfeld, Raum-Kopf klebt oben */
/* Kein eigener Scrollkasten: die Konferenz-Ansicht läuft in voller Höhe, die Seite scrollt bis zum Programmende.
   Der Raum-Kopf bleibt oben kleben – bei fixem Theme-Header per Custom-CSS versetzen: .wfp-za-head{top:80px} bzw. --wfp-sticky-top */
.wfp-app .wfp-za-wrap{overflow:visible;max-height:none;min-height:0;border:1px solid var(--_line);border-radius:12px;background:var(--_bg);box-shadow:var(--_soft)}
.wfp-app .wfp-za-head{top:var(--wfp-sticky-top,0)}
.wfp-app .wfp-za{min-width:640px}
.wfp-app .wfp-za-head{display:grid;position:sticky;top:0;z-index:5;background:var(--_bg);border-bottom:2px solid var(--_line)}
.wfp-app .wfp-za-corner{border-right:1px solid var(--_line);padding:14px;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--_muted);display:flex;align-items:center}
.wfp-app .wfp-za-rhead{padding:12px 14px;border-right:1px solid var(--_line);display:flex;align-items:center;gap:9px;min-height:50px}
.wfp-app .wfp-za-rhead .wfp-za-rname{font-family:var(--_fh);font-weight:700;font-size:16px;color:var(--_text);letter-spacing:-.01em}
.wfp-app .wfp-za-rhead .wfp-za-empty{font-size:12px;color:var(--_muted);font-weight:600}
.wfp-app .wfp-za-rhead.is-greyed{background:color-mix(in srgb,var(--_text) 6%,var(--_bg))}
.wfp-app .wfp-za-rhead.is-greyed .wfp-za-rname{opacity:.5}

.wfp-app .wfp-za-body{display:grid;position:relative;padding-top:12px} /* Luft für das erste Stunden-Label */
.wfp-app .wfp-za-axis{position:relative;border-right:1px solid var(--_line);background:var(--_surface)}
.wfp-app .wfp-za-axis .wfp-za-hr{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--_line)}
.wfp-app .wfp-za-axis .wfp-za-hl{position:absolute;left:8px;font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;color:var(--_muted);transform:translateY(-8px);background:var(--_surface);padding-right:4px}
.wfp-app .wfp-za-rooms{display:grid;position:relative}
.wfp-app .wfp-za-col{position:relative;border-right:1px solid var(--_line)}
.wfp-app .wfp-za-col.is-greyed{background:color-mix(in srgb,var(--_text) 6%,var(--_bg))}
.wfp-app .wfp-za-col .wfp-za-gline{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--_line);pointer-events:none}

/* Punkt-Block: sitzt an echter Uhrzeit, Höhe = Dauer (gedeckelt am nächsten Punkt) */
/* display:flex + column: ein <button> zentriert seinen Inhalt sonst vertikal (Theme-Reset all:revert) – Zeit und Titel gehören nach oben */
.wfp-app .wfp-za-block{position:absolute;left:6px;right:6px;width:auto;margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;font-family:inherit;color:inherit;background:var(--_bg);border:1px solid var(--_line);border-radius:8px;padding:8px 12px;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb,var(--_text) 10%,transparent);transition:box-shadow .14s}
.wfp-app .wfp-za-block:hover{box-shadow:var(--_soft-h);z-index:3}
/* Karten nach Sprache getönt – hebt sich vom weißen Raster ab, Text bleibt dunkel und lesbar */
.wfp-app .wfp-za-block.wfp-lang-en{background:color-mix(in srgb,var(--_lang-en) 42%,var(--_surface));border-color:color-mix(in srgb,var(--_lang-en) 75%,var(--_surface))}
.wfp-app .wfp-za-block.wfp-lang-de{background:color-mix(in srgb,var(--_lang-de) 18%,var(--_surface));border-color:color-mix(in srgb,var(--_lang-de) 40%,var(--_surface))}
.wfp-app .wfp-za-block.wfp-lang-en:hover{background:color-mix(in srgb,var(--_lang-en) 58%,var(--_surface))}
.wfp-app .wfp-za-block.wfp-lang-de:hover{background:color-mix(in srgb,var(--_lang-de) 28%,var(--_surface))}
/* Abgeschnittene Titel: bei Hover/Fokus wächst der Block auf seinen Inhalt – mindestens so hoch wie sein
   Zeitfenster (--h), legt sich über die Nachbarn. Klick öffnet weiterhin das Detail (Touch). */
.wfp-app .wfp-za-block:hover,.wfp-app .wfp-za-block:focus-visible{height:auto!important;min-height:var(--h);z-index:6;box-shadow:var(--_soft-h)}
.wfp-app .wfp-za-block:hover .wfp-za-bttl,.wfp-app .wfp-za-block:focus-visible .wfp-za-bttl{-webkit-line-clamp:unset;max-height:none}
.wfp-app .wfp-za-block.wfp-za-sm:hover,.wfp-app .wfp-za-block.wfp-za-sm:focus-visible{display:block;padding:8px 12px}
.wfp-app .wfp-za-block.wfp-za-sm:hover .wfp-za-brow,.wfp-app .wfp-za-block.wfp-za-sm:focus-visible .wfp-za-brow{flex-wrap:wrap}
.wfp-app .wfp-za-block.wfp-za-sm:hover .wfp-za-bttl,.wfp-app .wfp-za-block.wfp-za-sm:focus-visible .wfp-za-bttl{flex-basis:100%;order:3;white-space:normal;overflow:visible;text-overflow:clip;margin-top:4px;font-size:13.5px;line-height:1.25}

/* Ansicht-Umschalter „Zeitachse | Liste" (nur bei Zeitachse-Programmen) */
.wfp-app .wfp-viewtog{display:inline-flex;border:1.5px solid var(--_line);border-radius:999px;overflow:hidden;background:transparent}
.wfp-app .wfp-viewbtn{font-family:inherit;font-weight:700;font-size:14px;padding:9px 16px;border:0;background:transparent;color:var(--_muted);cursor:pointer;min-height:44px}
.wfp-app .wfp-viewbtn.is-on{background:var(--_accent);color:#fff}
.wfp-app .wfp-viewbtn:focus-visible{outline:2px solid var(--_accent);outline-offset:-2px}
/* Listenansicht: Pausen als schlanke schraffierte Zeile; Format + Sprach-Pille rechts in der Karte */
.wfp-app .wfp-za-listbreak{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:8px;font-family:var(--_fh);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--_muted);
  background:color-mix(in srgb,var(--_text) 7%,var(--_surface))}
.wfp-app .wfp-za-listbreak .wfp-za-bt{font-family:var(--_fb);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;color:var(--_accent)}
.wfp-app .wfp-card .wfp-c-tr{display:inline-flex;gap:6px;align-items:center}
.wfp-app .wfp-za-block .wfp-za-brow{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.2}
.wfp-app .wfp-za-block .wfp-za-bt{font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;color:var(--_accent);white-space:nowrap}
/* Titel: so viele Zeilen, wie in das Zeitfenster passen (--lines aus dem Script), sauber abgeschnitten statt mitten in der Zeile */
.wfp-app .wfp-za-block .wfp-za-bttl{font-family:var(--_fb);font-weight:600;font-size:14px;line-height:1.3;color:var(--_text);margin-top:4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines,3);overflow:hidden;word-break:normal;overflow-wrap:anywhere}
/* Kompakt-Variante für kurze Punkte: Zeit · Titel · Tag in einer Zeile */
.wfp-app .wfp-za-block.wfp-za-sm{display:flex;flex-direction:row;align-items:center;padding:4px 12px}
.wfp-app .wfp-za-block.wfp-za-sm .wfp-za-brow{width:100%}
.wfp-app .wfp-za-block.wfp-za-sm .wfp-za-bttl{display:block;-webkit-line-clamp:unset;flex:1;min-width:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.wfp-app .wfp-za-pill{font-weight:700;font-size:10.5px;letter-spacing:.06em;padding:2px 7px;border-radius:4px;line-height:1.4;flex:none}
.wfp-app .wfp-za-pill.wfp-lang-en{background:color-mix(in srgb,var(--_lang-en) 60%,var(--_surface));color:color-mix(in srgb,var(--_lang-en) 45%,#0b2a20)}
.wfp-app .wfp-za-pill.wfp-lang-de{background:color-mix(in srgb,var(--_lang-de) 28%,var(--_surface));color:color-mix(in srgb,var(--_lang-de) 45%,#062a3a)}

/* Pausen: schraffiertes Band – über alle Räume oder je Raum */
.wfp-app .wfp-za-break,.wfp-app .wfp-za-band{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;font-family:var(--_fh);font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--_muted);pointer-events:none;
  background:color-mix(in srgb,var(--_text) 7%,var(--_surface));
  border-top:1px solid var(--_line);border-bottom:1px solid var(--_line)}
.wfp-app .wfp-za-band{z-index:2}

/* ─── Konferenz-Ansicht als Inhaltsraster: Zeilen = Zeitgrenzen, Höhe nach Text, keine Stundenlinien ─── */
.wfp-app .wfp-za-body.wfp-za-grid{display:grid;gap:0 8px;padding:10px 8px 14px 0;align-items:stretch}
.wfp-app .wfp-za-grid .wfp-za-tl{font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;line-height:14px;color:var(--_muted);padding:8px 10px 0 12px;align-self:start;height:0;overflow:visible;white-space:nowrap} /* Beschriftung ohne Höhe: dehnt kurze Zeilen (5 min) nicht auf */
.wfp-app .wfp-za-body.wfp-za-grid{background:linear-gradient(var(--_line),var(--_line)) 75px 0/1px 100% no-repeat} /* senkrechte Linie der Zeitspalte */
.wfp-app .wfp-za-grid .wfp-za-col.is-greyed{position:static;height:auto;border:0;border-radius:8px}
/* Block-Mindesthöhe: Zeitzeile + 5 Titelzeilen (14px × 1.3) + Innenabstand – kürzere Slots werden nie kleiner, längere wachsen proportional */
.wfp-app .wfp-za-grid .wfp-za-block{position:relative;left:auto;right:auto;top:auto;height:auto;min-height:var(--wfp-za-minh,0);z-index:1} /* Höhe = Dauer (3 px je Minute); nur längerer Text macht die Zeile höher */
.wfp-app .wfp-za-grid .wfp-za-block .wfp-za-bttl{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:normal}
.wfp-app .wfp-za-grid .wfp-za-block:hover,.wfp-app .wfp-za-grid .wfp-za-block:focus-visible{min-height:var(--wfp-za-minh,0)}
.wfp-app .wfp-za-grid .wfp-za-break,.wfp-app .wfp-za-grid .wfp-za-band{position:relative;left:auto;right:auto;top:auto;height:auto;min-height:0;border:1px solid var(--_line);border-radius:8px;gap:10px;padding:4px 12px;text-align:center;flex-wrap:wrap}
.wfp-app .wfp-za-grid .wfp-za-block,.wfp-app .wfp-za-grid .wfp-za-break,.wfp-app .wfp-za-grid .wfp-za-band{margin:3px 0} /* Abstand im Block statt Rasterabstand: sonst würden Blöcke über mehrere Zeilen höher als ihre Dauer */
.wfp-app .wfp-za-grid .wfp-za-break .wfp-za-bt,.wfp-app .wfp-za-grid .wfp-za-band .wfp-za-bt{font-family:var(--_fb);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;font-size:12px;color:var(--_accent)}

/* ═══════════ Feedback Stage02: Abstände, Berater als Assistent, Merkliste-Fluss, klickbare Tags, Skin SF ═══════════ */

/* Abstände: ruhigerer Rhythmus zwischen Kopf, Berater, Tagen, Toolbar und Liste */
.wfp-app .wfp-head{margin-bottom:30px;padding-bottom:24px;gap:16px 28px}
.wfp-app .wfp-claim{margin-top:8px}
.wfp-app .wfp-meta{line-height:1.5}
.wfp-app .wfp-berater{margin-bottom:26px}
.wfp-app .wfp-tabs{margin-bottom:20px}
.wfp-app .wfp-toolbar{margin-bottom:28px;gap:10px 12px}
.wfp-app .wfp-toolbar select{flex:0 0 auto}
.wfp-app .wfp-toolbar input[type=search]{flex:1 1 240px;max-width:440px}
.wfp-app .wfp-toolbar .wfp-chip{min-height:48px;display:inline-flex;align-items:center}
.wfp-app .wfp-count{margin:0 0 18px}
.wfp-app .wfp-session-h{margin-bottom:14px}

/* Tags/Format sind klickbar (setzen den Filter) */
.wfp-app .wfp-tag.is-click,.wfp-app .wfp-badge.is-click{cursor:pointer}
.wfp-app .wfp-tag.is-click:hover,.wfp-app .wfp-badge.is-click:hover{text-decoration:underline}
.wfp-app .wfp-detail .wfp-d-row .wfp-tag.is-click{font-size:13px}

/* Programmberater als Assistent: dunkle Karte, Icon, Schritte als Chips – kein Warnhinweis mehr */
.wfp-app .wfp-berater.wfp-ai{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 26px;align-items:center;background:var(--_text);color:var(--_bg);border:0;border-radius:18px;padding:28px 30px;position:relative;overflow:hidden}
.wfp-app .wfp-berater.wfp-ai::after{content:"";position:absolute;right:-90px;top:-110px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--_accent) 55%,transparent),transparent 68%);pointer-events:none}
.wfp-app .wfp-ai-icon{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--_bg) 12%,transparent);color:var(--_bg);position:relative;z-index:1}
.wfp-app .wfp-ai-icon svg{width:30px;height:30px}
.wfp-app .wfp-ai-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.72;margin-bottom:6px;color:inherit}
.wfp-app .wfp-ai-h{font-family:var(--_fh);font-size:clamp(20px,2.4vw,26px);line-height:1.15;margin:0 0 8px;color:inherit;font-weight:700}
.wfp-app .wfp-ai-p{margin:0;font-size:15.5px;line-height:1.55;opacity:.88;max-width:62ch;color:inherit}
.wfp-app .wfp-ai-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.wfp-app .wfp-ai-steps span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:5px 12px 5px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--_bg) 30%,transparent)}
.wfp-app .wfp-ai-steps span b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--_bg);color:var(--_text);font-size:11px;font-weight:800}
.wfp-app .wfp-ai-steps span i{font-style:normal}
.wfp-app .wfp-ai-cta{position:relative;z-index:1}
.wfp-app .wfp-ai-cta .wfp-btn{background:var(--_bg);color:var(--_text);white-space:nowrap;border:0}
.wfp-app .wfp-ai-cta .wfp-btn:hover{background:var(--_bg);filter:brightness(.96)}
@media(max-width:760px){.wfp-app .wfp-berater.wfp-ai{grid-template-columns:1fr;padding:22px}.wfp-app .wfp-ai-icon{display:none}}

/* Merkliste: schwebende Leiste (sobald etwas gemerkt ist) + klarer Kopf mit Rückweg */
.wfp-app .wfp-favbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:10px;padding:10px 12px 10px 20px;border-radius:999px;background:var(--_text);color:var(--_bg);box-shadow:0 14px 40px rgba(0,0,0,.28);font-size:15px;max-width:calc(100vw - 32px)}
.wfp-app .wfp-favbar b{font-weight:800}
.wfp-app .wfp-favbar .wfp-btn{min-height:40px;padding:8px 16px;font-size:14px;background:var(--_bg);color:var(--_text);border-radius:999px;border:0}
.wfp-app .wfp-favbar .wfp-btn.wfp-btn-ghost{background:transparent;color:var(--_bg);border:1px solid color-mix(in srgb,var(--_bg) 45%,transparent)}
.wfp-app .wfp-favhead{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:20px 24px;border-radius:16px;background:var(--_surface);margin-bottom:24px}
.wfp-app .wfp-favhead .wfp-fh-t{font-family:var(--_fh);font-size:24px;margin:0;line-height:1.1}
.wfp-app .wfp-favhead .wfp-fh-c{color:var(--_muted);font-size:15px;margin-top:3px}
.wfp-app .wfp-favhead .wfp-fh-sp{flex:1}
.wfp-app .wfp-favhead .wfp-btn{min-height:44px;padding:9px 18px;font-size:15px}
.wfp-app .wfp-favhead .wfp-link{margin:0}

/* ─── Skin „sf": Schwarz als Basis, Rot nur für Sterne/Akzente, Gelb-Rot-Verlauf als Markenlinie ─── */
.wfp-skin-sf{--_grad:var(--wfp-grad,linear-gradient(90deg,#e3000f,#ebc232))}
.wfp-skin-sf .wfp-head{border-bottom:0;position:relative;padding-bottom:26px}
.wfp-skin-sf .wfp-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--_grad)}
.wfp-skin-sf .wfp-tab.is-on{background:#111;color:#fff;box-shadow:inset 0 -4px 0 #e3000f}
.wfp-skin-sf .wfp-tabs{box-shadow:none;border:1px solid var(--_line)}
.wfp-skin-sf .wfp-app .wfp-btn,.wfp-skin-sf .wfp-btn{background:#111;color:#fff}
.wfp-skin-sf .wfp-btn:hover{background:#000}
.wfp-skin-sf .wfp-btn.wfp-btn-ghost{background:transparent;color:#111;border:1.5px solid #111}
.wfp-skin-sf .wfp-badge{background:#f0f0f0;color:#111}
.wfp-skin-sf .wfp-badge.wfp-badge-fill{background:#111;color:#fff}
.wfp-skin-sf .wfp-tag{background:#f4f4f4;color:#333}
.wfp-skin-sf .wfp-fav{color:#e3000f}
.wfp-skin-sf .wfp-chip.is-on{background:#111;border-color:#111;color:#fff}
.wfp-skin-sf .wfp-langtog button.is-on{background:#111}
@media (hover:hover){.wfp-skin-sf .wfp-card:hover{border-color:#111}}
.wfp-skin-sf .wfp-session-h,.wfp-skin-sf .wfp-day-h{border-color:#111;color:#111}
.wfp-skin-sf .wfp-pill.is-sel{background:#111;border-color:#111}
.wfp-skin-sf .wfp-opt.is-sel{border-color:#111;box-shadow:inset 4px 0 0 #e3000f}
.wfp-skin-sf .wfp-wiz-dot.is-cur,.wfp-skin-sf .wfp-wiz-dot.is-done{background:var(--_grad);opacity:1}
.wfp-skin-sf .wfp-link{color:#111;text-decoration:underline}
.wfp-skin-sf .wfp-berater.wfp-ai{border:2px solid transparent;background:linear-gradient(#111,#111) padding-box,var(--_grad) border-box;color:#fff}
.wfp-skin-sf .wfp-berater.wfp-ai::after{background:radial-gradient(circle,rgba(235,194,50,.35),transparent 68%)}
.wfp-skin-sf .wfp-ai-icon{background:rgba(255,255,255,.12);color:#fff}
.wfp-skin-sf .wfp-ai-steps span b{background:#fff;color:#111}
.wfp-skin-sf .wfp-ai-cta .wfp-btn,.wfp-skin-sf .wfp-app .wfp-ai-cta .wfp-btn{background:#fff;color:#111}
.wfp-skin-sf .wfp-favbar{background:#111;color:#fff}
.wfp-skin-sf .wfp-favbar .wfp-btn{background:#fff;color:#111}
.wfp-skin-sf .wfp-favbar .wfp-btn.wfp-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.wfp-skin-sf .wfp-favhead{background:#f4f4f4}
.wfp-skin-sf .wfp-detail h2{color:#111}
.wfp-skin-sf .wfp-app a,.wfp-skin-sf a{color:#111}

/* ═══════════ Feedback: Verläufe zurücknehmen, weicher Stern ═══════════
   Nur EINE Markenlinie (unter dem Kopf) trägt den Verlauf – Berater-Karte, Reiter und
   Schritt-Punkte sind schlicht schwarz. Merken-Stern als SVG statt spitzer Glyphe. */
.wfp-app .wfp-berater.wfp-ai::after{display:none}
.wfp-skin-sf .wfp-berater.wfp-ai{border:0;background:#111}
.wfp-skin-sf .wfp-tab.is-on{box-shadow:none}
.wfp-skin-sf .wfp-wiz-dot.is-cur,.wfp-skin-sf .wfp-wiz-dot.is-done{background:#111}
.wfp-skin-sf .wfp-wiz-dot.is-done{opacity:.4}
.wfp-skin-sf .wfp-head::after{height:3px}

.wfp-app .wfp-fav{display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:50%;line-height:0;font-size:0;transition:background .14s,transform .14s}
.wfp-app .wfp-fav svg{width:22px;height:22px;display:block}
.wfp-app .wfp-fav:hover{background:color-mix(in srgb,var(--_accent) 10%,transparent);transform:scale(1.08)}
.wfp-app .wfp-btn-fav{display:inline-flex;align-items:center;gap:8px}
.wfp-app .wfp-btn-fav svg{width:20px;height:20px}

/* ═══════════ Feedback: Filter-Dropdowns vollflächig statt umrandet, Einträge gestylt, Hover-Zustände ═══════════ */
.wfp-app .wfp-sel{position:relative;display:inline-block}
.wfp-app .wfp-sel-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 14px 0 18px;border:1px solid var(--_line);border-radius:11px;background:var(--_bg);color:inherit;font:inherit;font-size:16px;cursor:pointer;white-space:nowrap;transition:background .14s,border-color .14s,color .14s}
.wfp-app .wfp-sel-btn svg{width:16px;height:16px;opacity:.7;transition:transform .15s;flex:none}
.wfp-app .wfp-sel-btn:hover{background:var(--_surface);border-color:color-mix(in srgb,var(--_text) 35%,transparent)}
.wfp-app .wfp-sel-btn:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--_accent) 30%,transparent)}
.wfp-app .wfp-sel.has-value .wfp-sel-btn,.wfp-app .wfp-sel.is-open .wfp-sel-btn{background:var(--_accent);color:#fff;border-color:var(--_accent)}
.wfp-app .wfp-sel.has-value .wfp-sel-btn svg,.wfp-app .wfp-sel.is-open .wfp-sel-btn svg{opacity:1}
.wfp-app .wfp-sel.is-open .wfp-sel-btn svg{transform:rotate(180deg)}
.wfp-app .wfp-sel-list{position:absolute;left:0;top:calc(100% + 6px);z-index:80;min-width:100%;max-height:340px;overflow:auto;background:var(--_bg);border:1px solid var(--_line);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.16);padding:6px;margin:0}
.wfp-app .wfp-sel-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:15px;cursor:pointer;white-space:nowrap}
.wfp-app .wfp-sel-opt:hover,.wfp-app .wfp-sel-opt:focus-visible{background:var(--_surface);outline:0}
.wfp-app .wfp-sel-opt.is-on{background:var(--_accent);color:#fff;font-weight:600}
.wfp-app .wfp-sel-opt.is-on::after{content:"✓";font-size:13px}
/* Suche + Merkliste-Chip: gleiche Sprache, kein roter Rahmen */
.wfp-app .wfp-toolbar input[type=search]{transition:border-color .14s,box-shadow .14s}
.wfp-app .wfp-toolbar input[type=search]:hover{border-color:color-mix(in srgb,var(--_text) 35%,transparent)}
.wfp-app .wfp-toolbar input[type=search]:focus-visible{outline:0;border-color:var(--_text);box-shadow:0 0 0 3px color-mix(in srgb,var(--_text) 14%,transparent)}
.wfp-app .wfp-chip{transition:background .14s,border-color .14s,color .14s}
.wfp-app .wfp-chip:hover{background:var(--_surface);border-color:color-mix(in srgb,var(--_text) 35%,transparent)}
.wfp-app .wfp-chip.is-on:hover{filter:brightness(.92)}
.wfp-app .wfp-chip:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--_accent) 30%,transparent)}
/* Skin SF: Schwarz statt Rot als Füllung */
.wfp-skin-sf .wfp-sel.has-value .wfp-sel-btn,.wfp-skin-sf .wfp-sel.is-open .wfp-sel-btn{background:#111;border-color:#111;color:#fff}
.wfp-skin-sf .wfp-sel-opt.is-on{background:#111;color:#fff}
.wfp-skin-sf .wfp-sel-btn:focus-visible,.wfp-skin-sf .wfp-chip:focus-visible{box-shadow:0 0 0 3px rgba(17,17,17,.22)}
.wfp-skin-sf .wfp-chip:hover{background:#f4f4f4;border-color:#111}
.wfp-skin-sf .wfp-chip.is-on{background:#111;border-color:#111;color:#fff}

/* ═══════════ Feedback: Mehrfachauswahl, aktive Filter sichtbar, alles zurücksetzen ═══════════ */
.wfp-app .wfp-sel-opt{padding-left:10px}
.wfp-app .wfp-sel-opt::before{content:"";width:18px;height:18px;flex:none;border:1.6px solid color-mix(in srgb,var(--_text) 40%,transparent);border-radius:5px;margin-right:2px;order:-1;transition:background .12s,border-color .12s}
.wfp-app .wfp-sel-opt{justify-content:flex-start;gap:10px}
.wfp-app .wfp-sel-opt.is-on{background:transparent;color:inherit;font-weight:600}
.wfp-app .wfp-sel-opt.is-on::before{background:var(--_accent);border-color:var(--_accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");background-size:13px;background-position:center;background-repeat:no-repeat}
.wfp-app .wfp-sel-opt.is-on::after{content:none}
.wfp-app .wfp-sel-opt.is-on:hover{background:var(--_surface)}
.wfp-app .wfp-sel-all{border-bottom:1px solid var(--_line);border-radius:8px 8px 0 0;margin-bottom:4px;color:var(--_muted)}
.wfp-app .wfp-sel-all::before{border-style:dashed}
.wfp-app .wfp-sel-all.is-on{color:inherit}
.wfp-app .wfp-sel-all.is-on::before{background:transparent;background-image:none;border-style:solid}
.wfp-skin-sf .wfp-sel-opt.is-on::before{background-color:#111;border-color:#111}

.wfp-app .wfp-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:-10px 0 22px;padding:12px 16px;border-radius:12px;background:var(--_surface)}
.wfp-app .wfp-active-l{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--_muted)}
.wfp-app .wfp-active-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.wfp-app .wfp-fchip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border-radius:999px;border:0;background:var(--_accent);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.wfp-app .wfp-fchip small{font-weight:500;opacity:.8;font-size:12px}
.wfp-app .wfp-fchip span{font-size:17px;line-height:1;opacity:.85}
.wfp-app .wfp-fchip:hover{filter:brightness(.92)}
.wfp-app .wfp-fchip:hover span{opacity:1}
.wfp-app .wfp-reset{margin:0;font-size:14px;font-weight:600;white-space:nowrap}
.wfp-skin-sf .wfp-fchip{background:#111}
.wfp-skin-sf .wfp-active{background:#f4f4f4}

/* ═══════════ Feedback: Dropdown-Einträge mit Abstand, gewählte Einträge nicht mehr schwarz gefüllt, lesbarer Hover ═══════════ */
.wfp-app .wfp-sel-list{display:flex;flex-direction:column;gap:3px;padding:8px}
.wfp-app .wfp-sel-opt,.wfp-skin-sf .wfp-sel-opt,.wfp-app .wfp-sel-opt.is-on,.wfp-skin-sf .wfp-sel-opt.is-on{background:transparent;color:inherit;border-radius:9px;padding:10px 12px}
.wfp-app .wfp-sel-opt.is-on,.wfp-skin-sf .wfp-sel-opt.is-on{font-weight:600}
.wfp-app .wfp-sel-opt:hover,.wfp-app .wfp-sel-opt.is-on:hover,.wfp-skin-sf .wfp-sel-opt:hover,.wfp-skin-sf .wfp-sel-opt.is-on:hover{background:var(--_surface);color:inherit}
.wfp-app .wfp-sel-opt:focus-visible,.wfp-skin-sf .wfp-sel-opt:focus-visible{background:var(--_surface);color:inherit;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--_text) 35%,transparent)}
.wfp-app .wfp-sel-all,.wfp-skin-sf .wfp-sel-all{margin-bottom:5px;padding-bottom:12px;border-radius:9px 9px 0 0}

/* ═══════════ Feedback: Berater-Schritte typografisch ruhiger ═══════════
   Klare Hierarchie (Rückweg → Fortschritt → Schritt → Frage → Erklärung → Optionen → Weiter),
   Optionen als Auswahlkarten mit Markierung, weicher Fokus statt rotem Rahmen. */
.wfp-app .wfp-wiz,.wfp-app .wfp-result{max-width:880px}
.wfp-app .wfp-link{text-decoration:none;font-weight:600;color:var(--_muted);padding:6px 0;margin:0 0 16px}
.wfp-app .wfp-link:hover{color:var(--_text);text-decoration:underline}
.wfp-skin-sf .wfp-link{text-decoration:none;color:var(--_muted)}
.wfp-app .wfp-wiz-prog{gap:8px;margin:4px 0 18px}
.wfp-app .wfp-wiz-dot{width:44px;height:4px;border-radius:2px}
.wfp-app .wfp-wiz-step{font-size:12px;letter-spacing:.16em;font-weight:700;margin-bottom:10px}
.wfp-app .wfp-wiz-title{font-size:clamp(24px,3vw,32px);line-height:1.15;margin:0 0 8px;letter-spacing:-.01em;text-wrap:balance}
.wfp-app .wfp-wiz-lead{font-size:16px;line-height:1.5;color:var(--_muted);margin:0 0 26px;max-width:60ch}
.wfp-app .wfp-opts{gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.wfp-app .wfp-opt{padding:18px 20px;min-height:66px;border-radius:12px;font-size:16px;line-height:1.35;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:border-color .14s,background .14s}
.wfp-app .wfp-opt::after{content:"";width:22px;height:22px;flex:none;border-radius:50%;border:1.6px solid color-mix(in srgb,var(--_text) 30%,transparent);transition:background .14s,border-color .14s}
.wfp-app .wfp-opt:hover{border-color:var(--_text)}
.wfp-app .wfp-opt.is-sel{border-color:var(--_text);box-shadow:none;background:var(--_surface);font-weight:600}
.wfp-app .wfp-opt.is-sel::after{border-color:var(--_text);background:var(--_text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat}
.wfp-app .wfp-pills{gap:10px}
.wfp-app .wfp-pill{padding:11px 18px;font-size:15.5px}
.wfp-app .wfp-pill.is-sel{background:var(--_text);border-color:var(--_text);color:var(--_bg)}
.wfp-app .wfp-hint{margin-top:16px}
.wfp-app .wfp-wiz-nav{margin-top:34px;gap:12px}
.wfp-app .wfp-btn:focus-visible,.wfp-app .wfp-opt:focus-visible,.wfp-app .wfp-pill:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--_text) 25%,transparent)}
.wfp-skin-sf .wfp-btn:focus-visible,.wfp-skin-sf .wfp-opt:focus-visible,.wfp-skin-sf .wfp-pill:focus-visible{box-shadow:0 0 0 3px rgba(17,17,17,.22)}
.wfp-skin-sf .wfp-opt.is-sel::after{background-color:#111;border-color:#111}
.wfp-skin-sf .wfp-opt.is-sel{border-color:#111;box-shadow:none}

/* ═══════════ Einheitliche Interaktion ═══════════
   Eine Sprache für alles Klickbare: Listeneinträge (Berater-Optionen, Themen, Tage, Dropdown-Einträge)
   sind Karten mit Marker (Kreis = Einfachauswahl, Kästchen = Mehrfach); Hover überall gleich
   (helle Fläche, dunkler Rand); Auswahl = dunkler Rand + gefüllter Marker; Fokus = weicher Ring, nie rot. */
.wfp-app :focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--_text) 22%,transparent)}
.wfp-app input:focus-visible,.wfp-app select:focus-visible{border-color:var(--_text);box-shadow:0 0 0 3px color-mix(in srgb,var(--_text) 14%,transparent)}

/* Listeneinträge */
.wfp-app .wfp-opt,.wfp-app .wfp-pill{border:1px solid var(--_line);background:var(--_bg);color:inherit;border-radius:12px;font-size:16px;font-weight:500;line-height:1.35;padding:16px 18px;min-height:0;display:flex;align-items:center;gap:14px;text-align:left;transition:background .14s,border-color .14s,box-shadow .14s}
.wfp-app .wfp-sel-opt{border:1px solid transparent;background:transparent;border-radius:9px;padding:10px 12px;gap:12px}
.wfp-app .wfp-opt:hover,.wfp-app .wfp-pill:hover,.wfp-app .wfp-sel-opt:hover,.wfp-app .wfp-opt.is-sel:hover,.wfp-app .wfp-pill.is-sel:hover,.wfp-app .wfp-sel-opt.is-on:hover{background:var(--_surface);border-color:var(--_text);color:inherit}
.wfp-app .wfp-opt.is-sel,.wfp-app .wfp-pill.is-sel{background:var(--_surface);border-color:var(--_text);box-shadow:inset 0 0 0 1px var(--_text);color:inherit;font-weight:600}
.wfp-app .wfp-sel-opt.is-on{background:transparent;color:inherit;font-weight:600}
/* Marker vor dem Text – überall gleich */
.wfp-app .wfp-opt::after,.wfp-app .wfp-pill::after,.wfp-app .wfp-sel-opt::after{content:none}
.wfp-app .wfp-opt::before,.wfp-app .wfp-pill::before,.wfp-app .wfp-sel-opt::before{content:"";width:20px;height:20px;flex:none;order:-1;margin:0;border:1.6px solid color-mix(in srgb,var(--_text) 40%,transparent);border-radius:6px;background:transparent;transition:background .12s,border-color .12s}
.wfp-app .wfp-opt.wfp-opt-radio::before{border-radius:50%}
.wfp-app .wfp-opt.is-sel::before,.wfp-app .wfp-pill.is-sel::before,.wfp-app .wfp-sel-opt.is-on::before{border-color:var(--_text);background:var(--_text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.wfp-app .wfp-sel-all::before{border-style:dashed}
.wfp-app .wfp-sel-all.is-on::before{background:transparent;border-style:solid}
.wfp-app .wfp-pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}

/* Steuerelemente (Tabs, Filter-Buttons, Chips, Ansicht/Sprache): gleicher Hover, Aktiv = gefüllt */
.wfp-app .wfp-chip:not(.is-on):hover,.wfp-app .wfp-sel-btn:hover,.wfp-app .wfp-viewbtn:not(.is-on):hover,.wfp-app .wfp-langtag:not(.is-on):hover,.wfp-app .wfp-tab:not(.is-on):hover{background:var(--_surface);border-color:var(--_text)} /* aktive Elemente behalten beim Hover ihre Farbe (sonst weiß auf hell) */
.wfp-app .wfp-tag.is-click:hover,.wfp-app .wfp-badge.is-click:hover{background:color-mix(in srgb,var(--_text) 12%,var(--_bg));color:var(--_text);text-decoration:none}
.wfp-app .wfp-fchip:hover{filter:none;background:color-mix(in srgb,var(--_text) 82%,var(--_bg))}
.wfp-app .wfp-btn:hover{filter:brightness(.94)}
.wfp-app .wfp-btn.wfp-btn-ghost:hover{filter:none;background:var(--_surface)}

/* SF: Marker und Ränder schwarz, keine roten Balken */
.wfp-skin-sf .wfp-opt.is-sel,.wfp-skin-sf .wfp-pill.is-sel{border-color:#111;box-shadow:inset 0 0 0 1px #111;background:#f4f4f4;color:#111}
.wfp-skin-sf .wfp-opt.is-sel::before,.wfp-skin-sf .wfp-pill.is-sel::before,.wfp-skin-sf .wfp-sel-opt.is-on::before{background-color:#111;border-color:#111}
.wfp-skin-sf :focus-visible{box-shadow:0 0 0 3px rgba(17,17,17,.22)}

/* ═══════════ Berater-Ergebnis: Aktionsspalte rechts (mitlaufend) ═══════════ */
.wfp-app .wfp-result{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.wfp-app .wfp-result-main{min-width:0;max-width:880px}
.wfp-app .wfp-result-side{position:sticky;top:24px}
.wfp-app .wfp-side-card{border:1px solid var(--_line);border-radius:16px;padding:22px;background:var(--_bg);display:grid;gap:10px;box-shadow:var(--_soft)}
.wfp-app .wfp-side-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--_muted)}
.wfp-app .wfp-side-n{font-size:15.5px;color:var(--_muted);margin-bottom:8px}
.wfp-app .wfp-side-n b{display:block;font-family:var(--_fh);font-size:30px;line-height:1;color:var(--_text);margin-bottom:4px}
.wfp-app .wfp-side-card .wfp-btn{width:100%;display:inline-flex;justify-content:center;text-align:center}
/* Karten-Fußzeile (Thema/Raum + Merken) am unteren Rand angeheftet: Raster-Karten einer Reihe enden auf gleicher Höhe */
.wfp-app .wfp-card{height:100%}
.wfp-app .wfp-card .wfp-c-foot{margin-top:auto;padding-top:6px;align-items:flex-end}
.wfp-app .wfp-card .wfp-c-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.wfp-app .wfp-grid{align-items:stretch}
/* Kopfbereich aus: nur der DE/EN-Umschalter, rechtsbündig, ohne Titelzeile */
.wfp-app .wfp-head.wfp-head-slim{justify-content:flex-end;border-bottom:0;padding:0 0 12px;margin:0;min-height:0}
/* Exportbereich unter den Merklisten-Aktionen: Teilen · Kalender · PDF */
.wfp-app .wfp-side-k2{margin-top:8px;padding-top:14px;border-top:1px solid var(--_line)}
.wfp-app .wfp-side-export{display:grid;gap:8px}
.wfp-app .wfp-side-export .wfp-btn{gap:8px;align-items:center}
.wfp-app .wfp-side-export .wfp-btn svg{width:16px;height:16px;flex:none}
.wfp-app .wfp-side-export .wfp-btn.is-done{background:var(--_text);color:var(--_bg);border-color:var(--_text)}
.wfp-app .wfp-btn[disabled]{opacity:.5;cursor:default;filter:none;transform:none}
@media(max-width:900px){.wfp-app .wfp-result{grid-template-columns:1fr}.wfp-app .wfp-result-side{position:static}}

/* ═══════════ „Merken" als Tag statt nacktem Stern – gleiche Sprache wie die anderen Steuerelemente ═══════════ */
.wfp-app .wfp-fav{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid var(--_line);background:var(--_bg);color:var(--_text);font-size:13px;font-weight:600;line-height:1;transition:background .14s,border-color .14s,color .14s;transform:none}
.wfp-app .wfp-fav svg{width:16px;height:16px;display:block}
.wfp-app .wfp-fav:hover{background:var(--_surface);border-color:var(--_text);transform:none}
.wfp-app .wfp-fav.is-on{background:var(--_text);color:var(--_bg);border-color:var(--_text)}
.wfp-app .wfp-fav.is-on:hover{filter:brightness(.94)}
/* Gemerkt-Pille sagt beim Hover, was der Klick tut; in der Merkliste steht es immer dran */
.wfp-app .wfp-fav.is-on[data-hover]:hover span{display:none}
.wfp-app .wfp-fav.is-on[data-hover]:hover::after{content:attr(data-hover)}
.wfp-app .wfp-fav.is-rm{background:var(--_bg);color:var(--_text);border-color:var(--_text)}
.wfp-app .wfp-fav.is-rm:hover{background:var(--_text);color:var(--_bg)}
.wfp-app .wfp-fav.is-rm[data-hover]:hover span{display:inline}
.wfp-app .wfp-fav.is-rm[data-hover]:hover::after{content:none}
.wfp-skin-sf .wfp-fav.is-rm{background:#fff;color:#111;border-color:#111}
.wfp-skin-sf .wfp-fav.is-rm:hover{background:#111;color:#fff}
.wfp-skin-sf .wfp-fav{color:#111}
.wfp-skin-sf .wfp-fav.is-on{background:#111;color:#fff;border-color:#111}

/* Fix: display:flex auf der Dropdown-Liste hatte das hidden-Attribut überstimmt – geschlossene Listen blieben sichtbar */
.wfp-app .wfp-sel-list[hidden]{display:none}

/* Berater: nichts gefunden → freundlicher Hinweis + Empfehlungen */
.wfp-app .wfp-sorry{padding:18px 22px;border-radius:14px;background:var(--_surface);margin:0 0 20px;font-size:16px;line-height:1.55;max-width:70ch}
.wfp-app .wfp-sorry strong{color:var(--_text)}

/* Sponsor-Name in der Karte klickbar (setzt den Sponsor-Filter) */
.wfp-app .wfp-lnk.is-click{cursor:pointer;text-decoration:none;text-underline-offset:3px} /* keine Dauer-Unterstreichung: wirkte als einziger Link in der Karte fremd */
.wfp-app .wfp-lnk.is-click:hover{text-decoration:underline}
.wfp-app .wfp-lnk.is-click:hover{color:var(--_text);text-decoration-color:var(--_text)}

/* Detailansicht: Hinweis auf Mitschnitt/Unterlagen (liegen hinter der Schranke auf der Detailseite) */
.wfp-app .wfp-media-hint{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.wfp-app .wfp-media-hint .wfp-tag{font-weight:600}

/* Detailansicht: Schließen-Button als rundes Icon (SVG statt Schriftzeichen) */
.wfp-app .wfp-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--_line);background:var(--_bg);color:var(--_text);font-size:0;line-height:0;padding:0;cursor:pointer;transition:background .14s,border-color .14s;z-index:2}
.wfp-app .wfp-close svg{width:18px;height:18px;display:block}
.wfp-app .wfp-close:hover{background:var(--_surface);border-color:var(--_text)}
.wfp-app .wfp-detail{padding-top:40px}
.wfp-skin-sf .wfp-close:hover{border-color:#111}

/* Theme-Schutz für das Suchfeld: manche Themes setzen Höhe/Padding von Eingabefeldern mit !important – hier gilt die Toolbar-Höhe. */
.wfp-app .wfp-toolbar input[type=search],.wfp-app .wfp-toolbar input[type=text]{height:48px!important;min-height:0!important;max-height:none!important;padding:0 14px!important;margin:0!important;font-size:16px!important;line-height:1.4!important;font-family:inherit!important;border:1px solid var(--_line)!important;border-radius:11px!important;background:var(--_bg)!important;color:inherit!important;box-shadow:none!important;box-sizing:border-box!important;width:auto;-webkit-appearance:none;appearance:none}
.wfp-app .wfp-toolbar input[type=search]:hover{border-color:color-mix(in srgb,var(--_text) 35%,transparent)!important}
.wfp-app .wfp-toolbar input[type=search]:focus,.wfp-app .wfp-toolbar input[type=search]:focus-visible{border-color:var(--_text)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--_text) 14%,transparent)!important;outline:0!important}
.wfp-app .wfp-toolbar input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
.wfp-app .wfp-toolbar .wfp-sel-btn,.wfp-app .wfp-toolbar .wfp-chip{height:48px!important;min-height:0!important;box-sizing:border-box!important}

/* --- Optionen: Alle Tage, ausfuehrliche Karten, DE/EN nebeneinander --- */

.wfp-app .wfp-alldays>.wfp-day-h{margin-top:28px}
.wfp-app .wfp-alldays>.wfp-day-h:first-child{margin-top:8px}
.wfp-app .wfp-card-rich{cursor:pointer;font:inherit;color:inherit}
.wfp-app .wfp-card-rich:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}
.wfp-app .wfp-card .wfp-c-teaser{font-size:14px;line-height:1.45;opacity:.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wfp-app .wfp-c-people{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:2px}
.wfp-app .wfp-c-person{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:inherit;max-width:100%}
.wfp-app a.wfp-c-person:hover .wfp-c-pname strong{text-decoration:underline;color:var(--_accent)}
.wfp-app .wfp-c-ava{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;background:var(--_line)}
.wfp-app .wfp-c-ini{display:inline-flex;align-items:center;justify-content:center;background:var(--_accent);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}
.wfp-app .wfp-c-pname{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.wfp-app .wfp-c-pname strong{font-size:13px;font-weight:600}
.wfp-app .wfp-c-pname small{font-size:11px;opacity:.75}
.wfp-app .wfp-c-more{align-self:center;font-size:12px;opacity:.7}
.wfp-app .wfp-langcols{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.wfp-app .wfp-lc{display:flex;flex-direction:column;gap:2px;min-width:0}
.wfp-app .wfp-lc-l{font-size:10px;font-weight:700;letter-spacing:.1em;opacity:.6;font-family:var(--_fb)}
.wfp-app .wfp-c-teaser.wfp-langcols{display:grid;-webkit-line-clamp:unset}
.wfp-app .wfp-c-teaser.wfp-langcols span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:560px){.wfp-app .wfp-langcols{grid-template-columns:1fr}}

/* Konferenz-Raster auf schmalen Viewports: seitlich im Widget scrollen statt die Seite zu sprengen (Zeitachse startet dort als Liste) */
@media (max-width:640px){.wfp-app .wfp-za-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}

/* Sprachfarben (Design-Box: Farbe Deutsch / Farbe Englisch; Standard FAZ-Konferenzen) – Schriftfarbe auf der Vollflaeche automatisch dunkel */
.wfp-app,.wfp-portal{--_lang-de:var(--wfp-lang-de,#21bbef);--_lang-en:var(--wfp-lang-en,#a6d4c1);--_lang-de-ink:#062a3a;--_lang-en-ink:#0b2a20}

/* ═══ Merken-Pille: Stern und Text exakt auf einer Mittellinie (Text-Box so hoch wie das 16-px-SVG) ═══ */
.wfp-app .wfp-fav{min-height:30px;gap:6px;font-weight:600;letter-spacing:0}
.wfp-app .wfp-fav svg{flex:none}
.wfp-app .wfp-fav span,.wfp-app .wfp-fav::after{display:block;line-height:16px}
.wfp-app .wfp-fav.is-on[data-hover]:hover span{display:none}

/* Pausen in Liste/Kacheln: gleiche graue Zeile wie in der Zeitachse-Liste; im Kachelraster über die ganze Breite */
.wfp-app .wfp-break{background:color-mix(in srgb,var(--_text) 7%,var(--_surface))}
.wfp-app .wfp-grid>.wfp-break{grid-column:1/-1}

/* Raumangabe neben der Uhrzeit (Programm-Option) */
.wfp-app .wfp-c-room{font-weight:500;opacity:.75}
.wfp-app .wfp-c-room::before{content:"·";margin:0 6px;opacity:.6}
.wfp-app .wfp-c-room.is-first::before{content:none}
.wfp-app .wfp-sp-reg{margin:16px 0 28px!important} /* Sonderprogramm-Seite: Luft zwischen „Jetzt anmelden“ und „12 Angebote“ */

/* Ghost-Buttons (PDF / Drucken, Kalender, Teilen …): Hover = Umkehrung in der Akzentfarbe; Farben explizit, damit Theme-Regeln (button:hover{color:#fff}) sie nicht überschreiben */
.wfp-app .wfp-btn.wfp-btn-ghost:not(#wfp-nx){color:var(--_text);border:1.5px solid var(--_text);background:transparent} /* keine farbige (rote) Umrandung – Rahmen in Textfarbe */
.wfp-app .wfp-btn.wfp-btn-ghost:not(#wfp-nx):hover,.wfp-app .wfp-btn.wfp-btn-ghost:not(#wfp-nx):focus-visible{background:var(--_text);color:var(--_bg);border-color:var(--_text);filter:none;transform:none}
.wfp-app .wfp-btn.wfp-btn-ghost:not(#wfp-nx)[disabled],.wfp-app .wfp-btn.wfp-btn-ghost:not(#wfp-nx)[disabled]:hover{background:transparent;color:var(--_text);opacity:.45}
.wfp-skin-sf .wfp-btn.wfp-btn-ghost:not(#wfp-nx){color:#111;border:1.5px solid #111}
.wfp-skin-sf .wfp-btn.wfp-btn-ghost:not(#wfp-nx):hover,.wfp-skin-sf .wfp-btn.wfp-btn-ghost:not(#wfp-nx):focus-visible{background:#111;color:#fff;border-color:#111}
/* dunkle Merkliste-Leiste: Ghost bleibt hell auf dunkel */
.wfp-app .wfp-favbar .wfp-btn.wfp-btn-ghost:not(#wfp-nx){color:var(--_bg);border-color:color-mix(in srgb,var(--_bg) 45%,transparent)}
.wfp-app .wfp-favbar .wfp-btn.wfp-btn-ghost:not(#wfp-nx):hover{background:var(--_bg);color:var(--_text);border-color:var(--_bg)}
.wfp-skin-sf .wfp-favbar .wfp-btn.wfp-btn-ghost:not(#wfp-nx){color:#fff;border-color:rgba(255,255,255,.45)}
.wfp-skin-sf .wfp-favbar .wfp-btn.wfp-btn-ghost:not(#wfp-nx):hover{background:#fff;color:#111;border-color:#fff}

/* Personen ohne Foto: Kreis mit Initialen (auch Freitext-Speaker); nicht verlinkte Einträge ohne Hover */
.wfp-app .wfp-pph{font-size:15px;letter-spacing:.02em}
.wfp-app div.wfp-pitem{cursor:default}

/* Programmberater: Positionen als gleichmäßiges Raster, Text bündig */
.wfp-app .wfp-wiz .wfp-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.wfp-app .wfp-wiz .wfp-opt{width:100%;justify-content:flex-start;text-align:left}

/* Hinweis englischsprachiger Punkt + Anmelde-Button im Detailfenster */
.wfp-app .wfp-langhint{margin:14px 0 4px;padding:14px 16px;background:#f0f0f0;border:2px solid var(--_accent);text-align:center;font-size:15px;color:var(--_text)}
.wfp-app .wfp-btn.wfp-btn-register:not(#wfp-nx){background:var(--_accent);color:#fff;border-color:var(--_accent)}

/* Merken-Pille: Text optisch zur Stern-Mitte (Wert per Script aus der Schrift gemessen), gleiche Box für Text und Hover-Text */
.wfp-app .wfp-fav{align-items:center}
.wfp-app .wfp-fav span,.wfp-app .wfp-fav::after{display:block;height:16px;line-height:16px;transform:translateY(var(--wfp-fav-nudge,0px))}

/* Sonderprogramm als Bereich unter dem Programm; Teaser mit Stichpunkten */
.wfp-app .wfp-special-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin:36px 0 8px;padding:22px 24px;background:var(--_surface);border:1px solid var(--_line)}
.wfp-app .wfp-special-cta .wfp-special-p{margin:4px 0 0;font-size:15px}
.wfp-app .wfp-special-btns{display:flex;flex-wrap:wrap;gap:10px}
.wfp-app .wfp-d-teaser p{margin:0 0 10px}
.wfp-app .wfp-d-teaser ul{margin:4px 0 12px;padding-left:20px}
.wfp-app .wfp-d-teaser li{margin:2px 0}

/* Detailfenster: Meta-Zeile (Uhrzeit · Raum · Thema · Sponsor) auf einer Mittellinie, Linien-Icons statt Emoji */
.wfp-app .wfp-detail .wfp-d-row{align-items:center;line-height:1.35}
.wfp-app .wfp-detail .wfp-d-row > *{display:inline-flex;align-items:center}
.wfp-app .wfp-detail .wfp-d-it{gap:6px;font-variant-numeric:tabular-nums}
.wfp-app .wfp-detail .wfp-d-ic{display:inline-flex;width:16px;height:16px;flex:none;opacity:.75}
.wfp-app .wfp-detail .wfp-d-ic svg{width:16px;height:16px;display:block}
.wfp-app .wfp-detail .wfp-d-row .wfp-tag{line-height:1.35;padding:2px 10px;margin:0}
.wfp-app .wfp-detail .wfp-d-spon{flex-wrap:wrap;gap:0 4px}
/* Sponsoren-Kasten unter dem Teaser: Überschrift klein darüber, Name kräftig; mehrere Zeilen durch Haarlinien getrennt */
.wfp-app .wfp-detail .wfp-d-sponbox{margin-top:20px;border-radius:12px;background:color-mix(in srgb,var(--_text) 4%,transparent);padding:4px 18px}
.wfp-app .wfp-detail .wfp-d-sponrow{display:flex;flex-direction:column;gap:2px;padding:12px 0}
.wfp-app .wfp-detail .wfp-d-sponrow + .wfp-d-sponrow{border-top:1px solid var(--_line)}
.wfp-app .wfp-detail .wfp-d-sponlbl{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--_muted);font-weight:600}
.wfp-app .wfp-detail .wfp-d-sponval{font-size:16px;font-weight:600}

/* Button-Pfeile: tagDiv-Icon (tdc-font-fa-chevron-*) – nur auf tagDiv-Seiten, klein, mit festem Abstand zum Text */
.wfp-app .tdc-font-fa{font-size:.72em;line-height:1}
.wfp-app .wfp-link .tdc-font-fa{margin-right:6px}

/* FAZ Konferenzen (Preset Steuerkonferenz): Buttons weiß, schwarzer Rahmen, eckig, fett, ohne Icon; beim Darüberfahren invertiert.
   :not(#wfp-nx) wie bei den übrigen Button-Regeln, damit die Ghost-Regeln mit Akzentfarbe nicht gewinnen */
.wfp-app.wfp-skin-steuerkonferenz .wfp-btn:not(#wfp-nx),.wfp-app.wfp-skin-steuerkonferenz .wfp-btn.wfp-btn-ghost:not(#wfp-nx){background:#fff;color:#0f1013;border:2px solid #0f1013;border-radius:0;font-weight:700;box-shadow:none;filter:none}
.wfp-app.wfp-skin-steuerkonferenz .wfp-btn:not(#wfp-nx):hover,.wfp-app.wfp-skin-steuerkonferenz .wfp-btn:not(#wfp-nx):focus-visible,.wfp-app.wfp-skin-steuerkonferenz .wfp-btn.wfp-btn-ghost:not(#wfp-nx):hover,.wfp-app.wfp-skin-steuerkonferenz .wfp-btn.wfp-btn-ghost:not(#wfp-nx):focus-visible{background:#0f1013;color:#fff;border-color:#0f1013;filter:none}
.wfp-app.wfp-skin-steuerkonferenz .wfp-favbar .wfp-btn:not(#wfp-nx){background:transparent;color:#fff;border-color:#fff}


/* „Alle …“ im Filter: ist nichts gewählt, gilt „Alle“ – also angehakt wie jede gewählte Option, ohne Klick-Anmutung */
.wfp-app .wfp-sel-opt.wfp-sel-all.is-on::before{border-style:solid;border-color:var(--_text);background:var(--_text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.wfp-skin-sf .wfp-sel-opt.wfp-sel-all.is-on::before{background-color:#111;border-color:#111}
.wfp-app .wfp-sel-opt.wfp-sel-all.is-on{cursor:default;color:inherit}

/* Kalender-Icon in Buttons */
.wfp-app .wfp-btn .wfp-ic-cal{width:16px;height:16px;flex:none}

/* Detailfenster: mehr Luft zwischen den Bereichen */
.wfp-app .wfp-detail .wfp-d-row{margin:14px 0 4px}
.wfp-app .wfp-detail .wfp-d-teaser{margin:20px 0 4px}
.wfp-app .wfp-detail .wfp-pblock{margin-top:28px}
.wfp-app .wfp-detail .wfp-pblock-h{margin-bottom:12px}
.wfp-app .wfp-detail .wfp-pblock > * + *{margin-top:10px}
.wfp-app .wfp-pgrp + .wfp-pgrp{margin-top:16px}
.wfp-app .wfp-pgrp-h{font-size:13px;font-weight:600;margin-bottom:8px;opacity:.75} /* Herkunft der Mitwirkenden (Wissenschaft, Business Perspective …) */
.wfp-app .wfp-detail .wfp-langhint,.wfp-app .wfp-detail .wfp-media-hint{margin-top:24px}
.wfp-app .wfp-detail .wfp-detail-actions{margin-top:30px}

/* Sonderprogramm-Bereich: Beschriftung als Zwischenüberschrift (Überschrift darüber anpassbar/ausblendbar) */
.wfp-app .wfp-special-cta .wfp-special-h{margin:2px 0 6px;font-family:var(--_fh);font-size:20px;line-height:1.25;font-weight:600}

/* Flaches Hover (passt zum Flat-Design): keine Schatten, kein Anheben – nur Rahmen in Akzentfarbe */
@media (hover:hover){.wfp-app .wfp-card:hover,.wfp-app .wfp-arch-card:hover{box-shadow:none;transform:none;border-color:var(--_accent)}}
@media (hover:hover){.wfp-skin-sf .wfp-card:hover{border-color:#111}}
.wfp-app .wfp-btn:hover{transform:none}
.wfp-app .wfp-za-block:hover,.wfp-app .wfp-za-block:focus-visible{box-shadow:0 0 0 1px var(--_accent)} /* Block klappt auf – Rahmen statt Schatten */

/* Personenzeilen der Karte: Beschriftung halbfett (Im Gespräch: / Gastgeber: / Sponsor:) */
.wfp-app .wfp-c-spk .wfp-c-lbl{font-weight:600}

/* Detailfenster: Headline etwas tiefer unter dem Format-Etikett */
.wfp-app .wfp-detail h2{margin-top:16px}
/* Buttons ohne fremde Umrandung (Theme-Fokus/Rahmen, z. B. rot bei tagDiv): gefüllte Buttons randlos, Fokusring nur bei Tastatur */
.wfp-app .wfp-btn:not(.wfp-btn-ghost):not(#wfp-nx){border-color:transparent;outline:0}
.wfp-skin-sf .wfp-btn:not(.wfp-btn-ghost):not(#wfp-nx){border-color:#111}
.wfp-app .wfp-btn:focus:not(:focus-visible){outline:0;box-shadow:none}
.wfp-portal .wfp-btn:focus:not(:focus-visible),.wfp-back .wfp-btn:focus:not(:focus-visible){outline:0;box-shadow:none}

/* Karte als Link: Titel-Link deckt die ganze Karte ab (Klick/Rechtsklick → Programmpunkt), Bedienelemente liegen darüber */
.wfp-app .wfp-card.has-link{cursor:pointer}
.wfp-app .wfp-c-link,.wfp-app .wfp-c-link:hover,.wfp-app .wfp-c-link:visited{color:inherit;text-decoration:none}
.wfp-app .wfp-c-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
/* Titel nie unterstrichen (auch nicht durch Theme-Regeln a:hover) */
.wfp-app .wfp-c-link:not(#wfp-nx),.wfp-app .wfp-c-link:not(#wfp-nx):hover,.wfp-app .wfp-c-link:not(#wfp-nx) *{text-decoration:none!important}
.wfp-app .wfp-c-link:focus-visible{outline:0}
.wfp-app .wfp-card.has-link:focus-within{border-color:var(--_text)}
.wfp-app .has-link .is-click,.wfp-app .has-link .wfp-fav,.wfp-app .has-link .wfp-c-info,.wfp-app .has-link .wfp-c-people a,.wfp-app .has-link a:not(.wfp-c-link){position:relative;z-index:2}
.wfp-app .wfp-c-acts{display:flex;align-items:center;gap:8px;margin-left:auto}
.wfp-app .wfp-c-info{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--_line);border-radius:999px;background:transparent;color:var(--_text);cursor:pointer;flex:none}
.wfp-app .wfp-c-info svg{width:17px;height:17px}
.wfp-app .wfp-c-info:hover,.wfp-app .wfp-c-info:focus-visible{background:var(--_text);color:var(--_bg);border-color:var(--_text);outline:0}
/* Zeitachse: Block mit Link – Aufklappen auch beim Fokus innerhalb */
.wfp-app .wfp-za-block.has-link{cursor:pointer}
.wfp-app .wfp-za-block:focus-within{height:auto!important;min-height:var(--h);z-index:6}

/* Slot-Format (Meet the Expert): Icon „30“ mit kreisendem Pfeil */
.wfp-app .wfp-slot{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--_muted,inherit)}
.wfp-app .wfp-slot svg{flex:none;color:var(--_text)}

/* (früher: runder X-Knopf in der Merkliste – jetzt gleiche Pille wie überall) */
/* Kartenfuß darf umbrechen; Aktionen bleiben rechts */
.wfp-app .wfp-card .wfp-c-foot{flex-wrap:wrap;row-gap:8px}

/* ─── Mobil (≤ 640 px) ─── */
@media (max-width:640px){
  /* Tage-Reiter: kompakt */
  .wfp-app .wfp-tab{min-width:0;padding:10px 12px}
  .wfp-app .wfp-tab .wfp-tab-d{font-size:15px;line-height:1.25}
  .wfp-app .wfp-tab .wfp-tab-k{font-size:11px}
  .wfp-app .wfp-tab:not(.wfp-tab-special):not(.wfp-tab-all) .wfp-tab-k{display:none} /* Datum steht schon in der Zeile darunter */
  /* Filter: ordentliches Raster, zwei Spalten, Suche über die volle Breite */
  .wfp-app .wfp-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .wfp-app .wfp-toolbar > *{min-width:0}
  .wfp-app .wfp-toolbar input[type=search],.wfp-app .wfp-toolbar .wfp-viewtog,.wfp-app .wfp-toolbar .wfp-langtags{grid-column:1 / -1;width:100%}
  .wfp-app .wfp-sel{display:block;width:100%}
  .wfp-app .wfp-sel-btn{width:100%;justify-content:space-between;min-height:44px;padding:0 12px;font-size:14px}
  .wfp-app .wfp-sel-btn > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  /* Auswahlliste als Blatt am unteren Rand – nie breiter als der Bildschirm */
  .wfp-app .wfp-sel-list{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0;max-width:none;max-height:60vh;z-index:9500}
  .wfp-app .wfp-sel-list *{white-space:normal;overflow-wrap:anywhere}
  /* Merkliste-Hinweis: Leiste am unteren Bildschirmrand statt Kreis */
  .wfp-app .wfp-favbar{left:0;right:0;bottom:0;width:auto;max-width:none;transform:none;border-radius:14px 14px 0 0;flex-wrap:nowrap;justify-content:space-between;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));font-size:14px}
  .wfp-app .wfp-favbar > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wfp-app .wfp-favbar .wfp-favbar-x{display:none}
  .wfp-app .wfp-favbar .wfp-btn{white-space:nowrap;flex:none}
  /* Karten: Zeit und Titel etwas kleiner */
  .wfp-app .wfp-card{padding:16px}
  .wfp-app .wfp-card .wfp-c-title{font-size:16px}
  .wfp-app .wfp-c-time{font-size:13px}
}

/* Personenfotos überall gleich: rund, feine Linie, kein Schatten, Gesicht oben (wie Detailseiten „Klar“) */
.wfp-app .wfp-pphoto,.wfp-app .wfp-arch-photo,.wfp-app .wfp-c-ava{border-radius:50%;object-fit:cover;object-position:50% 20%;border:1px solid #E3E1DE;box-shadow:none;background:#F2F1EF;}

/* Detailfenster: Sprach-Etikett neben dem Format */
.wfp-app .wfp-detail .wfp-d-lang{display:inline-block;margin-left:8px;vertical-align:middle}

/* Tage als Auswahl – nur SF: getrennte Kacheln, ausgewählt = dunkel gefüllt, abgewählt = hell mit Rahmen. Andere Designs: gleiche Reiter wie ohne Auswahl (ausgewählt = Akzentfarbe) */
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-k{display:none}
.wfp-app .wfp-daysel .wfp-tab-sel{cursor:pointer}
.wfp-app .wfp-daysel .wfp-tab-sel.is-on + .wfp-tab-sel.is-on{box-shadow:inset 1px 0 0 rgba(255,255,255,.35)} /* zwei gewählte Tage nebeneinander: feine Trennlinie */
.wfp-app .wfp-daysel .wfp-tab-tx{display:block;min-width:0}
.wfp-app.wfp-skin-sf .wfp-tabs.wfp-daysel{gap:12px;border:0;box-shadow:none;border-radius:0;overflow:visible;background:transparent}
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-sel{cursor:pointer;border:1px solid var(--_line);border-radius:14px;background:#fff;color:#8a8a8a;transition:background .12s,color .12s,border-color .12s}
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-sel:last-child{border-right:1px solid var(--_line)}
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-sel.is-on{background:#111;border-color:#111;color:#fff}
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-sel:not(.is-on):hover{color:#111;border-color:#bdbdbd}
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-sel:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}
.wfp-app.wfp-skin-sf .wfp-daysel .wfp-tab-tx{display:block;min-width:0}

/* Sonderprogramm über dem Programm: schlanke Leiste */
.wfp-app .wfp-sbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 28px;padding:10px 12px 10px 18px;background:var(--_surface,#f4f4f4);border:1px solid var(--_line);border-radius:14px}
.wfp-app .wfp-sbar-k{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#6b6b6b}
.wfp-app .wfp-sbar-btns{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 auto}
.wfp-app .wfp-sbar-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 14px;border:1px solid var(--_line);border-radius:999px;background:#fff;color:#111;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s}
.wfp-app .wfp-sbar-btn:hover{border-color:#111}
.wfp-app .wfp-sbar-btn:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}
.wfp-app .wfp-sbar-n{min-width:22px;padding:1px 7px;border-radius:999px;background:#ececec;font-size:12px;font-weight:600;text-align:center;color:#444}
.wfp-app .wfp-sbar-c{display:inline-flex;line-height:0;color:#6b6b6b}
.wfp-app .wfp-sbar-reg{font-size:14px;font-weight:600;color:#111;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (max-width:600px){.wfp-app .wfp-sbar{padding:10px 12px}.wfp-app .wfp-sbar-k{flex-basis:100%}}
.wfp-app.wfp-skin-sf .wfp-tabs.wfp-daysel .wfp-tab-sel:not(.is-on),.wfp-app.wfp-skin-sf .wfp-tabs.wfp-daysel .wfp-tab-sel:not(.is-on) .wfp-tab-k,.wfp-app.wfp-skin-sf .wfp-tabs.wfp-daysel .wfp-tab-sel:not(.is-on) .wfp-tab-d{background:#fff;color:#9a9a9a}
.wfp-app.wfp-skin-sf .wfp-tabs.wfp-daysel .wfp-tab-sel:not(.is-on):hover,.wfp-app.wfp-skin-sf .wfp-tabs.wfp-daysel .wfp-tab-sel:not(.is-on):hover .wfp-tab-d{color:#111}

/* Hinweis-Leiste (z. B. KI-Live-Übersetzung) */
.wfp-app .wfp-notice{display:flex;align-items:center;gap:16px;margin:0 0 28px;padding:12px 20px;background:#fff;color:#111;border:1px solid var(--_line);border-radius:14px}
.wfp-app .wfp-notice-ic{flex:0 0 auto;display:inline-flex;line-height:0;color:#111}
.wfp-app .wfp-notice-tx{margin:0;font-size:15px;line-height:1.45;color:#333}
.wfp-app .wfp-notice-tx strong{font-weight:700!important;color:#111}
@media (max-width:600px){.wfp-app .wfp-notice{align-items:flex-start;padding:12px 14px;gap:12px}.wfp-app .wfp-notice-ic svg{width:36px;height:25px}.wfp-app .wfp-notice-tx{font-size:14px}}
.wfp-app .wfp-notice-txs{display:flex;flex-direction:column;gap:4px;min-width:0}
.wfp-app .wfp-notice-tx.wfp-notice-en{color:#555}

/* Session-Überschrift mit Datum und Zeitspanne */
.wfp-app .wfp-session-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.wfp-app .wfp-session-when{font-size:13px;letter-spacing:.02em;text-transform:none;font-weight:500;color:var(--_muted,#6b6b6b)}

/* Sonderprogramm-Leiste: Buttons als Links (eigene Seiten) */
.wfp-app a.wfp-sbar-btn,.wfp-app a.wfp-sbar-btn:visited,.wfp-app a.wfp-sbar-btn:hover{text-decoration:none!important;color:#111}
.wfp-app .wfp-card[role=button]{cursor:pointer} /* Klick öffnet das Detailfenster */
.wfp-app .wfp-card[role=button]:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}

.wfp-app .wfp-detail .wfp-d-tba{margin:10px 0 0;font-style:italic;color:var(--_muted)} /* „Ein weiterer Referent folgt in Kürze.“ */

/* Tagesliste: parallele Programmpunkte nebeneinander (gleiche Zeit) */
.wfp-app .wfp-par{display:flex;flex-direction:column;gap:10px}
.wfp-app .wfp-par-h{display:flex;align-items:baseline;gap:10px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--_text,#1b1b1b)}
.wfp-app .wfp-par-k{font-weight:500;letter-spacing:0;text-transform:none;color:var(--_muted,#6b6b6b)}
.wfp-app .wfp-par-row{display:grid;grid-template-columns:repeat(var(--wfp-par-n,2),minmax(0,1fr));gap:18px;align-items:stretch}
.wfp-app .wfp-par-row>.wfp-card{height:100%}
@media (max-width:820px){.wfp-app .wfp-par-row{grid-template-columns:1fr}}

.wfp-app .wfp-pnote{font-weight:400;opacity:.7} /* „(angefragt)“ hinter dem Namen */

/* ── Feedback 15.10.2026 (FAZ-Konferenzen) ── */
/* Merken: überall derselbe SVG-Stern */
.wfp-app .wfp-chip svg,.wfp-app .wfp-favbar > span svg,.wfp-app .wfp-btn > svg:first-child{width:15px;height:15px;flex:none;vertical-align:-2px}
.wfp-app .wfp-chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.wfp-app .wfp-favbar > span{display:inline-flex;align-items:center;gap:6px}
.wfp-app .wfp-favbar > span b{margin-right:2px}
/* Programmpunkt-Karten der F.A.Z.-Konferenzen: gleichmäßiger, abgerundeter Rahmen (auch gemerkt/angetippt) */
.wfp-app.wfp-skin-steuerkonferenz .wfp-card:not(#wfp-nx){border:1px solid color-mix(in srgb,var(--_text) 16%,transparent);border-radius:12px;box-shadow:0 1px 3px rgba(15,28,46,.06);transform:none}
@media (hover:hover){.wfp-app.wfp-skin-steuerkonferenz .wfp-card:not(#wfp-nx):hover{border-color:var(--_accent);box-shadow:0 1px 3px rgba(15,28,46,.06)}}
.wfp-app.wfp-skin-steuerkonferenz .wfp-card:not(#wfp-nx):focus-visible{outline:2px solid var(--_accent);outline-offset:2px}
/* Suche: Platzhalter sichtbar, auch wenn das Theme ihn einfärbt/ausblendet */
.wfp-app .wfp-toolbar input[type=search]::placeholder{color:color-mix(in srgb,var(--_text) 55%,transparent)!important;opacity:1!important;visibility:visible!important;-webkit-text-fill-color:color-mix(in srgb,var(--_text) 55%,transparent)!important}
.wfp-app .wfp-toolbar input[type=search]::-webkit-input-placeholder{color:color-mix(in srgb,var(--_text) 55%,transparent)!important;opacity:1!important}
/* Typografie Karten: Teaser etwas enger, Position unter dem Namen etwas größer und mit Abstand */
.wfp-app .wfp-card .wfp-c-teaser{line-height:1.38}
.wfp-app .wfp-c-pname{line-height:1.25}
.wfp-app .wfp-c-pname small{font-size:12px;line-height:1.35;margin-top:3px}
/* Merkliste: gleiche Button-Optik; am Handy alle Aktionen untereinander in voller Breite (kein Wechsel links/rechts) */
.wfp-app .wfp-favhead .wfp-btn:not(#wfp-nx){background:transparent;color:var(--_text);border:2px solid currentColor;box-shadow:none}
.wfp-app .wfp-favhead .wfp-btn:not(#wfp-nx):hover{background:var(--_text);color:var(--_bg)}
@media (max-width:720px){
  .wfp-app .wfp-favhead{display:grid;grid-template-columns:1fr;justify-items:stretch;gap:12px;padding:18px}
  .wfp-app .wfp-favhead .wfp-fh-sp{display:none}
  .wfp-app .wfp-favhead .wfp-btn:not(#wfp-nx){width:100%;justify-content:center}
  .wfp-app .wfp-favhead .wfp-link{justify-self:center}
}
/* Rahmen um das Programm (F.A.Z.-Konferenzen): ringsum gleicher Abstand, abgerundet; Filter, Suche und Merkliste mit gleicher Rundung */
.wfp-app.wfp-skin-steuerkonferenz:not(#wfp-nx){padding:clamp(18px,3vw,40px);border-radius:16px}
.wfp-app.wfp-skin-steuerkonferenz .wfp-toolbar .wfp-sel-btn:not(#wfp-nx),.wfp-app.wfp-skin-steuerkonferenz .wfp-toolbar .wfp-chip:not(#wfp-nx),.wfp-app.wfp-skin-steuerkonferenz .wfp-toolbar input[type=search]:not(#wfp-nx),.wfp-app.wfp-skin-steuerkonferenz .wfp-toolbar select:not(#wfp-nx){border-radius:10px!important}
/* Zeitachse: Kopfzeile folgt der Rundung des Rahmens (vorher deckte ihr Hintergrund die oberen Ecken ab) */
@media (min-width:641px){.wfp-app .wfp-za-wrap{overflow:clip}} /* Handy: bleibt seitlich scrollbar */
.wfp-app .wfp-za-wrap .wfp-za-head{border-top-left-radius:11px;border-top-right-radius:11px}
.wfp-app .wfp-za-wrap .wfp-za-head > :first-child{border-top-left-radius:11px}
.wfp-app .wfp-za-wrap .wfp-za-head > :last-child{border-top-right-radius:11px}
/* Ansicht-Umschalter (Zeitachse | Liste) bei den F.A.Z.-Konferenzen wie die übrigen Filter gerundet; aktiver Teil bleibt beim Hover farbig */
.wfp-app.wfp-skin-steuerkonferenz .wfp-toolbar .wfp-viewtog:not(#wfp-nx){border-radius:10px}
.wfp-app .wfp-viewbtn.is-on:not(#wfp-nx),.wfp-app .wfp-viewbtn.is-on:not(#wfp-nx):hover{background:var(--_accent);color:#fff}
/* Archivierte Auftritte auf übergreifenden Seiten (Sponsor, Moderation, Referent): Etikett „Archiv 2025“ */
.wk-arch-tag,.wfx-arch-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.07);color:#555;font-size:12px;font-weight:600;letter-spacing:.02em;vertical-align:middle}
/* Archiv-Hinweis einer Ausgabe (WFP_Edition::notice_html) */
.wfp-arch-note{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 20px;padding:12px 16px;border:1px solid rgba(0,0,0,.14);border-radius:10px;background:#f6f6f4;color:#222;font-size:15px;line-height:1.45}
.wfp-arch-note a{font-weight:700;color:inherit;text-decoration:underline}
