/* ==========================================================================
   Cookiebanner — Complianz in de huisstijl

   Vier toestanden uit het ontwerp, allemaal op de HTML die Complianz zelf
   neerzet. Er is niets nagebouwd: de knoppen, de schuifjes en het uitklappen
   blijven van de plugin, zodat de toestemming blijft werken zoals die hoort.

   Welke toestand je ziet, hangt aan één klasse. Complianz zet
   'cmplz-categories-visible' op de banner zodra je op 'Voorkeuren beheren'
   klikt, en haalt hem er weer af. Daar hangt het hele verschil tussen de balk
   en het venster aan:

     breed  + zonder klasse  → balk onderaan over de volle breedte
     breed  + mét klasse     → venster van 600px in het midden
     smal   + zonder klasse  → vel onderaan het scherm
     smal   + mét klasse     → hetzelfde vel, met de categorieën erin

   Alles staat onder '#cmplz-cookiebanner-container'. Dat is één id tegen de
   klassenketens van de plugin, dus deze regels wegen zwaarder, ook als
   Complianz zijn eigen banner-CSS ná deze inlaadt. Waar de plugin zelf
   !important gebruikt, staat het hier ook.
   ========================================================================== */

/* De hele huisstijl van de banner staat in deze waarden; de rest van het
   bestand verwijst er alleen naar.

   Navy draagt alles wat je aanklikt of leest — knoppen, koppen, schuifjes —
   en het goud is het accent: de lijn bovenaan, de links en het label 'Always
   Active'. Dat is geen smaakkwestie: goud op wit haalt de leesbaarheidsnorm
   niet voor tekst van 13 à 14px, en een gevulde gouden knop met wit opschrift
   evenmin. Als accent naast navy valt dat weg.

   De iconen staan als data-URI verderop en halen hun kleur dus niet uit deze
   variabelen. Gaat een kleur om, zoek dan ook op '%230B1F3B' (navy) en
   '%23C2A14D' (goud). */
#cmplz-cookiebanner-container {
	--aer-cb-navy: #0B1F3B;
	--aer-cb-brand: #0B1F3B;
	--aer-cb-gold: #C2A14D;
	--aer-cb-gold-soft: #F9F5ED;
	--aer-cb-text: #3E4C62;
	--aer-cb-line: #D9DDE4;
	--aer-cb-footer: #F5F6F7;
	--aer-cb-switch-off: #CBD5E1;
	--aer-cb-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--aer-cb-font-title: 'Source Serif 4', Georgia, 'Times New Roman', serif;

	/* De variabelen van Complianz zelf meteen goedzetten. Wat hiermee al
	   klopt, hoeft verderop niet nog eens overschreven te worden. */
	--cmplz_banner_background_color: #ffffff;
	--cmplz_banner_border_color: var( --aer-cb-line );
	--cmplz_text_color: var( --aer-cb-text );
	--cmplz_hyperlink_color: var( --aer-cb-gold );
	--cmplz_button_accept_background_color: var( --aer-cb-brand );
	--cmplz_button_accept_border_color: var( --aer-cb-brand );
	--cmplz_button_accept_text_color: #ffffff;
	--cmplz_button_settings_background_color: #ffffff;
	--cmplz_button_settings_border_color: var( --aer-cb-brand );
	--cmplz_button_settings_text_color: var( --aer-cb-brand );
	--cmplz_button_deny_background_color: #ffffff;
	--cmplz_button_deny_border_color: var( --aer-cb-brand );
	--cmplz_button_deny_text_color: var( --aer-cb-brand );
	--cmplz_slider_active_color: var( --aer-cb-brand );
	--cmplz_slider_inactive_color: var( --aer-cb-switch-off );
	--cmplz_slider_bullet_color: #ffffff;
}

/* --- Het paneel zelf ---------------------------------------------------- */

#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner * {
	box-sizing: border-box;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner {
	font-family: var( --aer-cb-font );
	color: var( --aer-cb-text );
	background: #ffffff !important;
	letter-spacing: normal;
}

/* Onderdelen die het ontwerp niet kent. De scheidingslijnen worden hier een
   border op de voet, en de beheerlinks ('Beheer opties', 'Beheer diensten')
   staan niet in het ontwerp.

   De knop 'cmplz-manage-options' is de tweede 'Bekijk voorkeuren' die
   Complianz voor TCF meelevert; die doet hetzelfde als de knop ernaast. */
