:root {
  --bg: #120806;
  --bg-2: #1c0d08;
  --panel: rgba(47, 24, 15, .78);
  --panel-strong: rgba(61, 31, 19, .88);
  --panel-soft: rgba(255, 238, 211, .075);
  --line: rgba(255, 210, 142, .22);
  --line-strong: rgba(255, 196, 103, .40);
  --cream: #fff6ea;
  --muted: rgba(255, 246, 234, .72);
  --soft: rgba(255, 246, 234, .56);
  --gold: #ffc76f;
  --gold-2: #ff9e34;
  --gold-soft: #ffe0a5;
  --brown: #35180e;
  --green: #7ee074;
  --danger: #ff7368;
  --shadow: 0 18px 42px rgba(0, 0, 0, .34);
  --shadow-soft: 0 10px 24px rgba(0, 0, 0, .24);
  --radius-lg: 28px;
  --radius-md: 20px;
  --radius-sm: 14px;
  --content-width: 520px;
  --gap: 12px;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: #0d0504; }
body {
  min-height: 100dvh;
  margin: 0;
  overflow-x: hidden;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--cream);
  background: transparent;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.modal-open { overflow: hidden; }
body.modal-open,
.modal,
.modal-backdrop,
.day-picker-modal,
.donate-modal,
.install-modal,
.all-map-modal,
.rb-map-picker-modal,
.hero-info-panel {
  overscroll-behavior: contain;
}
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; }

.bean-photo-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: url("assets/epic-coffee-beans-bg.webp") center top / cover no-repeat;
}
.bean-photo-bg::after {
  content: none;
}
.ambient-glow,
.grain {
  display: none !important;
}

.app-shell {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 22px), var(--content-width));
  margin: 0 auto;
  padding: calc(12px + env(safe-area-inset-top)) 0 calc(26px + env(safe-area-inset-bottom));
}

.hidden { display: none !important; }
.glass,
.hero-card,
.stop-card,
.map-panel,
.support-card,
.notice,
.footer-note,
.donate-modal,
.all-map-modal {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 194, 104, .10), transparent 13rem),
    linear-gradient(145deg, rgba(55, 27, 17, .78), rgba(25, 11, 8, .74));
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
}

/* HERO */
.hero-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: auto;
  padding: 18px 14px 17px;
  border-radius: 30px;
  text-align: center;
  margin-bottom: 12px;
}
.hero-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 190, 96, .15), transparent 13rem),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 44%);
  pointer-events: none;
}
.hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .35;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 30px 30px;
  mask-image: linear-gradient(180deg, black, transparent 80%);
}
.hero-shine,
.steam-wrap { display: none !important; }
.hero-topline {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}
.hero-kicker-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 30px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 238, 211, .08);
  border: 1px solid rgba(255, 226, 181, .18);
  color: rgba(255, 229, 188, .92);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .64rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-kicker-pill::before { content: "◐"; color: var(--gold); font-size: .78rem; letter-spacing: 0; }

.inline-brand-logo {
  position: relative;
  width: min(100%, 340px);
  margin: 0 auto 14px;
  padding: 13px 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 75%, rgba(255, 190, 96, .16), transparent 9rem),
    linear-gradient(145deg, rgba(255,244,222,.12), rgba(255,244,222,.035));
  border: 1px solid rgba(255, 226, 181, .22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 13px 26px rgba(0,0,0,.18);
}
.inline-brand-logo::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 12px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 177, 74, .12), transparent 70%);
  filter: blur(8px);
  z-index: 0;
}
.inline-brand-words,
.inline-brand-van { position: relative; z-index: 1; }
.inline-brand-words {
  order: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  line-height: 1;
}
.inline-brand-words span {
  color: rgba(255, 226, 181, .94);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .66rem;
  font-weight: 900;
}
.inline-brand-words strong {
  color: var(--cream);
  font-size: clamp(1.38rem, 6.1vw, 1.9rem);
  letter-spacing: -.052em;
  line-height: .96;
  text-shadow: 0 8px 18px rgba(0,0,0,.26);
}
.inline-brand-van {
  order: 2;
  display: block;
  width: min(96%, 238px);
  height: auto;
  max-height: 96px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.28));
}

.hero-card h1 {
  margin: 0 auto 14px;
  max-width: 410px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.18rem, 11.8vw, 3.65rem);
  line-height: .94;
  letter-spacing: -.058em;
  color: var(--cream);
  text-shadow: 0 16px 32px rgba(0,0,0,.26);
}
.hero-card h1 span {
  display: inline-block;
  color: var(--gold);
  background: linear-gradient(92deg, #ffe8b7 0%, #ffc06d 44%, #ff9a34 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-copy {
  width: 100%;
  max-width: 430px;
  margin: 0 auto 12px;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
  text-align: left;
  color: rgba(255,246,234,.83);
  border: 1px solid rgba(255,226,181,.19);
  background: rgba(255,244,222,.075);
  border-radius: 18px;
  font-size: .88rem;
  line-height: 1.42;
  font-weight: 760;
}
.disclaimer-icon {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #3b190d;
  background: linear-gradient(135deg, #ffe1a0, #ffb04c);
  font-weight: 950;
  font-family: Georgia, serif;
  box-shadow: 0 7px 14px rgba(0,0,0,.18);
}
.hero-actions {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  display: grid;
  gap: 9px;
}
.btn {
  appearance: none;
  border: 0;
  min-height: 56px;
  padding: 0 18px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 900;
  font-size: .99rem;
  line-height: 1;
  color: var(--cream);
  background: rgba(255,244,222,.09);
  border: 1px solid rgba(255,226,181,.20);
  box-shadow: 0 9px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}
.btn:active { transform: translateY(1px) scale(.99); }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-primary {
  color: #2f160b;
  border-color: rgba(255,231,179,.52);
  background: linear-gradient(135deg, #ffe4aa 0%, #ffc468 48%, #ff9e34 100%);
  box-shadow: 0 14px 26px rgba(255, 164, 62, .22), inset 0 1px 0 rgba(255,255,255,.38);
}
.btn-soft,
.btn-map-all {
  background: linear-gradient(145deg, rgba(255,244,222,.105), rgba(255,244,222,.045));
}
.hero-actions .btn::after,
.map-seg::after,
.route-main::after,
.closest-route-btn .closest-route-chevron {
  content: "›";
  margin-left: auto;
  font-size: 1.35rem;
  line-height: 1;
  opacity: .78;
}
.hero-actions .btn { justify-content: flex-start; }
.btn-spark { width: 20px; text-align: center; }
.status-text {
  margin: 11px auto 0;
  max-width: 430px;
  color: rgba(255,246,234,.70);
  font-size: .84rem;
  line-height: 1.35;
  font-weight: 800;
}
.status-text::before { content: "☕"; margin-right: 7px; opacity: .8; }

/* SUMMARY */
.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gap);
  margin-bottom: 12px;
}
.summary-card {
  min-height: 116px;
  padding: 14px 12px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.summary-card::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 12px;
  width: 22px;
  height: 22px;
  opacity: .62;
  color: var(--gold);
  font-size: 1.1rem;
}
.summary-card:nth-child(1)::after { content: "▣"; }
.summary-card:nth-child(2)::after { content: "●"; }
.status-summary-card::after { content: "↗"; }
.mini-label {
  margin: 0 0 8px;
  color: rgba(255, 226, 181, .84);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .63rem;
  line-height: 1.2;
  font-weight: 950;
}
.summary-card h2 {
  margin: 0;
  font-size: clamp(1.26rem, 5.4vw, 1.65rem);
  letter-spacing: -.06em;
  line-height: 1.02;
}
.status-summary-card h2 { font-size: clamp(1.04rem, 4.6vw, 1.36rem); }
.status-summary-card small {
  display: block;
  margin-top: 7px;
  color: rgba(255,246,234,.68);
  font-size: .70rem;
  line-height: 1.25;
  font-weight: 760;
}
.wide-card { grid-column: 1 / -1; }

/* FEATURED */
.closest-card {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 13px 14px 14px;
  border-radius: 22px;
  margin-bottom: 12px;
  border-color: rgba(255, 200, 105, .30);
  background:
    radial-gradient(circle at 92% 58%, rgba(255, 178, 74, .16), transparent 11rem),
    linear-gradient(145deg, rgba(52,25,15,.90), rgba(25,11,8,.88));
}
.closest-card-bg { display: none; }
.closest-route {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-areas:
    "icon copy"
    "button button";
  gap: 12px;
  align-items: center;
}
.closest-medallion {
  grid-area: icon;
  width: 58px;
  height: 58px;
  border-radius: 19px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #ffe3a4, #d28a36);
  border: 1px solid rgba(255,246,234,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 24px rgba(0,0,0,.24);
}
.closest-medallion img { width: 40px; height: 40px; display: block; }
.closest-pin { color: #39180c; font-weight: 900; }
.closest-copy { grid-area: copy; min-width: 0; text-align: left; }
.closest-kicker {
  margin-bottom: 3px;
  color: rgba(255, 226, 181, .88);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .65rem;
  font-weight: 950;
}
.closest-kicker span {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 5px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(126,224,116,.12);
}
.closest-copy h2 {
  margin: 0;
  font-size: clamp(1.35rem, 6.5vw, 1.9rem);
  line-height: 1.04;
  letter-spacing: -.065em;
}
.closest-chip-row {
  margin-top: 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}
.closest-chip-row strong,
.closest-chip-row span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 900;
  line-height: 1;
}
.closest-chip-row strong { color: #34170b; background: linear-gradient(135deg, #ffe0a1, #ffad48); }
.closest-chip-row span { color: rgba(255,246,234,.76); background: rgba(255,244,222,.10); border: 1px solid rgba(255,226,181,.14); }
.closest-copy small {
  display: block;
  margin-top: 8px;
  color: rgba(255,246,234,.70);
  font-size: .79rem;
  line-height: 1.35;
  font-weight: 750;
}
.closest-route-btn {
  grid-area: button;
  min-height: 54px;
  padding: 8px 12px;
  width: 100%;
  border-radius: 18px;
  border: 1px solid rgba(255,226,181,.28);
  background: linear-gradient(135deg, #fff1cb, #ffbd5d);
  color: #32160b;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.45);
  font-weight: 900;
}
.closest-route-icon,
.route-icon,
.provider-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}
.closest-route-icon svg,
.route-icon svg,
.provider-logo svg,
.closest-route-icon img,
.route-icon img,
.provider-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.closest-route-label { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.05; }
.closest-route-label small { font-size: .70rem; opacity: .72; }
.closest-route-chevron svg { display:none; }

/* MAP PREF */
.map-panel {
  width: 100%;
  padding: 14px;
  border-radius: 22px;
  margin-bottom: 12px;
  display: grid;
  gap: 12px;
}
.map-copy h2,
.support-card h2 {
  margin: 0 0 5px;
  font-size: clamp(1.35rem, 6vw, 1.75rem);
  letter-spacing: -.06em;
  line-height: 1.02;
}
.map-copy p:not(.mini-label),
.support-card p,
.footer-note,
.notice {
  margin: 0;
  color: rgba(255,246,234,.70);
  font-size: .82rem;
  line-height: 1.35;
  font-weight: 740;
}
.map-segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 5px;
  border-radius: 19px;
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,226,181,.14);
}
.map-seg {
  appearance: none;
  border: 0;
  min-height: 50px;
  padding: 0 12px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  cursor: pointer;
  color: var(--cream);
  background: transparent;
  font-weight: 900;
  white-space: nowrap;
}
.map-seg::after { display: none; }
.map-seg.active,
.map-seg[aria-pressed="true"] {
  color: #32160b;
  background: linear-gradient(135deg, #fff0c9, #ffbd5d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42);
}
.apple-logo svg { fill: currentColor; }

.notice {
  padding: 12px 14px;
  border-radius: 18px;
  margin-bottom: 12px;
}

/* RESULTS */
.results {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.results:not([data-schedule-pill])::before {
  content: "Schedule";
}
.results::before {
  content: attr(data-schedule-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 62px;
  margin: 0 0 2px;
  padding: 10px 18px 13px;
  border-radius: 24px;
  color: #fff8ec;
  background:
    radial-gradient(circle at 18% 12%, rgba(67, 205, 245, .24), transparent 8rem),
    radial-gradient(circle at 90% 84%, rgba(255, 199, 111, .20), transparent 8rem),
    linear-gradient(135deg, rgba(10, 36, 61, .82), rgba(21, 89, 143, .44));
  border: 1px solid rgba(255,226,181,.34);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255,255,255,.10);
  text-transform: none;
  letter-spacing: .015em;
  text-align: center;
  font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", "Bradley Hand", cursive;
  font-size: clamp(2.65rem, 12vw, 4.4rem);
  line-height: .84;
  font-weight: 700;
  text-shadow: 0 3px 14px rgba(0,0,0,.34);
  overflow: hidden;
}
.stop-card {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 14px;
  border-radius: 21px;
  border-color: rgba(255,226,181,.17);
  background:
    radial-gradient(circle at 94% 20%, rgba(255, 185, 88, .12), transparent 8rem),
    linear-gradient(145deg, rgba(255,244,222,.095), rgba(255,244,222,.035));
}
.stop-glow { display: none; }
.card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.open-chip,
.distance-chip {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}
.open-chip { color: #3d1a0d; background: linear-gradient(135deg, #f8e0aa, #ce9147); }
.distance-chip { color: rgba(255,246,234,.85); background: rgba(255,244,222,.10); border: 1px solid rgba(255,226,181,.15); }
.open-now-chip { background: linear-gradient(135deg, #d5ffbc, #75d966); }
.closing-chip { background: linear-gradient(135deg, #ffe0a1, #ffaf3d); }
.upcoming-chip,
.scheduled-chip { background: linear-gradient(135deg, #f7dfaa, #dba461); }
.verify-time-chip { background: rgba(255,244,222,.12); color: var(--cream); border: 1px solid rgba(255,226,181,.2); }
.stop-name {
  margin: 0;
  font-size: clamp(1.18rem, 5.7vw, 1.62rem);
  line-height: 1.06;
  letter-spacing: -.06em;
}
.stop-time,
.stop-address,
.stop-source {
  margin: 7px 0 0;
  color: rgba(255,246,234,.70);
  line-height: 1.35;
  font-size: .83rem;
  font-weight: 760;
}
.stop-time { color: var(--gold); font-weight: 900; }
.route-main {
  width: 100%;
  min-height: 54px;
  margin-top: 12px;
  padding: 8px 12px;
  border: 1px solid rgba(255,226,181,.28);
  border-radius: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #32160b;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.45);
}
.route-text { font-weight: 950; }
.route-provider { margin-left: -3px; font-size: .72rem; opacity: .72; font-weight: 900; }
.route-main::after { color: #6e3b13; }
.empty-card::after { content: none; }

/* SUPPORT */
.support-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 22px;
  margin-bottom: 12px;
}
.support-card::before {
  content: "♥";
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff0c9;
  background: rgba(255, 190, 96, .14);
  border: 1px solid rgba(255,226,181,.16);
  font-size: 1.25rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.btn-donate {
  color: #32160b;
  background: linear-gradient(135deg, #ffe7ae, #ffad42);
  border-color: rgba(255,226,181,.40);
}
.footer-note {
  display: block;
  padding: 14px;
  border-radius: 18px;
  text-align: center;
  margin-bottom: 4px;
}

/* MODALS */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom));
}
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 4, 3, .68);
  backdrop-filter: blur(10px);
}
.modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: var(--cream);
  background: rgba(255,244,222,.12);
  border: 1px solid rgba(255,226,181,.13);
  font-size: 1.85rem;
  font-weight: 900;
  cursor: pointer;
}
.donate-modal,
.all-map-modal {
  position: relative;
  width: min(calc(100vw - 20px), var(--content-width));
  max-height: min(92dvh, 860px);
  overflow: auto;
  border-radius: 28px;
  padding: 18px 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,207,131,.55) rgba(255,255,255,.06);
}
.donate-modal { text-align: center; }
.donate-modal h2 {
  margin: 4px auto 10px;
  max-width: 340px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 9vw, 2.8rem);
  line-height: .95;
  letter-spacing: -.06em;
}
.donate-modal > p {
  margin: 0 auto 14px;
  max-width: 320px;
  color: rgba(255,246,234,.72);
  font-weight: 800;
  line-height: 1.35;
}
.qr-frame {
  width: min(100%, 280px);
  margin: 0 auto 12px;
  padding: 14px;
  border-radius: 24px;
  background: #f2f2f2;
  box-shadow: 0 16px 34px rgba(0,0,0,.25);
}
.qr-frame img { width: 100%; display: block; border-radius: 12px; }
.venmo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  width: min(100%, 300px);
  margin: 0 auto 12px;
  border-radius: 999px;
  color: #32160b;
  text-decoration: none;
  font-weight: 900;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
}
.modal-ok { width: min(100%, 300px); margin: 0 auto 10px; }
.donate-modal small {
  display: block;
  color: rgba(255,246,234,.68);
  font-weight: 800;
  line-height: 1.35;
}

.all-map-modal { padding: 18px 14px 16px; }
.all-map-head {
  padding-right: 52px;
  margin-bottom: 12px;
}
.all-map-head h2 {
  margin: 0;
  font-size: clamp(1.8rem, 8vw, 2.35rem);
  letter-spacing: -.065em;
  line-height: 1;
}
.all-map-head p {
  margin: 8px 0 0;
  color: rgba(255,246,234,.70);
  font-size: .88rem;
  line-height: 1.35;
  font-weight: 780;
}
.all-map-preview {
  position: relative;
  width: 100%;
  height: min(58dvh, 420px);
  min-height: 315px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,226,181,.22);
  background: rgba(255,244,222,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(0,0,0,.18);
}
.all-pins-leaflet-map,
.all-pins-google-map { width: 100%; height: 100%; }
.all-map-preview-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
  color: rgba(255,246,234,.70);
  font-weight: 850;
  padding: 20px;
}
.leaflet-stop-number-label,
.leaflet-user-label {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #3a1a0c !important;
  font-weight: 950 !important;
  font-size: 12px !important;
}
.leaflet-user-label { color: #173b11 !important; font-size: 11px !important; }
.all-map-stops {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}
.all-map-stop {
  display: block;
  padding: 12px 13px;
  border-radius: 16px;
  color: var(--cream);
  text-decoration: none;
  background: rgba(255,244,222,.075);
  border: 1px solid rgba(255,226,181,.14);
}
.all-map-stop strong { display:block; font-size: .96rem; line-height: 1.2; }
.all-map-stop span { display:block; margin-top:4px; color: rgba(255,246,234,.62); font-size: .78rem; line-height: 1.3; font-weight: 780; }

/* Desktop keeps a premium phone-app feel without stretching */
@media (min-width: 620px) {
  :root { --content-width: 560px; }
  .app-shell { padding-top: 24px; }
  .hero-card { padding: 22px 18px 20px; }
  .hero-actions { grid-template-columns: 1fr 1fr; }
  .hero-actions .btn-map-all { grid-column: 1 / -1; width: min(100%, 300px); justify-self: center; }
  .closest-route {
    grid-template-columns: 64px minmax(0,1fr) 145px;
    grid-template-areas: "icon copy button";
  }
  .closest-route-btn { width: 145px; justify-self: end; }
  .map-panel { grid-template-columns: 1fr; }
  .support-card { grid-template-columns: 48px minmax(0,1fr); align-items:center; }
  .support-card .btn-donate { grid-column: 1 / -1; }
}

@media (max-width: 390px) {
  .app-shell { width: min(calc(100% - 16px), var(--content-width)); }
  .hero-card { padding: 16px 12px; border-radius: 26px; }
  .hero-card h1 { font-size: clamp(2rem, 11.3vw, 2.65rem); }
  .inline-brand-logo { padding: 12px 12px 11px; }
  .inline-brand-van { width: min(98%, 210px); max-height: 84px; }
  .summary-grid { gap: 8px; }
  .summary-card { padding: 12px 9px; min-height: 108px; }
  .summary-card h2 { font-size: 1.15rem; }
  .status-summary-card h2 { font-size: 1rem; }
  .status-summary-card small { font-size: .65rem; }
  .map-segmented { grid-template-columns: 1fr; }
}


/* v51 cleanup: remove duplicate unofficial pill spacing */
.hero-card .hero-topline:empty {
  display: none !important;
  margin: 0 !important;
}

#locateBtn.hidden {
  display: none !important;
}

#locateBtn.is-locating {
  opacity: .72;
  pointer-events: none;
}

.hero-actions {
  transition: gap .18s ease;
}


/* v52: convert location button into a small refresh link after GPS is ready */
#locateBtn.is-location-refresh {
  order: 5;
  grid-column: 1 / -1;
  justify-self: center;
  width: auto;
  min-height: 0;
  padding: 4px 8px 2px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: rgba(255, 222, 164, .92);
  font-size: .78rem;
  line-height: 1.25;
  font-weight: 850;
  letter-spacing: .01em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

#locateBtn.is-location-refresh::after {
  display: none;
}

#locateBtn.is-location-refresh .btn-spark {
  width: auto;
  opacity: .82;
}

#locateBtn.is-location-refresh:hover,
#locateBtn.is-location-refresh:focus-visible {
  color: #ffe8bc;
  background: rgba(255,244,222,.045);
}

#locateBtn.is-location-refresh.is-locating {
  opacity: .72;
  text-decoration: none;
}

@media (min-width: 620px) {
  #locateBtn.is-location-refresh {
    margin-top: -2px;
  }
}

/* v53 revised: cleaner premium coffee bean background */

/* v53 final: single clean coffee-bean background only, no extra overlays */

/* v54: full roasted-bean background, no smoke, no extra background overlays */


/* v55: premium loading states + Waze option */
@keyframes rbSpin {
  to { transform: rotate(360deg); }
}
@keyframes rbPulseGlow {
  0%, 100% { opacity: .62; transform: scale(.98); }
  50% { opacity: 1; transform: scale(1.02); }
}
@keyframes rbShimmer {
  0% { transform: translateX(-115%); }
  100% { transform: translateX(115%); }
}

.status-text {
  min-height: 1.4em;
}
body.is-loading-schedule .status-text::before,
body.is-locating-user .status-text::before {
  content: "";
  width: .92em;
  height: .92em;
  display: inline-block;
  margin-right: 8px;
  border-radius: 50%;
  border: 2px solid rgba(255, 224, 165, .25);
  border-top-color: rgba(255, 199, 111, .95);
  vertical-align: -0.12em;
  animation: rbSpin .85s linear infinite;
}

body.is-loading-schedule .summary-card h2,
body.is-loading-schedule .status-summary-card small,
body.is-loading-schedule #closestStop h2 {
  position: relative;
  color: transparent !important;
  user-select: none;
}
body.is-loading-schedule .summary-card h2::after,
body.is-loading-schedule .status-summary-card small::after,
body.is-loading-schedule #closestStop h2::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  height: .78em;
  width: min(100%, 150px);
  transform: translateY(-50%);
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(255,244,222,.08), rgba(255,210,142,.22), rgba(255,244,222,.08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.is-loading-schedule .summary-card h2::before,
body.is-loading-schedule .status-summary-card small::before,
body.is-loading-schedule #closestStop h2::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: calc(50% - .39em);
  left: 0;
  width: 44%;
  height: .78em;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 229, 188, .28), transparent);
  animation: rbShimmer 1.35s ease-in-out infinite;
}
body.is-loading-schedule .summary-card:nth-child(2) h2::after { width: 46px; }
body.is-loading-schedule .status-summary-card h2::after { width: 160px; }
body.is-loading-schedule #closestStop h2::after {
  left: 50%;
  transform: translate(-50%, -50%);
  width: 210px;
}

.btn.is-locating .btn-spark {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: transparent;
  position: relative;
}
.btn.is-locating .btn-spark::after {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(48, 22, 10, .22);
  border-top-color: rgba(48, 22, 10, .86);
  animation: rbSpin .85s linear infinite;
}

body.is-locating-user .closest-medallion {
  animation: rbPulseGlow 1.35s ease-in-out infinite;
}

.map-copy p {
  max-width: 100%;
}
.map-segmented {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.map-seg {
  min-width: 0;
  padding: 0 8px;
  gap: 7px;
  font-size: .82rem;
}

.all-map-stop {
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.all-map-stop:active {
  transform: scale(.992);
}

@media (max-width: 430px) {
  .map-segmented {
    gap: 6px;
    padding: 5px;
  }
  .map-seg {
    min-height: 48px;
    padding: 0 6px;
    gap: 5px;
    font-size: .76rem;
  }
  .provider-logo {
    width: 23px;
    height: 23px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.is-loading-schedule .summary-card h2::before,
  body.is-loading-schedule .status-summary-card small::before,
  body.is-loading-schedule #closestStop h2::before,
  body.is-loading-schedule .status-text::before,
  body.is-locating-user .status-text::before,
  .btn.is-locating .btn-spark::after,
  body.is-locating-user .closest-medallion {
    animation: none !important;
  }
}

/* v56: reliable provider-aware shortcuts */
.all-map-stop-button {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.all-map-stop small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #37190c;
  background: linear-gradient(135deg, #ffe2a6, #ffb34d);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .02em;
}
.all-map-stop-button:focus-visible,
.route-main:focus-visible,
.closest-route-btn:focus-visible,
.map-seg:focus-visible {
  outline: 2px solid rgba(255, 205, 122, .92);
  outline-offset: 3px;
}


/* v57 route shortcut reliability fix */
.map-popup-route {
  margin-top: 6px;
  border: 0;
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 900;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
  color: #35180e;
  cursor: pointer;
}

.all-map-svg-fallback {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.fallback-map-marker {
  cursor: pointer;
  outline: none;
}
.fallback-map-marker:focus-visible {
  filter: drop-shadow(0 0 3px rgba(53, 187, 255, .95));
}
.fallback-map-pin-image,
.fallback-map-user-image {
  pointer-events: none;
}
.fallback-map-pin-number {
  fill: #fff;
  stroke: rgba(5, 22, 39, .58);
  stroke-width: .45px;
  paint-order: stroke;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 3.2px;
  font-weight: 950;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
}
.fallback-map-user-ring {
  fill: rgba(255, 248, 232, .94);
  stroke: #27b3ea;
  stroke-width: .7px;
  filter: drop-shadow(0 2px 3px rgba(5, 22, 39, .28));
}
.fallback-map-user-label {
  fill: #0c2239;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 3px;
  font-weight: 950;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
}

/* v59: updated Waze mascot icon */


/* v60: official Waze chat-bubble logo asset */
.waze-logo {
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  border-radius: 14px !important;
}
.waze-logo img,
.provider-inline-logo.waze-inline-logo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}
.route-icon .provider-inline-logo.waze-inline-logo,
.closest-route-icon .provider-inline-logo.waze-inline-logo {
  border-radius: 14px !important;
}


/* v61: desktop-only centering for Refresh Schedule after location is ready */
@media (min-width: 620px) {
  #locateBtn.is-location-refresh + #reloadBtn {
    grid-column: 1 / -1 !important;
    width: min(100%, 300px) !important;
    justify-self: center !important;
  }
}

/* v61: inline official-style Waze chat-bubble logo support */
.waze-logo svg,
.route-icon svg[aria-label="Waze"],
.closest-route-icon svg[aria-label="Waze"] {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}
.route-icon svg[aria-label="Waze"],
.closest-route-icon svg[aria-label="Waze"] {
  border-radius: 14px !important;
}


/* v62 install footer */
.install-footer {
  margin: 12px 0 0;
}
.install-app-btn {
  width: 100%;
  min-height: 66px;
  border: 1px solid rgba(255, 210, 142, .22);
  border-radius: 22px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
  text-align: left;
  color: var(--cream);
  background:
    radial-gradient(circle at 16% 12%, rgba(255, 199, 111, .18), transparent 7rem),
    linear-gradient(145deg, rgba(55, 27, 17, .78), rgba(25, 11, 8, .74));
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
  cursor: pointer;
}
.install-app-btn:active { transform: scale(.992); }
.install-app-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #33170b;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
  font-size: 1.1rem;
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 10px 20px rgba(0,0,0,.22);
}
.install-app-btn strong {
  display: block;
  font-size: .98rem;
  line-height: 1.1;
  letter-spacing: -.015em;
}
.install-app-btn small {
  display: block;
  margin-top: 4px;
  color: rgba(255,246,234,.66);
  font-weight: 760;
  line-height: 1.25;
}
.install-app-btn.is-installed {
  border-color: rgba(126, 224, 116, .25);
}
.install-app-btn.is-installed .install-app-icon {
  background: linear-gradient(135deg, #ddffd4, #7ee074);
}
.install-modal {
  width: min(100% - 24px, 420px);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  border-radius: 28px;
  padding: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 194, 104, .13), transparent 13rem),
    linear-gradient(145deg, rgba(55, 27, 17, .94), rgba(25, 11, 8, .94));
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  text-align: center;
  position: relative;
}
.install-modal h2 {
  margin: 4px 0 10px;
  font-family: "Playfair Display", serif;
  font-size: clamp(1.7rem, 7vw, 2.25rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.install-steps {
  margin: 14px 0 18px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,244,222,.075);
  border: 1px solid rgba(255,226,181,.15);
  color: rgba(255,246,234,.82);
  text-align: left;
  line-height: 1.48;
  font-weight: 720;
}
.install-steps ol {
  margin: 0;
  padding-left: 20px;
}
.install-steps li + li { margin-top: 8px; }
.install-steps p { margin: 0; }


/* v68: pull-to-refresh, share button, and first-time Home Screen tip */
.pull-refresh-hint {
  position: fixed;
  top: calc(8px + env(safe-area-inset-top));
  left: 50%;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #fff6ea;
  background: linear-gradient(145deg, rgba(55, 27, 17, .88), rgba(25, 11, 8, .82));
  border: 1px solid rgba(255, 210, 142, .24);
  box-shadow: 0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
  opacity: 0;
  transform: translate(-50%, -110%) scale(.94);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.pull-refresh-hint span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #33170b;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
  font-weight: 950;
  transform: rotate(0deg);
}
.pull-refresh-hint strong {
  font-size: .84rem;
  letter-spacing: -.01em;
}
.pull-refresh-hint.is-ready span,
.pull-refresh-hint.is-refreshing span {
  animation: rbSpin .9s linear infinite;
}
.pull-refresh-hint.is-refreshing {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}
.pull-refresh-hint.is-visible.pull-progress-1 {
  opacity: .28;
  transform: translate(-50%, -66px) scale(.955);
}
.pull-refresh-hint.is-visible.pull-progress-2 {
  opacity: .56;
  transform: translate(-50%, -44px) scale(.97);
}
.pull-refresh-hint.is-visible.pull-progress-3 {
  opacity: .82;
  transform: translate(-50%, -22px) scale(.985);
}
.pull-refresh-hint.is-visible.pull-progress-4,
.pull-refresh-hint.is-ready {
  opacity: .98;
  transform: translate(-50%, 0) scale(1);
}
.pull-refresh-hint.pull-progress-1 span { transform: rotate(45deg); }
.pull-refresh-hint.pull-progress-2 span { transform: rotate(90deg); }
.pull-refresh-hint.pull-progress-3 span { transform: rotate(135deg); }
.pull-refresh-hint.pull-progress-4 span,
.pull-refresh-hint.is-ready span,
.pull-refresh-hint.is-refreshing span { transform: rotate(180deg); }

.onboarding-card {
  margin: 0 0 12px;
  border-radius: 24px;
  padding: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
}
.onboarding-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #33170b;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.48), 0 10px 20px rgba(0,0,0,.22);
}
.onboarding-copy .mini-label { margin: 0 0 4px; }
.onboarding-copy h2 {
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.08;
  letter-spacing: -.028em;
}
.onboarding-copy p:not(.mini-label) {
  margin: 6px 0 0;
  color: rgba(255,246,234,.68);
  font-size: .86rem;
  line-height: 1.35;
  font-weight: 720;
}
.onboarding-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
  margin-top: 2px;
}
.onboarding-link,
.onboarding-dismiss {
  min-height: 34px;
  border-radius: 999px;
  padding: 0 12px;
  border: 1px solid rgba(255, 210, 142, .18);
  font-weight: 850;
  cursor: pointer;
}
.onboarding-link {
  color: #33170b;
  background: linear-gradient(135deg, #fff1c9, #ffbd5d);
}
.onboarding-dismiss {
  color: rgba(255,246,234,.76);
  background: rgba(255,244,222,.07);
}

.install-footer {
  display: grid;
  gap: 10px;
}
.share-app-btn {
  min-height: 60px;
}
.share-app-icon {
  background: linear-gradient(135deg, #ffe8b7, #ff9f3a);
}
@media (min-width: 620px) {
  .install-footer {
    grid-template-columns: 1fr 1fr;
  }
  .install-app-btn {
    min-height: 72px;
  }
}
@media (max-width: 430px) {
  .onboarding-card {
    grid-template-columns: 38px 1fr;
    padding: 13px;
  }
  .onboarding-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
  }
  .onboarding-actions {
    justify-content: stretch;
  }
  .onboarding-link,
  .onboarding-dismiss {
    flex: 1;
  }
}


/* v69: first-time onboarding card removed; bottom install modal uses updated iPhone ellipsis/share/view-more flow */
#onboardingCard { display: none !important; }

/* v71 official polished: Roaming Bean-inspired coffee + blue app experience */
:root {
  --bg: #080d14;
  --brand-navy: #061b33;
  --brand-navy-2: #082a4e;
  --brand-blue: #1296df;
  --brand-blue-2: #0c73bd;
  --brand-sky: #5ec8ff;
  --brand-cream: #fff8ee;
  --brand-ink: #0c2239;
  --brand-muted: rgba(255,248,238,.76);
  --brand-tan: #d5a766;
  --brand-gold: #e0a451;
  --panel: rgba(15, 20, 28, .76);
  --panel-strong: rgba(10, 14, 20, .88);
  --line: rgba(213, 167, 102, .33);
  --line-strong: rgba(18, 150, 223, .42);
  --cream: #fff8ee;
  --muted: rgba(255,248,238,.74);
  --soft: rgba(255,248,238,.58);
  --gold: #d7a057;
  --gold-2: #b77731;
  --shadow: 0 22px 54px rgba(0,0,0,.44);
  --shadow-soft: 0 12px 28px rgba(0,0,0,.30);
  --radius-lg: 30px;
  --radius-md: 22px;
  --radius-sm: 15px;
  --content-width: 560px;
}

html { background: #06090e !important; }
body {
  color: var(--cream) !important;
  background: transparent !important;
}
.bean-photo-bg {
  z-index: 0 !important;
  background: url("assets/epic-coffee-beans-bg.webp") center top / cover no-repeat !important;
  filter: saturate(1.05) contrast(1.05) brightness(.82) !important;
}
.bean-photo-bg::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 7%, rgba(18,150,223,.18), transparent 18rem),
    radial-gradient(circle at 50% 36%, rgba(0,0,0,.18), transparent 18rem),
    linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.05) 28%, rgba(0,0,0,.05) 72%, rgba(0,0,0,.55));
}
.app-shell {
  width: min(calc(100% - 22px), var(--content-width)) !important;
  padding-top: calc(16px + env(safe-area-inset-top)) !important;
}

