.hvv-reports {
	width: 100%;
	overflow-x: hidden;
}

.hvv-reports__header {
	display: flex;
	align-items: center;
	gap: 70px;
	padding: 100px 80px 0 0;
	margin-bottom: 48px;
}

.hvv-reports__bar {
	width: 111px;
	height: 10px;
	background: #BD0707;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	flex-shrink: 0;
	display: block;
}

.hvv-reports__title {
	margin: 0;
	color: #000;
	font-family: Montserrat, sans-serif;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 1.6px;
	line-height: normal;
	text-transform: uppercase;
}

.hvv-reports__description {
	max-width: 1278px;
	margin: 0 auto 60px;
	padding: 0 80px;
	color: #000;
	font-family: Montserrat, sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
}

.hvv-reports__description p { margin: 0 0 18px; }
.hvv-reports__description p:last-child { margin: 0; }

.hvv-reports__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.hvv-reports__item {
	background: transparent;
	width: 100%;
}

.hvv-reports__item.is-hidden {
	display: none;
}

.hvv-reports__head {
	width: 100%;
	background: #1A8DA1;
	border: 0;
	padding: 36px 80px;
	color: #FFFFFF;
	font-family: Montserrat, sans-serif;
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	position: relative;
	transition: background 0.25s ease;
}

.hvv-reports__head:hover {
	background: #15707f;
}

.hvv-reports__year {
	flex: 0 0 auto;
}

.hvv-reports__icon {
	position: absolute;
	right: 64px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	transition: transform 0.3s ease;
}

.hvv-reports__icon svg {
	width: 48px;
	height: 48px;
	display: block;
}

.hvv-reports__head[aria-expanded="true"] .hvv-reports__icon {
	transform: translateY(-50%) rotate(180deg);
}

.hvv-reports__body {
	background: #FFFFFF;
	padding: 16px 80px 24px;
	color: #000;
	font-family: Montserrat, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: normal;
}

.hvv-reports__body[hidden] {
	display: none;
}

.hvv-reports__files {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 1760px;
}

.hvv-reports__file {
	display: grid;
	grid-template-columns: 24px 1fr auto;
	gap: 24px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid #ECECEC;
}

.hvv-reports__file:last-child {
	border-bottom: 0;
}

.hvv-reports__file-marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #BD0707;
	flex-shrink: 0;
}

.hvv-reports__file-marker svg {
	display: block;
}

.hvv-reports__file-title {
	margin: 0;
	color: #393737;
	font-family: Montserrat, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
}

.hvv-reports__file-btn,
.hvv-reports__file-btn:link,
.hvv-reports__file-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: 26px;
	background: #FC7405;
	color: #FFFFFF;
	font-family: Montserrat, sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.72px;
	text-decoration: none;
	line-height: normal;
	transition: background 0.3s ease;
	white-space: nowrap;
}

.hvv-reports__file-btn:hover,
.hvv-reports__file-btn:focus,
.hvv-reports__file-btn:active {
	background: #1A8DA1;
	color: #FFFFFF;
}

.hvv-reports__actions {
	display: flex;
	justify-content: center;
	margin: 48px auto 120px;
	max-width: 1500px;
	padding: 0 80px;
	box-sizing: border-box;
}

.hvv-reports__load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: 26px;
	background: #D8EEEF;
	border: 0;
	color: #1A8DA1;
	font-family: Montserrat, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.88px;
	line-height: normal;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}

.hvv-reports__load-more:hover {
	background: #1A8DA1;
	color: #FFFFFF;
}

@media screen and (max-width: 1199px) {
	.hvv-reports__header {
		padding: 60px 40px 0 0;
		gap: 40px;
	}
	.hvv-reports__description,
	.hvv-reports__actions {
		padding-left: 40px;
		padding-right: 40px;
	}
	.hvv-reports__head {
		padding: 24px 40px;
		font-size: 48px;
	}
	.hvv-reports__icon {
		right: 40px;
	}
	.hvv-reports__body {
		padding: 16px 40px 24px;
	}
}

@media screen and (max-width: 768px) {
	.hvv-reports__header {
		padding: 40px 20px 0 0;
		gap: 16px;
		margin-bottom: 32px;
	}
	.hvv-reports__bar {
		width: 48px;
		height: 8px;
	}
	.hvv-reports__title {
		font-size: 28px;
		letter-spacing: 1.12px;
	}
	.hvv-reports__description,
	.hvv-reports__actions {
		padding-left: 20px;
		padding-right: 20px;
	}
	.hvv-reports__description {
		font-size: 18px;
	}
	.hvv-reports__head {
		padding: 20px 24px;
		font-size: 32px;
	}
	.hvv-reports__icon {
		right: 24px;
	}
	.hvv-reports__icon svg {
		width: 32px;
		height: 32px;
	}
	.hvv-reports__body {
		padding: 12px 24px 20px;
		font-size: 16px;
	}
	.hvv-reports__file {
		grid-template-columns: 16px 1fr;
		gap: 12px;
		padding: 16px 0;
	}
	.hvv-reports__file-title {
		font-size: 16px;
	}
	.hvv-reports__file-btn {
		grid-column: 1 / -1;
		justify-self: end;
		padding: 10px 18px;
		font-size: 14px;
	}
}

