/* ═══════════════════════════════════════════════════════════════════
   WalkSpy — Route Signal (v0.3)
   Sitewide visual override. Loaded LAST after refresh.css.

   Subject: handheld live street walks + GPS traces.
   Signature: full-bleed walk media as the page plane; route-cyan for
   map/brand only; signal orange for live/primary action.

   Deliberately NOT: cream paper, Fraunces, Inter, teal-everything,
   phone mockups, hero stat strips.
   ═══════════════════════════════════════════════════════════════════ */

:root {
  /* Surfaces — cool concrete, not warm cream */
  --w-paper:        #F2F3F5;
  --w-paper-elev:   #FFFFFF;
  --w-paper-edge:   #D8DBE0;
  --w-bg:           #F2F3F5;
  --w-bg-alt:       #E8EAED;
  --w-surface:      #FFFFFF;
  --w-surface-elev: #FFFFFF;

  /* Ink */
  --w-ink:          #111318;
  --w-ink-muted:    #5C6370;
  --w-ink-subtle:   #8B919C;
  --w-fg:           #111318;
  --w-fg-muted:     #5C6370;
  --w-fg-subtle:    #8B919C;
  --w-fg-on-brand:  #FFFFFF;

  /* Brand mark (logo kinship) — route / map only, not every button */
  --w-route:        #0A6E8A;
  --w-brand-500:    #0A6E8A;
  --w-brand-600:    #085A71;
  --w-brand-700:    #06485A;
  --w-brand-50:     #E8F4F7;
  --w-brand-100:    #D1E9EF;
  --w-brand-300:    #7BB8C9;
  --w-brand-900:    #043642;

  /* Signal — primary CTA + LIVE */
  --w-signal:       #FF4D1A;
  --w-signal-hover: #E03E12;
  --w-signal-ink:   #FFFFFF;
  --w-live:         #FF4D1A;

  /* Borders / radius — tighter, less pill */
  --w-border:        #D8DBE0;
  --w-border-strong: #B4B9C2;
  --w-radius-sm:     2px;
  --w-radius-md:     4px;
  --w-radius-lg:     8px;
  --w-radius-pill:   4px;

  /* Type */
  --w-font-display: "Syne", "Arial Narrow", Impact, sans-serif;
  --w-font-body:    "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --w-font-data:    "IBM Plex Mono", ui-monospace, monospace;
  --w-font:         var(--w-font-body);

  --w-text-display-1: clamp(2.5rem, 6vw, 4.25rem);
  --w-text-display-2: clamp(1.75rem, 3.5vw, 2.75rem);

  /* Kill warm paper shadows */
  --w-shadow-paper: none;
  --w-shadow-sm: none;
  --w-shadow-md: none;
  --w-shadow-lg: none;
  --w-shadow-glow: 0 0 0 3px color-mix(in srgb, var(--w-signal) 35%, transparent);

  --w-topo:        color-mix(in srgb, var(--w-route) 28%, transparent);
  --w-topo-strong: color-mix(in srgb, var(--w-route) 55%, transparent);
}

/* ── Base ─────────────────────────────────────────────────────────── */

html { scroll-behavior: smooth; }
body.default,
body {
  background: var(--w-paper) !important;
  color: var(--w-ink);
  font-family: var(--w-font-body);
  -webkit-font-smoothing: antialiased;
}

.w-paper {
  background: var(--w-paper);
  color: var(--w-ink);
  font-family: var(--w-font-body);
  min-height: 100vh;
}
.w-paper h1, .w-paper h2, .w-paper h3, .w-paper h4,
.w-home h1, .w-home h2, .w-home h3 {
  font-family: var(--w-font-display);
  color: var(--w-ink);
  letter-spacing: -0.03em;
  font-weight: 700;
}
.w-paper a { color: var(--w-route); }
.w-paper a:hover { color: var(--w-brand-600); }

/* ── Buttons (design-system) ──────────────────────────────────────── */

