/**
 * Footer Module Styles
 * ==========================================================================
 * Matches the design spec: 设计稿/全局/footer.html
 *
 * Design Tokens (from src/input.css):
 *   --rd-accent: #ea543f
 *   --rd-accent-hover: #d84a36
 *   --rd-bg: #ffffff
 *   --rd-bg-muted: #f6f6f6
 *   --rd-text: #000000
 *   --rd-text-soft: rgb(0 0 0 / 0.68)
 *   --rd-text-muted: rgb(0 0 0 / 0.46)
 *   --rd-text-inverse: #ffffff
 *   --rd-border: #e5e5e5
 *   --rd-radius-button: 12px
 *
 * Sections:
 * 1. Footer Scope Reset & Container
 * 2. Main Footer (4-col: Brand + 3 Link Columns)
 * 3. Brand Info (Logo, Contact Lines)
 * 4. Link Columns
 * 5. Mid Section (Social + Newsletter)
 * 6. Legal Bar
 * 7. WPForms Newsletter Overrides
 * 8. Responsive
 * ==========================================================================
 */

/* ─── 1. Footer Scope Reset & Container ──────────────────────────────── */
.rd-site-footer-scope {
	font-family: "Geist Sans", "Geist", system-ui, -apple-system, sans-serif;
	color: var(--rd-text);
}

.rd-site-footer-scope a {
	color: inherit;
	text-decoration: none;
}

.rd-site-footer-scope a:hover {
	color: var(--rd-accent);
}

.footer-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ─── 2. Main Footer ──────────────────────────────────────────────────── */
.footer-main {
	padding: 56px 0 36px;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr 1fr;
	gap: 36px;
	align-items: start;
}

/* ─── 3. Brand Info ───────────────────────────────────────────────────── */
.footer-brand {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.footer-brand-logo img {
	width: 120px;
	height: auto;
	display: block;
}

.footer-brand-name {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

.footer-brand-line {
	display: flex;
	gap: 12px;
}

.footer-brand-icon {
	width: 16px;
	height: 16px;
	color: var(--rd-accent);
	flex: none;
	margin-top: 2px;
}

.footer-brand-text {
	font-size: 16px;
	line-height: 1.7;
	color: var(--rd-text-soft);
}

.footer-brand-text small {
	font-size: 14px;
	color: var(--rd-text-muted);
}

/* ─── 4. Link Columns ─────────────────────────────────────────────────── */
.footer-col-title {
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	margin-bottom: 16px;
}

.footer-link-list {
	list-style: none;
	display: grid;
	gap: 10px;
}

.footer-link-list a {
	font-size: 16px;
	line-height: 1.7;
	color: var(--rd-text-soft);
}

.footer-link-list a:hover {
	color: var(--rd-accent);
}

/* ─── 5. Mid Section (Social + Newsletter) ────────────────────────────── */
.footer-mid {
	border-top: 1px solid var(--rd-border);
	padding: 22px 0;
}

.mid-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: center;
}

/* Social Icons */
.footer-social {
	display: inline-flex;
	gap: 12px;
}

.footer-social a {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 1px solid var(--rd-border);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--rd-accent);
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.footer-social a:hover {
	background: var(--rd-accent);
	border-color: var(--rd-accent);
	color: var(--rd-text-inverse);
}

.footer-social svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

/* Newsletter */
.footer-newsletter {
	display: flex;
	justify-content: flex-end;
}

.footer-newsletter-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 12px;
}

/* Fallback newsletter form */
.footer-newsletter-form {
	display: flex;
	width: min(520px, 100%);
	border: 1px solid var(--rd-border);
	border-radius: var(--rd-radius-button);
	overflow: hidden;
	background: var(--rd-bg);
}

.footer-newsletter-form input {
	flex: 1;
	border: 0;
	outline: 0;
	padding: 12px 14px;
	font-size: 16px;
}

.footer-newsletter-form input::placeholder {
	color: var(--rd-text-muted);
}

.footer-newsletter-form button {
	border: 0;
	padding: 0 18px;
	min-width: 132px;
	background: var(--rd-accent);
	color: var(--rd-text-inverse);
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
	transition: background 0.2s ease;
}

.footer-newsletter-form button:hover {
	background: var(--rd-accent-hover);
}

/* ─── 6. Legal Bar ────────────────────────────────────────────────────── */
.footer-legal {
	background: var(--rd-bg-muted);
}

