/* ═══════════════════════════════════════════════════════
OMA Training Manager Pro – Frontend Stylesheet v3.4.1
FIXED: tab panel overflow / mobile width explosion
═══════════════════════════════════════════════════════ */

/* ── GLOBAL BOX-SIZING & OVERFLOW CONTAINMENT ───────── */
/* Everything inside our plugin wraps respects box-model */
.oma-training-single-wrap *,
.oma-training-archive-wrap *,
.oma-agenda-wrap *,
.oma-checkout-wrap * {
	box-sizing: border-box;
}

/* i[class*=fa-], span[class*=fa-] {
	top: unset !important;
} */

/* The outer wrapper must never cause horizontal scroll */
.oma-training-single-wrap,
.oma-training-archive-wrap {
	overflow-x: hidden;
	max-width: 100%;
}

.oma-sidebar-reviews .oma-sidebar-block-title { color: white !important; }
.single-oma_training .nectar-button.large.regular.extra-color-1.regular-button span { color: white !important; }
.oma-single-training-title { color: var(--nectar-extra-color-1) !important; }

/* ── FA scope fix ───────────────────────────────────── */
.oma-training-single-wrap i[class*="fa-"],
.oma-training-archive-wrap i[class*="fa-"],
.oma-training-search-field i[class*="fa-"],
.oma-agenda-wrap i[class*="fa-"],
.oma-sidebar-block i[class*="fa-"],
.oma-checkout-wrap i[class*="fa-"],
.oma-breadcrumbs i[class*="fa-"] {
	font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
	font-style: normal; font-variant: normal; line-height: 1;
	text-rendering: auto; -webkit-font-smoothing: antialiased;
}
.oma-training-single-wrap i.fa-regular,
.oma-checkout-wrap i.fa-regular,
.oma-agenda-wrap i.fa-regular { font-weight: 400 !important; }
.oma-training-single-wrap i.fa-solid,
.oma-checkout-wrap i.fa-solid,
.oma-agenda-wrap i.fa-solid { font-weight: 900 !important; }

/* ── Base container ─────────────────────────────────── */
.oma-training-container {
	max-width: 1360px;
	margin: 0 auto;
	padding: 50px 0;
	box-sizing: border-box;
	overflow-x: hidden; /* prevent any child from blowing out container */
}

/* ═══════════════════════════════════════════════════════
Single training layout
─ KEY FIX: grid columns must stay within viewport width
═══════════════════════════════════════════════════════ */
.oma-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px; /* minmax(0,1fr) prevents blowout */
	gap: 55px;
	align-items: start;
	max-width: 100%;
	overflow: hidden;
}
.oma-single-main {
	min-width: 0;      /* essential for grid children */
	overflow: hidden;  /* prevent editor content from escaping */
	max-width: 100%;
}

