/* iCABS Liverpool Modern Website V3.0 — public website layer */
:root {
  --icabs-navy-950: #031027;
  --icabs-navy-900: #07152f;
  --icabs-navy-850: #0b1d3e;
  --icabs-navy-800: #10264c;
  --icabs-blue-700: #0757d8;
  --icabs-blue-600: #0a67ff;
  --icabs-blue-500: #2b7cff;
  --icabs-blue-100: #e9f2ff;
  --icabs-cyan-400: #4fd8ff;
  --icabs-gold-400: #f8c85c;
  --icabs-green-500: #13a86b;
  --icabs-red-500: #ee365a;
  --icabs-ink: #0d1930;
  --icabs-muted: #65738a;
  --icabs-surface: #ffffff;
  --icabs-surface-soft: #f5f8fc;
  --icabs-surface-blue: #eef5ff;
  --icabs-border: #dfe8f4;
  --icabs-shadow-sm: 0 8px 25px rgba(12, 32, 67, .08);
  --icabs-shadow-md: 0 18px 55px rgba(8, 28, 64, .14);
  --icabs-shadow-lg: 0 32px 90px rgba(4, 19, 48, .24);
  --icabs-radius-sm: 14px;
  --icabs-radius-md: 22px;
  --icabs-radius-lg: 32px;
  --icabs-container: 1220px;
  --icabs-header-height: 82px;
}

html { scroll-behavior: smooth; }
body.icabs-site {
  margin: 0;
  overflow-x: hidden;
  background: var(--icabs-surface);
  color: var(--icabs-ink);
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.icabs-site *, body.icabs-site *::before, body.icabs-site *::after { box-sizing: border-box; }
body.icabs-site h1, body.icabs-site h2, body.icabs-site h3, body.icabs-site h4, body.icabs-site h5, body.icabs-site h6 {
  color: inherit;
  font-family: Manrope, Inter, sans-serif;
  letter-spacing: -.035em;
  line-height: 1.15;
}
body.icabs-site p { color: var(--icabs-muted); }
body.icabs-site a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease; }
body.icabs-site img { max-width: 100%; }
body.icabs-site .container { max-width: var(--icabs-container); }

.icabs-skip-link {
  position: fixed;
  left: 18px;
  top: -100px;
  z-index: 99999;
  padding: 12px 18px;
  border-radius: 0 0 12px 12px;
  background: #fff;
  color: var(--icabs-navy-950);
  box-shadow: var(--icabs-shadow-md);
  font-weight: 800;
}
.icabs-skip-link:focus { top: 0; }

