/* =========================================================
   TSCB — NAVIGATIE
   Onderdeel van het tscb-systeem, zie basis/kleur.css voor de
   kleur-bridge en het versie-/hergebruikbeleid.
   Un-layered laten: zo winnen deze regels van de Bricks-
   defaults (die in @layer bricks zitten) zonder !important.
   ---------------------------------------------------------
   OFF-CANVAS BUTTONS (Bricks nav-menu, mobileMenu = always)
   Markup die Bricks rendert:
     nav.bricks-mobile-menu-wrapper
       ul.bricks-mobile-menu
         li > a                          (item zonder subitems)
         li > .brx-submenu-toggle > a+button   (item mét subitems)

   LET OP — wat NIET hier hoort:
   - de item-KLEUR komt uit de Bricks-control "Background"
     (mobileMenuItemBackground). Die rendert als ID-regel
     (#brxe-… ), dus die wint altijd van dit bestand. Bewust:
     vorm hier, kleur in de builder — zelfde tweedeling als
     onderdelen/button.css.
   - om diezelfde reden zet dit bestand GEEN background-color
     en GEEN font-size op de <a>; zet je die in de builder,
     dan winnen die en blijft dit bestand kloppen.
   ========================================================= */

/* ---------------------------------------------------------
   1. KNOPPEN — één set variabelen om aan te draaien.
   Staan op de wrapper, dus alles eronder erft ze en je kunt
   ze per breakpoint of per site in één regel omzetten.
   --------------------------------------------------------- */
/* De waas hoort hier en niet bij de andere knoppen: de overlay is een
   BROER van het paneel, geen kind. Een variabele op het paneel bereikt
   hem dus nooit, en dan valt background-color stil terug op transparant. */
.brxe-nav-menu {
  --nav_oc_waas: rgb(0 0 0 / 37%);
}

