/* RAVON Interactieve Kaart – glasaaldashboard. Huisstijl volgens ravon.nl (Elementor-kit, november 2026). */
:root {
	/* Kleuren van ravon.nl */
	--gla-blauw: #00547D;        /* primair: titels, links, tabbladen, tabelkoppen, markers */
	--gla-blauw-donker: #003F5E;
	--gla-blauw-30: #B5CBE0;     /* lichtblauw: provincievlakken, scheidingslijnen */
	--gla-knop: #303880;         /* knoppen zoals "Meer informatie" en "Steun RAVON" */
	--gla-knop-donker: #232A66;
	--gla-oranje: #EA792E;       /* accent: pijllinks, kruimelpad, actief, focus */
	--gla-vlak: #F4F9F5;         /* lichte vlakken en blokken */
	--gla-vlak-2: #EEF9F0;       /* rijen en hover */
	--gla-oranje-30: var(--gla-vlak-2);
	--gla-lijn: #E6E8EC;
	--gla-tekst: #4F4F4F;
	--gla-kop: #2E2E2E;
	--gla-grijs: #5F6368;
	--gla-water: #E6EDF1;
	/* Vorm en letters van ravon.nl */
	--gla-kopletter: "Trebuchet MS", "Segoe UI", sans-serif;
	--gla-radius: 14px;
	--gla-radius-s: 10px;
	--gla-pil: 200px;
}

.gla-kaart, .gla-regios, .gla-lijst, .gla-sectie, .gla-menu, .gla-kruimel, .gla-resnav, .gla-nieuws, .gla-seizoenen, .gla-voet, .gla-volgende, .gla-kenmerken { color: var(--gla-tekst); }
.gla-kaart *, .gla-sectie *, .gla-resnav *, .gla-menu *, .gla-voet * { box-sizing: border-box; }