.glass,
.hero-card,
.map-panel,
.support-card,
.notice,
.install-footer,
.donate-modal,
.install-modal,
.all-map-modal {
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}

/* Official hero */
.hero-card {
  overflow: hidden !important;
  padding: 24px 18px 20px !important;
  border-radius: 36px !important;
  margin-bottom: 13px !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 82% 22%, rgba(18,150,223,.20), transparent 13rem),
    radial-gradient(circle at 16% 84%, rgba(213,167,102,.15), transparent 11rem),
    linear-gradient(155deg, rgba(5,25,48,.96), rgba(3,12,24,.94) 58%, rgba(21,14,10,.92)) !important;
  border-color: rgba(213,167,102,.58) !important;
}
.hero-card::before {
  content: "" !important;
  position: absolute !important;
  inset: -1px !important;
  z-index: -1 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 15rem),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 46%) !important;
  pointer-events: none !important;
}
.hero-card::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  right: -56px !important;
  bottom: 112px !important;
  width: 190px !important;
  height: 150px !important;
  opacity: .20 !important;
  background: url("assets/generated-latte-cup.png") center / contain no-repeat !important;
  filter: saturate(.95) drop-shadow(0 18px 26px rgba(0,0,0,.45)) !important;
  pointer-events: none !important;
}

.inline-brand-logo.official-hero-badge {
  width: min(100%, 360px) !important;
  margin: 0 auto 18px !important;
  padding: 13px 16px 15px !important;
  gap: 10px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.08), transparent 9rem),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 14px 34px rgba(0,0,0,.22) !important;
}
.official-brand-logo-img {
  width: 118px !important;
  height: 118px !important;
  object-fit: contain !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.22), 0 0 0 1px rgba(18,150,223,.16) !important;
  padding: 5px !important;
}
.official-track-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 28px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0,0,0,.40), rgba(4,17,31,.58)) !important;
  border: 1px solid rgba(213,167,102,.38) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}
.official-track-pill span { color: var(--brand-tan) !important; }

.hero-card h1 {
  max-width: 470px !important;
  margin: 0 auto 18px !important;
  color: #fff9f0 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(2.4rem, 9.1vw, 4.25rem) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.35) !important;
}
.hero-card h1 span {
  display: inline !important;
  color: var(--brand-blue) !important;
  background: linear-gradient(135deg, #6ed4ff, #1194df 70%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.hero-copy {
  max-width: 470px !important;
  width: 100% !important;
  margin: 0 auto 12px !important;
  padding: 14px 15px !important;
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  text-align: left !important;
  border-radius: 20px !important;
  color: rgba(255,248,238,.82) !important;
  background: linear-gradient(145deg, rgba(22,17,14,.72), rgba(10,13,18,.62)) !important;
  border: 1px solid rgba(213,167,102,.23) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.disclaimer-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand-sky), var(--brand-blue-2)) !important;
  box-shadow: 0 10px 20px rgba(18,150,223,.22) !important;
}
.hero-copy span:last-child {
  font-size: .9rem !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
}

.hero-actions {
  max-width: 470px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.hero-actions .btn {
  width: 100% !important;
  min-height: 66px !important;
  padding: 12px 16px !important;
  border-radius: 20px !important;
  display: grid !important;
  grid-template-columns: 42px 1fr 20px !important;
  gap: 12px !important;
  align-items: center !important;
  text-align: left !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 26px rgba(0,0,0,.24) !important;
}
.hero-actions .btn strong,
.hero-actions .btn > span:nth-child(2) {
  display: block !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}
.hero-actions .btn small {
  display: block !important;
  margin-top: 4px !important;
  font-size: .77rem !important;
  line-height: 1.12 !important;
  opacity: .78 !important;
  font-weight: 750 !important;
}
.hero-actions .btn-chevron {
  justify-self: end !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  opacity: .85 !important;
}
.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #35bbff, #0878cf 70%) !important;
  border-color: rgba(110,212,255,.44) !important;
}
.btn-primary .btn-spark,
.btn-soft .btn-spark,
.btn-map-all .btn-spark {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 950 !important;
}
.btn-primary .btn-spark { background: rgba(255,255,255,.18) !important; color: #fff !important; }
.btn-soft,
.btn-map-all {
  color: var(--brand-cream) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border-color: rgba(213,167,102,.25) !important;
}
.btn-soft .btn-spark,
.btn-map-all .btn-spark {
  color: var(--brand-sky) !important;
  background: rgba(18,150,223,.12) !important;
}
#locateBtn.is-location-refresh {
  min-height: 34px !important;
  width: auto !important;
  margin: 2px auto !important;
  padding: 0 !important;
  display: inline-flex !important;
  grid-template-columns: none !important;
  gap: 6px !important;
  color: var(--brand-sky) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
#locateBtn.is-location-refresh .btn-spark { width: auto !important; height: auto !important; background: transparent !important; }
.status-text {
  max-width: 470px !important;
  margin: 9px auto 0 !important;
  color: rgba(255,248,238,.76) !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* Summary / closest */
.summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.summary-card {
  min-height: 112px !important;
  border-radius: 20px !important;
  padding: 14px !important;
  color: #fff8ee !important;
  background: linear-gradient(145deg, rgba(24,18,14,.84), rgba(7,12,20,.74)) !important;
  border-color: rgba(213,167,102,.33) !important;
}
.summary-card h2 {
  margin: 8px 0 0 !important;
  font-size: clamp(1.35rem, 5.8vw, 1.75rem) !important;
  line-height: 1 !important;
  color: #fff8ee !important;
  letter-spacing: -.05em !important;
}
.summary-card small {
  color: rgba(255,248,238,.74) !important;
  font-size: .78rem !important;
  line-height: 1.24 !important;
}
.mini-label {
  color: var(--brand-sky) !important;
  letter-spacing: .14em !important;
  font-weight: 950 !important;
}
.closest-card {
  grid-column: 1 / -1 !important;
  min-height: 150px !important;
  background: linear-gradient(145deg, rgba(255,250,242,.95), rgba(247,234,218,.90)) !important;
  color: var(--brand-ink) !important;
  border-color: rgba(213,167,102,.48) !important;
}
.closest-card .mini-label,
.closest-display .mini-label { color: var(--brand-blue-2) !important; }
.closest-display h2,
.closest-display h3,
.closest-display p { color: var(--brand-ink) !important; }
.closest-route-premium {
  color: var(--brand-ink) !important;
}
.closest-route-premium .closest-route-btn,
.closest-route-btn {
  background: linear-gradient(135deg, #2bb6ff, #0a73c8) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}

/* Map preference and stop cards */
.map-panel {
  border-radius: 26px !important;
  padding: 17px !important;
  margin-bottom: 12px !important;
  color: var(--brand-ink) !important;
  background: linear-gradient(145deg, rgba(255,250,242,.96), rgba(247,235,222,.91)) !important;
  border-color: rgba(213,167,102,.45) !important;
}
.map-panel h2,
.map-panel p { color: var(--brand-ink) !important; }
.map-panel .map-copy p:not(.mini-label) { color: rgba(12,34,57,.72) !important; }
.map-segmented {
  margin-top: 12px !important;
  padding: 6px !important;
  gap: 7px !important;
  border-radius: 20px !important;
  background: rgba(12,34,57,.06) !important;
  border: 1px solid rgba(12,34,57,.08) !important;
}
.map-seg {
  min-height: 54px !important;
  border-radius: 16px !important;
  color: var(--brand-ink) !important;
  background: rgba(255,255,255,.66) !important;
  border: 1px solid rgba(12,34,57,.08) !important;
  box-shadow: 0 8px 20px rgba(12,34,57,.05) !important;
}
.map-seg.active,
.map-seg[aria-pressed="true"] {
  color: #fff !important;
  background: linear-gradient(135deg, #35bbff, #0878cf 72%) !important;
  border-color: rgba(255,255,255,.25) !important;
}
.map-seg.active .provider-logo svg path,
.map-seg.active .provider-logo svg circle { filter: none !important; }

.results { display: grid !important; gap: 12px !important; }
.stop-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  padding: 16px !important;
  color: var(--brand-ink) !important;
  background:
    radial-gradient(circle at 85% 0%, rgba(18,150,223,.10), transparent 11rem),
    linear-gradient(145deg, rgba(255,250,242,.96), rgba(246,232,215,.91)) !important;
  border-color: rgba(213,167,102,.48) !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.stop-card h3,
.stop-name {
  color: var(--brand-ink) !important;
  font-size: clamp(1.45rem, 7vw, 2rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.055em !important;
}
.stop-time { color: #9d6529 !important; font-weight: 900 !important; }
.stop-address,
.stop-source { color: rgba(12,34,57,.68) !important; }
.open-chip {
  background: linear-gradient(135deg, #e9fff0, #8cf29b) !important;
  color: #14511f !important;
}
.distance-chip {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(12,34,57,.72), rgba(12,34,57,.58)) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
}
.scheduled-chip,
.verify-time-chip,
.closing-chip {
  color: var(--brand-ink) !important;
  background: linear-gradient(135deg, #fff2cf, #d8a15c) !important;
}
.route-main {
  min-height: 58px !important;
  border-radius: 17px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #35bbff, #0878cf 72%) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 12px 24px rgba(18,150,223,.24) !important;
}
.route-main .route-provider { color: rgba(255,255,255,.78) !important; }

/* Support / install */
.support-card.support-developer-card {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 14px !important;
  align-items: center !important;
  color: var(--brand-ink) !important;
  background:
    radial-gradient(circle at 80% 55%, rgba(18,150,223,.10), transparent 10rem),
    linear-gradient(145deg, rgba(255,250,242,.96), rgba(247,235,222,.91)) !important;
  border-color: rgba(213,167,102,.45) !important;
  border-radius: 26px !important;
}
.support-card.support-developer-card::after {
  content: "";
  position: absolute;
  right: 90px;
  bottom: -22px;
  width: 120px;
  height: 90px;
  opacity: .60;
  background: url("assets/generated-latte-cup.png") center / contain no-repeat;
  pointer-events: none;
}
.support-card h2,
.support-card p { color: var(--brand-ink) !important; }
.support-card p:not(.mini-label) { color: rgba(12,34,57,.74) !important; }
.btn-donate {
  min-width: 152px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #35bbff, #0878cf 72%) !important;
  border-color: rgba(255,255,255,.26) !important;
}
.install-footer {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.install-app-btn {
  color: var(--brand-ink) !important;
  background: linear-gradient(145deg, rgba(255,250,242,.94), rgba(247,235,222,.88)) !important;
  border-color: rgba(213,167,102,.40) !important;
}
.install-app-btn small { color: rgba(12,34,57,.65) !important; }
.install-app-icon {
  color: #fff !important;
  background: linear-gradient(135deg, #35bbff, #0878cf 72%) !important;
}

/* Modals */
.donate-modal,
.install-modal,
.all-map-modal {
  background:
    radial-gradient(circle at 50% 0%, rgba(18,150,223,.15), transparent 15rem),
    linear-gradient(145deg, rgba(8,26,48,.96), rgba(10,13,18,.94)) !important;
  border-color: rgba(213,167,102,.46) !important;
}
.modal-close { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.qr-frame { background: #fff !important; }
.venmo-link,
.modal-ok { background: linear-gradient(135deg, #35bbff, #0878cf 72%) !important; color: #fff !important; }
.all-map-preview { border-color: rgba(213,167,102,.35) !important; }
.all-map-stop { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.11) !important; }

/* Keep tracker private from search while official style is previewed */
meta[name="robots"] { content: "noindex,nofollow"; }

@media (min-width: 620px) {
  .install-footer { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .app-shell { width: min(calc(100% - 18px), var(--content-width)) !important; }
  .hero-card { padding: 20px 14px 18px !important; border-radius: 32px !important; }
  .official-brand-logo-img { width: 104px !important; height: 104px !important; }
  .official-track-pill { font-size: .61rem !important; padding-inline: 11px !important; }
  .hero-card h1 { font-size: clamp(2.25rem, 11vw, 3.35rem) !important; }
  .hero-card::after { width: 150px !important; height: 120px !important; right: -58px !important; bottom: 150px !important; opacity: .14 !important; }
  .summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 8px !important; }
  .summary-card { min-height: 102px !important; padding: 11px !important; }
  .summary-card h2 { font-size: clamp(1.18rem, 5.4vw, 1.48rem) !important; }
  .summary-card small { font-size: .68rem !important; }
  .support-card.support-developer-card { grid-template-columns: 1fr !important; }
  .support-card.support-developer-card::after { right: -10px; bottom: 0; width: 110px; opacity: .32; }
  .btn-donate { width: 100% !important; }
  .map-segmented { grid-template-columns: 1fr !important; }
}

/* v72 official full-polish implementation */
:root {
  --rb-blue: #149eea;
  --rb-blue-deep: #07549f;
  --rb-navy: #061a31;
  --rb-navy-2: #0b263f;
  --rb-cream-card: rgba(255, 247, 237, .93);
  --rb-cream-card-soft: rgba(255, 247, 237, .86);
  --rb-text-dark: #0d2740;
  --rb-text-muted: #5a6d7f;
  --rb-gold: #c48945;
  --rb-gold-soft: #f4c47c;
  --content-width: 560px;
  --shadow-soft: 0 16px 40px rgba(0,0,0,.30);
  --shadow: 0 28px 70px rgba(0,0,0,.42);
}

html { background: #050b10; }
body { color: #fff8ef; }
.bean-photo-bg {
  background: url("assets/epic-coffee-beans-bg.webp") center center / cover no-repeat !important;
  filter: saturate(1.03) contrast(1.05) brightness(.92);
}
.bean-photo-bg::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(4, 26, 47, .05), transparent 20rem),
    linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.08) 24%, rgba(0,0,0,.08) 76%, rgba(0,0,0,.48));
}
.app-shell {
  width: min(calc(100% - 18px), var(--content-width));
  padding-top: calc(10px + env(safe-area-inset-top));
}

.glass,
.hero-card,
.summary-card,
.map-panel,
.support-card,
.notice,
.donate-modal,
.all-map-modal,
.install-modal {
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.08);
}

.hero-card {
  padding: 16px 14px 18px;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 24%, rgba(20,158,234,.16), transparent 14rem),
    radial-gradient(circle at 12% 92%, rgba(196,137,69,.18), transparent 12rem),
    linear-gradient(180deg, rgba(6,26,49,.94), rgba(8,17,28,.92)) !important;
  border: 1px solid rgba(244,196,124,.46);
  box-shadow: 0 26px 64px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.10);
}
.hero-card::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 34%),
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.06), transparent 14rem) !important;
}
.hero-card::after {
  opacity: .10;
  background-size: 34px 34px;
}
.hero-shine {
  display: block !important;
  position: absolute;
  right: -28px;
  bottom: 122px;
  width: 150px;
  height: 116px;
  background: url("assets/generated-latte-cup.png") center / contain no-repeat;
  opacity: .55;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,.30));
  pointer-events: none;
  z-index: 0;
}

.inline-brand-logo.official-hero-badge {
  width: min(100%, 360px);
  min-height: 134px;
  margin-bottom: 16px;
  padding: 14px 18px 13px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.16), transparent 7rem),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 14px 36px rgba(0,0,0,.24);
}
.inline-brand-logo.official-hero-badge::after {
  display: none;
}
.official-brand-logo-img {
  width: 114px;
  height: 114px;
  object-fit: contain;
  background: rgba(255,255,255,.94);
  border: 2px solid rgba(20,158,234,.65);
  border-radius: 50%;
  padding: 8px;
  box-shadow: 0 12px 26px rgba(0,0,0,.24), 0 0 0 7px rgba(255,255,255,.055);
}
.official-track-pill {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 26px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #f7fbff;
  background: rgba(3, 15, 28, .62);
  border: 1px solid rgba(244,196,124,.32);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .62rem;
  font-weight: 950;
}
.official-track-pill span { color: var(--rb-gold-soft); }

.hero-card h1 {
  max-width: 440px;
  margin-bottom: 16px;
  color: #fffaf2;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.45rem, 11.4vw, 4rem);
  line-height: .91;
  letter-spacing: -.055em;
  text-shadow: 0 18px 38px rgba(0,0,0,.34);
}
.hero-card h1 span {
  background: linear-gradient(92deg, #25b9ff 0%, #149eea 50%, #5fd6ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 448px;
  padding: 13px 14px;
  color: rgba(255,250,242,.88);
  background: rgba(4, 12, 20, .48);
  border-color: rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.disclaimer-icon {
  color: #ffffff;
  background: linear-gradient(135deg, #24bbff, #096dba);
  font-family: Inter, system-ui, sans-serif;
}

.hero-actions { max-width: 448px; gap: 10px; }
.btn {
  min-height: 58px;
  border-radius: 18px;
  border-color: rgba(255,255,255,.13);
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  color: #fffaf2;
}
.btn-primary,
.route-main,
.closest-route-btn,
.btn-donate,
.install-app-btn.primary-install,
.install-app-btn.share-app-btn.primary-share {
  color: #ffffff;
  background: linear-gradient(135deg, #28bdff 0%, #128ee2 54%, #0866bd 100%) !important;
  border-color: rgba(118,214,255,.48) !important;
  box-shadow: 0 14px 28px rgba(5,120,210,.26), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.btn-soft,
.btn-map-all {
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
}
.btn strong { font-size: 1.02rem; }
.btn small { display: block; margin-top: 4px; font-size: .70rem; opacity: .68; font-weight: 850; }
.status-text {
  max-width: 448px;
  color: rgba(255,250,242,.78);
}
.status-text::before { content: "◇"; color: var(--rb-blue); opacity: 1; }

.summary-grid { gap: 8px; }
.summary-card {
  min-height: 112px;
  border-radius: 19px;
  background:
    radial-gradient(circle at 100% 0%, rgba(20,158,234,.18), transparent 8rem),
    linear-gradient(180deg, rgba(17,22,32,.86), rgba(11,13,18,.82)) !important;
  border-color: rgba(244,196,124,.26);
}
.mini-label { color: #52caff; letter-spacing: .16em; }
.summary-card h2,
.status-summary-card h2 { color: #fffaf2; }
.status-summary-card small { color: rgba(255,250,242,.72); }
.summary-card::after { color: #36bfff; }

.closest-card,
.stop-card,
.map-panel,
.support-card,
.install-footer .install-app-btn {
  color: var(--rb-text-dark);
  background:
    radial-gradient(circle at 100% 0%, rgba(20,158,234,.08), transparent 10rem),
    linear-gradient(180deg, rgba(255,248,239,.96), rgba(238,229,216,.94)) !important;
  border: 1px solid rgba(196,137,69,.34) !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.closest-card { border-radius: 24px; }
.closest-kicker,
.results::before,
.map-panel .mini-label,
.support-card .mini-label {
  color: var(--rb-blue-deep);
}
.closest-copy h2,
.stop-name,
.map-copy h2,
.support-card h2 { color: var(--rb-text-dark); }
.closest-copy small,
.stop-address,
.stop-source,
.map-copy p:not(.mini-label),
.support-card p,
.install-app-btn small { color: var(--rb-text-muted) !important; }
.closest-chip-row strong,
.open-chip,
.distance-chip {
  color: #271403;
  background: linear-gradient(135deg, #ffe7b7, #f0b75d);
}
.closest-chip-row span { color: var(--rb-text-muted); background: rgba(13,39,64,.07); border-color: rgba(13,39,64,.08); }
.closest-medallion {
  background: linear-gradient(135deg, #28bdff, #0873c8);
  border-color: rgba(255,255,255,.55);
}
.closest-medallion img { filter: drop-shadow(0 8px 12px rgba(0,0,0,.18)); }
.closest-route-label small,
.route-provider { color: rgba(255,255,255,.80); opacity: 1; }
.route-main::after,
.closest-route-btn .closest-route-chevron { color: rgba(255,255,255,.86); }
.route-main { color: #fff !important; }
.route-icon svg { fill: currentColor; }

.map-panel { padding: 16px; }
.map-segmented {
  grid-template-columns: repeat(3, minmax(0,1fr));
  padding: 6px;
  background: rgba(13,39,64,.06);
  border-color: rgba(13,39,64,.10);
}
.map-seg {
  color: var(--rb-text-dark);
  border-radius: 16px;
  min-height: 55px;
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(13,39,64,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.62);
}
.map-seg.active,
.map-seg[aria-pressed="true"] {
  color: #ffffff;
  background: linear-gradient(135deg, #28bdff, #086cc3);
  box-shadow: 0 10px 20px rgba(5,120,210,.22), inset 0 1px 0 rgba(255,255,255,.32);
}
.map-seg.active .provider-logo,
.map-seg[aria-pressed="true"] .provider-logo { color: #fff; }
.provider-logo { width: 30px; height: 30px; }

.results { gap: 11px; }
.results::before {
  color: #ffffff;
  background: rgba(3, 15, 28, .56);
  border-color: rgba(244,196,124,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.stop-card { padding: 16px; }
.stop-time { color: #a76618; }
.route-main { margin-top: 14px; }

.support-card {
  position: relative;
  overflow: hidden;
  grid-template-columns: 1fr;
  padding: 16px 16px 72px;
  border-radius: 23px;
}
.support-card::before {
  position: absolute;
  left: 16px;
  top: 18px;
  width: 38px;
  height: 38px;
  color: var(--rb-blue-deep);
  background: rgba(20,158,234,.12);
  border-color: rgba(20,158,234,.18);
}
.support-card > div { padding-left: 50px; position: relative; z-index: 1; }
.support-card::after {
  content: "";
  position: absolute;
  right: -8px;
  bottom: -20px;
  width: 180px;
  height: 120px;
  background: url("assets/generated-latte-cup.png") center / contain no-repeat;
  opacity: .92;
  pointer-events: none;
}
.support-card .btn-donate { position: relative; z-index: 1; }

.install-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 8px;
}
.install-app-btn {
  width: 100%;
  min-height: 80px;
  appearance: none;
  border: 1px solid rgba(196,137,69,.34);
  border-radius: 20px;
  padding: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 10px;
  text-align: left;
  cursor: pointer;
}
.install-app-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #28bdff, #086cc3);
  box-shadow: 0 10px 20px rgba(5,120,210,.22);
}
.install-app-btn strong { color: var(--rb-text-dark); font-size: .96rem; line-height: 1.08; display: block; }

.footer-note {
  color: rgba(255,250,242,.72);
  background: rgba(0,0,0,.24) !important;
  border-color: rgba(255,255,255,.10) !important;
}

.donate-modal,
.all-map-modal,
.install-modal {
  background:
    radial-gradient(circle at 50% 0%, rgba(20,158,234,.16), transparent 14rem),
    linear-gradient(180deg, rgba(8, 22, 36, .96), rgba(12, 9, 7, .94)) !important;
  border-color: rgba(244,196,124,.30);
}
.venmo-link,
.modal-ok { color: #fff !important; background: linear-gradient(135deg, #28bdff, #086cc3) !important; }

@media (min-width: 620px) {
  :root { --content-width: 610px; }
  .hero-card { padding: 22px 20px 22px; }
  .hero-actions { grid-template-columns: 1fr; }
  .hero-actions .btn-map-all { width: 100%; }
  .closest-route { grid-template-columns: 70px minmax(0,1fr) 160px; gap: 16px; }
  .closest-route-btn { width: 160px; }
  .support-card { grid-template-columns: 1fr; }
  .support-card .btn-donate { grid-column: auto; width: min(100%, 360px); }
}
@media (max-width: 460px) {
  .map-segmented { grid-template-columns: 1fr; }
  .install-footer { grid-template-columns: 1fr; }
  .hero-shine { opacity: .38; right: -48px; }
  .official-brand-logo-img { width: 102px; height: 102px; }
  .inline-brand-logo.official-hero-badge { min-height: 126px; }
}

/* v73: hero logo scale + post-location button alignment fix */
.inline-brand-logo.official-hero-badge {
  width: min(100%, 390px) !important;
  min-height: 168px !important;
  margin: 0 auto 18px !important;
  padding: 18px 18px 15px !important;
  gap: 10px !important;
  border-radius: 30px !important;
}

.official-brand-logo-img {
  width: 142px !important;
  height: 142px !important;
  padding: 7px !important;
  object-fit: contain !important;
}

.official-track-pill {
  margin-top: 7px !important;
}

.hero-actions {
  width: min(100%, 448px) !important;
  max-width: 448px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

.hero-actions .btn,
.hero-actions #reloadBtn,
.hero-actions #allMapBtn {
  width: 100% !important;
  max-width: none !important;
  min-height: 66px !important;
  margin: 0 !important;
  justify-self: stretch !important;
  grid-column: 1 / -1 !important;
}

.hero-actions .btn span:nth-child(2) {
  min-width: 0 !important;
}

.hero-actions .btn-chevron {
  justify-self: end !important;
  align-self: center !important;
}

#locateBtn.is-location-refresh {
  width: auto !important;
  max-width: max-content !important;
  min-height: 30px !important;
  margin: 4px auto 0 !important;
  padding: 2px 10px !important;
  justify-self: center !important;
  grid-column: 1 / -1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

#locateBtn.is-location-refresh + #reloadBtn,
#locateBtn.is-location-refresh + #reloadBtn + #allMapBtn,
#reloadBtn,
#allMapBtn {
  justify-self: stretch !important;
}

@media (min-width: 620px) {
  .hero-actions {
    grid-template-columns: 1fr !important;
  }
  .hero-actions .btn,
  .hero-actions .btn-map-all,
  .hero-actions #reloadBtn,
  .hero-actions #allMapBtn {
    width: 100% !important;
    justify-self: stretch !important;
  }
}

@media (max-width: 460px) {
  .inline-brand-logo.official-hero-badge {
    width: min(100%, 360px) !important;
    min-height: 154px !important;
    padding: 16px 15px 14px !important;
  }
  .official-brand-logo-img {
    width: 128px !important;
    height: 128px !important;
  }
}

/* v74: mobile hero action alignment + cup placement + readable summary cards */
.hero-card > * {
  position: relative;
  z-index: 2;
}
.hero-card::after {
  right: -72px !important;
  bottom: 22px !important;
  width: 160px !important;
  height: 118px !important;
  opacity: .16 !important;
  z-index: 0 !important;
}
.hero-shine {
  right: -46px !important;
  bottom: 28px !important;
  width: 146px !important;
  height: 112px !important;
  opacity: .30 !important;
  z-index: 0 !important;
}
.hero-copy,
.hero-actions,
.status-text {
  position: relative !important;
  z-index: 5 !important;
}
.hero-actions {
  width: min(100%, 448px) !important;
  max-width: 448px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}
.hero-actions #reloadBtn,
.hero-actions #allMapBtn,
#locateBtn.is-location-refresh + #reloadBtn,
#locateBtn.is-location-refresh + #reloadBtn + #allMapBtn {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  grid-column: 1 / -1 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#locateBtn.is-location-refresh {
  order: 99 !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 620px) {
  #locateBtn.is-location-refresh + #reloadBtn,
  #locateBtn.is-location-refresh + #reloadBtn + #allMapBtn,
  .hero-actions #reloadBtn,
  .hero-actions #allMapBtn {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }
}

@media (max-width: 520px) {
  .hero-card {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .hero-actions {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
  }
  .hero-actions .btn {
    min-height: 64px !important;
  }
  .hero-shine {
    right: -54px !important;
    bottom: 18px !important;
    width: 132px !important;
    height: 100px !important;
    opacity: .24 !important;
  }
  .hero-card::after {
    right: -76px !important;
    bottom: 14px !important;
    width: 142px !important;
    height: 104px !important;
    opacity: .12 !important;
  }
  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .summary-grid .summary-card:first-child {
    grid-column: 1 / -1 !important;
    min-height: 86px !important;
  }
  .summary-grid .summary-card:first-child h2 {
    font-size: clamp(1.52rem, 7.4vw, 2rem) !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .summary-card {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .summary-card h2 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  .status-summary-card small {
    overflow: visible !important;
  }
}


/* v75: final alignment/icons/cup placement tune */
/* Remove duplicated pseudo arrows: keep only the explicit .btn-chevron arrow. */
.hero-actions .btn::after {
  content: none !important;
  display: none !important;
}
.hero-actions .btn-chevron {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 0 !important;
  width: 20px !important;
}

/* Keep hero buttons clean and full width after location is loaded. */
.hero-actions,
.hero-actions #reloadBtn,
.hero-actions #allMapBtn {
  width: min(100%, 448px) !important;
  max-width: 448px !important;
}
.hero-actions #reloadBtn,
.hero-actions #allMapBtn {
  justify-self: center !important;
  margin-inline: auto !important;
}

/* Hero coffee cup: one cup, bottom-right, behind the controls. */
.hero-shine {
  display: none !important;
}
.hero-card::after {
  content: "" !important;
  position: absolute !important;
  right: -42px !important;
  bottom: 14px !important;
  width: 158px !important;
  height: 118px !important;
  background: url("assets/generated-latte-cup.png") center / contain no-repeat !important;
  opacity: .26 !important;
  z-index: 1 !important;
  filter: saturate(.96) drop-shadow(0 18px 26px rgba(0,0,0,.34)) !important;
  pointer-events: none !important;
}
.hero-card > * {
  position: relative !important;
  z-index: 2 !important;
}
.hero-copy, .hero-actions, .status-text {
  z-index: 3 !important;
}

/* Better summary-card icons. */
.summary-card::after {
  content: none !important;
  display: none !important;
}
.summary-card {
  padding-right: 46px !important;
}
.summary-card .summary-icon {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #35bbff, #086cc3) !important;
  box-shadow: 0 10px 20px rgba(5,120,210,.22), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.summary-card .summary-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.summary-stops .summary-icon {
  background: linear-gradient(135deg, #69d4ff, #1194df) !important;
}
.summary-status .summary-icon {
  background: linear-gradient(135deg, #2e7ed7, #0b3766) !important;
}
.summary-grid .summary-card:first-child {
  padding-right: 56px !important;
}

/* Donate/support card cup: bottom-right only. */
.support-card.support-developer-card {
  position: relative !important;
  overflow: hidden !important;
  padding-bottom: 78px !important;
}
.support-card.support-developer-card::after,
.support-card::after {
  content: "" !important;
  position: absolute !important;
  right: 10px !important;
  bottom: -18px !important;
  width: 150px !important;
  height: 104px !important;
  background: url("assets/generated-latte-cup.png") center / contain no-repeat !important;
  opacity: .86 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.support-card.support-developer-card > *,
.support-card > * {
  position: relative !important;
  z-index: 1 !important;
}
.support-card .btn-donate {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 520px) {
  .hero-card::after {
    right: -42px !important;
    bottom: 12px !important;
    width: 138px !important;
    height: 102px !important;
    opacity: .20 !important;
  }
  .summary-card {
    padding-right: 48px !important;
  }
  .summary-card .summary-icon {
    top: 10px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
  }
  .summary-card .summary-icon svg {
    width: 17px !important;
    height: 17px !important;
  }
  .support-card.support-developer-card::after,
  .support-card::after {
    right: 8px !important;
    bottom: -18px !important;
    width: 130px !important;
    height: 92px !important;
    opacity: .78 !important;
  }
}


/* v76: unofficial gold van hero while retaining polished blue/coffee styling */
.inline-brand-logo.gold-van-hero-badge {
  width: min(100%, 430px) !important;
  min-height: 0 !important;
  margin: 0 auto 18px !important;
  padding: 16px 16px 15px !important;
  gap: 8px !important;
  border-radius: 30px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 50% 62%, rgba(224,164,81,.18), transparent 10rem),
    linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(244,196,124,.30) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 14px 34px rgba(0,0,0,.22) !important;
}

.gold-van-hero-badge .inline-brand-words {
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  line-height: 1 !important;
}

.gold-van-hero-badge .inline-brand-words span {
  color: rgba(244,196,124,.92) !important;
  text-transform: uppercase !important;
  letter-spacing: .19em !important;
  font-size: .64rem !important;
  font-weight: 950 !important;
}

.gold-van-hero-badge .inline-brand-words strong {
  color: #fffaf2 !important;
  font-size: clamp(1.42rem, 5.2vw, 1.95rem) !important;
  letter-spacing: -.055em !important;
  line-height: .96 !important;
  text-shadow: 0 9px 20px rgba(0,0,0,.24) !important;
}

.gold-van-hero-badge .inline-brand-van {
  order: 2 !important;
  display: block !important;
  width: min(100%, 285px) !important;
  max-width: 285px !important;
  max-height: 138px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: saturate(1.04) contrast(1.03) drop-shadow(0 16px 24px rgba(0,0,0,.35)) !important;
}

.gold-van-hero-badge .official-track-pill {
  order: 3 !important;
  margin-top: 1px !important;
  color: #fffaf2 !important;
  background: linear-gradient(135deg, rgba(0,0,0,.46), rgba(4,17,31,.62)) !important;
  border-color: rgba(244,196,124,.36) !important;
}

.hero-card h1 {
  max-width: 500px !important;
}
.hero-card h1 span {
  display: inline !important;
}

.hero-copy {
  border-color: rgba(244,196,124,.23) !important;
}

/* Keep the top action buttons locked and centered with the refreshed hero state. */
.hero-actions,
.hero-actions #reloadBtn,
.hero-actions #allMapBtn {
  width: min(100%, 448px) !important;
  max-width: 448px !important;
}
.hero-actions .btn::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 460px) {
  .inline-brand-logo.gold-van-hero-badge {
    width: min(100%, 380px) !important;
    padding: 14px 13px 13px !important;
    border-radius: 28px !important;
  }
  .gold-van-hero-badge .inline-brand-van {
    width: min(100%, 244px) !important;
    max-height: 116px !important;
  }
  .gold-van-hero-badge .inline-brand-words strong {
    font-size: clamp(1.30rem, 7vw, 1.64rem) !important;
  }
  .gold-van-hero-badge .inline-brand-words span {
    font-size: .58rem !important;
    letter-spacing: .16em !important;
  }
}

/* v77: subtle glass effect for light/cream cards */
.closest-card,
.stop-card,
.map-panel,
.support-card,
.install-footer {
  background:
    radial-gradient(circle at 88% 6%, rgba(18,150,223,.08), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.86), rgba(247,235,222,.78)) !important;
  border-color: rgba(255, 255, 255, .34) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.62) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
}

.closest-card::before,
.stop-card::before,
.map-panel::before,
.support-card::before,
.install-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 38%),
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.18), transparent 10rem);
  opacity: .58;
}

.stop-card,
.map-panel,
.support-card,
.install-footer,
.closest-card {
  position: relative !important;
  overflow: hidden !important;
}

.stop-card > *,
.map-panel > *,
.support-card > *,
.install-footer > *,
.closest-card > * {
  position: relative;
  z-index: 1;
}

.support-card .btn-donate,
.route-main,
.closest-route-btn,
.map-seg.active,
.map-seg[aria-pressed="true"] {
  box-shadow:
    0 12px 28px rgba(18,150,223,.24),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}

@media (max-width: 520px) {
  .closest-card,
  .stop-card,
  .map-panel,
  .support-card,
  .install-footer {
    background:
      radial-gradient(circle at 88% 6%, rgba(18,150,223,.07), transparent 11rem),
      linear-gradient(145deg, rgba(255,250,242,.88), rgba(247,235,222,.80)) !important;
    backdrop-filter: blur(15px) saturate(1.14) !important;
    -webkit-backdrop-filter: blur(15px) saturate(1.14) !important;
  }
}

/* v79 final polish: unjoin bottom cards, stronger light-card glass, add phone visual */
.closest-card,
.stop-card,
.map-panel,
.support-card,
.summary-card {
  background:
    radial-gradient(circle at 88% 6%, rgba(18,150,223,.10), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.72), rgba(247,235,222,.56)) !important;
  border-color: rgba(255,255,255,.36) !important;
  box-shadow:
    0 20px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
  backdrop-filter: blur(22px) saturate(1.24) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.24) !important;
}

.closest-card::before,
.stop-card::before,
.map-panel::before,
.support-card::before,
.summary-card::before {
  opacity: .66 !important;
}

.install-footer {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 14px !important;
  margin-bottom: 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}
.install-footer::before {
  display: none !important;
  content: none !important;
}

.install-app-btn {
  position: relative;
  overflow: hidden;
  min-height: 92px !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(18,150,223,.10), transparent 10rem),
    linear-gradient(145deg, rgba(255,250,242,.72), rgba(247,235,222,.58)) !important;
  border: 1px solid rgba(255,255,255,.36) !important;
  border-radius: 20px !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
  backdrop-filter: blur(20px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.22) !important;
}
.install-app-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 40%),
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.16), transparent 9rem);
  opacity: .62;
}
.install-app-btn > * {
  position: relative;
  z-index: 1;
}
.install-app-btn strong {
  color: var(--rb-text-dark) !important;
}
.install-app-btn small {
  color: rgba(12,34,57,.70) !important;
}

.install-home-btn {
  grid-template-columns: 42px minmax(0,1fr) 64px !important;
  gap: 12px !important;
  padding-right: 12px !important;
}
.install-home-btn > span:last-child {
  min-width: 0;
  padding-right: 4px;
}
.install-home-btn::after {
  content: "";
  width: 56px;
  height: 72px;
  justify-self: end;
  align-self: end;
  margin-right: 2px;
  margin-bottom: -3px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  opacity: .96;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.15));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 180'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fefcf8' stop-opacity='.97'/%3E%3Cstop offset='1' stop-color='%23eadfce' stop-opacity='.93'/%3E%3C/linearGradient%3E%3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%2328bdff'/%3E%3Cstop offset='1' stop-color='%23086cc3'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='18' y='6' width='84' height='168' rx='22' fill='url(%23g)' stroke='rgba(12,34,57,.14)' stroke-width='4'/%3E%3Crect x='26' y='24' width='68' height='120' rx='14' fill='rgba(255,255,255,.28)' stroke='rgba(12,34,57,.08)' stroke-width='2'/%3E%3Ccircle cx='60' cy='158' r='7' fill='url(%23s)' opacity='.95'/%3E%3Crect x='48' y='12' width='24' height='4' rx='2' fill='rgba(12,34,57,.18)'/%3E%3Crect x='40' y='40' width='40' height='46' rx='8' fill='url(%23s)' opacity='.16'/%3E%3Cpath d='M60 52c8 0 15 6.5 15 14.5 0 10.5-15 24-15 24s-15-13.5-15-24C45 58.5 52 52 60 52z' fill='url(%23s)'/%3E%3Ccircle cx='60' cy='66' r='4.5' fill='%23fefcf8'/%3E%3Cpath d='M60 91c12 0 22 9.2 22 20.5 0 11.6-10.3 21-22 21s-22-9.4-22-21C38 100.2 48 91 60 91z' fill='rgba(8,108,195,.10)' stroke='rgba(8,108,195,.20)' stroke-width='2'/%3E%3Cpath d='M48 113c0-6.6 5.4-12 12-12 5.5 0 10.2 3.7 11.5 8.8h5.3a2.2 2.2 0 010 4.4h-1.2c.1.6.2 1.2.2 1.8 0 1.2-.2 2.3-.5 3.4a5.7 5.7 0 01-4.1 9.6c-1.6 0-3-.6-4.1-1.7l-2-2.2h-6.5c-5.8 0-10.6-4.8-10.6-10.7 0-.5 0-.9.1-1.4A11.8 11.8 0 0148 113z' fill='%2328bdff'/%3E%3Ccircle cx='55.5' cy='112' r='2.6' fill='%230c2239'/%3E%3Ccircle cx='65.5' cy='112' r='2.6' fill='%230c2239'/%3E%3Cpath d='M57.5 118.5c1.4 1.5 3 2.2 4.9 2.2 1.9 0 3.4-.6 4.8-2' fill='none' stroke='%230c2239' stroke-width='2.8' stroke-linecap='round'/%3E%3Ccircle cx='49.5' cy='123.5' r='2.5' fill='%230c2239'/%3E%3Ccircle cx='72.2' cy='123.5' r='2.5' fill='%230c2239'/%3E%3C/svg%3E");
}