.footer-legal-row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 20px;
	align-items: center;
	padding: 18px 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--rd-text-soft);
}

.footer-legal-links {
	list-style: none;
	display: inline-flex;
	gap: 16px;
}

.footer-legal-links a {
	color: var(--rd-text-soft);
}

.footer-legal-links a:hover {
	color: var(--rd-accent);
}

.footer-consent a {
	color: var(--rd-text-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.footer-consent a:hover {
	color: var(--rd-accent);
}

/* ─── 7. WPForms Newsletter Overrides ─────────────────────────────────── */
.rd-site-footer-scope .wpforms-form {
	margin: 0 !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius-button) !important;
	overflow: hidden !important;
	background: var(--rd-bg) !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field-row {
	display: flex !important;
	flex-direction: row !important;
	gap: 0 !important;
	width: min(520px, 100%) !important;
	margin: 0 !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field {
	padding: 0 !important;
	margin: 0 !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field-sublabel {
	display: none !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field-container {
	padding: 0 !important;
	margin: 0 !important;
}

/* Email input field */
.rd-site-footer-scope .wpforms-form .wpforms-field-email {
	border: 1px solid var(--rd-border);
	border-right: none;
	border-radius: var(--rd-radius-button) 0 0 var(--rd-radius-button);
	background: var(--rd-bg);
	padding: 0 !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field-email input[type="text"],
.rd-site-footer-scope .wpforms-form .wpforms-field-email input[type="email"] {
	border: 0 !important;
	outline: 0 !important;
	padding: 12px 14px !important;
	font-size: 16px !important;
	width: 100% !important;
	background: transparent !important;
	box-shadow: none !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field-email input::placeholder {
	color: var(--rd-text-muted) !important;
}

/* Submit button */
.rd-site-footer-scope .wpforms-form .wpforms-submit-container {
	padding: 0 !important;
	margin: 0 !important;
}

.rd-site-footer-scope .wpforms-form button[type="submit"],
.rd-site-footer-scope .wpforms-form .wpforms-submit {
	border: 0 !important;
	border-radius: 0 var(--rd-radius-button) var(--rd-radius-button) 0 !important;
	padding: 0 18px !important;
	min-width: 132px;
	background: var(--rd-accent) !important;
	color: var(--rd-text-inverse) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	cursor: pointer;
	transition: background 0.2s ease;
	height: auto !important;
}

.rd-site-footer-scope .wpforms-form button[type="submit"]:hover,
.rd-site-footer-scope .wpforms-form .wpforms-submit:hover {
	background: var(--rd-accent-hover) !important;
}

/* Remove WPForms default borders/wrappers */
.rd-site-footer-scope .wpforms-form .wpforms-field-wrapper {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-field-row-block,
.rd-site-footer-scope .wpforms-form .wpforms-field-container,
.rd-site-footer-scope .wpforms-form .wpforms-submit-container {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Error messages */
.rd-site-footer-scope .wpforms-form .wpforms-error-container {
	margin-top: 8px !important;
}

.rd-site-footer-scope .wpforms-form .wpforms-error {
	color: var(--rd-accent) !important;
	font-size: 14px !important;
}

/* Success message */
.rd-site-footer-scope .wpforms-form .wpforms-confirmation-container {
	background: transparent !important;
	border: none !important;
	padding: 8px 0 !important;
	color: var(--rd-text) !important;
}

/* ─── 8. Responsive ──────────────────────────────────────────────────── */
@media (max-width: 980px) {
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
	}

	.mid-row {
		grid-template-columns: 1fr;
	}

	.footer-newsletter {
		justify-content: flex-start;
	}

	.footer-legal-row {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.footer-legal-links {
		flex-wrap: wrap;
	}
}

@media (max-width: 560px) {
	.footer-container {
		padding: 0 16px;
	}

	.footer-newsletter-form,
	.rd-site-footer-scope .wpforms-form .wpforms-field-row {
		flex-direction: column !important;
		border-radius: 14px !important;
	}

	.footer-newsletter-form button,
	.rd-site-footer-scope .wpforms-form button[type="submit"],
	.rd-site-footer-scope .wpforms-form .wpforms-submit {
		width: 100% !important;
		min-height: 44px !important;
		border-radius: 0 0 14px 14px !important;
	}

	.rd-site-footer-scope .wpforms-form .wpforms-field-email {
		border-radius: 14px 14px 0 0 !important;
		border-right: 1px solid var(--rd-border) !important;
	}
}