/* MedLab Site Settings — Footer (Luxina pattern) */

/* Hide Hello Elementor theme footer (logo + tagline) when custom footer is active. */
body.medlab-ss-has-footer #site-footer {
	display: none !important;
}

/*
 * Space between page content and footer so content clears the yellow CTA
 * that rises above the footer (translateY(-35%) from top:55px).
 * rise ≈ 0.35×405 − 55 ≈ 87px; + clearance above CTA top edge.
 */
body.medlab-ss-has-footer .mlf-footer {
	--mlf-cta-rise: calc(405px * 0.35 - 55px);
	--mlf-content-clearance: 48px;
	margin-top: calc(var(--mlf-cta-rise) + var(--mlf-content-clearance));
}

.mlf-footer {
	--mlf-accent: #ffb822;
	--mlf-accent-dark: #f0a510;
	--mlf-bg: #0f1115;
	--mlf-bg-bottom: #0a0c0f;
	--mlf-text: #ffffff;
	--mlf-text-muted: rgba(255, 255, 255, 0.62);
	--mlf-border: rgba(255, 255, 255, 0.08);
	direction: rtl;
	text-align: right;
	color: var(--mlf-text);
	font-family: inherit;
	overflow: visible;
}

.mlf-footer *,
.mlf-footer *::before,
.mlf-footer *::after {
	box-sizing: border-box;
}

/* ── Hero / background ── */
.mlf-footer__hero {
	position: relative;
	background-color: var(--mlf-bg);
	min-height: 300px;
	overflow: visible;
}

.mlf-footer__hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 65% 42%;
}

.mlf-footer__hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to left, rgba(8, 9, 11, 0.97) 0%, rgba(8, 9, 11, 0.72) 22%, rgba(8, 9, 11, 0.55) 55%, rgba(8, 9, 11, 0.65) 100%),
		linear-gradient(to bottom, rgba(8, 9, 11, 0.15) 0%, rgba(8, 9, 11, 0.55) 100%);
	pointer-events: none;
}

.mlf-footer__hero-inner {
	position: relative;
	z-index: 1;
	max-width: 1320px;
	margin: 0 auto;
	padding: 52px 24px 0;
	padding-inline-end: min(540px, 51%);
}

/* ── Columns (RTL: brand → quick → services, right to left) ── */
.mlf-footer__columns {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr;
	gap: 36px;
	padding-bottom: 48px;
}

.mlf-footer__col-title,
.mlf-footer__bottom-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	font-size: 1rem;
	font-weight: 600;
	color: var(--mlf-text);
}

.mlf-footer__col-icon {
	display: inline-flex;
	color: var(--mlf-accent);
	flex-shrink: 0;
}

.mlf-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mlf-footer__links li {
	margin-bottom: 9px;
}

.mlf-footer__links a {
	color: var(--mlf-text-muted);
	text-decoration: none;
	font-size: 0.88rem;
	transition: color 0.2s;
}

.mlf-footer__links a:hover {
	color: var(--mlf-accent);
}

.mlf-footer__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.mlf-footer__logo {
	max-height: 44px;
	width: auto;
}

.mlf-footer__logo-icon {
	color: var(--mlf-accent);
}

.mlf-footer__brand-names {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.mlf-footer__brand-names strong {
	font-size: 1.15rem;
}

.mlf-footer__brand-names em {
	font-size: 0.82rem;
	font-style: normal;
	opacity: 0.55;
}

.mlf-footer__about {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.9;
	color: var(--mlf-text-muted);
}

/* ── CTA block: image flush-left + yellow box overlapping image ── */
.mlf-footer__cta-block {
	--mlf-cta-side-width: clamp(180px, 13.5vw, 225px);
	--mlf-cta-overlap: min(140px, calc(var(--mlf-cta-side-width) * 0.58));
	position: absolute;
	top: 55px;
	left: 0;
	z-index: 6;
	transform: translateY(-35%);
	display: flex;
	align-items: stretch;
	width: fit-content;
	max-width: 100%;
	direction: ltr;
	pointer-events: none;
}

.mlf-footer__cta-block--no-image {
	display: block;
	--mlf-cta-overlap: 0px;
}

.mlf-footer__cta-block > * {
	pointer-events: auto;
}

.mlf-footer__svg-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.mlf-footer__cta {
	position: relative;
	background: var(--mlf-accent);
	color: #1a1a1a;
	min-width: 383px;
	max-width: 443px;
	min-height: 405px;
	height: 100%;
	margin-left: calc(-1 * var(--mlf-cta-overlap));
	padding: 51px 48px 48px 56px;
	clip-path: url(#mlf-cta-trapezoid);
	-webkit-clip-path: url(#mlf-cta-trapezoid);
	z-index: 4;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mlf-footer__cta-body {
	position: relative;
	z-index: 1;
}

.mlf-footer__cta-title {
	margin: 0 0 8px;
	font-size: 1.68rem;
	font-weight: 700;
	line-height: 1.45;
}

.mlf-footer__cta-subtitle {
	margin: 0 0 28px;
	font-size: 1.23rem;
	opacity: 0.72;
	font-style: italic;
	direction: ltr;
	text-align: right;
}

.mlf-footer__cta-phone {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	color: #1a1a1a;
	padding: 16px 22px;
	border-radius: 999px;
	text-decoration: none;
	transition: box-shadow 0.2s;
	white-space: nowrap;
}

.mlf-footer__cta-phone:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
	color: #1a1a1a;
}

.mlf-footer__cta-phone-label {
	font-size: 1.17rem;
	opacity: 0.7;
}

.mlf-footer__cta-phone-number {
	font-size: 1.38rem;
	font-weight: 700;
	direction: ltr;
}

.mlf-footer__cta-phone-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 184, 34, 0.2);
	color: #c88700;
	flex-shrink: 0;
	margin-inline-start: auto;
}

.mlf-footer__cta-side {
	width: var(--mlf-cta-side-width);
	flex-shrink: 0;
	height: 100%;
	min-height: 405px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 1;
	margin: 0;
}

/* ── Bottom section (RTL: contact → licenses → social) ── */
.mlf-footer__bottom {
	background: var(--mlf-bg-bottom);
	border-top: 1px solid var(--mlf-border);
	position: relative;
	z-index: 4;
}

.mlf-footer__bottom-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 34px 24px;
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: 32px;
}

