/* ***************************************************************************
 * En-tete fixe et barre de recherche (bloc_entete.php, bloc_recherche.php)
 *
 * Fichier separe de main.css, qui est compile depuis des sources SCSS
 * absentes du depot : une recompilation ecraserait ces regles.
 * Charge apres main.css via /css/css_urls.
 * *************************************************************************** */

/* Texte reserve aux lecteurs d'ecran */
.et_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;
	}

html.et_bloque,
html.et_bloque body
	{
	overflow:hidden;
	}

/* Pages interieures : contenu sous l'en-tete sur deux niveaux */
@media (min-width: 1280px)
	{
	body:not(.home) main
		{
		margin-top:150px;
		}
	}

/* ***************************************************************************
 * Barre : foncee sur toutes les pages (translucide sur la photo d'accueil tant
 * qu'on n'a pas defile). Deux niveaux : outils en haut, menu sous le logo.
 * *************************************************************************** */

#entete
	{
	--et-h:80px;
	--et-h-outils:38px;
	--et-logo:190px;
	--et-marge:clamp(16px,2.4vw,44px);
	--et-ecart:clamp(20px,2.2vw,44px);
	--et-rouge:#d8252c;
	--et-fond:#1c1c1c;
	--et-fond-panneau:#202020;
	--et-filet:rgba(255,255,255,.14);
	position:fixed;
	top:0;
	left:0;
	right:0;
	width:100%;
	height:auto;
	z-index:2000;
	color:#fff;
	background:rgba(28,28,28,.97);
	-webkit-backdrop-filter:saturate(1.4) blur(10px);
	backdrop-filter:saturate(1.4) blur(10px);
	transition:background-color .3s,box-shadow .3s;
	}

/* Au defilement, la barre s'affine */
#entete.fixed
	{
	--et-h:66px;
	--et-h-outils:32px;
	background:var(--et-fond);
	box-shadow:0 2px 24px rgba(0,0,0,.28);
	}

/* Sous-menu, tiroir ou recherche ouverts : fond plein */
#entete.et_solide
	{
	background:var(--et-fond);
	}

#entete [hidden]
	{
	display:none !important;
	}

/* Mesure de la place disponible (bloc_entete.php) : sans transition */
#entete.et_mesure,
#entete.et_mesure *,
#entete.et_mesure *::after
	{
	transition:none !important;
	}

#entete .et_barre
	{
	display:grid;
	grid-template-columns:minmax(0,1fr) var(--et-logo) minmax(0,1fr);
	grid-template-rows:var(--et-h-outils) var(--et-h);
	column-gap:var(--et-ecart);
	align-items:stretch;
	padding:0 var(--et-marge);
	transition:grid-template-rows .3s;
	}

/* Filet sous la ligne des outils */
#entete .et_barre::before
	{
	content:"";
	grid-row:1;
	grid-column:1 / -1;
	align-self:end;
	height:1px;
	margin:0 calc(-1 * var(--et-marge));
	background:var(--et-filet);
	}

/* Remises a zero limitees a la barre : le panneau de recherche garde ses propres styles */
#entete :where(.et_barre) a,
#entete :where(.et_barre) button
	{
	font-family:inherit;
	color:inherit;
	padding:0;
	margin:0;
	transition:color .2s,background-color .2s,border-color .2s,opacity .2s;
	}

#entete :where(.et_barre) button
	{
	background:none;
	border:0;
	cursor:pointer;
	}

#entete :where(.et_barre) ul
	{
	list-style:none;
	margin:0;
	padding:0;
	}

#entete :where(.et_barre) a:focus-visible,
#entete :where(.et_barre) button:focus-visible
	{
	outline:2px solid currentColor;
	outline-offset:3px;
	}

/* Logo blanc, au centre de la ligne du menu */

#entete .et_logo
	{
	grid-column:2;
	grid-row:2;
	align-self:center;
	justify-self:center;
	position:relative;
	display:block;
	width:var(--et-logo);
	line-height:0;
	z-index:2;
	transition:width .3s;
	}

#entete.fixed .et_logo
	{
	--et-logo:165px;
	}

#entete .et_logo img
	{
	display:block;
	width:100%;
	height:auto;
	}