/* ── Tab panels: contain everything inside them ───────── */
.oma-training-tabs-panels {
	margin-top: 0;
	max-width: 100%;
	overflow: hidden;
}
.oma-tab-panel {
	display: none;
	max-width: 100%;
	overflow: hidden;      /* hard stop for any child wider than panel */
	overflow-x: hidden;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.oma-tab-panel.is-active { display: block; }

/* Make sure ALL content inside tab panels respects width */
.oma-tab-panel img,
.oma-tab-panel video,
.oma-tab-panel iframe,
.oma-tab-panel table,
.oma-tab-panel figure,
.oma-tab-panel pre,
.oma-tab-panel embed,
.oma-tab-panel object {
	max-width: 100% !important;
	height: auto;
}
.oma-tab-panel img { border-radius: 15px; }
.oma-tab-panel table { table-layout: fixed; width: 100%; }
.oma-tab-panel pre { white-space: pre-wrap; word-break: break-word; }
.oma-tab-panel h1, .oma-tab-panel h2, .oma-tab-panel h3,
.oma-tab-panel h4, .oma-tab-panel h5, .oma-tab-panel h6 { color: #05444f !important; }

/* ── Sidebar: also must not blow out ─────────────────── */
.oma-single-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-self: start;
	min-width: 0;
	max-width: 100%;
}

/* ═══════════════════════════════════════════════════════
Archive: Zoekbalk
═══════════════════════════════════════════════════════ */
.oma-training-search-wrap { margin-bottom: 28px; }
.oma-training-search-form {
	display: flex; gap: 0; align-items: stretch;
	width: 100%; max-width: 100%; position: relative;
}
.oma-training-search-field {
	flex: 1 1 0; display: flex; align-items: center; gap: 12px;
	background: #fff; border: 2px solid #05444f; border-right: none;
	border-radius: 200px; padding: 0 22px; transition: box-shadow .2s;
	overflow: hidden; min-width: 0;
}
.oma-training-search-field:focus-within { box-shadow: 0 0 0 3px rgba(5,68,79,.12); }
.oma-training-search-field i { color: #05444f; font-size: 16px; flex-shrink: 0; font-weight: bold !important; }
.oma-training-search-input {
	flex: 1; border: none; outline: none; font-size: 15px; color: #1a1f2e;
	background: transparent !important; padding: 16px 0; min-width: 0;
	box-shadow: none !important; -webkit-appearance: none;
}
.oma-training-search-input:focus { border: unset !important; box-shadow: unset !important; }
.oma-training-search-input::placeholder { color: #9aa3b2; }
.oma-training-search-input:-webkit-autofill,
.oma-training-search-input:-webkit-autofill:hover,
.oma-training-search-input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #fff inset !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: #1a1f2e !important;
	transition: background-color 99999s ease-in-out 0s;
}
.oma-training-search-btn {
	background: #05444f !important; color: #fff;
	border: 2px solid #05444f; border-left: none;
	cursor: pointer; padding: 0 32px; border-radius: 0 999px 999px 0;
	font-size: 17px; font-weight: 700; font-family: 'Big Shoulders Display', sans-serif;
	transition: opacity .15s; white-space: nowrap; letter-spacing: .2px;
	flex-shrink: 0; position: absolute; right: 0; top: 0; bottom: 0;
}
.oma-training-search-btn:hover { opacity: .85; }

/* ── Archive filters ─────────────────────────────────── */
.oma-training-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.oma-filter-pill {
	display: inline-flex; align-items: center; background: transparent;
	border: 2px solid #05444f; border-radius: 999px; padding: 8px 20px;
	color: #05444f; text-decoration: none; font-weight: 600; font-size: 14px;
	transition: background .15s, color .15s; white-space: nowrap;
}
.oma-filter-pill.is-active, .oma-filter-pill:hover { background: #05444f; color: #fff; }

/* ── Training card grid ──────────────────────────────── */
.oma-training-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}
.oma-training-card {
	background: #fff; border-radius: 16px; overflow: hidden;
	display: flex; flex-direction: column;
	border: 1px solid #e8f0ed;
	box-shadow: 0 2px 12px rgba(5,68,79,.06);
	transition: box-shadow .2s, transform .2s;
	min-width: 0;
}
.oma-training-card-image img { height: 200px !important; }
.oma-training-card:hover { box-shadow: 0 8px 28px rgba(5,68,79,.12); transform: translateY(-2px); }
.oma-training-card-image img,
.oma-training-card-image .oma-training-placeholder {
	width: 100%; height: 260px; object-fit: cover; display: block; background: #dde3eb;
}
.oma-training-card-content {
	padding: 12px 24px 24px; display: flex; flex-direction: column; align-items: flex-start; flex: 1;
}
.oma-training-card-label {
	display: inline-flex; align-items: center; background: var(--nectar-accent-color, #e8f5e9);
	color: #05444f; border-radius: 999px; padding: 5px 16px; font-size: 17px; font-weight: 700;
	margin-bottom: 12px; letter-spacing: .02em; font-family: 'Big Shoulders Display', sans-serif;
}
.oma-training-card h3 { margin: 0 0 10px; font-size: 21px; line-height: 1.25; color: #061b33; }
.oma-training-card h3 a { color: inherit; text-decoration: none; display: block; }
.oma-training-card-intro { font-size: 15px; line-height: 27px; color: #4a5568; margin: 0; flex: 1; }
.oma-training-card-footer { margin-top: 20px; width: 100%; }
.oma-training-card-button {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 22px;
	border-radius: 999px; background: #05444f; color: #fff; text-decoration: none;
	font-weight: 700; font-size: 15px; transition: opacity .15s;
	font-family: 'Big Shoulders Display', sans-serif; letter-spacing: .3px;
}
.oma-training-card-button:hover { opacity: .88; color: #fff; }

/* ── Breadcrumbs ──────────────────────────────────────── */
.oma-breadcrumbs {
	display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
	font-size: 13px; color: #65748a; margin-bottom: 20px;
}
.oma-breadcrumbs a { color: #05444f; text-decoration: none; font-weight: 500; }
.oma-breadcrumbs a:hover { text-decoration: underline; }
.oma-breadcrumb-sep { color: #b2d8d1; font-size: 10px; }
.oma-breadcrumb-current { color: #1a1f2e; font-weight: 600; word-break: break-word; }

/* ── Back link ────────────────────────────────────────── */
.oma-back-to-archive-link {
	display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600;
	color: #05444f; text-decoration: none; margin-bottom: 14px; transition: opacity .15s;
}
.oma-back-to-archive-link:hover { opacity: .75; color: #05444f; text-decoration: underline; }
.oma-back-to-archive-link i { font-size: 11px; }

/* ── Notice ──────────────────────────────────────────── */
.oma-training-notice {
	display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px;
	border-radius: 12px; margin-bottom: 24px; font-size: 15px; line-height: 1.5; font-weight: 500;
}
.oma-notice-icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.oma-training-notice-success { background: #edfaed; color: #1a5c1a; border: 1px solid #b6e4b6; }
.oma-training-notice-full    { background: #fff8e1; color: #7a5200; border: 1px solid #ffe09e; }
.oma-training-notice-invalid,
.oma-training-notice-error   { background: #fff0f0; color: #9c1d1d; border: 1px solid #f5c5c5; }
.oma-success-ical-link {
	display: inline-flex; align-items: center; gap: 6px;
	color: #1a5c1a; font-size: 13px; font-weight: 700; text-decoration: none; margin-top: 8px;
}

/* ── Tabs nav ─────────────────────────────────────────── */
.oma-training-tabs-nav {
	display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 24px;
	max-width: 100%;
}
.oma-tab-button {
	display: inline-flex; align-items: center; gap: 7px;
	background: #f5f8f8; border: 1.5px solid #d0dbd8; color: #4a5568;
	padding: 10px 20px; border-radius: 999px; font-size: 17px; font-weight: 600;
	cursor: pointer; transition: background .15s, color .15s, border-color .15s;
	font-family: 'Big Shoulders Display', sans-serif; letter-spacing: .2px;
	white-space: nowrap; flex-shrink: 0;
}
.oma-tab-button i { font-size: 13px; position: relative !important; top: -1px !important; }
.oma-tab-button:hover { background: #e8f0ed; border-color: #05444f; color: #05444f; }
.oma-tab-button.is-active { background: #05444f; color: #fff; border-color: #05444f; box-shadow: 0 2px 8px rgba(5,68,79,.25); }

/* ── Training pills ──────────────────────────────────── */
.oma-training-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.oma-training-pill {
	display: inline-flex; align-items: center; gap: 7px; background: #f5f8f8;
	border: 1.5px solid #9fb8bc; color: #05444f; border-radius: 999px;
	padding: 7px 16px; font-size: 14px; font-weight: 600;
}
.oma-training-pill i { font-size: 12px; color: #05444f; }

/* ── Programma sub-tabs ──────────────────────────────── */
.oma-prog-subtabs-nav { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 20px; }
.oma-prog-subtab {
	display: inline-flex; align-items: center; background: #f5f8f8;
	border: 1.5px solid #d0dbd8; color: #65748a; padding: 8px 18px;
	border-radius: 999px; font-size: 18px; font-weight: 600; cursor: pointer;
	letter-spacing: 0.2px; transition: background .15s, color .15s, border-color .15s;
	font-family: 'Big Shoulders Display'; flex-shrink: 0;
}
.oma-prog-subtab:hover { background: #e8f0ed; color: #05444f; border-color: #05444f; }
.oma-prog-subtab.is-active { background: #05444f; color: #fff; border-color: #05444f; }
.oma-prog-subpanel { display: none; max-width: 100%; overflow: hidden; }
.oma-prog-subpanel.is-active { display: block; }
/* Content inside programma panels */
.oma-prog-subpanel img,
.oma-prog-subpanel table,
.oma-prog-subpanel pre,
.oma-prog-subpanel iframe { max-width: 100% !important; height: auto; }
.oma-prog-subpanel table { table-layout: fixed; width: 100%; }
.oma-prog-subpanel pre { white-space: pre-wrap; word-break: break-word; }

/* ═══════════════════════════════════════════════════════
Session cards (Datum & locatie)
═══════════════════════════════════════════════════════ */
.oma-location-filter-form {
	display: flex; align-items: center; gap: 12px; margin-bottom: 24px; flex-wrap: wrap;
}
.oma-filter-label { font-weight: 600; color: #05444f; font-size: 14px; }
.oma-location-filter-form select {
	min-width: 200px; max-width: 100%; padding: 10px 14px;
	border: 1.5px solid #a8d5cb; border-radius: 8px;
	background: #fff; color: #05444f; cursor: pointer; font-size: 14px;
}

.oma-session-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/* ── Card shell ──────────────────────────────────────── */
.oma-session-card {
	background: var(--oma-card-bg, #fff);
	border-radius: 16px;
	overflow: hidden;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.oma-session-card.is-available {
	border: 1.5px solid #d8ebe6;
	box-shadow: 0 2px 10px rgba(5,68,79,.06);
}
.oma-session-card.is-full {
	border: 1.5px solid #ddd;
	opacity: .9;
}

/* ── Header: naam + badge ────────────────────────────── */
.oma-session-card-header {
	padding: 9px 18px;
	display: flex; align-items: center; gap: 10px;
	overflow: hidden;
}
.oma-session-card-header.is-available { background: #05444f; }
.oma-session-card-header.is-full      { background: #3a3a3a; }

.oma-session-card-header-icon {
	color: rgba(255,255,255,.45);
	font-size: 14px;
	flex-shrink: 0;
}
.oma-session-card-header-title {
	font-size: 19px;
	letter-spacing: 0.3px;
	font-weight: 700; color: #fff;
	font-family: 'Big Shoulders Display', sans-serif;
	line-height: 1.3; flex: 1; min-width: 0;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Badge: 8/12 vrij or volgeboekt */
.oma-session-header-badge {
	display: inline-flex; align-items: center; gap: 5px;
	border-radius: 999px; padding: 3px 10px;
	font-size: 11px; font-weight: 700;
	white-space: nowrap; flex-shrink: 0;
	letter-spacing: .02em;
	line-height: 25px;
}
.oma-session-header-badge.is-available {
	background: #d4f0e8; color: #085041; border: 0.5px solid #5DCAA5;
}
.oma-session-header-badge.is-full {
	background: #4a2020; color: #f5b8b8; border: 0.5px solid #8a3a3a;
}
.oma-session-header-badge i { font-size: 9px; }

/* ── Timeline ─────────────────────────────────────────── */
.oma-session-timeline-wrap {
	padding: 18px;
	flex: 1;
}
.oma-session-timeline {
	position: relative;
	padding-left: 24px;
}
.oma-session-timeline::before {
	content: '';
	position: absolute;
	left: 6px; top: 23px; bottom: 0;
	width: 2px;
	background: #d8e5e2;
}

.oma-session-tl-day {
	position: relative;
	margin-bottom: 20px;
}
.oma-session-tl-day:last-child { margin-bottom: 4px; }

/* Dot */
.oma-session-tl-dot {
	position: absolute;
	left: -24px; top: 12px;
	width: 14px; height: 14px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.oma-session-tl-dot.is-available { background: #05444f; }
.oma-session-tl-dot.is-full      { background: #888; }
.oma-session-tl-dot span {
	width: 5px; height: 5px;
	border-radius: 50%; background: #fff;
}

/* Content */
.oma-session-tl-content {
	margin-top: -10px;
}

/* Chip: Dag 1 / Dag 2 */
.oma-session-tl-chip {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 11px; font-weight: 700;
	border-radius: 999px; padding: 2px 9px;
	margin-bottom: 5px;
	text-transform: uppercase; letter-spacing: .05em;
	line-height: 25px;
}
.oma-session-tl-chip.is-available { background: #e0f0ea; color: #085041; }
.oma-session-tl-chip.is-full      { background: #ebebeb; color: #888; }
.oma-session-tl-chip i { font-size: 9px; }

.oma-session-tl-date {
	font-size: 16.5px; font-weight: 700; color: #05444f;
	font-family: 'Big Shoulders Display', sans-serif;
	margin-bottom: 7px; line-height: 1.3; letter-spacing: .2px;
	word-break: break-word;
}
.oma-session-card.is-full .oma-session-tl-date { color: #555; }

/* Meta items */
.oma-session-meta-row { display: flex; flex-direction: column; gap: 5px; }
.oma-session-meta-item {
	display: flex; align-items: flex-start; gap: 8px;
	font-size: 13px; color: #65748a; line-height: 1.4; word-break: break-word;
}
.oma-session-meta-item i {
	font-size: 13px; color: #05444f; width: 14px;
	text-align: center; flex-shrink: 0;
	position: relative !important; top: 1px !important;
}
.oma-session-card.is-full .oma-session-meta-item i { color: #aaa; }

/* ── Footer: CTA knop ────────────────────────────────── */
.oma-session-card-footer {
	padding: 14px 18px;
	border-top: 0.5px solid #e8f0ed;
	background: #f7fbfa;
}
.oma-session-card.is-full .oma-session-card-footer {
	background: #f5f5f5;
	border-top-color: #e0e0e0;
}

.oma-session-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border-radius: 999px; border: none; cursor: pointer;
	font-weight: 700; font-family: 'Big Shoulders Display', sans-serif;
	font-size: 17px; letter-spacing: 0.2px;
	padding: 11px 20px; width: 100%;
	transition: opacity .15s, transform .15s;
	text-decoration: none;
}
.oma-session-button:not(.is-disabled) {
	background: #e2a4f8; color: #05444f;
}
.oma-session-button:not(.is-disabled):hover {
	opacity: .88; transform: translateY(-1px); color: #05444f;
}
.oma-session-button.is-disabled {
	background: #e0e0e0; color: #999; cursor: not-allowed;
}
.oma-session-button i { font-size: 13px; flex-shrink: 0; }

/* No sessions notice */
.oma-no-sessions-notice {
	display: flex; align-items: flex-start; gap: 20px;
	background: #f5f8f8; border: 1px solid #d8ebe6; border-left: 4px solid #05444f;
	border-radius: 12px; padding: 24px 26px; margin: 16px 0;
}
.oma-no-sessions-icon { font-size: 32px; color: #05444f; opacity: .55; flex-shrink: 0; margin-top: 2px; }
.oma-no-sessions-title { margin: 0 0 8px; font-size: 16px; font-weight: 700; color: #05444f; }
.oma-no-sessions-text  { margin: 0; font-size: 14px; color: #65748a; line-height: 1.6; }

/* Registration form */
.oma-registration-form-wrap { margin: 14px 18px 0; padding: 18px; background: #f5f9f8; border: 1px solid #d0dbd8; border-radius: 12px; }
.oma-form-row { margin-bottom: 14px; }
.oma-form-label { display: block; font-size: 14px; font-weight: 600; color: #05444f; margin-bottom: 5px; }
.oma-required { color: #c62828; margin-left: 2px; }
.oma-form-input { width: 100%; padding: 11px 13px; border: 1.5px solid #c5d8d4; border-radius: 8px; font-size: 14px; color: #1a1a1a; transition: border-color .15s, box-shadow .15s; box-sizing: border-box; }
.oma-form-input:focus { outline: none; border-color: #05444f; box-shadow: 0 0 0 3px rgba(5,68,79,.1); }
.oma-has-error .oma-form-input { border-color: #c62828; }
.oma-submit-button { display: inline-flex; align-items: center; background: #05444f; color: #fff; padding: 11px 22px; border-radius: 999px; border: none; cursor: pointer; font-size: 15px; font-weight: 700; font-family: 'Big Shoulders Display', sans-serif; transition: opacity .15s; }
.oma-submit-button:hover { opacity: .88; }
.oma-submit-button:disabled { background: #aaa; cursor: not-allowed; }
.oma-form-submit-row { margin-top: 16px; }

/* ═══════════════════════════════════════════════════════
Sidebar
═══════════════════════════════════════════════════════ */
.oma-sidebar-block {
	background: #fff; border: 1.5px solid #e0ebe8; border-radius: 16px; padding: 20px;
	box-shadow: 0 2px 10px rgba(5,68,79,.05); overflow: hidden;
}
.oma-sidebar-block-title { font-size: 22px; font-weight: 700; color: #05444f !important; margin: 0 0 12px; font-family: 'Big Shoulders Display', sans-serif; }
.oma-sidebar-other-trainings { background-color: #e2a4f8 !important; border-color: #e2a4f8 !important; }
.oma-sidebar-contact { background: #f5f8f8; border-color: #9fb8bc; }
.oma-sidebar-contact .oma-sidebar-block-title { color: #05444f !important; }
.oma-sidebar-block-intro { font-size: 15px; color: #3a5068; line-height: 1.6; margin: 0; }
.oma-sidebar-cta-btn { display: inline-flex; align-items: center; gap: 8px; background: #05444f; color: #fff; padding: 10px 18px; border-radius: 999px; font-size: 19px; font-weight: 700; letter-spacing: 0.2px; text-decoration: none; transition: opacity .15s; margin-bottom: 20px; font-family: 'Big Shoulders Display'; }
.oma-sidebar-cta-btn:hover { opacity: .88; color: #fff; }
.oma-sidebar-usps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.oma-sidebar-usps li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #2e4a3e; font-weight: 500; line-height: 1.45; }
.oma-sidebar-usps li i { color: #05444f; font-size: 14px; margin-top: 4px; flex-shrink: 0; }

.oma-sidebar-other-list { display: flex; flex-direction: column; gap: 10px; }
.oma-sidebar-other-card { display: flex; align-items: center; gap: 12px; text-decoration: none; padding: 15px; background: #fff; border-radius: 12px; transition: background .15s; min-width: 0; }
.oma-sidebar-other-card:hover { background: #e8f5f0; }
.oma-sidebar-other-img { display: none !important; }
.oma-sidebar-other-body { flex: 1; min-width: 0; }
.oma-sidebar-other-pill-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.oma-sidebar-other-pill { display: inline-block; font-size: 10px; font-weight: 700; color: #05444f; background: #e0f0ea; border-radius: 999px; padding: 2px 11px; text-transform: uppercase; letter-spacing: .04em; line-height: 23px; }
.oma-sidebar-other-location-pill { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; color: #993556; background: #fbeaf0; border-radius: 999px; padding: 2px 11px; text-transform: uppercase; letter-spacing: .04em; line-height: 23px; }
.oma-sidebar-other-location-pill i { font-size: 10px !important; }
.oma-sidebar-other-title { display: block; font-size: 16px; font-weight: 700; color: #05444f; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oma-sidebar-other-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.oma-sidebar-other-meta span { display: flex; align-items: center; gap: 4px; font-size: 14px; color: #05444f; font-weight: 500; line-height: 1.4; }
.oma-sidebar-other-meta span i { font-size: 12px !important; }
.oma-sidebar-other-arrow { color: #a8d5cb; font-size: 12px; flex-shrink: 0; }

.oma-sidebar-reviews { background: #05444f; border-color: #05444f; }
.oma-sidebar-reviews .oma-sidebar-block-title { color: #fff; }
.oma-sidebar-no-items { font-size: 14px; color: rgba(255,255,255,.65); margin: 0; }
.oma-sidebar-other-trainings .oma-sidebar-no-items { color: #05444f; opacity: .7; }
.oma-sidebar-review-card { padding: 2px 0; }
.oma-sidebar-review-stars { display: flex; gap: 3px; margin-bottom: 10px; }
.oma-sidebar-review-stars i { color: #e2a4f8; font-size: 13px; }
.oma-sidebar-review-stars i.oma-star-empty { color: rgba(255,255,255,.2); }
.oma-review-text-short,
.oma-review-text-full { font-size: 15px; line-height: 29px; color: rgba(255,255,255,.88); margin-bottom: 8px; }
.oma-review-text-full { display: none; }
.oma-review-read-more { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #05444f; background: #e2a4f8; border: none; border-radius: 999px; padding: 4px 12px; margin-bottom: 14px; cursor: pointer; transition: opacity .15s, transform .15s; }
.oma-review-read-more:hover { opacity: .85; transform: translateY(-1px); }
.oma-sidebar-review-author { font-size: 18px; font-weight: 700; color: #fff; font-family: 'Big Shoulders Display'; }
.oma-sidebar-review-role { font-size: 14px; color: rgba(255,255,255,.5); margin-top: 2px; line-height: 18px; }
.oma-reviews-pagination { margin-top: 14px !important; position: relative !important; }
.oma-reviews-pagination .swiper-pagination-bullet { background: rgba(255,255,255,.35); opacity: 1; }
.oma-reviews-pagination .swiper-pagination-bullet-active { background: #e2a4f8; }

/* ═══════════════════════════════════════════════════════
Checkout
═══════════════════════════════════════════════════════ */
.oma-checkout-wrap { max-width: 1160px; margin: 0 auto; }
.oma-checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 40px; align-items: start; }
.oma-checkout-type-tabs { display: flex; gap: 12px; margin-bottom: 32px; }
.oma-checkout-type-tab { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 16px 24px; border-radius: 12px; border: 2px solid #d8e5e2; background: #f5f9f8; cursor: pointer; transition: border-color .15s, background .15s; text-align: left; min-width: 0; }
.oma-checkout-type-tab i { font-size: 20px; color: #65748a; margin-bottom: 2px; flex-shrink: 0; }
.oma-checkout-type-tab span { font-size: 16px; font-weight: 700; color: #1a1f2e; font-family: 'Big Shoulders Display', sans-serif; }
.oma-checkout-type-tab small { font-size: 12px; color: #65748a; }
.oma-checkout-type-tab.is-active { border-color: #05444f; background: #f0f7f5; }
.oma-checkout-type-tab.is-active i { color: #05444f; }
.oma-checkout-type-tab.is-active span { color: #05444f; }
.oma-checkout-panel { display: none; }
.oma-checkout-panel.is-active { display: block; }
.oma-checkout-section-title { font-size: 21px; font-weight: 700; color: #05444f; margin: 28px 0 16px; padding-bottom: 8px; border-bottom: 2px solid #e0ebe8; font-family: 'Big Shoulders Display', sans-serif; }
.oma-checkout-section-title:first-child { margin-top: 0; }
.oma-form-row--half { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.oma-address-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.oma-addr-straat     { grid-column: 1; grid-row: 1; }
.oma-addr-huisnummer { grid-column: 2; grid-row: 1; }
.oma-addr-postcode   { grid-column: 1; grid-row: 2; }
.oma-addr-stad       { grid-column: 2; grid-row: 2; }
.oma-alt-invoice-address { margin-top: 12px; padding: 16px; border-radius: 10px; background: #f5f9f8; border: 1.5px dashed #a8d5cb; }
.oma-radio-group { display: flex; gap: 20px; flex-wrap: wrap; padding-top: 4px; }
.oma-radio-group label { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 500; color: #1a1f2e; cursor: pointer; }
.oma-radio-group input[type="radio"] { accent-color: #05444f; width: 16px; height: 16px; }
.oma-extra-attendees-block { border: 1.5px dashed #a8d5cb; border-radius: 12px; padding: 16px; background: #f5f9f8; }
.oma-extra-attendees-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.oma-extra-attendee-tag { display: flex; align-items: center; justify-content: space-between; background: #e0f0ea; border-radius: 8px; padding: 8px 12px; font-size: 13px; font-weight: 500; color: #05444f; }
.oma-extra-attendee-tag button { background: none; border: none; cursor: pointer; color: #c62828; padding: 0; font-size: 14px; }
.oma-add-attendee-btn { display: inline-flex; align-items: center; gap: 7px; background: #05444f; color: #fff; border: none; padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: 'Big Shoulders Display', sans-serif; transition: opacity .15s; }
.oma-add-attendee-btn:hover { opacity: .88; }
.oma-inccompany-note { font-size: 12px; color: #65748a; margin: 8px 0 0; }
.oma-inccompany-note a { color: #05444f; }
.oma-terms-row { margin-top: 20px; }
.oma-checkbox-label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #1a1f2e; cursor: pointer; line-height: 1.5; }
.oma-checkbox-label input[type="checkbox"] { accent-color: #05444f; width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }
.oma-checkbox-label a { color: #05444f; }
.oma-checkout-submit-btn { display: inline-flex; align-items: center; gap: 10px; background: #e2a4f8; color: #05444f; border: none; padding: 14px 32px; border-radius: 999px; margin-top: 28px; font-size: 18px; font-weight: 700; cursor: pointer; font-family: 'Big Shoulders Display', sans-serif; transition: opacity .15s, transform .15s; letter-spacing: .3px; }
.oma-checkout-submit-btn:hover { opacity: .9; transform: translateY(-2px); color: #05444f; }
.oma-checkout-submit-btn:disabled { background: #b0b8c1; color: #fff; cursor: not-allowed; transform: none; }

.oma-checkout-sidebar { align-self: start; min-width: 0; }
.oma-checkout-summary { background: #fff; border: 1.5px solid #d8e5e2; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(5,68,79,.07); }
.oma-checkout-summary-img img { width: 100%; height: 200px; object-fit: cover; display: block; }
.oma-checkout-summary-body { padding: 20px; }
.oma-checkout-summary-title { font-size: 23px; font-weight: 700; color: #05444f; margin: 0 0 16px; font-family: 'Big Shoulders Display', sans-serif; line-height: 1.2; word-break: break-word; }
.oma-checkout-summary-meta { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.oma-checkout-summary-day-label { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: #05444f; text-transform: uppercase; letter-spacing: .06em; background: #e0f0ea; padding: 3px 10px; border-radius: 999px; width: fit-content; margin-bottom: 7px; }
.oma-checkout-summary-day-info { display: flex; flex-direction: column; gap: 5px; }
.oma-checkout-summary-day-info span { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #3a5068; line-height: 1.4; word-break: break-word; }
.oma-checkout-summary-day-info span i { color: #05444f; font-size: 12px; width: 14px; text-align: center; flex-shrink: 0; margin-top: 2px; }
.oma-checkout-summary-price { display: flex; align-items: baseline; justify-content: space-between; padding: 12px 0; border-top: 1px solid #e0ebe8; border-bottom: 1px solid #e0ebe8; margin-bottom: 14px; }
.oma-checkout-summary-price-label { font-size: 13px; color: #65748a; font-weight: 600; }
.oma-checkout-summary-price-value { font-size: 21px; font-weight: 800; color: #05444f; font-family: 'Big Shoulders Display', sans-serif; }
.oma-checkout-summary-footer-meta { font-size: 12px; color: #65748a; margin-bottom: 12px; }
.oma-checkout-summary-back { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: #65748a; text-decoration: none; transition: color .15s; }
.oma-checkout-summary-back:hover { color: #05444f; }

.oma-popup-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; }
.oma-popup-overlay[hidden] { display: none; }
.oma-popup-box { background: #fff; border-radius: 16px; padding: 28px; width: 100%; max-width: 540px; position: relative; box-shadow: 0 20px 60px rgba(0,0,0,.18); max-height: 90vh; overflow-y: auto; box-sizing: border-box; }
.oma-popup-close { position: absolute; right: 16px; top: 16px; background: none; border: none; font-size: 18px; cursor: pointer; color: #65748a; }
.oma-popup-title { font-size: 20px; font-weight: 700; color: #05444f; margin: 0 0 20px; font-family: 'Big Shoulders Display', sans-serif; }
.oma-popup-fields .oma-form-row--half { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.oma-popup-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 20px; flex-wrap: wrap; }
.oma-popup-cancel-btn { display: inline-flex; align-items: center; gap: 7px; background: #f5f8f8; color: #3a5068; border: 1.5px solid #dde3ef; padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: 'Big Shoulders Display', sans-serif; }
.oma-popup-add-btn { display: inline-flex; align-items: center; gap: 7px; background: #05444f; color: #fff; border: none; padding: 10px 20px; border-radius: 999px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: 'Big Shoulders Display', sans-serif; }

/* ═══════════════════════════════════════════════════════
Agenda
═══════════════════════════════════════════════════════ */
.oma-agenda-wrap { font-family: inherit; max-width: 680px; width: 100%; }
.oma-agenda-calendar { background: #05444f; border-radius: 16px; padding: 20px 18px 16px; color: #e8eaf0; }
.oma-agenda-month-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.oma-agenda-month-label { font-size: 16px; font-weight: 700; color: #e8eaf0; }
.oma-agenda-month-label span { color: #e2a4f8; }
.oma-agenda-nav-btn { background: rgba(255,255,255,.1); border: none; color: #c8d8da; cursor: pointer; padding: 5px 11px; font-size: 20px; line-height: 1; border-radius: 8px; transition: color .15s, background .15s; }
.oma-agenda-nav-btn:hover { color: #fff; background: rgba(255,255,255,.2); }
.oma-agenda-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px 0; }
.oma-agenda-weekday { text-align: center; font-size: 11px; font-weight: 700; color: rgba(255,255,255,.4); letter-spacing: .06em; text-transform: uppercase; padding-bottom: 8px; }
.oma-agenda-day { display: flex; flex-direction: column; align-items: center; padding: 4px 2px 6px; cursor: default; border-radius: 8px; min-height: 44px; }
.oma-agenda-day.has-training { cursor: pointer; }
.oma-agenda-day.has-training .oma-agenda-day-num { background: rgba(226,164,248,.35); color: #fff; font-weight: 700; }
.oma-agenda-day.has-training:hover .oma-agenda-day-num { background: rgba(226,164,248,.55); }
.oma-agenda-day.is-other-month .oma-agenda-day-num { color: rgba(255,255,255,.2); }
.oma-agenda-day-num { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.85); width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background .12s, color .12s; }
.oma-agenda-day.is-today .oma-agenda-day-num { border: 2px solid #e2a4f8; color: #e2a4f8; font-weight: 800; background: transparent; }
.oma-agenda-day.is-selected .oma-agenda-day-num { background: #e2a4f8; color: #05444f; font-weight: 800; box-shadow: 0 0 0 3px #e2a4f8; }
.oma-agenda-day.is-past { opacity: 0.35; cursor: not-allowed; pointer-events: none; }
.oma-agenda-day.is-past .oma-agenda-day-num { color: rgba(255,255,255,.35); background: transparent !important; }

.oma-agenda-results { margin-top: 20px; width: 100%; overflow: hidden; }
.oma-agenda-results .oma-training-pills { margin-bottom: 0; }
.oma-agenda-prompt { background: #f0f2f4; border-radius: 10px; padding: 14px 20px; color: #65748a; font-size: 15px; font-weight: 500; display: flex; align-items: center; gap: 10px; }
.oma-agenda-prompt i { font-size: 16px; color: #9aa3b2; flex-shrink: 0; }
.oma-agenda-day-heading { font-size: 20px; font-weight: 700; color: #061b33; margin: 0 0 16px; text-transform: capitalize; font-family: 'Big Shoulders Display', sans-serif; }
.oma-agenda-session-cards { display: grid; grid-template-columns: 1fr; gap: 20px; }
.oma-agenda-no-events { color: #65748a; font-style: italic; font-size: 14px; margin: 0; }

.oma-agenda-tarieven-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 12px 24px; background: #e7fc7b; color: #05444f; font-size: 22px; letter-spacing: 0.2px; font-family: 'Big Shoulders Display'; font-weight: 700; border-radius: 10px; text-decoration: none; transition: background .18s, transform .15s; width: 100%; justify-content: center; box-sizing: border-box; }
.oma-agenda-tarieven-btn:hover { background: #e7fc7b; color: #05444f; transform: translateY(-1px); text-decoration: none; }
.oma-agenda-tarieven-btn i { font-size: 15px; position: relative !important; top: -0.5px !important; }

.oma-agenda-banner { border-radius: 12px; margin-bottom: 20px; padding: 18px 22px; box-sizing: border-box; border-left-width: 4px; border-left-style: solid; }
.oma-agenda-banner-inner { display: flex; align-items: flex-start; gap: 16px; }
.oma-agenda-banner-icon { font-size: 28px; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.oma-agenda-banner-body { flex: 1; min-width: 0; }
.oma-agenda-banner-title { font-size: 17px; font-weight: 800; line-height: 1.3; margin-bottom: 4px; }
.oma-agenda-banner-text { font-size: 14px; color: #4a5568; line-height: 1.6; margin-bottom: 10px; }
.oma-agenda-banner-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border-radius: 50px; color: #fff !important; font-size: 18px; letter-spacing: 0.2px; font-weight: 700; text-decoration: none !important; transition: opacity .15s, transform .15s; font-family: 'Big Shoulders Display'; margin-top: 10px; }
.oma-agenda-banner-btn:hover { opacity: .88; transform: translateY(-1px); }

/* Hero + title */
.oma-training-hero { width: 100%; padding: 48px 24px; box-sizing: border-box; }
.oma-training-hero-inner { max-width: 1200px; margin: 0 auto; }
.oma-training-hero-tagline { font-size: clamp(22px, 3.5vw, 38px); font-weight: 900; color: #fff; margin: 0; line-height: 1.2; font-family: 'Big Shoulders Display', sans-serif; }
.oma-single-training-title { font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 800; color: #05444f; margin: 0 0 20px; line-height: 1.2; word-break: break-word; }

/* Titelrij + compact prijsblok (basisstijl; redesign-laag verfijnt dit) */
.oma-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.oma-title-row .oma-single-training-title { flex: 1 1 320px; margin-bottom: 0; }
.oma-price-badge { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; background: #f6f4ee; border: 1px solid #e2e7e6; border-radius: 16px; padding: 14px 18px; }
.oma-price-badge-label { display: inline-flex; align-items: center; gap: 8px; background: #e2a8e8; color: #022730; border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; line-height: 1.25; }
.oma-price-badge-amount { display: flex; align-items: baseline; gap: 8px; margin: 0; flex-wrap: wrap; }
.oma-price-badge-value { font-size: 32px; font-weight: 800; line-height: 1; color: #05444f; }
.oma-price-badge-note { font-size: 13px; font-weight: 600; color: #3d5c62; }

/* Misc */
.oma-location-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.oma-location-link:hover { opacity: .8; }
.oma-form-row-mailchimp input[type="checkbox"] { margin-top: 3px; }

/* ═══════════════════════════════════════════════════════
RESPONSIVE BREAKPOINTS
═══════════════════════════════════════════════════════ */
@media screen and (min-width: 900px) and (max-width: 1380px) {

	.oma-training-container {
		max-width: 100% !important;
		padding: 0 5% !important;
	}

}

@media (max-width: 600px) {
	.oma-training-card-grid { grid-template-columns: 1fr !important; gap: 20px; }
}

@media screen and (min-width: 650px) and (max-width: 899px) {

	.oma-session-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

}

/* ── 1200px ───────────────────────────────────────────── */
@media (max-width: 1200px) {
	.oma-single-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 32px; }
	.oma-session-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.oma-training-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}

/* ── 1024px ───────────────────────────────────────────── */
@media (max-width: 1024px) {
	.oma-checkout-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 28px; }
}

/* ── 900px: stack everything ─────────────────────────── */
@media (max-width: 900px) {
	.oma-single-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
	.oma-single-sidebar { order: 2; margin-top: 32px; }
	.oma-single-main { order: 1; }

	.oma-session-card-grid { grid-template-columns: 1fr; }
	.oma-agenda-session-cards { grid-template-columns: 1fr; }
	.oma-agenda-wrap { max-width: 100%; }

	.oma-checkout-layout { grid-template-columns: minmax(0,1fr); }
	.oma-checkout-sidebar { order: -1; }

	.oma-training-container { padding: 32px 20px; }
	.oma-training-card-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}

/* ── 768px ────────────────────────────────────────────── */
@media (max-width: 768px) {
	.oma-form-row--half { grid-template-columns: 1fr; gap: 10px; }
	.oma-checkout-section-title { font-size: 18px; }
	.oma-tab-button { font-size: 15px; padding: 9px 15px; }
	/* session day title needs less padding-right on smaller screens */
	.oma-session-tl-date { font-size: 14px; }
}

/* ── 640px: mobile ────────────────────────────────────── */
@media (max-width: 640px) {
	.oma-training-container { padding: 16px; }

	/* Search: stack */
	.oma-training-search-form { flex-direction: column; }
	.oma-training-search-field {
		border-right: 2px solid #05444f; border-radius: 12px; padding: 0 16px; min-height: 52px;
	}
	.oma-training-search-btn {
		position: static; border-radius: 12px; padding: 14px; width: 100%;
		justify-content: center; border-left: 2px solid #05444f; font-size: 15px;
	}

	/* Filter pills: scroll */
	.oma-training-filters {
		flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
		padding-bottom: 6px; gap: 8px;
	}
	.oma-filter-pill { flex-shrink: 0; font-size: 13px; padding: 7px 14px; }

	/* Cards */
	.oma-training-card h3 { font-size: 18px; }
	.oma-training-card-content { padding: 14px 16px 18px; }
	.oma-training-card-label { font-size: 14px; }
	.oma-training-card-image img,
	.oma-training-card-image .oma-training-placeholder { height: 180px; }

	/* Tabs: horizontal scroll, no wrap */
	.oma-training-tabs-nav {
		flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
		padding-bottom: 6px; margin-bottom: 20px;
		scrollbar-width: none;
	}
	.oma-training-tabs-nav::-webkit-scrollbar { display: none; }
	.oma-tab-button { font-size: 14px; padding: 8px 14px; gap: 5px; }
	.oma-tab-button i { display: none; }

	/* Programma sub-tabs: scroll */
	.oma-prog-subtabs-nav {
		flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
		padding-bottom: 4px; scrollbar-width: none;
	}
	.oma-prog-subtabs-nav::-webkit-scrollbar { display: none; }
	.oma-prog-subtab { font-size: 15px; padding: 7px 14px; }

	/* Session cards */
	.oma-session-card-grid { grid-template-columns: 1fr; gap: 14px; }
	.oma-session-card-header-title { font-size: 14px; }
	.oma-session-tl-date { font-size: 14px; }
	.oma-session-meta-item { font-size: 13px; }
	.oma-session-button { font-size: 15px; padding: 10px 16px; }

	/* Location filter */
	.oma-location-filter-form { flex-direction: column; align-items: flex-start; gap: 8px; }
	.oma-location-filter-form select { min-width: 0; width: 100%; }

	/* No sessions */
	.oma-no-sessions-notice { flex-direction: column; gap: 12px; padding: 18px; }
	.oma-no-sessions-icon { font-size: 24px; }

	/* Sidebar */
	.oma-single-sidebar { gap: 12px; margin-top: 24px; }
	.oma-sidebar-block { padding: 16px; }
	.oma-sidebar-block-title { font-size: 18px; }

	/* Pills */
	.oma-training-pills { gap: 6px; }
	.oma-training-pill { font-size: 13px; padding: 6px 12px; }

	/* Breadcrumbs */
	.oma-breadcrumbs { font-size: 12px; gap: 4px; margin-bottom: 14px; }

	/* Notice */
	.oma-training-notice { flex-direction: column; gap: 6px; padding: 14px 16px; font-size: 14px; }
	.oma-notice-icon { font-size: 18px; }

	/* Checkout */
	.oma-checkout-type-tabs { flex-direction: column; gap: 8px; }
	.oma-checkout-type-tab { flex-direction: row; align-items: center; gap: 12px; padding: 12px 16px; }
	.oma-checkout-type-tab small { display: none; }
	.oma-checkout-section-title { font-size: 17px; margin: 18px 0 12px; }
	.oma-address-grid { grid-template-columns: 1fr; }
	.oma-addr-straat, .oma-addr-huisnummer,
	.oma-addr-postcode, .oma-addr-stad { grid-column: 1; grid-row: auto; }
	.oma-alt-invoice-address .oma-address-grid { grid-template-columns: 1fr; }
	.oma-checkout-submit-btn { width: 100%; justify-content: center; font-size: 15px; padding: 13px 20px; }
	.oma-checkout-summary-title { font-size: 18px; }
	.oma-checkout-summary-img img { height: 150px; }
	.oma-extra-attendees-block { padding: 12px; }
	.oma-popup-box { padding: 20px; }
	.oma-popup-fields .oma-form-row--half { grid-template-columns: 1fr; }
	.oma-popup-actions { flex-direction: column; }
	.oma-popup-cancel-btn, .oma-popup-add-btn { width: 100%; justify-content: center; }

	/* Agenda */
	.oma-agenda-calendar { padding: 14px 10px 12px; border-radius: 12px; }
	.oma-agenda-day { padding: 3px 1px 4px; min-height: 36px; }
	.oma-agenda-day-num { font-size: 12px; width: 26px; height: 26px; }
	.oma-agenda-weekday { font-size: 9px; padding-bottom: 6px; }
	.oma-agenda-month-label { font-size: 14px; }
	.oma-agenda-day-heading { font-size: 17px; }
	.oma-agenda-tarieven-btn { font-size: 17px; padding: 11px 16px; }
	.oma-agenda-banner { padding: 14px 16px; }
	.oma-agenda-banner-inner { flex-direction: column; gap: 8px; }
	.oma-agenda-banner-icon { font-size: 22px; }
	.oma-agenda-banner-title { font-size: 15px; }

	/* Hero */
	.oma-training-hero { padding: 32px 16px; }
}

/* ── 400px: tiny phones ───────────────────────────────── */
@media (max-width: 400px) {
	.oma-tab-button { font-size: 12px; padding: 7px 10px; }
	.oma-session-card-header-title { font-size: 13px; }
	.oma-session-tl-date { font-size: 13px; }
	.oma-checkout-summary-price-value { font-size: 18px; }
	.oma-agenda-day-num { font-size: 11px; width: 24px; height: 24px; }
	.oma-training-card h3 { font-size: 17px; }
	.oma-sidebar-block-title { font-size: 16px; }
	.oma-agenda-tarieven-btn { font-size: 15px; }
}

/* ═══════════════════════════════════════════════════
   THANK YOU PAGE  (.oma-thankyou-*)
═══════════════════════════════════════════════════ */
.oma-thankyou-wrap {
	max-width: 680px;
	margin: 48px auto;
	padding: 0 20px 60px;
	text-align: center;
	font-family: inherit;
}
.oma-thankyou-icon {
	font-size: 56px;
	margin-bottom: 16px;
	line-height: 1;
}
.oma-thankyou-title {
	font-size: 30px;
	font-weight: 800;
	color: #05444f;
	margin: 0 0 12px;
	line-height: 1.2;
}
.oma-thankyou-intro {
	font-size: 16px;
	color: #4a5568;
	line-height: 1.7;
	margin: 0 0 36px;
}

/* Summary card */
.oma-thankyou-summary {
	background: #fff;
	border: 1px solid #e0ebe8;
	border-radius: 14px;
	overflow: hidden;
	margin: 0 auto 36px;
	max-width: 560px;
	text-align: left;
	box-shadow: 0 2px 12px rgba(5,68,79,.07);
}
.oma-thankyou-summary-img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}
.oma-thankyou-summary-body {
	padding: 22px 24px;
}
.oma-thankyou-summary-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: #05444f;
	margin-bottom: 4px;
}
.oma-thankyou-summary-title {
	font-size: 20px;
	font-weight: 800;
	color: #1a2e33;
	margin: 0 0 16px;
}

/* Date rows inside summary */
/* Timeline date display */
.oma-thankyou-timeline {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 16px;
	padding-left: 12px;
	border-left: 2px solid #c8e6df;
}
.oma-thankyou-timeline-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	position: relative;
	padding-bottom: 20px;
}
.oma-thankyou-timeline-item:last-child {
	padding-bottom: 0;
}
.oma-thankyou-timeline-dot {
	width: 12px;
	height: 12px;
	min-width: 12px;
	background: #05444f;
	border-radius: 50%;
	margin-top: 4px;
	margin-left: -19px;
	border: 2px solid #fff;
	box-shadow: 0 0 0 2px #05444f;
}
.oma-thankyou-timeline-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.oma-thankyou-timeline-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #e8f5f0;
	color: #05444f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 3px 10px;
	border-radius: 999px;
	text-transform: uppercase;
	width: fit-content;
	margin-bottom: 2px;
}
.oma-thankyou-timeline-date {
	font-size: 16px;
	font-weight: 700;
	color: #1a2e33;
	line-height: 1.3;
}
.oma-thankyou-timeline-meta {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	color: #65748a;
}
.oma-thankyou-timeline-meta i {
	color: #05444f;
	font-size: 12px;
}
.oma-thankyou-timeline-loc {
	color: #05444f;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.oma-thankyou-timeline-loc:hover { opacity: .8; }

/* Action buttons */
.oma-thankyou-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
}
.oma-thankyou-actions-main {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.oma-thankyou-actions-sub {
	display: flex;
	justify-content: center;
}
.oma-thankyou-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: opacity .15s, transform .15s;
	white-space: nowrap;
	border: none;
	cursor: pointer;
}
.oma-thankyou-btn:hover { opacity: .88; transform: translateY(-1px); }
.oma-thankyou-btn--primary {
	background: #05444f;
	color: #fff;
}
.oma-thankyou-btn--secondary {
	background: #e8f5f0;
	color: #05444f;
}
.oma-thankyou-btn--ghost {
	background: transparent;
	color: #65748a;
	font-size: 13px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 8px;
}
.oma-thankyou-btn--ghost:hover { background: #f5f8f8; opacity: 1; transform: none; }

@media (max-width: 480px) {
	.oma-thankyou-title { font-size: 22px; }
	.oma-thankyou-btn { width: 100%; justify-content: center; font-size: 14px; padding: 12px 18px; }
	.oma-thankyou-actions-main { flex-direction: column; width: 100%; }
	.oma-thankyou-actions-sub { width: 100%; }
}

/* ═══ Varianten (v3.20.0) ═══ */
.oma-training-card-variants { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.oma-training-card-variant {
	display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px;
	background: #f6f4ee; border: 1px solid #e2e7e6; color: #05444f !important;
	font-size: 13px; font-weight: 600; text-decoration: none !important; transition: border-color .15s, background .15s;
}
.oma-training-card-variant:hover { border-color: #05444f; background: #fff; }
.oma-session-filters { display: flex; flex-wrap: wrap; gap: 0 28px; }
@media (max-width: 680px) {
	.oma-session-filters { display: block; }
}
