/*
 * Footer: 4-column premium layout (Brand / Quick Links / Our Services /
 * Contact Us) + a bottom copyright bar. Each footer widget independently
 * renders its own ".main-footer" wrapper (a Visarzo widget quirk), so the
 * background/spacing rules below are intentionally scoped broadly to
 * normalize all of them into one continuous-looking footer.
 */

:root {
	--nji-footer-bg: #17181b;
	--nji-footer-bg-2: #1c1d20;
	--nji-footer-text: #ffffff;
	--nji-footer-text-muted: #b5b5b5;
	--nji-footer-border: rgba(255, 255, 255, 0.12);
}

.main-footer {
	background: var(--nji-footer-bg);
}

/* Content-driven height: no fixed/min-height anywhere, just sane padding. */
.main-footer .footer-top {
	padding: 64px 0 46px;
}

.main-footer .footer-top .footer-column,
.main-footer .footer-top .footer-widget {
	height: auto;
}

/* Top-align every column instead of stretching/centering individually. */
.elementor-780 > .elementor-element.elementor-element-c404a2e > .elementor-container {
	align-items: flex-start;
}

.elementor-780 .elementor-element.elementor-element-c404a2e > .elementor-container > .elementor-column {
	align-self: flex-start;
	padding-right: 18px;
}

.elementor-780 .elementor-element.elementor-element-f9427e8 {
	padding-right: 0;
}

/* Reset any leftover per-column vertical-centering/margin hacks from
   earlier iterations. */
.elementor-element-1b154d0.elementor-column {
	display: block;
}

.elementor-element-1b154d0 > .elementor-widget-wrap {
	height: auto;
	display: block;
}

/* ---------- Headings (Quick Links / Our Services / Contact Us) ---------- */

.main-footer .footer-top .widget-title h3,
.main-footer .footer-top .widget-title .menu {
	position: relative;
	color: var(--nji-footer-text);
	font-size: 19px;
	font-weight: 700;
	padding-bottom: 14px;
	margin-bottom: 22px !important;
}

.main-footer .footer-top .widget-title h3:before,
.main-footer .footer-top .widget-title .menu:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 2px;
	background: var(--nji-red);
}

/* ---------- Brand column ---------- */

.logo-widget .footer-logo {
	margin-bottom: 18px;
}

.logo-widget .footer-logo img {
	width: auto;
	max-width: 120px;
	height: auto;
}

.logo-widget .text {
	max-width: 400px;
	margin-bottom: 0;
}

.logo-widget .text p {
	color: var(--nji-footer-text-muted);
	font-size: 15px;
	line-height: 1.65;
	margin-bottom: 22px;
}

.logo-widget .social-links {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.logo-widget .social-links li {
	margin: 0;
}

.main-footer .footer-top .logo-widget .social-links li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	transition: background var(--nji-transition), color var(--nji-transition), transform var(--nji-transition);
}

.main-footer .footer-top .logo-widget .social-links li a:hover {
	background: var(--nji-red);
	color: #fff;
	transform: translateY(-3px);
}

/* ---------- Quick Links / Our Services ---------- */

.main-footer .footer-top .links-widget .widget-content .list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-footer .footer-top .links-widget .widget-content .list li {
	margin-bottom: 11px;
}

.main-footer .footer-top .links-widget .widget-content .list li:last-child {
	margin-bottom: 0;
}

.main-footer .footer-top .links-widget .widget-content .list li a {
	display: block;
	font-size: 15px;
	line-height: 1.4;
	font-weight: 400;
	padding-left: 12px;
	white-space: nowrap;
	color: var(--nji-footer-text-muted);
}

/* Shrink the parent theme's large Flaticon arrow glyph into a subtle
   dash marker instead of removing the pseudo-element entirely. The
   parent stylesheet's own rule uses the identical selector chain, so
   !important is needed to reliably win regardless of enqueue order. */
.main-footer .footer-top .links-widget .widget-content .list li a:before {
	font-size: 7px !important;
	top: 6px !important;
	left: 0 !important;
	opacity: 0.55;
	color: var(--nji-footer-text-muted);
}