#cmplz-cookiebanner-container .cmplz-divider,
#cmplz-cookiebanner-container .cmplz-links.cmplz-information,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-manage-options {
	display: none !important;
}

/* --- Tekst -------------------------------------------------------------- */

/* De volle breedte van het blok eromheen. Complianz rekent de tekst anders
   naar de ingestelde bannerbreedte (526px - 42px), ongeacht hoe breed het
   paneel hier werkelijk is; dan breekt de tekst halverwege af. */
#cmplz-cookiebanner-container .cmplz-message {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	color: var( --aer-cb-text ) !important;
	font-size: 14px !important;
	font-weight: 400;
	line-height: 1.5 !important;
}

/* De kop in de schreefletter van de huisstijl. 600 is het zwaarste gewicht
   dat de site van Source Serif 4 inlaadt; vraag je 700, dan rekent de browser
   er zelf een vet lettertype bij en staat de kop er grover op dan elders. */
#cmplz-cookiebanner-container .cmplz-title {
	color: var( --aer-cb-navy ) !important;
	font-family: var( --aer-cb-font-title ) !important;
	font-weight: 600 !important;
	text-align: left;
}

/* Hoogstens twee regels in de balk en op het vel. Een vangnet voor een
   langere tekst uit de instellingen van Complianz: anders groeit het paneel
   over het halve scherm. In het venster staat geen beperking — daar hoort de
   hele tekst te staan en schuift de inhoud desnoods. */
#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-message {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

/* --- Knoppen ------------------------------------------------------------ */

