/* SBP Eventos Tabela de Valores */
.bvl {
	--bvl-head-bg: #0a0a7d;
	--bvl-head-tx: #fff;
	--bvl-cur-head: #1d1f95;
	--bvl-cur-label: #f2b230;
	--bvl-cur-cell: #fdf3dc;
	--bvl-band: #fdf9ee;
	--bvl-line: #e7e6f3;
	--bvl-cat: #1e1f4a;
	--bvl-val: #4a4b5e;
	--bvl-cur-val: #0a0a7d;
}

.bvl-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 24px;
}
.bvl-title {
	margin: 0;
	color: #0a0a7d;
	font-size: clamp(26px, 2.8vw, 34px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
}
.bvl-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 30px;
	background: #fdf0d6;
	color: #1e1f4a;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}
.bvl-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--bvl-cur-label);
	box-shadow: 0 0 0 0 rgba(242, 178, 48, .6);
	animation: bvl-pulse 2s infinite;
}
@keyframes bvl-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(242, 178, 48, .6); }
	70%  { box-shadow: 0 0 0 7px rgba(242, 178, 48, 0); }
	100% { box-shadow: 0 0 0 0 rgba(242, 178, 48, 0); }
}

/* Tabela */
.bvl-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--bvl-line);
	border-radius: 16px;
	background: #fff;
}
.bvl .bvl-table {
	width: 100%;
	min-width: 720px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
	background: transparent;
}
.bvl .bvl-table th,
.bvl .bvl-table td {
	padding: 13px 14px;
	border: 0;
	border-bottom: 1px solid var(--bvl-line);
	background: transparent;
	vertical-align: middle;
	line-height: 1.35;
}
.bvl .bvl-table tbody tr:last-child th,
.bvl .bvl-table tbody tr:last-child td { border-bottom: 0; }

/* Cabeçalho */
.bvl .bvl-table thead th {
	padding: 22px 14px;
	border-bottom: 0;
	background: var(--bvl-head-bg);
	color: var(--bvl-head-tx);
	font-size: 13px;
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
}
.bvl .bvl-table thead th.bvl-cat-h { text-align: left; padding-left: 18px; }
.bvl .bvl-table thead th.is-current { background: var(--bvl-cur-head); }
.bvl-col-label { display: block; }
.bvl-cur-tag {
	display: none;
	margin-top: 4px;
	color: var(--bvl-cur-label);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.bvl .bvl-table thead th.is-current .bvl-cur-tag { display: block; }

/* Corpo */
.bvl .bvl-table tbody th {
	padding-left: 18px;
	color: var(--bvl-cat);
	font-size: 13px;
	font-weight: 400;
	text-align: left;
}
.bvl .bvl-table tbody td {
	color: var(--bvl-val);
	font-size: 13px;
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.bvl .bvl-table tbody td.is-current {
	background: var(--bvl-cur-cell);
	color: var(--bvl-cur-val);
	font-weight: 800;
}
.bvl .bvl-table thead th:last-child,
.bvl .bvl-table tbody td:last-child { padding-right: 18px; }

/* Faixa destacada (ex.: Isento) */
.bvl .bvl-table tr.bvl-band th,
.bvl .bvl-table tr.bvl-band td {
	background: var(--bvl-band);
	color: var(--bvl-cat);
	font-weight: 700;
	padding-top: 16px;
	padding-bottom: 16px;
}

/* Notas */
.bvl-notes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 26px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}
.bvl-notes li { margin: 0; color: #5a5b70; font-size: 12px; line-height: 1.5; }

/* Celular: 1ª coluna fixa ao rolar para o lado */
@media (max-width: 767px) {
	.bvl .bvl-table thead th.bvl-cat-h,
	.bvl .bvl-table tbody th {
		position: sticky;
		left: 0;
		z-index: 1;
		min-width: 170px;
		max-width: 200px;
		white-space: normal;
	}
	.bvl .bvl-table tbody th { background: #fff; box-shadow: 1px 0 0 var(--bvl-line); }
	.bvl .bvl-table tr.bvl-band th { background: var(--bvl-band); }
	.bvl .bvl-table thead th.bvl-cat-h { background: var(--bvl-head-bg); }
	.bvl .bvl-table tr.bvl-band td { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	.bvl-dot { animation: none; }
}