.w-btn--primary,
.w-btn {
  --_bg:   var(--w-signal);
  --_bg-h: var(--w-signal-hover);
  --_bg-a: #C43510;
  --_fg:   var(--w-signal-ink);
  border-radius: var(--w-radius-md);
  font-family: var(--w-font-body);
  letter-spacing: 0.01em;
}
.w-btn--ghost,
.w-btn--secondary {
  --_bg:   transparent;
  --_bg-h: var(--w-bg-alt);
  --_bg-a: var(--w-border);
  --_fg:   var(--w-ink);
  --_border: var(--w-border-strong);
}

/* ── Nav ──────────────────────────────────────────────────────────── */

.w-nav {
  /* Solid surface — avoid backdrop-filter on this sticky header.
     Filter/blur creates a containing block that traps position:fixed
     descendants (tabbar/drawer) inside the short header box. */
  background: var(--w-paper);
  border-bottom: 1px solid var(--w-paper-edge);
  font-family: var(--w-font-body);
  padding-top: env(safe-area-inset-top, 0px);
}
.w-nav__logo {
  gap: 10px;
  min-width: 0;
}
.w-nav__logo strong {
  font-family: var(--w-font-display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--w-ink);
  min-width: 0;
}
@media (max-width: 1023px) {
  .w-nav__logo strong {
    font-size: 1.15rem;
  }
}
.w-nav__logo img {
  width: 32px;
  height: 32px;
}
.w-nav__cta--primary {
  background: var(--w-signal) !important;
  color: #fff !important;
  border-color: transparent !important;
  border-radius: var(--w-radius-md) !important;
  font-weight: 600;
}
.w-nav__cta--primary:hover {
  background: var(--w-signal-hover) !important;
}
.w-nav__cta--secondary {
  border: 1px solid var(--w-border-strong) !important;
  background: transparent !important;
  color: var(--w-ink) !important;
  border-radius: var(--w-radius-md) !important;
}
.w-nav__search-input {
  border-radius: var(--w-radius-md) !important;
  border-color: var(--w-paper-edge) !important;
  background: var(--w-paper-elev) !important;
  font-family: var(--w-font-body);
}
.w-nav__menu-trigger {
  font-family: var(--w-font-body);
  color: var(--w-ink);
}

/* Demote Share — keep in DOM but quieter */
.w-nav__cta--secondary[data-share-open] {
  opacity: 0.7;
  padding-inline: 10px;
}
.w-nav__cta--secondary[data-share-open] .w-nav__cta-label,
.w-nav__bar > .w-nav__cta--secondary[data-share-open] {
  font-size: 0;
}
.w-nav__cta--secondary[data-share-open] i {
  font-size: 0.95rem;
}

/* ── Homepage — full-bleed walk plane ─────────────────────────────── */

.w-home {
  background: var(--w-paper);
  color: var(--w-ink);
  font-family: var(--w-font-body);
}

.w-home-hero {
  display: block !important;
  grid-template-columns: none !important;
  min-height: min(92vh, 860px);
  padding: 0 !important;
  margin: 0 !important;
  position: relative;
  overflow: hidden;
  background: #0B0D10;
}

.w-home-hero__media {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  max-width: none !important;
}

.w-home-phone {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.w-home-phone__screen {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: min(92vh, 860px);
  border-radius: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative;
}

.w-home-phone__screen::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,10,14,0.88) 0%, rgba(8,10,14,0.45) 48%, rgba(8,10,14,0.25) 100%),
    linear-gradient(0deg, rgba(8,10,14,0.55) 0%, transparent 42%);
  pointer-events: none;
}

.w-home-phone__top,
.w-home-phone__play,
.w-home-phone__caption {
  display: none !important;
}

.w-home-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 720px;
  padding: clamp(5.5rem, 12vh, 8rem) clamp(1.25rem, 4vw, 3.5rem) 3rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  align-items: flex-start;
}

.w-home-brand {
  font-family: var(--w-font-display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  margin: 0;
  color: #fff;
  line-height: 1;
}

.w-home-brand span {
  color: var(--w-signal);
}

.w-home-kicker {
  font-family: var(--w-font-data);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72) !important;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.w-home-hero__copy h1 {
  font-family: var(--w-font-display) !important;
  font-size: var(--w-text-display-1) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
  margin: 0 !important;
  max-width: 14ch;
}

.w-home-hero__lede {
  font-size: 1.05rem !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,0.82) !important;
  max-width: 38ch;
  margin: 0 !important;
}

