/* Présentation reprise des visites des graphiques de Gestion des EF. */
.ftva-tour-launch {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 44px; padding: 8px 12px; border: 0; border-radius: 10px;
  background: #ededed; color: #333; font: 600 13px/1.3 Arial, sans-serif;
  cursor: pointer; text-transform: none; letter-spacing: normal;
}
.ftva-tour-launch:hover { background: #dedede; }
.cours-block__heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.cours-block__heading > strong, .ftva-slot-tour { flex-shrink: 0; }
@media (max-width: 600px) {
  .ftva-slot-tour { min-width: 44px; padding: 8px; }
  .ftva-slot-tour span { display: none; }
}
.ftva-tour-entry {
  position: relative; top: -64px; z-index: 21;
  text-align: center; margin: 12px auto;
}
.ftva-tour-entry .ftva-hero-tools {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  position: relative; left: clamp(16px, 4vw, 56px);
}
/* #FTVA — Hélice : rechargement forcé (navigateur + Web App) */
.ftva-hard-reload {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; width: auto; height: auto; min-width: 56px;
  padding: 0; border: 0; background: transparent; color: #4a4a4a;
  cursor: pointer; -webkit-appearance: none; appearance: none;
  -webkit-tap-highlight-color: transparent;
  position: relative; top: 28px; left: -34px;
}
.ftva-hard-reload:hover { background: transparent; color: #222; }
.ftva-hard-reload:focus-visible { outline: 2px solid #2979ff; outline-offset: 3px; border-radius: 8px; }
.ftva-hard-reload__fan {
  width: 44px; height: 44px; display: block;
  transform-origin: 50% 50%;
}
.ftva-hard-reload__caption {
  font: 400 10px/1.15 Arial, sans-serif;
  color: #aaa; letter-spacing: 0.01em; white-space: nowrap;
}
.ftva-hard-reload.is-spinning .ftva-hard-reload__fan {
  animation: ftvaFanSpin .32s linear infinite;
}
@keyframes ftvaFanSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .ftva-hard-reload.is-spinning .ftva-hard-reload__fan { animation-duration: .8s; }
}
.ftva-hard-reload-toast {
  position: fixed;
  left: 50%;
  top: clamp(72px, 12vh, 140px);
  z-index: 23200;
  max-width: min(92vw, 28rem);
  padding: 10px 16px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.82);
  color: #fff;
  font: 400 13px/1.4 Arial, sans-serif;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  opacity: 0;
  transform: translate(-50%, -8px);
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.ftva-hard-reload-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}
/* Mac / grand écran : sur la zone header, nettement plus haut et à droite */
@media (min-width: 901px) {
  .ftva-tour-entry {
    top: -16rem;
    text-align: right;
    margin: 12px 39rem 12px auto;
  }
  .ftva-tour-entry .ftva-hero-tools { left: 0; }
}
/* #FTVA iPad portrait (9.7" / 10.2" et voisins) : visité guidée dégagée du volet droit */
@media (min-width: 601px) and (max-width: 1024px) and (orientation: portrait) {
  .ftva-tour-entry {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    box-sizing: border-box;
    top: calc(-20.5rem - 1cm);
    text-align: right;
    margin: 8px 0;
    padding-right: 3.5cm;
  }
  .ftva-tour-entry .ftva-hero-tools { left: 0; }
}
/* iPhone : pastille icône seule, nettement à droite */
@media (max-width: 600px) {
  .ftva-tour-entry {
    display: flex; justify-content: flex-end;
    margin: 8px 10px 8px auto; top: -52px;
  }
  .ftva-tour-entry .ftva-hero-tools { left: 0; }
  .ftva-tour-entry .ftva-tour-launch {
    left: 0; gap: 0; min-height: 40px; width: 40px;
    padding: 6px; border-radius: 10px;
  }
  .ftva-hard-reload {
    min-width: 0;
  }
  .ftva-hard-reload__fan { width: 38px; height: 38px; }
  .ftva-hard-reload__caption { font-size: 9px; color: #b0b0b0; }
  .ftva-tour-entry .ftva-tour-launch span { display: none; }
  .ftva-tour-entry .ftva-tour-launch svg { width: 26px; height: 26px; }
}
.ftva-page-tour {
  position: fixed; inset: 0; width: 100%; height: 100%; max-width: none;
  max-height: none; margin: 0; padding: 0; border: 0; outline: none;
  background: transparent; overflow: hidden; color: #222;
}
.ftva-page-tour::backdrop { background: transparent; }
/* Le voile de la visite suffit : éviter le second assombrissement du volet gauche. */
body.ftva-tour-volets-open #id-volets-overlay { opacity: 0; pointer-events: none; }
.ftva-page-tour__spotlight {
  position: absolute; pointer-events: none; box-sizing: border-box;
  border: 4px solid #fff; border-radius: 10px;
  /* Cadre superposé : aucun changement de taille ou de style sur la cible. */
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .55),
    0 0 0 1px rgba(0, 0, 0, .65), 0 0 0 9999px rgba(0, 0, 0, .52);
}
.ftva-page-tour__bubble {
  position: absolute; width: min(340px, calc(100% - 24px)); box-sizing: border-box;
  padding: 16px; border: 0; border-radius: 18px; background: white;
  box-shadow: 0 8px 30px #0005; font: 14px/1.5 Arial, sans-serif;
  max-height: calc(100% - 24px); overflow: auto; overscroll-behavior: contain;
}
.ftva-page-tour__bubble p { margin: 8px 0 14px; color: #222; font: inherit; }
.ftva-page-tour__actions { display: flex; gap: 6px; flex-wrap: wrap; }
.ftva-page-tour__actions button {
  min-height: 44px; padding: 6px 9px; border: 0; border-radius: 8px;
  background: #ededed; color: #333; font: 600 12px/1.3 Arial, sans-serif;
  cursor: pointer; text-transform: none; letter-spacing: normal;
}
.ftva-page-tour__actions button[data-next] { background: #222; color: white; }
.ftva-page-tour__actions button:disabled { opacity: .4; cursor: default; }
.ftva-tour-launch:focus-visible, .ftva-page-tour__actions button:focus-visible {
  outline: 2px solid #2979ff; outline-offset: 3px;
}
@media (max-width: 600px), (orientation: landscape) and (max-height: 520px) {
  .top-actions .ftva-tour-launch { min-width: 44px; padding: 8px; }
  .top-actions .ftva-tour-launch span { display: none; }
}
