/* lab/lab.css — namepop Lab layout: tabs, panels, drop-zone, status.
   Rides on styles.css (vars, .nav, .viewer-col, .stage, .control-col, .dots, .order, .download). */

.lab{padding-top:54px}
.lab-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1.5px solid var(--ink)}
@media(max-width:980px){.lab-grid{grid-template-columns:1fr}}

/* LAB tag in the nav wordmark */
.lab-tag{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;
  background:var(--ink);color:var(--paper);padding:3px 7px;border-radius:999px;margin-left:2px;transform:translateY(-1px)}

/* dark stage — the lab pieces preview against a studio-black backdrop */
.lab .stage{background:radial-gradient(120% 100% at 50% 10%,#2b2e35,#0e0f12)}
.lab .hint{color:#9aa0a8}
.lab .spinner{border-color:rgba(255,255,255,.16);border-top-color:#fff}

/* staged progress text, floating over the stage */
.lab-status{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;
  font-family:var(--mono);font-size:12px;color:#fff;background:rgba(10,11,13,.72);
  border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 15px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap;max-width:calc(100% - 32px);
  overflow:hidden;text-overflow:ellipsis}
.lab-status[hidden]{display:none}

/* error toast, floating over the stage */
.lab-toast{position:absolute;top:16px;left:50%;transform:translate(-50%,-8px);z-index:5;
  font-family:var(--mono);font-size:12px;background:#b00020;color:#fff;padding:9px 16px;
  opacity:0;transition:opacity .3s,transform .3s;max-width:calc(100% - 32px)}
.lab-toast.show{opacity:1;transform:translate(-50%,0)}

/* product tabs */
.lab-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--ink);margin:8px 0 18px}
.lab-tab{font-family:var(--mono);font-size:12px;font-weight:700;padding:13px 8px;border:none;
  border-right:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;
  transition:background .15s,color .15s}
.lab-tab:last-child{border-right:none}
.lab-tab:hover{background:#f1eee7}
.lab-tab.on{background:var(--ink);color:var(--paper)}
.lab-panel[hidden]{display:none}

/* chips (shape families, region presets) */
.lab-chips{display:flex;flex-wrap:wrap;gap:8px}
.lab-chip{font-family:var(--mono);font-size:12px;padding:9px 14px;border:1.5px solid var(--ink);
  background:transparent;color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.lab-chip:hover{background:#f1eee7}
.lab-chip.on{background:var(--ink);color:var(--paper)}

/* slider rows — label / range / live value */
.lab-params{margin-top:6px}
.lab-slider{display:grid;grid-template-columns:96px 1fr 64px;align-items:center;gap:14px;
  padding:9px 0;border-bottom:1px solid #efece4}
.lab-slider>span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-slider>b{font-family:var(--mono);font-size:11.5px;color:var(--ink);text-align:right;
  white-space:nowrap;font-variant-numeric:tabular-nums}
.lab input[type=range]:disabled{opacity:.3}

/* GPX drop-zone */
.lab-drop{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;
  border:1.5px dashed var(--ink);padding:26px 16px;cursor:pointer;text-align:center;
  font-family:var(--mono);font-size:12px;color:var(--ink);line-height:1.5;transition:background .15s}
.lab-drop:hover,.lab-drop.drag{background:#f6f3ec}

/* route stats strip */
.lab-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--ink);margin-top:14px}
.lab-stats[hidden]{display:none}
.lab-stat{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-right:1.5px solid var(--ink)}
.lab-stat:last-child{border-right:none}
.lab-stat span{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lab-stat b{font-family:var(--grotesk);font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
@media(max-width:560px){
  .lab-stats{grid-template-columns:1fr 1fr}
  .lab-stat:nth-child(2){border-right:none}
  .lab-stat:nth-child(-n+2){border-bottom:1.5px solid var(--ink)}
}

/* text band toggle + editable lines (display uppercase, like the engraving) */
.lab-toggle{font-family:var(--mono);font-size:12px;color:var(--ink);display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.lab-toggle input[type=checkbox]{accent-color:var(--ink)}
.lab-textfields{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.lab-textfields[hidden]{display:none}
.lab-text{font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink);border:1.5px solid var(--ink);background:var(--paper);padding:11px 12px;width:100%}
.lab-text:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--ink)}
.lab-text::placeholder{color:var(--muted);text-transform:none;letter-spacing:0}

/* region search + geocode results */
.lab-search{display:flex;gap:8px;margin-top:12px}
.lab-search .lab-text{flex:1;min-width:0;text-transform:none}
.lab-search .btn{padding:11px 16px;flex:0 0 auto}
.lab-results{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.lab-result{font-family:var(--mono);font-size:12px;text-align:left;padding:10px 12px;
  border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;
  transition:background .15s,color .15s}
.lab-result:hover{background:var(--ink);color:var(--paper)}
.lab-dim{font-family:var(--mono);font-size:11px;color:var(--muted);padding:4px 0}

/* mode radios */
.lab-radios{display:flex;gap:18px;font-family:var(--mono);font-size:12px;color:var(--ink)}
.lab-radios label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.lab-radios input[type=radio]{accent-color:var(--ink)}

/* two-colour STL downloads + small print */
.lab-dl-row{display:flex;gap:10px;margin-top:10px}
.lab-dl-row .download{flex:1;padding:12px 8px}
.lab-note{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.5;margin:10px 0 0}
.lab-note[hidden]{display:none}

/* mobile: viewer stacks above controls (DOM order), trimmed paddings */
@media(max-width:560px){
  .lab{padding-top:46px}
  .lab-tab{padding:11px 4px;font-size:11px}
  .lab-slider{grid-template-columns:84px 1fr 56px;gap:10px}
  .lab-dl-row{flex-direction:column}
}

/* accent dots greyed out in buildings mode (single-colour print) */
.dots-off { opacity: .35; pointer-events: none; }

/* terrain hypsometric palette: a labelled colour swatch per elevation band */
.lab-palette { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 2px; }
.lab-swatch { display:flex; flex-direction:column; align-items:center; gap:4px; cursor:pointer; }
.lab-swatch .sw {
  width:34px; height:34px; border-radius:8px; border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25); position:relative; overflow:hidden;
}
.lab-swatch input[type=color] {
  position:absolute; inset:-4px; width:calc(100% + 8px); height:calc(100% + 8px);
  border:0; padding:0; background:none; cursor:pointer; opacity:0;
}
.lab-swatch .sl { font-size:10px; letter-spacing:.02em; color:var(--lab-dim,#9aa); text-transform:uppercase; }
.lab-palette.dots-off { opacity:.35; pointer-events:none; }

/* curated finish presets — a refined chip row, premium product-line feel */
.lab-finishes { display:flex; flex-wrap:wrap; gap:7px; margin:6px 0 2px; }
.lab-finish {
  display:inline-flex; align-items:center; gap:7px; padding:6px 11px 6px 7px;
  border:1px solid rgba(0,0,0,.2); border-radius:999px; cursor:pointer;
  background:transparent; color:var(--ink);
  font-size:12px; letter-spacing:.02em; transition:border-color .15s, background .15s;
}
.lab-finish:hover { border-color:rgba(0,0,0,.5); }
.lab-finish.on { border-color:var(--ink); background:rgba(0,0,0,.06); font-weight:600; }
.lab-finish .fsw { width:16px; height:16px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.35); }
.lab-finish .fdot { width:6px; height:6px; border-radius:50%; margin-left:-2px; box-shadow:0 0 0 1.5px rgba(0,0,0,.3); }
.lab-adv > summary { cursor:pointer; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lab-dim,#9aa); padding:8px 0 4px; list-style:none; }
.lab-adv > summary::-webkit-details-marker { display:none; }
.lab-adv > summary::before { content:'+ '; }
.lab-adv[open] > summary::before { content:'– '; }

/* activity picker — line-icon chips, ride/run/swim/hike/ski/walk */
.lab-activities { display:flex; flex-wrap:wrap; gap:7px; margin:6px 0 2px; }
.lab-activity {
  display:inline-flex; align-items:center; gap:6px; padding:6px 11px 6px 8px;
  border:1px solid rgba(0,0,0,.2); border-radius:999px; cursor:pointer;
  background:transparent; color:var(--ink);
  font-size:12px; letter-spacing:.02em; transition:border-color .15s, background .15s;
}
.lab-activity:hover { border-color:rgba(0,0,0,.5); }
.lab-activity.on { border-color:var(--ink); background:rgba(0,0,0,.06); font-weight:600; }
.lab-activity .aico { display:inline-flex; width:17px; height:17px; opacity:.85; }
.lab-activity .aico svg { width:17px; height:17px; }

/* ---------- presentation mode: full-bleed cinematic hero ---------- */
.lab-present-btn {
  position:absolute; top:14px; right:14px; z-index:6;
  display:inline-flex; align-items:center; padding:7px 13px; border-radius:999px;
  border:1px solid rgba(255,255,255,.18); background:rgba(10,10,12,.55); backdrop-filter:blur(6px);
  color:#e9e7e0; font:500 12px/1 -apple-system,system-ui,sans-serif; letter-spacing:.04em;
  cursor:pointer; opacity:0; transition:opacity .3s, border-color .15s; pointer-events:none;
}
.lab-stage:hover .lab-present-btn { opacity:.9; pointer-events:auto; }
.lab-present-btn:hover { border-color:rgba(255,255,255,.5); }

/* when presenting, the stage fills the viewport and the controls fall away */
body.presenting .control-col { display:none; }
body.presenting .stage-foot { display:none; }
body.presenting .lab-grid { grid-template-columns:1fr; }
body.presenting .lab-stage {
  position:fixed; inset:0; width:100vw; height:100vh; z-index:60; border-radius:0;
}
body.presenting .lab-present-btn, body.presenting .hint { display:none; }

.lab-present { position:absolute; inset:0; z-index:61; pointer-events:none;
  opacity:0; transition:opacity .6s ease; }
body.presenting .lab-present { opacity:1; }
.lab-present[hidden] { display:none; }
.lab-present-close {
  position:absolute; top:22px; right:24px; pointer-events:auto;
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  background:rgba(10,10,12,.4); color:#e9e7e0; font-size:15px; cursor:pointer;
  transition:border-color .15s, background .15s;
}
.lab-present-close:hover { border-color:rgba(255,255,255,.55); background:rgba(10,10,12,.7); }
/* editorial text block, bottom-left, generous negative space */
.lp-block {
  position:absolute; left:7vw; bottom:9vh; max-width:min(640px,84vw);
  color:#f1efe8; text-shadow:0 2px 24px rgba(0,0,0,.6);
  transform:translateY(16px); opacity:0; transition:transform .8s cubic-bezier(.2,.7,.2,1) .15s, opacity .8s .15s;
}
body.presenting .lp-block { transform:translateY(0); opacity:1; }
.lp-ico { width:30px; height:30px; opacity:.85; margin-bottom:18px; }
.lp-ico svg { width:30px; height:30px; }
.lp-title { font:800 clamp(34px,5.2vw,76px)/0.98 "Archivo Black","Inter",system-ui,sans-serif;
  letter-spacing:-.01em; margin:0; text-transform:uppercase; }
.lp-rule { width:64px; height:2px; background:rgba(255,255,255,.45); margin:22px 0 20px; }
.lp-stat { font:700 clamp(15px,1.7vw,22px)/1.3 "Space Mono",ui-monospace,monospace; letter-spacing:.06em; color:#dedbd2; }
.lp-meta { font:400 clamp(12px,1.2vw,15px)/1.5 "Space Mono",ui-monospace,monospace; letter-spacing:.08em; color:#9a978d; margin-top:8px; }
.lp-tag { font:400 clamp(13px,1.4vw,18px)/1.4 "Inter",system-ui,sans-serif; color:#c9c6bd; margin-top:26px; font-style:italic; }
.lp-mark { position:absolute; left:7vw; top:7vh; font:600 15px/1 "Inter",system-ui,sans-serif; letter-spacing:.02em; color:#cfccc3; opacity:.8; }
@media (max-width:760px){ .lp-block{ left:6vw; right:6vw; bottom:7vh; } }

/* full-bleed: hide the page nav while presenting */
body.presenting .nav { display:none; }

/* motion: a quiet reveal of the controls on load */
@keyframes labReveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.control-inner { animation: labReveal .7s cubic-bezier(.2,.7,.2,1) both; }
@media (prefers-reduced-motion: reduce) { .control-inner { animation:none; } }

/* critical buyer info on the route studio */
.lab-trust { list-style:none; margin:16px 0 4px; padding:14px 0 0; border-top:1px solid rgba(0,0,0,.12);
  display:grid; grid-template-columns:1fr 1fr; gap:7px 18px; }
.lab-trust li { font-size:11.5px; letter-spacing:.01em; color:var(--muted,#6b6f76); line-height:1.3; }
.lab-trust b { color:var(--ink); font-weight:600; }
@media (max-width:520px){ .lab-trust { grid-template-columns:1fr; } }

/* engraving font picker — chips preview each typeface */
.lab-fonts { display:flex; flex-wrap:wrap; gap:7px; margin:6px 0 4px; }
.lab-font {
  padding:6px 12px; border:1px solid rgba(0,0,0,.2); border-radius:999px; cursor:pointer;
  background:transparent; color:var(--ink); font-size:14px; line-height:1.1;
  transition:border-color .15s, background .15s;
}
.lab-font:hover { border-color:rgba(0,0,0,.5); }
.lab-font.on { border-color:var(--ink); background:rgba(0,0,0,.06); }

/* /route intro line under the title */
.panel-sub { margin:10px 0 18px; max-width:42ch; font-size:14px; line-height:1.5; color:var(--lab-dim,#9aa); }

/* ============================================================
   /route LANDING PAGE — editorial, Rapha-leaning, namepop-consistent
   (black / off-white / stone, Helvetica grotesk, Space Mono labels,
   hairline rules, cinematic full-bleed imagery, the live studio embedded)
   ============================================================ */
.rhero { position:relative; min-height:92vh; display:flex; align-items:flex-end;
  border-bottom:1.5px solid var(--ink); overflow:hidden; }
.rhero-media { position:absolute; inset:0; z-index:0; }
.rhero-media img { width:100%; height:100%; object-fit:cover; }
.rhero::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(8,10,12,.62) 0%, rgba(8,10,12,.2) 42%, rgba(8,10,12,0) 68%),
             linear-gradient(180deg, rgba(8,10,12,.34) 0%, rgba(8,10,12,0) 30%, rgba(8,10,12,.45) 74%, rgba(8,10,12,.86) 100%); }
.rhero-inner { position:relative; z-index:2; padding:clamp(28px,5vw,84px); max-width:1100px; color:#fff;
  animation:rheroIn 1s cubic-bezier(.16,1,.3,1) both; }
@keyframes rheroIn { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .rhero-inner { animation:none; } }
.rhero-eyebrow { font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.rhero-title { font-family:var(--grotesk); font-weight:500; letter-spacing:-.03em; line-height:.96;
  font-size:clamp(40px,7.2vw,108px); margin:18px 0 0; text-shadow:0 2px 40px rgba(0,0,0,.45); }
.rhero-title em { font-style:italic; font-weight:500; }
.rhero-sub { font-family:var(--mono); font-size:clamp(13px,1.3vw,16px); line-height:1.55; color:rgba(255,255,255,.9);
  max-width:54ch; margin:22px 0 0; }
.rhero-cta { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 0; }
.rhero-meta { font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:rgba(255,255,255,.72); margin:22px 0 0; }
/* invert the buttons so they read on the dark hero */
.rhero .btn.solid { background:#fff; color:var(--ink); border-color:#fff; }
.rhero .btn.solid:hover { background:transparent; color:#fff; }
.rhero .rhero-ghost { border-color:rgba(255,255,255,.6); color:#fff; background:transparent; }
.rhero .rhero-ghost:hover { background:#fff; color:var(--ink); border-color:#fff; }
.rhero-scroll { position:absolute; z-index:2; left:50%; bottom:18px; transform:translateX(-50%);
  color:rgba(255,255,255,.8); font-size:20px; text-decoration:none; animation:rbob 1.8s ease-in-out infinite; }
@keyframes rbob { 0%,100%{ transform:translateX(-50%) translateY(0); } 50%{ transform:translateX(-50%) translateY(6px); } }

/* shared section frame — top hairline so the editorial bands stack cleanly */
.route-band, #features, .rcta { border-top:1.5px solid var(--ink); background:var(--paper); }
#design.route-band { border-top:none; }

/* why-it-lasts grid */
.rwhy { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1.5px solid var(--ink); }
.rwhy li { padding:clamp(22px,2.6vw,40px); border-right:1.5px solid var(--ink); display:flex; flex-direction:column; gap:9px; }
.rwhy li:last-child { border-right:none; }
.rwhy li b { font-family:var(--grotesk); font-weight:700; font-size:18px; letter-spacing:-.01em; }
.rwhy li span { font-family:var(--mono); font-size:12.5px; line-height:1.55; color:var(--muted); }

/* FAQ */
.rfaq { border-bottom:1.5px solid var(--ink); }
.rfaq details { border-top:1.5px solid var(--ink); padding:clamp(16px,2vw,26px) clamp(16px,3vw,30px); }
.rfaq details:first-child { border-top:none; }
.rfaq summary { font-family:var(--grotesk); font-weight:700; font-size:clamp(17px,1.7vw,22px); letter-spacing:-.01em;
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.rfaq summary::-webkit-details-marker { display:none; }
.rfaq summary::after { content:'+'; font-family:var(--mono); font-weight:400; color:var(--muted); }
.rfaq details[open] summary::after { content:'–'; }
.rfaq details p { font-family:var(--mono); font-size:13.5px; line-height:1.6; color:var(--muted); max-width:64ch; margin:14px 0 0; }

/* example builds gallery (the collection) */
#route-examples { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); border-top:1.5px solid var(--ink); border-left:1.5px solid var(--ink); }
.rex { position:relative; aspect-ratio:4/3; display:block; width:100%; text-align:left; cursor:pointer; overflow:hidden;
  border:none; border-right:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); padding:0;
  background-size:cover; background-position:center; color:#fff; filter:grayscale(1) contrast(1.02); transition:filter .5s, transform .6s cubic-bezier(.2,.7,.2,1); }
.rex:hover { filter:grayscale(0) contrast(1); }
.rex-grad { position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,10,12,.04) 35%, rgba(8,10,12,.8) 100%); }
.rex-body { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px 18px; display:flex; flex-direction:column; gap:3px; }
.rex-name { font-family:var(--grotesk); font-weight:700; font-size:20px; letter-spacing:-.01em; line-height:1.05; }
.rex-stat { font-family:var(--mono); font-size:12px; letter-spacing:.03em; color:rgba(255,255,255,.85); }
.rex-cta { position:absolute; top:14px; right:16px; z-index:2; font-family:var(--mono); font-size:11px; letter-spacing:.04em;
  color:#fff; opacity:0; transform:translateY(-4px); transition:opacity .25s, transform .25s; }
.rex:hover .rex-cta { opacity:1; transform:none; }
.rex-loading { padding:30px; font-family:var(--mono); font-size:13px; color:var(--muted); }

/* final CTA — cinematic band */
.rcta { position:relative; min-height:62vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.rcta-media { position:absolute; inset:0; z-index:0; }
.rcta-media img { width:100%; height:100%; object-fit:cover; }
.rcta::after { content:''; position:absolute; inset:0; z-index:1; background:rgba(8,10,12,.55); }
.rcta-inner { position:relative; z-index:2; padding:clamp(30px,5vw,80px); color:#fff; display:flex; flex-direction:column; align-items:center; gap:26px; }
.rcta-big { font-family:var(--grotesk); font-weight:700; letter-spacing:-.025em; line-height:1.0;
  font-size:clamp(30px,5vw,68px); margin:0; max-width:18ch; text-shadow:0 2px 40px rgba(0,0,0,.5); }
.rcta .btn.solid { background:#fff; color:var(--ink); border-color:#fff; }
.rcta .btn.solid:hover { background:transparent; color:#fff; }

@media (max-width:760px){
  .rwhy { grid-template-columns:1fr 1fr; }
  .rwhy li:nth-child(2){ border-right:none; }
  .rhero { min-height:88vh; }
}
@media (max-width:520px){
  .rwhy { grid-template-columns:1fr; }
  .rwhy li { border-right:none; border-bottom:1.5px solid var(--ink); }
  .rwhy li:last-child{ border-bottom:none; }
}

/* small explainer under a control */
.lab-hint { font-size:11px; line-height:1.4; color:var(--muted,#6b6f76); margin:-3px 0 10px; }

/* "try a sample" affordance under the drop zone */
.lab-sample { display:block; width:100%; margin-top:8px; padding:8px; background:none;
  border:none; cursor:pointer; font-family:var(--mono); font-size:12px; letter-spacing:.02em;
  color:var(--muted,#6b6f76); text-align:center; }
.lab-sample:hover { color:var(--ink); text-decoration:underline; }

/* ---- Strava source panel ----
   NOTE: before launch, swap the text button + "Powered by Strava" link for the official
   brand assets from developers.strava.com/guidelines (required by the API agreement). */
#route-source { margin-top:8px; }
#strava-panel { margin-top:8px; }
.strava-connect {
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:13px 16px; border:none; border-radius:8px; cursor:pointer;
  background:#FC4C02; color:#fff; font-family:var(--mono); font-size:13px; letter-spacing:.04em;
  text-transform:uppercase; font-weight:700;
}
.strava-connect:hover { background:#e84402; }
.strava-link-row { display:flex; gap:8px; margin-top:4px; }
.strava-link-row .lab-text { flex:1; min-width:0; }
.lab-mini {
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.04em;
  padding:0 14px; border:1.5px solid var(--ink,#111); background:transparent; color:var(--ink,#111);
  cursor:pointer; border-radius:0;
}
.lab-mini:hover { background:var(--ink,#111); color:var(--paper,#fff); }
.strava-list { list-style:none; margin:8px 0 0; padding:0; max-height:230px; overflow-y:auto; display:flex; flex-direction:column; gap:6px; }
.strava-list .muted { color:var(--muted,#8a8f98); font-size:12px; padding:6px 2px; }
.strava-act {
  display:flex; flex-direction:column; gap:2px; width:100%; text-align:left; cursor:pointer;
  padding:9px 11px; border:1px solid rgba(120,120,130,.28); border-radius:8px; background:transparent;
  color:inherit; font:inherit;
}
.strava-act:hover { border-color:#FC4C02; }
.strava-act .aname { font-size:13px; font-weight:600; }
.strava-act .ameta { font-size:11px; color:var(--muted,#8a8f98); font-family:var(--mono); }
.strava-act.nogps { opacity:.4; cursor:default; }
.strava-powered { display:inline-block; margin-top:10px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted,#8a8f98); text-decoration:none; }
.strava-powered:hover { color:#FC4C02; }

/* discount code field on the route checkout */
.lab-promo { margin:14px 0 0; }
.lab-promo .lab-text { width:100%; }
