/*
 * Recherche (refonte du 25/09/2026, maquette maquette-resultats.html) : barre unique,
 * panneau « Plus de filtres », suggestions du champ « Où », page de résultats.
 * N'utilise que les variables de la charte (thème enfant). « html body » : l'emporte sur
 * le style générique des champs et boutons du thème parent.
 */
.cpn-recherche { color: var(--cpn-couleur-texte); font-family: var(--cpn-police-texte); }
.cpn-recherche--page { max-width: calc(1312px + 2 * var(--cpn-marge-page)); margin: 0 auto; padding: 20px var(--cpn-marge-page) 0; box-sizing: border-box; }
.cpn-recherche[aria-busy="true"] .cpn-resultats { opacity: .5; transition: opacity .15s; }
.cpn-recherche__fil { font-size: 13px; color: var(--cpn-couleur-texte-doux); }
html body .cpn-recherche__fil a { color: var(--cpn-couleur-texte-doux); text-decoration: none; }
.cpn-recherche__entete { margin: 22px 0 26px; }
html body .cpn-recherche__titre { font-family: var(--cpn-police-titres); font-weight: 500; font-size: 44px; line-height: 1.1; margin: 0 0 8px; color: var(--cpn-couleur-texte); }
.cpn-recherche__sous-titre { margin: 0; font-size: 14px; color: var(--cpn-couleur-texte-2); }

/* Barre. */
.cpn-barre-recherche { margin: 0; }
.cpn-barre-recherche__barre { display: flex; align-items: stretch; border: 1px solid var(--cpn-couleur-texte); min-height: 68px; background: var(--cpn-couleur-fond); }
.cpn-barre-recherche__champ { flex: 1 1 0; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 0 18px; border-right: 1px solid var(--cpn-couleur-bordure); margin: 0; min-width: 0; position: relative; }
.cpn-barre-recherche__champ--ou { flex: 1.9 1 0; }
.cpn-barre-recherche__champ .cpn-etiquette-texte { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--cpn-couleur-texte-doux); }
html body .cpn-barre-recherche__champ input, html body .cpn-barre-recherche__champ select { border: 0; outline: none; box-shadow: none; border-radius: 0; font: inherit; font-size: 15px; padding: 3px 0; background: transparent; color: var(--cpn-couleur-texte); width: 100%; min-height: 0; }
html body .cpn-barre-recherche__champ input:focus-visible, html body .cpn-barre-recherche__champ select:focus-visible { outline: 2px solid var(--cpn-couleur-texte); outline-offset: 2px; }
html body .cpn-barre-recherche .cpn-bouton { background: var(--cpn-couleur-primaire); color: var(--cpn-couleur-primaire-contraste); border: 0; border-radius: 0; font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 0 30px; cursor: pointer; }
html body .cpn-barre-recherche__bouton { min-width: 160px; }

/* Suggestions du champ « Où ». */
.cpn-suggestions { position: absolute; top: calc(100% + 1px); left: -1px; z-index: 40; width: 520px; max-width: calc(100vw - 32px); background: var(--cpn-couleur-fond); border: 1px solid var(--cpn-couleur-bordure); box-shadow: 0 12px 30px rgba(17, 17, 17, .08); padding-bottom: 6px; }
.cpn-suggestions__groupe { padding: 12px 18px 4px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--cpn-couleur-texte-doux); }
.cpn-suggestions__item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 18px; font-size: 15px; cursor: pointer; color: var(--cpn-couleur-texte); }
.cpn-suggestions__item[aria-selected="true"], .cpn-suggestions__item:hover { background: var(--cpn-couleur-fond-doux); }
.cpn-suggestions__item--pres { border-bottom: 1px solid var(--cpn-couleur-filet); gap: 10px; justify-content: flex-start; }
.cpn-suggestions__item--pres svg { flex: 0 0 auto; }
.cpn-suggestions__nombre { color: var(--cpn-couleur-texte-doux); font-size: 13px; white-space: nowrap; }
.cpn-suggestions__message { padding: 10px 18px; font-size: 13px; color: var(--cpn-couleur-erreur); }

