/* TEA – The Employment Agency · huisstijl bovenop Woodmart + Elementor */

:root {
	--tea-ink: #0A1A2F;
	--tea-navy: #0E2A4A;
	--tea-blue: #005288;
	--tea-blue-2: #1F6FB2;
	--tea-sky: #8CC4F2;
	--tea-amber: #F4A62A;
	--tea-amber-2: #FFC76A;
	--tea-bg: #F4F7FB;
	--tea-line: #E3E9F1;
	--tea-text: #4A5B70;
	--tea-head: #0A1A2F;
	--tea-radius: 20px;
	--tea-radius-lg: 28px;
	--tea-shadow: 0 1px 2px rgba(10, 26, 47, .04), 0 18px 40px -18px rgba(10, 26, 47, .22);
	--tea-shadow-lg: 0 30px 80px -30px rgba(10, 26, 47, .45);
	--tea-font-h: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
	--tea-font-b: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tea-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- basis ---------- */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body[class*="elementor-kit-"] {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
	--widgets-spacing: 16px 16px;
	--widgets-spacing-row: 16px;
	--widgets-spacing-column: 16px;
}
body.elementor-page .wd-content-layout { padding-top: 0; padding-bottom: 0; }
body.elementor-page .wd-page-content { background: #fff; }
::selection { background: var(--tea-amber); color: var(--tea-ink); }
html { scroll-padding-top: 90px; }

.e-con.tea-section {
	position: relative;
	padding-top: clamp(72px, 9vw, 128px);
	padding-bottom: clamp(72px, 9vw, 128px);
	overflow: hidden;
}
.e-con.tea-wrap {
	width: 100%;
	max-width: 1288px;
	margin-inline: auto;
	padding-inline: 24px;
	position: relative;
	z-index: 2;
}
.e-con.tea-bg-soft { background: var(--tea-bg); }
.e-con.tea-bg-dark,
.e-con.tea-footer {
	background:
		radial-gradient(1100px 560px at 88% -12%, rgba(31, 111, 178, .42), transparent 62%),
		radial-gradient(760px 480px at -8% 112%, rgba(244, 166, 42, .13), transparent 60%),
		var(--tea-ink);
	color: rgba(255, 255, 255, .72);
}
.e-con.tea-pt-0 { padding-top: 0; }

/* ---------- typografie ---------- */
.tea-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font: 600 13px/1.2 var(--tea-font-b);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tea-blue);
}
.tea-eyebrow .elementor-heading-title::before {
	content: "";
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: var(--tea-amber);
}
.tea-eyebrow.tea-center .elementor-heading-title::after {
	content: "";
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: var(--tea-amber);
}
.tea-h1 .elementor-heading-title {
	font-family: var(--tea-font-h);
	font-weight: 800;
	font-size: clamp(40px, 5.6vw, 76px);
	line-height: 1.02;
	letter-spacing: -.035em;
	color: #fff;
}
.tea-h2 .elementor-heading-title {
	font-family: var(--tea-font-h);
	font-weight: 800;
	font-size: clamp(32px, 3.9vw, 52px);
	line-height: 1.08;
	letter-spacing: -.03em;
	color: var(--tea-head);
}
.tea-h3 .elementor-heading-title {
	font-family: var(--tea-font-h);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -.015em;
	color: var(--tea-head);
}
.tea-lead,
.tea-lead p {
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.65;
	color: var(--tea-text);
}
.tea-text,
.tea-text p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--tea-text);
}
.tea-lead p:last-child,
.tea-text p:last-child { margin-bottom: 0; }
.tea-center,
.tea-center .elementor-heading-title { text-align: center; }
.tea-center.tea-lead,
.tea-center.tea-text { margin-inline: auto; }
.tea-maxw { max-width: 720px; }
.tea-hl {
	background: linear-gradient(92deg, var(--tea-amber) 0%, var(--tea-amber-2) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.tea-hl-blue {
	background: linear-gradient(92deg, var(--tea-blue) 0%, var(--tea-blue-2) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* donkere achtergronden */
.tea-on-dark .tea-h1 .elementor-heading-title,
.tea-on-dark .tea-h2 .elementor-heading-title,
.tea-on-dark .tea-h3 .elementor-heading-title,
.tea-bg-dark .tea-h2 .elementor-heading-title,
.tea-bg-dark .tea-h3 .elementor-heading-title { color: #fff; }
.tea-on-dark .tea-eyebrow .elementor-heading-title,
.tea-bg-dark .tea-eyebrow .elementor-heading-title { color: var(--tea-sky); }
.tea-on-dark .tea-lead,
.tea-on-dark .tea-lead p,
.tea-on-dark .tea-text,
.tea-on-dark .tea-text p,
.tea-bg-dark .tea-lead,
.tea-bg-dark .tea-lead p,
.tea-bg-dark .tea-text,
.tea-bg-dark .tea-text p { color: rgba(255, 255, 255, .74); }

/* ---------- layout ---------- */
.e-con.tea-stack { gap: 18px; }
.e-con.tea-stack-lg { gap: 28px; }
.e-con.tea-row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.e-con.tea-row.tea-center { justify-content: center; }
.e-con.tea-head {
	gap: 18px;
	margin-bottom: clamp(40px, 5vw, 64px);
	align-items: center;
	text-align: center;
	max-width: 780px;
	margin-inline: auto;
}
.e-con.tea-head > .elementor-widget { width: 100%; }
.e-con.tea-head.tea-left { align-items: flex-start; text-align: left; margin-inline: 0; }

.e-con.tea-grid-2,
.e-con.tea-grid-3,
.e-con.tea-grid-4,
.e-con.tea-split,
.e-con.tea-split-r {
	display: grid;
	gap: 24px;
}
.e-con.tea-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-con.tea-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-con.tea-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e-con.tea-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.e-con.tea-split-r { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.e-con.tea-align-start { align-items: start; }
.e-con.tea-grid-2 > *,
.e-con.tea-grid-3 > *,
.e-con.tea-grid-4 > *,
.e-con.tea-split > *,
.e-con.tea-split-r > * { width: auto; min-width: 0; }

/* ---------- knoppen ---------- */
.elementor-widget.tea-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	padding: 17px 28px;
	border-radius: 999px;
	font: 600 15px/1 var(--tea-font-b);
	letter-spacing: 0;
	text-transform: none;
	border: 0;
	transition: transform .25s var(--tea-ease), box-shadow .25s var(--tea-ease), background-color .25s;
}
.elementor-widget.tea-btn .elementor-button-text::after {
	content: "→";
	display: inline-block;
	margin-left: 10px;
	transition: transform .25s var(--tea-ease);
}
.elementor-widget.tea-btn.tea-noarrow .elementor-button-text::after { display: none; }
.elementor-widget.tea-btn .elementor-button:hover { transform: translateY(-2px); }
.elementor-widget.tea-btn .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.elementor-widget.tea-btn--primary .elementor-button { background: var(--tea-amber); color: var(--tea-ink); }
.elementor-widget.tea-btn--primary .elementor-button:hover { background: #FFB547; color: var(--tea-ink); box-shadow: 0 14px 28px -12px rgba(244, 166, 42, .7); }
.elementor-widget.tea-btn--ghost .elementor-button {
	background: rgba(255, 255, 255, .06);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3);
	backdrop-filter: blur(8px);
}
.elementor-widget.tea-btn--ghost .elementor-button:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.elementor-widget.tea-btn--dark .elementor-button { background: var(--tea-ink); color: #fff; }
.elementor-widget.tea-btn--dark .elementor-button:hover { background: var(--tea-blue); color: #fff; box-shadow: 0 14px 28px -12px rgba(0, 82, 136, .6); }
.elementor-widget.tea-btn--outline .elementor-button { background: transparent; color: var(--tea-ink); box-shadow: inset 0 0 0 1.5px var(--tea-line); }
.elementor-widget.tea-btn--outline .elementor-button:hover { box-shadow: inset 0 0 0 1.5px var(--tea-ink); color: var(--tea-ink); }

/* ---------- vinkjes en pills ---------- */
.tea-checks .elementor-icon-list-items { display: grid; gap: 12px; }
.tea-checks .elementor-icon-list-item { align-items: flex-start !important; }
.tea-checks .elementor-icon-list-icon {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	border-radius: 50%;
	background: rgba(0, 82, 136, .1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}
.tea-checks .elementor-icon-list-icon i { font-size: 10px !important; color: var(--tea-blue); }
.tea-checks .elementor-icon-list-icon svg { width: 10px !important; height: 10px; fill: var(--tea-blue); }
.tea-checks .elementor-icon-list-text { padding-left: 12px; color: var(--tea-text); font-size: 15.5px; line-height: 1.55; }
.tea-checks .elementor-icon-list-text strong { color: var(--tea-head); font-weight: 600; }
.tea-on-dark .tea-checks .elementor-icon-list-icon,
.tea-bg-dark .tea-checks .elementor-icon-list-icon { background: rgba(244, 166, 42, .16); }
.tea-on-dark .tea-checks .elementor-icon-list-icon i,
.tea-bg-dark .tea-checks .elementor-icon-list-icon i { color: var(--tea-amber); }
.tea-on-dark .tea-checks .elementor-icon-list-icon svg,
.tea-bg-dark .tea-checks .elementor-icon-list-icon svg { fill: var(--tea-amber); }
.tea-on-dark .tea-checks .elementor-icon-list-text,
.tea-bg-dark .tea-checks .elementor-icon-list-text { color: rgba(255, 255, 255, .78); }
.tea-on-dark .tea-checks .elementor-icon-list-text strong,
.tea-bg-dark .tea-checks .elementor-icon-list-text strong { color: #fff; }

.tea-trust .elementor-icon-list-items { gap: 10px 26px; }
.tea-trust .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.tea-trust .elementor-icon-list-item::after { display: none !important; }
.tea-trust .elementor-icon-list-icon i { color: var(--tea-amber) !important; font-size: 14px; }
.tea-trust .elementor-icon-list-icon svg { fill: var(--tea-amber) !important; width: 14px; }
.tea-trust .elementor-icon-list-text { color: rgba(255, 255, 255, .8); font-size: 14.5px; font-weight: 500; padding-left: 8px; }

.tea-pills .elementor-icon-list-items { gap: 10px; }
.tea-pills .elementor-icon-list-item {
	margin: 0 !important;
	padding: 9px 16px !important;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--tea-line);
}
.tea-pills .elementor-icon-list-item::after { display: none !important; }
.tea-pills .elementor-icon-list-icon i { color: var(--tea-amber); font-size: 13px; }
.tea-pills .elementor-icon-list-icon svg { fill: var(--tea-amber); width: 13px; }
.tea-pills .elementor-icon-list-text { color: var(--tea-head); font-weight: 600; font-size: 14px; padding-left: 8px; }

/* ---------- kaarten ---------- */
.e-con.tea-card,
.elementor-widget.tea-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--tea-line);
	border-radius: var(--tea-radius);
	padding: 32px;
	transition: transform .35s var(--tea-ease), box-shadow .35s var(--tea-ease), border-color .35s;
}
.e-con.tea-card:hover,
.elementor-widget.tea-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: var(--tea-shadow);
}
.tea-card .elementor-icon-box-wrapper { text-align: left; display: block; }
.tea-card .elementor-icon-box-icon { margin: 0 0 22px; display: block; text-align: left; }
.tea-card .elementor-icon,
.tea-iconbox .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: linear-gradient(140deg, rgba(0, 82, 136, .1), rgba(140, 196, 242, .22));
	color: var(--tea-blue);
	font-size: 22px;
	transition: transform .35s var(--tea-ease), background .35s;
}
.tea-card .elementor-icon svg,
.tea-iconbox .elementor-icon svg { width: 22px; height: 22px; fill: currentColor; }
.tea-card .elementor-icon i,
.tea-iconbox .elementor-icon i { color: currentColor; }
.tea-card:hover .elementor-icon {
	background: var(--tea-ink);
	color: var(--tea-amber);
	transform: rotate(-6deg);
}
.tea-card .elementor-icon-box-title,
.tea-iconbox .elementor-icon-box-title {
	margin: 0 0 10px;
	font: 700 20px/1.3 var(--tea-font-h);
	letter-spacing: -.015em;
	color: var(--tea-head);
}
.tea-card .elementor-icon-box-description,
.tea-iconbox .elementor-icon-box-description {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--tea-text);
}

/* glas-kaarten op donker */
.e-con.tea-glass,
.elementor-widget.tea-glass {
	background: linear-gradient(160deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: var(--tea-radius);
	padding: 30px;
	backdrop-filter: blur(10px);
	transition: border-color .35s, transform .35s var(--tea-ease);
}
.e-con.tea-glass:hover,
.elementor-widget.tea-glass:hover { border-color: rgba(244, 166, 42, .45); transform: translateY(-3px); }
.tea-glass .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: rgba(244, 166, 42, .14);
	color: var(--tea-amber);
	font-size: 19px;
}
.tea-glass .elementor-icon svg { width: 19px; height: 19px; fill: currentColor; }
.tea-glass .elementor-icon-box-wrapper { text-align: left; display: block; }
.tea-glass .elementor-icon-box-icon { margin: 0 0 18px; display: block; text-align: left; }
.tea-glass .elementor-icon-box-title { margin: 0 0 8px; font: 700 19px/1.3 var(--tea-font-h); color: #fff; }
.tea-glass .elementor-icon-box-description { margin: 0; font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, .7); }
.tea-glass .tea-h3 .elementor-heading-title { color: #fff; font-size: 20px; }

/* ---------- hero ---------- */
.e-con.tea-hero {
	padding-top: clamp(150px, 16vw, 210px);
	padding-bottom: clamp(110px, 12vw, 170px);
	min-height: min(100vh, 980px);
	display: flex;
	justify-content: center;
}
.e-con.tea-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	gap: clamp(40px, 6vw, 88px);
	align-items: center;
}
.e-con.tea-hero-copy { gap: 26px; }
.tea-hero .tea-lead p { max-width: 560px; }
.e-con.tea-hero-media { position: relative; }
.tea-hero-img img {
	width: 100%;
	aspect-ratio: 9 / 10;
	object-fit: cover;
	border-radius: var(--tea-radius-lg);
	box-shadow: var(--tea-shadow-lg);
}
.e-con.tea-float {
	position: absolute;
	z-index: 3;
	left: -36px;
	bottom: 40px;
	max-width: 290px;
	padding: 18px 20px;
	gap: 6px;
	border-radius: 18px;
	background: rgba(255, 255, 255, .94);
	backdrop-filter: blur(12px);
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .45);
	animation: tea-bob 6s ease-in-out infinite;
}
.e-con.tea-float--top {
	left: auto;
	right: -24px;
	top: 36px;
	bottom: auto;
	max-width: 230px;
	background: var(--tea-amber);
	animation-delay: -3s;
}
.tea-float .tea-float-k .elementor-heading-title {
	font: 700 11.5px/1.2 var(--tea-font-b);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tea-blue);
}
.tea-float--top .tea-float-k .elementor-heading-title { color: rgba(10, 26, 47, .7); }
.tea-float .tea-float-v .elementor-heading-title {
	font: 700 16px/1.35 var(--tea-font-h);
	color: var(--tea-ink);
}
@keyframes tea-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* page hero (subpagina's) */
.e-con.tea-phero {
	padding-top: clamp(150px, 15vw, 200px);
	padding-bottom: clamp(70px, 8vw, 110px);
}
.e-con.tea-phero .tea-h1 .elementor-heading-title { font-size: clamp(38px, 5vw, 64px); }
.e-con.tea-phero-copy { gap: 22px; max-width: 780px; }

/* ---------- cijfers ---------- */
.e-con.tea-section.tea-stats-sec { overflow: visible; z-index: 5; }
.e-con.tea-stats-wrap { margin-top: -78px; position: relative; z-index: 5; }
.e-con.tea-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: #fff;
	border-radius: var(--tea-radius-lg);
	box-shadow: var(--tea-shadow);
	border: 1px solid var(--tea-line);
	overflow: hidden;
}
.e-con.tea-stats > .elementor-widget { padding: 34px 30px; border-right: 1px solid var(--tea-line); }
.e-con.tea-stats > .elementor-widget:last-child { border-right: 0; }
.tea-stat .elementor-counter { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 8px; }
.tea-stat .elementor-counter-number-wrapper {
	font: 800 46px/1 var(--tea-font-h) !important;
	letter-spacing: -.03em;
	color: var(--tea-ink) !important;
	justify-content: flex-start !important;
}
.tea-stat .elementor-counter-number-suffix,
.tea-stat .elementor-counter-number-prefix { color: var(--tea-amber); }
.tea-stat .elementor-counter-title {
	font: 500 14.5px/1.4 var(--tea-font-b) !important;
	color: var(--tea-text) !important;
	text-align: left !important;
	justify-content: flex-start !important;
}

/* ---------- sectoren ---------- */
.e-con.tea-sticky { position: sticky; top: 120px; gap: 22px; }
.e-con.tea-sectors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tea-sector.elementor-widget { padding: 26px; }
.tea-sector .elementor-icon-box-wrapper { display: flex !important; gap: 18px; align-items: flex-start; text-align: left; }
.tea-sector .elementor-icon-box-icon { margin: 0 !important; flex: 0 0 auto; }
.tea-sector .elementor-icon { width: 48px; height: 48px; border-radius: 14px; font-size: 19px; }
.tea-sector .elementor-icon svg { width: 19px; height: 19px; }
.tea-sector .elementor-icon-box-title { font-size: 18px; margin-bottom: 6px; }
.tea-sector .elementor-icon-box-description { font-size: 15px; }
.e-con.tea-sector-cta {
	border-radius: var(--tea-radius);
	padding: 26px;
	gap: 14px;
	justify-content: center;
	background: linear-gradient(140deg, var(--tea-blue) 0%, var(--tea-ink) 100%);
}
.tea-sector-cta .tea-h3 .elementor-heading-title { color: #fff; font-size: 19px; }
.tea-sector-cta .tea-text p { color: rgba(255, 255, 255, .72); font-size: 15px; }

/* ---------- over ons ---------- */
.e-con.tea-collage { position: relative; padding: 0 56px 64px 0; }
.tea-collage-main img {
	width: 100%;
	aspect-ratio: 5 / 6;
	object-fit: cover;
	border-radius: var(--tea-radius-lg);
}
.elementor-widget.tea-collage-small {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 52%;
	z-index: 2;
}
.tea-collage-small img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--tea-radius);
	border: 8px solid #fff;
	box-shadow: var(--tea-shadow);
}
.e-con.tea-badge {
	position: absolute;
	top: 32px;
	left: -28px;
	z-index: 3;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: var(--tea-amber);
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 2px;
	box-shadow: 0 20px 40px -18px rgba(244, 166, 42, .8);
}
.tea-badge .tea-badge-n .elementor-heading-title { font: 800 42px/1 var(--tea-font-h); color: var(--tea-ink); letter-spacing: -.03em; }
.tea-badge .tea-badge-t .elementor-heading-title { font: 600 12.5px/1.3 var(--tea-font-b); color: rgba(10, 26, 47, .82); padding: 0 18px; }

