/* ==========================================================================
   Funna — theme.css

   Dit bestand bevat nog één regel: de box-sizing-reset. Dat is het enige dat
   hier hoort, omdat het nergens anders kan — `theme.json` kan geen universele
   selector uitdrukken.

   Let op wat box-sizing hier wél en níet is. Core zet `border-box` gericht op
   77 plekken in block-library/style.css, allemaal op specifieke blok-classes,
   en heeft geen universele regel; Twenty Twenty-Four en Twenty Twenty-Five
   verschepen daarom nul CSS. Wat de reset hier in leven houdt is ons eigen
   blok: `blocks/orbital-hub/style.css` combineert op ~10 plekken padding met
   width/max-width/aspect-ratio en gaat uit van border-box. Deze regel is dus
   een orbital-hub-afhankelijkheid, geen fundament — verdwijnt dat blok, dan
   is dit bestand leeg. (Gemeten 4.4.0 tegen WP 7.0.2 + Gutenberg 23.6.2.)

   Wat er in 4.4.0 uit is gegaan, en waarom (gemeten):

   - `margin: 0` en `padding: 0` uit diezelfde universele regel. Ze vochten met
     core's layout-motor op gelijke specificiteit. Core's root-blockGap is
     `:where(.wp-site-blocks) > * { margin-block-start: 24px }` — specificiteit
     0,0,0, precies als `*`. Wie later print, wint.

     En dat wisselt echt per pagina. Gemeten op nilzorgsupport.nl, 8 pagina's,
     cache-bustend: op de 3 pagina's mét een block style variation print
     `global-styles` vóór `funna-theme` en wint core (geen band); op de 5
     zonder wordt `global-styles` laat geprint en ná `funna-theme` gehoist en
     wint onze reset (band weg). Perfecte correlatie, stabiel over herhaalde
     fetches — dus geen cache-artefact maar contentafhankelijke printvolgorde.

     De reset weghalen maakt de volgorde irrelevant in plaats van hem te
     forceren. `funna-theme` aan `global-styles` hangen als dependency zou het
     omgekeerde doen: onze `margin: 0` altijd laten winnen en site-breed álle
     root-blockgaps wissen. Bovendien is `global-styles` core's handle
     (`wp_register_style('global-styles', false)`), niet de onze.

     Wat core zelf al doet: `:where(body) { margin: 0 }`, en flow-layout zet
     `margin-block-start: gap; margin-block-end: 0` op elke layoutcontainer-
     child. UA-marges zijn dus al beheerd. Wat core níet reset is
     `ul`/`ol` `padding-inline-start` — lijstinspringing komt met deze
     wijziging terug, en dat is de native default.

   Wat er in 3.2.0 uit is gegaan, en waarom (gemeten, niet aangenomen):

   - `img, video { max-width:100%; height:auto; display:block }` — core's
     block-library zet dit al op een kále `img`-selector, één variant zelfs met
     !important. Voor `video` was het erger dan overbodig: core zet daar
     `max-width:unset; width:100%` om video z'n container te laten vullen, en
     onze regel laadde later en overschreef dat. We vochten met core.

   - De focus-ring (`*:focus-visible { outline: 2px solid currentColor }`).
     currentColor betekent: op gedempte tekst een gedempte ring. Moderne
     browsers tekenen een `:focus-visible`-ring die juist ontworpen is om op
     elke achtergrond zichtbaar te blijven. Onze override was dus een
     verslechtering in precies het geval dat telt — Rule 0, uitkomst 1.

   - Het reduced-motion-blok en `scroll-behavior: smooth` — het thema heeft
     geen eigen animaties (het blok en core regelen de hunne zelf), en smooth
     scrolling was een smaakkeuze die bovendien aan datzelfde
     reduced-motion-blok ontsnapte.

   - `overflow-x: hidden`. Beschermde `position: sticky` van de glass-header,
     die in 2.59.1 is verwijderd; sindsdien geen consument meer. Het verbergt
     bovendien dat iets te breed is in plaats van het zichtbaar te maken — en
     de echte bescherming daartegen (`img { max-width:100% }`) levert core zelf.

   - `-webkit-font-smoothing: antialiased`. Smaakkeuze, geen fundament.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }
