/**
 * ALFARI 6.0.1 – Lesbare Start- und Anmeldeoberflächen
 * Reine Darstellung. Keine Geschäfts-, Trainings- oder Premiumlogik.
 */
:root {
  --alfari-anthracite: #1b1e22;
  --alfari-anthracite-card: #22262b;
  --alfari-anthracite-card-strong: #282d33;
  --alfari-readable-white: #ffffff;
  --alfari-readable-soft: #e8ecef;
  --alfari-readable-muted: #c9d0d5;
  --alfari-readable-green: #91c83e;
  --alfari-readable-border: rgba(255,255,255,.18);
}

/* Verbindliche Grundfläche der beiden zentralen Einstiegsbereiche. */
body.home,
body:has(.alfari-login-page),
body.home .site,
body:has(.alfari-login-page) .site,
body.home .page-main,
.alfari-login-page {
  background: var(--alfari-anthracite) !important;
  color: var(--alfari-readable-soft) !important;
}

/* STARTSEITE – Hero als klar begrenzte Anthrazit-Komponente. */
body.home .hero {
  background: var(--alfari-anthracite) !important;
  padding-block: clamp(1.25rem, 3vw, 2.5rem) !important;
}
body.home .hero-grid {
  align-items: stretch !important;
  gap: clamp(1rem, 2.5vw, 2rem) !important;
}
body.home .hero-copy {
  background: var(--alfari-anthracite-card) !important;
  border: 1px solid var(--alfari-readable-border) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.28) !important;
  padding: clamp(1.35rem, 4vw, 3rem) !important;
  color: var(--alfari-readable-soft) !important;
}
body.home .hero-claim {
  color: var(--alfari-readable-green) !important;
  -webkit-text-fill-color: var(--alfari-readable-green) !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}
