/**
 * Flowmez base — design tokens, shared container, and the site-wide footer.
 * Loaded on every page.
 */

:root {
	--fz-primary: #3b82f6;
	--fz-primary-dark: #2563eb;
	--fz-bg: #ffffff;
	--fz-alt: #f8fafc;
	--fz-text: #1f2937;
	--fz-muted: #64748b;
	--fz-border: #e2e8f0;
	--fz-dark: #0f172a;
	--fz-radius: 14px;
	--fz-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .05);
	--fz-font-head: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fz-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.fz-container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}


/* ---------- Site-wide footer ---------- */

/* GP adds .grid-container when the footer layout is "contained", which would
   cap the dark background at 1200px instead of letting it span the window. */
.site-footer.flowmez-footer-active,
.site-footer.flowmez-footer-active.grid-container {
	background: var(--fz-dark);
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.fz-footer {
	background: var(--fz-dark);
	color: #cbd5e1;
	font-family: var(--fz-font-body);
	line-height: 1.65;
	padding: 58px 0 0;
}

.fz-footer h2,
.fz-footer h3 {
	font-family: var(--fz-font-head);
	margin: 0;
}

.fz-footer p {
	margin: 0;
}

.fz-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fz-footer__top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 44px;
	padding-bottom: 42px;
}

.fz-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

/* the_custom_logo() emits its own .custom-logo-link anchor, so the image is a
   sibling of .fz-footer__logo rather than a child of it. */
.fz-footer__brand .custom-logo-link {
	display: inline-block;
	line-height: 0;
}

.fz-footer__brand .custom-logo,
.fz-footer__logo img {
	width: auto;
	height: auto;
	max-width: 240px;
	max-height: 68px;
}

.fz-footer__name {
	font-family: var(--fz-font-head);
	font-size: 20px;
	font-weight: 700;
	color: #fff;
}

h2.fz-footer__heading {
	font-size: 14.5px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 16px;
}

.fz-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.fz-footer__col a {
	font-size: 14px;
	color: #94a3b8;
	text-decoration: none;
	transition: color .18s ease;
}

.fz-footer__col a:hover,
.fz-footer__col a:focus {
	color: #fff;
}

.fz-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .09);
	padding: 22px 0;
	font-size: 13px;
	color: #94a3b8;
	text-align: center;
}

@media (max-width: 900px) {

	.fz-footer__top {
		grid-template-columns: 1fr 1fr;
		gap: 34px;
	}

	.fz-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {

	.fz-container {
		padding: 0 18px;
	}

	.fz-footer__top {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}
