/* E&R proefles-popup (modal) — huisstijl */
.erpd-modal{
	position:fixed; inset:0; z-index:99999; display:none;
	align-items:center; justify-content:center;   /* gecentreerd */
	font-family:"Montserrat",-apple-system,sans-serif;
}
.erpd-modal.is-open{ display:flex; }
.erpd-modal__overlay{
	position:absolute; inset:0; background:rgba(32,51,92,.55);
	backdrop-filter:saturate(120%) blur(2px); animation:erpd-fade .15s ease;
}
.erpd-modal__box{
	position:relative; z-index:1; background:#fff;
	width:min(940px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto;
	margin:auto; border-radius:16px;
	box-shadow:0 30px 80px rgba(32,51,92,.35); border-top:6px solid #126CB4;
	padding:0; animation:erpd-pop .18s ease;
}
.erpd-modal .erpd-modal__close{
	position:absolute !important; top:12px; right:12px; z-index:10 !important;
	width:38px !important; height:38px !important; min-height:0 !important;
	border:none !important; border-radius:50% !important;
	background:#f3f3f3 !important; color:#20335C !important;
	font-size:22px !important; line-height:1 !important; padding:0 !important;
	display:flex !important; align-items:center; justify-content:center;
	box-shadow:none !important; cursor:pointer; transition:background .12s ease;
}
.erpd-modal .erpd-modal__close:hover{ background:#e4e8ee !important; }
.erpd-modal__loading{ text-align:center; color:#5a6679; padding:2rem 0; font-size:.95rem; }
.erpd-modal__loading::before{
	content:""; display:block; width:34px; height:34px; margin:0 auto 1rem;
	border:4px solid #e0e6ee; border-top-color:#126CB4; border-radius:50%;
	animation:erpd-spin .8s linear infinite;
}
@keyframes erpd-spin{ to{ transform:rotate(360deg); } }
@keyframes erpd-fade{ from{ opacity:0; } }
@keyframes erpd-pop{ from{ opacity:0; transform:translateY(14px); } }
body.erpd-modal-open{ overflow:hidden; }

/* ── GF-formulier in de modal: honeypot/hidden verbergen + huisstijl-opmaak ── */
.erpd-modal .gform_validation_container,
.erpd-modal .gfield--type-honeypot,
.erpd-modal .gfield--type-captcha + .gform_validation_container,
.erpd-modal li[id*="validation_container"],
.erpd-modal .gfield.gform_hidden,
.erpd-modal .gfield--type-hidden { position:absolute !important; left:-9999px !important; height:1px; width:1px; overflow:hidden; }
.erpd-modal .gform_heading{ margin-bottom:.4rem; }
.erpd-modal .gform_required_legend{ font-size:12px; color:#8a93a3; margin:0 0 12px; }
.erpd-modal .gform_fields{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; list-style:none; padding:0; margin:0; }
.erpd-modal .gfield--width-full,
.erpd-modal .gfield_textarea,
.erpd-modal .gfield--type-textarea{ grid-column:1 / -1; }
.erpd-modal .gfield_label{ display:block; font-weight:600; font-size:13px; color:#20335C; margin:0 0 5px; line-height:1.3; }
.erpd-modal .gfield_required{ color:#dc3545; }
.erpd-modal .ginput_container input[type="text"],
.erpd-modal .ginput_container input[type="email"],
.erpd-modal .ginput_container input[type="tel"],
.erpd-modal .ginput_container input[type="number"],
.erpd-modal .ginput_container select,
.erpd-modal .ginput_container textarea{
	box-sizing:border-box; width:100%; padding:11px 13px; border:2px solid #d3dbe6;
	border-radius:8px; font-size:14px; font-family:inherit; line-height:1.4; background:#fff; color:#20335C;
}
.erpd-modal .ginput_container textarea{ min-height:96px; resize:vertical; }
.erpd-modal .ginput_container input:focus,
.erpd-modal .ginput_container select:focus,
.erpd-modal .ginput_container textarea:focus{ outline:none; border-color:#126CB4; box-shadow:0 0 0 3px rgba(18,108,180,.15); }
.erpd-modal .gform_footer{ grid-column:1 / -1; margin-top:14px; }
.erpd-modal .gform_footer input[type="submit"],
.erpd-modal .gform_button{
	background:#FFCE00 !important; color:#fff !important; font-weight:800 !important;
	border:none !important; border-radius:10px !important; padding:.95em 2em !important;
	font-size:1rem !important; cursor:pointer; -webkit-appearance:none; appearance:none;
	box-shadow:0 8px 20px rgba(253,185,0,.35);
}
.erpd-modal .gform_footer input[type="submit"]:hover,
.erpd-modal .gform_button:hover{ background:#FDB900 !important; }
.erpd-modal .gform_confirmation_message{ text-align:center; color:#20335C; font-size:1.05rem; padding:1.5rem 0; font-weight:600; }
@media (max-width:520px){ .erpd-modal .gform_fields{ grid-template-columns:1fr; } }

/* ── Proefles-BOOKING in de modal (datum-dropdown + aantal + knop) ── */
.erpd-booking__title{ color:#20335C; font-size:1.4rem; font-weight:800; margin:0 0 .3rem; }
.erpd-booking__sub{ color:#5a6679; font-size:.95rem; margin:0 0 1.2rem; }
.erpd-modal .dation-course-selection > label,
.erpd-modal .dation-quantity-section > label{ color:#20335C !important; font-weight:700 !important; }

/* datum-dropdown in huisstijl (overschrijft DIBO-blauw, want huisstijl.css laadt hier niet) */
.erpd-modal .dation-dropdown-selected{ border:2px solid #d3dbe6 !important; border-radius:10px !important; }
.erpd-modal .dation-dropdown-selected:hover{ border-color:#126CB4 !important; }
.erpd-modal .dation-dropdown-selected.active{ border-color:#126CB4 !important; border-radius:10px 10px 0 0 !important; box-shadow:0 2px 12px rgba(18,108,180,.2) !important; }
.erpd-modal .dropdown-arrow svg path{ stroke:#126CB4 !important; }
.erpd-modal .dation-dropdown-options{ border-color:#126CB4 !important; border-radius:0 0 10px 10px !important; }
.erpd-modal .dation-dropdown-option:hover{ background-color:#eef5fb !important; }
.erpd-modal .dation-dropdown-option.selected{ background-color:#eef5fb !important; border-left:4px solid #126CB4 !important; }
.erpd-modal .course-date{ color:#126CB4 !important; font-weight:700 !important; }
.erpd-modal .course-time{ color:#20335C !important; }
/* Alle beschikbaarheids-/plekkenmeldingen niet tonen (ook "Let op: Nog maar
   X plekken beschikbaar!" en "X plekken vrij"). */
.erpd-modal .course-availability,
.erpd-modal .capacity-warning,
.erpd-modal .capacity-text{ display:none !important; }
/* Locatie van de proefles netjes in huisstijl. */
.erpd-modal .course-location{ color:#5a6679 !important; font-weight:600 !important; margin-top:2px; }

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

/* verberg het standaard WC-aantalveld (de Dation-select vervangt 'm) + ruis */
.erpd-modal form.cart .quantity{ display:none !important; }
.erpd-modal #yith-wapo-container{ display:none !important; }

/* 'Plan mijn proefles'-knop in huisstijl */
.erpd-modal .single_add_to_cart_button,
.erpd-modal form.cart button[type="submit"]{
	background:#FFCE00 !important; color:#fff !important; font-weight:800 !important;
	border:none !important; border-radius:10px !important; padding:1em 2em !important;
	width:100%; font-size:1.02rem !important; cursor:pointer; margin-top:1rem;
	box-shadow:0 8px 20px rgba(253,185,0,.35);
}
.erpd-modal .single_add_to_cart_button:hover{ background:#FDB900 !important; }

/* ── 2-koloms pop-up: links boeking, rechts sfeerbeeld + USP's ── */
.erpd-booking-grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; }
.erpd-booking{ padding:2.2rem 2rem 2.3rem; }
.erpd-booking-aside{
	position:relative; background:#20335C; color:#fff; display:flex; flex-direction:column;
	border-radius:0 14px 14px 0; overflow:hidden;
}
.erpd-booking-aside__img{ width:100%; height:230px; object-fit:cover; display:block; }
.erpd-booking-aside__body{ padding:1.7rem 1.6rem 1.9rem; }
.erpd-booking-aside__title{ color:#fff !important; font-size:1.18rem; font-weight:800; line-height:1.25; margin:0 0 1.1rem; }
.erpd-booking-aside__usps{ list-style:none; padding:0; margin:0; }
.erpd-booking-aside__usps li{
	position:relative; padding-left:1.9rem; margin-bottom:.8rem;
	font-weight:600; font-size:.96rem; line-height:1.4; color:#eaf0f8;
}
.erpd-booking-aside__usps li::before{
	content:""; position:absolute; left:0; top:.05em; width:20px; height:20px; border-radius:50%;
	background:#FFCE00 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='%2320335C'%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/13px no-repeat;
}
@media (max-width:760px){
	.erpd-booking-grid{ grid-template-columns:1fr; }
	.erpd-booking-aside{ border-radius:0; order:-1; }
	.erpd-booking-aside__img{ height:150px; }
	.erpd-booking{ padding:1.8rem 1.5rem 2rem; }
}

/* Pop-up standaard wat hoger + de open datumlijst binnen de pop-up houden */
.erpd-modal__box{ min-height:min(500px, calc(100vh - 48px)); }
.erpd-modal .dation-dropdown-options{ max-height:250px !important; overflow-y:auto !important; }
