/* Modern overlay on top of style1.css — same design tokens as /training/training.css.
   Header (.mhd) and footer (.mft) are fully modern markup; content layout
   overrides are scoped to the new homepage via #content:has(.mh). */

:root {
  --brand: #ed411e;
  --brand-dark: #c73315;
  --ink: #2b2b3a;
  --ink-soft: #6b6b7d;
  --bg: #f6f6f9;
  --card: #ffffff;
  --line: #e6e6ee;
  --good: #2e9e5b;
  --radius: 14px;
}

html { background: #23273a; } /* zelfde als footer — geen witte flits onder de pagina */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  padding-bottom: 0;
}

/* ---------- header — same look as .tr-top in /training/ ---------- */
.mhd { background: var(--card); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 100; }
/* oranje login-knop rechtsboven */
.mhd-login {
  background: var(--brand); color: #fff !important; border-radius: 9px;
  padding: 7px 18px; font-size: 13.5px; font-weight: 700; white-space: nowrap;
}
.mhd-login:hover { background: var(--brand-dark); }
.mhd-logout {
  color: var(--ink) !important; font-size: 13.5px; font-weight: 600; white-space: nowrap;
  border: 1.5px solid var(--line); border-radius: 9px; padding: 6px 14px; background: var(--card);
}
.mhd-logout:hover { border-color: var(--brand); color: var(--brand) !important; }
/* ingelogde gebruiker: avatar-initiaal + deel vóór de @, linkt naar profiel */
.mhd-user { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13.5px; font-weight: 600; white-space: nowrap; max-width: 170px; }
.mhd-user i {
  font-style: normal; width: 27px; height: 27px; border-radius: 50%; flex: none;
  background: #fdece8; color: var(--brand); font-weight: 800; font-size: 13px;
  display: flex; align-items: center; justify-content: center;
}
.mhd-user span { overflow: hidden; text-overflow: ellipsis; }
.mhd-user:hover span { color: var(--brand); }
.mhd-wrap {
  max-width: 980px; margin: 0 auto; padding: 0 16px;
  display: flex; align-items: center; gap: 18px; height: 58px;
}
.mhd a { text-decoration: none; }
.mhd-brand { display: flex; align-items: center; gap: 9px; color: var(--ink); }
.mhd-brand b { font-size: 21px; font-weight: 800; letter-spacing: 0.5px; }
.mhd-brand b::first-letter { color: var(--brand); }
.mhd-brand em { font-style: normal; font-weight: 400; color: var(--ink-soft); font-size: 15px; }
.mhd-nav { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; }
.mhd-nav a { color: var(--ink); font-weight: 500; font-size: 14.5px; white-space: nowrap; }
.mhd-nav a:hover { color: var(--brand); }
.mhd-nav a.mhd-hot { color: var(--brand); font-weight: 700; }
.mhd-nav a.mhd-soft { color: var(--ink-soft); font-weight: 400; }
.mhd-nav a.mhd-soft:hover { color: var(--brand); }
.mhd-spacer { flex: 1; }
.mhd-burger, .mhd-burger-cb { display: none; }

/* language pulldown (native <details>, same as .tr-langdd) */
.mhd-langdd { position: relative; }
.mhd-langdd summary {
  list-style: none; display: flex; align-items: center; gap: 7px; cursor: pointer;
  padding: 6px 10px; border: 1.5px solid var(--line); border-radius: 9px;
  font-size: 12.5px; font-weight: 700; color: var(--ink); user-select: none; background: var(--card);
}
.mhd-langdd summary::-webkit-details-marker { display: none; }
.mhd-langdd summary i { font-style: normal; color: var(--ink-soft); font-size: 10px; }
.mhd-langdd[open] summary { border-color: var(--brand); }
.mhd-langdd-list {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 140;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 8px 24px rgba(30,30,50,.12); padding: 6px; min-width: 170px;
}
.mhd-langdd-list a {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px;
  border-radius: 8px; color: var(--ink); font-size: 14px;
}
.mhd-langdd-list a:hover { background: var(--bg); }