/* Sous la barre : bascule du panneau et étiquettes. */
.cpn-barre-recherche__sous-barre { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 18px; }
html body .cpn-barre-recherche__sous-barre > a { font-size: 13px; color: var(--cpn-couleur-texte); }
.cpn-etiquettes { display: flex; gap: 8px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; justify-content: flex-end; }
.cpn-etiquette-filtre { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--cpn-couleur-bordure-forte); padding: 7px 12px; font-size: 13px; }
/* 0.7.5.7 (point 8 bis d'Armand) : critère qui ordonne seulement la liste (« Terrasse ou balcon en premier ») : bordure en tirets. */
html body .cpn-etiquette-filtre.cpn-etiquette-filtre--tri { border-style: dashed; }
html body .cpn-etiquette-filtre a { text-decoration: none; color: var(--cpn-couleur-texte); font-size: 15px; line-height: 1; }

/* Panneau « Plus de filtres » (repris de cintu-immo-part, adapté à la charte). */
.cpn-panneau { border: 1px solid var(--cpn-couleur-bordure); border-top: 0; padding: 28px 28px 22px; display: grid; grid-template-columns: 1.1fr 1.1fr .9fr 1.4fr; gap: 36px; background: var(--cpn-couleur-fond); }
.cpn-panneau[hidden] { display: none; }
.cpn-panneau__groupe { border: 0; margin: 0; padding: 0; min-width: 0; }
.cpn-panneau__legende { display: block; margin: 0 0 12px; padding: 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--cpn-couleur-texte); font-weight: 600; }
.cpn-panneau__legende small { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--cpn-couleur-texte-doux); }
.cpn-panneau__paire { display: flex; gap: 10px; }
.cpn-panneau__paire label { flex: 1 1 0; display: flex; flex-direction: column; gap: 6px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--cpn-couleur-texte-doux); min-width: 0; margin: 0; }
html body .cpn-panneau__paire input { border: 1px solid var(--cpn-couleur-bordure-forte); border-radius: 0; padding: 11px 12px; font: inherit; font-size: 14px; width: 100%; box-sizing: border-box; background: var(--cpn-couleur-fond); color: var(--cpn-couleur-texte); text-transform: none; letter-spacing: 0; }
.cpn-panneau__steppers { display: flex; flex-direction: column; gap: 22px; }
.cpn-stepper { display: flex; align-items: center; border: 1px solid var(--cpn-couleur-bordure-forte); width: 170px; height: 44px; }
html body .cpn-stepper__bouton { width: 44px; height: 44px; border: 0; border-radius: 0; background: var(--cpn-couleur-primaire); color: var(--cpn-couleur-primaire-contraste); font-size: 18px; padding: 0; cursor: pointer; line-height: 1; }
html body .cpn-stepper__valeur { flex: 1 1 0; min-width: 0; height: 42px; border: 0; border-radius: 0; text-align: center; font: inherit; font-weight: 600; padding: 0; -moz-appearance: textfield; appearance: textfield; background: transparent; }
.cpn-stepper__valeur::-webkit-outer-spin-button, .cpn-stepper__valeur::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cpn-panneau__car { display: flex; flex-direction: column; }
.cpn-case { display: flex; align-items: center; gap: 10px; font-size: 14px; padding: 5px 0; margin: 0; cursor: pointer; }
html body .cpn-case input { width: 15px; height: 15px; margin: 0; flex: 0 0 auto; accent-color: var(--cpn-couleur-primaire); }
.cpn-case__nombre { margin-left: auto; color: var(--cpn-couleur-texte-doux); font-size: 13px; }
.cpn-case--zero { color: #b5b2aa; cursor: default; }
.cpn-panneau__pied { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--cpn-couleur-filet); padding-top: 20px; }
html body .cpn-panneau__pied a { font-size: 13px; color: var(--cpn-couleur-texte); }
html body .cpn-panneau__pied .cpn-bouton { padding: 16px 32px; }