.brxe-nav-menu .bricks-mobile-menu-wrapper {
  /* Paneelbreedte. Bricks-default = 300px; ruimer zetten als
     langere menu-items door de hoofdletters gaan afbreken. */
  --nav_oc_width:     300px;

  /* Knop-maat en -ritme */
  --nav_oc_btn_min:        67%;  /* bodem: nooit smaller dan dit deel van het paneel */
  /* Gelijk aan --nav_oc_btn_min zolang de linkerranden één rechte lijn
     vormen: een afwijkende breedte zet de actieve knop uit de schuinte,
     en bij hover zou die knik heen en weer springen. */
  --nav_oc_btn_min_active: 67%;
  --nav_oc_inset:     55px;   /* lucht aan de OPEN kant; de andere kant sluit
                                 tegen de paneelrand aan */
  --nav_oc_gap:       3px;    /* ruimte tussen de knoppen */

  /* De uitsparing waarin de knoppen liggen. Radius links, want rechts
     loopt hij de paneelrand in — zelfde vorm als de knoppen zelf. */
  --nav_oc_well_radius: 15rem;
  --nav_oc_well_diepte: 0.7;      /* 0 = vlak, hoger = dieper */
  --nav_oc_well_lucht:  65px;   /* boven en onder de knoppenrij */
  --nav_oc_well_inzet:  13%;    /* waar de uitsparing links begint */

  /* Niet-actieve knoppen: links vrijwel doorzichtig, naar rechts vol
     van kleur, en op de rand een donkere kern.
     LET OP: de Bricks-instelling "Mobile menu item background" moet LEEG
     blijven. Die zet een background-color via een ID-regel en dekt dan
     het doorzichtige deel weer af. */
  --nav_oc_wash_begin:  34%;   /* waar de kleur begint op te komen */
  --nav_oc_wash_vol:    92%;   /* waar hij volledig is */
  --nav_oc_kern:        color-mix(in srgb, var(--tscb_primary_3) 80%, #000);
  --nav_oc_kern_maat:   34%;   /* straal van de donkere kern */
  --nav_oc_item_marge: 4px;   /* extra lucht boven/onder elk item */
  --nav_oc_glide:     0.2s;   /* hoe traag de knop naar z’n hover-breedte glijdt */
  --nav_oc_pad_y:     1em;  /* knop-hoogte, schaalt mee met de tekst */
  --nav_oc_pad_x:     2em;
  --nav_oc_align:     right;  /* welke paneelrand de knoppen raken: left | right
                                 (center kan ook, maar dan zweven ze los) */
  /* Alleen de buitenhoeken van het blok zijn rond: linksboven bij het
     eerste item, linksonder bij het laatste. De rest is vierkant, zodat
     de knoppen als één vorm lezen. */
  --nav_oc_hoek: 5.6rem;

  /* De linkerranden lopen schuin: elk item is een stap breder dan het
     vorige. Gelijke hoogtes + gelijke stap = een rechte lijn. */
  --nav_oc_schuinte: 0;

  /* 1 = de linkerrand van elke knop loopt zelf ook schuin, zodat de
     trapjes verdwijnen en het één doorlopende lijn wordt. 0 = rechte
     randen (dan zie je de stap per knop). */
  --nav_oc_schuin_snee: 0;

  /* Hoeveel de ONDERrand meeloopt met de schuinte. Gelijk aan de
     schuinte houdt de knop even hoog aan de linker- als aan de
     rechterkant; 0 laat de onderrand vlak. */
  --nav_oc_schuin_onder: 0;
  /* Extra onderaan de knop, zodat hij naar beneden uitloopt. */
  --nav_oc_pad_onder: 0.7em;

  /* Rand om de knop. */
  --nav_oc_rand_kleur: rgb(233 187 155 / 76%);
  --nav_oc_rand_dikte: 1px;

  /* Tekst — bewust in em, niet via de tscb_text_* tokens.
     Die schaal is in rem gedacht vanaf een 16px root, maar
     Bricks zet html op 62.5% (1rem = 10px) en deze site
     overschrijft dat nergens. --tscb_text_l komt hier dus uit
     op ~13.5px: kleiner dan de 15px die het menu al had.
     Met em rekent de maat tegen de erfelijke tekstgrootte,
     dus 1.25em is hier altijd een kwart groter — ook als de
     root-font-size later wél op 100% wordt gezet. */
  --nav_oc_text:      1.25em;
  --nav_oc_tracking:  0.06em; /* hoofdletters hebben extra letterruimte nodig */

  /* Kleur — zelfde basiskleur en gradient als .brxe-button
     (zie onderdelen/button.css), maar een tint lichter.
     --nav_oc_tint volgt de kleur-utility die op de sitebuttons
     staat: tscb_btn_primary_medium = --tscb_primary_2. Zet je
     de knoppen op een andere utility, pas 'm hier mee aan. */
  --nav_oc_tint:      var(--tscb_primary_2);  /* basiskleur = die van .brxe-button */
  --nav_oc_tint_light: var(--tscb_primary_1); /* waar 'lichter' naartoe gaat */
  --nav_oc_lighten:        60%;  /* inactief: lichter, richting --primary1 */
  --nav_oc_lighten_active: 0%;   /* huidige pagina: exact de kleur van .brxe-button */
  --nav_oc_lighten_hover:  50%;  /* aanwijzen: die kleur, een tikje lichter */

  /* Lichter maken gaat bewust naar --primary1 en niet naar wit.
     Wit ontkleurt: op 30% naar wit was de knop slate-blauw en
     niet meer als teal herkenbaar (verzadiging 0.54 tegen 0.59
     nu). --primary1 is dezelfde kleur, alleen lichter — dat is
     precies waar de 1/2/3-tinten in het palet voor zijn. */

  /* De rood/magenta waar het verloop naartoe zakt. Uit de échte
     knop teruggerekend: hij ligt tussen de mid (#ff008c) en de
     shade (#9e0000) die button.css voor z'n glans gebruikt. */
  --nav_oc_glow:      #d7326e;

  /* Glans-sterkte, 0-100 net als --tscb_btn_gloss in button.css.
     100 = exact het verloop van .brxe-button. Op een lichtere
     knop mag 'ie zachter: vol verloop trekt de onderkant naar
     een middentoon waar geen enkele tekstkleur meer 4.5:1 haalt. */
  --nav_oc_gloss:     87;

  /* Labelkleur voor de SUBITEMS. De knoppen zelf houden bewust
     de witte tekst van Bricks (de color-regel op de knop staat
     daarom uitgecommentarieerd, zie sectie 2).
     Subitems moeten wél donker: die hebben geen achtergrond en
     staan direct op het crème paneel — wit is daar onzichtbaar.
     Deze regel dus niet "voor de symmetrie" ook uitzetten.

     Contrast-stand van nu: de huidige pagina is de donkerste
     knop en haalt 4.20:1 met wit; de overige, lichtere items
     halen 2.97:1. Wil je die laatste omhoog zonder de witte
     tekst of het licht/donker-onderscheid op te geven, dan is
     --nav_oc_lighten de knop: op 20% wordt het 3.53 en blijft
     het verschil met de actieve pagina goed zichtbaar. */
  --nav_oc_ink:       var(--tscb_grey_900);

  /* Indruk-diepte — de enige knop die hover/active/actief
     bedienen. De waarde heeft een TEKEN:
        negatief = de knop steekt uit
        0        = vlak
        positief = de knop ligt in een uitsparing
     Alle vijf de schaduwlagen hieronder spiegelen mee met dat
     teken (licht en donker wisselen van kant), dus rust en
     hover zijn één formule en geen twee losse recepten.
     -1.5 = rust (inactief): de knop komt duidelijk omhoog. */
  --nav_oc_depth:     -2.5;

  width: var(--nav_oc_width);
  max-width: 100vw;
}

/* De <ul> vult het paneel, zodat de 60% hieronder tegen de
   páneelbreedte rekent en niet tegen de tekstbreedte.
   Nodig omdat de Bricks-control "Horizontal" de <ul> anders
   laat krimpen tot z'n inhoud. */
.brxe-nav-menu .bricks-mobile-menu {
  /* Grid met één kolom op minmax(bodem, max-content): die kolom wordt zo
     breed als het LANGSTE label, en alle items strekken daarnaartoe. Met
     flex hield elk item z'n eigen breedte en stak alleen "Publications"
     uit — min-width is immers een bodem, geen maat. */
  display: grid;
  grid-template-columns:
    minmax(var(--nav_oc_btn_min), min(max-content, 100% - var(--nav_oc_inset)));
  justify-content: end;   /* kolom tegen de paneelrand, lucht links */
  gap: var(--nav_oc_gap);
  width: 100%;

  /* Geen padding-inline: de <li> moet exact zo breed zijn als het
     paneel, anders rekent de 67% hieronder tegen een smallere
     doos en valt de knop te klein uit. De lucht aan de open
     kant zit als max-width op de knop zelf.
     Boven en onder mag het wel — dat raakt de breedte niet. */
  padding-inline: 0;
  padding-block: var(--nav_oc_well_lucht);

  /* Ophangpunt voor de uitsparing hieronder. isolation houdt de
     z-index van dat pseudo-element binnen deze lijst, anders zakt het
     achter het paneel in plaats van achter de knoppen. */
  position: relative;
  isolation: isolate;
}

/* UITSPARING — dit deel ligt optisch lager dan het paneel.
   Op een pseudo-element en niet op de <ul> zelf: die is even breed als
   het paneel, dus de ronde hoeken zouden links buiten beeld vallen. Dit
   vlak begint waar de knoppen beginnen en loopt rechts de paneelrand in.

   Drie lagen: een donkere slagschaduw langs de bovenrand (licht komt van
   boven, dus daar valt de schaduw ín), een lichte lip langs de onderrand
   waar de rand weer omhoogkomt, en een haarlijn rondom. Zonder die lip
   leest het als een grijs vlak in plaats van als diepte. */
.brxe-nav-menu .bricks-mobile-menu::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  inset-inline: var(--nav_oc_well_inzet) 0;
  pointer-events: none;

  border-radius: var(--nav_oc_well_radius) 0 0 var(--nav_oc_well_radius);
  background-color: color-mix(in srgb,
    var(--tscb_shadow_color) calc(5% * var(--nav_oc_well_diepte)), transparent);
  box-shadow:
    inset 0 calc(4px * var(--nav_oc_well_diepte)) calc(8px * var(--nav_oc_well_diepte)) 0
      color-mix(in srgb, var(--tscb_shadow_color)
        calc(22% * var(--nav_oc_well_diepte) * var(--tscb_shadow_strength) / 100), transparent),
    inset 0 calc(-2px * var(--nav_oc_well_diepte)) calc(3px * var(--nav_oc_well_diepte)) 0
      color-mix(in srgb, var(--tscb_white) calc(60% * var(--nav_oc_well_diepte)), transparent),
    inset 0 0 0 1px
      color-mix(in srgb, var(--tscb_shadow_color)
        calc(8% * var(--nav_oc_well_diepte) * var(--tscb_shadow_strength) / 100), transparent);
}

