/*
 * ALFARI 5.7.49 – verbindlicher Zwei-Karten-Standard.
 * Grundfläche bleibt Anthrazit. Öffentliche Informationskarten sind hell,
 * App-/Statuskarten sind dunkel. Keine Geschäfts- oder Trainingslogik.
 */
:root{
  --alfari-page-bg:#171c1a;
  --alfari-dark-card:#252b28;
  --alfari-dark-card-strong:#2d3430;
  --alfari-dark-border:#4b5550;
  --alfari-dark-title:#ffffff;
  --alfari-dark-text:#dce2de;
  --alfari-light-card:#ffffff;
  --alfari-light-card-soft:#f6f7f5;
  --alfari-light-border:#c5ccc8;
  --alfari-light-title:#202522;
  --alfari-light-text:#4f5853;
  --alfari-accent:#c7ef4a;
  --alfari-card-radius:18px;
  --alfari-card-shadow:0 16px 38px rgba(0,0,0,.22);
}

/* Die Website-Grundfläche bleibt dauerhaft Anthrazit. */
body:not(.wp-admin),
body:not(.wp-admin) .site,
body:not(.wp-admin) .site-content,
body:not(.wp-admin) .content-area,
body:not(.wp-admin) .site-main,
body.alfari-app-mode,
body.alfari-app-mode .alfari-app-shell,
body.alfari-app-mode .alfari-app-workspace{
  background:var(--alfari-page-bg)!important;
}

/* ==========================================================
   LIGHT CARD – öffentliche Informations-, Ziel- und Formularflächen
   Dunkle Schrift auf weißem Hintergrund.
   ========================================================== */
body:not(.wp-admin) :where(
  .page-card,
  .goal-card,
  .offer-grid>a,
  .book-product-card,
  .book-samples,
  .book-free-entry,
  .alfari-planfinder-disclosure,
  .alfari-planfinder-stage,
  .alfari-planfinder-workspace,
  .alfari-public-slot-plan-finder,
  .alfari-trainer-focus-heading,
  .alfari-trainer-focus-grid article,
  .alfari-exercise-next-step,
  [data-alfari-card="light"]
){
  background:var(--alfari-light-card)!important;
  color:var(--alfari-light-title)!important;
  border:1px solid var(--alfari-light-border)!important;
  border-radius:var(--alfari-card-radius)!important;
  box-shadow:var(--alfari-card-shadow)!important;
}

body:not(.wp-admin) :where(
  .page-card,
  .goal-card,
  .offer-grid>a,
  .book-product-card,
  .book-samples,
  .book-free-entry,
  .alfari-planfinder-disclosure,
  .alfari-planfinder-stage,
  .alfari-planfinder-workspace,
  .alfari-public-slot-plan-finder,
  .alfari-trainer-focus-heading,
  .alfari-trainer-focus-grid article,
  .alfari-exercise-next-step,
  [data-alfari-card="light"]
) :where(h1,h2,h3,h4,h5,h6,strong,b,.title,.card-title,[class*="__title"],[class*="-title"]){
  color:var(--alfari-light-title)!important;
  -webkit-text-fill-color:var(--alfari-light-title)!important;
  opacity:1!important;
  text-shadow:none!important;
}

body:not(.wp-admin) :where(
  .page-card,
  .goal-card,
  .offer-grid>a,
  .book-product-card,
  .book-samples,
  .book-free-entry,
  .alfari-planfinder-disclosure,
  .alfari-planfinder-stage,
  .alfari-planfinder-workspace,
  .alfari-public-slot-plan-finder,
  .alfari-trainer-focus-heading,
  .alfari-trainer-focus-grid article,
  .alfari-exercise-next-step,
  [data-alfari-card="light"]
) :where(p,li,dd,dt,small,.description,.card-text,[class*="__text"],[class*="-text"]){
  color:var(--alfari-light-text)!important;
  -webkit-text-fill-color:var(--alfari-light-text)!important;
  opacity:1!important;
  line-height:1.62;
}

/* ==========================================================
   DARK CARD – App, Training, Status, Coach und explizite Dark Cards
   Weiße Schrift auf Anthrazit.
   ========================================================== */
body:not(.wp-admin) :where(
  .alfari-card--dark,
  .alfari-panel,
  .alfari-dashboard-card,
  .alfari-trainer-card,
  .alfari-status-card,
  .alfari-progress-card,
  .alfari-actions-card,
  .alfari-timeline-card,
  .alfari-plugin-card,
  .alfari-offer-card,
  .alfari-app-trainer-surface,
  .alfari-training-readiness,
  .training-card,
  .training-mode-exercise,
  .training-mode-plan-day,
  .trainer-session-exercise,
  .trainer-plan-day,
  .plan-result-day,
  [data-alfari-download-item],
  [data-alfari-card="dark"]
){
  background:var(--alfari-dark-card)!important;
  color:var(--alfari-dark-title)!important;
  border:1px solid var(--alfari-dark-border)!important;
  border-radius:var(--alfari-card-radius)!important;
  box-shadow:var(--alfari-card-shadow)!important;
}

