/**
 * PartyRyde public site — brand alignment with manager (partyryde-theme.css).
 * Loaded after assets/css/style.css (hex #FFA633 / #FF9307 replaced there).
 * Gradients + focus rings for primary actions.
 */

:root {
  --partyryde-pink-top: #ff4066;
  --partyryde-pink-bottom: #a6206a;
  --partyryde-purple-top: #4b2b8e;
  --partyryde-purple-bottom: #2e1a5e;
  --partyryde-gold: #ffcc00;
  --partyryde-cyan: #00ccff;
  --pr-primary: #d92474;
  --pr-primary-rgb: 217, 36, 116;
}

/* --------------------------------------------------------------------------
   Subpage headers — photo + gradient (matches For Riders breadcrumb-bar)
   -------------------------------------------------------------------------- */
.breadcrumb-bar.pr-page-hero::before,
.breadcrumb-bar.pr-page-hero::after {
  display: none !important;
}

.breadcrumb-bar.pr-page-hero {
  background-color: #140a22;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  overflow: hidden;
}

body.home-two .breadcrumb-bar.pr-page-hero .breadcrumb-title,
.breadcrumb-bar.pr-page-hero .breadcrumb-title {
  color: #ffffff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.5);
}

.home-two .pr-page-hero-subtitle,
.pr-page-hero-subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1.05rem;
  margin: -0.25rem 0 0.85rem;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.breadcrumb-bar.pr-page-hero--riders {
  background-image:
    linear-gradient(120deg, rgba(12, 6, 22, 0.88) 0%, rgba(46, 26, 94, 0.78) 100%),
    url("../../images/parallax/riders-parallax.png");
}

.breadcrumb-bar.pr-page-hero--fleet {
  background-image:
    linear-gradient(120deg, rgba(18, 8, 28, 0.9) 0%, rgba(166, 32, 106, 0.55) 100%),
    url("../../images/parallax/fleet-parallax.png");
}

.breadcrumb-bar.pr-page-hero--contact {
  background-image:
    linear-gradient(120deg, rgba(12, 6, 22, 0.88) 0%, rgba(30, 16, 55, 0.82) 100%),
    url("../../images/contact2.jpg");
}

.breadcrumb-bar.pr-page-hero--faqs {
  background-image:
    linear-gradient(120deg, rgba(14, 10, 24, 0.88) 0%, rgba(32, 20, 48, 0.8) 100%),
    url("../../images/parallax/group-day-parallax.png");
}

.breadcrumb-bar.pr-page-hero--find-ride {
  background-image:
    linear-gradient(120deg, rgba(8, 6, 20, 0.92) 0%, rgba(46, 26, 94, 0.72) 100%),
    url("../../images/parallax/home-parallax-night.png");
}

.breadcrumb-bar.pr-page-hero--legal {
  background-image:
    linear-gradient(120deg, rgba(10, 14, 32, 0.9) 0%, rgba(46, 26, 94, 0.75) 100%),
    url("../../images/parallax/home-parallax-blue.png");
}

.breadcrumb-bar.pr-page-hero--ride {
  background-image:
    linear-gradient(120deg, rgba(12, 6, 22, 0.9) 0%, rgba(55, 30, 80, 0.7) 100%),
    url("../../images/parallax/home-parallax-ceiling.png");
}

.breadcrumb-bar.pr-page-hero--default {
  background-image:
    linear-gradient(120deg, rgba(12, 6, 22, 0.9) 0%, rgba(46, 26, 94, 0.78) 100%),
    url("../../images/parallax/home-parallax-blue.png");
}

/* --------------------------------------------------------------------------
   For Riders / For Fleet Owners — textured “about” bands (not flat mint)
   -------------------------------------------------------------------------- */
.home-two .section.pr-about-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home-two .section.pr-about-band .container {
  position: relative;
  z-index: 1;
}

.home-two .section.pr-about-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
  background-image: radial-gradient(
    circle at center,
    rgba(46, 26, 94, 0.075) 0.85px,
    transparent 1.15px
  );
  background-size: 22px 22px;
}

@media (max-width: 575.96px) {
  .home-two .section.pr-about-band::before {
    background-size: 18px 18px;
    opacity: 0.4;
  }
}

