/*
Mansurge Footer v1.0 — Luxury / Bilingual / Site-Phase Aware
Scoped to #ms-site-footer.
*/

#ms-site-footer{
	--ms-f-bg:#080c0c;
	--ms-f-panel:#0d1313;
	--ms-f-gold:#c5a572;
	--ms-f-gold-soft:#d7ba89;
	--ms-f-white:#f5f3ee;
	--ms-f-text:#c3caca;
	--ms-f-muted:#7f8989;
	--ms-f-line:rgba(197,165,114,.18);
	--ms-f-softline:rgba(255,255,255,.07);
	position:relative;
	width:100%;
	padding:clamp(68px,8vw,108px) 0 30px;
	background:
		radial-gradient(
			900px 420px at 8% 0%,
			rgba(197,165,114,.055),
			transparent 62%
		),
		var(--ms-f-bg);
	color:var(--ms-f-white);
	border-top:1px solid var(--ms-f-softline);
	overflow:hidden;
}

#ms-site-footer *,
#ms-site-footer *::before,
#ms-site-footer *::after{
	box-sizing:border-box;
}

#ms-site-footer a{
	text-decoration:none;
}

#ms-site-footer .ms-footer-shell{
	width:min(1280px,calc(100% - 48px));
	margin-inline:auto;
}

#ms-site-footer .ms-footer-intro{
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(50px,7vw,100px);
	align-items:start;
	padding-bottom:52px;
}

#ms-site-footer .ms-footer-brand{
	max-width:500px;
}

#ms-site-footer .ms-footer-logo{
	width:52px;
	height:52px;
	margin-bottom:22px;
}

#ms-site-footer .ms-footer-logo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
}

#ms-site-footer .ms-footer-description{
	max-width:470px;
	margin:0;
	color:var(--ms-f-text);
	font-size:15px;
	line-height:1.85;
}#ms-site-footer .ms-footer-nav-area{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:34px;
	padding:46px 0 48px;
}

#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
	grid-template-columns:repeat(2,minmax(0,1fr));
	max-width:660px;
}

#ms-site-footer .ms-footer-column{
	min-width:0;
}

#ms-site-footer .ms-footer-heading{
	margin:0 0 17px;
	color:var(--ms-f-gold);
	font-size:10px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:.15em;
	text-transform:uppercase;
}

#ms-site-footer .ms-footer-links{
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}

#ms-site-footer .ms-footer-links li{
	margin:0;
	padding:0;
}

#ms-site-footer .ms-footer-links a{
	position:relative;
	display:inline-flex;
	color:var(--ms-f-text);
	font-size:13px;
	line-height:1.55;
	transition:
		color .18s ease,
		transform .18s ease;
}

#ms-site-footer .ms-footer-links a:hover,
#ms-site-footer .ms-footer-links a:focus-visible{
	color:var(--ms-f-white);
	transform:translateX(2px);
}

#ms-site-footer[dir="rtl"] .ms-footer-links a:hover,
#ms-site-footer[dir="rtl"] .ms-footer-links a:focus-visible{
	transform:translateX(-2px);
}

#ms-site-footer .ms-footer-rule{
	width:100%;
	height:1px;
	background:var(--ms-f-softline);
}

#ms-site-footer .ms-footer-meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:26px;
	padding:26px 0;
}

#ms-site-footer .ms-footer-social,
#ms-site-footer .ms-footer-legal{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:18px;
}

#ms-site-footer .ms-footer-social a,
#ms-site-footer .ms-footer-legal a{
	color:var(--ms-f-muted);
	font-size:11px;
	font-weight:600;
	letter-spacing:.02em;
	transition:color .18s ease;
}

#ms-site-footer .ms-footer-social a:hover,
#ms-site-footer .ms-footer-social a:focus-visible,
#ms-site-footer .ms-footer-legal a:hover,
#ms-site-footer .ms-footer-legal a:focus-visible{
	color:var(--ms-f-gold-soft);
}

#ms-site-footer .ms-footer-bottom{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	padding-top:24px;
	border-top:1px solid var(--ms-f-softline);
}

#ms-site-footer .ms-footer-copyright{
	margin:0;
	color:var(--ms-f-muted);
	font-size:10px;
	line-height:1.6;
}

