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

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

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

/*
|--------------------------------------------------------------------------
| Editor Note
|--------------------------------------------------------------------------
*/

.dme-widget-editor-note {
	padding: 16px;

	border:
		1px dashed
		#b47a63;

	background:
		#f8f3ee;

	color:
		#143526;

	font-family:
		Poppins,
		sans-serif;
}


/*
|--------------------------------------------------------------------------
| Model Card Base
|--------------------------------------------------------------------------
*/

.dme-model-card {
	--dme-card-radius: 22px;

	--dme-card-bg: #f8f3ee;
	--dme-card-title: #143526;
	--dme-card-text: #7b6b63;

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

	--dme-card-border:
		rgba(
			180,
			122,
			99,
			0.35
		);

	--dme-display-font:
		Vidaloka,
		Georgia,
		serif;

	--dme-body-font:
		Poppins,
		sans-serif;

	container-type:
		inline-size;

	container-name:
		dme-model-card;

	position: relative;

	width: 100%;
	max-width: 100%;

	min-width: 0;
	min-inline-size: 0;

	overflow: hidden;

	border-radius:
		var(--dme-card-radius);

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

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

	font-family:
		var(--dme-body-font);

	box-shadow:
		0 14px 36px
		rgba(
			42,
			27,
			22,
			0.08
		);
}


.dme-model-card *,
.dme-model-card *::before,
.dme-model-card *::after {
	box-sizing: border-box;
}


.dme-model-card a {
	text-decoration: none;
}


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

.dme-model-card__image-link {
	display: block;

	color: inherit;
}


.dme-model-card__image {
	position: relative;

	width: 100%;

	aspect-ratio: 4 / 5;

	overflow: hidden;

	background:
		var(--dme-card-soft);
}


.dme-model-card__img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition:
		transform 0.55s ease;
}


.dme-model-card:hover
.dme-model-card__img {
	transform:
		scale(1.025);
}


.dme-model-card__placeholder {
	width: 100%;
	height: 100%;

	background:
		linear-gradient(
			145deg,
			var(--dme-card-soft),
			var(--dme-card-bg)
		);
}


/*
|--------------------------------------------------------------------------
| Model Badges
|--------------------------------------------------------------------------
|
| Badge identity remains independent from Widget skin.
|
*/

.dme-model-badges {
	position: absolute;

	top: 14px;
	left: 14px;
	right: 14px;

	z-index: 5;

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	gap: 6px;

	pointer-events: none;
}


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

	align-items: center;

	gap: 5px;

	min-height: 27px;

	padding:
		5px
		9px;

	border-radius:
		999px;

	font-family:
		Poppins,
		sans-serif;

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

	line-height: 1;

	letter-spacing:
		0.08em;

	text-transform:
		uppercase;

	white-space:
		nowrap;

	backdrop-filter:
		blur(8px);

	-webkit-backdrop-filter:
		blur(8px);
}


.dme-model-badge__icon {
	font-size: 11px;

	line-height: 1;
}


/*
|--------------------------------------------------------------------------
| Badge Presets
|--------------------------------------------------------------------------
*/

.dme-badge--premium {
	background:
		rgba(
			248,
			243,
			238,
			0.95
		);

	color:
		#143526;

	border:
		1px solid
		rgba(
			180,
			122,
			99,
			0.70
		);
}


.dme-badge--new {
	background:
		#143526;

	color:
		#f8f3ee;

	border:
		1px solid
		rgba(
			248,
			243,
			238,
			0.28
		);
}


.dme-badge--exclusive {
	background:
		#2a1b16;

	color:
		#e4c6b8;

	border:
		1px solid
		#b47a63;
}


.dme-badge--travel {
	background:
		rgba(
			248,
			243,
			238,
			0.95
		);

	color:
		#143526;

	border:
		1px solid
		rgba(
			228,
			198,
			184,
			0.95
		);
}


.dme-badge--custom {
	background:
		rgba(
			42,
			27,
			22,
			0.86
		);

	color:
		#f8f3ee;

	border:
		1px solid
		rgba(
			248,
			243,
			238,
			0.28
		);
}


/*
|--------------------------------------------------------------------------
| Card Content
|--------------------------------------------------------------------------
*/

.dme-model-card__content {
	padding:
		18px
		18px
		20px;
}


