/* Gardien (nouveau) — widget écrit+voix + visite guidée */
#gardien-v2{position:fixed;left:16px;bottom:88px;z-index:9991;font-family:system-ui,-apple-system,sans-serif}
#gardien-v2 .gv2-open{width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;font-size:24px;
  background:#1B3A57;color:#F2A65A;box-shadow:0 4px 14px rgba(0,0,0,.28)}
#gardien-v2 .gv2-panel{position:absolute;left:0;bottom:64px;width:min(360px,90vw);background:#fff;border:1px solid #d9d2c7;
  border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.24);overflow:hidden}
#gardien-v2 .gv2-head{display:flex;align-items:center;gap:8px;background:#1B3A57;color:#fff;padding:10px 12px;font-weight:700}
#gardien-v2 .gv2-head small{font-weight:400;opacity:.85}
#gardien-v2 .gv2-head .gv2-close{margin-left:auto;background:transparent;border:none;color:#fff;font-size:16px;cursor:pointer}
#gardien-v2 .gv2-apercu{background:#fff7ed;color:#b45309;font-size:.78rem;padding:4px 12px;border-bottom:1px solid #fde7c8}
#gardien-v2 .gv2-out{max-height:48vh;overflow:auto;padding:10px 12px;font-size:.93rem;color:#1F2A37;min-height:40px}
#gardien-v2 .gv2-msg{padding:6px 10px;border-radius:12px;margin:5px 0;max-width:92%;line-height:1.35;white-space:pre-wrap}
#gardien-v2 .gv2-user{background:#e8eef4;margin-left:auto;text-align:right}
#gardien-v2 .gv2-bot{background:#f6f2ea}
#gardien-v2 .gv2-form{display:flex;gap:6px;padding:10px;border-top:1px solid #eee;align-items:center}
#gardien-v2 .gv2-input{flex:1;min-width:0;padding:9px 11px;border:1px solid #d9d2c7;border-radius:10px;font-size:.95rem}
#gardien-v2 .gv2-mic{border:none;background:#eef2f6;color:#1B3A57;border-radius:10px;padding:0 12px;height:40px;cursor:pointer;font-size:18px}
#gardien-v2 .gv2-mic.rec{background:#dc2626;color:#fff;animation:gv2pulse 1s infinite}
@keyframes gv2pulse{0%,100%{opacity:1}50%{opacity:.55}}
#gardien-v2 .gv2-send{border:none;background:#E07A2C;color:#fff;border-radius:10px;padding:0 14px;height:40px;cursor:pointer;font-size:16px}
#gardien-v2 .gv2-btn{margin:6px 6px 0 0;border:1px solid #cbb89b;background:#fff;color:#1B3A57;border-radius:9px;padding:6px 12px;cursor:pointer;font-size:.86rem}
#gardien-v2 .gv2-btn.gv2-primary{background:#1B3A57;color:#fff;border-color:#1B3A57}
#gardien-v2 .gv2-btn.gv2-mini{padding:3px 8px;font-size:.78rem;margin:0 4px}
#gardien-v2 .gv2-lecture{display:inline-block;margin-top:6px}
#gardien-v2 .gv2-reconnu{width:100%;margin:6px 0;padding:7px 9px;border:1px solid #cbb89b;border-radius:8px}
#gardien-v2 .gv2-results{margin:6px 0 0;padding-left:18px}
#gardien-v2 .gv2-results li{margin:3px 0}

/* Visite guidée — effet « projecteur » : le halo découpe une fenêtre lumineuse dans l'assombrissement.
   L'overlay n'assombrit PAS quand une cible est éclairée (c'est le box-shadow du halo qui fait le voile,
   avec un trou transparent sur la cible) ; il n'assombrit, en voile léger, que pour les étapes sans cible. */
.gtour-overlay{position:fixed;inset:0;background:transparent;z-index:10000;display:none;transition:background .2s ease}
.gtour-overlay.gtour-dim{background:rgba(15,25,40,.42)} /* repli « pas de cible » : voile léger, page reconnaissable */
.gtour-halo{position:fixed;z-index:10001;border-radius:12px;background:transparent;pointer-events:none;display:none;
  box-shadow:0 0 0 3px #F2A65A,0 0 0 6px rgba(242,166,90,.35),0 0 26px 4px rgba(242,166,90,.55),0 0 0 9999px rgba(15,25,40,.5);
  transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}
.gtour-bulle{position:fixed;z-index:10002;width:min(340px,92vw);max-height:80vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.45);padding:14px 16px;display:none;font-family:system-ui,-apple-system,sans-serif}
.gtour-titre{font-weight:700;color:#1B3A57;margin-bottom:5px}
.gtour-desc{color:#333;font-size:.92rem;line-height:1.4;margin-bottom:10px;white-space:pre-line}  /* (02/09/2026) pre-line : un texte ecrit en PARAGRAPHES (lignes vides) garde
     ses paragraphes dans la bulle. Sans lui, le texte officiel du prix se
     collait en un seul bloc. Aucun autre texte de visite n'a de saut de ligne :
     l'affichage des visites existantes est donc inchange. */
.gtour-barre{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gtour-barre button{border:1px solid #cbb89b;background:#fff;color:#1B3A57;border-radius:8px;padding:5px 10px;cursor:pointer;font-size:.84rem}
.gtour-next{background:#1B3A57!important;color:#fff!important;border-color:#1B3A57!important}
.gtour-compteur{font-size:.8rem;color:#777;margin:0 auto}
.gtour-stop{margin-left:4px}
@media (prefers-color-scheme:dark){
  #gardien-v2 .gv2-panel{background:#1a2230;border-color:#33405a}
  #gardien-v2 .gv2-out{color:#e8edf5}
  #gardien-v2 .gv2-bot{background:#232c3d}
  #gardien-v2 .gv2-user{background:#2c3852}
  #gardien-v2 .gv2-input,#gardien-v2 .gv2-reconnu{background:#141b26;color:#e8edf5;border-color:#33405a}
  .gtour-bulle{background:#1a2230}.gtour-desc{color:#cfd8e6}.gtour-titre{color:#F2A65A}
}

/* (Phase 6B) Accueil visiteur : boutons Me faire decouvrir / Explorer librement */
.gv2-welcome .gv2-welcome-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gv2-welcome .gv2-welcome-actions .gv2-btn{flex:1 1 auto;min-width:0}
.gv2-welcome small{opacity:.8}
