/* ==========================================================================
   Empower Women — eigen CSS
   Plaats: /wp-content/mu-plugins/ew-assets/empower-women.css
   Wordt ingeladen door empower-women-core.php (blok 31).

   Inhoud
   0.  Variabelen
   1.  Algemeen
   2.  Knoppen
   3.  Lijsten
   4.  Footer en nieuwsbrief
   5.  Overzichtspagina's en kaarten
   6.  Podcast-, videocast- en blogpagina
   7.  Vrouwen- en sprekerspagina
   8.  Eventpagina
   9.  Logo's
   10. Over Empower Women en Over ons
   11. Samenwerken
   12. Contactformulier (Fluent Forms)
   13. Minder beweging
   ========================================================================== */


/* 0. Variabelen
   ========================================================================== */

:root {
	--ew-rood:       #9A1050; /* huisstijlrood uit het logo */
	--ew-donker:     #222222; /* tekst en hoverkleur knoppen */
	--ew-roze:       #F7F3F4; /* lichte achtergrond */
	--ew-rand:       #E8E0E1; /* randen van kaarten */
	--ew-nacht:      #141720; /* donkere achtergronden */
	--ew-grijs:      #666666; /* bijschriften */
	--ew-fout:       #B3261E; /* foutmeldingen */
	--ew-label-licht:#F2B8B5; /* labels op donkere achtergrond */
	--ew-schaduw:    0 8px 24px rgba(0, 0, 0, 0.08);
}


/* 1. Algemeen
   ========================================================================== */

/* Alleen voor screenreaders */
.ew-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Ankers niet onder de sticky header laten verdwijnen */
#afleveringen,
#nieuwsbrief,
#sprekers,
#tickets,
#edities,
#formulier,
#hoofdambassadeur,
#ambassadeur { scroll-margin-top: 110px; }

#afleveringen:focus { outline: none; }

.ew-icoon { flex-shrink: 0; color: var(--ew-rood); }

.ew-label {
	margin: 0 0 8px;
	font: 600 13px/1.4 Poppins, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ew-rood);
}

.ew-label--licht { color: var(--ew-label-licht) !important; }

.ew-tekstlink {
	display: inline-block;
	margin-top: 16px;
	font-weight: 600;
	color: var(--ew-rood);
	text-decoration: none;
}

.ew-tekstlink:hover { text-decoration: underline; }

/* Handgeschreven zin */
.ew-script {
	font-family: "Great Vibes", cursive;
	font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
	line-height: 1.2;
	color: var(--ew-rood);
	text-align: center;
}

/* Witte kop op een rode of donkere achtergrond */
body .ew-wit,
body .ew-wit h2 { color: #FFFFFF !important; }

/* Huisje in plaats van "Home" in het menu.
   De tekst blijft voor screenreaders, alleen visueel verborgen. */
.ew-menu-home > a {
	display: inline-flex !important;
	align-items: center;
	font-size: 0 !important;
	line-height: 1 !important;
}

.ew-menu-home > a::before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 9.5V20h4.5v-6h4v6h4.5V9.5'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 9.5V20h4.5v-6h4v6h4.5V9.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Huisje op één lijn met de menutekst */
.ew-menu-home > a::before { transform: translateY(-4px); }

/* Rood bij hover en op de homepage zelf */
.ew-menu-home > a:hover,
.ew-menu-home.current-menu-item > a { color: var(--ew-rood) !important; }

.ew-menu-home > a:focus-visible { outline: 3px solid var(--ew-rood); outline-offset: 4px; }

/* Broodkruimels */
.ew-kruimels ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 13px;
	color: var(--ew-grijs);
}

.ew-kruimels li { padding: 0 !important; list-style: none !important; }
.ew-kruimels li::marker { content: ""; }

/* Scheidingsteken, niet voorgelezen door screenreaders */
.ew-kruimels li + li::before {
	content: "›" / "";
	margin: 0 10px;
	color: var(--ew-grijs);
}

.ew-kruimels a {
	color: var(--ew-rood);
	text-decoration: none;
}

.ew-kruimels a:hover { text-decoration: underline; }
.ew-kruimels a:focus-visible { outline: 3px solid var(--ew-rood); outline-offset: 2px; }

.ew-kruimels [aria-current="page"] { color: var(--ew-donker); }

/* Broodkruimels op een donkere achtergrond.
   Gebruik: klasse ew-kruimels-licht op de Tekstmodule. */