/* Announcement and header */
.icabs-announcement {
  position: relative;
  z-index: 1033;
  overflow: hidden;
  background: linear-gradient(90deg, #0565ff, #0b7de8 50%, #08a2cc);
  color: #fff;
}
.icabs-announcement::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0 35%, rgba(255,255,255,.13) 45%, transparent 55% 100%);
  transform: translateX(-100%);
  animation: icabsShine 7s ease-in-out infinite;
}
.icabs-announcement__inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  position: relative;
}
.icabs-announcement__ticker {
  display: flex;
  align-items: center;
  gap: 26px;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.icabs-announcement__ticker span { display: inline-flex; align-items: center; gap: 8px; }
.icabs-announcement__ticker i { opacity: .85; }
.icabs-announcement__link {
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.icabs-announcement__link:hover { color: #fff; transform: translateX(3px); }

.icabs-site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  border-bottom: 1px solid rgba(221, 232, 247, .8);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: box-shadow .25s ease, transform .25s ease, background-color .25s ease;
}
.icabs-site-header.is-scrolled { box-shadow: 0 14px 40px rgba(5, 25, 60, .12); }
.icabs-utility-bar { border-bottom: 1px solid var(--icabs-border); background: rgba(247, 250, 255, .9); }
.icabs-utility-bar__inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: 12px;
}
.icabs-utility-bar__left, .icabs-utility-bar__right { display: flex; align-items: center; gap: 18px; }
.icabs-utility-bar a { color: #50617b; text-decoration: none; font-weight: 650; }
.icabs-utility-bar a:hover { color: var(--icabs-blue-600); }
.icabs-utility-bar a i { margin-right: 6px; color: var(--icabs-blue-600); }
.icabs-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: #18bd78;
  box-shadow: 0 0 0 5px rgba(24, 189, 120, .12);
  animation: icabsPulse 2.4s infinite;
}
.icabs-translate .goog-te-gadget { font-size: 0; }
.icabs-translate .goog-te-gadget-simple { border: 0 !important; background: transparent !important; padding: 0 !important; }
.icabs-translate .goog-te-gadget-simple span { color: #50617b !important; font-size: 11px !important; }

.icabs-navbar { min-height: 78px; padding: 8px 0; background: transparent !important; }
.icabs-brand { display: inline-flex; align-items: center; min-width: 190px; }
.icabs-brand img { max-height: 52px !important; width: auto; max-width: 230px !important; object-fit: contain; }
.icabs-navbar .navbar-nav { gap: 2px; }
.icabs-navbar .nav-link {
  position: relative;
  margin: 0 2px;
  padding: 12px 12px !important;
  border-radius: 11px;
  color: #243550 !important;
  font-size: 14px;
  font-weight: 750;
}
.icabs-navbar .nav-link:hover, .icabs-navbar .nav-link.active { color: var(--icabs-blue-600) !important; background: var(--icabs-blue-100); }
.icabs-navbar .nav-link.active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 5px;
  height: 2px;
  border-radius: 2px;
  background: var(--icabs-blue-600);
}
.icabs-navbar__actions { display: flex; align-items: center; gap: 10px; margin-left: 12px; }
.icabs-navbar__mobile-actions { display: none; margin-left: auto; align-items: center; gap: 8px; }
.icabs-theme-toggle {
  width: 42px;
  height: 42px;
  border: 1px solid var(--icabs-border);
  border-radius: 13px;
  background: #fff;
  color: #243550;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(13, 35, 74, .07);
}
.icabs-theme-toggle:hover { color: var(--icabs-blue-600); transform: translateY(-2px); }
.icabs-menu-toggle { width: 44px; height: 42px; padding: 10px; border: 1px solid var(--icabs-border) !important; border-radius: 13px; box-shadow: none !important; }
.icabs-menu-toggle span { display: block; width: 22px; height: 2px; margin: 4px auto; border-radius: 2px; background: #17345f; }
.icabs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 14px;
  border: 1px solid transparent;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
  box-shadow: none;
}
.icabs-btn:hover { transform: translateY(-2px); }
.icabs-btn--primary { background: linear-gradient(135deg, var(--icabs-blue-600), #0852d5); color: #fff; box-shadow: 0 12px 28px rgba(10, 103, 255, .25); }
.icabs-btn--primary:hover { color: #fff; box-shadow: 0 18px 38px rgba(10, 103, 255, .32); }
.icabs-btn--light { background: #fff; color: var(--icabs-navy-900); border-color: rgba(255,255,255,.35); }
.icabs-btn--ghost { color: var(--icabs-blue-600); background: var(--icabs-blue-100); border-color: #d4e6ff; }
.icabs-btn--dark { color: #fff; background: var(--icabs-navy-900); }
.icabs-navbar-book { min-height: 44px; padding: 11px 17px; }
.icabs-login-link i, .icabs-account-link i { margin-right: 4px; }
.icabs-mega-menu {
  width: 340px;
  padding: 12px;
  border: 1px solid var(--icabs-border);
  border-radius: 20px;
  box-shadow: var(--icabs-shadow-md);
}
.icabs-mega-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px;
  border-radius: 13px;
  color: var(--icabs-ink);
}
.icabs-mega-menu .dropdown-item:hover { background: var(--icabs-surface-blue); color: var(--icabs-blue-600); }
.icabs-menu-icon { flex: 0 0 38px; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; background: var(--icabs-blue-100); color: var(--icabs-blue-600); }
.icabs-mega-menu strong, .icabs-mega-menu small { display: block; }
.icabs-mega-menu strong { font-size: 13px; }
.icabs-mega-menu small { margin-top: 2px; color: var(--icabs-muted); font-size: 11px; }

/* Shared sections */
.icabs-section { position: relative; padding: 104px 0; overflow: hidden; }
.icabs-section--soft { background: var(--icabs-surface-soft); }
.icabs-section--blue { background: linear-gradient(145deg, #eef6ff, #f8fbff); }
.icabs-section--dark { background: var(--icabs-navy-950); color: #fff; }
.icabs-section--tight { padding: 72px 0; }
.icabs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 15px;
  color: var(--icabs-blue-600);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.icabs-eyebrow::before { content: ""; width: 24px; height: 3px; border-radius: 5px; background: currentColor; }
.icabs-section-heading { max-width: 760px; margin-bottom: 48px; }
.icabs-section-heading--center { margin-left: auto; margin-right: auto; text-align: center; }
.icabs-section-heading--center .icabs-eyebrow::before { display: none; }
.icabs-section-heading h2 { margin: 0 0 16px; font-size: clamp(2rem, 4vw, 3.45rem); font-weight: 850; }
.icabs-section-heading p { margin: 0; font-size: 1.05rem; }
.icabs-gradient-text { background: linear-gradient(100deg, var(--icabs-blue-600), #2ebee8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.icabs-grid { display: grid; gap: 24px; }
.icabs-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.icabs-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.icabs-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.icabs-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.icabs-card {
  position: relative;
  height: 100%;
  border: 1px solid var(--icabs-border);
  border-radius: var(--icabs-radius-md);
  background: var(--icabs-surface);
  box-shadow: var(--icabs-shadow-sm);
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.icabs-card:hover { transform: translateY(-7px); border-color: #bad6ff; box-shadow: var(--icabs-shadow-md); }
.icabs-card__body { padding: 28px; }
.icabs-icon-box { width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; border-radius: 17px; background: var(--icabs-blue-100); color: var(--icabs-blue-600); font-size: 21px; }
.icabs-card h3 { margin: 19px 0 10px; font-size: 1.26rem; font-weight: 800; }
.icabs-card p { margin: 0; font-size: .94rem; }
.icabs-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--icabs-blue-600); font-size: 13px; font-weight: 800; text-decoration: none; }
.icabs-card-link:hover { color: var(--icabs-blue-700); gap: 11px; }
.icabs-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.75,.2,1); }
.icabs-reveal.is-visible { opacity: 1; transform: translateY(0); }
.icabs-reveal[data-delay="1"] { transition-delay: .08s; }
.icabs-reveal[data-delay="2"] { transition-delay: .16s; }
.icabs-reveal[data-delay="3"] { transition-delay: .24s; }
.icabs-reveal[data-delay="4"] { transition-delay: .32s; }

/* Home hero */
.icabs-hero {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--icabs-navy-950);
  color: #fff;
}
.icabs-hero__media { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(3,16,39,.96) 0%, rgba(3,16,39,.83) 45%, rgba(3,16,39,.32) 100%), url('../images/seo/icabs-liverpool-taxi-hero.webp'); background-size: cover; background-position: center; transform: scale(1.02); }
.icabs-hero__media::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 28%, rgba(35,126,255,.35), transparent 26%), linear-gradient(180deg, transparent 55%, rgba(3,16,39,.82)); }
.icabs-hero__orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .65; pointer-events: none; }
.icabs-hero__orb--one { width: 380px; height: 380px; right: -180px; top: -170px; background: radial-gradient(circle, rgba(27,125,255,.45), transparent 67%); animation: icabsFloat 8s ease-in-out infinite; }
.icabs-hero__orb--two { width: 290px; height: 290px; left: 36%; bottom: -180px; background: radial-gradient(circle, rgba(45,218,255,.22), transparent 65%); animation: icabsFloat 10s ease-in-out infinite reverse; }
.icabs-hero .container { position: relative; z-index: 2; padding-top: 68px; padding-bottom: 72px; }
.icabs-hero__layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 62px; align-items: center; }
.icabs-hero__copy { max-width: 660px; }
.icabs-hero__badge { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 22px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.08); color: #dceaff; font-size: 12px; font-weight: 750; backdrop-filter: blur(10px); }
.icabs-hero__badge i { color: var(--icabs-cyan-400); }
.icabs-hero h1 { margin: 0 0 22px; max-width: 700px; font-size: clamp(2.8rem, 5.7vw, 5.2rem); font-weight: 850; letter-spacing: -.055em; }
.icabs-hero h1 span { color: #7fc6ff; }
.icabs-hero__lead { max-width: 600px; margin: 0 0 30px; color: #c8d7eb; font-size: clamp(1rem, 1.5vw, 1.17rem); }
.icabs-hero__actions { display: flex; flex-wrap: wrap; gap: 13px; margin-bottom: 30px; }
.icabs-hero__trust { display: flex; flex-wrap: wrap; gap: 18px; color: #d5e0ee; font-size: 12px; font-weight: 700; }
.icabs-hero__trust span { display: inline-flex; align-items: center; gap: 7px; }
.icabs-hero__trust i { color: #6cdfb0; }
.icabs-hero__booking { position: relative; }
.icabs-hero__booking::before { content: ""; position: absolute; inset: -24px; border-radius: 38px; background: linear-gradient(145deg, rgba(69,153,255,.22), rgba(255,255,255,.05)); filter: blur(12px); }
.icabs-hero__booking > * { position: relative; z-index: 1; }
.icabs-hero__booking .icabs-web-booking-card { margin: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 26px; box-shadow: 0 30px 85px rgba(0,0,0,.38); }
.icabs-hero__booking .banner-v2 { background: rgba(255,255,255,.97); backdrop-filter: blur(18px); }
.icabs-hero__booking-caption { display: flex; justify-content: center; gap: 18px; margin-top: 16px; color: #d8e8fa; font-size: 11px; font-weight: 700; }
.icabs-hero__booking-caption span { display: inline-flex; align-items: center; gap: 6px; }
.icabs-hero__booking-caption i { color: #62d7af; }

.icabs-proof-strip { position: relative; z-index: 3; margin-top: -45px; }
.icabs-proof-strip__inner { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--icabs-border); border-radius: 24px; background: #fff; box-shadow: var(--icabs-shadow-md); }
.icabs-proof { display: flex; align-items: center; gap: 13px; min-height: 92px; padding: 20px 24px; border-right: 1px solid var(--icabs-border); }
.icabs-proof:last-child { border-right: 0; }
.icabs-proof i { color: var(--icabs-blue-600); font-size: 23px; }
.icabs-proof strong, .icabs-proof span { display: block; }
.icabs-proof strong { color: var(--icabs-ink); font-size: 14px; }
.icabs-proof span { color: var(--icabs-muted); font-size: 12px; }

/* Service visual cards */
.icabs-service-card { min-height: 390px; display: flex; flex-direction: column; }
.icabs-service-card__image { position: relative; height: 190px; overflow: hidden; }
.icabs-service-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.icabs-service-card:hover .icabs-service-card__image img { transform: scale(1.06); }
.icabs-service-card__image::after { content: ""; position: absolute; inset: auto 0 0; height: 50%; background: linear-gradient(transparent, rgba(3,16,39,.54)); }
.icabs-service-card__tag { position: absolute; left: 16px; bottom: 14px; z-index: 1; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.9); color: var(--icabs-navy-900); font-size: 10px; font-weight: 850; text-transform: uppercase; backdrop-filter: blur(8px); }

/* Feature split */
.icabs-split { display: grid; grid-template-columns: 1fr 1fr; gap: 76px; align-items: center; }
.icabs-media-stack { position: relative; min-height: 570px; }
.icabs-media-stack__main { position: absolute; inset: 0 12% 8% 0; overflow: hidden; border-radius: 32px; box-shadow: var(--icabs-shadow-lg); }
.icabs-media-stack__main img { width: 100%; height: 100%; object-fit: cover; }
.icabs-media-stack__small { position: absolute; right: 0; bottom: 0; width: 46%; overflow: hidden; border: 7px solid #fff; border-radius: 25px; box-shadow: var(--icabs-shadow-md); }
.icabs-media-stack__small img { width: 100%; aspect-ratio: 1 / .86; object-fit: cover; }
.icabs-media-stack__badge { position: absolute; top: 28px; right: 0; width: 165px; padding: 20px; border-radius: 21px; background: var(--icabs-navy-900); color: #fff; box-shadow: var(--icabs-shadow-md); }
.icabs-media-stack__badge strong { display: block; font-family: Manrope, sans-serif; font-size: 2rem; line-height: 1; }
.icabs-media-stack__badge span { display: block; margin-top: 8px; color: #cbd8ea; font-size: 12px; }
.icabs-check-list { display: grid; gap: 14px; margin: 28px 0 32px; padding: 0; list-style: none; }
.icabs-check-list li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; color: #35445c; }
.icabs-check-list i { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: #e7f8f1; color: var(--icabs-green-500); font-size: 12px; }
.icabs-check-list strong { display: block; color: var(--icabs-ink); font-size: 14px; }
.icabs-check-list span { color: var(--icabs-muted); font-size: 13px; }

/* Journey process */
.icabs-process { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.icabs-process::before { content: ""; position: absolute; left: 10%; right: 10%; top: 33px; height: 2px; background: linear-gradient(90deg, #b8d6ff, var(--icabs-blue-600), #b8d6ff); }
.icabs-process-step { position: relative; z-index: 1; text-align: center; }
.icabs-process-step__number { width: 66px; height: 66px; margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; border: 8px solid var(--icabs-surface-soft); border-radius: 50%; background: var(--icabs-blue-600); color: #fff; font-family: Manrope, sans-serif; font-size: 18px; font-weight: 850; box-shadow: 0 10px 25px rgba(10,103,255,.2); }
.icabs-process-step h3 { margin: 0 0 8px; font-size: 1.02rem; }
.icabs-process-step p { margin: 0; font-size: 13px; }

/* Airport feature */
.icabs-airport-panel { position: relative; overflow: hidden; border-radius: 34px; background: linear-gradient(130deg, #06142f, #0d2a5b); color: #fff; box-shadow: var(--icabs-shadow-lg); }
.icabs-airport-panel::before { content: ""; position: absolute; width: 500px; height: 500px; right: -180px; top: -230px; border-radius: 50%; background: radial-gradient(circle, rgba(40,133,255,.5), transparent 65%); }
.icabs-airport-panel__layout { position: relative; display: grid; grid-template-columns: 1fr .78fr; align-items: stretch; }
.icabs-airport-panel__copy { padding: 64px; }
.icabs-airport-panel__copy p { color: #c7d6ea; }
.icabs-airport-panel__image { min-height: 500px; overflow: hidden; }
.icabs-airport-panel__image img { width: 100%; height: 100%; object-fit: cover; }
.icabs-airport-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 26px 0 32px; }
.icabs-airport-features div { display: flex; align-items: center; gap: 9px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.06); color: #eef5ff; font-size: 12px; font-weight: 700; }
.icabs-airport-features i { color: #61d6ff; }

/* Fleet */
.icabs-fleet-card { padding: 0; }
.icabs-fleet-card__image { height: 210px; display: flex; align-items: center; justify-content: center; padding: 22px; background: radial-gradient(circle at center, #f5f9ff, #edf3fb); }
.icabs-fleet-card__image img { max-height: 160px; width: auto; object-fit: contain; filter: drop-shadow(0 18px 18px rgba(11,35,72,.16)); transition: transform .35s ease; }
.icabs-fleet-card:hover .icabs-fleet-card__image img { transform: translateY(-7px) scale(1.03); }
.icabs-fleet-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.icabs-fleet-card__meta span { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; background: var(--icabs-surface-soft); color: #596981; font-size: 11px; font-weight: 700; }

/* Areas */
.icabs-area-cloud { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.icabs-area-cloud a { display: inline-flex; align-items: center; gap: 7px; padding: 11px 15px; border: 1px solid var(--icabs-border); border-radius: 999px; background: #fff; color: #34445e; font-size: 13px; font-weight: 750; text-decoration: none; box-shadow: 0 5px 18px rgba(9,32,70,.05); }
.icabs-area-cloud a:hover { border-color: #a9cbff; color: var(--icabs-blue-600); transform: translateY(-2px); }
.icabs-area-cloud i { color: var(--icabs-blue-600); }

/* App promo */
.icabs-app-panel { position: relative; overflow: hidden; border-radius: 36px; background: linear-gradient(135deg, #075dff, #083ca8); color: #fff; box-shadow: var(--icabs-shadow-lg); }
.icabs-app-panel::after { content: ""; position: absolute; width: 420px; height: 420px; right: -100px; top: -180px; border-radius: 50%; border: 70px solid rgba(255,255,255,.08); }
.icabs-app-panel__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.icabs-app-panel__copy { padding: 70px; }
.icabs-app-panel__copy p { color: #dceaff; }
.icabs-app-panel__image { align-self: end; padding: 42px 42px 0 0; }
.icabs-app-panel__image img { display: block; width: 100%; max-height: 490px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 25px 25px rgba(0,0,0,.18)); }
.icabs-store-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.icabs-store-buttons img { height: 48px; width: auto; }

/* Reviews */
.icabs-review-shell #reviewsContent { margin: 0 -10px; }
.icabs-review-shell #reviewsContent > [class*="col-"] { padding: 10px; }
.icabs-review-shell .review-wrapper { height: 100%; min-height: 250px; padding: 28px !important; border: 1px solid var(--icabs-border) !important; border-radius: 22px !important; background: #fff; box-shadow: var(--icabs-shadow-sm) !important; }
.icabs-review-shell .review-wrapper::before { content: "“"; display: block; height: 30px; color: var(--icabs-blue-600); font-family: Georgia, serif; font-size: 48px; font-weight: 700; line-height: .8; }
.icabs-review-shell .starYes { color: #ffb31a; }
.icabs-review-shell .starNo { color: #d8e1ec; }
.icabs-review-shell .review-wrapper .text-muted { color: var(--icabs-muted) !important; }

/* FAQ */
.icabs-faq { max-width: 880px; margin: 0 auto; }
.icabs-faq .accordion-item { margin-bottom: 13px; overflow: hidden; border: 1px solid var(--icabs-border); border-radius: 17px !important; background: #fff; box-shadow: 0 6px 20px rgba(9,32,70,.05); }
.icabs-faq .accordion-button { padding: 20px 22px; background: #fff; color: var(--icabs-ink); font-family: Manrope, sans-serif; font-size: 15px; font-weight: 800; box-shadow: none; }
.icabs-faq .accordion-button:not(.collapsed) { color: var(--icabs-blue-600); background: var(--icabs-surface-blue); }
.icabs-faq .accordion-body { padding: 0 22px 22px; color: var(--icabs-muted); }

/* Internal page hero */
.icabs-page-hero { position: relative; overflow: hidden; padding: 94px 0 86px; background: linear-gradient(125deg, #04132e, #0d2c62); color: #fff; }
.icabs-page-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 20%, rgba(43,124,255,.45), transparent 24%), linear-gradient(90deg, rgba(3,16,39,.25), transparent); }
.icabs-page-hero .container { position: relative; z-index: 1; }
.icabs-page-hero__content { max-width: 760px; }
.icabs-page-hero h1 { margin: 0 0 17px; font-size: clamp(2.7rem, 5vw, 4.8rem); font-weight: 850; }
.icabs-page-hero p { max-width: 670px; margin: 0; color: #c9d9ed; font-size: 1.08rem; }
.icabs-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; color: #a8c0dc; font-size: 12px; font-weight: 750; }
.icabs-breadcrumbs a { color: #fff; text-decoration: none; }
.icabs-breadcrumbs i { font-size: 8px; opacity: .7; }
.icabs-page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* Content components */
.icabs-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.icabs-stat { padding: 25px; border: 1px solid var(--icabs-border); border-radius: 19px; background: #fff; text-align: center; box-shadow: var(--icabs-shadow-sm); }
.icabs-stat strong { display: block; color: var(--icabs-blue-600); font-family: Manrope, sans-serif; font-size: 2.2rem; line-height: 1.1; }
.icabs-stat span { display: block; margin-top: 7px; color: var(--icabs-muted); font-size: 12px; font-weight: 700; }
.icabs-content-card { padding: 34px; border: 1px solid var(--icabs-border); border-radius: var(--icabs-radius-md); background: #fff; box-shadow: var(--icabs-shadow-sm); }
.icabs-content-card h2, .icabs-content-card h3 { margin-top: 0; }
.icabs-service-detail { display: grid; grid-template-columns: 180px 1fr; gap: 30px; align-items: center; padding: 28px; }
.icabs-service-detail__icon { height: 150px; display: flex; align-items: center; justify-content: center; border-radius: 22px; background: linear-gradient(145deg, var(--icabs-blue-100), #f7fbff); color: var(--icabs-blue-600); font-size: 48px; }
.icabs-service-detail h3 { margin: 0 0 8px; }
.icabs-service-detail p { margin: 0; }
.icabs-service-detail__features { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.icabs-service-detail__features span { padding: 6px 9px; border-radius: 999px; background: var(--icabs-surface-soft); color: #5a6a82; font-size: 11px; font-weight: 700; }
.icabs-contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.icabs-contact-card { padding: 26px; text-align: center; }
.icabs-contact-card a { color: var(--icabs-ink); font-weight: 750; text-decoration: none; word-break: break-word; }
.icabs-contact-card p { margin: 8px 0 0; font-size: 13px; }
.icabs-map-frame { width: 100%; min-height: 470px; border: 0; border-radius: 26px; box-shadow: var(--icabs-shadow-md); }
.icabs-cta { position: relative; overflow: hidden; padding: 64px; border-radius: 32px; background: linear-gradient(135deg, #071a3c, #0a66f3); color: #fff; box-shadow: var(--icabs-shadow-lg); }
.icabs-cta::before { content: ""; position: absolute; width: 350px; height: 350px; right: -110px; top: -180px; border-radius: 50%; background: rgba(255,255,255,.12); }
.icabs-cta__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.icabs-cta h2 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3.2rem); }
.icabs-cta p { margin: 0; color: #d9e7f8; }
.icabs-cta__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; flex: 0 0 auto; }

/* Cabookie modernisation */
.icabs-web-booking-card { font-family: Inter, sans-serif; }
.icabs-web-booking-card input, .icabs-web-booking-card select, .icabs-web-booking-card button { font-family: Inter, sans-serif; }
.icabs-web-booking-card .form-control, .icabs-web-booking-card .form-select, .icabs-web-booking-card .input-group-text {
  min-height: 48px;
  border-color: #dce6f2;
  background-color: #f8fafc;
  font-size: 13px;
}
.icabs-web-booking-card .form-control:focus, .icabs-web-booking-card .form-select:focus { border-color: #6da7ff; box-shadow: 0 0 0 4px rgba(10,103,255,.1); background: #fff; }
.icabs-web-booking-card .btn-primary { border: 0; background: linear-gradient(135deg, var(--icabs-blue-600), #0751d0); box-shadow: 0 10px 22px rgba(10,103,255,.2); }
.icabs-web-booking-card .btn-primary:hover { transform: translateY(-1px); }
.icabs-page-vehicle-selection .ns-main, .icabs-page-booking-details .ns-main, .icabs-page-home .ns-main { background: var(--icabs-surface-soft); }
.icabs-page-vehicle-selection .vehicle-card, .icabs-page-booking-details .booking-process, .icabs-page-login .login-wrapper, .icabs-page-home .banner-v2 { border-radius: 22px; }

/* Footer */
.icabs-footer { position: relative; overflow: hidden; padding: 82px 0 22px; background: #030d20; color: #fff; }
.icabs-footer__glow { position: absolute; width: 550px; height: 550px; right: -260px; top: -280px; border-radius: 50%; background: radial-gradient(circle, rgba(25,109,255,.35), transparent 66%); }
.icabs-footer__top { position: relative; display: grid; grid-template-columns: 1.25fr .78fr .78fr .78fr 1.05fr; gap: 48px; padding-bottom: 52px; }
.icabs-footer__brand { display: inline-flex; align-items: center; padding: 10px 13px; border-radius: 14px; background: #fff; }
.icabs-footer__brand img { max-height: 48px !important; max-width: 230px !important; }
.icabs-footer__intro p { max-width: 420px; margin: 22px 0; color: #aebbd0; font-size: 13px; }
.icabs-footer__socials { display: flex; gap: 9px; }
.icabs-footer__socials a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.05); color: #fff; text-decoration: none; }
.icabs-footer__socials a:hover { background: var(--icabs-blue-600); border-color: var(--icabs-blue-600); transform: translateY(-2px); }
.icabs-footer__column h2 { margin: 4px 0 19px; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: .01em; }
.icabs-footer__column > a { display: block; margin: 0 0 11px; color: #aebbd0; font-size: 13px; text-decoration: none; }
.icabs-footer__column > a:hover { color: #fff; transform: translateX(4px); }
.icabs-footer__contact > a, .icabs-footer__contact > div { display: grid; grid-template-columns: 24px 1fr; gap: 8px; margin-bottom: 14px; color: #aebbd0; font-size: 12px; text-decoration: none; }
.icabs-footer__contact i { margin-top: 4px; color: #67a8ff; }
.icabs-footer__trust { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(255,255,255,.1); }
.icabs-footer__trust > div { display: flex; align-items: center; gap: 12px; padding: 20px; background: #07152b; }
.icabs-footer__trust i { color: #67a8ff; font-size: 20px; }
.icabs-footer__trust strong, .icabs-footer__trust span { display: block; }
.icabs-footer__trust strong { color: #fff; font-size: 12px; }
.icabs-footer__trust span { color: #95a7bf; font-size: 10px; }
.icabs-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; color: #8293aa; font-size: 11px; }
.icabs-footer__legal { display: flex; gap: 18px; }
.icabs-footer__legal a { color: #aebbd0; text-decoration: none; }
.icabs-footer__legal a:hover { color: #fff; }
.icabs-whatsapp-float { position: fixed; right: 22px; bottom: 24px; z-index: 1026; display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border-radius: 999px; background: #25d366; color: #fff; box-shadow: 0 15px 35px rgba(24,164,83,.32); font-size: 12px; font-weight: 800; text-decoration: none; }
.icabs-whatsapp-float i { font-size: 21px; }
.icabs-whatsapp-float:hover { color: #fff; transform: translateY(-3px); }
.icabs-back-to-top { position: fixed; right: 24px; bottom: 86px; z-index: 1025; width: 42px; height: 42px; border: 0; border-radius: 13px; background: var(--icabs-navy-900); color: #fff; box-shadow: var(--icabs-shadow-md); opacity: 0; visibility: hidden; transform: translateY(10px); }
.icabs-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.icabs-mobile-bookbar { display: none; }

/* Dark theme */
html[data-icabs-theme="dark"] {
  --icabs-ink: #ecf3ff;
  --icabs-muted: #a9b8cc;
  --icabs-surface: #081327;
  --icabs-surface-soft: #050e1f;
  --icabs-surface-blue: #0b1f3d;
  --icabs-border: #1c3150;
}
html[data-icabs-theme="dark"] body.icabs-site { background: #081327; color: #ecf3ff; }
html[data-icabs-theme="dark"] .icabs-site-header { background: rgba(5,14,31,.94); border-color: #1a2b47; }
html[data-icabs-theme="dark"] .icabs-utility-bar { background: rgba(4,13,29,.92); border-color: #1a2b47; }
html[data-icabs-theme="dark"] .icabs-utility-bar a, html[data-icabs-theme="dark"] .icabs-utility-status { color: #a8b8cc; }
html[data-icabs-theme="dark"] .icabs-navbar .nav-link { color: #dce8f7 !important; }
html[data-icabs-theme="dark"] .icabs-navbar .nav-link:hover, html[data-icabs-theme="dark"] .icabs-navbar .nav-link.active { background: #0d2447; color: #73b2ff !important; }
html[data-icabs-theme="dark"] .icabs-theme-toggle, html[data-icabs-theme="dark"] .icabs-menu-toggle { background: #0b1b34; border-color: #213752 !important; color: #dce8f7; }
html[data-icabs-theme="dark"] .icabs-menu-toggle span { background: #dce8f7; }
html[data-icabs-theme="dark"] .icabs-mega-menu, html[data-icabs-theme="dark"] .dropdown-menu { background: #0b1930; border-color: #203857; }
html[data-icabs-theme="dark"] .dropdown-item { color: #dce8f7; }
html[data-icabs-theme="dark"] .dropdown-item:hover { background: #10284b; color: #78b5ff; }
html[data-icabs-theme="dark"] .icabs-proof-strip__inner, html[data-icabs-theme="dark"] .icabs-card, html[data-icabs-theme="dark"] .icabs-content-card, html[data-icabs-theme="dark"] .icabs-stat, html[data-icabs-theme="dark"] .icabs-faq .accordion-item, html[data-icabs-theme="dark"] .icabs-faq .accordion-button, html[data-icabs-theme="dark"] .icabs-review-shell .review-wrapper, html[data-icabs-theme="dark"] .icabs-area-cloud a { background: #0b1930; }
html[data-icabs-theme="dark"] .icabs-proof { border-color: #1c3150; }
html[data-icabs-theme="dark"] .icabs-proof strong, html[data-icabs-theme="dark"] .icabs-check-list strong, html[data-icabs-theme="dark"] .icabs-contact-card a, html[data-icabs-theme="dark"] .icabs-faq .accordion-button { color: #ecf3ff; }
html[data-icabs-theme="dark"] .icabs-check-list li { color: #bdc9d9; }
html[data-icabs-theme="dark"] .icabs-media-stack__small { border-color: #081327; }
html[data-icabs-theme="dark"] .icabs-fleet-card__image { background: radial-gradient(circle at center, #112441, #09172d); }
html[data-icabs-theme="dark"] .icabs-web-booking-card { color: #13223a; }
html[data-icabs-theme="dark"] .icabs-web-booking-card p { color: #65738a; }
html[data-icabs-theme="dark"] .icabs-section--blue { background: linear-gradient(145deg, #071326, #0b1930); }

/* Responsive */
@media (max-width: 1199px) {
  .icabs-navbar__mobile-actions { display: flex; }
  .icabs-navbar .navbar-collapse { margin-top: 10px; padding: 16px; border: 1px solid var(--icabs-border); border-radius: 19px; background: var(--icabs-surface); box-shadow: var(--icabs-shadow-md); }
  .icabs-navbar .navbar-nav { align-items: stretch !important; }
  .icabs-navbar .nav-link { padding: 12px 13px !important; }
  .icabs-navbar__actions { margin: 12px 0 0; }
  .icabs-navbar-book { width: 100%; }
  .icabs-mega-menu { width: 100%; box-shadow: none; }
  .icabs-hero__layout { grid-template-columns: 1fr; gap: 46px; }
  .icabs-hero__copy { max-width: 800px; }
  .icabs-hero__booking { max-width: 620px; }
  .icabs-footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
  .icabs-footer__contact { grid-column: 1 / -1; }
}
@media (max-width: 991px) {
  :root { --icabs-header-height: 70px; }
  .icabs-utility-status { display: none; }
  .icabs-section { padding: 82px 0; }
  .icabs-grid--4, .icabs-grid--5 { grid-template-columns: repeat(2, 1fr); }
  .icabs-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .icabs-proof-strip__inner { grid-template-columns: repeat(2, 1fr); }
  .icabs-proof:nth-child(2) { border-right: 0; }
  .icabs-proof:nth-child(-n+2) { border-bottom: 1px solid var(--icabs-border); }
  .icabs-split { grid-template-columns: 1fr; gap: 54px; }
  .icabs-media-stack { min-height: 500px; }
  .icabs-process { grid-template-columns: repeat(2, 1fr); gap: 38px; }
  .icabs-process::before { display: none; }
  .icabs-airport-panel__layout { grid-template-columns: 1fr; }
  .icabs-airport-panel__image { min-height: 380px; }
  .icabs-app-panel__layout { grid-template-columns: 1fr; }
  .icabs-app-panel__copy { padding-bottom: 30px; }
  .icabs-app-panel__image { max-width: 650px; padding: 0 40px; }
  .icabs-contact-grid { grid-template-columns: repeat(2, 1fr); }
  .icabs-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .icabs-footer__trust { grid-template-columns: repeat(2, 1fr); }
  .icabs-cta__inner { align-items: flex-start; flex-direction: column; }
  .icabs-cta__actions { justify-content: flex-start; }
}
@media (max-width: 767px) {
  body.icabs-site { padding-bottom: 70px; }
  .icabs-announcement__ticker { animation: icabsTicker 44s linear infinite; }
  .icabs-announcement__link { display: none; }
  .icabs-utility-bar { display: none; }
  .icabs-brand { min-width: 0; }
  .icabs-brand img { max-height: 44px !important; max-width: 185px !important; }
  .icabs-navbar { min-height: 68px; }
  .icabs-hero { min-height: auto; }
  .icabs-hero .container { padding-top: 60px; padding-bottom: 92px; }
  .icabs-hero__layout { gap: 38px; }
  .icabs-hero h1 { font-size: clamp(2.55rem, 12vw, 4rem); }
  .icabs-hero__actions .icabs-btn { width: 100%; }
  .icabs-hero__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .icabs-hero__booking::before { inset: -10px; }
  .icabs-proof-strip { margin-top: -52px; }
  .icabs-proof-strip__inner { grid-template-columns: 1fr; border-radius: 20px; }
  .icabs-proof { border-right: 0; border-bottom: 1px solid var(--icabs-border); }
  .icabs-proof:last-child { border-bottom: 0; }
  .icabs-section { padding: 68px 0; }
  .icabs-section-heading { margin-bottom: 34px; }
  .icabs-grid--2, .icabs-grid--3, .icabs-grid--4, .icabs-grid--5 { grid-template-columns: 1fr; }
  .icabs-media-stack { min-height: 390px; }
  .icabs-media-stack__main { inset: 0 8% 8% 0; }
  .icabs-media-stack__badge { top: 14px; width: 140px; padding: 16px; }
  .icabs-process { grid-template-columns: 1fr; }
  .icabs-process-step { display: grid; grid-template-columns: 58px 1fr; gap: 15px; text-align: left; }
  .icabs-process-step__number { width: 56px; height: 56px; margin: 0; border-width: 6px; }
  .icabs-airport-panel__copy, .icabs-app-panel__copy { padding: 38px 25px; }
  .icabs-airport-panel__image { min-height: 290px; }
  .icabs-airport-features { grid-template-columns: 1fr; }
  .icabs-app-panel__image { padding: 0 18px; }
  .icabs-store-buttons img { height: 42px; }
  .icabs-page-hero { padding: 72px 0 68px; }
  .icabs-service-detail { grid-template-columns: 1fr; }
  .icabs-service-detail__icon { height: 120px; }
  .icabs-contact-grid, .icabs-stat-grid { grid-template-columns: 1fr; }
  .icabs-cta { padding: 38px 24px; border-radius: 25px; }
  .icabs-footer { padding-top: 66px; }
  .icabs-footer__top { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .icabs-footer__intro, .icabs-footer__contact { grid-column: 1 / -1; }
  .icabs-footer__trust { grid-template-columns: 1fr; }
  .icabs-footer__bottom { flex-direction: column; align-items: flex-start; }
  .icabs-whatsapp-float { right: 15px; bottom: 83px; width: 50px; height: 50px; padding: 0; justify-content: center; }
  .icabs-whatsapp-float span { display: none; }
  .icabs-back-to-top { right: 74px; bottom: 87px; }
  .icabs-mobile-bookbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1045; display: grid; grid-template-columns: 1fr 1.3fr 1fr; min-height: 66px; padding: 7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); border-top: 1px solid var(--icabs-border); background: rgba(255,255,255,.96); backdrop-filter: blur(18px); box-shadow: 0 -12px 32px rgba(5,25,60,.12); }
  .icabs-mobile-bookbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #63728a; font-size: 10px; font-weight: 800; text-decoration: none; }
  .icabs-mobile-bookbar a i { font-size: 17px; }
  .icabs-mobile-bookbar__primary { border-radius: 14px; background: var(--icabs-blue-600); color: #fff !important; }
  html[data-icabs-theme="dark"] .icabs-mobile-bookbar { background: rgba(5,14,31,.96); }
}
@media (max-width: 479px) {
  .icabs-announcement__inner { overflow: hidden; }
  .icabs-announcement__ticker { min-width: max-content; }
  .icabs-hero__trust { grid-template-columns: 1fr; }
  .icabs-footer__top { grid-template-columns: 1fr; }
  .icabs-footer__intro, .icabs-footer__contact { grid-column: auto; }
  .icabs-footer__legal { flex-wrap: wrap; gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .icabs-reveal { opacity: 1; transform: none; }
}

@keyframes icabsPulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(24,189,120,.12); } 50% { box-shadow: 0 0 0 8px rgba(24,189,120,.04); } }
@keyframes icabsFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,18px,0); } }
@keyframes icabsShine { 0%, 55% { transform: translateX(-100%); } 75%, 100% { transform: translateX(100%); } }
@keyframes icabsTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Legacy/public booking pages brought into the modern visual system */
body.icabs-site :focus-visible { outline: 3px solid rgba(10,103,255,.35); outline-offset: 3px; }
.icabs-site .ns-main { background: var(--icabs-surface-soft); }
.icabs-site .page-title-wrapper { position: relative; overflow: hidden; padding: 54px 0; background: linear-gradient(125deg, #04132e, #0d2c62); }
.icabs-site .page-title-wrapper::after { content: ""; position: absolute; width: 300px; height: 300px; right: 4%; top: -190px; border-radius: 50%; background: rgba(42,129,255,.33); }
.icabs-site .page-title-wrapper .container { position: relative; z-index: 1; }
.icabs-site .page-title-wrapper h1 { margin: 0; color: #fff !important; font-size: clamp(2.2rem, 5vw, 3.7rem); }
.icabs-site #privacy, .icabs-site #terms, .icabs-site #services, .icabs-site #aboutPage, .icabs-site #contact, .icabs-site #reviews { padding: 72px 0; background: var(--icabs-surface-soft) !important; }
.icabs-site #privacy .article, .icabs-site #terms .article { padding: 38px; border: 1px solid var(--icabs-border); border-radius: 24px; background: var(--icabs-surface); box-shadow: var(--icabs-shadow-sm); }
.icabs-site #privacy .article h5, .icabs-site #terms .article h5 { margin-top: 28px; color: var(--icabs-ink); font-size: 1.15rem; }
.icabs-site #privacy .article p, .icabs-site #privacy .article li, .icabs-site #terms .article p, .icabs-site #terms .article li { color: var(--icabs-muted); }
.icabs-site #privacy .article a, .icabs-site #terms .article a { color: var(--icabs-blue-600); }
.icabs-site .login-container, .icabs-site .login-wrapper, .icabs-site .profile-wrapper, .icabs-site .booking-process, .icabs-site .booking-process-v2, .icabs-site .vehicle-selection-wrapper, .icabs-site .succFailContainer, .icabs-site .paymentContainer {
  border: 1px solid var(--icabs-border);
  border-radius: 24px !important;
  background: var(--icabs-surface) !important;
  box-shadow: var(--icabs-shadow-md) !important;
}
.icabs-site .btn-primary, .icabs-site input[type="submit"].btn-primary { border-color: var(--icabs-blue-600); background: linear-gradient(135deg, var(--icabs-blue-600), #0750cf); }
.icabs-site .btn-primary:hover { border-color: var(--icabs-blue-700); background: linear-gradient(135deg, var(--icabs-blue-700), #0647bb); }
.icabs-site .form-control, .icabs-site .form-select { border-radius: 11px; border-color: #d9e4f1; }
.icabs-site .form-control:focus, .icabs-site .form-select:focus { border-color: #6ea7ff; box-shadow: 0 0 0 4px rgba(10,103,255,.1); }
.icabs-site .mapFrame { min-height: 450px; border: 0; }
.icabs-site #cta { padding: 44px 0; background: linear-gradient(135deg, #071a3c, #0a66f3) !important; color: #fff; }
.icabs-site #cta h5 { color: #fff; }
.icabs-site #cta .btn-dark { border: 0; border-radius: 13px; background: #fff; color: #07152f; font-weight: 800; }
html[data-icabs-theme="dark"] .icabs-site #privacy .article,
html[data-icabs-theme="dark"] .icabs-site #terms .article,
html[data-icabs-theme="dark"] .icabs-site .login-container,
html[data-icabs-theme="dark"] .icabs-site .login-wrapper,
html[data-icabs-theme="dark"] .icabs-site .profile-wrapper,
html[data-icabs-theme="dark"] .icabs-site .booking-process,
html[data-icabs-theme="dark"] .icabs-site .booking-process-v2,
html[data-icabs-theme="dark"] .icabs-site .vehicle-selection-wrapper { background: #0b1930 !important; color: #ecf3ff; }
html[data-icabs-theme="dark"] .icabs-site .form-control,
html[data-icabs-theme="dark"] .icabs-site .form-select { background: #0f2039; border-color: #29405e; color: #eff5ff; }
html[data-icabs-theme="dark"] .icabs-site .form-control::placeholder { color: #8393aa; }

/* Standalone customer/account pages */
body.icabs-account-page { min-height: 100vh; background: var(--icabs-surface-soft) !important; }
body.icabs-account-page > .container:first-of-type, body.icabs-account-page > main:first-of-type { position: relative; }
body.icabs-account-page .card, body.icabs-account-page .shadow-sm, body.icabs-account-page .bg-white {
  border-color: var(--icabs-border) !important;
}
body.icabs-account-page .card { border-radius: 20px; background: var(--icabs-surface); box-shadow: var(--icabs-shadow-sm); }
body.icabs-account-page .navbar-top + nav, body.icabs-account-page header > nav { background: var(--icabs-surface) !important; }
body.icabs-account-page table { color: var(--icabs-ink); }
body.icabs-account-page .table > :not(caption) > * > * { border-color: var(--icabs-border); }
body.icabs-account-page .text-muted { color: var(--icabs-muted) !important; }
body.icabs-account-page .modal-content { border: 1px solid var(--icabs-border); border-radius: 20px; background: var(--icabs-surface); color: var(--icabs-ink); }
body.icabs-account-page .list-group-item { border-color: var(--icabs-border); background: var(--icabs-surface); color: var(--icabs-ink); }
html[data-icabs-theme="dark"] body.icabs-account-page .bg-light { background: var(--icabs-surface-soft) !important; }
html[data-icabs-theme="dark"] body.icabs-account-page .bg-white,
html[data-icabs-theme="dark"] body.icabs-account-page .card,
html[data-icabs-theme="dark"] body.icabs-account-page .modal-content,
html[data-icabs-theme="dark"] body.icabs-account-page .list-group-item { background: var(--icabs-surface) !important; color: var(--icabs-ink); }

/* V3.0.1 booking-address readability */
.icabs-web-booking-card {
  container-type: inline-size;
}
.icabs-web-booking-fields > * {
  min-width: 0;
}
.icabs-web-booking-card .input-group {
  flex-wrap: nowrap;
  min-width: 0;
}
.icabs-web-booking-card .form-control.icabs-address-input {
  min-width: 0;
  width: 0;
  flex: 1 1 0;
  overflow-x: auto;
  text-overflow: clip;
  white-space: nowrap;
  padding-right: 12px;
  font-size: 13px;
  caret-color: currentColor;
}
.icabs-web-booking-fields .min-form-pickup,
.icabs-web-booking-fields .min-form-dropoff,
.icabs-web-booking-fields .min-form-datetime,
.icabs-web-booking-fields .min-form-submit {
  width: 100%;
  max-width: none;
}
.icabs-address-preview {
  display: none;
  width: 100%;
  margin: 6px 0 1px;
  padding: 7px 9px;
  border: 1px solid #d7e3f0;
  border-radius: 9px;
  background: #f5f8fc;
  color: #33445c;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.38;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.icabs-address-preview.has-value {
  display: block;
}
.icabs-address-preview.has-value::before {
  content: "Full address";
  display: block;
  margin-bottom: 2px;
  color: #63748b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.icabs-address-preview.is-focused {
  border-color: #78adff;
  background: #eef5ff;
  box-shadow: 0 0 0 3px rgba(10, 103, 255, .08);
}
html[data-icabs-theme="dark"] .icabs-address-preview {
  border-color: #294666;
  background: #0a1b32;
  color: #e5effc;
}
html[data-icabs-theme="dark"] .icabs-address-preview.has-value::before { color: #88a4c4; }
html[data-icabs-theme="dark"] .icabs-address-preview.is-focused {
  border-color: #4f93f5;
  background: #0d2442;
  box-shadow: 0 0 0 3px rgba(63, 140, 255, .14);
}

@media (min-width: 992px) {
  .icabs-web-booking-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-right: 0;
    margin-left: 0;
  }
  .icabs-web-booking-fields > [class*="col-"] {
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
  .icabs-web-booking-fields .min-form-datetime,
  .icabs-web-booking-fields .min-form-submit {
    grid-column: 1 / -1;
  }
  .icabs-web-booking-fields .min-form-submit .icabs-web-booking-submit {
    width: 100%;
  }
}

@container (max-width: 620px) {
  .icabs-web-booking-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .icabs-web-booking-fields .min-form-datetime,
  .icabs-web-booking-fields .min-form-submit {
    grid-column: auto;
  }
  .icabs-web-booking-card .form-control.icabs-address-input {
    font-size: 12.5px;
  }
}

/* iCABS Website V3.1 — complete visual correction layer */

/* Visible colour aurora across hero photography and feature backgrounds.
   Original movement speed: 24s. V3.2.3 request: aurora only at 2.5× speed = 9.6s. */
.icabs-hero::after,
.icabs-page-hero::after,
.icabs-section--soft::before,
.icabs-section--blue::before,
.icabs-airport-panel::after,
.icabs-app-panel::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  width: 82%;
  height: 150%;
  left: -24%;
  top: -32%;
  opacity: .52;
  background:
    radial-gradient(ellipse at 20% 42%, rgba(23, 126, 255, .78) 0, rgba(23, 126, 255, .34) 25%, transparent 58%),
    radial-gradient(ellipse at 69% 31%, rgba(0, 222, 194, .62) 0, rgba(0, 222, 194, .25) 27%, transparent 60%),
    radial-gradient(ellipse at 53% 75%, rgba(157, 75, 255, .68) 0, rgba(157, 75, 255, .26) 29%, transparent 63%),
    radial-gradient(ellipse at 87% 65%, rgba(255, 184, 64, .38) 0, rgba(255, 184, 64, .12) 23%, transparent 54%);
  filter: blur(30px) saturate(165%) contrast(108%);
  transform: translate3d(-8%, 0, 0) rotate(-7deg) scale(1.06);
  animation: icabsAuroraDrift 9.6s ease-in-out infinite alternate;
  will-change: transform, opacity;
}
.icabs-hero::after,
.icabs-page-hero::after,
.icabs-airport-panel::after,
.icabs-app-panel::before { mix-blend-mode: screen; }
.icabs-section--soft::before,
.icabs-section--blue::before { opacity: .22; mix-blend-mode: multiply; }
html[data-icabs-theme="dark"] .icabs-section--soft::before,
html[data-icabs-theme="dark"] .icabs-section--blue::before { opacity: .40; mix-blend-mode: screen; }
.icabs-hero .container,
.icabs-page-hero .container,
.icabs-section--soft > .container,
.icabs-section--blue > .container,
.icabs-airport-panel__layout,
.icabs-app-panel__layout { position: relative; z-index: 2; }

@keyframes icabsAuroraDrift {
  0% { transform: translate3d(-8%, -2%, 0) rotate(-7deg) scale(1.06); opacity: .24; }
  45% { transform: translate3d(34%, 8%, 0) rotate(3deg) scale(1.15); opacity: .42; }
  100% { transform: translate3d(72%, -5%, 0) rotate(9deg) scale(1.08); opacity: .29; }
}

/* Fleet photographs now share one consistent night-time presentation. */
.icabs-fleet-card__image {
  height: 220px;
  padding: 0;
  overflow: hidden;
  background: #071426;
}
.icabs-fleet-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  filter: none;
}
.icabs-fleet-card:hover .icabs-fleet-card__image img {
  transform: scale(1.035);
}

/* Modern route and passenger-details stages. */
.icabs-page-hero--compact { padding: 68px 0 62px; }
.icabs-booking-stage { background: var(--icabs-surface-soft); }
.icabs-booking-stage__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 24px;
}
.icabs-booking-stage__steps span {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--icabs-border);
  border-radius: 13px;
  background: var(--icabs-surface);
  color: var(--icabs-muted);
  font-size: 12px;
  font-weight: 800;
}
.icabs-booking-stage__steps .is-complete { color: #11724f; background: #eaf8f2; border-color: #c6eadc; }
.icabs-booking-stage__steps .is-current { color: #0758d7; background: #eaf3ff; border-color: #bad6ff; box-shadow: 0 8px 24px rgba(10,103,255,.10); }
.icabs-vehicle-selection-modern,
.icabs-booking-details-modern {
  padding: clamp(16px, 3vw, 30px);
  border: 1px solid var(--icabs-border);
  border-radius: 26px;
  background: var(--icabs-surface);
  box-shadow: var(--icabs-shadow-md);
}
.icabs-booking-help {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #cfe0fb;
  border-radius: 14px;
  background: #eef5ff;
  color: #385579;
  font-size: 12px;
  font-weight: 650;
}
.icabs-booking-help i { margin-top: 3px; color: var(--icabs-blue-600); }
.icabs-vehicle-selection-modern .card,
.icabs-booking-details-modern .card,
.icabs-booking-details-modern .booking-process,
.icabs-booking-details-modern .booking-process-v2 {
  overflow: hidden;
  border-color: var(--icabs-border) !important;
  border-radius: 18px !important;
  background: var(--icabs-surface) !important;
  box-shadow: 0 8px 28px rgba(8,28,64,.08) !important;
}
.icabs-vehicle-selection-modern .card-header,
.icabs-booking-details-modern .card-header { border-color: var(--icabs-border); background: var(--icabs-surface-soft); }
.icabs-vehicle-selection-modern .vehicle-img-wrapper { min-height: 150px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg, #eef4fc, #f9fbff); }
.icabs-vehicle-selection-modern .vehicle-img-wrapper img { max-height: 135px; object-fit: contain; }

/* Complete booking-widget dark mode and improved contrast. */
html[data-icabs-theme="dark"] .icabs-hero__booking .banner-v2,
html[data-icabs-theme="dark"] .icabs-web-booking-card {
  border-color: #294766;
  background: rgba(7, 20, 39, .97) !important;
  color: #eef5ff !important;
  box-shadow: 0 30px 85px rgba(0,0,0,.52);
}
html[data-icabs-theme="dark"] .icabs-web-booking-heading strong,
html[data-icabs-theme="dark"] .icabs-web-field-label,
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button strong { color: #eef5ff; }
html[data-icabs-theme="dark"] .icabs-web-booking-kicker { color: #75b5ff; }
html[data-icabs-theme="dark"] .icabs-web-live-status { background: #102b50; color: #83bdff; }
html[data-icabs-theme="dark"] .icabs-web-live-status.is-scheduled { background: #17263a; color: #cad7e7; }
html[data-icabs-theme="dark"] .icabs-web-booking-mode { background: #05152a; border: 1px solid #213b5a; }
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button { color: #9fb1c8; }
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button.is-active {
  background: #102a4d;
  color: #84bdff;
  box-shadow: 0 5px 18px rgba(0,0,0,.28);
}
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-control,
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-select,
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .input-group-text {
  border-color: #294868;
  background-color: #0b1d35;
  color: #f0f6ff;
}
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-control::placeholder { color: #91a4bc; opacity: 1; }
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-control:focus,
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-select:focus {
  border-color: #5b9ff5;
  background: #0d2442;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(51,137,255,.16);
}
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .input-group-text { color: #70affb; }
html[data-icabs-theme="dark"] .icabs-web-booking-hint,
html[data-icabs-theme="dark"] .icabs-web-booking-card p { color: #acbdd2; }
html[data-icabs-theme="dark"] .icabs-web-booking-card .btn-outline-primary { color: #8fc3ff; border-color: #3a73b3; }
html[data-icabs-theme="dark"] .icabs-web-booking-card .btn-check:checked + .btn-outline-primary { background: #1666cb; color: #fff; }
html[data-icabs-theme="dark"] .icabs-web-booking-card select option { background: #0b1d35; color: #eef5ff; }

/* Autocomplete and date/time menus remain readable in both themes. */
.ui-autocomplete {
  z-index: 1200 !important;
  max-width: min(540px, calc(100vw - 24px));
  max-height: 310px;
  overflow-y: auto;
  border: 1px solid var(--icabs-border) !important;
  border-radius: 13px;
  background: var(--icabs-surface) !important;
  box-shadow: var(--icabs-shadow-md);
}
.ui-autocomplete .ui-menu-item-wrapper { padding: 10px 12px; color: var(--icabs-ink); white-space: normal; line-height: 1.35; }
.ui-autocomplete .ui-state-active { margin: 0 !important; border: 0 !important; background: var(--icabs-blue-100) !important; color: var(--icabs-blue-700) !important; }
html[data-icabs-theme="dark"] .ui-autocomplete { border-color: #294867 !important; background: #0b1d35 !important; }
html[data-icabs-theme="dark"] .ui-autocomplete .ui-menu-item-wrapper { color: #eaf2ff; }
html[data-icabs-theme="dark"] .ui-autocomplete .ui-state-active { background: #12335c !important; color: #9dcbff !important; }
html[data-icabs-theme="dark"] .bootstrap-datetimepicker-widget,
html[data-icabs-theme="dark"] .datepicker,
html[data-icabs-theme="dark"] .datepicker table { background: #0b1d35 !important; color: #eaf2ff !important; }
html[data-icabs-theme="dark"] .bootstrap-datetimepicker-widget td.day:hover,
html[data-icabs-theme="dark"] .bootstrap-datetimepicker-widget td span:hover { background: #14355f !important; }

/* Dark maps: Google Embed does not expose a style API, so apply a reversible night filter. */
.icabs-map-frame { transition: filter .3s ease, opacity .3s ease; background: #dfe9f4; }
html[data-icabs-theme="dark"] .icabs-map-frame {
  background: #071426;
  filter: invert(92%) hue-rotate(178deg) brightness(78%) contrast(92%) saturate(78%);
}

/* Complete internal-page dark mode coverage. */
html[data-icabs-theme="dark"] .icabs-booking-stage { background: #050e1f; }
html[data-icabs-theme="dark"] .icabs-booking-stage__steps span,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern,
html[data-icabs-theme="dark"] .icabs-booking-details-modern,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .card,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .card,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .booking-process,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .booking-process-v2 {
  border-color: #213b5a !important;
  background: #0b1930 !important;
  color: #edf4ff !important;
}
html[data-icabs-theme="dark"] .icabs-booking-stage__steps .is-complete { background: #0d3028 !important; border-color: #1d5b4b !important; color: #8ae0c0 !important; }
html[data-icabs-theme="dark"] .icabs-booking-stage__steps .is-current { background: #102f58 !important; border-color: #2c69ad !important; color: #9dcbff !important; }
html[data-icabs-theme="dark"] .icabs-booking-help { border-color: #294767; background: #0c213d; color: #b9c9dc; }
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .card-header,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .card-header,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .vehicle-img-wrapper,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .bg-light,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .bg-light { border-color: #213b5a !important; background: #10243f !important; color: #eef5ff !important; }
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .text-muted,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .text-muted { color: #aabbd0 !important; }
html[data-icabs-theme="dark"] .icabs-site .accordion-body,
html[data-icabs-theme="dark"] .icabs-site label,
html[data-icabs-theme="dark"] .icabs-site .form-text,
html[data-icabs-theme="dark"] .icabs-site small { color: #b1c1d5; }
html[data-icabs-theme="dark"] .icabs-site .table { color: #e9f1fc; }
html[data-icabs-theme="dark"] .icabs-site .table > :not(caption) > * > * { border-color: #29425f; background: transparent; }
html[data-icabs-theme="dark"] .icabs-site .modal-content,
html[data-icabs-theme="dark"] .icabs-site .dropdown-menu,
html[data-icabs-theme="dark"] .icabs-site .list-group-item { border-color: #29425f; background: #0b1930; color: #edf4ff; }

/* Ensure logos and controls remain visible against every surface. */
html[data-icabs-theme="dark"] .icabs-brand,
html[data-icabs-theme="dark"] .icabs-footer__brand { border-radius: 14px; background: #fff; }
.icabs-menu-icon i,
.icabs-icon-box i,
.icabs-check-list i,
.icabs-footer i,
.icabs-announcement i { display: inline-block; min-width: 1em; text-align: center; }

@media (max-width: 767px) {
  .icabs-booking-stage__steps { grid-template-columns: 1fr 1fr; }
  .icabs-fleet-card__image { height: 205px; }
}
@media (max-width: 479px) {
  .icabs-booking-stage__steps { grid-template-columns: 1fr; }
  .icabs-address-preview { font-size: 10.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .icabs-hero::after,
  .icabs-page-hero::after,
  .icabs-section--soft::before,
  .icabs-section--blue::before,
  .icabs-airport-panel::after,
  .icabs-app-panel::before { animation: none !important; }
}

.icabs-heading-link { color: inherit; text-decoration: none; }
.icabs-heading-link:hover { color: var(--icabs-blue-600); }

/* iCABS Website V3.2 — SEO and readability layer */
:root {
  --icabs-muted: #52627a;
}

/* Stronger text hierarchy and contrast on every public page. */
body.icabs-site {
  font-size: 16.5px;
  line-height: 1.68;
}
body.icabs-site p,
.icabs-card p,
.icabs-content-card p,
.icabs-service-detail p,
.icabs-contact-card p,
.icabs-section-heading p {
  color: #52627a;
}
.icabs-card h2,
.icabs-card h3,
.icabs-card h4,
.icabs-content-card h2,
.icabs-content-card h3,
.icabs-content-card h4 {
  color: #10203a;
  font-weight: 850;
}
.icabs-card p,
.icabs-content-card p,
.icabs-service-detail p {
  font-size: 15px;
  line-height: 1.72;
}
.icabs-proof strong { color: #13233d; }
.icabs-proof span { color: #596a82; }
.icabs-check-list li { color: #40516a; }
.icabs-check-list span { color: #596a82; }
.icabs-fleet-card__meta span,
.icabs-service-detail__features span { color: #43536b; }
.text-muted { color: #596a82 !important; }

/* Text over photography receives a dependable contrast layer. */
.icabs-hero::before,
.icabs-page-hero::before {
  background: linear-gradient(90deg, rgba(2, 12, 31, .93) 0%, rgba(3, 19, 46, .81) 48%, rgba(3, 16, 39, .69) 100%);
}
.icabs-hero h1,
.icabs-page-hero h1,
.icabs-airport-panel h2,
.icabs-app-panel h2,
.icabs-cta h2 { color: #fff !important; text-shadow: 0 2px 18px rgba(0,0,0,.24); }
.icabs-hero__lead,
.icabs-page-hero p,
.icabs-airport-panel p,
.icabs-app-panel p,
.icabs-cta p { color: #e0ebf8 !important; }
.icabs-breadcrumbs { color: #c1d4e9; }
.icabs-hero__trust,
.icabs-hero__booking-caption { color: #e4eef9; }

/* Booking widget: readable mode labels, fields, addresses and helper text. */
.icabs-web-booking-card {
  color: #14223a;
}
.icabs-web-booking-heading {
  gap: 14px;
}
.icabs-web-booking-heading strong {
  color: #12213a;
  font-size: clamp(1.15rem, 2vw, 1.42rem);
  line-height: 1.25;
}
.icabs-web-booking-kicker,
.icabs-web-field-label { color: #233751; }
.icabs-web-booking-mode {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.icabs-web-booking-mode__button {
  min-width: 0;
  min-height: 62px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  text-align: left;
}
.icabs-web-booking-mode__button > span,
.icabs-web-booking-mode__button strong,
.icabs-web-booking-mode__button small {
  display: block;
  min-width: 0;
}
.icabs-web-booking-mode__button strong {
  color: #162640;
  font-size: 14px;
  line-height: 1.25;
}
.icabs-web-booking-mode__button small {
  margin-top: 2px;
  color: #5b6d85;
  font-size: 11px;
  line-height: 1.3;
  white-space: normal;
}
.icabs-web-booking-mode__button.is-active strong { color: #0757d8; }
.icabs-web-booking-card #frmCabookie .form-control,
.icabs-web-booking-card #frmCabookie .form-select {
  color: #13233c;
  font-size: 14px;
  font-weight: 650;
}
.icabs-web-booking-card #frmCabookie .form-control::placeholder {
  color: #6b7b90;
  opacity: 1;
}
.icabs-web-booking-hint {
  display: block;
  margin-top: 8px;
  color: #44566f;
  font-size: 11.5px;
  line-height: 1.45;
  white-space: normal;
}
.icabs-address-preview {
  color: #233650;
  font-size: 12px;
  line-height: 1.5;
}
.icabs-address-preview.has-value::before { color: #50627a; }
.ui-autocomplete .ui-menu-item-wrapper {
  color: #15253d;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

/* Booking and passenger details pages: make inherited Cabookie text easy to read. */
.icabs-booking-stage__steps span {
  color: #52627a;
  font-size: 13px;
}
.icabs-vehicle-selection-modern,
.icabs-booking-details-modern,
.icabs-vehicle-selection-modern .card,
.icabs-booking-details-modern .card,
.icabs-booking-details-modern .booking-process,
.icabs-booking-details-modern .booking-process-v2 {
  color: #162640 !important;
}
.icabs-vehicle-selection-modern p,
.icabs-booking-details-modern p,
.icabs-vehicle-selection-modern label,
.icabs-booking-details-modern label,
.icabs-vehicle-selection-modern small,
.icabs-booking-details-modern small,
.icabs-vehicle-selection-modern .text-muted,
.icabs-booking-details-modern .text-muted {
  color: #52627a !important;
}
.icabs-vehicle-selection-modern .card-title,
.icabs-booking-details-modern .card-title,
.icabs-vehicle-selection-modern h2,
.icabs-vehicle-selection-modern h3,
.icabs-vehicle-selection-modern h4,
.icabs-booking-details-modern h2,
.icabs-booking-details-modern h3,
.icabs-booking-details-modern h4 {
  color: #10203a !important;
}
.icabs-site .form-control,
.icabs-site .form-select {
  color: #15253e;
  background-color: #fff;
}
.icabs-site .form-control::placeholder { color: #6d7e94; opacity: 1; }
.icabs-site .table { color: #263750; }
.icabs-site .accordion-button { color: #162640; font-weight: 750; }
.icabs-site .accordion-body { color: #4f6078; }

/* Dark mode readability hardening. */
html[data-icabs-theme="dark"] {
  --icabs-muted: #c0cee0;
}
html[data-icabs-theme="dark"] body.icabs-site,
html[data-icabs-theme="dark"] .icabs-card,
html[data-icabs-theme="dark"] .icabs-content-card {
  color: #f3f7fd;
}
html[data-icabs-theme="dark"] body.icabs-site p,
html[data-icabs-theme="dark"] .icabs-card p,
html[data-icabs-theme="dark"] .icabs-content-card p,
html[data-icabs-theme="dark"] .icabs-section-heading p,
html[data-icabs-theme="dark"] .icabs-service-detail p,
html[data-icabs-theme="dark"] .icabs-contact-card p,
html[data-icabs-theme="dark"] .icabs-proof span,
html[data-icabs-theme="dark"] .icabs-check-list span,
html[data-icabs-theme="dark"] .icabs-check-list li,
html[data-icabs-theme="dark"] .text-muted {
  color: #c4d1e2 !important;
}
html[data-icabs-theme="dark"] .icabs-card h2,
html[data-icabs-theme="dark"] .icabs-card h3,
html[data-icabs-theme="dark"] .icabs-card h4,
html[data-icabs-theme="dark"] .icabs-content-card h2,
html[data-icabs-theme="dark"] .icabs-content-card h3,
html[data-icabs-theme="dark"] .icabs-content-card h4,
html[data-icabs-theme="dark"] .icabs-proof strong {
  color: #f5f8fd !important;
}
html[data-icabs-theme="dark"] .icabs-fleet-card__meta span,
html[data-icabs-theme="dark"] .icabs-service-detail__features span {
  background: #142641;
  color: #d4dfed;
}
html[data-icabs-theme="dark"] .icabs-web-booking-heading strong,
html[data-icabs-theme="dark"] .icabs-web-booking-kicker,
html[data-icabs-theme="dark"] .icabs-web-field-label,
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button strong {
  color: #f4f8ff !important;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button small,
html[data-icabs-theme="dark"] .icabs-web-booking-hint {
  color: #c0cee0 !important;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button.is-active strong { color: #9dcbff !important; }
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-control,
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-select {
  color: #f7faff !important;
  background-color: #0d223d !important;
}
html[data-icabs-theme="dark"] .icabs-web-booking-card #frmCabookie .form-control::placeholder {
  color: #b0bfd1 !important;
}
html[data-icabs-theme="dark"] .icabs-address-preview {
  color: #f0f5fc;
  background: #0d223d;
}
html[data-icabs-theme="dark"] .icabs-address-preview.has-value::before { color: #aebed2; }
html[data-icabs-theme="dark"] .ui-autocomplete .ui-menu-item-wrapper {
  color: #f0f5fc;
}
html[data-icabs-theme="dark"] .icabs-booking-stage__steps span { color: #c5d2e2; }
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern,
html[data-icabs-theme="dark"] .icabs-booking-details-modern,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .card,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .card,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .booking-process,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .booking-process-v2 {
  color: #f2f7fd !important;
}
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern p,
html[data-icabs-theme="dark"] .icabs-booking-details-modern p,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern label,
html[data-icabs-theme="dark"] .icabs-booking-details-modern label,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern small,
html[data-icabs-theme="dark"] .icabs-booking-details-modern small,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .text-muted,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .text-muted {
  color: #c7d4e4 !important;
}
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .card-title,
html[data-icabs-theme="dark"] .icabs-booking-details-modern .card-title,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern h2,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern h3,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern h4,
html[data-icabs-theme="dark"] .icabs-booking-details-modern h2,
html[data-icabs-theme="dark"] .icabs-booking-details-modern h3,
html[data-icabs-theme="dark"] .icabs-booking-details-modern h4 {
  color: #f5f8fd !important;
}
html[data-icabs-theme="dark"] .icabs-site .form-control,
html[data-icabs-theme="dark"] .icabs-site .form-select,
html[data-icabs-theme="dark"] .icabs-site .input-group-text {
  border-color: #34506f;
  background-color: #0d223d;
  color: #f5f8fd;
}
html[data-icabs-theme="dark"] .icabs-site .form-control::placeholder { color: #aebdd0; }
html[data-icabs-theme="dark"] .icabs-site .table { color: #eef4fc; }
html[data-icabs-theme="dark"] .icabs-site .accordion-button,
html[data-icabs-theme="dark"] .icabs-site .accordion-body { color: #eef4fc; }
html[data-icabs-theme="dark"] .icabs-site .accordion-button::after { filter: brightness(0) invert(1); }

/* The embedded map follows dark mode with a stronger night treatment. */
html[data-icabs-theme="dark"] .icabs-map-frame {
  filter: invert(93%) hue-rotate(180deg) brightness(67%) contrast(108%) saturate(72%);
}

/* V3.2.3 motion balance: restore every normal animation to its original timing.
   Only the aurora remains accelerated at 2.5× (9.6s), defined in its base rule above. */
.icabs-announcement::before { animation-duration: 7s; }
.icabs-status-dot { animation-duration: 2.4s; }
.icabs-reveal { transition-duration: .7s; }
.icabs-reveal[data-delay="1"] { transition-delay: .08s; }
.icabs-reveal[data-delay="2"] { transition-delay: .16s; }
.icabs-reveal[data-delay="3"] { transition-delay: .24s; }
.icabs-reveal[data-delay="4"] { transition-delay: .32s; }
.icabs-hero__orb--one { animation-duration: 8s; }
.icabs-hero__orb--two { animation-duration: 10s; }
@media (max-width: 767px) {
  .icabs-announcement__ticker { animation-duration: 44s; }
}

/* V3.2.5 calm announcement ticker: the mobile icon/message strip now completes
   one loop in 44 seconds. Normal reveal timing stays at 0.7s and the aurora
   remains at 9.6s (2.5x the original aurora speed). */
@media (max-width: 767px) {
  .icabs-announcement__ticker { animation-duration: 44s; }
  .icabs-announcement__ticker:hover,
  .icabs-announcement__ticker:focus-within { animation-play-state: paused; }
}

@media (max-width: 575px) {
  .icabs-web-booking-heading { align-items: flex-start; }
  .icabs-web-booking-mode { grid-template-columns: 1fr; }
  .icabs-web-booking-mode__button { min-height: 56px; }
  .icabs-card p,
  .icabs-content-card p,
  .icabs-service-detail p { font-size: 14.5px; }
}


/* ================================================================
   V3.2.4 — Professional image framing and original motion timing
   - Main page reveal motion remains at the original 0.7 seconds.
   - Aurora remains at V3.2.3 speed: 9.6 seconds (2.5× original).
   - Fleet and booking vehicle photographs use consistent 5:3 framing.
   ================================================================ */

/* Original comfortable page entrance timing. */
.icabs-reveal {
  transition-duration: .7s !important;
}
.icabs-service-card__image img,
.icabs-fleet-card__image img,
.icabs-media-stack img,
.icabs-content-card > img {
  transition-duration: .7s !important;
}

/* Keep the colourful aurora at its current 2.5× speed. */
.icabs-hero::after,
.icabs-page-hero::after,
.icabs-section--soft::before,
.icabs-section--blue::before,
.icabs-airport-panel::after,
.icabs-app-panel::before {
  animation-duration: 9.6s !important;
}

/* Fleet cards: show the complete professionally framed photograph. */
.icabs-fleet-card__image {
  height: auto !important;
  aspect-ratio: 5 / 3;
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(145deg, #07172d, #102d52) !important;
}
.icabs-fleet-card__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
}
.icabs-fleet-card:hover .icabs-fleet-card__image img {
  transform: scale(1.035) !important;
}

/* Cabookie vehicle-selection cards: eliminate tiny, stretched or floating images. */
.icabs-vehicle-selection-modern .vehicle-img-wrapper {
  min-height: 0 !important;
  width: 100%;
  aspect-ratio: 5 / 3;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(20, 94, 180, .14);
  border-radius: 16px !important;
  background: linear-gradient(145deg, #07172d, #15365d) !important;
}
.icabs-vehicle-selection-modern .vehicle-img-wrapper img,
.icabs-vehicle-selection-modern .vehicle-option-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Modern public content cards: consistent crop, clear subject and no distortion. */
.icabs-content-card > img {
  display: block;
  width: 100% !important;
  height: clamp(220px, 27vw, 350px) !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
  background: #0b1d35;
}
.icabs-content-card > img[src*="IMG_1902"] {
  object-fit: contain !important;
  padding: clamp(14px, 2vw, 26px);
  background: linear-gradient(145deg, #06142f, #123a6d);
}
.icabs-content-card > img[src*="icabs-liverpool-about"] {
  object-fit: contain !important;
  padding: clamp(14px, 2vw, 26px);
  background: #06142f;
}
.icabs-content-card > img[src*="service-areas"] { object-position: center 52% !important; }
.icabs-content-card > img[src*="airport-transfer"] { object-position: center 48% !important; }
.icabs-content-card > img[src*="corporate-private-hire"] { object-position: center 42% !important; }
.icabs-content-card > img[src*="long-distance"] { object-position: center 54% !important; }

/* Service, airport and split visuals: predictable crops and useful focal points. */
.icabs-service-card__image {
  aspect-ratio: 16 / 10;
  height: auto !important;
  min-height: 190px;
}
.icabs-service-card__image img,
.icabs-airport-panel__image img,
.icabs-media-stack__main img,
.icabs-media-stack__small img {
  object-fit: cover !important;
  object-position: center center !important;
}
.icabs-service-card__image img[src*="wedding"] { object-position: center 38% !important; }
.icabs-service-card__image img[src*="group-transportation"] { object-position: center 55% !important; }
.icabs-service-card__image img[src*="station-transfers"] { object-position: center 50% !important; }
.icabs-media-stack__small img[src*="home4-img5"] { object-position: center 30% !important; }
.icabs-media-stack__small img[src*="home4-img8"] { object-position: center 32% !important; }

/* Legacy public templates also receive safe, professional image framing. */
.icabs-site .media-object-home6,
.icabs-site .home6-feature1-img,
.icabs-site .home6-feature4-img,
.icabs-site .feature2-sec-img,
.icabs-site .feature3-sec-img,
.icabs-site .home5-feature3-w {
  width: 100%;
  max-width: 100%;
  border-radius: 18px;
  object-fit: cover;
  object-position: center;
}

/* Keep app and store artwork uncropped. */
.icabs-app-panel__image img,
.icabs-store-buttons img,
img[src*="app-store-badge"],
img[src*="google-play-badge"],
img[src*="app-download"] {
  object-fit: contain !important;
}

html[data-icabs-theme="dark"] .icabs-fleet-card__image,
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .vehicle-img-wrapper {
  background: linear-gradient(145deg, #020b18, #102b4e) !important;
  border-color: rgba(104, 176, 255, .24);
}

@media (max-width: 767.98px) {
  .icabs-content-card > img {
    height: clamp(210px, 62vw, 310px) !important;
  }
  .icabs-fleet-card__image,
  .icabs-vehicle-selection-modern .vehicle-img-wrapper {
    aspect-ratio: 5 / 3;
  }
}

/* ================================================================
   V3.2.6 — Calm first-scroll card entrances
   Keep normal content reveals at 0.7s, the announcement ticker at 44s,
   and the aurora at 9.6s. Only card-style panels receive a gentler,
   slightly longer entrance with a clear stagger between neighbouring cards.
   ================================================================ */
.icabs-grid > .icabs-card.icabs-reveal,
.icabs-contact-grid > .icabs-card.icabs-reveal,
.icabs-service-card.icabs-reveal,
.icabs-fleet-card.icabs-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  transition-property: opacity, transform !important;
  transition-duration: 1.05s !important;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
  transition-delay: 0s !important;
  will-change: opacity, transform;
}
.icabs-grid > .icabs-card.icabs-reveal[data-delay="1"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="1"],
.icabs-service-card.icabs-reveal[data-delay="1"],
.icabs-fleet-card.icabs-reveal[data-delay="1"] { transition-delay: .14s !important; }
.icabs-grid > .icabs-card.icabs-reveal[data-delay="2"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="2"],
.icabs-service-card.icabs-reveal[data-delay="2"],
.icabs-fleet-card.icabs-reveal[data-delay="2"] { transition-delay: .28s !important; }
.icabs-grid > .icabs-card.icabs-reveal[data-delay="3"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="3"],
.icabs-service-card.icabs-reveal[data-delay="3"],
.icabs-fleet-card.icabs-reveal[data-delay="3"] { transition-delay: .42s !important; }
.icabs-grid > .icabs-card.icabs-reveal[data-delay="4"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="4"],
.icabs-service-card.icabs-reveal[data-delay="4"],
.icabs-fleet-card.icabs-reveal[data-delay="4"] { transition-delay: .56s !important; }
.icabs-grid > .icabs-card.icabs-reveal.is-visible,
.icabs-contact-grid > .icabs-card.icabs-reveal.is-visible,
.icabs-service-card.icabs-reveal.is-visible,
.icabs-fleet-card.icabs-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}
@media (max-width: 767px) {
  .icabs-grid > .icabs-card.icabs-reveal,
  .icabs-contact-grid > .icabs-card.icabs-reveal,
  .icabs-service-card.icabs-reveal,
  .icabs-fleet-card.icabs-reveal {
    transform: translate3d(0, 26px, 0) scale(.99);
    transition-duration: .95s !important;
  }
  .icabs-grid > .icabs-card.icabs-reveal.is-visible,
  .icabs-contact-grid > .icabs-card.icabs-reveal.is-visible,
  .icabs-service-card.icabs-reveal.is-visible,
  .icabs-fleet-card.icabs-reveal.is-visible {
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .icabs-grid > .icabs-card.icabs-reveal,
  .icabs-contact-grid > .icabs-card.icabs-reveal,
  .icabs-service-card.icabs-reveal,
  .icabs-fleet-card.icabs-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ================================================================
   V3.2.7 — Normal typography, slower cards and desktop ticker repair
   - Restore a balanced, normal-sized type scale across public pages.
   - Card entrances are exactly 2× slower than V3.2.6.
   - The blue announcement strip loops on desktop and mobile in 44s.
   - Aurora remains unchanged at 9.6s (2.5× original speed).
   ================================================================ */

/* Normal, readable typography without oversized headings or body copy. */
body.icabs-site {
  font-size: 16px !important;
  line-height: 1.62 !important;
}
.icabs-section-heading h2 {
  font-size: clamp(1.8rem, 3.25vw, 2.8rem) !important;
}
.icabs-section-heading p,
.icabs-page-hero p {
  font-size: 1rem !important;
}
.icabs-hero h1 {
  font-size: clamp(2.45rem, 5vw, 4.5rem) !important;
}
.icabs-page-hero h1 {
  font-size: clamp(2.25rem, 4.4vw, 4rem) !important;
}
.icabs-card h3,
.icabs-service-card h3,
.icabs-fleet-card h3 {
  font-size: 1.16rem !important;
}
.icabs-card p,
.icabs-content-card p,
.icabs-service-detail p,
.icabs-contact-card p {
  font-size: .94rem !important;
  line-height: 1.65 !important;
}
.icabs-check-list strong { font-size: 13.5px !important; }
.icabs-check-list span { font-size: 12.5px !important; }
.icabs-stat strong { font-size: 2rem !important; }
.icabs-cta h2 { font-size: clamp(1.8rem, 3.2vw, 2.7rem) !important; }
.icabs-navbar .nav-link { font-size: 13.5px !important; }

/* Booking widget typography returned to a compact professional scale. */
.icabs-web-booking-heading strong {
  font-size: 1.15rem !important;
}
.icabs-web-booking-mode__button strong { font-size: 13px !important; }
.icabs-web-booking-mode__button small { font-size: 10.5px !important; }
.icabs-web-field-label { font-size: 13px !important; }
.icabs-web-booking-card #frmCabookie .form-control,
.icabs-web-booking-card #frmCabookie .form-select {
  font-size: 13.5px !important;
}
.icabs-address-preview { font-size: 11.5px !important; }
.icabs-web-booking-hint { font-size: 11px !important; }

/* Desktop and mobile announcement ticker. The viewport protects the Book
   your ride link while the duplicated ticker content moves continuously. */
.icabs-announcement__viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.icabs-announcement__ticker {
  width: max-content;
  min-width: max-content;
  padding-right: 26px;
  animation: icabsTicker 44s linear infinite !important;
  will-change: transform;
}
.icabs-announcement__ticker:hover,
.icabs-announcement__ticker:focus-within {
  animation-play-state: paused;
}

/* Exactly 2× slower than V3.2.6 card timings. */
.icabs-grid > .icabs-card.icabs-reveal,
.icabs-contact-grid > .icabs-card.icabs-reveal,
.icabs-service-card.icabs-reveal,
.icabs-fleet-card.icabs-reveal {
  transition-duration: 2.1s !important;
}
.icabs-grid > .icabs-card.icabs-reveal[data-delay="1"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="1"],
.icabs-service-card.icabs-reveal[data-delay="1"],
.icabs-fleet-card.icabs-reveal[data-delay="1"] { transition-delay: .28s !important; }
.icabs-grid > .icabs-card.icabs-reveal[data-delay="2"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="2"],
.icabs-service-card.icabs-reveal[data-delay="2"],
.icabs-fleet-card.icabs-reveal[data-delay="2"] { transition-delay: .56s !important; }
.icabs-grid > .icabs-card.icabs-reveal[data-delay="3"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="3"],
.icabs-service-card.icabs-reveal[data-delay="3"],
.icabs-fleet-card.icabs-reveal[data-delay="3"] { transition-delay: .84s !important; }
.icabs-grid > .icabs-card.icabs-reveal[data-delay="4"],
.icabs-contact-grid > .icabs-card.icabs-reveal[data-delay="4"],
.icabs-service-card.icabs-reveal[data-delay="4"],
.icabs-fleet-card.icabs-reveal[data-delay="4"] { transition-delay: 1.12s !important; }

@media (max-width: 767px) {
  .icabs-grid > .icabs-card.icabs-reveal,
  .icabs-contact-grid > .icabs-card.icabs-reveal,
  .icabs-service-card.icabs-reveal,
  .icabs-fleet-card.icabs-reveal {
    transition-duration: 1.9s !important;
  }
  .icabs-section-heading h2 { font-size: clamp(1.65rem, 8vw, 2.25rem) !important; }
  .icabs-hero h1 { font-size: clamp(2.25rem, 10.5vw, 3.55rem) !important; }
  .icabs-page-hero h1 { font-size: clamp(2rem, 10vw, 3.2rem) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .icabs-announcement__ticker {
    animation: none !important;
    transform: none !important;
  }
}


/* V3.2.7 — permanently suppress legacy Negup developer-credit elements. */
.icabs-footer a[href*="negup" i],
.icabs-footer [class*="negup" i],
.icabs-footer [id*="negup" i],
footer a[href*="negup" i] {
  display: none !important;
}


/* V3.2.8 – dark-review, logo visibility and booking-mode refresh */
.icabs-brand,
.icabs-footer__brand {
  padding: 10px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(12, 28, 52, .08);
  box-shadow: 0 10px 26px rgba(7, 21, 47, .08);
}
.icabs-brand img,
.icabs-footer__brand img { display: block; }
html[data-icabs-theme="dark"] .icabs-brand,
html[data-icabs-theme="dark"] .icabs-footer__brand {
  background: rgba(255,255,255,.99) !important;
  border-color: rgba(126, 159, 199, .26) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255,255,255,.04) inset;
}

/* Review cards: strong readable light + dark theme overrides with higher specificity than legacy Cabookie CSS */
.icabs-review-shell #reviewsContent .review-wrapper {
  background: #ffffff !important;
  border-color: #dce6f2 !important;
}
.icabs-review-shell #reviewsContent .review-wrapper p:not(.small),
.icabs-review-shell #reviewsContent .review-wrapper .mb-2,
.icabs-review-shell #reviewsContent .review-wrapper .text-theme-dark {
  color: #42556f !important;
}
.icabs-review-shell #reviewsContent .review-wrapper .h5,
.icabs-review-shell #reviewsContent .review-wrapper h5,
.icabs-review-shell #reviewsContent .review-wrapper .mb-1 {
  color: #162640 !important;
  font-weight: 800;
}
.icabs-review-shell #reviewsContent .review-wrapper .small,
.icabs-review-shell #reviewsContent .review-wrapper .text-muted {
  color: #708198 !important;
}
html[data-icabs-theme="dark"] .icabs-review-shell,
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent > [class*="col-"] {
  color: #edf4ff;
}
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper {
  background: linear-gradient(180deg, rgba(12,27,48,.98), rgba(8,20,38,.98)) !important;
  border: 1px solid #264564 !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.24) !important;
}
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper::before {
  color: #7eb5ff !important;
}
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper p:not(.small),
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .mb-2,
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .text-theme-dark {
  color: #ccdaeb !important;
}
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .h5,
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper h5,
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .mb-1 {
  color: #f4f8ff !important;
}
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .small,
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .text-muted {
  color: #97abc3 !important;
}
html[data-icabs-theme="dark"] .icabs-review-shell #reviewsContent .review-wrapper .starNo {
  color: #36506f !important;
}

/* Booking mode buttons: cleaner modern segmented control */
.icabs-web-booking-mode {
  gap: 10px;
  padding: 0;
  margin-bottom: 16px;
  background: transparent;
  border: 0;
}
.icabs-web-booking-mode__button {
  position: relative;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid #d8e4f3;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  color: #4f6279;
  box-shadow: 0 10px 24px rgba(8, 34, 74, .06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease;
}
.icabs-web-booking-mode__button:hover {
  transform: translateY(-1px);
  border-color: #bed3ee;
  box-shadow: 0 14px 30px rgba(8, 34, 74, .10);
}
.icabs-web-booking-mode__button i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #eef4ff;
  color: #477de6;
  font-size: 1rem;
}
.icabs-web-booking-mode__button strong {
  margin: 0;
  color: #162640;
  font-size: 15px !important;
  font-weight: 800;
}
.icabs-web-booking-mode__button small {
  margin-top: 3px;
  color: #667992;
  font-size: 11.5px !important;
  line-height: 1.35;
}
.icabs-web-booking-mode__button.is-active {
  border-color: rgba(11, 94, 255, .26);
  background: linear-gradient(135deg, rgba(9, 103, 255, .11), rgba(87, 154, 255, .08) 55%, rgba(255,255,255,.98));
  color: #0b63f6;
  box-shadow: 0 18px 34px rgba(11, 99, 246, .16);
}
.icabs-web-booking-mode__button.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
  pointer-events: none;
}
.icabs-web-booking-mode__button.is-active i {
  background: linear-gradient(135deg, #0b66f7, #0a4eca);
  color: #fff;
  box-shadow: 0 8px 18px rgba(11, 99, 246, .25);
}
.icabs-web-booking-mode__button.is-active strong { color: #0b5ee9 !important; }
.icabs-web-booking-mode__button:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px rgba(11, 99, 246, .16), 0 14px 30px rgba(8, 34, 74, .10);
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode {
  background: transparent;
  border: 0;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button {
  border-color: #274766;
  background: linear-gradient(180deg, #0b1b33, #0a1830);
  color: #b9c9dc;
  box-shadow: 0 14px 32px rgba(0,0,0,.24);
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button i {
  background: #102746;
  color: #88bbff;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button strong {
  color: #eef5ff !important;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button small {
  color: #a8bdd6 !important;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button.is-active {
  border-color: #356fb4;
  background: linear-gradient(135deg, rgba(24, 92, 189, .38), rgba(10, 29, 53, .96));
  box-shadow: 0 18px 38px rgba(0,0,0,.28), 0 0 0 1px rgba(74, 140, 230, .14) inset;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button.is-active i {
  background: linear-gradient(135deg, #2f79eb, #1756b5);
  color: #fff;
}
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button.is-active strong { color: #ffffff !important; }
html[data-icabs-theme="dark"] .icabs-web-booking-mode__button.is-active small { color: #dce9fb !important; }

@media (max-width: 767px) {
  .icabs-web-booking-mode__button {
    min-height: 68px;
    padding: 12px 14px;
    border-radius: 16px;
  }
  .icabs-web-booking-mode__button i {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
}


/* V3.2.8.1 – booking mode icon/text spacing hotfix only */
.icabs-web-booking-mode__button {
  grid-template-columns: 38px minmax(0, 1fr) !important;
  column-gap: 14px !important;
}
@media (max-width: 767px) {
  .icabs-web-booking-mode__button {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }
}


/* V3.2.8.2 – vehicle-selection image visibility and live-booking text contrast */
.icabs-live-vehicle-note > div {
  min-width: 0;
}
.icabs-live-vehicle-note strong {
  display: block !important;
  margin: 0 0 3px;
  color: #162640 !important;
  font-weight: 800;
  line-height: 1.3;
}
.icabs-live-vehicle-note small {
  display: block !important;
  margin: 0;
  color: #53667f !important;
  font-size: 12px;
  line-height: 1.45;
}
.icabs-live-vehicle-button {
  min-height: 116px;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #fff !important;
  line-height: 1.3;
  text-decoration: none !important;
}
.icabs-live-vehicle-button > div,
.icabs-live-vehicle-button small,
.icabs-live-vehicle-button:hover > div,
.icabs-live-vehicle-button:hover small,
.icabs-live-vehicle-button:focus > div,
.icabs-live-vehicle-button:focus small {
  color: #fff !important;
  opacity: 1 !important;
}
.icabs-live-vehicle-button > div {
  font-size: 16px;
  line-height: 1.35;
}
.icabs-live-vehicle-button small {
  max-width: 220px;
  margin-top: 2px;
  font-size: 12px !important;
  font-weight: 650;
  line-height: 1.45;
}

/* Show the complete vehicle instead of cropping the front or rear of the car. */
.icabs-vehicle-selection-modern .vehicle-img-wrapper {
  min-height: 190px !important;
  aspect-ratio: 5 / 3;
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(145deg, #eef4fc, #ffffff) !important;
}
.icabs-vehicle-selection-modern .vehicle-img-wrapper img,
.icabs-vehicle-selection-modern .vehicle-option-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.icabs-vehicle-selection-modern .card:hover .vehicle-img-wrapper img,
.icabs-vehicle-selection-modern .card:hover .vehicle-option-image {
  transform: none !important;
}
html[data-icabs-theme="dark"] .icabs-live-vehicle-note {
  border-color: #294a6d;
  background: #0d2543;
}
html[data-icabs-theme="dark"] .icabs-live-vehicle-note strong {
  color: #f1f6ff !important;
}
html[data-icabs-theme="dark"] .icabs-live-vehicle-note small {
  color: #bdcde1 !important;
}
html[data-icabs-theme="dark"] .icabs-vehicle-selection-modern .vehicle-img-wrapper {
  background: linear-gradient(145deg, #071529, #102b4e) !important;
}

@media (max-width: 767.98px) {
  .icabs-vehicle-selection-modern .vehicle-img-wrapper {
    min-height: 180px !important;
  }
  .icabs-live-vehicle-button {
    min-height: 104px;
  }
}


/* V3.2.8.3 – single address field and guaranteed full-vehicle framing */
.icabs-web-booking-fields {
  row-gap: 18px !important;
}
.icabs-web-booking-fields .min-form-pickup,
.icabs-web-booking-fields .min-form-dropoff,
.icabs-web-booking-fields .min-form-datetime,
.icabs-web-booking-fields .min-form-submit {
  margin-bottom: 0 !important;
}
/* Legacy preview elements are hidden if an older cached form injects them. */
.icabs-address-preview {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}
.icabs-vehicle-selection-modern .vehicle-img-wrapper {
  height: 190px !important;
  min-height: 190px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
}
.icabs-vehicle-selection-modern .vehicle-img-wrapper img,
.icabs-vehicle-selection-modern .vehicle-option-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 160px !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
@media (max-width: 767.98px) {
  .icabs-web-booking-fields { row-gap: 15px !important; }
  .icabs-vehicle-selection-modern .vehicle-img-wrapper {
    height: 180px !important;
    min-height: 180px !important;
    padding: 12px !important;
  }
  .icabs-vehicle-selection-modern .vehicle-img-wrapper img,
  .icabs-vehicle-selection-modern .vehicle-option-image {
    max-height: 152px !important;
  }
}


/* V3.2.8.4 – compact vehicle image frame only */
.icabs-vehicle-selection-modern .vehicle-img-wrapper {
  height: 138px !important;
  min-height: 138px !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.icabs-vehicle-selection-modern .vehicle-img-wrapper img,
.icabs-vehicle-selection-modern .vehicle-option-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
}
@media (max-width: 767.98px) {
  .icabs-vehicle-selection-modern .vehicle-img-wrapper {
    height: 128px !important;
    min-height: 128px !important;
    padding: 5px !important;
  }
}


/* V3.2.8.5 – reset legacy absolute image positioning on vehicle selection */
.icabs-vehicle-selection-modern .vehicle-img-wrapper img,
.icabs-vehicle-selection-modern .vehicle-option-image {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  align-self: center !important;
  justify-self: center !important;
}