/* Beats theme `.bg-light-primary { background: #F2F7F6 !important }` */
.home-two .section.pr-about-band.pr-about-band--riders.bg-light-primary {
  background:
    repeating-linear-gradient(
      -13deg,
      transparent,
      transparent 34px,
      rgba(46, 26, 94, 0.045) 34px,
      rgba(46, 26, 94, 0.045) 35px
    ),
    radial-gradient(ellipse 90% 70% at 100% 5%, rgba(217, 36, 116, 0.11), transparent 58%),
    radial-gradient(ellipse 80% 65% at 0% 98%, rgba(75, 43, 142, 0.13), transparent 62%),
    linear-gradient(168deg, #fdfcfe 0%, #ece6f4 44%, #f9f6fd 100%) !important;
}

.home-two .section.pr-about-band.pr-about-band--fleet.bg-light-primary {
  background:
    repeating-linear-gradient(
      11deg,
      transparent,
      transparent 34px,
      rgba(166, 32, 106, 0.04) 34px,
      rgba(166, 32, 106, 0.04) 35px
    ),
    radial-gradient(ellipse 85% 68% at 0% 3%, rgba(75, 43, 142, 0.12), transparent 58%),
    radial-gradient(ellipse 92% 72% at 100% 100%, rgba(255, 64, 102, 0.12), transparent 60%),
    linear-gradient(188deg, #fefcfd 0%, #f5eaf3 46%, #faf6fb 100%) !important;
}

/* --------------------------------------------------------------------------
   Parallax bands — real photography in /images/parallax/ + readable overlays
   -------------------------------------------------------------------------- */
.pr-parallax {
  position: relative;
  overflow: hidden;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  min-height: 240px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
}

@media (prefers-reduced-motion: reduce) {
  .pr-parallax { background-attachment: scroll; }
}

@media (max-width: 991.96px) {
  .pr-parallax { background-attachment: scroll; }
}

/* Light scrim only — readability comes mostly from text-shadow + softer gradients below */
.pr-parallax::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(8, 4, 18, 0.08) 0%,
    rgba(8, 4, 18, 0.22) 45%,
    rgba(8, 4, 18, 0.32) 100%
  );
}

.pr-parallax > .container {
  position: relative;
  z-index: 2;
}

