/* ─── Guided Tour ─── */
.tour-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
}
.tour-overlay.active { pointer-events: auto; }

.tour-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 9998;
  transition: opacity .2s;
}

.tour-highlight {
  position: fixed;
  z-index: 9999;
  border-radius: 8px;
  box-shadow: 0 0 0 4000px rgba(0,0,0,.55), 0 0 0 3px #E6A63C;
  pointer-events: none;
  transition: top .25s, left .25s, width .25s, height .25s;
}

.tour-bubble {
  position: fixed;
  z-index: 10000;
  background: #15263A;
  border: 2px solid #E6A63C;
  border-radius: 10px;
  padding: 14px 16px 12px;
  max-width: 300px;
  min-width: 220px;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  transition: top .25s, left .25s, opacity .15s;
}

.tour-bubble-title {
  font-family: 'BeaufortBold', Arial, sans-serif;
  color: #E6A63C;
  font-size: .95rem;
  margin-bottom: 6px;
}

.tour-bubble-text {
  color: #ccc;
  font-size: .82rem;
  line-height: 1.45;
  margin-bottom: 12px;
}

.tour-bubble-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tour-step-count {
  color: #5a7a94;
  font-size: .72rem;
}

.tour-bubble-actions {
  display: flex;
  gap: 6px;
}

.tour-btn {
  padding: 5px 14px;
  border-radius: 6px;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: background .15s;
}

.tour-btn-skip {
  background: none;
  border: 1px solid #2A3F56;
  color: #93E1FF;
}
.tour-btn-skip:hover { background: #1E3A52; }

.tour-btn-next {
  background: #E6A63C;
  color: #0E1C2F;
}
.tour-btn-next:hover { background: #d4952e; }

.tour-btn-done {
  background: #4CAF50;
  color: #fff;
}
.tour-btn-done:hover { background: #388E3C; }

/* Arrow */
.tour-bubble::before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  background: #15263A;
  border: 2px solid #E6A63C;
  transform: rotate(45deg);
}
.tour-bubble.pos-bottom::before {
  top: -8px;
  left: 24px;
  border-right: none;
  border-bottom: none;
}
.tour-bubble.pos-top::before {
  bottom: -8px;
  left: 24px;
  border-left: none;
  border-top: none;
}
.tour-bubble.pos-left::before {
  right: -8px;
  top: 16px;
  border-left: none;
  border-top: none;
}
.tour-bubble.pos-right::before {
  left: -8px;
  top: 16px;
  border-right: none;
  border-bottom: none;
}

/* Help button */
.tour-help-btn {
  position: fixed;
  bottom: 72px;
  left: 16px;
  z-index: 90;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1E3A52;
  border: 2px solid #2A3F56;
  color: #93E1FF;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.3);
  transition: border-color .2s, color .2s;
}
.tour-help-btn:hover {
  border-color: #E6A63C;
  color: #E6A63C;
}

@media (max-width: 768px) {
  .tour-bubble { max-width: 260px; min-width: 200px; }
  .tour-help-btn { bottom: 68px; left: 10px; width: 36px; height: 36px; font-size: 1rem; }
}
