/*
 * Charte Pop & Psy pour les formulaires vidéo : une seule hauteur, angles
 * droits, bordure noire de 1 px, police Gustavo, rendu identique sous Safari,
 * Chrome et Firefox.
 *
 * Les anciennes personnalisations YellowPencil visent parfois un identifiant
 * (« body #ca », « body #block-11 … »). Les règles des champs ajoutent donc
 * « :not(#ppv) », qui leur donne le poids d'un identifiant sans cibler quoi que
 * ce soit, pour passer devant sans recourir à !important.
 */

.aiovg,
.ppv-catlist {
	--ppv-h: 44px;
	--ppv-ink: #000;
	--ppv-paper: #fff;
	--ppv-muted: #6b6b6b;
	--ppv-line: 1px solid var(--ppv-ink);
	--ppv-font: "GUSTAVO REGULAR", Helvetica, Arial, Lucida, sans-serif;
	--ppv-font-bold: "GUSTAVO BOLD", Helvetica, Arial, Lucida, sans-serif;
}

/* Disposition : les champs se partagent la ligne, le bouton garde sa largeur. */

html body .aiovg.aiovg-search-form form {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}

html body .aiovg.aiovg-search-form .aiovg-form-group {
	flex: 1 1 180px;
	margin: 0;
	padding: 0;
	min-width: 0;
}

html body .aiovg.aiovg-search-form .aiovg-field-submit {
	flex: 0 0 auto;
}

html body .aiovg.aiovg-search-form .aiovg-autocomplete-tags {
	flex: 1 1 100%;
}

/* Champs texte et liste : même boîte partout. */

html body .aiovg.aiovg-search-form form .aiovg-form-control:not(#ppv),
html body .aiovg.aiovg-search-form form input[type="text"]:not(#ppv) {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	display: block;
	margin: 0;
	border: var(--ppv-line);
	border-radius: 0;
	box-shadow: none;
	background-color: var(--ppv-paper);
	padding: 0 14px;
	width: 100%;
	height: var(--ppv-h);
	line-height: calc(var(--ppv-h) - 2px);
	color: var(--ppv-ink);
	font-family: var(--ppv-font);
	font-size: 15px;
	font-weight: 400;
}

html body .aiovg.aiovg-search-form form .aiovg-form-control:not(#ppv)::placeholder {
	opacity: 1;
	color: var(--ppv-muted);
}

html body .aiovg.aiovg-search-form form select.aiovg-form-control:not(#ppv) {
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 12px 8px;
	padding-right: 40px;
	line-height: normal;
	text-overflow: ellipsis;
}

html body .aiovg.aiovg-search-form form .aiovg-form-control:not(#ppv):focus {
	outline: 2px solid var(--ppv-ink);
	outline-offset: 1px;
}

/* Bouton : carré, gras, capitales, comme les boutons du site. */

html body .aiovg.aiovg-search-form form .aiovg-button:not(#ppv) {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	cursor: pointer;
	margin: 0;
	border: var(--ppv-line);
	border-radius: 0;
	box-shadow: none;
	background: var(--ppv-paper);
	padding: 0 28px;
	height: var(--ppv-h);
	line-height: calc(var(--ppv-h) - 2px);
	color: var(--ppv-ink);
	font-family: var(--ppv-font-bold);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color 0.15s, color 0.15s;
}

html body .aiovg.aiovg-search-form form .aiovg-button:not(#ppv):hover,
html body .aiovg.aiovg-search-form form .aiovg-button:not(#ppv):focus-visible {
	background: var(--ppv-ink);
	color: var(--ppv-paper);
}

html body .aiovg.aiovg-search-form form .aiovg-button:focus-visible {
	outline: 2px solid var(--ppv-ink);
	outline-offset: 2px;
}

/* Lien « Réinitialiser » à côté du bouton. */

html body .aiovg.aiovg-search-form .aiovg-field-submit a {
	color: var(--ppv-ink);
	font-family: var(--ppv-font);
	font-size: 13px;
}

/* Suggestions de catégories et étiquettes choisies. */

html body .aiovg.aiovg-search-form .aiovg-autocomplete-items {
	border: var(--ppv-line);
	border-top: 0;
	border-radius: 0;
	box-shadow: none;
}

html body .aiovg.aiovg-search-form .aiovg-autocomplete-items div {
	border-bottom: 1px solid #e5e5e5;
	padding: 10px 14px;
	color: var(--ppv-ink);
	font-family: var(--ppv-font);
	font-size: 14px;
}

html body .aiovg.aiovg-search-form .aiovg-autocomplete-items div:hover,
html body .aiovg.aiovg-search-form .aiovg-autocomplete-items div.aiovg-autocomplete-active {
	background: var(--ppv-ink);
	color: var(--ppv-paper);
}

html body .aiovg.aiovg-search-form .aiovg-autocomplete-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

html body .aiovg.aiovg-search-form form .aiovg-tag-item {
	margin: 0;
	background: none;
	padding: 0;
}

html body .aiovg.aiovg-search-form .aiovg-autocomplete-tags a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 0;
	border-radius: 0;
	background: var(--ppv-ink);
	padding: 6px 10px;
	line-height: 1;
	color: var(--ppv-paper);
	font-family: var(--ppv-font);
	font-size: 12px;
	text-decoration: none;
	text-transform: uppercase;
}

/* Formulaire étroit (barre latérale, mobile) : tout sur une colonne. Le formulaire
   réagit à sa propre largeur, quel que soit l'endroit où il est placé. */

html body .aiovg.aiovg-search-form {
	container-type: inline-size;
	container-name: ppv-search;
}

@container ppv-search (max-width: 560px) {
	html body .aiovg.aiovg-search-form .aiovg-form-group,
	html body .aiovg.aiovg-search-form .aiovg-field-submit {
		flex: 1 1 100%;
	}

	html body .aiovg.aiovg-search-form form .aiovg-button:not(#ppv) {
		width: 100%;
	}
}