.ew-kruimels-licht .ew-kruimels ol,
.ew-kruimels-licht .ew-kruimels li + li::before { color: #CCCCCC; }

.ew-kruimels-licht .ew-kruimels a { color: #CCCCCC !important; }

.ew-kruimels-licht .ew-kruimels [aria-current="page"] { color: #FFFFFF; }

.ew-kruimels-licht .ew-kruimels a:focus-visible { outline-color: #FFFFFF; }

/* 1b. Header
   ========================================================================== */

/* Menu-item "Blijf geïnspireerd" alleen in het mobiele menu */
.ew-menu-cta { display: none !important; }

@media (max-width: 980px) {

	/* Logo en hamburger op één regel */
	.ew-header { position: relative; }

	.ew-header__rij {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 12px 0 !important;
	}

	.ew-header__rij > .ew-header__logo,
	.ew-header__rij > .ew-header__menu {
		width: auto !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
	}

	.ew-header__cta { display: none !important; }

	.ew-header__logo img { width: auto !important; max-height: 52px; }

	/* Hamburger: rood, tikvlak 44 x 44 */
	.ew-header__menu .mobile_menu_bar {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	.ew-header__menu .mobile_menu_bar::before {
		position: static !important;
		font-size: 32px !important;
		color: var(--ew-rood) !important;
	}

	/* Kruisje als het menu open is */
	.ew-header__menu .mobile_nav.opened .mobile_menu_bar::before { content: "\4d" !important; }

	/* Uitklapmenu over de volle breedte van de header */
	.ew-header .ew-header__rij,
	.ew-header__menu,
	.ew-header__menu .et_pb_menu,
	.ew-header__menu .et_pb_menu_inner_container,
	.ew-header__menu .et_pb_menu__wrap,
	.ew-header__menu .et_mobile_nav_menu,
	.ew-header__menu .mobile_nav { position: static !important; }

	.ew-header__menu .et_mobile_menu {
		left: 0 !important;
		right: 0 !important;
		top: 100% !important;
		width: 100% !important;
		max-height: calc(100vh - 80px);
		overflow-y: auto;
		padding: 8px 0 20px !important;
		border-top: 3px solid var(--ew-rood) !important;
		background: #FFFFFF !important;
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
	}

	.ew-header__menu .et_mobile_menu li a {
		padding: 14px 24px !important;
		border-bottom: 1px solid #F0EAEB !important;
		font-size: 16px !important;
		color: var(--ew-donker) !important;
	}

	.ew-header__menu .et_mobile_menu li a:hover {
		background: var(--ew-roze) !important;
		color: var(--ew-rood) !important;
		opacity: 1 !important;
	}

	.ew-header__menu .et_mobile_menu .sub-menu { padding-left: 16px !important; }
	.ew-header__menu .et_mobile_menu .sub-menu a { font-size: 15px !important; }

	/* Home: huisje mét tekst in het mobiele menu */
	.ew-header__menu .et_mobile_menu .ew-menu-home > a {
		display: flex !important;
		align-items: center;
		gap: 10px;
		font-size: 16px !important;
		line-height: 1.5 !important;
		color: var(--ew-rood) !important;
	}

	.ew-header__menu .et_mobile_menu .ew-menu-home > a::before {
		width: 20px;
		height: 20px;
		transform: none;
	}

	/* CTA als volle knop onderaan */
	.ew-header__menu .et_mobile_menu .ew-menu-cta {
		display: block !important;
		padding: 20px 24px 0 !important;
	}

	.ew-header__menu .et_mobile_menu .ew-menu-cta > a {
		padding: 14px !important;
		border: 0 !important;
		border-radius: 4px;
		background: var(--ew-rood) !important;
		font-weight: 600;
		color: #FFFFFF !important;
		text-align: center;
	}

	.ew-header__menu .et_mobile_menu .ew-menu-cta > a:hover {
		background: var(--ew-donker) !important;
		color: #FFFFFF !important;
	}
}

/* Header mobiel: correcties
   :not(#ew) geeft de selector het gewicht van een ID,
   zodat hij wint van Divi's eigen menustijlen. */
@media (max-width: 980px) {

	/* 1. Logo op ware grootte */
	.ew-header__logo .et_pb_module,
	.ew-header__logo .et_pb_image_wrap {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.ew-header__logo img {
		width: auto !important;
		max-width: none !important;
		height: 56px !important;
		max-height: none !important;
	}

	/* 2. Overal dezelfde witte achtergrond, ook bij items met een submenu */
	.ew-header:not(#ew) .et_mobile_menu li,
	.ew-header:not(#ew) .et_mobile_menu li > a,
	.ew-header:not(#ew) .et_mobile_menu .menu-item-has-children,
	.ew-header:not(#ew) .et_mobile_menu .menu-item-has-children > a {
		background-color: transparent !important;
		font-weight: inherit !important;
	}

	.ew-header:not(#ew) .et_mobile_menu li > a:hover { background-color: var(--ew-roze) !important; }

	/* 3. De knop: rood met witte tekst */
	.ew-header:not(#ew) .et_mobile_menu li.ew-menu-cta > a,
	.ew-header:not(#ew) .et_mobile_menu li.ew-menu-cta > a * {
		color: #FFFFFF !important;
		-webkit-text-fill-color: #FFFFFF;
	}

	.ew-header:not(#ew) .et_mobile_menu li.ew-menu-cta > a { background-color: var(--ew-rood) !important; }
	.ew-header:not(#ew) .et_mobile_menu li.ew-menu-cta > a:hover { background-color: var(--ew-donker) !important; }
}

/* Header desktop: menu altijd op één regel */
@media (min-width: 981px) {

	.ew-header__rij {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 24px;
	}

	/* Logo en knop: alleen zo breed als nodig */
	.ew-header__rij > .ew-header__logo,
	.ew-header__rij > .ew-header__cta {
		width: auto !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
	}

	/* Menu: krijgt alle ruimte die overblijft */
	.ew-header__rij > .ew-header__menu {
		width: auto !important;
		flex: 1 1 auto !important;
		min-width: 0;
		margin: 0 !important;
	}

	.ew-header__menu .et-menu {
		flex-wrap: nowrap !important;
		justify-content: center !important;
	}

	.ew-header__menu .et-menu > li,
	.ew-header__cta .et_pb_button { white-space: nowrap; }

	/* Logo op vaste hoogte, zodat het niet meekrimpt met de kolom */
	.ew-header__logo .et_pb_module,
	.ew-header__logo .et_pb_image_wrap {
		width: auto !important;
		max-width: none !important;
	}

	.ew-header__logo img {
		width: auto !important;
		max-width: none !important;
		height: 80px !important;
	}
}

/* Submenu op desktop: kaartje met pijltje naar het menu-item */
@media (min-width: 981px) {

	/* Menu-item rood zolang het submenu open is, en op de actieve pagina */
	.ew-header__menu .et-menu > li:hover > a,
	.ew-header__menu .et-menu > li:focus-within > a,
	.ew-header__menu .et-menu > li.current-menu-item > a,
	.ew-header__menu .et-menu > li.current-menu-ancestor > a {
		color: var(--ew-rood) !important;
		opacity: 1 !important;
	}

	/* Het kaartje */
	.ew-header__menu .et-menu .sub-menu {
		width: auto !important;
		min-width: 230px;
		padding: 8px !important;
		border: 1px solid var(--ew-rand) !important;
		border-top: 3px solid var(--ew-rood) !important;
		border-radius: 4px;
		background: #FFFFFF !important;
		box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10) !important;
	}

	/* Pijltje dat naar het menu-item wijst */
	.ew-header__menu .et-menu .sub-menu::before {
		content: "";
		position: absolute;
		top: -11px;
		left: 24px;
		border-style: solid;
		border-width: 0 8px 8px 8px;
		border-color: transparent transparent var(--ew-rood) transparent;
	}

	/* De items */
	.ew-header__menu .et-menu .sub-menu li {
		width: 100%;
		padding: 0 !important;
	}

	.ew-header__menu .et-menu .sub-menu li a {
		display: block;
		width: auto !important;
		padding: 10px 14px !important;
		border-radius: 4px;
		font-size: 15px !important;
		color: var(--ew-donker) !important;
		white-space: nowrap;
		transition: background 200ms, color 200ms;
	}

	.ew-header__menu .et-menu .sub-menu li a:hover,
	.ew-header__menu .et-menu .sub-menu li a:focus-visible {
		background: var(--ew-roze) !important;
		color: var(--ew-rood) !important;
		opacity: 1 !important;
	}

	.ew-header__menu .et-menu .sub-menu li.current-menu-item > a {
		color: var(--ew-rood) !important;
		font-weight: 600;
	}

	/* Ook openen met het toetsenbord (Tab) */
	.ew-header__menu .et-menu li:focus-within > .sub-menu {
		visibility: visible !important;
		opacity: 1 !important;
	}
}
/* Submenu: items onder elkaar, kaartje zo breed als de inhoud */
@media (min-width: 981px) {

	.ew-header__menu .et-menu .sub-menu {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		width: max-content !important;
		min-width: 220px;
		max-width: 320px;
	}

	.ew-header__menu .et-menu .sub-menu li {
		display: block !important;
		flex: 0 0 auto !important;
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.ew-header__menu .et-menu .sub-menu li a { width: 100% !important; }
}

/* Submenu: rode rand rondom en dunne scheidingslijntjes.
   De rand is een schaduw, omdat Divi de gewone border overschrijft. */
@media (min-width: 981px) {

	.ew-header:not(#ew) .ew-header__menu .et-menu .sub-menu {
		border: 0 !important;
		box-shadow:
			inset 0 3px 0 0 var(--ew-rood),   /* dikkere lijn bovenaan */
			0 0 0 1px var(--ew-rood),          /* rand rondom */
			0 12px 28px rgba(0, 0, 0, 0.10) !important; /* zachte schaduw */
		padding-top: 11px !important;
	}

	/* Pijltje sluit aan op de rand */
	.ew-header:not(#ew) .ew-header__menu .et-menu .sub-menu::before { top: -8px; }

	/* Dun grijs lijntje tussen de items (niet boven het eerste) */
	.ew-header:not(#ew) .ew-header__menu .et-menu .sub-menu li + li {
		border-top: 1px solid #ECE6E7 !important;
	}

	.ew-header__menu .et-menu .sub-menu li a { margin: 2px 0 !important; }
}

/* Header desktop: moderner menu */
@media (min-width: 981px) {

	/* 1. Menu rechts, tegen de knop aan */
	.ew-header__menu .et-menu,
	.ew-header__menu .et_pb_menu__wrap { justify-content: flex-end !important; }

	.ew-header__rij > .ew-header__menu { padding-right: 12px; }

	/* 2. Menu-items precies op één lijn met logo en knop.
	   Gelijke ruimte boven en onder, zodat het submenu gewoon blijft werken. */
	.ew-header__menu .et-menu > li {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.ew-header__menu .et-menu > li > a {
		position: relative;
		padding-bottom: 0 !important;
		font-weight: 500 !important;
	}

	/* 4. Rood lijntje bij hover en op de actieve pagina (niet bij het huisje) */
	.ew-header__menu .et-menu > li:not(.ew-menu-home) > a::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -8px;
		height: 2px;
		border-radius: 2px;
		background: var(--ew-rood);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 250ms ease;
	}

	.ew-header__menu .et-menu > li:hover > a::before,
	.ew-header__menu .et-menu > li:focus-within > a::before,
	.ew-header__menu .et-menu > li.current-menu-item > a::before,
	.ew-header__menu .et-menu > li.current-menu-ancestor > a::before { transform: scaleX(1); }
}

/* Brede schermen: iets meer lucht tussen de items, lagere header */
@media (min-width: 1201px) {

	.ew-header__menu .et-menu > li {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	/* 3. Logo kleiner, header lager */
	.ew-header__logo img { height: 64px !important; }

	.ew-header__rij {
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ew-header__menu .et-menu > li > a::before { transition: none; }
}

/* Huisje op één lijn met de menu-items (desktop) */
@media (min-width: 981px) {

	.ew-header__menu .et-menu { align-items: center !important; }

	.ew-header__menu .et-menu > li.ew-menu-home {
		display: flex !important;
		align-items: center;
		align-self: center;
	}

	/* De oude correctie van -4px vervangen */
	.ew-header__menu .et-menu > li.ew-menu-home > a::before { transform: translateY(0); }
}

/* Kleinere laptops: alles iets compacter */
@media (min-width: 981px) and (max-width: 1200px) {

	.ew-header__rij {
		width: 92% !important;
		max-width: none !important;
		gap: 16px;
	}

	.ew-header__menu .et-menu > li {
		padding-left: 9px !important;
		padding-right: 9px !important;
	}

	.ew-header__menu .et-menu > li > a { font-size: 15px !important; }
		/* Huisje: tekst "Home" verborgen houden */
	.ew-header__menu .et-menu > li.ew-menu-home > a { font-size: 0 !important; }

	.ew-header__logo img { height: 64px !important; }

	.ew-header__cta .et_pb_button {
		padding: 10px 18px !important;
		font-size: 15px !important;
	}
}

/* 2. Knoppen
   ========================================================================== */

.ew-knop,
.ew-knop-secundair,
.ew-knop-wit,
.ew-knop-licht {
	display: inline-flex;
	align-items: center;
	padding: 13px 26px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background 300ms, color 300ms, border-color 300ms;
}

.ew-knop            { background: var(--ew-rood); color: #FFFFFF; }
.ew-knop:hover      { background: var(--ew-donker); color: #FFFFFF; }

.ew-knop-secundair       { background: #FFFFFF; border-color: var(--ew-rood); color: var(--ew-rood); }
.ew-knop-secundair:hover { background: var(--ew-donker); border-color: var(--ew-donker); color: #FFFFFF; }

.ew-knop-wit        { background: #FFFFFF; color: var(--ew-rood); }
.ew-knop-wit:hover  { background: var(--ew-roze); color: var(--ew-rood); }

.ew-knop-licht       { background: transparent; border-color: #FFFFFF; color: #FFFFFF; }
.ew-knop-licht:hover { background: #FFFFFF; color: var(--ew-donker); }

.ew-knoppenrij {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}


/* 3. Lijsten
   ========================================================================== */

/* Divi's opsommingstekens weghalen bij al onze lijsten */
.ew-vinkjes, .ew-vinkjes li,
.ew-wereldlijst, .ew-wereldlijst li,
.ew-kernwoorden, .ew-kernwoorden li,
.ew-sprekerkaarten, .ew-sprekerkaarten > li,
.ew-logos, .ew-logos > li,
.ew-socials, .ew-socials li { list-style: none !important; }

.ew-vinkjes li::marker,
.ew-wereldlijst li::marker,
.ew-kernwoorden li::marker,
.ew-sprekerkaarten > li::marker,
.ew-logos > li::marker,
.ew-socials li::marker { content: ""; }

/* Vinkjes */
.ew-vinkjes { margin: 0 0 20px !important; padding: 0 !important; }

.ew-vinkjes li {
	position: relative;
	padding: 0 0 8px 28px !important;
}

.ew-vinkjes li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 4px;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--ew-rood);
	border-bottom: 2px solid var(--ew-rood);
	transform: rotate(-45deg);
}

/* Rondjes (Onze werelden op de homepage) */
.ew-wereldlijst { margin: 0 !important; padding: 0 !important; }

.ew-wereldlijst li {
	position: relative;
	padding: 0 0 6px 24px !important;
	font-size: 15px;
}

.ew-wereldlijst li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 10px;
	height: 10px;
	border: 2px solid var(--ew-rood);
	border-radius: 50%;
}

.ew-wereldlijst a { color: var(--ew-donker); text-decoration: none; }
.ew-wereldlijst a:hover { color: var(--ew-rood); text-decoration: underline; }


/* 4. Footer en nieuwsbrief
   ========================================================================== */

/* Footermenu's verticaal, zonder hamburger */
.ew-footermenu ul,
.ew-footermenu .et-menu {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}

.ew-footermenu li { margin: 0 !important; padding: 0 !important; line-height: 1.4; }
.ew-footermenu a  { padding: 0 !important; }

.ew-footermenu .et_mobile_nav_menu,
.ew-footermenu .mobile_nav { display: none !important; }

.ew-footermenu .et_pb_menu__menu,
.ew-footermenu nav { display: block !important; }

/* Nieuwsbriefformulier */
.ew-nb__rij {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ew-nb input[type="email"],
.ew-nb input[type="text"]:not([name="ew_website"]) {
	flex: 1 1 220px;
	min-height: 50px;
	padding: 12px 16px;
	border: 0;
	border-radius: 4px;
	background: #FFFFFF;
	font: 400 15px/1.4 Poppins, sans-serif;
	color: var(--ew-donker);
}

.ew-nb input[type="email"]::placeholder,
.ew-nb input[type="text"]::placeholder { color: #6B6B6B; }

.ew-nb button {
	min-height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 4px;
	background: var(--ew-nacht);
	font: 600 15px/1.4 Poppins, sans-serif;
	color: #FFFFFF;
	cursor: pointer;
	transition: background 300ms;
}

.ew-nb button:hover { background: #000000; }

.ew-nb__privacy {
	margin: 10px 0 0 !important;
	padding: 0 !important;
	font-size: 13px;
	color: var(--ew-roze);
}

.ew-nb__privacy a { color: #FFFFFF; text-decoration: underline; }

/* Honeypot: onzichtbaar voor mensen, wel voor bots */
.ew-nb__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ew-nb__melding {
	margin: 12px 0 0 !important;
	padding: 10px 14px !important;
	border-radius: 4px;
	background: #FFFFFF;
	font-size: 14px;
	color: var(--ew-donker);
}

.ew-nb__melding--fout { border-left: 3px solid var(--ew-fout); }


/* 5. Overzichtspagina's en kaarten
   ========================================================================== */

/* Themafilter: drie even brede knoppen per rij */
.ew-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	max-width: 860px;
	margin: 0 auto;
}

.ew-filter__knop {
	flex: 0 0 calc((100% - 28px) / 3);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 10px 16px;
	border: 1px solid var(--ew-rood);
	border-radius: 4px;
	font-weight: 600;
	color: var(--ew-rood) !important;
	text-align: center;
	text-decoration: none;
	transition: background 200ms, color 200ms, border-color 200ms;
}

.ew-filter__knop:hover {
	background: var(--ew-donker);
	border-color: var(--ew-donker);
	color: #FFFFFF !important;
}

.ew-filter__knop[aria-current="page"] {
	background: var(--ew-rood);
	border-color: var(--ew-rood);
	color: #FFFFFF !important;
}

.ew-filter__wissen { margin: 16px 0 0; padding: 0; text-align: center; }

.ew-filter__wissen a {
	font-size: 14px;
	font-weight: 600;
	color: var(--ew-rood);
	text-decoration: none;
}

.ew-filter__wissen a:hover { text-decoration: underline; }

/* Kaarten op de overzichtspagina's (Divi-groep met klasse ew-kaart) */
.ew-kaart {
	position: relative;
	transition: box-shadow 200ms, transform 200ms;
}

.ew-kaart:hover { box-shadow: var(--ew-schaduw); transform: translateY(-2px); }

/* De titel-link maakt de hele kaart klikbaar */
.ew-kaart__titel a::after,
.ew-inspikaart__titel a::after,
.ew-minikaart__titel a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* Laatste inspiratie (homepage, Over ons): drie grote kaarten */
.ew-inspiratie {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ew-inspikaart,
.ew-minikaart {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #FFFFFF;
	border: 1px solid var(--ew-rand);
	border-radius: 8px;
	transition: box-shadow 200ms, transform 200ms;
}

.ew-inspikaart:hover,
.ew-minikaart:hover { box-shadow: var(--ew-schaduw); transform: translateY(-2px); }

.ew-inspikaart__foto,
.ew-minikaart__beeld img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.ew-inspikaart__tekst {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px 22px 22px;
}

.ew-inspikaart__titel {
	margin: 0 0 8px;
	padding: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.2rem;
}

.ew-inspikaart__titel a,
.ew-minikaart__titel a { color: var(--ew-donker); text-decoration: none; }

.ew-inspikaart__intro {
	display: -webkit-box;
	margin: 0 0 14px;
	overflow: hidden;
	font-size: 14px;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.ew-inspikaart__actie {
	margin-top: auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--ew-rood);
}

/* Inspiratie-pagina: knoppen per soort */
.ew-inspinav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}

.ew-inspinav__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 130px;
	height: 108px;
	border: 1px solid var(--ew-rood);
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ew-rood);
	text-decoration: none;
	transition: background 300ms, color 300ms, border-color 300ms;
}

.ew-inspinav__item .ew-icoon { color: currentColor; }

.ew-inspinav__item:hover {
	background: var(--ew-donker);
	border-color: var(--ew-donker);
	color: #FFFFFF;
}

/* Inspiratie-pagina: blokken "Laatste ..." met vier kleine kaarten */
.ew-laatste { margin-bottom: 48px; }

.ew-laatste__kop {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-bottom: 16px;
}

.ew-laatste__kop h2 {
	margin: 0;
	padding: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.5rem;
	color: var(--ew-donker) !important;
}

.ew-laatste__kop .ew-tekstlink { margin-top: 0; font-size: 14px; }

.ew-laatste__raster {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.ew-minikaart__beeld { position: relative; }

/* Kleine afspeelknop rechtsonder op de foto */
.ew-minikaart__play {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #FFFFFF;
}

.ew-minikaart__play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 55%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent var(--ew-rood);
}

.ew-minikaart__tekst {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px 16px 16px;
}

.ew-minikaart__titel {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font: 600 15px/1.35 Poppins, sans-serif !important;
}

.ew-minikaart__intro {
	display: -webkit-box;
	margin: 0 0 10px;
	padding: 0;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.5;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.ew-minikaart__meta {
	margin: auto 0 0;
	padding: 0;
	font-size: 12px;
	color: var(--ew-grijs);
}

@media (max-width: 1100px) {
	.ew-laatste__raster { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
	.ew-inspiratie { grid-template-columns: 1fr; }
}

/* Themafilter op de telefoon: compacte labels */
@media (max-width: 700px) {
	.ew-filter { gap: 8px; }

	.ew-filter__knop {
		flex: 0 0 auto;
		min-height: 44px;
		padding: 8px 16px;
		border-radius: 999px;
		font-size: 14px;
		font-weight: 500;
	}

	.ew-filter__wissen { margin-top: 12px; }
}
@media (max-width: 600px) {
	.ew-laatste__raster { grid-template-columns: 1fr; }
}


/* 6. Podcast-, videocast- en blogpagina
   ========================================================================== */

/* Gastblok */
.ew-gast {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 16px;
	padding: 32px;
	border-radius: 8px;
	background: var(--ew-roze);
}

.ew-gast__foto {
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	object-fit: cover;
}

.ew-gast__naam {
	margin: 0 0 8px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.25rem;
	color: var(--ew-donker);
}

.ew-gast__intro { margin: 0; font-size: 1rem; line-height: 1.6; }

/* Social-iconen van een vrouw */
.ew-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 0 !important;
	padding: 0 !important;
}

.ew-socials li { padding: 0 !important; }

.ew-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--ew-rood);
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--ew-rood);
	transition: background 300ms, color 300ms, border-color 300ms;
}

.ew-socials a:hover {
	background: var(--ew-donker);
	border-color: var(--ew-donker);
	color: #FFFFFF;
}

/* Sidebar: meer afleveringen */
.ew-meer__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--ew-rand);
	text-decoration: none;
}

.ew-meer__item:last-child { border-bottom: 0; }

.ew-meer__foto {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	border-radius: 4px;
	object-fit: cover;
}

.ew-meer__tekst { display: flex; flex-direction: column; gap: 2px; }

.ew-meer__titel {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ew-donker);
}

.ew-meer__nr { font-size: 0.85rem; color: var(--ew-grijs); }

.ew-meer__item:hover .ew-meer__titel { color: var(--ew-rood); }

/* Thema-labels in de sidebar */
.ew-themas { display: flex; flex-wrap: wrap; gap: 8px; }

.ew-thema {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid var(--ew-rand);
	border-radius: 4px;
	background: #FFFFFF;
	font-size: 0.85rem;
	color: var(--ew-donker);
	text-decoration: none;
	transition: border-color 200ms, color 200ms;
}

.ew-thema:hover { border-color: var(--ew-rood); color: var(--ew-rood); }

/* Deelknoppen */
.ew-delen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.ew-delen__label { margin-right: 4px; font-size: 0.9rem; color: var(--ew-donker); }

.ew-delen__knop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ew-rood);
	color: #FFFFFF;
	text-decoration: none;
	transition: background 200ms;
}

.ew-delen__knop:hover { background: var(--ew-donker); color: #FFFFFF; }

@media (max-width: 640px) {
	.ew-gast {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.ew-gast .ew-socials { justify-content: center; }
}

/* Luister-logo's: drie naast elkaar, op smalle schermen onder elkaar */
.ew-luister,
.ew-luister li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ew-luister li::marker { content: ""; }

.ew-luister {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 170px));
	gap: 10px;
	margin-top: 8px !important;
}

.ew-luister__link {
	display: block;
	border-radius: 8px;
	transition: transform 200ms, opacity 200ms;
}

.ew-luister__link:hover { opacity: 0.85; transform: translateY(-2px); }

.ew-luister__link:focus-visible { outline: 3px solid var(--ew-rood); outline-offset: 3px; }

.ew-luister__logo {
	display: block;
	width: 100% !important;
	height: auto !important;
}

/* Te smal voor drie naast elkaar: onder elkaar */
@media (max-width: 600px) {
	.ew-luister { grid-template-columns: minmax(0, 190px); }
}

@media (prefers-reduced-motion: reduce) {
	.ew-luister__link { transition: none; }
	.ew-luister__link:hover { transform: none; }
}

/* 7. Vrouwen- en sprekerspagina
   ========================================================================== */

/* Thema's onder de naam: Leiderschap | Groei | Impact */
.ew-themaregel {
	position: relative;
	margin: 0 0 16px;
	padding-bottom: 14px;
	font: 600 16px/1.4 Poppins, sans-serif;
	color: var(--ew-donker);
}

.ew-themaregel::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background: var(--ew-rood);
}

/* Datum, tijd, locatie en doelgroep */
.ew-event__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin: 24px 0 !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid #EEEEEE;
	list-style: none;
}

.ew-event__meta li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 !important;
	font-size: 15px;
	font-weight: 500;
}

.ew-event__prijs { display: none; }

/* Kernwoorden: vier balkjes */
.ew-kernwoorden {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 20px 0 0 !important;
	padding: 0 !important;
}

.ew-kernwoorden li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 10px !important;
	border: 1px solid var(--ew-rood);
	border-radius: 4px;
	background: #FFFFFF;
	font: 600 14px/1.3 Poppins, sans-serif;
	color: var(--ew-rood);
	text-align: center;
}

/* Blokken: de ruimte zit op het blok, zodat een leeg blok geen gat laat */
.ew-blok { margin-bottom: 56px; }

.ew-blok h2 {
	margin: 0 0 20px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);
	color: var(--ew-rood);
}

.ew-kaart-roze {
	margin-top: 20px;
	padding: 28px;
	border-radius: 8px;
	background: var(--ew-roze);
}

.ew-kaart-roze h3 {
	margin: 0 0 12px;
	padding: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.25rem;
	color: var(--ew-rood);
}

/* Wat je kunt verwachten */
.ew-verwacht__item { display: flex; gap: 16px; margin-bottom: 20px; }

.ew-verwacht__item .ew-icoon { width: 28px; height: 28px; margin-top: 2px; }

.ew-verwacht__item h3 {
	margin: 0 0 4px;
	padding: 0;
	font: 600 16px/1.4 Poppins, sans-serif;
	color: var(--ew-donker);
}

.ew-verwacht__item p { margin: 0; padding: 0; }

/* Spelers van videocast en podcast */
.ew-vmedia__speler iframe,
.ew-intro__video iframe {
	display: block;
	width: 100%;
	border-radius: 8px;
}

.ew-vmedia__speler iframe[src*="vimeo"],
.ew-vmedia__speler iframe[src*="youtube"],
.ew-intro__video iframe {
	height: auto;
	aspect-ratio: 16 / 9;
}

/* Introductie: video en tekst naast elkaar */
.ew-intro__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

.ew-intro__grid .ew-kaart-roze { margin-top: 0; }

/* Rode CTA-balk */
.ew-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 28px;
	margin-bottom: 64px;
	padding: 28px 36px;
	border-radius: 8px;
	background: var(--ew-rood);
	color: #FFFFFF;
}

.ew-cta .ew-icoon {
	width: 64px;
	height: 64px;
	padding: 16px;
	border: 1px solid #FFFFFF;
	border-radius: 50%;
	color: #FFFFFF;
}

.ew-cta__tekst { flex: 1; min-width: 240px; }

.ew-cta h2 {
	margin: 0 0 4px;
	padding: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.625rem;
	color: #FFFFFF !important;
}

.ew-cta p { margin: 0; color: #FFFFFF; }

@media (max-width: 800px) {
	.ew-intro__grid { grid-template-columns: 1fr; }
	.ew-cta { padding: 24px; }
}

@media (max-width: 600px) {
	.ew-kernwoorden { grid-template-columns: repeat(2, 1fr); }
}


/* 8. Eventpagina
   ========================================================================== */

.ew-event__meta--licht { border-top-color: rgba(255, 255, 255, 0.2); }

.ew-event__meta--licht li,
.ew-event__meta--licht .ew-icoon { color: #FFFFFF; }

.ew-event__binnenkort { font-weight: 600; }

/* Datumkaart in de hero */
.ew-datumkaart {
	padding: 28px 32px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 8px;
	background: rgba(20, 23, 32, 0.5);
	text-align: center;
}

.ew-datumkaart p { margin: 0; padding: 0; color: #FFFFFF; }

.ew-datumkaart__label {
	font: 600 12px/1.4 Poppins, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ew-label-licht) !important;
}

.ew-datumkaart__datum {
	margin: 8px 0 4px !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 2rem;
	line-height: 1.2;
}

.ew-datumkaart__plaats { letter-spacing: 0.08em; text-transform: uppercase; }

.ew-datumkaart__agenda {
	margin-top: 10px !important;
	font-family: "Great Vibes", cursive;
	font-size: 1.6rem;
}

/* Sprekerkaarten: maximaal vier naast elkaar */
.ew-sprekerkaarten {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 0 !important;
	padding: 0 !important;
}

.ew-sprekerkaarten > li { padding: 0 !important; }

.ew-sprekerkaart {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #FFFFFF;
	border: 1px solid var(--ew-rand);
	border-radius: 8px;
	color: var(--ew-donker);
	text-decoration: none;
	transition: box-shadow 200ms, transform 200ms;
}

.ew-sprekerkaart:hover { box-shadow: var(--ew-schaduw); transform: translateY(-2px); }

.ew-sprekerkaart__foto {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: top;
}

.ew-sprekerkaart__tekst { padding: 16px 18px 20px; text-align: center; }

.ew-sprekerkaart__naam {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.125rem;
	color: var(--ew-rood);
}

.ew-sprekerkaart__functie   { display: block; margin-top: 2px; font-size: 13px; color: var(--ew-grijs); }
.ew-sprekerkaart__onderwerp { display: block; margin-top: 10px; font-size: 14px; }

/* Tegel "Meer sprekers worden binnenkort bekendgemaakt" */
.ew-sprekerkaart--meer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 28px !important;
	border-radius: 8px;
	background: var(--ew-roze);
	text-align: center;
}

.ew-sprekerkaart--meer .ew-icoon { width: 40px; height: 40px; }
.ew-sprekerkaart--meer p { margin: 0; font-weight: 600; color: var(--ew-donker); }

/* Ticketkaart */
.ew-ticket {
	padding: 28px 32px;
	border-radius: 8px;
	background: #FFFFFF;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.ew-ticket p { padding: 0; }

.ew-ticket__naam {
	margin: 0 0 6px;
	font: 600 14px/1.4 Poppins, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ew-rood);
}

.ew-ticket__prijs { margin: 0 0 16px; }

.ew-ticket__prijs strong {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 2.25rem;
	color: var(--ew-donker);
}

.ew-ticket__prijs span { font-size: 14px; color: var(--ew-grijs); }

.ew-ticket__geldig {
	margin: 12px 0 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--ew-rood);
}

.ew-ticket__schaarste {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	font-size: 14px;
}

.ew-ticket__schaarste .ew-icoon { width: 18px; height: 18px; }

/* Vorige edities en video's: tegel met afspeelknop */
.ew-edities {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.ew-editie {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
	background: var(--ew-nacht);
	color: #FFFFFF;
	text-decoration: none;
}

.ew-video { aspect-ratio: 16 / 9; }

.ew-editie__knop,
a.ew-editie {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: #FFFFFF;
	text-align: left;
	cursor: pointer;
}

/* Donker verloop onderaan, voor het jaartal */
.ew-editie__knop::after,
a.ew-editie::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 23, 32, 0.85), transparent 60%);
}

.ew-editie img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms;
}

.ew-editie__knop:hover img,
a.ew-editie:hover img { transform: scale(1.04); }

.ew-editie__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 52px;
	height: 52px;
	margin: -26px 0 0 -26px;
	border: 2px solid #FFFFFF;
	border-radius: 50%;
	background: rgba(20, 23, 32, 0.4);
	transition: background 300ms;
}

.ew-editie__play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 9px 0 9px 15px;
	border-color: transparent transparent transparent #FFFFFF;
}

.ew-editie__knop:hover .ew-editie__play,
a.ew-editie:hover .ew-editie__play { background: var(--ew-rood); }

.ew-editie__tekst {
	position: absolute;
	left: 20px;
	bottom: 16px;
	z-index: 2;
}

.ew-editie__jaar {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.75rem;
	line-height: 1.2;
}

.ew-editie__actie { font-size: 14px; }

a.ew-editie:hover .ew-editie__actie { text-decoration: underline; }

/* Na een klik: de speler vult de tegel */
.ew-editie--speelt iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Gewone ingesloten video (YouTube) */
.ew-video--embed iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
}

/* Quotes van bezoekers en partners */
.ew-quotes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ew-quote {
	margin: 0;
	padding: 28px;
	border: 1px solid var(--ew-rand);
	border-radius: 8px;
	background: #FFFFFF;
}

.ew-quote blockquote { margin: 0; padding: 0; border: 0; }

.ew-quote blockquote p::before {
	content: "\201C";
	display: block;
	margin-bottom: 8px;
	font-family: Georgia, serif;
	font-size: 44px;
	line-height: 0.8;
	color: var(--ew-rood);
}

.ew-quote figcaption { margin-top: 16px; font-size: 14px; color: var(--ew-grijs); }
.ew-quote figcaption strong { display: block; color: var(--ew-donker); }

/* Eventbanner onderaan de homepage */
.ew-eventbanner {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background-color: var(--ew-nacht);
	background-size: cover;
	background-position: center right;
	color: #FFFFFF;
}

.ew-eventbanner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.65) 45%, rgba(0, 0, 0, 0.35) 100%);
}