.dme-model-card__eyebrow {
	display: flex;

	align-items: center;

	gap: 7px;

	margin-bottom: 7px;

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

	line-height: 1.2;

	letter-spacing:
		0.12em;

	text-transform:
		uppercase;

	color:
		var(--dme-card-text);
}


.dme-model-card__status-dot {
	display: inline-block;

	width: 6px;
	height: 6px;

	flex: 0 0 auto;

	border-radius: 50%;

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


.dme-status--available
.dme-model-card__status-dot {
	background:
		#4f7b5b;
}


.dme-status--travel_only
.dme-model-card__status-dot {
	background:
		#b47a63;
}


.dme-status--away
.dme-model-card__status-dot {
	background:
		#9a7467;
}


/*
|--------------------------------------------------------------------------
| Model Name
|--------------------------------------------------------------------------
*/

.dme-model-card__title {
	margin: 0;

	font-family:
		var(--dme-display-font);

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

	font-weight: 400;

	line-height: 1.04;

	color:
		var(--dme-card-title);

	overflow-wrap:
		anywhere;
}


.dme-model-card__title,
.dme-model-card__title a,
.dme-model-card__title a:link,
.dme-model-card__title a:visited,
.dme-model-card__title a:hover,
.dme-model-card__title a:focus,
.dme-model-card__title a:active {
	color:
		var(--dme-card-title) !important;

	background:
		transparent !important;

	text-decoration:
		none !important;
}


.dme-model-card__title a:hover,
.dme-model-card__title a:focus {
	opacity:
		1 !important;
}


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

.dme-model-card__signature {
	margin:
		8px
		0
		0;

	font-size: 13px;

	line-height: 1.55;

	color:
		var(--dme-card-text);
}


/*
|--------------------------------------------------------------------------
| Facts
|--------------------------------------------------------------------------
*/

.dme-model-card__facts {
	display: grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);

	gap: 8px;

	margin:
		16px
		0
		0;
}


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

	padding:
		9px
		8px;

	border-top:
		1px solid
		var(--dme-card-border);
}


.dme-model-card__fact dt {
	margin:
		0
		0
		3px;

	font-size: 9px;

	line-height: 1.2;

	text-transform:
		uppercase;

	letter-spacing:
		0.09em;

	color:
		var(--dme-card-text);
}


.dme-model-card__fact dd {
	margin: 0;

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

	line-height: 1.35;

	color:
		var(--dme-card-title);

	overflow-wrap:
		anywhere;
}


/*
|--------------------------------------------------------------------------
| Profile Button
|--------------------------------------------------------------------------
*/

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

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

	margin-top: 17px;

	padding:
		10px
		15px;

	border-radius:
		999px;

	background:
		var(--dme-card-title);

	color:
		var(--dme-card-bg) !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,
		transform 0.2s ease;
}


.dme-model-card__button:hover,
.dme-model-card__button:focus {
	background:
		var(--dme-card-soft);

	color:
		var(--dme-card-title) !important;

	transform:
		translateY(-1px);
}


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

.dme-model-card.dme-skin--forest {
	--dme-card-bg:
		#f8f3ee;

	--dme-card-title:
		#143526;

	--dme-card-text:
		#7b6b63;

	--dme-card-accent:
		#7ba473;

	--dme-card-soft:
		#e4c6b8;

	--dme-card-border:
		rgba(
			20,
			53,
			38,
			0.18
		);
}


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