/* Le logo en couleur garde le texte alternatif ; le blanc s'affiche par-dessus */
#entete .et_logo .et_logo_couleur
	{
	opacity:0;
	}

#entete .et_logo .et_logo_blanc
	{
	position:absolute;
	top:0;
	left:0;
	}

/* Ligne des outils : recherche a gauche ; Monaco, langues et contact a droite */

#entete .et_loupe
	{
	grid-column:1;
	grid-row:1;
	justify-self:start;
	align-self:center;
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:6px 0;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:.1em;
	text-transform:uppercase;
	}

#entete .et_loupe i
	{
	font-size:1.6rem;
	}

#entete .et_loupe:hover,
#entete .et_loupe[aria-expanded="true"]
	{
	color:var(--et-rouge);
	}

#entete .et_outils
	{
	grid-column:3;
	grid-row:1;
	justify-self:end;
	align-self:stretch;
	display:flex;
	align-items:center;
	gap:22px;
	}

#entete .et_langues
	{
	position:relative;
	display:flex;
	align-items:center;
	height:100%;
	}

#entete .et_langue_courante
	{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 0;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:.1em;
	}

#entete .et_contact
	{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:5px 16px;
	border:1px solid currentColor;
	border-radius:50vh;
	font-size:1.15rem;
	font-weight:500;
	letter-spacing:.1em;
	text-transform:uppercase;
	white-space:nowrap;
	}

#entete .et_contact:hover
	{
	background:var(--et-rouge);
	border-color:var(--et-rouge);
	color:#fff;
	}

#entete .et_outils .et_contact i
	{
	font-size:1.4rem;
	}

/* Site de l'agence de Monaco : drapeau et libelle */
#entete .et_monaco
	{
	display:inline-flex;
	align-items:center;
	gap:9px;
	padding:6px 0;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:.12em;
	text-transform:uppercase;
	white-space:nowrap;
	}

#entete .et_monaco:hover
	{
	color:#fff;
	}

#entete .et_monaco:hover .et_monaco_txt
	{
	text-decoration:underline;
	text-underline-offset:4px;
	}

#entete .et_drapeau
	{
	display:inline-block;
	flex:0 0 auto;
	width:24px;
	height:16px;
	border-radius:2px;
	box-shadow:0 0 0 1px rgba(255,255,255,.35);
	transition:transform .2s;
	}