/* Let op: hier staat bewust géén 'display'. Deze selector raakt élke knop,
   dus een display-waarde hier zou het tonen en verbergen hieronder — en dat
   van Complianz zelf — overrulen, waardoor alle vijf de knoppen tegelijk in
   beeld komen. Welke knop zichtbaar is, staat verderop per toestand. */
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn {
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-height: 41px !important;
	height: 41px;
	margin: 0 !important;
	padding: 0 24px !important;
	/* Eén pixel, en dat geldt voor alle vier de toestanden: dit is de enige
	   plek waar de rand van een knop wordt gezet. De knoppen rekenen met
	   'box-sizing: border-box' (bovenin dit bestand), dus ze blijven precies
	   even hoog — alleen de lijn wordt dunner. */
	border-width: 1px !important;
	border-style: solid !important;
	border-radius: 0 !important;
	font-family: var( --aer-cb-font );
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 17px !important;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept {
	background-color: var( --aer-cb-brand ) !important;
	border-color: var( --aer-cb-brand ) !important;
	color: #ffffff !important;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
	background-color: #ffffff !important;
	border-color: var( --aer-cb-brand ) !important;
	color: var( --aer-cb-brand ) !important;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept:focus-visible {
	background-color: #091829 !important;
	background-color: color-mix( in srgb, var( --aer-cb-brand ) 82%, #000 ) !important;
	border-color: color-mix( in srgb, var( --aer-cb-brand ) 82%, #000 ) !important;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny:focus-visible,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences:focus-visible,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences:focus-visible {
	background-color: color-mix( in srgb, var( --aer-cb-brand ) 8%, #fff ) !important;
}

/* --- Welke knop wanneer -------------------------------------------------

   Drie knoppen per toestand. In de balk opent 'Voorkeuren beheren' het
   venster; in dat venster is 'Voorkeuren opslaan' zijn vervanger. Weigeren en
   accepteren staan er altijd.

   Het hangt aan dezelfde klasse als de rest van de opmaak, en niet aan de
   inline-stijl die Complianz zelf op die twee knoppen zet. Zo is er één bron
   voor wat je ziet, en kan de ene toestand de andere niet overlappen. */

#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-btn.cmplz-save-preferences {
	display: inline-flex !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-btn.cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-btn.cmplz-view-preferences {
	display: none !important;
}

/* In de HTML staat accepteren vooraan; in het ontwerp staat het rechts.
   Omdraaien met order en niet in de HTML: die komt bij elke update van de
   plugin terug. Op smalle schermen draait het verderop weer om. */
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny {
	order: 1;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
	order: 2;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept {
	order: 3;
}

/* --- Links naar de verklaringen ----------------------------------------- */

/* Complianz zet deze links in de gegenereerde CSS onvoorwaardelijk op
   display:none; het ontwerp heeft ze wel. */
/* Links uitlijnen: Complianz centreert deze rij. Het omhulsel én de lijst
   erin moeten het allebei weten, anders staat de lijst alsnog in het midden
   van een omhulsel dat wél de volle breedte heeft. Op smalle schermen zet de
   mediaquery onderaan het weer in het midden. */
#cmplz-cookiebanner-container .cmplz-links.cmplz-documents {
	justify-content: flex-start !important;
	margin: 0 !important;
	padding: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-links.cmplz-documents ul {
	display: flex !important;
	flex-wrap: wrap;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

/* De volgorde uit het ontwerp: beleid, disclaimer, privacy. In de HTML van
   Complianz staat de disclaimer (daar 'impressum') achteraan, dus de twee
   laatste wisselen van plek. */
#cmplz-cookiebanner-container .cmplz-links.cmplz-documents li:nth-child( 2 ) {
	order: 3;
}

#cmplz-cookiebanner-container .cmplz-links.cmplz-documents li:nth-child( 3 ) {
	order: 2;
}

/* Het lettertype staat er expliciet bij. De Elementor-kit van deze site zet
   'font-family: Poppins' op de kale 'a', en een regel op het element zelf
   wint altijd van wat de banner eromheen doorgeeft — dan staan alleen deze
   drie links in een ander lettertype dan de rest van het paneel. */
#cmplz-cookiebanner-container .cmplz-links.cmplz-documents .cmplz-link {
	display: inline-block !important;
	margin: 0 !important;
	font-family: var( --aer-cb-font ) !important;
	color: var( --aer-cb-gold ) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 16px !important;
	text-decoration: none !important;
}

#cmplz-cookiebanner-container .cmplz-links.cmplz-documents .cmplz-link:hover,
#cmplz-cookiebanner-container .cmplz-links.cmplz-documents .cmplz-link:focus-visible {
	text-decoration: underline !important;
}

/* --- Kop: koekje, titel, kruisje ---------------------------------------- */

/* De lege <div class="cmplz-logo"> van de plugin wordt het koekje. Scheelt
   een extra element en hij staat al op de goede plek. */
#cmplz-cookiebanner-container .cmplz-logo {
	display: block !important;
	flex: none;
	width: 24px;
	height: 24px;
	background: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3E%3Cpath%20d='M12.058%2022C16.973%2022%2021.064%2018.494%2021.942%2013.859C22.2%2012.497%2021.593%2012.569%2020.31%2012.344C19.4%2012.184%2018.55%2011.567%2018.233%2010.588C18.018%209.922%2017.938%209.895%2017.235%209.866C15.786%209.806%2014.625%208.269%2015.203%207.026C15.419%206.562%2015.412%206.509%2015.008%206.194C14.301%205.644%2013.971%204.617%2014.098%203.626C14.235%202.559%2014.315%202.175%2013.185%202.055C7.457%201.445%202%206.02%202%2011.995C2%2017.52%206.503%2022%2012.058%2022Z'%20stroke='%23C2A14D'%20stroke-width='1.5'/%3E%3Cpath%20d='M12.008%2018H11.998'%20stroke='%23C2A14D'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M10%206L9%207M17%2014L16%2015M7%2015L8%2016'%20stroke='%23C2A14D'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M11.125%2012H11M6.125%2010H6M11.25%2012C11.25%2012.0663%2011.2237%2012.1299%2011.1768%2012.1768C11.1299%2012.2237%2011.0663%2012.25%2011%2012.25C10.9337%2012.25%2010.8701%2012.2237%2010.8232%2012.1768C10.7763%2012.1299%2010.75%2012.0663%2010.75%2012C10.75%2011.9337%2010.7763%2011.8701%2010.8232%2011.8232C10.8701%2011.7763%2010.9337%2011.75%2011%2011.75C11.0663%2011.75%2011.1299%2011.7763%2011.1768%2011.8232C11.2237%2011.8701%2011.25%2011.9337%2011.25%2012ZM6.25%2010C6.25%2010.0663%206.22366%2010.1299%206.17678%2010.1768C6.12989%2010.2237%206.0663%2010.25%206%2010.25C5.9337%2010.25%205.87011%2010.2237%205.82322%2010.1768C5.77634%2010.1299%205.75%2010.0663%205.75%2010C5.75%209.9337%205.77634%209.87011%205.82322%209.82322C5.87011%209.77634%205.9337%209.75%206%209.75C6.0663%209.75%206.12989%209.77634%206.17678%209.82322C6.22366%209.87011%206.25%209.9337%206.25%2010Z'%20stroke='%23C2A14D'%20stroke-width='1.5'%20stroke-linecap='round'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

/* Het aangeleverde kruisje, inclusief het grijze rondje: het hele icoon is
   de achtergrond, de <svg> van Complianz zelf gaat weg. Het klikvlak blijft
   de <div> van de plugin, dus het sluiten blijft van Complianz. */
#cmplz-cookiebanner-container .cmplz-close {
	display: block !important;
	flex: none;
	width: 26px !important;
	height: 26px !important;
	padding: 0 !important;
	border-radius: 100px;
	background: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='26'%20height='26'%20viewBox='0%200%2026%2026'%20fill='none'%3E%3Crect%20width='26'%20height='26'%20rx='13'%20fill='%230B1F3B'%20fill-opacity='0.0392157'/%3E%3Cpath%20d='M18.52%208.18666L17.8133%207.48L13%2012.2933L8.18665%207.48L7.47998%208.18666L12.2933%2013L7.47998%2017.8133L8.18665%2018.52L13%2013.7067L17.8133%2018.52L18.52%2017.8133L13.7066%2013L18.52%208.18666Z'%20fill='%230B1F3B'/%3E%3C/svg%3E" ) center / 26px 26px no-repeat;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer;
}

#cmplz-cookiebanner-container .cmplz-close:hover {
	opacity: 0.75;
	font-size: 0 !important;
}

/* Complianz zet bij het openen de focus op het kruisje, dus zónder deze regel
   krijgt élke bezoeker de zwarte focusring van de browser om dat rondje — plus
   een witte gloed van vier pixels die het grijze vlak eromheen wegdrukt. Met
   de muis hoort daar niets te staan; wie met het toetsenbord navigeert moet
   juist wél zien waar hij is, en die krijgt hieronder zijn eigen ring. */
#cmplz-cookiebanner-container .cmplz-close:focus {
	outline: none;
	box-shadow: none !important;
}