@media (max-width: 800px) {
  .mhd-wrap { flex-wrap: wrap; height: auto; padding: 10px 16px; row-gap: 10px; }
  .mhd-brand { margin-right: auto; }
  .mhd-burger { display: block; cursor: pointer; padding: 4px; order: 5; }
  .mhd-nav {
    display: none; order: 10; width: 100%; flex: none; flex-direction: column; align-items: stretch;
    gap: 0; border-top: 1px solid var(--line); padding-top: 6px;
  }
  .mhd-burger-cb:checked ~ .mhd-nav { display: flex; }
  .mhd-nav a { padding: 10px 4px; border-bottom: 1px solid var(--bg); font-size: 15.5px; }
  .mhd-spacer { display: none; }
  .mhd-user span { display: none; } /* op mobiel alleen de avatar-initiaal */
}

/* ---------- homepage scope: neutral canvas instead of the blue block ---------- */
#content_container:has(.mh) {
  background: var(--bg);
  padding-top: 0;
  padding-bottom: 0;
}
#content:has(.mh) {
  background: var(--bg);
  width: auto;
  max-width: 100%;
}

.mh { max-width: 920px; margin: 0 auto; padding: 8px 16px 40px; }
.mh * { box-sizing: border-box; }
.mh a { text-decoration: none; }

.mh-hero { text-align: center; padding: 34px 10px 30px; }
.mh-hero h1 { font-size: 32px; letter-spacing: -0.7px; margin: 0 0 10px; }
.mh-hero p { color: var(--ink-soft); font-size: 17px; max-width: 620px; margin: 0 auto 24px; }

.mh-btn {
  display: inline-block; background: var(--brand); color: #fff !important;
  border-radius: 10px; padding: 12px 26px; font-size: 16px; font-weight: 700;
  transition: background .15s;
}
.mh-btn:hover { background: var(--brand-dark); }
.mh-btn.ghost { background: transparent; color: var(--brand) !important; border: 1.5px solid var(--brand); }
.mh-btn.ghost:hover { background: #fdece8; }
.mh-hero .mh-btn { margin: 0 6px 8px; }
.mh-hero-note { color: var(--ink-soft); font-size: 13px; margin: 10px 0 0; }

.mh-badge {
  display: inline-block; background: #fff1d6; color: #9a6b00; font-size: 12.5px;
  font-weight: 700; border-radius: 999px; padding: 4px 13px; margin-bottom: 14px;
}

.mh-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 8px 0 22px; }
.mh-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 22px; text-align: center;
}
.mh-card img.mh-circle { width: 110px; height: 110px; border-radius: 50%; margin-bottom: 12px; }
.mh-card h3 { margin: 0 0 12px; font-size: 17px; }
.mh-card ul { list-style: none; margin: 0; padding: 0; }
.mh-card li { border-top: 1px solid var(--line); }
.mh-card li a {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 6px; color: var(--ink); font-size: 14.5px; border-radius: 8px;
}
.mh-card li a:hover { background: var(--bg); }
.mh-card li.mh-locked a { color: var(--ink-soft); }
.mh-card li .mh-lock { font-size: 13px; }
.mh-card li.mh-locked .mh-lock { color: var(--ink-soft); }
.mh-card li:not(.mh-locked) .mh-lock { color: var(--good); }