/* Résultats. */
.cpn-resultats { margin-top: 30px; }
.cpn-resultats__outils { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--cpn-couleur-filet); margin-bottom: 28px; }
.cpn-resultats__compte { margin: 0; font-weight: 600; font-size: 15px; }
.cpn-resultats__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cpn-resultats__tri { margin: 0; }
.cpn-resultats__tri label { white-space: nowrap; display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: var(--cpn-couleur-texte-doux); }
html body .cpn-resultats__tri select { border: 1px solid var(--cpn-couleur-bordure-forte); border-radius: 0; background: var(--cpn-couleur-fond-doux); padding: 8px 12px; font: inherit; font-size: 14px; color: var(--cpn-couleur-texte); }
.cpn-affichage { display: flex; border: 1px solid var(--cpn-couleur-texte); }
.cpn-affichage__choix { padding: 8px 18px; font-size: 13px; }
.cpn-affichage__choix--actif { background: var(--cpn-couleur-primaire); color: var(--cpn-couleur-primaire-contraste); }
.cpn-affichage__choix[aria-disabled="true"] { color: var(--cpn-couleur-texte-doux); cursor: not-allowed; }
.cpn-resultats__vide { font-size: 15px; color: var(--cpn-couleur-texte-2); }
.cpn-ailleurs { margin: 28px 0 0; }
.cpn-ailleurs__titre { font-size: 17px; margin: 24px 0 12px; }
.cpn-ailleurs__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px 20px; }
html body .cpn-ailleurs__liste a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--cpn-couleur-bordure, #e2e0da); text-decoration: none; color: var(--cpn-couleur-texte); }
html body .cpn-ailleurs__liste a:hover, html body .cpn-ailleurs__liste a:focus-visible { border-color: var(--cpn-couleur-texte); }
.cpn-ailleurs__detail { color: var(--cpn-couleur-texte-2); font-size: 14px; white-space: nowrap; }
.cpn-resultats__grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 20px; }
.cpn-recherche .cpn-carte { --cpn-carte-h: 260px; }
.cpn-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; margin: 44px 0 0; font-size: 14px; }
html body .cpn-pagination a, html body .cpn-pagination span { padding: 10px 14px; text-decoration: none; color: var(--cpn-couleur-texte); }
html body .cpn-pagination .cpn-pagination__courante { background: var(--cpn-couleur-primaire); color: var(--cpn-couleur-primaire-contraste); }

