/*
 * Point 41 d'Armand (0.6.90) : nouvelle interface d'Oriane. Chargée seulement interrupteur allumé (ou aperçu d'un
 * administrateur) ; complète oriane.css et oriane-panneau.css. Coins arrondis réservés à Oriane (boutons, panneau,
 * bloc de la fiche, bulle, champ de l'accueil) ; le reste de la page garde ses coins droits (cartes « en élargissant
 * un seul critère », encart d'alerte). Aucune émoticône.
 */

body.cpn-o41 { --cpn-o41-largeur: 416px; }

/* Nom du portail en capitales (jamais écrit en capitales dans le texte, point 20). */
.cpn-o41-portail { text-transform: uppercase; letter-spacing: .04em; }

/* Monogramme de 38 px (bouton de l'en-tête, ligne du tri, accueil, fiche). */
.cpn-oriane-mono.cpn-o41-mono { width: 38px; height: 38px; font-size: 21px; }
.cpn-oriane-mono.cpn-o41-mono::after { width: 9px; height: 9px; right: 0; bottom: 0; }

/* ---------- B1 : en-tête fixé en haut au défilement ---------- */
body.cpn-o41 .elementor-location-header { position: sticky; top: 0; z-index: 900; }
body.cpn-o41.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.cpn-o41.admin-bar .elementor-location-header { top: 46px; } }
@media (max-width: 600px) { body.cpn-o41.admin-bar .elementor-location-header { top: 0; } }

/* Bouton « Rechercher avec Oriane » et bouton de la ligne du tri : ovale de 48 px, fond blanc, liseré noir de 1 px,
   monogramme de 38 px, texte de 14 px sur une seule ligne. */