.main-footer .footer-top .links-widget .widget-content .list li a:hover,
.main-footer .footer-top .links-widget .widget-content .list li a:hover:before {
	color: var(--nji-red-light);
	opacity: 1;
}

/* ---------- Contact Us column ---------- */

.nji-footer-contact-widget {
	max-width: 100%;
}

.nji-footer-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nji-footer-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 18px;
}

.nji-footer-contact-list li:last-child {
	margin-bottom: 0;
}

.nji-footer-contact-list li i {
	color: var(--nji-red-light);
	font-size: 16px;
	margin-top: 3px;
	flex-shrink: 0;
	width: 18px;
	text-align: center;
}

.nji-footer-contact-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.nji-footer-contact-label {
	color: var(--nji-footer-text);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 3px;
}

.nji-footer-contact-text span,
.nji-footer-contact-text a {
	color: var(--nji-footer-text-muted);
	font-size: 14.5px;
	line-height: 1.55;
	word-break: break-word;
}

.nji-footer-contact-text a {
	transition: color var(--nji-transition);
}

.nji-footer-contact-text a:hover {
	color: var(--nji-red-light);
}

/* Keep the phone number on a single line on desktop. */
.nji-footer-contact-list li:nth-child(2) .nji-footer-contact-text a {
	white-space: nowrap;
}

/* ---------- Copyright bar ---------- */

.main-footer .footer-bottom {
	background: var(--nji-footer-bg-2);
	border-top: 1px solid var(--nji-footer-border);
	padding: 20px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

.main-footer .footer-bottom .copyright {
	float: none;
	margin: 0;
}

.main-footer .footer-bottom .copyright p,
.main-footer .footer-bottom .copyright p a {
	color: var(--nji-footer-text-muted);
	font-size: 13.5px;
	margin: 0;
}

.main-footer .footer-bottom .copyright p a:hover,
.main-footer .footer-bottom .footer-nav li a:hover {
	color: var(--nji-red-light);
}

.main-footer .footer-bottom .footer-nav {
	float: none;
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-footer .footer-bottom .footer-nav li {
	position: relative;
	padding: 0 14px;
}

.main-footer .footer-bottom .footer-nav li:first-child {
	padding-left: 0;
}

.main-footer .footer-bottom .footer-nav li:last-child {
	padding-right: 0;
}

.main-footer .footer-bottom .footer-nav li:not(:last-child):after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 12px;
	background: var(--nji-footer-border);
}

.main-footer .footer-bottom .footer-nav li a {
	color: var(--nji-footer-text-muted);
	font-size: 13.5px;
}

.scroll-top {
	box-shadow: 0 6px 18px rgba(236, 28, 36, 0.35);
}

/* ---------- Responsive ---------- */

/* Tablet: 2 columns x 2 rows instead of 4 cramped narrow columns. */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.elementor-780 .elementor-element.elementor-element-c404a2e > .elementor-container {
		flex-wrap: wrap;
	}

	.elementor-780 .elementor-element.elementor-element-c404a2e > .elementor-container > .elementor-column {
		width: 50% !important;
		padding-right: 24px;
		margin-bottom: 40px;
	}

	.elementor-780 .elementor-element.elementor-element-8702b57,
	.elementor-780 .elementor-element.elementor-element-f9427e8 {
		padding-right: 0;
	}

	.main-footer .footer-top {
		padding: 56px 0 40px;
	}
}

@media only screen and (max-width: 767px) {
	.elementor-780 .elementor-element.elementor-element-c404a2e > .elementor-container > .elementor-column {
		padding-right: 0;
		margin-bottom: 36px;
	}

	.main-footer .footer-top {
		padding: 48px 0 34px;
	}

	.main-footer .footer-bottom {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.main-footer .footer-bottom .footer-nav {
		flex-wrap: wrap;
		justify-content: center;
	}

	.logo-widget .text {
		max-width: 100%;
	}
}
