/* HIVE - guided tour (tour.js, ported from Krios and CollHub) and its button in the page header. */
.tour-layer { position: fixed; inset: 0; z-index: 2600; pointer-events: none; }
.tour-blocker { position: absolute; inset: 0; pointer-events: auto; }
.tour-spot { position: absolute; border-radius: 12px; box-shadow: 0 0 0 9999px rgba(33, 20, 8, .55); outline: 3px solid rgba(255, 193, 7, .95);
  transition: left .25s ease, top .25s ease, width .25s ease, height .25s ease; pointer-events: none; }
.tour-pop { position: absolute; width: 380px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); overflow-y: auto;
  background: var(--hv-surface); color: var(--hv-text); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.18);
  padding: 16px 18px 14px; pointer-events: auto; animation: tour-pop .16s ease-out; transition: left .25s ease, top .25s ease;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.tour-pop.is-center { width: 460px; }
.tour-pop.is-waiting, .tour-pop.is-leaving { visibility: hidden; }
@keyframes tour-pop { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.tour-count { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11.5px; font-weight: 700;
  color: var(--hv-brand-secondary); text-transform: uppercase; letter-spacing: .6px; }
.tour-pop h3 { margin: 4px 0 6px; font-size: 17px; font-weight: 700; }
.tour-pop h3 i { color: var(--hv-brand); }
.tour-pop p { margin: 0 0 12px; color: var(--hv-text-2); line-height: 1.5; font-size: 14.5px; }

/* the card's own buttons: green forward, orange back, a quiet exit (button colour convention) */
.tour-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 8px;
  border: 1px solid transparent; font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.tour-btn:disabled { opacity: .6; cursor: progress; }
.tour-next { background: var(--hv-success); color: var(--hv-on-brand); }
.tour-prev { background: var(--hv-warning); color: var(--hv-on-brand); }
.tour-sim { width: 100%; margin-bottom: 12px; background: var(--hv-brand-secondary); color: var(--hv-on-brand); min-height: 40px; }
.tour-next:hover, .tour-prev:hover, .tour-sim:hover:not(:disabled) { filter: brightness(1.08); }
.tour-actions { display: flex; gap: 6px; align-items: center; }
.tour-exit { margin-right: auto; background: none; border: 1px solid var(--hv-border); color: var(--hv-text-muted); }
.tour-exit:hover { color: var(--hv-text); border-color: var(--hv-text-muted); }
.tour-music { background: none; border: 1px solid var(--hv-border); border-radius: 999px; padding: 2px 9px; font: inherit; font-size: 11px; font-weight: 700;
  color: var(--hv-text-muted); text-transform: none; letter-spacing: 0; cursor: pointer; }
.tour-music:hover { color: var(--hv-text); border-color: var(--hv-brand); }

/* the header button, the same look as the "Moduli" one beside it */
.tour-launch { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; margin-right: 10px; background: rgba(255,255,255,0.18); color: var(--hv-on-brand);
  border: none; border-radius: 8px; padding: 7px 12px; font-family: inherit; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.4px; cursor: pointer; transition: background 0.15s; }
.tour-launch:hover { background: rgba(255,255,255,0.32); }
#header .tour-launch + #hive_modnav { margin-left: 0; }

/* Phones and tablets: 44 px touch targets (C12); on a phone the card is as wide as the screen. */
@media (pointer: coarse) {
  .tour-btn, .tour-sim, .tour-launch { min-height: 44px; }
  .tour-music { min-height: 32px; }
}
@media (max-width: 640px) {
  .tour-launch { margin-right: 6px; }
  .tour-launch .tour-launch-label { display: none; }
}
@media (max-width: 575.98px) {
  .tour-pop, .tour-pop.is-center { width: calc(100vw - 24px); }
}
@media print { .tour-launch, .tour-layer { display: none !important; } }