.dme-model-card.dme-skin--theme {
	--dme-card-bg:
		var(
			--e-global-color-secondary,
			#f8f3ee
		);

	--dme-card-title:
		var(
			--e-global-color-primary,
			#143526
		);

	--dme-card-text:
		var(
			--e-global-color-text,
			#7b6b63
		);

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

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

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

	--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-card.dme-skin--custom {
	--dme-card-bg:
		var(
			--dme-skin-surface,
			#f8f3ee
		);

	--dme-card-title:
		var(
			--dme-skin-primary,
			#2a1b16
		);

	/*
	 * Important:
	 * Secondary text now uses the Custom TEXT control,
	 * rather than incorrectly reusing Primary.
	 */

	--dme-card-text:
		var(
			--dme-skin-text,
			#2a1b16
		);

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

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

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


/*
|--------------------------------------------------------------------------
| Typography Inheritance
|--------------------------------------------------------------------------
*/

.dme-model-card.dme-type--inherit {
	--dme-display-font:
		inherit;

	--dme-body-font:
		inherit;
}


/*
|--------------------------------------------------------------------------
| Bronze Luxe
|--------------------------------------------------------------------------
|
| Photo-first editorial Card.
|
*/

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

	--dme-card-title:
		#f8f3ee;

	--dme-card-text:
		rgba(
			248,
			243,
			238,
			0.82
		);

	--dme-card-accent:
		#b47a63;

	--dme-card-soft:
		#e4c6b8;

	--dme-card-border:
		rgba(
			248,
			243,
			238,
			0.28
		);

	width: 100%;
	max-width: 100%;

	min-width: 0;
	min-inline-size: 0;

	aspect-ratio:
		4 / 5;

	min-height: 0;

	background:
		#2a1b16;

	box-shadow:
		0 18px 46px
		rgba(
			42,
			27,
			22,
			0.16
		);
}


.dme-model-card.dme-skin--bronze::after {
	content: "";

	position: absolute;

	inset: 0;

	z-index: 1;

	pointer-events: none;

	background:
		linear-gradient(
			to bottom,
			rgba(
				42,
				27,
				22,
				0.02
			) 32%,
			rgba(
				42,
				27,
				22,
				0.16
			) 52%,
			rgba(
				42,
				27,
				22,
				0.92
			) 82%,
			rgba(
				42,
				27,
				22,
				0.98
			) 100%
		);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__image-link {
	position: absolute;

	inset: 0;
}


.dme-model-card.dme-skin--bronze
.dme-model-card__image {
	width: 100%;
	height: 100%;

	aspect-ratio:
		auto !important;

	background:
		#2a1b16;
}


.dme-model-card.dme-skin--bronze
.dme-model-card__content {
	position: absolute;

	inset: 0;

	z-index: 3;

	display: flex;

	flex-direction: column;

	justify-content:
		flex-end;

	padding: 28px;

	color:
		#f8f3ee;
}


.dme-model-card.dme-skin--bronze
.dme-model-card__eyebrow {
	position: absolute;

	top: 18px;
	right: 18px;

	margin: 0;

	padding:
		7px
		10px;

	border:
		1px solid
		rgba(
			248,
			243,
			238,
			0.26
		);

	border-radius:
		999px;

	background:
		rgba(
			42,
			27,
			22,
			0.42
		);

	color:
		#f8f3ee;

	backdrop-filter:
		blur(8px);

	-webkit-backdrop-filter:
		blur(8px);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__title {
	font-size:
		clamp(
			30px,
			2.4vw,
			42px
		);

	color:
		#f8f3ee;
}


.dme-model-card.dme-skin--bronze
.dme-model-card__signature {
	max-width: 90%;

	color:
		rgba(
			248,
			243,
			238,
			0.78
		);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__facts {
	gap: 0;

	margin-top: 18px;

	border-top:
		1px solid
		rgba(
			248,
			243,
			238,
			0.25
		);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__fact {
	padding:
		12px
		12px
		0;

	border-top: 0;

	border-left:
		1px solid
		rgba(
			248,
			243,
			238,
			0.22
		);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__fact:first-child {
	padding-left: 0;

	border-left: 0;
}


.dme-model-card.dme-skin--bronze
.dme-model-card__fact dt {
	color:
		rgba(
			248,
			243,
			238,
			0.72
		);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__fact dd {
	margin-top: 4px;

	font-family:
		var(--dme-display-font);

	font-size: 18px;

	font-weight: 400;

	color:
		#f8f3ee;
}


/*
|--------------------------------------------------------------------------
| Bronze CTA Reveal
|--------------------------------------------------------------------------
*/

.dme-model-card.dme-skin--bronze
.dme-model-card__button {
	max-height: 0;

	margin-top: 0;

	padding:
		0
		18px;

	overflow: hidden;

	border:
		0 solid
		rgba(
			228,
			198,
			184,
			0.80
		);

	background:
		transparent;

	color:
		#f8f3ee !important;

	opacity: 0;

	transform:
		translateY(10px);

	transition:
		opacity 0.3s ease,
		transform 0.3s ease,
		max-height 0.3s ease,
		margin-top 0.3s ease,
		padding 0.3s ease,
		border-width 0.3s ease;
}


.dme-model-card.dme-skin--bronze:hover
.dme-model-card__button,
.dme-model-card.dme-skin--bronze:focus-within
.dme-model-card__button {
	max-height: 60px;

	margin-top: 18px;

	padding:
		12px
		18px;

	border-width: 1px;

	opacity: 1;

	transform:
		translateY(0);
}


.dme-model-card.dme-skin--bronze
.dme-model-card__button:hover,
.dme-model-card.dme-skin--bronze
.dme-model-card__button:focus {
	background:
		rgba(
			248,
			243,
			238,
			0.12
		);

	color:
		#f8f3ee !important;
}


/*
|--------------------------------------------------------------------------
| Touch Devices
|--------------------------------------------------------------------------
*/

@media (hover: none) {

	.dme-model-card.dme-skin--bronze
	.dme-model-card__button {
		max-height: 60px;

		margin-top: 16px;

		padding:
			11px
			16px;

		border-width: 1px;

		opacity: 1;

		transform: none;
	}
}


/*
|--------------------------------------------------------------------------
| Medium Narrow Card
|--------------------------------------------------------------------------
*/

@container dme-model-card (max-width: 340px) {

	.dme-model-card__content {
		padding:
			16px
			15px
			17px;
	}


	.dme-model-card__title {
		font-size: 27px;

		line-height: 1.04;
	}


	.dme-model-card__facts {
		grid-template-columns:
			repeat(
				2,
				minmax(
					0,
					1fr
				)
			);

		gap: 5px;
	}


	.dme-model-card__fact--third {
		display: none;
	}


	.dme-model-card__fact {
		padding:
			8px
			5px;
	}


	.dme-model-card.dme-skin--bronze {
		aspect-ratio:
			3 / 4;
	}


	.dme-model-card.dme-skin--bronze
	.dme-model-card__content {
		padding: 20px;
	}


	.dme-model-card.dme-skin--bronze
	.dme-model-card__title {
		font-size: 27px;
	}


	.dme-model-card.dme-skin--bronze
	.dme-model-card__fact dd {
		font-size: 15px;
	}
}


/*
|--------------------------------------------------------------------------
| Narrow Card
|--------------------------------------------------------------------------
*/

@container dme-model-card (max-width: 270px) {

	.dme-model-card__content {
		padding:
			12px
			11px
			13px;
	}


	.dme-model-card__title {
		font-size: 21px;

		line-height: 1.05;
	}


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


	.dme-model-card__eyebrow {
		font-size: 8px;
	}


	.dme-model-card__facts {
		margin-top: 9px;

		grid-template-columns:
			repeat(
				2,
				minmax(
					0,
					1fr
				)
			);
	}


	.dme-model-card__fact {
		padding:
			6px
			3px;
	}


	.dme-model-card__fact dt {
		font-size: 7px;
	}


	.dme-model-card__fact dd {
		font-size: 10px;
	}


	.dme-model-card__button {
		margin-top: 11px;

		padding:
			8px
			10px;

		font-size: 9px;
	}


	.dme-model-badges {
		top: 8px;
		left: 8px;
		right: 8px;

		gap: 4px;
	}


	.dme-model-badge {
		min-height: 21px;

		padding:
			4px
			6px;

		font-size: 7px;

		gap: 3px;
	}


	.dme-model-card.dme-skin--bronze {
		aspect-ratio:
			2 / 3;
	}


	.dme-model-card.dme-skin--bronze
	.dme-model-card__content {
		padding: 14px;
	}


	.dme-model-card.dme-skin--bronze
	.dme-model-card__title {
		font-size: 22px;
	}
}


/*
|--------------------------------------------------------------------------
| Very Narrow Card
|--------------------------------------------------------------------------
*/

@container dme-model-card (max-width: 205px) {

	.dme-model-card__title {
		font-size: 17px;
	}


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


	.dme-model-card__facts {
		display: block;
	}


	.dme-model-card__fact {
		padding:
			5px
			1px;
	}


	.dme-model-card__fact:nth-child(n+2) {
		display: none;
	}


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


	.dme-model-badges {
		right: auto;

		max-width:
			calc(
				100% -
				16px
			);
	}


	.dme-model-badge:nth-child(n+3) {
		display: none;
	}


	.dme-model-card.dme-skin--bronze {
		aspect-ratio:
			3 / 5;
	}
}


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

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

	.dme-model-card__img,
	.dme-model-card__button {
		transition:
			none !important;
	}
}