/* Guia das NRs ([cvp_busca_nr modo="guia"]): só o funcional (estados por [hidden], aria-* e data-*).
   O visual (vidro, passos, abas, cartões) é do tema; tudo em :where() para o tema sempre vencer. */

/* !important justificado: os estados do guia são o atributo hidden; um display do tema nos painéis, etapas,
   lista de sugestões ou cartões não pode reabrir o que o JS fechou. */
.cvp-guia [hidden],
.cvp-guia-todas [hidden] {
	display: none !important;
}

:where(.cvp-guia__combo) {
	position: relative;
}

:where(.cvp-guia__sug) {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: min(60vh, 26rem);
	overflow-y: auto;
}

:where(.cvp-guia__op) {
	display: flex;
	align-items: center;
	gap: 0.75em;
	min-height: 44px;
	cursor: pointer;
}

/* Sugestão marcada pelas setas (o foco fica no campo): sinal visível sem depender da cor do tema. */
:where(.cvp-guia__op[aria-selected="true"]) {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}

:where(.cvp-guia__setores, .cvp-guia__sits, .cvp-guia__res-nrs, .cvp-guia__grade, .cvp-guia__passos) {
	margin: 0;
	padding: 0;
	list-style: none;
}

:where(.cvp-guia__aba, .cvp-guia__setor, .cvp-guia__sit, .cvp-guia__voltar, .cvp-guia__ir2) {
	min-height: 44px;
	cursor: pointer;
	font: inherit;
}

:where(.cvp-guia__pergunta:focus) {
	outline: none;
}

/* Rádio do filtro escondido só visualmente: o rótulo é o alvo, o foco aparece no rótulo. */
:where(.cvp-guia__filtro) {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 44px;
	cursor: pointer;
}

:where(.cvp-guia__filtro input) {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

:where(.cvp-guia__filtro:has(input:focus-visible)) {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Fallback do texto só para leitor de tela, se o tema não trouxer o .screen-reader-text do WordPress. */
:where(.cvp-guia, .cvp-guia-todas) :where(.screen-reader-text) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
