.brnovibetbr-estrutura-inicial {
	display: grid;
	grid-template-columns: 208px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.brnovibetbr-conteudo-inicial {
	min-width: 0;
}
.brnovibetbr-barra-movel,
.brnovibetbr-fundo-painel,
.brnovibetbr-fechar-esportes {
	display: none;
}

.brnovibetbr-painel-esportes {
	position: sticky;
	top: calc(var(--brnovibetbr-altura-cabecalho) + var(--brnovibetbr-deslocamento-painel) + 8px);
	max-height: calc(100dvh - var(--brnovibetbr-altura-cabecalho) - var(--brnovibetbr-deslocamento-painel) - 24px);
	min-width: 0;
	padding: 0 12px 20px 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #0a1324;
}

.brnovibetbr-topo-painel {
	display: none;
	min-height: 36px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	padding-inline: 10px;
}

.brnovibetbr-topo-painel > span {
	margin: 0;
	color: #f4f6fa;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
}

.brnovibetbr-chamada-esportes {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 8px;
	padding-inline: 10px;
	color: #7d8998;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.brnovibetbr-lista-esportes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.brnovibetbr-opcao-esporte {
	display: flex;
	width: 100%;
	min-height: 40px;
	align-items: center;
	gap: 16px;
	padding: 9px 8px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #a9afba;
	font: inherit;
	font-size: 13px;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
	transition: background-color 150ms ease, color 150ms ease;
}

.brnovibetbr-painel-esportes > nav:first-of-type .brnovibetbr-opcao-esporte {
	font-weight: 700;
}
.brnovibetbr-opcao-esporte:hover {
	background: #152d3b;
	color: #fff;
}
.brnovibetbr-painel-esportes :focus-visible {
	outline-offset: -2px;
}
.brnovibetbr-icone-esporte {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	object-fit: contain;
}
.brnovibetbr-opcao-esporte > span:first-of-type {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.brnovibetbr-selo-esporte {
	margin-left: auto;
	padding: 2px 5px;
	border-radius: 8px;
	background: #f5005a;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: uppercase;
}
.brnovibetbr-modalidades {
	margin-top: 28px;
}
.brnovibetbr-mais-esportes {
	margin-top: 8px;
}
.brnovibetbr-mais-esportes summary {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px;
	border-radius: 8px;
	background: transparent;
	color: #6bf5ff;
	font-size: 13px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}
.brnovibetbr-mais-esportes summary::-webkit-details-marker {
	display: none;
}
.brnovibetbr-ocultar-esportes,
.brnovibetbr-mais-esportes[open] .brnovibetbr-mostrar-esportes {
	display: none;
}
.brnovibetbr-mais-esportes[open] .brnovibetbr-ocultar-esportes {
	display: inline;
}
.brnovibetbr-mais-esportes[open] summary {
	margin-bottom: 6px;
}
.brnovibetbr-mais-esportes[open] summary svg {
	transform: rotate(180deg);
}

@media (max-width: 1399px) and (min-width: 1200px) {
	.brnovibetbr-estrutura-inicial {
		grid-template-columns: 192px minmax(0, 1fr);
		gap: 20px;
	}
	.brnovibetbr-opcao-esporte {
		gap: 10px;
		font-size: 13px;
	}
}

@media (max-width: 1199px) {
	body.home.brnovibetbr-painel-pronto {
		padding-bottom: calc(64px + env(safe-area-inset-bottom));
	}
	.brnovibetbr-estrutura-inicial {
		display: block;
	}
	.brnovibetbr-painel-esportes {
		position: static;
		max-height: none;
		margin-bottom: 20px;
		border: 0;
	}
	.brnovibetbr-painel-pronto .brnovibetbr-barra-movel {
		position: fixed;
		z-index: 1001;
		inset: auto 12px calc(8px + env(safe-area-inset-bottom));
		display: grid;
		grid-template-columns: 84px 54px minmax(0, 1fr);
		align-items: center;
		gap: 6px;
		width: calc(100% - 24px);
		max-width: 320px;
		margin-inline: auto;
		padding: 4px;
		border: 1px solid #315568;
		border-radius: 11px;
		background: #102232;
		box-shadow: 0 4px 16px #00000040;
	}
	.brnovibetbr-barra-movel button {
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.brnovibetbr-abrir-esportes {
		display: inline-flex;
		min-height: 36px;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 6px;
		padding: 2px 6px;
		border: 0;
		border-right: 1px solid #315568;
		background: transparent;
		color: #f4f6fa;
		font: inherit;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.2;
		cursor: pointer;
	}
	.brnovibetbr-abrir-esportes > svg:first-child {
		width: 16px;
		height: 16px;
		color: #6bf5ff;
	}
	.brnovibetbr-entrada-movel,
	.brnovibetbr-cadastro-movel {
		display: flex;
		min-height: 36px;
		align-items: center;
		justify-content: center;
		gap: 6px;
		padding: 7px 6px;
		border: 0;
		border-radius: 7px;
		color: #fff;
		font: inherit;
		font-size: 11px;
		font-weight: 700;
		line-height: 1.3;
		white-space: nowrap;
	}
	.brnovibetbr-entrada-movel {
		background: #1a3547;
	}
	.brnovibetbr-cadastro-movel {
		background: #f5005a;
		box-shadow: 0 4px 12px #f5005a26;
	}
	.brnovibetbr-entrada-movel:hover {
		background: #23485d;
	}
	.brnovibetbr-cadastro-movel:hover {
		background: #db0051;
	}
	.brnovibetbr-barra-movel button:focus-visible {
		outline-offset: 2px;
	}
	.brnovibetbr-topo-painel {
		display: flex;
	}
	.brnovibetbr-painel-pronto .brnovibetbr-painel-esportes {
		position: fixed;
		z-index: 1102;
		inset: var(--brnovibetbr-deslocamento-painel) auto 0 0;
		width: min(320px, calc(100% - 48px));
		height: calc(100dvh - var(--brnovibetbr-deslocamento-painel));
		max-height: none;
		margin: 0;
		padding: 16px 14px max(24px, env(safe-area-inset-bottom));
		border-right: 1px solid #315568;
		box-shadow: 12px 0 36px #00000040;
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform 220ms ease, visibility 220ms;
	}
	.brnovibetbr-painel-pronto .brnovibetbr-fechar-esportes:not([hidden]) {
		display: grid;
		width: 40px;
		height: 40px;
		flex: 0 0 40px;
		place-items: center;
		padding: 0;
		border: 1px solid #203747;
		border-radius: 10px;
		background: #102333;
		color: #fff;
		cursor: pointer;
	}
	.brnovibetbr-fundo-painel:not([hidden]) {
		position: fixed;
		z-index: 1101;
		inset: 0;
		display: block;
		background: #020912b8;
	}
	body.brnovibetbr-painel-aberto {
		overflow: hidden;
	}
	.brnovibetbr-painel-aberto .brnovibetbr-painel-esportes {
		visibility: visible;
		transform: translateX(0);
	}
	.brnovibetbr-painel-esportes .brnovibetbr-opcao-esporte {
		min-height: 44px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brnovibetbr-opcao-esporte,
	.brnovibetbr-painel-pronto .brnovibetbr-painel-esportes {
		transition: none;
	}
}
