/**
 * Audience Cards component styles.
 *
 * Four-column card grid for homepage content. All card content is visible
 * by default. Loaded by the [nvtac_audience_cards] shortcode.
 */

.nvtac-audience-cards {
	margin: 2rem 0;
	max-width: 100%;
	overflow-x: clip;
}

.nvtac-audience-cards *,
.nvtac-audience-cards *::before,
.nvtac-audience-cards *::after {
	box-sizing: border-box;
}

.nvtac-audience-cards__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: auto 1fr auto auto;
	gap: 16px;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.nvtac-audience-cards__card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	min-width: 0;
	padding: 32px 18px 36px;
	background-color: var(--nvtac-card-bg, #f5f5f5);
	color: #1a1a1a;
	overflow-wrap: break-word;
}

.nvtac-audience-cards__card > * {
	min-width: 0;
}

.entry-content .nvtac-audience-cards h4.nvtac-audience-cards__title {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 1.35;
	letter-spacing: 0.08em;
}

@media screen and (min-width: 61.5625em) {
	.entry-content .nvtac-audience-cards h4.nvtac-audience-cards__title {
		font-size: 1rem;
		line-height: 1.35;
		margin-top: 0;
		margin-bottom: 0;
	}
}

.nvtac-audience-cards__title {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #333;
	/* Fallback when subgrid is unavailable: reserve space for the longest title. */
	min-height: calc(1rem * 1.35 * 4);
}

.nvtac-audience-cards__desc {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.55;
	color: #333;
}

.nvtac-audience-cards__links {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.nvtac-audience-cards__links li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 26px;
	font-size: 15px;
	line-height: 1.45;
	min-height: calc(15px * 1.45 * 2);
}

.entry-content .nvtac-audience-cards__links li::before {
	content: "";
	display: block !important;
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px;
	min-height: 16px;
	max-width: 16px;
	max-height: 16px;
	margin: 0 !important;
	padding: 0;
	box-sizing: border-box;
	border: 1.5px solid var(--nvtac-card-accent, #1b3a6b);
	border-radius: 50%;
	background: transparent;
	aspect-ratio: 1 / 1;
}

.entry-content .nvtac-audience-cards__links li::after {
	content: "";
	position: absolute;
	left: 4px;
	top: calc(0.15em + 5px);
	width: 8px;
	height: 4px;
	border-left: 1.5px solid var(--nvtac-card-accent, #1b3a6b);
	border-bottom: 1.5px solid var(--nvtac-card-accent, #1b3a6b);
	transform: rotate(-45deg);
	transform-origin: center;
	pointer-events: none;
}

.nvtac-audience-cards__links a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: rgba(0, 0, 0, 0.25);
	text-underline-offset: 2px;
}

.nvtac-audience-cards__links a:hover,
.nvtac-audience-cards__links a:focus {
	text-decoration-color: currentColor;
}

.nvtac-audience-cards__cta-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	align-self: end;
}

.nvtac-audience-cards .readmorebtn.nvtac-audience-cards__cta-btn {
	/* Default: light card button (not hero transparent, not solid navy). */
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 10px 15px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	background: #fff;
	border: 1px solid #355390;
	border-radius: 5px;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.nvtac-audience-cards .readmorebtn.nvtac-audience-cards__cta-btn a.nvtac-audience-cards__cta {
	display: block;
	color: #375390;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
}

.nvtac-audience-cards .readmorebtn.nvtac-audience-cards__cta-btn:hover,
.nvtac-audience-cards .readmorebtn.nvtac-audience-cards__cta-btn:focus-within {
	/* Nivo hover: white on brand blue (508 safe). */
	background: #355390;
	border-color: #355390;
}

.nvtac-audience-cards .readmorebtn.nvtac-audience-cards__cta-btn:hover a.nvtac-audience-cards__cta,
.nvtac-audience-cards .readmorebtn.nvtac-audience-cards__cta-btn:focus-within a.nvtac-audience-cards__cta {
	color: #ffffff;
	text-decoration: none;
}

.nvtac-audience-cards a:focus-visible {
	outline: 3px solid #355390;
	outline-offset: 2px;
}

@supports not (grid-template-rows: subgrid) {
	.nvtac-audience-cards__card {
		display: flex;
		flex-direction: column;
	}

	.nvtac-audience-cards__desc {
		flex-grow: 1;
	}

	.nvtac-audience-cards__cta-wrap {
		margin-top: auto;
	}
}

@media (max-width: 1024px) {
	.nvtac-audience-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.nvtac-audience-cards__grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.nvtac-audience-cards__card {
		grid-row: auto;
		grid-template-rows: none;
		display: flex;
		flex-direction: column;
		padding: 28px 18px 32px;
	}

	.nvtac-audience-cards__title {
		min-height: 0;
	}

	.nvtac-audience-cards__desc {
		flex-grow: 0;
	}
}
