/* Glossário IA — estilos do front-end.
   As cores vêm de variáveis (--gia-*) definidas pelo plugin a partir do tema ativo
   (ou das cores escolhidas em Configurações). Texto e fundo herdam do site. */

.gia-glossary,
.gia-az {
	--gia-accent: #2563eb;
	--gia-on-accent: #ffffff;
	--gia-text: inherit;
	--gia-bg: transparent;
	--gia-border: rgba(127, 127, 127, 0.3);
	--gia-surface: rgba(127, 127, 127, 0.08);
	--gia-radius: 10px;
}

.gia-glossary {
	color: var(--gia-text);
	background: var(--gia-bg);
	margin: 1.5em 0;
}

/* Busca */
.gia-toolbar { margin: 0 0 1rem; }
.gia-search {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75em 1em;
	font: inherit;
	color: inherit;
	background: transparent;
	border: 1px solid var(--gia-border);
	border-radius: var(--gia-radius);
}
.gia-search:focus {
	outline: 2px solid var(--gia-accent);
	outline-offset: 1px;
	border-color: var(--gia-accent);
}

/* Navegação A–Z */
.gia-az {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 1.75rem;
}
.gia-az__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25em;
	height: 2.25em;
	padding: 0 0.4em;
	box-sizing: border-box;
	font-weight: 600;
	font-size: 0.95em;
	text-decoration: none;
	color: var(--gia-accent);
	background: var(--gia-surface);
	border: 1px solid var(--gia-border);
	border-radius: var(--gia-radius);
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
a.gia-az__item:hover,
a.gia-az__item:focus-visible,
a.gia-az__item.is-active {
	background: var(--gia-accent);
	color: var(--gia-on-accent);
	border-color: var(--gia-accent);
}
.gia-az__item.is-empty {
	opacity: 0.35;
	color: inherit;
	cursor: default;
}

/* Seções por letra */
.gia-letter { margin: 0 0 2rem; scroll-margin-top: 5rem; }
.gia-letter__title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4em;
	height: 2.4em;
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--gia-on-accent);
	background: var(--gia-accent);
	border-radius: var(--gia-radius);
}

/* Lista de termos */
.gia-list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: 1fr;
}
/* Colunas fixas e limitadas à largura do tema (evita estourar a coluna de conteúdo) */
.gia-glossary { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; overflow-wrap: anywhere; }
.gia-glossary *, .gia-az { box-sizing: border-box; }
.gia-az { max-width: 100%; flex-wrap: wrap; }
.gia-list { width: 100%; min-width: 0; }
.gia-item { min-width: 0; }
.gia-cols-2 .gia-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gia-cols-3 .gia-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gia-cols-4 .gia-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
	.gia-cols-3 .gia-list,
	.gia-cols-4 .gia-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.gia-cols-2 .gia-list,
	.gia-cols-3 .gia-list,
	.gia-cols-4 .gia-list { grid-template-columns: minmax(0, 1fr); }
}

.gia-item {
	margin: 0;
	padding: 0.9rem 1rem;
	background: var(--gia-surface);
	border: 1px solid var(--gia-border);
	border-radius: var(--gia-radius);
}
.gia-item__link {
	font-weight: 600;
	text-decoration: none;
	color: var(--gia-accent);
}
.gia-item__link:hover,
.gia-item__link:focus-visible { text-decoration: underline; }
.gia-item__excerpt {
	margin: 0.35em 0 0;
	font-size: 0.92em;
	opacity: 0.8;
}
.gia-empty { opacity: 0.7; }

/* Mini-navegação dentro de cada verbete */
.gia-entry-nav { margin: 0 0 1.5rem; }
.gia-entry-nav__back {
	display: inline-block;
	margin: 0 0 0.6rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--gia-accent, #2563eb);
}
.gia-az--compact { margin: 0; gap: 0.25rem; }
.gia-az--compact .gia-az__item { min-width: 1.9em; height: 1.9em; font-size: 0.85em; }

/* Caixa "Leia também" */
.gia-related {
	margin: 2rem 0 0;
	padding: 1rem 1.25rem;
	background: rgba(127, 127, 127, 0.08);
	border-left: 4px solid var(--gia-accent, #2563eb);
	border-radius: 0 10px 10px 0;
}
.gia-related h3 { margin-top: 0; }
.gia-related ul { margin-bottom: 0; }

.gia-review {
	margin: 0 0 1rem;
	font-size: 0.88em;
	opacity: 0.8;
}

@media (max-width: 480px) {
	.gia-az__item { min-width: 2em; height: 2em; }
}

.gia-toc {
	margin: 1.2rem 0;
	padding: 0.9rem 1.1rem;
	border: 1px solid var(--gia-border, rgba(0, 0, 0, 0.12));
	border-radius: var(--gia-radius, 10px);
	font-size: 0.95em;
}
.gia-toc ol {
	margin: 0.4rem 0 0;
	padding-left: 1.2rem;
}
.gia-toc a {
	color: var(--gia-accent, inherit);
}
.gia-sources {
	margin: 2rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--gia-border, rgba(0, 0, 0, 0.12));
	font-size: 0.9em;
}
.gia-sources ul {
	margin: 0.4rem 0 0;
	padding-left: 1.2rem;
}

/* Ajustes de compatibilidade com temas: contraste da letra, recuo da lista e tamanho do cabeçalho */
.gia-glossary .gia-letter__title {
	color: var(--gia-on-accent) !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	width: 2.4em;
	height: 2.4em;
	padding: 0 !important;
	margin: 0 0 0.75rem !important;
	border: 0;
	text-decoration: none;
}
.gia-glossary .gia-list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.gia-glossary .gia-item {
	margin: 0 !important;
	list-style: none !important;
}
.gia-glossary .gia-item::marker { content: none; }
