/* =========================================================
   Footer
   ========================================================= */

.site-footer {
	background: var(--jck-footer-bg, var(--jck-color-navy-900));
	color: var(--jck-footer-text, rgba(255,255,255,.78));
	font-size: var(--jck-footer-font-size, 15px);
	margin-top: 64px;
}

.footer-main { padding-block: var(--jck-footer-spacing, 56px); }

.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
}

.footer-col--about .site-logo { max-height: 34px; margin-bottom: 16px; }
.footer-about-text { color: var(--jck-footer-text, rgba(255,255,255,.65)); font-size: .95rem; max-width: 32ch; }

.site-footer .widget-title { color: var(--jck-footer-heading, #fff); }
.footer-col a { color: var(--jck-footer-text, rgba(255,255,255,.72)); display: inline-block; padding: 6px 0; }
.footer-col a:hover { color: var(--jck-footer-heading, #fff); }
.footer-menu li, .footer-latest-posts li { border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-menu li:last-child, .footer-latest-posts li:last-child { border-bottom: none; }

.social-links { display: flex; gap: 10px; margin-top: 4px; }
.social-links__item {
	width: 38px; height: 38px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	display: inline-flex; align-items: center; justify-content: center;
	transition: background-color .15s ease, transform .15s ease;
}
.social-links__item:hover { background: var(--jck-color-teal-600); transform: translateY(-2px); }
.social-links__icon { width: 16px; height: 16px; background: currentColor; -webkit-mask-size: contain; mask-size: contain; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-block: 20px; }
.footer-bottom__inner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	font-size: .85rem; color: rgba(255,255,255,.55);
}
.footer-legal-menu { display: flex; gap: 18px; }
.footer-legal-menu a { color: rgba(255,255,255,.55); padding: 0; }
.footer-legal-menu a:hover { color: #fff; }

/* ---- Newsletter ---- */
.newsletter-section {
	background: linear-gradient(120deg, var(--jck-color-teal-600), var(--jck-color-navy-800));
	color: #fff;
}
.newsletter-inner {
	display: flex; align-items: center; justify-content: space-between; gap: 32px;
	padding-block: 44px;
	flex-wrap: wrap;
}
.newsletter-copy h2 { color: #fff; margin-bottom: 6px; }
.newsletter-copy p { color: rgba(255,255,255,.85); margin: 0; }
.newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; }
.newsletter-form input[type="email"] {
	padding: 13px 16px;
	border-radius: var(--jck-radius-sm);
	border: none;
	min-width: 260px;
}
