/* Groomzo v2 — B2a premium optin-cursus-landing (994612) — 20 okt 2026.
   Mobile-first: H1 + sub + formulier direct bovenaan; desktop ≥980px twee-koloms
   hero (±1120px) met formulier-kaart rechts. Tokens: ivoor #FAF8F3 / pine #0F3D2E /
   amber #B8860B. Formulier-styling blijft deels FK-eigen (wfop-classes). */

.gzpc {
	margin: 0;
	background: #FAF8F3;
	color: #1E2620;
	font-family: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	line-height: 1.6;
}

.gzpc *, .gzpc *::before, .gzpc *::after { box-sizing: border-box; }

.gzpc img, .gzpc video { max-width: 100%; }

.gzpc-top {
	display: flex;
	justify-content: center;
	padding: 22px 16px 6px;
}

.gzpc-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 8px 20px 64px;
}

/* ---- Hero (mobiel: H1 → sub → formulier → voordelen) ---- */
.gzpc-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	padding-top: 12px;
}

.gzpc-h1 {
	color: #0F3D2E;
	font-family: Fraunces, Georgia, serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 0 0 10px;
}

.gzpc-sub {
	color: #4A5245;
	font-size: 16.5px;
	margin: 0;
}

.gzpc-formcard {
	background: #FFFFFF;
	border: 1px solid #E3DCC9;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(15, 61, 46, 0.08);
	padding: 22px 20px 16px;
}

.gzpc-formtitel {
	color: #0F3D2E;
	font-family: Fraunces, Georgia, serif;
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 4px;
}

.gzpc-privacy {
	color: #7A8171;
	font-size: 12.5px;
	line-height: 1.5;
	margin: 12px 0 0;
}

