/*
 * Native NSI alignment for the standalone catalogue. This deliberately uses
 * the site's visual vocabulary: square components, clear borders, generous
 * whitespace and the existing turquoise accent.
 */

.nsi-quote-catalog-page .nsi-qc-hero {
	border-bottom: 1px solid var(--nsi-border-accent, rgba(87, 214, 210, .18));
}

.nsi-quote-catalog-page .nsi-qc-hero h1 {
	max-width: min(800px, 18ch);
}

.nsi-quote-catalog-page .nsi-qc-hero > .nsi-qc-wrap > p:not(.nx-kicker) {
	max-width: 700px;
}

.nsi-qc-single__intro,
.nsi-qc-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
	gap: clamp(32px, 6vw, 72px);
	align-items: center;
}

.nsi-qc-single__media {
	min-height: 280px;
	overflow: hidden;
	border: 1px solid var(--nsi-border, rgba(121, 205, 213, .24));
	background: #071824;
}

.nsi-qc-single__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nsi-quote-catalog-page .nsi-qc-single__placeholder {
	min-height: 280px;
	border: 1px solid var(--nsi-border, rgba(121, 205, 213, .24));
	background: linear-gradient(135deg, #0b2c43, #071824);
	color: var(--nsi-text-muted, #b7ccd4);
}

.nsi-quote-catalog-page .nsi-qc-prose {
	color: var(--nsi-text-muted, #b7ccd4);
}

.nsi-quote-catalog-page .nsi-qc-prose > :last-child {
	margin-bottom: 0;
}

.nsi-quote-catalog-page .nsi-qc-checklist {
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.nsi-quote-catalog-page .nsi-qc-checklist li {
	position: relative;
	margin: 0;
	padding: 11px 0 11px 24px;
	color: var(--nsi-text, #e6f2f5);
	line-height: 1.55;
}

.nsi-quote-catalog-page .nsi-qc-checklist li::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 0;
	width: 10px;
	height: 1px;
	background: var(--nsi-accent, #43dbc9);
}

.nsi-quote-catalog-page .nsi-configurator {
	margin: 0;
	border-radius: 0;
	border-color: rgba(102, 231, 220, .46);
	background: rgba(5, 22, 33, .82);
}

.nsi-quote-catalog-page .nsi-configurator h2 {
	font-size: clamp(24px, 2.2vw, 34px);
}

.nsi-quote-catalog-page .nsi-configurator select,
.nsi-quote-catalog-page .nsi-configurator input {
	border-radius: 0;
}

.nsi-quote-catalog-page .nsi-qc-button {
	width: 100%;
	justify-content: center;
	border-radius: 0;
}

.nsi-qc-form-error {
	margin: 18px 0 0;
	padding: 13px 15px;
	border-left: 3px solid #ffbd66;
	background: rgba(255, 189, 102, .12);
	color: #fff3df;
	line-height: 1.55;
}

.nsi-quote-catalog-page .nsi-catalog-grid {
	margin-top: 0;
}

.nsi-quote-catalog-page .nsi-catalog-card {
	border-radius: 0;
}

.nsi-quote-catalog-page .nsi-catalog-card h2,
.nsi-quote-catalog-page .nsi-catalog-card h2 a {
	margin: 12px 0 10px;
	color: #f2fbff;
	font-size: 23px;
	line-height: 1.1;
	text-decoration: none;
}

.nsi-quote-catalog-page .nsi-catalog-card-body {
	min-height: 254px;
}

.nsi-quote-catalog-page .nsi-catalog-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 190px;
	background: linear-gradient(135deg, #0b2c43, #071824);
}

.nsi-qc-quote-summary {
	margin: 0 0 24px;
	padding: 20px;
	border-left: 3px solid var(--nsi-accent, #43dbc9);
	background: rgba(67, 219, 201, .10);
}

.nsi-qc-quote-summary h2 {
	margin: 0 0 12px;
	font-size: 21px;
}

.nsi-qc-quote-summary ul {
	margin: 14px 0;
	padding-left: 20px;
}

.nsi-qc-need-locked {
	margin: .55rem 0 0;
	padding: .8rem 1rem;
	border-left: 3px solid var(--nsi-accent, #43dbc9);
	background: rgba(67, 219, 201, .12);
}

@media (max-width: 760px) {
	.nsi-qc-single__intro,
	.nsi-qc-single__grid {
		grid-template-columns: 1fr;
	}

	.nsi-qc-single__media {
		order: -1;
	}
}

/* Home media and the editorial cards are owned by this release once the
 * historical Bridge and MU callbacks have been retired. */
.nsi-home-solution-card {
	overflow: hidden;
	padding: 0 !important;
}

.nsi-home-card-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 !important;
	overflow: hidden;
	background: #071824;
}

.nsi-home-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .45s ease;
}

.nsi-home-solution-card:hover .nsi-home-card-media img {
	transform: scale(1.035);
}

.nsi-home-solution-card > :not(.nsi-home-card-media) {
	margin-right: 24px;
	margin-left: 24px;
}

.nsi-home-solution-card .nx-card-icon {
	margin-top: 24px;
	margin-bottom: 16px;
}

.nsi-home-solution-card h3 {
	margin-top: 0;
}

.nsi-home-solution-card p {
	margin-bottom: 24px;
}

.nsi-home-solution-card .nx-card-link {
	margin-bottom: 24px;
}

@media (max-width: 700px) {
	.nsi-home-solution-card > :not(.nsi-home-card-media) {
		margin-right: 20px;
		margin-left: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nsi-home-card-media img {
		transition: none;
	}
}

/* Native news grid, formerly supplied by NSI Commerce Bridge. */
.nsi-post-grid-media .nsi-post-card {
	overflow: hidden;
	padding: 0;
}

.nsi-post-card-media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #061522;
}

.nsi-post-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.nsi-post-card:hover .nsi-post-card-media img {
	transform: scale(1.035);
}

.nsi-post-card-content {
	display: flex;
	min-height: 300px;
	padding: 24px;
	flex-direction: column;
}

.nsi-post-card-content h3 {
	margin-top: 12px;
}

.nsi-post-card-content p {
	flex: 1;
	color: #bed0d9;
}

.nsi-post-card-content .nsi-post-more {
	display: inline-flex;
	width: max-content;
	align-items: center;
	gap: 9px;
	margin-top: 12px;
	color: #35ded2;
	font-weight: 800;
	letter-spacing: .045em;
	text-decoration: none;
}

.nsi-post-card-content .nsi-post-more:hover,
.nsi-post-card-content .nsi-post-more:focus-visible {
	color: #fff;
}

.nsi-post-card-content .nsi-post-more:focus-visible {
	outline: 2px solid #35ded2;
	outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
	.nsi-post-card-media img {
		transition: none;
	}

	.nsi-post-card:hover .nsi-post-card-media img {
		transform: none;
	}
}

/*
 * Native NSI alignment for the standalone catalogue. This deliberately uses
 * the site's visual vocabulary: square components, clear borders, generous
 * whitespace and the existing turquoise accent.
 */

.nsi-quote-catalog-page .nsi-qc-hero {
	border-bottom: 1px solid var(--nsi-border-accent, rgba(87, 214, 210, .18));
}

.nsi-quote-catalog-page .nsi-qc-hero h1 {
	max-width: min(800px, 18ch);
}

.nsi-quote-catalog-page .nsi-qc-hero > .nsi-qc-wrap > p:not(.nx-kicker) {
	max-width: 700px;
}

.nsi-qc-single__intro,
.nsi-qc-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
	gap: clamp(32px, 6vw, 72px);
	align-items: center;
}

.nsi-qc-single__media {
	min-height: 280px;
	overflow: hidden;
	border: 1px solid var(--nsi-border, rgba(121, 205, 213, .24));
	background: #071824;
}

.nsi-qc-single__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nsi-quote-catalog-page .nsi-qc-single__placeholder {
	min-height: 280px;
	border: 1px solid var(--nsi-border, rgba(121, 205, 213, .24));
	background: linear-gradient(135deg, #0b2c43, #071824);
	color: var(--nsi-text-muted, #b7ccd4);
}

.nsi-quote-catalog-page .nsi-qc-prose {
	color: var(--nsi-text-muted, #b7ccd4);
}

.nsi-quote-catalog-page .nsi-qc-prose > :last-child {
	margin-bottom: 0;
}

.nsi-quote-catalog-page .nsi-qc-checklist {
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.nsi-quote-catalog-page .nsi-qc-checklist li {
	position: relative;
	margin: 0;
	padding: 11px 0 11px 24px;
	color: var(--nsi-text, #e6f2f5);
	line-height: 1.55;
}

.nsi-quote-catalog-page .nsi-qc-checklist li::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 0;
	width: 10px;
	height: 1px;
	background: var(--nsi-accent, #43dbc9);
}

.nsi-quote-catalog-page .nsi-configurator {
	margin: 0;
	border-radius: 0;
	border-color: rgba(102, 231, 220, .46);
	background: rgba(5, 22, 33, .82);
}

.nsi-quote-catalog-page .nsi-configurator h2 {
	font-size: clamp(24px, 2.2vw, 34px);
}

.nsi-quote-catalog-page .nsi-configurator select,
.nsi-quote-catalog-page .nsi-configurator input {
	border-radius: 0;
}

.nsi-quote-catalog-page .nsi-qc-button {
	width: 100%;
	justify-content: center;
	border-radius: 0;
}

.nsi-qc-form-error {
	margin: 18px 0 0;
	padding: 13px 15px;
	border-left: 3px solid #ffbd66;
	background: rgba(255, 189, 102, .12);
	color: #fff3df;
	line-height: 1.55;
}

.nsi-quote-catalog-page .nsi-catalog-grid {
	margin-top: 0;
}

.nsi-quote-catalog-page .nsi-catalog-card {
	border-radius: 0;
}

.nsi-quote-catalog-page .nsi-catalog-card h2,
.nsi-quote-catalog-page .nsi-catalog-card h2 a {
	margin: 12px 0 10px;
	color: #f2fbff;
	font-size: 23px;
	line-height: 1.1;
	text-decoration: none;
}

.nsi-quote-catalog-page .nsi-catalog-card-body {
	min-height: 254px;
}

.nsi-quote-catalog-page .nsi-catalog-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 190px;
	background: linear-gradient(135deg, #0b2c43, #071824);
}

.nsi-qc-quote-summary {
	margin: 0 0 24px;
	padding: 20px;
	border-left: 3px solid var(--nsi-accent, #43dbc9);
	background: rgba(67, 219, 201, .10);
}

.nsi-qc-quote-summary h2 {
	margin: 0 0 12px;
	font-size: 21px;
}

.nsi-qc-quote-summary ul {
	margin: 14px 0;
	padding-left: 20px;
}

.nsi-qc-need-locked {
	margin: .55rem 0 0;
	padding: .8rem 1rem;
	border-left: 3px solid var(--nsi-accent, #43dbc9);
	background: rgba(67, 219, 201, .12);
}

@media (max-width: 760px) {
	.nsi-qc-single__intro,
	.nsi-qc-single__grid {
		grid-template-columns: 1fr;
	}

	.nsi-qc-single__media {
		order: -1;
	}
}

/* Home and news card media are owned by this release once the legacy
 * nsi-catalog-expansion MU-plugin is retired. */
.nsi-home-solution-card,
.nsi-home-news-card {
	overflow: hidden;
	padding: 0 !important;
}

.nsi-home-card-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 !important;
	overflow: hidden;
	background: #071824;
}

.nsi-home-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .45s ease;
}

.nsi-home-solution-card:hover .nsi-home-card-media img,
.nsi-home-news-card:hover .nsi-home-card-media img {
	transform: scale(1.035);
}

.nsi-home-solution-card > :not(.nsi-home-card-media),
.nsi-home-news-card > :not(.nsi-home-card-media) {
	margin-right: 24px;
	margin-left: 24px;
}

.nsi-home-solution-card .nx-card-icon {
	margin-top: 24px;
	margin-bottom: 16px;
}

.nsi-home-solution-card h3 {
	margin-top: 0;
}

.nsi-home-solution-card p {
	margin-bottom: 24px;
}

.nsi-home-solution-card .nx-card-link {
	margin-bottom: 24px;
}

.nsi-home-news-card {
	gap: 0 !important;
}

.nsi-home-news-card time {
	margin-top: 22px;
	margin-bottom: 11px;
}

.nsi-home-news-card h3 {
	margin-bottom: 12px !important;
}

.nsi-home-news-card p {
	margin-bottom: 16px !important;
}

.nsi-home-news-card .nsi-post-more {
	margin-bottom: 24px;
}

@media (max-width: 700px) {
	.nsi-home-solution-card > :not(.nsi-home-card-media),
	.nsi-home-news-card > :not(.nsi-home-card-media) {
		margin-right: 20px;
		margin-left: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nsi-home-card-media img {
		transition: none;
	}
}
