/* Rides page — approved compact mobile design */
.rides-hero {
  position: relative;
  min-height: 245px;
  margin: 12px 0 26px;
  padding: 46px 45% 34px 42px;
  overflow: visible;
  border-radius: 34px;
  background:
    radial-gradient(circle at 86% 20%, rgba(94,213,255,.55), transparent 31%),
    linear-gradient(128deg, #0757ef 0%, #1588f8 67%, #31b5ff 100%);
  box-shadow: 0 20px 42px rgba(7,87,239,.22);
  color: #fff;
}
.rides-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 8%;
  right: 8%;
  bottom: 29px;
  height: 62px;
  background:
    radial-gradient(circle at 0 100%, #dff0ff 0 8px, transparent 9px),
    radial-gradient(circle at 100% 0, #dff0ff 0 8px, transparent 9px);
  border-bottom: 3px dashed rgba(226,244,255,.88);
  border-radius: 0 0 50% 35%;
  opacity: .92;
  pointer-events: none;
}
.rides-hero-copy { position: relative; z-index: 3; }
.rides-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(35px,5vw,60px);
  line-height: .98;
  letter-spacing: -.055em;
}
.rides-hero p {
  margin: 12px 0 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(16px,2vw,25px);
  font-weight: 750;
}
.rides-hero-mascot {
  position: absolute;
  z-index: 4;
  right: -8px;
  bottom: -12px;
  width: min(49%, 535px);
  height: auto;
  filter: drop-shadow(0 18px 16px rgba(8,45,102,.28));
  pointer-events: none;
  user-select: none;
}
.rides-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
}
.rides-list-heading h2 {
  margin: 0;
  color: #111f55;
  font-size: clamp(27px,3vw,42px);
  letter-spacing: -.045em;
}
.rides-filter-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid #dce9f6;
  border-radius: 999px;
  background: #fff;
  color: #096cf1;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 9px 24px rgba(26,91,160,.11);
}
.rides-filter-button svg { width: 20px; height: 20px; }
.rb-rides-page .results-layout { display: block; }
.rb-rides-page .results-card {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.rb-rides-page .results-card > .section-header { display: none; }
.rb-rides-page #rides { display: grid; gap: 22px; }

@media (max-width: 860px) {
  html.ridesbro-browser-mobile .rb-rides-page .navbar { display: none !important; }
  html.ridesbro-browser-mobile .rb-rides-page .page-shell {
    width: min(100%, 560px);
    padding: 0 14px calc(100px + env(safe-area-inset-bottom));
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero {
    min-height: 176px;
    margin: 6px 0 24px;
    padding: 42px 48% 28px 22px;
    border-radius: 27px;
    box-shadow: 0 15px 32px rgba(7,87,239,.2);
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero::after {
    left: 8%;
    right: 5%;
    bottom: 17px;
    height: 46px;
    border-bottom-width: 2px;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero h1 {
    font-size: clamp(29px,9vw,43px);
    line-height: .98;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero p {
    margin-top: 8px;
    font-size: clamp(13px,4.2vw,19px);
    line-height: 1.18;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero-mascot {
    right: -9px;
    bottom: -7px;
    width: auto;
    height: 218px;
    max-width: 58%;
    object-fit: contain;
    object-position: right bottom;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-list-heading {
    margin: 0 2px 14px;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-list-heading h2 {
    font-size: clamp(25px,7.8vw,34px);
    min-width: 0;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-filter-button {
    display: inline-flex !important;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 13px;
    gap: 6px;
    font-size: 13px;
    box-shadow: 0 7px 18px rgba(26,91,160,.1);
  }
  html.ridesbro-browser-mobile .rb-rides-page #rides { gap: 16px; }

  html.ridesbro-browser-mobile .rb-rides-page .ride-card-modern {
    --card-accent: #1785ff;
    --card-soft: #eef7ff;
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
    padding: 18px 17px 13px 21px;
    overflow: hidden;
    border: 1px solid #dce8f3;
    border-radius: 25px;
    background:
      radial-gradient(circle at 105% -5%, rgba(28,142,255,.10), transparent 31%),
      linear-gradient(145deg,#fff,#f8fbff);
    box-shadow: 0 12px 28px rgba(30,78,137,.1);
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-modern::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    border-radius: 25px 0 0 25px;
    background: var(--card-accent);
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-modern.type-looking {
    --card-accent: #24bd51;
    --card-soft: #edfff2;
    background:
      radial-gradient(circle at 105% -5%, rgba(54,211,103,.13), transparent 33%),
      linear-gradient(145deg,#fff,#f7fff9);
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-top {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) auto;
    align-items: start;
    gap: 11px;
    margin: 0;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-user { display: contents; }
  html.ridesbro-browser-mobile .rb-rides-page .profile-avatar {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(145deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 68%,#79d6ff));
    color: #fff;
    box-shadow: 0 7px 16px color-mix(in srgb,var(--card-accent) 23%,transparent);
  }
  html.ridesbro-browser-mobile .rb-rides-page .profile-avatar svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.15;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-user-copy { min-width: 0; padding-top: 2px; }
  html.ridesbro-browser-mobile .rb-rides-page .ride-user-name {
    margin: 0;
    overflow: hidden;
    color: #0d164f;
    font-size: 20px;
    font-weight: 950;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-date { display: none; }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-badge-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    margin: 0;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 10px;
    border: 0;
    border-radius: 999px;
    background: var(--card-soft);
    color: var(--card-accent);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .035em;
    white-space: nowrap;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-regular-badge { display: none; }
  html.ridesbro-browser-mobile .rb-rides-page .rb-card-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 0 67px;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rb-card-chip {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #edf2f8;
    color: #52647e;
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rb-card-chip-primary {
    background: var(--card-soft);
    color: var(--card-accent);
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-layout-grid,
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-main { display: block; }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-hero-shell {
    margin: 15px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-posted { display: none; }
  html.ridesbro-browser-mobile .rb-rides-page .ride-route {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0,1fr);
    gap: 11px 8px;
    margin: 0;
    padding: 0;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-route::before {
    content: "";
    position: absolute;
    top: 14px;
    bottom: 15px;
    left: 9px;
    border-left: 2px dashed #c5d4e5;
  }
  html.ridesbro-browser-mobile .rb-rides-page .route-point {
    position: relative;
    grid-column: 2;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }
  html.ridesbro-browser-mobile .rb-rides-page .route-point::before {
    content: "";
    position: absolute;
    top: 9px;
    left: -36px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #1376f7;
    box-shadow: 0 0 0 5px rgba(19,118,247,.10);
  }
  html.ridesbro-browser-mobile .rb-rides-page .route-point:last-child::before {
    background: #1eb54a;
    box-shadow: 0 0 0 5px rgba(30,181,74,.10);
  }
  html.ridesbro-browser-mobile .rb-rides-page .route-arrow { display: none; }
  html.ridesbro-browser-mobile .rb-rides-page .route-label {
    display: block;
    margin: 0 0 2px;
    color: #8594aa;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  html.ridesbro-browser-mobile .rb-rides-page .route-point strong {
    display: block;
    overflow: hidden;
    color: #0d164f;
    font-size: 17px;
    font-weight: 950;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rb-route-secondary {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #657692;
    font-size: 11px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-meta-row,
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-note-row { display: none !important; }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions {
    display: grid !important;
    grid-template-columns: 1.18fr .9fr .85fr 40px !important;
    gap: 5px;
    margin: 14px -3px 0;
    padding: 10px 0 0;
    border-top: 1px solid #e3ebf3;
  }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    min-width: 0;
    min-height: 38px;
    margin: 0;
    padding: 5px 6px;
    border: 0 !important;
    border-radius: 12px !important;
    background: #edf5ff !important;
    color: #0767df !important;
    font-size: 10px;
    font-weight: 950;
    box-shadow: none !important;
    grid-column: auto !important;
  }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions .ride-message-btn {
    background: var(--card-soft) !important;
    color: var(--card-accent) !important;
  }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions .ride-share-btn {
    width: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    grid-column: auto !important;
  }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions button::before { content: none !important; }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions .rb-action-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: currentColor;
  }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions:has(.ride-message-btn) {
    grid-template-columns: 1.18fr .9fr .85fr 38px;
  }
  html.ridesbro-browser-mobile .rb-rides-page .compact-ride-actions:not(:has(.ride-message-btn)) {
    grid-template-columns: 1fr 1fr 40px !important;
  }
  html.ridesbro-browser-mobile .rb-rides-page .seo-copy-disclosure { display: none; }
}

@media (max-width: 390px) {
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero {
    min-height: 160px;
    padding-left: 18px;
    padding-right: 43%;
  }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero h1 { font-size: 30px; }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero p { font-size: 14px; }
  html.ridesbro-browser-mobile .rb-rides-page .rides-hero-mascot { height: 204px; max-width: 58%; }
  html.ridesbro-browser-mobile .rb-rides-page .rides-filter-button { padding: 0 12px; }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-top { grid-template-columns: 52px minmax(0,1fr); }
  html.ridesbro-browser-mobile .rb-rides-page .profile-avatar { width: 50px; height: 50px; }
  html.ridesbro-browser-mobile .rb-rides-page .ride-card-badge-stack { grid-column: 2; align-items: flex-start; }
  html.ridesbro-browser-mobile .rb-rides-page .rb-card-chip-row { margin-left: 61px; }
}