body:not(.wp-admin) :where(
  .alfari-card--dark,
  .alfari-panel,
  .alfari-dashboard-card,
  .alfari-trainer-card,
  .alfari-status-card,
  .alfari-progress-card,
  .alfari-actions-card,
  .alfari-timeline-card,
  .alfari-plugin-card,
  .alfari-offer-card,
  .alfari-app-trainer-surface,
  .alfari-training-readiness,
  .training-card,
  .training-mode-exercise,
  .training-mode-plan-day,
  .trainer-session-exercise,
  .trainer-plan-day,
  .plan-result-day,
  [data-alfari-download-item],
  [data-alfari-card="dark"]
) :where(h1,h2,h3,h4,h5,h6,strong,b,.title,.card-title,[class*="__title"],[class*="-title"]){
  color:var(--alfari-dark-title)!important;
  -webkit-text-fill-color:var(--alfari-dark-title)!important;
  opacity:1!important;
  text-shadow:none!important;
}

body:not(.wp-admin) :where(
  .alfari-card--dark,
  .alfari-panel,
  .alfari-dashboard-card,
  .alfari-trainer-card,
  .alfari-status-card,
  .alfari-progress-card,
  .alfari-actions-card,
  .alfari-timeline-card,
  .alfari-plugin-card,
  .alfari-offer-card,
  .alfari-app-trainer-surface,
  .alfari-training-readiness,
  .training-card,
  .training-mode-exercise,
  .training-mode-plan-day,
  .trainer-session-exercise,
  .trainer-plan-day,
  .plan-result-day,
  [data-alfari-download-item],
  [data-alfari-card="dark"]
) :where(p,li,dd,dt,small,.description,.card-text,[class*="__text"],[class*="-text"]){
  color:var(--alfari-dark-text)!important;
  -webkit-text-fill-color:var(--alfari-dark-text)!important;
  opacity:1!important;
  line-height:1.62;
}

/* App-Bereich ist standardmäßig dunkel, außer eine Komponente ist ausdrücklich light. */
body.alfari-app-mode :where(.card,.widget,[data-alfari-card]:not([data-alfari-card="light"])){
  background:var(--alfari-dark-card)!important;
  color:var(--alfari-dark-title)!important;
  border-color:var(--alfari-dark-border)!important;
}
body.alfari-app-mode :where(.card,.widget,[data-alfari-card]:not([data-alfari-card="light"])) :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--alfari-dark-title)!important;
  -webkit-text-fill-color:var(--alfari-dark-title)!important;
}
body.alfari-app-mode :where(.card,.widget,[data-alfari-card]:not([data-alfari-card="light"])) :where(p,li,small){
  color:var(--alfari-dark-text)!important;
  -webkit-text-fill-color:var(--alfari-dark-text)!important;
}

/* Akzentfarbe bleibt auf beiden Kartentypen eindeutig. */
body:not(.wp-admin) :where(
  .page-card,.goal-card,.offer-grid>a,.book-product-card,
  .alfari-panel,.alfari-dashboard-card,.alfari-trainer-card,
  .alfari-app-trainer-surface,[data-alfari-download-item],[data-alfari-card]
) :where(.kicker,.eyebrow,.badge,[class*="__label"],[class*="-label"]){
  color:var(--alfari-accent)!important;
  -webkit-text-fill-color:var(--alfari-accent)!important;
  opacity:1!important;
}

/* Formulare sind immer hell und eindeutig bedienbar. */
body:not(.wp-admin) :where(
  .page-card,.alfari-panel,.alfari-app-workspace,.plan-finder-shell,
  [data-alfari-card]
) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff!important;
  color:#202522!important;
  -webkit-text-fill-color:#202522!important;
  border:1px solid #8f9994!important;
}

/* Keine beschädigten Wortumbrüche auf Mobilgeräten. */
@media(max-width:700px){
  body:not(.wp-admin) :where(
    .page-card,.goal-card,.offer-grid>a,.book-product-card,
    .alfari-panel,.alfari-dashboard-card,.alfari-trainer-card,
    .training-card,[data-alfari-download-item],[data-alfari-card]
  ){
    border-radius:15px!important;
  }
  body:not(.wp-admin) :where(
    .page-card,.goal-card,.offer-grid>a,.book-product-card,
    .alfari-panel,.alfari-dashboard-card,.alfari-trainer-card,
    .training-card,[data-alfari-download-item],[data-alfari-card]
  ) :where(h2,h3,h4,[class*="__title"],[class*="-title"]){
    font-size:clamp(1.18rem,5.4vw,1.55rem)!important;
    line-height:1.22!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:auto;
  }
}
