@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
	--cor-fundo-pagina: #f4f5f7;
	--cor-fundo-card: rgba(255, 255, 255, .94);
	--cor-fundo-card-forte: rgba(255, 255, 255, .98);
	--cor-fundo-realce: #fffdf7;
	--cor-fundo-erro: #fff0f2;
	--cor-fundo-aviso: #fffbed;
	--cor-fundo-info: #f2fdff;
	--cor-texto-principal: #1f2328;
	--cor-texto-secundario: #6b7280;
	--cor-linha: rgba(120, 129, 145, .28);
	--cor-preto-aunp: #101010;
	--cor-cinza-aunp: #4f555e;
	--cor-cinza-claro: rgba(238, 240, 243, .86);
	--cor-realce: #c8a045;
	--cor-realce-escuro: #9b782d;
	--cor-topo: rgba(255, 255, 255, .82);
	--cor-cabecalho: rgba(255, 255, 255, .90);
	--cor-rodape: rgba(255, 255, 255, .90);
	--sombra-padrao: 0 20px 50px rgba(15, 23, 42, .08);
	--sombra-suave: 0 10px 24px rgba(15, 23, 42, .08);
	--raio-padrao: 1rem;
	--raio-grande: 1.35rem;
	--bs-body-font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--bs-info-rgb: 26, 86, 201;
	--bs-info: rgb(var(--bs-info-rgb));
	--bs-warning-rgb: 229, 165, 15;
	--bs-warning: rgb(var(--bs-warning-rgb));
	--imagem-fundo-livraria: url("../imagens/fundo.jpg");
}

html,
body {
	min-height: 100%;
}

