/**
 * Brug tussen WordPress' eigen opmaak en de overgenomen Drupal-stylesheet.
 *
 * De pagina's draaien op `assets/css/legacy.css` — de originele stylesheet van
 * de Drupal-site. WordPress injecteert daarbovenop zijn `global-styles`, en die
 * voegt ruimte en breedtes toe die de oude site niet had. Dit bestand haalt
 * precies die injecties weg binnen `.glx-legacy`, zonder de legacy-opmaak zelf
 * aan te raken.
 *
 * Blijf dit bestand gebruiken voor dat soort correcties: `legacy.css` is een
 * letterlijke kopie van de oude site en wordt opnieuw gegenereerd.
 */

/*
 * 1. Blok-tussenruimte.
 *
 * De wikkel `.glx-legacy` is een core group-blok en draagt daardoor
 * `is-layout-flow`. WordPress hangt aan zulke wikkels:
 *
 *     :root :where(.is-layout-flow) > * { margin-block-start: <spacing-40> }
 *
 * Dat zette 16px boven de header, boven de pagina-inhoud en boven de footer —
 * samen 48px die de hele pagina naar beneden schoof. De regel leest de waarde
 * uit een custom property, dus die op de wikkel op 0 zetten schakelt hem uit
 * voor alles wat erin zit, ook voor geneste layout-wikkels.
 */
.glx-legacy {
	--wp--preset--spacing--40: 0px;
}

/*
 * Dezelfde marges expliciet weg op de wikkels die WordPress zelf toevoegt
 * (template-parts en de inhoudswikkel). Die elementen bestaan op de oude site
 * niet en mogen dus nooit ruimte innemen — ook niet als er ooit een andere
 * spacing-preset op gaat.
 */
.glx-legacy > .wp-block-template-part,
.glx-legacy > .wp-block-post-content,
.glx-legacy > .entry-content {
	margin-block-start: 0;
	margin-block-end: 0;
}

/*
 * 2. Breedtebeperking.
 *
 * `is-layout-constrained` legt een max-width van de theme.json content-size op
 * elk kind. De Drupal-opmaak regelt zijn eigen breedtes met `.container`, dus
 * die beperking moet eraf.
 */
.glx-legacy > .wp-block-post-content > *,
.glx-legacy > .entry-content > * {
	max-width: none;
}

/*
 * 3. Regels die op een body-class van Drupal staan.
 *
 * De oude site zet `class="home"` op <body> van de homepage en schakelt daarmee
 * de padding en de achtergrondtextuur van het inhoudsblok uit:
 *
 *     .home #content { padding: 0; background: none }
 *
 * Bij het scopen werd dat `.glx-legacy .home #content`, en dat zoekt een
 * element mét class `home` *binnen* de wikkel — dat bestaat niet. Gevolg: de
 * homepage kreeg de achtergrondtextuur wél, en onder de mobiele breakpoint ook
 * nog 40px padding (uit `#content{padding:40px 0}`), waardoor alles onder de
 * slider 40px te laag stond. WordPress zet zelf `home` op de body, dus die
 * gebruiken we hier.
 */
body.home .glx-legacy #content {
	padding: 0;
	background: none;
}

/*
 * Zelfde geval met het openstaande mobiele menu. legacy.css heeft
 * `.menu_open{overflow:hidden}` — op de oude site een class op <body>, na het
 * scopen `.glx-legacy .menu_open` en dus onvindbaar. main.js zet de class nog
 * altijd op <body>, dus die regel hoort hier. Zonder dit scrolt de pagina
 * achter de openstaande menulaag door.
 */
body.menu_open {
	overflow: hidden;
}

/*
 * 4. `.js-hide`.
 *
 * Drupal zet `class="js"` op <html>; de originele stylesheet verbergt daarmee
 * `.js-hide` (o.a. de verzendknop van het FAQ-filter, dat zichzelf verstuurt).
 * Door het scopen werd die regel `.glx-legacy .js .js-hide` en die kan niet meer
 * matchen. `main.js` zet daarom `.glx-js` op de wikkel; zonder JavaScript blijft
 * de knop zichtbaar en werkt het filteren nog steeds.
 */
.glx-legacy.glx-js .js-hide {
	display: none;
}

/*
 * 5. `.wp-block-post-content{display:flow-root}` sluit marges van kinderen in.
 * De oude site heeft daar een gewone blokcontainer staan; flow-root zou de
 * marge-instorting anders laten uitvallen dan in Drupal.
 */
.glx-legacy > .wp-block-post-content,
.glx-legacy > .entry-content {
	display: block;
}

/*
 * 6. Mobiel menu.
 *
 * De overgenomen stylesheet laat het mobiele menu erven van de desktopregels:
 * `#header .nav ul li a{padding:35px 0 0 0;font-size:14px}` plus de sprite als
 * achtergrond. Onder 768px levert dat een lijst op met kleine tekst die tegen
 * de linkerrand plakt, met het icoon los erboven (het staat op
 * `background-position:calc(50% + 8px)`, dus niet eens boven zijn eigen label).
 *
 * Hier krijgt het mobiele menu een eigen opmaak: geen iconen, grotere tekst en
 * volledige regels die gecentreerd staan — net als de rest van de mobiele
 * header, die met `#header{text-align:center}` al gecentreerd is.
 *
 * De breakpoint ligt hier op 1100px, niet op de 767px van legacy.css. Tussen
 * 768px en 992px perst de originele stylesheet de zes menu-items namelijk in
 * een container van 710px: `font-size:11px` met 8px padding per item (zie
 * legacy.css regel 1555 e.v.). Dat is onleesbaar, dus vanaf 1100px naar beneden
 * gaat de hele navigatie naar het hamburgermenu. Daarmee verhuizen ook de
 * structuurregels die legacy.css alleen onder 768px zet naar dit blok: de lijst
 * als schermvullende laag, de knop weg, en de twee vaste knoppen rechtsonder.
 *
 * De `!important` op `display` is nodig, geen luxe: legacy.css zet
 * `@media (min-width:768px){#header .nav ul{display:block !important}}` en die
 * regel geldt in dit hele bereik. Het open-menu erft daarom ook `!important`,
 * met een selector die specifieker is (`ul.menu.glx-menu-open`). Daarom zet
 * assets/js/src/main.js het menu open met een klasse en niet met een inline
 * stijl: een inline `display:block` verliest van een `!important` uit een
 * stylesheet.
 *
 * Ook verder staat `!important` er waar de originele regels dat ook gebruiken;
 * anders winnen de `:nth-child()`-spriteregels alsnog.
 */
@media (max-width: 1100px) {
	/* De hamburger en de zwevende contactknop, beide `position:fixed`
	   rechtsonder. legacy.css zet ze onder 768px op `display:block`; hier gaat
	   dat over het hele bereik. */
	.glx-legacy #menubtn,
	.glx-legacy #mobile-mail {
		display: block;
	}

	/*
	 * De navigatiebalk zelf houdt geen ruimte meer aan: de lijst is een
	 * schermvullende laag, de knop is weg en de hamburger zweeft. Wat overblijft
	 * is een lege balk, dus zonder de 30px boven en onder.
	 */
	.glx-legacy #header .nav {
		margin: 0;
		padding: 0;
	}

	/* De knop rechts in de balk; `#mobile-mail` neemt zijn plaats in. */
	.glx-legacy #header .nav .btn {
		display: none;
	}

	/* De lijst als schermvullende laag — dicht tenzij JS hem opent. */
	.glx-legacy #header .nav ul {
		float: none;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		background: #fff;
		overflow-y: auto;
		z-index: 999;
		display: none !important;
	}

	.glx-legacy #header .nav ul.menu.glx-menu-open {
		display: block !important;
	}

	/* Elk item een eigen regel, met de scheidingslijn van de oude site. */
	.glx-legacy #header .nav ul li {
		display: block;
		float: none;
		margin: 0;
		border-bottom: 1px solid #b7bc3c;
	}

	/* Ruimte boven en onder de lijst; onderaan zweven de twee vaste knoppen. */
	.glx-legacy #header .nav ul {
		padding: 20px 0 90px;
	}

	/* De rij is de link zelf, dus de li houdt zelf geen ruimte meer aan. */
	.glx-legacy #header .nav ul li,
	.glx-legacy #header .nav ul li:first-child,
	.glx-legacy #header .nav ul li:last-child,
	.glx-legacy #header .nav ul li:nth-child(6) {
		padding: 0;
	}

	/*
	 * Geen sprite-iconen meer. De positieregels blijven in legacy.css staan,
	 * maar zonder afbeelding hebben ze geen effect. "Inspectie" (nth-child(6))
	 * staat er apart bij: die heeft in legacy.css een eigen `padding-top:38px`
	 * voor zijn FontAwesome-icoon, en wint met zijn extra pseudo-class anders
	 * van de regel hieronder.
	 *
	 * De hover- en current-varianten moeten er met naam bij staan. legacy.css
	 * zet de sprite namelijk drie keer met `!important`: op `a`, op `a:hover`
	 * en op `li.current-menu-item a`. Die laatste twee hebben een pseudo- of
	 * extra class en winnen dus van een selector die alleen `a` noemt — hoe
	 * laat die ook geladen wordt. Op een touchscreen blijft `:hover` na het
	 * aantikken op het item plakken, en dan komt het icoon terug bovenop het
	 * label (op `background-position:calc(50% + 8px)`, dus scheef).
	 */
	.glx-legacy #header .nav ul li a,
	.glx-legacy #header .nav ul li a:hover,
	.glx-legacy #header .nav ul li a:focus,
	.glx-legacy #header .nav ul li.current-menu-item a,
	.glx-legacy #header .nav ul li .is-active,
	.glx-legacy #header .nav ul li .is-active:hover,
	.glx-legacy #header .nav ul li .is-active:focus,
	.glx-legacy #header .nav ul li:nth-child(6) a,
	.glx-legacy #header .nav ul li:nth-child(6) a:hover,
	.glx-legacy #header .nav ul li:nth-child(6) a:focus,
	.glx-legacy #header .nav ul li:nth-child(6) .is-active,
	.glx-legacy #header .nav ul li:nth-child(6) .is-active:hover,
	.glx-legacy #header .nav ul li:nth-child(6) .is-active:focus {
		background-image: none !important;
		padding: 16px 25px;
		font-size: 18px;
		line-height: 24px;
		text-align: center;
	}

	/* Het FontAwesome-icoon van "Inspectie" hoort hier ook weg, ook zolang
	   het item na een tik nog in :hover staat. */
	.glx-legacy #header .nav ul li:nth-child(6) a:before,
	.glx-legacy #header .nav ul li:nth-child(6) a:hover:before,
	.glx-legacy #header .nav ul li:nth-child(6) a:focus:before,
	.glx-legacy #header .nav ul li.current-menu-item:nth-child(6) a:before,
	.glx-legacy #header .nav ul li:nth-child(6) .is-active:before,
	.glx-legacy #header .nav ul li:nth-child(6) .is-active:hover:before {
		content: none;
	}
}

/*
 * 7. Geen gutters in de footerkolommen.
 *
 * De vier blokken in `#footer` zijn gewone grid-kolommen en krijgen daardoor
 * `padding:0 15px` uit de kolomregel van legacy.css. Die padding hoort hier
 * niet: de inhoud van de kolommen moet tegen de kolomrand staan.
 *
 * De padding kan er niet alleen af. `.col-row` heeft `margin:0 -15px` om die
 * padding aan de buitenkant weer op te heffen; zonder de padding zou de eerste
 * kolom 15px links buiten de container schuiven en de laatste 15px rechts.
 * Daarom gaat die marge op élke breedte mee weg, zodat de buitenranden precies
 * blijven staan waar ze stonden en alleen de tussenruimte verdwijnt.
 */
.glx-legacy #footer .col-row {
	margin-left: 0;
	margin-right: 0;
}

/* Vanaf 768px staan de kolommen naast elkaar: vier op 992px en breder, twee
   daaronder. Beide varianten dragen `col-md-3`. */
@media (min-width: 768px) {
	.glx-legacy #footer .col-row > .col-md-3 {
		padding-left: 0;
		padding-right: 0;
	}
}

/*
 * Onder 768px hebben de kolommen geen breedte meer uit legacy.css (`.col-sm-6`
 * krijgt daar zijn 50% binnen `@media (min-width:768px)`) en staan ze dus onder
 * elkaar. De rij is daar `display:inline-block` en krimpt zonder breedte tot
 * zijn inhoud; `width:100%` houdt hem op de volle container, zodat de
 * links-uitgelijnde footertekst tegen de containerrand begint in plaats van
 * tegen de rand van een meekrimpend blok.
 *
 * `!important` op de padding is niet strikt nodig — deze selector heeft een id
 * meer dan de kolomregel in legacy.css en laadt ook later — maar staat er als
 * vangnet in, mocht legacy.css ooit opnieuw gegenereerd worden mét `!important`
 * op de gutters.
 */
