/*
|--------------------------------------------------------------------------
| Elementor Wrapper Protection — Phase 2
|--------------------------------------------------------------------------
*/

.elementor-widget-dme-model-slider {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-inline-size: 0;
	box-sizing: border-box;
}

.elementor-widget-dme-model-slider > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-inline-size: 0;
	box-sizing: border-box;
}

/*
|--------------------------------------------------------------------------
| DME Model Slider — Skin Engine
|--------------------------------------------------------------------------
*/

.dme-model-slider {
	/*
	 * Safe fallback = Bronze Luxe.
	 */

	--dme-slider-bg: #2a1b16;
	--dme-slider-active: #f8f3ee;
	--dme-slider-active-text: #2a1b16;

	--dme-slider-text: #f8f3ee;
	--dme-slider-muted: rgba(248, 243, 238, 0.74);

	--dme-slider-accent: #b47a63;
	--dme-slider-soft: #e4c6b8;
	--dme-slider-border: rgba(228, 198, 184, 0.34);

	--dme-slider-cta-bg: #e4c6b8;
	--dme-slider-cta-text: #2a1b16;

	--dme-slider-overlay: #2a1b16;
	--dme-slider-overlay-opacity: 0.12;

	--dme-slider-height: 720px;
	--dme-slider-image-width: 57%;

	--dme-slider-bg-size: cover;
	--dme-slider-bg-position: center center;
	--dme-slider-bg-repeat: no-repeat;

	--dme-slider-image-opacity: 1;

	--dme-slider-brightness: 100%;
	--dme-slider-contrast: 100%;
	--dme-slider-saturation: 100%;
	--dme-slider-grayscale: 0%;

	--dme-slider-content-y: 50%;
	--dme-slider-header-offset: 84px;

	position: relative;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	height:
		var(--dme-slider-height);

	min-height: 520px;

	overflow: hidden;

	border-radius: 30px;

	background:
		var(--dme-slider-bg);

	color:
		var(--dme-slider-text);

	font-family:
		var(
			--dme-body-font,
			Poppins,
			sans-serif
		);

	isolation: isolate;
}


/*
|--------------------------------------------------------------------------
| Bronze Luxe
|--------------------------------------------------------------------------
*/

.dme-model-slider.dme-slider-skin--bronze {
	--dme-slider-bg: #2a1b16;

	--dme-slider-active: #f8f3ee;
	--dme-slider-active-text: #2a1b16;

	--dme-slider-text: #f8f3ee;
	--dme-slider-muted: rgba(248, 243, 238, 0.74);

	--dme-slider-accent: #b47a63;
	--dme-slider-soft: #e4c6b8;

	--dme-slider-border: rgba(228, 198, 184, 0.34);

	--dme-slider-cta-bg: #e4c6b8;
	--dme-slider-cta-text: #2a1b16;

	--dme-slider-overlay: #2a1b16;
}


/*
|--------------------------------------------------------------------------
| Forest Luxe
|--------------------------------------------------------------------------
*/

.dme-model-slider.dme-slider-skin--forest {
	--dme-slider-bg: #143526;

	--dme-slider-active: #f8f3ee;
	--dme-slider-active-text: #143526;

	--dme-slider-text: #f8f3ee;
	--dme-slider-muted: rgba(248, 243, 238, 0.76);

	--dme-slider-accent: #b47a63;
	--dme-slider-soft: #e4c6b8;

	--dme-slider-border: rgba(248, 243, 238, 0.24);

	--dme-slider-cta-bg: #e4c6b8;
	--dme-slider-cta-text: #2a1b16;

	--dme-slider-overlay: #143526;
}


/*
|--------------------------------------------------------------------------
| Inherit Site Theme
|--------------------------------------------------------------------------
*/

.dme-model-slider.dme-slider-skin--theme {
	--dme-slider-bg:
		var(
			--e-global-color-primary,
			#143526
		);

	--dme-slider-active:
		var(
			--e-global-color-secondary,
			#f8f3ee
		);

	--dme-slider-active-text:
		var(
			--e-global-color-primary,
			#143526
		);

	--dme-slider-text:
		var(
			--e-global-color-secondary,
			#f8f3ee
		);

	--dme-slider-muted:
		var(
			--e-global-color-text,
			rgba(248, 243, 238, 0.76)
		);

	--dme-slider-accent:
		var(
			--e-global-color-accent,
			#b47a63
		);

	--dme-slider-soft:
		var(
			--e-global-color-secondary,
			#e4c6b8
		);

	--dme-slider-border:
		var(
			--e-global-color-accent,
			#b47a63
		);

	--dme-slider-cta-bg:
		var(
			--e-global-color-accent,
			#e4c6b8
		);

	--dme-slider-cta-text:
		var(
			--e-global-color-primary,
			#143526
		);

	--dme-slider-overlay:
		var(
			--e-global-color-primary,
			#143526
		);

	--dme-display-font:
		var(
			--e-global-typography-primary-font-family,
			inherit
		);

	--dme-body-font:
		var(
			--e-global-typography-text-font-family,
			inherit
		);
}


