/* ===== PALET & VARS ===== */
:root{
  --ink:#7B615C;       /* 123,97,92 */
  --plum:#453841;      /* 69,56,65 */
  --menu:#99BEC0;      /* 69,56,65 */
  --linkhover:#99BEC0;      /* 69,56,65 */
  --white:#FFFFFF;
  --copper:#A47666;    /* 164,118,102 */
  --sand:#BA9B85;      /* 186,155,133 */
  --berry:#734C68;     /* 115,76,104 */
  --mist:#C5D4D6;      /* 197,212,214 */
  --paper:#DFCCAD;     /* 223,204,173 */

  --text:#555;      /* algemene tekstkleur */
  --muted:#6a6a6a;

  --h1:#FFFFFF;        /* h1 wit */
  --h2:#734C68;        /* h2 paars (oude h1) */
  --h3:#99BEC0;        /* h3 blauw (oude h2) */

  --radius:14px;
  --shadow:0 10px 28px rgba(0,0,0,.08);
  --max:1100px;
}

:root{
  /* ... jouw vars ... */
  --headerH: 64px; /* hoogte sticky header */
}

#lang-switch {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 9999999;
}

/* Respecteert ‘prefers-reduced-motion’ */
@media (prefers-reduced-motion: no-preference){
  html{
    scroll-behavior: smooth;
    /* compenseer sticky header bij ankernavigatie */
    scroll-padding-top: var(--headerH);
  }
}

/* Extra zekerheid: elke sectie krijgt marge tov header */
section[id]{
  scroll-margin-top: var(--headerH);
}


/* ===== RESET/BASIS ===== */
*{box-sizing:border-box}
html,body{margin:0;padding:0; scroll-behavior: smooth;}
body{
  font-size:19px; font-family:"Quicksand", Roboto, Helvetica, Arial;
  color:var(--text); background:#fff;
  overflow-x: hidden;
}

.container{width:min(var(--max),92vw); margin-inline:auto}
.narrow{width:min(1100px,92vw); margin-inline:auto}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}
.h-center{text-align:center}

h1,h2,h3{
	
font-family:"Quicksand", Roboto, Helvetica, Arial; 
margin:0 0 10px}
h1{color:#DFCCAD; font-size:clamp(32px,4.6vw,45px)}
h2{color:var(--h2); font-size:clamp(40px,3.2vw,45px);}
h3{
	color:var(--h3); font-size:26px;
}


a{
	color:#ffffff;
}
a:hover{
	color:var(--linkhover);
}


/* ===== NAV ===== */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.1) blur(8px);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand {
	font-weight: 700;
	letter-spacing: .3px;
	color: var(--h2);
	font-size: 44px;
}
.menu{display:flex; gap:18px}
.menu a{color:var(--menu); text-decoration:none; font-weight:600}
.menu a:hover{color:var(--berry)}


/* Mooie hamburger: clean, animatie naar X */
:root{
  --burger-color: var(--berry); /* of var(--plum) / var(--menu) */
}

.burger{
  display:none;
  width:44px; height:44px;
  border:0; background:transparent; padding:0; cursor:pointer;
  position:relative; border-radius:10px;
}

.burger:focus-visible{
  outline:2px solid var(--menu);
  outline-offset:3px;
}

.burger .bar{
  position:absolute; left:50%; top:50%;
  width:24px; height:2px; background:var(--burger-color);
  border-radius:2px; transform-origin:50% 50%;
  transition:transform .28s ease, opacity .2s ease, background-color .2s ease;
}

/* plaats de 3 strepen */
.burger .bar:nth-child(1){ transform:translate(-50%, calc(-50% - 7px)); }
.burger .bar:nth-child(2){ transform:translate(-50%, -50%); }
.burger .bar:nth-child(3){ transform:translate(-50%, calc(-50% + 7px)); }

/* open state -> X */
.burger.is-open .bar:nth-child(1){
  transform:translate(-50%, -50%) rotate(45deg);
}
.burger.is-open .bar:nth-child(2){
  opacity:0;
}
.burger.is-open .bar:nth-child(3){
  transform:translate(-50%, -50%) rotate(-45deg);
}

