/* ============================================================================
 * mortgage-tour.css — guided tour + "cold fire" button embers for the
 * Mortgage Qualification Calculator. Drop-in for maplegroovefinancial.ca.
 * Uses the site's existing tokens (--blue, --ink, --ink-dim, --ink-faint,
 * --rule, --rule-2) and safe concrete darks for panels (the site doesn't
 * define --panel/--panel-2). Pairs with mortgage-tour.js.
 * ==========================================================================*/
.tour-emit{position:relative;display:inline-block;margin:0 0 18px;}
.tour-emit-cv{position:absolute;pointer-events:none;z-index:0;}
.tour-emit .tour-launch{position:relative;z-index:1;margin:0;}

.tour-launch{display:inline-flex;align-items:center;gap:7px;background:#141414;
  color:var(--blue);border:1px solid var(--blue);border-radius:20px;padding:8px 15px;
  font-family:'Space Mono',ui-monospace,monospace;font-size:.78rem;font-weight:700;cursor:pointer;}
.tour-launch:hover{background:rgba(74,184,255,.12);}
.tour-launch .pulse{width:8px;height:8px;border-radius:50%;background:var(--blue);
  box-shadow:0 0 0 0 rgba(74,184,255,.6);animation:tourPulse 1.8s infinite;}
@keyframes tourPulse{0%{box-shadow:0 0 0 0 rgba(74,184,255,.55);}70%{box-shadow:0 0 0 8px rgba(74,184,255,0);}100%{box-shadow:0 0 0 0 rgba(74,184,255,0);}}

.tour-mask{position:fixed;inset:0;z-index:9998;pointer-events:none;}
.tour-spot{position:fixed;border-radius:10px;border:2px solid var(--blue);
  box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 0 22px rgba(74,184,255,.45);
  transition:left .28s ease,top .28s ease,width .28s ease,height .28s ease;pointer-events:none;}
.tour-pop{position:fixed;z-index:9999;width:300px;max-width:calc(100vw - 24px);
  background:#141414;border:1px solid var(--blue);border-radius:10px;
  padding:16px 17px;box-shadow:0 10px 34px rgba(0,0,0,.6);
  font-family:'Space Mono',ui-monospace,monospace;}
.tour-pop h4{font-size:.92rem;font-weight:700;color:var(--ink);margin:0 0 6px;}
.tour-pop p{font-size:.79rem;color:var(--ink-dim);line-height:1.5;margin:0;}
.tour-nav{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px;}
.tour-dots{display:flex;gap:5px;flex-wrap:wrap;}
.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--rule-2);}
.tour-dot.on{background:var(--blue);}
.tour-actions{display:flex;gap:6px;}
.tour-actions button{background:#0c0c0c;color:var(--ink-dim);border:1px solid var(--rule-2);
  border-radius:6px;padding:6px 11px;font-family:inherit;font-size:.72rem;cursor:pointer;}
.tour-actions button[data-next]{background:var(--blue);color:#04121f;border-color:transparent;font-weight:700;}
.tour-actions button:disabled{opacity:.4;cursor:default;}
.tour-skip{background:none;border:none;color:var(--ink-faint);font-family:inherit;font-size:.68rem;
  cursor:pointer;text-decoration:underline;}
@media(prefers-reduced-motion:reduce){.tour-spot{transition:none;}.tour-launch .pulse{animation:none;}}