@media (max-width: 767px) {
	.glx-legacy #footer .col-row {
		width: 100%;
	}

	.glx-legacy #footer .col-sm-6 {
		padding: 0 !important;
	}
}

/*
 * 8. "Onze werking": 3 / 2 / 1 kolommen.
 *
 * De rij met de `.method-block`-tegels wordt in legacy.css op drie kolommen
 * gezet met:
 *
 *     .block-views-blockannouncements-onze-werking-preview
 *       > div > div > .view-content > .views-row { width: calc(100%/3) }
 *
 * Daar horen twee responsive-varianten bij (2 kolommen onder 992px, 1 kolom
 * onder 768px), maar die staan in legacy.css met een selector waarin
 * `> .view-content` ontbreekt:
 *
 *     ... > div > div > .views-row { width: 50% }
 *
 * `.views-row` is een kind van `.view-content`, niet van de rij zelf, dus die
 * twee regels raken niets en bleven de tegels op alle breedtes drie naast
 * elkaar staan. Hieronder dezelfde twee breakpoints met de juiste selector.
 * De grenzen zijn letterlijk die van legacy.css, zodat het gedrag gelijk is
 * aan de oude site zoals die bedoeld was.
 */
@media (max-width: 992px) {
	.glx-legacy .block-views-blockannouncements-onze-werking-preview
		> div > div > .view-content > .views-row {
		width: 50%;
	}
}

@media (max-width: 767px) {
	.glx-legacy .block-views-blockannouncements-onze-werking-preview
		> div > div > .view-content > .views-row {
		width: 100%;
	}
}

/*
 * 9. Het losse leefgroep-blok ("Kleuters") op /onze-leefgroepen/.
 *
 * Die rij heeft maar één blok en staat daarom in een volle kolom, met een eigen
 * class erbij:
 *
 *     .view-content > .views-row > .col-md-12.col-sm-12.views-row-team-block
 *                                > .team-block.purple
 *
 * legacy.css centreert die kolom en zet het blok erin op halve breedte:
 *
 *     … > .view-content > .views-row > .views-row-team-block{display:flex;justify-content:center}
 *     … > .view-content > .views-row > .col-md-12 > .team-block{width:50%}
 *
 * De responsive overrides die daarna komen (50% op tablet, 100% onder 768px)
 * missen `.view-content` in hun selector:
 *
 *     … > div > div > .views-row > .col-md-12 > .team-block{width:100%}   ← media (max-width:767px)
 *
 * In deze opmaak zit `.views-row` wél onder `.view-content`, dus die regels
 * matchen nooit en de 50% blijft tot op de kleinste schermen staan — het blok
 * werd daardoor op mobiel maar half zo breed als de baby- en peuterblokken
 * erboven (die hebben `col-md-6` en lopen onder 992px gewoon vol).
 *
 * Hieronder de bedoelde mobiele breedte, op dezelfde breakpoint als legacy.css.
 * `!important` omdat de legacy-regel voor dit element zelf ook op `!important`
 * staat in zijn tabletvariant; zonder dat zou de volgorde van de bestanden de
 * enige reden zijn dat dit wint.
 */
@media (max-width: 767px) {
	.glx-legacy .views-row-team-block > .team-block {
		width: 100% !important;
	}
}

/*
 * 10. De cartoonrand van de footer op mobiel.
 *
 * `#footer.cartoon-top-curve .top-curve` toont footer-top-curve-2.png
 * (1920×209) als achtergrond met `background-size:100% auto`, dus altijd op
 * viewportbreedte. Op desktop is dat ~1400px breed en zijn de vijf kindjes
 * ~65px hoog; op een telefoon van 390px wordt de hele tekening 390px breed en
 * blijven de kindjes ~18px hoog — niet meer te onderscheiden.
 *
 * Onder 768px schalen we daarom op hóógte in plaats van op breedte:
 * `auto 100%` maakt het beeld precies zo hoog als de div (90px) en dus
 * 90 × 1920/209 ≈ 827px breed. Dat is breder dan het viewport, maar een
 * achtergrondafbeelding legt geen breedte op: de div zelf blijft
 * `left:0;right:0` en er komt dus géén horizontale scroll bij. De kindjes
 * gaan daarmee van ~18px naar ~39px hoog.
 *
 * Die 90px is bewust gelijk aan de legacy-hoogte, zodat de footer op mobiel
 * niet hoger wordt. Wil je de kindjes gróter, dan moet deze hoogte mee omhoog
 * én de `padding-top` eronder net zo veel: de tekening is een dekkende PNG,
 * dus zonder die ruimte loopt de footertekst erachter.
 *
 * `background-position:78% center` verankert het beeld op de plek waar de
 * kindjes staan (x ≈ 59–81% van de tekening). Nagerekend en nagemeten blijft
 * die groep volledig in beeld van 280px tot 767px viewportbreedte; met de
 * standaard `10px` uit legacy.css zou hij rechts wegvallen.
 *
 * `background-size` heeft `!important` omdat de legacy-regel dat ook heeft.
 * De hoogte hoeft dat niet: dit bestand laadt ná legacy.css, dus de latere
 * regel wint — ook van de `max-width:580px`-variant daar (70px), en daarom
 * staat de `padding-top` hier ook bij (die is daar 70px).
 */
@media (max-width: 767px) {
	.glx-legacy #footer.cartoon-top-curve .top-curve {
		height: 90px;
		background-size: auto 100% !important;
		background-position: 78% center;
	}

	.glx-legacy #footer.cartoon-top-curve {
		padding-top: 90px;
	}
}

/*
 * 11. Afbeeldingsblokken in de legacy-opmaak.
 *
 * De pagina-inhoud bestaat uit core-blokken; `core/image` zet zijn <img> in een
 * <figure class="wp-block-image">. Op de oude site stond de afbeelding daar los,
 * met de uitlijning op de <img> zelf:
 *
 *     .align-center{display:block;margin-right:auto;margin-left:auto}
 *
 * Die klasse zet het blok op de <figure>, en dan werkt hij niet meer: een
 * <figure> is al display:block en vult de volle kolombreedte, dus `margin:auto`
 * heeft niets te verdelen en de afbeelding blijft links staan. `fit-content`
 * laat de figure om de afbeelding krimpen, waarna de automatische marges hem
 * weer centreren — hetzelfde resultaat als op de oude site, maar met de klasse
 * één niveau hoger.
 *
 * De marge moet er apart af. Zodra er een afbeeldingsblok op een pagina staat,
 * laadt WordPress `wp-block-image` mee, en die zet `figure{margin:1em 0}`. De
 * oude site had daar geen verticale ruimte: de tussenruimte kwam volledig van
 * `.typography p{margin-bottom:30px}` op de alinea ervoor.
 */
.glx-legacy .wp-block-image:not([class*="align"]) {
	margin: 0;
}

/*
 * De uitlijningsklassen krijgen hun marges expliciet, met de waarden uit
 * legacy.css. Een blanket `margin:0` kan niet: dit bestand laadt ná legacy.css,
 * dus dat zou juist de `margin:auto` van `.align-center` en de 30px van
 * `.alignleft` wegnemen — precies wat we willen behouden.
 */
.glx-legacy .wp-block-image.align-center {
	width: fit-content;
	margin: 0 auto;
}

.glx-legacy .wp-block-image.align-left,
.glx-legacy .wp-block-image.align-right {
	width: fit-content;
	margin: 0;
}

.glx-legacy .wp-block-image.alignleft {
	width: fit-content;
	margin: 0 30px 30px 0;
}

.glx-legacy .wp-block-image.alignright {
	width: fit-content;
	margin: 0 0 30px 30px;
}

/*
 * De link om een afbeelding krijgt van WordPress `display:inline-block`. Een
 * inline-level box staat op een regel, en met de regelhoogte van 30,6px die
 * hier geldt kwam er ruimte ónder de foto: bij de kaarten van /onze-leefgroepen/
 * en /onze-werking/ zag je de gekleurde achtergrond van `.img` eronder
 * doorschijnen en werd de kaart 17 tot 26px hoger. Als blok is er geen regel en
 * dus geen ruimte.
 */
.glx-legacy .wp-block-image > a {
	display: block;
}

/*
 * 12. Quote-blokken.
 *
 * De citaten op de leefgroeppagina's zijn `core/quote`. WordPress geeft zo'n
 * blok een eigen rand en padding links (4px + 18px), die de oude site niet had:
 * daar stond alleen `blockquote{margin:0}` en zat álle opmaak op de twee divs
 * erbinnen (`blockquote div div` — de rode citaatkaders).
 */
.glx-legacy .wp-block-quote {
	padding: 0;
	border: 0;
}

/*
 * Diezelfde kaders verloren hun buitenmarges. WordPress zet op elke
 * flow-container:
 *
 *     :root :where(.is-layout-flow) > :first-child{margin-block-start:0}
 *     :root :where(.is-layout-flow) > :last-child {margin-block-end:0}
 *
 * `:root` plus `:first-child` maakt dat specificiteit (0,2,0), en de
 * legacy-regel `.glx-legacy blockquote div div{margin:30px 0}` haalt met
 * (0,1,3) net niet. Hieronder dezelfde 30px terug, mét de pseudo-class erbij
 * zodat de specificiteit (0,2,3) wordt en de regel wint.
 */
.glx-legacy blockquote div div:first-child {
	margin-block-start: 30px;
}

.glx-legacy blockquote div div:last-child {
	margin-block-end: 30px;
}

/*
 * 13. Tabelblokken.
 *
 * `core/table` zet de tabel in een <figure>, en een <figure> heeft in de
 * browser standaard `margin:1em 40px`. Dat duwde de opvangtabel 40px naar
 * rechts en maakte hem 80px smaller, waardoor de cellen anders afbraken en de
 * tabel 144px hoger werd. De oude site had daar geen figure en dus geen marge.
 */
.glx-legacy .wp-block-table {
	margin: 0;
}

/*
 * 14. Koppen waar een <p> in zat.
 *
 * De kaarttitels staan in de bron als `<h2 class="h3"><p><a>…</a></p></h2>`.
 * Een `core/heading` houdt alleen inline-inhoud, dus die <p> verdwijnt bij de
 * conversie. Meestal maakt dat niets uit — de ondermarge van zo'n <p> valt
 * samen met die van de kop en telt dus niet mee in de hoogte.
 *
 * Bij `.method-block` wél: `.desc` staat daar op `display:flex`, en in een
 * flexitem kunnen marges niet samenvallen. De 20px van `p{margin-bottom:20px}`
 * zat dus ín de kop, die daardoor 46px hoog was in plaats van 26px. Hier komt
 * die ruimte terug als padding, zodat hij net als eerst binnen de kop valt.
 */
.glx-legacy .method-block .desc .h3 {
	padding-bottom: 20px;
}

/* Zelfde geval op de contactpagina: `<h4><div><p>…privacy…</p></div></h4>`. */
.glx-legacy .home-webform--text-privacy h4 {
	padding-bottom: 20px;
}

/*
 * 15. De "MEER INFO"-overlay.
 *
 * In de bron zit die tekst ín de link om de foto:
 * `<a href><img><span class="moreinfo-btn">MEER INFO</span></a>`. Een
 * `core/image` met link kan geen tweede element in die <a> hebben, dus de
 * overlay staat nu als losse alinea naast de afbeelding, binnen dezelfde
 * `.img`-wikkel. De opmaak klopt daarmee — `.team-block .moreinfo-btn` en
 * `.team-block .img:hover .moreinfo-btn` kijken naar een afstammeling van
 * `.img`, niet naar de link.
 *
 * Twee dingen moeten er wel bij. De alinea krijgt de 20px ondermarge van
 * `p{margin-bottom:20px}`, die de <span> niet had. En de overlay ligt bij hover
 * bovenóp de foto zonder nog in de link te zitten: zonder `pointer-events:none`
 * zou een klik precies op "MEER INFO" niets doen.
 */
.glx-legacy .team-block .moreinfo-btn {
	margin: 0;
	pointer-events: none;
}

/*
 * 16. Alinea's om een losse link.
 *
 * Een rij die in de bron alleen uit links bestond (`<div class="btn"><a>bekijk
 * route</a></div>`, en de twee knoppen in het welkomstblok) wordt bij de
 * conversie één alinea met die links erin — een alinea is het enige core-blok
 * dat inline-inhoud kan dragen. Als blok zou hij de links op een eigen regel
 * zetten en ruimte toevoegen (in het welkomstblok 45px uit
 * `.welcome-block .desc p`); als inline gedraagt hij zich precies als de links
 * zelf. De converter zet daarvoor de klasse `glx-inline-links`.
 */