.mlf-footer__socials {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.mlf-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--mlf-border);
	border-radius: 12px;
	padding: 11px 14px;
	color: var(--mlf-text);
	text-decoration: none;
	font-size: 0.84rem;
	transition: background 0.2s, border-color 0.2s, transform 0.2s;
	min-width: 150px;
}

.mlf-footer__social--icon {
	min-width: 48px;
	width: 48px;
	height: 48px;
	padding: 8px;
}

.mlf-footer__social--icon img {
	display: block;
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.mlf-footer__social-fallback {
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.mlf-footer__social:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.15);
	color: var(--mlf-text);
	transform: translateY(-2px);
}

.mlf-footer__external {
	opacity: 0.45;
	margin-inline-start: auto;
}

.mlf-footer__licenses {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mlf-footer__license {
	width: 62px;
	height: 62px;
	object-fit: contain;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--mlf-border);
	padding: 4px;
}

.mlf-footer__contacts {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mlf-footer__contact {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--mlf-text);
	text-decoration: none;
}

.mlf-footer__contact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	flex-shrink: 0;
	background: rgba(111, 174, 46, 0.15);
	color: #6fae2e;
}

.mlf-footer__contact-text {
	display: flex;
	flex-direction: column;
	line-height: 1.45;
}

.mlf-footer__contact-text small {
	font-size: 0.74rem;
	color: var(--mlf-text-muted);
}

.mlf-footer__contact-text strong {
	font-size: 0.86rem;
	font-weight: 500;
}

.mlf-footer__credits {
	background: #060708;
	border-top: 1px solid var(--mlf-border);
	text-align: center;
	padding: 14px 24px;
}

.mlf-footer__credits p {
	margin: 0;
	font-size: 0.8rem;
	color: var(--mlf-text-muted);
}

/* ── Responsive ── */
@media (max-width: 1100px) {
	/* CTA no longer overlaps upward — drop the extra clearance. */
	body.medlab-ss-has-footer .mlf-footer {
		margin-top: 32px;
	}

	.mlf-footer__hero-inner {
		padding-top: 40px;
		padding-inline-end: 24px;
	}

	.mlf-footer__cta-block {
		position: static;
		transform: none;
		display: flex;
		flex-direction: column-reverse;
		align-items: stretch;
		width: auto;
		margin: 0 24px 24px;
	}

	.mlf-footer__cta {
		margin-left: 0;
	}

	.mlf-footer__columns {
		grid-template-columns: 1fr 1fr;
		padding-bottom: 32px;
	}

	.mlf-footer__col--brand {
		grid-column: 1 / -1;
	}

	.mlf-footer__bottom-inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 700px) {
	.mlf-footer__hero {
		min-height: auto;
	}

	.mlf-footer__cta-block {
		margin: 0 16px 20px;
	}

	.mlf-footer__cta {
		max-width: none;
		min-height: auto;
		height: auto;
		clip-path: none;
		-webkit-clip-path: none;
		border-radius: 12px;
		padding: 24px 20px;
	}

	.mlf-footer__cta-side {
		width: 100%;
		min-height: 240px;
		height: 240px;
		align-self: auto;
		border-radius: 12px 12px 0 0;
	}

	.mlf-footer__hero-inner {
		padding: 24px 16px 0;
		padding-inline-end: 16px;
	}

	.mlf-footer__columns,
	.mlf-footer__bottom-inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.mlf-footer__bottom-inner {
		padding: 28px 16px;
	}
}
