/* Easy RFP -- Onboarding Tour v1 styles
 * Isolated under .easyrfp-ob-* to avoid collision with existing .coachmark-* styles.
 * Brand palette: #7C3AED -> #EC4899, Navy #1E1B4B, DM Sans.
 */

.easyrfp-ob-back {
  position: fixed;
  inset: 0;
  background: rgba(15, 12, 41, 0.35);
  z-index: 9999;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.easyrfp-ob-pop {
  position: fixed;
  width: 360px;
  max-width: calc(100vw - 24px);
  z-index: 10002;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter var", "Inter", system-ui, sans-serif;
  color: #1E1B4B;
  animation: easyrfp-ob-in 160ms ease-out;
}

.easyrfp-ob-pop.easyrfp-ob-centered {
  transform: translate(-50%, -50%);
}

@keyframes easyrfp-ob-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.easyrfp-ob-pop.easyrfp-ob-centered {
  animation: easyrfp-ob-in-center 160ms ease-out;
}

@keyframes easyrfp-ob-in-center {
  from { opacity: 0; transform: translate(-50%, -48%); }
  to   { opacity: 1; transform: translate(-50%, -50%); }
}

.easyrfp-ob-card {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(30, 27, 75, 0.18), 0 6px 20px rgba(30, 27, 75, 0.08);
  padding: 22px 22px 18px;
  border: 1px solid #EFEBF9;
}

.easyrfp-ob-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.easyrfp-ob-count {
  font-size: 11px;
  font-weight: 700;
  color: #6B5CA8;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.easyrfp-ob-dots {
  display: flex;
  gap: 6px;
}

.easyrfp-ob-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #E9E4F8;
  transition: all 160ms ease;
}

.easyrfp-ob-dot.is-done {
  background: #C4B5FD;
}

.easyrfp-ob-dot.is-active {
  background: linear-gradient(135deg, #7C3AED, #EC4899);
  width: 24px;
  border-radius: 4px;
}

.easyrfp-ob-title {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #1E1B4B;
  margin: 0 0 8px;
  line-height: 1.3;
}

.easyrfp-ob-body {
  font-size: 14px;
  line-height: 1.55;
  color: #4B4466;
  margin: 0 0 18px;
}

.easyrfp-ob-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.easyrfp-ob-actions-right {
  display: flex;
  gap: 8px;
}

.easyrfp-ob-btn {
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
  transition: all 140ms ease;
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.easyrfp-ob-btn-next {
  background: linear-gradient(135deg, #7C3AED, #EC4899);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.25);
}

.easyrfp-ob-btn-next:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.35);
}

.easyrfp-ob-btn-back {
  background: #F3F0FA;
  color: #1E1B4B;
}

.easyrfp-ob-btn-back:hover {
  background: #E9E4F8;
}

.easyrfp-ob-btn-skip {
  background: transparent;
  color: #6B5CA8;
  padding: 8px 10px;
  font-weight: 500;
}

.easyrfp-ob-btn-skip:hover {
  color: #1E1B4B;
  background: #F3F0FA;
}

.easyrfp-ob-spotlight {
  transition: box-shadow 180ms ease, border-radius 120ms ease;
}

/* v52.9 — Close button, top-right of card */
.easyrfp-ob-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: #6B5CA8;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 140ms ease, color 140ms ease;
}
.easyrfp-ob-close:hover { background: #F3F0FA; color: #1E1B4B; }
.easyrfp-ob-card { position: relative; }

/* v52.9 — Mobile: bottom-sheet (não cobre menu lateral nem header) */
@media (max-width: 768px) {
  .easyrfp-ob-pop {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    transform: none !important;
    animation: easyrfp-ob-slide-up 220ms ease-out;
  }
  .easyrfp-ob-pop.easyrfp-ob-centered {
    /* override centered behaviour on mobile too */
    left: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    transform: none !important;
  }
  .easyrfp-ob-card {
    border-radius: 16px 16px 0 0;
    border: 0;
    border-top: 1px solid #EFEBF9;
    box-shadow: 0 -8px 32px rgba(30,27,75,0.15);
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }
  /* Reduce backdrop intensity so user still sees menu/header context */
  .easyrfp-ob-back { background: rgba(15, 12, 41, 0.20); }
}

@keyframes easyrfp-ob-slide-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
