/*
 Theme Name:   Divi Child
 Description:  Divi Child Theme — Executive Coaching Nederland (stijl gelijk aan coaching.nl)
 Author:       Webdesign Westland
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  Divi-child
*/

@import url("css/bouwstenen.css?v=2"); /* ponytail: verhoog ?v= bij elke wijziging in bouwstenen.css, anders houden browsers 7 dagen de oude versie */


/* ponytail: overgenomen uit coaching.nl Divi-child/style.css (07-10-2026), zonder coaching.nl-specifieke blokken
   (UpGuide-login, soorten-coaching-kaarten, werkgebieden/regio-coaches, spec-CTA). Wijzig je de huisstijl op
   coaching.nl, trek het hier gelijk. */

#main-content {
	background:#FAF9FF;
}
#main-content .et_pb_section, #et-boc .et-l > .et-l-section {
	position: relative; z-index: 2;
}

/* ── Menu ─────────────────────────────────────────────── */
.container.et_menu_container {
	background-color: rgba(0, 32, 69, 0.01);
	margin-top: 15px;
	border-radius: 50px;
	padding-right: 20px;
	width: 90%;
	max-width: 1600px;
}
.et-fixed-header .container.et_menu_container{
	background-color: rgba(0, 32, 69, 0.95);
	border: 1px solid #114c87;
	margin-top: 3px;
	padding-left: 20px;
}
#top-menu li {
	padding-right: 60px;
}
#top-menu .current-menu-item a::before,
#top-menu .current_page_item a::before {
	content: "";
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
}
#top-menu li a:before {
	content: "";
	position: absolute;
	z-index: -2;
	left: 0;
	right: 100%;
	bottom: 50%;
	background: #fec80b;
	height: 3px;
	transition: right 0.3s ease-out;
}
#top-menu li a:hover {
	opacity: 1 !important;
}
#top-menu li a:hover:before {
	right: 0;
}
#top-menu li li a:before {
	bottom: 10%;
}
.et_mobile_menu{
	background-color: rgba(20, 56, 117,.95)!important;
	height:72vh;
	border-radius:10px;
	border: 1px solid rgba(255,255,255,.5);
}
.et_mobile_menu li a{
	font-size:18px;
	text-align:center;
}
.et_mobile_menu li li a{
	font-size:15px;
}

/* ── Typografie ───────────────────────────────────────── */
h1{
	font-size: 80px;
}
h2{
	font-size: 50px;
	color: #114c87;
	padding-bottom:30px;
}
h3{
	font-size: 28px;
	color: #114c87;
}
.box h3{
	font-size: 16px;
	color: #114c87;
	font-weight:600;
}
.yellow{
	color:#fec80b;
}
.light-text{
	opacity:.7;
}