/* Bandeau vers l'annuaire des pros et liens pour rebondir. */
.cpn-recherche__rebonds { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 48px 0 72px; }
.cpn-recherche__rebond { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.cpn-recherche__rebond-titre { font-weight: 600; }
html body .cpn-recherche__rebond a { color: var(--cpn-couleur-texte-doux); text-decoration: none; }
html body .cpn-recherche__rebond a:hover { color: var(--cpn-couleur-texte); text-decoration: underline; }

/* Accueil : barre dans le bandeau. */
.cpn-recherche--barre { width: 1080px; max-width: 100%; }
.cpn-recherche--barre .cpn-barre-recherche__sous-barre { margin-top: 14px; }
html body .cpn-une-bandeau .cpn-recherche--barre .cpn-barre-recherche__sous-barre > a { color: #fff; }
.cpn-une-bandeau .cpn-panneau { text-align: left; }

/* Écrans moyens et étroits. */
@media (max-width: 1100px) {
	.cpn-resultats__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cpn-panneau { grid-template-columns: 1fr 1fr; }
	.cpn-recherche__rebonds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.cpn-recherche--page { padding: 16px 20px 0; }
	html body .cpn-recherche__titre { font-size: 32px; }
	.cpn-barre-recherche__barre { flex-wrap: wrap; }
	.cpn-barre-recherche__champ { flex: 1 1 50%; min-height: 60px; border-bottom: 1px solid var(--cpn-couleur-bordure); box-sizing: border-box; }
	.cpn-barre-recherche__champ--ou { flex: 1 1 100%; border-right: 0; }
	html body .cpn-barre-recherche__bouton { flex: 1 1 100%; padding: 18px; }
	.cpn-suggestions { width: calc(100vw - 40px); }
	.cpn-panneau { grid-template-columns: 1fr; gap: 24px; padding: 20px; }
	.cpn-panneau__pied { flex-direction: column-reverse; align-items: stretch; text-align: center; }
	.cpn-etiquettes { justify-content: flex-start; }
	.cpn-resultats__grille { grid-template-columns: 1fr; gap: 32px; }
	.cpn-recherche__rebonds { grid-template-columns: 1fr; }
}

/*
 * Lot 1 bis : recherche compacte sur mobile (résultats et page agence). Barre d'une ligne collée
 * en haut, formulaire en plein écran au toucher, une ligne « N biens · Trier · Carte ». Seulement
 * avec JavaScript (classe cpn-js posée dans l'en-tête) ; sans script, le formulaire reste affiché.
 * L'ordinateur et la tablette ne changent pas.
 */
.cpn-recherche__collant, .cpn-barre-recherche__tete, .cpn-resultats__tri-court, .cpn-affichage__icone, .cpn-puces, .cpn-pres { display: none; }
@media (max-width: 767px) {
	/* Contenu aligné sur le logo (20 px) : la page des biens cumulait deux marges. */
	.cpn-archive .cpn-recherche--page { padding: 12px 0 0; }
	.cpn-recherche__fil { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
	.cpn-recherche__entete { margin: 10px 0 14px; }
	html body .cpn-recherche__titre { font-size: 28px; margin: 0; }
	.cpn-recherche__sous-titre { display: none; }
	/* Bouton Rechercher à la hauteur des champs (il était écrasé par le style commun des boutons). */
	html body .cpn-barre-recherche .cpn-barre-recherche__bouton { min-height: 54px; padding: 0 18px; }

	/* Une seule ligne sous la barre : nombre de biens, Trier, Carte. */
	.cpn-resultats { margin-top: 0; }
	/* Complément d'Armand (12/10, C4) : « 743 biens » jamais sur deux lignes ; texte très agrandi, « Trier » et « Carte »
	   passent dessous, à droite, plutôt que de couper le nombre. */
	.cpn-resultats__outils { flex-wrap: wrap; row-gap: 10px; padding: 12px 0 14px; margin-bottom: 18px; }
	.cpn-resultats__compte { white-space: nowrap; }
	.cpn-resultats__actions { flex-wrap: nowrap; gap: 8px; margin-left: auto; }
	.cpn-resultats__tri-texte { display: none; }
	.cpn-resultats__tri label { position: relative; gap: 0; height: 34px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--cpn-couleur-bordure-forte); color: var(--cpn-couleur-texte); font-size: 13px; }
	.cpn-resultats__tri-court { display: inline-flex; align-items: center; gap: 6px; }
	html body .cpn-resultats__tri select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; font-size: 16px; padding: 0; border: 0; cursor: pointer; }
	.cpn-affichage { border: 0; }
	.cpn-affichage__choix { display: inline-flex; align-items: center; gap: 6px; height: 34px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--cpn-couleur-bordure); }
	.cpn-affichage .cpn-affichage__choix--actif { display: none; }
	.cpn-affichage__icone { display: inline; }

	/* Barre compacte, collée en haut pendant le défilement. */
	html.cpn-js .cpn-recherche--page .cpn-barre-recherche, html.cpn-js .cpn-recherche--agence .cpn-barre-recherche, html.cpn-js .cpn-recherche--barre .cpn-barre-recherche { display: none; }
	/* Accueil (bandeau) : la barre reste à sa place, sans bande de fond ni collage. */
	html.cpn-js .cpn-recherche--barre .cpn-recherche__collant, html.cpn-js .cpn-recherche--barre .cpn-recherche__collant.is-colle { position: static; margin: 0; padding: 0; background: transparent; box-shadow: none; }
	html.cpn-js .cpn-recherche--barre .cpn-barre-recherche { text-align: left; color: var(--cpn-couleur-texte); }
	html.cpn-js .cpn-recherche__collant { display: block; position: sticky; top: 0; z-index: 50; margin: 0 calc(50% - 50vw); padding: 8px calc(50vw - 50%); background: var(--cpn-couleur-fond); }
	html.cpn-js .cpn-recherche__collant.is-colle { box-shadow: 0 1px 0 var(--cpn-couleur-filet), 0 6px 16px rgba(17, 17, 17, .06); }
	html body .cpn-compact { display: flex; align-items: stretch; width: 100%; height: 50px; box-sizing: border-box; margin: 0; padding: 0; border: 1px solid var(--cpn-couleur-texte); border-radius: 0; background: var(--cpn-couleur-fond); color: var(--cpn-couleur-texte); font: inherit; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; text-align: left; cursor: pointer; }
	html body .cpn-compact:hover, html body .cpn-compact:focus { background: var(--cpn-couleur-fond); color: var(--cpn-couleur-texte); }
	.cpn-compact__resume { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 14px; }
	.cpn-compact__resume svg { flex: 0 0 auto; }
	.cpn-compact__texte { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.cpn-compact__texte b { font-weight: 600; }
	.cpn-compact__filtres { flex: 0 0 50px; position: relative; display: flex; align-items: center; justify-content: center; border-left: 1px solid var(--cpn-couleur-bordure); }
	.cpn-pastille { position: absolute; top: 6px; right: 5px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px; background: var(--cpn-couleur-texte); color: var(--cpn-couleur-fond); font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }

	/* Formulaire complet en plein écran (toucher la barre). */
	html.cpn-filtres-ouverts, html.cpn-filtres-ouverts body { overflow: hidden; }
	html.cpn-js .cpn-recherche.is-filtres .cpn-barre-recherche { display: block; position: fixed; inset: 0; z-index: 100000; margin: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 0 20px 96px; background: var(--cpn-couleur-fond); }
	.is-filtres .cpn-barre-recherche__tete { display: flex; position: sticky; top: 0; z-index: 3; height: 56px; align-items: center; justify-content: space-between; margin: 0 -20px 18px; padding: 0 16px; background: var(--cpn-couleur-fond); border-bottom: 1px solid var(--cpn-couleur-filet); }
	html body .cpn-barre-recherche__fermer, html body .cpn-barre-recherche__fermer:hover, html body .cpn-barre-recherche__fermer:focus { width: 60px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--cpn-couleur-texte); font-size: 30px; font-weight: 300; line-height: 1; text-align: left; cursor: pointer; box-shadow: none; }
	html body .cpn-barre-recherche__fermer:focus-visible { outline: 2px solid var(--cpn-couleur-texte); outline-offset: -2px; }
	.cpn-barre-recherche__intitule { font-size: 16px; font-weight: 600; }
	html body .cpn-barre-recherche__effacer, html body button.cpn-barre-recherche__effacer:hover, html body button.cpn-barre-recherche__effacer:focus { margin: 0; padding: 0; border: 0; background: transparent; font: inherit; letter-spacing: 0; text-transform: none; cursor: pointer; box-shadow: none; min-width: 60px; text-align: right; font-size: 13px; color: var(--cpn-couleur-texte); text-decoration: underline; text-underline-offset: 3px; }
	.is-filtres .cpn-barre-recherche__barre { display: block; border: 0; min-height: 0; background: transparent; }
	.is-filtres .cpn-barre-recherche__champ { display: block; border: 0; padding: 0; margin: 0 0 24px; min-height: 0; }
	.is-filtres .cpn-barre-recherche__champ .cpn-etiquette-texte { display: block; margin: 0 0 10px; font-size: 11px; letter-spacing: .1em; font-weight: 600; color: var(--cpn-couleur-texte); }
	html body .is-filtres .cpn-barre-recherche__champ--ou input { height: 52px; box-sizing: border-box; padding: 0 14px; border: 1px solid var(--cpn-couleur-texte); font-size: 16px; }
	html body .is-filtres .cpn-pres, html body .is-filtres .cpn-pres:hover, html body .is-filtres .cpn-pres:focus { box-shadow: none; display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0; padding: 0; border: 0; background: transparent; color: var(--cpn-couleur-texte); font: inherit; font-size: 13px; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
	.is-filtres .cpn-pres[hidden] { display: none; }
	.is-filtres .cpn-suggestions { width: 100%; max-width: none; left: 0; }
	html body .cpn-recherche.is-filtres .cpn-avec-puces, html body .cpn-recherche.is-filtres .cpn-barre-recherche__champ--budget, html body .cpn-recherche.is-filtres .cpn-barre-recherche .cpn-barre-recherche__bouton, html body .cpn-recherche.is-filtres .cpn-barre-recherche__sous-barre { display: none; }
	.is-filtres .cpn-puces { display: flex; flex-wrap: wrap; gap: 8px; }
	html body .cpn-puce, html body .cpn-puce:hover, html body .cpn-puce:focus { height: 40px; box-shadow: none; margin: 0; padding: 0 14px; border: 1px solid var(--cpn-couleur-bordure-forte); border-radius: 0; background: var(--cpn-couleur-fond); color: var(--cpn-couleur-texte); font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; cursor: pointer; }
	html body .cpn-puce:focus-visible { outline: 2px solid var(--cpn-couleur-texte); outline-offset: 2px; }
	html body .cpn-puce[aria-pressed="true"], html body .cpn-puce[aria-pressed="true"]:hover, html body .cpn-puce[aria-pressed="true"]:focus { background: var(--cpn-couleur-texte); border-color: var(--cpn-couleur-texte); color: var(--cpn-couleur-fond); }
	.is-filtres .cpn-panneau, .is-filtres .cpn-panneau[hidden] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 0; border: 0; }
	.is-filtres .cpn-panneau__steppers { flex-direction: row; gap: 16px; }
	.is-filtres .cpn-panneau__steppers > * { flex: 1 1 0; min-width: 0; }
	.is-filtres .cpn-stepper { width: 100%; }
	.is-filtres .cpn-case { padding: 10px 0; border-bottom: 1px solid var(--cpn-couleur-filet); font-size: 15px; }
	.is-filtres .cpn-panneau__pied { position: fixed; left: 0; right: 0; bottom: 0; z-index: 3; display: block; margin: 0; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--cpn-couleur-filet); background: var(--cpn-couleur-fond); }
	.is-filtres .cpn-panneau__pied a { display: none; }
	html body .is-filtres .cpn-panneau__pied .cpn-bouton { display: block; width: 100%; height: 54px; padding: 0; }
}