.share-app-btn {
  grid-template-columns: 42px minmax(0,1fr) !important;
}

@media (max-width: 520px) {
  .closest-card,
  .stop-card,
  .map-panel,
  .support-card,
  .summary-card {
    background:
      radial-gradient(circle at 88% 6%, rgba(18,150,223,.09), transparent 10rem),
      linear-gradient(145deg, rgba(255,250,242,.76), rgba(247,235,222,.60)) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  }
  .install-footer {
    gap: 12px !important;
  }
  .install-app-btn {
    min-height: 86px !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 54px !important;
  }
  .install-home-btn::after {
    width: 48px;
    height: 62px;
    margin-bottom: -2px;
  }
}

@media (max-width: 460px) {
  .install-footer {
    grid-template-columns: 1fr !important;
  }
}



/* v80 production polish: readability, featured card, official phone visual */

/* 1) Summary cards: darker premium glass for readability */
.summary-grid {
  gap: 14px !important;
}

.summary-card {
  background:
    radial-gradient(circle at 86% 10%, rgba(40,189,255,.18), transparent 10rem),
    linear-gradient(145deg, rgba(7, 24, 42, .82), rgba(18, 13, 10, .72)) !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
  backdrop-filter: blur(20px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.18) !important;
}

.summary-card .mini-label {
  color: #58d3ff !important;
  text-shadow: 0 1px 7px rgba(0,0,0,.22) !important;
}

.summary-card h2,
.status-summary-card h2 {
  color: #fff8ec !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
}

.status-summary-card small {
  color: rgba(255,248,236,.86) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.28) !important;
}

.summary-card::after {
  right: 16px !important;
  top: 16px !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #fff !important;
  opacity: 1 !important;
  background: linear-gradient(135deg, #28bdff, #086cc3) !important;
  box-shadow: 0 10px 20px rgba(8,108,195,.28), inset 0 1px 0 rgba(255,255,255,.24) !important;
  font-size: 1.05rem !important;
}

.summary-schedule::after,
.summary-card:nth-child(1)::after { content: "▦" !important; }

.summary-stops::after,
.summary-card:nth-child(2)::after { content: "⌖" !important; }

.summary-status::after,
.status-summary-card::after { content: "✓" !important; }

.summary-schedule {
  grid-column: 1 / -1 !important;
  min-height: 120px !important;
}

.summary-schedule h2 {
  font-size: clamp(2.15rem, 11vw, 3rem) !important;
  line-height: .95 !important;
  letter-spacing: -.065em !important;
}

.summary-stops,
.summary-status {
  min-height: 150px !important;
}

.summary-stops h2 {
  font-size: clamp(2rem, 9vw, 2.6rem) !important;
}

.summary-status h2 {
  font-size: clamp(1.55rem, 7vw, 2.1rem) !important;
  line-height: 1.03 !important;
}

/* 2) Featured / closest card: balanced production layout */
.closest-card {
  padding: 18px 18px 18px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(18,150,223,.12), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.78), rgba(247,235,222,.66)) !important;
  border-color: rgba(255,255,255,.46) !important;
  box-shadow:
    0 20px 44px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.closest-card .mini-label {
  color: #087ccc !important;
  letter-spacing: .14em !important;
  margin-bottom: 14px !important;
}

.closest-route {
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon copy"
    "button button" !important;
  gap: 14px !important;
  align-items: center !important;
}

.closest-medallion {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  box-shadow:
    0 14px 25px rgba(8,108,195,.25),
    inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.closest-copy h2 {
  color: #0c2239 !important;
  font-size: clamp(1.58rem, 7.2vw, 2.12rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.068em !important;
  text-shadow: none !important;
}

.closest-kicker {
  color: #087ccc !important;
  margin-bottom: 6px !important;
}

.closest-chip-row {
  margin-top: 10px !important;
}

.closest-copy small {
  color: rgba(12,34,57,.72) !important;
  font-weight: 850 !important;
}

.closest-route-btn {
  margin-top: 4px !important;
  min-height: 62px !important;
  border-radius: 18px !important;
  justify-content: flex-start !important;
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.34) !important;
  box-shadow:
    0 16px 30px rgba(8,108,195,.28),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.closest-route-btn .closest-route-label small,
.closest-route-btn small {
  color: rgba(255,255,255,.82) !important;
}

/* 3) Stop cards: keep glass but improve contrast */
.stop-card {
  background:
    radial-gradient(circle at 88% 6%, rgba(18,150,223,.10), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.79), rgba(247,235,222,.64)) !important;
  border-color: rgba(255,255,255,.42) !important;
}

.stop-name {
  color: #0c2239 !important;
  text-shadow: none !important;
}

.stop-address,
.stop-source {
  color: rgba(12,34,57,.68) !important;
}

.route-main {
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.34) !important;
}

.route-provider {
  color: rgba(255,255,255,.80) !important;
}

/* 4) Bottom cards: separate cards, no shared backdrop, official phone visual */
.install-footer {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  padding: 0 !important;
  margin-top: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}

.install-footer::before {
  display: none !important;
  content: none !important;
}

.install-app-btn {
  position: relative !important;
  overflow: hidden !important;
  min-height: 92px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(18,150,223,.10), transparent 10rem),
    linear-gradient(145deg, rgba(255,250,242,.78), rgba(247,235,222,.64)) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
  backdrop-filter: blur(20px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.22) !important;
}

.install-app-btn::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.18), transparent 9rem) !important;
  opacity: .62 !important;
}

.install-app-btn > * {
  position: relative !important;
  z-index: 2 !important;
}

.install-app-btn strong {
  color: #0c2239 !important;
  font-size: 1.05rem !important;
  line-height: 1.08 !important;
}

.install-app-btn small {
  color: rgba(12,34,57,.68) !important;
  font-size: .88rem !important;
  line-height: 1.25 !important;
}

.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 68px !important;
  padding: 14px 12px 14px 14px !important;
}

.install-home-btn > span:last-child {
  padding-right: 4px !important;
  min-width: 0 !important;
}

.install-home-btn::after {
  content: "" !important;
  position: relative !important;
  z-index: 2 !important;
  width: 58px !important;
  height: 76px !important;
  justify-self: end !important;
  align-self: center !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(235,230,222,.96)) padding-box,
    linear-gradient(135deg, rgba(255,255,255,.80), rgba(12,34,57,.18)) border-box !important;
  border: 2px solid transparent !important;
  box-shadow:
    0 10px 18px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.install-home-btn::before {
  z-index: 1 !important;
}

/* Phone screen/app icon details */
.install-home-btn .install-app-icon::after {
  content: "" !important;
}

.install-home-btn::selection {
  background: transparent;
}

.install-home-btn span:last-child::after {
  content: "" !important;
  position: absolute !important;
  right: 29px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 31px !important;
  height: 31px !important;
  border-radius: 9px !important;
  background: url("assets/apple-touch-icon.png") center / cover no-repeat !important;
  box-shadow: 0 3px 8px rgba(0,0,0,.14) !important;
  z-index: 4 !important;
  pointer-events: none !important;
}

.install-home-btn span:last-child::before {
  content: "" !important;
  position: absolute !important;
  right: 34px !important;
  top: calc(50% + 28px) !important;
  width: 20px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: rgba(12,34,57,.16) !important;
  z-index: 4 !important;
  pointer-events: none !important;
}

.share-app-btn {
  grid-template-columns: 42px minmax(0,1fr) !important;
}

/* 5) Support card polish */
.support-card {
  padding: 18px 18px 86px !important;
  background:
    radial-gradient(circle at 84% 10%, rgba(18,150,223,.10), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.78), rgba(247,235,222,.64)) !important;
  border-color: rgba(255,255,255,.42) !important;
}

.support-card h2 {
  color: #0c2239 !important;
}

.support-card p:not(.mini-label) {
  color: rgba(12,34,57,.70) !important;
}

.support-card::after {
  right: 10px !important;
  bottom: -12px !important;
  width: 150px !important;
  height: 105px !important;
  opacity: .94 !important;
}

.support-card .btn-donate {
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.34) !important;
}

/* 6) Mobile-specific polish */
@media (max-width: 520px) {
  .summary-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .summary-schedule {
    grid-column: 1 / -1 !important;
  }

  .summary-card {
    padding: 18px 18px !important;
    border-radius: 24px !important;
  }

  .summary-stops,
  .summary-status {
    min-height: 148px !important;
  }

  .status-summary-card small {
    font-size: .82rem !important;
    line-height: 1.22 !important;
  }

  .closest-card {
    padding: 18px !important;
  }

  .closest-route {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  .closest-route-btn {
    width: 100% !important;
  }

  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 62px !important;
  }

  .install-home-btn::after {
    width: 54px !important;
    height: 72px !important;
  }

  .install-home-btn span:last-child::after {
    right: 26px !important;
  }

  .install-home-btn span:last-child::before {
    right: 31px !important;
  }
}

@media (max-width: 390px) {
  .summary-card {
    padding: 16px 14px !important;
  }

  .summary-schedule h2 {
    font-size: clamp(2rem, 10.8vw, 2.65rem) !important;
  }

  .closest-copy h2 {
    font-size: clamp(1.38rem, 6.8vw, 1.9rem) !important;
  }

  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 52px !important;
  }

  .install-home-btn::after {
    width: 48px !important;
    height: 66px !important;
  }

  .install-home-btn span:last-child::after {
    width: 27px !important;
    height: 27px !important;
    right: 23px !important;
  }
}




/* v81 final production polish: app icon deployed, clean icons, premium feature card, official phone visual */

/* Remove duplicate summary icon layer; use the real inline SVG badges only. */
.summary-card::after {
  content: none !important;
  display: none !important;
}
.summary-card {
  padding: 18px 70px 18px 18px !important;
}
.summary-card .summary-icon {
  top: 16px !important;
  right: 16px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 32% 20%, rgba(255,255,255,.38), transparent 40%),
    linear-gradient(135deg, #2ec6ff 0%, #0877d9 100%) !important;
  box-shadow:
    0 14px 26px rgba(8,108,195,.28),
    inset 0 1px 0 rgba(255,255,255,.35) !important;
  opacity: 1 !important;
}
.summary-card .summary-icon svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #fff !important;
  stroke-width: 2.2 !important;
  fill: none !important;
}
.summary-stops .summary-icon,
.summary-status .summary-icon {
  top: 14px !important;
  right: 14px !important;
}
.summary-card .mini-label {
  font-size: .72rem !important;
  letter-spacing: .16em !important;
}
.summary-schedule h2 {
  font-size: clamp(2.05rem, 10.8vw, 2.8rem) !important;
}
.summary-stops h2 {
  font-size: clamp(2rem, 9vw, 2.5rem) !important;
}
.status-summary-card h2 {
  font-size: clamp(1.48rem, 6.6vw, 2rem) !important;
}
.status-summary-card small {
  font-size: .80rem !important;
  line-height: 1.22 !important;
  max-width: 12rem !important;
}

/* Featured stop: more premium, balanced, less generic. */
.closest-card {
  padding: 18px 18px 20px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(46,198,255,.16), transparent 14rem),
    radial-gradient(circle at 6% 102%, rgba(196,137,69,.14), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.82), rgba(242,231,218,.68)) !important;
  border: 1px solid rgba(255,255,255,.50) !important;
  box-shadow:
    0 22px 46px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.closest-card .mini-label {
  color: #087ccc !important;
  font-size: .70rem !important;
  letter-spacing: .16em !important;
  margin-bottom: 12px !important;
}
.closest-route {
  grid-template-columns: 68px minmax(0,1fr) !important;
  grid-template-areas:
    "icon copy"
    "button button" !important;
  gap: 14px !important;
}
.closest-medallion {
  width: 62px !important;
  height: 62px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 40% 28%, rgba(255,255,255,.22), transparent 42%),
    linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  box-shadow: 0 16px 26px rgba(8,108,195,.25), inset 0 1px 0 rgba(255,255,255,.36) !important;
}
.closest-medallion img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
}
.closest-kicker {
  color: #087ccc !important;
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  margin-bottom: 6px !important;
}
.closest-copy h2 {
  color: #0c2239 !important;
  font-size: clamp(1.52rem, 7vw, 2.06rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.068em !important;
}
.closest-chip-row strong {
  color: #0c2239 !important;
  background: linear-gradient(135deg, #ffe6a8, #ffc767) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.50) !important;
}
.closest-chip-row span {
  color: rgba(12,34,57,.64) !important;
  background: rgba(12,34,57,.07) !important;
  border-color: rgba(12,34,57,.08) !important;
}
.closest-copy small {
  color: rgba(12,34,57,.70) !important;
  font-weight: 850 !important;
}
.closest-route-btn {
  min-height: 64px !important;
  border-radius: 20px !important;
  padding: 10px 14px !important;
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.38) !important;
  box-shadow: 0 16px 30px rgba(8,108,195,.28), inset 0 1px 0 rgba(255,255,255,.36) !important;
}
.closest-route-label strong,
.closest-route-label span {
  color: #fff !important;
}
.closest-route-label small,
.closest-route-btn small {
  color: rgba(255,255,255,.82) !important;
}

/* Stop route buttons remain premium and readable. */
.route-main {
  border-radius: 20px !important;
  min-height: 62px !important;
  padding: 10px 14px !important;
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  color: #fff !important;
  box-shadow: 0 15px 28px rgba(8,108,195,.24), inset 0 1px 0 rgba(255,255,255,.34) !important;
}
.route-provider { color: rgba(255,255,255,.82) !important; }

/* Bottom install/share: no pseudo phone ghosts or duplicate app icons. */
.install-home-btn::after,
.install-home-btn .install-copy::before,
.install-home-btn .install-copy::after,
.install-home-btn > span:last-child::before,
.install-home-btn > span:last-child::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.install-footer {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  gap: 14px !important;
}
.install-app-btn {
  min-height: 96px !important;
  border-radius: 23px !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(18,150,223,.10), transparent 10rem),
    linear-gradient(145deg, rgba(255,250,242,.80), rgba(247,235,222,.66)) !important;
  border: 1px solid rgba(255,255,255,.46) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.80) !important;
}
.install-home-btn {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) 68px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 12px 14px 14px !important;
}
.install-copy {
  min-width: 0 !important;
  display: block !important;
}
.install-phone-visual {
  position: relative !important;
  z-index: 2 !important;
  justify-self: end !important;
  width: 56px !important;
  height: 76px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(235,230,222,.94)) !important;
  border: 2px solid rgba(12,34,57,.10) !important;
  box-shadow: 0 12px 20px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.80) !important;
}
.install-phone-visual::before {
  content: "" !important;
  position: absolute !important;
  top: 6px !important;
  width: 20px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: rgba(12,34,57,.14) !important;
}
.install-phone-visual::after {
  content: "" !important;
  position: absolute !important;
  bottom: 7px !important;
  width: 18px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: rgba(12,34,57,.12) !important;
}
.install-phone-screen {
  width: 42px !important;
  height: 52px !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(180deg, rgba(8,22,36,.94), rgba(12,9,7,.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.install-phone-screen img {
  width: 32px !important;
  height: 32px !important;
  display: block !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 10px rgba(0,0,0,.18) !important;
}
.share-app-btn {
  grid-template-columns: 42px minmax(0,1fr) !important;
}
.install-app-btn strong {
  color: #0c2239 !important;
  font-size: 1.05rem !important;
}
.install-app-btn small { color: rgba(12,34,57,.70) !important; }

/* Support card bottom spacing remains clean with cup anchored. */
.support-card {
  padding: 18px 18px 88px !important;
}
.support-card::after {
  right: 8px !important;
  bottom: -12px !important;
  width: 150px !important;
  height: 105px !important;
}

@media (max-width: 520px) {
  .summary-card { padding: 18px 66px 18px 18px !important; }
  .summary-card .summary-icon { width: 42px !important; height: 42px !important; border-radius: 17px !important; }
  .closest-card { padding: 18px !important; }
  .closest-route { grid-template-columns: 64px minmax(0,1fr) !important; }
  .install-home-btn { grid-template-columns: 42px minmax(0,1fr) 62px !important; }
  .install-phone-visual { width: 54px !important; height: 72px !important; }
  .install-phone-screen { width: 39px !important; height: 49px !important; }
  .install-phone-screen img { width: 30px !important; height: 30px !important; }
}

@media (max-width: 390px) {
  .summary-card { padding: 16px 58px 16px 14px !important; }
  .summary-card .summary-icon { width: 38px !important; height: 38px !important; }
  .closest-route { grid-template-columns: 58px minmax(0,1fr) !important; }
  .closest-medallion { width: 54px !important; height: 54px !important; }
  .closest-medallion img { width: 38px !important; height: 38px !important; }
  .install-home-btn { grid-template-columns: 42px minmax(0,1fr) 54px !important; }
  .install-phone-visual { width: 50px !important; height: 68px !important; }
}


/* v82 final production polish: spacing, phone preview, icon cleanup, desktop summary layout */

/* Summary cards: one icon system only */
.summary-card::after {
  content: none !important;
  display: none !important;
}
.summary-card .summary-icon {
  display: grid !important;
  opacity: 1 !important;
}

/* Mobile summary remains readable; desktop goes back to a clean 3-column row. */
@media (min-width: 620px) {
  .summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .summary-schedule,
  .summary-stops,
  .summary-status {
    grid-column: auto !important;
    min-height: 132px !important;
  }
  .summary-card {
    padding: 18px 66px 18px 18px !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.85rem, 3.4vw, 2.45rem) !important;
  }
  .summary-stops h2 {
    font-size: clamp(1.9rem, 3.2vw, 2.45rem) !important;
  }
  .summary-status h2 {
    font-size: clamp(1.32rem, 2.6vw, 1.85rem) !important;
    line-height: 1.03 !important;
  }
  .status-summary-card small {
    font-size: .76rem !important;
    line-height: 1.22 !important;
  }
}

/* Featured card: final premium pass */
.closest-card {
  padding: 20px 18px 20px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(46,198,255,.13), transparent 15rem),
    radial-gradient(circle at 6% 105%, rgba(196,137,69,.13), transparent 12rem),
    linear-gradient(145deg, rgba(255,250,242,.80), rgba(242,231,218,.66)) !important;
  border: 1px solid rgba(255,255,255,.52) !important;
  box-shadow:
    0 22px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.closest-card .mini-label {
  color: #087ccc !important;
  font-size: .70rem !important;
  letter-spacing: .16em !important;
  margin-bottom: 14px !important;
}
.closest-route {
  grid-template-columns: 68px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon copy"
    "button button" !important;
  gap: 14px !important;
}
.closest-medallion {
  width: 62px !important;
  height: 62px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 40% 25%, rgba(255,255,255,.24), transparent 42%),
    linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  box-shadow:
    0 16px 26px rgba(8,108,195,.25),
    inset 0 1px 0 rgba(255,255,255,.38) !important;
}
.closest-medallion img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
}
.closest-kicker {
  color: #087ccc !important;
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  margin-bottom: 6px !important;
}
.closest-copy h2 {
  color: #0c2239 !important;
  font-size: clamp(1.54rem, 7vw, 2.08rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.068em !important;
  text-shadow: none !important;
}
.closest-chip-row {
  margin-top: 10px !important;
  gap: 9px !important;
}
.closest-chip-row strong {
  color: #0c2239 !important;
  background: linear-gradient(135deg, #ffe8ad, #ffc765) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.50) !important;
}
.closest-chip-row span {
  color: rgba(12,34,57,.64) !important;
  background: rgba(12,34,57,.07) !important;
  border-color: rgba(12,34,57,.08) !important;
}
.closest-copy small {
  color: rgba(12,34,57,.70) !important;
  font-weight: 850 !important;
}
.closest-route-btn {
  min-height: 64px !important;
  border-radius: 20px !important;
  padding: 10px 14px !important;
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.38) !important;
  box-shadow:
    0 16px 30px rgba(8,108,195,.28),
    inset 0 1px 0 rgba(255,255,255,.36) !important;
}
.closest-route-label strong,
.closest-route-label span { color: #fff !important; }
.closest-route-label small,
.closest-route-btn small { color: rgba(255,255,255,.82) !important; }

/* Desktop featured layout gets a true premium horizontal composition. */
@media (min-width: 620px) {
  .closest-route {
    grid-template-columns: 70px minmax(0,1fr) 164px !important;
    grid-template-areas: "icon copy button" !important;
    align-items: center !important;
  }
  .closest-route-btn {
    width: 164px !important;
    justify-self: end !important;
    margin-top: 0 !important;
  }
}

/* Support/developer card spacing fixed and cup anchored cleanly. */
.support-card.support-developer-card,
.support-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 220px) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 22px 22px 92px 22px !important;
  min-height: 176px !important;
}
.support-card::before {
  content: "♥" !important;
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  left: 18px !important;
  top: 20px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 16px !important;
  color: #087ccc !important;
  background: rgba(46,198,255,.14) !important;
  border: 1px solid rgba(46,198,255,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36) !important;
  z-index: 2 !important;
}
.support-card > div {
  padding-left: 58px !important;
  min-width: 0 !important;
}
.support-card h2 {
  margin-top: 0 !important;
  line-height: 1.02 !important;
}
.support-card p:not(.mini-label) {
  max-width: 430px !important;
  line-height: 1.34 !important;
}
.support-card .btn-donate {
  grid-column: 2 !important;
  width: 100% !important;
  min-height: 62px !important;
  align-self: start !important;
  justify-self: end !important;
  border-radius: 18px !important;
}
.support-card::after {
  right: 18px !important;
  bottom: -12px !important;
  width: 160px !important;
  height: 110px !important;
  opacity: .94 !important;
  z-index: 0 !important;
}
.support-card > *,
.support-card .btn-donate {
  position: relative !important;
  z-index: 2 !important;
}
@media (max-width: 620px) {
  .support-card.support-developer-card,
  .support-card {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 20px 18px 96px 18px !important;
  }
  .support-card .btn-donate {
    grid-column: auto !important;
    width: 100% !important;
    justify-self: stretch !important;
  }
  .support-card > div {
    padding-left: 56px !important;
  }
  .support-card::after {
    right: 10px !important;
    bottom: -12px !important;
    width: 146px !important;
    height: 102px !important;
  }
}

/* Bottom install/share cards: separate, no ghost overlays, official phone with app grid. */
.install-footer {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  padding: 0 !important;
  margin-top: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}
.install-footer::before,
.install-home-btn::before,
.install-home-btn::after,
.install-home-btn .install-copy::before,
.install-home-btn .install-copy::after,
.install-home-btn > span:last-child::before,
.install-home-btn > span:last-child::after {
  content: none !important;
  display: none !important;
}
.install-app-btn {
  position: relative !important;
  overflow: hidden !important;
  min-height: 98px !important;
  border-radius: 23px !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(18,150,223,.10), transparent 10rem),
    linear-gradient(145deg, rgba(255,250,242,.80), rgba(247,235,222,.66)) !important;
  border: 1px solid rgba(255,255,255,.46) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.80) !important;
  backdrop-filter: blur(20px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.22) !important;
}
.install-home-btn {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) 82px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 14px 14px 14px !important;
}
.install-copy { min-width: 0 !important; }
.install-phone-visual {
  position: relative !important;
  z-index: 2 !important;
  justify-self: end !important;
  width: 72px !important;
  height: 96px !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.install-phone-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.15)) !important;
}
.install-phone-screen,
.install-phone-screen img {
  display: none !important;
}
.share-app-btn { grid-template-columns: 42px minmax(0,1fr) !important; }
.install-app-btn strong {
  color: #0c2239 !important;
  font-size: 1.05rem !important;
  line-height: 1.08 !important;
}
.install-app-btn small { color: rgba(12,34,57,.70) !important; }
@media (min-width: 620px) {
  .install-footer {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 78px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 70px !important;
    gap: 10px !important;
  }
  .install-phone-visual {
    width: 64px !important;
    height: 86px !important;
  }
  .install-app-btn strong { font-size: .98rem !important; }
  .install-app-btn small { font-size: .82rem !important; }
}

/* Keep the app icon crisp and avoid visible yellow decoration on tiny renders. */
.install-phone-screen img,
.install-phone-img,
.provider-logo img,
.closest-medallion img {
  image-rendering: auto !important;
}


/* v83 final production polish: schedule date, cleaner donate spacing, visible phone preview, desktop summary sizing */
.summary-date {
  display: block;
  margin-top: 6px;
  color: rgba(255,250,242,.78);
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 820;
  letter-spacing: .02em;
}

@media (min-width: 620px) {
  .summary-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .95fr) minmax(0, 1.2fr) !important;
    gap: 12px !important;
  }
  .summary-schedule,
  .summary-stops,
  .summary-status {
    min-height: 150px !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.9rem, 3vw, 2.28rem) !important;
    white-space: nowrap !important;
  }
  .summary-stops h2 {
    font-size: clamp(1.85rem, 2.9vw, 2.3rem) !important;
  }
  .summary-status h2 {
    font-size: clamp(1.12rem, 2.1vw, 1.7rem) !important;
  }
  .status-summary-card small {
    max-width: none !important;
    font-size: .72rem !important;
  }
}

@media (max-width: 520px) {
  .summary-schedule h2 {
    font-size: clamp(1.72rem, 7.2vw, 2.05rem) !important;
  }
  .summary-date {
    margin-top: 4px;
    font-size: .74rem;
  }
}

.support-card.support-developer-card,
.support-card {
  min-height: 150px !important;
  padding: 20px 20px 70px 20px !important;
  gap: 14px !important;
}
.support-card > div {
  align-self: start !important;
}
.support-card h2 {
  margin-bottom: 8px !important;
}
.support-card p:not(.mini-label) {
  margin-bottom: 0 !important;
  max-width: 390px !important;
}
.support-card .btn-donate {
  min-height: 58px !important;
  align-self: start !important;
}
.support-card::after {
  right: 14px !important;
  bottom: -8px !important;
  width: 132px !important;
  height: 92px !important;
}
@media (max-width: 620px) {
  .support-card.support-developer-card,
  .support-card {
    padding: 18px 18px 84px 18px !important;
    min-height: 0 !important;
  }
  .support-card::after {
    width: 132px !important;
    height: 92px !important;
    right: 10px !important;
    bottom: -8px !important;
  }
}

