/* Momenten - frontend stijl. Alles onder .mmt- zodat het niet botst met het thema. */

.mmt-root {
	--mmt-accent: #6d84a8;
	--mmt-tekst: #3d3530;
	--mmt-bg: #fdf9f4;
	--mmt-zacht: #6b6460;
	--mmt-flauw: #a09890;
	--mmt-radius: 20px;
	--mmt-kaart-bg: #ffffff;
	max-width: 40rem;
	margin: 0 auto;
	padding: 1rem;
	background: var(--mmt-bg);
	border-radius: var(--mmt-radius);
	box-sizing: border-box;
	font-family: inherit;
	color: var(--mmt-tekst);
	line-height: 1.6;
}
.mmt-root *,
.mmt-root *::before,
.mmt-root *::after {
	box-sizing: border-box;
}

/* Kop: logo naast de stappenbalk */
.mmt-kop {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}
.mmt-logo {
	max-height: var(--mmt-logo-h, 120px);
	width: auto;
	flex-shrink: 0;
}
/* Logo dat iets buiten de rand uitsteekt (linksboven). */
.mmt-kop.uitsteken {
	overflow: visible;
}
.mmt-kop.uitsteken .mmt-logo {
	margin-left: -1.75rem;
	margin-top: -1.25rem;
}

/* Stappenbalk */
.mmt-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
	margin: 0;
}
/* Met een logo ernaast staan de tabs compact naast het logo (zoals origineel). */
.mmt-kop.met-logo .mmt-tabs {
	justify-content: flex-start;
}
/* Scoped + belangrijk zodat het Divi-thema de knopjes niet overschrijft. */
.mmt-root .mmt-tab {
	-webkit-appearance: none;
	appearance: none;
	border: none !important;
	cursor: pointer;
	font-size: 0.95rem !important;
	font-weight: 500;
	font-family: inherit;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: normal;
	padding: 0.5rem 1rem !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.7) !important;
	color: var(--mmt-flauw) !important;
	transition: all 0.15s ease;
}
.mmt-root .mmt-tab.actief {
	background: var(--mmt-accent) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Kaart. Hoogte volgt gewoon de inhoud (geen gedwongen vaste hoogte). */
.mmt-kaart {
	background: var(--mmt-kaart-bg);
	border-radius: var(--mmt-radius);
	padding: 1.4rem 1.5rem;
	box-shadow: 0 2px 24px rgba(0, 0, 0, 0.08);
}
.mmt-titel {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0 0 0.75rem;
	color: var(--mmt-tekst);
	line-height: 1.25;
}
.mmt-lead {
	font-size: 1.15rem;
	font-weight: 500;
	margin: 0 0 0.75rem;
	color: var(--mmt-tekst);
}
.mmt-tekst {
	font-size: 0.95rem;
	margin: 0 0 0.75rem;
	color: var(--mmt-zacht);
}
.mmt-moment-label {
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mmt-flauw);
	margin: 0 0 0.35rem;
}

/* Oefening: subtiel accent, een dunne lijn langs de bovenkant, geen grijs kader. */
.mmt-oefening {
	background: transparent;
	border-top: 1px solid var(--mmt-accent);
	border-radius: 0;
	padding: 0.85rem 0 0.15rem;
	margin: 1.25rem 0;
}
.mmt-oefening-titel {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--mmt-accent);
	margin: 0 0 0.4rem;
}
.mmt-oefening-tekst {
	font-size: 0.9rem;
	margin: 0 0 0.4rem;
	color: var(--mmt-zacht);
}

