/* ============================================================================================
   basis.css : de centrale tekst- en bedieningsmaten van het hele portaal (8 oktober 2026)
   Bron: docs/OPERATIONELE-BASIS.md, Uniform lettertype en touchbediening. Eén lettertype, één basisgrootte van 16 CSS pixels voor gewone tekst, labels, tabelgegevens, knoppen, navigatie, invoer,
   keuzelijsten en opties; bloktitels vallen op door gewicht en structuur, niet door een kleine of hoofdletter variant. De grootte staat in rem, zodat de tekstvergroting van het toestel of de
   browser meewerkt. Dit bestand komt als laatste en wint van lokale stijlen op de elementen waar het om gaat (daarom !important bij bediening en tabellen).
   De app (apps/mobile) leest dezelfde waarden uit apps/mobile/src/thema.js: tekst 16, regelhoogte 1,45, tikgebied 44.
   Uitzonderingen, bewust: het woordmerk NIVOMIX (Syncopate), de kaart (Leaflet) en grafieklabels in SVG.
   Meten: toetsen/lettertypeaudit.js (alle schermen) en toetsen/lettertypeschermtoets.js (echte handelingen).
   ============================================================================================ */
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--nx-lettertype);font-size:var(--nx-tekst);line-height:var(--nx-regelhoogte);font-variant-numeric:tabular-nums}
.nx{font-family:var(--nx-lettertype);font-size:var(--nx-tekst);line-height:var(--nx-regelhoogte)}

/* bediening en tabellen: altijd de basisgrootte, ook als een scherm lokaal iets anders zet */
html body :is(button,input,select,textarea,option,optgroup,label,summary,td,th,.btn,.kbtn,[role=button],[role=option],[role=tab],[role=menuitem],.tabs button,.zkrij,.zkveld,.zkvol,.pill,.dchip,.ref,header nav a,header .takkies button){
  font-family:var(--nx-lettertype) !important;font-size:var(--nx-tekst) !important;line-height:var(--nx-regelhoogte)}
/* bijschriften en kleine koppen zijn geen kleinere letter: ze verschillen door kleur en gewicht */
html body :is(small,.small,.muted,.sub,.hint,.eyebrow,.kpi-label,.kpi .l,.versie,h4,h5,h6,.oplijst.kop,.nxb-meta,.nxb-samenvatting){font-size:var(--nx-tekst) !important}
html body :is(th,.kpi .l,.eyebrow,.kpi-label,.oplijst.kop,h4,h5,h6){text-transform:none;letter-spacing:0}
html body h2{letter-spacing:0;text-transform:none}
html body :is(h1,h2,h3,h4,h5,h6){line-height:1.3}
/* cijfers en codes in het ene lettertype, wel met gelijke cijferbreedte */
html body :is(td,th,.num,.r,.ref,.pill){font-variant-numeric:tabular-nums}

/* tikgebieden: blok sluiten, inklappen en verplaatsen, menu, datumkiezer en kleine acties in tabellen (minstens 44 bij 44) */
.nxb-balk button,.nxb-acties button,.nxb-toggle,.paneeltoggle{min-height:var(--nx-raak)}
.nxb-acties button{min-width:var(--nx-raak)}
[data-mb] .btn.klein,[data-mb] button.klein{min-height:var(--nx-raak)}
[data-mb] details>summary{min-height:var(--nx-raak);padding-block:10px;box-sizing:border-box}
@media (pointer:coarse),(max-width:900px){
  td button,td .btn,td .kbtn,td select,td input:not([type=checkbox]):not([type=radio]),th button{min-height:var(--nx-raak)}
  input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{min-height:var(--nx-raak)}
}

/* code, toetsaanslagen en vaste tekst: ook in het ene lettertype */
html body :is(code,kbd,pre,samp){font-family:var(--nx-lettertype) !important;font-size:var(--nx-tekst) !important}
