/* MasterView footer — matches the header (navy, blue accent, rounded). */

.mv-footer {
	--mvf-bg: #021a35;
	--mvf-bg-2: #022447;
	--mvf-line: rgba(255, 255, 255, 0.09);
	--mvf-text: rgba(232, 238, 246, 0.78);
	--mvf-strong: #ffffff;
	--mvf-accent: #3ea6ff;
	--mvf-accent-2: #1d6fe0;

	position: relative;
	margin: 0;
	padding: 0;
	background: var(--mvf-bg);
	color: var(--mvf-text);
	font-size: 15px;
	line-height: 1.6;
}
.mv-footer *,
.mv-footer *::before,
.mv-footer *::after { box-sizing: border-box; }
.mv-footer p { margin: 0; }
.mv-footer ul { margin: 0; padding: 0; list-style: none; }
.mv-footer li { margin: 0; }
.mv-footer a,
.mv-footer a:visited { color: inherit; text-decoration: none; transition: color 0.15s ease; }
.mv-footer a:hover,
.mv-footer a:focus-visible { color: var(--mvf-strong); }
.mv-footer .mv-icon { flex: none; }
.mv-footer [dir="ltr"] { white-space: nowrap; unicode-bidi: isolate; }

.mv-footer__wrap {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 24px;
}

/* CTA band */
.mv-footer__cta {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(600px 220px at 85% 0%, rgba(62, 166, 255, 0.28), transparent 70%),
		radial-gradient(500px 200px at 10% 100%, rgba(29, 111, 224, 0.25), transparent 70%),
		var(--mvf-bg-2);
	border-bottom: 1px solid var(--mvf-line);
}
.mv-footer__cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 44px;
	padding-bottom: 44px;
}
.mv-footer__cta-title {
	color: var(--mvf-strong);
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.25;
}
.mv-footer__cta-lead { margin-top: 6px !important; font-size: 16.5px; color: rgba(232, 238, 246, 0.82); }
.mv-footer__cta-actions { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }

.mv-footer__btn,
.mv-footer__btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	padding: 0 24px;
	border-radius: 999px;
	font-size: 15.5px;
	font-weight: 600;
	white-space: nowrap;
	transition: filter 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.mv-footer__btn--primary,
.mv-footer__btn--primary:visited {
	background: linear-gradient(135deg, var(--mvf-accent) 0%, var(--mvf-accent-2) 100%);
	color: #fff;
	box-shadow: 0 10px 24px -10px rgba(62, 166, 255, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.mv-footer__btn--primary:hover { filter: brightness(1.08); color: #fff; }
.mv-footer__btn--ghost,
.mv-footer__btn--ghost:visited {
	border: 1px solid rgba(255, 255, 255, 0.22);
	color: #fff;
}
.mv-footer__btn--ghost .mv-icon { width: 17px; height: 17px; color: var(--mvf-accent); }
.mv-footer__btn--ghost:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.35); }

/* Main */
.mv-footer__main {
	display: grid;
	grid-template-columns: minmax(240px, 300px) 1fr;
	gap: 64px;
	padding-top: 56px;
	padding-bottom: 40px;
}
.mv-footer__logo { display: inline-block; line-height: 0; }
.mv-footer__logo img { width: auto; height: 42px; max-width: 100%; }
.mv-footer__about { margin-top: 16px !important; font-size: 14.5px; max-width: 340px; }
.mv-footer__contact { margin-top: 20px !important; display: grid; gap: 8px; font-size: 14.5px; }
.mv-footer__contact strong { color: var(--mvf-strong); font-weight: 600; }
.mv-footer__contact span { color: rgba(232, 238, 246, 0.55); }
.mv-footer__contact a { color: var(--mvf-strong); }
.mv-footer__contact a:hover { color: var(--mvf-accent); }
.mv-footer__hours {
	display: inline-flex;
	width: fit-content;
	margin-top: 4px !important;
	padding: 4px 12px;
	border: 1px solid var(--mvf-line);
	border-radius: 999px;
	font-size: 13px;
}

.mv-footer__cols {
	display: grid;
	grid-template-columns: 1.35fr 1.35fr 1fr 0.7fr;
	gap: 32px;
}
.mv-footer__cols--en { grid-template-columns: 2fr 1fr; }
.mv-footer__col--wide ul { columns: 2; column-gap: 32px; }
.mv-footer__col--wide li { break-inside: avoid; }

.mv-footer__col-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	color: var(--mvf-strong);
	font-size: 15px;
	font-weight: 700;
	list-style: none;
	cursor: default;
}
.mv-footer__col-title::-webkit-details-marker { display: none; }
.mv-footer__col-title .mv-icon { display: none; width: 18px; height: 18px; transition: transform 0.2s ease; }
.mv-footer__col ul { display: grid; gap: 9px; }
.mv-footer__col--wide ul { display: block; }
.mv-footer__col--wide li { margin-bottom: 9px; }
.mv-footer__col a { font-size: 14.5px; line-height: 1.45; }
.mv-footer__more a,
.mv-footer__more a:visited { color: var(--mvf-accent); font-weight: 600; }

