/* Visite guidée (public/v2/js/tour.js) : carte fixe en bas, élément expliqué entouré ; la page reste utilisable. */
.v2-tour { position: fixed; z-index: 45; right: var(--space-4); bottom: var(--space-4); width: min(24rem, calc(100vw - 2 * var(--space-4))); padding: var(--space-4) var(--space-5); border-radius: var(--radius-lg); background: var(--color-inverse-surface); color: var(--color-inverse-text); box-shadow: var(--shadow-md); font-size: var(--font-size-sm); line-height: 1.5; }
.v2-tour__count { margin: 0; font-size: var(--font-size-xs); color: var(--color-inverse-link); text-transform: uppercase; letter-spacing: 0.04em; }
.v2-tour__title { margin: var(--space-1) 0 var(--space-2); font-size: var(--font-size-lg); color: var(--color-inverse-text); }
.v2-tour__text { margin: 0; color: var(--color-inverse-text-muted); }
.v2-tour__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-4); }
.v2-tour__nav { display: flex; gap: var(--space-2); margin-left: auto; }
.v2-tour button { min-height: 44px; padding: 0 var(--space-4); border: 0; border-radius: var(--radius-pill); font: inherit; font-weight: var(--font-weight-bold); cursor: pointer; }
.v2-tour__next { background: var(--color-brand); color: var(--color-on-brand); }
.v2-tour__prev { background: var(--color-inverse-surface-2); color: var(--color-inverse-text); }
.v2-tour__skip { padding: 0; background: transparent; color: var(--color-inverse-text-muted); text-decoration: underline; text-underline-offset: 2px; font-weight: normal; }
.v2-tour :focus-visible { outline: 2px solid var(--color-inverse-focus); outline-offset: 2px; }
.v2-tour-target { outline: 3px solid var(--color-brand); outline-offset: 4px; border-radius: var(--radius-md); }
/* La bulle de discussion ne recouvre pas la carte. */
html[data-v2-tour="on"] #chat-widget-toggle { display: none; }
/* Mobile : carte pleine largeur, au-dessus de la barre de navigation du bas et de la zone sûre. */
@media (max-width: 48rem) {
  .v2-tour { left: var(--space-2); right: var(--space-2); width: auto; bottom: calc(var(--space-2) + env(safe-area-inset-bottom, 0px)); font-size: var(--font-size-base); }
  body:has(.v2-bottom-nav) .v2-tour { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}
@media print { .v2-tour { display: none; } }