.ew-eventbanner__inhoud {
	position: relative;
	max-width: 620px;
	padding: 48px 48px 44px;
}

body .ew-eventbanner h2 {
	margin: 0 0 10px;
	padding: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
	color: #FFFFFF !important;
}

/* Titel in de eventbanner altijd wit, ook als Divi een globale kopkleur zet */
.ew-eventbanner:not(#ew) :is(h1, h2, h3),
.ew-eventbanner:not(#ew) :is(h1, h2, h3) * {
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF;
}

.ew-eventbanner__intro { margin: 0; color: #E5E5E5; }

@media (max-width: 1100px) {
	.ew-sprekerkaarten { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 980px) {
	.ew-eventbanner__inhoud { padding: 32px 24px; }
}

@media (max-width: 900px) {
	.ew-edities { grid-template-columns: repeat(2, 1fr); }
	.ew-quotes { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
	.ew-sprekerkaarten { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
	.ew-sprekerkaarten { grid-template-columns: 1fr; }
}


/* 9. Logo's
   Volle containerbreedte, maximaal zes per rij.
   De 100px in de formule is vijf keer de gap van 20px.
   ========================================================================== */

.ew-logos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(max(140px, calc((100% - 100px) / 6)), 1fr));
	gap: 20px;
	margin: 0 !important;
	padding: 0 !important;
}

.ew-logos > li { width: 100%; padding: 0 !important; }

.ew-logos__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 120px;
	padding: 20px 28px;
	border: 1px solid var(--ew-rand);
	border-radius: 8px;
	background: #FFFFFF;
}

.ew-logos__img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.85;
	transition: filter 300ms, opacity 300ms;
}

.ew-logos__link:hover .ew-logos__img,
.ew-logos__link:focus-visible .ew-logos__img { filter: none; opacity: 1; }

@media (max-width: 600px) {
	.ew-logos { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.ew-logos__link { height: 96px; padding: 14px 18px; }
}


/* 10. Over Empower Women en Over ons
   ========================================================================== */

/* Sfeerimpressie */
.ew-sfeer {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.ew-sfeer__foto {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 8px;
}

.ew-sfeer__knop { margin: 28px 0 0; padding: 0; text-align: center; }

/* Slotzin van een founder */
.ew-founder-quote {
	margin-top: 16px;
	padding: 4px 0 4px 16px !important;
	border-left: 3px solid var(--ew-rood);
	font-weight: 600;
	color: var(--ew-rood);
}

/* Openingsquote van Ons verhaal */
.ew-verhaal-quote {
	position: relative;
	padding-left: 64px !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.2rem, 1rem + 0.8vw, 1.5rem);
	line-height: 1.4;
	color: var(--ew-rood);
}

.ew-verhaal-quote::before {
	content: "\201C";
	position: absolute;
	left: 0;
	top: -14px;
	font-family: Georgia, serif;
	font-size: 80px;
	line-height: 1;
	color: var(--ew-rood);
	opacity: 0.35;
}

@media (max-width: 900px) {
	.ew-sfeer { grid-template-columns: repeat(2, 1fr); }
}

/* Losse quote: roze vlak, aanhalingstekens linksboven en rechtsonder */
.ew-citaat {
	position: relative;
	margin: 0;
	padding: 44px 80px;
	border-radius: 8px;
	background: var(--ew-roze);
	text-align: center;
}

.ew-citaat::before,
.ew-citaat::after {
	position: absolute;
	font: 700 64px/1 "Playfair Display", Georgia, serif;
	color: var(--ew-rood);
}

.ew-citaat::before { content: "\201C"; left: 32px; top: 24px; }
.ew-citaat::after  { content: "\201D"; right: 32px; bottom: -8px; }

.ew-citaat blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

.ew-citaat blockquote p {
	margin: 0;
	padding: 0;
	font: italic 400 clamp(1.25rem, 1rem + 1vw, 1.6rem)/1.4 "Playfair Display", Georgia, serif;
	color: var(--ew-donker);
}

.ew-citaat figcaption {
	margin-top: 20px;
	font: 400 16px/1.4 Poppins, sans-serif;
	color: var(--ew-donker);
}

@media (max-width: 600px) {
	.ew-citaat { padding: 56px 24px 48px; }

	.ew-citaat::before,
	.ew-citaat::after { font-size: 48px; }

	.ew-citaat::before { left: 20px; top: 16px; }
	.ew-citaat::after  { right: 20px; bottom: -6px; }
}

/* 11. Samenwerken
   ========================================================================== */

/* Kaart met een rond icoon dat half boven de rand uitsteekt */
.ew-samenkaart {
	position: relative;
	overflow: visible !important;
}

.ew-kaarticoon {
	position: absolute !important;
	top: -36px;
	left: 50%;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0 !important;
	border: 4px solid #FFFFFF;
	border-radius: 50%;
	background: var(--ew-roze);
	color: var(--ew-rood);
	transform: translateX(-50%);
}

/* Kaarten met icoon onder elkaar: ruimte voor het uitstekende icoon */
@media (max-width: 980px) {
	.ew-samenkaart { margin-top: 48px !important; }
	.ew-samenkaart:first-child { margin-top: 0 !important; }
}

/* Iconen op de homepage: kleiner, en precies half boven de kaart */
.home .ew-kaarticoon {
	top: 0 !important;
	width: 56px !important;
	height: 56px !important;
	border-width: 3px !important;
	transform: translate(-50%, -50%) !important;
}

.home .ew-kaarticoon .et-pb-icon,
.home .ew-kaarticoon span {
	font-size: 22px !important;
	padding: 0 !important;
}

/* 12. Contactformulier (Fluent Forms)
   ========================================================================== */

.fluentform .ff-el-input--label label {
	font: 600 14px/1.4 Poppins, sans-serif;
	color: var(--ew-donker);
}

.fluentform .ff-el-is-required.asterisk-right label::after { color: var(--ew-rood); }

.fluentform .ff-el-form-control {
	padding: 12px 14px !important;
	border: 1px solid #D9D2D4 !important;
	border-radius: 6px !important;
	background: #FFFFFF !important;
	font: 400 15px/1.5 Poppins, sans-serif !important;
	color: var(--ew-donker) !important;
}

.fluentform .ff-el-form-control:focus {
	border-color: var(--ew-rood) !important;
	outline: 3px solid rgba(154, 16, 80, 0.25) !important;
	outline-offset: 0;
	box-shadow: none !important;
}

.fluentform .ff-el-is-error .ff-el-form-control { border-color: var(--ew-fout) !important; }

.fluentform .error,
.fluentform .text-danger { font-size: 13px; color: var(--ew-fout) !important; }

.fluentform .ff-btn-submit {
	padding: 13px 26px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: var(--ew-rood) !important;
	font: 600 15px/1.4 Poppins, sans-serif !important;
	color: #FFFFFF !important;
	transition: background 300ms;
}

.fluentform .ff-btn-submit:hover { background: var(--ew-donker) !important; }

.fluentform .ff-el-tc label a,
.fluentform .ff_t_c a { font-weight: 600; color: var(--ew-rood); }

.ff-message-success {
	padding: 16px 20px !important;
	border: 0 !important;
	border-left: 3px solid var(--ew-rood) !important;
	background: var(--ew-roze) !important;
	box-shadow: none !important;
}

/* 12b. 404-pagina
   ========================================================================== */

.ew-404 {
	padding: 72px 0 88px;
	text-align: center;
}

.ew-404 h1 {
	margin: 0 0 16px;
	padding: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
	line-height: 1.15;
	color: var(--ew-donker);
}

.ew-404__intro {
	max-width: 560px;
	margin: 0 auto;
	font-size: 17px;
}

.ew-404__knoppen {
	justify-content: center;
	margin-top: 28px;
}

.ew-404__kop {
	margin: 56px 0 14px !important;
	padding: 0 !important;
	font: 600 13px/1.4 Poppins, sans-serif !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ew-grijs) !important;
}

.ew-404__links,
.ew-404__links li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ew-404__links li::marker { content: ""; }

.ew-404__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.ew-404__links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 18px;
	border: 1px solid var(--ew-rand);
	border-radius: 999px;
	font-size: 15px;
	font-weight: 500;
	color: var(--ew-donker);
	text-decoration: none;
	transition: border-color 200ms, color 200ms, background 200ms;
}