.glx-legacy p.glx-inline-links {
	/* Als inline gedraagt de alinea zich als de links zelf: geen eigen regel,
	   geen eigen ruimte. */
	display: inline;
	margin: 0;

	/*
	 * En hij mag géén tekstopmaak meebrengen. Op de oude site stond hier geen
	 * alinea, dus alle overerfbare eigenschappen moeten van de wikkel komen.
	 * Zonder dit pikte de routeknop op /contact/ de opmaak van
	 * `#google-map .map-info p` op (18px, regelhoogte 26px en kleur #56676b in
	 * plaats van het witte `.btn a`), en werden de knoppen in het welkomstblok
	 * 1px breder door `.welcome-block .desc p{font-size:26px}`.
	 *
	 * `!important` omdat die legacy-regels een id of drie klassen diep zijn en
	 * dus van deze selector winnen; een eigen variant per context zou een
	 * handvol bijna gelijke regels vragen.
	 */
	font: inherit !important;
	color: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}

/*
 * 17. De telefoonlink op de contactpagina.
 *
 * In de bron is dat `<h3><a href="tel:…"><div>055 23 37 63</div></a></h3>`. Die
 * <div> maakte van de link een blok over de volle kolombreedte (150px); een
 * `core/heading` houdt alleen inline-inhoud, dus na de conversie krimpt de link
 * om zijn tekst (141px) en wordt hij 3px hoger. Zichtbaar verschil is er niet —
 * de tekst begint op dezelfde plek — maar het aanklikbare vlak wel, en dat
 * zetten we hier terug.
 */
.glx-legacy .map-info .desc h3 a {
	display: block;
}


/*
 * 18. De opvangtabel.
 *
 * Hier stonden de gekleurde cellen van de tabel op /opvangvormen/: zeven inline
 * stijlen uit de Drupal-bron die `core/table` niet kon bewaren (dat blok houdt
 * alleen rijen, cellen en spans bij, geen stijl per cel), en die daarom als
 * *positie* waren teruggezet — `tr:first-child th:nth-child(2)`, en zo verder.
 *
 * Die regels zijn weg. De tabel is nu `glorieux/opvang-tabel` en rendert de
 * kleuren zelf, als eigenschap van de kolom (inc/opvang-tabel.php). Dat moest
 * ook: op een positie vastgezette kleur schuift mee naar de verkeerde cel zodra
 * er een rij of kolom bijkomt, en precies dat is wat de redacteur nu kan.
 *
 * Wat er wél nodig blijft, is een breedte voor een vijfde kolom en verder.
 * legacy.css regel 1321-1324 zet die per positie tot en met de vierde:
 *
 *     td:nth-child(1){width:260px} … td:nth-child(4){width:210px}
 *
 * Zonder de regel hieronder krijgt een nieuwe kolom geen breedte en verdeelt de
 * browser de ruimte naar de inhoud — de bestaande kolommen verspringen dan
 * allemaal. 210px is de breedte van de derde en de vierde.
 *
 * De regel raakt de tabel van vandaag niet: die heeft vier kolommen, en de
 * samengevoegde cellen staan op `nth-child(2)` en `(3)`.
 */
.glx-legacy .reception-table table td:nth-child(n+5) {
	width: 210px;
}

/*
 * En een breedte voor de tabel zelf. `.reception-table{max-width:930px}`
 * (legacy.css regel 1311) is de som van de vier kolommen: 260 + 260 + 210 +
 * 210. Bij een vijfde kolom is die som 1150px, en dan doet die 930px twee
 * dingen die niemand vraagt: de tabel gaat binnen haar eigen wikkel schuiven
 * (ook op een breed venster), en omdat de browser vaste celbreedtes bij
 * plaatsgebrek als suggestie behandelt, versmallen álle bestaande kolommen mee
 * — gemeten [259,255,210,206] -> [243,186,208,142,219].
 *
 * Daarom rekent het blok het kolomaantal in een klasse mee
 * (`glx-opvang-kolommen-5`) en staat de som hieronder. Boven de zes houdt het
 * op: dat is ook waar het blok zelf stopt, zie GLORIEUX_OPVANG_MAX_KOLOMMEN.
 *
 * Vier kolommen krijgen bewust géén regel: die vallen terug op de 930px van
 * legacy.css, zodat de tabel van vandaag geen enkele bridge-regel nodig heeft.
 * Onder 1200px is het venster smaller dan de tabel en schuift ze zoals eerst.
 */
.glx-legacy .reception-table.glx-opvang-kolommen-5 {
	max-width: 1150px;
}

.glx-legacy .reception-table.glx-opvang-kolommen-6 {
	max-width: 1360px;
}

/*
 * 19. "Onze werking": de rij tegels van het blok glorieux/werking-grid.
 *
 * De oude kolomindeling hing aan de Drupal-blocknaam:
 *
 *     .block-views-blockannouncements-onze-werking-preview
 *       > div > div > .view-content > .views-row { width: calc(100%/3) }
 *
 * Die selector had vier lege wrapper-divs nodig om aan te grijpen, en de tegel
 * zat daar nóg drie niveaus dieper in. Sinds de tegels blokken zijn
 * (inc/werking-blokken.php) staat de rij op één class en het aantal kolommen op
 * een tweede, zodat het in de editor te kiezen is.
 *
 * De opmaak is letterlijk die van hierboven: flexbox met `justify-content:
 * center`, kolomgutters van 15px zoals `.col-md-12` die had, en dezelfde
 * hoogtetruc (`height: calc(100% - 60px)`) waarmee tegels in één rij even hoog
 * worden ondanks de 60px marge waar de boog in hangt. Ook de breekpunten zijn
 * dezelfde: twee kolommen onder 992px, één onder 768px. Zie sectie 8 hierboven
 * voor de oude rij, die op de andere pagina's nog gebruikt wordt.
 */
.glx-legacy .glx-werking {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	/*
	 * De ruimte onder de rij. Die stond op de oude site op de Drupal-wikkel
	 * eromheen (`.onze-werking-view { padding-bottom: 160px }`, legacy.css) en
	 * hoort bij het beeld: de tegels van de laatste rij hangen met hun boog in
	 * de 60px marge, en daaronder blijft het rustig tot de voettekst.
	 */
	padding-bottom: 160px;
}

