/* ===========================================================
   footer.css
   =========================================================== */

.site-footer { background: var(--vc-bg-alt); border-top: 1px solid var(--vc-line); }

.site-footer__cta { padding: clamp(80px, 10vw, 160px) 0; text-align: center; border-bottom: 1px solid var(--vc-line); }
.site-footer__cta-title { font-size: clamp(2rem, 4vw + 1rem, 4.5rem); margin: var(--vc-s-3) auto var(--vc-s-8); max-width: 18ch; }

.site-footer__main { padding: clamp(48px, 6vw, 96px) 0; }
.site-footer__grid {
	display: grid; gap: var(--vc-s-10);
	grid-template-columns: 1fr;
}
@media (min-width: 768px)  { .site-footer__grid { grid-template-columns: 1.4fr 2fr 1fr; } }
@media (min-width: 1024px) { .site-footer__grid { grid-template-columns: 1.5fr 3fr 1fr; gap: var(--vc-s-16); } }

.site-footer__brand .brand, .site-footer__brand .brand--text { color: var(--vc-fg); font-size: var(--vc-text-lg); }
.site-footer__brand img { max-height: 90px; }
.site-footer__desc { margin-top: var(--vc-s-5); color: var(--vc-muted); max-width: 36ch; }

.site-footer__nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--vc-s-8); }
@media (min-width: 768px) { .site-footer__nav { grid-template-columns: repeat(3, 1fr); } }
.site-footer__col-title { font-size: var(--vc-text-sm); letter-spacing: .12em; text-transform: uppercase; color: var(--vc-muted); margin-bottom: var(--vc-s-4); }
.site-footer__col ul { display: flex; flex-direction: column; gap: var(--vc-s-2); }
.site-footer__col a { color: var(--vc-fg-soft); font-size: var(--vc-text-md); }
.site-footer__col a:hover { color: var(--vc-fg); }

.site-footer__col--newsletter { grid-column: 1 / -1; }
@media (min-width: 768px) { .site-footer__col--newsletter { grid-column: auto; } }
.newsletter-form { display: flex; gap: var(--vc-s-2); margin-top: var(--vc-s-3); flex-wrap: wrap; }
.newsletter-form input[type=email] {
	flex: 1; min-width: 0;
	background: var(--vc-bg-soft); border: 1px solid var(--vc-line); border-radius: 999px;
	padding: 12px 18px; color: var(--vc-fg);
}
.newsletter-form__feedback { width: 100%; font-size: var(--vc-text-sm); color: var(--vc-muted); }
.newsletter-form__feedback.is-success { color: #22D3EE; }
.newsletter-form__feedback.is-error   { color: #FF6E7B; }

.site-footer__contact a { display: block; color: var(--vc-fg); font-size: var(--vc-text-md); margin-bottom: var(--vc-s-2); }

.site-footer__bottom {
	border-top: 1px solid var(--vc-line);
	padding: var(--vc-s-6) 0;
}
.site-footer__bottom .container {
	display: flex; flex-wrap: wrap; gap: var(--vc-s-5); align-items: center; justify-content: space-between;
}
.site-footer__copy { font-size: var(--vc-text-sm); color: var(--vc-muted); margin: 0; }
.site-footer__social { display: flex; gap: var(--vc-s-5); }
.site-footer__social a { color: var(--vc-muted); font-size: var(--vc-text-sm); }
.site-footer__social a:hover { color: var(--vc-fg); }
.site-footer__legal { font-size: var(--vc-text-sm); }
.site-footer__legal-list { display: flex; gap: var(--vc-s-5); }
.site-footer__legal-list a { color: var(--vc-muted); }
.site-footer__legal-list a:hover { color: var(--vc-fg); }

.site-footer__widgets { display: grid; gap: var(--vc-s-8); padding: var(--vc-s-12) 0; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