body {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

main {
	flex: 1 0 auto;
}

.rodape-site {
	flex-shrink: 0;
}

body.tema-escuro {
	--cor-fundo-pagina: #303338;
	--cor-fundo-card: rgba(31, 39, 50, .76);
	--cor-fundo-card-forte: rgba(28, 35, 46, .88);
	--cor-fundo-erro: #360000;
	--cor-fundo-aviso: #271b00;
	--cor-fundo-info: #000b21;
	--cor-texto-principal: #e8edf5;
	--cor-texto-secundario: #aab6c7;
	--cor-linha: rgba(163, 177, 199, .18);
	--cor-preto-aunp: #f6f8fb;
	--cor-cinza-aunp: #c8d2df;
	--cor-cinza-claro: rgba(255, 255, 255, .06);
	--cor-realce: #d0ab5a;
	--cor-realce-escuro: #f0cf88;
	--cor-topo: rgba(15, 20, 28, .72);
	--cor-cabecalho: rgba(17, 23, 31, .78);
	--cor-rodape: rgba(17, 23, 31, .82);
	--sombra-padrao: 0 20px 50px rgba(0, 0, 0, .28);
	--sombra-suave: 0 10px 24px rgba(0, 0, 0, .2);
}

.tema-escuro .table {
	--bs-body-bg: #383838;
	--bs-table-striped-bg: #212121;
	--bs-table-color-state: #c0c0c0;
}

html {
	scroll-behavior: smooth;
}

.form-select option {
	flex-grow: 1;
	font-size: 0.9em;
	font-weight: 400;
}

.form-select option:nth-child(even) {
    background-color: #f7f7f7;
}

.form-select option:nth-child(odd) {
    background-color: #fff;
}

body.pagina-inicial {
	position: relative;
	min-height: 100vh;
	color: var(--cor-texto-principal);
	background:
		radial-gradient(circle at top left, rgba(200, 160, 69, .14), transparent 32rem),
		linear-gradient(180deg, rgba(255, 255, 255, .66) 0%, rgba(244, 245, 247, .84) 44%, rgba(255, 255, 255, .76) 100%),
		var(--cor-fundo-pagina);
	transition: background-color .25s ease, color .25s ease;
}

body.pagina-inicial::before {
	content: "";
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100dvh;
	z-index: -2;
	background-image: var(--imagem-fundo-livraria);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	opacity: .12;
	filter: saturate(.92) contrast(1.02) brightness(1.02);
	pointer-events: none;
	transform: translateZ(0);
	will-change: transform;
}

.nav-link {
	color: var(--cor-texto-secundario);
}

@supports not (height: 100dvh) {
	body.pagina-inicial::before {
		height: 100vh;
	}
}

body.tema-escuro.pagina-inicial {
	background:
		radial-gradient(circle at top left, rgba(208, 171, 90, .14), transparent 28rem),
		linear-gradient(180deg, rgba(9, 12, 18, .76) 0%, rgba(15, 20, 28, .88) 44%, rgba(9, 12, 18, .78) 100%),
		var(--cor-fundo-pagina);
}

body.tema-escuro.pagina-inicial::before {
	opacity: .08;
	filter: saturate(.7) contrast(1) brightness(.7);
}

a {
	color: inherit;
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}

a:hover {
	color: var(--cor-realce-escuro);
}

.conteudo-principal {
	padding-block: clamp(1.5rem, 3vw, 3rem) 3rem;
}

.barra-superior {
	position: relative;
	z-index: 1040;
	border-bottom: 1px solid var(--cor-linha);
	background: var(--cor-topo);
	backdrop-filter: blur(10px);
}

.barra-superior__conteudo {
	display: flex;
	flex-wrap: wrap;
}

.barra-superior__texto {
	font-size: .92rem;
	color: var(--cor-texto-secundario);
}

.barra-superior__acoes {
	flex-wrap: nowrap;
	flex-grow: 0;
}

.area-usuario-logado {
	display: flex;
	flex-wrap: nowrap;
	flex-grow: 1;
	align-items: center;
}

.nome-usuario-logado {
	font-weight: 600;
}

.botao-menu-associado {
	width: 2.15rem;
	min-width: 2.15rem;
	height: 2.15rem;
	min-height: 2.15rem;
	border: 1px solid var(--cor-linha);
	border-radius: 999px;
	color: var(--cor-texto-principal);
	background: var(--cor-fundo-card);
	font-size: .95rem;
	font-weight: 800;
	padding: 0;
	margin: 0 0.3em 0 0;
}

.botao-menu-associado:hover {
	color: var(--cor-texto-principal);
	background: var(--cor-cinza-claro);
	transform: translateY(-1px);
}

.menu-associado__lista {
	z-index: 3000;
	min-width: 15rem;
	padding: .45rem;
	border: 1px solid var(--cor-linha);
	border-radius: .95rem;
	background: var(--cor-fundo-card-forte);
	box-shadow: 0 18px 42px rgba(15, 23, 42, .22);
}

.menu-associado__lista .dropdown-item {
	display: flex;
	align-items: center;
	gap: .55rem;
	border-radius: .7rem;
	color: var(--cor-texto-principal);
	font-weight: 500;
	padding: .58rem .7rem;
}

.menu-associado__lista .dropdown-item:hover,
.menu-associado__lista .dropdown-item:focus {
	color: var(--cor-preto-aunp);
	background: var(--cor-cinza-claro);
}

.menu-associado__lista .dropdown-divider {
	border-color: var(--cor-linha);
}

.menu-associado {
	position: relative;
	z-index: 3000;
}

.menu-associado .dropdown-menu.show {
	z-index: 3000;
}

.botao-associar {
	--bs-btn-bg: #101010;
	--bs-btn-border-color: #101010;
	--bs-btn-hover-bg: #303030;
	--bs-btn-hover-border-color: #303030;
	--bs-btn-active-bg: #000;
	--bs-btn-active-border-color: #000;
	font-weight: 700;
	letter-spacing: .01em;
	white-space: nowrap;
}

body.tema-escuro .botao-associar {
	--bs-btn-bg: #d0ab5a;
	--bs-btn-border-color: #d0ab5a;
	--bs-btn-hover-bg: #c09b4b;
	--bs-btn-hover-border-color: #c09b4b;
	--bs-btn-active-bg: #b48d3b;
	--bs-btn-active-border-color: #b48d3b;
	color: #151515;
}

.botao-topo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.15rem;
	min-width: 2.15rem;
	height: 2.15rem;
	border: 1px solid var(--cor-linha);
	border-radius: 999px;
	background: rgba(255, 255, 255, .42);
	color: var(--cor-texto-principal);
	padding: 0;
	transition: all .2s ease;
}

.botao-topo:hover {
	background: var(--cor-cinza-claro);
	color: var(--cor-texto-principal);
	transform: translateY(-1px);
}

.botao-topo i {
	font-size: .95rem;
	line-height: 1;
}