.glx-legacy .glx-werking__item {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.glx-legacy .glx-werking--cols-1 > .glx-werking__item {
	width: 100%;
}

.glx-legacy .glx-werking--cols-2 > .glx-werking__item {
	width: 50%;
}

.glx-legacy .glx-werking--cols-3 > .glx-werking__item {
	width: calc(100% / 3);
}

.glx-legacy .glx-werking--cols-4 > .glx-werking__item {
	width: 25%;
}

.glx-legacy .glx-werking__item > .method-block {
	height: calc(100% - 60px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.glx-legacy .glx-werking__item > .method-block > .desc {
	height: 100%;
	display: flex;
	flex-direction: column;
}

@media (max-width: 992px) {
	.glx-legacy .glx-werking--cols-3 > .glx-werking__item,
	.glx-legacy .glx-werking--cols-4 > .glx-werking__item {
		width: 50%;
	}
}

@media (max-width: 767px) {
	.glx-legacy .glx-werking--cols-2 > .glx-werking__item,
	.glx-legacy .glx-werking--cols-3 > .glx-werking__item,
	.glx-legacy .glx-werking--cols-4 > .glx-werking__item {
		width: 100%;
	}
}

/*
 * 20. De nieuwsrij als query-loop.
 *
 * De kaartjes komen uit `core/query` + `core/post-template` (zie
 * patterns/nieuws.php). Dat blok zet de berichten in een <ul> met een <li> per
 * bericht; de Drupal-markup had daar geneste <div>'s staan. Drie selectors in
 * legacy.css lopen met `> div >` door die divs heen en missen daardoor:
 *
 *     .latest-news .col-row > div           → de rij zelf (flex, gecentreerd)
 *     .latest-news .col-row > div > div     → de kolombreedte van een kaartje
 *     .latest-news .col-row > div > div > div → de volle hoogte binnen de kolom
 *
 * Hieronder staan die drie één op één terug, nu op de <ul> en de <li>. `.col-row`
 * staat op het query-blok zelf, dus de <ul> is er een direct kind van.
 *
 * De `margin-bottom` moet er expliciet af: `.glx-legacy ul{margin-bottom:20px}`
 * uit legacy.css is specifieker dan de reset die de kern op
 * `.wp-block-post-template` zet, en zou 20px onder de rij leggen.
 */
.glx-legacy .latest-news .col-row > .wp-block-post-template {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.glx-legacy .latest-news .col-row > .wp-block-post-template > li {
	width: calc(100% / 3);
}

.glx-legacy .latest-news .col-row > .wp-block-post-template > li > div {
	height: 100%;
}

/* Dezelfde breekpunten als de originele rij (legacy.css regel 1661 en 1774). */
@media (max-width: 992px) {
	.glx-legacy .latest-news .col-row > .wp-block-post-template > li {
		width: 50%;
	}
}

@media (max-width: 767px) {
	.glx-legacy .latest-news .col-row > .wp-block-post-template > li {
		width: 100%;
	}
}

/*
 * Het beeldvlak is nu een <figure> in plaats van een <div>. Daar staat
 * `.glx-legacy figure{margin:1em 40px}` op — een regel uit de Drupal-stylesheet
 * die specifieker is dan de `margin-left/right:0` die de kern op
 * `.wp-block-post-featured-image` zet. Zonder dit staat de foto ingesprongen
 * met een gekleurde rand eromheen.
 */
.glx-legacy .news-block .img {
	margin: 0;
}

/*
 * De kop van een kaartje was in de bron
 * `<h2 class="h3"><div><p>titel</p></div></h2>`; `core/post-title` zet de tekst
 * rechtstreeks in de <h2>. Die <p> had 20px ondermarge, en omdat `.desc` op
 * `display:flex` staat kon die marge niet uit de kop lopen — hij zat dus ín de
 * hoogte van de kop. Als padding levert dat exact dezelfde doos op. Zelfde
 * geval als sectie 14.
 */
.glx-legacy .news-block .desc > .wp-block-post-title {
	padding-bottom: 20px;
}

/*
 * Het gekleurde staartje onder een kaartje.
 *
 * De automatische reeks is groen → oranje → groen, net als op de oude site. Dat
 * is een volgorde-in-de-rij, dus `:nth-child()` doet het hier: de tweede plek
 * blijft leeg en houdt daarmee de standaardkleur van `.news-block:after`
 * (oranje).
 *
 * Een redacteur kan de kleur per bericht kiezen; die keuze komt via de
 * `post_class`-filter in inc/news.php als `glx-news-*` op de <li> terecht. Die
 * regels hebben dezelfde specificiteit als de reeks hierboven (`:nth-child()`
 * weegt even zwaar als een klasse), dus ze moeten er ónder staan om te winnen.
 */
.glx-legacy .latest-news .wp-block-post-template > li:nth-child(3n + 1) .news-block:after,
.glx-legacy .latest-news .wp-block-post-template > li:nth-child(3n + 3) .news-block:after {
	background: #98bc2f;
}

.glx-legacy .latest-news .wp-block-post-template > li.glx-news-amber .news-block:after {
	background: #f3b425;
}

.glx-legacy .latest-news .wp-block-post-template > li.glx-news-green .news-block:after {
	background: #98bc2f;
}

.glx-legacy .latest-news .wp-block-post-template > li.glx-news-purple .news-block:after {
	background: #8464c8;
}

/*
 * 21. Eén link per blokje op /onze-visie/ en /onze-leefgroepen/.
 *
 * In de Drupal-bron zat in elke `.team-block` drie keer dezelfde link: om de
 * foto (met "MEER INFO" erin), een lege <a> vóór de titel, en de titel zelf.
 * Wie de bestemming wilde wijzigen moest dat dus op drie plaatsen doen, en twee
 * van die drie zijn in de editor niet eens te vinden — een lege link is
 * onzichtbaar, en de link van een afbeeldingsblok zit weggestopt in de
 * werkbalk van dat blok.
 *
 * De inhoud houdt nu alleen de link op de titel over. Die staat als gewone
 * tekstlink in de kop en is dus met één klik aan te passen. Deze `::after` rekt
 * hem over het hele blokje uit, zodat een klik op de foto of op het wit ernaast
 * doet wat hij eerst deed.
 *
 * De selector begint op `.glx-legacy`, en die wikkel komt uit page.html. In de
 * blok-editor staat hij niet om de pagina-inhoud — maar `inc/editor-canvas.php`
 * herschrijft `.glx-legacy` naar `.editor-styles-wrapper` en dan grijpt hij daar
 * juist wél aan. Een overlay over de hele kaart in het canvas zou betekenen dat
 * een klik op de foto de kop selecteert. Sinds de kaart één blok is
 * (`glorieux/visie-blok`) speelt dat niet meer: de editor-render zet de titel
 * als gewone tekst neer, zonder <a>, dus er valt daar geen `::after` te maken.
 * De bestemming staat in de zijbalk.
 *
 * Waar `inset:0` naar kijkt, is hier het hele punt. Het referentiekader van een
 * absoluut geplaatst element is de naaste geplaatste voorouder, en dat was
 * `.desc` — die staat in legacy.css op `position:relative` met `z-index:2`. De
 * overlay dekte daarmee alleen het witte tekstvlak en niet de foto erboven; een
 * klik op de foto deed niets meer zodra de link daar weg was. `.desc` moet dus
 * uit de weg, zodat `.team-block` (al `position:relative`) het kader wordt.
 *
 * Die `z-index:2` op `.desc` had één taak: het gekleurde staartje van
 * `.team-block:after` erachter houden. Dat staartje is 75px hoog en begint 20px
 * ónder het blokje, dus 55px ervan valt over de onderkant van de kaart; zonder
 * die z-index zou het over het wit heen liggen. Nu `.desc` niet meer geplaatst
 * is, gaat het staartje juist zélf naar achteren met `z-index:-1`.
 *
 * Een negatieve z-index zoekt zijn plek in de naaste stapelcontext, en dat was
 * niet `.team-block` (`position:relative` met `z-index:auto` maakt er geen).
 * Het staartje zou dan achter de achtergrond van een voorouder kunnen vallen en
 * onzichtbaar worden. `isolation:isolate` maakt van het blokje een stapel-
 * context zonder er verder iets aan te veranderen, en houdt het staartje binnen.
 *
 * Gemeten: met deze drie regels erbij is de pixeldiff van /onze-visie/ en
 * /onze-leefgroepen/ nul, en raken alle vier de hoeken van elk blokje de link
 * van dat blokje.
 */
.glx-legacy .team-block {
	isolation: isolate;
}

.glx-legacy .team-block .desc {
	position: static;
}

.glx-legacy .team-block:after {
	z-index: -1;
}

.glx-legacy .team-block .desc .h3 a::after {
	content: '';
	position: absolute;
	inset: 0;
}

/*
 * De hover-effecten hingen aan `.img:hover`: de foto naar 25% en "MEER INFO"
 * eroverheen. De overlay ligt nu over die foto, dus de muis komt nooit meer op
 * `.img` en die twee regels vuren niet meer. Ze moeten dus van het blok zelf
 * komen — wat ook beter past bij een blokje dat in zijn geheel één link is.
 *
 * Even zwaar als de legacy-regels; dit bestand komt erná (zie inc/legacy.php),
 * dus `!important` is niet nodig.
 */
.glx-legacy .team-block:hover .img img {
	opacity: 0.25;
}

/*
 * "MEER INFO" staat gecentreerd in `.img`. In het eerste blokje op /onze-visie/
 * zit daar geen foto (die miste al op de oude site), en zonder foto is `.img`
 * 0px hoog: de knop zou dan half boven de rand van het blokje hangen. Op de
 * oude site kon dat niet gebeuren, want een doos van 0px hoog krijg je ook geen
 * hover op.
 *
 * Die voorwaarde stond hier eerst als aangrenzende selector
 * (`.wp-block-image + .moreinfo-btn`), toen de kaart nog uit losse blokken
 * bestond. Nu de kaart één blok is, staat ze in PHP: zonder foto rendert
 * `glorieux_render_visie_blok()` de knop helemaal niet. Deze selector hoeft dus
 * niets meer af te vangen — en moet dat ook niet, want de PHP-render zet de
 * <img> rechtstreeks in `.img`, zonder `figure.wp-block-image` eromheen.
 */
.glx-legacy .team-block:hover .img .moreinfo-btn {
	display: block;
}

/*
 * Paginabanner (core/cover + core/post-title).
 *
 * De banner bovenaan een pagina was op de oude site een blok eigen markup:
 *
 *     <div id="banner" style="background:url(...)">
 *       <div class="cap"><div class="container"><div class="h1"><p>Titel</p></div></div></div>
 *       <div class="bottom-curve"><img src="curve-1.png"></div>
 *     </div>
 *
 * Die drie lagen zijn nu drie dingen die de redacteur in de gewone
 * Gutenberg-UI kent (zie templates/page.html en templates/single.html):
 *
 *     afbeelding   een `core/cover` met "uitgelichte afbeelding gebruiken"
 *     titel        `core/post-title` — de paginatitel, geen losse kop
 *     boog         geen blok meer, maar de `::after` hieronder
 *
 * `#banner` uit legacy.css raakt deze markup niet (die id bestaat niet meer),
 * dus de opmaak van de banner staat hier compleet. De maten komen letterlijk
 * uit legacy.css, regels 1114-1119 en de vier mediaqueries erna.
 */

/*
 * Het cover-blok brengt zelf `position:relative` mee (en met het blok-attribuut
 * ook `min-height:435px` en padding 0), dus hier blijven alleen de dingen over
 * die het blok niet kan:
 *
 * - de 30px onder de banner die `#banner` had;
 * - `overflow:visible`, want core zet `overflow:clip` op elk cover-blok en dat
 *   knipt de laatste pixel van de boog eraf. De achtergrondafbeelding kan er
 *   niet buiten vallen: die staat absoluut op `inset:0` met `object-fit:cover`.
 */
.glx-legacy .glx-banner {
	margin-bottom: 30px;
	overflow: visible;
}

/*
 * De boog. Op de oude site was dit een `<img>` van 1920x205 op `width:100%`,
 * dus een hoogte die met de breedte meeschaalt. Een procentuele `padding-top`
 * kijkt naar de bréédte van het omhullende blok en doet daarmee precies
 * hetzelfde: 205 / 1920 = 10.6771%. (`aspect-ratio` zou hier ook kunnen, maar
 * niet op een absoluut geplaatst element met zowel `left` als `right`.)
 *
 * `bottom:-1px` staat er net als op de oude site, waar de img `margin-bottom:-1px`
 * had: zonder die pixel blijft er bij sommige zoomniveaus een haarlijn tussen de
 * boog en het wit eronder staan.
 *
 * De achtergrondafbeelding van het cover-blok en de donkere overlay liggen op
 * z-index 0 en 1; de boog hoort erboven, maar mag geen kliks opvangen — hij
 * overlapt de bovenkant van de pagina-inhoud.
 */
.glx-legacy .glx-banner::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 0;
	padding-top: 10.6771%;
	background: url(../images/legacy/curve-1.png) no-repeat center bottom;
	background-size: 100% 100%;
	z-index: 2;
	pointer-events: none;
}

/*
 * De titel. `core/post-title` rendert een `<h1>`, en die krijgt uit legacy.css
 * al `font-size:72px` in Indie Flower mee (`.glx-legacy h1`). In de banner was
 * het 90px in wit — dat zette `#banner .cap .h1`. Deze selector is zwaarder dan
 * beide, dus `!important` is niet nodig.
 *
 * Die 20px onderaan is geen smaakkwestie maar een nameting. Op de oude site
 * stond de titel in `<div class="h1"><p>Titel</p></div>`, en die `<p>` bracht
 * `margin:0 0 20px` mee. `.cap` was absoluut geplaatst en houdt daarmee de
 * marge van zijn laatste kind bínnen: het gecentreerde blok was 20px hoger dan
 * de tekst, dus de tekst zelf stond 10px bóven het midden van de banner.
 *
 * Het cover-blok centreert met flexbox, en een flex-item houdt de marge van
 * zijn laatste kind net zo binnen. Dezelfde 20px geeft dus exact dezelfde 10px
 * verschuiving. Gemeten op 1440/1200/991/767/600/420px: zonder deze regel staat
 * de titel op elke breedte 10px te laag.
 */
.glx-legacy .glx-banner__title {
	margin: 0 0 20px;
	color: #fff;
	font-family: 'Indie Flower', cursive;
	font-size: 90px;
	font-weight: normal;
	line-height: 1.1;
}

/*
 * De vier stappen uit legacy.css. De hoogte moet met `!important`: het
 * cover-blok schrijft `min-height` als inline stijl, en die wint van elke
 * selector. Het is bewust een blok-attribuut gebleven, zodat de hoogte in de
 * site-editor te zien en te wijzigen is.
 */
@media (max-width: 1200px) {
	.glx-legacy .glx-banner__title {
		font-size: 75px;
	}
}

@media (max-width: 992px) {
	.glx-legacy .glx-banner__title {
		font-size: 56px;
	}
}

@media (max-width: 767px) {
	.glx-legacy .glx-banner {
		min-height: 300px !important;
	}

	.glx-legacy .glx-banner__title {
		font-size: 60px;
	}
}

@media (max-width: 580px) {
	.glx-legacy .glx-banner__title {
		font-size: 35px;
	}
}

/*
 * De donkere overlay. Op de oude site lag daar `#banner:after` met
 * `rgba(0,0,0,0.25)` over de foto.
 *
 * Het cover-blok doet dat met twee attributen: een overlaykleur en een
 * `dimRatio` die als `opacity` op dat vlak landt. Alleen levert core voor die
 * opacity uitsluitend de tientallen — `dimRatio: 25` wordt in de blok-markup
 * afgerond naar de klasse `has-background-dim-30` (10 x afronden(25/10)). Vandaar
 * de overlay in de template: `dimRatio: 100` met de kwart-zwarte kleur zélf als
 * overlaykleur. Dat is dezelfde 25% als op de oude site, en het staat volledig
 * in de blok-attributen, dus hier hoeft geen CSS bij.
 *
 * Wat de redacteur ervan merkt: de kleurkiezer van het cover-blok heeft geen
 * schuif voor doorzichtigheid, dus kiest hij daar een andere kleur, dan is die
 * dekkend en regelt de schuif "Dekking overlay" (nu 100) het verder.
 */

/*
 * 22. Achtergrond, rand en ruimte staan nu in de blok-editor.
 *
 * De opmaak van de secties en de kaartjes zat als vaste waarde in legacy.css,
 * op een Drupal-klasse. Voor een redacteur was dat onbereikbaar. Die waarden
 * staan nu als blok-attribuut op de bijbehorende groep, dus zichtbaar en
 * aanpasbaar in het zijpaneel "Stijlen" — achtergrondafbeelding en -kleur,
 * hoekafronding, randen, schaduw, marge en opvulling. Welke sectie welk
 * attribuut kreeg staat in `.visual/gutenberg-ui/spec.php`; legacy.css is niet
 * aangeraakt en blijft de terugval.
 *
 * Dat werkt omdat WordPress die attributen als *inline* stijl op het element
 * zet, en een inline stijl wint van elke klasse-selector in legacy.css. Maar
 * datzelfde maakt hem ook sterker dan de media queries van de oude site: de
 * legacy-stylesheet verkleint de opvulling van deze secties op vier
 * breekpunten (1600, 1200, 992 en 767 px), en die regels zouden door de
 * desktopwaarde uit de editor overschreven worden. De pagina zou dan op
 * mobiel 215px opvulling houden waar 100px hoort.
 *
 * Daarom staan hieronder precies die breekpuntregels opnieuw, mét
 * `!important`, en alléén voor de eigenschappen die nu ook een blokwaarde
 * hebben. De waarden zijn letterlijk die van legacy.css; dit verandert dus
 * niets aan de site zoals hij nu is.
 *
 * Gevolg voor de redacteur, en dat is een bewuste keuze: verzet hij de
 * opvulling van zo'n sectie in de editor, dan geldt dat op desktop. Onder de
 * breekpunten blijft de meeschalende waarde van het oude ontwerp staan. Wie
 * ook die wil wijzigen, past hem hier aan. Voegt de spec een nieuwe
 * ruimte-instelling toe op een element dat hieronder nóg niet staat maar in
 * legacy.css wél een media query heeft, dan hoort de regel hier ook bij.
 */

@media (max-width: 1600px) {
	.glx-legacy .team-block .desc {
		padding: 30px 20px !important;
	}

	.glx-legacy #contribution .contribution-right {
		padding-right: 0 !important;
	}

	/*
	 * De drie infokolommen op /contact/ (legacy.css regel 1468-1470). Hun
	 * opvulling staat nu als blokwaarde op de `core/column`, dus zonder deze
	 * trap hielden ze 50px op elke breedte.
	 */
	.glx-legacy #google-map .map-info .phone,
	.glx-legacy #google-map .map-info .email,
	.glx-legacy #google-map .map-info .address {
		padding: 15px 30px !important;
	}
}

@media (max-width: 1200px) {
	.glx-legacy .welcome-block {
		padding: 150px 0 55px 0 !important;
	}

	.glx-legacy .news-block .desc {
		padding: 30px 20px !important;
	}

	.glx-legacy .team-block .desc {
		padding: 30px 15px !important;
	}

	.glx-legacy #contribution .contribution-left {
		padding: 115px 45px !important;
	}

	.glx-legacy #opening-hours .childcare-offer .childcare-block {
		padding: 85px 60px 60px 60px !important;
	}

	.glx-legacy #opening-hours .childcare-offer .offer-block {
		padding-left: 7% !important;
	}

	/* /contact/, legacy.css regel 1511-1514. */
	.glx-legacy #google-map .map-info .phone,
	.glx-legacy #google-map .map-info .email,
	.glx-legacy #google-map .map-info .address {
		padding: 15px 15px !important;
	}
}

