/* LWO Cursistenportaal */
.lwo-portal-page .page-header { display: none; } /* paginatitel van het thema; het portaal heeft een eigen kop */

.lwo-portaal {
	--lwo-olijf: #858638;
	--lwo-olijf-d: #6c6d2c;
	--lwo-goud: #E0A533;
	--lwo-terra: #D76635;
	--lwo-creme: #FFF8ED;
	--lwo-ink: #2f2e1f;
	--lwo-muted: #6b6a55;
	--lwo-line: #eadfc8;
	--lwo-soft: #f6eedd;
	color: var(--lwo-ink);
	font-family: 'Pragati Narrow', Arial, sans-serif;
	font-size: 18px;
	line-height: 1.5;
	max-width: 960px;
	margin: 0;
	padding: 8px 0 56px;
}
.lwo-portaal *, .lwo-portaal *::before, .lwo-portaal *::after { box-sizing: border-box; }
.lwo-portaal p { margin: 0 0 10px; }
.lwo-portaal a { color: var(--lwo-olijf-d); }

/* Koppen: dubbele klasse zodat de Elementor-kit ze niet overschrijft */
.lwo-portaal.lwo-portaal h1,
.lwo-portaal.lwo-portaal h2,
.lwo-portaal.lwo-portaal h3,
.lwo-portaal.lwo-portaal h4 {
	color: var(--lwo-olijf);
	line-height: 1.1;
	margin: 0 0 12px;
	letter-spacing: 0;
}
.lwo-portaal.lwo-portaal .lwo-title { font-size: clamp(34px, 5vw, 52px); margin: 0 0 10px; }
.lwo-portaal.lwo-portaal h3 { font-size: 26px; }
.lwo-portaal.lwo-portaal h4 { font-size: 22px; }
.lwo-portaal.lwo-portaal h4 a { color: var(--lwo-olijf); text-decoration: none; }

.lwo-kicker {
	font-family: 'Yanone Kaffeesatz', 'Pragati Narrow', sans-serif;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--lwo-terra);
	font-size: 17px;
	margin: 0 0 6px !important;
}
.lwo-lead { color: var(--lwo-muted); font-size: 19px; max-width: 640px; }

/* Kop van de pagina */
.lwo-head { padding: 8px 0 28px; margin: 0 0 32px; border-bottom: 1px solid var(--lwo-line); }
.lwo-head-course { padding-bottom: 24px; }
.lwo-crumb { margin: 0 0 18px !important; font-size: 16px; }
.lwo-crumb a { text-decoration: none; font-weight: 700; }
.lwo-crumb a:hover { text-decoration: underline; }

