/* Footer icon-list alignment (bestaande fix) */
.elementor-icon-list-items .elementor-icon-list-item {
	position: relative;
}

.elementor-icon-list-items .elementor-icon-list-icon {
	position: absolute;
	top: 6px;
	left: 0;
}

.elementor-icon-list-items .elementor-icon-list-text {
	margin-left: 27px;
}

/* Boeking-flow: voorkom clipping in Elementor-parents (niet op klantenportaal) */
.amelia-v2-booking #amelia-container.am-fs__wrapper,
.amelia-v2-booking #amelia-container .am-dialog,
.amelia-v2-booking .elementor-widget-catalogbooking,
.amelia-v2-booking .elementor-widget-catalogbooking > .elementor-widget-container {
	overflow: visible !important;
}

.amelia-v2-booking .elementor-element.elementor-widget-catalogbooking {
	overflow: visible !important;
	min-height: 0 !important;
}

.amelia-v2-booking #amelia-container .am-dialog__inner,
.amelia-v2-booking #amelia-container .am-dialog-slide {
	max-width: 100%;
	overflow-x: hidden;
}

.amelia-v2-booking .elementor-element.elementor-widget-ameliacustomerpanel,
.amelia-v2-booking .elementor-widget-ameliacustomerpanel,
.amelia-v2-booking .elementor-widget-ameliacustomerpanel > .elementor-widget-container {
	overflow: visible !important;
}

.amelia-v2-booking .elementor-element.elementor-widget-ameliacustomerpanel {
	min-height: 0 !important;
}

/* Klantenportaal mobiel: volledige hoogte + menu binnen #amelia-container */
@media (max-width: 767px) {
	.amelia-v2-booking .elementor-widget-ameliacustomerpanel > .elementor-widget-container {
		min-height: calc(100dvh - 32px);
		min-height: calc(100svh - 32px);
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper:not(.am-auth) {
		position: relative;
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: 100%;
		height: calc(100dvh - 32px);
		height: calc(100svh - 32px);
		min-height: 560px;
		margin: 16px auto;
		border-radius: 8px;
		box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12);
		overflow: hidden;
		isolation: isolate;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main {
		flex: 1 1 auto;
		min-height: 0;
		max-width: 100%;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-inner {
		flex: 1 1 auto;
		min-height: 0;
		height: 100%;
		display: flex;
		flex-direction: column;
		overflow: hidden;
		position: static;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-content,
	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-content.am-cap,
	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-content.am-capi,
	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-content.am-caep,
	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-content.am-cap.am-capa-main,
	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-fs__main-content.am-cap.am-capai-main {
		flex: 1 1 auto;
		min-height: 0;
		height: auto !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Header + menu-knop altijd bereikbaar (ook op Pakketten) */
	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-caph__main {
		position: sticky;
		top: 0;
		z-index: 120;
		flex-shrink: 0;
		background-color: var(--am-c-main-bgr, #fff);
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper .am-caph__menu {
		position: relative;
		z-index: 121;
		pointer-events: auto;
	}

	/* Menu-overlay binnen het paneel (JS verplaatst popup naar #amelia-container) */
	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open > .am-slide-popup__block {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		z-index: 200 !important;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open > .am-slide-popup__block .am-slide-popup__block-inner,
	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open > .am-slide-popup__block .am-msd.am-slide-popup__block-inner {
		position: absolute !important;
		top: 0 !important;
		bottom: 0 !important;
		max-height: 100% !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 201 !important;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open > .am-slide-popup__block .am-slide-popup__block-inner.am-position-right {
		right: 0 !important;
		left: auto !important;
		width: min(var(--am-mw-msd, 240px), 100%) !important;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open > .am-slide-popup__block .am-slide-popup__block-inner.am-position-left {
		left: 0 !important;
		right: auto !important;
		width: min(var(--am-mw-msd, 240px), 100%) !important;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open .am-fs__main,
	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open .am-fs__main-content,
	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open .am-capf {
		z-index: 1;
	}

	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open .am-fs__main .el-input__wrapper,
	.amelia-v2-booking #amelia-container.am-cap__wrapper.aqualand-cap-menu-open .am-fs__main .el-date-editor {
		z-index: auto !important;
	}
}

/* Klantenportaal sidebar/menu */
.amelia-v2-booking #amelia-container .am-caph__menu {
	color: var(--am-c-caph-text);
}

.amelia-v2-booking #amelia-container .am-caph {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* iOS: veld in beeld houden bij focus + toetsenbord */
@supports (-webkit-touch-callout: none) {
	.amelia-v2-booking #amelia-container input:focus,
	.amelia-v2-booking #amelia-container textarea:focus,
	.amelia-v2-booking #amelia-container select:focus {
		scroll-margin-bottom: 45vh;
	}
}

/* Smalle schermen: voornaam/achternaam onder elkaar */
@media (max-width: 520px) {
	.amelia-v2-booking #amelia-container .am-fs__main-form .el-row {
		flex-direction: column;
	}

	.amelia-v2-booking #amelia-container .am-fs__main-form .el-col {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
}

/* Betaling / gefeliciteerd: knoppen stapelen */
@media (max-width: 640px) {
	.amelia-v2-booking #amelia-container .am-dialog__footer,
	.amelia-v2-booking #amelia-container .am-fs__footer,
	.amelia-v2-booking #amelia-container .am-dialog__footer-inner,
	.amelia-v2-booking #amelia-container [class*='congratulations'] .am-btn-group {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px;
	}

	.amelia-v2-booking #amelia-container .am-dialog__footer .am-button,
	.amelia-v2-booking #amelia-container .am-fs__footer .am-button,
	.amelia-v2-booking #amelia-container .am-dialog__footer .el-button {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Extra ruimte onder boekingsdialoog op mobiel (niet klantenportaal) */
@media (max-width: 767px) {
	.amelia-v2-booking #amelia-container.am-fs__wrapper .am-dialog__body,
	.amelia-v2-booking #amelia-container.am-fs__wrapper .am-fs__main {
		padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
	}
}