.brxe-nav-menu .bricks-mobile-menu > li {
  width: auto;
  text-align: var(--nav_oc_align);
  text-transform: none;   /* label zoals in het menu getypt */
  letter-spacing: var(--nav_oc_tracking);
  font-size: var(--nav_oc_text);
}

/* ---------------------------------------------------------
   1b. HET PANEEL ZELF — hoe traag het in- en uitschuift.
   Bricks zet hier .2s op; dat is de hele animatie die je bij
   sluiten ziet. De knop staat op .brxe-nav-menu en niet op de
   wrapper, omdat de overlay een BUURELEMENT van de wrapper is
   (allebei kinderen van .brxe-nav-menu) en 'm anders niet erft.

   LET OP wat dit wel en niet raakt. Deze transition speelt
   alleen als de class show-mobile-menu wordt weggehaald, dus
   bij: het kruisje, een klik op de overlay, Escape, en een
   menu-item met een # in de href. Bij een gewone paginalink
   sluit Bricks het paneel NIET — de browser navigeert gewoon
   en het hele document wordt vervangen. Dat is geen animatie
   die te vertragen valt; daar is JS voor nodig die de
   navigatie even vasthoudt.
   --------------------------------------------------------- */
.brxe-nav-menu {
  --nav_oc_slide: .55s;   /* in- en uitschuiven van het paneel */
}

