@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Sora:wght@600;700;800&display=swap");
/* V101.62: retire le halo bleu au toucher sur mobile, partout — ce
   fichier est chargé par toutes les pages client (Explorer, Matchs,
   Activité, Moi, Accueil). */
/* V101.209 — l'éclair blanc au défilement.
 *
 * `html` n'avait aucun fond. Sur mobile, quand on fait défiler vite,
 * le navigateur affiche la zone qu'il n'a pas encore peinte : il y
 * met alors le blanc par défaut de `html`, pas la couleur du `body`.
 * D'où cette bande claire qui apparaît et disparaît — surtout dans
 * l'espace pro, dont les cartes sont hautes et le rendu plus lourd.
 *
 * Poser le fond sur `html` supprime le phénomène : il n'y a plus de
 * blanc à montrer. Le `body` garde sa propre couleur, celle-ci ne sert
 * que de fond de secours pendant le rendu et au rebond élastique.
 *
 * `overscroll-behavior-y: none` complète la correction : il supprime
 * le rebond en haut de page, l'autre moment où l'on voit apparaître
 * le fond du document.
 *
 * V101.210 : le geste « tirer pour rafraîchir » est désormais le
 * nôtre — voir js/yafoye-pull-refresh.js. Il fonctionne aussi dans
 * l'application mobile, où le geste natif n'a jamais existé faute de
 * barre de navigateur. Garder `none` ici évite que les deux se
 * superposent, et supprime le rebond qui découvrait le fond du
 * document. */
html{
  -webkit-tap-highlight-color:transparent;
  background:#f3f7f9;
  overscroll-behavior-y:none;
}
/* La teinte suit celle de la page quand elle en déclare une : chaque
   espace garde la sienne, sans qu'on ait à les énumérer ici. */