#botao-whats {
	display: block;
	position: fixed;
	right: 1em;
	bottom: 1em;
	height: 48px;
	width: 48px;
	border: 0;
}

#botao-whats img {
	height: 100%;
	cursor: pointer;
}

.cabecalho-site {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: var(--cor-cabecalho);
	border-bottom: 1px solid var(--cor-linha);
	backdrop-filter: blur(12px);
	transition: box-shadow .22s ease, background-color .22s ease;
}

.cabecalho-site.cabecalho-site--rolado {
	box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
	background: var(--cor-cabecalho);
}

.marca-site {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	min-width: 0;
}

.marca-site__simbolo {
	width: 3.5rem;
	height: 3.25rem;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	margin-right: 0.25em;
	color: var(--cor-preto-aunp);
}

.marca-site__imagem {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 8px 14px rgba(16, 16, 16, .12));
}

body.tema-escuro .marca-site__imagem {
	filter: invert(1) drop-shadow(0 8px 14px rgba(0, 0, 0, .28));
}

.marca-site__sigla {
	margin: 0;
	font-size: clamp(1.55rem, 2.5vw, 2.15rem);
	font-weight: 900;
	letter-spacing: .03em;
	line-height: .95;
	color: var(--cor-preto-aunp);
}

.marca-site__descricao {
	margin: .15rem 0 0;
	color: var(--cor-texto-secundario);
	font-size: .86rem;
	line-height: 1.2;
	text-wrap-mode: wrap;
	white-space: normal;
	overflow-wrap: anywhere;
}

.menu-principal .nav-link {
	position: relative;
	color: var(--cor-cinza-aunp);
	font-weight: 700;
	border-radius: .75rem;
	padding-inline: .8rem;
}

.menu-principal .nav-link:hover,
.menu-principal .nav-link:focus,
.menu-principal .nav-link.active {
	color: var(--cor-preto-aunp);
	background: var(--cor-cinza-claro);
}

.botao-menu {
	border-color: var(--cor-linha);
	border-radius: .8rem;
}

body.tema-escuro .botao-menu {
	border-color: rgba(255, 255, 255, .34);
	color: #f6f8fb;
}

body.tema-escuro .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28246, 248, 251, 0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

body.tema-escuro .form-control:disabled {
	background-color: var(--cor-fundo-pagina);
}

body.tema-escuro .botao-menu:focus {
	box-shadow: 0 0 0 .18rem rgba(208, 171, 90, .28);
}

.grupo-acoes {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.botao-claro,
.botao-contorno-claro {
	border-radius: .9rem;
	font-weight: 800;
	padding: .78rem 1rem;
}

.botao-claro {
	color: #111;
	background: #fff;
	border-color: #fff;
}

.botao-claro:hover {
	color: #111;
	background: #f2f2f2;
	border-color: #f2f2f2;
}

.botao-contorno-claro {
	color: #fff;
	border-color: rgba(255, 255, 255, .42);
}

.botao-contorno-claro:hover {
	color: #fff;
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .62);
}

.cartao-padrao {
	min-width: min-content;
	border: 1px solid var(--cor-linha);
	border-radius: var(--raio-padrao);
	background: var(--cor-fundo-card);
	box-shadow: var(--sombra-suave);
	backdrop-filter: blur(10px);
}

.cartao-padrao__cabecalho {
	padding: 1.15rem 1.25rem 0.75rem 1.25rem;
	border-bottom: 1px solid var(--cor-linha);
}

.cartao-padrao__titulo {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 650;
}

.cartao-padrao__corpo {
	padding: 1.25rem;
}

.campo-formulario {
	border-radius: .8rem;
	border-color: var(--cor-linha);
	padding-block: .75rem;
	background-color: var(--cor-fundo-card-forte);
	color: var(--cor-texto-principal);
}

.campo-formulario:focus {
	border-color: var(--cor-realce);
	box-shadow: 0 0 0 .25rem rgba(200, 160, 69, .18);
	background-color: var(--cor-fundo-card-forte);
	color: var(--cor-texto-principal);
}

.campo-formulario::placeholder {
	color: var(--cor-texto-secundario);
}

.rotulo-obrigatorio::after {
  content: " *";
  color: var(--cor-realce-escuro);
  font-weight: 900;
}

.alerta-formulario,
.alerta-erro {
	margin-bottom: 0;
	border-radius: .8rem;
	font-size: .9rem;
}