/*
|--------------------------------------------------------------------------
| Custom
|--------------------------------------------------------------------------
*/

.dme-model-slider.dme-slider-skin--custom {
	--dme-slider-bg:
		var(
			--dme-skin-primary,
			#2a1b16
		);

	--dme-slider-active:
		var(
			--dme-skin-surface,
			#f8f3ee
		);

	--dme-slider-active-text:
		var(
			--dme-skin-primary,
			#2a1b16
		);

	--dme-slider-text:
		var(
			--dme-skin-text,
			#f8f3ee
		);

	--dme-slider-muted:
		var(
			--dme-skin-text,
			#f8f3ee
		);

	--dme-slider-accent:
		var(
			--dme-skin-accent,
			#b47a63
		);

	--dme-slider-soft:
		var(
			--dme-skin-soft,
			#e4c6b8
		);

	--dme-slider-border:
		var(
			--dme-skin-border,
			#b47a63
		);

	--dme-slider-cta-bg:
		var(
			--dme-skin-soft,
			#e4c6b8
		);

	--dme-slider-cta-text:
		var(
			--dme-skin-primary,
			#2a1b16
		);

	--dme-slider-overlay:
		var(
			--dme-skin-primary,
			#2a1b16
		);
}


/*
|--------------------------------------------------------------------------
| Full Width
|--------------------------------------------------------------------------
*/

.dme-model-slider--fullwidth {
	border-radius: 0;
}


/*
|--------------------------------------------------------------------------
| Full Bleed
|--------------------------------------------------------------------------
*/

.dme-model-slider--full-bleed {
	width: 100vw;
	max-width: 100vw;

	margin-left:
		calc(
			50% -
			50vw
		);

	margin-right:
		calc(
			50% -
			50vw
		);

	border-radius: 0;
}


/*
|--------------------------------------------------------------------------
| Full Screen
|--------------------------------------------------------------------------
*/

.dme-model-slider--fullscreen {
	height: 100vh;
	height: 100svh;
	height: 100dvh;

	min-height: 100vh;
	min-height: 100svh;

	border-radius: 0;
}


.dme-model-slider--fullscreen
.dme-model-slider__visual {
	height: 100%;
}


/*
|--------------------------------------------------------------------------
| Full Screen Below Header
|--------------------------------------------------------------------------
*/

.dme-model-slider--fullscreen.dme-model-slider--below-header {
	height:
		calc(
			100vh -
			var(--dme-slider-header-offset)
		);

	height:
		calc(
			100svh -
			var(--dme-slider-header-offset)
		);

	height:
		calc(
			100dvh -
			var(--dme-slider-header-offset)
		);

	min-height:
		calc(
			100vh -
			var(--dme-slider-header-offset)
		);
}


/*
|--------------------------------------------------------------------------
| Visual Layer
|--------------------------------------------------------------------------
*/

.dme-model-slider__visual {
	position: absolute;

	inset: 0;

	z-index: 0;

	overflow: hidden;

	pointer-events: none;
}


/*
|--------------------------------------------------------------------------
| Background Images
|--------------------------------------------------------------------------
*/

.dme-model-slider__bg {
	position: absolute;

	top: 0;
	bottom: 0;

	width:
		var(--dme-slider-image-width);

	opacity: 0;

	background-size:
		var(--dme-slider-bg-size);

	background-position:
		var(--dme-slider-bg-position);

	background-repeat:
		var(--dme-slider-bg-repeat);

	filter:
		brightness(
			var(--dme-slider-brightness)
		)
		contrast(
			var(--dme-slider-contrast)
		)
		saturate(
			var(--dme-slider-saturation)
		)
		grayscale(
			var(--dme-slider-grayscale)
		);

	transform:
		scale(1.015);

	transition:
		opacity 0.55s ease,
		transform 0.75s ease;

	will-change:
		opacity,
		transform;
}


