.tc-footer {
	font-family: var(--wp--preset--font-family--nanum-gothic);
}

.tc-footer-cta {
	padding-block: var(--wp--custom--layout--section-padding);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--surface-card);
}

.tc-footer-cta-grid {
	display: grid;
	gap: var(--wp--preset--spacing--6xl);
	align-items: center;
}

.tc-footer-eyebrow,
.tc-footer-info h3 {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: var(--wp--custom--font-weight--bold);
	letter-spacing: var(--wp--custom--letter-spacing--footer);
}

.tc-footer-cta h2 {
	margin-top: var(--wp--preset--spacing--xs);
	font-family: var(--wp--preset--font-family--noto-sans-kr);
	font-size: var(--wp--preset--font-size--display);
	font-weight: var(--wp--custom--font-weight--black);
	line-height: var(--wp--custom--line-height--tight);
}

.tc-footer-cta h2 + p {
	margin-top: var(--wp--preset--spacing--lg);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--footer);
}

.tc-footer-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--wp--custom--layout--touch-target);
	margin-top: var(--wp--preset--spacing--2xl);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--lg);
	border: var(--wp--custom--border-width--hairline) solid var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--radius--button);
	color: var(--wp--preset--color--surface-card);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-weight: var(--wp--custom--font-weight--bold);
}

.tc-footer-button:hover,
.tc-footer-button:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-deep);
}

.tc-map {
	display: grid;
	align-content: center;
	gap: var(--wp--preset--spacing--2xs);
	aspect-ratio: var(--wp--custom--aspect--long);
	padding: var(--wp--preset--spacing--lg);
	border-radius: var(--wp--custom--radius--xs);
	background: var(--wp--preset--color--surface-green);
	color: var(--wp--preset--color--primary-content);
}

.tc-map span {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: var(--wp--custom--font-weight--bold);
}

.tc-map strong {
	font-size: var(--wp--preset--font-size--subheading);
}

.tc-footer-info {
	padding-block: var(--wp--preset--spacing--6xl);
	background: var(--wp--preset--color--primary-deep);
	color: var(--wp--preset--color--surface-card);
}

.tc-footer-info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wp--custom--layout--card-min)), 1fr));
	gap: var(--wp--preset--spacing--4xl);
}

.tc-footer-info-grid h3 {
	margin-bottom: var(--wp--preset--spacing--xs);
}

.tc-footer-info-grid p,
.tc-footer-info-grid a,
.tc-hours {
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--line-height--footer);
}

.tc-footer-phone {
	font-size: var(--wp--preset--font-size--subheading);
	font-weight: var(--wp--custom--font-weight--bold);
}

.tc-hours {
	display: grid;
	gap: var(--wp--preset--spacing--2xs);
}

.tc-hours div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: var(--wp--preset--spacing--xs);
}

.tc-footer-bottom {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xs);
	margin-top: var(--wp--preset--spacing--5xl);
	padding-top: var(--wp--preset--spacing--lg);
	border-top: var(--wp--custom--border-width--hairline) solid var(--wp--preset--color--border);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: var(--wp--preset--font-size--meta);
}

/* TODO: Figma에 없음 — 임의값: 1024px부터 푸터 CTA와 지도를 두 열로 배치한다. */
@media (min-width: 1024px) {
	.tc-footer-cta-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.tc-footer-bottom {
		flex-direction: row;
		justify-content: space-between;
	}
}