.w-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.35rem;
}

.w-home-btn {
  border-radius: var(--w-radius-md) !important;
  font-family: var(--w-font-body) !important;
  font-weight: 600 !important;
  padding: 0.7rem 1.15rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid transparent;
}

.w-home-btn--primary {
  background: var(--w-signal) !important;
  color: #fff !important;
}
.w-home-btn--primary:hover { background: var(--w-signal-hover) !important; color: #fff !important; }

.w-home-btn--dark,
.w-home-btn--plain {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.45) !important;
}
.w-home-btn--dark:hover,
.w-home-btn--plain:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
}

/* Kill stats strip */
.w-home-stats { display: none !important; }

.w-home-section {
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3.5rem) !important;
  max-width: 1440px;
  margin-inline: auto;
}
.w-home-section__label {
  font-family: var(--w-font-data) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--w-ink-subtle) !important;
  margin: 0 0 0.35rem !important;
}
.w-home-section__head h2 {
  font-size: var(--w-text-display-2) !important;
  max-width: 22ch;
}
.w-home-section__head a {
  color: var(--w-ink) !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid var(--w-signal);
}
.w-home-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--w-signal);
  display: inline-block;
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--w-signal) 55%, transparent);
  animation: w-live-pulse 1.6s ease-out infinite;
}
@keyframes w-live-pulse {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--w-signal) 55%, transparent); }
  70%  { box-shadow: 0 0 0 10px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .w-home-dot { animation: none; }
}

.w-home-walk__thumb {
  border-radius: var(--w-radius-md) !important;
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
}
.w-home-walk__badge {
  background: var(--w-signal) !important;
  border-radius: var(--w-radius-sm) !important;
  font-family: var(--w-font-data);
  letter-spacing: 0.06em;
}
.w-home-walk strong {
  font-family: var(--w-font-display);
  letter-spacing: -0.02em;
}