.brxe-nav-menu .bricks-mobile-menu-wrapper,
.brxe-nav-menu .bricks-mobile-menu-overlay {
  transition-duration: var(--nav_oc_slide);
  transition-timing-function: var(--tscb_anim_ease);
}

/* Het waas over de pagina achter het paneel. */
.brxe-nav-menu .bricks-mobile-menu-overlay {
  background-color: var(--nav_oc_waas);
}

/* ---------------------------------------------------------
   2. DE KNOP ZELF
   inline-flex i.p.v. het Bricks-default block: daardoor
   betekent de width:auto die Bricks als ID-regel meestuurt
   "krimp naar de tekst", en doet min-width z'n werk als bodem.
   --------------------------------------------------------- */
.brxe-nav-menu .bricks-mobile-menu > li > a,
.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;   /* tekst tegen de rand die de knop raakt */
  /* width vult de kolom, dus alle knoppen zijn even breed. min-width
     houdt de schuinte-trap bruikbaar: zet je --nav_oc_schuinte weer aan,
     dan groeit een item daar bovenuit. */
  width: 100%;
  min-width: calc(var(--nav_oc_btn_min)
             + var(--_nav_oc_trap, 0) * var(--nav_oc_schuinte));
  max-width: 100%;   /* de lucht aan de open kant zit nu op de kolom */
  border-radius: 4px 0 0 4px;
  border: var(--nav_oc_rand_dikte) solid var(--nav_oc_rand_kleur);
  /* border-radius: 0; */

  /* De schuine linkerrand. Boven ingesprongen met de stapgrootte, onder
     op nul: samen met de stap per item wordt dat één rechte lijn.
     LET OP: clip-path snijdt ook de schaduwen weg. Het reliëf aan de
     schuine kant verdwijnt dus; rechts en onder blijft het staan. */
  clip-path: polygon(
    calc(var(--nav_oc_schuinte) * var(--nav_oc_schuin_snee)) 0,
    100% 0,
    100% calc(100% - var(--nav_oc_schuin_onder) * var(--nav_oc_schuin_snee)),
    0 100%);
  line-height: 1.25;
  /* color: var(--nav_oc_ink); */

  /* Vulling: het verticale verloop van .brxe-button, lichter.
     In button.css komt die glans niet uit de achtergrond maar
     uit drie inset-box-shadows. Die property is hier bezet door
     de verdieping hierboven (box-shadow is één property), dus
     zit het verloop in de achtergrond zelf.

     De vier stops zijn gemeten aan de echte knop en teruggerekend
     naar één mix van de paletkleur richting --nav_oc_glow
     (afwijking < 4/255 per kanaal). Zo volgt het verloop de
     Color Manager i.p.v. vaste hexen: verander je --primary2,
     dan schuift dit mee.

     Bewust background-IMAGE en niet de background-shorthand: de
     Bricks-control "Background" zet background-COLOR via een
     ID-regel die we toch niet winnen. Een dekkende gradient
     dekt die kleur af, dus we hoeven er niet tegenin. */
  --_nav_oc_fill: color-mix(in srgb,
    var(--nav_oc_tint) calc(100% - var(--nav_oc_lighten)),
    var(--nav_oc_tint_light));
  --_nav_oc_glans: linear-gradient(180deg,
    color-mix(in srgb, var(--_nav_oc_fill)
      calc(100% - 18% * var(--nav_oc_gloss) / 100), var(--nav_oc_glow))  0%,
    color-mix(in srgb, var(--_nav_oc_fill)
      calc(100% - 22% * var(--nav_oc_gloss) / 100), var(--nav_oc_glow)) 25%,
    color-mix(in srgb, var(--_nav_oc_fill)
      calc(100% - 27% * var(--nav_oc_gloss) / 100), var(--nav_oc_glow)) 50%,
    color-mix(in srgb, var(--_nav_oc_fill)
      calc(100% - 33% * var(--nav_oc_gloss) / 100), var(--nav_oc_glow)) 75%);
  background-image: var(--_nav_oc_glans);

  /* RELIËF — vijf schaduwlagen die samen bepalen of de knop
     uitsteekt of in een uitsparing ligt. Van binnen naar buiten:
       1. donkere slagschaduw langs één binnenrand
       2. lichte lip langs de tegenoverliggende binnenrand
       3. lichte streep net buiten de knop
       4. haarlijn rondom: de rand zelf
       5. zachte schaduw op het paneel — dit trekt laag 1 naar
          buiten door en bepaalt de leesrichting het sterkst

     De y-offsets vermenigvuldigen met --nav_oc_depth, dus bij
     een NEGATIEVE depth klappen ze allemaal tegelijk om: donker
     verhuist naar onder, licht naar boven, en laag 5 wordt een
     slagschaduw onder de knop. Dat is precies het verschil
     tussen uitstekend en ingedrukt — één knop, geen twee
     recepten, en de overgang loopt vloeiend door 'vlak' heen.

     Blur en dekking mogen niet negatief worden, die lezen de
     absolute waarde: --_nav_oc_force. Geen abs() gebruikt,
     dat is nog te vers; max(x, -x) doet hetzelfde en werkt
     overal.

     LET OP bij tweaken: reken deze percentages hier ter plekke
     uit, hijs ze niet naar :root. Een var() die --nav_oc_depth
     leest en op :root staat, wordt daar al gesubstitueerd —
     depth bestaat daar niet, de hele box-shadow wordt ongeldig
     en valt stil terug op 'none'. Zelfde reden waarom de
     tokens in onderdelen/shadow.css op * staan i.p.v. :root. */
  --_nav_oc_force: max(var(--nav_oc_depth), calc(-1 * var(--nav_oc_depth)));
  box-shadow:
    inset 0 calc(2px * var(--nav_oc_depth)) calc(5px * var(--_nav_oc_force)) 0
      color-mix(in srgb, var(--tscb_shadow_color)
        calc(22% * var(--_nav_oc_force) * var(--tscb_shadow_strength) / 100), transparent),
    inset 0 calc(-1px * var(--nav_oc_depth)) calc(4px * var(--_nav_oc_force)) 0
      color-mix(in srgb, var(--tscb_white) calc(13% * var(--_nav_oc_force)), transparent),
    0 calc(1px * var(--nav_oc_depth)) 0 0
      color-mix(in srgb, var(--tscb_white) calc(34% - 10% * var(--_nav_oc_force)), transparent),
    0 0 0 1px
      color-mix(in srgb, var(--tscb_shadow_color)
        calc(9% * var(--_nav_oc_force) * var(--tscb_shadow_strength) / 100), transparent),
    0 calc(-2px * var(--nav_oc_depth)) calc(6px * var(--_nav_oc_force)) -1px
      color-mix(in srgb, var(--tscb_shadow_color)
        calc(14% * var(--_nav_oc_force) * var(--tscb_shadow_strength) / 100), transparent);

  /* Eén transition-declaratie voor de hele component — twee
     regels die 'm zetten zouden elkaar overschrijven (zelfde
     afspraak als in onderdelen/button.css).
     min-width krijgt bewust z'n eigen, tragere duur: de knop
     mag rustig uitschuiven terwijl de diepte al gedraaid is.
     Dat min-width uit een custom property komt is geen bezwaar
     — de transition kijkt naar de berekende waarde van de
     property, niet naar waar die vandaan kwam. */
  transition:
    box-shadow var(--tscb_anim_hover) var(--tscb_anim_ease),
    translate  var(--tscb_anim_hover) var(--tscb_anim_ease),
    min-width  var(--nav_oc_glide)    var(--tscb_anim_ease);
}