/* Vraag + invoer */
.mmt-vraag {
	font-size: 0.95rem;
	font-weight: 600;
	margin: 1rem 0 0.5rem;
	color: var(--mmt-tekst);
}
/* Scoped + belangrijk zodat Divi de invoervelden niet tot een dun gek randje maakt. */
.mmt-root .mmt-invoer {
	width: 100%;
	padding: 0.75rem 1rem !important;
	border-radius: 0.75rem !important;
	border: 1px solid rgba(0, 0, 0, 0.12) !important;
	background: #fff !important;
	box-shadow: none !important;
	font-size: 0.95rem;
	font-family: inherit;
	color: var(--mmt-tekst);
	line-height: 1.5;
	resize: vertical;
	margin-bottom: 0.6rem;
	-webkit-appearance: none;
	appearance: none;
}
.mmt-root .mmt-invoer:focus {
	outline: none;
	border-color: var(--mmt-accent) !important;
}
.mmt-root textarea.mmt-invoer {
	line-height: 1.5;
	min-height: 150px;
}

/* Inspreken */
.mmt-mic {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	border: none;
	cursor: pointer;
	font-size: 0.78rem;
	font-weight: 500;
	padding: 0.4rem 0.8rem;
	border-radius: 999px;
	background: rgba(109, 132, 168, 0.12);
	color: var(--mmt-accent);
}
.mmt-mic.opnemen {
	background: rgba(220, 53, 69, 0.1);
	color: #dc3545;
}

/* Overzicht op het bewaarscherm */
.mmt-overzicht {
	margin: 1rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.mmt-overzicht-rij {
	background: rgba(0, 0, 0, 0.03);
	border-radius: 0.6rem;
	padding: 0.6rem 0.9rem;
}
.mmt-overzicht-label {
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--mmt-flauw);
	margin: 0 0 0.2rem;
}
.mmt-overzicht-tekst {
	font-size: 0.8rem;
	color: var(--mmt-zacht);
	margin: 0;
}

/* Honeypot verbergen */
.mmt-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.mmt-hint {
	font-size: 0.75rem;
	color: var(--mmt-flauw);
	margin: 0 0 0.6rem;
	transition: all 0.15s ease;
}
.mmt-hint.bevestig {
	color: #92400e;
	font-weight: 600;
	background: #fef3c7;
	padding: 0.55rem 0.75rem;
	border-radius: 0.5rem;
}
.mmt-fout {
	font-size: 0.8rem;
	color: #c0392b;
	margin: 0 0 0.6rem;
}

/* Grote knop */
.mmt-knop {
	width: 100%;
	border: none;
	cursor: pointer;
	padding: 0.9rem;
	border-radius: 0.9rem;
	font-size: 0.95rem;
	font-weight: 500;
	color: #fff;
	background: var(--mmt-accent);
	margin-top: 0.25rem;
}
.mmt-knop:disabled {
	opacity: 0.5;
	cursor: default;
}
.mmt-privacy {
	text-align: center;
	font-size: 0.72rem;
	color: var(--mmt-flauw);
	margin: 0.6rem 0 0;
}

/* Onderaan: vorige / volgende */
.mmt-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 1rem;
	padding: 0 0.25rem;
}
.mmt-nav-knop {
	border: none;
	cursor: pointer;
	font-size: 0.85rem;
	font-weight: 500;
	padding: 0.5rem 0.9rem;
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.7);
	color: var(--mmt-accent);
}
.mmt-nav-knop:disabled {
	opacity: 0;
	cursor: default;
}
.mmt-nav-teller {
	font-size: 0.75rem;
	color: var(--mmt-flauw);
}

/* Meerkeuze-opties */
.mmt-opties {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0.25rem 0 0.5rem;
}
.mmt-optie {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	padding: 0.7rem 0.9rem;
	border-radius: 0.65rem;
	border: 1px solid rgba(0, 0, 0, 0.1);
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.mmt-optie:hover {
	border-color: var(--mmt-accent);
}
.mmt-optie input {
	margin-top: 0.15rem;
	accent-color: var(--mmt-accent);
	flex-shrink: 0;
}
.mmt-optie-tekst {
	font-size: 0.92rem;
	color: var(--mmt-tekst);
	line-height: 1.4;
}
/* "Anders, namelijk..." krijgt hetzelfde kaartje als de keuze-opties erboven. */
.mmt-root .mmt-anders {
	margin-top: 0.6rem;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	border-radius: 0.65rem !important;
	padding: 0.7rem 0.9rem !important;
}

/* Kleine, ingetogen "Powered by"-link, onder het kader. */
.mmt-branding {
	text-align: center;
	margin: 0.6rem auto 0;
	max-width: 40rem;
}
.mmt-branding a {
	font-size: 0.68rem;
	color: #9a948c;
	text-decoration: none;
	opacity: 0.8;
	transition: opacity 0.15s ease;
}
.mmt-branding a:hover {
	opacity: 1;
	text-decoration: underline;
}

@media (max-width: 480px) {
	.mmt-kaart { padding: 1.25rem; }
	.mmt-titel { font-size: 1.3rem; }
}

/* ---------- Pop-up ---------- */
.mmt-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.28s ease;
	-webkit-overflow-scrolling: touch;
}
.mmt-overlay.open {
	opacity: 1;
}