.lwo-status-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 18px; }
.lwo-status-row .lwo-progress-wrap { flex: 1 1 320px; max-width: 520px; }
.lwo-status-row .lwo-meta { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.lwo-chip { display: inline-block; font-size: 15px; padding: 3px 12px; border-radius: 999px; background: var(--lwo-soft); color: var(--lwo-muted); }
.lwo-chip-done { background: var(--lwo-olijf); color: #fff; }

/* Voortgang */
.lwo-progress-wrap { display: flex; align-items: center; gap: 12px; }
.lwo-progress { flex: 1; height: 8px; background: #efe6d3; border-radius: 99px; overflow: hidden; }
.lwo-progress span { display: block; height: 100%; background: var(--lwo-olijf); border-radius: 99px; }
.lwo-progress-lg { height: 10px; }
.lwo-pct { font-size: 15px; color: var(--lwo-muted); white-space: nowrap; }

/* Secties */
.lwo-section { margin: 0 0 40px; }
.lwo-section > h3 { padding-bottom: 8px; border-bottom: 2px solid var(--lwo-goud); display: inline-block; margin-bottom: 18px !important; }
.lwo-small, .lwo-meta { font-size: 16px; color: var(--lwo-muted); }
.lwo-intro { max-width: 680px; margin: 0 0 36px; }

/* Kaarten en knoppen */
.lwo-card {
	background: #fff;
	border: 1px solid var(--lwo-line);
	border-radius: 14px;
	padding: 22px 24px;
}
.lwo-btn, .lwo-login input[type=submit] {
	display: inline-block;
	background: var(--lwo-olijf);
	color: #fff !important;
	border: 0;
	border-radius: 999px;
	padding: 9px 22px;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s ease;
}
.lwo-btn:hover, .lwo-login input[type=submit]:hover { background: var(--lwo-olijf-d); }
.lwo-btn-ghost { background: transparent; color: var(--lwo-olijf-d) !important; box-shadow: inset 0 0 0 1.5px var(--lwo-olijf); }
.lwo-btn-ghost:hover { background: var(--lwo-olijf); color: #fff !important; }
.lwo-btn-terra { background: var(--lwo-terra); }
.lwo-btn-terra:hover { background: #b9542a; }
.lwo-btn-gold { background: var(--lwo-goud); color: var(--lwo-ink) !important; }
.lwo-btn-gold:hover { background: #c98f22; }

/* Inloggen */
.lwo-login { max-width: 460px; }
.lwo-login input[type=text], .lwo-login input[type=password] {
	width: 100%; padding: 10px 12px; border: 1px solid var(--lwo-line); border-radius: 8px; font-size: 17px; background: #fff;
}

/* Cursuskaarten */
.lwo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.lwo-course-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.lwo-thumb img { display: block; width: 100%; height: 160px; object-fit: cover; }
.lwo-card-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; gap: 6px; }
.lwo-card-body .lwo-progress-wrap { margin: 4px 0; }
.lwo-card-body .lwo-meta { margin: 0 0 12px; }
.lwo-card-body .lwo-btn { margin-top: auto; align-self: flex-start; }
.lwo-badge { align-self: flex-start; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 2px 10px; border-radius: 99px; }
.lwo-badge-new { background: #f6ecd6; color: #8a6414; }
.lwo-badge-busy { background: #eef0d9; color: var(--lwo-olijf-d); }
.lwo-badge-done { background: var(--lwo-olijf); color: #fff; }
.lwo-badge-expired { background: #f6e1d8; color: #9c3f17; }

/* Modules */
.lwo-modules { list-style: none; margin: 0; padding: 0; border: 1px solid var(--lwo-line); border-radius: 14px; overflow: hidden; background: #fff; }
.lwo-module { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-top: 1px solid var(--lwo-line); margin: 0; }
.lwo-module:first-child { border-top: 0; }
.lwo-num { flex: 0 0 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--lwo-creme); color: var(--lwo-olijf-d); border: 1.5px solid var(--lwo-line); }
.lwo-module.is-done .lwo-num { background: var(--lwo-olijf); border-color: var(--lwo-olijf); color: #fff; }
.lwo-module-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lwo-module-main strong { font-size: 19px; }
.lwo-module-status { font-size: 15px; color: var(--lwo-muted); }

/* Examen, certificaat, meldingen */
.lwo-exam { border-left: 5px solid var(--lwo-line); }
.lwo-exam p:last-child { margin-bottom: 0; }
.lwo-exam .lwo-btn { margin-top: 6px; }
.lwo-exam-open { border-left-color: var(--lwo-terra); }
.lwo-exam-passed { border-left-color: var(--lwo-olijf); }
.lwo-exam-failed { border-left-color: var(--lwo-goud); }
.lwo-cert { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; background: #fffaf0; border-color: var(--lwo-goud); margin: 0 0 36px; }
.lwo-cert p { margin: 0; }
.lwo-portaal.lwo-portaal .lwo-cert h3 { margin-bottom: 6px; }
.lwo-notice { border-left: 5px solid var(--lwo-terra); margin: 0 0 32px; }
.lwo-notice p { margin: 0; }

/* Live lessen */
.lwo-lessons { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lwo-lesson { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--lwo-line); border-radius: 12px; padding: 12px 16px; margin: 0; }
.lwo-lesson > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lwo-lesson > div span { font-size: 15px; color: var(--lwo-muted); }
.lwo-date { flex: 0 0 56px; text-align: center; background: var(--lwo-creme); border-radius: 10px; padding: 4px 0; font-size: 13px; text-transform: uppercase; color: var(--lwo-terra); line-height: 1.1; }
.lwo-date b { display: block; font-size: 24px; color: var(--lwo-ink); }
.lwo-lesson.is-past { opacity: .55; }

/* Downloads */
.lwo-downloads { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lwo-downloads li { margin: 0; }
.lwo-downloads a { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #fff; border: 1px solid var(--lwo-line); border-radius: 12px; text-decoration: none; color: var(--lwo-ink); }
.lwo-downloads a:hover { border-color: var(--lwo-olijf); }
.lwo-ext { font-size: 12px; font-weight: 700; background: var(--lwo-terra); color: #fff; padding: 2px 6px; border-radius: 4px; }

.lwo-account { padding-top: 24px; border-top: 1px solid var(--lwo-line); }
.lwo-account p { font-size: 17px; margin: 0; }

@media (max-width: 600px) {
	.lwo-portaal { font-size: 17px; }
	.lwo-module { flex-wrap: wrap; }
	.lwo-module .lwo-btn { width: 100%; text-align: center; }
	.lwo-lesson { flex-wrap: wrap; }
}

/* ------------------------------------------------------------------
 * WooCommerce "Mijn account" in LWO-stijl
 * ---------------------------------------------------------------- */
.lwo-account-page { --lwo-olijf: #858638; --lwo-olijf-d: #6c6d2c; --lwo-goud: #E0A533; --lwo-terra: #D76635; --lwo-ink: #2f2e1f; --lwo-muted: #6b6a55; --lwo-line: #eadfc8; }
.lwo-account-page .page-header .entry-title { color: var(--lwo-olijf); font-size: clamp(34px, 5vw, 52px); margin-bottom: 8px; }
.lwo-account-page .page-header { padding-bottom: 20px; margin-bottom: 32px; border-bottom: 1px solid var(--lwo-line); }
.lwo-account-page .woocommerce { font-family: 'Pragati Narrow', Arial, sans-serif; font-size: 18px; color: var(--lwo-ink); display: flex; gap: 40px; align-items: flex-start; }
.lwo-account-page .woocommerce::before, .lwo-account-page .woocommerce::after { display: none; }
.lwo-account-page .woocommerce-MyAccount-navigation { float: none; width: 240px; flex: 0 0 240px; }
.lwo-account-page .woocommerce-MyAccount-content { float: none; width: auto; flex: 1; min-width: 0; }
.lwo-account-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--lwo-line); border-radius: 14px; }
.lwo-account-page .woocommerce-MyAccount-navigation li { margin: 0; }
.lwo-account-page .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--lwo-ink); text-decoration: none; font-weight: 700; }
.lwo-account-page .woocommerce-MyAccount-navigation li a:hover { background: #f6eedd; color: var(--lwo-olijf-d); }
.lwo-account-page .woocommerce-MyAccount-navigation li.is-active a { background: var(--lwo-olijf); color: #fff; }
.lwo-account-page .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--lwo-muted); font-weight: 400; }
.lwo-account-page .woocommerce-MyAccount-content a { color: var(--lwo-olijf-d); }
.lwo-account-page .woocommerce form .form-row label, .lwo-account-page .woocommerce form label { color: var(--lwo-ink); font-size: 17px; }
.lwo-account-page .woocommerce form .form-row .required { color: var(--lwo-terra); text-decoration: none; }
.lwo-account-page .woocommerce input.input-text, .lwo-account-page .woocommerce input[type=text], .lwo-account-page .woocommerce input[type=email], .lwo-account-page .woocommerce input[type=password], .lwo-account-page .woocommerce select {
	border: 1px solid var(--lwo-line) !important; border-radius: 8px !important; background: #fff !important; padding: 10px 12px !important; font-family: 'Pragati Narrow', Arial, sans-serif !important; font-size: 17px !important; box-shadow: none !important; text-transform: none !important;
}
.lwo-account-page .woocommerce input:focus { border-color: var(--lwo-olijf) !important; outline: 2px solid rgba(133,134,56,.25); }
.lwo-account-page .woocommerce form .form-row em, .lwo-account-page .woocommerce span em { color: var(--lwo-muted); font-size: 15px; }
.lwo-account-page .woocommerce fieldset { border: 1px solid var(--lwo-line); border-radius: 14px; padding: 18px 22px 8px; margin: 24px 0; background: #fff; }
.lwo-account-page .woocommerce fieldset legend { padding: 0 8px; font-weight: 700; color: var(--lwo-olijf); }
.lwo-account-page .woocommerce .button, .lwo-account-page .woocommerce button.button, .lwo-account-page .woocommerce a.button {
	background: var(--lwo-olijf) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 10px 24px !important; font-family: 'Pragati Narrow', Arial, sans-serif !important; font-size: 17px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important;
}
.lwo-account-page .woocommerce .button:hover { background: var(--lwo-olijf-d) !important; }
.lwo-account-page .woocommerce table.shop_table { border: 1px solid var(--lwo-line); border-radius: 14px; border-collapse: separate; overflow: hidden; background: #fff; }
.lwo-account-page .woocommerce table.shop_table th { background: #f6eedd; color: var(--lwo-ink); }
.lwo-account-page .woocommerce table.shop_table td, .lwo-account-page .woocommerce table.shop_table th { border-color: var(--lwo-line); padding: 12px 14px; }
.lwo-account-page .woocommerce-message, .lwo-account-page .woocommerce-info, .lwo-account-page .woocommerce-error { border-top: 0; border-left: 5px solid var(--lwo-olijf); border-radius: 10px; background: #fff; color: var(--lwo-ink); }
.lwo-account-page .woocommerce-error { border-left-color: var(--lwo-terra); }
.lwo-account-page .woocommerce-message::before, .lwo-account-page .woocommerce-info::before { color: var(--lwo-olijf); }
@media (max-width: 768px) {
	.lwo-account-page .woocommerce { flex-direction: column; gap: 20px; }
	.lwo-account-page .woocommerce-MyAccount-navigation { width: 100%; flex-basis: auto; }
	.lwo-account-page .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; }
}

/* Mijn account > Overzicht */
.lwo-account-page .lwo-dash h2.lwo-dash-title { font-family: 'Cormorant SC', 'Cormorant', serif !important; color: var(--lwo-olijf) !important; font-size: 30px !important; margin: 0 0 6px !important; text-transform: none !important; }
.lwo-account-page .lwo-dash p { margin: 0 0 12px; line-height: 1.5; }
.lwo-account-page .lwo-dash a.lwo-dash-knop { display: inline-block; background: var(--lwo-olijf); color: #fff !important; text-decoration: none !important; font-weight: 700; padding: 10px 24px; border-radius: 999px; margin: 6px 0 22px; }
.lwo-account-page .lwo-dash a.lwo-dash-knop:hover { background: #6f7030; }
.lwo-dash-tegels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lwo-account-page .lwo-dash a.lwo-dash-tegel { display: block; background: #fff; border: 1px solid var(--lwo-line); border-left: 4px solid #E0A533; border-radius: 10px; padding: 14px 16px; text-decoration: none !important; color: inherit !important; transition: box-shadow .15s; }
.lwo-account-page .lwo-dash a.lwo-dash-tegel:hover { box-shadow: 0 4px 14px rgba(0,0,0,.07); }
.lwo-dash-tegel b { display: block; color: var(--lwo-olijf); font-size: 18px; margin-bottom: 2px; }
.lwo-dash-tegel span { font-size: 15px; color: #6b6656; }
.lwo-account-page .lwo-dash p.lwo-dash-klein { margin-top: 18px; font-size: 15px; color: #6b6656; }
.lwo-dash-klein a { color: var(--lwo-olijf) !important; }
@media (max-width: 700px) { .lwo-dash-tegels { grid-template-columns: 1fr; } }
