/* Move to Spain Homes: site footer (novamira-sandbox/mtsh-footer.php) */

@font-face { font-family: 'mf-montserrat'; font-style: normal; font-weight: 600 700; font-display: swap; src: url(fonts/montserrat-latin.woff2) format('woff2'); }

.mtsh-footer {
	--mf-bg: #232E4F;
	--mf-field: #1C2541;
	--mf-field-line: #3A4468;
	--mf-rule: #33405F;
	--mf-gold: #D8AC5E;
	--mf-red: #B8274A;
	--mf-red-dark: #9C1F3D;
	--mf-link: #C7D2E3;
	--mf-muted: #A6B2C9;
	--mf-faint: #95A1BC;
	--mf-head: 'mf-montserrat', 'Montserrat', system-ui, sans-serif;
	background: var(--mf-bg);
	color: var(--mf-link);
	font-size: 17px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
.mtsh-footer *, .mtsh-footer *::before, .mtsh-footer *::after { box-sizing: border-box; }
.mtsh-footer :where(h2, p, ul, li, form) { margin: 0; padding: 0; }
.mtsh-footer ul { list-style: none; }
.mtsh-footer [hidden] { display: none !important; }
/* Site custom CSS forces Inter !important on headings; the footer headings use Montserrat. */
.mtsh-footer .mf-news-title, .mtsh-footer .mf-col-title { font-family: var(--mf-head) !important; }

.mtsh-footer .mf-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }

/* Links */
.mtsh-footer a { color: var(--mf-link); text-decoration: none; transition: color .15s ease; }
.mtsh-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mtsh-footer a:focus-visible, .mtsh-footer button:focus-visible, .mtsh-footer input:focus-visible { outline: 3px solid var(--mf-gold); outline-offset: 3px; }