@media (max-width: 992px) {
	.glx-legacy .welcome-block .desc {
		padding: 0 0 50px 0 !important;
	}

	.glx-legacy #contribution .contribution-left {
		padding: 45px !important;
	}

	.glx-legacy #contribution .contribution-right {
		padding: 30px 0 0 0 !important;
	}

	.glx-legacy #opening-hours .childcare-offer .childcare-block {
		padding: 85px 30px 60px 30px !important;
	}

	.glx-legacy #opening-hours .childcare-offer .offer-block {
		padding-left: 7% !important;
	}

	.glx-legacy .team-details .team-details-right {
		padding-left: 0 !important;
	}

	/*
	 * De wikkel op /inspectie/ draagt `inspectie-page` én `container`. Onder
	 * 992px geeft de kolomregel `.container{width:750px;padding:0 20px}` en die
	 * staat later in legacy.css dan `.inspectie-page{padding:30px 0 40px}`, dus
	 * daar wón de container. De blokwaarde zou dat omdraaien.
	 */
	.glx-legacy .inspectie-page.container {
		padding: 0 20px !important;
	}

	/*
	 * /contact/, legacy.css regel 1631-1633. Gestapeld staan de kolommen op
	 * `padding:15px 20px 10px`, behalve het adres — dat is de laatste en houdt
	 * 15px onder. Die 5px verschil zat al in de oude stylesheet.
	 */
	.glx-legacy #google-map .map-info .phone,
	.glx-legacy #google-map .map-info .email {
		padding: 15px 20px 10px !important;
	}

	.glx-legacy #google-map .map-info .address {
		padding: 15px 20px !important;
	}
}

@media (max-width: 767px) {
	.glx-legacy .welcome-block {
		padding: 100px 0 35px 0 !important;
	}

	.glx-legacy #contribution .contribution-left {
		padding: 30px 15px !important;
	}

	.glx-legacy #opening-hours .childcare-offer .childcare-block {
		padding: 50px 20px 30px 20px !important;
	}

	.glx-legacy #opening-hours .childcare-offer .offer-block {
		padding: 0 !important;
	}

	.glx-legacy #opening-hours .opening-hours {
		padding-bottom: 30px !important;
		margin-bottom: 50px !important;
	}

	.glx-legacy .team-details .team-details-left {
		padding-bottom: 15px !important;
		margin-bottom: 30px !important;
	}

	.glx-legacy #reception-forms .head-center {
		margin-bottom: 40px !important;
	}
}

/*
 * Zodra een groep een achtergrond krijgt, hangt core daar `has-background` aan,
 * en `wp-block-library-theme` geeft zo'n groep 1.25em/2.375em opvulling. Op de
 * oude site bestaat die opvulling niet. De regel van core staat in `:where()`
 * en heeft dus specificiteit 0; deze staat dat ook, en wint op laadorde. Elke
 * echte regel uit legacy.css en elke instelling uit de editor blijft er dus
 * bovenop staan — dit haalt alleen die ene onbedoelde opvulling weg.
 */
:where(.glx-legacy .wp-block-group.has-background) {
	padding: 0;
}

/*
 * 23. "Contacteer ons" blijft naast het menu staan.
 *
 * De knop is `float:right`, het menu `float:left`, allebei in dezelfde
 * `.container`. Past de som niet meer in die container, dan zakt de knop onder
 * het menu en wordt de navigatiebalk 175px hoog in plaats van 119px.
 *
 * Dat gebeurt vanaf 1600px, en het komt door de containerbreedte, niet door de
 * knop: legacy.css versmalt de container in vaste stappen (1410 → 1170 → 970 →
 * 750), maar de tussenruimte tussen de menu-items volgt maar half mee
 * (48 → 48 → 30 → 16 px per zijde). Op 1600px verliest de container in één keer
 * 240px terwijl het menu even breed blijft: 1068 + 197 = 1265px in 1170px.
 *
 * Gemeten tekortkomingen (menu + knop vs. beschikbare breedte):
 *
 *   1201–1600px   1068 + 197 = 1265  in 1170  ->  95px te veel
 *   1101–1200px    906 + 197 = 1103  in  970  -> 133px te veel
 *
 * De labels zelf zijn onaantastbaar (600px tekst op 14px, 517px op 12px), dus
 * de ruimte moet uit de opvulling van de <li> komen. Die wordt hieronder per
 * stap zo gezet dat er nog minstens 25px tussen het laatste item en de knop
 * overblijft.
 *
 * Drie dingen om te weten bij het bijstellen:
 *
 * 1. De bovengrenzen zijn exact die van legacy.css (max-width:1600/1200, dus
 *    niet 1199.98). Op precies 1200px geldt daar al de 970px-container; wie
 *    hier 1199 schrijft, laat die ene pixelbreedte alsnog wrappen. De
 *    ondergrens is 1101px en niet 993px: tot en met 1100px staat de hele
 *    navigatie onder de hamburger (sectie 6), dus daaronder valt er niets meer
 *    naast een knop te passen.
 *
 * 2. `:first-child`, `:last-child` en `:nth-child(6)` moeten er met naam bij.
 *    legacy.css zet hun opvulling apart en die selectors zijn specifieker dan
 *    een kale `li` — hoe laat dit bestand ook geladen wordt. `:nth-child(6)`
 *    ("Inspectie") heeft daar 24px links en 12px rechts voor zijn eigen
 *    FontAwesome-icoon; dat icoon staat absoluut op `left:50%` van de <a> en
 *    heeft die opvulling dus niet nodig.
 *
 * 3. De sprite-iconen schuiven niet mee. legacy.css hangt ze met vaste
 *    pixelposities aan de <a>, en die <a> is een blok in een shrink-to-fit
 *    float: zijn breedte is de labelbreedte, ongeacht de opvulling van de <li>.
 *
 * Tot en met 1100px staat het menu uitgeklapt onder een hamburger en is de knop
 * verborgen (sectie 6) — daar speelt dit niet.
 */

/* 1201–1600px: 48 -> 32px. Menu 920px + knop 197px in 1170px. */
@media (min-width: 1201px) and (max-width: 1600px) {
	.glx-legacy #header .nav ul li,
	.glx-legacy #header .nav ul li:first-child,
	.glx-legacy #header .nav ul li:last-child,
	.glx-legacy #header .nav ul li:nth-child(6) {
		padding-left: 32px;
		padding-right: 32px;
	}

	/* Het menu begint tegen de linkerrand van de container, zoals voorheen. */
	.glx-legacy #header .nav ul li:first-child {
		padding-left: 0;
	}

	/* En het laatste item hoeft rechts niets meer aan te houden: de ruimte
	   tot de knop komt uit de container. */
	.glx-legacy #header .nav ul li:nth-child(6) {
		padding-right: 0;
	}
}

/* 1101–1200px: 30 -> 14px. Menu 740px + knop 197px in 970px. */
@media (min-width: 1101px) and (max-width: 1200px) {
	.glx-legacy #header .nav ul li,
	.glx-legacy #header .nav ul li:first-child,
	.glx-legacy #header .nav ul li:last-child,
	.glx-legacy #header .nav ul li:nth-child(6) {
		padding-left: 14px;
		padding-right: 14px;
	}

	.glx-legacy #header .nav ul li:first-child {
		padding-left: 0;
	}

	.glx-legacy #header .nav ul li:nth-child(6) {
		padding-right: 0;
	}
}

/*
 * Het bereik 768–992px stond hier eerder ook bij. Daar paste het menu alleen
 * naast de knop met 11px tekst en 8px opvulling per item — onleesbaar, en de
 * reden dat de hamburger nu al vanaf 1100px verschijnt (sectie 6). Die regels
 * zijn daarmee vervallen: onder die breedte is er geen menubalk meer om te
 * laten passen.
 */

/*
 * 24. Het adres in de topbalk is een link naar Google Maps.
 *
 * legacy.css kent daar geen link. Zonder correctie pakt het adres de algemene
 * linkkleur `a{color:#C8D200}` en staat het fel groen naast de #72858A tekst
 * van de balk. De link erft dus de kleur van de balk en krijgt op hover
 * hetzelfde groen als de menulinks links in de balk (#b7bc3c), plus een
 * onderlijn als aanwijzing dat er iets te klikken valt.
 *
 * De footer heeft dit niet nodig: het adres was daar al een link (naar de
 * contactpagina) en `#footer a` zet er zijn eigen kleur op.
 */
.glx-legacy #topbar .top-right .address a {
	color: inherit;
	text-decoration: none;
}

.glx-legacy #topbar .top-right .address a:hover,
.glx-legacy #topbar .top-right .address a:focus-visible {
	color: #b7bc3c;
	text-decoration: underline;
}

/*
 * 25. Eén link per tegel op /onze-werking/.
 *
 * Dezelfde ingreep als sectie 21, nu voor `.method-block`. De link staat op de
 * titel — daar is hij in de editor met één klik te vinden — en deze overlay
 * rekt hem over de hele tegel uit, zodat een klik op de foto of op het wit
 * ernaast doet wat hij eerst deed. De tweede <a> om de foto is daarmee weg uit
 * `glorieux_render_werking_blok()`: die lag onder de overlay en stond dus voor
 * niets in de tabvolgorde en in de voorleeslijst van een schermlezer.
 *
 * Waar `inset:0` naar kijkt, is het hele punt. Het kader van een absoluut
 * geplaatst element is de naaste geplaatste voorouder, en dat was `.desc` —
 * `position:relative` met `z-index:2` in legacy.css. De overlay dekte daarmee
 * alleen het witte tekstvlak en niet de foto erboven. `.desc` moet dus uit de
 * weg, zodat `.method-block` (al `position:relative`) het kader wordt.
 *
 * Die `z-index:2` had één taak: het gekleurde staartje van `.method-block:after`
 * achter het wit houden. Dat staartje is 75px hoog en begint 20px ónder de
 * tegel, dus 55px ervan valt over de onderkant van de kaart. Nu `.desc` niet
 * meer geplaatst is, gaat het staartje juist zélf naar achteren met
 * `z-index:-1`.
 *
 * Een negatieve z-index zoekt zijn plek in de naaste stapelcontext, en
 * `position:relative` met `z-index:auto` maakt er geen. Zonder meer zou het
 * staartje achter de achtergrond van een voorouder kunnen vallen en onzichtbaar
 * worden; `isolation:isolate` maakt van de tegel een stapelcontext zonder er
 * verder iets aan te veranderen, en houdt het staartje binnen.
 *
 * In het editor-canvas valt er niets te saboteren: de editor-render zet de
 * titel als gewone tekst neer, zonder <a>, dus daar is geen `::before` om over
 * de tegel te leggen en blijft elk onderdeel aanklikbaar. De drie regels
 * hieronder gelden er wél — inc/editor-canvas.php herschrijft `.glx-legacy`
 * naar `.editor-styles-wrapper` — en daarom staan dezelfde waarden ook in
 * `assets/css/werking-blokken-editor.css`. Die stylesheet herhaalt de
 * legacy-opmaak van de tegel, met even zware selectors, en zou anders naar
 * laadorde het staartje onzichtbaar maken (`.desc` weer geplaatst mét
 * `z-index:2`, staartje op `-1`, achter de witte achtergrond van de tegel).
 */
.glx-legacy .method-block {
	isolation: isolate;
}

.glx-legacy .method-block .desc {
	position: static;
}

.glx-legacy .method-block:after {
	z-index: -1;
}

.glx-legacy .method-block .desc .h3 a::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}