#cmplz-cookiebanner-container .cmplz-close:focus-visible {
	outline: 2px solid var( --aer-cb-navy );
	outline-offset: 2px;
}

#cmplz-cookiebanner-container .cmplz-close svg {
	display: none !important;
}

/* --- Categorieën: de kaarten -------------------------------------------- */

#cmplz-cookiebanner-container .cmplz-categories.cmplz-fade-in {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	width: 100% !important;
	max-width: none !important;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category {
	margin: 0 !important;
	padding: 16px !important;
	border: 1px solid var( --aer-cb-line ) !important;
	border-radius: 8px !important;
	background-color: #ffffff !important;
}

/* Het pijltje staat in het ontwerp vóór de titel, bij Complianz erachter.
   De kolommen liggen hier dus vast: pijltje, titel, schuifje of label. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-header {
	display: grid !important;
	grid-template-columns: 16px minmax( 0, 1fr ) auto !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 0 !important;
}

/* Alle drie expliciet op rij 1. In de HTML staat het pijltje ná de titel en
   het schuifje; zonder deze regel plaatst het raster dat pijltje in kolom 1
   van een twééde rij — een raster plaatst nooit terug naar links. Dat gaf de
   knop onder de titel en een lege regel boven de toelichting. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-toggle {
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: 16px;
	height: 16px;
	/* Geen achtergrond en geen rand: dit is een <button>, en de
	   Elementor-kit van deze site geeft elke kale knop een amberkleurige
	   vulling (#ffc03d) met een donkere vulling bij aanwijzen. Complianz zet
	   hem zelf ook al leeg en weegt daar nu zwaarder, maar dan hangt het
	   pijltje wel aan de CSS van de plugin. */
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #3E4C62;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-toggle:hover,
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-toggle:focus {
	background: none !important;
}

/* De eerste knop krijgt bij het openen van het venster de aandacht van
   Complianz; een standaard focusring van de browser valt daar hard in. Met
   het toetsenbord blijft hij zichtbaar. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-toggle:focus {
	outline: none;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-toggle:focus-visible {
	outline: 2px solid var( --aer-cb-brand );
	outline-offset: 3px;
	border-radius: 2px;
}

/* Het aangeleverde pijltje. Complianz draait dit element 180 graden zodra de
   categorie openstaat, dus de achtergrond draait vanzelf mee. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-icon.cmplz-open {
	display: block;
	width: 16px;
	height: 16px;
	background: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%3E%3Cpath%20d='M4%206L8%2010L12%206'%20stroke='%230B1F3B'%20stroke-width='2'%20stroke-linecap='round'/%3E%3C/svg%3E" ) center / 16px 16px no-repeat !important;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-icon.cmplz-open svg {
	display: none !important;
}

/* De hele regel klikt, niet alleen het pijltje van 16 bij 16. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-title {
	cursor: pointer;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-title {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	margin: 0 !important;
	color: var( --aer-cb-navy ) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 18px !important;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox,
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-always-active {
	grid-column: 3 !important;
	grid-row: 1 !important;
	justify-self: end !important;
}

/* --- 'Altijd actief' ----------------------------------------------------- */

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-always-active {
	display: inline-flex !important;
	align-items: center;
	padding: 4px 8px !important;
	border-radius: 4px;
	background-color: var( --aer-cb-gold-soft );
	color: var( --aer-cb-gold ) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 15px !important;
	white-space: nowrap;
}

