/* ALFARI Brand System 4.0.3 – verbindliche Lesbarkeits- und Farbregeln */
:root{
  --alfari-anthracite:#171d1b;
  --alfari-anthracite-2:#242a27;
  --alfari-surface:#fbfaf6;
  --alfari-surface-2:#f3f3ef;
  --alfari-white:#ffffff;
  --alfari-text:#171d1b;
  --alfari-text-on-dark:#f7f8f4;
  --alfari-muted:#505954;
  --alfari-muted-on-dark:#cbd3ca;
  --alfari-line:#d8ded9;
  --alfari-line-dark:#3a423e;
  --alfari-green:#4f8d2c;
  --alfari-green-dark:#356d20;
  --alfari-lime:#b6d40e;
  --alfari-danger:#9b3028;
  --alfari-warning:#b37916;
  --alfari-radius:14px;
  --alfari-shadow:0 14px 38px rgba(5,12,7,.16);
}

html{font-size:16px;background:var(--alfari-anthracite)}
body{
  background:var(--alfari-anthracite)!important;
  color:var(--alfari-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:1rem;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body,input,select,textarea,button{font-family:inherit}
p,li,label,input,select,textarea,button{font-size:max(1rem,16px)}
p,li{line-height:1.65}
h1,h2,h3,h4{line-height:1.18;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.25rem,5vw,4.75rem)}
h2{font-size:clamp(1.75rem,3.4vw,3rem)}
h3{font-size:clamp(1.2rem,2vw,1.55rem)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--alfari-lime)!important;
  outline-offset:3px;
}