.ew-404__links a:hover {
	border-color: var(--ew-rood);
	background: var(--ew-roze);
	color: var(--ew-rood);
}

.ew-404__links a:focus-visible { outline: 3px solid var(--ew-rood); outline-offset: 3px; }

/* 13. Focus en minder beweging
   ========================================================================== */

/* Zichtbare focusring op lichte achtergrond */
.ew-knop:focus-visible,
.ew-knop-secundair:focus-visible,
.ew-filter__knop:focus-visible,
.ew-delen__knop:focus-visible,
.fluentform .ff-btn-submit:focus-visible { outline: 3px solid var(--ew-donker) !important; outline-offset: 2px; }

.ew-tekstlink:focus-visible,
.ew-wereldlijst a:focus-visible,
.ew-filter__wissen a:focus-visible,
.ew-meer__item:focus-visible,
.ew-thema:focus-visible,
.ew-socials a:focus-visible,
.ew-inspinav__item:focus-visible,
.ew-logos__link:focus-visible { outline: 3px solid var(--ew-rood); outline-offset: 3px; }

.ew-kaart:focus-within,
.ew-inspikaart:focus-within,
.ew-minikaart:focus-within,
.ew-sprekerkaart:focus-visible,
.ew-editie__knop:focus-visible,
a.ew-editie:focus-visible { outline: 3px solid var(--ew-rood); outline-offset: 4px; }

/* Zichtbare focusring op rode of donkere achtergrond */
.ew-knop-wit:focus-visible,
.ew-knop-licht:focus-visible,
.ew-nb button:focus-visible,
.ew-nb input[type="email"]:focus ,.w-nb input[type="text"]:focus, outline: 3px solid #FFFFFF; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	.ew-kaart,
	.ew-inspikaart,
	.ew-minikaart,
	.ew-sprekerkaart,
	.ew-inspinav__item,
	.ew-editie img { transition: none; }

	.ew-kaart:hover,
	.ew-inspikaart:hover,
	.ew-minikaart:hover,
	.ew-sprekerkaart:hover { transform: none; }

	.ew-editie__knop:hover img,
	a.ew-editie:hover img { transform: none; }
}