/* ----- Figma "звіти моб" (390px wide) ----- */
@media screen and (max-width: 767px) {
	/* Header bar 34×3 teal + 12px Bold gray title */
	.hvv-reports__header {
		padding: 24px 20px 0 0 !important;
		gap: 16px !important;
		margin-bottom: 16px !important;
		align-items: center !important;
	}
	.hvv-reports__bar {
		width: 34px !important;
		height: 3px !important;
		border-top-right-radius: 10px !important;
		border-bottom-right-radius: 10px !important;
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		background: #1A8DA1 !important;
		flex-shrink: 0 !important;
	}
	.hvv-reports__title {
		font-size: 12px !important;
		font-weight: 700 !important;
		letter-spacing: 0.48px !important;
		color: #393737 !important;
		text-transform: uppercase !important;
		line-height: 1.2 !important;
	}
	/* Optional intro description above years */
	.hvv-reports__description {
		font-size: 11px !important;
		line-height: 1.4 !important;
		color: #000 !important;
		padding: 0 20px !important;
		margin: 0 0 20px !important;
		max-width: 100% !important;
	}
	.hvv-reports__description p { margin: 0 0 12px !important; }
	.hvv-reports__description p:last-child { margin: 0 !important; }

	/* Year accordion list — full viewport width */
	.hvv-reports__list {
		gap: 10px !important;
		width: 100% !important;
		padding: 0 !important;
	}
	.hvv-reports__item { width: 100% !important; }

	/* Year head: light teal bg, big 64px year number */
	.hvv-reports__head {
		background: #ACD6DD !important;
		color: #1A8DA1 !important;
		font-size: 64px !important;
		font-weight: 700 !important;
		letter-spacing: 2.56px !important;
		line-height: 1 !important;
		height: 70px !important;
		padding: 0 20px !important;
		justify-content: center !important;
		text-align: center !important;
	}
	.hvv-reports__head:hover {
		background: #93c2ca !important;
	}
	/* Active (expanded) year: dark teal bg + white text */
	.hvv-reports__head[aria-expanded="true"] {
		background: #1A8DA1 !important;
		color: #FFFFFF !important;
	}
	.hvv-reports__year {
		font-size: 64px !important;
		letter-spacing: 2.56px !important;
		line-height: 1 !important;
	}
	/* Hide the dropdown arrow (Figma doesn't show it on mobile) */
	.hvv-reports__icon { display: none !important; }

	/* Open accordion body */
	.hvv-reports__body {
		background: #FFFFFF !important;
		padding: 22px 14px !important;
	}
	.hvv-reports__files {
		display: flex !important;
		flex-direction: column !important;
		gap: 14px !important;
		padding: 0 !important;
		max-width: 100% !important;
	}

	/* Each file row — red triangle marker + title + PDF button */
	.hvv-reports__file {
		display: grid !important;
		grid-template-columns: 18px 1fr auto !important;
		grid-template-rows: auto !important;
		gap: 8px 12px !important;
		align-items: center !important;
		padding: 8px 0 !important;
		border-bottom: 0 !important;
	}
	.hvv-reports__file:last-child { border-bottom: 0 !important; }
	.hvv-reports__file-marker {
		width: 18px !important;
		height: 18px !important;
		color: #BD0707 !important;
	}
	.hvv-reports__file-marker svg {
		width: 14px !important;
		height: 14px !important;
	}
	.hvv-reports__file-title {
		font-size: 10px !important;
		font-weight: 600 !important;
		color: #000 !important;
		letter-spacing: 0.4px !important;
		line-height: 1.3 !important;
		margin: 0 !important;
		text-transform: none !important;
	}
	.hvv-reports__file-btn,
	.hvv-reports__file-btn:link,
	.hvv-reports__file-btn:visited {
		background: #ADAAAA !important;
		color: #FFFFFF !important;
		font-size: 10px !important;
		font-weight: 800 !important;
		letter-spacing: 0.4px !important;
		padding: 6px 20px !important;
		border-radius: 36px !important;
		text-transform: none !important;
		text-decoration: none !important;
		white-space: nowrap !important;
		min-height: 25px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		/* Override 768px rule that pushes button to new row */
		grid-column: auto !important;
		grid-row: auto !important;
		justify-self: end !important;
		align-self: center !important;
	}
	.hvv-reports__file-btn:hover,
	.hvv-reports__file-btn:focus,
	.hvv-reports__file-btn:active {
		background: #8d8a8a !important;
		color: #FFFFFF !important;
	}

	/* "Завантажити ще" button — gray bg, teal SemiBold text */
	.hvv-reports__actions {
		margin: 24px auto 40px !important;
		max-width: 100% !important;
		padding: 0 20px !important;
		justify-content: center !important;
		box-sizing: border-box !important;
	}
	.hvv-reports__load-more {
		background: #EBEBEB !important;
		color: #1A8DA1 !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		letter-spacing: 0.56px !important;
		padding: 8px 31px !important;
		border-radius: 26px !important;
		border: 0 !important;
	}
	.hvv-reports__load-more:hover {
		background: #d8d8d8 !important;
		color: #1A8DA1 !important;
	}
}
