/* ==========================================================================
   NILECODES — Footer Styles
   Multi-column widgetized footer, social links, copyright bar.
   ========================================================================== */

/* ── Footer ────────────────────────────────────────────────────────────────── */

.nc-footer {
	background-color: var(--nc-primary);
	color: #C8D3E0;
}

/* ── Footer Widgets ────────────────────────────────────────────────────────── */

.nc-footer__widgets {
	padding-block: var(--nc-sp-12);
	border-block-end: 1px solid rgba(255, 255, 255, 0.08);
}

.nc-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--nc-sp-8);
}

@media (min-width: 576px) {
	.nc-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.nc-footer__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Footer widget title overrides */
.nc-widget__title--footer {
	color: #FFFFFF;
	font-size: var(--nc-font-size-base);
	border-block-end-color: var(--nc-accent-green);
}

.nc-widget--footer {
	color: #A0AEC0;
}

.nc-widget--footer a {
	color: #C8D3E0;
	transition: color var(--nc-transition-fast);
}

.nc-widget--footer a:hover {
	color: var(--nc-accent-green);
}

/* ── Footer Middle (Nav + Social) ──────────────────────────────────────────── */

.nc-footer__middle {
	padding-block: var(--nc-sp-6);
	border-block-end: 1px solid rgba(255, 255, 255, 0.08);
}

.nc-footer__middle-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--nc-sp-6);
}

@media (min-width: 768px) {
	.nc-footer__middle-inner {
		flex-direction: row;
		justify-content: space-between;
	}
}

/* Footer nav */
.nc-footer__nav-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--nc-sp-2);
}

.nc-footer__nav-list .menu-item > a {
	display: inline-flex;
	padding: var(--nc-sp-1) var(--nc-sp-3);
	font-size: var(--nc-font-size-sm);
	font-weight: 500;
	color: #A0AEC0;
	border-radius: var(--nc-radius-md);
	transition: color var(--nc-transition-fast);
}

.nc-footer__nav-list .menu-item > a:hover {
	color: var(--nc-accent-green);
}

/* Social links */
.nc-footer__social {
	display: flex;
	align-items: center;
	gap: var(--nc-sp-3);
}

.nc-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: #A0AEC0;
	background-color: rgba(255, 255, 255, 0.06);
	border-radius: var(--nc-radius-full);
	transition: color var(--nc-transition-fast), background-color var(--nc-transition-fast), transform var(--nc-transition-fast);
}

.nc-footer__social a:hover {
	color: var(--nc-primary);
	background-color: var(--nc-accent-green);
	transform: translateY(-2px);
}

/* ── Footer Bottom (Copyright) ─────────────────────────────────────────────── */

.nc-footer__bottom {
	padding-block: var(--nc-sp-4);
}

.nc-footer__bottom-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--nc-sp-3);
}

@media (min-width: 768px) {
	.nc-footer__bottom-inner {
		flex-direction: row;
		justify-content: space-between;
	}
}

.nc-footer__copyright {
	font-size: var(--nc-font-size-xs);
	color: #6B7A8D;
	margin-block-end: 0;
}

/* Footer dark mode toggle */
.nc-footer__dark-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--nc-sp-2);
	padding: var(--nc-sp-2) var(--nc-sp-3);
	font-size: var(--nc-font-size-xs);
	font-weight: 500;
	color: #A0AEC0;
	background-color: rgba(255, 255, 255, 0.06);
	border-radius: var(--nc-radius-full);
	transition: color var(--nc-transition-fast), background-color var(--nc-transition-fast);
	cursor: pointer;
	border: none;
}

.nc-footer__dark-toggle:hover {
	color: var(--nc-accent-green);
	background-color: rgba(255, 255, 255, 0.12);
}

.nc-footer__dark-label {
	display: none;
}

@media (min-width: 576px) {
	.nc-footer__dark-label {
		display: inline;
	}
}

/* ── Before-Footer Ad ──────────────────────────────────────────────────────── */

.nc-ad-slot--before-footer-banner {
	background-color: var(--nc-surface-alt);
}
