:root{
  --w3-surface:#ffffff;
  --w3-surface-soft:#f8fbff;
  --w3-line:#dbe4ee;
  --w3-line-strong:#c7d4e1;
  --w3-text:#102238;
  --w3-muted:#66778e;
  --w3-accent:#0f6b42;
  --w3-accent-2:#0c5a37;
  --w3-blue:#165ec9;
  --w3-shadow:0 18px 44px rgba(15,23,42,.10);
}

/* Unified search component */
.wi-searchbox{
  position:relative!important;
  width:100%!important;
}
.wi-searchbox__panel[hidden]{display:none!important}
.wi-searchbox .wi-searchbox__form{
  display:block!important;
  padding:16px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,var(--w3-surface),var(--w3-surface-soft))!important;
  border:1px solid var(--w3-line)!important;
  box-shadow:var(--w3-shadow)!important;
}
.wi-searchbox .wi-searchbox__labelrow{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 12px!important;
}
.wi-searchbox .wi-searchbox__label{
  margin:0!important;
  color:#6f8096!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.wi-searchbox .wi-searchbox__row{
  display:block!important;
}
.wi-searchbox .wi-searchbox__input{
  width:100%!important;
  min-height:60px!important;
  padding:0 18px!important;
  border-radius:18px!important;
  border:1px solid var(--w3-line)!important;
  background:#fff!important;
  color:var(--w3-text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
  font-size:16px!important;
  font-weight:700!important;
}
.wi-searchbox .wi-searchbox__input::placeholder{
  color:#8594a6!important;
  opacity:1!important;
}
.wi-searchbox .wi-searchbox__input:focus{
  border-color:#adc7b5!important;
  box-shadow:0 0 0 4px rgba(15,107,66,.08)!important;
}
.wi-searchbox .wi-searchbox__submit,
.wi-searchbox .wi-searchbox__submit--label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,107,66,.12)!important;
  background:linear-gradient(180deg,var(--w3-accent),var(--w3-accent-2))!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
}
.wi-searchbox .wi-searchbox__submit:hover,
.wi-searchbox .wi-searchbox__submit--label:hover{transform:translateY(-1px)!important}
.wi-searchbox .wi-searchbox__panel{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 12px)!important;
  z-index:80!important;
  display:grid!important;
  gap:10px!important;
  padding:12px!important;
  border-radius:24px!important;
  border:1px solid var(--w3-line)!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.16)!important;
  backdrop-filter:blur(12px)!important;
}
.wi-searchbox .wi-searchbox__group{display:grid!important;gap:8px!important}
.wi-searchbox .wi-searchbox__group-title{
  padding:4px 8px 0!important;
  color:#7d8ca2!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.wi-searchbox .wi-searchbox__item{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  color:var(--w3-text)!important;
  background:linear-gradient(180deg,#fcfdff,#f8fbff)!important;
  border:1px solid transparent!important;
  transition:border-color .16s ease, transform .16s ease, background .16s ease, box-shadow .16s ease!important;
}
.wi-searchbox .wi-searchbox__item:hover,
.wi-searchbox .wi-searchbox__item.is-active{
  border-color:#cedae6!important;
  background:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.06)!important;
}
.wi-searchbox .wi-searchbox__item.is-best{
  border-color:rgba(22,94,201,.14)!important;
  background:linear-gradient(180deg,#f9fbff,#f4f8ff)!important;
}
.wi-searchbox .wi-searchbox__copy{display:grid!important;gap:4px!important;min-width:0!important}
.wi-searchbox .wi-searchbox__item strong{
  display:block!important;
  color:var(--w3-text)!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:900!important;
}
.wi-searchbox .wi-searchbox__item small{
  display:block!important;
  color:var(--w3-muted)!important;
  font-size:12px!important;
  line-height:1.48!important;
}
.wi-searchbox .wi-searchbox__pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  border:1px solid #dbe8ff!important;
  color:var(--w3-blue)!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.wi-searchbox .wi-searchbox__hl{
  display:inline-block!important;
  padding:0 .14em!important;
  border-radius:.22em!important;
  background:#e7dcc7!important;
  color:inherit!important;
}
.wi-searchbox .wi-searchbox__empty{
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#f8fbff!important;
  border:1px dashed var(--w3-line)!important;
  color:var(--w3-muted)!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* Homepage hero search stays premium but readable */
.wp-home-v4 .whm-search .wi-searchbox__form{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 20px 44px rgba(3,7,18,.18)!important;
}
.wp-home-v4 .whm-search .wi-searchbox__label{color:#e8eef9!important}
.wp-home-v4 .whm-search .wi-searchbox__input{background:#fff!important;color:#102238!important}
.wp-home-v4 .whm-search .wi-searchbox__submit--label{
  background:#ffffff!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#102238!important;
}

/* Fix hidden panel bar and mobile rhythm */
@media (max-width:760px){
  .wi-searchbox .wi-searchbox__form{padding:14px!important;border-radius:22px!important}
  .wi-searchbox .wi-searchbox__labelrow{gap:10px!important}
  .wi-searchbox .wi-searchbox__submit--label{min-height:38px!important;padding:0 12px!important;font-size:12px!important}
  .wi-searchbox .wi-searchbox__input{min-height:58px!important;font-size:16px!important}
}

/* Photo-independent cards and heroes */
.wp-home-v4 .whm-card__media,
.wp-home-v4 .whm-card__media img,
.ws-route-card > img,
.ws-gallery-card > img,
.wi-card-img,
.wi-card-img img,
.wi-hero-media,
.ws-hero-media,
.ws-hero figure,
.wi-hero figure,
.wr-hero-media,
.wr-story-media,
.t-hero-media,
.t-card .t-media{display:none!important}

.wp-home-v4 .whm-card.wi-media-removed .whm-card__media,
.ws-route-card.wi-media-removed > img,
.wi-card.wi-media-removed .wi-card-img,
.ws-hero.wi-media-removed .ws-hero-media,
.wi-hero.wi-media-removed .wi-hero-media,
.wr-hero.wi-media-removed .wr-hero-media,
.t-hero.wi-media-removed .t-hero-media{display:none!important}

.wp-home-v4 .whm-card,
.ws-route-card,
.wi-card,
.t-card,
.ws-gallery-card{min-height:0!important}
.wp-home-v4 .whm-card__media:empty,
.wi-card-img:empty,
.t-media:empty{display:none!important}

/* Text-first cards look intentional without imagery */
.ws-route-card,
.wp-home-v4 .whm-card,
.wi-card,
.t-card{
  position:relative!important;
  overflow:hidden!important;
}
.ws-route-card::before,
.wp-home-v4 .whm-card::before,
.wi-card::before,
.t-card::before{
  content:"";
  display:block;
  height:6px;
  background:linear-gradient(90deg,#0f6b42 0%,#165ec9 100%);
  opacity:.10;
}
.ws-route-card .ws-card-body,
.wp-home-v4 .whm-card__body,
.wi-card .wi-card-body,
.t-card .t-body{padding-top:18px!important}

/* Route page and support cards should remain clean without images */
.wr-page--route-master .wr-hero,
.ws-hero,
.wi-hero,
.t-hero{
  background:
    radial-gradient(circle at 100% 0, rgba(15,107,66,.07), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(22,94,201,.05), transparent 24%),
    linear-gradient(180deg,#ffffff,#f8fbff)!important;
}