.mh-promos { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 22px; }
.mh-promo {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px;
}
.mh-promo.sell { border: 1.5px solid var(--brand); background: #fff7f5; text-align: center; }
.mh-promo.sell p { max-width: 560px; margin-left: auto; margin-right: auto; }
.mh-promo h3 { margin: 0 0 10px; font-size: 17px; }
.mh-promo p { color: var(--ink-soft); margin: 0 0 16px; font-size: 14.5px; line-height: 1.55; }

/* testimonials */
.mh-testis-title { text-align: center; font-size: 20px; margin: 26px 0 14px; }
.mh-testis { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.mh-testi {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 18px 20px; display: flex; flex-direction: column;
}
.mh-testi blockquote { margin: 0 0 12px; font-style: italic; font-size: 14.5px; line-height: 1.6; color: var(--ink); flex: 1; }
.mh-testi cite { display: flex; align-items: center; gap: 8px; font-style: normal; font-weight: 700; color: var(--ink-soft); font-size: 13px; }
.mh-testi .mh-stars { color: #f5a623; font-size: 12px; letter-spacing: 1px; margin-bottom: 8px; }

@media (max-width: 700px) {
  .mh-hero h1 { font-size: 25px; }
}

/* ---------- login page (scoped, zoals homepage) ---------- */
#content_container:has(.mlogin) { background: var(--bg); padding-top: 0; padding-bottom: 0; }
#content:has(.mlogin) { background: var(--bg); width: auto; max-width: 100%; }
.mlogin { display: flex; justify-content: center; padding: 48px 16px 64px; }
.mlogin * { box-sizing: border-box; }
.mlogin-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 30px 28px; width: 100%; max-width: 400px;
}
.mlogin-card h1 { font-size: 22px; letter-spacing: -0.4px; margin: 0 0 18px; }
.mlogin-alert {
  background: #fdecec; border: 1px solid #f0c4c4; color: #a33; border-radius: 9px;
  padding: 9px 13px; font-size: 13.5px; margin: 0 0 14px;
}
.mlogin-google {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 10px 20px; border: 1.5px solid var(--line); border-radius: 10px;
  background: var(--card); color: var(--ink); font-weight: 600; text-decoration: none; font-size: 14.5px;
}
.mlogin-google:hover { border-color: var(--brand); text-decoration: none; }
.mlogin-divider { display: flex; align-items: center; gap: 12px; color: var(--ink-soft); font-size: 12.5px; margin: 16px 0; }
.mlogin-divider::before, .mlogin-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.mlogin-card label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-soft); margin: 0 0 5px; }
.mlogin-card input[type="email"], .mlogin-card input[type="password"] {
  width: 100%; border: 1.5px solid var(--line); border-radius: 10px;
  padding: 10px 12px; font-size: 15px; font-family: inherit; margin-bottom: 14px; background: var(--card);
}
.mlogin-card input[type="email"]:focus, .mlogin-card input[type="password"]:focus { border-color: var(--brand); outline: none; }
.mlogin-card input[type="submit"] {
  width: 100%; background: var(--brand); color: #fff; border: 0; border-radius: 10px;
  padding: 12px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit;
}
.mlogin-card input[type="submit"]:hover { background: var(--brand-dark); }
.mlogin-links { display: flex; justify-content: space-between; margin-top: 16px; font-size: 13.5px; }
.mlogin-links a { color: var(--brand); font-weight: 600; }

