/* Challenge "Niderlandzki w 30 dni" (templates/wyzwanie/…) */
.wz-hero h1{font-size:clamp(28px,6vw,40px);}
.wz-teller{font-size:14px; color:var(--ink-soft); margin-top:6px;}
.wz-main{max-width:720px;}
.wz-beheer{background:#FFF6EC; border:1px solid #F7D4B5; border-radius:12px; padding:8px 12px; font-size:13px;}

/* Status en voortgang */
.wz-status{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px;}
.wz-stat{background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px 16px; text-align:center;}
.wz-stat b{display:block; font-size:24px; font-weight:800; color:var(--rose-dark);}
.wz-stat span{font-size:12.5px; color:var(--ink-soft);}
.wz-balk{grid-column:span 2; height:10px; border-radius:99px; background:var(--blush); overflow:hidden;}
.wz-balk i{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--rose),var(--orange)); transition:width .8s ease;}

/* Grote kaart "vandaag" */
.wz-groot{display:flex; align-items:center; gap:16px; padding:18px 20px; border-radius:24px; color:#fff; text-decoration:none;
  background:linear-gradient(135deg,#E8879F,#EE8C7C 55%,#F4914A); box-shadow:0 16px 36px rgba(232,135,159,.38); margin-bottom:10px;
  transition:transform .25s ease;}
.wz-groot:hover{transform:translateY(-2px);}
.wz-groot.wacht{background:linear-gradient(135deg,#B78BE0,#E8879F);}
.wz-groot.klaar{background:linear-gradient(135deg,#5CC2A0,#6FA8DC);}
.wz-groot-ik{flex:none; width:58px; height:58px; border-radius:18px; display:grid; place-items:center; font-size:26px; font-weight:800;
  background:rgba(255,255,255,.25);}
.wz-groot small{display:block; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.9;}
.wz-groot b{display:block; font-size:19px; line-height:1.2; margin:2px 0;}
.wz-groot span span{font-size:13.5px; opacity:.95;}
.wz-volgende{font-size:13.5px; color:var(--ink-soft); text-align:center; margin:4px 0 18px;}

/* Meedoen */
.wz-meedoen h2{margin-top:0;}
.wz-hoe{display:grid; gap:10px; margin:16px 0 24px;}

/* Dagen */
.wz-dagen{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; margin-top:8px;}
.wz-week{grid-column:1/-1; font-size:17px; margin:18px 2px 2px;}
.wz-dag{display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:16px; background:#fff; border:1px solid var(--line);
  text-decoration:none; color:var(--ink); transition:transform .2s ease, box-shadow .2s ease;}
a.wz-dag:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(58,42,46,.08);}
.wz-nr{flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font-weight:800; color:#fff;
  background:linear-gradient(135deg,var(--rose),var(--orange));}
.wz-dag.gedaan .wz-nr{background:linear-gradient(135deg,#5CC2A0,#8DD7B0);}
.wz-dag.dicht{opacity:.6; background:#FBF6F7;}
.wz-dag.dicht .wz-nr{background:#E9DDE0; font-size:15px;}
.wz-tekst{min-width:0;}
.wz-tekst b{display:block; font-size:14.5px; line-height:1.25;}
.wz-tekst small{font-size:12px; color:var(--ink-soft);}

/* Oefeningen */
.wz-voortgang{height:8px; border-radius:99px; background:var(--blush); overflow:hidden; margin-bottom:14px;}
.wz-voortgang i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--rose),var(--orange)); transition:width .5s ease;}
.wz-oef h2{font-size:20px; margin:4px 0 14px;}
.wz-oef-teller{font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rose-dark);}
.wz-koppel{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.wz-kolom{display:flex; flex-direction:column; gap:8px;}
.wz-tegel,.wz-optie,.wz-woord{font:inherit; font-weight:700; border:1.5px solid var(--line); background:#fff; color:var(--ink);
  border-radius:14px; padding:12px; cursor:pointer; transition:transform .15s ease, background .2s, border-color .2s;}
.wz-tegel:active,.wz-optie:active,.wz-woord:active{transform:scale(.97);}
.wz-tegel.gekozen{border-color:var(--rose); background:var(--blush);}
.wz-tegel.klaar{border-color:#8DD7B0; background:#EAF8F1; color:#2E8A68; cursor:default;}
.wz-tegel.mis{border-color:var(--rose-dark); background:#FDE8EC; animation:wz-schud .4s;}
@keyframes wz-schud{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.wz-opties{display:grid; gap:8px;}
.wz-optie{text-align:left;}
.wz-optie.goed{border-color:#8DD7B0; background:#EAF8F1;}
.wz-optie.fout{border-color:var(--rose-dark); background:#FDE8EC;}
.wz-optie:disabled{cursor:default;}
.wz-zin{font-size:20px; font-weight:700; line-height:2;}
.wz-invul{font:inherit; font-size:18px; width:9em; max-width:60%; padding:4px 10px; margin:0 4px; border:none; border-bottom:2px solid var(--rose);
  background:var(--blush); border-radius:8px 8px 0 0; text-align:center;}
.wz-invul.goed{border-color:#3FA884; background:#EAF8F1;} .wz-invul.fout{border-color:var(--rose-dark); background:#FDE8EC;}
.wz-vertaling{color:var(--ink-soft); font-size:14px; margin:-6px 0 14px;}
.wz-antwoord{min-height:58px; display:flex; flex-wrap:wrap; gap:8px; padding:10px; border-radius:14px; border:2px dashed var(--line); margin-bottom:12px;}
.wz-antwoord.goed{border-style:solid; border-color:#8DD7B0; background:#EAF8F1;}
.wz-antwoord.fout{border-style:solid; border-color:var(--rose-dark); background:#FDE8EC;}
.wz-stapel{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
.wz-woord{padding:9px 14px;}
.wz-melding{margin-top:16px; padding:14px 16px; border-radius:16px;}
.wz-melding.goed{background:#EAF8F1;} .wz-melding.fout{background:#FFF1EC;}
.wz-melding b{font-size:17px;} .wz-melding p{margin:6px 0 10px; font-size:14.5px;}
.wz-einde{text-align:center;}
.wz-einde-ik{font-size:54px;}
.wz-slot{text-align:center;}

/* Certificaat */
.wz-cert{position:relative; max-width:860px; margin:24px auto; aspect-ratio:297/210; padding:6% 7%; border-radius:18px; overflow:hidden;
  background:radial-gradient(circle at 12% 10%,#FBD9E2 0,rgba(251,217,226,0) 45%),radial-gradient(circle at 90% 92%,#FDE3CF 0,rgba(253,227,207,0) 50%),#FFFBF9;
  box-shadow:0 24px 60px rgba(58,42,46,.16); text-align:center; display:flex; flex-direction:column; justify-content:center; color:var(--ink);}
.wz-cert::before{content:""; position:absolute; inset:14px; border:2px solid var(--blush-deep); border-radius:12px; pointer-events:none;}
.wz-cert img{height:clamp(28px,5vw,46px); margin:0 auto 4%;}
.wz-cert small{font-size:clamp(10px,1.5vw,13px); font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--rose-dark);}
.wz-cert h1{font-size:clamp(24px,5vw,46px); margin:2% 0 1%; letter-spacing:-.02em;}
.wz-cert .naam{font-size:clamp(22px,4.5vw,40px); font-weight:800; margin:2% 0; background:linear-gradient(120deg,#C85D78,#F4914A);
  -webkit-background-clip:text; background-clip:text; color:transparent;}
.wz-cert p{font-size:clamp(11px,1.7vw,15px); color:var(--ink-soft); margin:0 auto; max-width:80%;}
.wz-cert .onder{display:flex; justify-content:space-between; align-items:flex-end; margin-top:6%; font-size:clamp(10px,1.5vw,13px); color:var(--ink-soft);}
.wz-cert .onder b{display:block; color:var(--ink);}
.wz-code{max-width:520px; margin:0 auto 24px; text-align:center;}
.wz-code .code{display:inline-block; font-size:26px; font-weight:800; letter-spacing:.12em; padding:10px 18px; border-radius:14px;
  border:2px dashed var(--rose); background:#fff; margin:8px 0;}
@media print{
  @page{size:A4 landscape; margin:0;}
  body *{visibility:hidden;}
  .wz-cert,.wz-cert *{visibility:visible;}
  .wz-cert{position:fixed; inset:0; margin:0; max-width:none; border-radius:0; box-shadow:none; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
}
@media (max-width:480px){ .wz-koppel{gap:6px;} .wz-tegel{padding:10px 8px; font-size:14px;} }
.wz-meedoen{padding:22px 20px;}
.wz-meedoen .akkoord{display:flex; gap:10px; align-items:flex-start; text-align:left; font-size:14px;}
.wz-meedoen .akkoord input{margin-top:3px; flex:none; width:auto;}  /* niet de 100% van .s-form input */
.wz-oef,.wz-einde,.wz-slot{padding:20px;}
.wz-melding b{display:block;} .wz-melding .s-knop{margin-top:10px;}

.wz-meldingen{display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:20px; background:#fff; border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(183,139,224,.16); margin:6px 0 4px;}
.wz-meldingen[hidden]{display:none;}
.wz-meldingen-ik{font-size:26px;}
.wz-meldingen-tekst{flex:1; min-width:0;}
.wz-meldingen-tekst b{display:block; font-size:15px;}
.wz-meldingen-tekst small{font-size:12.5px; color:var(--ink-soft);}
.wz-meldingen .s-knop{flex:none; padding:10px 16px;}
.wz-meldingen-uitleg{font-size:12.5px; color:var(--ink-soft); text-align:center; margin:4px 0 10px;}
.wz-meldingen-uitleg:empty{display:none;}

/* Woordenlijstje per dag */
.wz-woorden{padding:16px 18px; margin-bottom:16px;}
.wz-woorden summary{cursor:pointer; font-weight:800; font-size:16px;}
.wz-woorden summary small{font-weight:600; color:var(--ink-soft);}
.wz-woorden-uitleg{font-size:12.5px; color:var(--ink-soft); margin:10px 0 6px;}
.wz-woord-rij{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr); gap:8px; padding:8px 0;
  border-top:1px solid var(--line); font-size:14.5px; align-items:baseline;}
.wz-uitspraak{color:var(--rose-dark); font-style:italic;}
.wz-pl{color:var(--ink-soft);}
@media (max-width:480px){ .wz-woord-rij{grid-template-columns:1fr 1fr;} .wz-woord-rij .wz-pl{grid-column:1/-1; margin-top:-4px;} }

/* Certificaatpagina (einde challenge) */
.wz-cert-kop{text-align:center; margin:10px 0 14px;}
.wz-naamform{padding:14px 16px; margin-bottom:14px;}
.wz-naamrij{display:flex; gap:10px; margin-top:6px;}
.wz-naamrij input{flex:1; min-width:0; border:1px solid var(--line); border-radius:12px; padding:10px 12px; font:inherit;}
.wz-cert-knoppen{justify-content:center; margin-top:16px;}
.wz-aftel{font-weight:800; color:var(--rose-dark);}
.wz-einde-banner{text-align:center; padding:18px; margin-bottom:14px;}
.wz-aftelling{text-align:center; font-weight:700; color:var(--rose-dark); margin:4px 0 12px;}

/* 4.1a: rustige kaart naar de cursusmodule na een dag */
.wz-kurs-kaart{display:block;margin:12px 0 4px;padding:12px 14px;border-radius:14px;background:#FFF6F8;border:1px solid #F3D3DB;color:#3A2A2E;text-decoration:none;font-size:15px;line-height:1.4;text-align:left}
.wz-lesnr{font-weight:800;color:#C85D78;margin:6px 0 0}
/* Dagenoverzicht (besluit Naty 25-10-2026): 30 vakjes, op volgorde */
.wz-raster{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0 6px}
.wz-vak{display:grid;place-items:center;aspect-ratio:1;border-radius:14px;font-weight:800;font-size:16px;text-decoration:none;
  background:#fff;border:1px solid var(--line,#F0D9DF);color:var(--ink-soft,#7A5C63)}
.wz-vak.gedaan{background:linear-gradient(135deg,#3FA884,#6CC4A1);border-color:transparent;color:#fff}
.wz-vak.beurt{background:linear-gradient(135deg,#E8879F,#F4914A);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(200,93,120,.35);
  animation:wz-puls 1.8s ease-in-out infinite}
.wz-vak.slot{background:#FFF8F9;font-size:13px}
.wz-vak.dicht{background:#F7F1F2;color:#C9B5BA}
.wz-vak.mini{display:inline-grid;width:22px;height:22px;aspect-ratio:auto;border-radius:7px;font-size:11px;vertical-align:middle;animation:none;box-shadow:none}
.wz-raster-uitleg{font-size:12.5px;color:var(--ink-soft,#7A5C63);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 14px}
@keyframes wz-puls{50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){.wz-vak.beurt{animation:none}}
.wz-dag.beurt{border:2px solid #E8879F}
.wz-dag.slot{opacity:.7}
/* Doorklikken naar de volgende oefening: brede, duidelijke knop */
.wz-melding .s-knop{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;font-size:17px;padding:15px 18px}
.wz-melding .wz-stap{font-size:13px;font-weight:700;opacity:.85}
.wz-volgende-dag{display:block;text-align:left}
.wz-volgende-dag small{display:block;font-weight:600;opacity:.9}
/* Aanmelden tijdens de lopende groep: inhalen kan (28-10-2026) */
.wz-inhaal{margin:4px 0 10px;padding:10px 12px;border-radius:12px;background:#FFF3E8;font-weight:700;font-size:15px;line-height:1.4;text-align:left}
.wz-onder-knop{margin:8px 0 0;font-size:14px;font-weight:600;text-align:center}

/* Certificaat delen (verbeterplan 1.H 5c) */
.wz-cert-lessen{font-weight:700;color:#C85D78;margin-top:-4px}
.wz-pochwal-blok,.s-main > .wz-pochwal-blok{padding:18px 16px;margin:16px 0;text-align:center}
.wz-pochwal-blok h2{margin:0 0 6px}
.wz-deel-knoppen{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.wz-deel-knoppen .s-knop{justify-content:center;text-align:center;min-height:48px;display:flex;align-items:center;width:100%;box-sizing:border-box}
.wz-deel-knoppen #wz-deel{grid-column:1/-1}
.wz-ukryj{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:10px;overflow-wrap:anywhere}
.wz-einde-code{margin:14px 0;padding:14px;border-radius:16px;background:#FFF3E8;display:flex;flex-direction:column;gap:10px;align-items:center}
.wz-einde-code .code{font-size:24px;font-weight:800;letter-spacing:.08em}
.wz-einde-code .s-knop{width:100%;justify-content:center;text-align:center;box-sizing:border-box}
.wz-cert-groot{margin:18px auto 8px;max-width:620px}
.wz-cert-groot img{display:block;width:100%;height:auto;aspect-ratio:1080/1350;border-radius:14px;background:#FFFBF6;
  box-shadow:0 24px 60px rgba(58,42,46,.18),0 4px 14px rgba(58,42,46,.08)}
.wz-geslacht{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px;font-size:14px}
.wz-geslacht label{display:flex;gap:6px;align-items:center}