/* In dat label zit ook nog het (uitgeschakelde) vinkje van de plugin. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-always-active .cmplz-banner-checkbox {
	display: none !important;
}

/* --- Het schuifje -------------------------------------------------------- */

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox {
	position: relative;
	display: block !important;
	width: 40px;
	height: 22px;
	margin: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox {
	top: 0 !important;
	left: 0 !important;
	width: 40px !important;
	height: 22px !important;
	margin: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label {
	display: block !important;
	width: 40px;
	height: 22px;
	padding: 0 !important;
	margin: 0 !important;
}

/* De baan */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before {
	top: 0 !important;
	left: 0 !important;
	width: 40px !important;
	height: 22px !important;
	padding: 0 !important;
	border-radius: 11px !important;
	background-color: var( --aer-cb-switch-off ) !important;
}

/* De knop */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
	top: 2px !important;
	left: 2px !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.12 );
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before {
	background-color: var( --aer-cb-brand ) !important;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after {
	left: 20px !important;
}

/* --- De uitklaptekst ----------------------------------------------------- */

/* Uitgelijnd met de titel: 16px pijltje plus 12px tussenruimte. */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-description {
	margin: 0 !important;
	padding: 12px 0 0 28px !important;
	color: var( --aer-cb-text ) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

/* ==========================================================================
   Breed (vanaf 1025px): de balk en het venster

   Het breekpunt ligt hoger dan de 768px van Complianz zelf: op een tablet is
   een balk met drie knoppen naast de tekst te krap, dus daar begint het vel
   onderaan het scherm al.
   ========================================================================== */

@media ( min-width: 1025px ) {

	/* --- Toestand 1: balk onderaan --- */

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ):not( .cmplz-hidden ):not( .cmplz-dismissed ) {
		position: fixed;
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		max-height: none !important;
		transform: none !important;
		display: grid !important;
		grid-template-columns: 40px minmax( 0, 860px ) 1fr auto;
		grid-template-areas:
			"icon msg  .    actions"
			"icon docs .    actions";
		align-items: center;
		gap: 6px 24px !important;
		/* Buiten 1440px groeit de marge mee, zodat de inhoud op 1280px blijft
		   staan en gecentreerd; daaronder blijft het 80px. */
		padding: 24px max( 80px, calc( ( 100% - 1280px ) / 2 ) ) !important;
		border: 0 !important;
		/* De gouden lijn uit de huisstijl. Hij ligt op de rand zelf en niet op
		   een pseudo-element: die plek is in de balk al bezet door het
		   koekje, en zo loopt de lijn vanzelf met de ronding mee. */
		border-top: 2px solid var( --aer-cb-gold ) !important;
		border-radius: 16px 16px 0 0 !important;
		box-shadow: 4px 4px 20px rgba( 0, 0, 0, 0.04 ) !important;
		overflow: visible !important;
	}

	/* Het koekje in de blauwe cirkel is een pseudo-element: in de balk staat
	   de kop van Complianz (met logo, titel en kruisje) niet in beeld. */
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible )::before {
		content: "";
		grid-area: icon;
		align-self: center;
		width: 40px;
		height: 40px;
		border-radius: 20px;
		background: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%3E%3Crect%20width='40'%20height='40'%20rx='20'%20fill='%23F5F6F7'/%3E%3Cpath%20d='M20.058%2030C24.973%2030%2029.064%2026.494%2029.942%2021.859C30.2%2020.497%2029.593%2020.569%2028.31%2020.344C27.4%2020.184%2026.55%2019.567%2026.233%2018.588C26.018%2017.922%2025.938%2017.895%2025.235%2017.866C23.786%2017.806%2022.625%2016.269%2023.203%2015.026C23.419%2014.562%2023.412%2014.509%2023.008%2014.194C22.301%2013.644%2021.971%2012.617%2022.098%2011.626C22.235%2010.559%2022.315%2010.175%2021.185%2010.055C15.457%209.445%2010%2014.02%2010%2019.995C10%2025.52%2014.503%2030%2020.058%2030Z'%20stroke='%230B1F3B'%20stroke-width='1.5'/%3E%3Cpath%20d='M20.008%2026H19.998'%20stroke='%230B1F3B'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M18%2014L17%2015M25%2022L24%2023M15%2023L16%2024'%20stroke='%230B1F3B'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M19.125%2020H19M14.125%2018H14M19.25%2020C19.25%2020.0663%2019.2237%2020.1299%2019.1768%2020.1768C19.1299%2020.2237%2019.0663%2020.25%2019%2020.25C18.9337%2020.25%2018.8701%2020.2237%2018.8232%2020.1768C18.7763%2020.1299%2018.75%2020.0663%2018.75%2020C18.75%2019.9337%2018.7763%2019.8701%2018.8232%2019.8232C18.8701%2019.7763%2018.9337%2019.75%2019%2019.75C19.0663%2019.75%2019.1299%2019.7763%2019.1768%2019.8232C19.2237%2019.8701%2019.25%2019.9337%2019.25%2020ZM14.25%2018C14.25%2018.0663%2014.2237%2018.1299%2014.1768%2018.1768C14.1299%2018.2237%2014.0663%2018.25%2014%2018.25C13.9337%2018.25%2013.8701%2018.2237%2013.8232%2018.1768C13.7763%2018.1299%2013.75%2018.0663%2013.75%2018C13.75%2017.9337%2013.7763%2017.8701%2013.8232%2017.8232C13.8701%2017.7763%2013.9337%2017.75%2014%2017.75C14.0663%2017.75%2014.1299%2017.7763%2014.1768%2017.8232C14.2237%2017.8701%2014.25%2017.9337%2014.25%2018Z'%20stroke='%230B1F3B'%20stroke-width='1.5'%20stroke-linecap='round'/%3E%3C/svg%3E" ) center / 40px 40px no-repeat;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-header {
		display: none !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-body {
		grid-area: msg;
		width: auto !important;
		min-width: 0 !important;
		max-width: 860px !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-links.cmplz-documents {
		grid-area: docs;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-links.cmplz-documents ul {
		justify-content: flex-start !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-categories-visible ) .cmplz-buttons {
		grid-area: actions;
		align-self: center;
		justify-content: flex-end;
		gap: 12px !important;
	}

	/* --- Toestand 2: venster in het midden --- */

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible:not( .cmplz-hidden ):not( .cmplz-dismissed ) {
		position: fixed;
		top: 50% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		transform: translate( -50%, -50% ) !important;
		display: flex !important;
		flex-direction: column;
		width: 600px !important;
		min-width: 0 !important;
		max-width: calc( 100vw - 32px ) !important;
		max-height: calc( 100vh - 48px ) !important;
		gap: 0 !important;
		padding: 0 !important;
		border: 1px solid var( --aer-cb-line ) !important;
		border-top: 2px solid var( --aer-cb-gold ) !important;
		border-radius: 12px !important;
		/* De tweede schaduw is het donkere vlak achter het venster: een
		   slagschaduw van 100vmax dekt het hele scherm. Zo hoeft er geen
		   extra element in de HTML van de plugin, en een pseudo-element zou
		   hier toch wegvallen tegen de 'overflow: hidden' hieronder. */
		box-shadow:
			0 12px 32px -8px rgba( 0, 0, 0, 0.08 ),
			0 0 0 100vmax rgba( 0, 0, 0, 0.6 ) !important;
		overflow: hidden !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-header {
		display: grid !important;
		grid-template-columns: auto minmax( 0, 1fr ) auto !important;
		align-items: center;
		gap: 8px !important;
		margin: 0 !important;
		padding: 24px 32px 16px !important;
		max-height: none !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-title {
		grid-column: 2 !important;
		justify-self: start !important;
		font-size: 24px !important;
		line-height: 29px !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-body {
		display: flex !important;
		flex-direction: column;
		gap: 20px;
		width: 100% !important;
		max-width: none !important;
		max-height: 55vh !important;
		margin: 0 !important;
		padding: 0 32px 24px !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons {
		gap: 12px !important;
		margin: 0 !important;
		padding: 16px 32px 0 !important;
		border-top: 1px solid var( --aer-cb-line );
		background-color: var( --aer-cb-footer );
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-links.cmplz-documents {
		padding: 16px 32px 8px !important;
		background-color: var( --aer-cb-footer );
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-links.cmplz-documents ul {
		justify-content: flex-start !important;
	}
}

/* ==========================================================================
   Smal (tot en met 1024px, dus ook tablets): het vel onderaan het scherm
   ========================================================================== */

@media ( max-width: 1024px ) {

	#cmplz-cookiebanner-container .cmplz-cookiebanner:not( .cmplz-hidden ):not( .cmplz-dismissed ) {
		position: fixed;
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		/* Het vel kan met de vinger omlaag geschoven worden. De verplaatsing
		   loopt via een eigen variabele: een inline 'transform' zou het van
		   deze regel met !important verliezen, een variabele niet. De
		   overgang staat er zonder !important, zodat het script hem tijdens
		   het slepen even uit kan zetten. */
		transform: translateY( var( --aer-cb-drag, 0px ) ) !important;
		transition: transform 0.28s cubic-bezier( 0.22, 0.61, 0.36, 1 );
		/* De browser weet zo dat juist deze eigenschap gaat bewegen en zet
		   het vel op een eigen laag; dat scheelt haperingen tijdens het
		   slepen. */
		will-change: transform;
		display: flex !important;
		flex-direction: column;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		max-height: calc( 100vh - 24px ) !important;
		gap: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-top: 2px solid var( --aer-cb-gold ) !important;
		border-radius: 16px 16px 0 0 !important;
		box-shadow: 0 -4px 20px rgba( 0, 0, 0, 0.06 ) !important;
		overflow: hidden !important;
	}

	/* Het greepje bovenaan het vel. */
	#cmplz-cookiebanner-container .cmplz-cookiebanner::before {
		content: "";
		flex: none;
		width: 36px;
		height: 4px;
		margin: 8px auto 4px;
		border-radius: 2px;
		background: var( --aer-cb-line );
	}

	#cmplz-cookiebanner-container .cmplz-header {
		display: grid !important;
		grid-template-columns: auto minmax( 0, 1fr ) auto !important;
		align-items: center;
		gap: 8px !important;
		margin: 0 !important;
		padding: 8px 24px !important;
		max-height: none !important;
	}

	#cmplz-cookiebanner-container .cmplz-title {
		display: block !important;
		grid-column: 2 !important;
		justify-self: start !important;
		font-size: 18px !important;
		line-height: 22px !important;
	}

	#cmplz-cookiebanner-container .cmplz-body {
		display: flex !important;
		flex-direction: column;
		gap: 16px;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		max-height: 50vh !important;
		margin: 0 !important;
		padding: 4px 24px 24px !important;
	}

	#cmplz-cookiebanner-container .cmplz-message {
		font-size: 13px !important;
	}

	#cmplz-cookiebanner-container .cmplz-categories.cmplz-fade-in {
		gap: 8px;
	}

	#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before {
		background-color: var( --aer-cb-line ) !important;
	}

	/* De voet: knoppen onder elkaar, accepteren bovenaan. */
	#cmplz-cookiebanner-container .cmplz-buttons {
		flex-direction: column !important;
		gap: 8px !important;
		margin: 0 !important;
		padding: 16px 24px 0 !important;
		border-top: 1px solid var( --aer-cb-line );
		background-color: var( --aer-cb-footer );
	}

	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn {
		width: 100% !important;
		padding: 0 16px !important;
	}

	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-accept {
		order: 1;
	}

	/* Weigeren direct onder accepteren, zodat de twee even zwaar wegen. */
	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-deny {
		order: 2;
	}

	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
		order: 3;
	}

	#cmplz-cookiebanner-container .cmplz-links.cmplz-documents {
		justify-content: center !important;
		padding: 16px 24px 8px !important;
		background-color: var( --aer-cb-footer );
	}

	#cmplz-cookiebanner-container .cmplz-links.cmplz-documents ul {
		justify-content: center !important;
	}
}

