/* ===========================================================================
 * Footer component — cohesive dark footer block.
 *
 * Structure (parts/footer.html):
 *   .cb-footer                  full-width block, 2px accent top rule
 *     .cb-email-signup          newsletter card ("Join the Grid")
 *     .cb-footer__cols          4-up link columns
 *     .cb-footer__bottom        © / dealer badge / payment badges bar
 * ========================================================================= */

.cb-footer {
	border-top: 2px solid var(--wp--preset--color--accent);
	/* wideSize (1440px) === common viewport width and no root padding is set,
	   so alignwide children would sit flush against the screen edge without this. */
	padding-left: var(--wp--preset--spacing--50);
	padding-right: var(--wp--preset--spacing--50);
}

@media (max-width: 600px) {
	.cb-footer {
		padding-left: var(--wp--preset--spacing--40);
		padding-right: var(--wp--preset--spacing--40);
	}
}

/* --------------------------------------------------------------------------
 * Newsletter card — compact, centred, inside the footer.
 * ------------------------------------------------------------------------ */
.cb-email-signup {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--cb-radius, 8px);
	text-align: center;
}

.cb-email-signup__title {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-family: var(--cb-display-font, 'Saira SemiCondensed', 'DM Sans', sans-serif);
	font-size: var(--wp--preset--font-size--heading);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
}

.cb-email-signup__lede {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-muted);
}

/* Inline input + button pill — joined corners, equal height. */
.cb-email-signup__form {
	display: flex;
	max-width: 440px;
	margin: 0 auto;
}

.cb-email-signup__form input[type='email'] {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface-sunken);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-right: 0;
	border-radius: 999px 0 0 999px;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text);
}

.cb-email-signup__form input[type='email']::placeholder {
	color: var(--wp--preset--color--text-subtle);
}

.cb-email-signup__form input[type='email']:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
}

.cb-email-signup__form button[type='submit'] {
	flex: 0 0 auto;
	height: 48px;
	padding: 0 var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0 999px 999px 0;
	font-family: var(--cb-display-font, 'Saira SemiCondensed', 'DM Sans', sans-serif);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text-on-accent);
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.cb-email-signup__form button[type='submit']:hover,
.cb-email-signup__form button[type='submit']:focus-visible {
	background: var(--wp--preset--color--accent-hover);
	border-color: var(--wp--preset--color--accent-hover);
}

.cb-email-signup__note {
	margin: var(--wp--preset--spacing--30) 0 0;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--text-subtle);
}

.cb-email-signup__success {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--success);
}

@media (max-width: 600px) {
	.cb-email-signup {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	}

	.cb-email-signup__form {
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
	}

	.cb-email-signup__form input[type='email'] {
		border-right: 1px solid var(--wp--preset--color--border-strong);
		border-radius: 999px;
		text-align: center;
	}

	.cb-email-signup__form button[type='submit'] {
		border-radius: 999px;
	}
}

/* --------------------------------------------------------------------------
 * Link columns — uppercase letterspaced headings, muted links, accent hover.
 * ------------------------------------------------------------------------ */
.cb-footer__cols {
	padding-bottom: var(--wp--preset--spacing--50);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.cb-footer__heading {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cb-footer__nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--text-muted);
	transition: color 0.15s ease;
}

.cb-footer__nav .wp-block-navigation-item__content:hover,
.cb-footer__nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.cb-footer__nav.wp-block-navigation {
	gap: var(--wp--preset--spacing--20);
}

/* Tablet: 2-up. Mobile: columns stack via core, just tighten the gap. */
@media (max-width: 781px) {
	.cb-footer__cols.wp-block-columns {
		flex-wrap: wrap !important;
		gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	}

	.cb-footer__cols > .wp-block-column {
		flex-basis: calc(50% - var(--wp--preset--spacing--50)) !important;
	}
}

@media (max-width: 480px) {
	.cb-footer__cols > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* --------------------------------------------------------------------------
 * Bottom bar — © line, dealer badge, payment text badges.
 * ------------------------------------------------------------------------ */
.cb-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	margin-top: var(--wp--preset--spacing--40);
}

.cb-footer__copy {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--text-muted);
}

.cb-footer__dealer {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.4;
	text-align: center;
}

.cb-footer__dealer strong {
	color: var(--wp--preset--color--text);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cb-footer__dealer span {
	color: var(--wp--preset--color--text-subtle);
}

.cb-footer__payments {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cb-footer__payments li {
	padding: 3px 10px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--text-muted);
	white-space: nowrap;
}

@media (max-width: 781px) {
	.cb-footer__bottom {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

	.cb-footer__payments {
		justify-content: center;
	}
}
