/* Kennispagina's (hallo, dank je wel, familie, tellen, zinnen) — SEO-ronde 06-10-2026.
   Zelfde tokens, lettertypen en luisterknop als index.html. */
@font-face{font-family:'Baloo 2';src:url('../fonts/Baloo2-Bold.woff2') format('woff2');font-weight:600 700;font-display:swap}
@font-face{font-family:'Baloo 2';src:url('../fonts/Baloo2-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/PlusJakartaSans-Medium.woff2') format('woff2');font-weight:400 500;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/PlusJakartaSans-Bold.woff2') format('woff2');font-weight:600 700;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/PlusJakartaSans-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}

:root{
  --green:#01623E; --green-dark:#013A25; --green-deep:#012418;
  --gold:#FBB616; --gold-dark:#E09A00; --gold-ledge:#D14E0F; --faya:#E5321B;
  --cream:#FDF8F1; --cream-deep:#F4ECDD; --card:#FFFFFF;
  --ink:#15271D; --ink-soft:#5A6B60; --border:#EAE0CE;
  --mint:#E3F2E9; --mint-line:#9ED3B5; --mint-ink:#12432E;
  --listen:linear-gradient(145deg,#FFC93C 0%,#FBB616 45%,#FF6A1A 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--cream); color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Baloo 2',system-ui,sans-serif; line-height:1.12; color:var(--green-dark); margin:0}
a{color:var(--green)}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.lwrap{max-width:1040px; margin:0 auto; padding:0 20px}

/* NAV */
.lnav{position:sticky; top:0; z-index:20; background:rgba(253,248,241,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--border)}
.lnav .lwrap{display:flex; align-items:center; justify-content:space-between; gap:12px; height:64px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand img{width:34px; height:34px}
.brand span{font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.3rem; color:var(--green-dark)}
.nav-dl{display:inline-flex; align-items:center; min-height:42px; padding:8px 18px; border-radius:999px; background:var(--gold);
  color:var(--ink); font-weight:800; font-size:.92rem; text-decoration:none; box-shadow:0 4px 0 var(--gold-ledge); white-space:nowrap}
.nav-dl:active{transform:translateY(2px); box-shadow:0 2px 0 var(--gold-ledge)}

/* KOP */
.lhead{color:#fff; padding:34px 0 46px;
  background:radial-gradient(120% 140% at 85% 10%, #0a7a4c, var(--green) 45%, var(--green-dark))}
.crumbs{font-size:.85rem; color:rgba(255,255,255,.75)}
.crumbs a{color:rgba(255,255,255,.9)}
.lhead h1{color:#fff; font-size:clamp(2.1rem,6vw,3.3rem); margin:10px 0 10px}
.lhead .lead{font-size:1.12rem; max-width:680px; margin:0; color:rgba(255,255,255,.92)}
.lhead .lead i{font-style:normal; font-weight:800; color:var(--gold)}
.howto{display:flex; align-items:center; gap:12px; margin:20px 0 0; font-size:.95rem; color:rgba(255,255,255,.85)}
.howto .say{width:36px; height:36px; box-shadow:0 3px 0 #C2410C; cursor:default}
.howto .say svg{width:16px; height:16px}

.lmain{padding-top:8px; padding-bottom:56px}
.block{margin-top:44px}
.block > h2{font-size:clamp(1.55rem,3.6vw,2.1rem); margin-bottom:16px}
.subhead{font-size:1.2rem; margin:26px 0 10px}

/* LUISTERKNOP — gelijk aan de app: donker icoon op goud-oranje verloop */
.say{width:46px; height:46px; border-radius:50%; border:0; background:var(--listen); color:var(--green-deep);
  display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
  box-shadow:0 4px 0 #C2410C; transition:transform .12s, box-shadow .12s; padding:0}
.say:hover{transform:translateY(-1px)}
.say:active,.say.playing{transform:translateY(3px); box-shadow:0 1px 0 #C2410C}
.say svg{width:21px; height:21px}
.say .i-stop{display:none}
.say.playing .i-play{display:none}
.say.playing .i-stop{display:block}
.say:focus-visible,.play-all:focus-visible,.nav-dl:focus-visible{outline:3px solid var(--green); outline-offset:3px}

/* WOORDKAARTEN */
.words{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr)); gap:14px}
.wcard{background:var(--card); border:2px solid var(--border); border-radius:22px; box-shadow:0 5px 0 var(--border);
  padding:16px 16px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; align-content:start}
.wcard .sr{grid-column:1; font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.55rem; line-height:1.1; color:var(--ink); overflow-wrap:break-word; hyphens:none}
.wcard .pron{grid-column:1; font-style:italic; font-size:.9rem; color:var(--ink-soft)}
.wcard .say{grid-column:2; grid-row:1 / span 2}
.wcard .nl{grid-column:1 / -1; margin-top:10px; padding-top:10px; border-top:2px dashed var(--border); font-weight:700; color:var(--green-dark)}
.wnote{margin:14px 0 0; padding:12px 16px; border-left:4px solid var(--gold); background:var(--card); border-radius:0 14px 14px 0; color:var(--ink-soft); font-size:.95rem}
.wnote b{color:var(--ink)}
.is-playing{border-color:var(--gold) !important; box-shadow:0 5px 0 var(--gold-dark) !important}

/* ZINNEN */
.zinnen{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr)); gap:12px}
.zrow{display:flex; align-items:center; gap:14px; background:var(--card); border:2px solid var(--border); border-radius:20px;
  box-shadow:0 4px 0 var(--border); padding:14px 14px 14px 18px}
.ztext{flex:1; min-width:0; display:flex; flex-direction:column}
.zrow .sr,.bubble .sr{font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.28rem; line-height:1.2; color:var(--ink); overflow-wrap:anywhere}
.zrow .nl,.bubble .nl{font-weight:700; color:var(--green-dark); font-size:.98rem}
.zrow .pron{font-style:italic; font-size:.86rem; color:var(--ink-soft)}

/* TIP */
.tip{margin-top:18px; background:var(--mint); border:2px solid var(--mint-line); border-radius:22px; padding:18px 20px}
.tip-label{display:inline-block; background:var(--green); color:#fff; font-weight:800; font-size:.75rem; letter-spacing:.08em;
  text-transform:uppercase; border-radius:999px; padding:3px 12px}
.tip h3{font-size:1.2rem; margin:10px 0 4px; color:var(--mint-ink)}
.tip p{margin:0; color:var(--mint-ink)}
.tip-ex{margin-top:10px !important; display:flex; flex-wrap:wrap; gap:4px 14px; font-weight:700}
.tip-ex-nl{font-weight:500}

/* DIALOOG */
.dialog{background:var(--cream-deep); border-radius:26px; padding:20px}
.dialog-title{margin:0 0 12px; font-weight:800; color:var(--green-dark)}
.bubbles{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.bubble{display:flex; align-items:center; gap:12px; max-width:min(560px,100%); background:var(--card); border:2px solid var(--border);
  border-radius:20px 20px 20px 6px; padding:10px 12px 10px 14px; flex-wrap:wrap}
.bubble.b{align-self:flex-end; border-radius:20px 20px 6px 20px; background:#FFF7E2}
.bubble .who{width:100%; font-size:.78rem; font-weight:800; letter-spacing:.04em; color:var(--ink-soft)}
.btext{flex:1; min-width:0; display:flex; flex-direction:column}
.play-all{margin-top:14px; display:inline-flex; align-items:center; gap:10px; min-height:46px; padding:8px 18px 8px 8px; border-radius:999px;
  border:2px solid var(--border); background:var(--card); font:inherit; font-weight:800; color:var(--green-dark); cursor:pointer}
.play-all svg{width:30px; height:30px; padding:6px; border-radius:50%; background:var(--listen); color:var(--green-deep)}
.play-all .i-stop{display:none}
.play-all.playing .i-play{display:none}
.play-all.playing .i-stop{display:block}

/* REEKSEN */
.pattern{width:100%; border-collapse:separate; border-spacing:0; background:var(--card); border:2px solid var(--border); border-radius:18px; overflow:hidden}
.pattern th,.pattern td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--border); vertical-align:top}
.pattern th{font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); background:var(--cream)}
.pattern td:first-child{font-weight:800; color:var(--ink); overflow-wrap:anywhere}
.pattern tr:last-child td{border-bottom:0}

/* CTA */
.cta{margin-top:56px; background:var(--green-dark); color:#fff; border-radius:28px; padding:28px 24px;
  display:grid; grid-template-columns:minmax(0,1.3fr) auto; gap:20px 32px; align-items:center}
.cta h2{color:#fff; font-size:clamp(1.6rem,3.6vw,2.1rem)}
.cta p{margin:8px 0 0; color:rgba(255,255,255,.85)}
.store-row{display:flex; gap:12px; flex-wrap:wrap}
.store-badge{display:inline-flex; align-items:center; min-height:54px; border-radius:10px}
.store-badge img{display:block; height:54px; width:auto}
.store-badge.soon{padding:0 18px; border:1.5px dashed rgba(255,255,255,.45); color:rgba(255,255,255,.85); font-weight:700; text-decoration:none; font-size:.92rem}

/* FAQ */
.faq details{background:var(--card); border:1px solid var(--border); border-radius:18px; padding:4px 20px; margin-bottom:10px}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:14px 0; font-weight:800; color:var(--green-dark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:'Baloo 2',system-ui,sans-serif; font-size:1.6rem; line-height:1; color:var(--faya); flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px; color:var(--ink-soft)}
.faq details i{font-style:normal; font-weight:800; color:var(--ink)}

/* GERELATEERD */
.related{margin-top:44px}
.related h2{font-size:1.4rem; margin-bottom:12px}
.related ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.related a{display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border-radius:999px; background:var(--card);
  border:2px solid var(--border); font-weight:700; color:var(--green-dark); text-decoration:none}
.related a:hover{border-color:var(--green)}

/* FOOTER */
.lfoot{background:var(--green-deep); color:rgba(255,255,255,.75); padding:40px 0 28px; font-size:.92rem}
.lfoot .brand span{color:#fff}
.fcols{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px}
.fcols p{margin:10px 0 0}
.flinks{display:flex; flex-direction:column; gap:6px}
.flinks .fhead{margin:0 0 4px; font-weight:800; color:#fff}
.flinks a{color:rgba(255,255,255,.82); text-decoration:none; padding:2px 0}
.flinks a:hover{color:var(--gold)}
.lfoot .copy{margin:26px 0 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); font-size:.82rem; color:rgba(255,255,255,.55)}

/* PIJLERPAGINA (Surinaams leren) — ronde 2, 12-10-2026 */
.para{max-width:68ch; margin:0; font-size:1.05rem; color:var(--ink)}
.bullets{max-width:68ch; margin:0; padding-left:1.2rem; display:grid; gap:8px; font-size:1.02rem}
.topics{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:12px}
.topics a{display:flex; flex-direction:column; gap:4px; height:100%; padding:16px 18px; background:var(--card); border:2px solid var(--border);
  border-radius:20px; box-shadow:0 4px 0 var(--border); text-decoration:none; transition:border-color .15s, transform .12s}
.topics a:hover{border-color:var(--green)}
.topics a:active{transform:translateY(2px)}
.topics a:focus-visible{outline:3px solid var(--green); outline-offset:3px}
.t-name{font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.2rem; color:var(--green-dark)}
.t-desc{color:var(--ink-soft); font-size:.95rem}

@media(max-width:760px){
  .cta{grid-template-columns:1fr}
  .fcols{grid-template-columns:1fr}
}
@media(max-width:420px){
  .lwrap{padding:0 16px}
  .brand span{font-size:1.15rem}
  .nav-dl{padding:8px 14px; font-size:.86rem}
  .dialog{padding:14px}
}
@media(prefers-reduced-motion:reduce){ *{transition:none !important} }
@media(max-width:600px){
  .words{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
  /* smalle kaart: woord over de volle breedte, knop naast de uitspraak */
  .wcard{padding:14px 14px 12px}
  .wcard .sr{grid-column:1 / -1; font-size:1.32rem}
  .wcard .pron{grid-row:2; align-self:center}
  .wcard .say{grid-column:2; grid-row:2; width:42px; height:42px; margin-top:4px}
}