/* ==========================================================================
   'Beheer toestemming' — de knop rechtsonder na het sluiten

   Deze knop staat buiten de banner, dus buiten de variabelen hierboven; zonder
   deze regels houdt hij de oude donkerblauw-oranje instelling uit de database.
   Complianz blijft hem zelf tonen en verbergen (klasse cmplz-dismissed), hier
   staat alleen hoe hij eruitziet. Onder 768px verbergt de plugin hem zelf.
   ========================================================================== */

#cmplz-manage-consent .cmplz-manage-consent {
	height: 44px !important;
	padding: 12px 20px !important;
	/* Hij steekt er standaard maar een randje bovenuit en schuift bij
	   aanwijzen omhoog. Complianz doet dat met twee animaties die al bij het
	   laden aflopen; met een overgang op één eigenschap staat hij altijd in
	   dezelfde beginstand, ook als de knop pas later verschijnt. */
	bottom: -30px !important;
	animation: none !important;
	transition: bottom 0.3s ease !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: #0B1F3B !important;
	color: #ffffff !important;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 17px !important;
}

#cmplz-manage-consent .cmplz-manage-consent:hover,
#cmplz-manage-consent .cmplz-manage-consent:focus {
	bottom: 0 !important;
	animation: none !important;
}

/* ==========================================================================
   Smal: 'Beheer voorkeuren' wordt het zwevende koekje

   Dezelfde knop als hierboven, maar rond en met het icoon erin, 16px van de
   onderkant en de rechterkant. Complianz verbergt hem onder 768px helemaal;
   zonder knop zou er op een telefoon geen weg terug naar de banner zijn.
   Dit blok staat ná het blok hierboven, zodat het daarvan wint.
   ========================================================================== */