/* Newsletter band */
.mtsh-footer .mf-news { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 48px 64px; align-items: center; padding: 64px 0 64px; border-bottom: 1px solid var(--mf-rule); }
.mtsh-footer .mf-news-title { font-size: 28px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: #fff; }
.mtsh-footer .mf-news-text { margin-top: 12px; max-width: 620px; font-size: 18px; line-height: 1.6; color: var(--mf-muted); }
.mtsh-footer .mf-label { display: block; margin: 0 0 10px; font-size: 16px; font-weight: 600; color: #CAD1E1; }
.mtsh-footer .mf-news-row { display: flex; gap: 12px; }
.mtsh-footer input.mf-input {
	flex: 1 1 auto; min-width: 0; height: 60px; margin: 0; padding: 0 20px;
	font-size: 18px; color: #fff; background: var(--mf-field);
	border: 1px solid var(--mf-field-line); border-radius: 10px; box-shadow: none;
}
.mtsh-footer input.mf-input::placeholder { color: #737B8E; opacity: 1; }
.mtsh-footer input.mf-input:focus { border-color: var(--mf-gold); outline: none; box-shadow: 0 0 0 3px rgba(216,172,94,.25); }
.mtsh-footer input.mf-input[aria-invalid="true"] { border-color: #E46A86; }
.mtsh-footer .mf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mtsh-footer .mf-news-status { margin-top: 10px; font-size: 15px; color: var(--mf-link); }
.mtsh-footer .mf-news-status.is-ok { color: #9ED9B8; }
.mtsh-footer .mf-news-status.is-err { color: #F2A5B6; }

/* Buttons */
.mtsh-footer .mf-btn,
.mtsh-footer button.mf-btn {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	height: 60px; padding: 0 36px; margin: 0; border: 0; border-radius: 10px;
	background: var(--mf-red); color: #fff;
	font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: 0; text-transform: none; text-decoration: none;
	cursor: pointer; transition: background .15s ease;
}
.mtsh-footer .mf-btn:hover, .mtsh-footer button.mf-btn:hover, .mtsh-footer .mf-btn:focus { background: var(--mf-red-dark); color: #fff; text-decoration: none; }
.mtsh-footer button.mf-btn[disabled] { opacity: .7; cursor: progress; }
.mtsh-footer .mf-btn--sm { height: 52px; padding: 0 28px; font-size: 17px; }

/* Main columns */
.mtsh-footer .mf-main { display: grid; grid-template-columns: minmax(0, 1.45fr) repeat(4, minmax(0, 1fr)); gap: 40px 28px; padding: 64px 0 88px; }
.mtsh-footer .mf-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding-right: 20px; }
.mtsh-footer .mf-logo { display: block; }
.mtsh-footer .mf-logo img { display: block; width: auto; height: 76px; max-width: 100%; }
.mtsh-footer .mf-logo:hover { text-decoration: none; }
.mtsh-footer .mf-about { font-size: 16px; line-height: 1.65; color: var(--mf-link); }
.mtsh-footer .mf-social { display: flex; gap: 12px; }
.mtsh-footer .mf-social-link { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid #3F4B6B; border-radius: 10px; color: #E5EBFB; }
.mtsh-footer .mf-social-link:hover { border-color: var(--mf-gold); color: #fff; background: rgba(255,255,255,.04); }
.mtsh-footer .mf-social-link svg { display: block; }

.mtsh-footer .mf-col-title { margin-bottom: 20px; font-size: 15px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1.3; color: var(--mf-gold); }
.mtsh-footer .mf-links { display: flex; flex-direction: column; gap: 12px; }
.mtsh-footer .mf-links a { display: inline-block; font-size: 15.5px; line-height: 1.45; }

/* Legal */
.mtsh-footer .mf-legal { padding: 40px 0 44px; border-top: 1px solid var(--mf-rule); }
.mtsh-footer .mf-disclaimer { max-width: 900px; font-size: 14.5px; line-height: 1.7; color: var(--mf-faint); }
.mtsh-footer .mf-legal-row { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; margin-top: 24px; }
.mtsh-footer .mf-copy { font-size: 16px; color: var(--mf-muted); }
.mtsh-footer .mf-legal-nav ul { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.mtsh-footer .mf-legal-nav a { font-size: 16px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.mtsh-footer .mf-main { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 32px; }
	.mtsh-footer .mf-brand { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 40px; row-gap: 20px; align-items: center; padding-right: 0; }
	.mtsh-footer .mf-logo { grid-row: span 2; }
	.mtsh-footer .mf-about { max-width: 640px; }
	.mtsh-footer .mf-brand .mf-btn, .mtsh-footer .mf-social { grid-column: 2; }
	.mtsh-footer .mf-brand .mf-btn { justify-self: start; }
}
@media (max-width: 900px) {
	.mtsh-footer .mf-news { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 56px 0; }
	.mtsh-footer .mf-news-title { font-size: 25px; }
	.mtsh-footer .mf-main { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 56px 0 64px; }
	.mtsh-footer .mf-brand { display: flex; align-items: flex-start; }
}
@media (max-width: 600px) {
	.mtsh-footer .mf-wrap { padding: 0 20px; }
	.mtsh-footer .mf-news { padding: 48px 0 44px; }
	.mtsh-footer .mf-news-title { font-size: 22px; line-height: 1.3; }
	.mtsh-footer .mf-news-text { font-size: 16.5px; }
	.mtsh-footer .mf-news-row { flex-direction: column; }
	.mtsh-footer input.mf-input, .mtsh-footer button.mf-btn { width: 100%; height: 56px; }
	.mtsh-footer input.mf-input { font-size: 16px; } /* 16px stops iOS zooming into the field */
	.mtsh-footer .mf-main { gap: 40px 20px; padding: 48px 0 52px; }
	.mtsh-footer .mf-logo img { height: 64px; }
	.mtsh-footer .mf-about { font-size: 16px; }
	.mtsh-footer .mf-brand .mf-btn { width: 100%; }
	.mtsh-footer .mf-col-title { font-size: 13.5px; margin-bottom: 14px; }
	.mtsh-footer .mf-links { gap: 4px; }
	.mtsh-footer .mf-links a { display: block; padding: 8px 0; font-size: 16px; }  /* 40px+ tap targets */
	.mtsh-footer .mf-legal { padding: 32px 0 96px; }  /* room for the scroll-to-top button */
	.mtsh-footer .mf-disclaimer { font-size: 14px; }
	.mtsh-footer .mf-legal-row { flex-direction: column-reverse; align-items: flex-start; gap: 20px; }
	.mtsh-footer .mf-legal-nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; width: 100%; }
	.mtsh-footer .mf-legal-nav a { display: block; padding: 8px 0; }
	.mtsh-footer .mf-copy { font-size: 14.5px; }
}
@media (max-width: 360px) {
	.mtsh-footer .mf-main { grid-template-columns: minmax(0, 1fr); }
}
