/* =====================================================================
   Yafoye — questionnaire guidé. V101.225.

   Les choix sont des boutons pleine largeur, pas un menu déroulant
   natif : sur mobile, un <select> ouvre un tiroir système qui masque
   la question, et l'on choisit sans plus voir ce qu'on nous demande.
   Des boutons visibles gardent la question et la réponse ensemble.
   ===================================================================== */
.yq{display:grid;gap:14px;min-width:0;max-width:100%}
.yq *{box-sizing:border-box}

/* V101.684 — la barre n'apparait qu'une fois la premiere reponse
   donnee.

   A zero pour cent, elle ne montrait rien : une piste grise vide en
   haut d'un ecran qui n'a pas encore commence. Elle annoncait un
   parcours au lieu d'accompagner une reponse. Elle se leve donc au
   premier choix, ce qui la rend informative des le moment ou elle
   s'affiche.

   `[hidden]` est ecrit en dur : la piste est un `div`, et `display` la
   remettrait en jeu (V101.599, 646, 655). */
.yq-piste{height:4px;border-radius:99px;background:#e6eef6;overflow:hidden;transition:opacity .25s ease}
.yq-piste[hidden]{display:none!important}
.yq-jauge{height:100%;background:linear-gradient(90deg,#00d4ff,#1565a0);
  border-radius:99px;transition:width .28s ease}

/* --- Réponses déjà données --- */
.yq-faites{display:grid;gap:8px}
/* Les réponses données tiennent sur une ligne : libellé à gauche,
   valeur à droite. Deux lignes par réponse repoussaient la question
   en cours vers le bas au fil du parcours. */
.yq-fait{display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;text-align:left;padding:7px 11px;border:1px solid #e6eef6;border-radius:10px;
  background:#f7fbfd;cursor:pointer;transition:.16s;font-family:Manrope,system-ui,sans-serif}
.yq-fait:hover{border-color:#9fe4ef;background:#fff}
.yq-fait small{flex:none;font-size:10.5px;font-weight:700;color:#8095aa;white-space:nowrap}
.yq-fait span{flex:1;text-align:right;font-size:12px;font-weight:800;color:#071a32;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.yq-fait i{flex:none;color:#c3d0dd;font-size:10px}

/* --- Question en cours --- */
.yq-active h3{margin:2px 0 9px;font:800 15px/1.3 Sora,Manrope,system-ui,sans-serif;
  color:#071a32;letter-spacing:-.3px}
/* V101.227: deux colonnes dès le mobile, et des boutons plus bas.
   Une liste d'options en pleine largeur poussait « Trouver pour moi »
   hors de l'écran — le client faisait défiler pour un bouton qu'il
   aurait dû voir tout de suite. */
/* V101.228: `minmax(0,1fr)` et non `1fr`.
   Dans une grille, une colonne `1fr` ne descend jamais sous la largeur
   de son contenu : un libellé long comme « Électricité (compteur) »
   élargissait donc la colonne, et la grille débordait hors du cadre.
   C'est le défaut le plus courant des grilles CSS, et il ne se voit
   qu'avec du texte long — d'où son apparition à la question des
   équipements. */
.yq-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.yq-choix > *{min-width:0}
.yq-option{width:100%;text-align:left;min-height:42px;padding:9px 12px;
  border:1px solid #dbe6f1;border-radius:11px;background:#fff;color:#0b2540;
  font:700 12.5px/1.3 Manrope,system-ui,sans-serif;cursor:pointer;transition:.14s;
  /* Un libellé trop long revient à la ligne au lieu de pousser le
     bouton hors du cadre. */
  overflow-wrap:anywhere;hyphens:auto}
.yq-option:hover{border-color:#00d4ff;background:#f2fdff;transform:translateX(2px)}
.yq-option:active{transform:translateX(0) scale(.995)}

@media(min-width:620px){
  /* Trois colonnes sur écran large : les listes de neuf catégories
     tiennent alors sans défilement. */
  .yq-choix{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:340px){
  /* Très petits écrans : une colonne, sinon les libellés se coupent. */
  .yq-choix{grid-template-columns:minmax(0,1fr)}
}

/* --- Fin du parcours --- */
.yq-fini{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;
  border:1px solid #bfe9d5;border-radius:15px;background:#f1fbf6}
.yq-fini i{color:#07966d;font-size:17px;margin-top:2px}
.yq-fini b{display:block;font:800 13.5px Sora,Manrope,system-ui,sans-serif;color:#05603f}
.yq-fini span{display:block;margin-top:3px;font-size:12px;line-height:1.55;color:#4a7a66}

/* --- Bouton de recherche --- */
.yq-lancer{display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;min-height:50px;border:0;border-radius:16px;
  background:linear-gradient(135deg,#031b3a,#073568);color:#fff;
  font:800 15px Manrope,system-ui,sans-serif;cursor:pointer;transition:.18s;
  box-shadow:0 14px 32px rgba(3,27,58,.24)}
.yq-lancer:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 38px rgba(3,27,58,.3)}
.yq-lancer:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;font-size:13px}

@media (prefers-reduced-motion: reduce){
  .yq-jauge,.yq-option,.yq-lancer{transition:none}
  .yq-option:hover,.yq-lancer:hover:not(:disabled){transform:none}
}

/* --- Choix multiple. V101.226 ---
   Les critères d'équipement s'additionnent : forcer à n'en retenir
   qu'un donnerait une image fausse du besoin. La coche est visible à
   gauche, l'état coché franc — sur mobile, une nuance de fond ne se
   distingue pas au soleil. */
.yq-aide{margin:-6px 0 11px;font-size:12px;line-height:1.5;color:#8095aa}
/* V101.227: la coche rétrécit avec les boutons, sans perdre en
   lisibilité — c'est le seul repère de l'état sélectionné. */
.yq-coche{display:flex;align-items:center;gap:8px;min-width:0}
.yq-coche span{min-width:0;overflow-wrap:anywhere}
.yq-coche i{width:16px;height:16px;flex:none;display:grid;place-items:center;
  border:1.5px solid #cbd9e6;border-radius:6px;background:#fff;
  color:transparent;font-size:10px;transition:.14s}
.yq-coche.est-coche{border-color:#031b3a;background:#f2fdff}
.yq-coche.est-coche i{background:#031b3a;border-color:#031b3a;color:#fff}
.yq-valider{width:100%;min-height:44px;margin-top:9px;border:1px solid #dbe6f1;
  border-radius:14px;background:#f7fbfd;color:#0b2540;
  font:800 13px Manrope,system-ui,sans-serif;cursor:pointer;transition:.14s}
.yq-valider:hover{border-color:#9fe4ef;background:#fff}


/* V101.227 — l'ancienne conversation disparaît de l'accueil.
   L'attribut `hidden` ne suffisait pas : ces blocs portent chacun un
   `display` en CSS, qui l'emporte sur lui. Le questionnaire pose déjà
   la question des catégories et recueille le besoin ; garder une
   saisie libre en dessous donnait deux chemins pour la même chose, et
   allongeait la page sans rien apporter. */
.yf-chat-identity[hidden],
.yf-assistant-dialogue[hidden],
.yf-search-category-shortcuts[hidden],
.search-area[hidden]{display:none!important}

/* V101.229 : le bouton « Retour » et le compteur « Question 4 sur 11 »
   sont retirés — voir js/yafoye-questionnaire.js pour le raisonnement.
   Les réponses données restent cliquables au-dessus : c'est le retour,
   et il permet de viser directement la bonne question. */

/* --- Champs libres du questionnaire de publication. V101.236 ---
   Le quartier, le titre, le prix ne peuvent pas être des listes :
   personne ne devinerait « Riviera Anono » dans un menu. Ils gardent
   la même présentation qu'un choix — une question, une réponse — mais
   se saisissent. */
.yq-saisie{width:100%;box-sizing:border-box;min-height:50px;
  border:1px solid #dbe6f1;border-radius:13px;padding:13px 15px;
  font:600 14px Manrope,system-ui,sans-serif;color:#071a32;background:#fff}
.yq-saisie:focus{outline:0;border-color:#64cad9;box-shadow:0 0 0 4px rgba(0,212,255,.13)}
.yq-saisie-long{min-height:104px;resize:vertical;line-height:1.6}
.yq-passer{width:100%;min-height:40px;margin-top:7px;border:0;background:transparent;
  color:#8095aa;font:700 12px Manrope,system-ui,sans-serif;cursor:pointer}
.yq-passer:hover{color:#031b3a;text-decoration:underline}

/* --- Capture de la position. V101.237 --- */
.yq-gps{display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;min-height:52px;border:1px solid #bfe9ee;border-radius:14px;
  background:#f2fdff;color:#06627a;font:800 13.5px Manrope,system-ui,sans-serif;
  cursor:pointer;transition:.16s}
.yq-gps:hover{border-color:#00d4ff;background:#e8fbff}
.yq-gps-etat{min-height:18px;margin-top:8px;font-size:12px;font-weight:700;color:#6f8290}

/* --- Photos et bouton unique. V101.238 --- */
.yq-photos{display:grid;gap:10px;margin-bottom:4px}
.yq-photos .cc-media-drop{width:100%;box-sizing:border-box}
.yq-valider:disabled{opacity:.45;cursor:not-allowed}
.yq-valider.est-passer{background:transparent;border-color:transparent;color:#8095aa;font-weight:700}
.yq-valider.est-passer:hover{color:#031b3a;text-decoration:underline}

/* --- Engagement avant publication. V101.239 --- */
.yq-engagement{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;
  border:1px solid #dbe6f1;border-radius:14px;background:#f7fbfd;cursor:pointer}
.yq-engagement input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:#031b3a;cursor:pointer}
.yq-engagement span{font-size:12.5px;line-height:1.55;font-weight:700;color:#0b2540}
.yq-lancer:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}

/* =====================================================================
   V101.242 — plus rien ne sort du cadre.

   Le débordement revenait sur les questions à libellés longs — meublé,
   équipements, « Pour quand ? » — et sur les boutons d'action. La
   cause n'était pas la grille, corrigée en V101.228, mais le CONTENEUR :
   il n'imposait aucune limite à ses enfants, et un mot long élargissait
   toute la colonne.

   On borne donc à la racine plutôt qu'au cas par cas : chaque nouvelle
   question héritera de la contrainte sans qu'on y pense.
   ===================================================================== */
.yq,.yq-active,.yq-choix,.yq-faites{max-width:100%;min-width:0}
.yq-active > *,.yq-faites > *{max-width:100%;min-width:0}
.yq button,.yq input,.yq textarea,.yq label{max-width:100%;box-sizing:border-box}
.yq-option,.yq-lancer,.yq-valider,.yq-fait,.yq-gps{
  overflow-wrap:anywhere;word-break:normal;white-space:normal;
}
.yq-lancer{padding:0 14px;line-height:1.25}
.yq-aide{overflow-wrap:anywhere}

/* Le conteneur hôte lui-même : sur l'accueil comme dans l'espace pro,
   il ne doit jamais pousser la page en largeur. */
.yf-questionnaire-hote,
.cc-publication-questionnaire{max-width:100%;min-width:0;overflow-x:hidden}

/* =====================================================================
   V101.303 — affiner après les résultats, et le bouton progressif.

   Le bloc d'affinage vient APRÈS la liste : la personne a vu ce qu'on
   a, elle sait pourquoi elle répond. Avant les résultats, une question
   est un péage ; après, c'est un outil.

   Il reste discret — bordure légère, pas de couleur d'appel. Ce n'est
   pas l'action principale : consulter les biens l'est.
   ===================================================================== */
.yf-affiner{margin:20px 0 8px;padding:16px 18px;border:1px solid #e6eef6;
  border-radius:16px;background:#f8fbfd}
.yf-affiner > b{display:flex;align-items:center;gap:9px;
  font:800 13.5px Sora,Manrope,system-ui,sans-serif;color:#071a32}
.yf-affiner > b i{font-size:12px;color:#087f96}
.yf-affiner > span{display:block;margin:5px 0 13px;font-size:11.5px;color:#8095aa}
.yf-affiner-options{display:flex;flex-wrap:wrap;gap:8px}
.yf-affiner-options button{min-height:40px;padding:0 15px;
  border:1px solid #dbe6f1;border-radius:11px;background:#fff;color:#071a32;
  font:700 12.5px Manrope,system-ui,sans-serif;cursor:pointer;transition:.14s}
.yf-affiner-options button:hover{border-color:#00d4ff;background:#f2fdff}

/* La note sous le bouton de recherche : elle dit qu'on peut partir
   maintenant, et ce qu'on gagne à rester. */
.yq-lancer-note{margin:9px 0 0;text-align:center;font-size:11.5px;
  line-height:1.5;color:#8095aa}

/* =====================================================================
   V101.306 — les critères de recherche, modifiables.

   Le bandeau montre ce que le client a choisi. Chaque pastille porte un
   crayon : sans lui, rien ne dit qu'on peut cliquer, et la
   fonctionnalité reste invisible.

   Le crayon apparaît en gris et se colore au survol — présent sans
   être bruyant. Ces pastilles sont d'abord un rappel de ce qu'on a
   demandé ; la modification vient en second.
   ===================================================================== */
.chip-modifiable{display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(255,255,255,.22);border-radius:999px;
  padding:7px 14px;background:rgba(255,255,255,.08);color:#fff;
  font:700 12px Manrope,system-ui,sans-serif;cursor:pointer;transition:.14s}
.chip-modifiable:hover{background:rgba(255,255,255,.16);border-color:#64cad9}
.chip-modifiable i{font-size:9px;opacity:.5;transition:.14s}
.chip-modifiable:hover i{opacity:1;color:#64cad9}

/* Le choix actuel se distingue dans la fenêtre de modification. */
.yi-motif-liste button.est-actuel{border-color:#031b3a;background:#f2fdff;font-weight:800}
.yi-motif-liste button.est-actuel::after{content:'actuel';margin-left:auto;
  padding:2px 8px;border-radius:999px;background:#eef7ff;color:#1565a0;
  font-size:10px;font-weight:800}

/* =====================================================================
   V101.311 — les actions dans un résultat vide.

   « Chercher ailleurs » domine : quelqu'un qui découvre qu'il n'y a
   rien dans sa ville veut d'abord essayer autre chose. « Me prévenir »
   reste disponible, en second — c'est le choix de celui qui n'a pas
   d'autre idée, pas celui qu'on met en avant.
   ===================================================================== */
.yf-vide-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.yf-vide-principal,.yf-vide-secondaire{display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:0 17px;border-radius:13px;cursor:pointer;
  font:800 12.5px Manrope,system-ui,sans-serif;transition:.14s}
.yf-vide-principal{border:0;background:#031b3a;color:#fff}
.yf-vide-principal:hover{background:#073568}
.yf-vide-secondaire{border:1px solid #bfe9ee;background:#fff;color:#06627a}
.yf-vide-secondaire:hover{border-color:#00d4ff;background:#f2fdff}
.yf-vide-principal i,.yf-vide-secondaire i{font-size:11px}
@media(max-width:520px){
  .yf-vide-actions{flex-direction:column}
  .yf-vide-principal,.yf-vide-secondaire{width:100%;justify-content:center}
}

/* =====================================================================
   V101.410 — la sélection multiple des équipements.

   Un choix simple avance au clic ; ici on coche, et il faut voir ce
   qu'on a coché. Sans marque visible, on reclique par doute et on
   décoche ce qu'on venait de choisir.
   ===================================================================== */
.yq-choix-multiple{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-height:46vh;overflow-y:auto;
  padding-right:4px;
}
.yq-choix-multiple .yq-option{
  min-height:46px;padding:9px 12px;
  font-size:13px;line-height:1.25;
}
/* Coché : le bleu Yafoye plein, avec la coche. Un simple fond clair se
   confond avec l'état survolé sur les écrans peu contrastés — ceux des
   téléphones vendus ici, en plein jour. */
.yq-choix-multiple .yq-option.est-choisi{
  border-color:#0099e6;
  background:linear-gradient(135deg,#00c3ff,#0099e6);
  color:#fff;font-weight:800;
}
.yq-choix-multiple .yq-option.est-choisi::after{
  content:"\2713";margin-left:7px;font-weight:900;
}

@media (min-width:1024px){
  .yq-choix-multiple{grid-template-columns:repeat(3,minmax(0,1fr));max-height:40vh}
}

/* =====================================================================
   V101.428 — la saisie du budget.

   Les tranches obligeaient à se reconnaître dans un intervalle qui
   n'était pas le sien. Le champ demande le montant réel, avec les
   espaces de milliers écrits pendant la frappe.
   ===================================================================== */
.yq-saisie{
  width:100%;
  padding:16px 18px;
  border:2px solid rgba(3,27,58,.14);
  border-radius:16px;
  background:#fff;
  font:800 22px/1.2 Sora,Manrope,sans-serif;
  color:#031b3a;
  letter-spacing:-.01em;
  text-align:center;
}
.yq-saisie:focus{
  outline:none;
  border-color:#0099e6;
  box-shadow:0 0 0 4px rgba(0,153,230,.12);
}
.yq-saisie::placeholder{
  font-weight:600;font-size:17px;
  color:rgba(3,27,58,.32);
  letter-spacing:0;
}
/* Validé à vide : on le signale sans message, le champ parle de
   lui-même une fois le regard ramené dessus. */
.yq-saisie-vide{
  border-color:#e0524b;
  box-shadow:0 0 0 4px rgba(224,82,75,.10);
}

/* V101.488 — le panneau de complétion, ouvert avant de publier un
   besoin. Il réutilise le questionnaire tel quel : le client reconnaît
   l'écran sur lequel il vient de répondre, il ne découvre pas un
   formulaire. */
.yq-publication-fond{
  position:fixed;inset:0;z-index:12000;
  display:flex;align-items:flex-end;justify-content:center;
  background:rgba(3,20,40,.58);
  overflow:auto;padding:0;
}
@media(min-width:760px){
  .yq-publication-fond{align-items:center;padding:24px}
}
.yq-publication-carte{
  width:100%;max-width:640px;max-height:92vh;overflow:auto;
  background:#fff;border-radius:22px 22px 0 0;
}
@media(min-width:760px){
  .yq-publication-carte{border-radius:22px}
}
.yq-publication-tete{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:20px 20px 6px;
}
.yq-publication-tete small{
  display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#0b6fa8;
}
.yq-publication-tete h2{margin:4px 0 6px;font-size:19px;color:#031b3a}
.yq-publication-tete p{margin:0;font-size:13px;line-height:1.45;color:#5b6675}
.yq-publication-fermer{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;cursor:pointer;
  border:1px solid rgba(3,27,58,.12);background:#fff;
  font-size:20px;line-height:1;color:#5b6675;
}
.yq-publication-corps{padding:0 20px 22px}

/* V101.536 — la précision libre et la publication, dans le panneau. */
.yq-publication-precision{padding:0 20px 22px}
.yq-publication-precision label{display:block}
.yq-publication-precision label>span{
  display:block;margin-bottom:6px;
  font-size:13px;font-weight:800;color:#031b3a;
}
.yq-publication-precision textarea{
  width:100%;box-sizing:border-box;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(3,27,58,.16);background:#fff;color:#031b3a;
  font-family:inherit;font-size:14px;line-height:1.45;resize:vertical;
}
.yq-publication-precision textarea:focus{outline:none;border-color:#0b6fa8}
.yq-publication-precision label>small{
  display:block;margin-top:6px;font-size:12px;line-height:1.4;color:#5b6675;
}
/* V101.541 — le bouton de publication reprend le bleu sombre de la
   marque. `.yq-valider` est un bouton discret, gris-bleu clair, fait
   pour valider une selection dans le fil des questions. Publier son
   besoin est le geste final : il merite le meme poids visuel que
   « Trouver pour moi » (`.yq-lancer`). */
.yq-publication-precision .yq-valider{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;min-height:50px;margin-top:14px;border:0;border-radius:16px;
  background:linear-gradient(135deg,#031b3a,#073568);color:#fff;
  font:800 15px Manrope,system-ui,sans-serif;
  box-shadow:0 14px 32px rgba(3,27,58,.26);
}
.yq-publication-precision .yq-valider:hover:not([disabled]){
  background:linear-gradient(135deg,#052a52,#073568);
}

/* V101.541 — les cartes de « Besoins soumis » reprennent celles
   d'Opportunites : meme lecture pour le client et le professionnel,
   d'un cote comme de l'autre de la meme demande. */
.yf-besoin-card{
  background:#fff;border:1px solid rgba(3,27,58,.08);border-radius:18px;
  padding:16px;display:flex;flex-direction:column;gap:8px;
  box-shadow:0 10px 30px rgba(3,27,58,.06);
}
.cc-need-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cc-need-cat{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:#5b6675}
.cc-need-cat i{color:#0b6fa8}
.cc-need-budget{font-size:16px;font-weight:800;color:#031b3a;white-space:nowrap}
.cc-need-lieu,.cc-need-spec{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;color:#5b6675}
.cc-need-lieu i,.cc-need-spec i{color:#0b6fa8;font-size:12px}
.cc-need-details{
  margin:0;padding:12px 14px;border-radius:14px;background:#f4f8fb;
  font-size:13px;line-height:1.5;color:#435061;
}
.cc-need-actions{display:flex;gap:8px;margin-top:2px}
.cc-need-actions button{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;border-radius:14px;cursor:pointer;
  border:1px solid rgba(3,27,58,.12);background:#fff;color:#031b3a;
  font:800 13px Manrope,system-ui,sans-serif;
}
.cc-need-actions button.principal{border:0;background:linear-gradient(135deg,#031b3a,#073568);color:#fff}
.yq-publication-etat{margin:10px 0 0;font-size:13px;color:#b42318;min-height:18px}
/* V101.537 — le bouton reste visible mais inactif tant qu'il manque une
   réponse : le désactiver sans le montrer ferait chercher où cliquer. */
.yq-publication-precision .yq-valider[disabled]{opacity:.45;cursor:not-allowed}

/* V101.539 — les cartes de « Besoins soumis ». */
.yf-besoin-card .yf-besoin-precision{
  margin:8px 0 0;font-size:13px;line-height:1.45;color:#435061;
}

/* V101.628 — les regles du pass sont parties dans
   `js/yafoye-visite-preuve.js`, qui le dessine. Elles ne vivaient ici
   que par hasard, et la page des reservations ne charge pas cette
   feuille : le pass s'affichait nu apres une actualisation. */

/* V101.551 — le récapitulatif d'une visite effectuée. */
.yi-recap-visite{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  margin:10px 0 0;padding:10px 12px;border-radius:14px;
  background:#eef8f2;font-size:12px;color:#245c43;
}
.yi-recap-etat{display:inline-flex;align-items:center;gap:6px;font-weight:900}
.yi-recap-etat i{color:#1d8a5e}

/* V101.578 — noter son séjour, depuis la carte. */
.yi-noter{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;margin:10px 0 0;padding:12px 14px;border-radius:14px;
  background:#fff8e6;border:1px solid #fde68a;
}
.yi-noter>span{font-size:13px;font-weight:800;color:#7c5a10}
.yi-etoiles{display:flex;gap:4px}
.yi-etoiles button{
  width:36px;height:36px;border:0;border-radius:10px;cursor:pointer;
  background:transparent;color:#d9a406;font-size:18px;
}
.yi-etoiles button:hover:not(:disabled){background:rgba(217,164,6,.14)}
.yi-etoiles button:disabled{opacity:.5;cursor:default}
.yi-note-donnee{
  margin:10px 0 0;padding:10px 14px;border-radius:14px;
  background:#eef8f2;font-size:13px;font-weight:700;color:#245c43;
}
.yi-note-donnee i{color:#d9a406}

/* V101.579 — la note sur les cartes d'Explorer et de Yafoye Match. */
.yf-property-fact.note,.meta-chip.note{color:#8a6d0b}
.yf-property-fact.note i,.meta-chip.note i{color:#d9a406}

/* V101.580 — la disponibilité d'une résidence, sur les cartes. */
.yf-property-fact.creneau,.meta-chip.creneau{color:#0b4a6f}
.yf-property-fact.creneau i,.meta-chip.creneau i{color:#0b6fa8}

/* V101.601 — le panneau « Comprendre » quand le bien ne convient pas.
   Le bandeau ne peut pas annoncer une bonne nouvelle sur un refus. */
.yf-decision-hero.est-bloque{
  background:linear-gradient(135deg,#7a2020,#a33b3b)!important;
}

/* V101.604 — la fenêtre de correction d'un montant.
   Elle reprend le champ du questionnaire : le client doit retrouver ce
   qu'il a rempli, pas une autre façon de répondre à la même question. */
.yq-carte-montant{max-width:460px}
.yq-carte-montant .yq-publication-corps{padding:18px 20px}
.yq-carte-montant .yq-saisie{width:100%;box-sizing:border-box}
.yq-carte-montant .yq-aide{margin:10px 0 0;font-size:12.5px;color:#667085}


/* V101.621 — les villes moins demandées, dans un sélecteur.
   Trente-neuf boutons ne se lisent pas ; douze se balaient du regard. */
.yq-autres{margin-top:12px}
.yq-autres-select{
  width:100%;padding:13px 14px;border:1px solid var(--line,#e6edf2);
  border-radius:14px;background:#fff;font:700 14px Manrope,system-ui,sans-serif;
  color:#031b3a;cursor:pointer;
}
