/* Footer redesign — scoped to the footer template only (elementor-location-footer). */
.elementor-location-footer {
	/* Base tone matches the site's existing footer background (#0B1220) —
	   only the accents are new, so the logo (already white/light for this
	   background) and overall brand identity stay consistent. */
	--mp-footer-bg-1: #0d1524;
	--mp-footer-bg-2: #0B1220;
	--mp-footer-accent: #5b21b6;
	--mp-footer-accent-2: #F403A1;
	--mp-footer-text: #d8d5e6;
	--mp-footer-text-dim: #9b96b3;
	--mp-footer-border: rgba(255, 255, 255, 0.08);
}

.elementor-location-footer .e-con.e-parent {
	background: linear-gradient(180deg, var(--mp-footer-bg-1) 0%, var(--mp-footer-bg-2) 100%) !important;
	position: relative;
}

.elementor-location-footer .e-con.e-parent::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mp-footer-accent) 25%, var(--mp-footer-accent-2) 50%, var(--mp-footer-accent) 75%, transparent);
	opacity: 0.6;
}

/* Row of 4 columns */
.elementor-element-b3fb353 {
	gap: 48px;
	padding-block: 24px;
}

.elementor-element-b3fb353 > .e-con.e-child {
	flex: 1 1 0;
	min-width: 220px;
}

.elementor-element-b3fb353 > .e-con.e-child:first-child {
	flex: 1.4 1 0;
	min-width: 260px;
}

/* Brand column: logo, description, socials */
.elementor-location-footer .elementor-widget-text-editor p {
	color: var(--mp-footer-text-dim);
	font-size: 15px;
	line-height: 1.7;
	max-width: 34em;
}

.elementor-location-footer .elementor-social-icons-wrapper {
	gap: 12px;
	margin-top: 8px;
}

.elementor-location-footer .elementor-social-icon {
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--mp-footer-border);
	color: var(--mp-footer-text) !important;
	transition: transform 0.2s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.elementor-location-footer .elementor-social-icon svg {
	width: 16px;
	height: 16px;
}

.elementor-location-footer .elementor-social-icon:hover {
	background: linear-gradient(135deg, var(--mp-footer-accent), var(--mp-footer-accent-2)) !important;
	border-color: transparent;
	transform: translateY(-3px);
	box-shadow: 0 8px 20px -6px rgba(91, 33, 182, 0.55);
}

/* Column headings */
.elementor-location-footer .elementor-widget-heading .elementor-heading-title {
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.02em;
	position: relative;
	padding-bottom: 14px;
	margin-bottom: 6px;
}

.elementor-location-footer .elementor-widget-heading .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--mp-footer-accent), var(--mp-footer-accent-2));
}

/* Nav link lists */
.elementor-location-footer .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.elementor-location-footer .elementor-icon-list-item {
	padding: 0;
}

.elementor-location-footer .elementor-icon-list-item a {
	display: inline-flex;
	align-items: center;
	padding: 7px 0;
	color: var(--mp-footer-text-dim);
	font-size: 14.5px;
	transition: color 0.2s ease, transform 0.2s ease, padding-left 0.2s ease;
}

.elementor-location-footer .elementor-icon-list-item a::before {
	content: "";
	width: 0;
	height: 1px;
	background: var(--mp-footer-accent-2);
	margin-right: 0;
	transition: width 0.2s ease, margin-right 0.2s ease;
}

.elementor-location-footer .elementor-icon-list-item a:hover {
	color: #fff;
}

.elementor-location-footer .elementor-icon-list-item a:hover::before {
	width: 14px;
	margin-right: 8px;
}

/* Subscribe column */
.elementor-location-footer .elementor-widget-form .elementor-form-fields-wrapper {
	display: flex;
	gap: 0;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--mp-footer-border);
	border-radius: 999px;
	padding: 4px;
	margin-top: 10px;
	max-width: 360px;
}

.elementor-location-footer .elementor-field-group.elementor-field-type-email {
	flex: 1 1 auto;
	width: auto;
}

.elementor-location-footer .elementor-field-group.elementor-field-type-email input {
	background: transparent !important;
	border: none !important;
	color: #fff !important;
	padding: 10px 16px !important;
	font-size: 14px;
	box-shadow: none !important;
}

.elementor-location-footer .elementor-field-group.elementor-field-type-email input::placeholder {
	color: var(--mp-footer-text-dim);
}

.elementor-location-footer .elementor-field-type-submit {
	flex: 0 0 auto;
	width: auto;
}

.elementor-location-footer .elementor-field-type-submit .elementor-button {
	background: linear-gradient(135deg, var(--mp-footer-accent), var(--mp-footer-accent-2)) !important;
	border: none;
	border-radius: 999px;
	padding: 10px 22px;
	font-weight: 600;
	font-size: 13.5px;
	white-space: nowrap;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.elementor-location-footer .elementor-field-type-submit .elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px -6px rgba(244, 3, 161, 0.5);
}

@media (max-width: 767px) {
	.elementor-element-b3fb353 {
		flex-direction: column;
		gap: 32px;
	}

	.elementor-location-footer .elementor-social-icons-wrapper {
		justify-content: flex-start;
	}

	.elementor-location-footer .elementor-widget-form .elementor-form-fields-wrapper {
		max-width: 100%;
	}
}