.dme-model-slider__bg.is-active {
	opacity:
		var(--dme-slider-image-opacity);

	transform:
		scale(1);
}


/*
|--------------------------------------------------------------------------
| Image Area
|--------------------------------------------------------------------------
*/

.dme-model-slider--image-right
.dme-model-slider__bg {
	right: 0;
	left: auto;
}


.dme-model-slider--image-left
.dme-model-slider__bg {
	left: 0;
	right: auto;
}


.dme-model-slider--image-full
.dme-model-slider__bg {
	inset: 0;

	width: 100%;
}


/*
|--------------------------------------------------------------------------
| Overlay
|--------------------------------------------------------------------------
*/

.dme-model-slider__overlay {
	position: absolute;

	inset: 0;

	z-index: 2;

	background:
		var(--dme-slider-overlay);

	opacity:
		var(--dme-slider-overlay-opacity);
}


/*
|--------------------------------------------------------------------------
| Structural Gradient
|--------------------------------------------------------------------------
*/

.dme-model-slider__gradient {
	position: absolute;

	inset: 0;

	z-index: 3;

	background:
		linear-gradient(
			90deg,
			var(--dme-slider-bg) 0%,
			var(--dme-slider-bg) 26%,
			color-mix(
				in srgb,
				var(--dme-slider-bg) 88%,
				transparent
			) 44%,
			color-mix(
				in srgb,
				var(--dme-slider-bg) 32%,
				transparent
			) 66%,
			transparent 82%
		);
}


.dme-model-slider--image-left
.dme-model-slider__gradient {
	transform:
		scaleX(-1);
}


.dme-model-slider--image-full
.dme-model-slider__gradient {
	transform: none;

	background:
		linear-gradient(
			90deg,
			color-mix(
				in srgb,
				var(--dme-slider-bg) 96%,
				transparent
			) 0%,
			color-mix(
				in srgb,
				var(--dme-slider-bg) 84%,
				transparent
			) 36%,
			color-mix(
				in srgb,
				var(--dme-slider-bg) 26%,
				transparent
			) 74%,
			color-mix(
				in srgb,
				var(--dme-slider-bg) 38%,
				transparent
			) 100%
		);
}


/*
|--------------------------------------------------------------------------
| Bronze Gradient Refinement
|--------------------------------------------------------------------------
*/

.dme-model-slider.dme-slider-skin--bronze
.dme-model-slider__gradient {
	background:
		linear-gradient(
			90deg,
			#2a1b16 0%,
			#2a1b16 25%,
			rgba(42, 27, 22, 0.93) 42%,
			rgba(42, 27, 22, 0.46) 64%,
			rgba(42, 27, 22, 0) 82%
		);
}


.dme-model-slider.dme-slider-skin--bronze.dme-model-slider--image-left
.dme-model-slider__gradient {
	transform:
		scaleX(-1);
}


.dme-model-slider.dme-slider-skin--bronze.dme-model-slider--image-full
.dme-model-slider__gradient {
	transform: none;

	background:
		linear-gradient(
			90deg,
			rgba(42, 27, 22, 0.96) 0%,
			rgba(42, 27, 22, 0.82) 38%,
			rgba(42, 27, 22, 0.25) 74%,
			rgba(42, 27, 22, 0.38) 100%
		);
}


/*
|--------------------------------------------------------------------------
| Content Area
|--------------------------------------------------------------------------
*/

.dme-model-slider__content {
	position: absolute;

	z-index: 5;

	left:
		clamp(
			28px,
			6vw,
			92px
		);

	top:
		var(--dme-slider-content-y);

	transform:
		translateY(-50%);

	width:
		min(
			620px,
			47vw
		);

	min-width: 0;
}


.dme-model-slider--image-left
.dme-model-slider__content {
	left: auto;

	right:
		clamp(
			28px,
			6vw,
			92px
		);
}


/*
|--------------------------------------------------------------------------
| Active Metadata
|--------------------------------------------------------------------------
*/

.dme-model-slider__active-meta {
	min-height: 72px;

	margin-bottom: 19px;
}


.dme-model-slider__meta-panel {
	display: none;
}


.dme-model-slider__meta-panel.is-active {
	display: block;

	animation:
		dmeSliderMetaIn
		0.35s
		ease
		both;
}


@keyframes dmeSliderMetaIn {

	from {
		opacity: 0;

		transform:
			translateY(6px);
	}

	to {
		opacity: 1;

		transform:
			translateY(0);
	}
}


