/* FlipForge Guided Mode v1 — contextual onboarding and next-step coaching. */
:root{
  --ff-guide-gold:#d4af37;
  --ff-guide-gold-strong:#f0ca58;
  --ff-guide-bg:#07111f;
  --ff-guide-bg-2:#030812;
  --ff-guide-line:rgba(212,175,55,.34);
  --ff-guide-muted:#aeb7c2;
  --ff-guide-success:#8ee0b8;
}

.ff-guide-launcher{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147481500;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid rgba(212,175,55,.6);
  border-radius:999px;
  background:linear-gradient(135deg,#10131a,#050607);
  color:#fff;
  box-shadow:0 18px 54px rgba(0,0,0,.42);
  font:800 12px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
}
.ff-guide-launcher::before{
  content:"?";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--ff-guide-gold);
  color:#030812;
  font-weight:950;
}
.ff-guide-launcher:hover,.ff-guide-launcher:focus-visible{border-color:var(--ff-guide-gold-strong);outline:none}

.ff-guide-panel{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147481600;
  width:min(370px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid var(--ff-guide-line);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(212,175,55,.11),transparent 34%),
    linear-gradient(180deg,#091522,#04070d);
  color:#f5f6f7;
  box-shadow:0 24px 80px rgba(0,0,0,.58);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ff-guide-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:15px 16px 13px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ff-guide-kicker{display:block;color:var(--ff-guide-gold-strong);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ff-guide-head strong{display:block;margin-top:4px;font-size:15px;letter-spacing:-.01em}
.ff-guide-icon-button{
  flex:none;
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#b8c1cb;
  font-size:15px;
  cursor:pointer;
}
.ff-guide-icon-button:hover,.ff-guide-icon-button:focus-visible{color:#fff;border-color:rgba(212,175,55,.45);outline:none}
.ff-guide-body{padding:16px}
.ff-guide-location{display:inline-flex;margin-bottom:8px;padding:5px 8px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#b9c1cc;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.ff-guide-body h2{margin:0 0 7px;font-size:21px;line-height:1.15;letter-spacing:-.025em}
.ff-guide-body>p{margin:0;color:var(--ff-guide-muted);font-size:12px;line-height:1.58}
.ff-guide-why{
  margin-top:13px;
  padding:11px 12px;
  border-left:2px solid rgba(212,175,55,.65);
  background:rgba(212,175,55,.045);
  color:#c9cfd6;
  font-size:11px;
  line-height:1.5;
}
.ff-guide-why strong{color:#fff}
.ff-guide-actions{display:grid;gap:8px;margin-top:14px}
.ff-guide-action{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid rgba(212,175,55,.56);
  border-radius:9px;
  background:linear-gradient(135deg,var(--ff-guide-gold-strong),var(--ff-guide-gold));
  color:#030812;
  font:900 11px/1.2 Inter,system-ui,sans-serif;
  text-align:center;
  cursor:pointer;
}
.ff-guide-action:hover,.ff-guide-action:focus-visible{filter:brightness(1.05);outline:none}
.ff-guide-action.secondary{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:#e7e9ec}
.ff-guide-action.secondary:hover,.ff-guide-action.secondary:focus-visible{border-color:rgba(212,175,55,.42);filter:none}

.ff-guide-progress{padding:0 16px 14px}
.ff-guide-progress-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:#8993a0;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.ff-guide-track{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.ff-guide-track span{height:4px;border-radius:99px;background:rgba(255,255,255,.1)}
.ff-guide-track span[data-done="true"]{background:var(--ff-guide-gold)}
.ff-guide-track span[data-current="true"]{background:var(--ff-guide-gold-strong);box-shadow:0 0 0 2px rgba(212,175,55,.11)}
.ff-guide-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid rgba(255,255,255,.08);color:#7f8a98;font-size:9px}
.ff-guide-footer button{border:0;background:transparent;color:#aab4c1;padding:0;font:800 9px/1.2 Inter,system-ui,sans-serif;cursor:pointer}
.ff-guide-footer button:hover,.ff-guide-footer button:focus-visible{color:var(--ff-guide-gold-strong);outline:none}

.ff-guide-highlight{
  position:relative!important;
  z-index:2147481200!important;
  outline:3px solid rgba(240,202,88,.95)!important;
  outline-offset:5px!important;
  box-shadow:0 0 0 8px rgba(212,175,55,.12),0 22px 60px rgba(0,0,0,.48)!important;
  transition:outline-color .2s ease,box-shadow .2s ease!important;
}
.ff-guide-highlight::after{
  content:attr(data-guide-label);
  position:absolute;
  z-index:2147481250;
  top:-13px;
  right:10px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--ff-guide-gold-strong);
  color:#030812;
  font:900 8px/1 Inter,system-ui,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ff-guide-input-focus{
  border-color:var(--ff-guide-gold-strong)!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.18)!important;
}

/* Discover now has one unmistakable entry point. */
.ff-discover-coach{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  margin:0 0 14px;
  padding:18px 20px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(212,175,55,.075),rgba(255,255,255,.018));
  box-shadow:0 14px 38px rgba(0,0,0,.18);
}
.ff-discover-coach>div:first-child{min-width:0}
.ff-discover-coach span{
  display:block;
  margin-bottom:5px;
  color:var(--ff-guide-gold-strong);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ff-discover-coach h2{margin:0;font-size:1.2rem;line-height:1.2;letter-spacing:-.015em}
.ff-discover-coach p{max-width:760px;margin:6px 0 0;color:#aeb7c2;font-size:.82rem;line-height:1.5}
.ff-discover-coach-actions{display:flex;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.ff-discover-results-label{
  display:grid;
  gap:3px;
  margin:18px 0 10px;
  padding:12px 14px;
  border-left:3px solid rgba(212,175,55,.68);
  background:rgba(212,175,55,.035);
}
.ff-discover-results-label strong{font-size:.88rem}
.ff-discover-results-label span{color:#9fa9b5;font-size:.76rem;line-height:1.45}

.ff-global-new-card{
  border-color:rgba(212,175,55,.42)!important;
  color:#f2d16e!important;
  background:rgba(212,175,55,.055)!important;
  white-space:nowrap;
}
.ff-global-new-card:hover,.ff-global-new-card:focus-visible{
  border-color:rgba(240,202,88,.72)!important;
  background:rgba(212,175,55,.095)!important;
  outline:none;
}

/* When the user chooses New card, old search output gets out of the way. */
.ff-start-new-card .customer-discovery-results,
.ff-start-new-card .customer-discovery-notice,
.ff-start-new-card .customer-discovery-identity-assist,
.ff-start-new-card .ff-discover-results-label,
.ff-start-new-card .panel:has(.customer-discovery-provider){display:none!important}
.ff-start-new-card .customer-discovery-search{margin-top:0!important}

.ff-guide-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(8px);
}
.ff-guide-modal{
  width:min(760px,100%);
  overflow:hidden;
  border:1px solid rgba(212,175,55,.38);
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 0,rgba(212,175,55,.12),transparent 32%),
    linear-gradient(145deg,#0a1625,#03070d 72%);
  color:#f6f7f8;
  box-shadow:0 36px 120px rgba(0,0,0,.72);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ff-guide-modal-main{padding:30px 30px 24px}
.ff-guide-modal .ff-guide-kicker{font-size:10px}
.ff-guide-modal h1{max-width:620px;margin:8px 0 10px;font-size:clamp(30px,5vw,48px);line-height:1.02;letter-spacing:-.045em}
.ff-guide-modal .ff-guide-intro{max-width:650px;margin:0;color:#b7c0cb;font-size:14px;line-height:1.65}
.ff-guide-modal-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.ff-guide-modal-step{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.02)}
.ff-guide-modal-step span{display:block;margin-bottom:6px;color:var(--ff-guide-gold-strong);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.ff-guide-modal-step strong{display:block;font-size:13px;line-height:1.35}
.ff-guide-modal-step p{margin:6px 0 0;color:#98a3b0;font-size:10px;line-height:1.48}
.ff-guide-modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.ff-guide-modal-actions .ff-guide-action{width:auto;min-width:190px;padding-left:18px;padding-right:18px}
.ff-guide-modal-note{margin:13px 0 0;color:#788493;font-size:9px;line-height:1.45}

body.ff-guide-modal-open{overflow:hidden}

@media(max-width:900px){
  .ff-discover-coach{align-items:flex-start;flex-direction:column}
  .ff-discover-coach-actions{width:100%;justify-content:flex-start}
}

@media(max-width:760px){
  .ff-guide-panel{right:8px;bottom:8px;width:calc(100vw - 16px);max-height:min(72vh,620px);overflow:auto;border-radius:14px}
  .ff-guide-launcher{right:10px;bottom:10px}
  .ff-guide-modal-backdrop{align-items:end;padding:0}
  .ff-guide-modal{width:100%;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0}
  .ff-guide-modal-main{padding:24px 18px 20px}
  .ff-guide-modal-steps{grid-template-columns:1fr}
  .ff-guide-modal-actions{display:grid}
  .ff-guide-modal-actions .ff-guide-action{width:100%;min-width:0}
  .ff-global-new-card{min-width:44px}
  .ff-discover-coach-actions .button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .ff-guide-highlight{transition:none!important}
  .ff-guide-modal-backdrop{backdrop-filter:none}
}