#ms-site-footer .ms-footer-signature{
	margin:0;
	color:rgba(197,165,114,.15);
	font-size:clamp(34px,6vw,76px);
	font-weight:700;
	line-height:.8;
	letter-spacing:-.06em;
	user-select:none;
}@media(max-width:1024px){

	#ms-site-footer .ms-footer-intro{
		grid-template-columns:1fr 1.15fr;
		gap:42px;
	}

	#ms-site-footer .ms-footer-nav-area{
		grid-template-columns:repeat(2,minmax(0,1fr));
		row-gap:38px;
	}

	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

}

@media(max-width:767px){

	#ms-site-footer{
		padding-top:62px;
	}

	#ms-site-footer .ms-footer-shell{
		width:calc(100% - 30px);
	}

	#ms-site-footer .ms-footer-intro{
		grid-template-columns:1fr;
		gap:34px;
		padding-bottom:36px;
	}#ms-site-footer .ms-footer-nav-area,
	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:34px 20px;
		padding:38px 0;
	}

	#ms-site-footer .ms-footer-meta{
		align-items:flex-start;
		flex-direction:column;
		padding:24px 0;
	}

	#ms-site-footer .ms-footer-bottom{
		align-items:flex-start;
		flex-direction:column;
	}

	#ms-site-footer .ms-footer-signature{
		align-self:flex-end;
	}

}

@media(max-width:480px){

	#ms-site-footer .ms-footer-nav-area,
	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
		grid-template-columns:1fr;
	}

	#ms-site-footer .ms-footer-social,
	#ms-site-footer .ms-footer-legal{
		gap:12px 16px;
	}

}

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

	#ms-site-footer *,
	#ms-site-footer *::before,
	#ms-site-footer *::after{
		transition:none!important;
	}

}


/* =========================================================
   v1.1 — Elementor wrapper cleanup
   Prevent old Footer template borders/padding from framing the
   new shortcode with a stray top/left line.
   ========================================================= */

#ms-site-footer{
	border-left:0 !important;
	border-right:0 !important;
	outline:0 !important;
	box-shadow:none !important;
}

/*
 * Modern browsers: clean only Elementor wrappers that actually contain
 * the Mansurge Footer. This avoids touching unrelated Elementor sections.
 */
.elementor-widget-shortcode:has(#ms-site-footer),
.elementor-widget-shortcode:has(#ms-site-footer) > .elementor-widget-container,
.elementor-element:has(> .elementor-widget-container > #ms-site-footer),
.elementor-widget-container:has(> #ms-site-footer){
	border:0 !important;
	outline:0 !important;
	box-shadow:none !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
}

/* =========================================================
   v1.3 — Centered brand + compact mobile navigation
   ========================================================= */

/* Brand block: logo above copy, both centered. */
#ms-site-footer .ms-footer-brand{
	max-width:620px !important;
	margin-inline:auto !important;
	text-align:center !important;
}

#ms-site-footer .ms-footer-logo{
	margin:0 auto 22px !important;
}

#ms-site-footer .ms-footer-description{
	max-width:620px !important;
	margin:0 auto !important;
	text-align:center !important;
}

/*
 * Pre-launch footer intro no longer needs a two-column composition.
 * Center the brand block in the available width.
 */
#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-intro{
	display:block !important;
	text-align:center !important;
	padding-bottom:44px !important;
}

/* Footer navigation columns centered by default. */
#ms-site-footer .ms-footer-column{
	text-align:center !important;
}

#ms-site-footer .ms-footer-heading{
	text-align:center !important;
}

#ms-site-footer .ms-footer-links{
	justify-items:center !important;
}

#ms-site-footer .ms-footer-links a{
	text-align:center !important;
}

/*
 * Mobile: each footer column becomes a compact horizontal row.
 * All Articles / Style & Looks / Guides & Fit stay on one line when space permits.
 */
@media(max-width:767px){

	#ms-site-footer .ms-footer-nav-area,
	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:28px !important;
	}

	#ms-site-footer .ms-footer-column{
		text-align:center !important;
	}

	#ms-site-footer .ms-footer-links{
		display:flex !important;
		flex-direction:row !important;
		flex-wrap:nowrap !important;
		align-items:center !important;
		justify-content:center !important;
		gap:14px !important;
		overflow-x:auto !important;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
		padding-bottom:2px !important;
	}

	#ms-site-footer .ms-footer-links::-webkit-scrollbar{
		display:none;
	}

	#ms-site-footer .ms-footer-links li{
		flex:0 0 auto !important;
	}

	#ms-site-footer .ms-footer-links a{
		white-space:nowrap !important;
		font-size:12px !important;
	}

}