/* Dunkler Markenrahmen */
.site-header,.site-footer,.primary-nav,.search-panel{
  background:var(--alfari-anthracite)!important;
  color:var(--alfari-text-on-dark)!important;
}
.site-header{border-bottom:1px solid var(--alfari-line-dark)!important}
.site-footer{border-top:1px solid var(--alfari-line-dark)}
.site-header a,.site-footer a,.primary-nav a{color:var(--alfari-text-on-dark)!important}
.site-header a:hover,.site-footer a:hover,.primary-nav a:hover{color:#fff!important}

/* Öffentliche Seiten: dunkler Rahmen, helle und gut lesbare Inhalte */
.page-main,.goals,.why,.offers,.hero{
  background:var(--alfari-anthracite)!important;
  color:var(--alfari-text-on-dark);
}
.page-main>.wrap,.goals>.wrap,.why>.wrap,.offers>.wrap,.hero>.wrap{
  position:relative;
}
.page-card,.goal-card,.offer-grid>a,.hero-copy,.trainer-widget,
.alfari-card,.coachmind-card,.alfari-exercise-card,.alfari-panel,
.alfari-dashboard-card,.alfari-trainer-card,.alfari-status-card,
.alfari-progress-card,.alfari-actions-card,.alfari-timeline-card{
  background:var(--alfari-surface)!important;
  color:var(--alfari-text)!important;
  border:1px solid var(--alfari-line)!important;
  box-shadow:var(--alfari-shadow);
}
.page-card,.goal-card,.offer-grid>a,.alfari-card,.coachmind-card,
.alfari-exercise-card,.alfari-panel,.alfari-dashboard-card,
.alfari-trainer-card,.alfari-status-card,.alfari-progress-card,
.alfari-actions-card,.alfari-timeline-card{border-radius:var(--alfari-radius)!important}

/* Mein ALFARI: einheitlicher dunkler Hintergrund ohne dunkle Lesetextkarten */
body[class*="coachmind"],body[class*="mein-alfari"],
body.page-template-page-mein-alfari,body.page-template-page-premium-demo{
  background:var(--alfari-anthracite)!important;
}
body[class*="coachmind"] main,body[class*="mein-alfari"] main,
body.page-template-page-mein-alfari main,body.page-template-page-premium-demo main,
.coachmind-dashboard,.alfari-dashboard,.alfari-premium,.premium-demo,
.alfari-training-live{
  background:var(--alfari-anthracite)!important;
  color:var(--alfari-text-on-dark)!important;
}

/* Inhalte auf hellen Karten bleiben dunkel */
.page-card p,.page-card li,.page-card label,.entry-content,.entry-content p,.entry-content li,
.goal-card p,.offer-grid p,.alfari-card p,.coachmind-card p,.alfari-exercise-card p,
.alfari-panel p,.alfari-dashboard-card p,.alfari-trainer-card p,
.alfari-status-card p,.alfari-progress-card p,.alfari-actions-card p,.alfari-timeline-card p{
  color:var(--alfari-muted)!important;
}
.page-card h1,.page-card h2,.page-card h3,.entry-content h1,.entry-content h2,.entry-content h3,
.goal-card h3,.offer-grid h3,.alfari-card h1,.alfari-card h2,.alfari-card h3,
.coachmind-card h1,.coachmind-card h2,.coachmind-card h3,.alfari-exercise-card h3,
.alfari-panel h1,.alfari-panel h2,.alfari-panel h3,.alfari-dashboard-card h2,
.alfari-trainer-card h2,.alfari-status-card h2,.alfari-progress-card h2{
  color:var(--alfari-text)!important;
}

/* Buttons: Grün ausschließlich für primäre Handlung */
.button.primary,.alfari-btn-primary,button[type="submit"],input[type="submit"],
[data-training-save],.wp-element-button{
  background:var(--alfari-green)!important;
  color:#fff!important;
  border:1px solid var(--alfari-green-dark)!important;
  font-weight:800;
  min-height:48px;
}
.button.primary:hover,.alfari-btn-primary:hover,button[type="submit"]:hover,input[type="submit"]:hover,
[data-training-save]:hover,.wp-element-button:hover{background:var(--alfari-green-dark)!important}
.button.secondary,.alfari-btn-secondary{
  background:var(--alfari-white)!important;
  color:var(--alfari-text)!important;
  border:1px solid #aeb5ae!important;
  min-height:48px;
}

/* Formulare und Training: maximale Erkennbarkeit */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  background:#fff!important;
  color:#171d1b!important;
  border:2px solid #8d9690!important;
  border-radius:10px!important;
  min-height:50px;
  padding:12px 14px!important;
  opacity:1!important;
}
input::placeholder,textarea::placeholder{color:#626b66!important;opacity:1}
input:disabled,select:disabled,textarea:disabled{background:#ececea!important;color:#62676a!important}
label{font-weight:700}
.alfari-set-row-head{color:#3e4642!important;font-weight:800!important}
.alfari-set-row strong{color:var(--alfari-text)!important}
.alfari-rir-help{background:var(--alfari-surface-2)!important;color:#39413d!important;border:1px solid var(--alfari-line)}
.alfari-training-feedback{color:var(--alfari-text-on-dark)!important}

/* Tabellen */
table{width:100%;border-collapse:collapse;background:var(--alfari-surface);color:var(--alfari-text)}
th{background:#e9ece9;color:var(--alfari-text);font-weight:800;text-align:left}
th,td{padding:12px 14px;border:1px solid #cbd3ca}

/* Sekundär- und Statusfarben */
.kicker,.page-kicker,.text-link,.brand-claim{color:var(--alfari-green)!important}
.notice.success,.status-success{background:#edf4e7!important;color:#234a18!important;border-color:#a8c99a!important}
.notice.error,.status-error{background:#fff4f2!important;color:#7d231d!important;border-color:#dca9a4!important}
.notice.warning,.status-warning{background:#fff9ec!important;color:#704709!important;border-color:#e0c280!important}

/* Lesebreite und Abstände */
.entry-content{max-width:72ch}
.page-card{padding:clamp(24px,5vw,54px)!important}
.page-card p,.entry-content p{margin-block:0 1.15em}
.entry-content ul,.entry-content ol{padding-left:1.35rem}

/* Trainerbild und visuelle Führung */
.alfari-trainer-hero,.trainer-hero,.alfari-trainer-stage{
  background:var(--alfari-surface)!important;
  color:var(--alfari-text)!important;
  border:1px solid var(--alfari-line)!important;
  border-radius:18px!important;
  box-shadow:var(--alfari-shadow);
}
.alfari-trainer-hero img,.trainer-hero img,.alfari-trainer-stage img{filter:none!important}

/* Keine grünen Vollflächen oder Effektverläufe */
[class*="green-bg"],[class*="lime-bg"],.premium-hero,.coachmind-hero{
  background:var(--alfari-anthracite-2)!important;
  color:var(--alfari-text-on-dark)!important;
}

@media(max-width:780px){
  html{font-size:16px}
  .wrap{width:min(100% - 28px,1420px)!important}
  .page-main{padding:28px 0!important}
  .page-card{padding:24px 18px!important}
  .button,.alfari-btn,button{min-height:48px}
  .alfari-set-row input,.alfari-set-row select{font-size:16px!important}
}


/* 4.0.3 – Lesbarkeit und klare Trainerführung */
.apd-main{background:var(--alfari-anthracite)!important;color:var(--alfari-text-on-dark)!important}
.apd-main header{background:var(--alfari-anthracite)!important;border-bottom:1px solid var(--alfari-line-dark)!important}
.apd-main header h1,.apd-main header small,.apd-main header em{color:var(--alfari-text-on-dark)!important}
.apd-panel>h2,.apd-panel>.head h2,.apd-panel>.head p{color:var(--alfari-text-on-dark)!important}
.apd-panel article,.apd-panel .wizard,.apd-panel .result,.apd-exercise{
  background:var(--alfari-surface)!important;color:var(--alfari-text)!important;
  border:1px solid var(--alfari-line)!important;border-radius:var(--alfari-radius)!important;
}
.apd-panel article p,.apd-panel article span,.apd-panel .wizard p,.apd-exercise p{color:var(--alfari-muted)!important}
.apd-panel article h2,.apd-panel article h3,.apd-panel article b,.apd-exercise h3,.apd-exercise strong{color:var(--alfari-text)!important}
.apd-trainer-cue{margin:16px 0;padding:16px 18px;background:#eef3ea;border-left:4px solid var(--alfari-green);border-radius:10px}
.apd-trainer-cue strong{display:block;margin-bottom:4px}.apd-trainer-cue p{margin:0!important}
.apd-notice{background:#fff9ec!important;color:#573b0b!important;border:1px solid #dfc17e!important}
.apd-notice a{color:#315f20!important;font-weight:800}
.apd-set-row input,.apd-set-row select{font-weight:700!important}
.apd-set-labels b{color:#303833!important}
.apd-system-link{background:#f2f4f1!important;color:var(--alfari-text)!important;border:1px solid var(--alfari-line)!important}
.apd-system-link p,.apd-system-link span{color:var(--alfari-muted)!important}
.apd-side nav button{color:#e8ece8!important}
.apd-side nav button.active,.apd-side nav button:hover{background:#2f3733!important;color:#fff!important;border-color:#59635e!important}
.apd-side .apd-state{background:#222925!important;border-color:#414a45!important}
.apd-side .apd-state strong,.apd-side .apd-state small{color:#f4f6f3!important}
@media(max-width:700px){
 .apd-main{padding-inline:0!important}.apd-panel{padding:18px 14px!important}
 .apd-exercise{padding:18px 14px!important}.apd-trainer-cue{padding:14px}
}

/* 4.0.4 – vollständige Lesbarkeitsprüfung öffentliche Website + Mein ALFARI */
:root{
  --alfari-content-width:72ch;
  --alfari-control-height:52px;
  --alfari-small:0.9375rem;
}

/* Verlässliche Textkontraste */
body{font-size:17px;line-height:1.7}
main p,main li,main dd,main label{font-size:1rem;line-height:1.7}
main small,.site-footer small,.site-header small{font-size:var(--alfari-small);line-height:1.5}
.page-card .entry-content,.page-card .entry-content p,.page-card .entry-content li{
  color:#303833!important;
}
.page-card .entry-content a:not(.button),.page-cta a:not(.button),.contact-box a{
  color:var(--alfari-green-dark)!important;
  font-weight:750;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.page-card .entry-content a:not(.button):hover,.page-card .entry-content a:not(.button):focus-visible{
  color:#234b17!important;
}

/* Lange Seiten lesbar gliedern */
.page-card{max-width:1120px;margin-inline:auto}
.page-card>.entry-content{max-width:var(--alfari-content-width)}
.page-card>.entry-content>h2,.page-card>.entry-content>h3{margin-top:1.65em;margin-bottom:.55em}
.page-card>.entry-content>p,.page-card>.entry-content>ul,.page-card>.entry-content>ol{margin-bottom:1.15em}
.page-card>.entry-content>ul,.page-card>.entry-content>ol{padding-left:1.4em}
.page-card>.entry-content li+li{margin-top:.45em}
.page-cta,.contact-box{
  margin-top:32px;padding:clamp(22px,4vw,34px);border:1px solid var(--alfari-line);
  border-radius:var(--alfari-radius);background:var(--alfari-surface-2);color:var(--alfari-text)
}

/* Header und Navigation: auch bei vielen Menüpunkten lesbar */
.header-row{min-height:76px;gap:22px}
.brand-link{display:flex;align-items:center;gap:12px;line-height:1.2}
.primary-nav ul,.primary-nav .menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.primary-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 6px;font-size:.95rem;font-weight:700;line-height:1.25}
.primary-nav a:focus-visible,.site-header a:focus-visible{outline-color:var(--alfari-lime)!important}
.menu-toggle{min-width:48px;min-height:48px;color:#fff!important;border:1px solid #66706a!important}

/* Startseite: erkennbare Hierarchie statt Text auf Text */
.hero{padding-block:clamp(42px,7vw,84px)!important}
.hero-grid{align-items:center;gap:clamp(28px,6vw,72px)}
.hero-copy{padding:clamp(26px,5vw,54px)!important;border-radius:20px!important}
.hero-copy h1,.hero-copy h1 span{color:var(--alfari-text)!important}
.hero-copy p{color:var(--alfari-muted)!important}
.hero-claim{font-size:.95rem!important;font-weight:850!important;letter-spacing:.06em}
.hero-lead{font-size:clamp(1.2rem,2vw,1.45rem)!important;color:#28312c!important}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.goal-grid,.offer-grid{gap:18px}
.goal-card,.offer-grid>a{min-height:100%;padding:clamp(22px,3vw,30px)!important;text-align:left}
.goal-card h3,.offer-grid h3{margin:.35em 0 .45em;color:var(--alfari-text)!important}
.goal-card p,.offer-grid p{color:var(--alfari-muted)!important}
.why .wrap{padding:clamp(28px,5vw,52px);border-radius:18px;background:var(--alfari-surface);color:var(--alfari-text);box-shadow:var(--alfari-shadow)}
.why h2{color:var(--alfari-text)!important}.why p{color:var(--alfari-muted)!important}

/* Buttons und Formulare */
.button,.alfari-btn,.trainer-action,.apd button{font-size:1rem;line-height:1.25}
.button.primary,.button.secondary,.alfari-btn,.trainer-action,.apd button:not(.apd-menu){min-height:var(--alfari-control-height);padding:12px 18px}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important;line-height:1.35}
input[type="checkbox"],input[type="radio"]{width:22px;height:22px;accent-color:var(--alfari-green)}
.form-note,.cta-note{font-size:.95rem!important;color:#4b554f!important}

/* Mein ALFARI und Training: keine zu kleinen oder blassen Angaben */
.apd-main{font-size:16px}
.apd-panel{max-width:1380px;margin-inline:auto}
.apd-panel>h2,.apd-panel>.head h2{font-size:clamp(1.85rem,3vw,2.7rem)}
.apd-panel>.head p{font-size:1rem;color:var(--alfari-muted-on-dark)!important}
.apd-panel article,.apd-panel .wizard,.apd-panel .result,.apd-exercise{padding:clamp(20px,3vw,30px)}
.apd-panel article small,.apd-system-link span,.apd-state small{font-size:.875rem!important;line-height:1.45}
.apd-panel article p,.apd-system-link p,.apd-trainer-cue p,.apd-rir-info{font-size:1rem!important;line-height:1.65!important}
.apd-exercise-head{align-items:flex-start}
.apd-exercise-head h3{font-size:clamp(1.35rem,2.4vw,1.85rem)!important}
.apd-exercise-head p{color:#46504a!important}
.apd-set-grid{overflow-x:auto;padding-bottom:4px}
.apd-set-row{min-width:640px;gap:12px}
.apd-set-row label span{display:block;margin-bottom:6px;color:#303833!important;font-size:.875rem!important;font-weight:800}
.apd-set-row input,.apd-set-row select{min-height:54px!important;font-size:1rem!important;border-width:2px!important}
.apd-set-labels b{font-size:.9rem!important}
.apd-rir-info{margin-top:16px;padding:15px 17px;border:1px solid var(--alfari-line);border-radius:10px;background:var(--alfari-surface-2);color:#303833!important}
.apd-notice{font-size:1rem;line-height:1.6}

/* Trainingsmodus aus dem restlichen Theme */
.training-mode-content{color:var(--alfari-text)}
.training-mode-lead,.training-mode-plan-focus,.training-mode-exercise-last{color:#46504a!important}
.training-mode-set label{font-size:.875rem!important;color:#303833!important}
.training-mode-set input,.training-mode-set select{min-height:52px!important;font-size:16px!important;border:2px solid #8d9690!important}
.training-mode-error{color:#85271f!important}

/* Footer */
.site-footer{font-size:1rem}
.site-footer p,.site-footer li{color:var(--alfari-muted-on-dark)!important}
.site-footer a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:980px){
  .primary-nav{width:100%}
  .primary-nav ul,.primary-nav .menu{display:grid;gap:4px}
  .primary-nav a{width:100%;padding:12px 4px;border-bottom:1px solid var(--alfari-line-dark)}
  .hero-grid{grid-template-columns:1fr!important}
  .hero-visual{max-width:420px;margin-inline:auto}
}
@media(max-width:700px){
  body{font-size:16px}
  h1{font-size:clamp(2rem,11vw,3rem)}
  h2{font-size:clamp(1.55rem,8vw,2.25rem)}
  .page-card{padding:22px 17px!important}
  .hero-copy{padding:24px 18px!important}
  .hero-buttons,.page-actions,.actions{display:grid!important;grid-template-columns:1fr!important}
  .hero-buttons .button,.page-actions .button,.actions button{width:100%;justify-content:center;text-align:center}
  .goal-grid,.offer-grid{grid-template-columns:1fr!important}
  .apd-panel{padding:18px 12px!important}
  .apd-set-grid{overflow:visible}
  .apd-set-row{min-width:0;grid-template-columns:42px 1fr 1fr!important;padding:14px 0;border-top:1px solid var(--alfari-line)}
  .apd-set-labels{display:none!important}
  .apd-set-row>strong{grid-row:1 / span 2;align-self:stretch;display:grid;place-items:center;border-radius:9px;background:#edf0ed}
  .apd-set-row label:nth-of-type(3){grid-column:2 / 4}
  .training-mode-set{grid-template-columns:1fr 1fr!important}
  .training-mode-set legend,.training-mode-set-done,.training-mode-first-set-result{grid-column:1/-1}
}


/* 4.0.5 – ALFARI Trainer als geführte Systemzentrale */
.alfari-today-flow{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr) auto;
  gap:24px;align-items:center;margin:0 0 24px;padding:clamp(22px,3vw,34px);
  background:var(--alfari-surface);color:var(--alfari-text);
  border:1px solid var(--alfari-line);border-radius:var(--alfari-radius);box-shadow:var(--alfari-shadow)
}
.alfari-today-flow__intro small{display:block;margin-bottom:7px;color:var(--alfari-green-dark);font-weight:850;letter-spacing:.05em}
.alfari-today-flow__intro h3{margin:0 0 9px;color:var(--alfari-text)!important;font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.25}
.alfari-today-flow__intro p{margin:0;color:var(--alfari-muted)!important;line-height:1.65}
.alfari-today-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.alfari-today-steps li{display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:center;padding:10px 12px;border:1px solid var(--alfari-line);border-radius:11px;background:var(--alfari-surface-2)}
.alfari-today-steps li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dfe4e0;color:#29322d;font-weight:900}
.alfari-today-steps li.is-active{border-color:#6b8f58;background:#eef3ea}
.alfari-today-steps li.is-active>span{background:var(--alfari-green);color:#fff}
.alfari-today-steps strong{display:block;color:var(--alfari-text)!important;font-size:.98rem}
.alfari-today-steps small{display:block;color:var(--alfari-muted)!important;font-size:.84rem!important;line-height:1.4}
.alfari-today-start{min-width:220px;align-self:stretch;justify-content:center;background:var(--alfari-green)!important;color:#fff!important;border-color:var(--alfari-green)!important;font-weight:850!important}
.alfari-today-start:hover,.alfari-today-start:focus-visible{background:var(--alfari-green-dark)!important;border-color:var(--alfari-green-dark)!important}
.apd-panel[data-panel="home"]>.hero{margin-bottom:24px}
.apd-panel[data-panel="home"]>.grid.four{margin-top:0}
@media(max-width:1120px){.alfari-today-flow{grid-template-columns:1fr 1fr}.alfari-today-start{grid-column:1/-1;min-height:54px}}
@media(max-width:720px){.alfari-today-flow{grid-template-columns:1fr;padding:20px 16px}.alfari-today-start{grid-column:auto;width:100%;min-width:0}.alfari-today-steps li{grid-template-columns:34px 1fr}}


/* ALFARI 4.1 – konsolidierte Systemoberfläche */
.alfari-member-page{background:#232629;padding:clamp(18px,3vw,42px) 0 54px}
.alfari-member-shell{width:min(1480px,calc(100% - 24px));margin:0 auto}
.alfari-readiness{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.5fr) minmax(240px,.8fr);gap:22px;align-items:start;margin:24px 0;padding:clamp(22px,3vw,34px);background:#f7f7f4;border:1px solid #d7dadb;border-radius:22px;color:#202326}
.alfari-readiness h3{margin:.35rem 0 .6rem;font-size:clamp(1.35rem,2.4vw,2rem);color:#202326}
.alfari-readiness p{color:#4b5256;line-height:1.65}
.alfari-readiness-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.alfari-readiness-form label{display:grid;gap:6px;font-weight:700;color:#30363a}
.alfari-readiness-form select{min-height:50px;border:1px solid #aeb4b7;border-radius:11px;background:#fff;color:#202326;padding:9px 12px;font:inherit}
.alfari-readiness-form button{grid-column:1/-1;min-height:50px}
.alfari-readiness-result{min-height:124px;padding:18px;border-radius:16px;background:#eceeed;border-left:5px solid #778087;display:flex;flex-wrap:wrap;gap:8px 12px;align-content:flex-start}
.alfari-readiness-result strong{font-size:1.05rem;color:#202326}.alfari-readiness-result span{margin-left:auto;font-weight:800}.alfari-readiness-result p{width:100%;margin:4px 0 0}
.alfari-readiness-result.ready{border-left-color:#5f7f2d}.alfari-readiness-result.adjust{border-left-color:#a77b13}.alfari-readiness-result.recover{border-left-color:#a4453d}
.alfari-session-summary{margin-top:18px;padding:20px;border-radius:16px;background:#f7f7f4;border:1px solid #cfd3d4;color:#202326}
.alfari-session-summary strong{display:block;font-size:1.15rem;margin-bottom:8px}.alfari-session-summary p{margin:.35rem 0;color:#3e4549}
.apd-panel h2,.apd-panel h3,.apd-panel p,.apd-panel label,.apd-panel span{overflow-wrap:anywhere}
.apd-set-row input,.apd-set-row select{font-size:1rem;line-height:1.3}
.apd button,.apd input,.apd select{touch-action:manipulation}
@media(max-width:980px){.alfari-readiness{grid-template-columns:1fr}.alfari-readiness-result{min-height:auto}}
@media(max-width:620px){.alfari-member-shell{width:min(100% - 12px,1480px)}.alfari-readiness{padding:18px}.alfari-readiness-form{grid-template-columns:1fr}.alfari-readiness-form button{grid-column:auto}}

/* 4.5.1 – ruhiger, kompakter öffentlicher Header */
.site-header{
  height:80px;
  background:#171d1b!important;
  box-shadow:0 1px 0 rgba(255,255,255,.04);
}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(5,12,7,.28)}
.header-row{display:flex;align-items:center;gap:clamp(16px,1.7vw,28px);min-height:80px}
.brand{flex:0 0 190px;width:190px;max-width:190px;overflow:visible}
.brand-link{width:100%;min-height:48px;justify-content:center}
.alfari-logo-lockup-header{width:190px;height:36px}
.alfari-logo-lockup-header .alfari-logo-art{transform:scale(.59);transform-origin:left top}
.primary-nav{flex:1 1 auto;min-width:0}
#primary-nav>.alfari-menu{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(10px,1vw,18px);
}
#primary-nav>.alfari-menu>li{flex:0 0 auto}
#primary-nav>.alfari-menu>li>a{
  min-height:46px;
  padding:15px 0;
  font-size:14px;
  font-weight:750;
  letter-spacing:.005em;
}
.alfari-member-menu-item>a{
  min-height:44px!important;
  padding:10px 17px!important;
  border:1px solid rgba(247,248,244,.34);
  border-radius:10px;
  background:rgba(255,255,255,.06);
}
.alfari-member-menu-item>a:hover,.alfari-member-menu-item>a:focus-visible{
  background:rgba(255,255,255,.12);
  border-color:rgba(247,248,244,.55);
}
.alfari-member-menu-item>a:after{display:none!important}
#primary-nav>.alfari-menu>li>a:hover:after,
#primary-nav>.alfari-menu>.current-menu-item>a:after,
#primary-nav>.alfari-menu>.current-menu-ancestor>a:after{bottom:7px;height:2px;background:var(--alfari-lime)}
.header-submenu-toggle{
  width:30px;
  height:30px;
  margin-left:3px;
  border-color:rgba(247,248,244,.2);
  border-radius:8px;
}
.header-submenu-toggle:hover{background:rgba(255,255,255,.08);border-color:rgba(247,248,244,.38)}
.alfari-header-menu-group>.sub-menu{top:calc(100% - 5px);border-color:#d8ded9;box-shadow:0 20px 48px rgba(5,12,7,.3)}
.header-actions{flex:0 0 44px;margin-left:0}
.search-toggle{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(247,248,244,.2);
  border-radius:10px;
  background:transparent;
  font-size:25px;
}
.search-toggle:hover{background:rgba(255,255,255,.08);border-color:rgba(247,248,244,.38)}
#fortgeschrittene-planung{scroll-margin-top:100px}
.alfari-public-slot-training-plans{margin-top:32px}

@media(max-width:1180px){
  .site-header{height:72px}
  .header-row{min-height:72px;gap:10px}
  .brand{flex-basis:156px;width:156px;max-width:156px}
  .alfari-logo-lockup-header{width:156px;height:30px}
  .alfari-logo-lockup-header .alfari-logo-art{transform:scale(.485)}
  .menu-toggle{
    width:auto;
    min-width:48px;
    min-height:44px;
    margin-left:auto;
    padding:8px 13px;
    border:1px solid rgba(247,248,244,.22);
    border-radius:10px;
    background:rgba(255,255,255,.06);
  }
  .menu-toggle:hover{background:rgba(255,255,255,.11)}
  .primary-nav{
    left:auto;
    right:0;
    top:72px;
    width:min(430px,100%);
    max-height:calc(100dvh - 72px);
    padding:12px 16px 24px;
    border-left:1px solid var(--alfari-line-dark);
  }
  #primary-nav>.alfari-menu{display:grid;gap:2px;justify-content:stretch}
  #primary-nav>.alfari-menu>li>a{width:100%;min-height:48px;padding:12px 8px;font-size:16px}
  .alfari-header-menu-group{display:grid}
  .alfari-header-menu-group>.sub-menu{top:auto}
  .header-actions{flex-basis:44px}
  #fortgeschrittene-planung{scroll-margin-top:82px}
}

@media(max-width:620px){
  .brand{flex-basis:132px;width:132px;max-width:132px}
  .alfari-logo-lockup-header{width:132px;height:26px}
  .alfari-logo-lockup-header .alfari-logo-art{transform:scale(.41)}
  .menu-toggle{width:44px;padding:0;justify-content:center}
  .menu-toggle-label{display:none}
  .primary-nav{width:min(94vw,440px);border-left:1px solid var(--alfari-line-dark)}
}

/* 5.0.0 – verbindliche öffentliche Oberfläche der Generation 1. */
#primary-nav>.alfari-generation-one-menu{gap:clamp(7px,.72vw,13px)}
#primary-nav>.alfari-generation-one-menu>li>a{font-size:14px}
.alfari-generation-one-cta{
  margin-top:clamp(34px,5vw,56px);
  padding:clamp(24px,4vw,38px);
  border:1px solid var(--alfari-line);
  border-left:5px solid var(--alfari-green);
  border-radius:var(--alfari-radius);
  background:var(--alfari-surface-2);
}
.alfari-generation-one-cta h2{margin:.25rem 0 .8rem;font-size:clamp(1.6rem,3vw,2.35rem)}
.alfari-generation-one-cta>p:not(.page-kicker){max-width:720px;margin-bottom:0;color:var(--alfari-muted)}
.alfari-generation-one-cta .page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

@media(max-width:1180px){
  #primary-nav>.alfari-generation-one-menu>li>a{font-size:16px}
}

@media(max-width:620px){
  .alfari-generation-one-cta{padding:22px 18px}
  .alfari-generation-one-cta .page-actions{display:grid;grid-template-columns:1fr}
  .alfari-generation-one-cta .button{width:100%}
}

/* 5.0.2 – eindeutige Orientierung in Header, Untermenüs und Footer. */
#primary-nav>.alfari-generation-one-menu>.current-menu-ancestor>.header-submenu-toggle{
  border-color:var(--alfari-lime);
  background:rgba(182,212,14,.1);
  color:var(--alfari-lime);
}
.alfari-header-menu-group>.sub-menu>.current-menu-item>a,
.alfari-header-menu-group>.sub-menu a[aria-current="page"]{
  background:#edf3e8;
  color:var(--alfari-green-dark)!important;
  font-weight:850;
  box-shadow:inset 3px 0 0 var(--alfari-green);
}
.footer-navigation a[aria-current="page"]{
  color:#fff!important;
  font-weight:800;
  text-decoration:underline;
  text-decoration-color:var(--alfari-lime);
  text-decoration-thickness:2px;
  text-underline-offset:.28em;
}

@media(max-width:1180px){
  #primary-nav>.alfari-generation-one-menu>.current-menu-item>a,
  #primary-nav>.alfari-generation-one-menu>.current-menu-ancestor>a{
    padding-left:13px;
    border-left:4px solid var(--alfari-lime);
    background:rgba(255,255,255,.07);
  }
  .alfari-header-menu-group>.sub-menu>.current-menu-item>a{
    background:rgba(255,255,255,.13);
    color:#fff!important;
    box-shadow:inset 3px 0 0 var(--alfari-lime);
  }
}

/* 5.1.7 – reale Darstellung des ALFARI Exercise Library Plugins 0.1.3. */
body.alfari-exercise-library-page .alfari-exercise-library{
  color:var(--alfari-text);
}
body.alfari-exercise-library-page .alfari-exercise-library__header{
  max-width:780px;
  margin-bottom:clamp(22px,3vw,34px);
}
body.alfari-exercise-library-page .alfari-exercise-library__header>p:not(.alfari-exercise-library__eyebrow){
  color:var(--alfari-muted)!important;
  font-size:1.05rem;
}
body.alfari-exercise-library-page .alfari-exercise-library__eyebrow,
.alfari-exercise-detail-page .alfari-exercise-library__eyebrow{
  color:var(--alfari-green-readable)!important;
  font-size:max(.875rem,14px);
  line-height:1.45;
}
body.alfari-exercise-library-page .alfari-exercise-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:clamp(16px,2vw,24px);
  min-width:0;
}
body.alfari-exercise-library-page .alfari-exercise-card{
  display:flex;
  min-width:0;
  min-height:100%;
  overflow:hidden;
  flex-direction:column;
  border-radius:16px!important;
}
body.alfari-exercise-library-page .alfari-exercise-card__media{
  min-height:148px;
  padding:20px;
  background:
    radial-gradient(circle at 50% 20%,rgba(182,212,14,.12),transparent 35%),
    var(--alfari-anthracite)!important;
  color:var(--alfari-text-on-dark)!important;
  font-size:1rem;
  line-height:1.5;
}
body.alfari-exercise-library-page .alfari-exercise-card__body{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  padding:clamp(18px,2.4vw,26px);
}
body.alfari-exercise-library-page .alfari-exercise-card__body h3{
  margin:0 0 9px;
}
body.alfari-exercise-library-page .alfari-exercise-card__body>p{
  color:var(--alfari-muted)!important;
}
body.alfari-exercise-library-page .alfari-exercise-card__equipment{
  color:var(--alfari-green-readable)!important;
  font-size:max(.9375rem,15px);
  font-weight:800;
}
.alfari-exercise-button,.alfari-exercise-link{
  min-height:48px!important;
  padding:11px 17px!important;
  border:1px solid var(--alfari-green-readable)!important;
  border-radius:10px!important;
  background:var(--alfari-green-readable)!important;
  color:#fff!important;
  font-weight:800;
  line-height:1.35;
}
body.alfari-exercise-library-page .alfari-exercise-card__body>.alfari-exercise-button{
  width:100%;
  margin-top:auto;
}
.alfari-exercise-button:hover,.alfari-exercise-button:focus-visible,
.alfari-exercise-link:hover,.alfari-exercise-link:focus-visible{
  border-color:var(--alfari-green-readable-hover)!important;
  background:var(--alfari-green-readable-hover)!important;
  color:#fff!important;
}

/* Einzelne Übung: helle, konzentrierte Lesefläche im anthrazitfarbenen Rahmen. */
body.alfari-exercise-detail-page .alfari-exercise-page{
  width:100%;
  padding:clamp(28px,5vw,64px) 24px;
  background:var(--alfari-anthracite)!important;
}
body.alfari-exercise-detail-page .alfari-exercise-single{
  width:min(1120px,100%);
  margin-inline:auto;
  padding:clamp(26px,4vw,52px);
  border:1px solid var(--alfari-line);
  border-radius:18px;
  background:var(--alfari-surface);
  color:var(--alfari-text);
  box-shadow:var(--alfari-shadow);
}
body.alfari-exercise-detail-page .alfari-exercise-single__header{
  max-width:800px;
  margin-bottom:24px;
}
body.alfari-exercise-detail-page .alfari-exercise-single__header h1{
  margin:.25rem 0 .75rem;
  color:var(--alfari-text)!important;
  font-size:clamp(2.2rem,6vw,4.5rem);
}
body.alfari-exercise-detail-page .alfari-exercise-single__header>p:not(.alfari-exercise-library__eyebrow){
  color:var(--alfari-muted)!important;
  font-size:1.05rem;
}
body.alfari-exercise-detail-page .alfari-exercise-detail{
  color:var(--alfari-text);
}
body.alfari-exercise-detail-page .alfari-exercise-video{
  overflow:hidden;
  border:1px solid var(--alfari-line);
  border-radius:16px;
  background:var(--alfari-anthracite)!important;
}
body.alfari-exercise-detail-page .alfari-exercise-video video{
  display:block;
  width:100%;
  max-height:min(68vh,720px);
  background:#0e1210;
}
body.alfari-exercise-detail-page .alfari-exercise-video__placeholder{
  min-height:260px;
  color:var(--alfari-text-on-dark)!important;
}
body.alfari-exercise-detail-page .alfari-exercise-video__placeholder span{
  color:var(--alfari-muted-on-dark)!important;
}
body.alfari-exercise-detail-page .alfari-exercise-sections{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
  gap:clamp(14px,2vw,22px);
  margin-top:22px;
}
body.alfari-exercise-detail-page .alfari-exercise-sections>section{
  min-width:0;
  padding:clamp(18px,2.4vw,25px);
  border:1px solid var(--alfari-line);
  border-radius:14px;
  background:var(--alfari-surface-2);
}
body.alfari-exercise-detail-page .alfari-exercise-sections h2{
  margin:0 0 13px;
  color:var(--alfari-text)!important;
  font-size:clamp(1.2rem,2.2vw,1.5rem);
}
body.alfari-exercise-detail-page .alfari-exercise-sections li{
  color:#303833!important;
}
body.alfari-exercise-detail-page .alfari-exercise-safety{
  margin-top:22px;
  padding:17px 20px;
  border-left:5px solid #9a6a10;
  background:#fff8e8;
  color:#4d350a;
  line-height:1.65;
}

@media(max-width:700px){
  body.alfari-exercise-library-page .alfari-exercise-grid,
  body.alfari-exercise-detail-page .alfari-exercise-sections{
    grid-template-columns:minmax(0,1fr);
  }
  body.alfari-exercise-library-page .alfari-exercise-card__media{
    min-height:120px;
  }
  body.alfari-exercise-detail-page .alfari-exercise-page{
    padding:16px 10px 32px;
  }
  body.alfari-exercise-detail-page .alfari-exercise-single{
    padding:22px 16px;
    border-radius:14px;
  }
  body.alfari-exercise-detail-page .alfari-exercise-video__placeholder{
    min-height:210px;
    padding:22px 16px;
  }
  body.alfari-exercise-detail-page .alfari-exercise-button{
    width:100%;
  }
}

/* 5.1.8 – ein verbindliches Anthrazit- und Kontrastsystem für die gesamte Website. */
:root{
  /* Ältere Theme-Komponenten verwenden diese Kurzvariablen weiterhin. */
  --ink:var(--alfari-text);
  --muted:var(--alfari-muted);
  --green:var(--alfari-green-readable);
  --lime:var(--alfari-lime);
  --soft:var(--alfari-surface-2);
  --warm:var(--alfari-surface);
  --line:var(--alfari-line);
  --white:var(--alfari-white);
  --radius:var(--alfari-radius);
  --shadow:var(--alfari-shadow);
  --alfari-bg:var(--alfari-anthracite);
}

/* Der Markenrahmen ist überall dasselbe Anthrazit. */
html,body,
.site-header,.primary-nav,.search-panel,.site-footer,
.page-main,.hero,.goals,.why,.offers,.plan-finder{
  background-color:var(--alfari-anthracite)!important;
}
.site-header,.primary-nav,.search-panel,.site-footer{
  border-color:var(--alfari-line-dark)!important;
}

/* Direkte Inhalte auf dunklen Außenflächen erhalten immer hellen Text. */
.goals>.wrap>h2,
.offers>.wrap>h2,
.plan-finder>.wrap>h2,
.alfari-public-slot>.wrap>h2{
  color:var(--alfari-text-on-dark)!important;
}
.goals>.wrap>p,
.offers>.wrap>p,
.plan-finder>.wrap>p,
.alfari-public-slot>.wrap>p{
  color:var(--alfari-muted-on-dark)!important;
}

/* Helle Arbeitsflächen benutzen ausnahmslos dunkle, kontrastreiche Schrift. */
:where(
  .page-card,.hero-copy,.goal-card,.offer-grid>a,.why>.wrap,
  .plan-finder-shell,.page-cta,.contact-box,.download-card,
  .book-product-card,.book-samples,.book-free-entry,
  [data-alfari-download-item],.alfari-public-downloads-empty,
  .trainer-widget,.alfari-exercise-card,.alfari-exercise-single
){
  color:var(--alfari-text)!important;
}
:where(
  .page-card,.hero-copy,.goal-card,.offer-grid>a,.why>.wrap,
  .plan-finder-shell,.page-cta,.contact-box,.download-card,
  .book-product-card,.book-samples,.book-free-entry,
  [data-alfari-download-item],.alfari-public-downloads-empty,
  .trainer-widget,.alfari-exercise-card,.alfari-exercise-single
) :where(h1,h2,h3,h4,h5,h6,strong,b,legend,label,dt){
  color:var(--alfari-text)!important;
}
:where(
  .page-card,.hero-copy,.goal-card,.offer-grid>a,.why>.wrap,
  .plan-finder-shell,.page-cta,.contact-box,.download-card,
  .book-product-card,.book-samples,.book-free-entry,
  [data-alfari-download-item],.alfari-public-downloads-empty,
  .trainer-widget,.alfari-exercise-card,.alfari-exercise-single
) :where(p,li,dd,small,figcaption){
  color:var(--alfari-muted)!important;
}

/* Ausnahmen innerhalb heller Komponenten, die bewusst dunkle Teilflächen sind. */
.plan-finder-intro{
  background:var(--alfari-anthracite)!important;
  color:var(--alfari-text-on-dark)!important;
}
.plan-finder-intro :where(h1,h2,h3,strong){
  color:var(--alfari-text-on-dark)!important;
}
.plan-finder-intro :where(p,small){
  color:var(--alfari-muted-on-dark)!important;
}
.plan-finder-intro .kicker{color:var(--alfari-lime)!important}

/* Header: gleiche Zustände für Hauptmenü, Bücher, ALFARI und Tools. */
#primary-nav>.alfari-generation-one-menu>li>a{
  color:var(--alfari-text-on-dark)!important;
}
#primary-nav>.alfari-generation-one-menu>li>a:hover,
#primary-nav>.alfari-generation-one-menu>li>a:focus-visible{
  color:#fff!important;
}
@media(min-width:1181px){
  .primary-nav .alfari-header-menu-group>.sub-menu{
    background:var(--alfari-surface)!important;
    border-color:var(--alfari-line)!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a{
    color:var(--alfari-text)!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a:hover,
  .primary-nav .alfari-header-menu-group>.sub-menu a:focus-visible,
  .primary-nav .alfari-header-menu-group>.sub-menu>.current-menu-item>a,
  .primary-nav .alfari-header-menu-group>.sub-menu a[aria-current="page"]{
    background:#e6f0df!important;
    color:var(--alfari-green-readable-hover)!important;
  }
}
@media(max-width:1180px){
  .primary-nav .alfari-header-menu-group>.sub-menu{
    background:#242a27!important;
    border-color:var(--alfari-line-dark)!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a{
    color:var(--alfari-text-on-dark)!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a:hover,
  .primary-nav .alfari-header-menu-group>.sub-menu a:focus-visible,
  .primary-nav .alfari-header-menu-group>.sub-menu>.current-menu-item>a,
  .primary-nav .alfari-header-menu-group>.sub-menu a[aria-current="page"]{
    background:#343c38!important;
    color:#fff!important;
  }
}

/* Footer und Suche: keine blassen Bedienelemente auf Anthrazit. */
.site-footer h2,.site-footer strong{color:var(--alfari-text-on-dark)!important}
.site-footer p,.site-footer li,.site-footer small,.copyright{
  color:var(--alfari-muted-on-dark)!important;
}
.site-footer a{color:#eef1ed!important}
.search-panel .search-form input{
  background:#fff!important;
  color:var(--alfari-text)!important;
}

/* WordPress-Blöcke und Plugin-Ausgaben dürfen die Inhaltskarte nicht ausbleichen. */
.page-card :where(.wp-block-table,.wp-block-group,.wp-block-columns,.wp-block-column),
.page-card :where(.alfari-public-slot,[data-alfari-public-slot]){
  color:var(--alfari-text);
}
.page-card :where(.wp-block-quote,.wp-block-pullquote){
  border-color:var(--alfari-green-readable);
  color:var(--alfari-text);
}
.page-card :where(.wp-block-separator,hr){border-color:var(--alfari-line)}

@media(max-width:700px){
  .goals,.offers,.plan-finder{padding-block:36px!important}
  .goals>.wrap>h2,.offers>.wrap>h2{
    font-size:clamp(1.65rem,8vw,2.2rem);
    line-height:1.2;
  }
}

/* 5.1.1 – kontrastreiche Bücher-, ALFARI- und Tools-Untermenüs. */
#primary-nav>.alfari-generation-one-menu>li>a{
  font-size:15px;
  line-height:1.35;
}
.alfari-header-menu-group>.sub-menu{
  width:290px;
  padding:10px;
}
.alfari-tools-menu-item>.sub-menu{width:320px}
.primary-nav .alfari-header-menu-group>.sub-menu a{
  min-height:48px;
  padding:13px 15px;
  font-size:16px;
  font-weight:750;
  line-height:1.4;
  white-space:normal;
}

@media(min-width:1181px){
  .primary-nav .alfari-header-menu-group>.sub-menu{
    background:#fff!important;
    border-color:#cbd2cd;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a{
    color:#1f2722!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a:hover,
  .primary-nav .alfari-header-menu-group>.sub-menu a:focus-visible{
    background:#edf3e8!important;
    color:#234b17!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu>.current-menu-item>a,
  .primary-nav .alfari-header-menu-group>.sub-menu a[aria-current="page"]{
    background:#e6f0df!important;
    color:#234b17!important;
  }
}

@media(max-width:1180px){
  #primary-nav>.alfari-generation-one-menu>li>a{font-size:17px}
  .header-submenu-toggle{
    width:44px;
    height:44px;
    margin-right:2px;
  }
  .alfari-header-menu-group>.sub-menu,
  .alfari-tools-menu-item>.sub-menu{
    width:100%;
    padding:7px 10px 10px;
    background:rgba(255,255,255,.07)!important;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a{
    min-height:50px;
    padding:13px 14px;
    color:#f7f8f4!important;
    font-size:16px;
    line-height:1.45;
  }
  .primary-nav .alfari-header-menu-group>.sub-menu a:hover,
  .primary-nav .alfari-header-menu-group>.sub-menu a:focus-visible{
    background:rgba(255,255,255,.13)!important;
    color:#fff!important;
  }
}

/* 5.1.2 – durchgängige Lesbarkeit öffentlicher Texte und Bedienelemente. */
:root{
  --alfari-green-readable:#356d20;
  --alfari-green-readable-hover:#234b17;
}

/* Primäre Aktionen erfüllen auch mit normal großer Schrift WCAG AA. */
.button.primary,.alfari-btn-primary,button[type="submit"],input[type="submit"],
[data-training-save],.wp-element-button,.alfari-today-start{
  background:var(--alfari-green-readable)!important;
  color:#fff!important;
  border-color:var(--alfari-green-readable)!important;
}
.button.primary:hover,.button.primary:focus-visible,
.alfari-btn-primary:hover,.alfari-btn-primary:focus-visible,
button[type="submit"]:hover,button[type="submit"]:focus-visible,
input[type="submit"]:hover,input[type="submit"]:focus-visible,
[data-training-save]:hover,[data-training-save]:focus-visible,
.wp-element-button:hover,.wp-element-button:focus-visible,
.alfari-today-start:hover,.alfari-today-start:focus-visible{
  background:var(--alfari-green-readable-hover)!important;
  border-color:var(--alfari-green-readable-hover)!important;
}
.button.primary.is-disabled,.button.primary:disabled{
  background:#59615c!important;
  color:#fff!important;
  border-color:#59615c!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Kleine grüne Texte auf hellen Flächen verwenden das dunklere Markengrün. */
.page-card .page-kicker,.page-card .kicker,.hero-copy .hero-claim,
.why .kicker,.why .text-link,.page-cta .page-kicker,
.contact-box .page-kicker,.alfari-generation-one-cta .page-kicker,
.contact-form .check a,.download-label,.plan-family-label,.plan-result-label,
.plan-result-day h4,.plan-finder-reset,.trainer-plan-link,
.plan-result-table td::before,.homegym-equipment-grid input:checked+span::before,
.book-product-label,.training-mode-kicker,.training-mode-day>span,
.training-mode-exercise-number,.training-mode-plan-exercises small,
.trainer-exercise-swap-toggle,.training-mode-progression-label,
.training-mode-status,.training-mode-complete-next,
.trainer-plan-downloads a,.trainer-text-button,.trainer-session-label,
.trainer-session-target,.trainer-manual-log summary,.trainer-status{
  color:var(--alfari-green-readable)!important;
}
.why .text-link:hover,.why .text-link:focus-visible,
.plan-finder-reset:hover,.plan-finder-reset:focus-visible,
.trainer-plan-link:hover,.trainer-plan-link:focus-visible,
.trainer-plan-downloads a:hover,.trainer-plan-downloads a:focus-visible,
.trainer-text-button:hover,.trainer-text-button:focus-visible{
  color:var(--alfari-green-readable-hover)!important;
}

/* Auf hellen Flächen ist Dunkelgrün der zuverlässige Fokusindikator. */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{
  outline-color:var(--alfari-green-readable)!important;
}
.site-header a:focus-visible,.site-header button:focus-visible,
.primary-nav a:focus-visible,.primary-nav button:focus-visible,
.site-footer a:focus-visible,.site-footer button:focus-visible{
  outline-color:var(--alfari-lime)!important;
}

/* Sekundärinformationen bleiben auch auf kleinen Bildschirmen lesbar. */
.copyright{
  color:var(--alfari-muted-on-dark)!important;
  font-size:max(.9375rem,15px)!important;
  line-height:1.6;
}
.alfari-breadcrumb,.alfari-article-meta{
  font-size:max(.9375rem,15px)!important;
  line-height:1.55;
}
.download-label,.plan-family-label,.plan-result-label,.book-product-label,
.training-mode-kicker,.training-mode-day>span,.training-mode-exercise-number,
.training-mode-progression-label,.trainer-session-label{
  font-size:max(.875rem,14px)!important;
  line-height:1.45;
}

@media(max-width:620px){
  .alfari-breadcrumb,.alfari-article-meta{
    font-size:15px!important;
  }
}

/* 5.1.6 – breite, responsive Arbeitsfläche der öffentlichen Übungsbibliothek. */
body.alfari-exercise-library-page .page-main{
  padding-block:clamp(28px,5vw,64px);
}
body.alfari-exercise-library-page .page-wrap{
  width:min(1420px,calc(100% - 48px));
  max-width:1420px;
}
body.alfari-exercise-library-page .page-card{
  max-width:none;
  padding:clamp(26px,4vw,52px);
}
body.alfari-exercise-library-page .page-card>.entry-content{
  width:100%;
  max-width:none;
  min-width:0;
}
body.alfari-exercise-library-page .entry-content
:where(.alfari-exercise-library,[data-alfari-exercise-library]){
  width:100%;
  max-width:none;
  min-width:0;
}
body.alfari-exercise-library-page .entry-content
:where(.alfari-exercise-library__controls,[data-alfari-exercise-filters]){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:14px;
  align-items:end;
  margin-block:24px;
}
body.alfari-exercise-library-page .entry-content
:where(.alfari-exercise-library__grid,[data-alfari-exercise-grid]){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(16px,2vw,24px);
  min-width:0;
}
body.alfari-exercise-library-page .entry-content
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,button,.button){
  max-width:100%;
  min-height:48px;
}
body.alfari-exercise-library-page .entry-content
:where(img,video,iframe,table){
  max-width:100%;
}

@media(max-width:700px){
  body.alfari-exercise-library-page .page-wrap{
    width:min(100% - 20px,1420px);
  }
  body.alfari-exercise-library-page .page-card{
    padding:22px 16px!important;
    border-radius:14px;
  }
  body.alfari-exercise-library-page .page-card h1{
    font-size:clamp(2rem,10vw,2.8rem);
  }
  body.alfari-exercise-library-page .entry-content
  :where(.alfari-exercise-library__controls,[data-alfari-exercise-filters],
  .alfari-exercise-library__grid,[data-alfari-exercise-grid]){
    grid-template-columns:minmax(0,1fr);
  }
}

/* 5.1.9 – öffentliche Plugin-Arbeitsfläche für alle kostenlosen Rechner. */
body.alfari-tools-page .page-main{
  background:var(--alfari-anthracite)!important;
}
body.alfari-tools-workspace-page .page-wrap{
  width:min(1420px,calc(100% - 48px));
  max-width:1420px;
}
body.alfari-tools-workspace-page .page-card{
  max-width:none;
}
body.alfari-tools-workspace-page .page-card>.entry-content{
  width:100%;
  max-width:none;
}
.alfari-public-slot-tools{
  width:100%;
  min-width:0;
  margin-top:clamp(30px,5vw,52px);
  padding-top:clamp(24px,4vw,40px);
  border-top:1px solid var(--alfari-line);
  scroll-margin-top:100px;
}
.alfari-public-slot-tools>*{
  max-width:100%;
}

/* Plugin-Raster: drei Karten auf großen, zwei auf mittleren, eine auf kleinen Ansichten. */
.alfari-public-slot-tools :where(.grid,.alfari-tools-grid,[data-alfari-tools-grid]),
body.alfari-tools-workspace-page .entry-content
  :where(.alfari-tools-grid,[data-alfari-tools-grid]){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,24px)!important;
  min-width:0;
}

/* Rechnerkarten folgen dem hellen ALFARI-Arbeitsflächenprinzip. */
body.alfari-tools-workspace-page .entry-content
  :where(.tool,.alfari-tool-card,[data-alfari-tool],.info,.hero-card),
.alfari-public-slot-tools
  :where(.tool,.alfari-tool-card,[data-alfari-tool],.info,.hero-card){
  min-width:0;
  padding:clamp(20px,2.5vw,28px)!important;
  border:1px solid var(--alfari-line)!important;
  border-radius:var(--alfari-radius)!important;
  background:var(--alfari-surface)!important;
  color:var(--alfari-text)!important;
  box-shadow:0 12px 30px rgba(5,12,7,.12)!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.tool,.alfari-tool-card,[data-alfari-tool],.info,.hero-card)
  :where(h2,h3,h4,strong,label),
.alfari-public-slot-tools
  :where(.tool,.alfari-tool-card,[data-alfari-tool],.info,.hero-card)
  :where(h2,h3,h4,strong,label){
  color:var(--alfari-text)!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.tool,.alfari-tool-card,[data-alfari-tool],.info,.hero-card)
  :where(p,small,span),
.alfari-public-slot-tools
  :where(.tool,.alfari-tool-card,[data-alfari-tool],.info,.hero-card)
  :where(p,small,span){
  color:var(--alfari-muted)!important;
}

/* Eingaben, Ergebnisse und Aktionen bleiben kontrastreich und fingerfreundlich. */
body.alfari-tools-workspace-page .entry-content
  :where(.tool,.alfari-tool-card,[data-alfari-tool])
  :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.alfari-public-slot-tools
  :where(.tool,.alfari-tool-card,[data-alfari-tool])
  :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  background:#fff!important;
  color:var(--alfari-text)!important;
  border:2px solid #8d9690!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.tool,.alfari-tool-card,[data-alfari-tool])
  :where(button,.button,.btn),
.alfari-public-slot-tools
  :where(.tool,.alfari-tool-card,[data-alfari-tool])
  :where(button,.button,.btn){
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px!important;
  padding:12px 17px!important;
  border:1px solid var(--alfari-green-readable)!important;
  border-radius:10px!important;
  background:var(--alfari-green-readable)!important;
  color:#fff!important;
  font-weight:800!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.tool,.alfari-tool-card,[data-alfari-tool])
  :where(button,.button,.btn):hover,
.alfari-public-slot-tools
  :where(.tool,.alfari-tool-card,[data-alfari-tool])
  :where(button,.button,.btn):hover{
  background:var(--alfari-green-readable-hover)!important;
  border-color:var(--alfari-green-readable-hover)!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.result,.alfari-tool-result,[data-alfari-tool-result]),
.alfari-public-slot-tools
  :where(.result,.alfari-tool-result,[data-alfari-tool-result]){
  min-height:54px;
  margin-top:14px;
  padding:14px 16px!important;
  border:1px solid #b8c3ba!important;
  border-left:4px solid var(--alfari-green-readable)!important;
  border-radius:10px!important;
  background:var(--alfari-surface-2)!important;
  color:var(--alfari-text)!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.result,.alfari-tool-result,[data-alfari-tool-result]) *,
.alfari-public-slot-tools
  :where(.result,.alfari-tool-result,[data-alfari-tool-result]) *{
  color:inherit!important;
}

/* Zusatzinformationen bleiben ruhig; alte Blau-, Gold- und CoachMind-Flächen verschwinden. */
body.alfari-tools-workspace-page .entry-content
  :where(.note,.plan-cta,.seo,.faq details),
.alfari-public-slot-tools
  :where(.note,.plan-cta,.seo,.faq details){
  padding:20px!important;
  border:1px solid var(--alfari-line)!important;
  border-radius:var(--alfari-radius)!important;
  background:var(--alfari-surface-2)!important;
  color:var(--alfari-text)!important;
}
body.alfari-tools-workspace-page .entry-content
  :where(.badge,.kicker),
.alfari-public-slot-tools
  :where(.badge,.kicker){
  border-color:#a8c99a!important;
  background:#edf4e7!important;
  color:var(--alfari-green-readable)!important;
}
#1rm-rechner,#bmi-rechner,#kalorienrechner,
#trainingsvolumen,#proteinbedarf,#wasserbedarf{
  scroll-margin-top:100px;
}

@media(max-width:980px){
  .alfari-public-slot-tools :where(.grid,.alfari-tools-grid,[data-alfari-tools-grid]),
  body.alfari-tools-workspace-page .entry-content
    :where(.alfari-tools-grid,[data-alfari-tools-grid]){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  body.alfari-tools-workspace-page .page-wrap{
    width:min(100% - 20px,1420px);
  }
  body.alfari-tools-workspace-page .page-card{
    padding:22px 16px!important;
  }
  .alfari-public-slot-tools :where(.grid,.alfari-tools-grid,[data-alfari-tools-grid]),
  body.alfari-tools-workspace-page .entry-content
    :where(.alfari-tools-grid,[data-alfari-tools-grid]){
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.alfari-tools-workspace-page .entry-content
    :where(.row,.alfari-tool-fields,[data-alfari-tool-fields]),
  .alfari-public-slot-tools
    :where(.row,.alfari-tool-fields,[data-alfari-tool-fields]){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  #1rm-rechner,#bmi-rechner,#kalorienrechner,
  #trainingsvolumen,#proteinbedarf,#wasserbedarf{
    scroll-margin-top:82px;
  }
}


/* 5.7.46 – Downloadkarten folgen dem verbindlichen Anthrazitstandard. */
body:not(.alfari-app-mode) .alfari-public-slot-downloads [data-alfari-download-item],
body:not(.alfari-app-mode) [data-alfari-public-downloads] [data-alfari-download-item]{
  background:#242a27!important;
  color:#f7f8f5!important;
  border-color:#4a544f!important;
}
body:not(.alfari-app-mode) .alfari-public-slot-downloads [data-alfari-download-item] :where(h2,h3,h4,strong,b,a,span),
body:not(.alfari-app-mode) [data-alfari-public-downloads] [data-alfari-download-item] :where(h2,h3,h4,strong,b,a,span){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
body:not(.alfari-app-mode) .alfari-public-slot-downloads [data-alfari-download-item] :where(p,li,small),
body:not(.alfari-app-mode) [data-alfari-public-downloads] [data-alfari-download-item] :where(p,li,small){
  color:#d3d8d4!important;
  -webkit-text-fill-color:#d3d8d4!important;
  opacity:1!important;
}

/* 6.23.4 – Runtime-identified ALFARI Tools mobile stack.
   Applied only to the actual narrow tool-selector strip on /alfari-tools/. */
body.alfari-tools-workspace-page .alfari-tools-runtime-stack,
body.alfari-tools-page .alfari-tools-runtime-stack{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
@media(max-width:759px){
  body.alfari-tools-workspace-page .alfari-tools-runtime-stack,
  body.alfari-tools-page .alfari-tools-runtime-stack{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-columns:minmax(0,1fr)!important;
    gap:12px!important;
    overflow:visible!important;
  }
  body.alfari-tools-workspace-page .alfari-tools-runtime-card,
  body.alfari-tools-page .alfari-tools-runtime-card{
    display:block!important;
    position:static!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:64px!important;
    margin:0!important;
    padding:16px 18px!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    transform:none!important;
  }
  body.alfari-tools-workspace-page .alfari-tools-runtime-card *,
  body.alfari-tools-page .alfari-tools-runtime-card *{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    transform:none!important;
  }
  body.alfari-tools-workspace-page .entry-content :where(.hero-card,.info),
  body.alfari-tools-page .entry-content :where(.hero-card,.info){
    background:#fff!important;
    background-image:none!important;
    color:#1f2328!important;
  }
  body.alfari-tools-workspace-page .entry-content :where(.hero-card,.info) :where(h1,h2,h3,h4,strong),
  body.alfari-tools-page .entry-content :where(.hero-card,.info) :where(h1,h2,h3,h4,strong){
    color:#1f2328!important;
    -webkit-text-fill-color:#1f2328!important;
    opacity:1!important;
  }
  body.alfari-tools-workspace-page .entry-content :where(.hero-card,.info) :where(p,small,span),
  body.alfari-tools-page .entry-content :where(.hero-card,.info) :where(p,small,span){
    color:#4b5563!important;
    -webkit-text-fill-color:#4b5563!important;
    opacity:1!important;
  }
}


/* 6.23.8 – VERIFIED TOOLS INTRO PALETTE
 * Applies only to the intro card found relative to `.alfari-tools-runtime-stack`.
 */
body:not(.alfari-app-mode) .alfari-tools-runtime-intro-card{
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
  color:#1f2328!important;
  border:1px solid #dfe4dc!important;
  box-shadow:0 10px 28px rgba(31,35,40,.07)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
body:not(.alfari-app-mode) .alfari-tools-runtime-intro-card :where(h1,h2,h3,h4,strong,b){
  color:#1f2328!important;
  -webkit-text-fill-color:#1f2328!important;
  opacity:1!important;
}
body:not(.alfari-app-mode) .alfari-tools-runtime-intro-card :where(p,small,span){
  color:#4b5563!important;
  -webkit-text-fill-color:#4b5563!important;
  opacity:1!important;
}
body:not(.alfari-app-mode) .alfari-tools-runtime-intro-card :where(.kicker,.eyebrow,[class*="kicker"],[class*="eyebrow"]){
  color:#6fa323!important;
  -webkit-text-fill-color:#6fa323!important;
}
