/* Variables globales */
:root {
	--searchbar-spacing: 5px;
	--searchbar-height: 50px;
	--searchbar-font-size: 14px;
	--searchbar-padding: 10px;
	--searchbar-border-radius: 5px;
	--searchbar-dark: #393939;
	--searchbar-light: #ffffff;
	--searchbar-border: transparent;
	--searchbar-overlay: rgba(0, 0, 0, 0.6);
	--searchbar-input-bg: #434343;
	--searchbar-input-color: #FFF;
	--reset-btn-bg: white;
	--reset-btn-color: #666;
	--reset-btn-bg-hover: white;
	--reset-btn-color-hover: #666;
}

/* Désactivation des éléments redondants */
header .constant_searchbar,
header #primary-nav .menu-toggle,
.has_constant_searchbar #primary-nav .bubble_search,
.has_constant_searchbar .bulles_flottantes .bubble.search,
.has_constant_searchbar #primary-nav .search {
	display: none;
}

/* Base styles */
.constant_searchbar {
	display: flex;
	justify-content: center;
	gap: var(--searchbar-spacing, 5px);
	padding: var(--searchbar-padding);
	background-color: var(--searchbar-dark);
	font-size: var(--searchbar-font-size);
}

/* Search wrapper */
.constant_searchbar .search_wrapper {
	flex-grow: 1;
}

/* Input fields */
.constant_searchbar .visible-fields {
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.constant_searchbar .visible-fields > label,
.constant_searchbar .visible-fields > label > input[type="search"] {
	width: 100%;
	background-color: var(--searchbar-input-bg);
}

.constant_searchbar .visible-fields > label {
	display: flex;
	border: 1px solid var(--searchbar-border);
	overflow: hidden;
	border-radius: var(--searchbar-border-radius) 0 0 var(--searchbar-border-radius);
	padding: 0.25em;
}

.constant_searchbar .visible-fields input[type='search'] {
	outline: none;
	font-size: var(--searchbar-font-size);
	color: var(--searchbar-input-color);
	background-color: var(--searchbar-input-bg);
	border: none;
	flex-grow: 1;
	padding: 0.25em;
}

.constant_searchbar .visible-fields .search-reset {
	display: none !important;
	font-size: 12px;
	line-height: 1;
	background: var(--reset-btn-bg);
	color: var(--reset-btn-color);
	align-items: center;
	padding: 0 0.5em !important;
	margin: 1px;
	border-radius: 5px;
	cursor: pointer;
}

.constant_searchbar .visible-fields .search-reset span + i {
	margin-left: 3px;
}

.constant_searchbar .visible-fields .search-reset.show-reset {
	display: flex !important;
}

.constant_searchbar .visible-fields .search-reset i {
	margin-top: 1px;
}

.constant_searchbar .visible-fields .search-reset:hover,
.constant_searchbar .visible-fields .search-reset:focus-visible {
	background: var(--reset-btn-bg-hover);
	color: var(--reset-btn-color-hover);
}

.constant_searchbar input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}


/* Mobile styles */
.constant_searchbar.mobile {
	width: 100%;
	padding: var(--searchbar-spacing);
}

.constant_searchbar.mobile .menu-toggle i {
	min-width: 12px;
}

.constant_searchbar.mobile .visible-fields input[type='submit'] {
	text-indent: -1000px;
	z-index: -1;
}

/* Search results */
.constant_searchbar .relevanssi-live-search-results.relevanssi-live-search-results-showing {
	--margin: var(--searchbar-spacing);
	top: unset !important;
	bottom: calc(var(--margin) + var(--searchbar-height)) !important;
	left: var(--margin) !important;
	width: calc(100vw - (2 * var(--margin))) !important;
	max-height: 300px;
	min-height: unset;
}

/* Search result status */
.constant_searchbar .relevanssi-live-search-results-showing .relevanssi-live-search-result-status {
	padding: 0.5em;
	border-bottom: 1px solid #EEE;
	font-size: inherit;
}

.constant_searchbar .relevanssi-live-search-results-showing .ajax-results:has(.relevanssi-live-search-no-results, .relevanssi-live-search-didyoumean) {
	padding: 1em;
}

.constant_searchbar .relevanssi-live-search-results-showing .ajax-results p.relevanssi-live-search-no-results,
.constant_searchbar .relevanssi-live-search-results-showing .ajax-results p.relevanssi-live-search-didyoumean {
	padding: 0 !important;
	text-align: center;
}

.constant_searchbar .relevanssi-live-search-results-showing .ajax-results p.relevanssi-live-search-no-results {
	font-weight: bold;
}

.constant_searchbar .relevanssi-live-search-results-showing .ajax-results p.relevanssi-live-search-didyoumean {
	font-style: italic;
	margin-top: 0.25em;
}

.constant_searchbar .relevanssi-live-search-results-showing .ajax-results p.relevanssi-live-search-didyoumean a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--vef-couleur-dominante, #393939);
	text-decoration-thickness: 2px;
}

.constant_searchbar.mobile .relevanssi-live-search-results-showing .relevanssi-live-search-result-status {
	display: none;
}