/* ---------- footer — modern dark strip, feedback form kept ---------- */
.mft { background: #23273a; color: #b9bdd0; font-size: 14px; }
.mft a { color: #b9bdd0; text-decoration: none; }
.mft a:hover { color: #fff; }
.mft-wrap { max-width: 980px; margin: 0 auto; padding: 0 16px; }
.mft-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-top: 34px; padding-bottom: 28px; }
.mft h2 { color: #fff; font-size: 15px; margin: 0 0 12px; }
.mft-brand { margin-bottom: 10px; }
.mft-brand b { color: #fff !important; }
.mft-about p { margin: 0 0 14px; line-height: 1.6; font-size: 13.5px; }
.mft-links { display: flex; gap: 18px; }
.mft-links a { font-weight: 600; }
.mft-feedback input[type="text"], .mft-feedback textarea {
  width: 100%; box-sizing: border-box; margin-bottom: 8px;
  border: 1px solid #3a3f58; background: #2c3149; color: #e8eaf3;
  border-radius: 8px; padding: 8px 11px; font-family: inherit; font-size: 14px;
}
.mft-feedback ::placeholder { color: #8a8fa8; }
.mft-feedback input[type="submit"] {
  background: var(--brand); color: #fff; border: 0; border-radius: 8px;
  padding: 9px 22px; font-weight: 600; cursor: pointer; font-size: 14px;
}
.mft-feedback input[type="submit"]:hover { background: var(--brand-dark); }
.mft-legal { border-top: 1px solid #333850; }
.mft-legal .mft-wrap { display: flex; gap: 20px; padding-top: 14px; padding-bottom: 14px; font-size: 13px; color: #8a8fa8; }
.mft-legal span { margin-left: auto; }

@media (max-width: 700px) {
  .mft-cols { grid-template-columns: 1fr; gap: 26px; }
  .mft-legal .mft-wrap { flex-wrap: wrap; }
  .mft-legal span { margin-left: 0; width: 100%; }
}

/* ---------- profile page (scoped, zoals homepage/login) ---------- */
#content_container:has(.mprof) { background: var(--bg); padding-top: 0; padding-bottom: 0; }
#content:has(.mprof) { background: var(--bg); width: auto; max-width: 100%; }
.mprof { max-width: 880px; margin: 0 auto; padding: 34px 16px 64px; }
.mprof * { box-sizing: border-box; }
.mprof a { text-decoration: none; }
.mprof-head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.mprof-avatar {
  width: 56px; height: 56px; border-radius: 50%; flex: none;
  background: #fdece8; color: var(--brand); font-size: 24px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.mprof-head h1 { margin: 0; font-size: 24px; letter-spacing: -0.4px; }
.mprof-head p { margin: 3px 0 0; color: var(--ink-soft); font-size: 13.5px; }
.mprof-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; align-items: start; }
.mprof-side { display: flex; flex-direction: column; gap: 16px; }
.mprof-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; }
.mprof-card h2 { margin: 0 0 16px; font-size: 16px; color: var(--ink); } /* style1.css maakt h2 wit */
.mprof-card label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-soft); margin: 0 0 5px; }
.mprof-card input[type="text"], .mprof-card input[type="email"] {
  width: 100%; border: 1.5px solid var(--line); border-radius: 10px;
  padding: 10px 12px; font-size: 15px; font-family: inherit; margin-bottom: 14px; background: var(--card);
}
.mprof-card input[type="text"]:focus { border-color: var(--brand); outline: none; }
.mprof-card input[disabled] { background: var(--bg); color: var(--ink-soft); }
.mprof-card input[type="submit"] {
  background: var(--brand); color: #fff; border: 0; border-radius: 10px;
  padding: 11px 26px; font-size: 14.5px; font-weight: 700; cursor: pointer; font-family: inherit;
}
.mprof-card input[type="submit"]:hover { background: var(--brand-dark); }
.mprof-alert {
  background: #e8f6ee; border: 1px solid #bfe3cd; color: #1e7a44; border-radius: 9px;
  padding: 9px 13px; font-size: 13.5px; margin: 0 0 16px;
}
.mprof-alert.err { background: #fdecec; border-color: #f0c4c4; color: #a33; }
.mprof-pill {
  display: inline-block; border-radius: 999px; padding: 4px 13px;
  font-size: 12.5px; font-weight: 700; margin-bottom: 10px;
}
.mprof-pill.on { background: #e8f6ee; color: #1e7a44; }
.mprof-pill.off { background: #f0f0f5; color: var(--ink-soft); }
.mprof-card p { color: var(--ink-soft); font-size: 14px; line-height: 1.55; margin: 0 0 14px; }
.mprof-btn {
  display: inline-block; background: var(--brand); color: #fff !important;
  border-radius: 10px; padding: 10px 20px; font-size: 14px; font-weight: 700;
}
.mprof-btn:hover { background: var(--brand-dark); }
.mprof-btn.ghost { background: transparent; color: var(--brand) !important; border: 1.5px solid var(--brand); }
.mprof-btn.ghost:hover { background: #fdece8; }
.mprof-stats { display: flex; gap: 22px; margin: 0 0 14px; }
.mprof-stats b { display: block; font-size: 22px; color: var(--ink); }
.mprof-stats span { font-size: 12.5px; color: var(--ink-soft); }
@media (max-width: 700px) {
  .mprof-grid { grid-template-columns: 1fr; }
}

/* ---------- premium checkout (/account/) ---------- */
#content_container:has(.mbuy) { background: var(--bg); padding-top: 0; padding-bottom: 0; }
#content:has(.mbuy) { background: var(--bg); width: auto; max-width: 100%; }
.mbuy { display: flex; justify-content: center; padding: 40px 16px 64px; }
.mbuy * { box-sizing: border-box; }
.mbuy a { text-decoration: none; }
.mbuy-card {
  background: var(--card); border: 1.5px solid var(--brand); border-radius: var(--radius);
  padding: 30px 28px; width: 100%; max-width: 440px;
}
.mbuy-badge {
  display: inline-block; background: #fff1d6; color: #9a6b00; font-size: 12.5px;
  font-weight: 700; border-radius: 999px; padding: 4px 13px; margin-bottom: 12px;
}
.mbuy-card h1 { font-size: 22px; letter-spacing: -0.4px; margin: 0 0 6px; }
.mbuy-price { display: flex; align-items: baseline; gap: 8px; margin: 10px 0 4px; }
.mbuy-price b { font-size: 38px; letter-spacing: -1px; }
.mbuy-price span { color: var(--ink-soft); font-size: 14px; }
.mbuy-sub { color: var(--ink-soft); font-size: 13.5px; margin: 0 0 16px; }
.mbuy-list { list-style: none; margin: 0 0 20px; padding: 0; }
.mbuy-list li {
  padding: 8px 0 8px 26px; position: relative; font-size: 14.5px;
  border-bottom: 1px solid var(--bg); line-height: 1.45;
}
.mbuy-list li::before { content: "\2713"; position: absolute; left: 2px; color: var(--good); font-weight: 800; }
.mbuy-alert {
  background: #fdecec; border: 1px solid #f0c4c4; color: #a33; border-radius: 9px;
  padding: 9px 13px; font-size: 13.5px; margin: 0 0 14px;
}
.mbuy-user {
  background: var(--bg); border-radius: 10px; padding: 10px 13px;
  font-size: 13.5px; color: var(--ink-soft); margin: 0 0 16px;
}
.mbuy-user b { color: var(--ink); }
.mbuy-card label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-soft); margin: 0 0 5px; }
.mbuy-card input[type="email"], .mbuy-card input[type="password"] {
  width: 100%; border: 1.5px solid var(--line); border-radius: 10px;
  padding: 10px 12px; font-size: 15px; font-family: inherit; margin-bottom: 14px; background: var(--card);
}
.mbuy-card input[type="email"]:focus, .mbuy-card input[type="password"]:focus { border-color: var(--brand); outline: none; }
.mbuy-card input[type="submit"] {
  width: 100%; background: var(--brand); color: #fff; border: 0; border-radius: 10px;
  padding: 13px; font-size: 15.5px; font-weight: 700; cursor: pointer; font-family: inherit;
}
.mbuy-card input[type="submit"]:hover { background: var(--brand-dark); }
.mbuy-hint { font-size: 12.5px; color: var(--ink-soft); margin: -6px 0 14px; }
.mbuy-trust { text-align: center; font-size: 12.5px; color: var(--ink-soft); margin: 12px 0 0; line-height: 1.5; }
.mbuy-login-note { text-align: center; font-size: 13.5px; margin: 14px 0 0; }
.mbuy-login-note a { color: var(--brand); font-weight: 600; }