/* ── Hero ─────────────────────────────────────────────── */
.hero{
	padding-top:18vh!important;
}
.hero-text{
	width: 60%;
	padding-top: 30px;
}
.hero .line-2{
	padding-left:5vw;
	display:block;
}
.hero .line-3{
	padding-left:10vw;
	display:block;
}
.hero-note {
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.hero-note::before {
	content: '✓';
	color: green;
}
.hero-note.white::before {
	color: #fff;
	opacity:0.85;
}

/* ── Layout-hulpjes ───────────────────────────────────── */
.inline-buttons .et_pb_button_module_wrapper {
	display: inline-flex !important;
	width: auto;
}
.et_flex_row.section-row{
	padding-top:20vh;
	width:90%;
	max-width:1400px;
}
.side-by-side{
	display: flex !important;
	flex-direction: row !important;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}
.side-by-side .et_pb_module.et_pb_button_module_wrapper{
	width: auto !important;
	display: flex !important;
}
.grow {
	transition: all 0.2s ease-in-out;
}
.grow:hover {
	transform: scale(1.05)!important;
}

/* ── Knoppen & links ──────────────────────────────────── */
.et_pb_button_module_wrapper a.et_pb_button{
	font-size:16px;
}
a.clean-button-link {
	color: rgba(255,254,254,0.5);
	width: auto!important;
	padding: 8px 20px 6px 20px!important;
	border-radius: 50px;
	border: 1px solid rgba(255,254,254,0.3);
	display:inline-block;
	margin: 0px 15px 15px 0px;
	font-size:14px;
}
a.clean-button-link:hover {
	color: rgba(255,254,254,0.9);
	border-color: rgba(254, 200, 11,0.3);
}

/* ── Kaarten ──────────────────────────────────────────── */
.box{
	border: 1px solid #D3E6FF;
	border-radius:10px;
	padding:15px 20px;
}
.box:hover{
	border: 1px solid #fec80b;
}
.vcard-num {
	font-size: 36px;
	font-weight: 700;
	color: rgba(20, 56, 117,.4);
	line-height: 1;
	margin-bottom: 12px;
	transition: color 0.2s;
}
.box:hover .vcard-num{
	color: #fec80b;
}
.et_pb_number_counter .percent {
	height: 50px!important;
}

/* ── Opsommingen ──────────────────────────────────────── */
.checkmark_bullets ul li {
	padding-left: 30px;
	list-style:none;
	margin-bottom: 20px;
}
.checkmark_bullets ul li::before {
	content: '\4e';
	display: inline-block;
	margin-right: 7px;
	margin-left: -40px;
	padding-right: 5px;
	font-family: 'ETmodules';
	font-size: 27px;
	vertical-align: middle;
	color:green;
}
.checkmark_bullets.hero-sectie ul li::before{
	color:#fff;
	display:inline;
	margin-right:20px;
}
.custom_bullets ul{
	padding:0px;
}
.custom_bullets ul li {
	padding-left: 30px;
	list-style: none;
	margin-bottom: 15px;
}
.custom_bullets.narrow ul li{
	margin-bottom: 5px;
}
.custom_bullets ul li:before {
	content: '';
	display: inline-block;
	margin-right: 4px;
	margin-left: -30px;
	padding-right: 5px;
	font-family: 'ETmodules';
	font-size: 1.2em;
	vertical-align: middle;
}
.custom_bullets--check ul li::before {
	content: '\5a';
	font-size:20px;
}
.fcta-points{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.fcta-points li{display:flex;align-items:center;gap:10px;font-size:15px;}
.fcta-points li::before{content:'✓';font-weight:700;flex-shrink:0}

/* ── Achtergrond: bewegende lichtbundels ──────────────── */
.moving-bckgr {
	position: relative !important;
	overflow: hidden !important;
}
.moving-bckgr > .et_pb_row {
	position: relative;
	z-index: 2;
}
.moving-bckgr::before,
.moving-bckgr::after {
	content: '';
	position: absolute;
	top: 0; bottom: 0;
	left: -50%; right: -50%;
	z-index: 0;
	pointer-events: none;
	filter: blur(45px);
	animation: cn-beam-rise 80s linear infinite;
}
.moving-bckgr::before {
	background: linear-gradient(to bottom, transparent 25%, rgba(0,32,69,.06) 40%, rgba(0,32,69,.08) 60%, transparent 75%);
}
.moving-bckgr::after {
	background: linear-gradient(to bottom, transparent 25%, rgba(232,163,32,.09) 40%, rgba(232,163,32,.09) 60%, transparent 75%);
	animation-delay: -40s;
}
@keyframes cn-beam-rise {
	from { transform: translateY(120%) rotate(-33deg); }
	to   { transform: translateY(-120%) rotate(-33deg); }
}
@media (prefers-reduced-motion: reduce) {
	.moving-bckgr::before, .moving-bckgr::after { animation: none; }
}

/* ── Contact Form 7 in Divi-stijl ─────────────────────── */
.contact-form-row {
	background-color: #f6f4ed;
	padding: 20px 3%;
	border-radius: 10px;
	box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.19);
	overflow: hidden;
}
.wpcf7-form input.text, .wpcf7-form input.title, .wpcf7-form input[type=text], .wpcf7-form select, .wpcf7-form textarea{
	margin:5px 0px;
}
.wpcf7-text, .wpcf7-textarea, .wpcf7-number, .wpcf7-email, .wpcf7-tel {
	background-color: #fff !important;
	border: 1px solid #cecece;
	margin:5px 0px;
	width: 100% !important;
	border-radius: 10px !important;
	font-size: 14px;
	color: #062256 !important;
	padding: 14px !important;
	box-sizing: border-box;
}
.glassy-fields .wpcf7-text, .glassy-fields .wpcf7-textarea, .glassy-fields .wpcf7-number, .glassy-fields .wpcf7-email, .glassy-fields .wpcf7-tel {
	background-color: rgba(255,255,255,0.2) !important;
	color:#fff!important;
}
.wpcf7-select {
	width: 100%;
	padding: 14px;
	border: 1px solid #cecece;
	border-radius: 10px;
	font-size: 14px;
	background: #fff;
	appearance: none;
}
.wpcf7-submit {
	color: #fff !important;
	margin: 0px auto!important;
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	border-radius: 10px;
	padding: 6px 20px;
	line-height: 1.7em;
	background: transparent;
	border: 2px solid;
	transition: all 0.2s;
	max-width: none!important;
}
.wpcf7-submit:hover {
	background-color: #eee;
	border-color: #eee;
}
.wpcf7-submit.dark{
	background-color:#143875;
}
.wpcf7-submit.dark:hover {
	background-color: #fec80b;
	border-color: #fec80b;
}
.wpcf7-form label{
	padding-bottom:10px;
	display:block;
}
.wpcf7-spinner{
	position:absolute;
}
.full{
	width: 100%;
	margin-right: 0;
}
.one_half, .one_third, .two_third {
	position: relative;
	margin-right: 4%;
	float: left;
}
.one_half { width: 48%; }
.one_third { width: 30.66%; }
.two_third { width: 61.32%; }
.last {
	margin-right: 0 !important;
	clear: right;
}
.help-text{
	font-size:13px;
	opacity:.5;
}
.safe-form {
	color: #00d664!important;
	font-size:11px;
}
.safe-form:before {
	font-family: 'ETmodules';
	padding-right: 10px;
	content: '\7e';
}

/* ── Footer (Theme Builder) ───────────────────────────── */
.et-l--footer .et_builder_inner_content {
	z-index: 1000 !important;
}

/* ── Responsive ───────────────────────────────────────── */
@media screen and (max-width: 1500px) {
	h2{ font-size: 40px; }
}
@media screen and (max-width:768px) {
	.hero h1{ font-size: 50px; }
	.hero .line-2, .hero .line-3{ padding-left:0; }
	.et_flex_row.section-row{ padding-top:10vh; }
	.hero-text{ width: 100%; }
	div.one_half, div.one_third, div.two_third { width: 98%; margin: 5px 0px!important; }
}