html body button.cpn-o41-entete, html body button.cpn-o41-entete:hover, html body button.cpn-o41-entete:focus,
html body button.cpn-o41-affiner, html body button.cpn-o41-affiner:hover, html body button.cpn-o41-affiner:focus,
html body button.cpn-o41-pastille, html body button.cpn-o41-pastille:hover, html body button.cpn-o41-pastille:focus {
	-webkit-appearance: none; appearance: none; flex: none; display: inline-flex; align-items: center; gap: 10px; box-sizing: border-box; height: 48px; min-height: 48px; margin: 0; padding: 0 18px 0 4px;
	border: 1px solid #111; border-radius: 999px; background: #fff; box-shadow: none; color: #111; font-family: Figtree, var(--cpn-police-texte), sans-serif; font-size: 14px; font-weight: 500; line-height: 1;
	letter-spacing: normal; text-transform: none; text-decoration: none; white-space: nowrap; cursor: pointer; transition: none;
}
html body button.cpn-o41-entete:hover, html body button.cpn-o41-affiner:hover, html body button.cpn-o41-pastille:hover { background: #f4f3ef; }
html body button.cpn-o41-entete:focus-visible, html body button.cpn-o41-affiner:focus-visible, html body button.cpn-o41-pastille:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
html body button.cpn-o41-entete[hidden], html body button.cpn-o41-affiner[hidden], html body button.cpn-o41-pastille[hidden] { display: none; }
/* B3 : pastille « Oriane » de 44 px à gauche du menu (mobile, ou en-tête compact). */
html body .cpn-entete button.cpn-o41-pastille { display: none; height: 44px; min-height: 44px; padding: 0 14px 0 3px; gap: 8px; }
html body .cpn-entete button.cpn-o41-pastille .cpn-o41-mono { width: 36px; height: 36px; font-size: 20px; }
@media (max-width: 1279px) {
	html body .cpn-entete button.cpn-o41-pastille:not([hidden]) { display: inline-flex; margin-left: auto; }
	.cpn-entete .cpn-o41-pastille + .cpn-entete__burger { margin-left: 4px; }
}
html body .cpn-entete.is-compact button.cpn-o41-pastille:not([hidden]) { display: inline-flex; margin-left: auto; }
.cpn-entete.is-compact .cpn-o41-pastille + .cpn-entete__burger { margin-left: 4px; }
/* Point 45 : sur l'accueil, bouton « Rechercher avec Oriane » et pastille masqués tant que le mode Oriane est affiché
   (grand champ d'Oriane déjà à l'écran) ; visibles en mode Classique. Suit l'attribut de l'interrupteur, posé par le
   site (mode par défaut du CRM) puis par le script à chaque bascule et au choix mémorisé : aucun rechargement. */
html body.cpn-o41-page-accueil:has([data-cpn-oriane][data-cpn-oriane-mode="oriane"]) .cpn-entete button.cpn-o41-entete,
html body.cpn-o41-page-accueil:has([data-cpn-oriane][data-cpn-oriane-mode="oriane"]) .cpn-entete button.cpn-o41-pastille,
html body.cpn-o41-page-accueil:has([data-cpn-oriane][data-cpn-oriane-mode="oriane"]) .cpn-entete.is-compact button.cpn-o41-pastille:not([hidden]) { display: none; }

/* ---------- B8 : bulle de première visite, sous le bouton de l'en-tête ---------- */
.cpn-o41-bulle { position: fixed; z-index: 950; box-sizing: border-box; width: 300px; max-width: calc(100vw - 32px); padding: 16px 44px 16px 16px; background: #fff; color: #111; border: 1px solid #dddad3; border-radius: 14px; box-shadow: 0 10px 30px rgba(17, 17, 17, .14); font-size: 14px; line-height: 1.45; }
.cpn-o41-bulle[hidden] { display: none; }
.cpn-o41-bulle::before { content: ""; position: absolute; top: -7px; right: var(--cpn-o41-fleche, 40px); width: 12px; height: 12px; background: #fff; border-left: 1px solid #dddad3; border-top: 1px solid #dddad3; transform: rotate(45deg); }
html body .cpn-o41-bulle__titre { margin: 0 0 4px; font-weight: 700; color: #111; }
html body .cpn-o41-bulle__texte { margin: 0; color: #3d3c39; }
html body .cpn-o41-bulle button.cpn-o41-bulle__fermer, html body .cpn-o41-bulle button.cpn-o41-bulle__fermer:hover, html body .cpn-o41-bulle button.cpn-o41-bulle__fermer:focus { -webkit-appearance: none; appearance: none; position: absolute; top: 4px; right: 4px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; color: #5c5a55; cursor: pointer; }
html body .cpn-o41-bulle button.cpn-o41-bulle__fermer:focus-visible { outline: 2px solid #111; outline-offset: -2px; }

/* ---------- A5 : panneau du haut au bas de l'écran, champ de saisie fixé en bas ---------- */
.cpn-oriane-cote--seul { position: static; padding: 0; margin: 0; }
@media (min-width: 1100px) {
	body.cpn-o41 .cpn-oriane-cote[data-cpn-o41][data-etat="ouvert"] { display: block; margin-right: 0; padding-right: var(--cpn-o41-decalage, 0px); }
	body.cpn-o41 .cpn-oriane-cote[data-cpn-o41][data-etat="ouvert"] .cpn-oriane-panneau { display: flex; position: fixed; z-index: 850; top: var(--cpn-o41-haut, 76px); right: 0; bottom: 0; width: var(--cpn-o41-largeur); height: auto; max-height: none; margin: 0; border: 0; border-left: 1px solid #dddad3; border-radius: 0; box-shadow: -8px 0 24px rgba(17, 17, 17, .08); }
	body.cpn-o41.admin-bar .cpn-oriane-cote[data-cpn-o41][data-etat="ouvert"] .cpn-oriane-panneau { height: auto; }
	body.cpn-o41:has(.cpn-oriane-cote[data-cpn-o41][data-etat="ouvert"]) .cpn-haut { right: calc(var(--cpn-o41-largeur) + 24px); }
}
/* Mobile et tablette (B3) : conversation en plein écran. */
@media (max-width: 1099px) {
	body.cpn-o41 .cpn-oriane-cote[data-cpn-o41][data-etat="ouvert"] .cpn-oriane-panneau { top: 0; bottom: 0; height: 100vh; height: 100dvh; border-radius: 0; padding-top: calc(12px + env(safe-area-inset-top)); box-shadow: none; }
	body.cpn-o41 .cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__poignee, body.cpn-o41 .cpn-oriane-cote[data-cpn-o41] .cpn-oriane-voile { display: none; }
}
/* B4, B5 : ni onglet vertical, ni invitation, ni barre « Affiner ». */
body.cpn-o41 .cpn-oriane-cote[data-cpn-o41] .cpn-oriane-onglet, body.cpn-o41 .cpn-oriane-cote[data-cpn-o41] .cpn-oriane-invitation, body.cpn-o41 .cpn-oriane-cote[data-cpn-o41] .cpn-oriane-barre { display: none; }

/* A3 : mode simplifié, point gris au lieu du vert. */
.cpn-o41-simplifie .cpn-oriane-mono::after { background: #9a978f; }
.cpn-o41-simplifie [data-cpn-o41-point] { color: #5c5a55; }

/* C5 : boutons ronds de l'en-tête du panneau (même style que « Réduire »). */
/* 0.7.5.6 (C14 b) : boutons ronds de l'en-tête et historique déplacés dans oriane-panneau.css (tout panneau). */

/* C4 : recherche précédente, séparateur « Nouvelle recherche ». */
html body .cpn-o41-precedente { margin: 0; font-size: 13px; line-height: 1.45; color: #5c5a55; }
html body .cpn-o41-precedente button, html body .cpn-o41-precedente button:hover, html body .cpn-o41-precedente button:focus { -webkit-appearance: none; appearance: none; display: inline; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #111; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: normal; cursor: pointer; }
.cpn-o41-separateur { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #5c5a55; }
.cpn-o41-separateur::before, .cpn-o41-separateur::after { content: ""; flex: 1; height: 1px; background: #d9d6ce; }
/* Ligne du site avec un lien (mensualité). */
.cpn-oriane-ligne a { color: #111; text-decoration: underline; text-underline-offset: 3px; }

/* B7 : carte « Vous regardez ». */
.cpn-o41-carte { display: flex; gap: 12px; align-items: center; padding: 10px; background: #fff; border: 1px solid #e4e2dc; border-radius: 14px; color: #111; text-decoration: none; }
.cpn-o41-carte__photo { flex: none; width: 76px; height: 76px; border-radius: 10px; overflow: hidden; background: #d6d3cb; }
html body .cpn-o41-carte__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.cpn-o41-carte__texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13px; color: #3d3c39; }
.cpn-o41-carte__etiquette { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #5c5a55; }
.cpn-o41-carte__prix { font-family: var(--cpn-police-titres); font-size: 20px; font-weight: 600; color: #111; }

/* C2 : bouton noir « Me prévenir dès qu'un bien correspond ». */
html body .cpn-oriane-panneau a.cpn-oriane-bouton.cpn-o41-noir, html body .cpn-oriane-panneau a.cpn-oriane-bouton.cpn-o41-noir:hover, html body .cpn-oriane-panneau a.cpn-oriane-bouton.cpn-o41-noir:focus, html body .cpn-oriane-panneau a.cpn-oriane-bouton.cpn-o41-noir:visited { background: #111; border-color: #111; color: #fff; text-decoration: none; }

/* ---------- B5 : ligne du tri, « N biens » sur sa propre ligne ---------- */
.cpn-o41-affiner .cpn-o41-mono { pointer-events: none; }
.cpn-resultats__outils:has(.cpn-o41-affiner) .cpn-resultats__actions { margin-left: auto; }
html body .cpn-oriane-cote[data-etat="ouvert"] button.cpn-o41-affiner { display: none; } /* Masqué quand le panneau est ouvert (B5). */
html body .cpn-resultats__compte.cpn-o41-compte { margin: 0 0 20px; font-size: 15px; font-weight: 600; }
.cpn-resultats--carte > .cpn-o41-compte { grid-column: 1; }
.cpn-o41-rayon { margin-left: 6px; font-weight: 400; color: #5c5a55; }
html body .cpn-o41-rayon a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.cpn-o41-affiner__long { display: none; }
	html body button.cpn-o41-affiner { height: 40px; min-height: 40px; padding: 0 12px 0 2px; gap: 6px; font-size: 13px; }
	html body button.cpn-o41-affiner .cpn-o41-mono { width: 34px; height: 34px; font-size: 19px; }
}

/* ---------- C3 : zéro résultat, panneau fermé ---------- */
.cpn-o41-zero { margin: 8px 0 0; }
html body .cpn-o41-zero__message { margin: 0 0 24px; font-family: var(--cpn-police-titres); font-size: 28px; font-weight: 500; line-height: 1.2; color: #111; }
html body .cpn-o41-zero__intro { margin: 0 0 16px; font-size: 15px; color: #3d3c39; }
.cpn-o41-zero__cartes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cpn-o41-zero__carte { display: flex; flex-direction: column; gap: 6px; padding: 0 0 16px; border-bottom: 1px solid var(--cpn-couleur-filet, #eeece7); }
.cpn-o41-zero__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0 0 8px; }
.cpn-o41-zero__photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--cpn-couleur-emplacement, #d6d3cb); }
/* 0.6.92 : un seul bien, une seule photo sur toute la largeur, à la hauteur des cartes à deux photos (pas de case vide). */
.cpn-o41-zero__photos--une { grid-template-columns: minmax(0, 1fr); }
.cpn-o41-zero__photos--une .cpn-o41-zero__photo { aspect-ratio: 8 / 3; }
html body .cpn-o41-zero__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
html body .cpn-o41-zero__etiquette { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #5c5a55; }
html body .cpn-o41-zero__critere { margin: 0; font-size: 17px; font-weight: 600; color: #111; }
html body .cpn-o41-zero__nombre { margin: 0; font-size: 14px; color: #3d3c39; }
html body a.cpn-o41-zero__lien { align-self: flex-start; font-size: 14px; font-weight: 600; color: #111; text-decoration: underline; text-underline-offset: 3px; }
.cpn-o41-zero__alerte { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 32px 0 0; padding: 24px; background: #f4f3ef; }
html body .cpn-o41-zero__alerte-titre { margin: 0; font-family: var(--cpn-police-titres); font-size: 22px; color: #111; }
html body a.cpn-o41-zero__alerte-bouton { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; background: #111; border: 1px solid #111; border-radius: 0; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
/* Survol et focus : texte blanc gardé (la couleur de survol des liens du kit Elementor, gris foncé, le rendait illisible
   sur le fond du survol ; 17/10, comme « Voir le bien »). */
html body a.cpn-o41-zero__alerte-bouton:hover, html body a.cpn-o41-zero__alerte-bouton:focus { color: #fff; }
/* C1 : panneau ouvert, Oriane propose ces choix ; ils ne sont jamais affichés à deux endroits. */
.cpn-oriane-cote[data-etat="ouvert"] [data-cpn-o41-zero-cartes], .cpn-oriane-cote[data-etat="ouvert"] .cpn-o41-zero__alerte { display: none; }
@media (max-width: 900px) {
	.cpn-o41-zero__cartes { grid-template-columns: minmax(0, 1fr); }
	html body .cpn-o41-zero__message { font-size: 24px; }
}

/* ---------- B6 : accueil, grand champ arrondi blanc de 760 px (plus rien sous le champ, décision d'Armand des 09-10/10) ---------- */
html body .cpn-oriane .cpn-oriane__champ.cpn-o41-accueil { width: 100%; max-width: 760px; align-items: center; gap: 10px; padding: 7px 7px 7px 7px; border-radius: 999px; border-color: #fff; background: #fff; }
html body .cpn-oriane .cpn-o41-accueil .cpn-oriane__saisie { font-size: 16px; }

/* ---------- B7 : bloc « Une question sur ce bien ? » de la fiche ---------- */
.cpn-o41-fiche { box-sizing: border-box; margin: 24px 0 0; padding: 20px; background: #f4f3ef; border-radius: 16px; color: #111; }
.cpn-o41-fiche__tete { display: flex; align-items: center; gap: 12px; }
html body .cpn-o41-fiche__titre { margin: 0; font-family: 'Cormorant Garamond', var(--cpn-police-titres), serif; font-size: 24px; font-weight: 600; line-height: 1.15; color: #111; }
html body .cpn-o41-fiche__mention { margin: 2px 0 0; font-size: 13px; color: #5c5a55; }
.cpn-o41-fiche__boutons { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
html body .cpn-o41-fiche .cpn-oriane-bouton { min-height: 44px; }
html body .cpn-o41-fiche .cpn-oriane__champ.cpn-o41-fiche__champ { display: flex; align-items: center; width: 100%; max-width: none; margin: 12px 0 0; padding: 4px 4px 4px 16px; border-radius: 999px; box-shadow: none; }
html body .cpn-o41-fiche .cpn-o41-fiche__champ input.cpn-oriane__saisie { flex: 1; min-width: 0; height: 40px; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 15px; }
html body .cpn-o41-fiche .cpn-o41-fiche__champ .cpn-oriane__rond { width: 40px; height: 40px; }

/* B1 : le bouton « Rechercher avec Oriane » tient sur la ligne de l'en-tête à 1 440 px (écarts un peu resserrés ;
   en dessous, en-tête compact et pastille, comme sur mobile). */
body.cpn-o41 .cpn-entete:not(.is-compact) { gap: 24px; }
body.cpn-o41 .cpn-entete:not(.is-compact) .cpn-nav__entrees { gap: 18px; }
body.cpn-o41 .cpn-entete .cpn-entete__droite { gap: 12px; }

/* En-tête du panneau (C5, A3) : nom et boutons ronds sur une ligne, mention « Assistante IA d'… · en ligne » en
   dessous, sur toute la largeur (jamais coupée en deux lignes). */
.cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__entete { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; grid-template-rows: auto auto; column-gap: 10px; row-gap: 2px; align-items: center; }
.cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__entete > .cpn-oriane-mono { grid-row: 1 / span 2; align-self: center; }
.cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__qui { display: contents; }
.cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__nom { grid-column: 2; grid-row: 1; }
html body .cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__mention { grid-column: 2 / -1; grid-row: 2; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cpn-oriane-cote[data-cpn-o41] .cpn-oriane-panneau__entete > button { grid-row: 1; }
/* Plein écran (B3) : au-dessus de tout, barre d'administration comprise (aperçu : même vue que le visiteur, relecture N12). */
@media (max-width: 1099px) {
	body.cpn-o41 .cpn-oriane-cote[data-cpn-o41][data-etat="ouvert"] .cpn-oriane-panneau { z-index: 100001; }
}
/* Panneau seul (pages sans liste) : pas de lien « Voir la liste » ; « Réduire » referme la conversation. */
html body .cpn-oriane-cote--seul .cpn-oriane-panneau button.cpn-oriane-panneau__voir { display: none; }
@media (max-width: 767px) {
	/* B6, mobile : le texte d'invitation passe sur deux lignes sans être coupé. */
	html body .cpn-oriane .cpn-oriane__champ.cpn-o41-accueil { border-radius: 28px; align-items: flex-end; }
	html body .cpn-oriane .cpn-o41-accueil .cpn-oriane__saisie { font-size: 15px; }
	html body .cpn-oriane .cpn-o41-accueil > .cpn-o41-mono { align-self: center; }
}

/* ---------- Relecture 0.6.90, M1 : l'en-tête fixé ne cache plus rien ----------
   --cpn-o41-haut : bas de l'en-tête à l'écran (posé par le script ; 76 px par défaut). Les éléments déjà collés en
   haut de l'écran se placent sous lui ; ancres et focus clavier défilent sous lui (scroll-padding-top). */
html:has(body.cpn-o41) { scroll-padding-top: calc(var(--cpn-o41-haut, 76px) + 16px); }
@media (max-width: 767px) {
	html.cpn-js body.cpn-o41 .cpn-recherche__collant { top: var(--cpn-o41-haut, 76px); }
}
body.cpn-o41 .cpn-biens-carte__carte,
body.cpn-o41 .cpn-calc:not(.cpn-calc--fenetre) > .cpn-calc-budget,
body.cpn-o41 .cpn-colonne-contact,
body.cpn-o41 .cpn-contact-bloc { top: calc(var(--cpn-o41-haut, 76px) + 24px); }
body.cpn-o41 .cpn-resultats--carte > .cpn-resultats__carte { top: calc(var(--cpn-o41-haut, 76px) + 14px); height: calc(100vh - var(--cpn-o41-haut, 76px) - 34px); }
/* A3 (relecture m7) : mode simplifié, point gris sur tous les monogrammes (en-tête, fiche, accueil, /oriane/). */
body.cpn-o41-simplifie .cpn-oriane-mono::after { background: #9a978f; }
body.cpn-o41-simplifie [data-cpn-o41-point] { color: #5c5a55; }

/* Relecture m2 : cibles d'au moins 44 px partout. */
@media (max-width: 767px) {
	html body button.cpn-o41-affiner, html body button.cpn-o41-affiner:hover, html body button.cpn-o41-affiner:focus { height: 44px; min-height: 44px; }
	html body button.cpn-o41-affiner .cpn-o41-mono { width: 36px; height: 36px; }
}
html body .cpn-o41-fiche .cpn-o41-fiche__champ input.cpn-oriane__saisie { height: 44px; }
html body .cpn-o41-fiche .cpn-o41-fiche__champ .cpn-oriane__rond { width: 44px; height: 44px; }
html body .cpn-o41-bulle button.cpn-o41-bulle__fermer, html body .cpn-o41-bulle button.cpn-o41-bulle__fermer:hover, html body .cpn-o41-bulle button.cpn-o41-bulle__fermer:focus { width: 44px; height: 44px; top: 2px; right: 2px; }
html body .cpn-o41-precedente button, html body .cpn-o41-precedente button:hover, html body .cpn-o41-precedente button:focus { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 0 4px; }
html body .cpn-o41-rayon a, html body a.cpn-o41-zero__lien { display: inline-flex; align-items: center; min-height: 44px; }

/* Relecture M6 : menu complet gardé de 1 280 à 1 439 px avec le bouton « Rechercher avec Oriane » entier sur une ligne :
   écarts et texte du menu à peine resserrés (13 px), marges de l'en-tête réduites à 32 px sous 1 366 px. Le calcul
   « is-compact » de portail.js reste le filet : si cela ne tient pas, menu compact et pastille, comme avant. */
@media (min-width: 1280px) and (max-width: 1439px) {
	body.cpn-o41 .cpn-entete:not(.is-compact) { gap: 16px; }
	body.cpn-o41 .cpn-entete:not(.is-compact) .cpn-nav__entrees { gap: 12px; }
	html body.cpn-o41 .cpn-entete .cpn-nav__bouton { font-size: 13px; }
	body.cpn-o41 .cpn-entete .cpn-entete__droite { gap: 8px; }
	html body.cpn-o41 .cpn-entete a.cpn-nav__droite { font-size: 12px; }
	html body.cpn-o41 .cpn-entete a.cpn-bouton-contact { font-size: 12px; }
	html body.cpn-o41 .cpn-entete button.cpn-o41-entete { padding: 0 14px 0 4px; gap: 8px; }
	body.cpn-o41 .cpn-entete:not(.is-compact) .cpn-entete__nom { font-size: 22px; }
}
@media (min-width: 1280px) and (max-width: 1365px) {
	body.cpn-o41 .cpn-entete { padding-left: 32px; padding-right: 32px; }
}
/* Très petits écrans (moins de 375 px) : « Affinez avec Oriane » sur sa ligne, « Trier » et « Carte » en dessous, sans
   débordement de la page (relecture N2 : la page de 320 px débordait jusqu'à 365 px). */
@media (max-width: 374px) {
	.cpn-resultats__outils:has(.cpn-o41-affiner) { flex-wrap: wrap; row-gap: 10px; }
}