/* FK-formulier in de kaart: rustige, ruime velden */
.gzpc .bwfac_form_sec { margin: 0 0 10px; text-align: left; }
.gzpc .wffn-optin-input,
.gzpc .bwfac_form_sec input[type="text"],
.gzpc .bwfac_form_sec input[type="email"] {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid #D8D2C0;
	border-radius: 10px;
	font-size: 16px;
	background: #FDFCF9;
	color: #1E2620;
	min-height: 46px;
}
.gzpc .bwfac_form_sec label { font-size: 13px; color: #4A5245; }
.gzpc .bwfac_form_sec label span { color: #B8860B; }
.gzpc .wffn-optin-form-action,
.gzpc .bwfac_form_action { margin-top: 14px; }
.gzpc .wffn-optin-form-action button,
.gzpc .bwfac_form_action button,
.gzpc .wffn-optin-form-action [type="submit"],
.gzpc .bwfac_form_action [type="submit"] {
	width: 100%;
	background: #0F3D2E;
	color: #FAF8F3;
	border: 0;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	padding: 15px 20px;
	min-height: 50px;
	cursor: pointer;
	letter-spacing: 0.02em;
}
.gzpc .wffn-optin-form-action button:hover { background: #0C3225; }
/* consent-checkbox: een regel, voldoende touch-doel */
.gzpc .bwfac_form_sec input[type="checkbox"] {
	width: 20px;
	height: 20px;
	accent-color: #0F3D2E;
	vertical-align: -3px;
	margin-right: 8px;
}

.gzpc-voordelen {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	color: #4A5245;
	font-size: 15.5px;
}
.gzpc-voordelen li {
	position: relative;
	padding: 5px 0 5px 32px;
}
.gzpc-voordelen li::before {
	content: "✓";
	position: absolute;
	left: 2px;
	color: #0F3D2E;
	font-weight: 700;
}

/* ---- Lessen + video ---- */
.gzpc-lessen, .gzpc-instructrice, .gzpc-producten {
	margin-top: 54px;
}
.gzpc-lessen h2, .gzpc-instructrice h2, .gzpc-producten h2 {
	color: #0F3D2E;
	font-family: Fraunces, Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	text-align: center;
	margin: 0 0 22px;
}
.gzpc-lessen-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}
.gzpc-les {
	display: flex;
	gap: 14px;
	background: #FFFFFF;
	border: 1px solid #E3DCC9;
	border-radius: 14px;
	padding: 16px;
}
.gzpc-les-nr {
	flex: 0 0 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0F3D2E;
	color: #FAF8F3;
	border-radius: 999px;
	font-family: Fraunces, Georgia, serif;
	font-size: 17px;
	font-weight: 600;
}
.gzpc-les h3 {
	color: #0F3D2E;
	font-size: 16.5px;
	font-weight: 600;
	margin: 2px 0 4px;
}
.gzpc-les h3 small {
	color: #B8860B;
	font-weight: 600;
	margin-left: 6px;
	font-size: 13px;
	white-space: nowrap;
}
.gzpc-les p { margin: 0; color: #4A5245; font-size: 15px; }

.gzpc-video {
	margin: 26px auto 0;
	max-width: 720px;
	text-align: center;
}
.gzpc-video video {
	width: 100%;
	border-radius: 14px;
	background: #0F3D2E;
	aspect-ratio: 16 / 9;
}
.gzpc-video figcaption {
	color: #7A8171;
	font-size: 13px;
	margin-top: 8px;
}

/* ---- Instructrice + trust ---- */
.gzpc-instructrice { text-align: center; max-width: 680px; margin-left: auto; margin-right: auto; }
.gzpc-instructrice > p { color: #4A5245; font-size: 16px; }
.gzpc-trust {
	color: #0F3D2E;
	font-size: 16px;
	margin: 18px 0 0;
}
.gzpc-sterren { color: #B8860B; letter-spacing: 2px; font-size: 17px; }
.gzpc-tp-sterren { height: 18px; width: auto; vertical-align: -3px; }
.gzpc-trust a { color: #0F3D2E; text-underline-offset: 3px; }
.gzpc-review {
	position: relative;
	background: #FFFFFF;
	border: 1px solid #E3DCC9;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(15, 61, 46, 0.06);
	margin: 24px auto 0;
	max-width: 520px;
	padding: 26px 24px 18px;
}
.gzpc-review-merk {
	display: block;
	font-family: Fraunces, Georgia, serif;
	font-size: 46px;
	line-height: 1;
	color: #0F3D2E;
	opacity: 0.22;
	margin-bottom: 2px;
}
.gzpc-review-sterren {
	color: #B8860B;
	font-size: 16px;
	letter-spacing: 3px;
	margin: 0 0 8px;
}
.gzpc-review-tekst {
	margin: 0;
	color: #1E2620;
	font-size: 15.5px;
	line-height: 1.65;
}
.gzpc-review-naam {
	margin: 10px 0 0;
	color: #0F3D2E;
	font-size: 13.5px;
	font-weight: 600;
}

/* ---- Producten ---- */
.gzpc-producten {
	text-align: center;
	background: #FFFFFF;
	border: 1px solid #E3DCC9;
	border-radius: 16px;
	padding: 26px 22px;
}
.gzpc-producten p { color: #4A5245; font-size: 15.5px; max-width: 640px; margin: 0 auto; }
.gzpc-producten a { color: #0F3D2E; text-underline-offset: 3px; }

/* ---- Desktop ≥980px: twee-koloms hero ---- */
@media (min-width: 980px) {
	.gzpc-top { justify-content: flex-start; padding-left: calc((100vw - 1120px) / 2 + 20px); }
	.gzpc-hero {
		grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
		grid-template-areas:
			"hd   form"
			"sub  form"
			"ben  form";
		gap: 6px 56px;
		align-items: start;
		padding-top: 40px;
	}
	.gzpc-h1 { grid-area: hd; font-size: 44px; margin-bottom: 14px; }
	.gzpc-sub { grid-area: sub; font-size: 18px; }
	.gzpc-formcard { grid-area: form; margin-top: 4px; }
	.gzpc-voordelen { grid-area: ben; margin-top: 14px; font-size: 16.5px; }
	.gzpc-lessen-grid { grid-template-columns: 1fr 1fr; }
}