/* ---------- Lot Carte : résultats en carte ---------- */
a.cpn-affichage__choix { color: var(--cpn-couleur-texte); text-decoration: none; }
a.cpn-affichage__choix:hover { background: var(--cpn-couleur-fond-doux); }
.cpn-resultats--carte { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 44%); column-gap: 24px; align-items: start; }
.cpn-resultats--carte > * { grid-column: 1; }
.cpn-resultats--carte > .cpn-resultats__outils { grid-column: 1 / -1; }
.cpn-resultats--carte > .cpn-resultats__carte { grid-column: 2; grid-row: 2 / span 30; position: sticky; top: 90px; height: calc(100vh - 110px); min-height: 420px; }
.cpn-resultats__fond { width: 100%; height: 100%; }
.cpn-recherche .cpn-resultats--carte .cpn-resultats__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) {
	.cpn-resultats--carte { display: block; }
	.cpn-resultats--carte > .cpn-resultats__carte { position: relative; top: auto; height: 60vh; min-height: 320px; margin: 0 0 24px; }
}
@media (max-width: 767px) {
	.cpn-recherche .cpn-resultats--carte .cpn-resultats__grille { grid-template-columns: 1fr; }
	.cpn-resultats--carte > .cpn-resultats__carte { height: 62vh; margin: 0 -20px 24px; }
}