.alerta-formulario {
	display: none;
}

.quadro-erro,
.quadro-aviso,
.quadro-info {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: fit-content;
	max-width: 90%;	
	margin: 2em auto;
	padding: 1em 6.5rem;
	border: 1px solid;
	border-radius: 0.5em;
}

.quadro-erro span,
.quadro-aviso span,
.quadro-info span {
	display: block;
}

.quadro-erro span+span span+span,
.quadro-aviso span+span span+span,
.quadro-info span+span span+span {
	margin-top: 0.5em;
}

.quadro-erro {
	color: var(--bs-danger);
	background-color: var(--cor-fundo-erro);
}

.quadro-aviso {
	color: var(--bs-warning);
	background-color: var(--cor-fundo-aviso);
}

.quadro-info {
	color: var(--bs-info);
	background-color: var(--cor-fundo-info);
}

.quadro-erro .bi,
.quadro-aviso .bi,
.quadro-info .bi {
	font-size: 2rem;
}

.bloco-secao {
	margin-top: clamp(1.4rem, 3vw, 2rem);
}

.cabecalho-secao {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.cabecalho-secao__titulo {
	margin: 0;
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-weight: 900;
	letter-spacing: -.02em;
}

.cabecalho-secao__texto {
	margin: .2rem 0 0;
	color: var(--cor-texto-secundario);
}

.rodape-site {
	border-top: 1px solid var(--cor-linha);
	background: var(--cor-rodape);
	color: var(--cor-texto-secundario);
	backdrop-filter: blur(8px);
	font-size: 0.7em;
}

.rodape-site__link {
	color: var(--cor-texto-principal);
	font-weight: 600;
	text-decoration: none;
}

body.tema-escuro .btn-dark {
	border-color: rgba(255, 255, 255, .8);
}

body.tema-escuro .btn-outline-dark {
	color: var(--cor-texto-principal);
	border-color: rgba(255, 255, 255, .3);
}

body.tema-escuro .btn-outline-dark:hover {
	color: #151515;
	background: #d0ab5a;
	border-color: #d0ab5a;
}

aside,
article,
.cartao-padrao {
	background: transparent !important;
	backdrop-filter: blur(5px) brightness(113%) !important;
	-webkit-backdrop-filter: blur(5px) brightness(113%) !important;
}

body.forcar-repintura-tema::before {
	transform: translate3d(0, 0, 0) scale(1.0001);
}

body.forcar-repintura-tema aside,
body.forcar-repintura-tema article,
body.forcar-repintura-tema .cartao-padrao,
body.forcar-repintura-tema .cartao-noticia,
body.forcar-repintura-tema .atalho-servico,
body.forcar-repintura-tema .barra-superior,
body.forcar-repintura-tema .cabecalho-site,
body.forcar-repintura-tema .rodape-site {
	transform: translate3d(0, 0, 0) scale(1.0001);
}

@media (max-width: 991.98px) {
	.cabecalho-site {
		position: static;
	}

	.menu-principal {
		margin-top: 1rem;
		padding-top: .8rem;
		border-top: 1px solid var(--cor-linha);
	}

	.painel-servicos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {

	.container {
		max-width: unset;
	}

	.quadro-erro,
	.quadro-aviso,
	.quadro-info {
		padding: 1em 1.5em;
	}

	.area-usuario-logado,
	.barra-superior__acoes a {
		font-size: 0.7em;
	}

	body.pagina-inicial::before {
		background-position: center top;
	}
}

@media (max-width: 575.98px) {

	.quadro-erro,
	.quadro-aviso,
	.quadro-info {
		flex-direction: column;
		padding: 1em;
		gap: 0.5em;
		font-size: 0.75em;
	}

	.quadro-erro .bi,
	.quadro-aviso .bi,
	.quadro-info .bi {
		font-size: 2em;
	}

	.quadro-erro span+span span+span,
	.quadro-aviso span+span span+span,
	.quadro-info span+span span+span {
		margin-top: 1em;
	}

	.marca-site__simbolo {
		width: 3.05rem;
		height: 2.8rem;
		margin-right: 0.05em;
	}

	.marca-site__descricao {
		max-width: 12rem;
		font-size: 0.65em;
	}

	.grupo-acoes .btn {
		width: 100%;
	}

	.cabecalho-secao {
		display: block;
	}
}