/* ==========================================================================
   Site footer (template-parts/footer/site-footer.php)

   A dark band built on type and space rather than boxes: four columns whose
   labels are small tracked caps, links at a comfortable reading size, and one
   full-bleed JETOUR wordmark printed faintly along the bottom edge so the
   brand closes the page without shouting. Spacing is deliberately uneven —
   the brand column is wider and the wordmark gets room to breathe — because an
   evenly divided footer reads as a table, not a composition.
   ========================================================================== */
.jt-footer {
	--f-fg: rgba(255, 255, 255, .72);
	--f-fg-strong: #fff;
	--f-line: rgba(255, 255, 255, .12);

	position: relative;
	overflow: hidden;
	background: var(--jt-dark);
	color: var(--f-fg);
	font-family: var(--jt-font-sans);
	padding: clamp(56px, 7vw, 96px) 0 0;
}
.jt-footer__inner {
	max-width: var(--jt-container);
	margin: 0 auto;
	padding: 0 var(--jt-gutter);
}

/* --------------------------------------------------------------------------
   Columns
   -------------------------------------------------------------------------- */
.jt-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, .9fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
	padding-bottom: clamp(48px, 6vw, 80px);
}

.jt-footer__logo { display: inline-block; color: var(--f-fg-strong); line-height: 0; }
.jt-footer__logo-svg { display: block; width: 172px; height: auto; }
.jt-footer__tagline {
	margin: 22px 0 0;
	max-width: 34ch;
	font-size: 15px;
	line-height: 1.65;
	color: var(--f-fg);
}
.jt-footer__cta { margin-top: 26px; }

.jt-footer__label {
	margin: 0 0 20px;
	font-family: var(--jt-font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .42);
}
.jt-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }

.jt-footer__link {
	position: relative;
	display: inline-block;
	color: var(--f-fg);
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none;
	transition: color .35s var(--jt-ease);
}
/* the underline grows from the left instead of appearing all at once */
.jt-footer__link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3px;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .45s var(--jt-ease-out);
}
.jt-footer__link:hover, .jt-footer__link:focus-visible { color: var(--f-fg-strong); }
.jt-footer__link:hover::after, .jt-footer__link:focus-visible::after { transform: scaleX(1); }
.jt-footer__link--lg { font-size: 20px; font-weight: 500; color: var(--f-fg-strong); letter-spacing: -.01em; }
.jt-footer__link--muted { color: rgba(255, 255, 255, .55); font-size: 14px; max-width: 26ch; }

.jt-footer__social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.jt-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: var(--f-fg-strong);
	background: rgba(255, 255, 255, .07);
	box-shadow: inset 0 0 0 1px var(--f-line);
	transition: background-color .4s var(--jt-ease), color .4s var(--jt-ease), transform .4s var(--jt-ease-out), box-shadow .4s var(--jt-ease);
}
.jt-footer__social-link:hover, .jt-footer__social-link:focus-visible {
	background: var(--jt-teal);
	color: #fff;
	box-shadow: inset 0 0 0 1px transparent;
	transform: translateY(-3px);
}
.jt-footer__dealer {
	margin: 26px 0 0;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .45);
}

/* --------------------------------------------------------------------------
   Wordmark — edge to edge, faint, and clipped by the footer so it feels printed
   on the surface rather than placed on it.
   -------------------------------------------------------------------------- */
.jt-footer__mark {
	position: relative;
	margin: 0 calc(var(--jt-gutter) * -1);
	padding: 0 clamp(8px, 2vw, 24px);
	pointer-events: none;
}
.jt-footer__mark-svg {
	display: block;
	width: 100%;
	height: auto;
	color: #fff;
	opacity: .07;
}

/* --------------------------------------------------------------------------
   Legal
   -------------------------------------------------------------------------- */
.jt-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 28px;
	margin-top: clamp(24px, 3vw, 36px);
	padding: 22px 0 26px;
	border-top: 1px solid var(--f-line);
}
.jt-footer__copy { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .45); }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.jt-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 48px; }
	.jt-footer__col--brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.jt-footer { padding-top: 48px; }
	.jt-footer__grid { grid-template-columns: 1fr; gap: 38px; padding-bottom: 40px; }
	.jt-footer__logo-svg { width: 150px; }
	.jt-footer__tagline { font-size: 14px; }
	.jt-footer__cta { width: 100%; }
	/* The wordmark would be unreadably thin at phone widths: let it run past the edges
	   at a legible size instead of shrinking to a hairline. */
	.jt-footer__mark { margin-inline: calc(var(--jt-gutter) * -1); overflow: hidden; }
	.jt-footer__mark-svg { width: 150%; margin-left: -25%; opacity: .09; }
	.jt-footer__legal { justify-content: flex-start; }
}
