/* BADGE SHERPA · TRAIL MODULE STYLES — owned by sherpa-trail.js only */
.sh-trail{position:fixed;left:0;right:0;bottom:0;height:96px;z-index:70;
  background:var(--trail-bg);color:var(--ink-on-trail);display:flex;
  align-items:center;gap:24px;padding:0 clamp(14px,3vw,40px);
  box-shadow:var(--shadow-trail);transition:background .2s ease}
.sh-route{flex:1;display:flex;align-items:center;min-width:0;position:relative;height:100%}
.sh-home{font-family:var(--font-head);font-weight:800;font-size:1.05rem}
.sh-line{position:absolute;left:0;right:0;top:50%;height:3px;
  background:var(--trail-line);border-radius:3px}
.sh-fill{position:absolute;left:0;top:50%;height:3px;background:var(--trail-fill);
  border-radius:3px;transition:width .3s ease}
.sh-steps{position:relative;display:flex;justify-content:space-between;width:100%}
.sh-step{background:none;border:0;display:flex;flex-direction:column;align-items:center;
  gap:6px;color:var(--ink-on-trail-soft);font-size:.68rem;font-weight:700;
  letter-spacing:.03em;position:relative;padding:6px 4px;min-width:54px}
.sh-step .pt{width:14px;height:14px;border-radius:50%;background:var(--trail-soft);
  border:3px solid var(--trail-bg);transition:background .2s}
.sh-step.done{color:var(--ink-on-trail)}
.sh-step.done .pt{background:var(--trail-fill)}
.sh-step.here{color:var(--ink-on-trail)}
.sh-step.here .pt{background:#fff;box-shadow:0 0 0 4px var(--trail-ring)}
.sh-step .flag{position:absolute;top:-14px;width:20px;height:20px;display:none}
.sh-step .flag rect{fill:var(--trail-flag-pole)}
.sh-step .flag path{fill:var(--trail-flag)}
.sh-step.here .flag{display:block;animation:sh-plant .3s ease}
@keyframes sh-plant{from{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}
.sh-step:disabled{cursor:default}
.sh-step:not(:disabled):hover{color:var(--ink-on-trail)}
.sh-msg{font-size:.78rem;color:var(--ink-on-trail-soft);max-width:240px}
.sh-msg .warn{color:var(--warn);font-weight:700}
.sh-total{text-align:right;white-space:nowrap}
.sh-total .tl{display:block;font-size:.68rem;color:var(--ink-on-trail-soft);
  font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.sh-total .tv{font-family:var(--font-head);font-weight:800;font-size:1.15rem}
.sh-cta{padding:15px 30px;flex:none;
  background:var(--trail-cta-bg);color:var(--trail-cta-ink)}
.sh-cta:hover{filter:brightness(.93)}
@media(max-width:760px){.sh-step .lb{display:none}.sh-trail{gap:14px}
  .sh-total,.sh-msg{display:none}}

/* bold: the trail floats as a rounded control bar */
:root[data-theme="bold"] .sh-trail{left:50%;right:auto;bottom:14px;
  transform:translateX(-50%);width:min(1180px,calc(100% - 24px));
  height:80px;border-radius:100px;padding:0 14px 0 30px}
:root[data-theme="bold"] .sh-cta{font-family:var(--font-head);font-weight:700}
:root[data-theme="bold"] .sh-step{font-size:.72rem}

@media(max-width:640px){
  .sh-step .lb{display:none}
  .sh-trail{padding:0 14px;gap:10px}
  .sh-cta{padding:12px 18px;font-size:.85rem}
  .sh-home{font-size:.8rem}
}