@media ( max-width: 1024px ) {

	#cmplz-manage-consent .cmplz-manage-consent {
		display: block !important;
		width: 56px !important;
		min-width: 0 !important;
		height: 56px !important;
		right: 16px !important;
		bottom: 16px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: url( "data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%3E%3Crect%20width='40'%20height='40'%20rx='20'%20fill='%230B1F3B'/%3E%3Cpath%20d='M20.058%2030C24.973%2030%2029.064%2026.494%2029.942%2021.859C30.2%2020.497%2029.593%2020.569%2028.31%2020.344C27.4%2020.184%2026.55%2019.567%2026.233%2018.588C26.018%2017.922%2025.938%2017.895%2025.235%2017.866C23.786%2017.806%2022.625%2016.269%2023.203%2015.026C23.419%2014.562%2023.412%2014.509%2023.008%2014.194C22.301%2013.644%2021.971%2012.617%2022.098%2011.626C22.235%2010.559%2022.315%2010.175%2021.185%2010.055C15.457%209.445%2010%2014.02%2010%2019.995C10%2025.52%2014.503%2030%2020.058%2030Z'%20stroke='white'%20stroke-width='1.5'/%3E%3Cpath%20d='M20.008%2026H19.998'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M18%2014L17%2015M25%2022L24%2023M15%2023L16%2024'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3Cpath%20d='M19.125%2020H19M14.125%2018H14M19.25%2020C19.25%2020.0663%2019.2237%2020.1299%2019.1768%2020.1768C19.1299%2020.2237%2019.0663%2020.25%2019%2020.25C18.9337%2020.25%2018.8701%2020.2237%2018.8232%2020.1768C18.7763%2020.1299%2018.75%2020.0663%2018.75%2020C18.75%2019.9337%2018.7763%2019.8701%2018.8232%2019.8232C18.8701%2019.7763%2018.9337%2019.75%2019%2019.75C19.0663%2019.75%2019.1299%2019.7763%2019.1768%2019.8232C19.2237%2019.8701%2019.25%2019.9337%2019.25%2020ZM14.25%2018C14.25%2018.0663%2014.2237%2018.1299%2014.1768%2018.1768C14.1299%2018.2237%2014.0663%2018.25%2014%2018.25C13.9337%2018.25%2013.8701%2018.2237%2013.8232%2018.1768C13.7763%2018.1299%2013.75%2018.0663%2013.75%2018C13.75%2017.9337%2013.7763%2017.8701%2013.8232%2017.8232C13.8701%2017.7763%2013.9337%2017.75%2014%2017.75C14.0663%2017.75%2014.1299%2017.7763%2014.1768%2017.8232C14.2237%2017.8701%2014.25%2017.9337%2014.25%2018Z'%20stroke='white'%20stroke-width='1.5'%20stroke-linecap='round'/%3E%3C/svg%3E" ) center / 56px 56px no-repeat !important;
		box-shadow: 0 4px 16px rgba( 0, 0, 0, 0.2 );
		/* Het opschrift blijft in de HTML staan voor schermlezers. */
		font-size: 0 !important;
		animation: none !important;
		transition: none !important;
	}

	#cmplz-manage-consent .cmplz-manage-consent:hover,
	#cmplz-manage-consent .cmplz-manage-consent:focus {
		bottom: 16px !important;
	}
}