html{background:var(--bg,#f3f7f9)}
*,*::before,*::after{-webkit-tap-highlight-color:transparent}
/* V101.63: indicateurs de défilement (la petite barre qui apparaît puis
   disparaît au scroll, horizontal ou vertical) — masqués partout. Cette
   règle existait déjà dans yafoye-design-system.css, mais ce fichier
   n'est chargé que par Explorer et la fiche détail parmi les 6 pages
   client : Matchs, Activité, Moi et Accueil n'en bénéficiaient jamais.
   Placée ici, dans le fichier réellement commun aux 6 pages. */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important}
/* V101.62: compteurs rouges sur les icônes du menu (Matchs, Activité) —
   nombre qui découle directement du contenu réel (Firestore, en écoute
   live), masqué entièrement à zéro plutôt que d'afficher "0". */
.yf-nav-badge{position:absolute;top:2px;right:calc(50% - 20px);min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:#e03131;color:#fff;font:800 9px/15px Manrope,Arial,sans-serif;text-align:center;box-shadow:0 0 0 2px rgba(3,27,58,.98)}
.yf-nav-badge[hidden]{display:none!important}
.yf-unified-desktop-nav a{position:relative}
.yf-unified-desktop-nav .yf-nav-badge{position:static;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;box-shadow:none;vertical-align:middle}
/* Yafoye unified chrome R24 — one header/menu system for client and pro spaces. */
/* V101.44 — anti-flash : ces pages contiennent des dizaines de blocs
   <style> dispersés dans le document (accumulés au fil des versions),
   appliqués progressivement pendant le chargement. Résultat : de vieux
   éléments (bouton filtre flottant, ancien menu...) pouvaient apparaître
   brièvement mal positionnés avant que client-unified-chrome.js ait fini
   de poser le header/menu définitifs. On masque le corps de la page
   jusqu'à ce que ce script ait terminé (classe .yf-chrome-ready posée par
   lui), avec un filet de sécurité si jamais le script ne se déclenche pas.
   Cette règle vient de la feuille de style chargée dans <head> (donc
   bloquante pour le premier rendu) : elle s'applique dès la première
   peinture, contrairement aux blocs <style> plus loin dans le document. */
html:not(.yf-chrome-ready):not(.yf-chrome-timeout) body{visibility:hidden!important}
.yf-old-client-header{display:none!important}
.yf-unified-header{position:fixed;left:0;right:0;top:0;z-index:10000;min-height:64px;height:64px;padding:0 clamp(14px,3vw,34px);display:flex;align-items:center;justify-content:space-between;background:#061f3d;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(3,27,58,.14);color:#fff}
.yf-unified-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;min-width:max-content}
.yf-unified-brand img{width:38px;height:38px;display:block;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none}
.yf-unified-brand b{font-family:Sora,Manrope,Arial,sans-serif;font-size:17px;font-weight:800;letter-spacing:-.5px;color:#fff;text-transform:uppercase}
.yf-unified-desktop-nav{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:16px}
.yf-unified-desktop-nav a{padding:9px 11px;border-radius:11px;text-decoration:none;color:rgba(255,255,255,.74);font:800 10px/1 Manrope,Arial,sans-serif;transition:.18s ease}
.yf-unified-desktop-nav a:hover,.yf-unified-desktop-nav a.is-active{color:#fff;background:rgba(255,255,255,.09)}
.yf-unified-actions{display:flex;align-items:center;gap:8px}
.yf-space-switch{min-height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.09);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:850 10px/1 Manrope,Arial,sans-serif;white-space:nowrap;transition:.18s ease}
.yf-space-switch:hover{background:rgba(255,255,255,.15)}
.yf-unified-profile{min-width:42px;display:grid;place-items:center;gap:2px;color:#fff;text-decoration:none}
.yf-unified-profile-avatar{width:35px;height:35px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden;color:#8ce4e2;font:900 8px/1 Manrope,Arial,sans-serif}
.yf-unified-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.yf-unified-profile small{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 7px/1.1 Manrope,Arial,sans-serif;color:rgba(255,255,255,.82);text-align:center}

/* EXACT mobile mechanics from Command Center: active pseudo-element is a third grid row.
   Adding the dot naturally raises icon/text as a group. No top line, no transform. */
.yf-unified-bottom-nav{display:none}
@media(max-width:900px){
  .yf-unified-header{height:60px;min-height:60px;padding:0 12px}
  .yf-unified-brand img{width:34px;height:34px}.yf-unified-brand b{font-size:14px}
  .yf-unified-desktop-nav{display:none}
  .yf-space-switch{min-height:36px;padding:0 9px;font-size:8px;border-radius:11px}.yf-space-switch span{display:inline}
  .yf-unified-profile-avatar{width:34px;height:34px;border-radius:11px}.yf-unified-profile small{font-size:6px;max-width:58px}
  .yf-v100-mobile-nav{display:none!important}
  .yf-unified-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:12000;display:grid;grid-template-columns:repeat(4,1fr);min-height:69px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:rgba(3,27,58,1);border:0!important;border-top:0!important;outline:0!important;box-shadow:0 -10px 35px rgba(3,27,58,.16);backdrop-filter:blur(16px);border-radius:0!important}
  .yf-unified-bottom-nav::before,.yf-unified-bottom-nav::after{content:none!important;display:none!important}
  .yf-unified-bottom-nav a{position:relative;display:grid;place-items:center;align-content:center;gap:4px;color:rgba(255,255,255,.70);text-decoration:none;font:850 7px/1.1 Manrope,Arial,sans-serif;border:0!important;border-top:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0!important;transform:none!important}
  .yf-unified-bottom-nav a::before{content:none!important;display:none!important}
  .yf-unified-bottom-nav a i{font-size:16px;transform:none!important;transition:color .18s ease}
  .yf-unified-bottom-nav a span{transform:none!important}
  .yf-unified-bottom-nav a.is-active,.yf-unified-bottom-nav a.active{color:#fff}
  .yf-unified-bottom-nav a.is-active::after,.yf-unified-bottom-nav a.active::after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#08aabc;box-shadow:none;position:static!important;transform:none!important;margin:0!important}
  body{padding-bottom:calc(69px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){.yf-space-switch span{display:none}.yf-space-switch{width:36px;padding:0}.yf-unified-actions{gap:6px}}

/* R26 — canonical fixed client chrome. */
html:not(.yf-embedded-client-view) body{padding-top:64px!important}
.yf-space-switch{gap:0!important;padding-inline:13px!important;width:auto!important}
.yf-space-switch i{display:none!important}
@media(max-width:900px){
 html:not(.yf-embedded-client-view) body{padding-top:60px!important}
 .yf-space-switch{min-width:auto!important;width:auto!important;padding:0 10px!important;font-size:9px!important}
 .yf-space-switch span{display:inline!important}
}

/* R28 — canonical profile + simple space switch + Explorer header filter. */
.yf-unified-profile{min-width:58px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:2px 3px!important}
.yf-unified-profile-avatar{width:38px!important;height:38px!important;border-radius:50%!important;overflow:hidden!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important;display:grid!important;place-items:center!important;color:#fff!important;font:900 11px/1 Manrope,Arial,sans-serif!important}
.yf-unified-profile-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important}
.yf-unified-profile small{display:block!important;max-width:84px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:center!important;color:#fff!important;font:800 8px/1.05 Manrope,Arial,sans-serif!important}
.yf-space-switch{min-height:auto!important;height:auto!important;padding:6px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:rgba(255,255,255,.88)!important;font:850 10px/1 Manrope,Arial,sans-serif!important;text-decoration:none!important}
.yf-space-switch:hover{background:transparent!important;color:#fff!important;text-decoration:underline!important;text-underline-offset:4px!important}
.yf-space-switch span{display:inline!important}
.yf-header-filter{width:36px;height:36px;flex:0 0 36px;border:0;border-radius:11px;background:rgba(255,255,255,.09);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:14px;transition:background .18s ease,transform .18s ease}
.yf-header-filter:hover{background:rgba(255,255,255,.16)}
.yf-header-filter:active{transform:scale(.96)}
@media(max-width:900px){
  .yf-unified-profile{min-width:48px!important}
  .yf-unified-profile-avatar{width:35px!important;height:35px!important}
  .yf-unified-profile small{max-width:60px!important;font-size:9px!important}
  .yf-space-switch{padding:5px 1px!important;font-size:9px!important;width:auto!important}
  .yf-space-switch span{display:inline!important}
  .yf-header-filter{width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:13px}
  .yf-unified-actions{gap:8px!important}
}
@media(max-width:430px){
  .yf-space-switch{width:auto!important;padding:4px 0!important}
  .yf-space-switch span{display:inline!important}
  .yf-unified-actions{gap:7px!important}
}


/* R29 — polished space switch, one canonical header/menu everywhere. */
.yf-space-switch{
  min-height:38px!important;height:38px!important;padding:0 13px!important;
  border:1px solid rgba(255,255,255,.18)!important;border-radius:12px!important;
  background:rgba(255,255,255,.09)!important;box-shadow:0 7px 20px rgba(0,0,0,.08)!important;
  color:#fff!important;text-decoration:none!important;font:850 10px/1 Manrope,Arial,sans-serif!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
.yf-space-switch:hover{background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.25)!important;text-decoration:none!important}
.yf-space-switch:active{transform:scale(.97)!important}
.yf-header-filter[hidden]{display:none!important}
@media(max-width:900px){.yf-space-switch{height:36px!important;min-height:36px!important;padding:0 10px!important;font-size:9.5px!important;border-radius:11px!important}}


/* R33 — exact Command Center mobile navigation mechanics. */
@media(max-width:900px){
  .yf-unified-bottom-nav{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:12000!important;
    display:grid!important;grid-template-columns:repeat(4,1fr)!important;min-height:69px!important;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important;
    background:rgba(3,27,58,1)!important;border:0!important;border-radius:0!important;outline:0!important;
    box-shadow:0 -10px 35px rgba(3,27,58,.16)!important;backdrop-filter:blur(16px)!important;
  }  .yf-unified-bottom-nav a{display:grid!important;place-items:center!important;align-content:center!important;gap:4px!important;color:rgba(255,255,255,.70)!important;text-decoration:none!important;font-size:9.5px!important;font-weight:850!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
  .yf-unified-bottom-nav a i{font-size:16px!important;color:inherit!important;transform:none!important}
  .yf-unified-bottom-nav a span{transform:none!important}
  .yf-unified-bottom-nav a::before{content:none!important;display:none!important}
  .yf-unified-bottom-nav a::after{content:""!important;width:5px!important;height:5px!important;border-radius:50%!important;background:transparent!important;display:block!important;position:static!important;margin:0!important;transform:none!important;box-shadow:none!important}
  .yf-unified-bottom-nav a.active,.yf-unified-bottom-nav a.is-active,.yf-unified-bottom-nav a[aria-current="page"]{color:#fff!important}
  .yf-unified-bottom-nav a.active::after,.yf-unified-bottom-nav a.is-active::after,.yf-unified-bottom-nav a[aria-current="page"]::after{background:#08aabc!important}
}

/* ==========================================================================
   V101.112 — Repère "nouveau" sur les cartes de l'espace client
   Même principe que .cc-new-dot du centre de commandement (côté pro) :
   un point rouge sur chaque élément pas encore consulté dans son onglet.
   Il disparaît au rendu suivant une fois l'onglet ouvert, ou tout de
   suite au clic sur l'élément concerné (distinction "vu" / "lu").
   Placé en débord du coin supérieur droit : les cartes client portent
   déjà des pastilles (statut, score) à cet endroit, donc aucun risque de
   superposition. Ceinture blanche pour rester lisible sur toute carte.
   ========================================================================== */
.yf-new-card{position:relative}
.yf-new-dot{position:absolute;top:-4px;right:-4px;width:11px;height:11px;border-radius:50%;background:#e03131;box-shadow:0 0 0 3px #fff,0 0 0 6px rgba(224,49,49,.18);pointer-events:none;z-index:4}

/* ==========================================================================
   V101.129 — Navigation continue entre les pages du menu client.

   L'objectif est celui d'une application : on change d'onglet, le
   contenu glisse, mais l'en-tête et la barre du bas ne bougent PAS.

   Le choix technique mérite d'être écrit, parce qu'il a déjà été tranché
   une fois dans l'autre sens : un vrai routeur SPA obligerait à charger
   les cinq pages dans un même document. Or chacune porte 60 à 150 Ko de
   script avec son propre état global, ses écouteurs et ses minuteurs —
   les faire cohabiter, c'est exactement ce qui a fait échouer le shell
   en iframe de la V101.40 (voir l'en-tête de js/client-spa-shell.js).

   Les transitions de vue entre documents donnent le même ressenti sans
   ce risque : chaque page reste un document indépendant, le navigateur
   se charge de l'animation. Là où ce n'est pas supporté, la navigation
   reste classique — rien ne casse.
   ========================================================================== */
@view-transition{navigation:auto}

/* Les éléments qui portent le même nom d'un document à l'autre sont
   reconnus comme un seul et même élément : ils ne clignotent pas, ils
   restent en place pendant que le contenu change. */
.yf-unified-header{view-transition-name:yf-header}
.yf-unified-bottom-nav,.yf-v100-mobile-nav{view-transition-name:yf-bottom-nav}

/* Le contenu, lui, glisse — 180 ms, assez pour être perçu comme une
   continuité, assez court pour ne jamais donner l'impression d'attendre. */
::view-transition-old(root){animation:yf-page-out .16s ease-in both}
::view-transition-new(root){animation:yf-page-in .18s ease-out both}
@keyframes yf-page-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes yf-page-in{from{opacity:0;transform:translateY(8px)}}

/* L'en-tête et la barre du bas ne s'animent pas : c'est précisément ce
   qui fait croire qu'ils n'ont jamais été rechargés. */
::view-transition-group(yf-header),
::view-transition-group(yf-bottom-nav){animation-duration:0s}
::view-transition-old(yf-header),::view-transition-new(yf-header),
::view-transition-old(yf-bottom-nav),::view-transition-new(yf-bottom-nav){animation:none;mix-blend-mode:normal}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* V101.176 — bouton retour des pages secondaires.
   Discret et à gauche, avant la marque : c'est là que l'œil le cherche,
   et c'est la position qu'occupe le retour dans toutes les applications
   mobiles. */
.yf-unified-back{
  width:36px;height:36px;flex:none;display:grid;place-items:center;
  margin-right:-2px;border:0;border-radius:11px;
  background:rgba(255,255,255,.10);color:#fff;font-size:14px;cursor:pointer;
  transition:background .16s;
}
.yf-unified-back:hover{background:rgba(255,255,255,.18)}
.yf-unified-back:active{transform:scale(.94)}
@media (prefers-reduced-motion: reduce){.yf-unified-back{transition:none}.yf-unified-back:active{transform:none}}

/* =====================================================================
   V101.222 — le nom de l'espace, pas seulement sa couleur.

   Le liseré de la V101.221 ne convainquait pas, et c'était juste : une
   bande de couleur se remarque une fois, puis se fond dans le décor.
   Elle demande d'avoir appris ce qu'elle signifie.

   Un mot se lit sans apprentissage. « YAFOYE PRO » à côté du logo, en
   ambre, dit où l'on est du premier coup d'œil — c'est ce que font les
   produits qui gèrent deux publics avec un seul compte : « Google
   Ads » plutôt qu'un Google teinté autrement.

   Le liseré reste, en appui. Il ne porte plus l'information à lui
   seul.
   ===================================================================== */
.yf-space-tag{
  display:inline-flex;align-items:center;
  margin-left:7px;padding:3px 7px;border-radius:6px;
  /* V101.224: la pastille reprend le cyan de la marque. L'ambre était
     la dernière trace du thème or, et elle jurait sur le marine. */
  background:#00d4ff;color:#031b3a;
  font:900 10px/1 Manrope,system-ui,sans-serif;letter-spacing:1.2px;
}
/* La marque perd son arrondi côté pro : la silhouette elle-même change,
   ce qui se perçoit avant même la lecture. */
/* V101.224: le signe garde sa forme. Modifier l'arrondi de la marque
   selon l'espace revenait à avoir deux logos — le mot « PRO » suffit. */

@media(max-width:420px){
  /* Sur écran étroit, le mot prime sur le logo. */
  .yf-space-tag{margin-left:5px;padding:3px 6px;font-size:9.5px}
}

/* =====================================================================
   V101.224 — les liserés de couleur sont retirés.

   Ils devaient signaler l'espace actif sans prendre de place. Ils ne
   l'ont pas fait : une bande fine se remarque une fois, puis se fond
   dans le décor — et il faut avoir appris ce qu'elle veut dire.

   Le mot « PRO » à côté du logo porte l'information seul. Un mot se
   lit sans apprentissage ; c'est ce qu'on garde.
   ===================================================================== */

/* =====================================================================
   V101.240 — la navigation reste DANS l'en-tête.

   Côté professionnel, les libellés sont plus longs — « Réservations »,
   « Mes biens » — et l'ensemble finissait par déborder de la barre, au
   point de s'afficher en dessous. Trois mesures, dans l'ordre où le
   navigateur les applique :

     — la barre ne passe jamais à la ligne ;
     — la marque peut rétrécir plutôt que de tout pousser ;
     — les entrées se resserrent avant de déborder.

   Retirer « Moi » de cette rangée (l'avatar est juste à côté) a libéré
   la place qui manquait.
   ===================================================================== */
.yf-unified-header{flex-wrap:nowrap}
.yf-unified-brand{min-width:0;flex:0 1 auto}
.yf-unified-brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yf-unified-desktop-nav{min-width:0;flex:0 1 auto;flex-wrap:nowrap;overflow:hidden}
.yf-unified-desktop-nav a{white-space:nowrap;flex:0 0 auto}

@media(min-width:901px) and (max-width:1180px){
  /* Largeurs intermédiaires : on resserre plutôt que de faire
     disparaître des entrées. */
  .yf-unified-desktop-nav{gap:2px;margin-right:8px}
  .yf-unified-desktop-nav a{padding:9px 8px;font-size:9.5px}
}

/* =====================================================================
   V101.318 — la navigation ressemble enfin à une application.

   L'en-tête et la barre du bas persistaient déjà d'une page à l'autre.
   Ce qui manquait, c'est le mouvement du CONTENU : sans lui, le corps
   de page est remplacé d'un coup — un clignotement blanc qui trahit le
   rechargement et casse l'illusion.

   Le contenu glisse maintenant de quelques pixels en apparaissant.
   C'est peu, et c'est précisément ce qui distingue « une page qui se
   charge » de « une vue qui s'ouvre ».

   Pourquoi pas une vraie SPA : réécrire sept pages et 8 400 lignes
   ferait revenir les défauts qu'on a passé la semaine à corriger. Ces
   quelques règles donnent la même sensation, sans toucher au code.
   ===================================================================== */

/* La sortie s'efface vite, l'entrée prend son temps : on regarde ce qui
   arrive, pas ce qui part. */
::view-transition-old(root){
  animation:yf-sortie .16s cubic-bezier(.4,0,1,1) both;
}
::view-transition-new(root){
  animation:yf-entree .26s cubic-bezier(0,0,.2,1) both;
}

@keyframes yf-sortie{
  to{opacity:0;transform:translateY(-6px)}
}
@keyframes yf-entree{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

/* Le fond reste marine pendant la transition : sans cela, le blanc du
   navigateur apparaît une fraction de seconde entre les deux vues —
   exactement le clignotement qu'on cherche à supprimer. */
html{background:#f3f7f9}

/* Certains n'aiment pas le mouvement, et le système le signale. On
   garde le fondu, on retire le déplacement. */
@media (prefers-reduced-motion: reduce){
  ::view-transition-old(root){animation:yf-sortie-simple .12s both}
  ::view-transition-new(root){animation:yf-entree-simple .12s both}
  @keyframes yf-sortie-simple{to{opacity:0}}
  @keyframes yf-entree-simple{from{opacity:0}to{opacity:1}}
}

/* =====================================================================
   V101.358 — ces règles sont retirées.

   La V101.351 masquait le chrome client dès que l'espace actif était
   « pro », parce que les deux espaces devaient alors cohabiter dans un
   même document. Depuis la V101.357, ils ne cohabitent plus : le
   centre professionnel s'ouvre comme une page entière, avec son propre
   en-tête.

   Ce qui restait de ces règles ne masquait donc plus rien d'utile — et
   masquait quelque chose de nécessaire. « Mon compte » appartient aux
   DEUX espaces : un professionnel qui l'ouvre garde l'espace pro actif,
   et il utilise le chrome unifié, en variante pro. La règle l'effaçait
   entièrement : ni en-tête, ni barre du bas, aucun moyen de revenir.

   Une règle écrite pour un cas de figure qui n'existe plus finit
   toujours par frapper un cas qu'on n'avait pas prévu.
   ===================================================================== */

/* =====================================================================
   V101.377 — les animations de glissement latéral sont retirées.

   Elles accompagnaient le balayage entre onglets, supprimé faute de
   pouvoir le distinguer d'un défilement de sous-onglets. Sans le geste,
   ces règles ne se déclenchaient plus jamais : un style qui ne peut
   plus s'appliquer finit par être lu comme s'il s'appliquait encore.

   Le fondu vertical habituel reste en place pour toutes les bascules.
   ===================================================================== */

/* =====================================================================
   V101.383 — « Publier un bien » dans l'en-tête.

   Masqué par défaut : sur mobile, la barre du bas porte déjà la
   navigation, et l'en-tête n'a pas la place. Il apparaît à partir de
   1024 px, entre la marque et le menu — donc au centre de la barre.
   ===================================================================== */
.yf-header-publish{display:none}

@media (min-width:1024px){
  .yf-header-publish{
    display:inline-flex;align-items:center;gap:8px;
    margin:0 auto;                     /* c'est lui qui centre : les
                                          marges automatiques poussent
                                          la marque à gauche et le menu
                                          à droite */
    padding:11px 20px;border-radius:13px;
    background:linear-gradient(135deg,#00c3ff,#0099e6);
    color:#04203d;text-decoration:none;
    font:800 14px/1 Manrope,Arial,sans-serif;letter-spacing:-.1px;
    box-shadow:0 8px 22px rgba(0,153,230,.32);
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
    white-space:nowrap;
  }
  .yf-header-publish i{font-size:12px}
  .yf-header-publish:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(0,153,230,.42);
    filter:brightness(1.06);
  }
  .yf-header-publish:active{transform:translateY(0)}

  /* Le menu se centrait par `margin-left:auto`. Ce rôle revient au
     bouton : sans cette remise à zéro, les deux se disputeraient
     l'espace disponible et le bouton serait repoussé contre la
     marque. */
  .yf-unified-desktop-nav{margin-left:0!important}
}

/* =====================================================================
   V101.383 — la taille du menu sur grand écran.

   Il était en 10 px, et descendait à 9,5 px sur certaines largeurs.
   C'est une taille de mention légale, pas de navigation principale : à
   soixante centimètres d'un écran, on ne lit plus, on devine.

   La V101.382 avait relevé le questionnaire et les boutons de la page,
   mais pas l'en-tête — qui est pourtant la première chose qu'on voit,
   et la seule présente sur tous les écrans.
   ===================================================================== */
@media (min-width:1024px){
  .yf-unified-desktop-nav a{
    padding:11px 15px!important;
    font-size:14px!important;
    border-radius:12px!important;
  }
  .yf-unified-desktop-nav{gap:6px}

  /* La bascule d'espace et le nom du profil suivent la même échelle :
     trois tailles différentes dans une barre de 64 px se remarquent
     plus que leur contenu. */
  .yf-space-switch{padding:10px 16px!important;font-size:13.5px!important}
  .yf-unified-profile small{font-size:12.5px!important}
  .yf-unified-brand b{font-size:19px!important}

  /* Un peu plus de hauteur : à cette taille de texte, 64 px serrent le
     contenu contre les bords.

     Le corps de page réserve exactement la hauteur de l'en-tête, qui
     est fixe : changer l'une sans l'autre ferait passer le contenu
     dessous — le titre d'accueil disparaîtrait derrière la barre. Les
     deux valeurs vont toujours ensemble. */
  .yf-unified-header{min-height:72px;height:72px}
  body{padding-top:72px!important}
}

@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .yf-header-publish{transition:none}
  .yf-header-publish:hover{transform:none}
}

/* =====================================================================
   V101.458 — le rappel d'espace.

   Un professionnel qui ouvre une page client depuis un lien doit savoir
   où il est, sans être bloqué. Discret : c'est une information, pas une
   alerte — il a le droit d'être là.
   ===================================================================== */
.yf-rappel-espace{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0;padding:9px 16px;
  background:rgba(0,153,230,.10);
  border-bottom:1px solid rgba(0,153,230,.18);
  font-size:12.5px;font-weight:700;
  color:#0b2c4d;
}
.yf-rappel-espace i{color:#0099e6}
.yf-rappel-espace button{
  margin-left:auto;
  border:1px solid rgba(0,153,230,.35);
  background:#fff;color:#0b2c4d;
  padding:6px 12px;border-radius:10px;
  font:800 11.5px/1 Manrope,sans-serif;
  cursor:pointer;
}
.yf-rappel-espace button:hover{background:rgba(0,153,230,.08)}

/* =====================================================================
   V101.473 — l'entrée du compte dit ce qu'on y fait.

   Déconnecté, elle affichait « Y » et « Moi » : un visiteur ne pouvait
   pas deviner qu'un clic ouvrait la connexion. Le « Y » ressemble à un
   logo, et « Moi » suppose un compte qu'il n'a pas encore.

   Connecté, le prénom seul ne disait pas non plus ce qu'on y trouve.
   Deux lignes règlent les deux cas.
   ===================================================================== */
#yfUnifiedProfileName b{
  display:block;
  font-size:11px;font-weight:800;line-height:1.1;
  color:#fff;
}
#yfUnifiedProfileName em{
  display:block;
  font-size:8.5px;font-style:normal;font-weight:700;
  letter-spacing:.02em;line-height:1.2;
  color:rgba(255,255,255,.62);
}

/* Déconnecté : la silhouette et l'invitation. Le fond s'allège pour
   distinguer une porte d'entrée d'un compte existant. */
.yf-unified-profile.est-deconnecte .yf-unified-profile-avatar{
  background:rgba(140,228,255,.14);
  border-color:rgba(140,228,255,.30);
}
.yf-unified-profile.est-deconnecte #yfUnifiedProfileInitials i{
  font-size:19px;color:#8ce4ff;
}
.yf-unified-profile.est-deconnecte #yfUnifiedProfileName{
  font-size:9.5px;font-weight:800;color:rgba(255,255,255,.86);
}
