/* E&R-huisstijl override voor de Dation-dropdown (origineel DIBO-blauw #00a0c6).
   Brand: primary #126CB4 · deep #005CA6 · navy #20335C · accent #FFCE00 · gray #F3F3F3 */
:root{ --er-blue:#126CB4; --er-deep:#005CA6; --er-navy:#20335C; --er-accent:#FFCE00; }

/* Label boven de dropdown */
.dation-course-selection > label,
.dation-quantity-section > label{ color:var(--er-navy) !important; font-weight:700 !important; }

/* Gesloten dropdown */
.dation-dropdown-selected{ border:2px solid #d3dbe6 !important; border-radius:10px !important; }
.dation-dropdown-selected:hover{ border-color:var(--er-blue) !important; box-shadow:0 2px 10px rgba(18,108,180,.15) !important; }
.dation-dropdown-selected.active{ border-color:var(--er-blue) !important; box-shadow:0 2px 12px rgba(18,108,180,.20) !important; }
.dropdown-arrow svg path{ stroke:var(--er-blue) !important; }

/* Open opties */
.dation-dropdown-options{ border-color:var(--er-blue) !important; border-radius:0 0 10px 10px !important; }
.dation-dropdown-option:hover{ background-color:#eef5fb !important; }
.dation-dropdown-option.selected{ background-color:#eef5fb !important; border-left:4px solid var(--er-blue) !important; }
.course-date{ color:var(--er-blue) !important; font-weight:700 !important; }
.course-time{ color:var(--er-navy) !important; }
/* Alle beschikbaarheids-/plekkenmeldingen niet tonen (ook "Let op: Nog maar
   X plekken beschikbaar!" en "X plekken vrij"). */
.course-availability,
.capacity-warning,
.capacity-text{ display:none !important; }
/* Locatie van de proefles netjes in huisstijl. */
.course-location{ color:#5a6679 !important; font-weight:600 !important; margin-top:2px; }

/* Aantal-personen select */
.dation-quantity-section select{ border:2px solid #d3dbe6 !important; border-radius:10px !important; }
.dation-quantity-section select:focus:not(:disabled){ border-color:var(--er-blue) !important; box-shadow:0 0 0 3px rgba(18,108,180,.18) !important; }

/* Add-to-cart knop in huisstijl */
.single-product .single_add_to_cart_button{
  background:var(--er-accent) !important; color:var(--er-navy) !important;
  font-weight:800 !important; border-radius:10px !important; border:none !important;
  padding:1em 2em !important;
}
.single-product .single_add_to_cart_button:hover{ background:#FDB900 !important; }

/* GF "Informatie aanvragen"-pop-up (empty-state fallback + standalone shortcode) in huisstijl. */
.dation-info-request-fallback .dation-info-request-intro {
	background: #eef5fb !important; color: var(--er-navy) !important;
	border: 1px solid #cfe0f0; border-left: 5px solid var(--er-blue);
	border-radius: 10px !important; padding: 1rem 1.2rem !important;
}
.dation-info-request-fallback .dation-info-request-intro strong { color: var(--er-navy); }
.erpd-info-block .gform_wrapper input[type="text"],
.erpd-info-block .gform_wrapper input[type="email"],
.erpd-info-block .gform_wrapper textarea {
	border: 2px solid #d3dbe6 !important; border-radius: 8px !important; padding: 12px 14px !important;
}
.erpd-info-block .gform_wrapper input:focus,
.erpd-info-block .gform_wrapper textarea:focus { border-color: var(--er-blue) !important; box-shadow: 0 0 0 3px rgba(18,108,180,.15) !important; }
.erpd-info-block .gform_wrapper .gform_button,
.erpd-info-block .gform_wrapper input[type="submit"] {
	background: var(--er-accent) !important; color: #fff !important; font-weight: 800 !important;
	border: none !important; border-radius: 10px !important; padding: .9em 1.8em !important; cursor: pointer;
}
.erpd-info-block .gform_wrapper .gform_button:hover { background: #FDB900 !important; }

/* ═══════════════════════════════════════════════════════════════════════
   PRODUCTPAGINA-OPMAAK (proefles rijbewijs B) — E&R-huisstijl
   ═══════════════════════════════════════════════════════════════════════ */

/* Marge bovenin de pagina */
.single-product div.product,
.woocommerce.single-product .site-main,
.single-product .e-woo-product-content { margin-top: 2.5rem !important; }
.single-product div.product { margin-bottom: 3rem !important; }

/* Twee-koloms layout: foto links, samenvatting rechts */
.single-product div.product {
	display: grid !important;
	grid-template-columns: minmax(0, 45%) minmax(0, 55%);
	gap: 3rem;
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 24px;
	align-items: start;
	font-family: "Montserrat", sans-serif;
}
.single-product div.product .woocommerce-product-gallery {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}
.single-product div.product .summary.entry-summary {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

/* Toffe geframede productfoto */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery img {
	border-radius: 14px !important;
	box-shadow: 0 18px 50px rgba(32,51,92,.16) !important;
	overflow: hidden;
}

/* Titel + prijs */
.single-product .product_title.entry-title {
	color: var(--er-navy) !important;
	font-weight: 800 !important;
	font-size: clamp(1.7rem, 3vw, 2.3rem) !important;
	line-height: 1.12 !important;
	margin: 0 0 .5rem !important;
}
.single-product .summary .price,
.single-product .summary .erpd-gratis {
	display: inline-block;
	color: #1c7a3e !important;
	font-weight: 800 !important;
	font-size: 1.35rem !important;
	background: #e9f6ee;
	padding: .15em .7em;
	border-radius: 8px;
	margin: 0 0 1rem !important;
}
.single-product .woocommerce-product-details__short-description {
	font-size: 1.05rem; line-height: 1.6; color: #3a4762; margin-bottom: 1.3rem;
}

/* ── Beschrijving + tabs onderaan: mooier, full-width ── */
.single-product .woocommerce-tabs {
	grid-column: 1 / -1;
	max-width: 1200px;
	margin: 2.5rem auto 0 !important;
	padding: 0 24px;
}
.single-product .woocommerce-tabs ul.tabs {
	padding: 0 !important;
	margin: 0 0 1.5rem !important;
	border-bottom: 2px solid var(--er-blue) !important;
	display: flex; gap: .4rem;
}
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
	background: #f3f3f3 !important;
	border: none !important;
	border-radius: 10px 10px 0 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a {
	color: var(--er-navy) !important;
	font-weight: 700 !important;
	padding: .85em 1.5em !important;
	display: block;
}
.single-product .woocommerce-tabs ul.tabs li.active {
	background: var(--er-blue) !important;
}
.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.single-product .woocommerce-Tabs-panel {
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 0 12px 12px 12px;
	padding: 1.8rem 2rem !important;
	box-shadow: 0 8px 30px rgba(32,51,92,.06);
}
.single-product .woocommerce-Tabs-panel h2 {
	color: var(--er-navy) !important;
	font-size: 1.3rem !important;
	margin-top: 0 !important;
}
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-Tabs-panel li { color: #3a4762; line-height: 1.65; }
.single-product .woocommerce-Tabs-panel ul { padding-left: 1.2rem; }

/* Verberg reviews-tab (niet relevant voor proefles) en meta-ruis */
.single-product .woocommerce-tabs .reviews_tab,
.single-product .product_meta { display: none !important; }

/* Responsive */
@media (max-width: 860px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 1.8rem; }
}

/* Geen gerelateerde producten / upsells op de proefles-pagina */
.single-product .related.products,
.single-product .up-sells,
.single-product .products.related { display: none !important; }

/* Enige tab = beschrijving -> verberg de tab-navigatie, toon als gewone sectie */
.single-product .woocommerce-tabs ul.tabs { display: none !important; }
.single-product .woocommerce-Tabs-panel {
	border-radius: 12px !important;
	margin-top: 0 !important;
}
.single-product .woocommerce-Tabs-panel h2 { display: none !important; }

/* Subtieler "Gratis"-label (kleiner, strakke padding, geen overtollige ruimte) */
.single-product .summary .price,
.single-product .summary .erpd-gratis {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	padding: .12em .55em !important;
	line-height: 1.25 !important;
	margin: 0 0 1rem !important;
	vertical-align: middle;
}

/* Fix: geen margin onder het Gratis-label zelf; nette ruimte via p.price */
.single-product .summary .erpd-gratis { margin: 0 !important; }
.single-product .summary p.price { margin: 0 0 .6rem !important; line-height: 1.2 !important; }

/* Breadcrumb weg */
.single-product .woocommerce-breadcrumb { display: none !important; }

/* Beschrijving: GEEN box/kader meer — schone, ruime sectie */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	max-width: 820px;
	margin: 0 auto !important;
}
/* Nette NL-kop boven de beschrijving */
.single-product .woocommerce-Tabs-panel h2 {
	display: block !important;
	color: var(--er-navy) !important;
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	margin: 0 0 1rem !important;
	padding-bottom: .6rem;
	position: relative;
}
.single-product .woocommerce-Tabs-panel h2::after {
	content: "";
	position: absolute; left: 0; bottom: 0;
	width: 56px; height: 4px;
	background: var(--er-accent);
	border-radius: 2px;
}
.single-product .woocommerce-Tabs-panel p {
	color: #3a4762 !important; font-size: 1.05rem; line-height: 1.7; margin: 0 0 1rem;
}
/* Lijstje als branded checklist (2 koloms) */
.single-product .woocommerce-Tabs-panel ul {
	list-style: none !important; padding: 0 !important; margin: 1.2rem 0 1.4rem !important;
	display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1.6rem;
}
.single-product .woocommerce-Tabs-panel ul li {
	position: relative; padding-left: 2rem; color: var(--er-navy); font-weight: 600; line-height: 1.4;
}
.single-product .woocommerce-Tabs-panel ul li::before {
	content: ""; position: absolute; left: 0; top: .05em;
	width: 20px; height: 20px; border-radius: 50%; background: var(--er-blue);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: center;
}
@media (max-width: 600px){ .single-product .woocommerce-Tabs-panel ul { grid-template-columns: 1fr; } }

/* "Over de proefles" net zo breed als de bovenkant (1200px) */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	max-width: none !important;
	margin: 0 !important;
}

/* USP's als nette kaartjes, vullen de volle breedte */
.single-product .woocommerce-Tabs-panel ul {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
	gap: .8rem !important;
	margin: 1.4rem 0 0 !important;
}
.single-product .woocommerce-Tabs-panel ul li {
	background: #f3f6fa;
	border: 1px solid #e4e8ee;
	border-radius: 10px;
	padding: .95rem 1.1rem .95rem 2.9rem !important;
	font-weight: 600;
	display: flex;
	align-items: center;
}
.single-product .woocommerce-Tabs-panel ul li::before {
	left: 1rem !important;
	top: 50% !important;
	transform: translateY(-50%);
}

/* Vergrootglas-icoon (gallery zoom-trigger) onder de header houden */
.single-product .woocommerce-product-gallery__trigger { z-index: 1 !important; }

/* Ademruimte onder de beschrijving + USP-sectie */
.single-product .woocommerce-tabs { margin-bottom: 4rem !important; }
.single-product .woocommerce-Tabs-panel { padding-bottom: .5rem !important; }

/* Ruimte tussen de USP-kaartjes en de slotzin eronder */
.single-product .woocommerce-Tabs-panel ul + p { margin-top: 1.6rem !important; }

/* ══════════════ Sfeervolle bedankt-pagina (rijbewijs B proefles) ══════════════ */
.erpd-ty {
	font-family: "Montserrat", -apple-system, sans-serif;
	max-width: 1180px;
	margin: 2.5rem auto 3rem;
	padding: 0 24px;
	color: var(--er-navy);
}

/* ── Hero: asymmetrische split (content + sfeerbeeld) ── */
.erpd-ty__hero {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 3.5rem;
	align-items: center;
}
.erpd-ty__badge {
	display: inline-flex; align-items: center; gap: .5rem;
	background: #e8f5ec; color: #1c7a3e;
	font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
	padding: .5rem .95rem; border-radius: 999px; margin-bottom: 1.2rem;
}
.erpd-ty__title {
	color: var(--er-navy) !important;
	font-size: clamp(2.3rem, 5vw, 3.6rem) !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	margin: 0 0 .6rem !important;
	letter-spacing: -.01em;
}
.erpd-ty__sub {
	font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 700;
	color: var(--er-blue); margin: 0 0 1rem; line-height: 1.25;
}
.erpd-ty__lead { font-size: 1.06rem; line-height: 1.65; color: #3a4762; margin: 0 0 1.6rem; max-width: 33em; }

/* Afspraak-kaart */
.erpd-ty__card {
	display: flex; flex-wrap: wrap; gap: .6rem 2.4rem;
	background: #fff; border: 1px solid #e4e8ee;
	border-radius: 12px; padding: 1.1rem 1.4rem; margin: 0 0 1.8rem;
	box-shadow: 0 10px 30px rgba(32,51,92,.06);
}
.erpd-ty__card-item { display: flex; flex-direction: column; gap: .15rem; }
.erpd-ty__card-label { font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #8a93a3; }
.erpd-ty__card-value { font-size: 1.05rem; font-weight: 700; color: var(--er-navy); }

/* CTA-knoppen */
.erpd-ty__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
.erpd-ty .erpd-ty__btn,
.erpd-ty .erpd-ty__btn:hover,
.erpd-ty .erpd-ty__btn:focus {
	display: inline-flex; align-items: center; justify-content: center;
	padding: .9em 1.7em; border-radius: 10px; font-weight: 800; font-size: 1rem;
	text-decoration: none !important; box-shadow: none !important;
	transition: transform .06s ease, background .15s ease, border-color .15s ease;
}
.erpd-ty .erpd-ty__btn--primary { background: var(--er-accent); color: #fff !important; }
.erpd-ty .erpd-ty__btn--primary:hover { background: #FDB900; transform: translateY(-1px); color: #fff !important; }
.erpd-ty .erpd-ty__btn--ghost { background: transparent; color: var(--er-navy); border: 2px solid #cdd5e0; }
.erpd-ty .erpd-ty__btn--ghost:hover { border-color: var(--er-blue); color: var(--er-blue) !important; }

/* Sfeerbeeld met gele pijl-accent (brand-motief) */
.erpd-ty__media { position: relative; }
.erpd-ty__media-accent {
	position: absolute; right: -18px; top: -22px; width: 62%; height: 78%;
	background:
		repeating-linear-gradient(135deg, var(--er-accent) 0 18px, transparent 18px 36px);
	opacity: .5; border-radius: 18px; z-index: 0;
}
.erpd-ty__media-frame {
	position: relative; z-index: 1; border-radius: 18px; overflow: hidden;
	box-shadow: 0 26px 60px rgba(32,51,92,.22); border: 6px solid #fff;
	aspect-ratio: 4 / 5; background: #20335C;
}
/* Foto vult ALTIJD het kader (absoluut i.p.v. height:100%, zodat thema-regels
   als img{height:auto} het niet kunnen breken). object-position iets hoger,
   zodat gezichten netjes in beeld blijven bij bijsnijden. */
.erpd-ty__media-frame .erpd-ty__photo {
	position: absolute !important; inset: 0 !important;
	width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover !important; object-position: center 35% !important; display: block !important;
}

/* ── "Hoe gaat het nu verder?" ── */
.erpd-ty__steps { margin-top: 3.5rem; padding-top: 2.6rem; border-top: 1px solid #e7eaf0; }
.erpd-ty__steps-title { color: var(--er-navy) !important; font-size: clamp(1.4rem,2.4vw,1.9rem) !important; font-weight: 800 !important; margin: 0 0 1.6rem !important; }
.erpd-ty__steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.erpd-ty__step {
	background: #f6f8fb; border: 1px solid #e7eaf0; border-radius: 14px; padding: 1.6rem 1.5rem;
	transition: transform .12s ease, box-shadow .12s ease;
}
.erpd-ty__step:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(32,51,92,.10); }
.erpd-ty__step-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 12px; background: var(--er-blue); color: #fff;
	font-weight: 800; font-size: 1.25rem; margin-bottom: 1rem;
}
.erpd-ty__step h3 { color: var(--er-navy); font-size: 1.12rem; font-weight: 800; margin: 0 0 .45rem; }
.erpd-ty__step p { color: #5a6679; font-size: .97rem; line-height: 1.55; margin: 0; }

.erpd-ty__contact { text-align: center; color: #5a6679; font-size: 1rem; margin: 2.6rem 0 0; }
.erpd-ty__contact a { color: var(--er-blue); font-weight: 800; text-decoration: none; }
.erpd-ty__contact a:hover { text-decoration: underline; }

/* Op de proefles-bedankpagina tonen we ALLEEN onze eigen banner: verberg de
   standaard WooCommerce-chrome (betaal-/ontvangstmelding bovenin, het
   order-overzicht, de bestelgegevens-tabel en de klant-/adresgegevens). */
body.erpd-proefles-thankyou .woocommerce-notice,
body.erpd-proefles-thankyou .woocommerce-message,
body.erpd-proefles-thankyou .woocommerce-thankyou-order-received,
body.erpd-proefles-thankyou .woocommerce-order-overview,
body.erpd-proefles-thankyou ul.order_details,
body.erpd-proefles-thankyou .woocommerce-order-details,
body.erpd-proefles-thankyou .woocommerce-customer-details,
body.erpd-proefles-thankyou .woocommerce-columns--addresses{ display: none !important; }

@media (max-width: 880px) {
	.erpd-ty__hero { grid-template-columns: 1fr; gap: 2rem; }
	.erpd-ty__media { order: -1; max-width: 420px; }
	.erpd-ty__steps-grid { grid-template-columns: 1fr; }
}

/* Productpagina empty-state (geen datums): toon ALLEEN de melding (met border-left),
   niet het hele GF-formulier. De losse [erpd_proefles_info]-shortcode (.erpd-info-block)
   toont het formulier wél. */
.single-product .dation-info-request-fallback:not(.erpd-info-block) .dation-info-request-form-target,
.single-product .dation-info-request-fallback:not(.erpd-info-block) .gform_wrapper,
.single-product .dation-info-request-fallback:not(.erpd-info-block) form { display: none !important; }

/* Onderhoeken eraf zodra de dropdown OPEN is, zodat de input naadloos overloopt
   in de resultatenlijst (zoals bij DIBO: border-radius 10px 10px 0 0). */
.dation-dropdown-selected.active { border-radius: 10px 10px 0 0 !important; }
/* Variant wanneer de dropdown naar BOVEN opent (in een popup): bovenhoeken vierkant. */
.dation-dropdown-selected.active.dropup { border-radius: 0 0 10px 10px !important; }
.dation-dropdown-options.dropup { border-radius: 10px 10px 0 0 !important; }

/* ═══════════════════════ CHECKOUT in E&R-huisstijl ═══════════════════════ */
.woocommerce-checkout form.checkout,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details { font-family:"Montserrat",-apple-system,sans-serif; }
.woocommerce-checkout .woocommerce { max-width:1140px; margin-left:auto; margin-right:auto; }

/* Sectiekoppen met geel accent */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #dation-multiple-students > h3 {
	color:var(--er-navy) !important; font-weight:800 !important; font-size:1.25rem !important;
	margin:0 0 1.2rem !important; padding-bottom:.55rem !important; position:relative;
}
.woocommerce-checkout #order_review_heading::after,
.woocommerce-checkout .woocommerce-billing-fields > h3::after,
.woocommerce-checkout .woocommerce-additional-fields > h3::after,
.woocommerce-checkout #dation-multiple-students > h3::after {
	content:""; position:absolute; left:0; bottom:0; width:48px; height:4px;
	background:var(--er-accent); border-radius:2px;
}

/* Labels + invoervelden */
.woocommerce-checkout .form-row label,
.woocommerce-checkout .woocommerce-additional-fields label { color:var(--er-navy); font-weight:600; font-size:.92rem; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection {
	border:2px solid #d3dbe6 !important; border-radius:8px !important;
	padding:.7em .85em !important; min-height:48px !important; color:var(--er-navy) !important;
	font-size:.97rem !important; line-height:1.4; background:#fff;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection {
	outline:none !important; border-color:var(--er-blue) !important; box-shadow:0 0 0 3px rgba(18,108,180,.15) !important;
}

/* Besteloverzicht-tabel */
.woocommerce-checkout .shop_table {
	border:1px solid #e4e8ee !important; border-radius:12px !important; overflow:hidden; background:#fff;
}
.woocommerce-checkout .shop_table th { color:var(--er-navy) !important; font-weight:700; }
.woocommerce-checkout .shop_table td, .woocommerce-checkout .shop_table th { padding:.85em 1em !important; }
.woocommerce-checkout .order-total .amount,
.woocommerce-checkout .cart-subtotal .amount { color:var(--er-deep) !important; font-weight:800; }

/* "Plaats bestelling"-knop in huisstijl */
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order {
	background:var(--er-accent) !important; color:#fff !important; font-weight:800 !important;
	border:none !important; border-radius:10px !important; padding:1em 2.4em !important;
	font-size:1.05rem !important; width:100%; cursor:pointer;
	box-shadow:0 8px 20px rgba(253,185,0,.35); transition:background .15s ease;
}
.woocommerce-checkout #place_order:hover { background:var(--er-accent-alt) !important; }

/* Cursisten-gegevens blok */
.woocommerce-checkout #dation-multiple-students {
	background:#f6f8fb; border:1px solid #e7eaf0; border-radius:14px; padding:1.6rem 1.5rem; margin:1.4rem 0;
}
.woocommerce-checkout #dation-multiple-students .description { color:#5a6679; font-size:.92rem; margin:0 0 1rem; }
.woocommerce-checkout .student-section {
	background:#fff; border:1px solid #e4e8ee; border-radius:10px; padding:1.2rem 1.3rem; margin-bottom:1rem;
}
.woocommerce-checkout .student-section.first-student { border-left:4px solid var(--er-blue); background:#f3f8fd; }
.woocommerce-checkout .student-header h4 { color:var(--er-navy) !important; font-weight:800; margin:0 0 .3rem; font-size:1.05rem; }
.woocommerce-checkout .student-note { color:#5a6679; font-size:.85rem; margin:0 0 .8rem; }
.woocommerce-checkout .remove-student-btn,
.woocommerce-checkout .remove-product-btn {
	background:var(--er-accent) !important; color:var(--er-navy) !important; border:none !important;
	border-radius:8px !important; width:30px; height:30px; cursor:pointer; font-weight:800;
}

/* Notices (coupon, fouten) netter */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message { border-radius:8px !important; border-top-color:var(--er-blue) !important; }

/* ── Checkout: geen border-left op Cursist 1 ── */
.woocommerce-checkout .student-section.first-student{ border-left:1px solid #e4e8ee !important; background:#fff !important; }

/* ── Checkout: 2-koloms layout (links gegevens, rechts besteloverzicht) ── */
@media (min-width:820px){
	.woocommerce-checkout form.checkout{ overflow:hidden; }
	.woocommerce-checkout #customer_details{ float:left; width:58%; }
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review{ float:right; width:38%; clear:right; }
	.woocommerce-checkout form.checkout::after{ content:""; display:block; clear:both; }
}
.woocommerce-checkout #order_review_heading{ margin-top:0 !important; }
/* Besteloverzicht als nette kaart */
.woocommerce-checkout #order_review{
	background:#f6f8fb; border:1px solid #e7eaf0; border-radius:14px;
	padding:1.5rem 1.4rem;
}
.woocommerce-checkout #order_review .shop_table{ background:transparent !important; border:none !important; }
.woocommerce-checkout #order_review .shop_table tfoot .order-total th,
.woocommerce-checkout #order_review .shop_table tfoot .order-total td{ border-top:2px solid #e0e6ee; padding-top:1em !important; }
/* Binnenkolommen van #customer_details onder elkaar (billing + extra gestapeld) */
@media (min-width:820px){
	.woocommerce-checkout #customer_details .col2-set .col-1,
	.woocommerce-checkout #customer_details .col2-set .col-2{ float:none; width:100%; }
}

/* Billing + Aanvullende info onder elkaar in de linkerkolom (selector-fix) */
@media (min-width:820px){
	.woocommerce-checkout #customer_details > .col-1,
	.woocommerce-checkout #customer_details > .col-2{ float:none !important; width:100% !important; padding:0 !important; }
	.woocommerce-checkout #customer_details > .col-2{ margin-top:1.6rem; }
}

/* ═══ Custom besteloverzicht (rechterkolom checkout) ═══ */
.woocommerce-checkout #order_review{ padding:1.4rem !important; overflow:hidden; }
/* Kop met productfoto, full-bleed navy bovenin de kaart */
.woocommerce-checkout .erpd-summary-head{
	display:flex; align-items:center; gap:.9rem;
	margin:-1.4rem -1.4rem 1.3rem; padding:1.15rem 1.4rem;
	background:var(--er-navy);
}
.woocommerce-checkout .erpd-summary-head__img{
	width:54px !important; height:54px !important; border-radius:10px; object-fit:cover;
	flex:0 0 auto; border:2px solid rgba(255,255,255,.22);
}
.woocommerce-checkout .erpd-summary-head__txt{ display:flex; flex-direction:column; }
.woocommerce-checkout .erpd-summary-head__label{
	font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:#9fb4d2; font-weight:700;
}
.woocommerce-checkout .erpd-summary-head__name{ font-size:1.08rem; font-weight:800; color:#fff; line-height:1.2; }

/* Tabel rustiger binnen de kaart */
.woocommerce-checkout #order_review .shop_table{ border:none !important; background:transparent !important; margin:0 !important; }
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{ padding:.6em 0 !important; border-color:#e6ebf2 !important; }
.woocommerce-checkout #order_review .order-total th{ font-size:1rem; }

/* "Gratis"-totaal */
.woocommerce-checkout .erpd-gratis-total{
	display:inline-block; background:#e9f6ee; color:#1c7a3e; font-weight:800;
	padding:.12em .6em; border-radius:8px; font-size:1.05rem;
}

/* Trust/USP-blok in de kaart */
.woocommerce-checkout .erpd-summary-usps{
	list-style:none; margin:1.2rem 0 0 !important; padding:1.2rem 0 0; border-top:1px solid #e0e6ee;
}
.woocommerce-checkout .erpd-summary-usps li{
	position:relative; padding-left:1.8rem; margin-bottom:.6rem; font-size:.88rem;
	color:var(--er-navy); font-weight:600; line-height:1.35;
}
.woocommerce-checkout .erpd-summary-usps li:last-child{ margin-bottom:0; }
.woocommerce-checkout .erpd-summary-usps li::before{
	content:""; position:absolute; left:0; top:.05em; width:18px; height:18px; border-radius:50%;
	background:var(--er-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/12px no-repeat;
}
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text{ font-size:.78rem; color:#8a93a3; margin-top:1rem; }

/* Marge bovenin de checkout-pagina */
.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .e-woo-checkout { margin-top:2.5rem !important; }

/* ═══ Besteloverzicht: GEEN tabel-weergave meer, nette lijst ═══ */
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #order_review .shop_table tbody,
.woocommerce-checkout #order_review .shop_table tfoot{ display:block !important; width:100% !important; border:none !important; }
.woocommerce-checkout #order_review .shop_table thead{ display:none !important; }
.woocommerce-checkout #order_review .shop_table tr{
	display:flex !important; justify-content:space-between; align-items:flex-start; gap:1rem;
	padding:.5rem 0 !important; border:none !important; background:transparent !important;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{
	display:block !important; border:none !important; padding:0 !important; background:transparent !important; text-align:left;
}
/* productregel */
.woocommerce-checkout #order_review .cart_item{
	border-bottom:1px solid #e6ebf2 !important; padding-bottom:1rem !important; margin-bottom:.5rem;
}
.woocommerce-checkout #order_review .cart_item .product-name{ color:var(--er-navy) !important; font-weight:700; font-size:.98rem; }
.woocommerce-checkout #order_review .cart_item .product-name .product-quantity{ color:#5a6679; font-weight:600; }
.woocommerce-checkout #order_review .cart_item .product-total{ color:var(--er-deep) !important; font-weight:700; white-space:nowrap; }
/* item-meta (aantal cursisten, extra gegevens) netjes klein onder de naam */
.woocommerce-checkout #order_review .cart_item .product-name dl,
.woocommerce-checkout #order_review .cart_item .product-name dl *{
	font-size:.82rem !important; color:#5a6679 !important; font-weight:500 !important;
	margin:.25rem 0 0 !important; line-height:1.4; display:block;
}
/* subtotaal + totaal */
.woocommerce-checkout #order_review .cart-subtotal th{ color:#5a6679 !important; font-weight:600; }
.woocommerce-checkout #order_review .cart-subtotal td{ color:var(--er-navy) !important; font-weight:600; }
.woocommerce-checkout #order_review .order-total{
	border-top:1px solid #e6ebf2 !important; padding-top:.9rem !important; margin-top:.4rem; align-items:center;
}
.woocommerce-checkout #order_review .order-total th{ color:var(--er-navy) !important; font-weight:800; font-size:1.05rem; }

/* ── Checkout: alle velden even hoog (consistentie) ── */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .dation-quantity-section select,
.woocommerce-checkout .dation-birthdate-field{
	height:48px !important; min-height:48px !important; box-sizing:border-box !important;
}
.woocommerce-checkout .form-row textarea{ min-height:90px !important; height:auto !important; }
/* Select2 (Land/regio) op zelfde hoogte */
.woocommerce-checkout .select2-container .select2-selection--single{ height:48px !important; border:2px solid #d3dbe6 !important; border-radius:8px !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ line-height:44px !important; padding-left:.85em !important; color:var(--er-navy) !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{ height:46px !important; right:8px; }

/* ── USP's losmaken van de knop ── */
.woocommerce-checkout #place_order{ margin-bottom:0 !important; box-shadow:0 4px 12px rgba(253,185,0,.30) !important; }
.woocommerce-checkout .erpd-summary-usps{
	margin-top:1.8rem !important; padding-top:1.3rem !important; border-top:1px solid #dfe5ee !important;
}

/* ── Meta-regels (aantal cursisten / extra gegevens) netjes uitlijnen ── */
.woocommerce-checkout #order_review .cart_item .product-name dl.variation{
	display:grid !important; grid-template-columns:auto 1fr; gap:.15rem .45rem; margin:.45rem 0 0 !important;
}
.woocommerce-checkout #order_review .cart_item .product-name dl.variation dt{ font-weight:600 !important; margin:0 !important; }
.woocommerce-checkout #order_review .cart_item .product-name dl.variation dd{ margin:0 !important; }
.woocommerce-checkout #order_review .cart_item .product-name dl.variation p{ margin:0 !important; }

/* "Gratis" op regel- en subtotaal (zelfde groen als het totaal, iets subtieler) */
.woocommerce-checkout .erpd-gratis-line{ color:#1c7a3e; font-weight:700; }

/* ── FIX veld-uitlijning: tekst verticaal gecentreerd, geen overflow ── */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .dation-birthdate-field,
.woocommerce-checkout .dation-quantity-section select{
	height:48px !important; min-height:48px !important;
	padding:0 .9em !important; line-height:normal !important; box-sizing:border-box !important;
}
.woocommerce-checkout .form-row textarea{
	height:auto !important; min-height:90px !important; padding:.7em .9em !important; line-height:1.5 !important;
}
/* Velden binnen de container houden (geen uitloop, bv. geboortedatum) */
.woocommerce-checkout .form-row,
.woocommerce-checkout .student-fields-row{ margin-left:0 !important; margin-right:0 !important; }
.woocommerce-checkout .student-section .form-row input,
.woocommerce-checkout .student-section .dation-birthdate-field,
.woocommerce-checkout #dation-multiple-students input.input-text{ width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
/* select2 (Land/regio) tekst netjes centreren */
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ line-height:44px !important; }

/* Native select (Land/regio): tekst verticaal centreren via line-height */
.woocommerce-checkout .form-row select{
	height:48px !important; line-height:46px !important;
	padding:0 2.4em 0 .9em !important; vertical-align:middle !important;
}

/* ── FIX Land/regio (select2): selectie verticaal centreren via flexbox ── */
.woocommerce-checkout .select2-container--default .select2-selection--single{
	height:48px !important; display:flex !important; align-items:center !important;
	border:2px solid #d3dbe6 !important; border-radius:8px !important; padding:0 .9em !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height:normal !important; padding:0 !important; color:var(--er-navy) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
	height:46px !important; top:1px; right:10px;
}
.woocommerce-checkout .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single{ border-color:var(--er-blue) !important; }

/* ── FIX cursist-box: kalender niet wegklemmen, velden binnen de rand ── */
.woocommerce-checkout .student-section,
.woocommerce-checkout #dation-multiple-students{ overflow:visible !important; }
.woocommerce-checkout .student-section .form-row{ padding:0 !important; margin-bottom:1rem; }
.woocommerce-checkout .student-section .woocommerce-input-wrapper,
.woocommerce-checkout .student-section input.input-text{ width:100% !important; max-width:100% !important; box-sizing:border-box !important; }

/* ── Ruimte tussen checkout-inhoud en footer ── */
.woocommerce-checkout form.checkout{ margin-bottom:4.5rem !important; }
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .e-woo-checkout{ padding-bottom:3rem !important; }

/* ── #payment on-brand: geen losse grijze box, blend in de kaart ── */
.woocommerce-checkout #order_review #payment{ background:transparent !important; padding:0 !important; border-radius:0 !important; }
.woocommerce-checkout #order_review #payment::before{ display:none !important; }
.woocommerce-checkout #order_review .place-order{ padding:0 !important; }
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text{ font-size:.78rem !important; color:#8a93a3 !important; line-height:1.5; margin:.4rem 0 1.1rem !important; }
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text a{ color:var(--er-blue); }

/* ── Responsive ── */
@media (max-width:819px){
	.woocommerce-checkout #customer_details{ float:none !important; width:100% !important; }
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review{ float:none !important; width:100% !important; clear:both; }
	.woocommerce-checkout #order_review_heading{ margin-top:2rem !important; }
}
@media (max-width:600px){
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last,
	.woocommerce-checkout .student-fields-row .form-row{ width:100% !important; float:none !important; margin-right:0 !important; }
}

/* Mobiel: symmetrische marge + geen horizontale overflow */
@media (max-width:600px){
	.woocommerce-checkout form.checkout{ box-sizing:border-box; padding-left:16px !important; padding-right:16px !important; margin-left:0 !important; margin-right:0 !important; overflow-x:hidden; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review{ max-width:100% !important; }
}

/* Meer ruimte onder het geboortedatumveld in de cursist-box */
.woocommerce-checkout .student-section{ padding-bottom:1.6rem !important; }
.woocommerce-checkout .student-section .form-row{ margin-bottom:1.1rem !important; }
.woocommerce-checkout .student-section .form-row:last-child{ margin-bottom:.3rem !important; }

/* USP's duidelijk LOS van de knop (geen overlap door knop-schaduw) */
.woocommerce-checkout #order_review #place_order,
.woocommerce-checkout #order_review #payment #place_order{
	box-shadow:none !important; margin:0 0 0 0 !important;
}
.woocommerce-checkout #order_review .erpd-summary-usps{
	margin:1.7rem 0 0 !important; padding:1.4rem 0 0 !important;
	border-top:1px solid #e0e6ee !important; clear:both; position:relative; z-index:1;
}

/* ═══ Cursistengegevens: schone kaarten + nette verwijder-knop ═══ */
.woocommerce-checkout #dation-multiple-students .student-section,
.woocommerce-checkout .student-section.first-student{
	background:#fff !important; border:1px solid #e4e8ee !important; border-left:1px solid #e4e8ee !important;
	border-radius:12px !important; padding:1.5rem 1.6rem 1.6rem !important; margin-bottom:1.1rem !important;
}
.woocommerce-checkout .student-header{
	display:flex !important; align-items:center; justify-content:space-between; gap:.8rem; margin-bottom:.5rem;
}
.woocommerce-checkout .student-header h4{ margin:0 !important; }
.woocommerce-checkout .student-note{ margin:0 0 1.1rem !important; }

/* Velden ruim binnen de rand */
.woocommerce-checkout .student-section .form-row{ margin-bottom:1.1rem !important; }
.woocommerce-checkout .student-section .form-row:last-child{ margin-bottom:.2rem !important; }

/* Nette ronde verwijder-knop i.p.v. het gele blokje */
.woocommerce-checkout .remove-student-btn,
.woocommerce-checkout .remove-product-btn{
	flex:0 0 auto !important; background:#fff !important; color:#9aa3b2 !important;
	border:1.5px solid #dfe5ee !important; border-radius:50% !important;
	width:32px !important; height:32px !important; min-height:0 !important; padding:0 !important; margin:0 !important;
	display:inline-flex !important; align-items:center !important; justify-content:center !important;
	font-size:0 !important; line-height:1 !important; box-shadow:none !important; cursor:pointer; transition:all .12s ease;
}
.woocommerce-checkout .remove-student-btn span,
.woocommerce-checkout .remove-product-btn span{ font-size:18px !important; line-height:1 !important; display:block; margin-top:-1px; }
.woocommerce-checkout .remove-student-btn:hover,
.woocommerce-checkout .remove-product-btn:hover{ border-color:#dc3545 !important; color:#dc3545 !important; background:#fff5f5 !important; }

/* ── FIX: .dation-birthdate-field is de WRAPPER (form-row), niet het input ── */
.woocommerce-checkout p.dation-birthdate-field,
.woocommerce-checkout .form-row.dation-birthdate-field,
.woocommerce-checkout .student-fields-row{ height:auto !important; min-height:0 !important; }
.woocommerce-checkout .dation-birthdate-field input.input-text{ height:48px !important; min-height:48px !important; box-sizing:border-box !important; }

/* Dubbele "(optioneel)" bij Telefoonnummer in de cursist-velden weg */
.woocommerce-checkout #dation-multiple-students .optional{ display:none !important; }

/* Alle 'Gratis'-labels in de samenvatting identiek (groene badge) */
.woocommerce-checkout .erpd-gratis-line,
.woocommerce-checkout .erpd-gratis-total{
	display:inline-block !important; background:#e9f6ee !important; color:#1c7a3e !important;
	font-weight:800 !important; padding:.14em .6em !important; border-radius:8px !important;
	font-size:1rem !important; line-height:1.3 !important;
}

/* ── Betaalmethode-lijst (rechterkolom checkout): geen inspringing links ── */
.woocommerce-checkout #order_review .wc_payment_methods,
.woocommerce-checkout #order_review ul.payment_methods,
.woocommerce-checkout #order_review .payment_methods,
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout ul.wc_payment_methods{
	padding-left:0 !important; margin-left:0 !important; list-style:none !important;
}
.woocommerce-checkout #order_review .wc_payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li{
	padding-left:0 !important; margin-left:0 !important; list-style:none !important;
}