/*
|--------------------------------------------------------------------------
| Model Badges
|--------------------------------------------------------------------------
*/

.dme-model-slider
.dme-model-badges {
	position: static;

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	gap: 6px;

	margin:
		0
		0
		10px;

	pointer-events: auto;
}


/*
|--------------------------------------------------------------------------
| Availability
|--------------------------------------------------------------------------
*/

.dme-model-slider__availability {
	display: inline-flex;

	align-items: center;

	gap: 7px;

	min-height: 25px;

	padding:
		5px
		10px;

	border:
		1px solid
		var(--dme-slider-border);

	border-radius: 999px;

	background:
		color-mix(
			in srgb,
			var(--dme-slider-bg) 72%,
			transparent
		);

	color:
		var(--dme-slider-text);

	font-size: 9px;
	font-weight: 600;

	line-height: 1;

	letter-spacing: 0.11em;

	text-transform: uppercase;
}


.dme-model-slider__availability-dot {
	width: 6px;
	height: 6px;

	flex: 0 0 auto;

	border-radius: 50%;

	background:
		var(--dme-slider-accent);
}


/*
|--------------------------------------------------------------------------
| Signature
|--------------------------------------------------------------------------
*/

.dme-model-slider__signature {
	max-width: 480px;

	margin:
		10px
		0
		0;

	font-size: 13px;

	line-height: 1.55;

	color:
		var(--dme-slider-muted);
}


/*
|--------------------------------------------------------------------------
| Pandora Rows
|--------------------------------------------------------------------------
*/

.dme-model-slider__rows {
	display: grid;

	gap: 8px;

	min-width: 0;
}


.dme-model-slider__row {
	display: grid;

	grid-template-columns:
		30px
		minmax(40px, 100px)
		minmax(0, 1fr);

	align-items: center;

	gap: 12px;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	min-height: 56px;

	padding:
		10px
		16px;

	border:
		1px solid
		var(--dme-slider-border);

	border-radius: 999px;

	background: transparent;

	color:
		var(--dme-slider-text);

	font-family:
		var(
			--dme-body-font,
			Poppins,
			sans-serif
		);

	text-align: left;

	cursor: pointer;

	transition:
		background 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease;
}


.dme-model-slider__row:hover {
	border-color:
		var(--dme-slider-accent);

	transform:
		translateX(4px);
}


.dme-model-slider__row.is-active {
	background:
		var(--dme-slider-active);

	border-color:
		var(--dme-slider-active);

	color:
		var(--dme-slider-active-text);

	transform:
		translateX(0);
}


.dme-model-slider__number {
	font-size: 10px;
	font-weight: 600;

	letter-spacing:
		0.08em;
}


.dme-model-slider__line {
	display: block;

	height: 1px;

	background:
		currentColor;

	opacity:
		0.35;
}


.dme-model-slider__name {
	min-width: 0;

	font-family:
		var(
			--dme-display-font,
			Vidaloka,
			Georgia,
			serif
		);

	font-size:
		clamp(
			22px,
			2vw,
			34px
		);

	font-weight: 400;

	line-height: 1;

	white-space: nowrap;

	overflow: hidden;

	text-overflow: ellipsis;
}


/*
|--------------------------------------------------------------------------
| CTA
|--------------------------------------------------------------------------
*/

.dme-model-slider__profile-link,
.dme-model-slider__profile-link:link,
.dme-model-slider__profile-link:visited {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 42px;

	margin-top: 20px;

	padding:
		10px
		18px;

	border:
		1px solid
		color-mix(
			in srgb,
			var(--dme-slider-cta-bg) 74%,
			transparent
		);

	border-radius: 999px;

	background:
		var(--dme-slider-cta-bg);

	color:
		var(--dme-slider-cta-text) !important;

	font-size: 11px;
	font-weight: 500;

	line-height: 1;

	letter-spacing:
		0.05em;

	text-decoration: none !important;

	transition:
		background 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}


.dme-model-slider__profile-link:hover,
.dme-model-slider__profile-link:focus {
	background:
		var(--dme-slider-active);

	color:
		var(--dme-slider-active-text) !important;

	border-color:
		var(--dme-slider-active);

	transform:
		translateY(-1px);
}