body.home .hero-copy h1,
body.home .hero-copy h1 > *:not(span) {
  color: var(--alfari-readable-white) !important;
  -webkit-text-fill-color: var(--alfari-readable-white) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body.home .hero-copy h1 span {
  color: var(--alfari-readable-green) !important;
  -webkit-text-fill-color: var(--alfari-readable-green) !important;
  opacity: 1 !important;
}
body.home .hero-line {
  background: var(--alfari-readable-green) !important;
  opacity: 1 !important;
}
body.home .hero-lead {
  color: var(--alfari-readable-white) !important;
  -webkit-text-fill-color: var(--alfari-readable-white) !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}
body.home .hero-text {
  color: var(--alfari-readable-soft) !important;
  -webkit-text-fill-color: var(--alfari-readable-soft) !important;
  opacity: 1 !important;
  line-height: 1.65 !important;
}
body.home .hero-benefits,
body.home .hero-benefits li {
  color: var(--alfari-readable-white) !important;
  -webkit-text-fill-color: var(--alfari-readable-white) !important;
  opacity: 1 !important;
}
body.home .hero-benefits li::marker { color: var(--alfari-readable-green) !important; }
body.home .hero .button.primary {
  background: #4f8d2c !important;
  border-color: #4f8d2c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
body.home .hero .button.primary:hover,
body.home .hero .button.primary:focus-visible { background: #5b9d34 !important; }
body.home .hero-visual {
  background: transparent !important;
}

/* ANMELDUNG – eine klare dunkle Karte mit hellen Formularfeldern. */
.alfari-login-page {
  padding-block: clamp(1.25rem, 4vw, 3rem) !important;
}
.alfari-login-page .page-wrap {
  width: min(calc(100% - 1.5rem), 820px) !important;
}
.alfari-login-page .page-card.alfari-login-gateway {
  max-width: 760px !important;
  margin-inline: auto !important;
  padding: clamp(1.25rem, 4vw, 2.5rem) !important;
  background: var(--alfari-anthracite-card) !important;
  color: var(--alfari-readable-soft) !important;
  border: 1px solid var(--alfari-readable-border) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.28) !important;
}
.alfari-login-page .page-kicker {
  color: var(--alfari-readable-green) !important;
  -webkit-text-fill-color: var(--alfari-readable-green) !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
.alfari-login-page .alfari-login-gateway :where(h1,h2,h3,h4,strong,label,legend) {
  color: var(--alfari-readable-white) !important;
  -webkit-text-fill-color: var(--alfari-readable-white) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.alfari-login-page .alfari-login-gateway :where(p,li,small,.alfari-login-lead,.description) {
  color: var(--alfari-readable-soft) !important;
  -webkit-text-fill-color: var(--alfari-readable-soft) !important;
  opacity: 1 !important;
  line-height: 1.6 !important;
}
.alfari-login-page .alfari-member-form-output {
  margin-top: 1.5rem !important;
  padding: clamp(1rem, 3vw, 1.5rem) !important;
  background: var(--alfari-anthracite-card-strong) !important;
  border: 1px solid var(--alfari-readable-border) !important;
  border-radius: 18px !important;
}
.alfari-login-page .alfari-member-form-output :where(form,fieldset,div,p) {
  background-color: transparent !important;
}
.alfari-login-page input:not([type="checkbox"]):not([type="radio"]),
.alfari-login-page select,
.alfari-login-page textarea {
  width: 100%;
  min-height: 54px;
  background: #fff !important;
  color: #20252b !important;
  -webkit-text-fill-color: #20252b !important;
  border: 2px solid #d2d7db !important;
  border-radius: 14px !important;
  opacity: 1 !important;
}
.alfari-login-page input:focus,
.alfari-login-page select:focus,
.alfari-login-page textarea:focus {
  border-color: var(--alfari-readable-green) !important;
  box-shadow: 0 0 0 3px rgba(145,200,62,.22) !important;
}
.alfari-login-page input::placeholder,
.alfari-login-page textarea::placeholder {
  color: #68717a !important;
  -webkit-text-fill-color: #68717a !important;
  opacity: 1 !important;
}
.alfari-login-page input[type="checkbox"],
.alfari-login-page input[type="radio"] {
  accent-color: var(--alfari-readable-green);
}
.alfari-login-page :where(a,.alfari-member-form-links a,.alfari-login-note a) {
  color: var(--alfari-readable-green) !important;
  -webkit-text-fill-color: var(--alfari-readable-green) !important;
  opacity: 1 !important;
}
.alfari-login-page :where(button,input[type="submit"],.button.primary) {
  min-height: 54px !important;
  background: #4f8d2c !important;
  border-color: #4f8d2c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
}
.alfari-login-page .alfari-account-legal {
  background: #20252a !important;
  color: var(--alfari-readable-soft) !important;
  border-left-color: var(--alfari-readable-green) !important;
}
.alfari-login-page .alfari-account-legal :where(strong,p,a) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

@media (max-width: 700px) {
  body.home .hero-copy,
  .alfari-login-page .page-card.alfari-login-gateway {
    border-radius: 18px !important;
  }
  body.home .hero-copy h1 {
    font-size: clamp(2.35rem, 11vw, 4.2rem) !important;
    line-height: 1.03 !important;
  }
  body.home .hero-copy h1 span {
    display: block;
    margin-top: .35em;
  }
  .alfari-login-page .alfari-member-form-output {
    padding: 1rem !important;
  }
}

/* ==========================================================
   ALFARI 6.1.2 – Zentrale Typografie für dunkle Startseitenkarten
   Exakte Komponentenregeln statt weiterer generischer Overrides.
   ========================================================== */
body.home :where(.alfari-difference-grid article,.alfari-trainer-focus-grid article) {
  background: #252b30 !important;
  color: #e8ecef !important;
  border-color: rgba(255,255,255,.22) !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.home :where(.alfari-difference-grid article,.alfari-trainer-focus-grid article)
:where(h1,h2,h3,h4,h5,h6,strong,b) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}

body.home :where(.alfari-difference-grid article,.alfari-trainer-focus-grid article)
:where(p,li,dd,dt,small) {
  color: #e8ecef !important;
  -webkit-text-fill-color: #e8ecef !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}

body.home :where(.alfari-difference-grid article,.alfari-trainer-focus-grid article) > span {
  background: #d8f247 !important;
  color: #171b1f !important;
  -webkit-text-fill-color: #171b1f !important;
  opacity: 1 !important;
  filter: none !important;
}