.e-con.tea-story-list { gap: 0; margin-top: 8px; border-top: 1px solid var(--tea-line); }
.e-con.tea-story {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 4px 18px;
	padding: 22px 0;
	border-bottom: 1px solid var(--tea-line);
}
.e-con.tea-story > .elementor-widget { width: auto; }
.tea-story .tea-num { grid-row: span 2; }
.tea-num .elementor-heading-title {
	font: 800 15px/1 var(--tea-font-h);
	color: var(--tea-blue);
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(0, 82, 136, .08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.tea-story .tea-h3 .elementor-heading-title { font-size: 18px; }
.tea-story .tea-text p { font-size: 15px; }

.e-con.tea-values { margin-top: clamp(56px, 7vw, 96px); }
.e-con.tea-value {
	padding: 28px 26px;
	border-radius: var(--tea-radius);
	background: var(--tea-bg);
	gap: 10px;
	position: relative;
	overflow: hidden;
}
.e-con.tea-value::after {
	content: "";
	position: absolute;
	left: 26px;
	top: 0;
	width: 40px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--tea-amber);
}
.tea-value .tea-h3 .elementor-heading-title { font-size: 19px; }
.tea-value .tea-text p { font-size: 15px; }

/* ---------- aanpak / stappen ---------- */
.e-con.tea-balance { gap: 14px; }
.e-con.tea-steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	margin-top: clamp(48px, 6vw, 80px);
	position: relative;
}
.e-con.tea-steps::before {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	top: 49px;
	height: 1px;
	background: linear-gradient(90deg, rgba(244, 166, 42, .6), rgba(140, 196, 242, .25));
	z-index: 0;
}
.e-con.tea-step { gap: 12px; padding: 28px 24px; z-index: 1; }
.tea-step .tea-num .elementor-heading-title {
	background: var(--tea-ink);
	color: var(--tea-amber);
	box-shadow: 0 0 0 1px rgba(244, 166, 42, .45), 0 0 0 6px rgba(10, 26, 47, 1);
	border-radius: 50%;
}
.tea-on-light .tea-step .tea-num .elementor-heading-title { box-shadow: 0 0 0 1px rgba(244, 166, 42, .45), 0 0 0 6px #fff; }
.tea-step .tea-h3 .elementor-heading-title { font-size: 18px; }
.tea-step .tea-text p { font-size: 14.5px; line-height: 1.6; }
.tea-on-light .e-con.tea-steps::before { background: linear-gradient(90deg, rgba(244, 166, 42, .7), rgba(0, 82, 136, .2)); }

.e-con.tea-head + .e-con.tea-steps { margin-top: 0; }
.e-con.tea-steps-head { margin-top: clamp(64px, 8vw, 104px); margin-bottom: 36px; }

/* ---------- doelgroepen ---------- */
.e-con.tea-aud {
	border-radius: var(--tea-radius-lg);
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--tea-line);
	gap: 0;
	transition: transform .35s var(--tea-ease), box-shadow .35s var(--tea-ease);
}
.e-con.tea-aud:hover { transform: translateY(-4px); box-shadow: var(--tea-shadow); }
.tea-aud-img img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; display: block; }
.e-con.tea-aud-body { padding: clamp(28px, 3.4vw, 44px); gap: 18px; flex-grow: 1; }
.e-con.tea-aud-body > .elementor-widget:last-child { margin-top: auto; padding-top: 8px; }
.e-con.tea-aud--dark {
	background: linear-gradient(160deg, var(--tea-navy) 0%, var(--tea-ink) 70%);
	border-color: transparent;
}