/*
 * `.method-block .img:hover img{opacity:0.8}` vuurt niet meer: de overlay ligt
 * over de foto, dus de muis komt nooit meer op `.img`. Hetzelfde effect komt nu
 * van de tegel zelf, wat ook beter past bij een tegel die in zijn geheel één
 * link is. Even zwaar als de legacy-regel, en dit bestand komt erná (zie
 * inc/legacy.php), dus `!important` is niet nodig.
 *
 * `.desc .h3 a:hover{color:#c8d200}` uit legacy.css hoeft niets: hover op een
 * pseudo-element geldt ook voor het element zelf, dus de kop kleurt nu mee
 * zodra de muis ergens op de tegel staat.
 */
.glx-legacy .method-block:hover .img img {
	opacity: 0.8;
}

/*
 * 24. Minder geneste groups in de editor.
 *
 * De uit Drupal gemigreerde pagina's brachten hun wikkels als `core/group`
 * mee, tot negen niveaus diep. Dat is in de blok-editor onwerkbaar; CLAUDE.md
 * legt de grens op drie. Om daar te komen zijn drie soorten ingrepen gedaan,
 * en die vragen alle drie iets terug van de stylesheet.
 *
 * a. Een sectie-id en `.container` staan nu op dezelfde div. legacy.css zet op
 *    zulke ids een reset (`#reception-forms{margin:0;padding:0}`, idem
 *    `#opening-hours`, `#contribution`, `#team`, `#google-map`, en
 *    `.team-details`). Als losse wikkel deed die niets, maar op de container
 *    zelf wint hij van `.container{margin:0 auto}` — id boven klasse, en bij
 *    `.team-details` op volgorde (regel 1123 komt ná 949). De centrering moet
 *    dus terug, en onder 992px ook de zijpadding van `.container`.
 *
 * b. Kolomrijen zijn `core/columns` geworden zodat de redacteur een rij als rij
 *    ziet in plaats van als twee lagen groups. Core rendert dezelfde
 *    div-structuur, dus `.col-row > div > div` blijft matchen; alleen de
 *    flex-defaults van het blok moeten uit, want de opmaak is float-gebaseerd.
 *    `glx-kolomrij` markeert precies de omgezette rijen, zodat een nieuwe
 *    kolommenrij van de redacteur wél gewoon flex is.
 *
 * c. Op /onze-visie/ en /onze-leefgroepen/ zijn `.team-page` en `#content`
 *    samengevoegd. `.team-page #content` is een descendant-selector en matcht
 *    dan niet meer.
 */

/* a. */
.glx-legacy #reception-forms.container,
.glx-legacy #opening-hours.container,
.glx-legacy #contribution.container,
.glx-legacy #team.container,
.glx-legacy #google-map.container,
.glx-legacy .container.team-details {
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 992px) {
	.glx-legacy #reception-forms.container,
	.glx-legacy #opening-hours.container,
	.glx-legacy #contribution.container,
	.glx-legacy #team.container,
	.glx-legacy #google-map.container {
		padding-left: 20px;
		padding-right: 20px;
	}

	/*
	 * `.map-info` en `.cartoon-img` op /contact/ zijn absoluut gepositioneerd en
	 * meten vanaf de padding-edge van `#google-map`. Die padding zet ze dus niet
	 * in — vóór het samenvoegen deed de container dat wél, want toen was
	 * `#google-map` een gewoon blok-kind. De inzet verhuist daarom naar de
	 * elementen zelf, en de cartoon krijgt een grens omdat zijn containing block
	 * nu 40px breder is (anders werd hij op 420px 20px te breed).
	 */
	.glx-legacy #google-map.container > .map-info {
		left: 40px;
		right: 40px;
	}

	.glx-legacy #google-map.container > .cartoon-img {
		right: 20px;
		max-width: calc(100% - 40px);
	}
}

/* b. */
.glx-legacy .wp-block-columns.glx-kolomrij {
	display: block;
	gap: 0;
}

.glx-legacy .wp-block-columns.glx-kolomrij > .wp-block-column {
	word-break: normal;
	overflow-wrap: normal;
}

/* c. */
.glx-legacy #content.team-page {
	padding: 80px 0 0;
}

/*
 * d. De `.clearfix field__item`-wikkel om de welkomstalinea op de homepage is
 *    weg — en de twee regels die dat compenseerden staan hier niet meer.
 *
 *    De alinea met de twee knoppen bestaat sinds de knoppenronde niet meer;
 *    het zijn `core/button`-blokken in een `core/buttons`-rij, dus
 *    `p.glx-inline-links` en `.btn` matchen op de homepage niets meer. Zie
 *    sectie 27 voor wat de rij nu zelf doet.
 *
 *    Bij het verwijderen bleek ook dat de compensatie niet werkte, en dat is
 *    nagemeten op alle zes breedtes. Ze bestond uit `padding-top:15px` op de
 *    alinea plus `margin-top:0 !important` op de eerste knop, samen bedoeld om
 *    de 60px van de Drupal-site terug te krijgen. Maar sectie 16 zet die alinea
 *    op `display:inline`, en de opvulling van een inline element maakt geen
 *    ruimte boven een blok-kind: gemeten kwam er nul van de 15px aan. De
 *    `margin-top:0` deed het wel, en haalde daarmee de 15px weg die legacy.css
 *    regel 1779 onder 580px aan elke knop geeft. Netto stond er onder 580px
 *    dus 15px waar de oude site 30px had.
 *
 *    Dat verschil is hier bewust niet rechtgezet: de knoppenronde moest op nul
 *    verschil uitkomen, en sectie 27 zet daarom precies neer wat de pagina nú
 *    doet. Wie de 30px van de oude site terug wil, verhoogt in sectie 27d de
 *    `margin-top` van de rij onder 580px van 0 naar 15px.
 */

/*
 * e. De twee klasseloze Drupal-divs tussen `.col-row` en `.view-content` op
 *    /onze-leefgroepen/ zijn weg. Ze deden niets zelf, maar stonden wél als
 *    `> div > div` in twee selectors van legacy.css (regel 1272 en 1273) — de
 *    enige twee van die reeks die daar echt matchten; de rest mist
 *    `.view-content` in de keten en raakte al niets (zie sectie 9). Hier staan
 *    die twee terug zonder de tussendivs. `.view-content` is nu een
 *    `core/columns` en `.views-row` een `core/column`, maar dat verandert de
 *    div-structuur niet, dus de rest van de keten klopt nog.
 */
.glx-legacy .block-views-blockannouncements-team-details-preview
	> .view-content > .views-row > .views-row-team-block {
	display: flex;
	justify-content: center;
}

.glx-legacy .block-views-blockannouncements-team-details-preview
	> .view-content > .views-row > .col-md-12 > .team-block {
	width: 50%;
}

/*
 * ─── 26. Filteren en pagineren in de FAQ landen bij de vragen ───────────────
 *
 * Het filterformulier en de pagerlinks herladen de pagina en hangen `#faq`
 * achter de URL (zie inc/faq.php en assets/js/src/main.js), zodat de bezoeker
 * niet terug boven de banner belandt. Zonder marge zet de browser de kop
 * "Veel gestelde vragen" dan strak tegen de bovenrand van het venster.
 *
 * `scroll-margin-top` telt alleen mee bij dat springen; de pagina zelf
 * verschuift er niet van.
 */
.glx-legacy #faq {
	scroll-margin-top: 24px;
}

/*
 * ─── 27. De pager van de FAQ ligt niet meer onder de footer ──────────────
 *
 * `#footer.cartoon-top-curve` staat met `margin-top:-50px` over het einde van
 * de inhoud heen (legacy.css regel 1100). Op de meeste pagina’s valt daar
 * lege ruimte onder, maar de FAQ-lijst eindigt strak met de pager: die zit
 * volgens `getBoundingClientRect()` op 3090-3164 en de footer begint op 3114,
 * dus het midden van de paginalinks valt in de doos van de footer.
 *
 * Zichtbaar is er niets aan de hand — de footer is daar doorzichtig — maar de
 * kliks gingen naar de footer: `document.elementFromPoint()` op de link naar
 * pagina 2 gaf `#footer.cartoon-top-curve`, en pagina 2 was alleen via de URL
 * te bereiken.
 *
 * De pager komt daarom een laagje omhoog. `position:relative` op een blok dat
 * al statisch stond verschuift niets, en de footer heeft zelf geen `z-index`,
 * dus één stap volstaat. Ruimte bijzetten zou ook werken, maar duwt de
 * footerboog zichtbaar naar beneden.
 */
.glx-legacy #faq .pagerer-container {
	position: relative;
	z-index: 1;
}

/*
 * ─── 28. De FAQ-lijst dimt alleen als het wachten opvalt ────────────────────
 *
 * Filteren vervangt sinds assets/js/src/main.js alleen `.faq-list`; de pagina
 * ververst niet meer. Duurt dat ophalen langer dan 200ms, dan zet main.js
 * `glx-faq-laadt` op `#faq` zodat de bezoeker ziet dat er iets gebeurt.
 *
 * De klasse staat bewust op `#faq` en niet op de lijst zelf: de lijst wordt
 * juist vervangen, en een nieuw element zou zonder overgang op vol vermogen
 * terugspringen. Nu vervaagt hij netjes terug.
 */
.glx-legacy #faq .faq-list {
	transition: opacity 150ms ease;
}

.glx-legacy #faq.glx-faq-laadt .faq-list {
	opacity: 0.45;
}

/*
 * ─── 29. De routeknop hoort binnen het witte vlak ───────────────────────────
 *
 * Op de oude site hing `bekijk route` half buiten het witte informatievlak van
 * /contact/: `.map-info` liep tot 155px voor de rechterrand van de container en
 * `.map-info .btn` stond op `right:-115px` (legacy.css regel 1155 en 1173), dus
 * de rechterhelft van de knop lag op de kaart. Onder 992px werd dat
 * `top:100%`, en dan hing hij half ónder het vlak (regel 1634). Dat is trouw
 * overgenomen, maar het is niet gewenst: de knop moet in het wit staan.
 *
 * De ingreep is tweeledig, want de knop is een van de vier kolommen van de rij
 * en de eerste drie hebben vaste percentages.
 *
 *  - Het vlak loopt door tot dezelfde 35px inzet als links, zodat de plek waar
 *    de knop al stond nu wit is in plaats van kaart.
 *  - De drie infokolommen verdelen wat er náást de knop overblijft. Ze houden
 *    hun onderlinge verhouding (27,5 : 37,7 : 25 uit legacy.css, en 29 : 38,5 :
 *    25 onder 1200px), genormaliseerd op de nieuwe breedte. Zonder dat schuift
 *    de adreskolom onder de knop.
 *
 * De knop moet daarvoor wel eerst zijn eigen maat aannemen. Legacy.css zette de
 * ruimte twee keer: `.btn{padding:21px 40px}` op de div en `.btn a{padding:21px
 * 30px}` op de link erin (regel 899 en 904). Verticaal maakte dat niets uit — de
 * link is inline — maar horizontaal kwam er 60px bij die niets deed: de knop was
 * 248px breed om 108px tekst. Datzelfde gold voor de `min-width` van 230px die
 * regel 899 voor een `<div class="btn">` laat staan (regel 903 zet hem alleen
 * voor `input[type=submit]` en `.btn` terug op auto — niet voor een element dat
 * óók `.btn` heet maar via de kolom matcht).
 *
 * Sinds de omzetting naar `core/button` lost dat zichzelf op: de knop is één
 * element in plaats van een div om een link, en knoppen.css zet de ruimte één
 * keer. De maten hieronder zijn dus nog steeds die van de gemeten stand, maar
 * de knop haalt ze nu uit sectie 30 in plaats van uit een aftrek hier.
 *
 * Zonder die 60px passen de drie infokolommen weer met hun oude inhoud: de
 * telefoonkolom heeft 209px nodig voor icoon plus nummer, en dat is precies wat
 * ze op de oude site had. Met de knop op 248px werd het 190px en wipte het
 * icoon boven het nummer.
 *
 * `--glx-routeknop` is de breedte die de knop opeist plus 30px lucht. Die
 * breedte verschilt per breekpunt, want legacy.css geeft de knop daar een andere
 * `min-width` en ruimte: 188px boven 1200px (108px tekst plus 2x40px) en 160px
 * eronder (108 plus 2x20 wint van `min-width:160px`, dus dat wordt de maat).
 */
@media (min-width: 993px) {
	.glx-legacy #google-map .map-info {
		--glx-routeknop: 218px;
		right: 35px;
	}

	/* De knop zelf staat in sectie 30: hij is sinds de omzetting naar
	   core/button geen `.btn` meer. */

	.glx-legacy #google-map .map-info .phone {
		width: calc((100% - var(--glx-routeknop)) * 0.305);
	}

	.glx-legacy #google-map .map-info .email {
		width: calc((100% - var(--glx-routeknop)) * 0.418);
	}

	.glx-legacy #google-map .map-info .address {
		width: calc((100% - var(--glx-routeknop)) * 0.277);
	}
}