/* Padding: op de <a> zelf, maar bij een item mét subitems op de
   kinderen van de toggle — dat is de indeling die Bricks ook
   voor z'n eigen padding-control aanhoudt. */
.brxe-nav-menu .bricks-mobile-menu > li > a,
.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle > * {
  padding: var(--nav_oc_pad_y) var(--nav_oc_pad_x)
           calc(var(--nav_oc_pad_y) + var(--nav_oc_pad_onder));
  line-height: 1.25;
}

/* Zat als losse #brxe-regel in gradient.css; daar won hij van elke knop
   hierboven. Nu een variabele, en op de plek waar de navigatie staat. */
.brxe-nav-menu .bricks-mobile-menu > li {
  margin-block: var(--nav_oc_item_marge);
}

/* De pagina waar je nú bent is ook donkerder én iets breder dan
   de rest. Bewust alléén op de actieve pagina en niet op hover:
   dan zou de knop onder je muis van breedte springen terwijl je
   'm aanwijst. Het zijn dezelfde knoppen als hierboven, alleen
   met een andere bodem en een andere verlichting — beide worden
   op het element zelf uitgelezen.

   De actieve pagina staat hierdoor op de kale knopkleur van
   .brxe-button; de rest is de lichtere variant daarvan. Let op
   dat het contrast met de witte tekst dus andersom loopt dan je
   zou verwachten: juist de actieve knop is het best leesbaar
   (4.20:1) en de overige items het minst (2.97:1). */