/* ---------- partnernetwerk ---------- */
.e-con.tea-net-card { gap: 16px; }
.tea-net-card .tea-num .elementor-heading-title { background: rgba(244, 166, 42, .14); color: var(--tea-amber); }

/* ---------- goede doelen ---------- */
.tea-charity-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--tea-radius-lg);
	box-shadow: var(--tea-shadow);
}

/* ---------- logo's ---------- */
.e-con.tea-logos {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 28px 64px;
}
.e-con.tea-logos > .elementor-widget { width: auto; }
.tea-logo img {
	max-height: 56px;
	width: auto !important;
	filter: grayscale(1);
	opacity: .65;
	mix-blend-mode: multiply;
	transition: filter .3s, opacity .3s;
}
.tea-logo.tea-logo--tall img { max-height: 92px; }
.tea-logo.tea-logo--wide img { max-height: 34px; }
.tea-logo a:hover img,
.tea-logo img:hover { filter: none; opacity: 1; }

/* ---------- CTA ---------- */
.e-con.tea-cta {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) auto;
	gap: 32px 48px;
	align-items: center;
	padding: clamp(36px, 5vw, 72px);
	border-radius: 32px;
	background:
		radial-gradient(700px 360px at 100% 0%, rgba(244, 166, 42, .28), transparent 60%),
		radial-gradient(600px 400px at 0% 100%, rgba(140, 196, 242, .18), transparent 60%),
		linear-gradient(135deg, var(--tea-blue) 0%, var(--tea-ink) 75%);
	overflow: hidden;
	position: relative;
}
.e-con.tea-cta-copy { gap: 14px; }
.e-con.tea-cta .tea-h2 .elementor-heading-title { color: #fff; }
.e-con.tea-cta .tea-lead p { color: rgba(255, 255, 255, .78); }
.e-con.tea-cta .tea-row { justify-content: flex-end; }

/* ---------- contact ---------- */
.e-con.tea-contact-info { gap: 14px; }
.tea-iconbox.elementor-widget {
	padding: 22px 24px;
	border-radius: var(--tea-radius);
	background: var(--tea-bg);
	border: 1px solid transparent;
	transition: border-color .3s, background .3s;
}
.tea-iconbox.elementor-widget:hover { background: #fff; border-color: var(--tea-line); }
.tea-iconbox .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; gap: 18px; align-items: center !important; text-align: left; }
.tea-iconbox .elementor-icon-box-content { flex: 1 1 auto; }
.tea-iconbox .elementor-icon-box-icon { margin: 0 !important; flex: 0 0 auto; }
.tea-iconbox .elementor-icon { width: 48px; height: 48px; border-radius: 14px; font-size: 18px; }
.tea-iconbox .elementor-icon-box-title { font-size: 17px; margin-bottom: 4px; }
.tea-iconbox .elementor-icon-box-description a { color: var(--tea-blue); font-weight: 600; }

.e-con.tea-form-card {
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--tea-radius-lg);
	background: #fff;
	border: 1px solid var(--tea-line);
	box-shadow: var(--tea-shadow);
	gap: 22px;
}
.tea-form .elementor-field-group { margin-bottom: 16px; }
.tea-form .elementor-field-label {
	font: 600 13.5px/1.3 var(--tea-font-b);
	color: var(--tea-head);
	margin-bottom: 8px;
}
.tea-form .elementor-field-textual,
.tea-form .elementor-select-wrapper select {
	min-height: 52px;
	padding: 14px 16px !important;
	border: 1px solid var(--tea-line) !important;
	border-radius: 12px !important;
	background: var(--tea-bg) !important;
	font: 400 15.5px/1.4 var(--tea-font-b) !important;
	color: var(--tea-head) !important;
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.tea-form textarea.elementor-field-textual { min-height: 150px; }
.tea-form .elementor-field-textual:focus,
.tea-form .elementor-select-wrapper select:focus {
	outline: none;
	background: #fff !important;
	border-color: var(--tea-blue) !important;
	box-shadow: 0 0 0 4px rgba(0, 82, 136, .12) !important;
}
.tea-form .elementor-field-type-acceptance label { font-size: 14px; color: var(--tea-text); }
.tea-form .elementor-field-type-acceptance a { color: var(--tea-blue); text-decoration: underline; }
.tea-form .elementor-button {
	width: 100%;
	min-height: 56px;
	border-radius: 999px !important;
	background: var(--tea-amber) !important;
	color: var(--tea-ink) !important;
	font: 700 15.5px/1 var(--tea-font-b) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: transform .25s var(--tea-ease), box-shadow .25s;
}
.tea-form .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(244, 166, 42, .7); }
.tea-form .elementor-message { font-size: 15px; margin-top: 12px; }
.tea-map iframe,
.tea-map .elementor-custom-embed { border-radius: var(--tea-radius-lg); overflow: hidden; filter: grayscale(.4) contrast(1.05); }

