/*
 * DME Joining modular bridge — Prototype Restore
 *
 * The approved design language lives in joining-page.css. Modular widgets now
 * render that same section structure instead of maintaining a second competing
 * design system. Keep this file limited to modular assembly corrections.
 */

.elementor-widget-dme-joining-hero-v2,
.elementor-widget-dme-joining-why-v2,
.elementor-widget-dme-joining-talent-v2,
.elementor-widget-dme-joining-eligibility-v2,
.elementor-widget-dme-joining-process-v2,
.elementor-widget-dme-joining-privacy-v2,
.elementor-widget-dme-joining-application-v2,
.elementor-widget-dme-joining-final-v2{
	margin-block-end:0!important;
	--widgets-spacing:0px;
}

.dme-joining--module{
	width:100%;
	margin:0;
}

.dme-joining--hero-module{
	--dme-join-header-clearance:84px;
}

/* Keep the hero completely below the fixed global header. */
.dme-joining--hero-module .dme-joining__hero{
	padding-top:var(--dme-join-header-clearance)!important;
	min-height:calc(690px + var(--dme-join-header-clearance))!important;
}
.dme-joining--hero-module .dme-joining__hero-media{
	margin-top:0;
}

/* Prototype hero trust points: icon above copy so text never gets squeezed. */
.dme-joining--hero-module .dme-joining__hero-trust .dme-joining__feature{
	display:grid!important;
	grid-template-columns:1fr!important;
	gap:7px!important;
	align-items:start;
}
.dme-joining--hero-module .dme-joining__hero-trust .dme-joining__icon{
	width:30px;
	height:30px;
}

/* Who We Work With: preserve the original dark bronze/black atmosphere. */
.dme-joining--module .dme-joining__talent{
	background:#11100f!important;
}
.dme-joining--module .dme-joining__talent-media{
	min-height:560px;
	height:57vh;
	background:#211710;
}
.dme-joining--module .dme-joining__talent-copy{
	background:#11100f;
}
.dme-joining--module .dme-joining__talent-copy .dme-joining__feature span{
	color:rgba(255,255,255,.72);
}

/* Eligibility remains deliberately slim and editorial. */
.dme-joining--module .dme-joining__eligibility{
	padding-top:58px;
	padding-bottom:58px;
}
.dme-joining--module .dme-joining__eligibility-grid{
	align-content:center;
}

/* Process: compact, readable and visually connected like the approved prototype. */
.dme-joining--module .dme-joining__process{
	padding-top:58px;
	padding-bottom:58px;
}
.dme-joining--module .dme-joining__process-grid{
	margin-top:28px;
}
.dme-joining--module .dme-joining__step b{
	width:44px;
	height:44px;
	background:var(--dme-join-gold);
	color:#173027;
	border:0;
}
.dme-joining--module .dme-joining__step h3{
	color:#fff;
}
.dme-joining--module .dme-joining__step p{
	color:rgba(255,255,255,.72);
}

/*
 * Privacy/Application seam:
 * use the exact same 48/52 column split so the image above aligns perfectly
 * with the application form below.
 */
.dme-joining--module .dme-joining__privacy{
	grid-template-columns:48% 52%!important;
}
.dme-joining--module .dme-joining__privacy{
	align-items:stretch;
}
.dme-joining--module .dme-joining__privacy-media{
	position:relative;
	align-self:stretch;
	min-height:610px;
	height:auto;
	overflow:hidden;
}
.dme-joining--module .dme-joining__application{
	grid-template-columns:48% 52%!important;
}


/* Privacy trust pointers retained from the modular experiment, but kept compact. */
.dme-joining--module .dme-joining__privacy-points{
	display:grid;
	grid-template-columns:1fr;
	gap:0;
	margin-top:22px;
	max-width:620px;
}
.dme-joining--module .dme-joining__privacy-points .dme-joining__feature{
	padding:10px 0;
	border-top:1px solid rgba(138,90,61,.18);
}
.dme-joining--module .dme-joining__privacy-points .dme-joining__feature:last-child{
	border-bottom:1px solid rgba(138,90,61,.18);
}
.dme-joining--module .dme-joining__privacy-points .dme-joining__icon{
	width:32px;
	height:32px;
	flex-basis:32px;
	color:var(--dme-join-bronze);
}
.dme-joining--module .dme-joining__privacy-points .dme-joining__icon svg{
	width:21px;
	height:21px;
}
.dme-joining--module .dme-joining__privacy-points .dme-joining__feature strong{
	font-size:15px;
}
.dme-joining--module .dme-joining__privacy-points .dme-joining__feature span{
	font-size:10.5px;
	line-height:1.45;
}

/* Keep the native form compact; only one visual photo-upload control is shown. */
.dme-joining--module .dme-joining__application-copy{
	padding-top:54px;
	padding-bottom:54px;
}
.dme-joining--module .dme-joining__application-form-wrap{
	padding-top:46px;
	padding-bottom:48px;
}
.dme-joining--module .dme-joining__application-trust{
	gap:16px;
	margin-top:24px;
}
.dme-joining--module .dme-joining__form{
	gap:12px 14px;
}
.dme-joining--module .dme-joining__field{
	gap:5px;
}
.dme-joining--module .dme-joining__field input,
.dme-joining--module .dme-joining__field select{
	padding-top:9px;
	padding-bottom:9px;
}
.dme-joining--module .dme-joining__field textarea{
	min-height:88px;
	padding-top:9px;
	padding-bottom:9px;
}
.dme-joining--module .dme-joining__file-input{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	white-space:nowrap!important;
}
.dme-joining--module .dme-joining__upload{
	min-height:54px;
	padding:12px 13px;
}
.dme-joining--module .dme-joining__submit{
	padding-top:12px;
	padding-bottom:12px;
}

