/* ADOK Certificación · Buscador de normas y certificaciones ([adok_buscador] y capa global). */

.adok-buscador,
.adok-paleta,
.adok-buscador-nada {
	--adok-b-azul: var(--wp--preset--color--azul, #00509f);
	--adok-b-noche: var(--wp--preset--color--azul-noche, #062b57);
	--adok-b-cian: var(--wp--preset--color--cian, #1fb6e8);
	--adok-b-claro: var(--wp--preset--color--azul-claro, #e8f0fa);
	--adok-b-superficie: var(--wp--preset--color--superficie, #f5f8fc);
	--adok-b-linea: var(--wp--preset--color--linea, #d9e2ec);
	--adok-b-tinta: var(--wp--preset--color--tinta, #0f1b2d);
	--adok-b-gris: var(--wp--preset--color--gris, #5b6b7f);
	--adok-b-base: var(--wp--preset--color--base, #fff);
	--adok-b-radio: var(--adok-radio, 14px);
	--adok-b-sombra: var(--adok-sombra, 0 10px 30px rgba(6, 43, 87, .1));
	/* Foco en azul (el cian sobre blanco no llega a 3:1, WCAG 1.4.11); el cian, solo sobre fondo oscuro. */
	--adok-b-foco: var(--adok-b-azul);
	--adok-b-anillo: 0 0 0 2px var(--adok-b-azul);
	font-family: var(--wp--preset--font-family--manrope, inherit);
}

/* El buscador del banner va sobre azul noche: anillo y foco claros. */
.adok-buscador--hero {
	--adok-b-anillo: 0 0 0 3px rgba(31, 182, 232, .7);
}

.adok-buscador--hero .adok-buscador__populares {
	--adok-b-foco: var(--adok-b-base);
}

.adok-buscador {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	text-align: left;
}

.adok-buscador *,
.adok-paleta * {
	box-sizing: border-box;
}

.adok-buscador__sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Campo ------------------------------------------------------------------ */

.adok-buscador__etiqueta {
	display: block;
	margin: 0 0 .625rem;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--adok-b-noche);
}

.adok-buscador__caja {
	display: flex;
	align-items: center;
	gap: .5rem;
	min-width: 0;
	padding: .3125rem .3125rem .3125rem 1rem;
	color: var(--adok-b-tinta);
	background: var(--adok-b-base);
	border: 1px solid var(--adok-b-linea);
	border-radius: 999px;
	box-shadow: var(--adok-b-sombra);
	transition: border-color .15s ease, box-shadow .15s ease;
}

.adok-buscador__caja:focus-within {
	border-color: var(--adok-b-azul);
	box-shadow: var(--adok-b-anillo), var(--adok-b-sombra);
}

.adok-buscador__lupa {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--adok-b-gris);
}

.adok-buscador__campo {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: .625rem 0;
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--adok-b-tinta);
	background: transparent;
	border: 0;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.adok-buscador .adok-buscador__campo:focus,
.adok-buscador .adok-buscador__campo:focus-visible {
	outline: none; /* el anillo lo pinta .adok-buscador__caja:focus-within */
	box-shadow: none;
}

.adok-buscador__campo::placeholder {
	color: var(--adok-b-gris);
	opacity: 1;
}

.adok-buscador__campo::-webkit-search-decoration,
.adok-buscador__campo::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.adok-buscador__enviar {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	gap: .375rem;
	min-height: 2.75rem;
	margin: 0;
	padding: .625rem 1.25rem;
	font: inherit;
	font-weight: 700;
	line-height: 1;
	color: var(--adok-b-base);
	cursor: pointer;
	background: var(--adok-b-azul);
	border: 0;
	border-radius: 999px;
	transition: background-color .15s ease;
}

.adok-buscador__enviar:hover {
	background: var(--adok-b-noche);
}

.adok-buscador__enviar:focus-visible,
.adok-buscador__cta:focus-visible,
.adok-buscador__contacto:focus-visible,
.adok-paleta__cerrar:focus-visible,
.adok-buscador__populares a:focus-visible {
	outline: 3px solid var(--adok-b-foco);
	outline-offset: 2px;
}

/* Panel de sugerencias -------------------------------------------------- */

.adok-buscador__panel {
	position: absolute;
	top: calc(100% + .5rem);
	right: 0;
	left: 0;
	z-index: 60;
	max-height: min(70vh, 34rem);
	padding: .375rem;
	overflow: auto;
	overscroll-behavior: contain;
	color: var(--adok-b-tinta);
	background: var(--adok-b-base);
	border: 1px solid var(--adok-b-linea);
	border-radius: var(--adok-b-radio);
	box-shadow: 0 18px 50px rgba(6, 43, 87, .18);
}

.adok-buscador__panel[hidden],
.adok-buscador__lista[hidden],
.adok-buscador__vacio[hidden],
.adok-buscador__pie[hidden] {
	display: none;
}

.adok-buscador--fijo .adok-buscador__panel {
	position: fixed;
	right: auto;
	z-index: 900;
}

.adok-buscador__grupo + .adok-buscador__grupo {
	margin-top: .25rem;
	padding-top: .25rem;
	border-top: 1px solid var(--adok-b-linea);
}

.adok-buscador__grupo-titulo {
	padding: .625rem .75rem .375rem;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--adok-b-gris);
	text-transform: uppercase;
	letter-spacing: .06em;
}

.adok-buscador__opcion {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .5625rem .75rem;
	color: var(--adok-b-tinta);
	text-decoration: none;
	cursor: pointer;
	border-radius: 10px;
	scroll-margin: .5rem;
}

.adok-buscador__opcion:hover,
.adok-buscador__opcion:focus {
	color: var(--adok-b-tinta);
	text-decoration: none;
}

.adok-buscador__opcion[aria-selected="true"] {
	background: var(--adok-b-claro);
	box-shadow: inset 3px 0 0 var(--adok-b-azul);
}

.adok-buscador__marca {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	min-height: 2rem;
	color: var(--adok-b-azul);
	background: var(--adok-b-claro);
	border-radius: 8px;
}

.adok-buscador__codigo {
	width: 8rem;
	padding: .25rem .5rem;
	font-size: .8125rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	overflow-wrap: anywhere;
}

.adok-buscador__icono {
	width: 2rem;
}

.adok-buscador__opcion[aria-selected="true"] .adok-buscador__marca {
	background: var(--adok-b-base);
}

.adok-buscador__texto {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: .0625rem;
	min-width: 0;
}

.adok-buscador__nombre {
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.adok-buscador__area {
	font-size: .8125rem;
	line-height: 1.3;
	color: var(--adok-b-gris);
}

.adok-buscador__extracto {
	display: -webkit-box;
	margin-top: .125rem;
	overflow: hidden;
	font-size: .875rem;
	line-height: 1.45;
	color: var(--adok-b-gris);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.adok-buscador mark {
	padding: 0;
	font-weight: 800;
	color: inherit;
	background: none;
	box-shadow: inset 0 -.35em 0 rgba(31, 182, 232, .28);
}

.adok-buscador__flecha {
	display: inline-flex;
	flex: none;
	color: var(--adok-b-azul);
	opacity: 0;
	transition: opacity .12s ease, transform .12s ease;
	transform: translateX(-4px);
}

.adok-buscador__opcion[aria-selected="true"] .adok-buscador__flecha {
	opacity: 1;
	transform: none;
}

/* Sin resultados y pie de captación -------------------------------------- */

.adok-buscador__vacio {
	padding: 1.25rem 1rem 1rem;
	text-align: center;
}

.adok-buscador__vacio p {
	margin: 0 0 .375rem;
}

.adok-buscador__vacio-titulo,
.adok-buscador-nada__titulo {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--adok-b-noche);
	overflow-wrap: anywhere;
}

.adok-buscador__vacio-texto {
	color: var(--adok-b-gris);
}

.adok-buscador__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin-top: .625rem;
	padding: .6875rem 1.375rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--adok-b-base);
	text-decoration: none;
	background: var(--adok-b-azul);
	border-radius: 999px;
	transition: background-color .15s ease;
}

.adok-buscador__cta:hover,
.adok-buscador__cta:focus {
	color: var(--adok-b-base);
	text-decoration: none;
	background: var(--adok-b-noche);
}

.adok-buscador__pie {
	margin-top: .375rem;
	padding: .75rem .75rem .5rem;
	font-size: .875rem;
	color: var(--adok-b-gris);
	border-top: 1px solid var(--adok-b-linea);
}

.adok-buscador__contacto {
	font-weight: 700;
	color: var(--adok-b-azul);
	text-decoration: underline;
	text-underline-offset: .15em;
}

/* Variante hero ---------------------------------------------------------- */

.adok-buscador--hero .adok-buscador__caja {
	padding: .4375rem .4375rem .4375rem 1.25rem;
	border-color: transparent;
	box-shadow: 0 18px 50px rgba(6, 43, 87, .28);
}

.adok-buscador--hero .adok-buscador__caja:focus-within {
	box-shadow: var(--adok-b-anillo), 0 18px 50px rgba(6, 43, 87, .28);
}

.adok-buscador--hero .adok-buscador__campo {
	padding: .8125rem 0;
	font-size: 1.125rem;
}

.adok-buscador--hero .adok-buscador__lupa {
	width: 1.5rem;
	height: 1.5rem;
}

.adok-buscador--hero .adok-buscador__enviar {
	min-height: 3.25rem;
	padding: .75rem 1.625rem;
	font-size: 1.0625rem;
}

.adok-buscador__populares {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin-top: 1rem;
	font-size: .875rem;
}

.adok-buscador__populares-titulo {
	font-weight: 600;
	opacity: .9;
}

.adok-buscador__populares ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adok-buscador__populares a {
	display: inline-block;
	padding: .3125rem .8125rem;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	background: rgba(127, 127, 127, .12);
	border: 1px solid rgba(127, 127, 127, .35);
	border-radius: 999px;
	transition: background-color .15s ease;
}

.adok-buscador__populares a:hover {
	color: inherit;
	background: rgba(127, 127, 127, .24);
}

/* Variante página (resultados en el flujo) ------------------------------ */

.adok-buscador--pagina .adok-buscador__panel {
	position: static;
	max-height: none;
	margin-top: 1rem;
	padding: .375rem;
	box-shadow: none;
}

.adok-buscador--pagina .adok-buscador__caja {
	padding-top: .4375rem;
	padding-bottom: .4375rem;
}

.adok-buscador--pagina .adok-buscador__codigo {
	width: 8.5rem;
	min-height: 2.5rem;
	font-size: .875rem;
}

.adok-buscador--pagina .adok-buscador__opcion {
	padding: .75rem;
}

/* Variante compacta ------------------------------------------------------ */

.adok-buscador--compacto .adok-buscador__caja {
	padding: .25rem .25rem .25rem .875rem;
	box-shadow: none;
}

.adok-buscador--compacto .adok-buscador__campo {
	padding: .5rem 0;
}

.adok-buscador--compacto .adok-buscador__enviar {
	width: 2.5rem;
	min-height: 2.5rem;
	padding: 0;
}

.adok-buscador--compacto .adok-buscador__enviar-texto {
	display: none;
}

.adok-buscador--compacto .adok-buscador__codigo {
	width: 6rem;
}

/* Capa global («paleta») ------------------------------------------------- */

.adok-paleta {
	position: fixed;
	inset: 0;
	z-index: 10000; /* por encima del globo de contacto (9990-9992) */
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 9vh 1rem 1rem;
}

.adok-paleta[hidden] {
	display: none;
}

html.adok-paleta-abierta,
html.adok-paleta-abierta body {
	overflow: hidden;
}

.adok-paleta__fondo {
	position: absolute;
	inset: 0;
	background: rgba(6, 43, 87, .55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity .18s ease;
}

.adok-paleta__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(100%, 44rem);
	max-height: min(82vh, 46rem);
	overflow: hidden;
	color: var(--adok-b-tinta);
	background: var(--adok-b-base);
	border-radius: calc(var(--adok-b-radio) + 4px);
	box-shadow: 0 30px 80px rgba(6, 43, 87, .35);
	opacity: 0;
	transition: opacity .18s ease, transform .18s ease;
	transform: translateY(-8px) scale(.985);
}

.adok-paleta.is-abierta .adok-paleta__fondo,
.adok-paleta.is-abierta .adok-paleta__panel {
	opacity: 1;
}

.adok-paleta.is-abierta .adok-paleta__panel {
	transform: none;
}

.adok-buscador--paleta {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.adok-buscador--paleta .adok-buscador__caja {
	padding: .625rem .75rem .625rem 1.125rem;
	border: 0;
	border-bottom: 2px solid var(--adok-b-linea);
	border-radius: 0;
	box-shadow: none;
}

.adok-buscador--paleta .adok-buscador__caja:focus-within {
	border-bottom-color: var(--adok-b-azul);
	box-shadow: none;
}

.adok-buscador--paleta .adok-buscador__campo {
	padding: .75rem 0;
	font-size: 1.125rem;
}

.adok-buscador--paleta .adok-buscador__panel {
	position: static;
	flex: 1 1 auto;
	max-height: none;
	min-height: 0;
	padding: .375rem .5rem .5rem;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.adok-paleta__cerrar {
	display: inline-flex;
	flex: none;
	align-items: center;
	min-height: 2.25rem;
	margin: 0;
	padding: 0 .5rem;
	font: inherit;
	font-size: .875rem;
	color: var(--adok-b-gris);
	cursor: pointer;
	background: none;
	border: 0;
	border-radius: 8px;
}

.adok-paleta__cerrar:hover {
	color: var(--adok-b-tinta);
	background: var(--adok-b-superficie);
}

.adok-paleta__cerrar-texto {
	display: none;
	font-weight: 600;
}

.adok-paleta kbd {
	display: inline-block;
	min-width: 1.5em;
	margin: 0 .125rem;
	padding: .0625rem .375rem;
	font: inherit;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--adok-b-tinta);
	text-align: center;
	background: var(--adok-b-superficie);
	border: 1px solid var(--adok-b-linea);
	border-bottom-width: 2px;
	border-radius: 6px;
}

.adok-paleta__pie {
	display: flex;
	flex-wrap: wrap;
	gap: .375rem 1.25rem;
	padding: .625rem 1.125rem;
	font-size: .8125rem;
	color: var(--adok-b-gris);
	background: var(--adok-b-superficie);
	border-top: 1px solid var(--adok-b-linea);
}

.adok-paleta__atajo {
	margin-left: auto;
}

/* Búsqueda nativa sin resultados (plantilla de búsqueda del tema) ------- */

.adok-buscador-nada {
	max-width: 40rem;
	margin: 1rem auto;
	text-align: center;
}

.adok-buscador-nada > p {
	margin: 0 0 .5rem;
}

.adok-buscador-nada .adok-buscador {
	margin-top: 1.5rem;
}

/* Móvil ------------------------------------------------------------------ */

@media (max-width: 640px) {
	.adok-buscador--hero .adok-buscador__caja {
		padding-left: 1rem;
	}

	.adok-buscador--hero .adok-buscador__campo {
		font-size: 1rem;
	}

	.adok-buscador--hero .adok-buscador__enviar,
	.adok-buscador--pagina .adok-buscador__enviar {
		width: 3rem;
		min-height: 3rem;
		padding: 0;
	}

	.adok-buscador--hero .adok-buscador__enviar-texto,
	.adok-buscador--pagina .adok-buscador__enviar-texto {
		display: none;
	}

	.adok-buscador__codigo,
	.adok-buscador--pagina .adok-buscador__codigo,
	.adok-buscador--compacto .adok-buscador__codigo {
		width: 5.25rem;
		font-size: .75rem;
	}

	.adok-buscador__opcion {
		gap: .625rem;
		padding: .625rem .5rem;
	}

	.adok-buscador__flecha {
		display: none;
	}

	.adok-paleta {
		padding: 0;
	}

	.adok-paleta__panel {
		width: 100%;
		height: 100vh;
		height: 100dvh;
		max-height: none;
		border-radius: 0;
	}

	.adok-paleta kbd,
	.adok-paleta__pie {
		display: none;
	}

	.adok-paleta__cerrar-texto {
		display: inline;
	}
}

@media (hover: none) {
	.adok-paleta__pie {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adok-buscador__caja,
	.adok-buscador__flecha,
	.adok-paleta__fondo,
	.adok-paleta__panel {
		transition: none;
	}

	.adok-paleta__panel {
		transform: none;
	}
}