/* Knoppen ---------------------------------------------------------------- */
.gla-knop, a.gla-knop, .gla-popup a.gla-knop {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 18px; border: 1px solid var(--gla-blauw); border-radius: 0;
	background: var(--gla-blauw); color: #fff !important; font-weight: 700; text-decoration: none; line-height: 1.2;
}
.gla-knop:hover, .gla-knop:focus-visible { background: var(--gla-blauw-donker); color: #fff !important; }
.gla-knop--rand, a.gla-knop--rand { background: #fff; color: var(--gla-blauw) !important; }
.gla-knop--rand:hover { background: var(--gla-oranje-30); color: var(--gla-blauw) !important; }
.gla-knop:focus-visible, .gla-chip:focus-visible, .gla-lijst__rij:focus-visible, .gla-kaart__regio:focus-visible, .gla-menu a:focus-visible, .gla-resnav a:focus-visible, .gla-voet a:focus-visible {
	outline: 3px solid var(--gla-oranje); outline-offset: 2px;
}

/* Dashboardmenu ----------------------------------------------------------- */
.gla-menu { background: #fff; border-bottom: 1px solid var(--gla-lijn); }
.gla-menu__binnen { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; }
.gla-menu__titel { padding: 14px 0; font-weight: 700; font-size: 17px; color: var(--gla-blauw) !important; text-decoration: none; }
.gla-menu__lijst { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 22px; }
.gla-menu__lijst a { display: inline-block; padding: 14px 0 11px; border-bottom: 3px solid transparent; color: var(--gla-blauw) !important; font-weight: 700; font-size: 15px; text-decoration: none; }
.gla-menu__lijst a:hover, .gla-menu__lijst a[aria-current="page"] { border-bottom-color: var(--gla-oranje); }
.gla-menu__extra { margin-left: auto; }
@media (max-width: 767px) { .gla-menu__lijst { gap: 0 16px; } .gla-menu__extra { margin-left: 0; } }

/* Kruimelpad --------------------------------------------------------------- */
.gla-kruimel ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; }
.gla-kruimel li + li::before { content: "›"; margin-right: 6px; color: var(--gla-grijs); }
.gla-kruimel a { color: var(--gla-blauw); }

/* Kaart -------------------------------------------------------------------- */
.gla-kaart { --gla-hoogte: 600px; display: flex; flex-direction: column; gap: 10px; }
.gla-kaart__indeling { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.gla-kaart__regios { flex: 1 1 260px; min-width: 0; }
.gla-kaart__wrap { position: relative; flex: 999 1 520px; min-width: 0; }
.gla-kaart__kaart { height: var(--gla-hoogte); background: var(--gla-water); z-index: 0; }
.gla-kaart--locatie .gla-kaart__kaart { height: min(var(--gla-hoogte), 420px); }
@media (max-width: 767px) { .gla-kaart__kaart { height: min(var(--gla-hoogte), 70vh); } }
.gla-kaart__nojs { padding: 24px; margin: 0; }
.gla-kaart__kop { margin: 0 0 4px; font-size: 20px; font-weight: 700; color: var(--gla-blauw); }
.gla-kaart__hulp { margin: 0 0 12px; font-size: 14px; }
.gla-kaart__regios ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--gla-lijn); }
.gla-kaart__regio { all: unset; box-sizing: border-box; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 8px 12px; border-bottom: 1px solid var(--gla-lijn); }
.gla-kaart__regio:hover { background: var(--gla-oranje-30); }
.gla-kaart__regio[aria-pressed="true"] { background: var(--gla-oranje-30); }
.gla-kaart__regionaam { font-weight: 700; color: var(--gla-blauw); }
.gla-kaart__aantal { font-size: 13px; }
.gla-kaart__reset { margin-top: 12px; min-height: 44px; padding: 0 16px; border: 1px solid var(--gla-blauw); border-radius: 0; background: #fff; color: var(--gla-blauw); font-weight: 700; cursor: pointer; }
.gla-kaart__kaartje { position: absolute; left: 12px; top: 12px; z-index: 500; width: 270px; max-width: calc(100% - 70px); padding: 16px 18px; background: #fff; border-top: 6px solid var(--gla-oranje); box-shadow: 0 4px 16px rgba(0, 0, 0, .15); }
.gla-kaart__kaartje p { margin: 0 0 6px; font-size: 14px; }
.gla-kaart__kaartje-label { font-size: 12px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.gla-kaart__kaartje-titel { font-size: 22px !important; font-weight: 700; color: var(--gla-blauw); }
.gla-kaart__kaartje .gla-knop { width: 100%; margin-top: 6px; }
.gla-kaart__sluit { position: absolute; top: 6px; right: 6px; width: 36px; height: 36px; border: 0; background: transparent; color: var(--gla-blauw); font-size: 22px; cursor: pointer; }
.gla-kaart__legenda { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 13px; }
.gla-kaart__legenda li { display: flex; align-items: center; gap: 8px; }
.gla-kaart__legenda .gla-marker { width: 14px; height: 14px; }

.gla-marker-shell { background: none; border: 0; }
.gla-marker { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--gla-blauw); border: 2px solid #fff; box-shadow: 0 0 0 1.5px var(--gla-blauw); transition: opacity .15s, transform .15s; }
.gla-marker--ring { background: #fff; border: 3px solid var(--gla-blauw); box-shadow: none; }
.gla-marker.is-dim { opacity: .3; }
.gla-marker.is-actief { background: var(--gla-oranje); border-color: var(--gla-blauw); box-shadow: 0 0 0 2px var(--gla-blauw); }
.leaflet-marker-icon:hover .gla-marker, .leaflet-marker-icon:focus .gla-marker { background: var(--gla-oranje); }
.leaflet-marker-icon:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 3px; border-radius: 50%; }

.gla-kaart .leaflet-popup-content-wrapper { border-radius: 0; box-shadow: 0 4px 16px rgba(0, 0, 0, .18); }
.gla-kaart .leaflet-popup-content { margin: 14px 16px 16px; font-size: 14px; line-height: 1.5; }
.gla-popup__meta { margin: 0 0 4px !important; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.gla-popup__titel { margin: 0 0 6px; font-size: 18px; line-height: 1.25; color: var(--gla-blauw); }
.gla-popup__tekst { margin: 0 0 10px !important; }
.gla-popup .gla-knop { width: 100%; }
.gla-popup__link { font-weight: 700; color: var(--gla-blauw); }
.gla-kaart .leaflet-container a.leaflet-popup-close-button { width: 32px; height: 32px; font-size: 22px; color: var(--gla-blauw); }
.gla-kaart .leaflet-bar a { border-radius: 0 !important; color: var(--gla-blauw); width: 36px; height: 36px; line-height: 36px; }

/* Regio's en locaties ------------------------------------------------------ */
.gla-regios { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px 40px; }
.gla-regios__titel { margin: 0 0 10px; padding: 10px 14px; background: var(--gla-blauw); font-size: 18px; }
.gla-regios__titel a { color: #fff !important; text-decoration: none; display: flex; justify-content: space-between; }
.gla-regios__titel a::after { content: "›"; }
.gla-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gla-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 12px; border: 1px solid var(--gla-blauw); color: var(--gla-blauw) !important; font-size: 14px; font-weight: 700; text-decoration: none; }
a.gla-chip:hover { background: var(--gla-oranje-30); }
.gla-chip--stil { border-style: dashed; font-weight: 400; color: var(--gla-tekst) !important; }

.gla-lijst { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--gla-lijn); }
.gla-lijst__rij { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 12px; border-bottom: 1px solid var(--gla-lijn); color: var(--gla-tekst) !important; text-decoration: none; }
a.gla-lijst__rij:hover { background: var(--gla-oranje-30); }
.gla-lijst__naam { flex: 1 1 auto; font-weight: 700; color: var(--gla-blauw); }
.gla-lijst__meta { font-size: 13px; }
.gla-lijst__pijl { color: var(--gla-blauw); font-size: 20px; font-weight: 700; }

.gla-volgende { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid var(--gla-lijn); }
.gla-volgende__paar { display: flex; flex-wrap: wrap; gap: 12px; }

.gla-kenmerken { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gla-kenmerk { display: inline-block; padding: 5px 10px; background: #fff; font-size: 13px; font-weight: 700; }
a.gla-kenmerk--link { border: 1px solid var(--gla-blauw); color: var(--gla-blauw) !important; text-decoration: none; }

/* Secties met tekst en figuur ---------------------------------------------- */
.gla-sectie { padding: 40px 0; border-top: 1px solid var(--gla-lijn); scroll-margin-top: 90px; }
.gla-sectie__titel { margin: 0 0 18px; color: var(--gla-blauw); font-size: 26px; line-height: 1.2; }
.gla-sectie__titel--balk { padding: 10px 16px; background: var(--gla-oranje); color: var(--gla-blauw); font-size: 22px; }
.gla-sectie__inhoud { display: flex; flex-wrap: wrap; gap: 28px 40px; align-items: flex-start; }
.gla-sectie--figuur-links .gla-sectie__inhoud { flex-direction: row-reverse; }
.gla-sectie__tekst { flex: 1 1 320px; min-width: 0; max-width: 70ch; font-size: 17px; line-height: 1.6; }
.gla-sectie__tekst ul { padding-left: 1.2em; }
.gla-sectie__tekst li + li { margin-top: 4px; }
.gla-sectie__figuur { flex: 1 1 380px; min-width: 0; margin: 0; }
.gla-sectie--enkel .gla-sectie__figuur, .gla-sectie--enkel .gla-sectie__tekst { flex-basis: 100%; }
.gla-sectie__figuur img { display: block; width: 100%; height: auto; border: 1px solid var(--gla-lijn); }
.gla-sectie__vergroot { display: block; cursor: zoom-in; }
.gla-sectie__figuur figcaption { margin-top: 8px; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 14px; }

/* Resultatenblok dat meebeweegt ---------------------------------------------- */
.gla-resnav { position: sticky; top: 24px; padding: 18px; background: var(--gla-oranje-30); font-size: 15px; }
.admin-bar .gla-resnav { top: 56px; }
.gla-resnav__kop { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: var(--gla-blauw); }
.gla-resnav ul { list-style: none; margin: 0 0 10px; padding: 0; }
.gla-resnav li a { display: block; padding: 6px 0; color: var(--gla-blauw); font-weight: 700; text-decoration: none; }
.gla-resnav li a:hover { text-decoration: underline; }
.gla-resnav li a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--gla-oranje); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.gla-resnav__vast { border-bottom: 1px solid var(--gla-blauw-30); padding-bottom: 8px !important; }
.gla-resnav__blok { border-bottom: 1px solid var(--gla-blauw-30); }
.gla-resnav__blok summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-weight: 700; color: var(--gla-blauw); list-style: none; }
.gla-resnav__blok summary::-webkit-details-marker { display: none; }
.gla-resnav__blok summary::after { content: "+"; font-size: 20px; }
.gla-resnav__blok[open] summary::after { content: "−"; }
.gla-resnav__blok li a { font-weight: 400; padding-left: 10px; }
.gla-resnav__groep { margin: 6px 0 0; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 1024px) { .gla-resnav { position: static; } }

/* Nieuws --------------------------------------------------------------------- */
.gla-nieuws { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.gla-nieuws__kaart { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gla-lijn); }
.gla-nieuws__beeld img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.gla-nieuws__tekst { padding: 16px 18px 20px; }
.gla-nieuws__tekst p { margin: 0 0 8px; font-size: 15px; line-height: 1.5; }
.gla-nieuws__datum { font-size: 13px !important; }
.gla-nieuws__titel { margin: 0 0 8px; font-size: 19px; line-height: 1.25; }
.gla-nieuws__titel a { color: var(--gla-blauw); text-decoration: none; }
.gla-nieuws__titel a:hover { text-decoration: underline; }
.gla-seizoen { border-top: 1px solid var(--gla-lijn); }
.gla-seizoen summary { min-height: 56px; display: flex; align-items: center; cursor: pointer; font-size: 22px; font-weight: 700; color: var(--gla-blauw); }
.gla-seizoen[open] summary { margin-bottom: 16px; }
.gla-seizoen .gla-nieuws { padding-bottom: 28px; }
.gla-leeg, .gla-hint { font-style: italic; }

/* Vaste onderkant ------------------------------------------------------------- */
.gla-voet { display: flex; flex-direction: column; gap: 20px; }
.gla-voet__tegels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.gla-voet__tegels a { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 14px 20px; background: var(--gla-blauw); color: #fff !important; font-size: 19px; font-weight: 700; text-decoration: none; }
.gla-voet__tegels a::after { content: "›"; font-size: 24px; }
.gla-voet__tegels a:hover { background: var(--gla-blauw-donker); }
.gla-voet__dank { margin: 0; text-align: center; font-size: 17px; }
.gla-voet__dank a { color: var(--gla-blauw); font-weight: 700; }

/* Jaarkeuze boven de kaart -------------------------------------------------------- */
.gla-kaart__balk { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.gla-kaart__balk label { font-weight: 700; color: var(--gla-blauw); }
.gla-kaart__jaar, .gla-kaart__soort { min-height: 44px; min-width: 150px; padding: 0 10px; border: 1px solid var(--gla-blauw); border-radius: 0; background: #fff; color: var(--gla-blauw); font: inherit; font-weight: 700; }
.gla-kaart__jaar:focus-visible, .gla-kaart__soort:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }
.gla-kaart__teller { font-size: 14px; }
.gla-popup__jaren { margin: 0 0 10px !important; font-size: 13px; }

/* Figuren: carrousel en lijst --------------------------------------------------------- */
.gla-figuren { padding: 40px 0; border-top: 1px solid var(--gla-lijn); scroll-margin-top: 90px; }
.gla-figuren__kop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 16px; }
.gla-figuren__titel { margin: 0; color: var(--gla-blauw); font-size: 26px; line-height: 1.2; }
.gla-figuren__nav { display: flex; align-items: center; gap: 8px; }
.gla-figuren__teller { font-size: 14px; margin-right: 6px; }
.gla-figuren__knop { width: 44px; height: 44px; border: 1px solid var(--gla-blauw); border-radius: 0; background: #fff; color: var(--gla-blauw); font-size: 26px; line-height: 1; cursor: pointer; }
.gla-figuren__knop:hover:not(:disabled) { background: var(--gla-oranje-30); }
.gla-figuren__knop:disabled { opacity: .35; cursor: default; }
.gla-figuren__knop:focus-visible, .gla-figuren__stip:focus-visible, .gla-figuren__baan:focus-visible, .gla-figuren__vergroot:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }
.gla-figuren__baan { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: thin; }
.gla-figuren__dia { flex: 0 0 100%; margin: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; }
.gla-figuren__dia img, .gla-figuren__item img { display: block; width: 100%; height: auto; max-height: min(520px, 68vh); object-fit: contain; background: #fff; border: 1px solid var(--gla-lijn); }
.gla-figuren__vergroot { display: block; cursor: zoom-in; }
.gla-figuren figcaption { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 15px; line-height: 1.5; max-width: 80ch; }
.gla-figuren__stippen { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-top: 12px; }
.gla-figuren__stip { width: 28px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.gla-figuren__stip::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; border: 2px solid var(--gla-blauw); background: #fff; }
.gla-figuren__stip[aria-current="true"]::after { background: var(--gla-blauw); }
.gla-figuren__lijst { display: flex; flex-direction: column; gap: 32px; }
.gla-figuren__item { margin: 0; display: flex; flex-direction: column; gap: 10px; }

/* Toelichting boven of onder ----------------------------------------------------------- */
.gla-toelichting { margin: 24px 0; padding: 20px 24px; background: var(--gla-oranje-30); }
.gla-toelichting__titel { margin: 0; color: var(--gla-blauw); font-size: 22px; font-weight: 700; line-height: 1.25; }
.gla-toelichting__tekst { max-width: 75ch; font-size: 17px; line-height: 1.6; }
section.gla-toelichting .gla-toelichting__tekst { margin-top: 10px; }
details.gla-toelichting summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; cursor: pointer; list-style: none; }
details.gla-toelichting summary::-webkit-details-marker { display: none; }
details.gla-toelichting summary:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 4px; }
.gla-toelichting__teken::after { content: "Lees meer +"; font-size: 15px; font-weight: 700; color: var(--gla-blauw); white-space: nowrap; }
details.gla-toelichting[open] .gla-toelichting__teken::after { content: "Inklappen −"; }
details.gla-toelichting[open] .gla-toelichting__tekst { margin-top: 12px; }

/* Tabbladen per soort ------------------------------------------------------------------ */
.gla-soorten { scroll-margin-top: 90px; }
.gla-soorten--tabs { padding-top: 32px; border-top: 1px solid var(--gla-lijn); }
.gla-soorten__tabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 3px solid var(--gla-blauw); }
.gla-soorten__tab { min-height: 48px; padding: 10px 20px; margin: 0 4px 0 0; border: 1px solid var(--gla-blauw); border-bottom: 0; border-radius: 0; background: #fff; color: var(--gla-blauw); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.gla-soorten__tab:hover { background: var(--gla-oranje-30); }
.gla-soorten__tab[aria-selected="true"] { background: var(--gla-blauw); color: #fff; }
.gla-soorten__tab:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }
.gla-soorten__paneel:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 4px; }
.gla-soorten__intro { margin: 20px 0 0; max-width: 75ch; font-size: 17px; line-height: 1.6; }
.gla-soorten__paneel > .gla-figuren:first-child, .gla-soorten__intro + .gla-figuren { border-top: 0; }
@media (max-width: 600px) { .gla-soorten__tab { flex: 1 1 auto; padding: 10px 12px; font-size: 15px; } }

/* Compacte indeling: soortknoppen en tabbladen per onderdeel ----------------------------- */
.gla-soorten--compact { padding-top: 28px; border-top: 1px solid var(--gla-lijn); }
.gla-soorten--compact .gla-soorten__keuze { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 16px; }
.gla-soorten__label { font-weight: 700; color: var(--gla-blauw); }
.gla-soorten--compact .gla-soorten__tabs { border-bottom: 0; gap: 6px; }
.gla-soorten--compact .gla-soorten__tab { min-height: 40px; padding: 6px 16px; margin: 0; border: 1px solid var(--gla-blauw); border-radius: 20px; font-size: 15px; }
.gla-soorten--compact .gla-soorten__intro { margin: 0 0 16px; }
.gla-onderdelen__tabs { display: flex; flex-wrap: wrap; border-bottom: 3px solid var(--gla-blauw); }
.gla-onderdelen__tab { min-height: 48px; padding: 10px 18px; margin: 0 4px 0 0; border: 1px solid var(--gla-blauw); border-bottom: 0; border-radius: 0; background: #fff; color: var(--gla-blauw); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.gla-onderdelen__tab:hover { background: var(--gla-oranje-30); }
.gla-onderdelen__tab[aria-selected="true"] { background: var(--gla-blauw); color: #fff; }
.gla-onderdelen__tab:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }
.gla-onderdelen__aantal { display: inline-block; min-width: 22px; margin-left: 6px; padding: 1px 6px; border-radius: 11px; background: var(--gla-oranje-30); color: var(--gla-blauw); font-size: 12px; line-height: 18px; text-align: center; }
.gla-onderdelen { scroll-margin-top: 90px; }
.gla-figuren--tab { padding: 20px 0 8px; border-top: 0; }
.gla-figuren--tab:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 4px; }
.gla-figuren--tab .gla-figuren__titel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gla-figuren--tab .gla-figuren__kop { justify-content: flex-end; margin-bottom: 12px; min-height: 0; }
.gla-figuren__hint { margin: 0; font-size: 14px; }
@media (max-width: 600px) { .gla-onderdelen__tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; } .gla-onderdelen__tab { flex: 0 0 auto; padding: 10px 14px; font-size: 15px; } }

/* Raster van miniaturen (jaargemiddelden) */
.gla-figuren--raster .gla-figuren__lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.gla-figuren--raster .gla-figuren__item img { height: 170px; max-height: none; object-fit: contain; }
.gla-figuren--raster .gla-figuren__item figcaption { font-size: 14px; }
.gla-figuren--raster .gla-figuren__vergroot:hover img { border-color: var(--gla-blauw); }

/* Vergrootvenster */
.gla-vergroot { width: min(1200px, 94vw); max-height: 94vh; padding: 0; border: 0; border-radius: 0; box-shadow: 0 10px 40px rgba(0,0,0,.35); }
.gla-vergroot::backdrop { background: rgba(31,37,89,.75); }
.gla-vergroot__balk { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; background: var(--gla-blauw); color: #fff; }
.gla-vergroot__knoppen { display: flex; align-items: center; gap: 6px; }
.gla-vergroot__knop, .gla-vergroot__sluit { width: 40px; height: 40px; border: 1px solid #fff; border-radius: 0; background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.gla-vergroot__knop:disabled { opacity: .35; cursor: default; }
.gla-vergroot__open { color: #fff !important; font-weight: 700; padding: 0 8px; }
.gla-vergroot__figuur { margin: 0; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #fff; }
.gla-vergroot__figuur img { display: block; width: 100%; max-height: calc(94vh - 150px); object-fit: contain; }
.gla-vergroot__figuur figcaption { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 15px; }
.gla-vergroot button:focus-visible, .gla-vergroot a:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }

/* Dichtheden ---------------------------------------------------------------------------- */
.gla-marker.is-nul { background: #fff; border: 2px solid var(--gla-blauw); box-shadow: none; opacity: .8; }
.gla-kaart__groottes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.gla-kaart__groottes-bollen { display: inline-flex; align-items: center; gap: 14px; }
.gla-kaart__bol { display: inline-flex; align-items: center; gap: 6px; }
.gla-kaart__bol .gla-marker { display: inline-block; }
.gla-popup__dicht { margin: 4px 0 10px; padding-top: 8px; border-top: 1px solid var(--gla-lijn); }
.gla-popup__dicht p { margin: 0 0 6px !important; font-size: 13px; }
.gla-popup__eenheid { color: var(--gla-grijs); }
.gla-popup__grafiek { display: block; width: 100%; height: auto; }
.gla-figuren--data { padding-top: 20px; }
.gla-dicht__uitleg { margin: 0 0 12px; font-size: 14px; max-width: 80ch; }
.gla-dicht__scroll { overflow-x: auto; border: 1px solid var(--gla-lijn); }
.gla-dicht__scroll:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }
.gla-dicht { border-collapse: collapse; width: 100%; font-size: 13px; font-variant-numeric: tabular-nums; }
.gla-dicht th, .gla-dicht td { padding: 6px 8px; border: 1px solid #fff; text-align: right; white-space: nowrap; }
.gla-dicht thead th { position: sticky; top: 0; background: var(--gla-blauw); color: #fff; font-weight: 700; }
.gla-dicht .gla-dicht__loc { text-align: left; position: sticky; left: 0; background: #fff; color: var(--gla-blauw); font-weight: 700; border-right: 1px solid var(--gla-lijn); white-space: normal; min-width: 150px; }
.gla-dicht thead .gla-dicht__loc { background: var(--gla-blauw); color: #fff; }
.gla-dicht__loc a { color: var(--gla-blauw); }
.gla-dicht__na { background: #fff; color: var(--gla-grijs); text-align: center !important; }
.gla-dicht__gem { font-weight: 700; background: var(--gla-oranje-30); }
.gla-dicht thead .gla-dicht__gem { background: var(--gla-blauw); }
.gla-grafiek__figuur { margin: 0; }
.gla-grafiek { display: block; width: 100%; max-width: 900px; height: auto; }
.gla-grafiek__lijn { stroke: var(--gla-lijn); stroke-width: 1; }
.gla-grafiek__as { font-size: 12px; fill: #000; }
.gla-grafiek__na { font-size: 14px; fill: var(--gla-grijs); }
.gla-grafiek__staaf { fill: var(--gla-blauw); }
.gla-grafiek__staaf--laatst { fill: var(--gla-oranje); stroke: var(--gla-blauw); stroke-width: 1; }
.gla-grafiek__figuur figcaption { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 14px; }
.gla-soorten__leeg { padding: 20px 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Dichtheid in kleurklassen (1.9.0) */
.gla-marker--klasse { border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.55); }
.leaflet-marker-icon:hover .gla-marker--klasse, .leaflet-marker-icon:focus .gla-marker--klasse { box-shadow: 0 0 0 2.5px var(--gla-blauw); }
.gla-marker.is-nul { background: #fff; border: 2px solid #4f565c; box-shadow: none; opacity: 1; }
.gla-marker.is-geen { background: #9aa0a6; border: 1.5px solid #fff; box-shadow: none; opacity: .75; }
.gla-kaart__groottes-bollen { flex-wrap: wrap; gap: 6px 12px; }
.gla-klassen { display: flex; flex-wrap: wrap; gap: 6px 14px; list-style: none; margin: 0 0 10px; padding: 0; font-size: 13px; }
.gla-klassen li { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.gla-klassen__vak { display: inline-block; width: 18px; height: 14px; border: 1px solid rgba(0,0,0,.25); }
.gla-klassen__vak.is-nul { border-color: #4f565c; }
.gla-klassen__vak.is-na { border: 0; text-align: center; line-height: 14px; color: #4f565c; }
.gla-kaart__legenda li[hidden], .gla-kaart__groottes[hidden] { display: none !important; }



/* =====================================================================================
 * Huisstijl ravon.nl (1.12.0)
 * Ronde vormen, pilknoppen, Trebuchet MS voor titels en knoppen, lichte groene vlakken,
 * oranje pijllinks. De lettertypen voor lopende tekst komen van het thema (Roboto).
 * ===================================================================================== */

/* Titels */
.gla-kaart__kop, .gla-resnav__kop, .gla-popup__titel, .gla-nieuws__titel, .gla-kaart__kaartje-titel,
.gla-regios__titel, .gla-rapport__kop, .gla-toelichting__titel, .gla-seizoen summary, .gla-menu__titel {
	font-family: var(--gla-kopletter); font-weight: 500; letter-spacing: -0.6px; color: var(--gla-blauw);
}
.gla-figuren__titel, .gla-sectie__titel { font-weight: 500; letter-spacing: -1px; color: var(--gla-kop); font-size: 28px; }
.gla-sectie__titel--balk { padding: 0; background: none; color: var(--gla-kop); font-size: 28px; }

/* Knoppen: pil, zoals op ravon.nl */
.gla-knop, a.gla-knop, .gla-popup a.gla-knop {
	min-height: 45px; padding: 14px 24px 12px; border: 0; border-radius: var(--gla-pil);
	background: var(--gla-knop); font-family: var(--gla-kopletter); font-size: 15px; font-weight: 700; letter-spacing: -0.4px;
}
.gla-knop:hover, .gla-knop:focus-visible { background: var(--gla-knop-donker); }
.gla-knop--rand, a.gla-knop--rand { background: transparent; border: 1px solid var(--gla-oranje); color: var(--gla-oranje) !important; }
.gla-knop--rand:hover { background: var(--gla-oranje); color: #fff !important; }

/* Tekstlinks in oranje met pijl */
.gla-kruimel a, .gla-popup__link, .gla-voet__dank a { color: var(--gla-oranje); font-family: var(--gla-kopletter); font-weight: 700; letter-spacing: -0.4px; text-decoration: none; }
.gla-kruimel a { font-family: inherit; font-weight: 400; letter-spacing: normal; }
.gla-popup__link::after { content: " →"; }
.gla-kruimel a:hover, .gla-popup__link:hover, .gla-voet__dank a:hover { text-decoration: underline; }
.gla-kruimel li + li::before { content: ">"; color: var(--gla-oranje); }

/* Dashboardmenu */
.gla-menu { border-bottom-color: var(--gla-lijn); }
.gla-menu__lijst a { color: var(--gla-kop) !important; font-family: var(--gla-kopletter); font-weight: 500; letter-spacing: -0.3px; }
.gla-menu__lijst a:hover, .gla-menu__lijst a[aria-current="page"] { color: var(--gla-blauw) !important; border-bottom-color: var(--gla-oranje); }

/* Kaart */
.gla-kaart__kaart { border-radius: var(--gla-radius); overflow: hidden; }
.gla-kaart__regios ul { border-top: 0; display: flex; flex-direction: column; gap: 8px; }
.gla-kaart__regio { min-height: 56px; padding: 10px 14px; border: 1px solid transparent; border-radius: 12px; background: var(--gla-vlak-2); }
.gla-kaart__regio:hover { background: #E2F3E6; }
.gla-kaart__regio[aria-pressed="true"] { background: #fff; border-color: var(--gla-blauw); }
.gla-kaart__regionaam { font-family: var(--gla-kopletter); font-weight: 500; letter-spacing: -0.3px; }
.gla-kaart__aantal { color: var(--gla-tekst); }
.gla-kaart__reset { border: 1px solid var(--gla-oranje); border-radius: var(--gla-pil); color: var(--gla-oranje); background: transparent; font-family: var(--gla-kopletter); padding: 0 20px; }
.gla-kaart__reset:hover { background: var(--gla-oranje); color: #fff; }
.gla-kaart__kaartje { border-top: 0; border-radius: var(--gla-radius); box-shadow: 0 6px 24px rgba(0, 0, 0, .14); }
.gla-kaart__kaartje-label { color: var(--gla-oranje); letter-spacing: .04em; }
.gla-kaart .leaflet-popup-content-wrapper { border-radius: 12px; }
.gla-kaart .leaflet-bar { border: 1px solid var(--gla-lijn) !important; border-radius: var(--gla-radius-s); overflow: hidden; }
.gla-kaart .leaflet-bar a { border-radius: 0 !important; color: var(--gla-blauw); }
.gla-popup__meta { color: var(--gla-oranje); letter-spacing: .04em; }
.gla-kaart__balk label { color: var(--gla-kop); font-family: var(--gla-kopletter); font-weight: 700; letter-spacing: -0.3px; }
.gla-kaart__jaar, .gla-kaart__soort { border: 1px solid #BDBEC0; border-radius: var(--gla-radius-s); color: var(--gla-kop); padding: 0 12px; }
.gla-kaart__jaar:hover, .gla-kaart__soort:hover { border-color: var(--gla-blauw); }
.gla-marker.is-actief { background: var(--gla-oranje); }
.leaflet-marker-icon:hover .gla-marker:not(.gla-marker--klasse), .leaflet-marker-icon:focus .gla-marker:not(.gla-marker--klasse) { background: var(--gla-oranje); }

/* Regio's als kaarten, locaties als chips */
.gla-regios__regio { padding: 20px 22px 22px; background: #fff; border: 1px solid var(--gla-lijn); border-radius: var(--gla-radius); }
.gla-regios__titel { margin: 0 0 14px; padding: 0; background: none; font-size: 20px; }
.gla-regios__titel a { color: var(--gla-blauw) !important; }
.gla-regios__titel a::after { content: "→"; color: var(--gla-oranje); font-weight: 700; }
.gla-chip { min-height: 36px; padding: 6px 14px; border: 0; border-radius: var(--gla-pil); background: var(--gla-vlak-2); color: var(--gla-blauw) !important; font-weight: 500; }
a.gla-chip:hover { background: var(--gla-blauw); color: #fff !important; }
.gla-chip--stil { border: 1px dashed #BDBEC0; background: #fff; color: var(--gla-tekst) !important; }

/* Lijsten als rijen, zoals "Onze manier van werken" */
.gla-lijst { border-top: 0; display: flex; flex-direction: column; gap: 8px; }
.gla-lijst__rij { min-height: 56px; padding: 10px 12px 10px 18px; border: 0; border-radius: 12px; background: var(--gla-vlak-2); color: var(--gla-tekst) !important; }
a.gla-lijst__rij:hover { background: #E2F3E6; }
.gla-lijst__naam { font-family: var(--gla-kopletter); font-weight: 500; letter-spacing: -0.3px; color: var(--gla-blauw); }
.gla-lijst__pijl { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: var(--gla-oranje); font-size: 18px; }
.gla-volgende { border-top-color: var(--gla-lijn); }

/* Labels op de locatiepagina */
.gla-kenmerk { padding: 6px 14px; border-radius: var(--gla-pil); background: var(--gla-vlak-2); color: var(--gla-blauw); font-weight: 500; }
a.gla-kenmerk--link { border: 0; background: var(--gla-vlak-2); }
a.gla-kenmerk--link:hover { background: var(--gla-blauw); color: #fff !important; }

/* Secties en figuren */
.gla-sectie, .gla-figuren, .gla-soorten--tabs, .gla-soorten--compact { border-top-color: var(--gla-lijn); }
.gla-sectie__tekst, .gla-toelichting__tekst, .gla-soorten__intro { font-size: 15.2px; line-height: 1.5; color: var(--gla-tekst); }
.gla-sectie__figuur img, .gla-figuren__dia img, .gla-figuren__item img { border-color: var(--gla-lijn); border-radius: var(--gla-radius-s); }
.gla-sectie__figuur figcaption, .gla-figuren figcaption, .gla-vergroot__figuur figcaption, .gla-grafiek__figuur figcaption {
	font-family: inherit; font-style: italic; font-size: 14px; line-height: 1.5; color: var(--gla-grijs);
}
.gla-figuren__knop { width: 40px; height: 40px; border: 1px solid var(--gla-lijn); border-radius: 50%; background: #fff; color: var(--gla-oranje); font-size: 22px; }
.gla-figuren__knop:hover:not(:disabled) { background: var(--gla-vlak-2); }
.gla-figuren__stip::after { border-color: var(--gla-blauw-30); }
.gla-figuren__stip[aria-current="true"]::after { background: var(--gla-oranje); border-color: var(--gla-oranje); }
.gla-figuren--raster .gla-figuren__vergroot:hover img { border-color: var(--gla-oranje); }

/* Toelichting */
.gla-toelichting { padding: 22px 26px; border-radius: var(--gla-radius-s); background: var(--gla-vlak); }
.gla-toelichting__titel { font-size: 22px; }
.gla-toelichting__teken::after { color: var(--gla-oranje); font-family: var(--gla-kopletter); letter-spacing: -0.4px; }

/* Soortknoppen (pillen) en tabbladen per onderdeel (onderstreept) */
.gla-soorten__label { color: var(--gla-kop); font-family: var(--gla-kopletter); letter-spacing: -0.3px; }
.gla-soorten__tabs { border-bottom-color: var(--gla-blauw); }
.gla-soorten__tab { border-color: var(--gla-blauw); color: var(--gla-blauw); font-family: var(--gla-kopletter); font-weight: 700; letter-spacing: -0.4px; }
.gla-soorten--compact .gla-soorten__tab { min-height: 40px; padding: 8px 18px 6px; border: 1px solid #BDBEC0; border-radius: var(--gla-pil); background: #fff; }
.gla-soorten--compact .gla-soorten__tab:hover { border-color: var(--gla-blauw); background: #fff; }
.gla-soorten__tab[aria-selected="true"], .gla-soorten--compact .gla-soorten__tab[aria-selected="true"] { background: var(--gla-blauw); border-color: var(--gla-blauw); color: #fff; }
.gla-onderdelen__tabs { gap: 4px 26px; border-bottom: 1px solid var(--gla-lijn); }
.gla-onderdelen__tab { min-height: 48px; padding: 12px 0 9px; margin: 0; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: none; color: var(--gla-kop); font-family: var(--gla-kopletter); font-weight: 500; letter-spacing: -0.3px; }
.gla-onderdelen__tab:hover { background: none; color: var(--gla-blauw); border-bottom-color: var(--gla-blauw-30); }
.gla-onderdelen__tab[aria-selected="true"] { background: none; color: var(--gla-blauw); border-bottom-color: var(--gla-oranje); }
.gla-onderdelen__aantal { background: var(--gla-vlak-2); color: var(--gla-blauw); font-family: inherit; }
@media (max-width: 600px) { .gla-onderdelen__tabs { gap: 0 20px; } .gla-onderdelen__tab { padding: 12px 0 9px; } }

/* Vergrootvenster */
.gla-vergroot { border-radius: var(--gla-radius); overflow: hidden; }
.gla-vergroot::backdrop { background: rgba(0, 40, 60, .75); }
.gla-vergroot__balk { background: var(--gla-blauw); }
.gla-vergroot__knop, .gla-vergroot__sluit { border-radius: 50%; border-color: rgba(255,255,255,.6); }

/* Resultatenblok */
.gla-resnav { padding: 22px; border-radius: var(--gla-radius); background: var(--gla-vlak); }
.gla-resnav__kop { font-size: 20px; color: var(--gla-kop); }
.gla-resnav li a { color: var(--gla-blauw); font-family: var(--gla-kopletter); font-weight: 500; letter-spacing: -0.3px; }
.gla-resnav li a[aria-current="page"] { text-decoration-color: var(--gla-oranje); }
.gla-resnav__vast, .gla-resnav__blok { border-color: var(--gla-lijn); }
.gla-resnav__blok summary { color: var(--gla-kop); font-family: var(--gla-kopletter); font-weight: 700; letter-spacing: -0.3px; }
.gla-resnav__blok summary::after { color: var(--gla-oranje); }
.gla-resnav__blok li a { font-family: inherit; font-weight: 400; letter-spacing: normal; }
.gla-resnav__groep { color: var(--gla-grijs); }

/* Nieuws als kaarten van ravon.nl */
.gla-nieuws__kaart { border-color: var(--gla-lijn); border-radius: var(--gla-radius); overflow: hidden; }
.gla-nieuws__titel { font-size: 20px; }
.gla-seizoen { border-top-color: var(--gla-lijn); }

/* Vaste onderkant: rijen met pijl */
.gla-voet__tegels a { min-height: 72px; padding: 14px 16px 14px 22px; border-radius: 12px; background: var(--gla-vlak-2); color: var(--gla-blauw) !important; font-family: var(--gla-kopletter); font-size: 18px; font-weight: 500; letter-spacing: -0.4px; }
.gla-voet__tegels a::after { content: "→"; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: var(--gla-oranje); font-size: 18px; }
.gla-voet__tegels a:hover { background: #E2F3E6; }

/* Dichtheden */
.gla-dicht__scroll { border-color: var(--gla-lijn); border-radius: var(--gla-radius-s); }
.gla-dicht__gem { background: var(--gla-vlak); color: var(--gla-kop); }
.gla-grafiek__staaf--laatst { stroke: none; }
.gla-grafiek__as { fill: var(--gla-tekst); }
.gla-klassen__vak { border-radius: 3px; }


/* Focus overal oranje en rond */
.gla-knop:focus-visible, .gla-chip:focus-visible, .gla-lijst__rij:focus-visible, .gla-kaart__regio:focus-visible, .gla-soorten__tab:focus-visible, .gla-onderdelen__tab:focus-visible, .gla-figuren__knop:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 3px; }

/* Keuzelijsten boven de kaart niet over de volle breedte (thema zet select op 100%) */
.gla-kaart__balk select { width: auto !important; max-width: 100%; display: inline-block; }
p.gla-hint { max-width: 1200px; margin: 8px auto; padding: 0 24px; font-size: 14px; color: var(--gla-grijs); }

/* =====================================================================================
 * Bestaande Elementor-templates van het dashboard (1.12.1)
 * De templates van vóór 1.12 hebben hun kleuren en vormen in Elementor zelf staan
 * (gele kopbalk, blauwe koppen, vierkante knoppen). Deze regels zetten ze om naar de
 * stijl van ravon.nl, zonder dat de templates opnieuw geïmporteerd hoeven te worden.
 * Herkenning via de shortcodes die erin staan (:has), dus alleen op dashboardpagina's.
 * ===================================================================================== */

/* Kopblok van regio- en locatiepagina (bevat het kruimelpad) */
.e-con.e-parent:has(.gla-kruimel) { --background-color: var(--gla-vlak); background-color: var(--gla-vlak) !important; }
.e-con.e-parent:has(.gla-kruimel) h1.elementor-heading-title {
	font-family: var(--gla-kopletter) !important; font-weight: 800 !important; letter-spacing: -1px !important; color: var(--gla-kop) !important;
}
.e-con.e-parent:has(.gla-kruimel) .elementor-widget-heading:not(:has(h1)) .elementor-heading-title { color: var(--gla-blauw) !important; font-weight: 400 !important; }
.e-con.e-parent:has(.gla-kruimel) .elementor-widget-text-editor { color: var(--gla-tekst) !important; }
.e-con.e-parent:has(.gla-kruimel) img { border-radius: 18px; }

/* Ankerknoppen in het kopblok: witte pillen */
.e-con.e-parent:has(.gla-kruimel) .elementor-button {
	padding: 11px 18px 9px !important; border: 1px solid var(--gla-lijn) !important; border-radius: var(--gla-pil) !important;
	background: #fff !important; color: var(--gla-blauw) !important;
	font-family: var(--gla-kopletter) !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -0.4px !important;
}
.e-con.e-parent:has(.gla-kruimel) .elementor-button:hover,
.e-con.e-parent:has(.gla-kruimel) .elementor-button:focus-visible { background: var(--gla-blauw) !important; border-color: var(--gla-blauw) !important; color: #fff !important; }
.e-con.e-parent:has(.gla-kruimel) .elementor-button .elementor-button-text { color: inherit !important; }

/* Koppen naast een dashboardblok (bijv. "Meetlocaties in deze regio", "Ligging") */
.e-con:has(> .elementor-widget-shortcode :is(.gla-kaart, .gla-nieuws, .gla-soorten)) > .elementor-widget-heading .elementor-heading-title,
.e-con:has(> .elementor-widget-shortcode :is(.gla-kaart, .gla-nieuws, .gla-soorten)) > .e-con > .elementor-widget-heading .elementor-heading-title {
	font-family: inherit !important; font-weight: 500 !important; letter-spacing: -1px !important; color: var(--gla-kop) !important;
}
.e-con:has(> .elementor-widget-shortcode .gla-kaart--locatie) { border-color: var(--gla-lijn) !important; }

/* Hoofdinhoud naast het resultatenblok */
.e-con.e-parent:has(.gla-resnav) .elementor-widget-text-editor { color: var(--gla-tekst); }
.gla-kaart__seizoen { flex-basis: 100%; font-size: 13px; color: var(--gla-grijs); }


/* Rapport voor projectpartners: bescheiden regel onderaan (1.14.2) */
.gla-rapport { max-width: 420px; margin: 4px auto 0; font-size: 14px; color: var(--gla-grijs); text-align: center; }
.gla-rapport__regel { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 4px; cursor: pointer; list-style: none; color: var(--gla-grijs); font-size: 14px; text-decoration: underline; text-decoration-color: var(--gla-lijn); text-underline-offset: 3px; }
.gla-rapport__regel::-webkit-details-marker { display: none; }
.gla-rapport__regel::before { content: ""; width: 10px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M2 5V3.5a3 3 0 0 1 6 0V5h1a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1zm1.5 0h3V3.5a1.5 1.5 0 0 0-3 0V5z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M2 5V3.5a3 3 0 0 1 6 0V5h1a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1zm1.5 0h3V3.5a1.5 1.5 0 0 0-3 0V5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.gla-rapport__regel:hover, .gla-rapport[open] .gla-rapport__regel { color: var(--gla-blauw); }
.gla-rapport__regel:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; border-radius: 4px; }
.gla-rapport__inhoud { margin-top: 8px; padding: 14px 16px; border: 1px solid var(--gla-lijn); border-radius: var(--gla-radius-s); background: #fff; text-align: left; }
.gla-rapport__tekst { margin: 0 0 10px; font-size: 13px; line-height: 1.45; }
.gla-rapport form { display: grid; grid-template-columns: 1fr; gap: 6px; }
.gla-rapport label { font-size: 13px; font-weight: 700; color: var(--gla-kop); }
.gla-rapport input[type="password"], .gla-rapport select { width: 100% !important; min-height: 40px; padding: 0 10px; border: 1px solid #BDBEC0; border-radius: var(--gla-radius-s); background: #fff; font: inherit; font-size: 14px; color: var(--gla-kop); }
.gla-rapport input[type="password"]:focus-visible, .gla-rapport select:focus-visible { outline: 3px solid var(--gla-oranje); outline-offset: 2px; }
.gla-rapport__knop { justify-self: start; min-height: 38px; margin-top: 4px; padding: 0 18px; border: 1px solid var(--gla-blauw); border-radius: var(--gla-pil); background: #fff; color: var(--gla-blauw); font-family: var(--gla-kopletter); font-size: 14px; font-weight: 700; cursor: pointer; }
.gla-rapport__knop:hover, .gla-rapport__knop:focus-visible { background: var(--gla-blauw); color: #fff; }
.gla-rapport__fout { margin: 0 0 10px; padding: 6px 10px; border-left: 4px solid #b32d2e; border-radius: 4px; background: #FBEAEA; font-size: 13px; color: var(--gla-kop); }
.gla-rapport__beheer { margin: 0 0 10px; padding: 8px 10px; border-left: 4px solid var(--gla-oranje); border-radius: 4px; background: var(--gla-vlak); font-size: 12px; line-height: 1.45; }
.gla-rapport__beheer a { color: var(--gla-oranje); font-weight: 700; }
.gla-rapport__alleen { color: var(--gla-grijs); }

/* 1.15.1 – Knoppen in de regiolijst beschermen tegen de knopstijl van het thema/Elementor-kit
   (anders donkerblauwe pil met donkere tekst). */
.gla-kaart .gla-kaart__regios button.gla-kaart__regio,
.gla-kaart .gla-kaart__regios button.gla-kaart__regio:focus { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px; width: 100% !important; min-height: 56px; margin: 0 !important; padding: 10px 14px !important; border: 1px solid transparent !important; border-radius: 12px !important; background: var(--gla-vlak-2) !important; color: var(--gla-tekst) !important; box-shadow: none !important; text-align: left !important; text-transform: none !important; font: inherit !important; line-height: 1.3 !important; letter-spacing: normal !important; }
.gla-kaart .gla-kaart__regios button.gla-kaart__regio:hover { background: #E2F3E6 !important; }
.gla-kaart .gla-kaart__regios button.gla-kaart__regio[aria-pressed="true"] { background: #fff !important; border-color: var(--gla-blauw) !important; }
.gla-kaart .gla-kaart__regio .gla-kaart__regionaam { color: var(--gla-blauw) !important; font-family: var(--gla-kopletter); font-weight: 500; font-size: 17px; }
.gla-kaart .gla-kaart__regio .gla-kaart__aantal { color: var(--gla-tekst) !important; font-size: 13px; font-weight: 400; }
.gla-kaart .gla-kaart__regios button.gla-kaart__reset { display: inline-flex !important; align-items: center; min-height: 44px; margin-top: 12px !important; padding: 0 20px !important; border: 1px solid var(--gla-oranje) !important; border-radius: var(--gla-pil) !important; background: transparent !important; color: var(--gla-oranje) !important; box-shadow: none !important; font-family: var(--gla-kopletter) !important; font-size: 15px !important; font-weight: 700 !important; text-transform: none !important; }
.gla-kaart .gla-kaart__regios button.gla-kaart__reset:hover { background: var(--gla-oranje) !important; color: #fff !important; }
.gla-kaart .gla-kaart__regios button.gla-kaart__reset[hidden] { display: none !important; }
.gla-kaart .gla-kaart__balk select { min-height: 40px; padding: 6px 32px 6px 12px; border: 1px solid #c9ced6; border-radius: 8px; background-color: #fff; color: var(--gla-kop); font: inherit; }

/* 1.16.3 – Alle knoppen van het dashboard beschermd tegen de knopstijl van het thema/Elementor-kit
   (donkere pil, witte of onzichtbare tekst bij hover). Zelfde uiterlijk in rust, hover, focus en actief. */
.gla-soorten button, .gla-figuren button, .gla-vergroot button, .gla-kaart button.gla-kaart__sluit, .gla-rapport button { box-shadow: none !important; text-transform: none !important; text-decoration: none !important; transform: none !important; }

/* Soortknoppen (pillen) */
.gla-soorten--compact .gla-soorten__tab,
.gla-soorten--compact .gla-soorten__tab:focus { min-height: 40px !important; margin: 0 !important; padding: 8px 18px 6px !important; border: 1px solid #BDBEC0 !important; border-radius: var(--gla-pil) !important; background: #fff !important; color: var(--gla-blauw) !important; font-family: var(--gla-kopletter) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: -0.4px !important; }
.gla-soorten--compact .gla-soorten__tab:hover { border-color: var(--gla-blauw) !important; background: var(--gla-vlak-2) !important; color: var(--gla-blauw) !important; }
.gla-soorten--compact .gla-soorten__tab[aria-selected="true"],
.gla-soorten--compact .gla-soorten__tab[aria-selected="true"]:hover,
.gla-soorten--compact .gla-soorten__tab[aria-selected="true"]:focus { border-color: var(--gla-blauw) !important; background: var(--gla-blauw) !important; color: #fff !important; }

/* Soortknoppen als tabbladen (zonder compact) */
.gla-soorten:not(.gla-soorten--compact) .gla-soorten__tab { background: #fff !important; color: var(--gla-blauw) !important; border-radius: 0 !important; }
.gla-soorten:not(.gla-soorten--compact) .gla-soorten__tab:hover { background: var(--gla-vlak-2) !important; color: var(--gla-blauw) !important; }
.gla-soorten:not(.gla-soorten--compact) .gla-soorten__tab[aria-selected="true"] { background: var(--gla-blauw) !important; color: #fff !important; }

/* Onderdelen (tabbladen met onderstreping) */
.gla-soorten .gla-onderdelen__tab,
.gla-soorten .gla-onderdelen__tab:focus { min-height: 48px !important; margin: 0 !important; padding: 12px 0 9px !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; background: transparent !important; color: var(--gla-kop) !important; font-family: var(--gla-kopletter) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.3 !important; letter-spacing: -0.3px !important; }
.gla-soorten .gla-onderdelen__tab:hover { background: transparent !important; color: var(--gla-blauw) !important; border-bottom-color: var(--gla-blauw-30) !important; }
.gla-soorten .gla-onderdelen__tab[aria-selected="true"],
.gla-soorten .gla-onderdelen__tab[aria-selected="true"]:hover,
.gla-soorten .gla-onderdelen__tab[aria-selected="true"]:focus { background: transparent !important; color: var(--gla-blauw) !important; border-bottom-color: var(--gla-oranje) !important; }
.gla-soorten .gla-onderdelen__tab .gla-onderdelen__aantal { background: var(--gla-vlak-2) !important; color: var(--gla-blauw) !important; }

/* Carrousel: pijlen, stippen, vergroten */
.gla-figuren .gla-figuren__knop,
.gla-figuren .gla-figuren__knop:focus { display: inline-flex !important; align-items: center; justify-content: center; width: 40px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; border: 1px solid var(--gla-lijn) !important; border-radius: 50% !important; background: #fff !important; color: var(--gla-oranje) !important; font-size: 22px !important; line-height: 1 !important; }
.gla-figuren .gla-figuren__knop:hover:not(:disabled) { background: var(--gla-vlak-2) !important; border-color: var(--gla-oranje) !important; color: var(--gla-oranje) !important; }
.gla-figuren .gla-figuren__knop:disabled { background: #fff !important; color: var(--gla-oranje) !important; opacity: .35; }
.gla-figuren .gla-figuren__stip,
.gla-figuren .gla-figuren__stip:hover,
.gla-figuren .gla-figuren__stip:focus { width: 28px !important; height: 28px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.gla-figuren .gla-figuren__vergroot,
.gla-figuren .gla-figuren__vergroot:hover,
.gla-figuren .gla-figuren__vergroot:focus { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: inherit !important; }
.gla-vergroot .gla-vergroot__knop, .gla-vergroot .gla-vergroot__sluit { width: 40px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; border: 1px solid rgba(255,255,255,.6) !important; border-radius: 50% !important; background: transparent !important; color: #fff !important; font-size: 24px !important; line-height: 1 !important; }
.gla-vergroot .gla-vergroot__knop:hover:not(:disabled), .gla-vergroot .gla-vergroot__sluit:hover { background: rgba(255,255,255,.15) !important; color: #fff !important; }
.gla-kaart button.gla-kaart__sluit, .gla-kaart button.gla-kaart__sluit:hover { padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: var(--gla-blauw) !important; }
.gla-rapport button.gla-rapport__knop { padding: 0 18px !important; border: 1px solid var(--gla-blauw) !important; border-radius: var(--gla-pil) !important; background: #fff !important; color: var(--gla-blauw) !important; }
.gla-rapport button.gla-rapport__knop:hover, .gla-rapport button.gla-rapport__knop:focus-visible { background: var(--gla-blauw) !important; color: #fff !important; }