.brxe-nav-menu .bricks-mobile-menu > li > a[aria-current="page"],
.brxe-nav-menu .bricks-mobile-menu > .current-menu-item > .brx-submenu-toggle {
  --nav_oc_lighten: var(--nav_oc_lighten_active);
}

/* Item MÉT subitems: label rechts, caret ernaast — zodat zo'n knop
   hetzelfde oogt als de rest.
   De justify-content op .brx-submenu-toggle komt uit een
   Bricks ID-regel en is van hieruit niet te overschrijven;
   het label laten uitgroeien bereikt hetzelfde zonder dat
   gevecht (en zonder !important). */
.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle > a {
  flex: 1 1 auto;
  justify-content: flex-end;
  text-align: right;
}

.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle > button {
  padding-inline: 0 var(--nav_oc_pad_x);
  background: none;
}

/* De schuinte. Vaste nth-child-regels en geen sibling-index(): die
   functie is nog te vers. Tien is ruim; daarboven blijft een item op de
   breedte van het tiende staan. */
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(1) { --_nav_oc_trap: 0; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(2) { --_nav_oc_trap: 1; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(3) { --_nav_oc_trap: 2; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(4) { --_nav_oc_trap: 3; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(5) { --_nav_oc_trap: 4; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(6) { --_nav_oc_trap: 5; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(7) { --_nav_oc_trap: 6; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(8) { --_nav_oc_trap: 7; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(9) { --_nav_oc_trap: 8; }
.brxe-nav-menu .bricks-mobile-menu > li:nth-child(10) { --_nav_oc_trap: 9; }

/* De twee buitenhoeken van het blok. Logische eigenschappen, zodat ze
   bij een RTL-vertaling vanzelf aan de andere kant komen. */
.brxe-nav-menu .bricks-mobile-menu > li:first-child > a,
.brxe-nav-menu .bricks-mobile-menu > li:first-child > .brx-submenu-toggle {
  border-start-start-radius: var(--nav_oc_hoek);
}
.brxe-nav-menu .bricks-mobile-menu > li:last-child > a,
.brxe-nav-menu .bricks-mobile-menu > li:last-child > .brx-submenu-toggle {
  border-end-start-radius: var(--nav_oc_hoek);
}

/* NIET-ACTIEVE KNOPPEN — horizontaal verloop in plaats van glans.
   De glans loopt van boven naar beneden en zou de linkerkant weer
   dichtzetten; hier telt juist de richting links-rechts.
   Dat de tekst rechts staat is hierbij geen toeval: links is de knop
   bijna doorzichtig, en wit op het lichte paneel zou daar wegvallen. */
.brxe-nav-menu .bricks-mobile-menu > li > a:not([aria-current="page"]),
.brxe-nav-menu .bricks-mobile-menu > li:not(.current-menu-item) > .brx-submenu-toggle {
  background-image:
    radial-gradient(circle at 118% 37%,
      var(--nav_oc_kern) 5%, #3b314de8 var(--nav_oc_kern_maat)),
    linear-gradient(92deg,
      #b7000000 2%,
      color-mix(in srgb, var(--_nav_oc_fill) 4%, #c3212152) var(--nav_oc_wash_begin),
      var(--_nav_oc_fill) var(--nav_oc_wash_vol));
}

/* Aanwijzen haalt de knop uit de niet-actieve behandeling en geeft hem
   het uiterlijk van de huidige pagina, een tikje lichter. Zonder deze
   regel blijft het verloop hierboven staan en verandert er bij hover
   alleen diepte — onder die dekkende vulling zie je daar niets van. */
.brxe-nav-menu .bricks-mobile-menu > li > a:not([aria-current="page"]):hover,
.brxe-nav-menu .bricks-mobile-menu > li > a:not([aria-current="page"]):focus-visible,
.brxe-nav-menu .bricks-mobile-menu > li:not(.current-menu-item) > .brx-submenu-toggle:hover,
.brxe-nav-menu .bricks-mobile-menu > li:not(.current-menu-item) > .brx-submenu-toggle:focus-within {
  --nav_oc_lighten: var(--nav_oc_lighten_hover);
  background-image: var(--_nav_oc_glans);
}

/* Aanwijzen duwt de knop van uitstekend naar ingedrukt. De
   pagina waar je nú op bent staat permanent in diezelfde stand
   — zo is het huidige menu-item herkenbaar zonder een extra
   kleur of streep. Beide op één regel, dus ze kunnen nooit uit
   elkaar gaan lopen.
   :focus-visible loopt mee zodat toetsenbord-navigatie hetzelfde
   signaal geeft als de muis.
   De actief-selectors zijn die van Bricks zelf: het anchor krijgt
   aria-current, de <li> krijgt current-menu-item (die tweede is
   nodig voor een item mét subitems, want dan zit het anchor in
   de .brx-submenu-toggle). */
.brxe-nav-menu .bricks-mobile-menu > li > a:hover,
.brxe-nav-menu .bricks-mobile-menu > li > a:focus-visible,
.brxe-nav-menu .bricks-mobile-menu > li > a[aria-current="page"],
.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle:hover,
.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle:focus-within,
.brxe-nav-menu .bricks-mobile-menu > .current-menu-item > .brx-submenu-toggle {
  --nav_oc_depth: 1.55;
  --nav_oc_btn_min: var(--nav_oc_btn_min_active);
}

.brxe-nav-menu .bricks-mobile-menu > li > a:active,
.brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle:active {
  --nav_oc_depth: 2.1;
  translate: 0 1px;   /* de knop zakt echt een haartje weg */
}

/* ---------------------------------------------------------
   3. SUBITEMS — bewust géén knop.
   Het uitgeklapte niveau blijft platte, ingesprongen tekst;
   dat houdt het verschil tussen niveau 1 en 2 leesbaar.
   De kleur MOET hier gezet worden: Bricks zet de tekst in het
   hele paneel op #fff, en subitems hebben geen achtergrond
   (.sub-menu krijgt background:none !important). Wit op het
   crème paneel is onzichtbaar — dat valt pas op zodra er een
   menu-item met subitems bestaat.
   --------------------------------------------------------- */
.brxe-nav-menu .bricks-mobile-menu .sub-menu > li > a,
.brxe-nav-menu .bricks-mobile-menu .sub-menu > li > .brx-submenu-toggle {
  color: var(--nav_oc_ink);
}

.brxe-nav-menu .bricks-mobile-menu .sub-menu > li > a,
.brxe-nav-menu .bricks-mobile-menu .sub-menu > li > .brx-submenu-toggle > * {
  padding: 0.45em var(--nav_oc_pad_x);
  font-size: 0.8em;
  line-height: 1.35;
  letter-spacing: var(--nav_oc_tracking);
}

/* ---------------------------------------------------------
   4. TOEGANKELIJKHEID — wie beweging heeft uitgezet krijgt
   het diepte-verschil nog steeds, alleen zonder overgang.
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .brxe-nav-menu .bricks-mobile-menu > li > a,
  .brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle {
    transition: none;
  }
  /* Het paneel schuift dan niet meer, het staat er gewoon.
     Via de knop i.p.v. transition:none, zodat de rest van de
     transition-opzet van Bricks intact blijft. */
  .brxe-nav-menu {
    --nav_oc_slide: 0s;
  }
  .brxe-nav-menu .bricks-mobile-menu > li > a:active,
  .brxe-nav-menu .bricks-mobile-menu > li > .brx-submenu-toggle:active {
    translate: none;
  }
}
