.nhs-subsidies {
	--nhs-blue: #2878b5;
	--nhs-blue-dark: #185b8e;
	--nhs-pale-blue: #eef7fc;
	--nhs-green: #237a56;
	--nhs-pale-green: #eaf7f0;
	--nhs-yellow: #8a6500;
	--nhs-pale-yellow: #fff8d9;
	--nhs-gray: #667085;
	color: #27313a;
	margin: 24px 0;
}

.nhs-subsidies__verified {
	background: var(--nhs-pale-blue);
	border-radius: 6px;
	color: #31536b;
	display: inline-block;
	font-size: 14px;
	margin-bottom: 16px;
	padding: 7px 12px;
}

.nhs-subsidies__list {
	display: grid;
	gap: 20px;
}

.nhs-program {
	background: #f3f8fb;
	border: 0;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(27, 54, 75, 0.08);
	padding: 1em;
}

.nhs-program__toggle {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) auto;
	list-style: none;
}

.nhs-program__toggle::-webkit-details-marker {
	display: none;
}

.nhs-program__toggle::marker {
	content: "";
}

.nhs-program__toggle::after {
	align-items: center;
	background: var(--nhs-blue);
	border-radius: 50%;
	color: #fff;
	content: "＋";
	display: flex;
	font-size: 20px;
	font-weight: 700;
	height: 32px;
	justify-content: center;
	line-height: 1;
	width: 32px;
}

.nhs-program[open] > .nhs-program__toggle::after {
	content: "−";
}

.nhs-program__toggle:hover .nhs-program__title,
.nhs-program__toggle:focus-visible .nhs-program__title {
	box-shadow: 0 0 0 2px rgba(40, 120, 181, 0.2);
}

.nhs-program__toggle:focus-visible {
	outline: 2px solid var(--nhs-blue);
	outline-offset: 4px;
}

.nhs-program__meta {
	display: flex;
	flex-wrap: wrap;
	font-weight: 400;
	gap: 7px;
	margin-top: 10px;
}

.nhs-program__status,
.nhs-program__year,
.nhs-program__category {
	background: #fff;
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.4;
	padding: 4px 10px;
}

.nhs-program__status.is-open {
	background: var(--nhs-pale-green);
	color: var(--nhs-green);
	font-weight: 700;
}

.nhs-program__status.is-upcoming {
	background: var(--nhs-pale-yellow);
	color: var(--nhs-yellow);
	font-weight: 700;
}

.nhs-program__status.is-closed {
	background: #f2f2f2;
	color: #666;
}

.nhs-program__status.is-unknown {
	background: #f8eef2;
	color: #8c405c;
}

.nhs-program__title {
	background: #fff;
	border-radius: 5px;
	font-size: clamp(19px, 3vw, 23px);
	line-height: 1.5;
	margin: 0;
	padding: 8px 10px;
}

.nhs-program__title-text {
	display: block;
}

.nhs-program__content {
	padding-top: 18px;
}

.nhs-program__summary,
.nhs-program__notes,
.nhs-subsidies__source-note {
	line-height: 1.8;
	white-space: pre-line;
}

.nhs-program__details {
	background: #fff;
	border-radius: 8px;
	margin: 18px 0;
	overflow: hidden;
}

.nhs-program__detail {
	display: grid;
	grid-template-columns: minmax(90px, 130px) 1fr;
	margin: 0;
}

.nhs-program__detail + .nhs-program__detail {
	border-top: 1px solid #e8edf0;
}

.nhs-program__detail dt,
.nhs-program__detail dd {
	line-height: 1.7;
	margin: 0;
	padding: 10px 12px;
}

.nhs-program__detail dt {
	background: var(--nhs-pale-blue);
	font-weight: 700;
}

.nhs-program__notes {
	background: var(--nhs-pale-yellow);
	border-radius: 7px;
	color: #665019;
	font-size: 14px;
	margin: 16px 0;
	padding: 10px 12px;
}

.nhs-program__footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	justify-content: space-between;
	margin-top: 18px;
}

.nhs-program__link {
	background: var(--nhs-blue);
	border-radius: 7px;
	color: #fff !important;
	display: inline-block;
	font-weight: 700;
	padding: 10px 18px;
	text-decoration: none !important;
}

.nhs-program__link:hover,
.nhs-program__link:focus {
	background: var(--nhs-blue-dark);
}

.nhs-program__checked {
	color: var(--nhs-gray);
	font-size: 13px;
}

.nhs-subsidies__notice,
.nhs-subsidies__empty,
.nhs-subsidies__source-note {
	border-radius: 8px;
	font-size: 14px;
	margin-top: 18px;
	padding: 12px 14px;
}

.nhs-subsidies__notice {
	background: var(--nhs-pale-yellow);
	color: #665019;
}

.nhs-subsidies__empty {
	background: #f5f6f7;
	color: #555;
}

.nhs-subsidies__source-note {
	background: var(--nhs-pale-blue);
	color: #31536b;
}

@media (max-width: 600px) {
	.nhs-program__toggle {
		gap: 10px;
	}

	.nhs-program__toggle::after {
		font-size: 18px;
		height: 28px;
		width: 28px;
	}

	.nhs-program__detail {
		display: block;
	}

	.nhs-program__detail dt,
	.nhs-program__detail dd {
		text-align: left;
	}

	.nhs-program__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.nhs-program__link {
		text-align: center;
	}
}
