/* Avatar de session public Moveo : SURIMPRESSION, sans impact sur
   la géométrie de l'en-tête validé (accueil et carte). */
header .header-inner { position: relative; }
header .moveo-compte-avatar {
  position: absolute;
  z-index: 21000;
  top: 50%;
  right: -46px;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
}
header .moveo-compte-avatar[hidden],
header .moveo-compte-menu[hidden] { display: none !important; }
header .moveo-compte-bouton {
  display: flex;
  width: 36px;
  height: 36px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.70);
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  color: #fff;
  font: 700 12px/1 Arial,Helvetica,sans-serif;
  letter-spacing: .025em;
  box-shadow: none;
  cursor: pointer;
  touch-action: manipulation;
}
header .moveo-compte-bouton:hover,
header .moveo-compte-bouton[aria-expanded="true"] {
  background: rgba(255,255,255,.28);
}
header .moveo-compte-bouton:focus-visible {
  outline: 3px solid #13B7DE;
  outline-offset: 3px;
}
header .moveo-compte-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  width: max-content;
  min-width: 164px;
  max-width: calc(100vw - 24px);
  padding: 6px;
  border: 1px solid #eadde8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(32,17,37,.18);
}
header .moveo-compte-menu button {
  display: block;
  width: 100%;
  padding: 11px 13px;
  margin: 0;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  background: transparent;
  color: #75205f;
  font: 700 13px/1.3 Arial,Helvetica,sans-serif;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
}
header .moveo-compte-menu button:hover,
header .moveo-compte-menu button:focus-visible {
  background: #f7eaf3;
}
header .moveo-compte-menu button:disabled { opacity: .6; cursor: progress; }
/* Version ordinateur : une barre cohérente sur une seule ligne.
   Le logo, le titre, le sous-titre et la hauteur du bandeau restent inchangés.
   Les media queries mobiles (< 1024px) conservent leur composition validée. */
@media (min-width: 1024px) {
  header .header-inner > .moveo-header-actions {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
  }
  header .moveo-espace-header {
    height: 37px;
    padding: 0 16px;
    white-space: nowrap;
  }
  header .moveo-header-icons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
  }
  header .moveo-header-icons[hidden] { display: none !important; }
  header .moveo-header-icon {
    width: 37px;
    height: 37px;
    border-radius: 11px;
  }
}

/* Sur écran de largeur réduite mais encore en header à une ligne,
   réserver uniquement l'emplacement du cercle, jamais sa hauteur. */
@media (max-width: 1280px) and (min-width: 561px) {
  header .moveo-compte-avatar { right: 0; }
  header .header-inner > .moveo-header-actions { margin-right: 47px; }
}
/* Le header mobile validé comprend DEUX lignes : avatar au coin haut droit
   de la première ligne, outils totalement inchangés sur la deuxième. */
@media (max-width: 560px) {
  header .moveo-compte-avatar {
    top: 1px;
    right: 0;
    transform: none;
    width: 34px;
    height: 34px;
  }
  header .moveo-compte-bouton { width: 34px; height: 34px; font-size: 11px; }
  header .header-inner > .moveo-header-actions { margin-right: 0; }

  /* Menu uniquement : adaptation fidèle au popover mobile validé.
     Ne changer ni le bouton-avatar ni le header, ni les outils existants. */
  header .moveo-compte-menu {
    top: calc(100% + 11px);
    right: 0;
    width: max-content;
    min-width: 0;
    max-width: calc(100vw - 22px);
    padding: 4px;
    border: 1px solid #ead5e5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(54, 24, 50, .17);
  }
  header .moveo-compte-menu::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 11px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    background: #fff;
    border-top: 1px solid #ead5e5;
    border-left: 1px solid #ead5e5;
  }
  header .moveo-compte-menu button {
    display: inline-flex;
    width: auto;
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 9px;
    background: transparent;
    color: #922477;
    font: 700 13px/1.25 Arial, Helvetica, sans-serif;
    white-space: nowrap;
  }
  header .moveo-compte-menu button::before {
    content: "";
    flex: none;
    display: inline-block;
    width: 19px;
    height: 19px;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23922477' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h3'/%3E%3Cpath d='M12 12h9m-4-4 4 4-4 4'/%3E%3C/svg%3E");
  }
}

/* Sur PC, le popover adopte exactement les finitions du menu mobile validé.
   Portée exclusive au menu, sans modification du header ni de l'avatar. */
@media (min-width: 561px) {
/* Menu uniquement : adaptation fidèle au popover mobile validé.
   Ne changer ni le bouton-avatar ni le header, ni les outils existants. */
header .moveo-compte-menu {
  top: calc(100% + 11px);
  right: 0;
  width: max-content;
  min-width: 0;
  max-width: calc(100vw - 22px);
  padding: 4px;
  border: 1px solid #ead5e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(54, 24, 50, .17);
}
header .moveo-compte-menu::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 11px;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  background: #fff;
  border-top: 1px solid #ead5e5;
  border-left: 1px solid #ead5e5;
}
header .moveo-compte-menu button {
  display: inline-flex;
  width: auto;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 9px;
  background: transparent;
  color: #922477;
  font: 700 13px/1.25 Arial, Helvetica, sans-serif;
  white-space: nowrap;
}
header .moveo-compte-menu button::before {
  content: "";
  flex: none;
  display: inline-block;
  width: 19px;
  height: 19px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23922477' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h3'/%3E%3Cpath d='M12 12h9m-4-4 4 4-4 4'/%3E%3C/svg%3E");
}
}

/* Deux actions en colonne ; seul le lien autorisé est affiché. */
header .moveo-compte-menu{display:flex;flex-direction:column;align-items:stretch}header .moveo-compte-menu [hidden]{display:none!important}header .moveo-compte-menu a[role=menuitem]{display:flex;align-items:center;gap:9px;box-sizing:border-box;min-height:44px;padding:10px 12px;margin:0;border:0;border-radius:9px;background:transparent;color:#922477;font:700 13px/1.25 Arial,Helvetica,sans-serif;white-space:nowrap;text-decoration:none}header .moveo-compte-menu a[role=menuitem]:hover,header .moveo-compte-menu a[role=menuitem]:focus-visible{background:#f7eaf3}header .moveo-compte-menu a[role=menuitem]:focus-visible{outline:2px solid #54ac9a;outline-offset:-2px}header .moveo-compte-menu a svg{flex:none;width:19px;height:19px}header .moveo-compte-menu button{width:100%;box-sizing:border-box}