/* kleurvariant in lichte/donkere stroken, optioneel */
.site-header .burger .bar{ background:var(--burger-color); }

/* menu popup positioning fix (zorgt dat 'absolute' menu een referentie heeft) */
.nav-row{ position:relative; }

@media (max-width:800px){
  .burger{ display:inline-flex; }
  .menu{
    position:absolute; right:4vw; top:60px;
    flex-direction:column; gap:10px;
    background:#fff; border:1px solid rgba(0,0,0,.08);
    border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.12);
    padding:12px; display:none; z-index:1000;
  }
  .menu.open{ display:flex; }
}

/* reduce motion respect */
@media (prefers-reduced-motion: reduce){
  .burger .bar{ transition:none; }
}



/* ===== HERO ===== */
.hero{
  min-height:50vh; display:flex; align-items:center; position:relative;
  background: top/cover no-repeat url('img/hero.jpg');
}
.hero::after{
  content:""; position:absolute; inset:0;
  /* super subtiele overlay – max ~5% verschil */
  background:linear-gradient(0deg, rgba(69,56,65,0.05), rgba(69,56,65,0.00));
}
.hero .container{position:relative; z-index:1; padding:40px 0}
.hero p{font:16px/1.6 "Quicksand", system-ui; font-size:clamp(16px,2.1vw,22px);
        max-width:700px; margin:0 0 18px; color:#ffffff; text-shadow:0 1px 1px rgba(0,0,0,.25)}
.cta-row{display:flex; gap:12px; flex-wrap:wrap}

/* ===== BUTTONS ===== */
.btn{
  appearance:none; cursor:pointer; border-radius:12px; padding:.7rem 1rem;
  font-weight:800; letter-spacing:.2px; border:1px solid transparent; text-decoration:none; display:inline-flex; align-items:center; justify-content:center
}
.btn-primary {
	background: #99BEC0;
	color: #fff;
	margin-bottom: 10px;
}
.btn-primary:hover{filter:brightness(1.05); color: #fff;}
.btn-ghost{background:#ffffff; color:var(--plum); border:1px solid rgba(0,0,0,.12); margin-bottom: 10px;}
.btn-ghost:hover{background:#f8f8f8}

.btn-top1{
	padding: 15px 10px;
}
.btn-top2{
	padding: 10px 10px;
}
/* ===== SECTIONS ===== */
.section{padding:50px 0; background:#fff}
.p, li{color:var(--text)}
.muted{color:var(--muted)}
.light{opacity:.92}

strong {
	color: var(--menu);
}

#uitleg strong {
	color: #BA9B85;
}

label {
  color: var(--text) !important;
}
.leescontainer {
  background: rgba(255,255,255,0.2);
  border-radius: 12px;
  padding: 20px 40px;
}
.container.leescontainer h3 {
	color: #fff;
}
#converter {
	padding: 64px 0 64px !important;
}

/* Intro (wit) */
.section-intro{background:#ffffff}

/* Info-blokken strook (gekleurde achtergrond, witte sectietekst) */
.section-info{
  background:linear-gradient(180deg, #BA9B85, #BC9D87); /* ≤5% */
  color:#fff;
}
.section-info h2, .section-info p, .section-info li{color:var(--white);}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
@media (max-width:900px){ .grid-3{grid-template-columns:1fr} }
/* Cards binnen gekleurde strook: normale tekstkleur en center */
.section-info .card{
  text-align:center;
  background:#9f826d; color:var(--white);
  border:0; border-radius:var(--radius); box-shadow:var(--shadow); padding:18px
}
.section-info .card h3{color:var(--white);} /* blauw voor h3 */


.card img {
	background: rgba(255,255,255,0.2);
	border-radius: 999px;
	padding: 29px;
	width: 145px !important;
	margin-bottom: 20px;
}


/* Uitleg/voorbeelden strook (gekleurde achtergrond, witte sectietekst) */
.section-read{
  background:linear-gradient(180deg, #DFCCAD, #E1CEAF); /* ≤5% */
  color:#fff;
}
.section-read h2, .section-read p, .section-read li{color:#fff}
.split{display:grid; gap:26px; grid-template-columns:1fr 1fr}
@media (max-width:900px){ .split{grid-template-columns:1fr} }

/* Toolstrook: Converter (gekleurde bg, witte sectietekst) */
.section-converter{
  background:linear-gradient(180deg, #C5D4D6, #C7D6D8); /* ≤5% */
  color:#fff;
}
.section-converter h2, .section-converter p, .section-converter label{color:#fff;}
.tool-grid{background:#fff; border:none; border-radius:12px; padding:18px; box-shadow:var(--shadow); color:var(--text)}

.tool-grid label {
	font-size: 16px;
}


.form-row{display:flex; align-items:center; gap:12px; margin:12px 0}
.form-row label{min-width:140px; font-weight:700}
.form-row input[type="text"], #decInput, #t230Input, #expr{
  flex:1; padding:.7rem .8rem; border-radius:12px; border:1px solid #dcdcdc; outline:none; background:#fff; color:#222;
}
.form-row input:focus{border-color:var(--copper); box-shadow:0 0 0 4px rgba(164,118,102,.15)}
.switch{display:inline-flex; align-items:center; gap:.55rem}
.switch input{transform:translateY(1px)}

/* Toolstrook: Rekenmachine */
.section-calc{
  background:linear-gradient(180deg, #7B615C, #7D635E); /* ≤5% */
  color:#fff;
}
.section-calc h2, .section-calc p, .section-calc label{color:#fff}
.seg{display:flex; gap:16px}
.err{color:#ffdde6; font-weight:700}
.results{margin-top:8px; display:grid; gap:6px}

/* Toolstrook: Sandbox */
.section-sandbox{
  background:linear-gradient(180deg, #734C68, #754E6A); /* ≤5% */
  color:#fff;
}
.section-sandbox h2, .section-sandbox p, .section-sandbox label{color:#fff}
#typeArea{
  width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid #dcdcdc; outline:none; background:#fff; color:#222; font-family:var(--mono);
}


@media (max-width:900px){

body{
  font-size:26px; 
  line-height:40px;
}	

.hero p {
  font-size:26px; 
  line-height:32px;
}
.seg {
	flex: none;
	display: block;
}

.form-row label {
	min-width: 100%;
	font-weight: 700;
	float: left;
}

.form-row {
	display: block;

}

.switch {

	width: 100% !important;
	display: block;
}

	
}


/* ===== FOOTER ===== */
.site-footer{
  padding:36px 0;
  background:#333;      /* bg = tekstkleur */
  color:#d7d7d7;               /* lichtgrijs */
  border-top:0;
  margin-top:0;
}
.footer-inner{display:grid; gap:8px}
.footer-inner a{color:#e6e6e6; text-decoration:none}
.footer-inner small{color:#d7d7d7}


/* voorkom iOS focus-zoom door inputs ≥16px te maken */
@media (max-width: 800px){
	
	h3{
	font-size:36px;
}

  input, select, textarea, button {
    font-size: 26px; /* voorkom auto-zoom */
    line-height: 1.4;
  }
}

/* Safari/iOS nuance */
@supports (-webkit-touch-callout: none) {
  input, select, textarea { font-size: 26px; }
}

/* hou tekstschaal stabiel */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }


/* Zorg dat de absolute .menu zich positioneert tov de header-row */
.nav-row { position: relative; }

/* Mobiel: menu is popover rechtsboven, boven alles zichtbaar */
@media (max-width:800px){
.menu {
	position: absolute;
	right: 4vw;
	top: 60px;
	flex-direction: column;
	gap: 10px;
	background: #fff;
	border: none;
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(0,0,0,.12);
	padding: 12px;
	display: none;
	z-index: 1000;
	width: 84vw;
	text-align: right;
	font-size: 39px;
	line-height: 66px;
}
  .menu.open{ display:flex; }
  .burger{ display:inline-flex; }
}


