/* Namibia Explorer – gedeelde stijl */
:root{
  --zand:#fff4de; --zand2:#ffe7bd; --oranje:#e8702a; --oranje-d:#b8501a;
  --rood:#c8402b; --blauw:#1d7fb5; --blauw-d:#0f4f75; --groen:#3f8f4f; --groen-d:#2a6a37;
  --geel:#ffc93c; --tekst:#2b2118; --tekst2:#5c4a3a; --wit:#fff;
  --kaart:#ffffff; --rand:#f0d9ae; --schaduw:0 6px 0 rgba(120,70,20,.15), 0 12px 24px rgba(120,70,20,.12);
  --r:22px;
}
@media (prefers-color-scheme:dark){
  :root{--zand:#2a1f16; --zand2:#3a2b1d; --kaart:#3a2c20; --tekst:#fff2dd; --tekst2:#e2cfb4; --rand:#5a4330;
    --schaduw:0 6px 0 rgba(0,0,0,.35), 0 12px 24px rgba(0,0,0,.3); --oranje-d:#ff9b5c; --blauw-d:#8fd0f2; --groen-d:#8ad39a}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;font-size:18px;line-height:1.6;color:var(--tekst);background:var(--zand)}
h1,h2,h3{font-family:"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,6vw,3.6rem)} h2{font-size:clamp(1.6rem,4vw,2.4rem)} h3{font-size:1.3rem}
p{margin:0 0 1em}
a{color:var(--blauw-d)}
img,svg{max-width:100%}
.container{width:min(1100px,100% - 2rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--geel);color:#000;padding:.6rem 1rem;z-index:100;border-radius:0 0 12px 0}
.skip:focus{left:0}
:focus-visible{outline:4px solid var(--blauw);outline-offset:3px;border-radius:6px}

/* Header */
.site-header{background:var(--oranje);position:sticky;top:0;z-index:50;box-shadow:0 3px 0 rgba(0,0,0,.15)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0}
.logo{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:900;font-size:1.3rem;font-family:"Arial Rounded MT Bold","Trebuchet MS",sans-serif}
.logo span.sun{font-size:1.8rem}
nav ul{list-style:none;display:flex;gap:.3rem;margin:0;padding:0}
nav a{display:block;color:#fff;text-decoration:none;font-weight:700;padding:.45rem .9rem;border-radius:999px}
nav a:hover{background:rgba(255,255,255,.22)}
nav a[aria-current="page"]{background:#fff;color:var(--oranje-d)}
.menu-btn{display:none;background:#fff;color:var(--oranje-d);border:0;border-radius:12px;font:inherit;font-weight:800;padding:.5rem .9rem;cursor:pointer}
@media(max-width:820px){
  .menu-btn{display:block}
  nav{position:absolute;left:0;right:0;top:100%;background:var(--oranje);display:none;padding:.5rem 1rem 1rem}
  nav.open{display:block}
  nav ul{flex-direction:column}
}

/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding:4.5rem 0 7rem;
  background:linear-gradient(180deg,#2b8fd0 0%,#8fd3f0 45%,#ffd58a 75%,#f2a24a 100%)}
.hero .sunball{position:absolute;right:12%;top:2.5rem;width:90px;height:90px;border-radius:50%;background:#fff3a8;box-shadow:0 0 60px 20px rgba(255,240,150,.7)}
.hero h1{text-shadow:0 4px 0 rgba(0,0,0,.2);position:relative}
.hero p.lead{font-size:1.3rem;max-width:36ch;margin:0 auto 1.5rem;text-shadow:0 2px 0 rgba(0,0,0,.2);position:relative}
.dunes{position:absolute;bottom:-1px;left:0;width:100%;height:110px}
.page-hero{padding:3rem 0 5.5rem}
.page-hero .emoji-big{font-size:4rem;display:block;position:relative}

/* Buttons */
.btn{display:inline-block;background:var(--geel);color:#3a2500;font:inherit;font-weight:800;text-decoration:none;border:0;
  padding:.8rem 1.5rem;border-radius:999px;cursor:pointer;box-shadow:0 5px 0 #c99200;transition:transform .1s}
.btn:hover{transform:translateY(-2px)} .btn:active{transform:translateY(3px);box-shadow:0 2px 0 #c99200}
.btn.blauw{background:var(--blauw);color:#fff;box-shadow:0 5px 0 var(--blauw-d)}
.btn.groen{background:var(--groen);color:#fff;box-shadow:0 5px 0 var(--groen-d)}

/* Secties */
section{padding:3rem 0}
.sectie-titel{text-align:center;margin-bottom:2rem}
.sectie-titel p{color:var(--tekst2);max-width:55ch;margin-inline:auto}
.band{background:var(--zand2)}
.grid{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.kaart{background:var(--kaart);border:3px solid var(--rand);border-radius:var(--r);padding:1.3rem;box-shadow:var(--schaduw)}
.kaart .icoon{font-size:2.6rem;display:block;margin-bottom:.3rem}
a.kaart{text-decoration:none;color:inherit;display:block;transition:transform .15s}
a.kaart:hover{transform:translateY(-5px) rotate(-.6deg)}
a.kaart h3{color:var(--oranje-d)}

/* Feiten-teller */
.feiten{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}
.feit{background:var(--kaart);border:3px solid var(--rand);border-radius:var(--r);padding:1.2rem}
.feit .getal{font-size:2.4rem;font-weight:900;color:var(--oranje-d);font-family:"Arial Rounded MT Bold",sans-serif}
.feit small{color:var(--tekst2);display:block}

/* Wist je dat */
.wist{background:var(--blauw);color:#fff;border-radius:var(--r);padding:2rem;text-align:center;box-shadow:0 8px 0 var(--blauw-d)}
.wist h2{color:#fff}
.wist #wist-tekst{font-size:1.3rem;min-height:4.5em;display:flex;align-items:center;justify-content:center}

/* Vlag */
.vlag{width:min(320px,100%);border-radius:12px;box-shadow:var(--schaduw);border:3px solid #fff}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2rem}
.chip{font:inherit;font-weight:700;border:3px solid var(--rand);background:var(--kaart);color:var(--tekst);padding:.4rem 1rem;border-radius:999px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--oranje);border-color:var(--oranje-d);color:#fff}

/* Dierenkaarten (draaien) */
.dier{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;perspective:900px;min-height:300px;width:100%}
.dier .binnen{position:relative;width:100%;height:100%;min-height:300px;transition:transform .6s;transform-style:preserve-3d}
.dier[aria-pressed="true"] .binnen{transform:rotateY(180deg)}
.dier .voor,.dier .achter{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--r);padding:1.2rem;border:3px solid var(--rand);box-shadow:var(--schaduw);display:flex;flex-direction:column;justify-content:center}
.dier .voor{background:var(--kaart);align-items:center;text-align:center}
.dier .voor .em{font-size:5rem;line-height:1.1}
.dier .voor .naam{font-size:1.4rem;font-weight:900;font-family:"Arial Rounded MT Bold",sans-serif}
.dier .voor .tip{font-size:.85rem;color:var(--tekst2)}
.dier .achter{background:var(--groen);color:#fff;transform:rotateY(180deg);font-size:.98rem;line-height:1.45;border-color:var(--groen-d)}
.dier .achter b{color:var(--geel)}
.tag{display:inline-block;background:var(--zand2);border-radius:999px;padding:0 .7rem;font-size:.8rem;font-weight:700;margin-top:.4rem;color:var(--tekst)}

/* Ontdek: kaart */
.kaartbox{position:relative;background:linear-gradient(180deg,#bfe6f7,#bfe6f7 0%);border:3px solid var(--rand);border-radius:var(--r);box-shadow:var(--schaduw);padding:1rem;overflow:hidden}
.kaartbox svg{display:block;width:100%;height:auto;max-height:620px}
.pin{cursor:pointer}
.pin circle{fill:var(--rood);stroke:#fff;stroke-width:3;transition:r .15s}
.pin:hover circle,.pin:focus circle,.pin.actief circle{r:16;fill:var(--geel);stroke:var(--rood)}
.pin text{font-size:15px;font-weight:800;fill:#3a2500;paint-order:stroke;stroke:#fff;stroke-width:4px;pointer-events:none}
.infokaart{background:var(--kaart);border:3px solid var(--rand);border-radius:var(--r);padding:1.5rem;box-shadow:var(--schaduw)}
.twee{display:grid;gap:1.5rem;grid-template-columns:1.2fr 1fr;align-items:start}
@media(max-width:820px){.twee{grid-template-columns:1fr}}
.plaats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
details.plaatsd{background:var(--kaart);border:3px solid var(--rand);border-radius:var(--r);padding:.2rem 1.2rem;box-shadow:var(--schaduw)}
details.plaatsd summary{cursor:pointer;font-weight:900;font-size:1.2rem;padding:.8rem 0;list-style:none}
details.plaatsd summary::-webkit-details-marker{display:none}
details.plaatsd summary::before{content:"▶ ";color:var(--oranje);font-size:.8em}
details[open].plaatsd summary::before{content:"▼ "}

/* Cultuur */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}
.tab-paneel{display:none}.tab-paneel.actief{display:block}
.kleurrand{border-left:10px solid var(--oranje)}
.taalgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.woord{background:var(--zand2);border-radius:16px;padding:1rem;text-align:center}
.woord b{display:block;font-size:1.4rem;color:var(--oranje-d)}
.spreek{font-size:.85rem;color:var(--tekst2)}

/* Quiz */
.quiz{max-width:760px;margin:auto}
.voortgang{height:16px;border-radius:99px;background:var(--zand2);overflow:hidden;border:2px solid var(--rand);margin-bottom:1rem}
.voortgang div{height:100%;background:var(--groen);width:0;transition:width .4s}
.antwoorden{display:grid;gap:.8rem;margin:1.2rem 0}
.antw{font:inherit;font-weight:700;text-align:left;background:var(--kaart);color:var(--tekst);border:3px solid var(--rand);border-radius:16px;padding:.9rem 1.1rem;cursor:pointer;box-shadow:0 4px 0 var(--rand)}
.antw:hover:not(:disabled){border-color:var(--blauw)}
.antw.goed{background:#c9f1cf;border-color:var(--groen);color:#14421f}
.antw.fout{background:#ffd3cc;border-color:var(--rood);color:#6a1a0f}
.uitleg{background:var(--zand2);border-radius:16px;padding:1rem;margin-bottom:1rem}
.score-groot{font-size:4rem;font-weight:900;color:var(--oranje-d);text-align:center;font-family:"Arial Rounded MT Bold",sans-serif}
.verborgen{display:none!important}

/* Footer */
footer{background:var(--blauw-d);color:#fff;padding:2rem 0;text-align:center;margin-top:2rem}
footer a{color:var(--geel)}
footer small{opacity:.85}

/* Beweging */
.zweef{animation:zweef 4s ease-in-out infinite;display:inline-block}
@keyframes zweef{50%{transform:translateY(-10px) rotate(3deg)}}
.confetti{position:fixed;top:-20px;font-size:1.6rem;pointer-events:none;z-index:200;animation:val 3s linear forwards}
@keyframes val{to{transform:translateY(110vh) rotate(540deg);opacity:.8}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