/* Subscriber logins */
.mv-footer__login {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	padding-top: 22px;
	padding-bottom: 22px;
	border-top: 1px solid var(--mvf-line);
}
.mv-footer__login-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mvf-strong);
	font-size: 14px;
	font-weight: 700;
}
.mv-footer__login-label .mv-icon { width: 17px; height: 17px; color: var(--mvf-accent); }
.mv-footer__login ul { display: flex; flex-wrap: wrap; gap: 8px; }
.mv-footer__login a,
.mv-footer__login a:visited {
	display: block;
	padding: 6px 14px;
	border: 1px solid var(--mvf-line);
	border-radius: 999px;
	font-size: 13.5px;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.mv-footer__login a:hover { border-color: rgba(62, 166, 255, 0.6); background: rgba(62, 166, 255, 0.08); color: #fff; }

/* Bottom bar */
.mv-footer__bottom { border-top: 1px solid var(--mvf-line); background: rgba(0, 0, 0, 0.18); }
.mv-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	padding-top: 18px;
	padding-bottom: 18px;
	font-size: 13.5px;
	color: rgba(232, 238, 246, 0.6);
}
.mv-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 6px 20px; }

/* Tablet */
@media (max-width: 1100px) {
	.mv-footer__main { grid-template-columns: 1fr; gap: 40px; }
	.mv-footer__about { max-width: 560px; }
}
@media (max-width: 900px) {
	.mv-footer__cta-inner { flex-direction: column; align-items: flex-start; }
	.mv-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mv-footer__cols--en { grid-template-columns: 1fr 1fr; }
}

/* Phone: columns become accordions */
@media (max-width: 767px) {
	.mv-footer__wrap { padding: 0 18px; }
	.mv-footer__cta-inner { padding-top: 34px; padding-bottom: 34px; }
	.mv-footer__cta-actions { width: 100%; }
	.mv-footer__btn { flex: 1; padding: 0 16px; }
	.mv-footer__main { padding-top: 36px; padding-bottom: 12px; gap: 28px; }
	.mv-footer__cols,
	.mv-footer__cols--en { grid-template-columns: 1fr; gap: 0; }
	.mv-footer__col { border-top: 1px solid var(--mvf-line); }
	.mv-footer__col:last-child { border-bottom: 1px solid var(--mvf-line); }
	.mv-footer__col-title { margin: 0; padding: 15px 0; cursor: pointer; }
	.mv-footer__col-title .mv-icon { display: block; }
	.mv-footer__col[open] .mv-footer__col-title .mv-icon { transform: rotate(180deg); }
	.mv-footer__col ul { padding-bottom: 16px; }
	.mv-footer__col--wide ul { columns: 1; }
	.mv-footer__login { padding-top: 20px; padding-bottom: 24px; border-top: 0; }
	.mv-footer__bottom-inner { flex-direction: column; align-items: flex-start; padding-bottom: 80px; }
}
