.atv-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 1100;
	background: var(--wp--custom--overlay--search, rgba(140, 196, 63, 0.96));
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: var(--spacing-layout-m) var(--spacing-s);
	overflow: auto;
}

.atv-search-overlay[hidden] {
	display: none;
}

.atv-search-overlay__panel {
	width: min(40rem, 100%);
	color: var(--color-black-90);
	margin-top: var(--spacing-layout-s);
}

/* Overlay lima: texto e foco em navy (4,89:1). Branco sobre lima falha (2,24:1). */
.atv-search-overlay {
	--color-focus-outline: var(--atv-focus-light);
}

.atv-search-overlay__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: var(--fontsize-heading-l);
	margin: 0 0 var(--spacing-s);
	color: var(--atv-navy);
}

.atv-search-overlay .hds-search-input__label,
.atv-search-overlay .hds-search-input__helper-text,
.atv-search-overlay .hds-fieldset__legend {
	color: var(--atv-navy);
}

.atv-search-overlay .hds-radio-button {
	--label-color: var(--atv-navy);
	--border-color-unselected: var(--atv-navy);
	--icon-color-selected: var(--atv-navy);
	--border-color-selected: var(--atv-navy);
}

.atv-search-overlay__close {
	position: absolute;
	top: var(--spacing-s);
	inset-inline-end: var(--spacing-s);
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	color: var(--atv-navy);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.atv-search-overlay__close:focus-visible {
	outline: var(--atv-focus-width, 3px) solid var(--atv-focus-light);
	outline-offset: var(--atv-focus-offset, 2px);
}

.atv-search-overlay__filters {
	margin-top: var(--spacing-m);
}

.atv-search-overlay .hds-fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-s);
	border: 0;
	padding: 0;
	margin: 0;
}

.atv-search-page {
	padding-block: var(--spacing-layout-m);
}

.atv-search-page h1 {
	margin: var(--spacing-s) 0 var(--spacing-2-xs);
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: var(--fontsize-heading-l);
	overflow-wrap: anywhere; /* a long search term must not push the page sideways */
}

.atv-search-page__count {
	margin: 0 0 var(--spacing-m);
	color: var(--color-black-60);
}

/* Inline search form (search page, 404). */
.atv-search-form {
	max-width: 36rem;
	margin-block: var(--spacing-m) var(--spacing-l);
}

.atv-search-page__list {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--spacing-l);
	display: grid;
	gap: var(--spacing-s);
	/* Full content width, like the pagination below it (centred on the same width). */
}

/* The list items are cards, not prose: no 65ch measure (base.css caps li). */
.atv-search-page__list > li {
	max-width: none;
}

/* Result card: the whole card is the title link's hit area. */
.atv-search-card {
	position: relative;
	display: grid;
	gap: var(--spacing-2-xs);
	padding: var(--spacing-m);
	border: 1px solid var(--color-black-20);
	border-radius: var(--atv-radius-m);
	background: var(--color-white);
	transition: border-color var(--atv-motion-fast) var(--atv-motion-ease);
}

.atv-search-card:hover {
	border-color: var(--atv-navy);
}

.atv-search-card:focus-within {
	outline: var(--atv-focus-width) solid var(--color-focus-outline);
	outline-offset: var(--atv-focus-offset);
}

.atv-search-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-xs);
}

.atv-search-card .hds-tag {
	width: auto;
}

.atv-search-card__date {
	font-size: var(--fontsize-body-s);
	color: var(--color-black-60);
}

.atv-search-card__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--fontsize-heading-s);
	font-weight: 700;
}

.atv-search-card__title a {
	color: var(--color-black-90);
	text-decoration: none;
}

.atv-search-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.atv-search-card__title a:focus-visible {
	outline: none;
}

.atv-search-card:hover .atv-search-card__title a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.atv-search-card__excerpt {
	margin: 0;
	color: var(--color-black-80);
}

.atv-search-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-s);
}

@media (prefers-reduced-motion: reduce) {
	.atv-search-card {
		transition: none;
	}
}

body.atv-search-open {
	overflow: hidden;
}
