/*
 * CityLight Trainingen
 *
 * De reset bovenaan is geen overdaad maar noodzaak: Astra en Elementor leggen
 * eigen opmaak op knoppen en formuliervelden — merkkleur, hoofdletters,
 * letterafstand — en die slaat dwars door dit blok heen. Vandaar het
 * afgebakende terugzetten met !important.
 */

.cltr{--c-bg:#0A2327;--c-vlak:#0E2B30;--c-lijn:rgba(255,255,255,.10);
  --c-tekst:#EFFAFA;--c-zacht:#D8E9EA;--c-mut:#9FBEC0;
  --c-merk:#00ABAC;--c-merk2:#1FC4C5;--c-accent:#F2A93C;
  color:var(--c-tekst);font-size:16px;line-height:1.6;}

.cltr *{box-sizing:border-box;}
.cltr button,.cltr input,.cltr textarea,.cltr select{
  font:inherit !important;letter-spacing:normal !important;text-transform:none !important;}
.cltr a{text-decoration:none;}

.cltr-twee{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start;}
@media(max-width:880px){.cltr-twee{grid-template-columns:minmax(0,1fr);}}

.cltr-kaart{background:var(--c-vlak);border:1px solid var(--c-lijn);border-radius:18px;
  padding:24px;margin:0 0 20px;box-shadow:0 18px 50px rgba(0,0,0,.25);}
.cltr-kop{font-size:21px;font-weight:700;margin:28px 0 12px;color:var(--c-tekst);}
.cltr-intro{font-size:17px;color:var(--c-zacht);margin:0 0 6px;max-width:40em;}
.cltr-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-accent);margin:0;}
.cltr-titel{font-size:clamp(26px,4vw,38px);font-weight:800;margin:10px 0 4px;}
.cltr-wie{color:var(--c-mut);margin:0 0 20px;}

/* programma en kaartjes */
.cltr-rij{display:flex;gap:13px;padding:13px 0;border-top:1px solid var(--c-lijn);}
.cltr-rij:first-child{border-top:0;padding-top:0;}
.cltr-ico{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--c-bg);
  border:1px solid var(--c-lijn);display:flex;align-items:center;justify-content:center;}
.cltr-ico svg{width:17px;height:17px;fill:var(--c-merk2);}
.cltr-rij.zelf .cltr-ico svg{fill:var(--c-accent);}
.cltr-wat{display:block;font-weight:700;}
.cltr-wanneer{display:block;font-size:14px;color:var(--c-mut);}
.cltr-soort{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--c-lijn);
  color:var(--c-mut);margin-left:8px;vertical-align:2px;}
.cltr-soort.online{color:var(--c-merk2);border-color:var(--c-merk2);}
.cltr-soort.zelf{color:var(--c-accent);border-color:var(--c-accent);}
.cltr-prijs{font-size:30px;font-weight:800;margin:0 0 2px;}
.cltr-klein{font-size:13.5px;color:var(--c-mut);margin:0 0 14px;}
.cltr-uitleg{background:var(--c-bg);border-left:3px solid var(--c-merk);border-radius:0 12px 12px 0;
  padding:14px 18px;margin:18px 0;color:var(--c-zacht);font-size:14.5px;}
.cltr-uitleg strong{color:var(--c-tekst);}

/* knoppen */
.cltr-knoprij{margin:18px 0 0;}
.cltr-knop{display:inline-flex !important;align-items:center;gap:9px;
  background:var(--c-accent) !important;color:#0A1A1B !important;border:0 !important;
  border-radius:999px !important;padding:12px 24px !important;font-weight:700 !important;
  cursor:pointer;line-height:1.2 !important;min-height:0 !important;}
.cltr-knop:hover{background:#FFC061 !important;}
.cltr-knop.kaal{background:transparent !important;color:var(--c-tekst) !important;
  border:1px solid var(--c-lijn) !important;}
.cltr-knop svg{width:17px;height:17px;fill:currentColor;}

/* formulier */
.cltr-veld{margin:0 0 15px;}
.cltr-veld label{display:block;font-weight:600;margin:0 0 5px;font-size:14.5px;}
.cltr-veld input,.cltr-veld textarea{width:100%;padding:11px 13px;border-radius:10px;
  border:1px solid var(--c-lijn) !important;background:rgba(255,255,255,.04) !important;
  color:var(--c-tekst) !important;}
.cltr-veld input:focus,.cltr-veld textarea:focus{outline:2px solid var(--c-merk);outline-offset:1px;}
.cltr-honing{position:absolute !important;left:-9999px !important;}
.cltr-betaal{color:var(--c-accent) !important;}

/* meldingen */
.cltr-melding{border-radius:12px;padding:13px 17px;margin:0 0 18px;font-size:15px;}
.cltr-melding.fout{background:rgba(214,69,69,.14);border:1px solid rgba(214,69,69,.45);}
.cltr-melding.ok{background:rgba(0,171,172,.14);border:1px solid rgba(0,171,172,.45);}
.cltr-melding.vol{background:rgba(242,169,60,.12);border:1px solid rgba(242,169,60,.4);
  color:var(--c-accent);text-align:center;}

/* gelukt */
.cltr-gelukt h3{font-size:24px;margin:0 0 8px;}
.cltr-groot{font-size:17px;color:var(--c-zacht);}

/* voortgang */
.cltr-voortgangkop{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  margin:0 0 10px;}
.cltr-voortgangkop .cltr-klein{margin:0;}
.cltr-balk{height:9px;border-radius:999px;background:var(--c-bg);overflow:hidden;
  border:1px solid var(--c-lijn);}
.cltr-balk i{display:block;height:100%;background:linear-gradient(90deg,var(--c-accent),var(--c-merk));}

/* de onderdelen */
.cltr-les{display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:20px 0;
  border-top:1px solid var(--c-lijn);}
.cltr-les:first-child{border-top:0;padding-top:0;}
.cltr-bol{width:34px;height:34px;border-radius:50%;border:2px solid var(--c-lijn);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;
  color:var(--c-mut);}
.cltr-bol svg{width:17px;height:17px;fill:currentColor;}
.cltr-les.gedaan .cltr-bol{background:var(--c-merk);border-color:var(--c-merk);color:#06211F;}
.cltr-les.nu .cltr-bol{border-color:var(--c-accent);color:var(--c-accent);}
.cltr-les.nu{background:rgba(242,169,60,.06);border-radius:14px;padding:20px 16px;margin:0 -16px;}
.cltr-les.gemist{opacity:.72;}
.cltr-les h4{font-size:18px;font-weight:700;margin:0 0 3px;}
.cltr-meta{font-size:14px;color:var(--c-mut);margin:0 0 8px;}
.cltr-tekst{margin:0 0 12px;color:var(--c-zacht);font-size:15px;}
.cltr-acties{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.cltr-merk{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--c-mut);}
.cltr-merk svg{width:15px;height:15px;fill:currentColor;}
.cltr-merk.ja{color:var(--c-merk2);}
.cltr-bestand{margin:0 0 8px;}
.cltr-bestand a{color:var(--c-merk2);text-decoration:underline;}
.cltr-vraag h4{font-size:18px;margin:0 0 6px;}
.cltr-zij .cltr-wat{margin:6px 0 2px;}