/* Modal: erft het thema van .mmt-root, maar met eigen afmetingen. */
.mmt-modal {
	position: relative;
	max-width: 460px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	margin: 0;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
	transition: transform 0.3s ease, opacity 0.3s ease;
	opacity: 0;
}
/* Infaden: zacht omhoog. */
.mmt-overlay.animatie-fade .mmt-modal {
	transform: translateY(14px);
}
/* In het midden opkomen: opschalen met een klein veertje. */
.mmt-overlay.animatie-pop .mmt-modal {
	transform: scale(0.88);
	transition: transform 0.32s cubic-bezier(0.2, 0.9, 0.3, 1.25), opacity 0.28s ease;
}
.mmt-overlay.open .mmt-modal {
	opacity: 1;
	transform: none;
}

.mmt-sluit {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.06);
	color: var(--mmt-zacht);
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
.mmt-sluit:hover {
	background: rgba(0, 0, 0, 0.12);
}

/* Uitnodiging in de pop-up */
.mmt-uitnodiging {
	text-align: center;
	padding: 0.5rem 0.5rem 0.25rem;
}
.mmt-popup-img {
	display: block;
	width: 100%;
	max-height: 200px;
	object-fit: cover;
	border-radius: calc(var(--mmt-radius) - 4px);
	margin: 0 0 1.1rem;
}
.mmt-popup-titel {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--mmt-tekst);
	margin: 0 0 0.6rem;
}
.mmt-popup-tekst {
	font-size: 0.97rem;
	line-height: 1.6;
	color: var(--mmt-zacht);
	margin: 0 0 0.8rem;
}
.mmt-uitnodiging .mmt-knop {
	margin-top: 0.5rem;
}
.mmt-later {
	display: block;
	margin: 0.75rem auto 0.25rem;
	border: none;
	background: none;
	color: var(--mmt-flauw);
	font-size: 0.8rem;
	cursor: pointer;
}
.mmt-later:hover {
	color: var(--mmt-zacht);
}

/* Afbeelding: vullend (bijsnijden) of passend (volledig tonen). */
.mmt-popup-img.passend {
	width: auto;
	max-width: 100%;
	max-height: 150px;
	margin-left: auto;
	margin-right: auto;
}

/* Compact kaartje rechtsonder (bij infaden). */
.mmt-uitnodiging.compact .mmt-popup-titel { font-size: 1.2rem; }
.mmt-uitnodiging.compact .mmt-popup-tekst { font-size: 0.9rem; }
.mmt-uitnodiging.compact .mmt-popup-img { max-height: 130px; }

.mmt-toast {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 99999;
	width: 340px;
	max-width: calc(100vw - 2rem);
	max-height: 82vh;
	overflow-y: auto;
	margin: 0;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.26);
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.1);
}
.mmt-toast.open {
	opacity: 1;
	transform: none;
}

/* Op mobiel schuift het kaartje van onderen in, over de volle breedte. */
@media (max-width: 560px) {
	.mmt-toast {
		right: 0;
		left: 0;
		bottom: 0;
		width: auto;
		max-width: none;
		max-height: 88vh;
		border-radius: var(--mmt-radius) var(--mmt-radius) 0 0;
		transform: translateY(100%);
	}
	.mmt-toast.open { transform: none; }
}