.install-footer {
  margin-top: 12px !important;
}
.install-home-btn {
  grid-template-columns: 42px minmax(0,1fr) 90px !important;
}
.install-phone-visual {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  justify-self: end !important;
  min-width: 82px !important;
  width: 82px !important;
  height: 104px !important;
  background-image: url("assets/install-phone-preview.webp") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
.install-phone-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
}
@media (min-width: 620px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 96px !important;
  }
  .install-phone-visual {
    min-width: 90px !important;
    width: 90px !important;
    height: 112px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0,1fr) 78px !important;
  }
  .install-phone-visual {
    min-width: 72px !important;
    width: 72px !important;
    height: 96px !important;
  }
}


/* v84: generated smartphone image in Home Screen install card */
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 108px !important;
  min-height: 124px !important;
  padding-right: 12px !important;
}
.install-phone-visual {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: 104px !important;
  height: 124px !important;
  min-width: 104px !important;
  background: url("assets/install-phone-preview.webp") center / contain no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
}
.install-phone-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;
}
.install-phone-screen,
.install-phone-screen img {
  display: none !important;
}
@media (min-width: 620px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 118px !important;
  }
  .install-phone-visual {
    width: 112px !important;
    height: 134px !important;
    min-width: 112px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 86px !important;
    min-height: 112px !important;
  }
  .install-phone-visual {
    width: 82px !important;
    height: 104px !important;
    min-width: 82px !important;
  }
}

/* v85: use provided app icon set, shrink phone preview slightly, and center the blue arrow icon */
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 94px !important;
  min-height: 116px !important;
  padding-right: 12px !important;
}
.install-phone-visual {
  width: 88px !important;
  height: 108px !important;
  min-width: 88px !important;
  align-self: center !important;
}
.install-phone-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.install-app-icon {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}
.install-app-icon::before {
  content: "↗" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
@media (min-width: 620px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 98px !important;
  }
  .install-phone-visual {
    width: 92px !important;
    height: 112px !important;
    min-width: 92px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 80px !important;
    min-height: 108px !important;
  }
  .install-phone-visual {
    width: 76px !important;
    height: 96px !important;
    min-width: 76px !important;
  }
}


/* v86: accurate synced-schedule date, cleaner status card, centered stop count */
#scheduleSubstatus {
  display: none !important;
}

.summary-stops {
  padding-left: 18px !important;
  padding-right: 18px !important;
  text-align: center !important;
}

.summary-stops .mini-label {
  text-align: left !important;
}

.summary-stops #stopCount {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 6px !important;
  text-align: center !important;
}

@media (min-width: 620px) {
  .summary-stops {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .summary-stops #stopCount {
    min-height: 68px !important;
  }
}

@media (max-width: 520px) {
  .summary-stops {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* v87: smaller summary icons, centered summary card content, and correct synced schedule date rendering */
.summary-schedule,
.summary-stops,
.summary-status {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 18px 18px !important;
}

.summary-schedule .mini-label,
.summary-stops .mini-label,
.summary-status .mini-label,
.summary-schedule h2,
.summary-stops h2,
.summary-status h2,
.summary-date,
.status-summary-card small {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.summary-schedule .mini-label,
.summary-stops .mini-label,
.summary-status .mini-label {
  margin-bottom: 8px !important;
}

.summary-schedule h2,
.summary-stops h2,
.summary-status h2 {
  margin-top: 0 !important;
}

.summary-date {
  margin-top: 6px !important;
}

.summary-card .summary-icon {
  top: 12px !important;
  right: 12px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 14px !important;
  box-shadow:
    0 10px 18px rgba(8,108,195,.24),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.summary-card .summary-icon svg {
  width: 17px !important;
  height: 17px !important;
  stroke-width: 2.05 !important;
}

.summary-stops #stopCount {
  min-height: 0 !important;
  margin-top: 2px !important;
}

.status-summary-card h2 {
  max-width: 10ch !important;
}

@media (min-width: 620px) {
  .summary-schedule,
  .summary-stops,
  .summary-status {
    min-height: 150px !important;
  }
}

@media (max-width: 520px) {
  .summary-schedule,
  .summary-stops,
  .summary-status {
    padding: 16px 14px !important;
  }

  .summary-card .summary-icon {
    width: 30px !important;
    height: 30px !important;
    border-radius: 12px !important;
    top: 10px !important;
    right: 10px !important;
  }

  .summary-card .summary-icon svg {
    width: 15px !important;
    height: 15px !important;
  }
}

/* v88: final four-card layout polish — cleaner summary boxes and featured stop card */
.summary-grid {
  align-items: stretch !important;
  gap: 12px !important;
}

.summary-schedule,
.summary-stops,
.summary-status {
  position: relative !important;
  min-height: 142px !important;
  padding: 24px 16px 18px !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 82% 8%, rgba(46,198,255,.13), transparent 4.6rem),
    linear-gradient(145deg, rgba(21,32,45,.92), rgba(22,20,26,.88)) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  box-shadow:
    0 16px 28px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.summary-card .summary-icon {
  top: 12px !important;
  right: 12px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 11px !important;
  opacity: .98 !important;
  box-shadow:
    0 8px 16px rgba(8,108,195,.26),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.summary-card .summary-icon svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2.15 !important;
}

.summary-schedule .mini-label,
.summary-stops .mini-label,
.summary-status .mini-label {
  width: auto !important;
  max-width: calc(100% - 42px) !important;
  margin: 0 auto 9px !important;
  padding: 0 !important;
  color: #57d7ff !important;
  font-size: .66rem !important;
  line-height: 1.06 !important;
  letter-spacing: .16em !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
}

.summary-schedule h2,
.summary-stops h2,
.summary-status h2 {
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  color: #fffaf2 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.22) !important;
}

.summary-schedule h2 {
  font-size: clamp(1.95rem, 4.1vw, 2.35rem) !important;
  line-height: .98 !important;
}

.summary-stops h2,
.summary-stops #stopCount {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  font-size: clamp(2.08rem, 4.6vw, 2.55rem) !important;
  line-height: 1 !important;
}

.summary-status h2,
.status-summary-card h2 {
  max-width: 9.5ch !important;
  font-size: clamp(1.42rem, 3.3vw, 1.78rem) !important;
  line-height: .98 !important;
}

.summary-date {
  width: 100% !important;
  margin: 9px auto 0 !important;
  color: rgba(255,250,242,.78) !important;
  font-size: .74rem !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Featured scheduled stop: cleaner card geometry, calmer spacing, balanced CTA. */
.closest-card {
  margin-top: 14px !important;
  padding: 20px 20px 22px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(46,198,255,.11), transparent 11rem),
    radial-gradient(circle at 10% 100%, rgba(196,137,69,.13), transparent 10rem),
    linear-gradient(145deg, rgba(255,250,242,.88), rgba(239,228,216,.78)) !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  box-shadow:
    0 20px 42px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
  overflow: hidden !important;
}

.closest-card .mini-label {
  margin: 0 0 14px !important;
  color: #0788da !important;
  font-size: .72rem !important;
  line-height: 1.1 !important;
  letter-spacing: .17em !important;
}

.closest-route {
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr) minmax(126px, 164px) !important;
  grid-template-areas: "icon copy button" !important;
  align-items: center !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
}

.closest-medallion {
  grid-area: icon !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  align-self: center !important;
  justify-self: center !important;
  box-shadow: 0 13px 24px rgba(8,108,195,.24), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.closest-medallion img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
}

.closest-copy {
  grid-area: copy !important;
  min-width: 0 !important;
}

.closest-kicker {
  margin: 0 0 7px !important;
  color: #0788da !important;
  font-size: .72rem !important;
  line-height: 1.05 !important;
  letter-spacing: .15em !important;
}

.closest-copy h2 {
  max-width: 18rem !important;
  margin: 0 !important;
  color: #0c2239 !important;
  font-size: clamp(1.55rem, 3.8vw, 2.05rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.065em !important;
}

.closest-chip-row {
  margin-top: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.closest-chip-row strong,
.closest-chip-row span {
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  padding: 0 10px !important;
}

.closest-copy small {
  display: block !important;
  margin-top: 10px !important;
  color: rgba(12,34,57,.70) !important;
  font-size: .80rem !important;
  line-height: 1.25 !important;
}

.closest-route-btn {
  grid-area: button !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 10px 13px !important;
  border-radius: 18px !important;
  align-self: center !important;
  justify-self: end !important;
  box-shadow: 0 14px 26px rgba(8,108,195,.26), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.closest-route-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
}

.closest-route-label strong {
  font-size: .93rem !important;
  line-height: 1 !important;
}

.closest-route-label small {
  font-size: .74rem !important;
  line-height: 1.05 !important;
}

@media (min-width: 620px) {
  .summary-grid {
    grid-template-columns: minmax(0, 1.14fr) minmax(0, .8fr) minmax(0, 1fr) !important;
  }
  .summary-schedule,
  .summary-stops,
  .summary-status {
    min-height: 146px !important;
  }
}

@media (max-width: 640px) {
  .closest-route {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon copy"
      "button button" !important;
  }
  .closest-route-btn {
    justify-self: stretch !important;
    margin-top: 2px !important;
  }
  .closest-copy h2 {
    max-width: none !important;
    font-size: clamp(1.45rem, 7vw, 1.9rem) !important;
  }
}

@media (max-width: 520px) {
  .summary-grid {
    gap: 10px !important;
  }
  .summary-schedule,
  .summary-stops,
  .summary-status {
    min-height: 126px !important;
    padding: 22px 12px 16px !important;
  }
  .summary-card .summary-icon {
    width: 26px !important;
    height: 26px !important;
    border-radius: 10px !important;
    top: 10px !important;
    right: 10px !important;
  }
  .summary-card .summary-icon svg {
    width: 13px !important;
    height: 13px !important;
  }
  .summary-schedule .mini-label,
  .summary-stops .mini-label,
  .summary-status .mini-label {
    font-size: .60rem !important;
    letter-spacing: .14em !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.55rem, 8vw, 1.95rem) !important;
  }
  .summary-status h2,
  .status-summary-card h2 {
    font-size: clamp(1.24rem, 6.4vw, 1.54rem) !important;
  }
  .closest-card {
    padding: 18px 18px 20px !important;
  }
}


/* v89: optional developer support moved to a small bottom link + clearer donate popup */
.support-card.support-developer-card {
  display: none !important;
}

.developer-support-footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 12px auto 24px !important;
  padding: 0 10px 10px !important;
  text-align: center !important;
}

.developer-support-link {
  appearance: none !important;
  border: 0 !important;
  background: rgba(0,0,0,.16) !important;
  color: rgba(255,250,242,.72) !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-size: .78rem !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.developer-support-link:active {
  transform: scale(.985) !important;
}

.developer-support-link:focus-visible {
  outline: 3px solid rgba(46,198,255,.55) !important;
  outline-offset: 3px !important;
}

.developer-donate-modal {
  max-width: min(92vw, 430px) !important;
  text-align: left !important;
}

.developer-donate-modal .mini-label,
.developer-donate-modal h2,
.developer-donate-modal p,
.developer-donate-modal small {
  text-align: left !important;
}

.developer-donate-modal h2 {
  line-height: 1.02 !important;
}

.developer-donate-modal .donate-intro,
.developer-donate-modal .donate-note {
  color: rgba(255,250,242,.80) !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
  margin: 0 0 10px !important;
}

.developer-donate-modal .donate-note {
  color: rgba(255,250,242,.70) !important;
}

.donate-options {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 14px 0 16px !important;
}

.developer-donate-modal .qr-frame {
  width: 132px !important;
  margin: 0 !important;
}

.developer-donate-modal .venmo-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 58px !important;
  width: 100% !important;
  padding: 13px 14px !important;
  border-radius: 18px !important;
  text-decoration: none !important;
}

.developer-donate-modal .venmo-link strong {
  font-size: .98rem !important;
  line-height: 1.1 !important;
}

.developer-donate-modal .venmo-link span {
  font-size: .78rem !important;
  line-height: 1.1 !important;
  opacity: .82 !important;
  overflow-wrap: anywhere !important;
}

.developer-donate-modal .modal-ok {
  margin-top: 2px !important;
}

.developer-donate-modal > small {
  display: block !important;
  margin-top: 10px !important;
  color: rgba(255,250,242,.58) !important;
}

@media (max-width: 430px) {
  .developer-support-footer {
    margin-top: 10px !important;
    margin-bottom: 20px !important;
  }

  .developer-support-link {
    font-size: .74rem !important;
    padding: 7px 10px !important;
  }

  .donate-options {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }

  .developer-donate-modal .qr-frame {
    width: min(170px, 62vw) !important;
  }

  .developer-donate-modal .venmo-link {
    align-items: center !important;
    text-align: center !important;
  }
}

/* v90: slightly smaller hero headline so the hero card sits shorter and reveals more of the featured stop */
.hero-card {
  padding: 20px 18px 18px !important;
}

.hero-card h1 {
  font-size: clamp(2.16rem, 10vw, 3.55rem) !important;
  line-height: .92 !important;
  margin-bottom: 12px !important;
  max-width: 430px !important;
}

.hero-copy {
  padding: 11px 13px !important;
}

@media (max-width: 520px) {
  .hero-card {
    padding: 18px 14px 16px !important;
  }

  .hero-card h1 {
    font-size: clamp(1.92rem, 9.8vw, 2.48rem) !important;
    margin-bottom: 10px !important;
  }

  .hero-copy {
    padding: 10px 12px !important;
  }
}

/* v91: place Refresh Schedule and View All Stops side by side to shorten the hero area */
.hero-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.hero-actions #locateBtn {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

.hero-actions #reloadBtn,
.hero-actions #allMapBtn,
#locateBtn.is-location-refresh + #reloadBtn,
#locateBtn.is-location-refresh + #reloadBtn + #allMapBtn {
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 520px) {
  .hero-actions {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
    gap: 8px !important;
  }

  .hero-actions #reloadBtn,
  .hero-actions #allMapBtn {
    min-height: 62px !important;
  }

  .hero-actions #reloadBtn strong,
  .hero-actions #allMapBtn strong {
    font-size: .95rem !important;
  }

  .hero-actions #reloadBtn small,
  .hero-actions #allMapBtn small {
    font-size: .74rem !important;
    line-height: 1.18 !important;
  }
}

/* v92: remove subtext from Refresh Schedule / View All Stops and shrink the unofficial disclaimer copy a bit */
.hero-actions #reloadBtn small,
.hero-actions #allMapBtn small {
  display: none !important;
}

.hero-actions #reloadBtn,
.hero-actions #allMapBtn {
  min-height: 58px !important;
}

.hero-actions #reloadBtn strong,
.hero-actions #allMapBtn strong {
  font-size: .98rem !important;
  line-height: 1.08 !important;
}

.hero-copy {
  padding: 9px 12px !important;
}

.hero-copy span:last-child {
  font-size: .84rem !important;
  line-height: 1.28 !important;
}

@media (max-width: 520px) {
  .hero-actions #reloadBtn,
  .hero-actions #allMapBtn {
    min-height: 54px !important;
  }

  .hero-actions #reloadBtn strong,
  .hero-actions #allMapBtn strong {
    font-size: .92rem !important;
  }

  .hero-copy span:last-child {
    font-size: .79rem !important;
    line-height: 1.24 !important;
  }
}

/* v93: make the three summary cards a touch smaller and cleaner */
.summary-grid {
  gap: 8px !important;
}

.summary-schedule,
.summary-stops,
.summary-status {
  min-height: 124px !important;
  padding: 14px 14px !important;
  border-radius: 24px !important;
}

.summary-card .summary-icon {
  top: 10px !important;
  right: 10px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 11px !important;
}

.summary-card .summary-icon svg {
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2 !important;
}

.summary-card .mini-label {
  font-size: .66rem !important;
  letter-spacing: .14em !important;
  margin-bottom: 6px !important;
}

.summary-schedule h2 {
  font-size: clamp(1.9rem, 7.2vw, 2.45rem) !important;
  line-height: .94 !important;
}

.summary-stops h2 {
  font-size: clamp(1.8rem, 6.8vw, 2.35rem) !important;
  line-height: .95 !important;
}

.summary-status h2 {
  font-size: clamp(1.12rem, 4.6vw, 1.72rem) !important;
  line-height: .98 !important;
  max-width: 9ch !important;
}

.summary-date {
  margin-top: 4px !important;
  font-size: .78rem !important;
  line-height: 1.12 !important;
}

@media (max-width: 520px) {
  .summary-grid {
    gap: 7px !important;
  }

  .summary-schedule,
  .summary-stops,
  .summary-status {
    min-height: 112px !important;
    padding: 12px 12px !important;
    border-radius: 22px !important;
  }

  .summary-card .summary-icon {
    width: 26px !important;
    height: 26px !important;
    top: 9px !important;
    right: 9px !important;
  }

  .summary-card .summary-icon svg {
    width: 13px !important;
    height: 13px !important;
  }

  .summary-card .mini-label {
    font-size: .62rem !important;
    margin-bottom: 5px !important;
  }

  .summary-schedule h2 {
    font-size: clamp(1.72rem, 7vw, 2.08rem) !important;
  }

  .summary-stops h2 {
    font-size: clamp(1.68rem, 6.8vw, 2rem) !important;
  }

  .summary-status h2 {
    font-size: clamp(1rem, 4.7vw, 1.42rem) !important;
  }

  .summary-date {
    font-size: .74rem !important;
  }
}

/* v94: clean up optional support modal formatting and remove the footer note */
.developer-donate-modal {
  width: min(calc(100vw - 24px), 430px) !important;
  max-width: min(94vw, 430px) !important;
  padding: 16px 14px 14px !important;
  border-radius: 30px !important;
}

.developer-donate-modal .modal-close {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  font-size: 1.65rem !important;
}

.developer-donate-modal .mini-label {
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  margin: 0 0 10px !important;
}

.developer-donate-modal h2 {
  max-width: 320px !important;
  margin: 0 38px 12px 0 !important;
  font-size: clamp(2.15rem, 8.2vw, 3rem) !important;
  line-height: .94 !important;
}

.developer-donate-modal .donate-intro,
.developer-donate-modal .donate-note {
  max-width: 100% !important;
  font-size: .9rem !important;
  line-height: 1.38 !important;
  font-weight: 760 !important;
  margin: 0 0 12px !important;
}

.donate-options {
  grid-template-columns: 102px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 12px 0 14px !important;
}

.developer-donate-modal .qr-frame {
  width: 102px !important;
  padding: 10px !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.22) !important;
}

.developer-donate-modal .venmo-link {
  min-height: 90px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  gap: 6px !important;
  box-shadow: 0 14px 28px rgba(8,108,195,.22), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.developer-donate-modal .venmo-link strong {
  font-size: 1rem !important;
  line-height: 1.08 !important;
}

.developer-donate-modal .venmo-link span {
  font-size: .78rem !important;
  line-height: 1.14 !important;
  opacity: .9 !important;
}

.developer-donate-modal .modal-ok {
  width: min(100%, 300px) !important;
  margin: 2px auto 0 !important;
}

.developer-donate-modal > small {
  display: none !important;
}

@media (max-width: 430px) {
  .developer-donate-modal {
    padding: 15px 13px 13px !important;
  }

  .developer-donate-modal h2 {
    max-width: 280px !important;
    font-size: clamp(1.95rem, 8vw, 2.45rem) !important;
  }

  .developer-donate-modal .donate-intro,
  .developer-donate-modal .donate-note {
    font-size: .86rem !important;
    line-height: 1.34 !important;
  }

  .donate-options {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    gap: 10px !important;
    justify-items: stretch !important;
  }

  .developer-donate-modal .qr-frame {
    width: 94px !important;
    padding: 8px !important;
  }

  .developer-donate-modal .venmo-link {
    min-height: 82px !important;
    padding: 12px 14px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .developer-donate-modal .venmo-link strong {
    font-size: .95rem !important;
  }

  .developer-donate-modal .venmo-link span {
    font-size: .74rem !important;
  }
}

/* v95: iPhone setup instructions now include Share and Add to Home Screen visual icons */
.ios-install-guide {
  display: grid !important;
  gap: 12px !important;
}

.ios-visual-step {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 10px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

.ios-visual-step img {
  width: 58px !important;
  height: 58px !important;
  display: block !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.16) !important;
}

.ios-visual-step strong {
  display: block !important;
  margin-bottom: 3px !important;
  color: #fffaf2 !important;
  font-size: .97rem !important;
  line-height: 1.14 !important;
}

.ios-visual-step small {
  display: block !important;
  color: rgba(255,246,234,.78) !important;
  font-size: .80rem !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
}

@media (max-width: 430px) {
  .ios-visual-step {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 9px 9px !important;
  }

  .ios-visual-step img {
    width: 52px !important;
    height: 52px !important;
  }

  .ios-visual-step strong {
    font-size: .92rem !important;
  }

  .ios-visual-step small {
    font-size: .76rem !important;
  }
}


/* v97: tappable schedule-day switcher through the current Sunday only */
.schedule-picker-card {
  cursor: pointer !important;
  user-select: none !important;
  -webkit-tap-highlight-color: rgba(87, 215, 255, .22) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.schedule-picker-card:focus-visible {
  outline: 3px solid rgba(87, 215, 255, .72) !important;
  outline-offset: 4px !important;
}
.schedule-picker-card:active {
  transform: scale(.985) !important;
}
.schedule-picker-card.is-day-switch-ready {
  border-color: rgba(87, 215, 255, .44) !important;
  box-shadow:
    0 16px 28px rgba(0,0,0,.24),
    0 0 0 1px rgba(87,215,255,.16),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.schedule-picker-hint {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 9px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  color: #e9f8ff !important;
  background: rgba(42, 177, 245, .16) !important;
  border: 1px solid rgba(87, 215, 255, .24) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
}
.schedule-picker-hint::after {
  content: "⌄";
  font-size: .9rem;
  line-height: 1;
  transform: translateY(-1px);
}
.day-picker-modal {
  position: relative !important;
  width: min(calc(100vw - 22px), 430px) !important;
  max-height: min(88dvh, 680px) !important;
  overflow: auto !important;
  border-radius: 30px !important;
  padding: 22px 16px 16px !important;
  text-align: center !important;
  color: #fffaf2 !important;
  background:
    radial-gradient(circle at 82% 8%, rgba(46,198,255,.16), transparent 7rem),
    radial-gradient(circle at 8% 92%, rgba(213,167,102,.14), transparent 8rem),
    linear-gradient(155deg, rgba(5,25,48,.96), rgba(3,12,24,.94) 62%, rgba(21,14,10,.92)) !important;
  border: 1px solid rgba(213,167,102,.52) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}
.day-picker-modal .mini-label {
  color: #57d7ff !important;
  margin: 4px auto 8px !important;
}
.day-picker-modal h2 {
  margin: 0 auto 8px !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(2rem, 8vw, 2.55rem) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
}
.day-picker-subtext {
  max-width: 330px !important;
  margin: 0 auto 16px !important;
  color: rgba(255,250,242,.72) !important;
  font-size: .88rem !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.day-picker-list {
  display: grid !important;
  gap: 10px !important;
}
.day-picker-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 20px !important;
  color: #fffaf2 !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(46,198,255,.12), transparent 4rem),
    rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  cursor: pointer !important;
  text-align: left !important;
}
.day-picker-option.active {
  border-color: rgba(87, 215, 255, .52) !important;
  background: linear-gradient(145deg, rgba(7, 101, 181, .78), rgba(6, 37, 66, .84)) !important;
}
.day-picker-option:focus-visible {
  outline: 3px solid rgba(87, 215, 255, .65) !important;
  outline-offset: 2px !important;
}
.day-picker-main {
  display: grid !important;
  gap: 4px !important;
}
.day-picker-main strong {
  font-size: 1.02rem !important;
  line-height: 1 !important;
}
.day-picker-main small {
  color: rgba(255,250,242,.72) !important;
  font-size: .8rem !important;
  font-weight: 850 !important;
}
.day-picker-count {
  flex: 0 0 auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  color: #09223a !important;
  background: linear-gradient(135deg, #fff0bf, #d5a766) !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
@media (max-width: 420px) {
  .day-picker-option {
    min-height: 64px !important;
    padding: 12px 12px !important;
  }
  .day-picker-count { font-size: .7rem !important; }
}

/* v99: center the tappable Showing Schedule/date card */
.summary-grid .summary-card:first-child,
.summary-schedule,
.schedule-picker-card {
  padding-left: 16px !important;
  padding-right: 16px !important;
  text-align: center !important;
}

.schedule-picker-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

.schedule-picker-card .mini-label,
.schedule-picker-card h2,
.schedule-picker-card .summary-date,
.schedule-picker-card .schedule-picker-hint {
  align-self: center !important;
  justify-self: center !important;
  text-align: center !important;
}

.schedule-picker-card .mini-label {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 5px !important;
}

.schedule-picker-card h2,
.summary-schedule h2,
#dayTitle {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  transform: none !important;
}

.schedule-picker-card .summary-date,
#scheduleDateText {
  display: block !important;
  width: 100% !important;
  margin: 4px auto 0 !important;
  text-align: center !important;
}

.schedule-picker-hint {
  max-width: calc(100% - 18px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 7px 11px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  font-size: .64rem !important;
}

@media (max-width: 520px) {
  .summary-grid .summary-card:first-child,
  .summary-schedule,
  .schedule-picker-card {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .schedule-picker-hint {
    max-width: calc(100% - 10px) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: .6rem !important;
  }
}


/* v104: remove manual Refresh Schedule button; pull-to-refresh now handles schedule refresh. */
.hero-actions {
  grid-template-columns: 1fr !important;
}
.hero-actions #locateBtn,
.hero-actions #allMapBtn {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}
.hero-actions #allMapBtn {
  min-height: 58px !important;
}
.hero-actions #allMapBtn small {
  display: none !important;
}
.hero-actions #allMapBtn strong {
  font-size: .98rem !important;
  line-height: 1.08 !important;
}


/* v109: Roaming Bean weekly-schedule-style cursive header + July 4 card artwork */
:root {
  --july4-fireworks: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20220%20140%22%3E%20%3Cg%20fill=%22none%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%20%3Cg%20stroke=%22%234b8fd3%22%20stroke-width=%225%22%20opacity=%22.95%22%20transform=%22translate(150%2053)%22%3E%20%3Cpath%20d=%22M0%200v-36M0%200l26-26M0%200h36M0%200l27%2024M0%200v36M0%200l-24%2027M0%200h-34M0%200l-23-25%22/%3E%3Cpath%20d=%22M0-24l6-8M22-10l10-3M22%2012l9%205M4%2025l2%2011M-19%2018l-9%206M-24-4l-11-2M-15-20l-6-9%22%20stroke-width=%222.8%22/%3E%3C/g%3E%20%3Cg%20stroke=%22%23e53434%22%20stroke-width=%224%22%20transform=%22translate(71%2078)%22%3E%20%3Cpath%20d=%22M0%200v-29M0%200l20-20M0%200h29M0%200l21%2019M0%200v29M0%200l-20%2021M0%200h-28M0%200l-18-20%22/%3E%3Cpath%20d=%22M0-18l5-6M17-7l7-3M15%2010l7%205M2%2018l2%208M-12%2014l-8%205M-18-2l-9-2M-10-15l-5-7%22%20stroke-width=%222.5%22/%3E%3C/g%3E%20%3Cpath%20d=%22M24%2034l5%2010%2011%201-8%208%202%2011-10-5-10%205%202-11-8-8%2011-1z%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%20%3Cpath%20d=%22M196%2098l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%22%20fill=%22%234b8fd3%22%20stroke=%22none%22/%3E%20%3Ccircle%20cx=%2234%22%20cy=%2299%22%20r=%224%22%20fill=%22%234b8fd3%22%20stroke=%22none%22/%3E%3Ccircle%20cx=%22118%22%20cy=%2231%22%20r=%223%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%3Ccircle%20cx=%2245%22%20cy=%2237%22%20r=%223%22%20fill=%22%23fff8ea%22%20stroke=%22none%22/%3E%20%3C/g%3E%3C/svg%3E");
  --july4-flag: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20220%20140%22%3E%20%3Cg%20fill=%22none%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%20%3Cpath%20d=%22M55%20114V24%22%20stroke=%22%230b2e57%22%20stroke-width=%225%22/%3E%20%3Cpath%20d=%22M57%2030c33-19%2069%2014%20105-6v70c-36%2021-72-13-105%206z%22%20fill=%22%23fff7e8%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M58%2045c33-19%2069%2014%20104-6M58%2060c33-19%2069%2014%20104-6M58%2075c33-19%2069%2014%20104-6M58%2090c33-19%2069%2014%20104-6%22%20stroke=%22%23e53434%22%20stroke-width=%227%22/%3E%20%3Cpath%20d=%22M58%2030c18-10%2037-5%2055%201v38c-18-6-37-11-55-1z%22%20fill=%22%234b8fd3%22%20stroke=%22none%22%20opacity=%22.95%22/%3E%20%3Cg%20fill=%22%23fff7e8%22%3E%20%3Ccircle%20cx=%2272%22%20cy=%2240%22%20r=%222%22/%3E%3Ccircle%20cx=%2288%22%20cy=%2238%22%20r=%222%22/%3E%3Ccircle%20cx=%22104%22%20cy=%2242%22%20r=%222%22/%3E%3Ccircle%20cx=%2275%22%20cy=%2254%22%20r=%222%22/%3E%3Ccircle%20cx=%2292%22%20cy=%2253%22%20r=%222%22/%3E%3Ccircle%20cx=%22106%22%20cy=%2258%22%20r=%222%22/%3E%20%3C/g%3E%20%3Cpath%20d=%22M19%2042l5%2010%2011%201-8%208%202%2011-10-5-10%205%202-11-8-8%2011-1z%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%20%3Cpath%20d=%22M186%2035l5%209%2010%201-7%207%202%2010-9-5-9%205%202-10-7-7%2010-1z%22%20fill=%22%234b8fd3%22%20stroke=%22none%22/%3E%20%3Cpath%20d=%22M23%20101c8-12%2022-14%2035-5M178%20106c-10-10-6-22%208-28%22%20stroke=%22%234b8fd3%22%20stroke-width=%223%22/%3E%20%3C/g%3E%3C/svg%3E");
  --july4-rocket: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20220%20140%22%3E%20%3Cg%20fill=%22none%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%20%3Cpath%20d=%22M125%2018c35%2024%2036%2060%203%2096-19-2-52-34-56-55%2018-28%2032-38%2053-41z%22%20fill=%22%23fff8ec%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M125%2018c11%208%2019%2018%2024%2030l-30%209-18-23c8-8%2015-13%2024-16z%22%20fill=%22%234b8fd3%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M81%2069l45%2042M92%2049l47%2043%22%20stroke=%22%23e53434%22%20stroke-width=%229%22/%3E%20%3Cpath%20d=%22M72%2060l-21%2016%2017%208M128%20114l-9%2027-16-26%22%20fill=%22%234b8fd3%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M65%2099c-19%204-29%2012-31%2025M58%2088c-20-2-34%205-43%2019%22%20stroke=%22%234b8fd3%22%20stroke-width=%223%22/%3E%20%3Cpath%20d=%22M43%20107c4-15%2011-20%2026-20%22%20stroke=%22%23e53434%22%20stroke-width=%223%22/%3E%20%3Cpath%20d=%22M30%2080l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM176%2091l5%209%2010%201-8%207%202%2010-9-5-9%205%202-10-8-7%2010-1z%22%20fill=%22none%22%20stroke=%22%23e53434%22%20stroke-width=%223%22/%3E%20%3Ccircle%20cx=%2257%22%20cy=%22116%22%20r=%224%22%20fill=%22%23f3c46a%22%20stroke=%22none%22/%3E%20%3C/g%3E%3C/svg%3E");
  --july4-hat: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20220%20140%22%3E%20%3Cg%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%20%3Cpath%20d=%22M60%2092c37-14%2075-11%20114%200l-9%2026c-31-10-62-11-95%200z%22%20fill=%22%234b8fd3%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M82%2027h67l17%2072c-33-10-64-10-99%200z%22%20fill=%22%23fff8ec%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M88%2029l14%2066M112%2029l7%2063M136%2029l-2%2065%22%20stroke=%22%23e53434%22%20stroke-width=%2210%22/%3E%20%3Cpath%20d=%22M75%2071c29-11%2059-11%2089%200%22%20stroke=%22%234b8fd3%22%20stroke-width=%2217%22/%3E%20%3Cg%20fill=%22%23fff8ec%22%3E%20%3Cpath%20d=%22M91%2070l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%22/%3E%3Cpath%20d=%22M119%2067l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%22/%3E%3Cpath%20d=%22M146%2070l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%22/%3E%20%3C/g%3E%20%3Cpath%20d=%22M30%2058l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%20%3Cpath%20d=%22M186%2034l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%22%20fill=%22%234b8fd3%22%20stroke=%22none%22/%3E%20%3Cpath%20d=%22M33%20107c12-12%2023-12%2034%200M178%20101c-14%203-22%2010-25%2024%22%20fill=%22none%22%20stroke=%22%23e53434%22%20stroke-width=%223%22/%3E%20%3C/g%3E%3C/svg%3E");
  --july4-stars: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20220%20140%22%3E%20%3Cg%20fill=%22none%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%20%3Cpath%20d=%22M112%2022l10%2022%2024%202-18%2016%206%2023-22-12-21%2012%205-23-18-16%2024-2z%22%20fill=%22%234b8fd3%22%20stroke=%22%230b2e57%22%20stroke-width=%224%22%20opacity=%22.95%22/%3E%20%3Cpath%20d=%22M52%2047l7%2014%2015%202-11%2011%203%2015-14-7-14%207%203-15-11-11%2015-2z%22%20fill=%22none%22%20stroke=%22%23e53434%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M166%2071l6%2013%2015%202-11%2010%203%2014-13-7-13%207%202-14-10-10%2014-2z%22%20fill=%22none%22%20stroke=%22%234b8fd3%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M35%20111c10-14%2025-18%2042-11M151%2038c13-12%2027-13%2043-3%22%20stroke=%22%23f3c46a%22%20stroke-width=%224%22/%3E%20%3Ccircle%20cx=%2285%22%20cy=%2225%22%20r=%224%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%3Ccircle%20cx=%22184%22%20cy=%2232%22%20r=%224%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%3Ccircle%20cx=%22191%22%20cy=%22105%22%20r=%223%22%20fill=%22%234b8fd3%22%20stroke=%22none%22/%3E%3Ccircle%20cx=%2227%22%20cy=%2233%22%20r=%223%22%20fill=%22%234b8fd3%22%20stroke=%22none%22/%3E%20%3C/g%3E%3C/svg%3E");
  --july4-sparkler: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20220%20140%22%3E%20%3Cg%20fill=%22none%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%20%3Cpath%20d=%22M78%20116l76-76%22%20stroke=%22%230b2e57%22%20stroke-width=%227%22/%3E%20%3Cpath%20d=%22M80%20115l73-73%22%20stroke=%22%23fff8ec%22%20stroke-width=%223%22/%3E%20%3Cg%20transform=%22translate(153%2040)%22%3E%20%3Cpath%20d=%22M0%200v-32M0%200l22-22M0%200h32M0%200l23%2022M0%200v32M0%200l-22%2022M0%200h-32M0%200l-22-22%22%20stroke=%22%23f3c46a%22%20stroke-width=%224%22/%3E%20%3Cpath%20d=%22M0-21l5-9M21%200l10-4M0%2021l3%2010M-22%200l-10%204%22%20stroke=%22%23e53434%22%20stroke-width=%223%22/%3E%20%3C/g%3E%20%3Cpath%20d=%22M48%2044l5%2010%2011%201-8%208%202%2011-10-5-10%205%202-11-8-8%2011-1z%22%20fill=%22none%22%20stroke=%22%234b8fd3%22%20stroke-width=%223%22/%3E%20%3Cpath%20d=%22M116%2080l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%22%20fill=%22%23e53434%22%20stroke=%22none%22/%3E%20%3Cpath%20d=%22M29%20100c17-5%2029-2%2039%2010%22%20stroke=%22%234b8fd3%22%20stroke-width=%223%22/%3E%20%3C/g%3E%3C/svg%3E");
  --rb-schedule-blue: #5b95d7;
  --rb-schedule-cream: #fff7e8;
  --rb-schedule-stripe: rgba(244, 198, 112, .32);
}

.results::before {
  content: attr(data-schedule-pill) !important;
  min-height: clamp(82px, 16vw, 118px) !important;
  padding: 10px 18px 18px !important;
  margin: 2px 0 8px !important;
  border-radius: 24px !important;
  color: var(--rb-schedule-blue) !important;
  background:
    radial-gradient(circle at 92% 16%, rgba(255, 187, 54, .44) 0 2px, transparent 3px),
    radial-gradient(circle at 8% 30%, rgba(91, 149, 215, .18) 0 3px, transparent 4px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .68) 0 28px, var(--rb-schedule-stripe) 28px 54px),
    linear-gradient(180deg, #fff9ec, #ffeecb) !important;
  border: 2px solid rgba(91, 149, 215, .58) !important;
  box-shadow: 0 14px 34px rgba(34, 20, 6, .26), inset 0 1px 0 rgba(255,255,255,.74) !important;
  font-family: "Segoe Script", "Brush Script MT", "Lucida Handwriting", "Snell Roundhand", "Bradley Hand", cursive !important;
  font-size: clamp(3.05rem, 15.2vw, 5.35rem) !important;
  font-weight: 400 !important;
  line-height: .78 !important;
  letter-spacing: -.075em !important;
  text-transform: none !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.55) !important;
}

.stop-card.holiday-card {
  background:
    linear-gradient(90deg, rgba(255,255,255,.50) 0 24px, rgba(255, 226, 158, .20) 24px 50px),
    radial-gradient(circle at 94% 20%, rgba(255, 255, 255, .22), transparent 8rem),
    linear-gradient(180deg, rgba(255,248,239,.96), rgba(236,228,216,.94)) !important;
  border-color: rgba(91,149,215,.34) !important;
}
.stop-card.holiday-card > * {
  position: relative;
  z-index: 1;
}
.stop-card.holiday-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  right: clamp(14px, 4vw, 24px);
  top: clamp(48px, 9vw, 70px);
  width: clamp(108px, 31%, 176px);
  height: clamp(74px, 18vw, 116px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .93;
  filter: drop-shadow(0 8px 12px rgba(13, 39, 64, .12));
}
.stop-card.holiday-card[data-holiday-art="fireworks"]::after { background-image: var(--july4-fireworks); }
.stop-card.holiday-card[data-holiday-art="flag"]::after { background-image: var(--july4-flag); }
.stop-card.holiday-card[data-holiday-art="rocket"]::after { background-image: var(--july4-rocket); }
.stop-card.holiday-card[data-holiday-art="hat"]::after { background-image: var(--july4-hat); }
.stop-card.holiday-card[data-holiday-art="stars"]::after { background-image: var(--july4-stars); }
.stop-card.holiday-card[data-holiday-art="sparkler"]::after { background-image: var(--july4-sparkler); }

@media (max-width: 480px) {
  .results::before {
    min-height: 74px !important;
    padding-bottom: 14px !important;
    font-size: clamp(2.55rem, 14vw, 4.1rem) !important;
  }
  .stop-card.holiday-card::after {
    right: 10px;
    top: 62px;
    width: min(34vw, 134px);
    height: min(21vw, 90px);
    opacity: .82;
  }
}


/* v110: narrow the cursive schedule header card so it visually matches the stop-card width. */
.results::before {
  width: calc(100% - 22px) !important;
  max-width: calc(100% - 22px) !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 480px) {
  .results::before {
    width: calc(100% - 14px) !important;
    max-width: calc(100% - 14px) !important;
  }
}

/* v111: compact the cursive schedule header so it matches the card stack without feeling oversized. */
.results::before {
  width: calc(100% - 44px) !important;
  max-width: 640px !important;
  min-height: clamp(56px, 10vw, 84px) !important;
  padding: 5px 15px 10px !important;
  margin: 0 auto 10px !important;
  border-radius: 21px !important;
  font-size: clamp(2.25rem, 10.8vw, 4.1rem) !important;
  line-height: .72 !important;
  letter-spacing: -.07em !important;
}

@media (max-width: 480px) {
  .results::before {
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px) !important;
    min-height: 58px !important;
    padding: 4px 12px 9px !important;
    border-radius: 20px !important;
    font-size: clamp(2.05rem, 11.3vw, 3.35rem) !important;
    line-height: .72 !important;
  }
}


/* v112: exact Roaming Bean-style wavy stripe header asset + forced two-line Schedule heading. */
.results::before {
  white-space: pre-line !important;
  background:
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  min-height: clamp(78px, 13vw, 112px) !important;
  padding: 7px 14px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: clamp(2.15rem, 9.2vw, 3.85rem) !important;
  line-height: .74 !important;
  letter-spacing: -.07em !important;
}

@media (max-width: 480px) {
  .results::before {
    min-height: 78px !important;
    padding: 6px 12px 11px !important;
    font-size: clamp(2.05rem, 12vw, 3.35rem) !important;
    line-height: .74 !important;
  }
}


/* v113: consistent cursive font across desktop/mobile, sun-ray doodles on schedule header, matching wavy backgrounds for closest-stop panel, and plural possessive schedule naming support. */
:root {
  --rb-header-sun-left: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Cg%20fill='none'%20stroke='%23efbe61'%20stroke-width='4'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.98'%3E%3Cpath%20d='M61%2040c-7%204-11%2010-12%2018'/%3E%3Cpath%20d='M48%2024l2%2011'/%3E%3Cpath%20d='M34%2030l8%208'/%3E%3Cpath%20d='M28%2046h11'/%3E%3Cpath%20d='M32%2061l9-5'/%3E%3Cpath%20d='M47%2067l4-10'/%3E%3C/g%3E%3C/svg%3E");
  --rb-header-sun-right: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20110%20110'%3E%3Cg%20fill='none'%20stroke='%23efbe61'%20stroke-width='4'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.98'%3E%3Cpath%20d='M36%2059c10-14%2026-20%2040-17'/%3E%3Cpath%20d='M55%2018v12'/%3E%3Cpath%20d='M72%2023l-6%2011'/%3E%3Cpath%20d='M82%2038l-11%205'/%3E%3Cpath%20d='M85%2056H73'/%3E%3Cpath%20d='M80%2073l-10-6'/%3E%3Cpath%20d='M66%2085l-5-11'/%3E%3Cpath%20d='M48%2088l2-12'/%3E%3C/g%3E%3C/svg%3E");
}

.results::before {
  background:
    var(--rb-header-sun-left) 13% 53% / clamp(30px, 5.2vw, 42px) auto no-repeat,
    var(--rb-header-sun-right) 86.8% 47% / clamp(40px, 7.2vw, 56px) auto no-repeat,
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  color: var(--rb-schedule-blue) !important;
  font-family: "Allura", "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive !important;
  font-weight: 400 !important;
  font-size: clamp(2.35rem, 10.1vw, 4.25rem) !important;
  line-height: .71 !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.38) !important;
  transform: rotate(-3.5deg) !important;
  transform-origin: center center !important;
}