/* Bandeau vendeur des résultats d'achat (13/10) : emplacement partagé avec les encarts. Une copie par largeur, jamais deux visibles. */
.cpn-resultats__grille > .cpn-resultats__encart { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; }
.cpn-resultats__encart--mobile { display: none; }
.cpn-bandeau-vendeur { box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; padding: 48px 56px; background: #111; color: #fff; font-family: var(--cpn-police-texte); }
.cpn-bandeau-vendeur__texte { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
html body .cpn-bandeau-vendeur p { margin: 0; color: inherit; }
html body .cpn-bandeau-vendeur .cpn-bandeau-vendeur__surtitre { font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: #d8d3c8; }
html body .cpn-bandeau-vendeur .cpn-bandeau-vendeur__titre { font-family: var(--cpn-police-titres); font-size: 46px; font-weight: 500; line-height: 1.1; }
html body .cpn-bandeau-vendeur .cpn-bandeau-vendeur__ligne { font-size: 15px; color: #d8d3c8; }
html body .cpn-bandeau-vendeur a.cpn-bandeau-vendeur__bouton { box-sizing: border-box; display: inline-block; padding: 16px 30px; background: #fff; color: #111; font-size: 15px; font-weight: 600; text-align: center; text-decoration: none; border-radius: 0; }
html body .cpn-bandeau-vendeur a.cpn-bandeau-vendeur__bouton:hover, html body .cpn-bandeau-vendeur a.cpn-bandeau-vendeur__bouton:focus { background: var(--cpn-couleur-fond-doux); color: #111; }
@media (max-width: 767px) {
	.cpn-resultats__encart--bureau { display: none; }
	.cpn-resultats__encart--mobile { display: block; }
	.cpn-bandeau-vendeur { flex-direction: column; align-items: stretch; gap: 24px; padding: 32px 20px; }
	html body .cpn-bandeau-vendeur .cpn-bandeau-vendeur__titre { font-size: 32px; }
	html body .cpn-bandeau-vendeur a.cpn-bandeau-vendeur__bouton { display: block; width: 100%; }
}
