/* Tour di onboarding (coach-marks) */
.tour-overlay { position: fixed; inset: 0; z-index: 9999; }
.tour-overlay.welcome { background: rgba(20, 18, 16, .55); }
.tour-spot {
  position: fixed; border-radius: 8px; pointer-events: none;
  box-shadow: 0 0 0 9999px rgba(20, 18, 16, .55);
  outline: 2px solid #fff; outline-offset: 2px;
  transition: left .18s ease, top .18s ease, width .18s ease, height .18s ease;
}
.tour-pop {
  position: fixed; z-index: 10000; width: 300px; max-width: 86vw;
  background: #fff; border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
  padding: 16px; font-family: var(--font-sans, system-ui, sans-serif);
}
.tour-step { font-size: 11px; font-weight: 800; letter-spacing: .04em; color: var(--coop-red, #e30613); }
.tour-titolo { margin: 4px 0 6px; font-size: 16px; color: #1a1a1a; }
.tour-testo { margin: 0 0 14px; font-size: 13px; line-height: 1.5; color: #333; }
.tour-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tour-nav { display: flex; gap: 8px; }
.tour-skip { background: none; border: none; color: #888; font-size: 12px; cursor: pointer; padding: 4px; }
.tour-skip:hover { color: #555; }
.tour-prev { background: #f0f0f0; border: none; border-radius: 8px; padding: 7px 12px; cursor: pointer; font-size: 13px; }
.tour-next {
  background: var(--coop-red, #e30613); color: #fff; border: none; border-radius: 8px;
  padding: 7px 14px; cursor: pointer; font-size: 13px; font-weight: 700;
}
.tour-pop button:focus-visible { outline: 2px solid var(--coop-red, #e30613); outline-offset: 2px; }
