/**
 * Semantic footer layout — loaded after custom.css (wins cascade).
 */

#colophon.site-footer .footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}

/* Pure CSS grid — avoids .site-footer .row { margin: 0 } breaking Bootstrap cols */
#colophon.site-footer .footer-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	width: 100%;
	align-items: start;
}

@media (min-width: 768px) {
	#colophon.site-footer .footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 992px) {
	#colophon.site-footer .footer-grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
	}
}

#colophon.site-footer .footer-col {
	min-width: 0;
}

#colophon.site-footer .footer-logo {
	font-size: 1.25rem;
	font-weight: 700;
	color: #ffffff !important;
	margin-bottom: 0.5rem;
}

#colophon.site-footer .footer-tagline {
	font-weight: 600;
	font-size: 0.95rem;
	margin-bottom: 0.75rem !important;
	color: rgba(255, 255, 255, 0.92) !important;
}

#colophon.site-footer .footer-brand-blurb,
#colophon.site-footer .footer-address {
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.6;
	margin-bottom: 1rem !important;
}

#colophon.site-footer .footer-heading {
	display: block;
	font-weight: 600;
	font-size: 1.1rem;
	margin-bottom: 1.25rem;
	color: #ffffff !important;
}

#colophon.site-footer .footer-col nav,
#colophon.site-footer .footer-socials {
	display: block;
}

#colophon.site-footer .footer-col nav > ul,
#colophon.site-footer .footer-social-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
}

#colophon.site-footer .footer-col nav > ul > li,
#colophon.site-footer .footer-social-list > li {
	display: block !important;
	list-style: none !important;
	margin: 0 0 0.75rem 0 !important;
	padding: 0 !important;
}

#colophon.site-footer .footer-col nav > ul > li:last-child,
#colophon.site-footer .footer-social-list > li:last-child {
	margin-bottom: 0 !important;
}

#colophon.site-footer .footer-col nav > ul > li::before,
#colophon.site-footer .footer-col nav > ul > li::after,
#colophon.site-footer .footer-social-list > li::before,
#colophon.site-footer .footer-social-list > li::after {
	content: none !important;
	display: none !important;
}

#colophon.site-footer .footer-col nav a,
#colophon.site-footer .footer-social-link {
	display: inline-block !important;
	color: #94a3b8 !important;
	text-decoration: none !important;
	padding: 0 !important;
	font-size: 0.9rem;
	white-space: normal;
}

#colophon.site-footer .footer-col nav a:hover,
#colophon.site-footer .footer-social-link:hover {
	color: #ffffff !important;
	text-decoration: none !important;
}

#colophon.site-footer .footer-bottom {
	margin: 3rem auto 0;
	padding-top: 1.5rem;
	border-top: 1px solid #334155;
	text-align: center;
	font-size: 0.875rem;
}

#colophon.site-footer .footer-bottom p {
	margin: 0 !important;
	color: #94a3b8 !important;
}

html[dir="rtl"] #colophon.site-footer .footer-grid,
body.rtl #colophon.site-footer .footer-grid {
	direction: rtl;
}

html[dir="rtl"] #colophon.site-footer .footer-col nav > ul,
body.rtl #colophon.site-footer .footer-social-list {
	padding-inline-start: 0 !important;
	padding-inline-end: 0 !important;
}

@media (max-width: 767.98px) {
	#colophon.site-footer {
		padding: 2rem 0 1rem !important;
	}

	#colophon.site-footer .footer-grid {
		gap: 2rem;
	}
}