.w-home-split {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 3.5rem) clamp(3rem, 6vw, 5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--w-paper-edge);
  border: 1px solid var(--w-paper-edge);
}
.w-home-panel {
  background: var(--w-paper-elev) !important;
  padding: clamp(1.75rem, 4vw, 2.75rem) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.w-home-panel--dark {
  background: var(--w-ink) !important;
  color: #fff !important;
}
.w-home-panel--dark h2,
.w-home-panel--dark .w-home-section__label,
.w-home-panel--dark p { color: #fff !important; }
.w-home-panel--dark .w-home-section__label { opacity: 0.55; }
.w-home-link {
  color: var(--w-signal) !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid currentColor;
}
.w-home-panel--dark .w-home-link { color: #fff !important; }

@media (max-width: 800px) {
  .w-home-split { grid-template-columns: 1fr; }
  .w-home-hero__copy h1 { max-width: none; }
}

/* ── Browse walks hero (legacy) ───────────────────────────────────── */

.headerHeroNonLogggedin,
.headerHeroHomeNew,
.headerHeroLogggedin {
  background: var(--w-ink) !important;
  min-height: auto !important;
  padding: 2.75rem 0 2.25rem !important;
  border: 0 !important;
}
.headerHeroNonLogggedinInner,
.headerHeroHomeNewInner,
.headerHeroLogggedinInner {
  background: none !important;
  box-shadow: none !important;
}
.headerHeroNonLogggedin h1,
.headerHeroHomeNew h1,
#browse-location {
  font-family: var(--w-font-display) !important;
  font-size: clamp(2rem, 4.5vw, 3rem) !important;
  letter-spacing: -0.03em !important;
  color: #fff !important;
  max-width: 18ch;
}
.headerHeroNonLogggedin p,
.headerHeroHomeNew p {
  color: rgba(255,255,255,0.7) !important;
  max-width: 42ch;
  font-size: 1.05rem !important;
}
.headerHeroNonLogggedin .btn.themeBtn,
.headerHeroHomeNew .btn.themeBtn,
.walkActionBtn .btn.themeBtn {
  background: var(--w-signal) !important;
  border-color: var(--w-signal) !important;
  border-radius: var(--w-radius-md) !important;
  font-family: var(--w-font-body) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.breadcrumbsBlock a,
.breadcrumbsBlock li {
  color: rgba(255,255,255,0.55) !important;
}
.breadcrumbsBlock a:hover { color: #fff !important; }

/* Filter bar */
.topFilterArea {
  background: var(--w-paper-elev) !important;
  border: 1px solid var(--w-paper-edge) !important;
  border-radius: var(--w-radius-md) !important;
  padding: 1rem 1.15rem !important;
  margin: 1.25rem auto !important;
  max-width: 1440px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: end;
}
.topFilterArea label {
  font-family: var(--w-font-data);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--w-ink-subtle);
}
.topFilterArea select {
  border: 1px solid var(--w-border-strong) !important;
  border-radius: var(--w-radius-md) !important;
  background: #fff !important;
  font-family: var(--w-font-body) !important;
  min-height: 40px;
  padding: 0.35rem 0.6rem;
}
.topWalkTabs ul {
  display: flex;
  gap: 0;
  border: 1px solid var(--w-border-strong);
  border-radius: var(--w-radius-md);
  overflow: hidden;
}
.topWalkTabs li { margin: 0 !important; }
.topWalkTabs a {
  display: block;
  padding: 0.55rem 1rem !important;
  font-family: var(--w-font-body) !important;
  font-weight: 600 !important;
  color: var(--w-ink-muted) !important;
  background: #fff !important;
  text-decoration: none !important;
}
.topWalkTabs li.active a {
  background: var(--w-ink) !important;
  color: #fff !important;
}

.walkArea,
.walkAreaInner {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 2rem);
}
.walkAreaInner {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem 1.15rem;
}
.walkAreaInner > * { width: 100% !important; float: none !important; }
.walkAreaBlock,
.walkAreaContent {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.walkAreaBot { display: none !important; } /* superseded by card meta strip */

/* Kill legacy float % widths that fight the v2 CSS grid */
@media (max-width: 1040px) {
  div.walkAreaInner,
  div.doubleColumnContainer div.walkAreaInner {
    max-width: none !important;
    width: 100% !important;
  }
  div.walkAreaInner div.walkAreaBlock,
  div.doubleColumnContainer div.walkAreaInner div.walkAreaBlock {
    width: 100% !important;
    float: none !important;
  }
}

.w-livewalks-loading {
  position: sticky;
  top: calc(64px + env(safe-area-inset-top, 0px));
  z-index: 40;
  display: flex;
  justify-content: center;
  padding: 0.5rem;
  pointer-events: none;
}
.w-livewalks-loading img {
  background: rgba(255,255,255,0.92);
  border-radius: 999px;
  padding: 0.35rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.searchFilterListArea {
  max-width: 1440px;
  margin: 1rem auto 0;
  padding-inline: clamp(1rem, 3vw, 2rem);
}
.searchFilterListArea a { color: var(--w-ink-muted); }

/* ── Walk cards ───────────────────────────────────────────────────── */

.w-walk-card {
  border-radius: var(--w-radius-md) !important;
  box-shadow: none !important;
  outline: 1px solid var(--w-paper-edge);
  background: #0B0D10;
  transition: outline-color 160ms ease;
}
.w-walk-card:hover {
  transform: none !important;
  box-shadow: none !important;
  outline-color: var(--w-ink);
}
.w-walk-card__overlay {
  display: none !important; /* title/meta live below the poster now */
}
.w-walk-card__shade {
  opacity: 0.35;
  background: linear-gradient(to top, rgba(0,0,0,0.55), transparent 55%) !important;
}
.w-walk-card-meta__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  margin: 0.2rem 0 0;
  padding: 0;
  font-family: var(--w-font-data);
  font-size: 0.7rem;
  color: var(--w-ink-subtle);
}
.w-walk-card-meta__stats li {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.w-walk-card__badge {
  border-radius: var(--w-radius-sm) !important;
  font-family: var(--w-font-data) !important;
  background: rgba(0,0,0,0.72) !important;
}
.w-walk-card__badge--live {
  background: var(--w-signal) !important;
}
.w-walk-card__play {
  background: color-mix(in srgb, var(--w-signal) 90%, #000) !important;
  border-radius: 50%;
}

/* Caption strip under hover cards (new markup) */
.w-walk-card-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.w-walk-card-meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-height: 3.2rem;
}
.w-walk-card-meta__title {
  font-family: var(--w-font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--w-ink);
  line-height: 1.2;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.w-walk-card-meta__title:hover { color: var(--w-route); }
.w-walk-card-meta__sub {
  font-size: 0.8rem;
  color: var(--w-ink-muted);
  line-height: 1.3;
}
.w-walk-card-meta__sub a {
  color: var(--w-ink);
  font-weight: 600;
  text-decoration: none;
}
.w-walk-card-meta__sub a:hover { color: var(--w-route); }

/* Legacy list footers under thumbs — tone down teal spam */
.walkInfoBottom a,
.walkListInfo a,
.walkDetailArea a {
  color: var(--w-ink) !important;
}
.walkDetailArea,
.walkListInfo {
  color: var(--w-ink-muted) !important;
  font-size: 0.85rem !important;
}

/* Refresh entity tiles (marketplace / recommended) — not walk media frames */
.w-walk-grid > a.w-walk-card {
  outline: 1px solid var(--w-paper-edge);
  border-radius: var(--w-radius-md);
  overflow: hidden;
  background: var(--w-paper-elev);
}
a.w-walk-card .w-walk-card__thumb {
  border-radius: 0 !important;
  aspect-ratio: 16 / 10;
}
a.w-walk-card .w-walk-card__body {
  padding: 0.75rem 0.85rem 1rem !important;
}
a.w-walk-card .w-walk-card__body h3,
a.w-walk-card .w-walk-card__title {
  font-family: var(--w-font-display) !important;
}

/* Marketplace / places paper pages */
.w-hero {
  background: var(--w-ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
}
.w-hero__cta--primary {
  background: var(--w-signal) !important;
  border-radius: var(--w-radius-md) !important;
}
.w-section__title {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.03em;
}

/* Auth pages */
.loginFormArea,
.registerFormArea,
.formContainer {
  font-family: var(--w-font-body);
}
.btn.themeBtn,
.xlBtn.themeBtn {
  background: var(--w-signal) !important;
  border-color: var(--w-signal) !important;
  border-radius: var(--w-radius-md) !important;
  font-family: var(--w-font-body) !important;
  font-weight: 600 !important;
}

/* Footer quiet */
.footerArea,
.siteFooter,
footer,
.footerAreaTop,
.footerAreaBottom {
  background: var(--w-ink) !important;
  color: rgba(255,255,255,0.65) !important;
}
.footerArea a,
.siteFooter a,
footer a,
.footerAreaTop a,
.footerAreaBottom a {
  color: rgba(255,255,255,0.8) !important;
}
.footerArea h2,
.footerArea h3,
.footerArea h4,
.footerAreaTop h2,
.footerAreaTop h3 {
  font-family: var(--w-font-display) !important;
  color: #fff !important;
  letter-spacing: -0.02em;
}
.footerLogo a {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none !important;
  color: #fff !important;
}
.footerLogo strong {
  font-family: var(--w-font-display);
  font-size: 1.25rem;
  letter-spacing: -0.04em;
  color: #fff;
}
.footerLogo img {
  width: 28px;
  height: 28px;
}
.footerContent ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.1rem;
  list-style: none;
  margin: 1rem 0 0.75rem;
  padding: 0;
}
.footerContent a:hover { color: #fff !important; }
.footerAreaInner {
  padding: 2.5rem 0 2rem !important;
  border-top: 0 !important;
}

/* Legacy process / marketing blocks */
.walkStatArea { display: none !important; }
.walkProcessArea {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 3vw, 2rem);
}
.walkProcessArea h2 {
  font-family: var(--w-font-display) !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  letter-spacing: -0.03em;
  color: var(--w-ink) !important;
  max-width: 20ch;
}
.processBlockContent h3 {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.02em;
  color: var(--w-ink) !important;
}
.processBlockContent p {
  color: var(--w-ink-muted) !important;
  font-size: 0.95rem !important;
}

/* Marketplace / browse / places / search paper surfaces */
.w-marketplace,
.w-places,
.w-browse,
.w-search,
.w-profile,
.w-tours,
.w-recommended,
.marketplaceArea,
.tourCompaniesArea,
.contentHeading h2,
.pageHeading h1,
.pageHeading h2 {
  font-family: var(--w-font-body);
}
.contentHeading h2,
.pageHeading h1,
.w-section__title,
.w-hero__title {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.03em;
  color: var(--w-ink);
}
.w-hero__title { color: #fff !important; }
.w-card,
.w-offer-card,
.w-request-card,
.w-tour-card,
.w-place-card {
  background: var(--w-paper-elev) !important;
  border: 1px solid var(--w-paper-edge) !important;
  border-radius: var(--w-radius-md) !important;
  box-shadow: none !important;
}
.w-btn--primary,
.w-button--primary,
a.w-btn-primary {
  background: var(--w-signal) !important;
  border-color: var(--w-signal) !important;
  color: #fff !important;
  border-radius: var(--w-radius-md) !important;
}

/* Auth forms */
.loginFormArea,
.registerFormArea,
.signupFormArea {
  background: var(--w-paper) !important;
  font-family: var(--w-font-body);
}
.signupHeroArea {
  background: var(--w-ink) !important;
  padding: 1.75rem 1rem !important;
  text-align: center;
}
.signupHeroArea .logo img {
  height: 36px;
  width: auto;
}
.signupFormBlock,
.signupFormContent {
  background: var(--w-paper-elev) !important;
  border: 1px solid var(--w-paper-edge) !important;
  border-radius: var(--w-radius-lg) !important;
  box-shadow: none !important;
}
.loginFormArea h1,
.loginFormArea h2,
.registerFormArea h1,
.registerFormArea h2,
.signupFormContent h2,
.formContainer h1,
.formContainer h2 {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.03em;
  color: var(--w-ink) !important;
}
.signupFormContent p,
.signupFormContent a,
.signupFormContent label,
.signupFormContent span,
.signupFormContent li {
  font-family: var(--w-font-body) !important;
  color: var(--w-ink-muted);
}
.signupFormContent a { color: var(--w-route) !important; }
.signupFormContent .btn.themeBtn,
.signupFormContent .xlBtn.themeBtn,
.formBtns .themeBtn {
  background: var(--w-signal) !important;
  border-color: var(--w-signal) !important;
  color: #fff !important;
  border-radius: var(--w-radius-md) !important;
  font-family: var(--w-font-body) !important;
  font-weight: 600 !important;
}
.signupFormContent .btn.themeBtn:hover,
.formBtns .themeBtn:hover {
  background: var(--w-signal-hover) !important;
  border-color: var(--w-signal-hover) !important;
}
.loginFormArea input[type="text"],
.loginFormArea input[type="email"],
.loginFormArea input[type="password"],
.registerFormArea input[type="text"],
.registerFormArea input[type="email"],
.registerFormArea input[type="password"],
.signupFormArea input[type="text"],
.signupFormArea input[type="email"],
.signupFormArea input[type="password"],
.formContainer input[type="text"],
.formContainer input[type="email"],
.formContainer input[type="password"],
.formContainer select,
.formContainer textarea {
  border: 1px solid var(--w-border-strong) !important;
  border-radius: var(--w-radius-md) !important;
  font-family: var(--w-font-body) !important;
  background: #fff !important;
}
.btn.whiteBtn,
.lBtn.whiteBtn {
  background: transparent !important;
  border: 1px solid var(--w-border-strong) !important;
  color: var(--w-ink) !important;
  border-radius: var(--w-radius-md) !important;
}

/* Watch / live chrome — keep dark, signal orange accents */
.watchPage,
.liveWatchArea,
.walkWatchArea {
  font-family: var(--w-font-body);
}
.liveBadge,
.badge-live,
.is-live-pill {
  background: var(--w-signal) !important;
  color: #fff !important;
  border-radius: var(--w-radius-sm) !important;
  font-family: var(--w-font-data) !important;
}

/* Dashboard / account shells */
.dashboardArea,
.myAccountArea,
.profileArea,
.settingArea,
.doubleColumnContainer,
.doubleColumnContent,
.w-profile-map-panel {
  font-family: var(--w-font-body);
  color: var(--w-ink);
}
.dashboardArea h1,
.dashboardArea h2,
.myAccountArea h1,
.myAccountArea h2,
.profileArea h1,
.settingArea h1,
.w-profile-map-panel h2,
.doubleColumnContent h1,
.doubleColumnContent h2 {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.03em;
}
.w-profile-map-panel {
  background: var(--w-paper-elev);
  border: 1px solid var(--w-paper-edge);
  border-radius: var(--w-radius-md);
  padding: 1.25rem;
}
.w-profile-map-panel__head p {
  color: var(--w-ink-muted);
}
.doubleColumnSidebar {
  font-family: var(--w-font-body);
}

/* Kill leftover teal theme spam on common legacy buttons */
a.themeBtn,
button.themeBtn,
.btn.themeBtn,
.xlBtn {
  background: var(--w-signal) !important;
  border-color: var(--w-signal) !important;
  color: #fff !important;
}
a.themeBtn:hover,
button.themeBtn:hover,
.btn.themeBtn:hover {
  background: var(--w-signal-hover) !important;
  border-color: var(--w-signal-hover) !important;
}

/* Pagination */
.pagination li.active span,
.pagination li.active a,
.page-item.active .page-link {
  background: var(--w-ink) !important;
  border-color: var(--w-ink) !important;
  color: #fff !important;
}
.pagination a,
.page-link {
  color: var(--w-ink) !important;
  border-radius: var(--w-radius-sm) !important;
}

/* Blog / release notes — pull into Route Signal */
.rn-page,
.bp-list {
  background: var(--w-paper);
  font-family: var(--w-font-body);
  color: var(--w-ink);
}
.rn-page__head h1,
.bp-card__title,
.rn-entry__title {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.03em;
  color: var(--w-ink) !important;
}
.bp-card {
  background: var(--w-paper-elev) !important;
  border: 1px solid var(--w-paper-edge) !important;
  border-radius: var(--w-radius-md) !important;
  box-shadow: none !important;
}
.rn-page__sub a,
.bp-card__link {
  color: var(--w-route);
}

/* Similar walks rail on watch */
.similarWalksBlock {
  outline: 1px solid var(--w-paper-edge);
  border-radius: var(--w-radius-md);
  overflow: hidden;
  background: var(--w-paper-elev);
}
.similarWalksInfo h4,
.similarWalksInfo h5,
.similarWalksInfo p {
  font-family: var(--w-font-body);
  color: var(--w-ink);
}
.similarWalksInfo a { color: var(--w-route) !important; }

/* World map / browse frame */
.w-world-frame {
  border: 1px solid var(--w-paper-edge) !important;
  border-radius: var(--w-radius-md) !important;
  overflow: hidden;
}
.w-crumbs a { color: var(--w-route) !important; }
.w-crumbs__sep { color: var(--w-ink-subtle) !important; }

/* Ghost CTAs on paper pages */
.w-hero__cta--ghost {
  border: 1px solid var(--w-border-strong) !important;
  color: var(--w-ink) !important;
  background: transparent !important;
  border-radius: var(--w-radius-md) !important;
}
.w-hero__cta--ghost:hover {
  background: var(--w-bg-alt) !important;
}

/* Share label accessibility (visually hidden text) */
.w-nav__cta-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Dead social share stubs in legacy headers */
.headerHeroLogggedin .shareBlock,
.headerHeroNonLogggedin .shareBlock {
  display: none !important;
}
.logggedinHeadings h2 {
  font-family: var(--w-font-display) !important;
  letter-spacing: -0.03em;
  color: #fff !important;
}
.logggedinHeadings p {
  color: rgba(255,255,255,0.7) !important;
  max-width: 42ch;
}
.wireBtn,
.wireBtnBlueO,
.wireBtnGray {
  border-radius: var(--w-radius-md) !important;
  font-family: var(--w-font-body) !important;
}