/* Must beat style.css `.home-two h2` / `.home-two p` (#0A152F / #676767) */
.home-two .pr-parallax .section-heading h2,
.pr-parallax .section-heading h2 {
  color: #ffffff !important;
  font-size: clamp(1.65rem, 3.8vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-shadow:
    0 0 2px rgba(0, 0, 0, 0.95),
    0 2px 10px rgba(0, 0, 0, 0.9),
    0 4px 28px rgba(0, 0, 0, 0.75),
    0 0 24px rgba(255, 255, 255, 0.35);
}

.home-two .pr-parallax .section-heading p,
.home-two .pr-parallax .section-heading p.text-white-50,
.pr-parallax .section-heading p,
.pr-parallax .section-heading p.text-white-50 {
  --bs-text-opacity: 1 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: clamp(1.05rem, 2.3vw, 1.3rem);
  font-weight: 600;
  text-shadow:
    0 0 2px rgba(0, 0, 0, 0.95),
    0 2px 8px rgba(0, 0, 0, 0.88),
    0 3px 20px rgba(0, 0, 0, 0.7),
    0 0 18px rgba(255, 255, 255, 0.28);
}

/* Photo bottom layer, brand tint on top (first = painted on top in CSS) */
.pr-parallax--purple {
  background-image:
    linear-gradient(
      168deg,
      rgba(61, 33, 106, 0.52) 0%,
      rgba(26, 13, 46, 0.58) 45%,
      rgba(10, 5, 18, 0.68) 100%
    ),
    url("../../images/parallax/riders-parallax.png");
}

.pr-parallax--pink {
  background-image:
    linear-gradient(
      168deg,
      rgba(120, 24, 80, 0.5) 0%,
      rgba(33, 10, 26, 0.58) 50%,
      rgba(10, 5, 18, 0.7) 100%
    ),
    url("../../images/parallax/fleet-parallax.png");
}

/* Optional: wide “community” strip (use class pr-parallax--group-day on a section) */
.pr-parallax--group-day {
  background-image:
    linear-gradient(
      168deg,
      rgba(45, 28, 75, 0.48) 0%,
      rgba(18, 10, 30, 0.65) 100%
    ),
    url("../../images/parallax/group-day-parallax.png");
}

/* Home page — three distinct photos (not used on For Riders / Fleet Owners bands) */
.pr-parallax--home-narrow {
  min-height: 200px;
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
}

/* `p` + class: beats `.home-two p` (one class + element) which was forcing #676767 */
.home-two .pr-parallax p.pr-parallax-tagline,
.pr-parallax p.pr-parallax-tagline,
p.pr-parallax-tagline {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 44rem;
  color: #ffffff !important;
  font-size: clamp(1.35rem, 3.4vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  letter-spacing: -0.015em;
  -webkit-font-smoothing: antialiased;
  text-shadow:
    0 0 2px rgba(0, 0, 0, 0.95),
    0 2px 12px rgba(0, 0, 0, 0.92),
    0 4px 32px rgba(0, 0, 0, 0.82),
    0 0 1px rgba(255, 255, 255, 0.95),
    0 0 36px rgba(255, 255, 255, 0.45);
}

.pr-parallax--home-blue {
  background-image:
    linear-gradient(
      165deg,
      rgba(20, 12, 48, 0.5) 0%,
      rgba(8, 22, 58, 0.48) 45%,
      rgba(10, 5, 22, 0.62) 100%
    ),
    url("../../images/parallax/home-parallax-blue.png");
  background-position: center center, center 40%;
}

.pr-parallax--home-ceiling {
  background-image:
    linear-gradient(
      168deg,
      rgba(55, 38, 12, 0.45) 0%,
      rgba(28, 16, 8, 0.62) 100%
    ),
    url("../../images/parallax/home-parallax-ceiling.png");
  background-position: center center, center 35%;
}

.pr-parallax--home-night {
  background-image:
    linear-gradient(
      168deg,
      rgba(75, 43, 142, 0.42) 0%,
      rgba(18, 8, 24, 0.68) 100%
    ),
    url("../../images/parallax/home-parallax-night.png");
  background-position: center center, center 45%;
}

/* Filled primary: vertical pink gradient like manage */
.btn-primary {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow:
    0 2px 14px rgba(var(--pr-primary-rgb), 0.35),
    inset 0 0 0 0 #ffffff !important;
  color: #fff !important;
  transition: box-shadow 0.2s ease, filter 0.2s ease, background-image 0.2s ease;
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    #ff5a7a 0%,
    #b82878 100%
  ) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  box-shadow:
    0 4px 22px rgba(var(--pr-primary-rgb), 0.45),
    0 0 0 1px rgba(0, 204, 255, 0.22) !important;
}

.btn-primary:active {
  background-image: linear-gradient(
    180deg,
    #e83662 0%,
    #8c1858 100%
  ) !important;
  box-shadow: 0 1px 10px rgba(166, 32, 106, 0.42) !important;
}

.btn-outline-primary {
  color: var(--partyryde-pink-bottom) !important;
  border-color: var(--partyryde-pink-top) !important;
  background-color: transparent !important;
  background-image: none !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
  background-image: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  ) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 14px rgba(var(--pr-primary-rgb), 0.35) !important;
}

/* Header Sign Up — match gradient CTA */
.header .header-navbar-rht .nav-item .header-reg {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 2px 12px rgba(var(--pr-primary-rgb), 0.32) !important;
}

.header .header-navbar-rht .nav-item .header-reg:hover {
  background-image: linear-gradient(
    180deg,
    #ff5a7a 0%,
    #b82878 100%
  ) !important;
  border-color: rgba(0, 204, 255, 0.35) !important;
  color: #fff !important;
  box-shadow:
    0 4px 20px rgba(var(--pr-primary-rgb), 0.42),
    0 0 0 1px rgba(0, 204, 255, 0.2) !important;
}

/* Banner search submit */
.search-box-banner .search-btn .search-button {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(var(--pr-primary-rgb), 0.3) !important;
}

.search-box-banner .search-btn .search-button:hover {
  background-image: linear-gradient(
    180deg,
    #ff5a7a 0%,
    #b82878 100%
  ) !important;
  color: #fff !important;
  border-color: rgba(0, 204, 255, 0.25) !important;
  box-shadow:
    0 4px 18px rgba(var(--pr-primary-rgb), 0.4),
    0 0 0 1px rgba(0, 204, 255, 0.18) !important;
}