/* Very narrow phones: retain one-line rows with smaller spacing/text. */
@media(max-width:420px){

	#ms-site-footer .ms-footer-links{
		gap:10px !important;
	}

	#ms-site-footer .ms-footer-links a{
		font-size:11px !important;
	}

}


/* =========================================================
   v1.4 — True page-centering for brand + pre-launch columns
   ========================================================= */

/*
 * Footer v1.2+ has no newsletter form, so the intro should never reserve
 * a second grid column. Center the brand block against the full Footer shell
 * in BOTH Pre-launch and Launch.
 */
#ms-site-footer .ms-footer-intro,
#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-intro,
#ms-site-footer.ms-footer-phase-launch .ms-footer-intro{
	display:block !important;
	width:100% !important;
	max-width:none !important;
	margin:0 auto !important;
	padding-bottom:48px !important;
	text-align:center !important;
}

#ms-site-footer .ms-footer-brand{
	width:min(100%,680px) !important;
	max-width:680px !important;
	margin:0 auto !important;
	text-align:center !important;
}

#ms-site-footer .ms-footer-logo{
	margin-left:auto !important;
	margin-right:auto !important;
}

#ms-site-footer .ms-footer-description{
	width:min(100%,680px) !important;
	max-width:680px !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
}

/*
 * Pre-launch has only Explore + Journal.
 * The pair itself must be centered as one unit beneath the centered brand,
 * rather than occupying the left half of the 1280px Footer shell.
 */
#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
	width:min(100%,760px) !important;
	max-width:760px !important;
	margin-left:auto !important;
	margin-right:auto !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* Keep each pre-launch column centered inside the centered two-column group. */
#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-column,
#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-heading,
#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-links{
	text-align:center !important;
	justify-items:center !important;
}

/* Tablet: preserve centered pre-launch group. */
@media(max-width:1024px) and (min-width:768px){

	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
		width:min(100%,680px) !important;
		max-width:680px !important;
		margin-inline:auto !important;
	}

}

/* Mobile: centered single-column groups; link rows stay horizontal. */
@media(max-width:767px){

	#ms-site-footer .ms-footer-intro,
	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-intro,
	#ms-site-footer.ms-footer-phase-launch .ms-footer-intro{
		padding-bottom:38px !important;
	}

	#ms-site-footer.ms-footer-phase-prelaunch .ms-footer-nav-area{
		width:100% !important;
		max-width:100% !important;
		margin-inline:auto !important;
		grid-template-columns:1fr !important;
	}

}

/* ============================================================
 * v3.1.72 — Footer-only Social Icons
 * ============================================================ */
#ms-site-footer .ms-footer-social{
	gap:10px;
}

#ms-site-footer .ms-footer-social-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	padding:0;
	border:1px solid var(--ms-f-softline);
	border-radius:50%;
	color:var(--ms-f-muted);
	text-decoration:none;
	transition:border-color .18s ease,color .18s ease,transform .18s ease,background-color .18s ease;
}

#ms-site-footer .ms-footer-social-link:hover,
#ms-site-footer .ms-footer-social-link:focus-visible{
	color:var(--ms-f-gold-soft);
	border-color:var(--ms-f-gold-soft);
	background:rgba(201,163,92,.045);
	transform:translateY(-1px);
}

#ms-site-footer .ms-footer-social-link:focus-visible{
	outline:2px solid var(--ms-f-gold-soft);
	outline-offset:3px;
}

#ms-site-footer .ms-footer-social-icon{
	display:block;
	width:16px;
	height:16px;
	line-height:0;
}

#ms-site-footer .ms-footer-social-icon svg{
	display:block;
	width:100%;
	height:100%;
	fill:none;
	stroke:currentColor;
	stroke-width:1.65;
	stroke-linecap:round;
	stroke-linejoin:round;
}

#ms-site-footer .ms-footer-social-icon .ms-social-dot,
#ms-site-footer .ms-footer-social-icon .ms-social-fill{
	fill:currentColor;
	stroke:none;
}

@media (prefers-reduced-motion: reduce){
	#ms-site-footer .ms-footer-social-link{
		transition:none;
	}
	#ms-site-footer .ms-footer-social-link:hover,
	#ms-site-footer .ms-footer-social-link:focus-visible{
		transform:none;
	}
}