@media (min-width: 993px) and (max-width: 1200px) {
	.glx-legacy #google-map .map-info {
		--glx-routeknop: 190px;
	}

	.glx-legacy #google-map .map-info .phone {
		width: calc((100% - var(--glx-routeknop)) * 0.3135);
	}

	.glx-legacy #google-map .map-info .email {
		width: calc((100% - var(--glx-routeknop)) * 0.4162);
	}

	.glx-legacy #google-map .map-info .address {
		width: calc((100% - var(--glx-routeknop)) * 0.2703);
	}
}

/*
 * Onder 992px staan de kolommen gestapeld en is de knop de laatste. Hij mag
 * daar dus gewoon in de stroom mee, gecentreerd onder het adres. Het vlak heeft
 * onder 30px ruimte (legacy.css regel 1629), dus die 30px staat er al; er komt
 * 10px boven bij zodat de knop niet tegen het adres aan zit.
 *
 * `width: fit-content` in plaats van een vaste breedte: dan blijft de
 * `min-width` van 200px die legacy.css daar zet gewoon gelden.
 */
/* Die stand staat in sectie 30b. */

/*
 * 26. De cookietabellen op /cookie-policy/.
 *
 * Het overzicht "Soorten cookies" komt van de cookie-script.com-rapportcode
 * die ook op de oude site in die pagina stond. Die code zet zelf alleen
 * `width:100%` op de tabel; de kolommen laat ze aan de browser over.
 *
 * Dat loopt hier mis, en de oorzaak is niet de rapportcode maar de padding:
 * legacy.css regel 931-933 geeft elke cel `15px 30px`, dus vier kolommen
 * kosten 240px aan lucht. Dat is gemaakt voor de weekmenutabel met drie
 * korte kolommen, niet voor vier kolommen met een domeinnaam en een alinea.
 * De pagina staat bovendien in `.small-container` (930px, legacy.css regel
 * 953) omdat dat de leesbreedte voor proza is, terwijl de tabel op de oude
 * site 1170px kreeg. Gevolg: de som van de minimumbreedtes werd 994px, de
 * tabel stak 64px buiten de container uit, en de omschrijving — de enige
 * echte lopende tekst — hield 221px over: rijen van negen regels hoog.
 *
 * Dus: de padding terug naar 12px zijkant (de rapportcode zelf gebruikt 8px)
 * en de kolommen vastgezet met `table-layout:fixed`, want alleen dan gelden
 * de breedtes exact in plaats van als suggestie. `overflow-wrap` laat de twee
 * lange tekenreeksen (`_gat_gtag_UA_133667080_1` en de domeinnaam) afbreken
 * in plaats van hun kolom op te rekken.
 *
 * Onder ~820px past die verdeling niet meer — "Vervaldatum" komt dan letter
 * per letter op een eigen regel. Daarom dezelfde constructie als bij de
 * openingsurentabel (legacy.css regel 1312-1314): de wikkel schuift
 * horizontaal en de tabel houdt een minimumbreedte. Boven die grens
 * verandert er niets, dus de scrollbalk komt alleen als hij nodig is.
 */
.glx-legacy .cookie-report {
	overflow-x: auto;
}

.glx-legacy .cookie-report table {
	width: 100%;
	min-width: 820px;
	table-layout: fixed;
}

.glx-legacy .cookie-report table th,
.glx-legacy .cookie-report table td {
	padding: 15px 12px;
}

.glx-legacy .cookie-report table th:nth-child(1),
.glx-legacy .cookie-report table td:nth-child(1) {
	width: 18%;
}

.glx-legacy .cookie-report table th:nth-child(2),
.glx-legacy .cookie-report table td:nth-child(2) {
	width: 20%;
}

.glx-legacy .cookie-report table th:nth-child(3),
.glx-legacy .cookie-report table td:nth-child(3) {
	width: 18%;
}

.glx-legacy .cookie-report table th:nth-child(4),
.glx-legacy .cookie-report table td:nth-child(4) {
	width: 44%;
}

.glx-legacy .cookie-report table td {
	overflow-wrap: anywhere;
}

/*
 * 27. De knoprij van het welkomstblok.
 *
 * De twee knoppen op de homepage zaten in een alinea met `class="btn"` en
 * `class="btn purple-btn"` op de links erin — de opmaak stond dus in de
 * inhoud. Het zijn nu twee `core/button`-blokken met de blokstijlen Paars en
 * Groen in één `core/buttons`-rij. De doos van de knop komt daarmee uit
 * assets/css/knoppen.css.
 *
 * Wat knoppen.css niet kan weten, staat hier: de oude site verzet deze twee
 * knoppen op drie breekpunten, en die regels staan in legacy.css op `.btn` —
 * een klasse die op een knopblok niet meer voorkomt. Alle waarden hieronder
 * zijn de gemeten stand van vóór de omzetting, niet een herinterpretatie.
 *
 * De selector is vier klassen diep en wint daarmee van knoppen.css (twee of
 * drie), dat later in de reeks staat. Geen `!important` nodig.
 */

/*
 * a. De rij wikkelt zonder extra ruimte.
 *
 *    Op 1100px is de kolom 470px breed en het knoppenpaar 514px, dus de tweede
 *    knop valt op een eigen regel — dat deed hij vóór de omzetting ook, want
 *    inline-block wikkelt net zo goed. Maar een inline regel die afbreekt zet
 *    geen ruimte tussen de twee regels, en de 18px `gap` uit sectie 4 van
 *    knoppen.css doet dat wél: gemeten stond de tweede knop 18px te laag.
 *
 *    De 18px hoort dus alleen tussen twee knoppen naast elkaar. Onder 580px
 *    staat de rij als kolom en is de verticale ruimte juist wél de bedoeling;
 *    de `gap: 15px` van sectie d staat daarom later in dit bestand en wint
 *    daar van deze regel.
 */
.glx-legacy .welcome-block .wp-block-buttons {
	row-gap: 0;
}

/*
 * b. Onder 1200px krijgt de knop een bodembreedte (legacy.css regel 1509).
 *    Sectie 1 van knoppen.css zet `min-width:auto`, want dat is de eindstand
 *    van `.btn` op desktop.
 */
@media (max-width: 1200px) {
	.glx-legacy .welcome-block .wp-block-button > .wp-block-button__link {
		min-width: 210px;
	}
}

/*
 * c. Onder 992px staat de hele `.desc` gecentreerd (legacy.css regel 1624).
 *    Op de oude site stonden de knoppen inline en centreerde `text-align` ze
 *    mee; een flex-rij trekt zich daar niets van aan en heeft
 *    `justify-content` nodig.
 */
@media (max-width: 992px) {
	.glx-legacy .welcome-block .wp-block-buttons {
		justify-content: center;
	}
}

/*
 * d. Onder 580px staan de knoppen onder elkaar, 220px breed en gecentreerd,
 *    met 15px ertussen en een kleinere binnenruimte (legacy.css regel 1779:
 *    `display:block;margin:15px auto 0 !important;width:220px;padding:20px
 *    15px`).
 *
 *    Dat is hier één kolom in plaats van drie losse eigenschappen: `gap` doet
 *    het werk van de 15px `margin-top` en `align-items` dat van `margin:auto`.
 *    `align-items` moet er expliciet bij, want sectie 4 van knoppen.css zet
 *    `flex-start` — in een kolom is dat links, niet boven.
 *
 *    De 15px die de oude site óók boven de eerste knop zette, staat hier niet:
 *    zie sectie 24d voor waarom de pagina die al vóór deze omzetting niet had.
 */
@media (max-width: 580px) {
	.glx-legacy .welcome-block .wp-block-buttons {
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}

	.glx-legacy .welcome-block .wp-block-button > .wp-block-button__link {
		width: 220px;
		padding: 20px 15px;
	}
}

/*
 * 30. De routeknop op /contact/.
 *
 * In de Drupal-bron was dit `<div class="btn"><a>bekijk route</a></div>`: de
 * gevulde doos zat op de wikkel en niet op de link. Bij de migratie werd dat
 * een kolom met `class="btn"` en een alinea met de link erin — de opmaak stond
 * dus in de inhoud, en de redacteur zag geen knop maar een alinea.
 *
 * Het is nu een `core/button` in een `core/buttons`-rij, in dezelfde kolom. De
 * doos komt daarmee uit assets/css/knoppen.css; wat hieronder staat is wat die
 * niet kan weten.
 *
 * De kolom houdt zijn eigen taak. Hij staat boven 992px absoluut en valt
 * daarmee buiten de rij, want de drie infokolommen ernaast verdelen met
 * `--glx-routeknop` precies de breedte die overblijft (zie sectie 29). Die
 * kolom heette `btn`, en daar hing legacy.css zijn plaatsing aan op
 * (regel 1173, 1467, 1510 en 1634). Zonder die klasse matcht geen van die vier
 * nog iets, dus staan ze hier — op `glx-routeknop`, en met de maten van de
 * knop zelf verplaatst naar de link.
 *
 * Alle waarden zijn de gemeten stand van vóór de omzetting:
 *
 *              wikkel                          knop
 *   1440px     absoluut, top 50%, -30px        188x59, ruimte 21px 40px
 *   1100px     idem                            148x57, ruimte 20px
 *   ≤992px     in de stroom, 10px auto 0       200x57, ruimte 20px
 *
 * De `min-width:160px` die legacy.css tussen 993 en 1200px zet, staat hier
 * bewust níet: sectie 29 haalde die er al af (de knop is daar 148px) en
 * knoppen.css sectie 1 zet `min-width:auto`. Onder 992px is hij er wél: daar
 * staat de knop in de stroom en is 200px zijn maat (legacy.css regel 1634).
 */

/* a. Boven 992px hangt de knop rechts in het witte vlak. `top:50%` met
      `margin-top:-30px` is de centrering van de oude site; die rekent op een
      doos van ongeveer 60px, en dat is wat de knop op beide breekpunten is
      (59px en 57px). De 30px inzet komt uit sectie 29 en niet uit legacy.css:
      daar stond `right:-115px`, half over de kaartrand heen. */
@media (min-width: 993px) {
	.glx-legacy #google-map .map-info .glx-routeknop {
		position: absolute;
		top: 50%;
		right: 30px;
		margin: -30px 0 0;
	}
}

/* b. Onder 992px staan de kolommen gestapeld en is de knop de laatste. Hij
      loopt gewoon mee in de stroom, gecentreerd onder het adres, met 10px
      lucht erboven. `width: fit-content` laat de `min-width` van de knop de
      breedte bepalen. */
@media (max-width: 992px) {
	.glx-legacy #google-map .map-info .glx-routeknop {
		display: block;
		width: fit-content;
		margin: 10px auto 0;
	}
}

/* c. De maten van de knop zelf. Onder 1200px krimpt de ruimte (legacy.css
      regel 1510) en onder 992px komt de bodembreedte terug (regel 1634). */
@media (max-width: 1200px) {
	.glx-legacy #google-map .map-info .glx-routeknop .wp-block-button__link {
		padding: 20px;
	}
}

@media (max-width: 992px) {
	.glx-legacy #google-map .map-info .glx-routeknop .wp-block-button__link {
		min-width: 200px;
	}
}

/*
 * ─── 31. De pijl in "Hier kan je" krijgt zijn eigen ruimte ──────────────────
 *
 * De vier links in het rode blok op de homepage dragen hun pijl als
 * achtergrondafbeelding: `background:url(arrow-white.png) no-repeat center
 * right 20px` op `#slider .links ul li a`, met `padding:22px 0` (legacy.css
 * regel 1052). Er is dus géén rechteropvulling die die pijl vrijhoudt, en de
 * pijl is 14px breed — samen met de inzet beslaat hij de laatste 34px.
 *
 * Zodra het label breder wordt dan de doos min die 34px, loopt de tekst er
 * onderdoor. Gemeten met een `Range` over de linktekst gebeurde dat op vier
 * plaatsen:
 *
 *     320px   "Openingsuren Raadplegen"  213 > 196    "Dagindeling Doornemen" 202 > 196
 *     768px   "Openingsuren Raadplegen"  218 > 212    (idem 834 en 992)
 *     1200px  "Weekmenu Terugvinden"     248 > 219
 *
 * Op 768-992 is de doos maar 246px breed (`.container{width:750px}` uit
 * legacy.css regel 1555 gedeeld door de kolommen) terwijl de tekst 13px is
 * (regel 1614), en dat is precies de band waar het opvalt.
 *
 * De opvulling hieronder houdt de pijl vrij: 34px voor de pijl plus 8px lucht.
 * Een label dat daardoor niet meer op één regel past, breekt af — dat is de
 * bedoeling; onleesbaar onder een pijl is erger dan twee regels.
 */
