/* ============================================================
   New look - footer (ported from the Hebrew site)
   Opt-in: the page's <body class="tnv-new"> plus this file. Overrides the footer's own <style> block
   (partials/footer.ejs); same markup, links and scan script.
   The page frame carried through the footer: frame lines down both sides, the brand and the link columns
   in cells inside a dashed band, then the standards and the legal links.
   ============================================================ */

.tnv-new .tnv-footer {
	--nf-frame: min(1344px, calc(100% - 2 * clamp(12px, 3.4vw, 48px)));
	--nf-pad: clamp(20px, 5.5vw, 80px);
	--nf-line: rgba(255, 255, 255, 0.1);
	--nf-muted: rgba(255, 255, 255, 0.72);
	padding: 0;
	background: #2c2b36;
	font-family: "Rubik", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* The two vertical frame lines, through the whole footer */
.tnv-new .tnv-footer::before {
	content: "";
	position: absolute;
	inset-block: 0;
	left: 50%;
	z-index: 2;
	width: var(--nf-frame);
	transform: translateX(-50%);
	border-inline: 1px solid var(--nf-line);
	pointer-events: none;
}

.tnv-new .tnv-footer__container {
	width: var(--nf-frame);
	max-width: none;
	padding: clamp(40px, 5vw, 64px) 0 0;
}

/* ---------- Brand and link columns: cells in a dashed band ---------- */

/* A 1px gap over the line colour draws the lines between the cells in any layout */
.tnv-new .tnv-footer__main {
	position: relative;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 4fr);
	/* Every cell runs the band's full height, so the line colour behind never shows under a short one */
	align-items: stretch;
	gap: 1px;
	padding: 0;
	background: var(--nf-line);
}

/* The dashed rules run the full width, like the page's bands */
.tnv-new .tnv-footer__main::before {
	content: "";
	position: absolute;
	inset-block: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	border-block: 1px dashed var(--nf-line);
	pointer-events: none;
}

.tnv-new .tnv-footer__columns {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--nf-line);
}

.tnv-new .tnv-footer__brand,
.tnv-new .tnv-footer__col {
	padding: 36px clamp(20px, 2.4vw, 32px) 40px;
	background: #2c2b36;
}

.tnv-new .tnv-footer__brand {
	justify-content: space-between;
	gap: 32px;
}

.tnv-new .tnv-footer__logo {
	gap: 12px;
}

.tnv-new .tnv-footer__logo-mark {
	max-width: 64px;
}

.tnv-new .tnv-footer__logo-wordmark {
	max-width: 120px;
	color: #ffffff;
}

.tnv-new .tnv-footer__copyright {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.875rem;
}

.tnv-new .tnv-footer__col-title {
	margin: 0 0 18px;
	color: #ffffff;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: normal;
}

.tnv-new .tnv-footer__links {
	gap: 12px;
}

.tnv-new .tnv-footer__link {
	color: var(--nf-muted);
	font-size: 0.9375rem;
}

.tnv-new .tnv-footer__link:hover {
	color: #ffffff;
}

.tnv-new .tnv-footer__link:focus-visible,
.tnv-new .tnv-footer__bottom-link:focus-visible,
.tnv-new .tnv-footer__badge:focus-visible,
.tnv-new .tnv-footer__social:focus-visible,
.tnv-new .tnv-footer__logo:focus-visible {
	outline: 3px solid #c9a8ff;
	outline-offset: 3px;
}

.tnv-new .tnv-footer__address {
	color: var(--nf-muted);
	font-size: 0.875rem;
	line-height: 1.6;
}

.tnv-new .tnv-footer__socials {
	margin-top: 18px;
}

.tnv-new .tnv-footer__social {
	width: 40px;
	height: 40px;
	border-color: rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	background: transparent;
	color: var(--nf-muted);
}

.tnv-new .tnv-footer__social:hover {
	border-color: #c9a8ff;
	background: rgba(142, 86, 220, 0.16);
	color: #ffffff;
}

/* ---------- Standards and legal links ---------- */

.tnv-new .tnv-footer__bottom {
	gap: 16px 32px;
	padding: 28px var(--nf-pad) 32px;
	border-top: 0;
}

.tnv-new .tnv-footer__compliance {
	gap: 10px;
}

.tnv-new .tnv-footer__badge {
	padding: 7px 14px;
	border-color: rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	color: var(--nf-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: normal;
}

.tnv-new .tnv-footer__badge:hover {
	border-color: #c9a8ff;
	color: #ffffff;
}

.tnv-new .tnv-footer__bottom-links {
	gap: 8px 22px;
}

.tnv-new .tnv-footer__bottom-link {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.875rem;
}

.tnv-new .tnv-footer__bottom-link:hover {
	color: #ffffff;
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	.tnv-new .tnv-footer__container {
		padding-inline: 0;
	}

	.tnv-new .tnv-footer__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 1px;
	}

	.tnv-new .tnv-footer__brand {
		flex-direction: row;
		align-items: center;
	}
}

@media (max-width: 768px) {
	.tnv-new .tnv-footer {
		padding: 0;
	}

	.tnv-new .tnv-footer__container {
		padding-inline: 0;
	}

	.tnv-new .tnv-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
	}

	.tnv-new .tnv-footer__bottom {
		align-items: flex-start;
	}
}

@media (max-width: 480px) {
	.tnv-new .tnv-footer__columns {
		grid-template-columns: minmax(0, 1fr);
	}

	.tnv-new .tnv-footer__brand,
	.tnv-new .tnv-footer__col {
		padding: 28px 20px 30px;
	}
}
