/**
 * Footer - B2B News Page Revamp.
 *
 * Replaces the legacy .footer-1-* layout in style.css, whose uneven gaps and
 * margins (and a CTA the design no longer has) pushed the columns out of line.
 * The content sits in the same 1176px container as the header and the page.
 *
 * Figma: node 177:1307 (desktop, 1440x420) and node 1:27303 (mobile, 375w).
 */

.nws-footer {
	--nws-ft-text: #d3d5d9;
	--nws-ft-heading: "Plus Jakarta Sans", sans-serif;
	--nws-ft-body: "Inter", sans-serif;

	width: 100%;
	/* The legacy `footer` rule adds 20px padding, which insets the copyright bar. */
	padding: 0;
	background: linear-gradient(180deg, #000 0%, #031e1a 100%);
	color: #fff;
	font-family: var(--nws-ft-body);
}

.nws-footer *,
.nws-footer *::before,
.nws-footer *::after {
	box-sizing: border-box;
}

.nws-footer-inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
	max-width: 1216px;
	margin: 0 auto;
	padding: 80px 20px;
}

/* ------------------------------------------------------------------ Brand */

.nws-ft-brand {
	flex: 0 1 439px;
	min-width: 0;
}

.nws-ft-title {
	margin: 0 0 42px;
	font-family: var(--nws-ft-heading);
	font-size: 48px;
	font-weight: 500;
	line-height: 1.4;
	opacity: 0.9;
	background: linear-gradient(90deg, #96979d 16.15%, #fff 58.86%, #96979d 133.88%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.nws-ft-badges {
	display: flex;
	align-items: center;
	gap: 33px;
}

.nws-ft-badges img {
	display: block;
	max-width: none;
}

.nws-ft-logo {
	width: auto;
	height: 24px;
}

.nws-ft-soc {
	width: 84px;
	height: 84px;
}

.nws-ft-bbb {
	width: 200px;
	height: 42px;
}

/* ------------------------------------------------------------------ Links */

.nws-ft-links {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	flex: 0 1 559px;
	min-width: 0;
}

.nws-ft-col {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.nws-ft-col--app {
	gap: 32px;
}

.nws-ft-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.nws-ft-group a {
	display: block;
	line-height: 0;
}

.nws-ft-heading {
	margin: 0;
	font-family: var(--nws-ft-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: normal;
	color: #fff;
	white-space: nowrap;
}

.nws-ft-store {
	display: block;
	max-width: none;
	height: auto;
}

.nws-ft-store--apple {
	width: 144px;
}

.nws-ft-store--google {
	width: 140px;
}

.nws-ft-menu {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nws-ft-menu li {
	margin: 0;
	padding: 0;
	font-family: var(--nws-ft-body);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	white-space: nowrap;
}

.nws-ft-menu a {
	color: var(--nws-ft-text);
	text-decoration: none;
}

.nws-ft-menu a:hover,
.nws-ft-menu a:focus-visible {
	color: #fff;
}

/* ----------------------------------------------------------------- Social */

.nws-ft-social {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.nws-ft-social-list {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nws-ft-social-list li {
	margin: 0;
	padding: 0;
}

.nws-ft-social-list a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

/* Size comes from the width/height attributes. */
.nws-ft-social-list img {
	display: block;
	max-width: none;
}

.nws-ft-social--mobile {
	display: none;
}

/* ------------------------------------------------------------ Copyright */

.nws-ft-bottom {
	background: rgba(255, 255, 255, 0.02);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

.nws-ft-bottom-inner {
	max-width: 1216px;
	margin: 0 auto;
	padding: 20px;
	font-family: var(--nws-ft-body);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--nws-ft-text);
	text-align: left;
}

/* The copyright line comes from a text widget; drop the widget's own spacing. */
.nws-ft-bottom-inner p,
.nws-ft-bottom-inner .widget,
.nws-ft-bottom-inner .textwidget {
	margin: 0;
	padding: 0;
	list-style: none;
	font: inherit;
	color: inherit;
	text-align: inherit;
}

/* ----------------------------------------------------------------- Tablet */

@media (max-width: 1199px) {
	.nws-ft-title {
		font-size: 36px;
	}

	.nws-ft-badges {
		flex-wrap: wrap;
		gap: 24px;
	}

	.nws-ft-links {
		gap: 24px;
	}
}

/* ----------------------------------------------------------------- Mobile */

@media (max-width: 767px) {
	.nws-footer {
		background: #05060a;
		background: linear-gradient(180deg, #05060a 55%, #031e1a 100%);
	}

	.nws-footer-inner {
		gap: 32px;
		padding: 40px 20px 60px;
	}

	/* Brand column stretches to the links column so Social sits at its foot. */
	.nws-ft-brand {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-self: stretch;
		flex: 0 1 141px;
	}

	.nws-ft-title {
		margin-bottom: 52px;
		font-size: 26px;
	}

	.nws-ft-badges {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.nws-ft-soc {
		width: 76px;
		height: 76px;
	}

	.nws-ft-badges .nws-ft-bbb {
		display: none;
	}

	.nws-ft-links {
		flex-direction: column;
		justify-content: flex-start;
		gap: 32px;
		flex: 0 1 162px;
	}

	/* Each block is the same height in the design, so the headings line up. */
	.nws-ft-col,
	.nws-ft-col--app .nws-ft-group {
		min-height: 152px;
	}

	.nws-ft-col--app {
		min-height: 0;
	}

	.nws-ft-heading {
		font-size: 16px;
		line-height: 1.3;
	}

	.nws-ft-menu li {
		line-height: 1.4;
	}

	.nws-ft-social {
		margin-top: 40px;
	}

	.nws-ft-social-list {
		gap: 12px;
	}

	.nws-ft-social--desktop {
		display: none;
	}

	.nws-ft-social--mobile {
		display: flex;
	}
}