.closest-card {
  background:
    radial-gradient(circle at 88% 14%, rgba(46,198,255,.11), transparent 11rem),
    radial-gradient(circle at 10% 100%, rgba(196,137,69,.13), transparent 10rem),
    linear-gradient(rgba(255,250,242,.88), rgba(239,228,216,.82)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  background-blend-mode: normal, normal, normal, multiply !important;
}

.closest-route-premium {
  position: relative;
  padding: 14px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(rgba(255,251,244,.76), rgba(255,251,244,.76)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  border: 1px solid rgba(91,149,215,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72) !important;
}

@media (max-width: 640px) {
  .results::before {
    background:
      var(--rb-header-sun-left) 12% 54% / 28px auto no-repeat,
      var(--rb-header-sun-right) 88% 44% / 38px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
    font-size: clamp(2.2rem, 12.6vw, 3.7rem) !important;
    line-height: .70 !important;
    transform: rotate(-3deg) !important;
  }
  .closest-route-premium {
    padding: 13px !important;
  }
}


/* v114: cleaner sun-ray doodles and a slightly larger, angled cursive schedule title. */


/* v115: keep the schedule card box level, slant only the cursive text, and match the cleaner Roaming Bean-style sun rays. */
:root {
  --rb-header-sun-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' opacity='.98'%3E%3Cpath d='M70 58c-8 1-15 7-18 14'/%3E%3Cpath d='M58 38l2 11'/%3E%3Cpath d='M44 46l9 7'/%3E%3Cpath d='M40 62h11'/%3E%3Cpath d='M45 77l10-4'/%3E%3Cpath d='M61 84l3-10'/%3E%3C/g%3E%3C/svg%3E");
  --rb-header-sun-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 170'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' opacity='.98'%3E%3Cpath d='M65 102c7-22 27-38 50-40'/%3E%3Cpath d='M92 28v16'/%3E%3Cpath d='M109 32l-7 15'/%3E%3Cpath d='M124 44l-13 9'/%3E%3Cpath d='M133 61h-16'/%3E%3Cpath d='M131 79l-15-6'/%3E%3Cpath d='M120 95l-11-13'/%3E%3Cpath d='M104 107l-4-16'/%3E%3Cpath d='M84 109l1-15'/%3E%3C/g%3E%3C/svg%3E");
}

.results {
  grid-template-columns: minmax(0, 1fr) !important;
}

.results::before,
.results::after {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  pointer-events: none !important;
}

.results::before {
  content: "" !important;
  display: block !important;
  width: calc(100% - 44px) !important;
  max-width: 640px !important;
  min-height: clamp(78px, 13vw, 112px) !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border-radius: 21px !important;
  border: 2px solid rgba(91, 149, 215, .58) !important;
  box-shadow: 0 14px 34px rgba(34, 20, 6, .26), inset 0 1px 0 rgba(255,255,255,.74) !important;
  transform: none !important;
  background:
    var(--rb-header-sun-left) 11.6% 59% / clamp(22px, 3.5vw, 30px) auto no-repeat,
    var(--rb-header-sun-right) 86.9% 41.5% / clamp(56px, 8.4vw, 74px) auto no-repeat,
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
}

.results::after {
  content: attr(data-schedule-pill) !important;
  white-space: pre-line !important;
  width: calc(100% - 90px) !important;
  max-width: 520px !important;
  min-height: clamp(78px, 13vw, 112px) !important;
  margin: 0 auto 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: var(--rb-schedule-blue) !important;
  font-family: "Allura", "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive !important;
  font-weight: 400 !important;
  font-size: clamp(2.5rem, 10.9vw, 4.45rem) !important;
  line-height: .70 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.42) !important;
  transform: rotate(-3.2deg) translateY(-1px) !important;
  transform-origin: center center !important;
}

@media (max-width: 480px) {
  .results::before {
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px) !important;
    min-height: 78px !important;
    background:
      var(--rb-header-sun-left) 11.5% 60% / 19px auto no-repeat,
      var(--rb-header-sun-right) 88.2% 42% / 47px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  }

  .results::after {
    width: calc(100% - 70px) !important;
    max-width: calc(100% - 70px) !important;
    min-height: 78px !important;
    font-size: clamp(2.32rem, 13.3vw, 3.85rem) !important;
    line-height: .69 !important;
    transform: rotate(-3deg) translateY(-1px) !important;
  }
}

@media (max-width: 640px) {
  .results::before {
    transform: none !important;
    background:
      var(--rb-header-sun-left) 11.5% 59% / 19px auto no-repeat,
      var(--rb-header-sun-right) 88.2% 42% / 49px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  }

  .results::after {
    font-size: clamp(2.32rem, 12.4vw, 4rem) !important;
    line-height: .69 !important;
    transform: rotate(-3deg) translateY(-1px) !important;
  }
}


/* v117: lower the schedule title slightly and refine both sun-ray doodles to better match the Roaming Bean reference. */
:root {
  --rb-header-sun-left-v117: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' opacity='.98'%3E%3Cpath d='M69 59c-7 2-12 7-14 13'/%3E%3Cpath d='M58 41l1 10'/%3E%3Cpath d='M46 47l7 7'/%3E%3Cpath d='M42 61h10'/%3E%3Cpath d='M47 73l8-4'/%3E%3C/g%3E%3C/svg%3E");
  --rb-header-sun-right-v117: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' opacity='.98'%3E%3Cpath d='M67 108c10-23 31-38 55-40'/%3E%3Cpath d='M98 33v18'/%3E%3Cpath d='M116 39l-8 16'/%3E%3Cpath d='M132 50l-14 9'/%3E%3Cpath d='M141 68h-17'/%3E%3Cpath d='M139 86l-16-6'/%3E%3Cpath d='M127 102l-12-13'/%3E%3Cpath d='M110 114l-5-16'/%3E%3Cpath d='M91 115l1-15'/%3E%3C/g%3E%3C/svg%3E");
}

.results::before {
  background:
    var(--rb-header-sun-left-v117) 10.9% 61.5% / clamp(18px, 3vw, 24px) auto no-repeat,
    var(--rb-header-sun-right-v117) 87.4% 43% / clamp(58px, 8.8vw, 78px) auto no-repeat,
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
}

.results::after {
  align-items: center !important;
  justify-content: center !important;
  padding-top: 7px !important;
  padding-bottom: 0 !important;
  transform: rotate(-3.2deg) translateY(5px) !important;
}

@media (max-width: 640px) {
  .results::before {
    background:
      var(--rb-header-sun-left-v117) 10.8% 61% / 18px auto no-repeat,
      var(--rb-header-sun-right-v117) 88.1% 42.8% / 51px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  }

  .results::after {
    padding-top: 6px !important;
    transform: rotate(-3deg) translateY(4px) !important;
  }
}

@media (max-width: 480px) {
  .results::before {
    background:
      var(--rb-header-sun-left-v117) 10.8% 61.5% / 17px auto no-repeat,
      var(--rb-header-sun-right-v117) 88.4% 43% / 46px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  }

  .results::after {
    padding-top: 6px !important;
    transform: rotate(-3deg) translateY(4px) !important;
  }
}


/* v118: make the mobile schedule header match the stop-card width and wrap the cursive title with cleaner left/right sun-ray doodles. */
:root {
  --rb-header-sun-left-v118: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' opacity='.98'%3E%3Cpath d='M77 58c-8 1-15 7-18 15'/%3E%3Cpath d='M65 40l1 11'/%3E%3Cpath d='M52 46l8 8'/%3E%3Cpath d='M47 61h11'/%3E%3Cpath d='M52 76l10-5'/%3E%3Cpath d='M67 83l3-10'/%3E%3C/g%3E%3C/svg%3E");
  --rb-header-sun-right-v118: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 180'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' opacity='.98'%3E%3Cpath d='M72 112c9-26 32-44 59-47'/%3E%3Cpath d='M109 29v18'/%3E%3Cpath d='M128 34l-8 17'/%3E%3Cpath d='M145 46l-15 10'/%3E%3Cpath d='M155 66h-18'/%3E%3Cpath d='M153 86l-17-6'/%3E%3Cpath d='M140 103l-13-14'/%3E%3Cpath d='M122 117l-5-16'/%3E%3Cpath d='M101 119l1-16'/%3E%3C/g%3E%3C/svg%3E");
}

.results::before {
  background:
    var(--rb-header-sun-left-v118) 17.6% 61.5% / clamp(24px, 3.8vw, 32px) auto no-repeat,
    var(--rb-header-sun-right-v118) 81.6% 43% / clamp(62px, 9vw, 84px) auto no-repeat,
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
}

.results::after {
  width: calc(100% - 106px) !important;
  max-width: 500px !important;
  padding-top: 7px !important;
  transform: rotate(-3.2deg) translateY(6px) !important;
}

@media (max-width: 640px) {
  .results::before {
    width: 100% !important;
    max-width: none !important;
    background:
      var(--rb-header-sun-left-v118) 17.5% 61.5% / 22px auto no-repeat,
      var(--rb-header-sun-right-v118) 82% 42.8% / 58px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  }

  .results::after {
    width: calc(100% - 96px) !important;
    max-width: none !important;
    padding-top: 7px !important;
    transform: rotate(-3deg) translateY(5px) !important;
  }
}

@media (max-width: 480px) {
  .results::before {
    width: 100% !important;
    max-width: none !important;
    min-height: 78px !important;
    background:
      var(--rb-header-sun-left-v118) 16.8% 61.5% / 21px auto no-repeat,
      var(--rb-header-sun-right-v118) 82.2% 43% / 54px auto no-repeat,
      url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  }

  .results::after {
    width: calc(100% - 90px) !important;
    max-width: none !important;
    min-height: 78px !important;
    padding-top: 7px !important;
    font-size: clamp(2.28rem, 13vw, 3.82rem) !important;
    line-height: .69 !important;
    transform: rotate(-3deg) translateY(5px) !important;
  }
}


/* v119: rebuild the schedule-header ray treatment so the box matches the stop-card width and the rays wrap the lettering itself like the Roaming Bean reference. */
:root {
  --rb-wrap-ray-left-v119: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4.4' stroke-linecap='round' stroke-linejoin='round' opacity='.99'%3E%3Cpath d='M76 57c-9 3-15 10-18 17'/%3E%3Cpath d='M63 38l1 12'/%3E%3Cpath d='M49 45l8 8'/%3E%3Cpath d='M44 60h11'/%3E%3Cpath d='M49 75l10-5'/%3E%3C/g%3E%3C/svg%3E");
  --rb-wrap-ray-right-v119: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4.4' stroke-linecap='round' stroke-linejoin='round' opacity='.99'%3E%3Cpath d='M64 111c10-24 31-41 55-44'/%3E%3Cpath d='M98 30v18'/%3E%3Cpath d='M115 35l-8 16'/%3E%3Cpath d='M131 46l-14 10'/%3E%3Cpath d='M140 65h-17'/%3E%3Cpath d='M138 84l-16-6'/%3E%3Cpath d='M126 101l-12-13'/%3E%3Cpath d='M109 113l-5-16'/%3E%3Cpath d='M90 114l1-15'/%3E%3C/g%3E%3C/svg%3E");
}

.results::before {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(78px, 13vw, 112px) !important;
  background: url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
}

.results::after {
  width: calc(100% - 72px) !important;
  max-width: 520px !important;
  min-height: clamp(78px, 13vw, 112px) !important;
  padding: 9px 38px 0 !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    var(--rb-wrap-ray-left-v119) 14% 62% / 22px auto no-repeat,
    var(--rb-wrap-ray-right-v119) 86.5% 36.5% / 58px auto no-repeat !important;
  transform: rotate(-3.1deg) translateY(7px) !important;
}

@media (max-width: 640px) {
  .results::before {
    width: 100% !important;
    max-width: none !important;
  }

  .results::after {
    width: calc(100% - 56px) !important;
    max-width: none !important;
    padding: 8px 34px 0 !important;
    background:
      var(--rb-wrap-ray-left-v119) 14.6% 62% / 20px auto no-repeat,
      var(--rb-wrap-ray-right-v119) 86.4% 36.5% / 53px auto no-repeat !important;
    transform: rotate(-3deg) translateY(6px) !important;
  }
}

@media (max-width: 480px) {
  .results::before {
    width: 100% !important;
    max-width: none !important;
    min-height: 78px !important;
  }

  .results::after {
    width: calc(100% - 50px) !important;
    max-width: none !important;
    min-height: 78px !important;
    padding: 8px 30px 0 !important;
    font-size: clamp(2.26rem, 12.9vw, 3.82rem) !important;
    line-height: .69 !important;
    background:
      var(--rb-wrap-ray-left-v119) 14.5% 62% / 18px auto no-repeat,
      var(--rb-wrap-ray-right-v119) 86.6% 36.8% / 47px auto no-repeat !important;
    transform: rotate(-3deg) translateY(6px) !important;
  }
}


/* v120: slightly taller schedule header card, and rebuilt left/right ray doodles to more closely match the official Roaming Bean weekly schedule reference. */
:root {
  --rb-wrap-ray-left-v120: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4.3' stroke-linecap='round' stroke-linejoin='round' opacity='.99'%3E%3Cpath d='M78 60c-8 2-15 8-19 16'/%3E%3Cpath d='M66 42l1 11'/%3E%3Cpath d='M52 47l8 8'/%3E%3Cpath d='M48 61h10'/%3E%3Cpath d='M53 75l9-5'/%3E%3C/g%3E%3C/svg%3E");
  --rb-wrap-ray-right-v120: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 190'%3E%3Cg fill='none' stroke='%23efbe61' stroke-width='4.4' stroke-linecap='round' stroke-linejoin='round' opacity='.99'%3E%3Cpath d='M71 115c10-27 34-45 59-48'/%3E%3Cpath d='M106 29v18'/%3E%3Cpath d='M124 35l-8 17'/%3E%3Cpath d='M141 47l-15 10'/%3E%3Cpath d='M151 68h-18'/%3E%3Cpath d='M149 89l-17-6'/%3E%3Cpath d='M136 106l-13-14'/%3E%3Cpath d='M118 121l-5-16'/%3E%3Cpath d='M98 122l1-16'/%3E%3C/g%3E%3C/svg%3E");
}

.results::before {
  min-height: clamp(82px, 13.8vw, 118px) !important;
}

.results::after {
  width: calc(100% - 56px) !important;
  max-width: 540px !important;
  min-height: clamp(82px, 13.8vw, 118px) !important;
  padding: 8px 30px 4px !important;
  background:
    var(--rb-wrap-ray-left-v120) 19.5% 66% / 18px auto no-repeat,
    var(--rb-wrap-ray-right-v120) 80.8% 31% / 56px auto no-repeat !important;
  transform: rotate(-3deg) translateY(5px) !important;
}

@media (max-width: 640px) {
  .results::before {
    min-height: 82px !important;
  }

  .results::after {
    width: calc(100% - 48px) !important;
    max-width: none !important;
    min-height: 82px !important;
    padding: 8px 28px 4px !important;
    background:
      var(--rb-wrap-ray-left-v120) 19.5% 66% / 17px auto no-repeat,
      var(--rb-wrap-ray-right-v120) 80.8% 31.5% / 52px auto no-repeat !important;
    transform: rotate(-3deg) translateY(5px) !important;
  }
}

@media (max-width: 480px) {
  .results::before {
    min-height: 82px !important;
  }

  .results::after {
    width: calc(100% - 44px) !important;
    max-width: none !important;
    min-height: 82px !important;
    padding: 8px 26px 4px !important;
    font-size: clamp(2.24rem, 12.7vw, 3.78rem) !important;
    line-height: .69 !important;
    background:
      var(--rb-wrap-ray-left-v120) 19.2% 66% / 16px auto no-repeat,
      var(--rb-wrap-ray-right-v120) 81% 31.8% / 48px auto no-repeat !important;
    transform: rotate(-3deg) translateY(5px) !important;
  }
}