/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width: 1024px) {

	.dme-model-slider__content {
		left: 36px;

		width:
			min(
				540px,
				54vw
			);
	}


	.dme-model-slider--image-left
	.dme-model-slider__content {
		left: auto;
		right: 36px;
	}


	.dme-model-slider__row {
		grid-template-columns:
			26px
			50px
			minmax(0, 1fr);
	}
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

	.dme-model-slider {
		min-height: 620px;

		border-radius: 0;
	}


	/*
	 * Mobile always gives the Model image the full visual canvas.
	 *
	 * Cover / Contain / Custom sizing and X/Y remain independently
	 * controlled through Elementor's Mobile settings.
	 */

	.dme-model-slider__bg,
	.dme-model-slider--image-right
	.dme-model-slider__bg,
	.dme-model-slider--image-left
	.dme-model-slider__bg,
	.dme-model-slider--image-full
	.dme-model-slider__bg {
		inset: 0;

		width: 100%;
	}


	.dme-model-slider__gradient,
	.dme-model-slider--image-left
	.dme-model-slider__gradient,
	.dme-model-slider--image-full
	.dme-model-slider__gradient {
		transform: none;

		background:
			linear-gradient(
				180deg,
				color-mix(
					in srgb,
					var(--dme-slider-bg) 5%,
					transparent
				) 0%,
				color-mix(
					in srgb,
					var(--dme-slider-bg) 12%,
					transparent
				) 30%,
				color-mix(
					in srgb,
					var(--dme-slider-bg) 70%,
					transparent
				) 59%,
				var(--dme-slider-bg) 100%
			);
	}


	.dme-model-slider.dme-slider-skin--bronze
	.dme-model-slider__gradient,
	.dme-model-slider.dme-slider-skin--bronze.dme-model-slider--image-left
	.dme-model-slider__gradient,
	.dme-model-slider.dme-slider-skin--bronze.dme-model-slider--image-full
	.dme-model-slider__gradient {
		transform: none;

		background:
			linear-gradient(
				180deg,
				rgba(42, 27, 22, 0.03) 0%,
				rgba(42, 27, 22, 0.12) 31%,
				rgba(42, 27, 22, 0.72) 60%,
				#2a1b16 100%
			);
	}


	.dme-model-slider__content,
	.dme-model-slider--image-left
	.dme-model-slider__content {
		left: 18px;
		right: 18px;

		top:
			var(--dme-slider-content-y);

		width: auto;

		min-width: 0;
	}


	.dme-model-slider__active-meta {
		min-height: 48px;

		margin-bottom: 10px;
	}


	.dme-model-slider__signature {
		display: none;
	}


	.dme-model-slider
	.dme-model-badges {
		gap: 4px;

		margin-bottom: 7px;
	}


	.dme-model-slider
	.dme-model-badge {
		min-height: 22px;

		padding:
			4px
			7px;

		font-size: 8px;
	}


	.dme-model-slider__availability {
		min-height: 22px;

		padding:
			4px
			8px;

		font-size: 8px;
	}


	.dme-model-slider__rows {
		gap: 6px;

		max-height: 260px;

		overflow-y: auto;

		overscroll-behavior: contain;

		scrollbar-width: none;
	}


	.dme-model-slider__rows::-webkit-scrollbar {
		display: none;
	}


	.dme-model-slider__row {
		grid-template-columns:
			22px
			36px
			minmax(0, 1fr);

		min-height: 44px;

		padding:
			7px
			12px;

		gap: 9px;
	}


	.dme-model-slider__row:hover {
		transform: none;
	}


	.dme-model-slider__name {
		font-size: 21px;
	}


	.dme-model-slider__profile-link,
	.dme-model-slider__profile-link:link,
	.dme-model-slider__profile-link:visited {
		min-height: 38px;

		margin-top: 13px;

		padding:
			9px
			14px;

		font-size: 10px;
	}
}


/*
|--------------------------------------------------------------------------
| Small Phones
|--------------------------------------------------------------------------
*/

@media (max-width: 390px) {

	.dme-model-slider__content,
	.dme-model-slider--image-left
	.dme-model-slider__content {
		left: 13px;
		right: 13px;
	}


	.dme-model-slider__row {
		grid-template-columns:
			18px
			24px
			minmax(0, 1fr);

		padding:
			7px
			10px;
	}


	.dme-model-slider__name {
		font-size: 18px;
	}
}


/*
|--------------------------------------------------------------------------
| Reduced Motion
|--------------------------------------------------------------------------
*/

@media (prefers-reduced-motion: reduce) {

	.dme-model-slider__bg,
	.dme-model-slider__row,
	.dme-model-slider__profile-link,
	.dme-model-slider__meta-panel {
		transition: none !important;

		animation: none !important;
	}
}