/* ---------- juridische tekst ---------- */
.elementor-widget.tea-legal { max-width: 820px; width: 100%; margin-inline: auto; }
.tea-legal,
.tea-legal p,
.tea-legal li { font-size: 16px; line-height: 1.75; color: var(--tea-text); }
.tea-legal h2 {
	margin: 56px 0 14px;
	padding-top: 32px;
	border-top: 1px solid var(--tea-line);
	font: 800 28px/1.2 var(--tea-font-h);
	letter-spacing: -.02em;
	color: var(--tea-head);
}
.tea-legal h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.tea-legal h3 { margin: 32px 0 10px; font: 700 19px/1.3 var(--tea-font-h); color: var(--tea-head); }
.tea-legal a { color: var(--tea-blue); text-decoration: underline; text-underline-offset: 3px; }
.tea-legal strong { color: var(--tea-head); }
.tea-legal table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 24px 0 32px; border: 1px solid var(--tea-line); border-radius: 16px; overflow: hidden; }
.tea-legal td,
.tea-legal th { padding: 14px 16px; border-bottom: 1px solid var(--tea-line); vertical-align: top; font-size: 15px; }
.tea-legal tr:last-child td { border-bottom: 0; }
.tea-legal tr:nth-child(odd) td { background: var(--tea-bg); }
.tea-legal .tea-legal-meta { font-size: 14px; color: #7A8899; margin-top: -4px; }

/* ---------- footer ---------- */
.e-con.tea-footer { padding-top: clamp(64px, 8vw, 100px); padding-bottom: 28px; }
.e-con.tea-foot-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 40px;
	padding-bottom: 56px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.e-con.tea-foot-grid > .e-con { gap: 16px; }
.elementor-widget.tea-foot-logo { text-align: left; }
.tea-foot-logo img { width: 180px !important; height: auto; }
.elementor-widget.tea-social { text-align: left; align-self: flex-start; width: auto; }
.tea-social .elementor-grid { justify-content: flex-start !important; }
.tea-social .elementor-social-icons-wrapper { justify-content: flex-start; }
.tea-foot-title .elementor-heading-title {
	font: 700 13px/1.2 var(--tea-font-b);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 6px;
}
.tea-footer .tea-text,
.tea-footer .tea-text p { color: rgba(255, 255, 255, .64); font-size: 15px; line-height: 1.7; }
.tea-footer .tea-text strong { color: #fff; font-weight: 600; }
.tea-footer a { color: rgba(255, 255, 255, .78); transition: color .2s; }
.tea-footer a:hover { color: var(--tea-amber); }
.tea-foot-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tea-foot-links li { margin: 0; font-size: 15px; }
.tea-foot-tag .elementor-heading-title { font: 600 18px/1.35 var(--tea-font-h); color: #fff; letter-spacing: -.01em; }
.tea-social .elementor-social-icons-wrapper { display: flex; gap: 10px; }
.tea-social .elementor-social-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .07) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	transition: background .2s;
}
.tea-social .elementor-social-icon:hover { background: var(--tea-amber) !important; }
.tea-social .elementor-social-icon i { color: #fff; }
.tea-social .elementor-social-icon svg { fill: #fff; width: 16px; height: 16px; }
.tea-social .elementor-social-icon:hover i { color: var(--tea-ink); }
.tea-social .elementor-social-icon:hover svg { fill: var(--tea-ink); }
.e-con.tea-foot-partners { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; align-items: center; }
.e-con.tea-foot-partners > .elementor-widget { width: auto; }
.tea-foot-partner img {
	height: 46px !important;
	width: auto !important;
	padding: 8px 12px;
	border-radius: 10px;
	background: #fff;
	object-fit: contain;
	opacity: .9;
	transition: opacity .2s;
}
.tea-foot-partner.tea-logo--tall img { height: 64px !important; padding: 6px 10px; }
.tea-foot-partner.tea-logo--wide img { height: 40px !important; padding: 11px 12px; }
.tea-foot-partner img:hover { opacity: 1; }
.e-con.tea-foot-bottom {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	padding-top: 24px;
}
.e-con.tea-foot-bottom > .elementor-widget { width: auto; }
.tea-foot-bottom .tea-text p { font-size: 14px; color: rgba(255, 255, 255, .5); }
.tea-foot-bottom .tea-text a { color: rgba(255, 255, 255, .6); margin-left: 18px; }

/* ---------- header (Woodmart) ---------- */
.whb-header .whb-general-header { transition: background-color .35s, box-shadow .35s, backdrop-filter .35s; }
.whb-overlap .whb-general-header { background: linear-gradient(180deg, rgba(10, 26, 47, .55), rgba(10, 26, 47, 0)); border-bottom: 0 !important; }
.whb-sticked .whb-general-header,
.whb-header.whb-sticked .whb-general-header {
	background: rgba(10, 26, 47, .86) !important;
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .07), 0 18px 40px -24px rgba(0, 0, 0, .6);
}
.whb-header .wd-header-main-nav .wd-nav > li > a {
	font-family: var(--tea-font-b);
	font-weight: 500;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .82);
	position: relative;
}
.whb-header .wd-header-main-nav .wd-nav > li > a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 18px;
	width: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--tea-amber);
	transition: width .25s var(--tea-ease), left .25s var(--tea-ease);
}
.whb-header .wd-header-main-nav .wd-nav > li:hover > a,
.whb-header .wd-header-main-nav .wd-nav > li.current-menu-item > a { color: #fff; }
.whb-header .wd-header-main-nav .wd-nav > li:hover > a::after { left: 20%; width: 60%; }
.whb-header .wd-dropdown-menu {
	border-radius: 16px;
	box-shadow: var(--tea-shadow);
	padding: 10px;
	min-width: 240px;
}
.whb-header .wd-dropdown-menu .wd-sub-menu li a { border-radius: 10px; font-size: 15px; padding: 11px 14px; }
.whb-header .wd-dropdown-menu .wd-sub-menu li a:hover { background: var(--tea-bg); color: var(--tea-blue); }
.whb-header a.btn.tea-hdr-cta,
.tea-hdr-cta .btn,
.tea-hdr-cta > a {
	background: var(--tea-amber) !important;
	color: var(--tea-ink) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 22px !important;
	font: 600 14.5px/1 var(--tea-font-b) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	transition: transform .25s var(--tea-ease), box-shadow .25s !important;
}
.whb-header a.btn.tea-hdr-cta:hover,
.tea-hdr-cta .btn:hover,
.tea-hdr-cta > a:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -12px rgba(244, 166, 42, .8) !important; }
.whb-header .wd-tools-element.wd-header-mobile-nav > a,
.whb-header .wd-tools-element .wd-tools-icon { color: #fff; }

/* pagina's zonder donkere hero (404, zoeken, berichten) */
body:not(.elementor-page) .whb-header.whb-overlap { position: relative; }
body:not(.elementor-page) .whb-header .whb-general-header { background: var(--tea-ink); }

/* mobiel menu */
.mobile-nav.wd-side-hidden { background: var(--tea-ink); }
.mobile-nav .wd-nav-mobile > li > a { color: #fff; font-weight: 600; text-transform: none; font-size: 16px; }
.mobile-nav .wd-nav-mobile li { border-color: rgba(255, 255, 255, .08) !important; }
.mobile-nav .wd-nav-mobile .wd-sub-menu li a { color: rgba(255, 255, 255, .75); text-transform: none; }
.mobile-nav .wd-nav-opener { color: #fff; border-color: rgba(255, 255, 255, .08) !important; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
	.e-con.tea-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.e-con.tea-steps::before { display: none; }
	.e-con.tea-foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.e-con.tea-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.tea-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.tea-hero-grid,
	.e-con.tea-split,
	.e-con.tea-split-r { grid-template-columns: minmax(0, 1fr); }
	.e-con.tea-hero-media { max-width: 560px; }
	.e-con.tea-hero { min-height: 0; }
	.e-con.tea-sticky { position: relative; top: 0; }
	.e-con.tea-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.tea-stats > .elementor-widget:nth-child(2) { border-right: 0; }
	.e-con.tea-stats > .elementor-widget:nth-child(-n+2) { border-bottom: 1px solid var(--tea-line); }
	.e-con.tea-cta { grid-template-columns: minmax(0, 1fr); }
	.e-con.tea-cta .tea-row { justify-content: flex-start; }
	.e-con.tea-collage { max-width: 620px; }
}
@media (max-width: 767px) {
	.e-con.tea-wrap { padding-inline: 18px; }
	.e-con.tea-grid-2,
	.e-con.tea-grid-3,
	.e-con.tea-grid-4,
	.e-con.tea-sectors,
	.e-con.tea-steps,
	.e-con.tea-foot-grid { grid-template-columns: minmax(0, 1fr); }
	.e-con.tea-stats > .elementor-widget { padding: 24px 20px; }
	.tea-stat .elementor-counter-number-wrapper { font-size: 36px !important; }
	.e-con.tea-float { left: 12px; bottom: 16px; max-width: 250px; }
	.e-con.tea-float--top { right: 12px; left: auto; top: 16px; bottom: auto; max-width: 200px; }
	.e-con.tea-badge { width: 116px; height: 116px; left: -6px; top: 16px; }
	.tea-badge .tea-badge-n .elementor-heading-title { font-size: 32px; }
	.tea-badge .tea-badge-t .elementor-heading-title { font-size: 11px; padding: 0 10px; }
	.e-con.tea-collage { padding: 0 24px 48px 0; }
	.e-con.tea-card, .elementor-widget.tea-card { padding: 26px; }
	.tea-foot-bottom .tea-text a { margin: 0 14px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	.e-con.tea-float { animation: none; }
	.e-con.tea-card, .elementor-widget.tea-card, .e-con.tea-aud, .elementor-widget.tea-btn .elementor-button { transition: none; }
}