/* “View all” outline → fill on hover (theme used orange fill) */
.btn-view:hover {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  ) !important;
  border: 2px solid transparent !important;
  color: #fff !important;
  box-shadow:
    0 4px 18px rgba(var(--pr-primary-rgb), 0.35),
    inset 0 0 0 0 transparent !important;
}

/* Listing cards: hover accent — teal → purple (secondary brand) */
.listing-item:hover .btn-order {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    var(--partyryde-purple-top) 0%,
    var(--partyryde-purple-bottom) 100%
  ) !important;
  color: #fff !important;
}

.review-sec .search-btn .search-button:hover,
.product-detail-head .search-btn .search-button:hover {
  background-image: linear-gradient(
    180deg,
    #ff5a7a 0%,
    #b82878 100%
  ) !important;
  color: #fff !important;
  border-color: rgba(0, 204, 255, 0.2) !important;
}

/* index-2 template (.home-two) — theme used navy #0A152F for headings & secondary */
body.home-two h2,
body.home-two h3,
body.home-two h4,
body.home-two h5,
body.home-two h6 {
  color: var(--partyryde-purple-bottom) !important;
}

.home-two .btn-secondary {
  background-color: transparent !important;
  background-image: linear-gradient(
    180deg,
    var(--partyryde-purple-top) 0%,
    var(--partyryde-purple-bottom) 100%
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  box-shadow: 0 2px 16px rgba(46, 26, 94, 0.45) !important;
}

.home-two .btn-secondary:hover,
.home-two .btn-secondary:focus-visible {
  background-image: linear-gradient(
    180deg,
    #5c36a8 0%,
    #3a2270 100%
  ) !important;
  color: #fff !important;
  border-color: rgba(255, 204, 0, 0.28) !important;
  box-shadow:
    0 4px 22px rgba(75, 43, 142, 0.55),
    0 0 0 1px rgba(255, 204, 0, 0.22) !important;
}

.home-two .btn-primary:active,
.btn.btn-primary:active {
  background-image: linear-gradient(
    180deg,
    #e83662 0%,
    #8c1858 100%
  ) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

.img-slider.owl-carousel .owl-nav .owl-next:hover,
.img-slider.owl-carousel .owl-nav .owl-prev:hover {
  background: rgba(var(--pr-primary-rgb), 0.88) !important;
}

/* Header logo — theme targets .header .logo a img but markup uses <a class="navbar-brand logo"> */
.header .navbar-header {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* Only .logo here — .logo-small must stay display:none until the mobile breakpoint (theme) */
.header .navbar-header .navbar-brand.logo {
  display: flex;
  align-items: center;
  line-height: 0;
}

/* Theme hides .logo & shows .logo-small ≤576px; our .navbar-brand.logo beat that specificity — restore single logo */
@media (max-width: 575.96px) {
  .header .navbar-header .navbar-brand.logo {
    display: none !important;
  }

  .header .navbar-header .navbar-brand.logo-small {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    line-height: 0;
  }
}

.header .navbar-header .navbar-brand.logo img,
.header .navbar-header .navbar-brand.logo-small img {
  display: block;
  width: auto;
  height: auto;
  max-height: 44px;
  max-width: min(220px, 42vw);
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 991.96px) {
  .header .navbar-header .navbar-brand.logo img,
  .header .navbar-header .navbar-brand.logo-small img {
    max-height: 38px;
    max-width: min(200px, 50vw);
  }
}

@media (max-width: 575.96px) {
  .header .navbar-header .navbar-brand.logo-small img {
    max-width: min(200px, 58vw);
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 991.96px) {
  .header .main-menu-wrapper .menu-header .menu-logo img {
    width: auto !important;
    max-width: 200px;
    max-height: 40px;
    height: auto;
    object-fit: contain;
  }
}

/* --------------------------------------------------------------------------
   Hero — brand mesh background (replaces theme banner.jpg / flat mobile bg)
   -------------------------------------------------------------------------- */
.home-two .banner-section.banner-slider {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #12081f;
  /* Photo last = back layer; semi-transparent mesh + radials keep brand colors on top */
  background-image:
    radial-gradient(ellipse 130% 100% at 50% -25%, rgba(255, 64, 102, 0.42), transparent 58%),
    radial-gradient(ellipse 85% 70% at 100% 20%, rgba(75, 43, 142, 0.55), transparent 52%),
    radial-gradient(ellipse 75% 60% at 0% 90%, rgba(0, 204, 255, 0.14), transparent 55%),
    linear-gradient(168deg, rgba(61, 33, 106, 0.82) 0%, rgba(26, 13, 46, 0.76) 42%, rgba(10, 5, 18, 0.9) 100%),
    url("../../images/home-hero-buses.png");
  background-repeat: no-repeat;
  background-size: cover, cover, cover, cover, cover;
  background-position: center, center, center, center, center 40%;
}

/* Fine diagonal sheen + soft noise texture */
.home-two .banner-section.banner-slider::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    -14deg,
    transparent,
    transparent 38px,
    rgba(255, 255, 255, 0.018) 38px,
    rgba(255, 255, 255, 0.018) 39px
  );
  pointer-events: none;
  z-index: 0;
}

/* Slow-moving magenta glow (disabled when user prefers reduced motion) */
.home-two .banner-section.banner-slider::after {
  content: "";
  position: absolute;
  inset: -15% -10% -20%;
  background: radial-gradient(
    closest-side at 40% 45%,
    rgba(255, 64, 102, 0.22),
    transparent 72%
  );
  pointer-events: none;
  z-index: 0;
  animation: pr-hero-glow 22s ease-in-out infinite alternate;
}

@keyframes pr-hero-glow {
  from {
    transform: translate(0, 0) scale(1);
    opacity: 0.75;
  }
  to {
    transform: translate(4%, -4%) scale(1.06);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-two .banner-section.banner-slider::after {
    animation: none;
    opacity: 0.88;
  }
}

.home-two .banner-section.banner-slider .container {
  position: relative;
  z-index: 1;
}

/* Same mesh on tablet/phone (theme otherwise forces flat #F2F7F6) */
@media (max-width: 991.96px) {
  .home-two .banner-section.banner-slider {
    background-image:
      radial-gradient(ellipse 120% 90% at 50% -15%, rgba(255, 64, 102, 0.38), transparent 55%),
      radial-gradient(ellipse 90% 80% at 100% 30%, rgba(75, 43, 142, 0.5), transparent 50%),
      radial-gradient(ellipse 70% 55% at 0% 100%, rgba(0, 204, 255, 0.12), transparent 52%),
      linear-gradient(168deg, rgba(61, 33, 106, 0.85) 0%, rgba(26, 13, 46, 0.8) 45%, rgba(10, 5, 18, 0.92) 100%),
      url("../../images/home-hero-buses.png");
    background-size: cover, cover, cover, cover, cover;
    background-position: center, center, center, center, center 35%;
  }
}

/* Readable copy on dark hero */
.home-two .banner-slider .home-banner h1 {
  color: #fff !important;
}

.home-two .banner-slider .home-banner h1 span {
  color: #ffb3c9 !important;
}

/* .row sits between .home-banner and .col-lg-6 — direct-child selector never matched */
.home-two .banner-slider .hero-lead {
  color: #ffffff !important;
  font-weight: 400;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.home-two .banner-slider .home-banner .hero-ctas {
  margin-top: 0;
}

.home-two .banner-slider .home-banner .hero-ctas .btn-view {
  margin: 0;
}

.home-two .banner-slider .home-banner .explore-text {
  background: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.home-two .banner-slider .home-banner .explore-text span {
  color: var(--partyryde-gold) !important;
}

.home-two .banner-slider .home-banner .btn-view {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  box-shadow: inset 0 0 0 0 transparent;
}

.home-two .banner-slider .home-banner .btn-view:hover {
  border-color: transparent !important;
}

.home-two .banner-slider .home-banner .banner-imgs img {
  filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.45));
}

/* Home search — same max width as .container + equal fields (pickup, date/time, passengers, search) */
.home-two .search-box-banner-home {
  width: 100%;
}

.home-two .search-box-banner-home ul {
  margin-left: 0;
  margin-right: 0;
}

.home-two .search-box-banner-home .column-group-main {
  flex: 1 1 0 !important;
  max-width: none !important;
  min-width: 0;
}

.home-two .search-box-banner-home .column-group-last {
  flex: 0 0 11rem !important;
  max-width: none !important;
}

.home-two .search-box-banner-home .column-group-last .search-btn,
.home-two .search-box-banner-home .column-group-last .search-button {
  width: 100%;
}

@media (max-width: 991.96px) {
  .home-two .search-box-banner-home .column-group-main,
  .home-two .search-box-banner-home .column-group-last {
    flex: 1 1 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
}

@media (max-width: 575.96px) {
  .home-two .search-box-banner-home .column-group-main,
  .home-two .search-box-banner-home .column-group-last {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

.home-two .search-box-banner-home input[type="number"]::-webkit-outer-spin-button,
.home-two .search-box-banner-home input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.home-two .search-box-banner-home input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

/* How it works — riders vs fleet owners (two columns) */
.home-two .how-it-works-column-title {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
  color: var(--partyryde-purple-bottom);
  text-align: center;
}

@media (min-width: 992px) {
  .home-two .how-it-works-column:first-of-type {
    border-right: 4px solid rgba(46, 26, 94, 0.2);
    padding-right: 2rem;
  }

  .home-two .how-it-works-column:last-of-type {
    padding-left: 2rem;
  }
}

@media (max-width: 991.96px) {
  .home-two .how-it-works-column + .how-it-works-column {
    margin-top: 0.25rem;
    padding-top: 2rem;
    border-top: 4px solid rgba(46, 26, 94, 0.2);
  }
}

/* How it works — vertical timeline (numbered spine + content) */
.home-two .how-it-works-timeline {
  position: relative;
  margin: 0;
  padding: 0.35rem 0 0;
}

.home-two .how-it-works-timeline::before {
  content: "";
  position: absolute;
  left: 1.125rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 4px;
  margin-left: -2px;
  background: rgba(46, 26, 94, 0.14);
  border-radius: 2px;
}

.home-two .how-it-works-timeline-step {
  position: relative;
  padding: 0 0 1.5rem 3.25rem;
  list-style: none;
}

.home-two .how-it-works-timeline-step:last-child {
  padding-bottom: 0;
}

.home-two .how-it-works-timeline-num {
  position: absolute;
  left: 0;
  top: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  box-shadow: 0 2px 10px rgba(217, 36, 116, 0.28);
}

.home-two .how-it-works-timeline-step:nth-child(1) .how-it-works-timeline-num {
  background-image: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  );
}

.home-two .how-it-works-timeline-step:nth-child(2) .how-it-works-timeline-num {
  background-image: linear-gradient(
    180deg,
    var(--partyryde-purple-top) 0%,
    var(--partyryde-purple-bottom) 100%
  );
  box-shadow: 0 2px 10px rgba(46, 26, 94, 0.35);
}

.home-two .how-it-works-timeline-step:nth-child(3) .how-it-works-timeline-num {
  background-image: linear-gradient(180deg, #3d2a66 0%, #1a0d2e 100%);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.home-two .how-it-works-timeline-heading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--partyryde-purple-bottom);
}

.home-two .how-it-works-timeline-heading i {
  color: var(--pr-primary);
  font-size: 1.05rem;
  width: 1.25rem;
  text-align: center;
}

.home-two .how-it-works-timeline-body p {
  margin: 0;
  color: #676767;
  font-size: 0.95rem;
  line-height: 1.55;
}

/* Why Choose PartyRyde — Font Awesome (replaces Boxicons SVGs) */
.home-two .why-choose .choose-img {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5rem;
}

.home-two .why-choose .choose-img .why-choose-fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 2.35rem;
  color: #ffffff;
  transition: inherit;
}

.home-two .why-choose .choose-img .why-choose-fa i {
  line-height: 1;
}

/* Theme hover used count-bg.jpg + black card + white text — hard to read; simplify */
.home-two .why-choose .card {
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease,
    background-color 0.3s ease;
}

.home-two .why-choose .card:hover {
  background: #ffffff !important;
  box-shadow: 0 14px 40px rgba(46, 26, 94, 0.12);
  transform: translateY(-4px);
}

.home-two .why-choose .card:hover .choose-content h4 {
  color: var(--partyryde-purple-bottom) !important;
}

.home-two .why-choose .card:hover .choose-content p {
  color: #4a4a4a !important;
}

.home-two .why-choose .card:hover .choose-img {
  background-image: none !important;
  background-color: transparent;
}

.home-two .why-choose .card:hover .choose-black,
.home-two .why-choose .card:hover .choose-secondary,
.home-two .why-choose .card:hover .choose-primary {
  background: linear-gradient(
    180deg,
    var(--partyryde-pink-top) 0%,
    var(--partyryde-pink-bottom) 100%
  ) !important;
}

.home-two .why-choose .card:hover .choose-img .why-choose-fa {
  filter: none;
  color: #ffffff !important;
}

/* FAQ — category group headings */
.home-two .partyryde-faq-section .partyryde-faq-category {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--partyryde-purple-bottom);
  margin: 2.25rem 0 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(217, 36, 116, 0.22);
}

.home-two .partyryde-faq-section .faq-info > .partyryde-faq-category:first-child {
  margin-top: 0;
}

/* Footer — parallax (image not used on in-page bands) + high-contrast copy */
.footer.footer-partyryde {
  background: transparent;
}

.footer.footer-partyryde::before,
.footer.footer-partyryde::after {
  display: none;
}

.footer.footer-partyryde > .footer-top {
  background-color: #140a22;
  background-image:
    linear-gradient(180deg, rgba(12, 6, 22, 0.82) 0%, rgba(18, 10, 30, 0.88) 100%),
    url("../../images/parallax/footer-parallax.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 35%;
  background-attachment: fixed;
}

@media (prefers-reduced-motion: reduce) {
  .footer.footer-partyryde > .footer-top {
    background-attachment: scroll;
  }
}

@media (max-width: 991.96px) {
  .footer.footer-partyryde > .footer-top {
    background-attachment: scroll;
  }
}

.footer.footer-partyryde .footer-widget .footer-title {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

.footer.footer-partyryde .footer-menu ul li a {
  color: #f5f5f5 !important;
  font-weight: 500;
  font-size: 15px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}

.footer.footer-partyryde .footer-menu ul li a:hover {
  color: #ffb3c9 !important;
}

.footer.footer-partyryde .footer-contact h5.footer-title,
.footer.footer-partyryde .footer-contact .footer-title {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

.footer.footer-partyryde .footer-contact .footer-address .addr-info a {
  color: #ffffff !important;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}

.footer.footer-partyryde .footer-social-widget .nav-social a,
.footer.footer-partyryde .footer-social-widget .fi-icon {
  color: #ffffff !important;
  opacity: 0.95;
}

.footer.footer-partyryde .footer-social-widget .nav-social a:hover,
.footer.footer-partyryde .footer-social-widget .nav-social a:hover .fi-icon {
  color: #ffb3c9 !important;
  opacity: 1;
}

.footer.footer-partyryde > .footer-bottom {
  background: #0d0715 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer.footer-partyryde .footer-bottom .copyright-text p {
  color: #e8e8ed !important;
  font-weight: 500;
}

.footer.footer-partyryde .footer-bottom .policy-menu li a {
  color: #f0f0f5 !important;
}

.footer.footer-partyryde .footer-bottom .policy-menu li a:hover {
  color: #ffb3c9 !important;
}

/* Sign up — rider vs fleet toggle */
.home-two .pr-signup-type-toggle .pr-signup-type-btn {
  border-radius: 999px;
  padding: 0.65rem 1.35rem;
  font-weight: 600;
  border: 2px solid rgba(46, 26, 94, 0.35);
  background: #fff;
  color: var(--partyryde-purple-bottom) !important;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.home-two .pr-signup-type-toggle .pr-signup-type-btn:hover {
  border-color: rgba(217, 36, 116, 0.45);
  box-shadow: 0 4px 18px rgba(46, 26, 94, 0.12);
}

.home-two .pr-signup-type-toggle .pr-signup-type-btn.active {
  border-color: transparent;
  color: #fff !important;
  background-image: linear-gradient(
    135deg,
    var(--partyryde-purple-top) 0%,
    var(--partyryde-pink-bottom) 100%
  );
  box-shadow: 0 6px 24px rgba(46, 26, 94, 0.28);
}

.home-two .pr-signup-section .contact-btn {
  min-width: 12rem;
}

/* Public login — fleet manager CTA above rider form */
.home-two .pr-login-fleet-cta {
  background-image: linear-gradient(
    135deg,
    var(--partyryde-purple-top) 0%,
    var(--partyryde-pink-bottom) 100%
  );
  box-shadow: 0 8px 32px rgba(46, 26, 94, 0.25);
}

.home-two .pr-login-fleet-cta .btn-light {
  color: var(--partyryde-purple-bottom) !important;
  border: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.home-two .pr-login-fleet-cta .btn-light:hover {
  background: #fff !important;
  filter: brightness(1.03);
  transform: translateY(-1px);
}
