/* Approved FareLovers hero refinements */
.hero-video {
  object-position: 58% center;
}

.veil {
  background:
    linear-gradient(90deg, rgba(3, 5, 17, .98) 0%, rgba(5, 8, 24, .84) 35%, rgba(4, 8, 22, .28) 70%),
    linear-gradient(0deg, rgba(3, 5, 16, .88), transparent 46%, rgba(3, 5, 16, .62));
}

.hero-content {
  padding-top: 4.5vh;
  padding-bottom: 34px;
}

.copy { max-width: 650px; }

h1 {
  font-size: clamp(42px, 4.8vw, 68px);
  line-height: 1.01;
  margin: 14px 0 15px;
}

.copy > p {
  max-width: 600px;
  color: #d7dced;
  font-size: 17px;
  line-height: 1.48;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55);
}

.trust {
  margin: 17px 0 22px;
  color: #e1e5f2;
}

.search-card {
  padding: 14px;
  border-radius: 22px;
  background: linear-gradient(140deg, rgba(13, 18, 43, .95), rgba(9, 13, 35, .84));
}

.trip-tabs { margin-bottom: 10px; }
.fields label { min-height: 64px; }
.search-footer { padding-top: 10px; }
.route-strip { margin-top: 12px; }

@media (max-width: 900px) {
  .hero-content { padding-top: 3.5vh; }
  .hero-video { object-position: 61% center; }
}

@media (max-width: 640px) {
  .hero-content { padding-top: 3vh; }
  h1 { font-size: clamp(39px, 12vw, 54px); }
}

@media (max-height: 850px) and (min-width: 901px) {
  .nav { height: 74px; }
  .hero-content { padding-top: 3vh; }
  h1 { font-size: clamp(40px, 4.3vw, 60px); }
  .copy > p { font-size: 16px; }
  .trust { margin: 12px 0 16px; }
  .fields label { min-height: 59px; }
}

/* Brighter premium colour pass */
:root {
  --pink: #ff35b7;
  --cyan: #45fff3;
}

.hero-video {
  filter: brightness(1.18) saturate(1.2) contrast(1.03);
}

.veil {
  background:
    radial-gradient(circle at 78% 19%, rgba(255, 174, 96, .16), transparent 31%),
    linear-gradient(90deg, rgba(3, 5, 17, .91) 0%, rgba(5, 8, 24, .67) 35%, rgba(4, 8, 22, .12) 70%),
    linear-gradient(0deg, rgba(3, 5, 16, .72), transparent 46%, rgba(3, 5, 16, .42));
}

.aurora { opacity: .34; filter: blur(72px); }
.aurora-one { background: #ff35b7; }
.aurora-two { background: #45fff3; }

.brand img {
  filter: drop-shadow(0 2px 18px rgba(255, 53, 183, .42));
}

.eyebrow {
  color: #78fff8;
  text-shadow: 0 0 18px rgba(69, 255, 243, .22);
}

h1 em {
  background: linear-gradient(92deg, #fff 3%, #ff7fd2 47%, #62fff6 100%);
  background-clip: text;
  -webkit-background-clip: text;
  filter: drop-shadow(0 0 22px rgba(255, 53, 183, .13));
}

.search-card {
  border-color: rgba(104, 255, 248, .24);
  background: linear-gradient(140deg, rgba(18, 25, 58, .92), rgba(10, 16, 43, .78));
  box-shadow: 0 26px 90px rgba(0, 0, 0, .4), 0 0 48px rgba(69, 255, 243, .07);
}

.fields label {
  background: rgba(255, 255, 255, .09);
  border-color: rgba(255, 255, 255, .13);
}

.search {
  background: linear-gradient(105deg, #ff35b7, #c23deb 56%, #5778ff);
  box-shadow: 0 12px 38px rgba(255, 53, 183, .36);
}

@media (max-width: 900px) {
  .veil {
    background:
      linear-gradient(90deg, rgba(3, 5, 17, .88), rgba(3, 5, 17, .3)),
      linear-gradient(0deg, rgba(3, 5, 17, .68), transparent);
  }
}

/* Light flight-search surface inspired by the approved reference. */
.search-card {
  color: #101a35;
  background: rgba(249, 250, 255, .97);
  border-color: rgba(255, 255, 255, .92);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .38), 0 0 44px rgba(69, 255, 243, .08);
}

.trip-tabs {
  border-bottom: 1px solid #dfe3ee;
}

.trip-tabs button {
  position: relative;
  color: #747d95;
}

.trip-tabs button.active {
  color: #111b35;
  background: transparent;
}

.trip-tabs button.active::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: -11px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #ff35b7, #b73be6);
}

.fields label {
  background: #fff;
  border-color: #e0e4ee;
  box-shadow: 0 5px 16px rgba(30, 43, 79, .035);
}

.fields label:focus-within {
  border-color: rgba(255, 53, 183, .58);
  box-shadow: 0 0 0 3px rgba(255, 53, 183, .09);
}

.fields label span { color: #818aa2; }
.fields strong,
.fields input { color: #111b35; }
.fields input[type=date] { color-scheme: light; }

.swap {
  background: #fff;
  color: #e824a7;
  border-color: #d8ddea;
  box-shadow: 0 5px 16px rgba(30, 43, 79, .07);
}

.direct { color: #323b55; }
.direct input { accent-color: #ef26a9; }
.message { color: #087e78; }

.search {
  background: linear-gradient(105deg, #f026a8, #cc30d9 58%, #9d43ed);
  box-shadow: 0 12px 34px rgba(240, 38, 168, .3);
}