#entete .et_drapeau_mc
	{
	background:linear-gradient(#ce1126 50%,#fff 50%);
	}

#entete .et_monaco:hover .et_drapeau
	{
	transform:scale(1.1);
	}

#entete .et_burger,
#entete .et_tiroir_pied
	{
	display:none;
	}

/* Menu, de part et d'autre du logo : la nav occupe toute la ligne et place ses deux listes
   de chaque cote d'une colonne vide de la largeur du logo */

#entete .et_nav
	{
	grid-column:1 / -1;
	grid-row:2;
	display:grid;
	grid-template-columns:minmax(0,1fr) var(--et-logo) minmax(0,1fr);
	column-gap:var(--et-ecart);
	min-width:0;
	}

#entete .et_menu
	{
	display:flex;
	align-items:stretch;
	column-gap:var(--et-ecart);
	min-width:0;
	}

#entete .et_gauche
	{
	grid-column:1;
	justify-content:flex-end;
	}

#entete .et_droite
	{
	grid-column:3;
	justify-content:flex-start;
	}

#entete .et_item
	{
	position:static;
	display:flex;
	align-items:center;
	flex-shrink:0;
	white-space:nowrap;
	}

#entete .et_lien
	{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 0;
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:.08em;
	text-transform:uppercase;
	background:linear-gradient(var(--et-rouge),var(--et-rouge)) no-repeat 0 100% / 0 2px;
	transition:background-size .25s,color .2s;
	}

#entete .et_lien:hover,
#entete .et_actif > .et_lien,
#entete .ouvert > .et_lien
	{
	background-size:100% 2px;
	}

/* Page pas encore creee : entree visible, sans lien */
#entete .et_bientot
	{
	cursor:default;
	}

#entete .et_lien.et_bientot:hover
	{
	background-size:0 2px;
	}

/* Chevron des boutons d'ouverture */

#entete .et_deplier:not(.et_lien):not(.et_langue_courante)
	{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:28px;
	margin-left:2px;
	}

#entete .et_deplier::after
	{
	content:"";
	width:6px;
	height:6px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:translateY(-2px) rotate(45deg);
	transition:transform .2s;
	}

#entete .et_deplier[aria-expanded="true"]::after
	{
	transform:translateY(2px) rotate(225deg);
	}

/* Menu des langues : petite liste deroulante */

#entete .et_sous
	{
	position:absolute;
	top:100%;
	left:50%;
	min-width:72px;
	padding:8px 0;
	background:var(--et-fond-panneau);
	color:#fff;
	border-top:2px solid var(--et-rouge);
	box-shadow:0 16px 36px rgba(0,0,0,.3);
	text-align:center;
	opacity:0;
	visibility:hidden;
	transform:translate(-50%,8px);
	transition:opacity .2s,transform .2s,visibility 0s linear .2s;
	z-index:5;
	}

#entete .ouvert > .et_sous
	{
	opacity:1;
	visibility:visible;
	transform:translate(-50%,0);
	transition:opacity .2s,transform .2s,visibility 0s;
	}

#entete .et_langues .et_souslien
	{
	display:block;
	padding:8px 18px;
	font-size:1.3rem;
	font-weight:500;
	letter-spacing:.1em;
	}

#entete .et_langues .et_souslien:hover
	{
	background:rgba(255,255,255,.08);
	}

/* ***************************************************************************
 * Panneaux des rubriques : pleine largeur, sous la barre, photo de fond.
 * Rubriques de gauche : texte a gauche, photo a droite ; l'inverse a droite.
 * *************************************************************************** */

#entete .et_menu .et_sous
	{
	display:flex;
	left:0;
	right:0;
	min-width:0;
	min-height:clamp(260px,32vh,380px);
	padding:0 var(--et-marge);
	background:var(--et-fond-panneau);
	border-top:1px solid var(--et-filet);
	box-shadow:0 30px 60px rgba(0,0,0,.35);
	text-align:left;
	overflow:hidden;
	transform:translateY(-8px);
	transition:opacity .25s,transform .25s,visibility 0s linear .25s;
	}

#entete .et_menu .ouvert > .et_sous
	{
	transform:none;
	transition:opacity .25s,transform .25s,visibility 0s;
	}

#entete .et_droite .et_sous
	{
	justify-content:flex-end;
	}

#entete .et_sous_visuel
	{
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	width:64%;
	background-color:#2a2a2a;
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
	}

#entete.et_visuels .et_sous_visuel
	{
	background-image:var(--et-visuel);
	}

/* Fondu de la photo vers le fond du panneau, cote texte */
#entete .et_sous_visuel::after
	{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(90deg,var(--et-fond-panneau) 0%,rgba(32,32,32,.7) 28%,rgba(32,32,32,.15) 70%,rgba(32,32,32,0) 100%);
	}

#entete .et_droite .et_sous_visuel
	{
	right:auto;
	left:0;
	}

#entete .et_droite .et_sous_visuel::after
	{
	background:linear-gradient(270deg,var(--et-fond-panneau) 0%,rgba(32,32,32,.7) 28%,rgba(32,32,32,.15) 70%,rgba(32,32,32,0) 100%);
	}

/* Texte aligne sur les marges des pages (sections a 84 % de large) */
#entete .et_sous_contenu
	{
	position:relative;
	z-index:1;
	width:min(560px,40%);
	padding:46px 0 52px;
	}

#entete .et_gauche .et_sous_contenu
	{
	margin-left:max(0px,calc(8vw - var(--et-marge)));
	}

#entete .et_droite .et_sous_contenu
	{
	margin-right:max(0px,calc(8vw - var(--et-marge)));
	}

/* Lien vers toute la rubrique, sous les entrees */
#entete .et_sous_tout
	{
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin:26px 0 0;
	padding:4px 0;
	font-size:1.25rem;
	font-weight:500;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:rgba(255,255,255,.75);
	}

#entete .et_sous_tout::after
	{
	content:"\2192";
	font-size:1.5rem;
	letter-spacing:0;
	transition:transform .2s;
	}

#entete .et_sous_tout:hover
	{
	color:#fff;
	}

#entete .et_sous_tout:hover::after
	{
	transform:translateX(4px);
	}

#entete .et_sous_titre
	{
	margin:0 0 22px;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:rgba(255,255,255,.6);
	}

#entete .et_sous_titre::after
	{
	content:"";
	display:block;
	width:36px;
	height:2px;
	margin:14px 0 0;
	background:var(--et-rouge);
	}

#entete .et_menu .et_sous li + li
	{
	margin-top:6px;
	}

#entete .et_menu .et_souslien
	{
	display:inline-flex;
	align-items:center;
	padding:6px 0;
	font-size:clamp(2.2rem,1.9vw,3rem);
	font-weight:300;
	line-height:1.25;
	letter-spacing:.01em;
	white-space:nowrap;
	color:#fff;
	background:linear-gradient(var(--et-rouge),var(--et-rouge)) no-repeat 0 100% / 0 2px;
	transition:background-size .3s,color .2s;
	}

#entete .et_menu .et_souslien:hover,
#entete .et_menu .et_souslien[aria-current]
	{
	background-size:100% 2px;
	}

#entete .et_menu span.et_souslien:hover
	{
	background-size:0 2px;
	}

/* Lien vers un autre site : fleche discrete */
#entete .et_menu .et_souslien[target="_blank"]::after
	{
	content:"\2197";
	margin-left:12px;
	font-size:.6em;
	opacity:.6;
	}

#entete .et_souslien .et_drapeau
	{
	width:27px;
	height:18px;
	margin-right:14px;
	}

#entete .et_colonnes_liste
	{
	display:flex;
	gap:48px;
	}

#entete .et_colonne_titre
	{
	margin:0 0 8px;
	font-size:1.1rem;
	font-weight:600;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:rgba(255,255,255,.55);
	}

/* Voile sous le tiroir et le panneau de recherche */

#entete .et_voile
	{
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	height:100vh;
	background:rgba(0,0,0,.45);
	z-index:1;
	}

/* Panneau de recherche */

#entete .et_panneau
	{
	position:absolute;
	top:100%;
	left:0;
	right:0;
	padding:26px clamp(16px,3vw,40px) 18px;
	background:#fff;
	color:#000;
	box-shadow:0 18px 30px rgba(0,0,0,.18);
	z-index:4;
	}

#entete .et_panneau .rch_barre
	{
	box-shadow:none;
	border:1px solid #e3e3e3;
	}

/* Accueil : sur la photo, tant qu'on n'a pas defile, barre foncee translucide (verre fume) :
   le menu reste lisible sur les photos claires */

.home #entete:not(.fixed):not(.et_solide)
	{
	background:rgba(16,16,16,.5);
	-webkit-backdrop-filter:saturate(1.2) blur(8px);
	backdrop-filter:saturate(1.2) blur(8px);
	}

.home #entete:not(.fixed):not(.et_solide) .et_contact:hover
	{
	background:#fff;
	border-color:#fff;
	color:#000;
	}

/* ***************************************************************************
 * Tiroir (telephone, tablette, ou libelles trop longs pour la barre)
 * Classe posee par bloc_entete.php
 * *************************************************************************** */

#entete.et_mode_tiroir
	{
	--et-h:64px;
	--et-logo:150px;
	--et-ecart:0px;
	--et-marge:16px;
	}

#entete.et_mode_tiroir.fixed
	{
	--et-h:58px;
	}

#entete.et_mode_tiroir .et_barre
	{
	grid-template-rows:var(--et-h);
	}

#entete.et_mode_tiroir .et_barre::before
	{
	display:none;
	}

#entete.et_mode_tiroir .et_logo,
#entete.et_mode_tiroir.fixed .et_logo
	{
	--et-logo:150px;
	grid-row:1;
	}

#entete.et_mode_tiroir .et_burger
	{
	grid-column:1;
	grid-row:1;
	justify-self:start;
	align-self:center;
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	margin-left:-10px;
	}

#entete .et_burger_txt
	{
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	}

#entete .et_burger_icone
	{
	display:flex;
	flex-direction:column;
	gap:5px;
	width:22px;
	}

#entete .et_burger_icone i
	{
	display:block;
	height:1.5px;
	background:currentColor;
	transition:transform .25s,opacity .25s;
	}

#entete .et_burger[aria-expanded="true"] .et_burger_icone i:nth-child(1)
	{
	transform:translateY(6.5px) rotate(45deg);
	}

#entete .et_burger[aria-expanded="true"] .et_burger_icone i:nth-child(2)
	{
	opacity:0;
	}

#entete .et_burger[aria-expanded="true"] .et_burger_icone i:nth-child(3)
	{
	transform:translateY(-6.5px) rotate(-45deg);
	}

/* Loupe a cote du bouton Menu ; Monaco reste seul a droite */
#entete.et_mode_tiroir .et_loupe
	{
	grid-column:1;
	grid-row:1;
	justify-self:start;
	width:44px;
	height:44px;
	justify-content:center;
	margin-left:34px;
	padding:0;
	}

#entete.et_mode_tiroir .et_loupe_txt
	{
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	}

#entete.et_mode_tiroir .et_outils
	{
	grid-row:1;
	}

#entete.et_mode_tiroir .et_outils .et_langues,
#entete.et_mode_tiroir .et_outils .et_contact
	{
	display:none;
	}

#entete.et_mode_tiroir .et_monaco
	{
	gap:7px;
	min-height:44px;
	font-size:1.1rem;
	letter-spacing:.08em;
	}

@media (max-width: 359px)
	{
	#entete.et_mode_tiroir .et_monaco_txt
		{
		display:none;
		}
	}

/* Le tiroir : fonce, large, photo en fond (chargee a la premiere ouverture) */
#entete.et_mode_tiroir .et_nav
	{
	display:block;
	position:absolute;
	top:100%;
	left:0;
	width:min(560px,100%);
	height:calc(100vh - var(--et-h));
	height:calc(100dvh - var(--et-h));
	overflow-y:auto;
	overscroll-behavior:contain;
	padding:12px 0 0;
	background-color:var(--et-fond);
	background-position:center bottom;
	background-size:cover;
	background-repeat:no-repeat;
	color:#fff;
	box-shadow:6px 0 30px rgba(0,0,0,.3);
	transform:translateX(-100%);
	visibility:hidden;
	transition:transform .3s ease,visibility 0s linear .3s;
	z-index:3;
	}

#entete.et_mode_tiroir.et_visuels .et_nav
	{
	background-image:linear-gradient(180deg,rgba(28,28,28,.98) 0%,rgba(28,28,28,.94) 45%,rgba(28,28,28,.55) 100%),var(--et-visuel-tiroir);
	}

/* Sur telephone, le panneau de recherche defile s'il depasse l'ecran */
#entete.et_mode_tiroir .et_panneau
	{
	max-height:calc(100vh - var(--et-h));
	max-height:calc(100dvh - var(--et-h));
	overflow-y:auto;
	overscroll-behavior:contain;
	}

#entete.et_tiroir_ouvert .et_nav
	{
	transform:none;
	visibility:visible;
	transition:transform .3s ease,visibility 0s;
	}

#entete.et_mode_tiroir .et_menu
	{
	display:block;
	}

#entete.et_mode_tiroir .et_item
	{
	position:relative;
	flex-wrap:wrap;
	white-space:normal;
	border-bottom:1px solid rgba(255,255,255,.1);
	}

#entete.et_mode_tiroir .et_lien
	{
	flex:1 1 auto;
	padding:18px 28px;
	font-size:1.7rem;
	letter-spacing:.08em;
	text-align:left;
	background-image:none;
	}

/* Rubrique de la page en cours : filet rouge a gauche */
#entete.et_mode_tiroir .et_actif > .et_lien
	{
	box-shadow:inset 3px 0 0 var(--et-rouge);
	}

#entete.et_mode_tiroir .et_lien.et_deplier
	{
	justify-content:space-between;
	}

#entete.et_mode_tiroir .et_deplier:not(.et_lien)
	{
	width:60px;
	height:58px;
	margin:0;
	}

#entete.et_mode_tiroir .et_sous,
#entete.et_mode_tiroir .ouvert > .et_sous
	{
	position:static;
	display:none;
	width:100%;
	min-width:0;
	min-height:0;
	padding:0 0 14px;
	background:none;
	border:0;
	box-shadow:none;
	opacity:1;
	visibility:visible;
	transform:none;
	transition:none;
	overflow:visible;
	}

#entete.et_mode_tiroir .ouvert > .et_sous
	{
	display:block;
	}

#entete.et_mode_tiroir .et_sous_visuel,
#entete.et_mode_tiroir .et_sous_titre,
#entete.et_mode_tiroir .et_sous_tout
	{
	display:none;
	}

#entete.et_mode_tiroir .et_sous_contenu
	{
	width:auto;
	margin:0;
	padding:0;
	}

#entete.et_mode_tiroir .et_menu .et_sous li + li
	{
	margin-top:0;
	}

#entete.et_mode_tiroir .et_menu .et_souslien
	{
	display:flex;
	padding:11px 28px 11px 46px;
	font-size:1.6rem;
	font-weight:400;
	white-space:normal;
	color:rgba(255,255,255,.85);
	background:none;
	}

#entete.et_mode_tiroir .et_menu .et_souslien:hover,
#entete.et_mode_tiroir .et_menu .et_souslien[aria-current]
	{
	color:#fff;
	background:rgba(255,255,255,.06);
	}

#entete.et_mode_tiroir .et_colonnes_liste
	{
	display:block;
	}

#entete.et_mode_tiroir .et_colonne_titre
	{
	margin:12px 28px 2px 46px;
	}

#entete.et_mode_tiroir .et_colonnes .et_souslien
	{
	padding-left:62px;
	}

#entete.et_mode_tiroir .et_tiroir_pied
	{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:28px;
	}

#entete .et_langues_liste
	{
	display:flex;
	gap:4px;
	}

#entete .et_langues_liste a,
#entete .et_langues_liste span
	{
	display:block;
	padding:8px 10px;
	font-size:1.3rem;
	font-weight:500;
	letter-spacing:.09em;
	}

#entete .et_langues_liste span
	{
	box-shadow:inset 0 -2px 0 var(--et-rouge);
	}

#entete .et_tiroir_pied .et_contact
	{
	padding:9px 20px;
	font-size:1.25rem;
	}

/* ***************************************************************************
 * Barre de recherche
 * *************************************************************************** */

.recherche
	{
	--rch-rouge:#d8252c;
	width:100%;
	max-width:1180px;
	margin:0 auto;
	text-align:left;
	color:#000;
	}

.recherche .rch_barre
	{
	display:flex;
	align-items:stretch;
	background:#fff;
	border-radius:6px;
	box-shadow:0 12px 40px rgba(0,0,0,.14);
	}

.recherche .rch_champ
	{
	position:relative;
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:13px 18px;
	border-right:1px solid #e6e6e6;
	}

.recherche label,
.recherche .rch_label
	{
	display:block;
	margin:0 0 4px;
	font-size:1.1rem;
	font-weight:500;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:#777;
	}

.recherche select
	{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	width:100%;
	padding:2px 20px 2px 0;
	margin:0;
	border:0;
	border-radius:0;
	background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 2px center / 10px 6px;
	font-size:1.5rem;
	color:#000;
	text-overflow:ellipsis;
	cursor:pointer;
	transition:none;
	}

/* Champ actif : fond leger et filet sous le champ (pas de cadre autour de la liste ouverte) */
.recherche select:focus,
.recherche .rch_budget_bouton:focus
	{
	outline:none;
	}

.recherche .rch_champ:focus-within
	{
	background:#f6f6f6;
	box-shadow:inset 0 -2px 0 #1a1a1a;
	}

.recherche .rch_champ:first-child
	{
	border-radius:6px 0 0 6px;
	}

.recherche [hidden]
	{
	display:none !important;
	}

/* Variateur de prix */

.recherche .rch_budget
	{
	flex:1.4 1 0;
	min-width:210px;
	}

/* Le champ Budget se presente comme les listes voisines */
.recherche .rch_budget_bouton
	{
	display:block;
	width:100%;
	padding:2px 20px 2px 0;
	margin:0;
	border:0;
	background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 2px center / 10px 6px;
	font-family:inherit;
	font-size:1.5rem;
	line-height:1.4;
	color:#000;
	text-align:left;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	cursor:pointer;
	}

.recherche .rch_ouvert .rch_budget_bouton
	{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 5l4-4 4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E");
	}

/* Panneau : minimum et maximum en clair, variateur, effacer / valider */
.recherche .rch_budget_panneau
	{
	position:absolute;
	top:calc(100% + 8px);
	right:0;
	width:380px;
	max-width:calc(100vw - 32px);
	padding:18px 22px 16px;
	background:#fff;
	color:#000;
	border-radius:6px;
	box-shadow:0 16px 40px rgba(0,0,0,.18);
	cursor:default;
	z-index:30;
	}

.recherche .rch_bornes
	{
	display:flex;
	justify-content:space-between;
	gap:16px;
	margin:0 0 14px;
	}

.recherche .rch_borne
	{
	margin:0;
	font-size:1.5rem;
	line-height:1.3;
	}

.recherche .rch_borne span
	{
	display:block;
	margin:0 0 2px;
	font-size:1.1rem;
	font-weight:500;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:#777;
	}

.recherche .rch_borne strong
	{
	font-weight:500;
	white-space:nowrap;
	}

.recherche .rch_borne_max
	{
	text-align:right;
	}

.recherche .rch_budget_actions
	{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:16px 0 0;
	}

.recherche .rch_budget_effacer,
.recherche .rch_budget_ok
	{
	margin:0;
	border:0;
	font-family:inherit;
	font-size:1.35rem;
	cursor:pointer;
	}

.recherche .rch_budget_effacer
	{
	padding:6px 0;
	background:none;
	color:#000;
	text-decoration:underline;
	text-underline-offset:3px;
	}

.recherche .rch_budget_ok
	{
	padding:9px 22px;
	border-radius:50vh;
	background:#000;
	color:#fff;
	}

.recherche .rch_budget_ok:hover
	{
	background:var(--rch-rouge);
	}

.recherche .rch_budget_effacer:focus-visible,
.recherche .rch_budget_ok:focus-visible
	{
	outline:2px solid #000;
	outline-offset:3px;
	}

.recherche .rch_curseur
	{
	position:relative;
	height:24px;
	}

/* Piste en retrait d'un demi-curseur de chaque cote : le centre des curseurs y tombe juste */
.recherche .rch_piste
	{
	position:absolute;
	left:9px;
	right:9px;
	top:50%;
	height:3px;
	margin-top:-1.5px;
	background:#e3e3e3;
	border-radius:3px;
	}

.recherche .rch_plage
	{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background:var(--rch-rouge);
	border-radius:3px;
	}

.recherche .rch_curseur input[type="range"]
	{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:24px;
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	pointer-events:none;
	transition:none;
	z-index:1;
	}

.recherche .rch_curseur input.rch_dessus
	{
	z-index:2;
	}

.recherche .rch_curseur input[type="range"]::-webkit-slider-runnable-track
	{
	height:24px;
	background:transparent;
	border:0;
	}

.recherche .rch_curseur input[type="range"]::-moz-range-track
	{
	height:24px;
	background:transparent;
	border:0;
	}

.recherche .rch_curseur input[type="range"]::-webkit-slider-thumb
	{
	-webkit-appearance:none;
	appearance:none;
	box-sizing:border-box;
	width:18px;
	height:18px;
	margin-top:3px;
	border:2px solid var(--rch-rouge);
	border-radius:50%;
	background:#fff;
	box-shadow:0 1px 4px rgba(0,0,0,.25);
	cursor:grab;
	pointer-events:auto;
	}

.recherche .rch_curseur input[type="range"]::-moz-range-thumb
	{
	box-sizing:border-box;
	width:18px;
	height:18px;
	border:2px solid var(--rch-rouge);
	border-radius:50%;
	background:#fff;
	box-shadow:0 1px 4px rgba(0,0,0,.25);
	cursor:grab;
	pointer-events:auto;
	}

.recherche .rch_curseur input[type="range"]:focus-visible::-webkit-slider-thumb
	{
	box-shadow:0 0 0 4px rgba(0,0,0,.15);
	}

.recherche .rch_curseur input[type="range"]:focus-visible::-moz-range-thumb
	{
	box-shadow:0 0 0 4px rgba(0,0,0,.15);
	}

/* Bouton Rechercher */

.recherche .rch_valider
	{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	flex:0 0 auto;
	padding:0 28px;
	margin:0;
	border:0;
	border-radius:0 6px 6px 0;
	background:var(--rch-rouge);
	color:#fff;
	font-family:inherit;
	font-size:1.35rem;
	font-weight:500;
	letter-spacing:.09em;
	text-transform:uppercase;
	cursor:pointer;
	transition:background-color .2s;
	}

.recherche .rch_valider i
	{
	font-size:1.8rem;
	}

.recherche .rch_valider:hover
	{
	background:#000;
	}

.recherche .rch_valider:focus-visible
	{
	outline:2px solid #000;
	outline-offset:3px;
	}

/* Ligne sous la barre : plus de criteres, alerte */

.recherche .rch_pied
	{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;
	gap:10px 24px;
	margin:10px 0 0;
	}

.recherche .rch_plus,
.recherche .rch_alerte
	{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:6px 0;
	margin:0;
	border:0;
	background:none;
	color:inherit;
	font-family:inherit;
	font-size:1.35rem;
	cursor:pointer;
	}

.recherche .rch_plus:hover
	{
	color:var(--rch-rouge);
	}

.recherche .rch_alerte
	{
	padding:8px 18px;
	border-radius:50vh;
	background:#000;
	color:#fff;
	}

.recherche .rch_alerte:hover
	{
	background:var(--rch-rouge);
	}

.recherche .rch_plus:focus-visible,
.recherche .rch_alerte:focus-visible
	{
	outline:2px solid currentColor;
	outline-offset:3px;
	}

/* Accueil : barre centree sur la photo */

.imageunique .recherche_accueil
	{
	position:absolute;
	left:50%;
	top:50%;
	width:min(1180px,92%);
	transform:translate(-50%,-50%);
	z-index:20;
	}

/* Listes de biens : barre en tete de page, pre-remplie avec la recherche en cours */

main > section.recherche_liste
	{
	margin:0 auto 34px;
	}

/* Ecrans etroits : champs sur deux colonnes */
@media (max-width: 960px)
	{
	.recherche .rch_barre
		{
		display:grid;
		grid-template-columns:1fr 1fr;
		}

	.recherche .rch_champ
		{
		padding:11px 16px;
		border-bottom:1px solid #e6e6e6;
		}

	.recherche .rch_champ:nth-child(2n)
		{
		border-right:0;
		}

	.recherche .rch_budget
		{
		grid-column:1 / -1;
		min-width:0;
		border-right:0;
		}

	.recherche .rch_budget_panneau
		{
		position:static;
		width:auto;
		max-width:none;
		margin:10px 0 2px;
		padding:12px 0 2px;
		border-top:1px solid #e6e6e6;
		border-radius:0;
		box-shadow:none;
		background:none;
		}

	.recherche .rch_valider
		{
		grid-column:1 / -1;
		padding:15px 20px;
		border-radius:0 0 6px 6px;
		}

	.recherche .rch_pied
		{
		justify-content:space-between;
		}

	.imageunique .recherche_accueil
		{
		left:4%;
		right:4%;
		width:auto;
		transform:translateY(-50%);
		}
	}

/* Ecran trop bas pour y loger la barre (telephone a l'horizontale) : sous la photo */
@media (max-width: 960px) and (max-height: 640px)
	{
	.imageunique .recherche_accueil
		{
		position:relative;
		left:auto;
		right:auto;
		top:auto;
		margin:-60px 4% 0;
		transform:none;
		}
	}

@media (max-width: 480px)
	{
	.recherche label,
	.recherche .rch_label
		{
		font-size:1.05rem;
		}

	.recherche select
		{
		font-size:1.45rem;
		}
	}