/* Final CTA: return to a warm bronze/ink overlay so it stays distinct from footer green. */
.dme-joining--module .dme-joining__final{
	background:#1a100b!important;
}
.dme-joining--module .dme-joining__final-shade{
	background:linear-gradient(90deg,rgba(52,31,20,.94) 0%,rgba(45,27,18,.76) 48%,rgba(22,14,10,.30) 100%)!important;
}

@media(max-width:1100px){
	.dme-joining--module .dme-joining__privacy{
		grid-template-columns:48% 52%!important;
	}
}

@media(max-width:767px){
	.dme-joining--hero-module{
		--dme-join-header-clearance:72px;
	}
	.dme-joining--hero-module .dme-joining__hero{
		padding-top:var(--dme-join-header-clearance)!important;
		min-height:calc(780px + var(--dme-join-header-clearance))!important;
	}
	.dme-joining--module .dme-joining__talent-media{
		height:390px;
		min-height:390px;
	}
	.dme-joining--module .dme-joining__eligibility{
		padding-top:40px;
		padding-bottom:40px;
	}
	.dme-joining--module .dme-joining__process{
		padding-top:42px;
		padding-bottom:42px;
	}
	.dme-joining--module .dme-joining__privacy{
		display:flex;
		flex-direction:column;
	}
	.dme-joining--module .dme-joining__privacy-media{
		height:360px;
		min-height:360px;
	}
	.dme-joining--module .dme-joining__application{
		grid-template-columns:1fr!important;
	}
	.dme-joining--module .dme-joining__application-copy,
	.dme-joining--module .dme-joining__application-form-wrap{
		padding-top:38px;
		padding-bottom:40px;
	}
	.dme-joining--module .dme-joining__final-shade{
		background:linear-gradient(180deg,rgba(48,29,19,.18) 0%,rgba(48,29,19,.76) 48%,rgba(22,14,10,.97) 100%)!important;
	}
}


/* Elementor Style controls: safe layout variables.
 * These rules only consume variables when the editor control is used.
 * Saved Elementor content/media values are never replaced here.
 */
.dme-joining--module .dme-joining__feature,
.dme-joining--module .dme-joining__button,
.dme-joining--module .dme-joining__text-button,
.dme-joining--module .dme-joining__submit,
.dme-joining--module .dme-joining__upload,
.dme-joining--module .dme-joining__field input,
.dme-joining--module .dme-joining__field select,
.dme-joining--module .dme-joining__field textarea{
	transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,opacity .22s ease;
}

@media(min-width:768px){
	.dme-joining--module .dme-joining__hero{
		grid-template-columns:minmax(0,var(--dme-join-left-col,57%)) minmax(0,1fr)!important;
		column-gap:var(--dme-join-col-gap,0px);
	}
	.dme-joining--module .dme-joining__why{
		grid-template-columns:minmax(0,var(--dme-join-left-col,43%)) minmax(0,1fr)!important;
		column-gap:var(--dme-join-col-gap,56px);
	}
	.dme-joining--module .dme-joining__talent{
		grid-template-columns:minmax(0,var(--dme-join-left-col,44%)) minmax(0,1fr)!important;
		column-gap:var(--dme-join-col-gap,0px);
	}
	.dme-joining--module .dme-joining__eligibility{
		grid-template-columns:minmax(0,var(--dme-join-left-col,36%)) minmax(0,1fr)!important;
		column-gap:var(--dme-join-col-gap,42px);
	}
	.dme-joining--module .dme-joining__privacy{
		grid-template-columns:minmax(0,var(--dme-join-left-col,48%)) minmax(0,1fr)!important;
		column-gap:var(--dme-join-col-gap,0px);
	}
	.dme-joining--module .dme-joining__application{
		grid-template-columns:minmax(0,var(--dme-join-left-col,48%)) minmax(0,1fr)!important;
		column-gap:var(--dme-join-col-gap,0px);
	}

	.dme-joining--module .dme-joining__hero-trust{
		grid-template-columns:repeat(var(--dme-join-feature-cols,4),minmax(0,1fr))!important;
	}
	.dme-joining--module .dme-joining__benefit-grid{
		grid-template-columns:repeat(var(--dme-join-feature-cols,2),minmax(0,1fr))!important;
	}
	.dme-joining--module .dme-joining__talent-grid{
		grid-template-columns:repeat(var(--dme-join-feature-cols,2),minmax(0,1fr))!important;
	}
	.dme-joining--module .dme-joining__eligibility-grid{
		grid-template-columns:repeat(var(--dme-join-feature-cols,5),minmax(0,1fr))!important;
	}
	.dme-joining--module .dme-joining__privacy-points{
		grid-template-columns:repeat(var(--dme-join-feature-cols,1),minmax(0,1fr))!important;
	}
	.dme-joining--module .dme-joining__application-trust{
		grid-template-columns:repeat(var(--dme-join-feature-cols,2),minmax(0,1fr))!important;
	}
}

/* Image-fit baseline.
 * Fill the media column by default; Elementor Style > Image / Media can switch
 * to Contain, change focal position, width, height and zoom without touching content.
 */
.dme-joining--module .dme-joining__talent-media,
.dme-joining--module .dme-joining__privacy-media{
	position:relative;
	align-self:stretch;
	overflow:hidden;
}
.dme-joining--module .dme-joining__talent-image,
.dme-joining--module .dme-joining__privacy-image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	max-width:none;
	max-height:none;
	object-fit:cover;
	display:block;
}
.dme-joining--module .dme-joining__talent-image{
	object-position:center top;
}
.dme-joining--module .dme-joining__privacy-image{
	object-position:center 25%;
}