.constant_searchbar .relevanssi-live-search-result-status p {
	font-size: var(--searchbar-font-size);
	line-height: 1.3em;
	border-bottom: none;
	background-color: #F5F5F5;
	padding: 0.5em;
	border-radius: 5px;
	font-style: italic;
	text-align: center;
	font-weight: bold;
}

.constant_searchbar .relevanssi-live-search-result a {
	white-space: unset;
	overflow: unset;
	text-overflow: unset;
}

/* Overlay */
.constant_searchbar.mobile:has(.relevanssi-live-search-results-showing)::after {
	content: " ";
	background: var(--searchbar-overlay);
	position: absolute;
	inset: 0;
	height: 100vh;
	top: unset;
	bottom: var(--searchbar-height);
	z-index: -10;
}

/* Button styles */
.constant_searchbar button:not(.search-reset) {
	display: flex;
	gap: 5px;
	align-items: center;
	background: var(--vef-couleur-dominante, var(--searchbar-light));
	color: var(--searchbar-light);
	border-radius: var(--searchbar-border-radius);
	padding: 0.5em 0.75em;
	cursor: pointer;
}

.constant_searchbar button > svg {
	width: 1em;
}

.constant_searchbar button:not(.search-reset):hover {
	background: var(--searchbar-light);
	color: var(--searchbar-dark);
}

/* Sur les blogs encore sur l'ancien header, ne pas afficher la cs header sur mobile */
.header-2017 > .constant_searchbar {
	display: none;
}

/* Desktop styles */
@media (min-width: 800px) {
	:root {
		--searchbar-font-size: 16px;
		--searchbar-border: #DDD;
		--searchbar-input-bg: white;
		--searchbar-input-color: #555;
		--reset-btn-bg: #F5F5F5;
		--reset-btn-color: #666;
		--reset-btn-bg-hover: #EEE;
		--reset-btn-color-hover: #555;
		--padding-top-constant-searchbar-header: calc(80px + var(--wp-admin--admin-bar--height, 0px));
		--position-top-constant-searchbar: calc(0px + var(--wp-admin--admin-bar--height, 0px));
	}

	.constant_searchbar.mobile {
		display: none;
	}

	.header-2017 > .constant_searchbar.desktop {
		position: fixed;
		left: 0;
		right: 0;
		top: var(--position-top-constant-searchbar, 0);
		z-index: 101;
	}

	.header-2017 > .constant_searchbar.desktop,
	header .constant_searchbar.desktop {
		display: flex;
		background-color: rgb(245, 245, 245);
		color: var(--searchbar-dark);
	}

	.header-2017 > .constant_searchbar.desktop #searchform,
	header .constant_searchbar #searchform {
		width: 100%;
		max-width: 800px;
		position: relative;
	}

	.has_constant_searchbar.header-2017 .layout {
		margin-top: 80px;
	}

	.has_constant_searchbar.header-2017.admin-bar .layout {
		margin-top: 80px;
	}

	.header-2017 > .constant_searchbar.desktop #searchform > .visible-fields,
	header .constant_searchbar #searchform > .visible-fields {
		display: flex;
		justify-content: center;
	}

	.header-2017 > .constant_searchbar.desktop #searchform > .visible-fields > label,
	header .constant_searchbar #searchform > .visible-fields > label {
		width: 100%;
		max-width: 800px;
	}

	.header-2017 > .constant_searchbar.desktop #searchform input[type="search"],
	header .constant_searchbar #searchform input[type="search"] {
		width: 100%;
	}

	.header-2017 > .constant_searchbar.desktop #searchform input[type="search"],
	header .constant_searchbar #searchform input[type="search"]:focus-visible {
		border-color: var(--searchbar-dark);
	}

	.header-2017 > .constant_searchbar.desktop #searchform > .visible-fields input[type="submit"],
	header .constant_searchbar #searchform > .visible-fields input[type="submit"] {
		background-color: #CCC;
		color: var(--searchbar-dark);
		cursor: pointer;
		padding: 0.5em 0.75em;
		border-radius: 0 var(--searchbar-border-radius) var(--searchbar-border-radius) 0;
	}

	.header-2017 > .constant_searchbar.desktop #searchform > .visible-fields input[type="submit"]:hover,
	header .constant_searchbar #searchform > .visible-fields input[type="submit"]:hover {
		background-color: var(--searchbar-dark);
		color: var(--searchbar-light);
	}

	.header-2017 > .constant_searchbar .relevanssi-live-search-results.relevanssi-live-search-results-showing,
	header .constant_searchbar .relevanssi-live-search-results.relevanssi-live-search-results-showing {
		position: absolute;
		left: 0 !important;
		bottom: unset !important;
		max-height: 300px;
		min-height: unset;
		width: 100% !important;
	}

	.header-2017 > .constant_searchbar:has(.relevanssi-live-search-results-showing),
	header .constant_searchbar:has(.relevanssi-live-search-results-showing) {
		z-index: 102;
		position: relative;
	}
}

/* Mobile nav adjustments */
.has_constant_searchbar.mobile_nav_open #primary-nav.visible {
	padding-bottom: 120px;
}

/* Safari fix */
@supports (-webkit-touch-callout: none) {
	.constant_searchbar {
		--searchbar-font-size: 16px;
	}
}