/* v121: unify the Closest Active Stop panel and every stop card with the same schedule-style wavy stripe background treatment. */
:root {
  --rb-schedule-card-surface:
    linear-gradient(rgba(255, 249, 239, .88), rgba(255, 249, 239, .88)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat;
}

.closest-card {
  background: var(--rb-schedule-card-surface) !important;
  border: 1px solid rgba(112, 164, 224, .34) !important;
  box-shadow:
    0 18px 38px rgba(28, 17, 4, .20),
    inset 0 1px 0 rgba(255,255,255,.74) !important;
}

.closest-route-premium {
  background:
    linear-gradient(rgba(255, 251, 244, .74), rgba(255, 251, 244, .74)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  border: 1px solid rgba(112, 164, 224, .28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 8px 18px rgba(67, 46, 12, .08) !important;
}

.stop-card,
.stop-card.holiday-card {
  background:
    linear-gradient(rgba(255, 249, 239, .88), rgba(255, 249, 239, .88)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  border: 1px solid rgba(112, 164, 224, .30) !important;
  box-shadow:
    0 16px 32px rgba(29, 18, 5, .18),
    inset 0 1px 0 rgba(255,255,255,.74) !important;
}

.stop-card::before,
.closest-card::before {
  opacity: .16 !important;
}

.stop-card h3,
.closest-copy h2 {
  text-shadow: 0 1px 0 rgba(255,255,255,.22);
}


/* v122: high-visibility wavy schedule background on closest panel and all stop cards.
   This overrides the earlier subtle translucent treatment so the change is obvious. */
:root {
  --rb-card-wavy-bg-strong:
    linear-gradient(rgba(255, 252, 244, .24), rgba(255, 252, 244, .24)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat;
  --rb-card-wavy-bg-soft:
    linear-gradient(rgba(255, 252, 244, .34), rgba(255, 252, 244, .34)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat;
}

/* Remove old glow/gradient overlays that were washing the stripes out. */
.closest-card::before,
.stop-card::before,
.closest-card-bg,
.stop-glow {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

/* Closest Active Stop outer card: now visibly uses the same yellow/cream wavy schedule surface. */
.closest-card {
  background: var(--rb-card-wavy-bg-strong) !important;
  background-color: #fff4dc !important;
  background-blend-mode: normal, normal !important;
  border: 2px solid rgba(91, 149, 215, .42) !important;
  box-shadow:
    0 18px 42px rgba(29, 18, 5, .25),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

/* The inner Best Route panel uses the same surface instead of a washed-out white glass panel. */
.closest-route-premium {
  background: var(--rb-card-wavy-bg-soft) !important;
  background-color: #fff4dc !important;
  background-blend-mode: normal, normal !important;
  border: 1.5px solid rgba(91, 149, 215, .34) !important;
  box-shadow:
    0 8px 18px rgba(42, 25, 4, .10),
    inset 0 1px 0 rgba(255,255,255,.76) !important;
}

/* Every individual stop card gets the same clearly visible schedule background. */
.stop-card,
.stop-card.holiday-card {
  background: var(--rb-card-wavy-bg-strong) !important;
  background-color: #fff4dc !important;
  background-blend-mode: normal, normal !important;
  border: 2px solid rgba(91, 149, 215, .34) !important;
  box-shadow:
    0 16px 34px rgba(29, 18, 5, .22),
    inset 0 1px 0 rgba(255,255,255,.76) !important;
}

/* Keep copy readable over the stronger schedule pattern. */
.stop-card h3,
.closest-copy h2 {
  color: #0c2239 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.52) !important;
}

.stop-time,
.stop-address,
.stop-source,
.closest-copy small {
  text-shadow: 0 1px 0 rgba(255,255,255,.42) !important;
}


/* v123: apply the same visible schedule-style wavy background to the Choose Your Map box. */
.map-panel {
  background: var(--rb-card-wavy-bg-strong) !important;
  background-color: #fff4dc !important;
  background-blend-mode: normal, normal !important;
  border: 2px solid rgba(91, 149, 215, .42) !important;
  box-shadow:
    0 18px 42px rgba(29, 18, 5, .25),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.map-panel::before {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

.map-panel .mini-label {
  color: #0788da !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.48) !important;
}

.map-panel h2,
.map-panel .map-copy p:not(.mini-label) {
  color: #0c2239 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.52) !important;
}

.map-segmented {
  background:
    linear-gradient(rgba(255, 252, 244, .44), rgba(255, 252, 244, .44)),
    url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  background-color: #fff4dc !important;
  border: 1.5px solid rgba(91, 149, 215, .25) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 8px 18px rgba(42, 25, 4, .08) !important;
}


/* v124: 30 unique July 4 card artwork variants; each July 4 stop gets a different graphic up to 30 stops. */
:root {
  --july4-sky-burst-duo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cg%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%275%27%20transform%3D%27translate%28154%2047%29%27%3E%3Cpath%20d%3D%27M0%200v-30M0%200l22-22M0%200h30M0%200l22%2020M0%200v30M0%200l-20%2022M0%200h-30M0%200l-21-22%27%2F%3E%3Cpath%20d%3D%27M0-20l6-8M20-4l9-4M18%2014l8%206M-16%2016l-8%206M-22-4l-9-3%27%20stroke-width%3D%272.7%27%2F%3E%3C%2Fg%3E%0A%20%3Cg%20stroke%3D%27%23e53434%27%20stroke-width%3D%274%27%20transform%3D%27translate%2870%2078%29%27%3E%3Cpath%20d%3D%27M0%200v-24M0%200l18-17M0%200h24M0%200l18%2016M0%200v24M0%200l-17%2018M0%200h-24M0%200l-16-18%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M28%2036l5%209%2010%201-7%207%202%2010-10-5-9%205%202-10-7-7%2010-1z%27%20fill%3D%27%23e53434%27%2F%3E%3Ccircle%20cx%3D%27116%27%20cy%3D%2730%27%20r%3D%274%27%20fill%3D%27%23f3c46a%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-waving-flag: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M53%20118V22%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Cpath%20d%3D%27M56%2028c34-20%2069%2015%20106-6v72c-37%2021-72-14-106%206z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M57%2044c34-18%2069%2013%20104-5M57%2060c34-18%2069%2013%20104-5M57%2076c34-18%2069%2013%20104-5M57%2092c34-18%2069%2013%20104-5%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cpath%20d%3D%27M57%2028c17-9%2036-5%2055%201v38c-19-7-38-10-55-1z%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%20%3Cg%20fill%3D%27%23fff8ec%27%3E%3Ccircle%20cx%3D%2772%27%20cy%3D%2740%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2788%27%20cy%3D%2739%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%27103%27%20cy%3D%2743%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2778%27%20cy%3D%2755%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2794%27%20cy%3D%2755%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M184%2035l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-rocket-trail: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M125%2017c36%2025%2037%2062%203%2096-20-2-53-34-57-56%2019-28%2033-38%2054-40z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M125%2017c12%208%2020%2019%2025%2031l-30%209-19-23c8-8%2016-14%2024-17z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M81%2069l45%2042M92%2049l47%2043%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%279%27%2F%3E%0A%20%3Cpath%20d%3D%27M72%2060L50%2076l17%208M128%20114l-9%2027-16-26%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M66%2099c-20%204-30%2012-32%2025M58%2088c-20-2-35%205-44%2020M42%20107c4-15%2012-20%2027-20%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Ccircle%20cx%3D%27177%27%20cy%3D%2791%27%20r%3D%276%27%20fill%3D%27%23f3c46a%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-uncle-sam-hat: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M59%2092c37-14%2076-11%20115%200l-9%2026c-31-10-63-11-96%200z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M82%2027h68l17%2072c-34-10-65-10-100%200z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M88%2029l14%2066M113%2029l7%2063M137%2029l-2%2065%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%2710%27%2F%3E%0A%20%3Cpath%20d%3D%27M75%2071c29-11%2060-11%2090%200%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%2717%27%2F%3E%0A%20%3Cg%20fill%3D%27%23fff8ec%27%3E%3Cpath%20d%3D%27M91%2070l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%27%2F%3E%3Cpath%20d%3D%27M120%2067l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%27%2F%3E%3Cpath%20d%3D%27M147%2070l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M31%2057l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e53434%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-star-cluster: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M112%2022l10%2022%2024%202-18%2016%206%2023-22-12-21%2012%205-23-18-16%2024-2z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M51%2047l7%2014%2015%202-11%2011%203%2015-14-7-14%207%203-15-11-11%2015-2z%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M166%2070l6%2013%2015%202-11%2010%203%2014-13-7-13%207%202-14-10-10%2014-2z%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M35%20111c10-14%2025-18%2042-11M151%2038c13-12%2027-13%2043-3%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-sparkler-wand: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M76%20116l78-78%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%277%27%2F%3E%3Cpath%20d%3D%27M79%20114l73-73%27%20stroke%3D%27%23fff8ec%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cg%20transform%3D%27translate%28153%2040%29%27%3E%3Cpath%20d%3D%27M0%200v-32M0%200l22-22M0%200h32M0%200l23%2022M0%200v32M0%200l-22%2022M0%200h-32M0%200l-22-22%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%3Cpath%20d%3D%27M0-21l5-9M21%200l10-4M0%2021l3%2010M-22%200l-10%204%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%273%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M49%2044l5%2010%2011%201-8%208%202%2011-10-5-10%205%202-11-8-8%2011-1z%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M29%20100c17-5%2029-2%2039%2010%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%273%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-liberty-bell: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M88%2031h45l5%2013H83z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M74%20102c9-22%207-41%2016-58h42c9%2017%207%2036%2016%2058-23%209-49%209-74%200z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M116%2044c-5%2017-1%2024-11%2038l15-2-7%2023%27%20fill%3D%27none%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M101%20113c5%206%2015%206%2020%200%27%20fill%3D%27none%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M43%2055l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM177%2042l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e53434%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-eagle-star: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M36%2078c38-30%2061-32%2085-7%2020-17%2042-21%2067-12-22%2016-43%2023-66%2022-19%2023-51%2027-86-3z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M113%2054c-7-12-1-24%2014-29%200%2015%206%2021%2018%2028%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Cpath%20d%3D%27M77%2076c21%2013%2047%2012%2068-2%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Cpath%20d%3D%27M164%2030l5%2010%2011%201-8%208%202%2011-10-5-10%205%202-11-8-8%2011-1z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-coffee-fireworks: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M70%2065h74l-8%2055H80z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M145%2075h17c8%200%208%2020-5%2022h-15%27%20fill%3D%27none%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M85%2080h42M82%2096h48%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cpath%20d%3D%27M100%2065c-7-12%208-12%201-25M121%2065c-7-12%208-12%201-25%27%20fill%3D%27none%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cg%20fill%3D%27none%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%20transform%3D%27translate%28160%2038%29%27%3E%3Cpath%20d%3D%27M0%200v-24M0%200l17-17M0%200h24M0%200l17%2017M0%200v24M0%200l-17%2017M0%200h-24M0%200l-17-17%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M42%2037l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-balloon-trio: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cellipse%20cx%3D%2783%27%20cy%3D%2752%27%20rx%3D%2722%27%20ry%3D%2729%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cellipse%20cx%3D%27119%27%20cy%3D%2742%27%20rx%3D%2723%27%20ry%3D%2731%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cellipse%20cx%3D%27154%27%20cy%3D%2756%27%20rx%3D%2722%27%20ry%3D%2729%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M83%2082c-9%2014-21%2021-34%2029M119%2073c-2%2018-9%2031-21%2043M154%2085c10%2010%2017%2020%2021%2032%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M35%2034l5%209%2010%201-8%207%202%2010-9-5-9%205%202-10-8-7%2010-1z%27%20fill%3D%27%23f3c46a%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-patriotic-pinwheel: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M110%2070l-3%2054%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2070c-30-1-38-19-22-38%2022%207%2025%2020%2022%2038z%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2070c1-30%2019-38%2038-22-7%2022-20%2025-38%2022z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2070c30%201%2038%2019%2022%2038-22-7-25-20-22-38z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2070c-1%2030-19%2038-38%2022%207-22%2020-25%2038-22z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%27110%27%20cy%3D%2770%27%20r%3D%277%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-flag-popsicle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Crect%20x%3D%2783%27%20y%3D%2728%27%20width%3D%2758%27%20height%3D%2782%27%20rx%3D%2722%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M84%2052h56M84%2071h56M84%2090h56%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%2710%27%2F%3E%0A%20%3Cpath%20d%3D%27M84%2029h31v42H84z%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%20%3Cg%20fill%3D%27%23fff8ec%27%3E%3Ccircle%20cx%3D%2794%27%20cy%3D%2741%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%27106%27%20cy%3D%2745%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2796%27%20cy%3D%2758%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%27108%27%20cy%3D%2760%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M104%20111v22M120%20111v22%27%20stroke%3D%27%23c68b44%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cpath%20d%3D%27M168%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-parade-drum: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cellipse%20cx%3D%27111%27%20cy%3D%2746%27%20rx%3D%2753%27%20ry%3D%2718%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M58%2046v47c0%2010%2024%2018%2053%2018s53-8%2053-18V46%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M70%2062l82%2036M152%2062L70%2098%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Cpath%20d%3D%27M70%2038L38%2016M151%2038l35-19%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Ccircle%20cx%3D%2736%27%20cy%3D%2716%27%20r%3D%276%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%27187%27%20cy%3D%2719%27%20r%3D%276%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-bunting-banner: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M33%2038c45%2023%2096%2024%20154%200%27%20fill%3D%27none%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M53%2045l17%2034%2018-27z%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M88%2054l21%2036%2018-36z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M126%2054l21%2036%2018-37z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M64%20104c27-9%2061-9%2094%200%27%20fill%3D%27none%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M35%2090l5%209%2010%201-8%207%202%2010-9-5-9%205%202-10-8-7%2010-1zM180%2087l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e53434%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-firecracker-bundle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Crect%20x%3D%2778%27%20y%3D%2742%27%20width%3D%2721%27%20height%3D%2766%27%20rx%3D%277%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%20transform%3D%27rotate%28-9%2088%2075%29%27%2F%3E%0A%20%3Crect%20x%3D%27101%27%20y%3D%2734%27%20width%3D%2722%27%20height%3D%2775%27%20rx%3D%277%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Crect%20x%3D%27126%27%20y%3D%2743%27%20width%3D%2721%27%20height%3D%2766%27%20rx%3D%277%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%20transform%3D%27rotate%289%20136%2075%29%27%2F%3E%0A%20%3Cpath%20d%3D%27M89%2040c-4-13%207-16%203-28M112%2034c2-12%2014-13%2016-24M138%2039c11-9%2020-7%2025-18%27%20fill%3D%27none%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M55%2031l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-roman-candle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M85%20115l47-82%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%2717%27%2F%3E%3Cpath%20d%3D%27M91%20105l35-61%27%20stroke%3D%27%23fff8ec%27%20stroke-width%3D%277%27%2F%3E%3Cpath%20d%3D%27M99%2092l18-31%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cg%20transform%3D%27translate%28146%2028%29%27%20stroke-width%3D%274%27%3E%3Cpath%20d%3D%27M0%200v-24M0%200l17-17M0%200h24M0%200l17%2017M0%200v24M0%200l-17%2017M0%200h-24M0%200l-17-17%27%20stroke%3D%27%23f3c46a%27%2F%3E%3Cpath%20d%3D%27M31-4l10-5M25%2020l9%207M-19%2024l-6%209%27%20stroke%3D%27%234b8fd3%27%2F%3E%3C%2Fg%3E%0A%20%3Ccircle%20cx%3D%2761%27%20cy%3D%2744%27%20r%3D%275%27%20fill%3D%27%23e53434%27%20stroke%3D%27none%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%2780%27%20r%3D%274%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-shooting-star: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M31%2091c40-36%2078-46%20118-33%27%20fill%3D%27none%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cpath%20d%3D%27M39%20109c35-25%2071-32%20111-20%27%20fill%3D%27none%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%276%27%2F%3E%0A%20%3Cpath%20d%3D%27M153%2031l8%2017%2019%202-14%2013%204%2019-17-10-17%2010%204-19-14-13%2019-2z%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%2759%27%20cy%3D%2758%27%20r%3D%274%27%20fill%3D%27%23e53434%27%2F%3E%3Ccircle%20cx%3D%2784%27%20cy%3D%2742%27%20r%3D%273%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-rosette-ribbon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M91%2082l-19%2043%2027-12%2013%2025%2018-46z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M128%2082l20%2043-28-12-13%2025-17-46z%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%27110%27%20cy%3D%2758%27%20r%3D%2737%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%27110%27%20cy%3D%2758%27%20r%3D%2724%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2041l5%2010%2012%201-9%208%203%2012-11-6-11%206%203-12-9-8%2012-1z%27%20fill%3D%27%23fff8ec%27%2F%3E%0A%20%3Cpath%20d%3D%27M49%2040c13-12%2026-12%2039-1M138%2035c15-7%2030-5%2044%206%27%20fill%3D%27none%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-seventeen-seventy-six: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M63%2034h95l20%2036-20%2036H63L43%2070z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M62%2052h97M62%2088h97%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Ctext%20x%3D%27110%27%20y%3D%2779%27%20text-anchor%3D%27middle%27%20font-family%3D%27Georgia%2Cserif%27%20font-size%3D%2731%27%20font-weight%3D%27700%27%20fill%3D%27%234b8fd3%27%3E1776%3C%2Ftext%3E%0A%20%3Cpath%20d%3D%27M36%2031l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM183%2030l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-map-pin-stars: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M110%20124s45-40%2045-78a45%2045%200%200%200-90%200c0%2038%2045%2078%2045%2078z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%27110%27%20cy%3D%2747%27%20r%3D%2719%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2032l4%209%2010%201-8%207%202%2010-8-5-9%205%202-10-8-7%2010-1z%27%20fill%3D%27%23fff8ec%27%2F%3E%0A%20%3Cpath%20d%3D%27M49%2037l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM172%2077l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e53434%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-coffee-flag-sleeve: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M75%2030h72l-10%2096H85z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M83%2061h57l-5%2039H88z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M88%2071h47M87%2085h47%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cg%20fill%3D%27%23fff8ec%27%3E%3Ccircle%20cx%3D%2798%27%20cy%3D%2770%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%27109%27%20cy%3D%2773%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%27101%27%20cy%3D%2785%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M96%2030c-5-10%208-11%202-22M122%2030c-5-10%208-11%202-22%27%20fill%3D%27none%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M165%2040l5%209%2010%201-8%207%202%2010-9-5-9%205%202-10-8-7%2010-1z%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-confetti-swirl: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M41%2091c25-33%2059-49%20103-47%2022%201%2031%2014%2022%2027-10%2015-38%207-33-10%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%276%27%2F%3E%0A%20%3Cpath%20d%3D%27M50%20111c43-30%2084-36%20125-17%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Cpath%20d%3D%27M72%2038l7%2014M90%2027l-4%2016M158%2031l-8%2014M181%2057l-15%205M36%2056l15%205M97%20110l-8%2013%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%27118%27%20cy%3D%2725%27%20r%3D%275%27%20fill%3D%27%23e53434%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%27103%27%20r%3D%274%27%20fill%3D%27%234b8fd3%27%2F%3E%3Ccircle%20cx%3D%2738%27%20cy%3D%2736%27%20r%3D%274%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-heart-flag: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M110%20113C66%2083%2045%2060%2055%2038c8-18%2031-18%2055%205%2024-23%2047-23%2055-5%2010%2022-11%2045-55%2075z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M67%2061h88M78%2078h64M93%2095h34%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%278%27%2F%3E%0A%20%3Cpath%20d%3D%27M62%2039c10-18%2029-14%2048%204v36H76c-18-16-20-28-14-40z%27%20fill%3D%27%234b8fd3%27%2F%3E%0A%20%3Cg%20fill%3D%27%23fff8ec%27%3E%3Ccircle%20cx%3D%2780%27%20cy%3D%2747%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2794%27%20cy%3D%2752%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2782%27%20cy%3D%2764%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%27100%27%20cy%3D%2767%27%20r%3D%272%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M177%2023l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23f3c46a%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-star-sunglasses: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M55%2059l8%2016%2018%202-13%2013%203%2018-16-8-16%208%203-18-13-13%2018-2z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M165%2059l8%2016%2018%202-13%2013%203%2018-16-8-16%208%203-18-13-13%2018-2z%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M72%2079c23-9%2052-9%2076%200%27%20fill%3D%27none%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%277%27%2F%3E%0A%20%3Cpath%20d%3D%27M43%2036c36-16%2075-18%20114-5%27%20fill%3D%27none%27%20stroke%3D%27%23f3c46a%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Ccircle%20cx%3D%27111%27%20cy%3D%2742%27%20r%3D%276%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-ferris-firework: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Ccircle%20cx%3D%27109%27%20cy%3D%2768%27%20r%3D%2743%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M109%2025v86M66%2068h86M79%2038l61%2061M139%2038L79%2099%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Ccircle%20cx%3D%27109%27%20cy%3D%2768%27%20r%3D%278%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M85%20116h49M97%20109l-14%2022M122%20109l14%2022%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cg%20transform%3D%27translate%28172%2033%29%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%273%27%3E%3Cpath%20d%3D%27M0%200v-17M0%200l12-12M0%200h17M0%200l12%2012M0%200v17M0%200l-12%2012M0%200h-17M0%200l-12-12%27%2F%3E%3C%2Fg%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-grill-flame: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M64%2074h92c-3%2025-21%2040-46%2040S67%2099%2064%2074z%27%20fill%3D%27%230b2e57%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M75%2082h70%27%20stroke%3D%27%23fff8ec%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M89%20116l-19%2018M130%20116l19%2018%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M111%2062c-20-11-9-29%205-43%201%2014%2018%2020%2013%2037-2%208-8%2013-18%206z%27%20fill%3D%27%23e53434%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M112%2057c-7-6-1-15%206-24%200%209%209%2012%206%2021-1%204-6%207-12%203z%27%20fill%3D%27%23f3c46a%27%2F%3E%0A%20%3Cpath%20d%3D%27M43%2042l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM174%2070l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-picnic-sparkle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M53%2050h114l22%2064H31z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M66%2051l18%2062M103%2051l9%2062M140%2051l-2%2062M42%2070h137M50%2092h130%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%276%27%2F%3E%0A%20%3Cpath%20d%3D%27M84%2051h38v62H95z%27%20fill%3D%27none%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%276%27%2F%3E%0A%20%3Cpath%20d%3D%27M111%2022l5%2010%2011%201-8%208%202%2011-10-5-10%205%202-11-8-8%2011-1z%27%20fill%3D%27%23f3c46a%27%2F%3E%0A%20%3Cpath%20d%3D%27M172%2030c10%2011%2011%2023%202%2036%27%20fill%3D%27none%27%20stroke%3D%27%234b8fd3%27%20stroke-width%3D%274%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-lantern-stars: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M88%2039c0-20%2044-20%2044%200%27%20fill%3D%27none%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M80%2046h60l-8%2073H88z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M92%2059h36v44H92z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%273%27%2F%3E%0A%20%3Cpath%20d%3D%27M110%2070l5%209%2010%201-7%207%202%2010-10-5-9%205%202-10-7-7%2010-1z%27%20fill%3D%27%23fff8ec%27%2F%3E%0A%20%3Cpath%20d%3D%27M47%2055l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM171%2037l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e53434%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-usa-banner: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M42%2045h136l-16%2027%2016%2027H42l16-27z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M58%2058h104M58%2086h104%27%20stroke%3D%27%23e53434%27%20stroke-width%3D%278%27%2F%3E%0A%20%3Ctext%20x%3D%27110%27%20y%3D%2780%27%20text-anchor%3D%27middle%27%20font-family%3D%27Inter%2CArial%2Csans-serif%27%20font-size%3D%2731%27%20font-weight%3D%27900%27%20fill%3D%27%234b8fd3%27%3EUSA%3C%2Ftext%3E%0A%20%3Cpath%20d%3D%27M31%2029l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM188%20110l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23f3c46a%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
  --july4-cupcake-sparkler: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20220%20140%27%3E%0A%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%3Cpath%20d%3D%27M77%2071c0-18%2016-31%2034-31s34%2013%2034%2031z%27%20fill%3D%27%23fff8ec%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M82%2075h58l-9%2050H91z%27%20fill%3D%27%234b8fd3%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cpath%20d%3D%27M91%2083l8%2036M111%2083v36M132%2083l-8%2036%27%20stroke%3D%27%23fff8ec%27%20stroke-width%3D%275%27%2F%3E%0A%20%3Cpath%20d%3D%27M111%2040V18%27%20stroke%3D%27%230b2e57%27%20stroke-width%3D%274%27%2F%3E%0A%20%3Cg%20transform%3D%27translate%28111%2018%29%27%20fill%3D%27none%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M0%200v-16M0%200l11-11M0%200h16M0%200l11%2011M0%200v16M0%200l-11%2011M0%200h-16M0%200l-11-11%27%20stroke%3D%27%23f3c46a%27%2F%3E%3Cpath%20d%3D%27M19-1l8-4M-14%2014l-5%208%27%20stroke%3D%27%23e53434%27%2F%3E%3C%2Fg%3E%0A%20%3Cpath%20d%3D%27M46%2052l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1zM171%2067l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e53434%27%20stroke%3D%27none%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");
}
.stop-card.holiday-card[data-holiday-art="sky-burst-duo"]::after { background-image: var(--july4-sky-burst-duo); }
.stop-card.holiday-card[data-holiday-art="waving-flag"]::after { background-image: var(--july4-waving-flag); }
.stop-card.holiday-card[data-holiday-art="rocket-trail"]::after { background-image: var(--july4-rocket-trail); }
.stop-card.holiday-card[data-holiday-art="uncle-sam-hat"]::after { background-image: var(--july4-uncle-sam-hat); }
.stop-card.holiday-card[data-holiday-art="star-cluster"]::after { background-image: var(--july4-star-cluster); }
.stop-card.holiday-card[data-holiday-art="sparkler-wand"]::after { background-image: var(--july4-sparkler-wand); }
.stop-card.holiday-card[data-holiday-art="liberty-bell"]::after { background-image: var(--july4-liberty-bell); }
.stop-card.holiday-card[data-holiday-art="eagle-star"]::after { background-image: var(--july4-eagle-star); }
.stop-card.holiday-card[data-holiday-art="coffee-fireworks"]::after { background-image: var(--july4-coffee-fireworks); }
.stop-card.holiday-card[data-holiday-art="balloon-trio"]::after { background-image: var(--july4-balloon-trio); }
.stop-card.holiday-card[data-holiday-art="patriotic-pinwheel"]::after { background-image: var(--july4-patriotic-pinwheel); }
.stop-card.holiday-card[data-holiday-art="flag-popsicle"]::after { background-image: var(--july4-flag-popsicle); }
.stop-card.holiday-card[data-holiday-art="parade-drum"]::after { background-image: var(--july4-parade-drum); }
.stop-card.holiday-card[data-holiday-art="bunting-banner"]::after { background-image: var(--july4-bunting-banner); }
.stop-card.holiday-card[data-holiday-art="firecracker-bundle"]::after { background-image: var(--july4-firecracker-bundle); }
.stop-card.holiday-card[data-holiday-art="roman-candle"]::after { background-image: var(--july4-roman-candle); }
.stop-card.holiday-card[data-holiday-art="shooting-star"]::after { background-image: var(--july4-shooting-star); }
.stop-card.holiday-card[data-holiday-art="rosette-ribbon"]::after { background-image: var(--july4-rosette-ribbon); }
.stop-card.holiday-card[data-holiday-art="seventeen-seventy-six"]::after { background-image: var(--july4-seventeen-seventy-six); }
.stop-card.holiday-card[data-holiday-art="map-pin-stars"]::after { background-image: var(--july4-map-pin-stars); }
.stop-card.holiday-card[data-holiday-art="coffee-flag-sleeve"]::after { background-image: var(--july4-coffee-flag-sleeve); }
.stop-card.holiday-card[data-holiday-art="confetti-swirl"]::after { background-image: var(--july4-confetti-swirl); }
.stop-card.holiday-card[data-holiday-art="heart-flag"]::after { background-image: var(--july4-heart-flag); }
.stop-card.holiday-card[data-holiday-art="star-sunglasses"]::after { background-image: var(--july4-star-sunglasses); }
.stop-card.holiday-card[data-holiday-art="ferris-firework"]::after { background-image: var(--july4-ferris-firework); }
.stop-card.holiday-card[data-holiday-art="grill-flame"]::after { background-image: var(--july4-grill-flame); }
.stop-card.holiday-card[data-holiday-art="picnic-sparkle"]::after { background-image: var(--july4-picnic-sparkle); }
.stop-card.holiday-card[data-holiday-art="lantern-stars"]::after { background-image: var(--july4-lantern-stars); }
.stop-card.holiday-card[data-holiday-art="usa-banner"]::after { background-image: var(--july4-usa-banner); }
.stop-card.holiday-card[data-holiday-art="cupcake-sparkler"]::after { background-image: var(--july4-cupcake-sparkler); }
.stop-card.holiday-card::after { opacity: .94; }


/* v125: replace July 4 artwork with a cleaner, cute-but-professional sticker set across all 30 variants. */
:root {
  --july4-sky-burst-duo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cg%20fill%3D%27none%27%3E%3Cg%20transform%3D%27translate%2890%2062%29%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27%3E%3Cpath%20d%3D%27M0-18V-33M0-18l12-12M0-18h18M0-18l12%2012M0-18V0M0-18l-12%2012M0-18h-18M0-18l-12-12%27/%3E%3C/g%3E%3Cg%20transform%3D%27translate%28127%2082%29%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%274%27%3E%3Cpath%20d%3D%27M0-16V-29M0-16l11-11M0-16h16M0-16l11%2011M0-16V-1M0-16l-11%2011M0-16h-16M0-16l-11-11%27/%3E%3C/g%3E%3C/g%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-waving-flag: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M82%20103V38%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%275%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M85%2042c17-10%2034%204%2051-5%2010-5%2018-2%2027%200v43c-16%206-33-6-50%201-11%204-19%203-28%206z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M86%2052c21-9%2047%204%2076-4M86%2062c21-9%2047%204%2076-4M86%2072c21-9%2047%204%2076-4%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%277%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M86%2042c12-5%2023-2%2034%201v25c-11-3-22-5-34-1z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27none%27/%3E%3Ccircle%20cx%3D%2797%27%20cy%3D%2750%27%20r%3D%272%27%20fill%3D%27%23ffffff%27/%3E%3Ccircle%20cx%3D%27108%27%20cy%3D%2755%27%20r%3D%272%27%20fill%3D%27%23ffffff%27/%3E%3Ccircle%20cx%3D%27114%27%20cy%3D%2747%27%20r%3D%272%27%20fill%3D%27%23ffffff%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-rocket-trail: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M119%2038c18%2012%2028%2031%2015%2051-14-1-34-19-42-34%206-10%2014-15%2027-17z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M119%2038c8%205%2014%2011%2018%2019l-20%206-11-15c4-4%208-7%2013-10z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M88%2076l14-10%2011%206%27%20fill%3D%27none%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M111%2089l-7%2017-10-16%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M73%2092c-14%200-24%205-31%2013M82%2084c-14-4-26-2-37%206%27%20fill%3D%27none%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-uncle-sam-hat: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M78%2095c23-8%2045-8%2067%200l-6%2015c-18-5-37-6-55%200z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M92%2045h42l10%2050c-18-4-36-4-54%200z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M98%2046v45M113%2046v45M128%2046v45%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%278%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M85%2074c18-8%2037-8%2055%200%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%2712%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M113%2071l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1z%27%20fill%3D%27%23ffffff%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-star-cluster: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M108%2042l9%2018%2020%202-15%2013%205%2019-19-10-18%2010%204-19-15-13%2020-2z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M76%2062l5%2010%2011%201-8%207%202%2010-10-5-10%205%202-10-8-7%2011-1z%27%20fill%3D%27white%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M145%2074l5%2010%2011%201-8%207%202%2010-10-5-10%205%202-10-8-7%2011-1z%27%20fill%3D%27white%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-sparkler-wand: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M92%2097l35-35%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%277%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M126%2062V39M126%2062l16-16M126%2062h22M126%2062l15%2015M126%2062V84M126%2062l-15%2015M126%2062h-22M126%2062l-16-16%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M142%2045l7-3M109%2078l-6%207%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%273%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-liberty-bell: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M87%2053c0-18%2011-27%2024-27s24%209%2024%2027v11c0%208%204%2015%2011%2022H76c7-7%2011-14%2011-22z%27%20fill%3D%27%23f2c76a%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M84%2085h54v12H84z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M110%2054c-12%2010-9%2021-1%2032%27%20fill%3D%27none%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-eagle-star: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M71%2084c15-26%2051-27%2067%200-14-6-24-8-33-8s-19%202-34%208z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M106%2048l6%2012%2013%201-10%208%204%2012-13-6-12%206%203-12-10-8%2013-1z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-coffee-fireworks: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M86%2045h35c0%208%204%2010%2013%2010v22c0%2018-10%2028-30%2028S74%2095%2074%2077V57c7%200%2012-3%2012-12z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M121%2059h12c7%200%209%208%204%2013h-10%27%20fill%3D%27none%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M104%2067V48M104%2067l12-12M104%2067h16M104%2067l12%2012M104%2067V84M104%2067l-12%2012M104%2067H88M104%2067l-12-12%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%273.5%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M84%2087h39%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%276%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-balloon-trio: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M89%2048c0-9%206-16%2015-16s15%207%2015%2016-6%2016-15%2016-15-7-15-16z%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M106%2048c0-9%206-16%2015-16s15%207%2015%2016-6%2016-15%2016-15-7-15-16z%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M123%2048c0-9%206-16%2015-16s15%207%2015%2016-6%2016-15%2016-15-7-15-16z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M104%2064v28M121%2064v28M138%2064v28%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-patriotic-pinwheel: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M108%2055c-1-16%2020-20%2031-8-9%201-16%205-20%2016z%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M119%2063c15%200%2019%2020%208%2031-2-9-6-16-16-20z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M111%2075c0%2015-20%2019-31%208%209-2%2016-6%2020-16z%27%20fill%3D%27%23f2c76a%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M99%2067c-15%200-19-20-8-31%202%209%206%2016%2016%2020z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Ccircle%20cx%3D%27109%27%20cy%3D%2765%27%20r%3D%277%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M109%2072v25%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-flag-popsicle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M87%2036h46c10%200%2017%208%2017%2018%200%2029-17%2043-40%2043s-40-14-40-43c0-10%207-18%2017-18z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M76%2049h67M76%2061h67M76%2073h67%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%277%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M77%2036h31v28H77z%27%20fill%3D%27%234a97e2%27/%3E%3Ccircle%20cx%3D%2788%27%20cy%3D%2745%27%20r%3D%272%27%20fill%3D%27white%27/%3E%3Ccircle%20cx%3D%2797%27%20cy%3D%2756%27%20r%3D%272%27%20fill%3D%27white%27/%3E%3Cpath%20d%3D%27M110%2096v20%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%275%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-parade-drum: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cellipse%20cx%3D%27110%27%20cy%3D%2751%27%20rx%3D%2728%27%20ry%3D%2710%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M82%2051v30c0%205%2013%2010%2028%2010s28-5%2028-10V51%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cellipse%20cx%3D%27110%27%20cy%3D%2781%27%20rx%3D%2728%27%20ry%3D%2710%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M92%2055l7%2022M110%2055v25M127%2055l-7%2022%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M69%2039l14%2010M151%2039l-14%2010%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-bunting-banner: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M71%2047c18-13%2038-13%2058%200%208%205%2016%208%2024%208%27%20fill%3D%27none%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M76%2050l11%2023%2011-23%2011%2023%2011-23%2011%2023%2011-23%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M87%2050l11%2023%2011-23%2011%2023%2011-23%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M98%2050l11%2023%2011-23%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-firecracker-bundle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M91%2047h14v46H91zM106%2043h14v50h-14zM121%2049h14v44h-14z%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M98%2047V30M113%2043V27M128%2049V33%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M98%2030c0-7%205-11%2011-13M113%2027c2-6%207-9%2013-9M128%2033c1-7%206-11%2012-13%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%273%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-roman-candle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M103%2042h17v55h-17z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M111%2042V29%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M111%2029V13M111%2029l12-12M111%2029h15M111%2029l12%2011M111%2029V44M111%2029l-12%2012M111%2029H96M111%2029L99%2017%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%273.5%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M111%2096c-8%206-15%2010-21%2012%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-shooting-star: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M131%2043l6%2012%2013%201-10%208%204%2012-13-6-12%206%203-12-10-8%2013-1z%27%20fill%3D%27%23f2c76a%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M83%2092c18-5%2031-17%2044-38%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%276%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M67%2099c12%200%2022%203%2030%208%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-rosette-ribbon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Ccircle%20cx%3D%27110%27%20cy%3D%2758%27%20r%3D%2720%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Ccircle%20cx%3D%27110%27%20cy%3D%2758%27%20r%3D%2710%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M99%2077l-9%2031%2020-12%2020%2012-9-31%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-seventeen-seventy-six: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M66%2045h88v52H66z%27%20rx%3D%2714%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Ctext%20x%3D%27110%27%20y%3D%2779%27%20text-anchor%3D%27middle%27%20font-family%3D%27Inter%2CArial%2Csans-serif%27%20font-size%3D%2726%27%20font-weight%3D%27900%27%20fill%3D%27%234a97e2%27%3E1776%3C/text%3E%3Cpath%20d%3D%27M73%2091h74%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%276%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-map-pin-stars: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M110%2037c17%200%2028%2011%2028%2027%200%2018-15%2031-28%2049-13-18-28-31-28-49%200-16%2011-27%2028-27z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M110%2047l5%209%2010%201-7%207%202%2010-10-5-9%205%202-10-7-7%2010-1z%27%20fill%3D%27%23ffffff%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-coffee-flag-sleeve: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M86%2042h41c0%208%203%2011%2011%2011v28c0%2017-11%2028-31%2028S76%2098%2076%2081V53c7%200%2010-3%2010-11z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M93%2060h28v28H93z%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M93%2066h28M93%2074h28M93%2082h28%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%275%27/%3E%3Cpath%20d%3D%27M93%2060h13v12H93z%27%20fill%3D%27%234a97e2%27/%3E%3Ccircle%20cx%3D%2799%27%20cy%3D%2766%27%20r%3D%271.5%27%20fill%3D%27white%27/%3E%3Cpath%20d%3D%27M127%2058h10c5%200%208%205%204%2011h-9%27%20fill%3D%27none%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-confetti-swirl: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M82%2085c10-18%2030-32%2055-37%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%275%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M91%20101c16-17%2031-25%2050-28%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%275%27%20fill%3D%27none%27/%3E%3Ccircle%20cx%3D%2783%27%20cy%3D%2763%27%20r%3D%274%27%20fill%3D%27%23f2c76a%27/%3E%3Ccircle%20cx%3D%27103%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%23e34a46%27/%3E%3Ccircle%20cx%3D%27131%27%20cy%3D%2753%27%20r%3D%274%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M126%2081l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-heart-flag: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M110%2097c-28-16-37-30-37-44%200-11%208-20%2019-20%208%200%2014%204%2018%2010%204-6%2010-10%2018-10%2011%200%2019%209%2019%2020%200%2014-9%2028-37%2044z%27%20fill%3D%27%23ffffff%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M84%2061h52M84%2071h52M84%2081h52%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%276%27/%3E%3Cpath%20d%3D%27M84%2049h23v16H84z%27%20fill%3D%27%234a97e2%27/%3E%3Ccircle%20cx%3D%2792%27%20cy%3D%2757%27%20r%3D%272%27%20fill%3D%27white%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-star-sunglasses: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M85%2076l-6%2016%2014-8%2011%208-2-17-12-9z%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M135%2076l-6%2016%2014-8%2011%208-2-17-12-9z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M102%2074h16%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M82%2078h-10M138%2078h10%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-ferris-firework: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Ccircle%20cx%3D%27111%27%20cy%3D%2773%27%20r%3D%2726%27%20fill%3D%27none%27%20stroke%3D%27%234a97e2%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M111%2047v52M85%2060l52%2026M85%2086l52-26%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Ccircle%20cx%3D%27111%27%20cy%3D%2773%27%20r%3D%276%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M111%2023V9M111%2023l10-10M111%2023h14M111%2023l10%2010M111%2023V37M111%2023l-10%2010M111%2023H97M111%2023l-10-10%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%273.5%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M95%2099l-8%2016M127%2099l8%2016%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-grill-flame: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M79%2070h62v12H79z%27%20fill%3D%27%23123a63%27/%3E%3Cpath%20d%3D%27M86%2082h48%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M90%20101l-10%2012M130%20101l10%2012%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M110%2056c-17-10-8-26%204-39%200%2012%2014%2017%2010%2032-2%208-8%2013-14%207z%27%20fill%3D%27%23e34a46%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M111%2053c-7-5-3-12%202-18%200%206%207%209%205%2016-1%204-4%206-7%202z%27%20fill%3D%27%23f2c76a%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-picnic-sparkle: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M79%2053h62l12%2043H67z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M91%2053l8%2043M110%2053v43M129%2053l-8%2043M74%2073h72%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%275%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M111%2034V18M111%2034l11-11M111%2034h16M111%2034l11%2011M111%2034V50M111%2034l-11%2011M111%2034H95M111%2034l-11-11%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%273.5%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-lantern-stars: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M92%2049c0-14%2036-14%2036%200%27%20fill%3D%27none%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M86%2053h48l-6%2049H92z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M96%2063h28v23H96z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M110%2067l4%207%208%201-6%205%202%208-8-4-7%204%201-8-6-5%208-1z%27%20fill%3D%27%23ffffff%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-usa-banner: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M68%2050h84l-10%2018%2010%2018H68l10-18z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M78%2060h64M78%2076h64%27%20stroke%3D%27%23e34a46%27%20stroke-width%3D%276%27%20fill%3D%27none%27/%3E%3Ctext%20x%3D%27110%27%20y%3D%2773%27%20text-anchor%3D%27middle%27%20font-family%3D%27Inter%2CArial%2Csans-serif%27%20font-size%3D%2721%27%20font-weight%3D%27900%27%20fill%3D%27%234a97e2%27%3EUSA%3C/text%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
  --july4-cupcake-sparkler: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20220%20140%27%3E%3Cg%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M74%2018c18-8%2054-8%2072%202%2015%208%2031%2027%2031%2048%200%2020-16%2041-33%2050-20%2010-53%2011-75%204-18-6-39-22-44-42-6-26%205-50%2025-62%207-4%2016-8%2024-10z%27%20fill%3D%27white%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M85%2073c0-15%2011-27%2025-27s25%2012%2025%2027z%27%20fill%3D%27%23fff8ef%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M89%2075h42l-6%2035H95z%27%20fill%3D%27%234a97e2%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M97%2083l6%2023M110%2083v23M123%2083l-6%2023%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%274%27/%3E%3Cpath%20d%3D%27M110%2045V26%27%20stroke%3D%27%23123a63%27%20stroke-width%3D%273%27/%3E%3Cpath%20d%3D%27M110%2026V11M110%2026l10-10M110%2026h14M110%2026l10%2010M110%2026V40M110%2026l-10%2010M110%2026H96M110%2026l-10-10%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%273.5%27%20fill%3D%27none%27/%3E%3Cpath%20d%3D%27M31%2038l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%23e34a46%27/%3E%3Cpath%20d%3D%27M187%2094l4%208%209%201-7%206%202%209-8-4-8%204%202-9-7-6%209-1z%27%20fill%3D%27%234a97e2%27/%3E%3Cpath%20d%3D%27M34%20100c12-7%2023-7%2034%200%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M164%2031c10%201%2018%206%2024%2014%27%20fill%3D%27none%27%20stroke%3D%27%23f2c76a%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27/%3E%3C/g%3E%3C/svg%3E");
}

.stop-card.holiday-card::after {
  opacity: .98;
  filter: drop-shadow(0 10px 14px rgba(13, 39, 64, .16));
}


/* v126: use generated PNG sticker assets for all July 4 holiday card graphics. */
.stop-card.holiday-card[data-holiday-art="sky-burst-duo"]::after { background-image: url("assets/sky-burst-duo.png") !important; }
.stop-card.holiday-card[data-holiday-art="waving-flag"]::after { background-image: url("assets/waving-flag.png") !important; }
.stop-card.holiday-card[data-holiday-art="rocket-trail"]::after { background-image: url("assets/rocket-trail.png") !important; }
.stop-card.holiday-card[data-holiday-art="uncle-sam-hat"]::after { background-image: url("assets/uncle-sam-hat.png") !important; }
.stop-card.holiday-card[data-holiday-art="star-cluster"]::after { background-image: url("assets/star-cluster.png") !important; }
.stop-card.holiday-card[data-holiday-art="sparkler-wand"]::after { background-image: url("assets/sparkler-wand.png") !important; }
.stop-card.holiday-card[data-holiday-art="liberty-bell"]::after { background-image: url("assets/liberty-bell.png") !important; }
.stop-card.holiday-card[data-holiday-art="eagle-star"]::after { background-image: url("assets/eagle-star.png") !important; }
.stop-card.holiday-card[data-holiday-art="coffee-fireworks"]::after { background-image: url("assets/coffee-fireworks.png") !important; }
.stop-card.holiday-card[data-holiday-art="balloon-trio"]::after { background-image: url("assets/balloon-trio.png") !important; }
.stop-card.holiday-card[data-holiday-art="patriotic-pinwheel"]::after { background-image: url("assets/patriotic-pinwheel.png") !important; }
.stop-card.holiday-card[data-holiday-art="flag-popsicle"]::after { background-image: url("assets/flag-popsicle.png") !important; }
.stop-card.holiday-card[data-holiday-art="parade-drum"]::after { background-image: url("assets/parade-drum.png") !important; }
.stop-card.holiday-card[data-holiday-art="bunting-banner"]::after { background-image: url("assets/bunting-banner.png") !important; }
.stop-card.holiday-card[data-holiday-art="firecracker-bundle"]::after { background-image: url("assets/firecracker-bundle.png") !important; }
.stop-card.holiday-card[data-holiday-art="roman-candle"]::after { background-image: url("assets/roman-candle.png") !important; }
.stop-card.holiday-card[data-holiday-art="shooting-star"]::after { background-image: url("assets/shooting-star.png") !important; }
.stop-card.holiday-card[data-holiday-art="rosette-ribbon"]::after { background-image: url("assets/rosette-ribbon.png") !important; }
.stop-card.holiday-card[data-holiday-art="seventeen-seventy-six"]::after { background-image: url("assets/seventeen-seventy-six.png") !important; }
.stop-card.holiday-card[data-holiday-art="map-pin-stars"]::after { background-image: url("assets/map-pin-stars.png") !important; }
.stop-card.holiday-card[data-holiday-art="coffee-flag-sleeve"]::after { background-image: url("assets/coffee-flag-sleeve.png") !important; }
.stop-card.holiday-card[data-holiday-art="confetti-swirl"]::after { background-image: url("assets/confetti-swirl.png") !important; }
.stop-card.holiday-card[data-holiday-art="heart-flag"]::after { background-image: url("assets/heart-flag.png") !important; }
.stop-card.holiday-card[data-holiday-art="star-sunglasses"]::after { background-image: url("assets/star-sunglasses.png") !important; }
.stop-card.holiday-card[data-holiday-art="ferris-firework"]::after { background-image: url("assets/ferris-firework.png") !important; }
.stop-card.holiday-card[data-holiday-art="grill-flame"]::after { background-image: url("assets/grill-flame.png") !important; }
.stop-card.holiday-card[data-holiday-art="picnic-sparkle"]::after { background-image: url("assets/picnic-sparkle.png") !important; }
.stop-card.holiday-card[data-holiday-art="lantern-stars"]::after { background-image: url("assets/lantern-stars.png") !important; }
.stop-card.holiday-card[data-holiday-art="usa-banner"]::after { background-image: url("assets/usa-banner.png") !important; }
.stop-card.holiday-card[data-holiday-art="cupcake-sparkler"]::after { background-image: url("assets/cupcake-sparkler.png") !important; }
.stop-card.holiday-card::after { background-size: contain !important; background-position: center center !important; opacity: .98 !important; filter: drop-shadow(0 10px 14px rgba(13,39,64,.16)) !important; }


/* v131: add 6 generated coffee cup assets to normal non-holiday stop cards. */
.stop-card.coffee-art-card {
  position: relative;
  overflow: hidden;
}

.stop-card.coffee-art-card > * {
  position: relative;
  z-index: 1;
}

.stop-card.coffee-art-card::after {
  content: "";
  position: absolute;
  right: clamp(10px, 2vw, 18px);
  top: clamp(72px, 9vw, 92px);
  width: clamp(76px, 18vw, 104px);
  height: clamp(108px, 24vw, 142px);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  opacity: .98;
  filter: drop-shadow(0 12px 16px rgba(26, 26, 26, 0.16));
  pointer-events: none;
  z-index: 0;
}

.stop-card.coffee-art-card[data-coffee-art="coffee-cup-neapolitan-cold-brew"]::after { background-image: url("assets/coffee-cup-neapolitan-cold-brew.webp"); }
.stop-card.coffee-art-card[data-coffee-art="coffee-cup-banana-waffle-cone"]::after { background-image: url("assets/coffee-cup-banana-waffle-cone.webp"); }
.stop-card.coffee-art-card[data-coffee-art="coffee-cup-key-lime-matcha"]::after { background-image: url("assets/coffee-cup-key-lime-matcha.webp"); }
.stop-card.coffee-art-card[data-coffee-art="coffee-cup-coconut-mocha"]::after { background-image: url("assets/coffee-cup-coconut-mocha.webp"); }
.stop-card.coffee-art-card[data-coffee-art="coffee-cup-banana-carrot-cake"]::after { background-image: url("assets/coffee-cup-banana-carrot-cake.webp"); }
.stop-card.coffee-art-card[data-coffee-art="coffee-cup-toaster-strudel-latte"]::after { background-image: url("assets/coffee-cup-toaster-strudel-latte.webp"); }

@media (max-width: 640px) {
  .stop-card.coffee-art-card::after {
    right: 10px;
    top: 84px;
    width: min(21vw, 92px);
    height: min(28vw, 128px);
  }
}

@media (max-width: 420px) {
  .stop-card.coffee-art-card::after {
    right: 8px;
    top: 88px;
    width: min(20vw, 84px);
    height: min(27vw, 118px);
  }
}


/* v132: elegant readability pass for time, distance/mileage, and scheduled status chips. */
.stop-card .stop-time {
  width: fit-content !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 8px 0 5px !important;
  padding: 5px 11px 5px 10px !important;
  border-radius: 999px !important;
  color: #79420d !important;
  background:
    linear-gradient(135deg, rgba(255, 248, 232, .98), rgba(246, 211, 150, .82)) !important;
  border: 1px solid rgba(184, 117, 32, .28) !important;
  box-shadow:
    0 7px 14px rgba(117, 74, 21, .10),
    inset 0 1px 0 rgba(255,255,255,.76) !important;
  font-size: clamp(.86rem, 2.7vw, .98rem) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .005em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.58) !important;
}

.stop-card .stop-time::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: #bd7a25;
  box-shadow: 0 0 0 3px rgba(218, 157, 72, .20);
}

.stop-card .distance-chip {
  color: #fffdf7 !important;
  background:
    linear-gradient(135deg, rgba(12, 35, 57, .97), rgba(72, 95, 114, .96)) !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  box-shadow:
    0 8px 16px rgba(6, 22, 35, .20),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.34) !important;
}

.stop-card .open-chip.scheduled-chip,
.stop-card .scheduled-chip {
  color: #074064 !important;
  background:
    linear-gradient(135deg, #eefaff 0%, #bde6fb 56%, #8ed2f4 100%) !important;
  border: 1px solid rgba(42, 128, 190, .34) !important;
  box-shadow:
    0 7px 14px rgba(13, 91, 143, .16),
    inset 0 1px 0 rgba(255,255,255,.80) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.62) !important;
}

@media (max-width: 480px) {
  .stop-card .stop-time {
    padding: 5px 10px !important;
    font-size: .86rem !important;
  }
  .stop-card .distance-chip {
    font-size: .72rem !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* v133: add a 3-cup coffee cluster to the Closest Active Stop panel. */
.closest-route {
  grid-template-columns: 66px minmax(0, 1fr) 96px minmax(126px, 164px) !important;
  grid-template-areas: "icon copy cups button" !important;
}

.closest-coffee-cluster {
  grid-area: cups !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 0 !important;
  min-width: 88px !important;
  align-self: end !important;
  justify-self: center !important;
  pointer-events: none !important;
  margin-top: 6px !important;
}

.closest-coffee-cup {
  display: block !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center bottom !important;
  filter: drop-shadow(0 10px 14px rgba(24, 22, 20, .16)) !important;
}

.closest-coffee-cup-a {
  width: 38px !important;
  height: 56px !important;
  margin-right: -12px !important;
  transform: translateY(10px) rotate(-7deg) !important;
  background-image: url("assets/coffee-cup-key-lime-matcha.webp") !important;
}

.closest-coffee-cup-b {
  width: 46px !important;
  height: 68px !important;
  z-index: 1 !important;
  background-image: url("assets/coffee-cup-neapolitan-cold-brew.webp") !important;
}

.closest-coffee-cup-c {
  width: 40px !important;
  height: 58px !important;
  margin-left: -12px !important;
  transform: translateY(9px) rotate(7deg) !important;
  background-image: url("assets/coffee-cup-coconut-mocha.webp") !important;
}

@media (max-width: 640px) {
  .closest-route {
    grid-template-columns: 60px minmax(0, 1fr) 84px !important;
    grid-template-areas:
      "icon copy cups"
      "button button button" !important;
    column-gap: 10px !important;
  }

  .closest-coffee-cluster {
    min-width: 76px !important;
    margin-top: 0 !important;
    align-self: center !important;
  }

  .closest-coffee-cup-a { width: 32px !important; height: 46px !important; margin-right: -10px !important; }
  .closest-coffee-cup-b { width: 39px !important; height: 58px !important; }
  .closest-coffee-cup-c { width: 34px !important; height: 49px !important; margin-left: -10px !important; }
}

@media (max-width: 430px) {
  .closest-route {
    grid-template-columns: 56px minmax(0, 1fr) 72px !important;
  }

  .closest-coffee-cluster {
    min-width: 68px !important;
    transform: translateX(2px) !important;
  }

  .closest-coffee-cup-a { width: 28px !important; height: 41px !important; margin-right: -9px !important; }
  .closest-coffee-cup-b { width: 34px !important; height: 51px !important; }
  .closest-coffee-cup-c { width: 30px !important; height: 44px !important; margin-left: -9px !important; }
}


/* v134: keep the Closest Stop layout intact; let the 3 cups float/poke from the bottom instead of reserving a grid column. */
.closest-route-premium {
  position: relative !important;
  overflow: hidden !important;
}

.closest-route {
  grid-template-columns: 66px minmax(0, 1fr) minmax(126px, 164px) !important;
  grid-template-areas: "icon copy button" !important;
}

.closest-medallion,
.closest-copy,
.closest-route-btn {
  position: relative !important;
  z-index: 2 !important;
}

.closest-coffee-cluster {
  grid-area: auto !important;
  position: absolute !important;
  right: clamp(122px, 24%, 188px) !important;
  bottom: clamp(4px, 1.2vw, 12px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  min-width: 104px !important;
  height: 78px !important;
  pointer-events: none !important;
  z-index: 1 !important;
  opacity: .98 !important;
  transform: translateY(6px) !important;
}

.closest-coffee-cup {
  display: block !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center bottom !important;
  filter: drop-shadow(0 10px 14px rgba(24, 22, 20, .16)) !important;
}

.closest-coffee-cup-a {
  width: 36px !important;
  height: 54px !important;
  margin-right: -12px !important;
  transform: translateY(12px) rotate(-7deg) !important;
  background-image: url("assets/coffee-cup-key-lime-matcha.webp") !important;
}

.closest-coffee-cup-b {
  width: 45px !important;
  height: 68px !important;
  z-index: 2 !important;
  transform: translateY(4px) !important;
  background-image: url("assets/coffee-cup-neapolitan-cold-brew.webp") !important;
}

.closest-coffee-cup-c {
  width: 37px !important;
  height: 56px !important;
  margin-left: -12px !important;
  transform: translateY(12px) rotate(7deg) !important;
  background-image: url("assets/coffee-cup-coconut-mocha.webp") !important;
}

@media (max-width: 640px) {
  .closest-route {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon copy"
      "button button" !important;
  }

  .closest-coffee-cluster {
    right: 22px !important;
    bottom: 68px !important;
    min-width: 86px !important;
    height: 62px !important;
    transform: translateY(10px) !important;
  }

  .closest-coffee-cup-a { width: 30px !important; height: 45px !important; margin-right: -10px !important; }
  .closest-coffee-cup-b { width: 38px !important; height: 57px !important; }
  .closest-coffee-cup-c { width: 31px !important; height: 47px !important; margin-left: -10px !important; }
}

@media (max-width: 430px) {
  .closest-coffee-cluster {
    right: 18px !important;
    bottom: 64px !important;
    min-width: 76px !important;
    height: 56px !important;
  }

  .closest-coffee-cup-a { width: 27px !important; height: 40px !important; margin-right: -9px !important; }
  .closest-coffee-cup-b { width: 34px !important; height: 51px !important; }
  .closest-coffee-cup-c { width: 28px !important; height: 42px !important; margin-left: -9px !important; }
}


/* v135: reposition and enlarge closest-stop coffee cups so they float lower and more under the route button area. */
.closest-coffee-cluster {
  right: clamp(66px, 13%, 108px) !important;
  bottom: clamp(-2px, .3vw, 8px) !important;
  min-width: 128px !important;
  height: 92px !important;
  transform: translateY(12px) !important;
}

.closest-coffee-cup-a {
  width: 42px !important;
  height: 63px !important;
  margin-right: -14px !important;
  transform: translateY(15px) rotate(-8deg) !important;
}

.closest-coffee-cup-b {
  width: 52px !important;
  height: 78px !important;
  transform: translateY(4px) !important;
}

.closest-coffee-cup-c {
  width: 44px !important;
  height: 66px !important;
  margin-left: -14px !important;
  transform: translateY(15px) rotate(8deg) !important;
}

@media (max-width: 640px) {
  .closest-coffee-cluster {
    right: 42px !important;
    bottom: 56px !important;
    min-width: 104px !important;
    height: 76px !important;
    transform: translateY(12px) !important;
  }

  .closest-coffee-cup-a { width: 36px !important; height: 54px !important; margin-right: -12px !important; transform: translateY(14px) rotate(-8deg) !important; }
  .closest-coffee-cup-b { width: 45px !important; height: 67px !important; transform: translateY(4px) !important; }
  .closest-coffee-cup-c { width: 37px !important; height: 56px !important; margin-left: -12px !important; transform: translateY(14px) rotate(8deg) !important; }
}

@media (max-width: 430px) {
  .closest-coffee-cluster {
    right: 34px !important;
    bottom: 50px !important;
    min-width: 96px !important;
    height: 70px !important;
  }

  .closest-coffee-cup-a { width: 33px !important; height: 49px !important; margin-right: -11px !important; }
  .closest-coffee-cup-b { width: 41px !important; height: 61px !important; }
  .closest-coffee-cup-c { width: 34px !important; height: 51px !important; margin-left: -11px !important; }
}


/* v136: use 3 July 4 icons in the Closest Active Stop cluster on July 4 stops instead of coffee cups. */
.closest-holiday-route .closest-coffee-cluster {
  min-width: 132px !important;
  height: 86px !important;
}

.closest-holiday-route .closest-coffee-cup-a {
  width: 48px !important;
  height: 58px !important;
  margin-right: -12px !important;
  transform: translateY(13px) rotate(-8deg) !important;
  background-image: url("assets/sky-burst-duo.png") !important;
}

.closest-holiday-route .closest-coffee-cup-b {
  width: 54px !important;
  height: 58px !important;
  transform: translateY(8px) rotate(0deg) !important;
  background-image: url("assets/uncle-sam-hat.png") !important;
}

.closest-holiday-route .closest-coffee-cup-c {
  width: 50px !important;
  height: 58px !important;
  margin-left: -12px !important;
  transform: translateY(13px) rotate(8deg) !important;
  background-image: url("assets/star-cluster.png") !important;
}

@media (max-width: 640px) {
  .closest-holiday-route .closest-coffee-cluster {
    min-width: 108px !important;
    height: 72px !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 40px !important; height: 50px !important; margin-right: -10px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 45px !important; height: 50px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 42px !important; height: 50px !important; margin-left: -10px !important; }
}

@media (max-width: 430px) {
  .closest-holiday-route .closest-coffee-cluster {
    min-width: 98px !important;
    height: 66px !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 36px !important; height: 45px !important; margin-right: -9px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 41px !important; height: 45px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 38px !important; height: 45px !important; margin-left: -9px !important; }
}


/* v137: move closest-stop art deeper into the lower-right box area; keep July 4 icons fully visible and unique. */
.closest-route-premium {
  position: relative !important;
  overflow: hidden !important;
}

.closest-coffee-cluster {
  right: clamp(10px, 2vw, 26px) !important;
  bottom: clamp(-6px, -.3vw, 2px) !important;
  min-width: 148px !important;
  height: 96px !important;
  transform: translateY(10px) !important;
  z-index: 1 !important;
}

.closest-coffee-cup-a {
  width: 46px !important;
  height: 68px !important;
  margin-right: -15px !important;
  transform: translateY(17px) rotate(-8deg) !important;
}

.closest-coffee-cup-b {
  width: 58px !important;
  height: 86px !important;
  transform: translateY(3px) !important;
}

.closest-coffee-cup-c {
  width: 49px !important;
  height: 72px !important;
  margin-left: -15px !important;
  transform: translateY(17px) rotate(8deg) !important;
}

.closest-holiday-route .closest-coffee-cluster {
  right: clamp(16px, 3vw, 34px) !important;
  bottom: clamp(16px, 2vw, 24px) !important;
  min-width: 148px !important;
  height: 82px !important;
  transform: none !important;
  align-items: flex-end !important;
}

.closest-holiday-route .closest-coffee-cup-a {
  width: 48px !important;
  height: 62px !important;
  margin-right: -12px !important;
  transform: translateY(4px) rotate(-8deg) !important;
  background-image: url("assets/closest-july4-starburst.png") !important;
}

.closest-holiday-route .closest-coffee-cup-b {
  width: 58px !important;
  height: 70px !important;
  transform: translateY(0) rotate(0deg) !important;
  background-image: url("assets/closest-july4-hat-badge.png") !important;
}

.closest-holiday-route .closest-coffee-cup-c {
  width: 52px !important;
  height: 64px !important;
  margin-left: -12px !important;
  transform: translateY(4px) rotate(8deg) !important;
  background-image: url("assets/closest-july4-rocket-star.png") !important;
}

@media (max-width: 640px) {
  .closest-coffee-cluster {
    right: 18px !important;
    bottom: 44px !important;
    min-width: 126px !important;
    height: 86px !important;
    transform: translateY(12px) !important;
  }

  .closest-coffee-cup-a { width: 40px !important; height: 60px !important; margin-right: -13px !important; }
  .closest-coffee-cup-b { width: 51px !important; height: 76px !important; }
  .closest-coffee-cup-c { width: 43px !important; height: 64px !important; margin-left: -13px !important; }

  .closest-holiday-route .closest-coffee-cluster {
    right: 18px !important;
    bottom: 22px !important;
    min-width: 118px !important;
    height: 72px !important;
    transform: none !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 40px !important; height: 54px !important; margin-right: -10px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 48px !important; height: 61px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 42px !important; height: 56px !important; margin-left: -10px !important; }
}

@media (max-width: 430px) {
  .closest-coffee-cluster {
    right: 14px !important;
    bottom: 40px !important;
    min-width: 112px !important;
    height: 78px !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    right: 14px !important;
    bottom: 20px !important;
    min-width: 108px !important;
    height: 68px !important;
  }
}


/* v139: closest July 4 cluster uses existing holiday stickers, placed fully inside the panel. */
.closest-holiday-route .closest-coffee-cluster {
  right: clamp(52px, 8.5%, 92px) !important;
  bottom: clamp(12px, 2vw, 22px) !important;
  min-width: 170px !important;
  height: 92px !important;
  transform: none !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: visible !important;
  z-index: 1 !important;
}

.closest-holiday-route .closest-coffee-cup {
  background-size: contain !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  filter: drop-shadow(0 10px 14px rgba(13, 39, 64, .14)) !important;
  opacity: .98 !important;
}

.closest-holiday-route .closest-coffee-cup-a {
  width: 58px !important;
  height: 68px !important;
  margin-right: -14px !important;
  transform: translateY(1px) rotate(-7deg) !important;
  background-image: url("assets/waving-flag.png") !important;
}

.closest-holiday-route .closest-coffee-cup-b {
  width: 66px !important;
  height: 78px !important;
  transform: translateY(0) rotate(0deg) !important;
  z-index: 2 !important;
  background-image: url("assets/uncle-sam-hat.png") !important;
}

.closest-holiday-route .closest-coffee-cup-c {
  width: 58px !important;
  height: 68px !important;
  margin-left: -14px !important;
  transform: translateY(1px) rotate(7deg) !important;
  background-image: url("assets/star-cluster.png") !important;
}

@media (max-width: 640px) {
  .closest-holiday-route .closest-coffee-cluster {
    right: 38px !important;
    bottom: 22px !important;
    min-width: 142px !important;
    height: 80px !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 48px !important; height: 58px !important; margin-right: -12px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 56px !important; height: 68px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 48px !important; height: 58px !important; margin-left: -12px !important; }
}

@media (max-width: 430px) {
  .closest-holiday-route .closest-coffee-cluster {
    right: 28px !important;
    bottom: 20px !important;
    min-width: 128px !important;
    height: 72px !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 43px !important; height: 52px !important; margin-right: -10px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 50px !important; height: 61px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 43px !important; height: 52px !important; margin-left: -10px !important; }
}


/* v140: static generated schedule header images with matched wavy background and proper sunrays. */
.results[data-schedule-art]::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(82px, 13.4vw, 116px) !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 24px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow: 0 14px 34px rgba(34, 20, 6, .26) !important;
  transform: none !important;
}

.results[data-schedule-art]::after {
  content: "" !important;
  display: none !important;
}

@media (max-width: 640px) {
  .results[data-schedule-art]::before {
    min-height: 86px !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 430px) {
  .results[data-schedule-art]::before {
    min-height: 82px !important;
    border-radius: 20px !important;
  }
}

/* v140: align the existing July 4 closest-stop icon trio cleanly inside the panel. */
.closest-holiday-route .closest-coffee-cluster {
  right: clamp(18px, 3.5%, 44px) !important;
  bottom: clamp(16px, 2vw, 26px) !important;
  min-width: 140px !important;
  height: 78px !important;
  align-items: flex-end !important;
  justify-content: center !important;
  transform: none !important;
}

.closest-holiday-route .closest-coffee-cup-a {
  width: 50px !important;
  height: 58px !important;
  margin-right: -11px !important;
  transform: translateY(0) rotate(-6deg) !important;
  background-image: url("assets/waving-flag.png") !important;
}

.closest-holiday-route .closest-coffee-cup-b {
  width: 58px !important;
  height: 67px !important;
  transform: translateY(0) rotate(0deg) !important;
  background-image: url("assets/uncle-sam-hat.png") !important;
}

.closest-holiday-route .closest-coffee-cup-c {
  width: 50px !important;
  height: 58px !important;
  margin-left: -11px !important;
  transform: translateY(0) rotate(6deg) !important;
  background-image: url("assets/star-cluster.png") !important;
}

@media (max-width: 640px) {
  .closest-holiday-route .closest-coffee-cluster {
    right: 22px !important;
    bottom: 24px !important;
    min-width: 124px !important;
    height: 70px !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 43px !important; height: 50px !important; margin-right: -9px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 50px !important; height: 58px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 43px !important; height: 50px !important; margin-left: -9px !important; }
}

@media (max-width: 430px) {
  .closest-holiday-route .closest-coffee-cluster {
    right: 18px !important;
    bottom: 22px !important;
    min-width: 112px !important;
    height: 64px !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 38px !important; height: 45px !important; margin-right: -8px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 45px !important; height: 52px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 38px !important; height: 45px !important; margin-left: -8px !important; }
}


/* v141: transparent schedule text/sunray overlays on the real site wavy background, so the waves match exactly. */
.results[data-schedule-art]::before,
.results[data-schedule-art]::after {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  pointer-events: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(82px, 13.4vw, 116px) !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border-radius: 24px !important;
  transform: none !important;
}

.results[data-schedule-art]::before {
  content: "" !important;
  display: block !important;
  border: 2px solid rgba(91, 149, 215, .58) !important;
  background: url("assets/schedule-wavy-stripes.webp") center center / cover no-repeat !important;
  box-shadow: 0 14px 34px rgba(34, 20, 6, .26), inset 0 1px 0 rgba(255,255,255,.74) !important;
  z-index: 0 !important;
}

.results[data-schedule-art]::after {
  content: "" !important;
  display: block !important;
  border: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  z-index: 1 !important;
}

.results[data-schedule-art="today"]::after { background-image: url("assets/schedule-overlay-today.webp") !important; }
.results[data-schedule-art="tomorrow"]::after { background-image: url("assets/schedule-overlay-tomorrow.webp") !important; }
.results[data-schedule-art="sunday"]::after { background-image: url("assets/schedule-overlay-sunday.webp") !important; }
.results[data-schedule-art="monday"]::after { background-image: url("assets/schedule-overlay-monday.webp") !important; }
.results[data-schedule-art="tuesday"]::after { background-image: url("assets/schedule-overlay-tuesday.webp") !important; }
.results[data-schedule-art="wednesday"]::after { background-image: url("assets/schedule-overlay-wednesday.webp") !important; }
.results[data-schedule-art="thursday"]::after { background-image: url("assets/schedule-overlay-thursday.webp") !important; }
.results[data-schedule-art="friday"]::after { background-image: url("assets/schedule-overlay-friday.webp") !important; }
.results[data-schedule-art="saturday"]::after { background-image: url("assets/schedule-overlay-saturday.webp") !important; }

@media (max-width: 640px) {
  .results[data-schedule-art]::before,
  .results[data-schedule-art]::after {
    min-height: 86px !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 430px) {
  .results[data-schedule-art]::before,
  .results[data-schedule-art]::after {
    min-height: 82px !important;
    border-radius: 20px !important;
  }
}


/* v142: lock horizontal overflow on mobile so the page cannot sideways-scroll. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@supports (overflow-x: clip) {
  html,
  body {
    overflow-x: clip !important;
  }
}

body {
  position: relative !important;
}

* {
  box-sizing: border-box;
}

img,
svg,
canvas,
video {
  max-width: 100%;
}

.page,
.app-shell,
.hero-card,
.summary-grid,
.summary-card,
.closest-card,
.map-panel,
.results,
.stop-card {
  max-width: 100% !important;
}

@media (max-width: 760px) {
  .app-shell,
  .page,
  main,
  .hero-card,
  .summary-grid,
  .summary-card,
  .closest-card,
  .map-panel,
  .results,
  .stop-card {
    overflow-x: hidden !important;
  }
}


/* v143: hard override - schedule header uses the real site waves only, plus transparent text/sunray overlays. */
.results[data-schedule-art]::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(82px, 13.4vw, 116px) !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border-radius: 24px !important;
  border: 2px solid rgba(91, 149, 215, .58) !important;
  background-image: url("assets/schedule-wavy-stripes.webp") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 14px 34px rgba(34, 20, 6, .26), inset 0 1px 0 rgba(255,255,255,.74) !important;
  transform: none !important;
}

.results[data-schedule-art]::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(82px, 13.4vw, 116px) !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 24px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
}

@media (max-width: 640px) {
  .results[data-schedule-art]::before,
  .results[data-schedule-art]::after {
    min-height: 86px !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 430px) {
  .results[data-schedule-art]::before,
  .results[data-schedule-art]::after {
    min-height: 82px !important;
    border-radius: 20px !important;
  }
}


/* v144: mobile closest-stop layout fix — keep trip/address readable and let cup art peek above the route button. */
@media (max-width: 640px) {
  .closest-route-premium {
    min-height: 330px !important;
    padding-bottom: 16px !important;
    overflow: hidden !important;
  }

  .closest-route {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon copy"
      "button button" !important;
    align-items: start !important;
    row-gap: 14px !important;
  }

  .closest-copy {
    padding-right: 80px !important;
  }

  .closest-copy h2 {
    max-width: 100% !important;
  }

  .closest-copy small {
    max-width: calc(100% - 18px) !important;
    padding-right: 72px !important;
    line-height: 1.22 !important;
  }

  .closest-route-btn {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 6px !important;
  }

  .closest-coffee-cluster {
    right: 24px !important;
    bottom: 72px !important;
    min-width: 116px !important;
    height: 88px !important;
    transform: translateY(18px) !important;
    z-index: 4 !important;
    opacity: .99 !important;
  }

  .closest-coffee-cup-a {
    width: 38px !important;
    height: 56px !important;
    margin-right: -12px !important;
    transform: translateY(18px) rotate(-8deg) !important;
  }

  .closest-coffee-cup-b {
    width: 49px !important;
    height: 73px !important;
    transform: translateY(7px) !important;
  }

  .closest-coffee-cup-c {
    width: 40px !important;
    height: 60px !important;
    margin-left: -12px !important;
    transform: translateY(18px) rotate(8deg) !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    right: 24px !important;
    bottom: 70px !important;
    min-width: 112px !important;
    height: 76px !important;
    transform: translateY(6px) !important;
    z-index: 4 !important;
  }
}

@media (max-width: 430px) {
  .closest-route-premium {
    min-height: 340px !important;
  }

  .closest-copy {
    padding-right: 68px !important;
  }

  .closest-copy small {
    padding-right: 60px !important;
  }

  .closest-coffee-cluster {
    right: 18px !important;
    bottom: 70px !important;
    min-width: 104px !important;
    height: 80px !important;
    transform: translateY(18px) !important;
  }

  .closest-coffee-cup-a { width: 34px !important; height: 51px !important; margin-right: -11px !important; }
  .closest-coffee-cup-b { width: 44px !important; height: 66px !important; }
  .closest-coffee-cup-c { width: 36px !important; height: 54px !important; margin-left: -11px !important; }

  .closest-holiday-route .closest-coffee-cluster {
    right: 18px !important;
    bottom: 68px !important;
    min-width: 102px !important;
    height: 70px !important;
  }
}


/* v145: anchor normal stop-card drink art to the CTA area and raise closest-stop cups slightly on mobile. */
.stop-card.coffee-art-card::after {
  top: auto !important;
  bottom: clamp(54px, 8vw, 72px) !important;
  right: clamp(12px, 3.4vw, 24px) !important;
  width: clamp(88px, 19vw, 122px) !important;
  height: clamp(120px, 28vw, 160px) !important;
  background-position: center bottom !important;
  z-index: 0 !important;
}

@media (max-width: 640px) {
  .stop-card.coffee-art-card::after {
    top: auto !important;
    bottom: 58px !important;
    right: 12px !important;
    width: min(24vw, 104px) !important;
    height: min(34vw, 146px) !important;
  }

  .closest-coffee-cluster {
    right: 20px !important;
    bottom: 88px !important;
    transform: translateY(12px) !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    right: 20px !important;
    bottom: 86px !important;
    transform: translateY(0) !important;
  }
}

@media (max-width: 430px) {
  .stop-card.coffee-art-card::after {
    top: auto !important;
    bottom: 56px !important;
    right: 10px !important;
    width: min(23vw, 98px) !important;
    height: min(32vw, 136px) !important;
  }

  .closest-coffee-cluster {
    right: 16px !important;
    bottom: 84px !important;
    transform: translateY(12px) !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    right: 16px !important;
    bottom: 82px !important;
    transform: translateY(0) !important;
  }
}


/* v146: second mobile cup-position pass. Keep all normal stop-card cups tied to the blue CTA area, and lift the closest-card cup cluster farther above the route button on phones. */
.stop-card.coffee-art-card {
  isolation: isolate !important;
}

.stop-card.coffee-art-card::after {
  top: auto !important;
  bottom: clamp(48px, 7vw, 64px) !important;
  right: clamp(12px, 3.2vw, 22px) !important;
  width: clamp(84px, 18vw, 118px) !important;
  height: clamp(116px, 27vw, 154px) !important;
  background-position: center bottom !important;
  background-size: contain !important;
  z-index: 1 !important;
}

.stop-card.coffee-art-card > * {
  position: relative !important;
  z-index: 2 !important;
}

.stop-card.coffee-art-card .route-main {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 640px) {
  .stop-card.coffee-art-card::after {
    top: auto !important;
    bottom: 44px !important;
    right: 10px !important;
    width: min(22vw, 96px) !important;
    height: min(31vw, 132px) !important;
  }

  .closest-coffee-cluster {
    right: 18px !important;
    bottom: 112px !important;
    min-width: 112px !important;
    height: 82px !important;
    transform: translateY(10px) !important;
    z-index: 2 !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    right: 20px !important;
    bottom: 108px !important;
    min-width: 118px !important;
    height: 78px !important;
    transform: translateY(0) !important;
  }

  .closest-route-btn {
    position: relative !important;
    z-index: 3 !important;
  }
}

@media (max-width: 430px) {
  .stop-card.coffee-art-card::after {
    top: auto !important;
    bottom: 42px !important;
    right: 9px !important;
    width: min(21vw, 90px) !important;
    height: min(30vw, 124px) !important;
  }

  .closest-coffee-cluster {
    right: 14px !important;
    bottom: 104px !important;
    min-width: 104px !important;
    height: 76px !important;
    transform: translateY(10px) !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    right: 16px !important;
    bottom: 100px !important;
    min-width: 110px !important;
    height: 74px !important;
    transform: translateY(0) !important;
  }
}


/* v147: lower July 4 stop-card sticker art on phones so it clears the stop text and sits closer to the route button area. */
@media (max-width: 640px) {
  .stop-card.holiday-card::after {
    top: auto !important;
    bottom: 54px !important;
    right: 12px !important;
    width: min(24vw, 108px) !important;
    height: min(22vw, 96px) !important;
    background-position: center bottom !important;
    background-size: contain !important;
    z-index: 1 !important;
  }

  .stop-card.holiday-card > * {
    position: relative !important;
    z-index: 2 !important;
  }

  .stop-card.holiday-card .route-main {
    position: relative !important;
    z-index: 3 !important;
  }
}

@media (max-width: 430px) {
  .stop-card.holiday-card::after {
    top: auto !important;
    bottom: 50px !important;
    right: 10px !important;
    width: min(23vw, 100px) !important;
    height: min(21vw, 90px) !important;
  }
}


/* v148: compact the mobile closest-stop panel while keeping trip/address readable and art peeking above the route button. */
@media (max-width: 640px) {
  .closest-card {
    padding: 14px 14px 16px !important;
    margin-top: 10px !important;
    border-radius: 24px !important;
  }

  .closest-card .mini-label {
    margin-bottom: 9px !important;
    font-size: .68rem !important;
    letter-spacing: .16em !important;
  }

  .closest-route-premium {
    min-height: 286px !important;
    padding: 13px 13px 13px !important;
    border-radius: 21px !important;
  }

  .closest-route {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon copy"
      "button button" !important;
    column-gap: 10px !important;
    row-gap: 10px !important;
    align-items: start !important;
  }

  .closest-medallion {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
  }

  .closest-medallion img {
    width: 35px !important;
    height: 35px !important;
  }

  .closest-copy {
    padding-right: 74px !important;
  }

  .closest-kicker {
    margin-bottom: 5px !important;
    font-size: .68rem !important;
  }

  .closest-copy h2 {
    font-size: clamp(1.42rem, 6.2vw, 1.82rem) !important;
    line-height: 1.02 !important;
    max-width: 100% !important;
  }

  .closest-chip-row {
    margin-top: 8px !important;
    gap: 6px !important;
  }

  .closest-chip-row strong,
  .closest-chip-row span {
    min-height: 23px !important;
    padding: 0 8px !important;
    font-size: .72rem !important;
  }

  .closest-copy small {
    margin-top: 8px !important;
    padding-right: 72px !important;
    font-size: .74rem !important;
    line-height: 1.14 !important;
  }

  .closest-route-btn {
    min-height: 54px !important;
    margin-top: 0 !important;
    border-radius: 17px !important;
    padding: 9px 12px !important;
    position: relative !important;
    z-index: 4 !important;
  }

  .closest-coffee-cluster {
    right: 20px !important;
    bottom: 74px !important;
    min-width: 108px !important;
    height: 80px !important;
    transform: translateY(14px) !important;
    z-index: 5 !important;
  }

  .closest-coffee-cup-a { width: 36px !important; height: 52px !important; margin-right: -12px !important; transform: translateY(16px) rotate(-8deg) !important; }
  .closest-coffee-cup-b { width: 46px !important; height: 68px !important; transform: translateY(5px) !important; }
  .closest-coffee-cup-c { width: 37px !important; height: 54px !important; margin-left: -12px !important; transform: translateY(16px) rotate(8deg) !important; }

  .closest-holiday-route .closest-coffee-cluster {
    right: 22px !important;
    bottom: 72px !important;
    min-width: 106px !important;
    height: 66px !important;
    transform: translateY(4px) !important;
    z-index: 5 !important;
  }
}

@media (max-width: 430px) {
  .closest-card {
    padding: 13px 13px 15px !important;
  }

  .closest-route-premium {
    min-height: 276px !important;
    padding: 12px !important;
  }

  .closest-route {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    row-gap: 9px !important;
  }

  .closest-medallion {
    width: 46px !important;
    height: 46px !important;
    border-radius: 15px !important;
  }

  .closest-medallion img {
    width: 32px !important;
    height: 32px !important;
  }

  .closest-copy {
    padding-right: 62px !important;
  }

  .closest-copy h2 {
    font-size: clamp(1.34rem, 6.6vw, 1.7rem) !important;
    line-height: 1.01 !important;
  }

  .closest-copy small {
    padding-right: 58px !important;
    font-size: .72rem !important;
    line-height: 1.12 !important;
  }

  .closest-route-btn {
    min-height: 52px !important;
  }

  .closest-coffee-cluster {
    right: 15px !important;
    bottom: 68px !important;
    min-width: 96px !important;
    height: 72px !important;
    transform: translateY(14px) !important;
  }

  .closest-coffee-cup-a { width: 32px !important; height: 47px !important; margin-right: -10px !important; }
  .closest-coffee-cup-b { width: 41px !important; height: 61px !important; }
  .closest-coffee-cup-c { width: 33px !important; height: 49px !important; margin-left: -10px !important; }

  .closest-holiday-route .closest-coffee-cluster {
    right: 16px !important;
    bottom: 66px !important;
    min-width: 94px !important;
    height: 60px !important;
    transform: translateY(3px) !important;
  }
}


/* v149: lift July 4 stop-card sticker art back up slightly on phones so it clears the CTA but does not sink too low. */
@media (max-width: 640px) {
  .stop-card.holiday-card::after {
    top: auto !important;
    bottom: 68px !important;
    right: 12px !important;
    width: min(24vw, 108px) !important;
    height: min(22vw, 96px) !important;
    background-position: center bottom !important;
    background-size: contain !important;
  }
}

@media (max-width: 430px) {
  .stop-card.holiday-card::after {
    top: auto !important;
    bottom: 64px !important;
    right: 10px !important;
    width: min(23vw, 100px) !important;
    height: min(21vw, 90px) !important;
  }
}


/* v150: raise July 4 artwork slightly more on phones so the icons sit cleanly above the route button. */
@media (max-width: 640px) {
  .stop-card.holiday-card::after {
    top: auto !important;
    bottom: 84px !important;
    right: 12px !important;
    width: min(24vw, 108px) !important;
    height: min(22vw, 96px) !important;
    background-position: center bottom !important;
    background-size: contain !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    bottom: 84px !important;
    right: 16px !important;
    min-width: 94px !important;
    height: 60px !important;
    transform: translateY(0) !important;
  }
}

@media (max-width: 430px) {
  .stop-card.holiday-card::after {
    top: auto !important;
    bottom: 80px !important;
    right: 10px !important;
    width: min(23vw, 100px) !important;
    height: min(21vw, 90px) !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    bottom: 80px !important;
    right: 14px !important;
    min-width: 90px !important;
    height: 58px !important;
    transform: translateY(0) !important;
  }
}


/* v152: redesign the mobile closest-stop art placement so the icon/cup trio belongs to the inner box instead of floating awkwardly. */
@media (max-width: 640px) {
  .closest-card {
    padding: 14px 10px 16px !important;
  }

  .closest-route-premium {
    min-height: 0 !important;
    padding: 16px 12px 14px !important;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) 92px !important;
    grid-template-areas:
      "icon copy art"
      "button button button" !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    overflow: hidden !important;
  }

  .closest-medallion {
    grid-area: icon !important;
    align-self: center !important;
    justify-self: center !important;
    width: 52px !important;
    height: 52px !important;
  }

  .closest-copy {
    grid-area: copy !important;
    padding-right: 0 !important;
    min-width: 0 !important;
  }

  .closest-copy h2 {
    max-width: 100% !important;
    font-size: clamp(1.45rem, 6.8vw, 2rem) !important;
    line-height: 1.02 !important;
  }

  .closest-chip-row {
    margin-top: 8px !important;
    gap: 6px !important;
  }

  .closest-copy small {
    max-width: 100% !important;
    padding-right: 0 !important;
    margin-top: 8px !important;
    font-size: .78rem !important;
    line-height: 1.18 !important;
  }

  .closest-coffee-cluster {
    grid-area: art !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    align-self: end !important;
    justify-self: end !important;
    min-width: 90px !important;
    height: 68px !important;
    margin: 0 !important;
    transform: translateY(10px) !important;
    z-index: 1 !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    grid-area: art !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    align-self: end !important;
    justify-self: end !important;
    min-width: 86px !important;
    height: 54px !important;
    transform: translateY(6px) !important;
    z-index: 1 !important;
  }

  .closest-holiday-route .closest-coffee-cup-a {
    width: 30px !important;
    height: 38px !important;
    margin-right: -7px !important;
    transform: translateY(1px) rotate(-7deg) !important;
  }

  .closest-holiday-route .closest-coffee-cup-b {
    width: 36px !important;
    height: 44px !important;
    transform: translateY(0) rotate(0deg) !important;
  }

  .closest-holiday-route .closest-coffee-cup-c {
    width: 30px !important;
    height: 38px !important;
    margin-left: -7px !important;
    transform: translateY(1px) rotate(7deg) !important;
  }

  .closest-route-btn {
    grid-area: button !important;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 430px) {
  .closest-route-premium {
    grid-template-columns: 50px minmax(0, 1fr) 80px !important;
    padding: 15px 10px 13px !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
  }

  .closest-medallion {
    width: 48px !important;
    height: 48px !important;
  }

  .closest-copy h2 {
    font-size: clamp(1.36rem, 6.6vw, 1.82rem) !important;
  }

  .closest-copy small {
    font-size: .76rem !important;
  }

  .closest-coffee-cluster {
    min-width: 80px !important;
    height: 60px !important;
    transform: translateY(9px) !important;
  }

  .closest-holiday-route .closest-coffee-cluster {
    min-width: 76px !important;
    height: 50px !important;
    transform: translateY(5px) !important;
  }

  .closest-holiday-route .closest-coffee-cup-a { width: 27px !important; height: 35px !important; margin-right: -6px !important; }
  .closest-holiday-route .closest-coffee-cup-b { width: 33px !important; height: 40px !important; }
  .closest-holiday-route .closest-coffee-cup-c { width: 27px !important; height: 35px !important; margin-left: -6px !important; }
}


/* v153: desktop-only normal stop-card cup size correction. Mobile cup sizing/position stays unchanged. */
@media (min-width: 641px) {
  .stop-card.coffee-art-card::after {
    top: auto !important;
    bottom: clamp(58px, 6vw, 74px) !important;
    right: clamp(14px, 2.8vw, 24px) !important;
    width: clamp(68px, 12vw, 94px) !important;
    height: clamp(92px, 18vw, 122px) !important;
    background-position: center bottom !important;
    background-size: contain !important;
  }
}


/* v155: desktop stop-card cups should peek into the CTA area more like mobile, rather than sitting too high. */
@media (min-width: 641px) {
  .stop-card.coffee-art-card::after {
    top: auto !important;
    bottom: clamp(26px, 3.2vw, 42px) !important;
    right: clamp(14px, 2.8vw, 24px) !important;
    width: clamp(76px, 13vw, 102px) !important;
    height: clamp(104px, 20vw, 132px) !important;
    background-position: center bottom !important;
    background-size: contain !important;
    z-index: 1 !important;
  }

  .stop-card.coffee-art-card .route-main {
    position: relative !important;
    z-index: 3 !important;
  }
}

/* v157: keep cancelled location-change stops visible as red reference cards, but do not route/sort/map them. */
.stop-card.cancelled-card {
  border-color: rgba(199, 39, 31, .72) !important;
  box-shadow:
    0 18px 34px rgba(95, 7, 7, .24),
    inset 0 0 0 2px rgba(199, 39, 31, .18),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
  isolation: isolate !important;
}

.stop-card.cancelled-card::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}

.stop-card.cancelled-card::before {
  content: attr(data-cancelled-label) !important;
  display: flex !important;
  position: absolute !important;
  inset: -8px !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 9 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(221, 34, 29, .08) 48%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(-12deg, rgba(194, 34, 28, .05) 0 12px, rgba(255,255,255,0) 12px 28px) !important;
  color: rgba(186, 18, 18, .86) !important;
  font-size: clamp(2.2rem, 8.5vw, 5.6rem) !important;
  font-weight: 1000 !important;
  letter-spacing: .13em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow:
    0 2px 0 rgba(255, 246, 228, .84),
    0 8px 18px rgba(93, 0, 0, .22) !important;
  transform: rotate(-9deg) !important;
  opacity: 1 !important;
}

.stop-card.cancelled-card > * {
  position: relative !important;
  z-index: 3 !important;
}

.stop-card.cancelled-card .open-chip.cancelled-chip,
.stop-card.cancelled-card .distance-chip {
  background: linear-gradient(135deg, #b91c1c, #ef4444) !important;
  color: #fff7ed !important;
  border-color: rgba(255,255,255,.52) !important;
  box-shadow: 0 8px 18px rgba(185, 28, 28, .20) !important;
}

.stop-card.cancelled-card .stop-name,
.stop-card.cancelled-card .stop-time,
.stop-card.cancelled-card .stop-address,
.stop-card.cancelled-card .stop-source {
  color: rgba(59, 20, 20, .88) !important;
}

.stop-card.cancelled-card .route-main.route-disabled,
.stop-card.cancelled-card .route-main:disabled {
  cursor: not-allowed !important;
  background: linear-gradient(135deg, #b91c1c, #7f1d1d) !important;
  border-color: rgba(255,255,255,.40) !important;
  box-shadow:
    0 12px 24px rgba(127, 29, 29, .24),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
  opacity: .92 !important;
}

@media (max-width: 640px) {
  .stop-card.cancelled-card::before {
    font-size: clamp(2rem, 13vw, 4.5rem) !important;
    letter-spacing: .10em !important;
    transform: rotate(-10deg) !important;
  }
}

/* v158: official Roaming Bean footer links above install/share cards. */
.install-footer .bean-footer-link {
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.install-footer .bean-logo-icon {
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  background: #fffdf6 !important;
  border: 1px solid rgba(18,150,223,.20) !important;
}

.install-footer .bean-logo-icon img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  clip-path: circle(50% at 50% 50%) !important;
}

.install-footer .bean-shop-icon svg {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.35 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* v160: developer support button matched to the footer card finish. */
.developer-support-footer {
  margin: 12px auto 26px !important;
  padding: 0 !important;
}

.developer-support-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  max-width: calc(100% - 28px) !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(255,255,255,.46) !important;
  border-radius: 999px !important;
  color: #0c2239 !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(18,150,223,.10), transparent 8rem),
    linear-gradient(145deg, rgba(255,250,242,.84), rgba(247,235,222,.70)) !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  font-size: .82rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .005em !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

@media (max-width: 430px) {
  .developer-support-link {
    min-height: 38px !important;
    padding: 9px 15px !important;
    font-size: .76rem !important;
  }
}

/* v161: keep bottom action cards in the desktop-style two-column grid on phones. */
.install-footer {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 560px) {
  .install-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  .install-footer .install-app-btn {
    min-height: 108px !important;
    padding: 12px 10px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .install-footer .install-app-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    font-size: .9rem !important;
  }

  .install-footer .bean-logo-icon {
    border-radius: 50% !important;
  }

  .install-footer .install-app-btn strong {
    font-size: clamp(.76rem, 3.7vw, .93rem) !important;
    line-height: 1.05 !important;
  }

  .install-footer .install-app-btn small {
    margin-top: 4px !important;
    font-size: clamp(.66rem, 3.15vw, .78rem) !important;
    line-height: 1.18 !important;
  }

  .install-home-btn {
    grid-template-columns: 34px minmax(0, 1fr) 44px !important;
    gap: 7px !important;
  }

  .install-home-btn .install-copy {
    min-width: 0 !important;
  }

  .install-home-btn .install-phone-visual {
    width: 44px !important;
    height: 60px !important;
  }
}

@media (max-width: 380px) {
  .install-footer {
    gap: 8px !important;
  }

  .install-footer .install-app-btn {
    min-height: 102px !important;
    padding: 10px 8px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .install-footer .install-app-icon {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
  }

  .install-home-btn {
    grid-template-columns: 30px minmax(0, 1fr) 38px !important;
  }

  .install-home-btn .install-phone-visual {
    width: 38px !important;
    height: 52px !important;
  }
}

/* v162: explicit footer icons for shop and sharing. */
.install-footer .bean-shop-icon,
.install-footer .share-app-icon {
  color: #fff !important;
}

.install-footer .bean-shop-icon::before,
.install-footer .share-app-icon::before {
  content: none !important;
  display: none !important;
}

.install-footer .bean-shop-icon svg {
  color: #fff !important;
  stroke: #fff !important;
}

.install-footer .bean-shop-icon .bean-shop-bag-svg {
  width: 25px !important;
  height: 25px !important;
}

.install-footer .share-app-icon {
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.install-footer .share-app-icon img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: 13px !important;
}

/* v164: use the iPhone Add to Home Screen plus-square icon in the install card. */
.install-footer .install-home-icon::before {
  content: none !important;
  display: none !important;
}

.install-footer .install-home-icon {
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.install-footer .install-home-icon img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: 13px !important;
}

/* v165: force the Add to Home Screen icon to the iPhone plus-square mark, even in cached iPhone webviews. */
.install-footer .install-home-btn .install-app-icon,
.install-footer .install-home-btn .install-home-icon {
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  background: transparent url("assets/ios-add-home-icon.svg?v=2") center / contain no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
}

.install-footer .install-home-btn .install-app-icon::before,
.install-footer .install-home-btn .install-app-icon::after,
.install-footer .install-home-btn .install-home-icon::before,
.install-footer .install-home-btn .install-home-icon::after {
  content: none !important;
  display: none !important;
}

.install-footer .install-home-btn .install-app-icon img,
.install-footer .install-home-btn .install-home-icon img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: inherit !important;
}

@media (max-width: 360px) {
  .install-footer {
    gap: 8px !important;
  }

  .install-footer .install-app-btn {
    min-height: 96px !important;
    padding: 9px 8px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 7px !important;
    align-items: center !important;
    border-radius: 17px !important;
  }

  .install-footer .install-app-icon {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 9px !important;
  }

  .install-footer .bean-shop-icon .bean-shop-bag-svg {
    width: 21px !important;
    height: 21px !important;
  }

  .install-footer .install-app-btn strong {
    font-size: clamp(.68rem, 3.35vw, .84rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  .install-footer .install-app-btn small {
    margin-top: 3px !important;
    font-size: clamp(.58rem, 2.9vw, .70rem) !important;
    line-height: 1.16 !important;
  }

  .install-footer .bean-footer-link,
  .install-footer .share-app-btn {
    grid-template-columns: 28px minmax(0, 1fr) !important;
  }

  .install-home-btn {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    padding-right: 8px !important;
  }

  .install-home-btn .install-copy {
    padding-right: 24px !important;
  }

  .install-home-btn .install-phone-visual {
    position: absolute !important;
    right: 8px !important;
    bottom: 7px !important;
    width: 25px !important;
    height: 42px !important;
    min-width: 25px !important;
    align-self: auto !important;
    justify-self: auto !important;
    opacity: .96 !important;
    pointer-events: none !important;
  }
}

/* v166: keep the Add to Home Screen phone preview from creating a new line in tight iPhone webviews. */
@media (max-width: 430px) {
  .install-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .install-footer .install-app-btn {
    min-width: 0 !important;
    min-height: 94px !important;
    padding: 9px 8px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 7px !important;
    align-items: center !important;
    border-radius: 17px !important;
    overflow: hidden !important;
  }

  .install-footer .install-app-icon {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 9px !important;
  }

  .install-footer .bean-shop-icon .bean-shop-bag-svg {
    width: 21px !important;
    height: 21px !important;
  }

  .install-footer .install-app-btn strong {
    font-size: clamp(.66rem, 3.2vw, .82rem) !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
  }

  .install-footer .install-app-btn small {
    margin-top: 3px !important;
    font-size: clamp(.56rem, 2.72vw, .68rem) !important;
    line-height: 1.14 !important;
  }

  .install-footer .bean-footer-link,
  .install-footer .share-app-btn,
  .install-home-btn {
    grid-template-columns: 28px minmax(0, 1fr) !important;
  }

  .install-home-btn {
    position: relative !important;
    padding-right: 8px !important;
  }

  .install-home-btn .install-copy {
    min-width: 0 !important;
    padding-right: 24px !important;
  }

  .install-home-btn .install-phone-visual {
    display: block !important;
    position: absolute !important;
    right: 7px !important;
    bottom: 7px !important;
    width: 22px !important;
    height: 38px !important;
    min-width: 22px !important;
    align-self: auto !important;
    justify-self: auto !important;
    opacity: .94 !important;
    pointer-events: none !important;
  }
}

/* v168: production polish for share/install labels, closest loading state, and day switch affordance. */
@keyframes rbClosestMeter {
  0% { transform: translateX(-115%); }
  100% { transform: translateX(235%); }
}

.schedule-picker-hint {
  padding: 8px 13px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  border: 1px solid rgba(255,255,255,.44) !important;
  box-shadow:
    0 10px 20px rgba(8,108,195,.23),
    inset 0 1px 0 rgba(255,255,255,.36) !important;
  font-size: .72rem !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

.schedule-picker-hint::after {
  content: "v" !important;
  font-size: .64rem !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

.closest-pin-mark-medallion,
.closest-medallion.closest-pin-mark-medallion {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.closest-pin-mark-medallion .closest-pin-mark-icon,
.closest-medallion.closest-pin-mark-medallion img {
  width: 56px !important;
  height: 56px !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 10px 13px rgba(8, 74, 128, .24)) !important;
}

.closest-loading-route {
  min-height: 88px !important;
}

.closest-loading-copy h2 {
  max-width: 20rem !important;
}

.closest-loading-meter {
  display: block !important;
  width: min(100%, 260px) !important;
  height: 8px !important;
  margin-top: 11px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(12,34,57,.10) !important;
  border: 1px solid rgba(12,34,57,.08) !important;
  box-shadow: inset 0 1px 2px rgba(12,34,57,.08) !important;
}

.closest-loading-meter > span {
  display: block !important;
  width: 42% !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #2ec6ff, #0877d9, #2ec6ff) !important;
  box-shadow: 0 0 14px rgba(46,198,255,.40) !important;
  animation: rbClosestMeter 1.18s ease-in-out infinite !important;
}

@media (max-width: 430px) {
  .install-home-btn .install-copy {
    padding-right: 0 !important;
  }

  .install-home-btn .install-phone-visual {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .closest-loading-meter > span {
    animation: none !important;
    width: 100% !important;
  }
}

/* v169: saved stop controls, polished chevrons, and larger featured pin. */
.schedule-picker-hint::after {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  margin-left: 1px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  border-radius: 1px !important;
  transform: rotate(45deg) translateY(-3px) !important;
}

.route-main::after {
  content: "" !important;
  width: 9px !important;
  height: 9px !important;
  margin-left: auto !important;
  border-right: 3px solid currentColor !important;
  border-bottom: 3px solid currentColor !important;
  border-radius: 2px !important;
  opacity: .86 !important;
  transform: rotate(-45deg) !important;
}

.stop-actions {
  width: 100% !important;
  margin-top: 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.stop-actions .route-main {
  margin-top: 0 !important;
  min-width: 0 !important;
  min-height: 56px !important;
  padding: 8px 11px !important;
}

.save-stop-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-width: 0 !important;
  min-height: 56px !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  text-align: left !important;
  color: #0c2239 !important;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.72), transparent 2.5rem),
    linear-gradient(135deg, rgba(255,250,238,.96), rgba(232,242,248,.94)) !important;
  border: 1px solid rgba(31, 125, 190, .24) !important;
  border-radius: 18px !important;
  box-shadow:
    0 12px 22px rgba(5, 28, 46, .12),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

.save-stop-btn:focus-visible {
  outline: 3px solid rgba(46,198,255,.38) !important;
  outline-offset: 3px !important;
}

.save-stop-btn:active {
  transform: translateY(1px) scale(.99) !important;
}

.save-stop-btn.is-saved {
  color: #32160b !important;
  background: linear-gradient(135deg, #fff0bf, #d5a766) !important;
  border-color: rgba(196,137,69,.46) !important;
}

.save-stop-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #2ec6ff, #0877d9) !important;
  box-shadow: 0 10px 17px rgba(8,108,195,.25) !important;
}

.save-stop-icon svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.25 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.save-stop-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
  line-height: 1.02 !important;
}

.save-stop-copy strong,
.save-stop-copy small {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.save-stop-copy strong {
  color: inherit !important;
  font-size: clamp(.78rem, 3.1vw, .94rem) !important;
  font-weight: 950 !important;
}

.save-stop-copy small {
  color: rgba(12,34,57,.66) !important;
  font-size: clamp(.58rem, 2.45vw, .70rem) !important;
  font-weight: 850 !important;
}

.closest-pin-mark-medallion .closest-pin-mark-icon,
.closest-medallion.closest-pin-mark-medallion img {
  width: 72px !important;
  height: 72px !important;
  transform: translateX(-2px) !important;
}

.closest-loading-badge.closest-pin-mark-medallion .closest-pin-mark-icon {
  width: 64px !important;
  height: 64px !important;
}

.closest-loading-route {
  min-height: 106px !important;
}

@media (min-width: 641px) {
  .closest-route {
    grid-template-columns: 78px minmax(0, 1fr) minmax(126px, 164px) !important;
  }
}

@media (max-width: 520px) {
  .stop-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .stop-actions .route-main,
  .save-stop-btn {
    min-height: 54px !important;
    border-radius: 16px !important;
  }

  .save-stop-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 10px !important;
  }

  .save-stop-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (max-width: 360px) {
  .stop-actions {
    grid-template-columns: 1fr !important;
  }
}

/* v191: asset-role bridge. Existing CSS remains as fallback; site-assets.js
   can swap visual assets by changing named roles instead of editing selectors. */
body::before {
  background-image: var(--rb-page-bg-image, url("assets/epic-coffee-beans-bg.webp")) !important;
}

:root {
  --rb-schedule-card-surface:
    linear-gradient(rgba(255, 249, 239, .88), rgba(255, 249, 239, .88)),
    var(--rb-card-bg-image, url("assets/schedule-wavy-stripes.webp")) center center / cover no-repeat;
  --rb-card-wavy-bg-strong:
    linear-gradient(rgba(255, 252, 244, .24), rgba(255, 252, 244, .24)),
    var(--rb-card-bg-image, url("assets/schedule-wavy-stripes.webp")) center center / cover no-repeat;
  --rb-card-wavy-bg-soft:
    linear-gradient(rgba(255, 252, 244, .34), rgba(255, 252, 244, .34)),
    var(--rb-card-bg-image, url("assets/schedule-wavy-stripes.webp")) center center / cover no-repeat;
}

.results[data-schedule-art]::before {
  background: var(--rb-card-bg-image, url("assets/schedule-wavy-stripes.webp")) center center / cover no-repeat !important;
}

.results[data-schedule-art="today"]::after { background-image: var(--rb-schedule-overlay-today, url("assets/schedule-overlay-today.webp")) !important; }
.results[data-schedule-art="tomorrow"]::after { background-image: var(--rb-schedule-overlay-tomorrow, url("assets/schedule-overlay-tomorrow.webp")) !important; }
.results[data-schedule-art="sunday"]::after { background-image: var(--rb-schedule-overlay-sunday, url("assets/schedule-overlay-sunday.webp")) !important; }
.results[data-schedule-art="monday"]::after { background-image: var(--rb-schedule-overlay-monday, url("assets/schedule-overlay-monday.webp")) !important; }
.results[data-schedule-art="tuesday"]::after { background-image: var(--rb-schedule-overlay-tuesday, url("assets/schedule-overlay-tuesday.webp")) !important; }
.results[data-schedule-art="wednesday"]::after { background-image: var(--rb-schedule-overlay-wednesday, url("assets/schedule-overlay-wednesday.webp")) !important; }
.results[data-schedule-art="thursday"]::after { background-image: var(--rb-schedule-overlay-thursday, url("assets/schedule-overlay-thursday.webp")) !important; }
.results[data-schedule-art="friday"]::after { background-image: var(--rb-schedule-overlay-friday, url("assets/schedule-overlay-friday.webp")) !important; }
.results[data-schedule-art="saturday"]::after { background-image: var(--rb-schedule-overlay-saturday, url("assets/schedule-overlay-saturday.webp")) !important; }

.stop-card.coffee-art-card::after {
  background-image: var(--rb-stop-cup-image, var(--rb-cup-default-image, url("assets/coffee-cup-neapolitan-cold-brew.webp"))) !important;
}

.stop-card.holiday-card::after {
  background-image: var(--rb-holiday-art-image, var(--rb-holiday-default-image, url("assets/sky-burst-duo.png"))) !important;
}

.closest-coffee-cup-a {
  background-image: var(--rb-closest-cup-left, url("assets/coffee-cup-key-lime-matcha.webp")) !important;
}

.closest-coffee-cup-b {
  background-image: var(--rb-closest-cup-center, url("assets/coffee-cup-neapolitan-cold-brew.webp")) !important;
}

.closest-coffee-cup-c {
  background-image: var(--rb-closest-cup-right, url("assets/coffee-cup-coconut-mocha.webp")) !important;
}

/* v192: on mobile, center the Closest Stop cup trio above the route button so the text can breathe. */
@media (max-width: 640px) {
  .closest-route-premium:not(.closest-holiday-route) {
    grid-template-areas:
      "icon copy"
      "cups cups"
      "button button" !important;
    grid-template-rows: auto 78px auto !important;
    min-height: 334px !important;
    row-gap: 3px !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-copy {
    padding-right: 0 !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-copy small {
    padding-right: 0 !important;
    max-width: calc(100% - 8px) !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cluster {
    grid-area: cups !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 184px !important;
    width: 184px !important;
    height: 110px !important;
    align-items: flex-end !important;
    justify-content: center !important;
    justify-self: center !important;
    align-self: end !important;
    margin: -31px auto -7px !important;
    transform: none !important;
    z-index: 3 !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cup-a {
    width: 49px !important;
    height: 72px !important;
    margin-right: 1px !important;
    transform: translateY(14px) rotate(-8deg) !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cup-b {
    width: 63px !important;
    height: 93px !important;
    transform: translateY(5px) !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cup-c {
    width: 50px !important;
    height: 74px !important;
    margin-left: 1px !important;
    transform: translateY(14px) rotate(8deg) !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-route-btn {
    margin-top: -12px !important;
  }
}

@media (max-width: 430px) {
  .closest-route-premium:not(.closest-holiday-route) {
    grid-template-rows: auto 70px auto !important;
    min-height: 322px !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cluster {
    grid-area: cups !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 166px !important;
    width: 166px !important;
    height: 104px !important;
    justify-self: center !important;
    align-self: end !important;
    margin: -29px auto -6px !important;
    transform: none !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cup-a {
    width: 44px !important;
    height: 66px !important;
    margin-right: 1px !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cup-b {
    width: 57px !important;
    height: 85px !important;
    transform: translateY(4px) !important;
  }

  .closest-route-premium:not(.closest-holiday-route) .closest-coffee-cup-c {
    width: 45px !important;
    height: 68px !important;
    margin-left: 1px !important;
  }
}