.glx-legacy #slider .links ul li a {
	padding-right: 42px;
}

/*
 * Onder 767px is er verticaal weinig ruimte over: daar staat de doos niet meer
 * ín de slider maar hangt hij eronder (`top:100%;margin-top:-100px`, legacy.css
 * regel 1743) en houdt hij 50px afstand tot de kop "Nieuws". Een label dat een
 * regel bijkrijgt, duwt de onderkant dus richting die kop.
 *
 * Twee ingrepen houden dat tegen. De pijl schuift naar 10px van de rand, zodat
 * er 30px in plaats van 42px nodig is — genoeg om op 360px en breder helemaal
 * niets te laten afbreken. En de doos wordt aan zijn ónderkant vastgezet in
 * plaats van aan zijn bovenkant: die 185px is waar de onderrand vandaag ligt
 * (100px negatieve marge op een doos van 285px). Groeit de doos toch — op 320px
 * breekt "Openingsuren Raadplegen" nog steeds af — dan groeit hij nu de foto in
 * en niet de nieuwssectie uit. Gemeten blijft het gat tot "Nieuws" op elke
 * telefoonbreedte 50px, en op 320px staat de doos nog 246px binnen de foto.
 */
@media (max-width: 767px) {
	.glx-legacy #slider .links ul li a {
		padding-right: 30px;
		background-position: center right 10px;
	}

	.glx-legacy #slider .links-wrapper {
		top: auto;
		bottom: -185px;
		margin-top: 0;
	}
}

/*
 * ─── 32. Geen scheidingsstreep meer onder de gestapelde infokolommen ────────
 *
 * `.map-info .phone` en `.email` op /contact/ dragen `border-right:1px solid
 * #cfe2e1` (legacy.css regel 1157-1158) — de streep tussen de drie kolommen.
 * Onder 992px zet legacy.css ze op `width:100%;float:none` (regel 1631-1632),
 * maar de rand blijft staan. Gestapeld levert dat een losse verticale streep
 * op tegen de rechterrand van het witte vlak, naast telefoon en e-mail maar
 * niet naast het adres — precies de plaats waar niets meer te scheiden valt.
 */
@media (max-width: 992px) {
	.glx-legacy #google-map .map-info .phone,
	.glx-legacy #google-map .map-info .email {
		border-right: 0;
	}
}

/*
 * ─── 33. Zwevende afbeeldingen in lopende tekst ─────────────────────────────
 *
 * `.align-right{float:right}` en `.align-left{float:left}` (legacy.css regel
 * 13-14) staan op de afbeeldingen in de lopende tekst van de gemigreerde
 * pagina's. Ze houden hun eigen breedte uit de Drupal-bron — 173 tot 229px —
 * en die is niet relatief.
 *
 * Op /onze-werking/afspraken/ staan er zes van. Op een venster van 375px blijft
 * er dan 106 tot 162px over voor de tekst ernaast: gemeten regels van 22px,
 * drie woorden per alinea, zes regels lang. Vanaf 700px is er ruimte genoeg
 * (smalste regel 98px) en verandert er hieronder niets.
 *
 * Onder 600px gaan ze daarom op hun eigen regel staan, gecentreerd. De pagina
 * wordt daar langer van (6303 -> 6618px op 375px) en dat is de bedoeling: liever
 * langer dan drie woorden breed.
 */
@media (max-width: 600px) {
	.glx-legacy .typography img.align-right,
	.glx-legacy .typography img.align-left {
		float: none;
		display: block;
		margin: 0 auto 20px auto;
		max-width: 100%;
		height: auto;
	}
}

/*
 * ─── 34. De topbalk is leesbaar op een tablet ───────────────────────────────
 *
 * Onder 767px verbergt legacy.css de topbalk (`#topbar{display:none}`, regel
 * 1698). In de band die daarboven ligt staat hij er wél, maar op `font-size:
 * 11px` voor zowel de linklijst als het adres (regel 1599-1600).
 *
 * Dat is te klein, en het lost niets op: `.top-left` zweeft links en
 * `.top-right` rechts, en samen zijn ze op 768px breder dan de 710px die de
 * container biedt. De balk viel daardoor toch al uiteen in twee regels, met het
 * adres rechts uitgelijnd onder de links.
 *
 * Hier gebeurt dat expliciet: beide helften zweven niet meer en staan
 * gecentreerd op 13px — dezelfde stapeling die legacy.css onder 767px al voor
 * deze balk klaarzet (regel 1699-1701), waar hij alleen nooit te zien is.
 * Gemeten wordt de balk daar 21px *korter* (99 -> 78px), want de opvulling van
 * de zwevende variant valt weg.
 */
@media (min-width: 768px) and (max-width: 992px) {
	.glx-legacy #topbar {
		text-align: center;
	}

	.glx-legacy #topbar .top-left,
	.glx-legacy #topbar .top-right {
		float: none;
	}

	.glx-legacy #topbar .top-left ul {
		padding: 12px 0 0 0;
	}

	.glx-legacy #topbar .top-left ul li {
		float: none;
		display: inline-block;
		vertical-align: top;
		font-size: 13px;
	}

	.glx-legacy #topbar .top-right .address {
		padding: 4px 0 10px 0;
		font-size: 13px;
	}
}

/*
 * ─── 35. De footerboog onderschept geen kliks meer ────────────────────────
 *
 * Sectie 27 tilde de FAQ-pager één laagje op omdat `#footer.cartoon-top-curve`
 * met `margin-top:-50px` over het einde van de inhoud staat (legacy.css regel
 * 1100). Dat is geen probleem van de FAQ alleen: elke pagina die eindigt met
 * iets aanklikbaars heeft het, en zichtbaar is er niets aan de hand — de footer
 * is daar doorzichtig, alleen de kliks gaan erheen.
 *
 * Een hit-test met `elementFromPoint()` over alle links in `#content` vond het
 * op /sitemap/: "Contacteer ons", de laatste regel van de lijst, gaf op 768px
 * en op 1100px `div#footer > div.top-curve`. Onder 767px zet legacy.css die
 * negatieve marge op 0 (regel 1759) en is er niets mis.
 *
 * Het lag voor de hand om `#content` een laagje op te tillen, zoals sectie 27
 * met de pager doet, maar dat mag niet: `#content` heeft óók een negatieve
 * bovenmarge en schuift onder de bánner. Met `z-index` erop dekte het de
 * kleurenbalk onder de header en de witte golf onderaan de banner af — gemeten
 * op /onze-leefgroepen/ op 375px, 8253 pixels verschil.
 *
 * Daarom gaat het hier niet over stapelen maar over kliks. In die overlappende
 * 50px staat alleen de doos van `#footer` zelf en `.top-curve`, een lege div met
 * enkel een achtergrondafbeelding — niets aanklikbaars. `pointer-events:none`
 * op de footer laat de kliks daar dus door naar de inhoud eronder, en de
 * `.container` met de echte footerinhoud zet het weer aan. Dat is ook waarom
 * het op `#footer` moet staan en niet op `.top-curve`: met alleen de boog
 * uitgeschakeld onderschept `#footer` zelf nog.
 *
 * De footer heeft precies twee soorten kinderen — `.container` (twee keer) en
 * `.top-curve` — dus die ene uitzondering dekt alles.
 */
.glx-legacy #footer {
	pointer-events: none;
}

.glx-legacy #footer .container {
	pointer-events: auto;
}

/*
 * ─── 36. Raakvlakken die met de vinger te halen zijn ────────────────────────
 *
 * Twee soorten links zijn precies zo hoog als hun tekst — 19px — en dat is op
 * een aanraakscherm te weinig (WCAG 2.5.8 vraagt 24px):
 *
 *  - telefoon en e-mail in de kop (`.header-right .phone a`, `.email a`);
 *  - de drie linklijsten in de voet (sitemap, links, downloads).
 *
 * Beide krijgen verticale opvulling. Op een *inline* element groeit daarmee het
 * raakvlak zonder dat de regelhoogte meebeweegt: gemeten blijft de hoogte van
 * `#header` en van `#footer` op elke breedte gelijk, en de regelafstand in de
 * voetlijsten blijft 38px, dus twee raakvlakken raken elkaar niet. Alleen de
 * doos van de link zelf wordt hoger — 19 -> 33px in de kop, 19 -> 31px in de
 * voet.
 *
 * `display:inline-block` doet dit níet: dan breekt het telefoonnummer op 320px
 * van zijn icoon af en wordt de kop 31px hoger.
 *
 * De grens ligt op 1100px, dezelfde als waar de navigatie naar het
 * hamburgermenu gaat (sectie 6) — daaronder is het een aanraakscherm.
 */
@media (max-width: 1100px) {
	.glx-legacy #header .header .header-right .phone a,
	.glx-legacy #header .header .header-right .email a {
		padding-top: 7px;
		padding-bottom: 7px;
	}

	.glx-legacy #footer nav.menu ul.menu > li.menu-item > a,
	.glx-legacy #footer .menu > li > a {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	/*
	 * En de contactgegevens in de vierde voetkolom: adres (naar Google Maps),
	 * `tel:` en `mailto:`. Die staan niet in een `ul.menu` maar in
	 * `.footer-info .icon-block`, dus de regel hierboven raakt ze niet — en op
	 * een telefoon zijn dit juist de twee links die iemand wíl aantikken.
	 */
	.glx-legacy #footer .footer-info .icon-block > a {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	/*
	 * De balk onderaan (`#copyright`, een buurelement van `#footer`) zet zijn
	 * drie links op 15px hoog. Ze staan naast elkaar op één regel, dus alleen
	 * verticaal bijzetten kan geen twee raakvlakken laten botsen.
	 */
	.glx-legacy #copyright .field__item p > a[href] {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	/*
	 * En de links in de topbalk. Die dragen hun onderstreping als
	 * `border-bottom` op 4px onder de tekst (legacy.css regel 996), dus hier
	 * kan alleen de bovenkant groeien — `padding-bottom` zou die streep van de
	 * tekst wegschuiven en dat is zichtbaar.
	 */
	.glx-legacy #topbar .top-left ul li a {
		padding-top: 6px;
	}

	/* Het adres rechts in de topbalk is óók een link (naar Google Maps) en
	   heeft geen onderstreping, dus die mag aan twee kanten groeien. */
	.glx-legacy #topbar .top-right .address a {
		padding-top: 5px;
		padding-bottom: 5px;
	}
}

/*
 * ─── 37. Een zevende item in de hoofdnavigatie krijgt geen scherf sprite ────
 *
 * De header draait sinds inc/legacy-parts.php op het menu van de locatie
 * "Primaire navigatie" (Uiterlijk → Menu's), dus het aantal items ligt nu bij
 * de redacteur. legacy.css heeft er zes:
 *
 *     li:nth-child(1..5) a { background-position: <positie in sprites.png> }
 *     li:nth-child(6)   a { background-image: none; ::before = FontAwesome \f15c }
 *
 * De sprite zelf staat op álle items (regel 1029, met `!important`), alleen de
 * *positie* per plaats. Een zevende item erft dus de afbeelding zonder positie
 * en toont `0 0` van sprites.png — een willekeurige scherf van een ander icoon.
 *
 * Vanaf de zevende gaat de afbeelding daarom uit. De opvulling van 35px blijft
 * staan (legacy.css regel 1023), zodat het label op dezelfde regel blijft als
 * dat van zijn buren in plaats van 35px hoger te springen.
 *
 * Dit is een vangnet, geen uitnodiging: zes items is waar het ontwerp op staat,
 * en boven de zes wordt de balk ook te breed voor zijn container.
 *
 * Herschikken in de beheerder verplaatst de iconen mee, want ze hangen aan de
 * plaats en niet aan de pagina. Een klasse per icoon (`glx-icoon-visie` in het
 * veld "CSS-klassen") leek de uitweg, maar dat werkt hier niet: legacy.css zet
 * de sprite-posities óók opnieuw in drie media queries (regel 1572 e.v. en 1729
 * e.v., met een ander raster en een andere `background-size`). Een klasse buiten
 * die queries zou de smalle breedtes overschrijven, en ze binnen elke query
 * herhalen betekent de posities van legacy.css op vier plaatsen kopiëren — een
 * bestand dat volgens CLAUDE.md opnieuw gegenereerd wordt. Wie de volgorde wil
 * wijzigen, past dus de sprite-posities in legacy.css aan.
 */
.glx-legacy #header .nav ul li:nth-child(n+7) a,
.glx-legacy #header .nav ul li:nth-child(n+7) .is-active {
	background-image: none !important;
}
