/* One Pattaya Taxi - Main Stylesheet
   Extracted from includes/head.php for caching + maintainability.
   Last build: 2026-06-19 */

    /* ─── TOKENS ─────────────────────────────────────────── */
    :root {
      --blue:      #3366FF;   /* Trip.com exact button blue */
      --blue-h:    #2255EE;
      --blue-dk:   #1A3BBF;
      --blue-lt:   #EEF2FF;
      --blue-mid:  #2B50D4;
      --text:      #111827;
      --text-2:    #374151;
      --muted:     #6B7280;
      --muted-lt:  #9CA3AF;
      --white:     #FFFFFF;
      --gray-50:   #F9FAFB;
      --gray-100:  #F3F4F6;
      --gray-200:  #E5E7EB;
      --gray-300:  #D1D5DB;
      --r-sm:  6px;
      --r:     10px;
      --r-lg:  14px;
      --sh-xs: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
      --sh:    0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);
      --sh-md: 0 4px 16px rgba(0,0,0,.10);
      --sh-lg: 0 8px 30px rgba(0,0,0,.12);

      --font-headings: 'Inter', sans-serif;
      --font-body: 'Inter', sans-serif;
      --fs-xs: 12px;
      --fs-sm: 13px;
      --fs-md: 14px;
      --fs-base: 15px;
      --fs-lg: 16px;
      --fs-xl: 18px;
      --fs-section: clamp(28px, 3vw, 38px);
      --fs-section-mobile: 24px;
      --lh-tight: 1.18;
      --lh-title: 1.25;
      --lh-body: 1.65;
      --section-y: 64px;
      --section-x: 28px;
      --section-y-mobile: 44px;
      --section-x-mobile: 16px;
      --section-head-gap: 28px;
      --section-head-gap-mobile: 22px;
      --border-card: 1px solid var(--gray-200);
      --shadow-card: var(--sh);
      --header-bg: rgba(255, 255, 255, 0.85);
      --header-border: rgba(255, 255, 255, 0.35);
      --cta-bg: linear-gradient(135deg, #001A6B 0%, #0D2FA0 50%, var(--blue-mid) 100%);
      --footer-bg: #0A0F1E;
      --footer-text: rgba(255,255,255,.55);
      --footer-border: rgba(255,255,255,.07);
      --text-on-accent: #FFFFFF;
    }


    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    html, body { width: 100%; overflow-x: hidden; }
    body { font-family: var(--font-body); color: var(--text); background: var(--gray-50); -webkit-font-smoothing: antialiased; font-size: 15px; line-height: 1.6; }
    h1, h2, h3, h4, h5, h6, .sec-ttl, .hero-title, .fc-name, .rc-name, .sc-tab, .faq-q, .ts-header { font-family: var(--font-headings); }
    a { text-decoration: none; color: inherit; }
    img { display: block; max-width: 100%; }

    /* ─── TOP HOOK BAR ───────────────────────────────────── */
    .topbar {
      position: absolute; top: 0; left: 0; right: 0;
      z-index: 320;
      background: linear-gradient(90deg, #00255C 0%, #003580 50%, #0A4EA3 100%);
      color: rgba(255,255,255,.92);
      font-size: 12px; font-weight: 600;
      line-height: 1.4;
      display: flex; align-items: center; justify-content: center; gap: 8px;
      padding: 7px 16px;
      text-align: center;
    }
    .topbar i { color: #7EA6FF; font-size: 12px; flex-shrink: 0; }
    .tb-brand { text-underline-offset: 3px; }
    .tb-medal-img { width: 20px; height: 20px; flex-shrink: 0; }
    .tb-mini { display: none; }
    @media (max-width: 768px) {
      .topbar { font-size: 12px; padding: 8px 14px; line-height: 1.35; }
      .tb-full { display: none; }
      .tb-mini { display: inline; }
      .tb-medal-img { width: 22px; height: 22px; }
    }

    /* ─── HEADER (Full-width, attached to topbar) ───────── */
    .header {
      position: fixed; top: 31px;
      left: 0; right: 0;
      width: 100%; max-width: none;
      margin: 0;
      background: #ffffff;
      border: none;
      border-bottom: 1px solid rgba(0,0,0,.06);
      border-radius: 0;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
      z-index: 300;
      transition: top 0.3s ease;
    }
    .header-inner {
      max-width: 1280px; margin: 0 auto; padding: 0 28px;
      height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
      position: relative;
    }

    /* LOGO */
    .logo {
      display: flex;
      align-items: center;
      height: 88px;
      flex-shrink: 0;
      text-decoration: none;
    }
    .logo img {
      height: 100%;
      width: auto;
      display: block;
      object-fit: contain;
    }

    /* Footer logo */
    .foot-logo-box {
      background: var(--white);
      padding: 10px 16px;
      border-radius: 10px;
      width: fit-content;
      display: flex;
      align-items: center;
      height: 64px;
      margin-bottom: 16px;
    }
    .foot-logo-box img {
      height: auto;
      max-height: 42px;
      width: 180px;
      max-width: 52vw;
      display: block;
      object-fit: contain;
    }

        /* Header Dropdown Menu Styles */
    .h-dd { position: relative; display: inline-flex; }
    .h-dd-btn {
      font-size: 12.5px; font-weight: 600; color: #6B7280;
      padding: 6px 16px; border-radius: 999px;
      transition: all .15s; letter-spacing: .1px;
      white-space: nowrap;
      background: none; border: none; font-family: inherit; cursor: pointer;
      display: inline-flex; align-items: center; gap: 4px;
    }
    .h-dd-btn:hover { background: #fff; color: var(--blue); box-shadow: 0 1px 4px rgba(0,0,0,.08); }
    .h-dd-menu {
      position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
      min-width: 260px; background: #fff; border: 1px solid var(--gray-200);
      border-radius: 12px; box-shadow: var(--sh-lg); padding: 6px;
      display: none; flex-direction: column; z-index: 400;
    }
    .h-dd-menu::before {
      content: '';
      position: absolute;
      top: -12px;
      left: 0;
      right: 0;
      height: 14px;
      background: transparent;
    }
    .h-dd.open .h-dd-menu { display: flex; }
    @media(hover: hover){
      .h-dd:hover .h-dd-menu { display: flex; }
    }
    .h-dd-menu a {
      padding: 8px 12px; border-radius: 8px; font-size: 13px !important;
      color: #374151 !important; white-space: nowrap; font-weight: 500 !important;
      text-align: left;
    }
    .h-dd-menu a:hover { background: var(--gray-100) !important; color: var(--blue) !important; box-shadow: none !important; }

    .h-nav {
      display: flex; align-items: center;
      background: var(--gray-100);
      border: 1px solid var(--gray-200);
      border-radius: 999px;
      padding: 4px;
      gap: 2px;
    }
    .h-nav a {
      font-size: 12.5px; font-weight: 600; color: #6B7280;
      padding: 6px 16px; border-radius: 999px;
      transition: all .15s; letter-spacing: .1px;
      white-space: nowrap;
    }
    .h-nav a:hover { background: #fff; color: var(--blue); box-shadow: 0 1px 4px rgba(0,0,0,.08); }
    .h-nav a.active { background: #fff; color: var(--blue); font-weight: 700; box-shadow: 0 1px 4px rgba(0,0,0,.08); }

    .h-right { display: flex; align-items: center; gap: 10px; }
    .h-phone { display: none; }

    .h-signin {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 10px 22px;
      background: var(--blue) !important;
      color: #fff !important;
      border: none !important;
      font-size: 13px; font-weight: 800;
      border-radius: 999px; cursor: pointer;
      box-shadow: 0 4px 14px rgba(255,122,0,.45) !important;
      transition: transform .15s, box-shadow .15s, filter .15s;
      white-space: nowrap;
    }
    .h-signin:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(255,122,0,.55) !important;
      filter: brightness(1.06);
    }
    .h-signin:active { transform: translateY(0); }
    .h-signin i { font-size: 14px; }


    /* ─── LANGUAGE DROPDOWN ──────────────────────────────── */
    .lang-dropdown {
      position: relative;
    }
    .lang-trigger {
      display: flex; align-items: center; gap: 6px;
      background: var(--gray-100); border: 1px solid var(--gray-200);
      border-radius: 999px; padding: 5px 10px 5px 6px;
      cursor: pointer; transition: all .15s; outline: none;
      font-size: 13px; font-weight: 700; color: var(--text-2);
      font-family: var(--font-body);
    }
    .lang-trigger:hover { border-color: var(--blue); background: #fff; }
    .lang-trigger-flag { width: 22px; height: 22px; border-radius: 50%; overflow: hidden; flex-shrink: 0; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
    .lang-trigger-flag .fi { width: 22px; height: 22px; border-radius: 50%; background-size: cover; display: block; }
    .lang-trigger-code { font-size: 11px; font-weight: 800; color: var(--text); }
    .lang-trigger-arrow {
      font-size: 9px; color: var(--text-2);
      transition: transform .2s;
    }
    .lang-dropdown.open .lang-trigger { border-color: var(--blue); background: #fff; }
    .lang-dropdown.open .lang-trigger-arrow { transform: rotate(180deg); }

    .lang-menu {
      position: absolute; top: calc(100% + 8px); right: 0;
      background: #fff; border: 1px solid #E9EEF8;
      border-radius: 12px; padding: 6px;
      box-shadow: 0 8px 28px rgba(0,0,0,.12);
      display: none; flex-direction: column; gap: 2px;
      min-width: 140px; z-index: 400;
    }
    .lang-dropdown.open .lang-menu { display: flex; }
    .lang-option {
      display: flex; align-items: center; gap: 10px;
      padding: 8px 12px; border-radius: 8px; cursor: pointer;
      transition: background .12s; border: none; background: none;
      width: 100%; text-align: left; font-family: var(--font-body);
    }
    .lang-option:hover { background: #F8FAFF; }
    .lang-option.active { background: #EEF4FF; }
    .lang-option-flag { width: 24px; height: 24px; border-radius: 50%; overflow: hidden; flex-shrink: 0; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
    .lang-option-flag .fi { width: 24px; height: 24px; border-radius: 50%; background-size: cover; display: block; }
    .lang-option-name { font-size: 13px; font-weight: 600; color: #374151; }
    .lang-option.active .lang-option-name { color: var(--blue); font-weight: 800; }
    /* hide old .lang-btn if any remain */
    .lang-btn { display: none !important; }

    /* ─── HERO ───────────────────────────────────────────── */
    .hero {
      position: relative;
      overflow: visible;
      background: #070F1F;
    }
    .hero-bg {
      position: absolute; inset: 0;
      background-image: url('../img/h-d-t.webp');
      background-size: cover; background-position: center;
    }
    .hero-bg::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(to right, rgba(7,15,31,.68) 0%, rgba(7,15,31,.42) 50%, rgba(7,15,31,.28) 100%);
    }
    .hero-inner {
      position: relative; z-index: 10;
      width: 100%; max-width: 1060px; margin: 0 auto;
      min-height: 680px;
      padding: 136px 28px 108px;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 28px;
      align-items: center;
      justify-items: center;
      text-align: center;
    }
    .hero-left {
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      isolation: isolate;
    }
    .hero-left::before {
      content: "";
      position: absolute;
      z-index: -1;
      left: 50%;
      top: 50%;
      width: min(860px, 112vw);
      height: min(390px, 58vw);
      transform: translate(-50%, -50%);
      border-radius: 999px;
      background: radial-gradient(ellipse at center, rgba(12,53,117,.36) 0%, rgba(12,53,117,.2) 40%, rgba(12,53,117,0) 74%);
      filter: blur(2px);
      pointer-events: none;
    }

    /* Hero left — copy */
    .hero-kicker {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
      padding: 6px 14px; border-radius: 999px;
      font-size: 11px; font-weight: 700; color: white;
      text-transform: none; letter-spacing: .2px;
      margin-bottom: 18px;
    }
    .hero-title {
      max-width: 1200px;
      font-size: clamp(32px, 4.8vw, 64px);
      font-weight: 900;
      line-height: 1.08; letter-spacing: -1px;
      margin-bottom: 14px;
      color: white;
      background: linear-gradient(135deg, #FFFFFF 0%, #BFE3FF 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .hero-title-line {
      display: block;
    }
    .hero-title-mobile {
      display: none;
    }
    .hero-sub {
      max-width: 720px;
      font-size: 17px; line-height: 1.65; color: rgba(255,255,255,.76) !important;
      margin: 0 auto 20px; font-weight: 500;
    }
    .hero-pills {
      display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 28px;
    }
    .hero-pill {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.2);
      padding: 6px 14px; border-radius: 999px;
      font-size: 12px; font-weight: 600; color: white;
    }
    .hero-pill i { font-size: 11px; color: rgba(255,255,255,.7); }
    .hero-cta-row { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
    .btn-hero-wa {
      background: #0B0F0D; color: white;
      border: 1.5px solid #25D366;
      padding: 13px 24px; border-radius: 8px;
      font-size: 14px; font-weight: 800;
      display: inline-flex; align-items: center; gap: 8px;
      box-shadow: 0 4px 16px rgba(37,211,102,.35);
    }
    .btn-hero-more {
      background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.28);
      color: white; padding: 13px 20px; border-radius: 8px;
      font-size: 14px; font-weight: 700;
      display: inline-flex; align-items: center; gap: 8px;
    }
    .btn-hero-book {
      background: #3366FF; color: white;
      border: 1.5px solid #3366FF;
      padding: 13px 24px; border-radius: 8px;
      font-size: 14px; font-weight: 800;
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      box-shadow: 0 4px 16px rgba(51,102,255,.35);
    }

    /* Hero right — Quick Price Guide */
    .pbox {
      background: #fff;
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 16px; padding: 24px;
      box-shadow: 0 8px 40px rgba(0,0,0,.25);
    }
    .pbox-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
    .pbox-hd-icon {
      width: 32px; height: 32px; background: var(--blue);
      border-radius: 8px; display: flex; align-items: center; justify-content: center;
      color: white; font-size: 13px; flex-shrink: 0;
    }
    .pbox-hd-txt { font-size: 13px; font-weight: 800; color: #111827; }
    .pbox-hd-sub { font-size: 11px; color: #9CA3AF; margin-top: 1px; }
    .pbox-lead {
      margin: 0 0 14px;
      font-size: 13px;
      line-height: 1.55;
      color: #4B5563;
    }
    .pbox-mainfare {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 14px;
      padding: 16px;
      margin-bottom: 12px;
      border-radius: 12px;
      background: linear-gradient(135deg, #EEF4FF 0%, #FFFFFF 100%);
      border: 1px solid #DCE7FF;
    }
    .pbox-mainfare-label {
      font-size: 11px;
      font-weight: 800;
      color: #5B6B8B;
      text-transform: uppercase;
      letter-spacing: .4px;
    }
    .pbox-mainfare-route {
      margin-top: 4px;
      font-size: 16px;
      font-weight: 900;
      color: #111827;
      line-height: 1.25;
    }
    .pbox-mainfare-price {
      color: var(--blue);
      text-align: right;
      font-size: 24px;
      font-weight: 950;
      line-height: 1;
      white-space: nowrap;
    }
    .pbox-mainfare-price span {
      display: block;
      margin-bottom: 3px;
      color: #6B7280;
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .5px;
    }
    .pbox-rows { display: flex; flex-direction: column; }
    .pbox-row {
      display: flex; align-items: center; justify-content: space-between;
      padding: 11px 0; border-bottom: 1px solid #F3F4F6;
    }
    .pbox-row:last-child { border-bottom: none; }
    .pbox-left { display: flex; align-items: center; gap: 10px; }
    .pbox-ico {
      width: 30px; height: 30px; border-radius: 8px; background: #EEF4FF;
      display: flex; align-items: center; justify-content: center;
      color: var(--blue); font-size: 11px; flex-shrink: 0;
    }
    .pbox-route { font-size: 12px; font-weight: 700; color: #111827; }
    .pbox-detail { font-size: 10px; color: #9CA3AF; margin-top: 1px; }
    .pbox-price { font-size: 17px; font-weight: 900; color: var(--blue); text-align: right; }
    .pbox-incl { font-size: 9px; color: #9CA3AF; text-align: right; margin-top: 1px; }
    .pbox-divider { height: 1px; background: #F3F4F6; margin: 12px 0; }
    .pbox-note {
      font-size: 10px; color: #6B7280;
      display: flex; align-items: center; gap: 5px; margin-bottom: 14px;
    }
    .pbox-note i { color: #10B981; }
    .pbox-btn {
      background: var(--blue); color: white; width: 100%; padding: 12px;
      border-radius: 8px; font-size: 13px; font-weight: 800; text-align: center;
      display: flex; align-items: center; justify-content: center; gap: 8px;
      box-shadow: 0 4px 14px rgba(51,102,255,.3);
    }

    /* ═══════════════════════════════════════════════════════
       HERO CAR SLIDER — shared base + 5 style variants
    ═══════════════════════════════════════════════════════ */

    /* Show/hide */
    .hero-cars { display: none; width: 100%; max-width: 900px; flex-direction: column; gap: 12px; }
    #heroSection[data-style="p1"] .hero-cars,
    #heroSection[data-style="p1b"] .hero-cars { display: flex; }

    /* Clip + wrap */
    .hcs-clip { width: 100%; overflow: hidden; border-radius: 18px; }
    .hcs-wrap { position: relative; width: 100%; }

    /* Track */
    .hcs-track { display: flex; width: 100%; will-change: transform; }

    /* Slide base */
    .hcs-slide { flex: 0 0 100%; position: relative; overflow: hidden; cursor: pointer; }
    .hcs-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; display: block; }

    /* Caption */
    .hcs-cap {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.18) 45%, transparent 70%);
      display: flex; align-items: flex-end; padding: 0 22px 18px;
    }
    .hcs-cap span { font-size: 22px; font-weight: 900; color: #fff; letter-spacing: .5px; text-shadow: 0 2px 10px rgba(0,0,0,.4); }

    /* Arrows */
    .hcs-arr {
      position: absolute; top: 50%; transform: translateY(-50%);
      width: 40px; height: 40px; border-radius: 50%;
      background: rgba(0,0,0,.38); border: 1px solid rgba(255,255,255,.22);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      color: #fff; font-size: 13px; cursor: pointer; z-index: 10;
      display: flex; align-items: center; justify-content: center;
      transition: all .2s;
    }
    .hcs-arr:hover { background: rgba(0,0,0,.65); transform: translateY(-50%) scale(1.1); }
    .hcs-arr-l { left: 14px; }
    .hcs-arr-r { right: 14px; }

    /* Progress bar */
    .hcs-prog { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: rgba(255,255,255,.15); z-index: 6; }
    .hcs-prog-bar { height: 100%; width: 0; background: rgba(255,255,255,.75); }

    /* Counter badge (S3) */
    .hcs-counter {
      display: none;
      position: absolute; top: 14px; right: 14px; z-index: 8;
      background: rgba(0,0,0,.45); backdrop-filter: blur(8px);
      color: rgba(255,255,255,.9); font-size: 11px; font-weight: 700;
      padding: 4px 12px; border-radius: 99px; border: 1px solid rgba(255,255,255,.2);
      letter-spacing: 1px;
    }

    /* Footer: dots + style switcher */
    .hcs-footer { display: flex; align-items: center; justify-content: space-between; padding: 0 2px; }
    .hcs-dots { display: flex; gap: 7px; align-items: center; }
    .hcs-dot { width: 7px; height: 7px; border-radius: 99px; background: rgba(255,255,255,.3); cursor: pointer; transition: all .3s; }
    .hcs-dot.active { width: 22px; background: rgba(255,255,255,.9); }

    /* Style switcher buttons */
    .hcs-style-row { display: flex; gap: 5px; }
    .hcs-sb {
      font-size: 10px; font-weight: 800; padding: 4px 10px; border-radius: 99px;
      background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
      color: rgba(255,255,255,.5); cursor: pointer; transition: all .2s; letter-spacing: .5px;
    }
    .hcs-sb:hover { color: #fff; background: rgba(255,255,255,.15); }
    .hcs-sb.active { background: rgba(255,255,255,.22); color: #fff; border-color: rgba(255,255,255,.4); }

    /* ── S1: CINEMATIC SLIDE ───────────────────────────────
       Full-width. Smooth horizontal slide. Large arrows.
       Gradient caption slides up on active.               */
    .hero-cars[data-slider="s1"] .hcs-wrap { height: 230px; }
    .hero-cars[data-slider="s1"] .hcs-track { transition: transform .55s cubic-bezier(.77,0,.175,1); }
    .hero-cars[data-slider="s1"] .hcs-slide img { transition: transform .6s ease; }
    .hero-cars[data-slider="s1"] .hcs-slide.active img { transform: scale(1.04); }
    .hero-cars[data-slider="s1"] .hcs-cap span { font-size: 24px; opacity: 0; transform: translateY(10px); transition: opacity .4s .15s, transform .4s .15s; }
    .hero-cars[data-slider="s1"] .hcs-slide.active .hcs-cap span { opacity: 1; transform: translateY(0); }

    /* ── S2: 3D COVERFLOW ─────────────────────────────────
       3 cards visible. Center large, sides tilted in 3D.
       Click side cards to navigate.                       */
    .hero-cars[data-slider="s2"] .hcs-clip { overflow: visible; border-radius: 0; }
    .hero-cars[data-slider="s2"] .hcs-wrap { height: 210px; perspective: 1000px; }
    .hero-cars[data-slider="s2"] .hcs-track { position: relative; transform: none !important; }
    .hero-cars[data-slider="s2"] .hcs-slide {
      position: absolute; width: 58%; left: 21%; height: 210px; border-radius: 16px;
      transition: transform .5s cubic-bezier(.4,0,.2,1), opacity .5s, box-shadow .5s;
      transform-style: preserve-3d; flex: none;
    }
    .hero-cars[data-slider="s2"] .hcs-slide.active  { transform: translateX(0) rotateY(0deg) scale(1); opacity:1; z-index:4; box-shadow:0 24px 60px rgba(0,0,0,.6); }
    .hero-cars[data-slider="s2"] .hcs-slide.prev    { transform: translateX(-68%) rotateY(32deg) scale(.82); opacity:.7; z-index:3; }
    .hero-cars[data-slider="s2"] .hcs-slide.next    { transform: translateX(68%) rotateY(-32deg) scale(.82); opacity:.7; z-index:3; }
    .hero-cars[data-slider="s2"] .hcs-slide.far     { transform: translateX(0) rotateY(0) scale(.5); opacity:0; z-index:1; }
    .hero-cars[data-slider="s2"] .hcs-arr           { display: none; }

    /* ── S3: FADE + KEN BURNS ─────────────────────────────
       Crossfade. Ken Burns zoom out on active.
       Counter badge top-right.                            */
    .hero-cars[data-slider="s3"] .hcs-wrap { height: 240px; }
    .hero-cars[data-slider="s3"] .hcs-track { transform: none !important; }
    .hero-cars[data-slider="s3"] .hcs-slide {
      position: absolute; inset: 0; flex: none; width: 100%; height: 240px;
      opacity: 0; z-index: 1; transition: opacity 1s ease;
    }
    .hero-cars[data-slider="s3"] .hcs-slide.active { opacity: 1; z-index: 2; }
    .hero-cars[data-slider="s3"] .hcs-slide img { transform: scale(1.12); transition: transform 5s ease; }
    .hero-cars[data-slider="s3"] .hcs-slide.active img { transform: scale(1); }
    .hero-cars[data-slider="s3"] .hcs-cap { align-items: center; justify-content: center; padding: 0; background: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.1) 55%, transparent 100%); }
    .hero-cars[data-slider="s3"] .hcs-cap span { font-size: 32px; letter-spacing: 2px; text-transform: uppercase; opacity: 0; transform: scale(.92); transition: opacity .6s .3s, transform .6s .3s; }
    .hero-cars[data-slider="s3"] .hcs-slide.active .hcs-cap span { opacity: 1; transform: scale(1); }
    .hero-cars[data-slider="s3"] .hcs-counter { display: block; }
    .hero-cars[data-slider="s3"] .hcs-arr { width: 36px; height: 36px; background: transparent; border: none; font-size: 18px; }

    /* ── S4: SPLIT PANEL ──────────────────────────────────
       Left 35% = dark glass info panel, right = photo.
       Name large, vertical accent line.                  */
    .hero-cars[data-slider="s4"] .hcs-wrap { height: 220px; }
    .hero-cars[data-slider="s4"] .hcs-track { transition: transform .5s cubic-bezier(.4,0,.2,1); }
    .hero-cars[data-slider="s4"] .hcs-cap {
      align-items: center; padding: 0;
      width: 38%; right: auto;
      background: linear-gradient(135deg, rgba(5,10,30,.9) 0%, rgba(15,25,60,.85) 100%);
      backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
      border-right: 1px solid rgba(255,255,255,.12);
      justify-content: center; flex-direction: column; gap: 8px;
    }
    .hero-cars[data-slider="s4"] .hcs-cap::before {
      content: ''; width: 30px; height: 2px; background: var(--blue); border-radius: 2px;
    }
    .hero-cars[data-slider="s4"] .hcs-cap span { font-size: 20px; letter-spacing: 2px; text-transform: uppercase; opacity: 0; transform: translateX(-8px); transition: opacity .4s .2s, transform .4s .2s; }
    .hero-cars[data-slider="s4"] .hcs-slide.active .hcs-cap span { opacity: 1; transform: translateX(0); }
    .hero-cars[data-slider="s4"] .hcs-arr-l { left: 40%; }

    /* ── S5: PEEK STRIP ───────────────────────────────────
       Partial prev/next peeking on both sides.
       Active card full, neighbors peeking in.            */
    .hero-cars[data-slider="s5"] .hcs-clip { overflow: hidden; }
    .hero-cars[data-slider="s5"] .hcs-wrap { height: 210px; }
    .hero-cars[data-slider="s5"] .hcs-track { gap: 10px; padding: 0 52px; box-sizing: border-box; transition: transform .45s cubic-bezier(.4,0,.2,1); }
    .hero-cars[data-slider="s5"] .hcs-slide { flex: 0 0 calc(100% - 104px); border-radius: 14px; opacity: .55; transform: scale(.96); transition: opacity .4s, transform .4s; }
    .hero-cars[data-slider="s5"] .hcs-slide.active { opacity: 1; transform: scale(1); }

    /* Mobile */
    @media (max-width: 600px) {
      .hero-cars[data-slider="s1"] .hcs-wrap,
      .hero-cars[data-slider="s3"] .hcs-wrap,
      .hero-cars[data-slider="s4"] .hcs-wrap { height: 180px; }
      .hero-cars[data-slider="s2"] .hcs-wrap,
      .hero-cars[data-slider="s5"] .hcs-wrap { height: 170px; }
      .hero-cars[data-slider="s3"] .hcs-slide { height: 180px; }
      .hcs-cap span { font-size: 18px !important; }
      .hcs-arr { width: 34px; height: 34px; font-size: 12px; }
    }

    /* ─── Hero Day-Hook element ─────────────────────────── */
    .hero-day-hook { display: none; margin-bottom: 18px; }
    .hero-day-hook span { display: none; }
    .hero-day-hook span.active { display: inline; }

    /* ─── SOLO LAYOUT — day styles + photo styles, centered ── */
    #heroSection.hero-solo .hero-day-hook { display: block; }
    #heroSection.hero-solo .pbox          { display: none !important; }
    #heroSection.hero-solo .hero-inner {
      grid-template-columns: 1fr !important;
      justify-items: center;
      padding-top: 130px;
      padding-bottom: 56px;
      row-gap: 36px;
    }
    #heroSection.hero-solo .hero-left {
      display: flex; flex-direction: column;
      align-items: center; text-align: center;
      width: 100%; max-width: 860px;
    }
    #heroSection.hero-solo .hero-title  { font-size: clamp(40px, 6.5vw, 82px) !important; }
    #heroSection.hero-solo .hero-pills  { justify-content: center; }
    #heroSection.hero-solo .hero-cta-row{ justify-content: center; }
    #heroSection.hero-solo .hero-sub    { max-width: 560px; }
    #heroSection.hero-solo .hero-kicker { margin: 0 auto 14px; }

    /* Shared hook text style — centered, dot accent instead of left border */
    .hero-day-hook {
      font-size: clamp(16px, 1.5vw, 20px);
      font-weight: 400; line-height: 1.6;
      color: rgba(255,255,255,.7);
      margin-bottom: 18px;
      position: relative;
      padding-top: 16px;
    }
    .hero-day-hook::before {
      content: '';
      display: block; width: 36px; height: 3px; border-radius: 2px;
      background: currentColor; opacity: .6;
      margin: 0 auto 14px;
    }

    /* ═══════════════════════════════════════════════════════
       HERO THEME VARIATIONS — same layout as ST1, 5 looks
    ═══════════════════════════════════════════════════════ */

    /* ── ST2: DEEP NAVY ─────────────────────────────────────
       Darker, more premium. No title gradient. Blue-tinted card.   */
    #heroSection[data-style="st2"] .hero-bg::after {
      background: linear-gradient(to right, rgba(4,10,24,.88) 0%, rgba(4,10,24,.6) 55%, rgba(4,10,24,.3) 100%);
    }
    #heroSection[data-style="st2"] .hero-title {
      background: none; -webkit-text-fill-color: #fff; color: #fff;
    }
    #heroSection[data-style="st2"] .pbox {
      background: #F0F5FF;
      border: 1.5px solid #B8CEFF;
      box-shadow: 0 12px 50px rgba(0,0,0,.3), 0 0 0 1px rgba(51,102,255,.08);
    }
    #heroSection[data-style="st2"] .pbox-hd-icon { background: #1A3FCC; }
    #heroSection[data-style="st2"] .pbox-row { border-bottom-color: #D8E4FF; }
    #heroSection[data-style="st2"] .pbox-ico { background: #D8E8FF; }
    #heroSection[data-style="st2"] .pbox-price { color: #1A3FCC; }
    #heroSection[data-style="st2"] .pbox-btn { background: #1A3FCC; box-shadow: 0 4px 16px rgba(26,63,204,.4); }

    /* ── ST3: GLASS FROST ───────────────────────────────────
       pbox becomes frosted glass on dark. All-dark atmosphere.     */
    #heroSection[data-style="st3"] .hero-bg::after {
      background: linear-gradient(to right, rgba(8,18,48,.82) 0%, rgba(8,18,48,.55) 55%, rgba(8,18,48,.2) 100%);
    }
    #heroSection[data-style="st3"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #A8C8FF 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="st3"] .pbox {
      background: rgba(255,255,255,.09);
      backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: 0 20px 60px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.15);
    }
    #heroSection[data-style="st3"] .pbox-hd-txt { color: #fff; }
    #heroSection[data-style="st3"] .pbox-hd-sub { color: rgba(255,255,255,.5); }
    #heroSection[data-style="st3"] .pbox-hd-icon { background: rgba(255,255,255,.18); }
    #heroSection[data-style="st3"] .pbox-row { border-bottom-color: rgba(255,255,255,.1); }
    #heroSection[data-style="st3"] .pbox-ico { background: rgba(255,255,255,.1); color: #A8C8FF; }
    #heroSection[data-style="st3"] .pbox-route { color: #fff; }
    #heroSection[data-style="st3"] .pbox-detail { color: rgba(255,255,255,.45); }
    #heroSection[data-style="st3"] .pbox-price { color: #A8C8FF; }
    #heroSection[data-style="st3"] .pbox-incl { color: rgba(255,255,255,.4); }
    #heroSection[data-style="st3"] .pbox-divider { background: rgba(255,255,255,.12); }
    #heroSection[data-style="st3"] .pbox-note { color: rgba(255,255,255,.6); }
    #heroSection[data-style="st3"] .pbox-note i { color: #4ADE80; }
    #heroSection[data-style="st3"] .pbox-btn { background: rgba(51,102,255,.85); backdrop-filter: blur(8px); }

    /* ── ST4: COBALT BRIGHT ─────────────────────────────────
       Bright image with a local text scrim, not a full dark overlay. */
    #heroSection[data-style="st4"] .hero-bg {
      filter: brightness(1.08) saturate(1.08) contrast(1.02);
    }
    #heroSection[data-style="st4"] .hero-bg::after {
      background:
        radial-gradient(ellipse at center, rgba(12,53,117,.2) 0%, rgba(12,53,117,.1) 38%, rgba(12,53,117,0) 68%),
        linear-gradient(to bottom, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 38%, rgba(12,53,117,.16) 100%);
    }
    #heroSection[data-style="st4"] .hero-title {
      color: #fff;
      background: none;
      -webkit-background-clip: initial;
      -webkit-text-fill-color: #fff;
      text-shadow:
        0 1px 2px rgba(4,10,24,.9),
        0 3px 8px rgba(4,10,24,.7),
        0 10px 34px rgba(4,10,24,.58);
    }
    #heroSection[data-style="st4"] .hero-sub {
      color: #fff;
      font-weight: 600;
      text-shadow:
        0 1px 2px rgba(4,10,24,.95),
        0 2px 6px rgba(4,10,24,.75),
        0 8px 26px rgba(4,10,24,.56);
    }
    #heroSection[data-style="st4"] .hero-day-hook span {
      text-shadow: 0 1px 3px rgba(4,10,24,.9), 0 3px 10px rgba(4,10,24,.6);
    }
    #heroSection[data-style="st4"] .hero-kicker {
      background: rgba(51,102,255,.78); border-color: rgba(255,255,255,.28);
      box-shadow: 0 10px 28px rgba(37,99,235,.24);
    }
    #heroSection[data-style="st4"] .hero-pill {
      background: rgba(7,15,31,.6);
      border-color: rgba(255,255,255,.22);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      text-shadow: 0 1px 2px rgba(4,10,24,.8);
    }
    #heroSection[data-style="st4"] .btn-hero-more {
      background: rgba(7,15,31,.55);
      border-color: rgba(255,255,255,.4);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      text-shadow: 0 1px 2px rgba(4,10,24,.8);
    }
    #heroSection[data-style="st4"] .hero-day-hook { color: rgba(255,255,255,.92); }
    #heroSection[data-style="st4"] .pbox {
      display: none;
    }
    #heroSection[data-style="st4"] .pbox-price { color: #2257FF; font-size: 19px; }

    /* ── ST5: GOLD PREMIUM ──────────────────────────────────
       Gold accents on dark navy. Luxury feel.                      */
    #heroSection[data-style="st5"] .hero-bg::after {
      background: linear-gradient(to right, rgba(7,15,31,.78) 0%, rgba(7,15,31,.48) 55%, rgba(7,15,31,.25) 100%);
    }
    #heroSection[data-style="st5"] .hero-title {
      background: linear-gradient(135deg, #ffffff 40%, #FFD166 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="st5"] .hero-kicker {
      background: rgba(255,209,102,.12); border-color: rgba(255,209,102,.4);
      color: #FFD166;
    }
    #heroSection[data-style="st5"] .hero-kicker i { color: #FFD166 !important; }
    #heroSection[data-style="st5"] .hero-pill {
      background: rgba(255,209,102,.1); border-color: rgba(255,209,102,.3);
    }
    #heroSection[data-style="st5"] .btn-hero-wa { background: #D4A000; box-shadow: 0 4px 16px rgba(212,160,0,.4); }
    #heroSection[data-style="st5"] .pbox {
      background: #0D1B2A;
      border: 1.5px solid rgba(255,209,102,.3);
      box-shadow: 0 16px 56px rgba(0,0,0,.4), 0 0 40px rgba(255,209,102,.08);
    }
    #heroSection[data-style="st5"] .pbox-hd-txt { color: #fff; }
    #heroSection[data-style="st5"] .pbox-hd-sub { color: rgba(255,255,255,.45); }
    #heroSection[data-style="st5"] .pbox-hd-icon { background: #B8860B; }
    #heroSection[data-style="st5"] .pbox-row { border-bottom-color: rgba(255,255,255,.08); }
    #heroSection[data-style="st5"] .pbox-ico { background: rgba(255,209,102,.12); color: #FFD166; }
    #heroSection[data-style="st5"] .pbox-route { color: #fff; }
    #heroSection[data-style="st5"] .pbox-detail { color: rgba(255,255,255,.4); }
    #heroSection[data-style="st5"] .pbox-price { color: #FFD166; }
    #heroSection[data-style="st5"] .pbox-incl { color: rgba(255,255,255,.35); }
    #heroSection[data-style="st5"] .pbox-divider { background: rgba(255,255,255,.08); }
    #heroSection[data-style="st5"] .pbox-note { color: rgba(255,255,255,.55); }
    #heroSection[data-style="st5"] .pbox-btn { background: #B8860B; box-shadow: 0 4px 16px rgba(184,134,11,.4); }

    /* ── ST6: MIDNIGHT MINIMAL ──────────────────────────────
       Near-black, clean, no effects. Confident + serious.          */
    #heroSection[data-style="st6"] { background: #030810; }
    #heroSection[data-style="st6"] .hero-bg::after {
      background: linear-gradient(to right, rgba(3,8,16,.92) 0%, rgba(3,8,16,.65) 55%, rgba(3,8,16,.35) 100%);
    }
    #heroSection[data-style="st6"] .hero-title {
      background: none; -webkit-text-fill-color: #fff; color: #fff;
    }
    #heroSection[data-style="st6"] .hero-kicker {
      background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); letter-spacing: 2px;
    }
    #heroSection[data-style="st6"] .hero-pill {
      background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15);
    }
    #heroSection[data-style="st6"] .pbox {
      background: #fff;
      border: none;
      border-radius: 12px;
      box-shadow: 0 24px 80px rgba(0,0,0,.5);
    }
    #heroSection[data-style="st6"] .pbox-hd-icon { background: #111827; }
    #heroSection[data-style="st6"] .pbox-btn { background: #111827; box-shadow: none; }
    #heroSection[data-style="st6"] .pbox-price { color: #111827; }
    #heroSection[data-style="st6"] .pbox-ico { background: #F3F4F6; color: #111827; }

    /* ════════════════════════════════════════════════════════ */

    /* ═══════════════════════════════════════════════════════
       HERO BG THEME VARIATIONS — ST2/ST3/ST5/ST6/ST7
       background เปลี่ยนทั้ง gradient + สี
    ═══════════════════════════════════════════════════════ */

    /* ── ST2 (BG): PATTAYA NIGHT SEA ────────────────────────
       ทะเลพัทยากลางคืน — gradient ฟ้าเข้มเกือบดำ to น้ำเงินกลาง
       บน card โปร่งแสงบางๆ ให้รู้สึก sea breeze                  */
    #heroSection[data-style="st2"] { background: #02080F; }
    #heroSection[data-style="st2"] .hero-bg {
      background-image: none;
      background: radial-gradient(ellipse 120% 80% at 70% 60%, #0A3060 0%, #051628 45%, #020B15 100%);
    }
    #heroSection[data-style="st2"] .hero-bg::after {
      background: linear-gradient(to right, rgba(2,8,15,.85) 0%, rgba(2,8,15,.4) 55%, transparent 100%);
    }
    #heroSection[data-style="st2"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #7EC8E3 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="st2"] .hero-kicker {
      background: rgba(126,200,227,.12); border-color: rgba(126,200,227,.35); color: #7EC8E3;
    }
    #heroSection[data-style="st2"] .hero-kicker i { color: #7EC8E3 !important; }
    #heroSection[data-style="st2"] .hero-pill {
      background: rgba(126,200,227,.1); border-color: rgba(126,200,227,.28);
    }
    #heroSection[data-style="st2"] .btn-hero-wa {
      background: #0A6E8A; box-shadow: 0 4px 16px rgba(10,110,138,.45);
    }
    #heroSection[data-style="st2"] .btn-hero-more {
      border-color: rgba(126,200,227,.4); color: #7EC8E3;
    }
    #heroSection[data-style="st2"] .pbox {
      background: rgba(8,28,52,.75);
      backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
      border: 1px solid rgba(126,200,227,.2);
      box-shadow: 0 20px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(126,200,227,.1);
    }
    #heroSection[data-style="st2"] .pbox-hd-txt { color: #fff; }
    #heroSection[data-style="st2"] .pbox-hd-sub { color: rgba(255,255,255,.45); }
    #heroSection[data-style="st2"] .pbox-hd-icon { background: #0A6E8A; }
    #heroSection[data-style="st2"] .pbox-row { border-bottom-color: rgba(126,200,227,.1); }
    #heroSection[data-style="st2"] .pbox-ico { background: rgba(126,200,227,.1); color: #7EC8E3; }
    #heroSection[data-style="st2"] .pbox-route { color: #fff; }
    #heroSection[data-style="st2"] .pbox-detail { color: rgba(255,255,255,.4); }
    #heroSection[data-style="st2"] .pbox-price { color: #7EC8E3; }
    #heroSection[data-style="st2"] .pbox-incl { color: rgba(255,255,255,.35); }
    #heroSection[data-style="st2"] .pbox-divider { background: rgba(255,255,255,.08); }
    #heroSection[data-style="st2"] .pbox-note { color: rgba(255,255,255,.55); }
    #heroSection[data-style="st2"] .pbox-note i { color: #4ADE80; }
    #heroSection[data-style="st2"] .pbox-btn { background: #0A6E8A; box-shadow: 0 4px 16px rgba(10,110,138,.4); }

    /* ── ST3 (BG): PURPLE CITY NIGHT ───────────────────────
       เมืองกลางคืน — purple-indigo gradient, luxe + mysterious   */
    #heroSection[data-style="st3"] { background: #080518; }
    #heroSection[data-style="st3"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 90% 60% at 75% 50%, #1E0B4A 0%, transparent 65%),
        radial-gradient(ellipse 60% 80% at 20% 80%, #0D0B3A 0%, transparent 60%),
        linear-gradient(160deg, #0C063A 0%, #060318 50%, #02020E 100%);
    }
    #heroSection[data-style="st3"] .hero-bg::after {
      background: linear-gradient(to right, rgba(8,5,24,.88) 0%, rgba(8,5,24,.5) 55%, rgba(8,5,24,.15) 100%);
    }
    #heroSection[data-style="st3"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #C4B5FD 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="st3"] .hero-kicker {
      background: rgba(167,139,250,.12); border-color: rgba(167,139,250,.35); color: #C4B5FD;
    }
    #heroSection[data-style="st3"] .hero-kicker i { color: #C4B5FD !important; }
    #heroSection[data-style="st3"] .hero-pill {
      background: rgba(167,139,250,.1); border-color: rgba(167,139,250,.28);
    }
    #heroSection[data-style="st3"] .btn-hero-wa {
      background: #5B21B6; box-shadow: 0 4px 16px rgba(91,33,182,.5);
    }
    #heroSection[data-style="st3"] .btn-hero-more {
      border-color: rgba(167,139,250,.4); color: #C4B5FD;
    }
    #heroSection[data-style="st3"] .pbox {
      background: rgba(15,8,40,.8);
      backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(167,139,250,.2);
      box-shadow: 0 20px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(167,139,250,.15);
    }
    #heroSection[data-style="st3"] .pbox-hd-txt { color: #fff; }
    #heroSection[data-style="st3"] .pbox-hd-sub { color: rgba(255,255,255,.45); }
    #heroSection[data-style="st3"] .pbox-hd-icon { background: #5B21B6; }
    #heroSection[data-style="st3"] .pbox-row { border-bottom-color: rgba(167,139,250,.1); }
    #heroSection[data-style="st3"] .pbox-ico { background: rgba(167,139,250,.1); color: #C4B5FD; }
    #heroSection[data-style="st3"] .pbox-route { color: #fff; }
    #heroSection[data-style="st3"] .pbox-detail { color: rgba(255,255,255,.4); }
    #heroSection[data-style="st3"] .pbox-price { color: #C4B5FD; }
    #heroSection[data-style="st3"] .pbox-incl { color: rgba(255,255,255,.35); }
    #heroSection[data-style="st3"] .pbox-divider { background: rgba(255,255,255,.08); }
    #heroSection[data-style="st3"] .pbox-note { color: rgba(255,255,255,.55); }
    #heroSection[data-style="st3"] .pbox-note i { color: #4ADE80; }
    #heroSection[data-style="st3"] .pbox-btn { background: #5B21B6; box-shadow: 0 4px 16px rgba(91,33,182,.4); }

    /* ── ST5 (BG): TROPICAL DUSK ───────────────────────────
       พระอาทิตย์ตกพัทยา — sunset gradient ส้ม-แดง-ม่วงคล้ำ
       card โทน gold warm                                          */
    #heroSection[data-style="st5"] { background: #0D0407; }
    #heroSection[data-style="st5"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 80% 60% at 65% 30%, #7C2D12 0%, transparent 60%),
        radial-gradient(ellipse 70% 80% at 30% 90%, #1E0A1A 0%, transparent 65%),
        linear-gradient(160deg, #3D1008 0%, #1A0612 40%, #0A0410 100%);
    }
    #heroSection[data-style="st5"] .hero-bg::after {
      background: linear-gradient(to right, rgba(13,4,7,.88) 0%, rgba(13,4,7,.5) 55%, rgba(13,4,7,.15) 100%);
    }
    #heroSection[data-style="st5"] .hero-title {
      background: linear-gradient(135deg, #fff 30%, #FCA867 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="st5"] .hero-kicker {
      background: rgba(252,168,103,.1); border-color: rgba(252,168,103,.35); color: #FCA867;
    }
    #heroSection[data-style="st5"] .hero-kicker i { color: #FCA867 !important; }
    #heroSection[data-style="st5"] .hero-pill {
      background: rgba(252,168,103,.1); border-color: rgba(252,168,103,.28);
    }
    #heroSection[data-style="st5"] .btn-hero-wa {
      background: #C2410C; box-shadow: 0 4px 16px rgba(194,65,12,.5);
    }
    #heroSection[data-style="st5"] .btn-hero-more {
      border-color: rgba(252,168,103,.4); color: #FCA867;
    }
    #heroSection[data-style="st5"] .pbox {
      background: rgba(20,8,5,.82);
      backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
      border: 1px solid rgba(252,168,103,.2);
      box-shadow: 0 20px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(252,168,103,.1);
    }
    #heroSection[data-style="st5"] .pbox-hd-txt { color: #fff; }
    #heroSection[data-style="st5"] .pbox-hd-sub { color: rgba(255,255,255,.45); }
    #heroSection[data-style="st5"] .pbox-hd-icon { background: #C2410C; }
    #heroSection[data-style="st5"] .pbox-row { border-bottom-color: rgba(252,168,103,.1); }
    #heroSection[data-style="st5"] .pbox-ico { background: rgba(252,168,103,.1); color: #FCA867; }
    #heroSection[data-style="st5"] .pbox-route { color: #fff; }
    #heroSection[data-style="st5"] .pbox-detail { color: rgba(255,255,255,.4); }
    #heroSection[data-style="st5"] .pbox-price { color: #FCA867; }
    #heroSection[data-style="st5"] .pbox-incl { color: rgba(255,255,255,.35); }
    #heroSection[data-style="st5"] .pbox-divider { background: rgba(255,255,255,.08); }
    #heroSection[data-style="st5"] .pbox-note { color: rgba(255,255,255,.55); }
    #heroSection[data-style="st5"] .pbox-note i { color: #4ADE80; }
    #heroSection[data-style="st5"] .pbox-btn { background: #C2410C; box-shadow: 0 4px 16px rgba(194,65,12,.4); }

    /* ── ST6 (BG): CARBON MESH ─────────────────────────────
       ดำ ultra premium — noise texture จาก SVG, radial glow สีน้ำเงิน
       card ขาว สะอาด หรูหรา corporate                            */
    #heroSection[data-style="st6"] { background: #050509; }
    #heroSection[data-style="st6"] .hero-bg {
      background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
        radial-gradient(ellipse 70% 60% at 65% 50%, #0D1F4A 0%, transparent 60%),
        linear-gradient(160deg, #08091A 0%, #040509 100%);
      background-size: 200px 200px, cover, cover;
    }
    #heroSection[data-style="st6"] .hero-bg::after {
      background: linear-gradient(to right, rgba(5,5,9,.92) 0%, rgba(5,5,9,.55) 55%, rgba(5,5,9,.2) 100%);
    }
    #heroSection[data-style="st6"] .hero-title {
      background: none; -webkit-text-fill-color: #fff; color: #fff;
      letter-spacing: -0.5px;
    }
    #heroSection[data-style="st6"] .hero-kicker {
      background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12);
      letter-spacing: 2.5px; text-transform: uppercase; font-size: 10px;
    }
    #heroSection[data-style="st6"] .hero-pill {
      background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12);
    }
    #heroSection[data-style="st6"] .btn-hero-wa {
      background: #3366FF; box-shadow: 0 4px 20px rgba(51,102,255,.4);
    }
    #heroSection[data-style="st6"] .pbox {
      background: #fff;
      border: none;
      border-radius: 14px;
      box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);
    }
    #heroSection[data-style="st6"] .pbox-hd-icon { background: #050509; }
    #heroSection[data-style="st6"] .pbox-btn { background: #050509; box-shadow: 0 4px 16px rgba(0,0,0,.4); }
    #heroSection[data-style="st6"] .pbox-price { color: #050509; font-weight: 900; }
    #heroSection[data-style="st6"] .pbox-ico { background: #F3F4F6; color: #374151; }

    /* ══════════════════════════════════════════════════════
       DAY-PSYCHOLOGY THEMES — 10 time/mood backgrounds
    ══════════════════════════════════════════════════════ */

    /* ── DAWN (4–7am) ───────────────────────────────────────
       ก่อนรุ่งสาง — น้ำเงินเข้ม + ชมพูจาง horizon              */
    #heroSection[data-style="dawn"] { background: #040810; }
    #heroSection[data-style="dawn"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 70% 40% at 75% 85%, #2A1830 0%, transparent 55%),
        radial-gradient(ellipse 80% 50% at 30% 60%, #0C2248 0%, transparent 60%),
        linear-gradient(170deg, #06101E 0%, #020608 100%);
    }
    #heroSection[data-style="dawn"] .hero-bg::after {
      background: linear-gradient(to right, rgba(4,8,16,.86) 0%, rgba(4,8,16,.3) 70%, transparent 100%);
    }
    #heroSection[data-style="dawn"] .hero-title {
      background: linear-gradient(135deg, #fff 30%, #FECDD3 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="dawn"] .dot { color: #FDA4AF; -webkit-text-fill-color: #FDA4AF; }
    #heroSection[data-style="dawn"] .hero-day-hook { color: rgba(253,164,175,.8); border-left-color: #FDA4AF; }
    #heroSection[data-style="dawn"] .hero-kicker { background: rgba(253,164,175,.1); border-color: rgba(253,164,175,.3); color: rgba(253,164,175,.9); }
    #heroSection[data-style="dawn"] .hero-pill { background: rgba(253,164,175,.1); border-color: rgba(253,164,175,.25); }
    #heroSection[data-style="dawn"] .btn-hero-wa { background: #9F1239; box-shadow: 0 4px 18px rgba(159,18,57,.45); }
    #heroSection[data-style="dawn"] .btn-hero-more { border-color: rgba(253,164,175,.4); color: #FDA4AF; }

    /* ── MORNING (7–11am) ───────────────────────────────────
       เช้าสดใส — ฟ้าสด พลังงานเต็ม ออกเดินทาง               */
    #heroSection[data-style="morning"] { background: #020C1E; }
    #heroSection[data-style="morning"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 100% 70% at 65% 55%, #0C3878 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 10% 10%, #061840 0%, transparent 50%),
        linear-gradient(160deg, #061438 0%, #020810 100%);
    }
    #heroSection[data-style="morning"] .hero-bg::after {
      background: linear-gradient(to right, rgba(2,12,30,.87) 0%, rgba(2,12,30,.35) 65%, transparent 100%);
    }
    #heroSection[data-style="morning"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #BAE6FD 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="morning"] .dot { color: #38BDF8; -webkit-text-fill-color: #38BDF8; }
    #heroSection[data-style="morning"] .hero-day-hook { color: rgba(56,189,248,.8); border-left-color: #38BDF8; }
    #heroSection[data-style="morning"] .hero-kicker { background: rgba(56,189,248,.1); border-color: rgba(56,189,248,.3); color: #7DD3FC; }
    #heroSection[data-style="morning"] .hero-pill { background: rgba(56,189,248,.1); border-color: rgba(56,189,248,.25); }
    #heroSection[data-style="morning"] .btn-hero-wa { background: #0369A1; box-shadow: 0 4px 18px rgba(3,105,161,.5); }
    #heroSection[data-style="morning"] .btn-hero-more { border-color: rgba(56,189,248,.4); color: #7DD3FC; }

    /* ── MIDDAY (11am–2pm) ──────────────────────────────────
       แดดร้อนเที่ยง — ทะเลสีเข้ม อากาศร้อน AC เย็นสบาย      */
    #heroSection[data-style="midday"] { background: #030A18; }
    #heroSection[data-style="midday"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 80% 60% at 55% 25%, #0A3A6E 0%, transparent 55%),
        radial-gradient(ellipse 60% 80% at 80% 80%, #041220 0%, transparent 55%),
        linear-gradient(175deg, #050F22 0%, #02080E 100%);
    }
    #heroSection[data-style="midday"] .hero-bg::after {
      background: linear-gradient(to right, rgba(3,10,24,.88) 0%, rgba(3,10,24,.3) 65%, transparent 100%);
    }
    #heroSection[data-style="midday"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #A5F3FC 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="midday"] .dot { color: #22D3EE; -webkit-text-fill-color: #22D3EE; }
    #heroSection[data-style="midday"] .hero-day-hook { color: rgba(34,211,238,.8); border-left-color: #22D3EE; }
    #heroSection[data-style="midday"] .hero-kicker { background: rgba(34,211,238,.1); border-color: rgba(34,211,238,.3); color: #67E8F9; }
    #heroSection[data-style="midday"] .hero-pill { background: rgba(34,211,238,.08); border-color: rgba(34,211,238,.22); }
    #heroSection[data-style="midday"] .btn-hero-wa { background: #0E7490; box-shadow: 0 4px 18px rgba(14,116,144,.5); }
    #heroSection[data-style="midday"] .btn-hero-more { border-color: rgba(34,211,238,.4); color: #67E8F9; }

    /* ── AFTERNOON (2–5pm) ──────────────────────────────────
       บ่ายแก่ — แสงอำพัน golden hour เริ่มก่อนพระอาทิตย์ตก   */
    #heroSection[data-style="afternoon"] { background: #0C0602; }
    #heroSection[data-style="afternoon"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 80% 55% at 65% 35%, #3C1E04 0%, transparent 55%),
        radial-gradient(ellipse 60% 60% at 15% 75%, #0E1030 0%, transparent 55%),
        linear-gradient(160deg, #180A02 0%, #060410 100%);
    }
    #heroSection[data-style="afternoon"] .hero-bg::after {
      background: linear-gradient(to right, rgba(12,6,2,.88) 0%, rgba(12,6,2,.35) 65%, transparent 100%);
    }
    #heroSection[data-style="afternoon"] .hero-title {
      background: linear-gradient(135deg, #fff 20%, #FDE68A 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="afternoon"] .dot { color: #FBBF24; -webkit-text-fill-color: #FBBF24; }
    #heroSection[data-style="afternoon"] .hero-day-hook { color: rgba(251,191,36,.8); border-left-color: #FBBF24; }
    #heroSection[data-style="afternoon"] .hero-kicker { background: rgba(251,191,36,.1); border-color: rgba(251,191,36,.3); color: #FCD34D; }
    #heroSection[data-style="afternoon"] .hero-pill { background: rgba(251,191,36,.08); border-color: rgba(251,191,36,.22); }
    #heroSection[data-style="afternoon"] .btn-hero-wa { background: #B45309; box-shadow: 0 4px 18px rgba(180,83,9,.5); }
    #heroSection[data-style="afternoon"] .btn-hero-more { border-color: rgba(251,191,36,.4); color: #FCD34D; }

    /* ── SUNSET (5–7pm) ─────────────────────────────────────
       พระอาทิตย์ตก — ส้มแดงไล่สีเป็นม่วงคล้ำ ท้องฟ้าพัทยา   */
    #heroSection[data-style="sunset"] { background: #100305; }
    #heroSection[data-style="sunset"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 80% 60% at 60% 25%, #7C1A05 0%, transparent 55%),
        radial-gradient(ellipse 50% 70% at 5% 85%, #28063A 0%, transparent 60%),
        linear-gradient(160deg, #4A0D05 0%, #0E0218 100%);
    }
    #heroSection[data-style="sunset"] .hero-bg::after {
      background: linear-gradient(to right, rgba(16,3,5,.88) 0%, rgba(16,3,5,.38) 60%, transparent 100%);
    }
    #heroSection[data-style="sunset"] .hero-title {
      background: linear-gradient(135deg, #fff 10%, #FED7AA 60%, #FB923C 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="sunset"] .dot { color: #F97316; -webkit-text-fill-color: #F97316; }
    #heroSection[data-style="sunset"] .hero-day-hook { color: rgba(249,115,22,.85); border-left-color: #F97316; }
    #heroSection[data-style="sunset"] .hero-kicker { background: rgba(249,115,22,.1); border-color: rgba(249,115,22,.3); color: #FDBA74; }
    #heroSection[data-style="sunset"] .hero-pill { background: rgba(249,115,22,.08); border-color: rgba(249,115,22,.22); }
    #heroSection[data-style="sunset"] .btn-hero-wa { background: #C2410C; box-shadow: 0 4px 18px rgba(194,65,12,.5); }
    #heroSection[data-style="sunset"] .btn-hero-more { border-color: rgba(249,115,22,.4); color: #FDBA74; }

    /* ── EVENING (7–10pm) ───────────────────────────────────
       ค่ำคืน — ม่วงน้ำเงิน เมือง ไฟถนน nightlife Pattaya     */
    #heroSection[data-style="evening"] { background: #060218; }
    #heroSection[data-style="evening"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 80% 60% at 65% 50%, #1E0A4A 0%, transparent 58%),
        radial-gradient(ellipse 40% 30% at 10% 20%, #0A0528 0%, transparent 50%),
        linear-gradient(160deg, #0E0630 0%, #040112 100%);
    }
    #heroSection[data-style="evening"] .hero-bg::after {
      background: linear-gradient(to right, rgba(6,2,24,.88) 0%, rgba(6,2,24,.38) 60%, transparent 100%);
    }
    #heroSection[data-style="evening"] .hero-title {
      background: linear-gradient(135deg, #fff 20%, #DDD6FE 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="evening"] .dot { color: #A78BFA; -webkit-text-fill-color: #A78BFA; }
    #heroSection[data-style="evening"] .hero-day-hook { color: rgba(167,139,250,.85); border-left-color: #A78BFA; }
    #heroSection[data-style="evening"] .hero-kicker { background: rgba(167,139,250,.1); border-color: rgba(167,139,250,.3); color: #C4B5FD; }
    #heroSection[data-style="evening"] .hero-pill { background: rgba(167,139,250,.08); border-color: rgba(167,139,250,.22); }
    #heroSection[data-style="evening"] .btn-hero-wa { background: #5B21B6; box-shadow: 0 4px 18px rgba(91,33,182,.5); }
    #heroSection[data-style="evening"] .btn-hero-more { border-color: rgba(167,139,250,.4); color: #C4B5FD; }

    /* ── NIGHT (10pm–1am) ───────────────────────────────────
       กลางคืน — ดำมืด แสงน้ำเงินจาง เงียบ มั่นใจ 24/7       */
    #heroSection[data-style="night"] { background: #020406; }
    #heroSection[data-style="night"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 65% 45% at 70% 55%, #0A1830 0%, transparent 55%),
        linear-gradient(175deg, #050910 0%, #020406 100%);
    }
    #heroSection[data-style="night"] .hero-bg::after {
      background: linear-gradient(to right, rgba(2,4,6,.9) 0%, rgba(2,4,6,.45) 60%, rgba(2,4,6,.1) 100%);
    }
    #heroSection[data-style="night"] .hero-title {
      background: none; -webkit-text-fill-color: #fff; color: #fff;
    }
    #heroSection[data-style="night"] .dot { color: #93C5FD; -webkit-text-fill-color: #93C5FD; }
    #heroSection[data-style="night"] .hero-day-hook { color: rgba(147,197,253,.75); border-left-color: #93C5FD; }
    #heroSection[data-style="night"] .hero-kicker { background: rgba(147,197,253,.06); border-color: rgba(147,197,253,.2); color: rgba(147,197,253,.8); }
    #heroSection[data-style="night"] .hero-pill { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.13); }
    #heroSection[data-style="night"] .btn-hero-wa { background: #1D4ED8; box-shadow: 0 4px 18px rgba(29,78,216,.5); }
    #heroSection[data-style="night"] .btn-hero-more { border-color: rgba(147,197,253,.35); color: #93C5FD; }

    /* ── LATE NIGHT (1–4am) ─────────────────────────────────
       ดึกมาก — ดำสนิท หยิบ minimal hint น้ำเงิน กล้า ไม่หลับ  */
    #heroSection[data-style="latenight"] { background: #010204; }
    #heroSection[data-style="latenight"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 45% 30% at 80% 70%, #060C18 0%, transparent 50%),
        linear-gradient(180deg, #020408 0%, #010204 100%);
    }
    #heroSection[data-style="latenight"] .hero-bg::after {
      background: linear-gradient(to right, rgba(1,2,4,.93) 0%, rgba(1,2,4,.5) 60%, rgba(1,2,4,.15) 100%);
    }
    #heroSection[data-style="latenight"] .hero-title {
      background: none; -webkit-text-fill-color: #E2E8F0; color: #E2E8F0;
      letter-spacing: -1px;
    }
    #heroSection[data-style="latenight"] .dot { color: #64748B; -webkit-text-fill-color: #64748B; }
    #heroSection[data-style="latenight"] .hero-day-hook { color: rgba(148,163,184,.7); border-left-color: #475569; }
    #heroSection[data-style="latenight"] .hero-kicker { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); color: rgba(255,255,255,.55); letter-spacing: 2px; font-size: 10px; text-transform: uppercase; }
    #heroSection[data-style="latenight"] .hero-pill { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); }
    #heroSection[data-style="latenight"] .btn-hero-wa { background: #1E293B; box-shadow: 0 4px 18px rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.15); }
    #heroSection[data-style="latenight"] .btn-hero-more { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.6); }

    /* ── WEEKEND ────────────────────────────────────────────
       วีคเอนด์ — เขียวมรกต teal relax holiday พักผ่อน         */
    #heroSection[data-style="weekend"] { background: #011210; }
    #heroSection[data-style="weekend"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 90% 65% at 60% 55%, #003D35 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 10% 20%, #001E1A 0%, transparent 50%),
        linear-gradient(160deg, #012018 0%, #010C0A 100%);
    }
    #heroSection[data-style="weekend"] .hero-bg::after {
      background: linear-gradient(to right, rgba(1,18,16,.88) 0%, rgba(1,18,16,.35) 65%, transparent 100%);
    }
    #heroSection[data-style="weekend"] .hero-title {
      background: linear-gradient(135deg, #fff 20%, #6EE7B7 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="weekend"] .dot { color: #34D399; -webkit-text-fill-color: #34D399; }
    #heroSection[data-style="weekend"] .hero-day-hook { color: rgba(52,211,153,.85); border-left-color: #34D399; }
    #heroSection[data-style="weekend"] .hero-kicker { background: rgba(52,211,153,.1); border-color: rgba(52,211,153,.3); color: #6EE7B7; }
    #heroSection[data-style="weekend"] .hero-pill { background: rgba(52,211,153,.08); border-color: rgba(52,211,153,.22); }
    #heroSection[data-style="weekend"] .btn-hero-wa { background: #065F46; box-shadow: 0 4px 18px rgba(6,95,70,.5); }
    #heroSection[data-style="weekend"] .btn-hero-more { border-color: rgba(52,211,153,.4); color: #6EE7B7; }

    /* ── RAIN ───────────────────────────────────────────────
       ฝนตก — เทาอ้อมฟ้า moody อบอุ่น ปลอดภัย trustworthy      */
    #heroSection[data-style="rain"] { background: #060A10; }
    #heroSection[data-style="rain"] .hero-bg {
      background-image: none;
      background:
        repeating-linear-gradient(
          100deg,
          transparent 0px, transparent 28px,
          rgba(120,160,200,.025) 28px, rgba(120,160,200,.025) 30px
        ),
        radial-gradient(ellipse 80% 60% at 50% 40%, #0D2035 0%, transparent 60%),
        linear-gradient(175deg, #0A1220 0%, #050810 100%);
    }
    #heroSection[data-style="rain"] .hero-bg::after {
      background: linear-gradient(to right, rgba(6,10,16,.9) 0%, rgba(6,10,16,.42) 60%, rgba(6,10,16,.1) 100%);
    }
    #heroSection[data-style="rain"] .hero-title {
      background: linear-gradient(135deg, #fff 30%, #BAE6FD 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="rain"] .dot { color: #7DD3FC; -webkit-text-fill-color: #7DD3FC; }
    #heroSection[data-style="rain"] .hero-day-hook { color: rgba(125,211,252,.8); border-left-color: #7DD3FC; }
    #heroSection[data-style="rain"] .hero-kicker { background: rgba(125,211,252,.08); border-color: rgba(125,211,252,.25); color: #BAE6FD; }
    #heroSection[data-style="rain"] .hero-pill { background: rgba(125,211,252,.07); border-color: rgba(125,211,252,.2); }
    #heroSection[data-style="rain"] .btn-hero-wa { background: #075985; box-shadow: 0 4px 18px rgba(7,89,133,.5); }
    #heroSection[data-style="rain"] .btn-hero-more { border-color: rgba(125,211,252,.35); color: #BAE6FD; }

    /* ══════════════════════════════════════════════════════ */

    /* ════════════════════════════════════════════════════════
       PHOTO BACKGROUNDS — 5 styles with real Unsplash photos
       Each: solo centered layout + photo bg + accent color
    ════════════════════════════════════════════════════════ */

    /* ── P1: PATTAYA BEACH ──────────────────────────────────
       ชายหาดพัทยา — Central Pattaya Beach aerial view จริงๆ
       Photo: Aerial Central Pattaya Beach, Chonburi, Thailand  */
    #heroSection[data-style="p1"] .hero-bg {
      background-image: url('https://images.unsplash.com/photo-1625793061481-8c36fdc131a4?w=1920&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 55%;
    }
    #heroSection[data-style="p1"] .hero-bg::after {
      background: linear-gradient(160deg, rgba(5,20,60,.82) 0%, rgba(5,15,40,.55) 50%, rgba(5,10,30,.25) 100%);
    }
    #heroSection[data-style="p1"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #BAE6FD 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="p1"] .dot { color: #38BDF8; -webkit-text-fill-color: #38BDF8; }
    #heroSection[data-style="p1"] .hero-day-hook { color: rgba(186,230,253,.85); }
    #heroSection[data-style="p1"] .hero-kicker { background: rgba(56,189,248,.15); border-color: rgba(56,189,248,.4); color: #7DD3FC; }
    #heroSection[data-style="p1"] .hero-pill { background: rgba(56,189,248,.12); border-color: rgba(56,189,248,.3); }
    #heroSection[data-style="p1"] .btn-hero-wa { background: #0369A1; box-shadow: 0 6px 24px rgba(3,105,161,.5); }
    #heroSection[data-style="p1"] .btn-hero-more { border-color: rgba(56,189,248,.5); color: #7DD3FC; }

    /* ── P1b: PATTAYA SUNSET (Pattaya Park Tower) ───────────
       พระอาทิตย์ตกพัทยา — Pattaya Park Tower เป็น landmark ชัดมาก */
    #heroSection[data-style="p1b"] .hero-bg {
      background-image: url('https://images.unsplash.com/photo-1562908234-59564a6baaa3?w=1920&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 50%;
    }
    #heroSection[data-style="p1b"] .hero-bg::after {
      background: linear-gradient(160deg, rgba(10,5,25,.85) 0%, rgba(10,5,22,.52) 50%, rgba(10,5,20,.18) 100%);
    }
    #heroSection[data-style="p1b"] .hero-title {
      background: linear-gradient(135deg, #fff 10%, #FED7AA 60%, #FB923C 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="p1b"] .dot { color: #F97316; -webkit-text-fill-color: #F97316; }
    #heroSection[data-style="p1b"] .hero-day-hook { color: rgba(253,186,116,.85); }
    #heroSection[data-style="p1b"] .hero-kicker { background: rgba(249,115,22,.12); border-color: rgba(249,115,22,.35); color: #FDBA74; }
    #heroSection[data-style="p1b"] .hero-pill { background: rgba(249,115,22,.1); border-color: rgba(249,115,22,.28); }
    #heroSection[data-style="p1b"] .btn-hero-wa { background: #C2410C; box-shadow: 0 6px 24px rgba(194,65,12,.5); }
    #heroSection[data-style="p1b"] .btn-hero-more { border-color: rgba(249,115,22,.45); color: #FDBA74; }

    /* ── P2: AIRPORT ARRIVAL ────────────────────────────────
       สนามบิน — modern terminal กระจก แสงสว่าง precision
       Photo: airport terminal interior                        */
    #heroSection[data-style="p2"] .hero-bg {
      background-image: url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?w=1920&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 40%;
    }
    #heroSection[data-style="p2"] .hero-bg::after {
      background: linear-gradient(160deg, rgba(5,10,22,.85) 0%, rgba(5,10,22,.58) 50%, rgba(5,10,22,.2) 100%);
    }
    #heroSection[data-style="p2"] .hero-title {
      background: none; -webkit-text-fill-color: #fff; color: #fff;
    }
    #heroSection[data-style="p2"] .dot { color: #fff; -webkit-text-fill-color: #fff; }
    #heroSection[data-style="p2"] .hero-day-hook { color: rgba(255,255,255,.72); }
    #heroSection[data-style="p2"] .hero-kicker { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); color: rgba(255,255,255,.85); }
    #heroSection[data-style="p2"] .hero-pill { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.22); }
    #heroSection[data-style="p2"] .btn-hero-wa { background: #3366FF; box-shadow: 0 6px 24px rgba(51,102,255,.5); }
    #heroSection[data-style="p2"] .btn-hero-more { border-color: rgba(255,255,255,.45); color: rgba(255,255,255,.85); }

    /* ── P3: TROPICAL ROAD ──────────────────────────────────
       ถนนในป่าเขตร้อน — lush green journey เดินทางในธรรมชาติ
       Photo: tropical road / Thailand scenery                 */
    #heroSection[data-style="p3"] .hero-bg {
      background-image: url('https://images.unsplash.com/photo-1506665531195-3566af2b4dfa?w=1920&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 50%;
    }
    #heroSection[data-style="p3"] .hero-bg::after {
      background: linear-gradient(160deg, rgba(5,20,12,.88) 0%, rgba(5,18,10,.55) 50%, rgba(5,15,8,.2) 100%);
    }
    #heroSection[data-style="p3"] .hero-title {
      background: linear-gradient(135deg, #fff 20%, #A7F3D0 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="p3"] .dot { color: #34D399; -webkit-text-fill-color: #34D399; }
    #heroSection[data-style="p3"] .hero-day-hook { color: rgba(167,243,208,.85); }
    #heroSection[data-style="p3"] .hero-kicker { background: rgba(52,211,153,.12); border-color: rgba(52,211,153,.35); color: #6EE7B7; }
    #heroSection[data-style="p3"] .hero-pill { background: rgba(52,211,153,.1); border-color: rgba(52,211,153,.28); }
    #heroSection[data-style="p3"] .btn-hero-wa { background: #065F46; box-shadow: 0 6px 24px rgba(6,95,70,.55); }
    #heroSection[data-style="p3"] .btn-hero-more { border-color: rgba(52,211,153,.45); color: #6EE7B7; }

    /* ── P4: CITY NIGHT ─────────────────────────────────────
       เมืองกลางคืน — ไฟถนน nightlife Pattaya city skyline
       Photo: city lights at night                             */
    #heroSection[data-style="p4"] .hero-bg {
      background-image: url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1920&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 60%;
    }
    #heroSection[data-style="p4"] .hero-bg::after {
      background: linear-gradient(160deg, rgba(8,5,25,.88) 0%, rgba(8,5,22,.55) 50%, rgba(8,5,18,.2) 100%);
    }
    #heroSection[data-style="p4"] .hero-title {
      background: linear-gradient(135deg, #fff 20%, #DDD6FE 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="p4"] .dot { color: #A78BFA; -webkit-text-fill-color: #A78BFA; }
    #heroSection[data-style="p4"] .hero-day-hook { color: rgba(221,214,254,.8); }
    #heroSection[data-style="p4"] .hero-kicker { background: rgba(167,139,250,.12); border-color: rgba(167,139,250,.35); color: #C4B5FD; }
    #heroSection[data-style="p4"] .hero-pill { background: rgba(167,139,250,.1); border-color: rgba(167,139,250,.28); }
    #heroSection[data-style="p4"] .btn-hero-wa { background: #5B21B6; box-shadow: 0 6px 24px rgba(91,33,182,.55); }
    #heroSection[data-style="p4"] .btn-hero-more { border-color: rgba(167,139,250,.45); color: #C4B5FD; }

    /* ── P5: LUXURY TRANSFER ────────────────────────────────
       รถหรู — premium private car highway สะดวกสบาย
       Photo: luxury car on highway / driving                  */
    #heroSection[data-style="p5"] .hero-bg {
      background-image: url('https://images.unsplash.com/photo-1533105079780-92b9be482077?w=1920&q=80&auto=format&fit=crop');
      background-size: cover; background-position: center 50%;
    }
    #heroSection[data-style="p5"] .hero-bg::after {
      background: linear-gradient(160deg, rgba(8,6,4,.88) 0%, rgba(8,6,4,.55) 50%, rgba(8,6,4,.2) 100%);
    }
    #heroSection[data-style="p5"] .hero-title {
      background: linear-gradient(135deg, #fff 20%, #FDE68A 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="p5"] .dot { color: #FBBF24; -webkit-text-fill-color: #FBBF24; }
    #heroSection[data-style="p5"] .hero-day-hook { color: rgba(253,230,138,.85); }
    #heroSection[data-style="p5"] .hero-kicker { background: rgba(251,191,36,.12); border-color: rgba(251,191,36,.35); color: #FCD34D; }
    #heroSection[data-style="p5"] .hero-pill { background: rgba(251,191,36,.1); border-color: rgba(251,191,36,.28); }
    #heroSection[data-style="p5"] .btn-hero-wa { background: #92400E; box-shadow: 0 6px 24px rgba(146,64,14,.55); }
    #heroSection[data-style="p5"] .btn-hero-more { border-color: rgba(251,191,36,.45); color: #FCD34D; }

    /* ══════════════════════════════════════════════════════ */

    /* ── ST7 (BG): NEON TEAL ───────────────────────────────
       Tech/modern — dark bg + cyan/teal glow, ดู digital future  */
    #heroSection[data-style="st7"] { background: #010C10; }
    #heroSection[data-style="st7"] .hero-bg {
      background-image: none;
      background:
        radial-gradient(ellipse 80% 70% at 70% 60%, #003A45 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 10% 20%, #001E28 0%, transparent 55%),
        linear-gradient(160deg, #011820 0%, #010C10 100%);
    }
    #heroSection[data-style="st7"] .hero-bg::after {
      background: linear-gradient(to right, rgba(1,12,16,.9) 0%, rgba(1,12,16,.5) 55%, rgba(1,12,16,.1) 100%);
    }
    #heroSection[data-style="st7"] .hero-title {
      background: linear-gradient(135deg, #fff 0%, #2DD4BF 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    }
    #heroSection[data-style="st7"] .hero-kicker {
      background: rgba(45,212,191,.1); border-color: rgba(45,212,191,.3); color: #2DD4BF;
    }
    #heroSection[data-style="st7"] .hero-kicker i { color: #2DD4BF !important; }
    #heroSection[data-style="st7"] .hero-pill {
      background: rgba(45,212,191,.08); border-color: rgba(45,212,191,.25);
    }
    #heroSection[data-style="st7"] .btn-hero-wa {
      background: #0D9488; box-shadow: 0 4px 16px rgba(13,148,136,.5);
    }
    #heroSection[data-style="st7"] .btn-hero-more {
      border-color: rgba(45,212,191,.35); color: #2DD4BF;
    }
    #heroSection[data-style="st7"] .pbox {
      background: rgba(3,22,28,.8);
      backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(45,212,191,.18);
      box-shadow: 0 20px 60px rgba(0,0,0,.55), 0 0 40px rgba(45,212,191,.05), inset 0 1px 0 rgba(45,212,191,.1);
    }
    #heroSection[data-style="st7"] .pbox-hd-txt { color: #fff; }
    #heroSection[data-style="st7"] .pbox-hd-sub { color: rgba(255,255,255,.45); }
    #heroSection[data-style="st7"] .pbox-hd-icon { background: #0D9488; }
    #heroSection[data-style="st7"] .pbox-row { border-bottom-color: rgba(45,212,191,.1); }
    #heroSection[data-style="st7"] .pbox-ico { background: rgba(45,212,191,.08); color: #2DD4BF; }
    #heroSection[data-style="st7"] .pbox-route { color: #fff; }
    #heroSection[data-style="st7"] .pbox-detail { color: rgba(255,255,255,.4); }
    #heroSection[data-style="st7"] .pbox-price { color: #2DD4BF; }
    #heroSection[data-style="st7"] .pbox-incl { color: rgba(255,255,255,.35); }
    #heroSection[data-style="st7"] .pbox-divider { background: rgba(255,255,255,.08); }
    #heroSection[data-style="st7"] .pbox-note { color: rgba(255,255,255,.55); }
    #heroSection[data-style="st7"] .pbox-note i { color: #4ADE80; }
    #heroSection[data-style="st7"] .pbox-btn { background: #0D9488; box-shadow: 0 4px 16px rgba(13,148,136,.4); }

    /* ════════════════════════════════════════════════════════ */

    /* Search card moved outside hero */
    .search-card {
      background: var(--white) !important;
      border: var(--border-card) !important;
      box-shadow: 0 8px 40px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06) !important;
      border-radius: 16px !important;
      overflow: hidden;
      max-width: 1280px;
      margin: -48px auto 0;
      position: relative; z-index: 20;
    }

    /* ─── SEARCH CARD (Modern Corporate Style 4 Locked) ───── */
    .search-card {
      background: var(--white) !important;
      border: var(--border-card) !important;
      box-shadow: var(--shadow-card) !important;
      border-radius: 16px !important;
      overflow: hidden;
      margin-bottom: -52px;                 /* hangs into white section below */
      position: relative; z-index: 10;
      scroll-margin-top: 130px;
    }
    .sc-tabs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      border-bottom: 1px solid var(--gray-200) !important;
      padding: 14px 20px;
    }
    .sc-tab {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 46px;
      padding: 10px 12px;
      border-radius: 8px;
      font-size: 13px; font-weight: 800; color: var(--muted);
      border: none; background: none; cursor: pointer;
      border: 1px solid transparent;
      margin-bottom: 0;
      font-family: var(--font-headings); transition: color .15s;
      text-align: center;
      line-height: 1.2;
    }
    .sc-tab i { font-size: 13px; opacity: .85; }
    .sc-tab.active {
      color: var(--blue) !important;
      border-color: #DCE7FF !important;
      background: #EEF4FF;
      box-shadow: 0 8px 24px rgba(51,102,255,.08);
    }
    .sc-tab:hover:not(.active) { color: var(--text); background: #F8FAFF; border-color: var(--gray-200); }

    .sc-body { padding: 16px 20px 20px; }
    .sc-row {
      border: none !important;
      background: transparent !important;
      gap: 12px !important;
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
    }
    .sc-field {
      display: flex; align-items: center; gap: 10px;
      padding: 0 14px; min-height: 52px;
      background: var(--gray-100) !important;
      border: 1px solid var(--gray-200) !important;
      border-radius: 8px !important;
      box-shadow: none !important;
      flex: 1;
      min-width: 140px;
      cursor: pointer;
      transition: all .15s;
    }
    .sc-field:hover,
    .sc-field:focus-within {
      border-color: var(--blue) !important;
      background: var(--white) !important;
    }
    .sc-field i { color: var(--blue); font-size: 13px; flex-shrink: 0; }
    .select-arrow { font-size: 10px !important; color: var(--blue) !important; margin-left: auto; pointer-events: none; }
    .sc-field-inner { display: flex; flex-direction: column; justify-content: center; min-width: 0; width: 100%; }
    .sc-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--muted) !important; margin-bottom: 2px; }
    .sc-field input,
    .sc-field select {
      border: none; outline: none; background: transparent;
      font-family: var(--font-body); font-size: 13.5px; font-weight: 600;
      color: var(--text) !important; width: 100%; cursor: pointer;
      appearance: none; -webkit-appearance: none; padding: 0;
    }
    .sc-field input::placeholder { color: var(--muted) !important; font-weight: 400; }
    .sc-field select option { background: var(--gray-100) !important; color: var(--text) !important; }
    .sc-divider {
      display: flex; align-items: center; justify-content: center;
      background: var(--white) !important;
      border: 1px solid var(--gray-200) !important;
      border-radius: 50% !important;
      box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
      width: 36px !important;
      height: 36px !important;
      min-height: 36px !important;
      align-self: center !important;
      color: var(--blue) !important;
      cursor: pointer;
      transition: all .15s;
    }
    .sc-divider:hover {
      background: var(--gray-100) !important;
      border-color: var(--gray-300) !important;
    }
    .btn-search {
      min-height: 52px; padding: 0 24px;
      background: var(--blue) !important; color: var(--text-on-accent) !important;
      border: none; font-family: var(--font-headings);
      font-size: 14px; font-weight: 800; cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: 7px;
      transition: all .15s; white-space: nowrap; letter-spacing: .2px;
      border-radius: 8px !important;
      box-shadow: 0 4px 12px var(--blue-lt) !important;
    }
    .btn-search:hover {
      background: var(--blue-h) !important;
      box-shadow: 0 6px 16px var(--blue-lt) !important;
    }

    .sc-instant {
      display: flex; align-items: center; gap: 8px;
      padding: 12px 20px 0; flex-wrap: wrap;
    }
    .sc-instant-label { font-size: 12px; color: var(--muted); margin-right: 2px; }
    .sc-wa   { display: flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 999px; background: #0B0F0D; border: 1.5px solid #25D366; color: white; font-size: 12px; font-weight: 700; transition: filter .15s; }
    .sc-wa i { color: #25D366; }
    .sc-wa:hover { filter: brightness(1.3); }
    .sc-line { display: flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 999px; background: #06C755; color: white; font-size: 12px; font-weight: 700; transition: filter .15s; }
    .sc-line:hover { filter: brightness(1.08); }
    .sc-tel  { display: flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 999px; background: var(--gray-100); color: var(--text-2); font-size: 12px; font-weight: 600; border: 1px solid var(--gray-200); transition: background .15s; }
    .sc-tel:hover { background: var(--gray-200); }

    /* ─── BOOKING FORM F4 (Booking.com Style) ─────────────── */
        /* ═══ BOOKING FORM F4 (Booking.com Style) ═══ */
    .desktop-hero-booking-wrapper {
      position: relative;
      width: 100%;
    }
    @media (min-width: 1024px) {
      #booking-form {
        position: absolute !important;
        top: 156px;
        right: max(20px, calc(50% - 660px));
        width: 440px;
        max-width: calc(100vw - 40px);
        padding: 0 !important;
        background: transparent !important;
        z-index: 20;
      }
      #booking-form .bk-card {
        margin: 0 !important;
        width: 100% !important;
        box-shadow: 0 24px 60px rgba(0,30,90,.3), 0 4px 16px rgba(0,30,90,.15) !important;
        border-radius: 16px !important;
      }
      #booking-form .bk-body {
        padding: 24px !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      #booking-form .bk-head {
        padding: 24px 24px 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        flex-wrap: wrap !important;
        gap: 14px !important;
        justify-content: center !important;
        text-align: center !important;
      }
      .hero-cta-row .btn-hero-book { display: none !important; }
      #booking-form .bk-head-badges {
        justify-content: center !important;
        width: 100% !important;
      }
      #booking-form .bk-head-badges span {
        white-space: nowrap !important;
      }
      #booking-form .bk-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      #booking-form .bk-grid .bk-inp:nth-child(1), #booking-form .bk-grid .bk-inp:nth-child(2) {
        grid-column: span 1 !important;
        min-width: 0 !important;
      }
      #booking-form .bk-grid .bk-inp:nth-child(3), #booking-form .bk-grid .bk-inp:nth-child(4) {
        grid-column: span 1 !important;
        min-width: 0 !important;
      }
      #booking-form .bk-box {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
      }
      #booking-form .bk-btn {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 52px !important;
        margin-top: 8px !important;
        font-family: var(--font-body) !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        letter-spacing: 0.3px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        box-shadow: 0 4px 14px rgba(51,102,255,0.3) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
      }
      #booking-form .bk-inp {
        margin-bottom: 0 !important;
      }
    }
    .bk-wrap {
      background: #F0F4FF;
      padding: 0 28px 32px;
    }
    .bk-card {
      background: white;
      border-radius: 22px;
      box-shadow:
        0 0 0 1px rgba(255,255,255,.55),
        0 24px 60px rgba(0,30,90,.22),
        0 4px 16px rgba(0,30,90,.1);
      overflow: hidden;
      max-width: 1280px;
      margin: -56px auto 0;
      position: relative; z-index: 20;
      scroll-margin-top: 130px;
    }
    .bk-head {
      background: linear-gradient(120deg, #00255C 0%, #003580 45%, #0A4EA3 100%);
      padding: 20px 28px;
      display: flex; align-items: center; justify-content: space-between;
      position: relative;
      overflow: hidden;
    }
    .bk-head::before {
      content: '';
      position: absolute; top: -70px; right: -40px;
      width: 240px; height: 240px; border-radius: 50%;
      background: rgba(255,255,255,.05);
      pointer-events: none;
    }
    .bk-head::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, #3366FF 0%, #7EA6FF 50%, rgba(126,166,255,0) 100%);
    }
    .bk-head h3 { color: white; font-size: 17px; font-weight: 800; margin-bottom: 2px; }
    .bk-head p  { color: rgba(255,255,255,.6); font-size: 12px; }
    .bk-head-badges { display: flex; gap: 8px; }
    .bk-head-badges span {
      display: flex; align-items: center; gap: 5px;
      background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
      color: rgba(255,255,255,.85); font-size: 11px; font-weight: 700;
      padding: 4px 10px; border-radius: 999px;
    }
    .bk-steps {
      display: flex; align-items: center;
      background: #EFF6FF; padding: 11px 28px;
      border-bottom: 1px solid #DBEAFE;
    }
    .bk-step { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; color: #93C5FD; }
    .bk-step.on { color: #1D4ED8; }
    .bk-dot {
      width: 24px; height: 24px; border-radius: 50%;
      background: #DBEAFE; color: #93C5FD;
      display: flex; align-items: center; justify-content: center;
      font-size: 11px; font-weight: 900; flex-shrink: 0;
    }
    .bk-step.on .bk-dot { background: #003580; color: white; }
    .bk-sep { flex: 1; height: 2px; background: #DBEAFE; margin: 0 12px; max-width: 80px; }
    .bk-card .sc-tabs {
      border-bottom: 2px solid #EFF6FF !important;
      padding: 14px 28px !important;
    }
    .bk-body { padding: 20px 28px; }
    .bk-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr) auto;
      gap: 14px;
      align-items: end;
    }
    .bk-inp label {
      display: flex; align-items: center; gap: 6px;
      font-size: 11px; font-weight: 700; color: #374151;
      text-transform: uppercase; letter-spacing: .5px;
      margin-bottom: 6px;
    }
    .bk-inp label i { color: #003580; font-size: 12px; }
    .bk-box {
      display: flex; align-items: center; gap: 8px;
      border: 2px solid #E5E7EB; border-radius: 8px;
      padding: 0 12px; min-height: 48px;
      background: white; transition: border-color .15s; cursor: pointer;
    }
    .bk-box:hover, .bk-box:focus-within { border-color: #003580; }
    .bk-box select, .bk-box input {
      flex: 1; border: none; outline: none; background: transparent;
      font-family: var(--font-body); font-size: 13.5px; font-weight: 600;
      color: var(--text); cursor: pointer;
      appearance: none; -webkit-appearance: none; padding: 0; min-width: 0;
    }
    .bk-box select option { background: white; }
    .bk-arr { color: #9CA3AF; font-size: 10px; pointer-events: none; flex-shrink: 0; }
    .bk-swap-btn {
      background: none; border: 1px solid #E5E7EB; border-radius: 6px;
      width: 28px; height: 28px; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      color: #3366FF; font-size: 11px; cursor: pointer; transition: all .15s;
    }
    .bk-swap-btn:hover { background: #EEF4FF; border-color: #3366FF; }
    .bk-btn {
      min-height: 48px; padding: 0 26px;
      background: #FF8A00;
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 15px; font-weight: 800; cursor: pointer;
      font-family: var(--font-headings);
      display: flex; align-items: center; justify-content: center; gap: 8px;
      box-shadow: 0 6px 18px rgba(255,122,0,.4);
      transition: transform .15s, box-shadow .15s, filter .15s;
      white-space: nowrap;
    }
    .bk-btn:hover {
      transform: translateY(-1px);
      filter: brightness(1.06);
      box-shadow: 0 8px 24px rgba(255,122,0,.5);
    }
    .bk-instant {
      display: flex; align-items: center; gap: 8px;
      padding: 12px 28px 20px; flex-wrap: wrap;
      border-top: 1px solid #F3F4F6;
      font-size: 12px; color: var(--muted);
    }
    .bk-instant .sc-wa,
    .bk-instant .sc-line,
    .bk-instant .sc-tel { flex: 1; justify-content: center; }
    @media (max-width: 600px) {
      .bk-instant { gap: 8px; }
      .bk-instant .sc-wa,
      .bk-instant .sc-line,
      .bk-instant .sc-tel { flex: 1; min-width: 0; justify-content: center; }
    }
    @media (max-width: 900px) {
      .bk-grid { grid-template-columns: 1fr 1fr; }
      .bk-btn { grid-column: 1 / -1; width: 100%; min-height: 50px; }
    }
    @media (max-width: 600px) {
      .bk-wrap { padding: 0 12px 20px; }
      .bk-card { margin-top: -28px; border-radius: 18px; }
      .bk-head { padding: 16px 18px; }
      .bk-head-badges { display: none; }
      .bk-steps { padding: 10px 18px; }
      .bk-card .sc-tabs { padding: 12px 18px !important; }
      .bk-body { padding: 16px 18px; }
      .bk-grid { grid-template-columns: 1fr; }
      .bk-instant { padding: 12px 18px 16px; }
    }

    /* white section below hero */

    /* ─── USP STRIP (Floating Premium Cards) ─────────────── */
    /* ─── USP BANNER (image strip) ───────────────────────── */
    .usp-banner {
      background: #F8FAFF;
      padding: 28px 28px;
    }
    .usp-banner img {
      display: block;
      width: 100%;
      max-width: 1080px;
      margin: 0 auto;
      height: auto;
      border-radius: 18px;
      box-shadow: 0 10px 32px rgba(0,30,90,.12);
    }
    @media (max-width: 768px) {
      .usp-banner { padding: 16px 12px; }
      .usp-banner img { border-radius: 14px; }
    }

    /* ─── BOOK IN MINUTES BANNER ─────────────────────────── */
    .bookmin-banner {
      background: #f8fafc;
      padding: 0 28px;
    }
    .bookmin-banner img {
      display: block;
      width: 100%;
      max-width: 1080px;
      margin: 0 auto;
      height: auto;
      border-radius: 18px;
      box-shadow: 0 10px 32px rgba(0,30,90,.12);
    }
    @media (max-width: 768px) {
      .bookmin-banner { padding: 0 12px; }
      .bookmin-banner img { border-radius: 14px; }
    }

    .usp-strip {
      background: #F8FAFF;
      padding: 32px 28px;
    }
    .usp-strip-inner {
      max-width: 1200px; margin: 0 auto;
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      background: rgba(51,102,255,.18);
      border-radius: 16px;
      overflow: hidden;
    }
    .us {
      display: flex; align-items: flex-start; gap: 14px;
      padding: 24px 22px;
      background: var(--blue);
      transition: background .2s;
    }
    .us:hover { background: rgba(255,255,255,.08); }
    .us-icon {
      width: 42px; height: 42px; flex-shrink: 0;
      background: rgba(255,255,255,.18);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #fff; font-size: 17px;
    }
    .us h4 { font-size: 13px; font-weight: 700; margin-bottom: 3px; line-height: 1.35; color: #fff; }
    .us p  { font-size: 12px; color: rgba(255,255,255,.7); line-height: 1.5; }

    /* ─── HERO STYLE SWITCHER ──────────────────────────── */
    .hero-switcher {
      position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
      z-index: 9999; background: #0D1B2A; border-radius: 999px;
      padding: 8px 12px; display: flex; align-items: center; gap: 6px;
      box-shadow: 0 8px 32px rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.12);
    }
    .hero-switcher span { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.5); padding-right: 6px; }
    .hs-btn {
      font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 999px;
      color: rgba(255,255,255,.6); cursor: pointer; border: none; background: transparent;
      transition: all .15s;
    }
    .hs-btn:hover { color: #fff; background: rgba(255,255,255,.1); }
    .hs-btn.active { background: var(--blue); color: #fff; }
    .hcs-btn {
      font-size: 11px; font-weight: 700; padding: 5px 11px; border-radius: 999px;
      color: rgba(255,255,255,.55); cursor: pointer; border: none; background: transparent;
      transition: all .15s;
    }
    .hcs-btn:hover { color: #fff; background: rgba(255,255,255,.1); }
    .hcs-btn.active { background: rgba(255,255,255,.18); color: #fff; }

    /* ─── HERO BASE ─ shared across all styles ──────────── */
    .hero-v {
      position: relative; overflow: hidden; min-height: 580px;
      display: flex; align-items: center;
    }
    .hero-v .hv-inner {
      position: relative; z-index: 10;
      width: 100%; max-width: 1280px; margin: 0 auto;
      padding: 140px 28px 80px;
      display: grid; grid-template-columns: 1fr 420px;
      gap: 40px; align-items: center;
    }
    /* shared left col */
    .hv-kicker {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.2);
      padding: 6px 14px; border-radius: 999px;
      font-size: 11px; font-weight: 700; color: white;
      text-transform: uppercase; letter-spacing: 1px; margin-bottom: 18px;
    }
    .hv-title {
      font-size: clamp(28px,4vw,52px); font-weight: 900;
      line-height: 1.08; letter-spacing: -1.5px; margin-bottom: 14px; color: #fff;
    }
    .hv-title .hv-accent { color: #7EB8FF; }
    .hv-sub { font-size: 15px; color: rgba(255,255,255,.7); margin-bottom: 22px; font-weight: 500; }
    .hv-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
    .hv-pill {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18);
      padding: 6px 14px; border-radius: 999px; font-size: 12px; font-weight: 600; color: white;
    }
    .hv-pill i { font-size: 11px; color: rgba(255,255,255,.65); }
    .hv-ctas { display: flex; gap: 10px; flex-wrap: wrap; }
    .btn-hv-wa {
      background: #25D366; color: white; padding: 13px 24px; border-radius: 10px;
      font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px;
      box-shadow: 0 4px 16px rgba(37,211,102,.35);
    }
    .btn-hv-outline {
      background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.25);
      color: white; padding: 13px 20px; border-radius: 10px;
      font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px;
    }

    @keyframes hv-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

    /* ─── HERO-V Shared bg ──────────────────────────────── */
    .hero-v .hero-bg { position: absolute; inset: 0; background-image: url('../img/h-d-t.webp'); background-size: cover; background-position: center; }

    /* ═══ ST2: PRICE SHIELD — Fixed Price is the Hero ═══════ */
    .hero-st2 .hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(7,15,31,.72) 0%, rgba(7,15,31,.45) 55%, rgba(7,15,31,.2) 100%); }
    .hr2-shield-wrap { display:flex; flex-direction:column; align-items:center; gap:16px; }
    .hr2-shield {
      background: rgba(255,255,255,.08); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
      border: 2px solid rgba(255,255,255,.2); border-radius: 24px;
      padding: 32px 28px; text-align: center; width: 100%;
      box-shadow: 0 24px 60px rgba(0,0,0,.35);
    }
    .hr2-sh-logo { width: 72px; height: 72px; border-radius: 50%; background: var(--blue); display:flex; align-items:center; justify-content:center; margin: 0 auto 16px; }
    .hr2-sh-logo img { width: 52px; height: 52px; object-fit: contain; }
    .hr2-sh-brand { font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 4px; }
    .hr2-sh-tagline { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 20px; }
    .hr2-routes { display:flex; flex-direction:column; gap: 10px; margin-bottom: 20px; }
    .hr2-route-row {
      display:flex; align-items:center; justify-content:space-between;
      background: rgba(255,255,255,.07); border-radius: 12px; padding: 10px 14px;
      border: 1px solid rgba(255,255,255,.1);
    }
    .hr2-rname { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.85); }
    .hr2-rprice { font-size: 16px; font-weight: 900; color: #7EB8FF; }
    .hr2-rincl { font-size: 9px; color: rgba(255,255,255,.45); }
    .hr2-wa {
      background: #25D366; color: #fff; border-radius: 12px; padding: 13px;
      font-size: 14px; font-weight: 800; display:flex; align-items:center; justify-content:center; gap: 8px; width: 100%;
      box-shadow: 0 4px 20px rgba(37,211,102,.35);
    }

    /* ═══ ST3: INSTANT BOOK — WhatsApp-first brand ══════════ */
    .hero-st3 .hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(7,15,31,.75) 0%, rgba(7,15,31,.5) 55%, rgba(7,15,31,.15) 100%); }
    .hr3-chat-card {
      background: #fff; border-radius: 20px; overflow: hidden;
      box-shadow: 0 24px 60px rgba(0,0,0,.4);
    }
    .hr3-chat-header {
      background: #075E54; padding: 14px 18px;
      display: flex; align-items: center; gap: 12px;
    }
    .hr3-ch-avatar {
      width: 40px; height: 40px; border-radius: 50%; background: var(--blue);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .hr3-ch-avatar img { width: 30px; height: 30px; object-fit: contain; }
    .hr3-ch-name { font-size: 14px; font-weight: 700; color: #fff; }
    .hr3-ch-status { font-size: 11px; color: rgba(255,255,255,.75); }
    .hr3-chat-body { padding: 16px; background: #ECE5DD; display:flex; flex-direction:column; gap: 10px; }
    .hr3-bubble-in {
      background: #fff; border-radius: 0 12px 12px 12px; padding: 10px 14px;
      font-size: 12px; color: #111; max-width: 85%; box-shadow: 0 1px 2px rgba(0,0,0,.1);
    }
    .hr3-bubble-in strong { display:block; font-size: 13px; margin-bottom: 2px; }
    .hr3-bubble-out {
      background: #DCF8C6; border-radius: 12px 0 12px 12px; padding: 10px 14px;
      font-size: 12px; color: #111; max-width: 80%; align-self: flex-end;
      box-shadow: 0 1px 2px rgba(0,0,0,.1);
    }
    .hr3-bubble-price {
      background: #fff; border-radius: 0 12px 12px 12px; padding: 12px 14px;
      max-width: 85%;
    }
    .hr3-price-confirm { font-size: 11px; color: #555; margin-bottom: 4px; }
    .hr3-price-big { font-size: 22px; font-weight: 900; color: #075E54; }
    .hr3-price-note { font-size: 10px; color: #888; }
    .hr3-chat-footer {
      background: #F0F0F0; padding: 12px 16px;
      display: flex; gap: 8px; align-items: center;
    }
    .hr3-footer-hint { flex: 1; background: #fff; border-radius: 999px; padding: 10px 16px; font-size: 12px; color: #aaa; }
    .hr3-send-btn { background: #25D366; color: #fff; border-radius: 50%; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }

    /* ═══ ST4: SOCIAL PROOF — 4.9★ as trust anchor ══════════ */
    .hero-st4 .hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(7,15,31,.72) 0%, rgba(7,15,31,.45) 55%, rgba(7,15,31,.18) 100%); }
    .hr4-proof {
      background: rgba(255,255,255,.08); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
      border: 1.5px solid rgba(255,255,255,.18); border-radius: 24px;
      padding: 28px; box-shadow: 0 24px 60px rgba(0,0,0,.35);
    }
    .hr4-g-header { display:flex; align-items:center; gap: 10px; margin-bottom: 16px; }
    .hr4-g-icon { width: 36px; height: 36px; background: #fff; border-radius: 8px; display:flex; align-items:center; justify-content:center; font-size: 18px; flex-shrink: 0; }
    .hr4-g-name { font-size: 12px; font-weight: 700; color: #fff; }
    .hr4-g-sub { font-size: 10px; color: rgba(255,255,255,.5); }
    .hr4-rating-big { font-size: 56px; font-weight: 900; color: #fff; line-height: 1; margin-bottom: 4px; }
    .hr4-stars { color: #FFD166; font-size: 18px; letter-spacing: 2px; margin-bottom: 6px; }
    .hr4-review-count { font-size: 12px; color: rgba(255,255,255,.6); margin-bottom: 20px; }
    .hr4-review-cards { display:flex; flex-direction:column; gap: 8px; margin-bottom: 20px; }
    .hr4-rv {
      background: rgba(255,255,255,.07); border-radius: 12px; padding: 10px 14px;
      border: 1px solid rgba(255,255,255,.1);
    }
    .hr4-rv-name { font-size: 11px; font-weight: 700; color: #fff; margin-bottom: 3px; }
    .hr4-rv-text { font-size: 11px; color: rgba(255,255,255,.7); line-height: 1.5; font-style: italic; }
    .hr4-stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap: 8px; margin-bottom: 16px; }
    .hr4-stat { text-align:center; }
    .hr4-stat-n { font-size: 20px; font-weight: 900; color: #7EB8FF; }
    .hr4-stat-l { font-size: 10px; color: rgba(255,255,255,.5); }
    .hr4-wa {
      background: #25D366; color: #fff; border-radius: 12px; padding: 13px;
      font-size: 14px; font-weight: 800; display:flex; align-items:center; justify-content:center; gap: 8px; width: 100%;
    }

    /* ═══ ST5: FLEET CARD — Real car as brand hook ═══════════ */
    .hero-st5 .hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(7,15,31,.72) 0%, rgba(7,15,31,.48) 55%, rgba(7,15,31,.2) 100%); }
    .hr5-fleet-card {
      background: #fff; border-radius: 20px; overflow:hidden;
      box-shadow: 0 24px 60px rgba(0,0,0,.4);
    }
    .hr5-fc-header { background: var(--blue); padding: 14px 20px; display:flex; align-items:center; justify-content:space-between; }
    .hr5-fc-brand { display:flex; align-items:center; gap: 10px; }
    .hr5-fc-logo { width: 32px; height: 32px; background: rgba(255,255,255,.2); border-radius: 8px; display:flex; align-items:center; justify-content:center; }
    .hr5-fc-logo img { width: 24px; height: 24px; object-fit:contain; }
    .hr5-fc-name { font-size: 13px; font-weight: 800; color: #fff; }
    .hr5-fc-tag { font-size: 10px; font-weight: 700; color: #FFD166; background: rgba(255,255,255,.15); padding: 3px 8px; border-radius: 999px; }
    .hr5-fc-car-wrap { background: #F0F4FF; padding: 20px; text-align:center; }
    .hr5-fc-car { max-height: 160px; object-fit:contain; display:block; margin: 0 auto;
      filter: drop-shadow(0 10px 20px rgba(51,102,255,.2));
      animation: hv-float 4s ease-in-out infinite;
    }
    .hr5-fc-body { padding: 16px 20px; }
    .hr5-fc-car-name { font-size: 18px; font-weight: 900; color: #0D1B2A; margin-bottom: 2px; }
    .hr5-fc-specs { font-size: 12px; color: #6B7280; margin-bottom: 12px; }
    .hr5-fc-specs-pills { display:flex; gap: 6px; flex-wrap:wrap; margin-bottom: 14px; }
    .hr5-fc-pill { background: #EEF3FF; border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 600; color: var(--blue); }
    .hr5-fc-price-row { display:flex; align-items:baseline; gap: 6px; margin-bottom: 14px; }
    .hr5-fc-from { font-size: 11px; color: #9CA3AF; }
    .hr5-fc-price { font-size: 28px; font-weight: 900; color: #0D1B2A; }
    .hr5-fc-per { font-size: 11px; color: #9CA3AF; }
    .hr5-fc-btns { display:grid; grid-template-columns:1fr 1fr; gap: 8px; }
    .hr5-btn-wa { background: #25D366; color:#fff; border-radius:10px; padding:12px; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; gap:6px; }
    .hr5-btn-bk { background: #0D1B2A; color:#fff; border-radius:10px; padding:12px; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; gap:6px; }

    /* ═══ ST6: PATTAYA IDENTITY — Local pride + since 2019 ═══ */
    .hero-st6 .hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(to right, rgba(7,15,31,.75) 0%, rgba(7,15,31,.5) 55%, rgba(7,15,31,.15) 100%); }
    .hr6-identity {
      background: rgba(255,255,255,.07); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
      border: 1.5px solid rgba(255,255,255,.18); border-radius: 24px;
      overflow:hidden; box-shadow: 0 24px 60px rgba(0,0,0,.35);
    }
    .hr6-id-top { background: var(--blue); padding: 20px 24px; display:flex; align-items:center; gap: 14px; }
    .hr6-id-logo-circle { width: 56px; height: 56px; background: rgba(255,255,255,.15); border-radius: 50%; display:flex; align-items:center; justify-content:center; border: 2px solid rgba(255,255,255,.3); flex-shrink:0; }
    .hr6-id-logo-circle img { width: 40px; height: 40px; object-fit:contain; }
    .hr6-id-brand-name { font-size: 16px; font-weight: 900; color: #fff; line-height: 1.2; }
    .hr6-id-since { font-size: 11px; color: rgba(255,255,255,.65); margin-top: 2px; }
    .hr6-id-body { padding: 20px 24px; }
    .hr6-id-tagline { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: 16px; line-height: 1.5; }
    .hr6-id-stats { display:grid; grid-template-columns:repeat(2,1fr); gap: 10px; margin-bottom: 18px; }
    .hr6-id-stat {
      background: rgba(255,255,255,.06); border-radius: 12px; padding: 14px;
      border: 1px solid rgba(255,255,255,.1);
    }
    .hr6-id-stat-n { font-size: 22px; font-weight: 900; color: #7EB8FF; margin-bottom: 2px; }
    .hr6-id-stat-l { font-size: 10px; color: rgba(255,255,255,.55); }
    .hr6-id-routes { margin-bottom: 18px; }
    .hr6-id-route { display:flex; justify-content:space-between; align-items:center; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 12px; }
    .hr6-id-route-name { color: rgba(255,255,255,.8); font-weight: 600; }
    .hr6-id-route-price { color: #7EB8FF; font-weight: 900; font-size: 14px; }
    .hr6-id-wa {
      background: #25D366; color:#fff; border-radius:12px; padding:13px;
      font-size:14px; font-weight:800; display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
      box-shadow: 0 4px 20px rgba(37,211,102,.35);
    }

    /* ─── HERO-V RESPONSIVE ─────────────────────────────── */
    @media (max-width: 900px) {
      .hero-v .hv-inner { grid-template-columns: 1fr; padding: 120px 20px 48px; gap: 28px; }
      .hr2-shield-wrap, .hr3-chat-card, .hr4-proof, .hr5-fleet-card, .hr6-identity { max-width: 440px; margin: 0 auto; width: 100%; }
    }
    @media (max-width: 540px) {
      .hero-v .hv-inner { padding: 100px 16px 36px; }
      .hv-title { font-size: 28px !important; }
      .hr4-rating-big { font-size: 42px; }
    }

    /* ─── SECTIONS ───────────────────────────────────────── */
    .sec { padding: 80px 28px; }
    .sec-gray { background: var(--gray-50); }
    .sec-blue { background: var(--blue); }
    .sec-in { max-width: 1280px; margin: 0 auto; }
    .sec-hd { margin-bottom: 32px; }
    .sec-ttl { font-size: clamp(20px, 2.8vw, 28px); font-weight: 800; letter-spacing: -.3px; color: var(--text); margin-bottom: 8px; }
    .sec-sub { font-size: 14px; color: var(--muted); max-width: 520px; line-height: 1.75; }

    /* ─── POPULAR ROUTES (Trip.com card style) ────────────── */
    /* City filter tabs */
    .route-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
    .rf {
      padding: 7px 18px; border-radius: 999px; font-size: 13px; font-weight: 600;
      border: 1.5px solid var(--gray-200); background: var(--white); color: var(--muted);
      cursor: pointer; transition: all .15s;
    }
    .rf.active { background: var(--blue) !important; border-color: var(--blue) !important; color: var(--text-on-accent) !important; }
    .rf:hover:not(.active) { border-color: var(--blue); color: var(--blue); }

    /* ─── POPULAR ROUTES TABLE DESIGN (Locked to Blue & White Main Theme) ─── */
    #routes {
      background: #FFFFFF !important;
      color: var(--text) !important;
      transition: background 0.3s ease;
    }
    #routes .sec-ttl {
      color: var(--text) !important;
    }
    #routes .sec-sub {
      color: var(--muted) !important;
    }
    .mob-label {
      display: none;
    }
    .route-filters {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 20px;
      position: relative;
      z-index: 10;
    }
    .rf {
      padding: 7px 18px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      background: #ffffff;
      border: 1px solid var(--gray-200);
      color: var(--text-2);
      cursor: pointer;
      transition: all .15s;
    }
    .rf.active {
      background: var(--blue) !important;
      border-color: var(--blue) !important;
      color: #ffffff !important;
      box-shadow: 0 4px 12px rgba(51, 102, 255, 0.25) !important;
    }
    .rf:hover:not(.active) {
      border-color: var(--blue);
      color: var(--blue);
    }

    /* Table wrapper and structure */
    .routes-table-scroll-wrap {
      position: relative;
      background: #ffffff;
      border: 1px solid var(--gray-200);
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
      transition: all 0.3s ease;
      z-index: 5;
    }
    .routes-table-scroll {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .routes-table-standard {
      width: 100%;
      border-collapse: collapse;
      text-align: left;
      font-size: 14px;
      color: var(--text-2);
    }
    .routes-table-standard th {
      padding: 16px 20px;
      font-size: 12.5px;
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: #ffffff;
      background: var(--blue-mid);
      border-bottom: 2px solid var(--gray-200);
      white-space: nowrap;
    }
    .routes-table-standard td {
      padding: 16px 20px;
      border-bottom: 1px solid var(--gray-100);
      vertical-align: middle;
      transition: background 0.2s ease;
    }
    .routes-table-standard tr:last-child td {
      border-bottom: none;
    }
    .routes-table-standard tr:nth-child(even) {
      background: var(--gray-50);
    }
    .routes-table-standard tr:hover td {
      background: var(--blue-lt);
    }

    /* Column styling */
    .td-route {
      font-weight: 800;
      font-size: 15px;
      color: var(--text);
    }
    .route-node-badges {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-left: 8px;
    }
    .route-node-badges span {
      background: var(--blue-lt);
      color: var(--blue-mid);
      font-size: 9.5px;
      font-weight: 800;
      padding: 3px 8px;
      border-radius: 4px;
      text-transform: uppercase;
    }
    .td-time {
      font-weight: 600;
      color: var(--text-2);
      white-space: nowrap;
    }
    .td-time i {
      color: var(--blue-mid);
      margin-right: 6px;
    }
    .td-inclusions {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      max-width: 340px;
    }
    .inclusion-tag {
      background: var(--gray-50);
      border: 1px solid var(--gray-200);
      color: var(--muted);
      font-size: 11px;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      gap: 5px;
    }
    .inclusion-tag i {
      font-size: 10px;
      color: var(--blue);
    }
    .td-price {
      font-size: 18px;
      font-weight: 950;
      color: var(--blue-mid);
      white-space: nowrap;
    }
    .td-price small {
      font-size: 11px;
      font-weight: 400;
      color: var(--muted);
      margin-left: 2px;
    }
    .btn-book {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      background: var(--blue) !important;
      border: none !important;
      color: #ffffff !important;
      font-size: 13px;
      font-weight: 800;
      padding: 8px 18px;
      border-radius: var(--r-sm);
      box-shadow: 0 4px 12px rgba(51, 102, 255, 0.2) !important;
      border: none;
      transition: filter .15s, transform .15s;
      white-space: nowrap;
      cursor: pointer;
    }
    .btn-book:hover {
      background: var(--blue-h) !important;
      transform: translateY(-1px);
    }

    /* Professional fare board overrides */
    .routes-table-scroll-wrap.routes-table-standard {
      border: 1px solid #DDE7F6;
      border-radius: 18px;
      background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
      box-shadow: 0 18px 54px rgba(15,23,42,.08);
      overflow: hidden;
    }
    .routes-table-standard table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      background: transparent;
    }
    .routes-table-standard thead th {
      padding: 18px 22px;
      background: linear-gradient(135deg, #174CE6 0%, #2F5EEA 100%);
      border-bottom: none;
      border-right: 1px solid rgba(255,255,255,.22);
      color: #fff;
      font-size: 12px;
      letter-spacing: .7px;
    }
    .routes-table-standard thead th:last-child { border-right: 0; }
    .routes-table-standard tbody tr {
      background: #fff;
      transition: transform .15s ease, box-shadow .15s ease;
    }
    .routes-table-standard tbody tr:nth-child(even) {
      background: #F8FAFF;
    }
    .routes-table-standard tbody tr:hover {
      transform: translateY(-1px);
      box-shadow: inset 4px 0 0 var(--blue);
    }
    .routes-table-standard tbody tr:hover td {
      background: rgba(239,245,255,.88);
    }
    .routes-table-standard td {
      padding: 20px 22px;
      border-bottom: 1px solid #E9EEF8;
      border-right: 1px solid #EEF2F8;
    }
    .routes-table-standard td:last-child { border-right: 0; }
    .td-route > span:first-child {
      display: block;
      margin-bottom: 8px;
      font-size: 15.5px;
      line-height: 1.35;
    }
    .route-node-badges {
      margin-left: 0;
      gap: 8px;
    }
    .route-node-badges span {
      border-radius: 8px;
      background: #EEF4FF;
      border: 1px solid #DCE7FF;
      color: #2454D6;
      padding: 5px 10px;
      font-size: 10px;
    }
    .route-node-badges i {
      color: #111827;
      font-size: 13px;
    }
    .td-time > span:not(.mob-label) {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #a3a3a3;
      font-weight: 800;
    }
    .td-time i {
      width: 24px;
      height: 24px;
      margin-right: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: #EEF4FF;
      color: var(--blue);
      font-size: 12px;
    }
    .inclusion-tag-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .inclusion-tag {
      padding: 7px 10px;
      border-radius: 999px;
      background: #FFFFFF;
      border: 1px solid #DDE5F0;
      color: #667085;
      font-size: 11.5px;
      font-weight: 800;
      box-shadow: 0 1px 0 rgba(15,23,42,.03);
    }
    .td-price > span:not(.mob-label) {
      display: inline-flex;
      align-items: baseline;
      gap: 5px;
      color: var(--blue);
      font-size: 22px;
      line-height: 1;
      font-weight: 950;
    }
    .td-price small {
      font-size: 11px;
      color: #667085;
    }
    .routes-table-standard .btn-book {
      min-width: 92px;
      min-height: 46px;
      border-radius: 10px;
      font-size: 14px;
      box-shadow: 0 10px 24px rgba(51,102,255,.22) !important;
    }

    /* Premium fixed-fare board */
    .routes-section {
      background:
        radial-gradient(ellipse 70% 45% at 88% 8%, rgba(51,102,255,.13) 0%, transparent 62%),
        linear-gradient(180deg, #FFFFFF 0%, #F6F9FF 100%);
    }
    .routes-board {
      position: relative;
      border-radius: 24px;
      background: #fff;
      padding: 26px;
      border: 1px solid #DDE7F6;
      box-shadow: 0 26px 70px rgba(15,48,111,.10);
      overflow: hidden;
    }
    .routes-board::before {
      content: "";
      position: absolute;
      top: -90px;
      right: -80px;
      width: 360px;
      height: 220px;
      border-radius: 0 0 0 180px;
      background: linear-gradient(135deg, rgba(51,102,255,.16), rgba(51,102,255,0));
      pointer-events: none;
    }
    .routes-board-head {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 240px minmax(0, 1fr) 280px;
      align-items: center;
      gap: 28px;
      min-height: 116px;
      padding: 2px 6px 22px;
    }
    .routes-board-brand {
      border-right: 1px solid #C7D6EF;
      padding-right: 28px;
    }
    .routes-board-brand img {
      display: block;
      width: 210px;
      max-width: 100%;
      height: auto;
    }
    .routes-board-title {
      min-width: 0;
    }
    .routes-board-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
      color: #155CFF;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .routes-board-title h2 {
      color: #071B4D;
      font-size: clamp(30px, 3.4vw, 46px);
      line-height: 1.04;
      letter-spacing: -.035em;
      font-weight: 900;
    }
    .routes-board-title p {
      margin-top: 9px;
      color: #6678A2;
      font-size: clamp(15px, 1.5vw, 20px);
      line-height: 1.45;
      font-weight: 700;
    }
    .routes-board-visual {
      position: relative;
      min-height: 104px;
      align-self: stretch;
      overflow: visible;
    }
    .routes-board-visual::before {
      content: "";
      position: absolute;
      inset: 20px -40px -18px -26px;
      background:
        linear-gradient(12deg, rgba(51,102,255,.12), rgba(51,102,255,0) 54%),
        repeating-linear-gradient(155deg, rgba(51,102,255,.16) 0 2px, transparent 2px 22px);
      border-radius: 120px 0 0 0;
    }
    .routes-board-visual img {
      position: absolute;
      right: 0;
      bottom: -2px;
      width: min(280px, 100%);
      max-height: 116px;
      object-fit: contain;
      filter: drop-shadow(0 18px 22px rgba(15,48,111,.22));
    }
    .routes-board .routes-table-scroll-wrap.routes-table-standard {
      position: relative;
      z-index: 2;
      border-radius: 18px;
      border: 1px solid #D6E2F5;
      background: #fff;
      box-shadow: 0 16px 42px rgba(15,48,111,.09);
    }
    .routes-board .routes-table-standard thead th {
      padding: 19px 26px;
      background: linear-gradient(180deg, #005fee 0%, #02215d 100%);
      border-right: 1px solid rgba(255, 255, 255, .20);
      color: #fff;
      font-size: 13px;
      letter-spacing: .04em;
      vertical-align: middle;
    }
    .routes-board .routes-table-standard thead th i {
      margin-right: 11px;
      font-size: 15px;
      opacity: .95;
    }
    .routes-board .routes-table-standard td {
      padding: 19px 26px;
      border-bottom: 1px solid #E2EAF8;
      border-right: 1px solid #E8EEF9;
      background: rgba(255,255,255,.94);
    }
    .routes-board .routes-table-standard tbody tr:nth-child(even) td {
      background: #F8FBFF;
    }
    .routes-board .routes-table-standard tbody tr:hover,
    .routes-board .routes-table-standard tbody tr:hover td {
      transform: none;
      background: #F3F7FF;
      box-shadow: none;
    }
    .routes-board .td-route > span:first-child {
      color: #071B4D;
      font-size: 16px;
      font-weight: 900;
    }
    .routes-board .route-node-badges span {
      background: #0037b9;
      border: 1px solid #ffffff;
      color: #ffffff;
      border-radius: 8px;
      min-width: 52px;
      text-align: center;
      font-size: 11px;
    }
    .routes-board .inclusion-tag {
      min-height: 42px;
      padding: 8px 14px;
      color: #071B4D;
      border-color: #D7E3F6;
      background: #fff;
      font-size: 12.5px;
      box-shadow: inset 0 -1px 0 rgba(15,48,111,.04);
    }
    .routes-board .inclusion-tag i {
      color: #a3a3a3;
      font-size: 14px;
    }
    .routes-board .td-price > span:not(.mob-label) {
      color: #3366ff;
      font-size: 29px;
      font-weight: 950;
      letter-spacing: -.04em;
    }
    .routes-board .td-price small {
      display: block;
      margin-top: 4px;
      color: #6678A2;
      font-size: 12px;
      letter-spacing: 0;
    }
    .routes-board .btn-book {
      min-width: 138px;
      min-height: 50px;
      border-radius: 10px;
      background: linear-gradient(180deg, #1C66FF 0%, #064BEA 100%) !important;
      font-size: 15px;
      box-shadow: 0 12px 24px rgba(21,92,255,.28) !important;
    }
    .routes-board .btn-book::after {
      content: "\f061";
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      margin-left: 8px;
      font-size: 13px;
    }
    .routes-trust-strip {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      margin-top: 18px;
      border: 1px solid #DDE7F6;
      border-radius: 16px;
      background: rgba(255,255,255,.92);
      box-shadow: 0 14px 35px rgba(15,48,111,.08);
      overflow: hidden;
    }
    .routes-trust-item {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      min-height: 78px;
      padding: 14px 18px;
      border-right: 1px solid #D6E2F5;
    }
    .routes-trust-item:last-child {
      border-right: 0;
    }
    .routes-trust-item > span {
      width: 46px;
      height: 46px;
      flex: 0 0 auto;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: linear-gradient(180deg, #EEF4FF, #DDE9FF);
      color: #155CFF;
      box-shadow: inset 0 0 0 1px #C8D8F7;
      font-size: 18px;
    }
    .routes-trust-item strong {
      display: block;
      color: #071B4D;
      font-size: 15px;
      font-weight: 850;
      line-height: 1.2;
    }
    .routes-trust-item small {
      display: block;
      margin-top: 4px;
      color: #6678A2;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.25;
    }

    /* ─── HOW IT WORKS (Locked to Style 3 Connected Process Line on Desktop) ─── */
    .how-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      background: transparent;
      border: none;
      border-radius: 0;
      overflow: visible;
    }
    .how-step {
      background: var(--white);
      border: var(--border-card);
      border-radius: 16px;
      box-shadow: var(--shadow-card);
      padding: 28px 24px;
      text-align: center;
      position: relative;
    }
    .how-step::after {
      content: '➔';
      position: absolute;
      top: 50%;
      right: -20px;
      transform: translateY(-50%);
      font-size: 18px;
      color: var(--blue);
      z-index: 10;
    }
    .how-step:last-child::after {
      display: none;
    }
    .how-num {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: var(--blue);
      color: var(--text-on-accent);
      font-size: 14px;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
      box-shadow: 0 4px 10px var(--blue-lt);
    }
    .how-ico { font-size: 28px; color: var(--blue); margin-bottom: 12px; }
    .how-step h3 { font-size: 14px; font-weight: 700; margin-bottom: 6px; }
    .how-step p  { font-size: 13px; color: var(--muted); line-height: 1.65; }
    /* ─── HOW IT WORKS — Blue section overrides ─── */
    #how.sec-blue { }
    #how .sec-ttl { color: #fff; }
    #how .sec-sub { color: rgba(255,255,255,.75); }
    #how .how-step {
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.22);
      box-shadow: 0 4px 20px rgba(0,0,0,.12);
    }
    #how .how-step::after { color: rgba(255,255,255,.5); }
    #how .how-num {
      background: rgba(255,255,255,.2);
      color: #fff;
      box-shadow: 0 4px 10px rgba(0,0,0,.15);
    }
    #how .how-ico { color: #fff; }
    #how .how-step h3 { color: #fff; }
    #how .how-step p  { color: rgba(255,255,255,.75); }

    /* ─── FLEET — MWS Style ──────────────────────────────── */
    .fleet-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }
    .fc-card {
      background: #EEF3FF;
      border: 1.5px solid #DDE5F8;
      border-radius: 16px;
      overflow: visible;
      box-shadow: 0 2px 10px rgba(0,0,0,.05);
      transition: box-shadow .2s, transform .15s;
      display: flex;
      flex-direction: column;
      position: relative;
    }
    .fc-card:hover { box-shadow: 0 8px 28px rgba(51,102,255,.14); transform: translateY(-4px); }
    .fc-card.featured { border-color: var(--blue); border-width: 2px; }

    /* Popular badge */
    .fc-popular {
      position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
      background: #111827; color: #fff;
      font-size: 11px; font-weight: 700;
      padding: 5px 14px; border-radius: 999px;
      white-space: nowrap; z-index: 2;
    }

    /* Car image — large, top */
    .fc-img {
      width: 100%; height: 200px;
      object-fit: contain; object-position: center bottom;
      padding: 22px 14px 0;
      transition: transform .3s;
      display: block;
      filter: drop-shadow(0 14px 18px rgba(13,27,42,.18));
    }
    .fc-card:hover .fc-img { transform: scale(1.05) translateY(-4px); }

    /* Name + badge row */
    .fc-namebar {
      display: flex; align-items: flex-start; justify-content: space-between;
      gap: 8px; padding: 14px 18px 0;
    }
    .fc-name {
      font-size: 18px; font-weight: 900; color: #0D1B2A;
      line-height: 1.2; flex: 1;
    }
    .fc-badge {
      font-size: 10px; font-weight: 700; color: #3366FF;
      background: #E0E9FF; border-radius: 999px;
      padding: 4px 10px; white-space: nowrap; flex-shrink: 0; margin-top: 3px;
    }

    /* Seats + luggage pills */
    .fc-specs {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 8px; padding: 12px 18px 0;
    }
    .fc-spec {
      background: #fff; border-radius: 10px;
      padding: 8px 10px;
      border: 1px solid #DDE5F8;
    }
    .fc-spec-lbl { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #9CA3AF; margin-bottom: 2px; }
    .fc-spec-val { font-size: 13px; font-weight: 700; color: #0D1B2A; }

    /* Feature list */
    .fc-features {
      padding: 12px 18px 0;
      list-style: none;
      flex: 1;
    }
    .fc-features li {
      font-size: 12.5px; color: #374151; line-height: 1.5;
      padding: 3px 0; display: flex; gap: 7px; align-items: flex-start;
    }
    .fc-features li::before { content: '✓'; color: var(--blue); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

    /* Buttons */
    .fc-btns {
      display: grid; grid-template-columns: 1fr;
      gap: 8px; padding: 14px 18px 18px; margin-top: auto;
    }
    .fc-btn-wa {
      background: #0B0F0D; color: #fff;
      border: 1.5px solid #25D366;
      border-radius: 999px; padding: 11px 10px;
      font-size: 13px; font-weight: 700;
      display: flex; align-items: center; justify-content: center; gap: 6px;
      transition: filter .15s;
    }
    .fc-btn-wa i { color: #25D366; }
    .fc-btn-wa:hover { background: #1db954; }
    .fc-btn-book {
      background: var(--blue);
      color: #fff;
      border: none;
      border-radius: 999px; padding: 12px 10px;
      font-size: 13px; font-weight: 700;
      display: flex; align-items: center; justify-content: center; gap: 6px;
      box-shadow: 0 4px 12px rgba(51,102,255,.3);
      transition: transform .15s, background .15s, box-shadow .15s;
    }
    .fc-btn-book:hover {
      background: var(--blue-h);
      box-shadow: 0 6px 16px rgba(51,102,255,.4);
    }
    .fc-btn-book:hover { background: var(--blue); }

    @media (max-width: 1000px) {
      .fleet-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 540px) {
      .fleet-grid { grid-template-columns: 1fr; }
      .fc-img { height: auto; width: 100%; padding: 18px 10px 0; }
    }

    /* Fleet section spacing + card polish */
    #fleet { padding-top: 56px; padding-bottom: 64px; }
    #fleet .fc-card {
      background: linear-gradient(180deg, #F2F6FF 0%, #FFFFFF 55%);
      border: 1px solid #E2EAFB;
      border-radius: 18px;
      box-shadow: 0 4px 16px rgba(0,30,90,.06);
    }
    #fleet .fc-card:hover {
      box-shadow: 0 16px 40px rgba(51,102,255,.16);
      border-color: #B9CFFF;
    }
    #fleet .fc-card.featured {
      border: 2px solid var(--blue);
      box-shadow: 0 10px 30px rgba(51,102,255,.14);
    }
    @media (max-width: 768px) {
      #fleet { padding-top: 40px !important; padding-bottom: 48px !important; }
    }

    /* ─── FLEET PREVIEW (above USP strip) ─────────────────── */
    .fleet-preview-sec {
      background: var(--gray-50);
      padding: 36px 28px 32px;
    }
    .fleet-preview-sec .sec-hd {
      margin-bottom: 24px;
    }
    .fleet-preview-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      max-width: 1100px;
      margin: 0 auto;
    }
    .fp-card {
      background: #fff;
      border: 1px solid #E5EAF2;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0,0,0,.05);
      transition: box-shadow .2s, transform .15s;
      display: flex;
      flex-direction: column;
    }
    .fp-card:hover { box-shadow: 0 6px 20px rgba(51,102,255,.12); transform: translateY(-2px); }
    .fp-head {
      display: flex; align-items: center; gap: 8px;
      padding: 12px 14px 0;
    }
    .fp-badge {
      font-size: 11px; font-weight: 600; color: #555;
      background: #F0F2F8; border-radius: 4px;
      padding: 3px 7px; white-space: nowrap; flex-shrink: 0;
    }
    .fp-name {
      font-size: 13px; font-weight: 800; color: var(--text);
      line-height: 1.3;
    }
    .fp-body {
      padding: 10px 14px 16px;
      display: flex; align-items: center; gap: 14px;
    }
    .fp-body img {
      width: 110px; height: 68px; object-fit: contain; flex-shrink: 0;
      transition: transform .3s;
    }
    .fp-card:hover .fp-body img { transform: scale(1.05); }
    .fp-specs {
      display: flex; flex-direction: column; gap: 5px;
    }
    .fp-spec {
      display: flex; align-items: center; gap: 6px;
      font-size: 12px; color: #6B7280;
    }
    .fp-spec i { font-size: 11px; color: #9CA3AF; width: 13px; text-align: center; }
    .fp-foot {
      display: flex; align-items: center; justify-content: space-between;
      padding: 10px 14px 12px;
      border-top: 1px solid #F0F2F6;
      margin-top: auto;
    }
    .fp-foot { display: none; }
    .fp-price-lbl { font-size: 10px; color: #9CA3AF; margin-bottom: 1px; }
    .fp-price { font-size: 18px; font-weight: 900; color: var(--text); }
    .fp-price span { font-size: 11px; font-weight: 400; color: #9CA3AF; }
    @media (max-width: 860px) {
      .fleet-preview-grid { grid-template-columns: repeat(2, 1fr); }
      .fleet-preview-sec { padding: 32px 16px 28px; }
    }
    @media (max-width: 420px) {
      .fp-body img { width: 88px; height: 56px; }
    }

    /* ─── REVIEWS SECTION (Locked to Blue & White Main Theme) ─── */
    .reviews-section {
      background: #f8fafc !important; /* Premium light blue/gray matching how-it-works section */
      position: relative;
      overflow: hidden;
    }
    .reviews-section .sec-ttl {
      color: var(--text) !important;
    }
    .reviews-section .sec-sub {
      color: var(--muted) !important;
    }

    /* Subtle background glows for premium feel */
    .rv-light-glow {
      position: absolute;
      width: 450px;
      height: 450px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(51, 102, 255, 0.06) 0%, rgba(99, 102, 241, 0.03) 70%, transparent 100%);
      filter: blur(60px);
      z-index: 1;
      pointer-events: none;
    }
    .rv-light-glow-1 {
      top: -100px;
      left: -100px;
    }
    .rv-light-glow-2 {
      bottom: -150px;
      right: -100px;
    }

    .rv-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      position: relative;
      z-index: 2;
    }
    .rv-card {
      background: #ffffff; /* White background for clean light card deck */
      border: 1px solid var(--gray-200);
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .rv-card:hover {
      transform: translateY(-5px);
      border-color: var(--blue-mid);
      box-shadow: 0 12px 30px rgba(51, 102, 255, 0.1);
      background: #ffffff;
    }
    .rv-stars {
      color: #FBBF24;
      font-size: 13px;
      display: flex;
      gap: 2px;
      margin-bottom: 12px;
    }
    .rv-text {
      font-size: 14px;
      color: var(--text-2);
      line-height: 1.7;
      font-style: italic;
      margin-bottom: 18px;
    }
    .rv-author {
      display: flex;
      align-items: center;
      gap: 12px;
      padding-top: 14px;
      border-top: 1px solid var(--gray-100);
    }
    .rv-av {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      object-fit: cover;
      border: 1.5px solid var(--blue-mid);
      flex-shrink: 0;
    }
    .rv-name {
      font-size: 13.5px;
      font-weight: 700;
      color: var(--text);
    }
    .rv-loc {
      font-size: 12px;
      color: var(--muted);
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    /* ─── READ MORE BUTTON & THEME OVERRIDES ─── */
    .btn-readmore-wrap {
      display: none;
      justify-content: center;
      margin-top: 32px;
      position: relative;
      z-index: 2;
    }
    .btn-readmore {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #ffffff;
      color: var(--blue-mid);
      border: 2px solid var(--blue);
      border-radius: 999px;
      padding: 10px 24px;
      font-size: 13.5px;
      font-weight: 800;
      cursor: pointer;
      box-shadow: var(--sh-xs);
      transition: all 0.2s ease;
    }
    .btn-readmore:hover {
      background: var(--blue-lt);
      color: var(--blue-mid);
      border-color: var(--blue-mid);
      box-shadow: var(--sh);
      transform: translateY(-1px);
    }
    .btn-readmore:active {
      transform: translateY(0);
    }

    /* ─── RESPONSIVE LAYOUTS ─── */
    @media (max-width: 1100px) {
      .rv-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
      }
    }
    @media (max-width: 768px) {
      .rv-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
      }
      .rv-grid .rv-card.rv-hide-mob {
        display: none !important;
      }
      .rv-grid.show-all-reviews .rv-card.rv-hide-mob {
        display: flex !important;
        animation: rvFadeIn 0.4s ease forwards;
      }
      .btn-readmore-wrap {
        display: flex;
      }
    }
    @keyframes rvFadeIn {
      from { opacity: 0; transform: translateY(15px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* ─── FAQ ────────────────────────────────────────────── */
    .faq-wrap { max-width: 800px; display: flex; flex-direction: column; gap: 8px; }
    /* FAQ two-column layout */
    .faq-grid {
      display: grid;
      grid-template-columns: 1fr 420px;
      gap: 40px;
      align-items: start;
      max-width: 1280px;
      margin: 0 auto;
    }
    .faq-side {
      position: sticky;
      top: 130px;
    }
    .faq-side img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 18px;
      border: 1px solid #E2EAFB;
      box-shadow: 0 18px 44px rgba(0,30,90,.14), 0 4px 12px rgba(0,30,90,.08);
    }
    @media (max-width: 900px) {
      .faq-grid { grid-template-columns: 1fr; gap: 24px; }
      .faq-side { position: static; max-width: 480px; margin: 0 auto; width: 100%; }
    }

    .faq-item { background: var(--white); border: var(--border-card); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow-card); }
    .faq-q { width: 100%; padding: 17px 18px; font-family: var(--font-headings); font-size: 14px; font-weight: 700; color: var(--text); background: none; border: none; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
    .faq-q i { color: var(--blue); font-size: 11px; transition: transform .25s; flex-shrink: 0; }
    .faq-q.open i { transform: rotate(180deg); }
    .faq-q:hover { background: var(--gray-100); }
    .faq-a { display: none; padding: 0 18px 16px; font-size: 13px; color: var(--text-2); line-height: 1.8; border-top: 1px solid var(--gray-200); padding-top: 13px; }
    .faq-a.open { display: block; }

    /* ─── CTA BANNER ─────────────────────────────────────── */
    .cta-sec {
      background: var(--cta-bg);
      padding: 80px 28px; text-align: center;
    }
    .cta-sec h2 { font-size: clamp(22px, 3.5vw, 34px); font-weight: 900; color: white; letter-spacing: -.35px; margin-bottom: 8px; }
    @media (min-width: 769px) {
      .cta-sec h2 { white-space: nowrap !important; }
    }
    .cta-sec p  { font-size: 15px; color: rgba(255,255,255,.65); margin-bottom: 28px; }
    .cta-btns   { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
    .cta-wa   { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: var(--r-sm); background: #0B0F0D; border: 1.5px solid #25D366; color: white; font-size: 14px; font-weight: 800; transition: filter .15s, transform .1s; }
    .cta-wa i { color: #25D366; }
    .cta-wa:hover   { filter: brightness(1.3); transform: translateY(-1px); }
    .cta-line { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: var(--r-sm); background: #06C755; color: white; font-size: 14px; font-weight: 800; transition: filter .15s, transform .1s; }
    .cta-line:hover { filter: brightness(1.08); transform: translateY(-1px); }
    .cta-call { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: var(--r-sm); background: white; color: var(--blue); font-size: 14px; font-weight: 800; transition: background .15s, transform .1s; }
    .cta-call:hover { background: var(--gray-100); transform: translateY(-1px); }

    /* ─── FOOTER ─────────────────────────────────────────── */
    .footer { background: var(--footer-bg); color: var(--footer-text); padding: 52px 28px 24px; border-top: 1px solid var(--footer-border); }
    .foot-in { max-width: 1280px; margin: 0 auto; }
    .foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 44px; margin-bottom: 40px; }
    .foot-desc { font-size: 13px; line-height: 1.8; margin-top: 13px; color: var(--muted); }
    .foot-col h4 { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--text-2); margin-bottom: 13px; }
    .foot-col ul { list-style: none; }
    .foot-col li { margin-bottom: 9px; }
    .foot-col a  { font-size: 13px; color: var(--text-2); transition: color .15s; }
    .foot-col a:hover { color: var(--blue); }
    .fci { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 8px; }
    .fci i { color: var(--blue); width: 14px; font-size: 12px; }
    .foot-bottom { border-top: 1px solid var(--footer-border); padding-top: 20px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
    .foot-bottom p { font-size: 12px; color: var(--muted); }
    .foot-social { display: flex; gap: 8px; }
    .foot-social a { width: 30px; height: 30px; border-radius: var(--r-sm); background: var(--gray-100); color: var(--text-2); display: flex; align-items: center; justify-content: center; font-size: 13px; transition: background .15s; }
    .foot-social a:hover { background: var(--blue); color: var(--white); }

    /* ─── HAMBURGER + MOBILE DRAWER ─────────────────────── */
    .mob-menu-btn {
      display: none;
      position: absolute; top: 14px; right: 14px; z-index: 450;
      width: 44px; height: 44px; border-radius: 10px;
      background: var(--blue) !important; color: var(--text-on-accent) !important;
      border: none; cursor: pointer;
      align-items: center; justify-content: center;
      font-size: 18px;
      box-shadow: 0 2px 12px var(--blue-lt);
      transition: background .15s;
    }
    .mob-menu-btn:hover { background: var(--blue-h) !important; }

    .mob-drawer {
      position: fixed; inset: 0; z-index: 490;
      display: none;        /* hidden by default — never blocks clicks */
    }
    .mob-drawer.open {
      display: flex;        /* only shows when hamburger is pressed */
    }
    .mob-drawer-overlay {
      position: absolute; inset: 0;
      background: rgba(0,0,0,.45);
      backdrop-filter: blur(2px);
    }
    .mob-drawer-panel {
      position: relative; z-index: 1;
      width: 280px; max-width: 85vw;
      background: var(--white);
      height: 100%; overflow-y: auto;
      display: flex; flex-direction: column;
      box-shadow: 4px 0 24px rgba(0,0,0,.15);
      transform: translateX(-100%);
      transition: transform .3s cubic-bezier(.4,0,.2,1);
    }
    .mob-drawer.open .mob-drawer-panel { transform: translateX(0); }

    .mob-drawer-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 16px 20px;
      border-bottom: 1px solid var(--gray-200);
    }
    .mob-drawer-head img { height: 48px; object-fit: contain; }
    .mob-drawer-close {
      width: 36px; height: 36px; border-radius: 8px;
      background: var(--gray-100); border: none; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      color: var(--muted); font-size: 16px;
      transition: background .15s;
    }
    .mob-drawer-close:hover { background: var(--gray-200); }

    .mob-drawer-nav { padding: 12px 0; flex: 1; }
    .mob-drawer-nav a {
      display: flex; align-items: center; gap: 14px;
      padding: 14px 20px;
      font-size: 15px; font-weight: 600; color: var(--text-2);
      border-bottom: 1px solid var(--gray-100);
      transition: background .15s, color .15s;
    }
    .mob-drawer-nav a:last-child { border-bottom: none; }
    .mob-drawer-nav a i { color: var(--blue); width: 18px; font-size: 15px; }
    .mob-drawer-nav a:hover { background: var(--blue-lt); color: var(--blue); }
    .mob-dd summary { display: flex; align-items: center; gap: 14px; padding: 14px 20px; font-size: 15px; font-weight: 600; color: var(--text-2); border-bottom: 1px solid var(--gray-100); cursor: pointer; list-style: none; }
    .mob-dd summary::-webkit-details-marker { display: none; }
    .mob-dd summary i { color: var(--blue); width: 18px; font-size: 15px; }
    .mob-dd-arr { margin-left: auto; transition: transform .2s; }
    .mob-dd[open] .mob-dd-arr { transform: rotate(180deg); }
    .mob-dd > a { padding-left: 52px !important; font-size: 14px !important; }

    .mob-drawer-foot {
      padding: 16px 20px;
      border-top: 1px solid var(--gray-200);
      display: flex; flex-direction: column; gap: 10px;
    }
    .mob-drawer-wa {
      display: flex; align-items: center; justify-content: center; gap: 8px;
      padding: 13px; border-radius: var(--r-sm);
      background: #0B0F0D; border: 1.5px solid #25D366; color: white;
      font-size: 14px; font-weight: 800;
    }
    .mob-drawer-call {
      display: flex; align-items: center; justify-content: center; gap: 8px;
      padding: 11px; border-radius: var(--r-sm);
      background: var(--blue-lt); color: var(--blue);
      font-size: 14px; font-weight: 700;
      border: 1.5px solid var(--blue-lt);
    }

    /* ─── MOBILE FLOAT ───────────────────────────────────── */
    .mob-float { display: none; position: fixed; bottom: 12px; left: 10px; right: 10px; z-index: 400; background: var(--white); border: 1px solid rgba(37,211,102,.25); border-radius: 14px; padding: 10px; box-shadow: 0 12px 40px rgba(0,0,0,.18); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; }
    .mf-icon { width: 42px; height: 42px; border-radius: 50%; background: #25D366; color: white; display: flex; align-items: center; justify-content: center; font-size: 20px; }
    .mf-copy strong { display: block; font-size: 13px; font-weight: 900; color: var(--text); }
    .mf-copy span   { font-size: 12px; color: var(--muted); }
    .mf-acts { display: flex; align-items: center; gap: 5px; }
    .mf-btn  { background: #0B0F0D; border: 1.5px solid #25D366; color: white; font-size: 13px; font-weight: 900; padding: 8px 13px; border-radius: 999px; }
    /* WhatsApp buttons — green icon on black */
    .btn-hero-wa i,
    .mob-drawer-wa i,
    .midbanner-btn-wa i { color: #25D366; }
    .mf-close { width: 26px; height: 26px; border-radius: 50%; background: var(--gray-100); border: none; cursor: pointer; color: var(--muted); display: flex; align-items: center; justify-content: center; }

    /* ─── RESPONSIVE ─────────────────────────────────────── */
    @media (max-width: 1100px) {
      .sc-row { grid-template-columns: 1fr 1fr; border-radius: var(--r-sm); }
      .sc-row .sc-divider { display: none; }
      .sc-row .btn-search { grid-column: 1 / -1; border-radius: 0 0 var(--r-sm) var(--r-sm); }
      .sc-field { border-right: none; border-bottom: 1px solid var(--gray-200); }
      .usp-strip-inner { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      .h-nav { display: none; }
    }
    @media (max-width: 768px) {
      .h-phone { display: none; }
      .sc-row { grid-template-columns: 1fr; }
      .foot-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
      .usp-strip-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 1px;
        border-radius: 14px;
      }
      .us {
        padding: 16px 14px;
        gap: 10px;
      }
      .us-icon {
        width: 34px;
        height: 34px;
        font-size: 14px;
        flex-shrink: 0;
      }
      .us h4 {
        font-size: 12px;
        line-height: 1.35;
        margin-bottom: 2px;
      }
      .us p {
        font-size: 11px;
        line-height: 1.45;
      }
      .mob-float { display: grid; }
      .cta-btns {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
      }
      .cta-wa, .cta-line, .cta-call {
        padding: 12px 8px;
        font-size: 13px;
        justify-content: center;
        white-space: nowrap;
      }
      .search-card { margin-bottom: 0; }
      .usp-strip { padding: 24px 16px !important; }

      /* Mobile Header — Full-width attached to topbar */
      .header {
        position: fixed !important; top: 36px !important;
        left: 0 !important; right: 0 !important;
        width: 100% !important; max-width: none !important;
        margin: 0 !important;
        height: 58px !important;
        border-radius: 0 !important;
        border: none !important;
        border-bottom: 1px solid rgba(0,0,0,.08) !important;
        background: #ffffff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
      }
      .header-inner {
        height: 58px !important;
        max-width: 100% !important;
        padding: 0 12px !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 8px !important;
      }
      .logo {
        height: 44px !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center !important;
      }
      .logo img {
        height: 100% !important;
        width: auto !important;
        object-fit: contain !important;
      }
      .h-nav    { display: none !important; }
      .h-phone  { display: none !important; }
      .h-right {
        width: auto !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        padding-bottom: 0 !important;
      }
      .lang-selector {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 8px !important;
      }
      .h-signin {
        display: none !important;
      }
      .mob-menu-btn {
        display: flex !important;
        position: static !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
        background: var(--blue) !important;
        color: white !important;
        box-shadow: none !important;
      }

      /* Responsive Hero Styles */
      .hero {
        min-height: auto;
        padding-top: 94px; /* Clearance for fixed header (topbar 36 + header 58) */
        display: block !important;
      }
      .hero-inner {
        padding: 8px 16px 16px;
        text-align: center;
      }
      .hero-title {
        font-size: 32px;
        margin-bottom: 6px;
        color: #FFFFFF !important;
        background: none !important;
        -webkit-text-fill-color: #FFFFFF !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4) !important;
      }
      .hero-sub {
        font-size: 14px;
        margin-bottom: 24px;
        color: #BFE3FF !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
      }
      .hero-bg::after {
        background:
          radial-gradient(ellipse at 50% 46%, rgba(7,15,31,.32) 0%, rgba(7,15,31,.18) 42%, rgba(7,15,31,0) 70%),
          linear-gradient(to bottom, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 38%, rgba(7,15,31,.22) 100%) !important;
      }
      .sc-tabs {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px;
        overflow-x: auto;
        scrollbar-width: none; /* Firefox */
        -webkit-overflow-scrolling: touch;
      }
      .sc-tabs::-webkit-scrollbar {
        display: none; /* Safari and Chrome */
      }
      .sc-tab {
        width: 100%;
        min-height: 44px;
        padding: 11px 12px;
        font-size: 13px;
        flex-shrink: 1;
      }
      .sc-instant {
        justify-content: center;
        padding: 12px 16px 0;
      }

      .search-card {
        width: 100% !important;
        max-width: 480px !important;
        margin: 0 auto !important;
        text-align: left !important;
        background: var(--white) !important;
        border: var(--border-card) !important;
        box-shadow: var(--shadow-card) !important;
        border-radius: 16px !important;
      }

      /* Premium Mobile Form Fields (Break grid into elegant cards) */
      .sc-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        border: none !important;
        background: transparent !important;
        overflow: visible !important;
      }
      .sc-field {
        border: 1px solid var(--gray-200) !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        background: var(--gray-100) !important;
        min-height: 58px !important;
        padding: 0 16px !important;
        text-align: left !important;
      }
      .sc-field-inner {
        text-align: left !important;
      }
      .sc-row .sc-divider {
        display: flex !important;
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        border-radius: 50% !important;
        background: var(--white) !important;
        color: var(--blue) !important;
        border: 1px solid var(--gray-200) !important;
        margin: -24px auto -24px !important; /* Center on top of the 12px gap */
        cursor: pointer !important;
        z-index: 5 !important;
        transform: rotate(90deg) !important; /* Rotate to point vertically */
        box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
        align-items: center !important;
        justify-content: center !important;
        transition: background .15s, color .15s !important;
      }
      .sc-row .sc-divider:hover {
        background: var(--gray-100) !important;
        border-color: var(--gray-300) !important;
      }
      .btn-search {
        width: 100% !important;
        border-radius: var(--r) !important;
        min-height: 52px !important;
        margin-top: 4px !important;
      }
      /* Stacked layout for standard table on mobile (Blue & White Light Theme) */
      .routes-table-standard,
      .routes-table-standard table,
      .routes-table-standard thead,
      .routes-table-standard tbody,
      .routes-table-standard tr,
      .routes-table-standard td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
      }
      .routes-table-standard thead {
        display: none !important;
      }
      .routes-table-standard .routes-table-scroll {
        display: block;
        width: 100% !important;
        overflow: visible !important;
      }
      .routes-table-scroll-wrap {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible;
      }
      .routes-table-standard tr {
        position: relative;
        background: #fff !important;
        border: 1px solid #DCE6F8 !important;
        border-radius: 18px !important;
        padding: 18px 16px 16px;
        margin-bottom: 16px;
        box-shadow: 0 14px 36px rgba(15,23,42,.09), 0 2px 8px rgba(15,23,42,.04) !important;
        transform: none !important;
        overflow: hidden;
      }
      .routes-table-standard tr::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 4px;
        background: linear-gradient(180deg, var(--blue), #7EA6FF);
        border-radius: 18px 0 0 18px;
      }
      .routes-table-standard td {
        position: relative;
        z-index: 1;
        padding: 11px 0 !important;
        border: none !important;
        border-bottom: 1px dashed #E3EAF8 !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-radius: 0 !important;
      }
      .routes-table-standard td.td-route {
        display: block !important;
        font-size: 16px;
        line-height: 1.35;
        border-bottom: 1px solid #DDE7F6 !important;
        padding-top: 0 !important;
        padding-bottom: 13px !important;
        margin-bottom: 6px;
        font-weight: 800;
        color: var(--text);
      }
      .routes-table-standard td.td-route > span:first-child {
        margin-bottom: 10px;
        padding-right: 0;
      }
      .routes-table-standard td.td-route .route-node-badges {
        margin-left: 0;
      }
      .routes-table-standard .route-node-badges span {
        padding: 5px 10px;
      }
      .routes-table-standard td.td-time,
      .routes-table-standard td.td-inclusions,
      .routes-table-standard td.td-price {
        gap: 14px;
      }
      .routes-table-standard td.td-inclusions {
        display: block !important;
      }
      .routes-table-standard td.td-inclusions .mob-label {
        display: block;
        margin-bottom: 8px;
      }
      .routes-table-standard .inclusion-tag-wrap {
        gap: 7px;
      }
      .routes-table-standard .inclusion-tag {
        padding: 7px 9px;
        font-size: 11px;
      }
      .routes-table-standard td.td-price {
        background: linear-gradient(90deg, #EEF4FF 0%, #F7FAFF 100%) !important;
        border: 1px solid #DCE7FF !important;
        border-radius: 12px !important;
        padding: 12px 14px !important;
        margin-top: 10px;
        align-items: center;
      }
      .routes-table-standard td.td-price > span:not(.mob-label) {
        font-size: 25px;
        font-weight: 900;
        letter-spacing: -.5px;
      }
      .routes-table-standard td:last-child {
        border-bottom: none !important;
        padding-top: 14px !important;
        padding-bottom: 0 !important;
        justify-content: center !important;
      }

      .routes-table-standard td:last-child .btn-book {
        width: auto !important;
        min-height: 46px;
        padding: 10px 40px;
        text-align: center;
        margin: 0 auto;
        border-radius: 999px;
        box-shadow: 0 8px 20px rgba(51,102,255,.3) !important;
      }

      /* Mobile inline labels using translated elements */
      .routes-table-standard td .mob-label {
        display: inline-block;
        font-weight: 800;
        font-size: 10.5px;
        letter-spacing: .8px;
        text-transform: uppercase;
        color: #8CA0BE;
      }

      .routes-section {
        background: #F5F8FF !important;
      }
      .routes-board {
        padding: 14px;
        border-radius: 22px;
      }
      .routes-board-head {
        grid-template-columns: 1fr;
        gap: 14px;
        min-height: 0;
        padding: 8px 4px 18px;
        text-align: center;
      }
      .routes-board-brand {
        border-right: 0;
        padding-right: 0;
        display: flex;
        justify-content: center;
      }
      .routes-board-brand img {
        width: 168px;
      }
      .routes-board-title h2 {
        font-size: 30px;
      }
      .routes-board-title p {
        font-size: 14px;
      }
      .routes-board-kicker {
        justify-content: center;
      }
      .routes-board-visual {
        display: none;
      }
      .routes-board .routes-table-scroll-wrap.routes-table-standard {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
      }
      .routes-board .routes-table-standard tr {
        border-radius: 16px !important;
        box-shadow: 0 12px 28px rgba(15,48,111,.10) !important;
      }
      .routes-board .routes-table-standard td.td-route {
        color: #071B4D;
      }
      .routes-board .routes-table-standard td.td-price {
        background: linear-gradient(90deg, #EEF4FF 0%, #FFFFFF 100%) !important;
      }
      .routes-board .td-price small {
        display: inline;
        margin-top: 0;
      }
      .routes-board .routes-table-standard td:last-child .btn-book {
        width: 100% !important;
        max-width: 260px;
      }
      .routes-trust-strip {
        grid-template-columns: 1fr 1fr;
        margin-top: 14px;
        border-radius: 16px;
      }
      .routes-trust-item {
        justify-content: flex-start;
        min-height: 74px;
        padding: 13px;
      }
      .routes-trust-item:nth-child(2) {
        border-right: 0;
      }
      .routes-trust-item:nth-child(-n+2) {
        border-bottom: 1px solid #D6E2F5;
      }
      .routes-trust-item > span {
        width: 38px;
        height: 38px;
        font-size: 15px;
      }
      .routes-trust-item strong {
        font-size: 13px;
      }
      .routes-trust-item small {
        font-size: 11px;
      }
    }
    @media (max-width: 480px) {
      .foot-grid { grid-template-columns: 1fr; }
      .sc-instant { gap: 6px; }
    }

    @media (max-width: 768px) {
      /* ─── Base How It Works Mobile Overrides (Locked to Style 2 Glassmorphic) ─── */
      .how-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
      }
      .how-grid .how-step {
        padding: 14px 10px !important;
        background: var(--white) !important;
        backdrop-filter: blur(8px) saturate(120%) !important;
        -webkit-backdrop-filter: blur(8px) saturate(120%) !important;
        border: var(--border-card) !important;
        box-shadow: var(--shadow-card) !important;
        border-radius: 14px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
      }
      .how-grid .how-step::after {
        display: none !important; /* Hide arrows on mobile */
      }
      .how-grid .how-num {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
        font-size: 11px !important;
        margin: 0 auto 8px !important;
        background: rgba(51, 102, 255, 0.08) !important;
        color: var(--blue) !important;
        border: 1px solid rgba(51, 102, 255, 0.2) !important;
        position: static !important;
      }
      .how-grid .how-ico {
        display: block !important;
        font-size: 20px !important;
        margin: 0 auto 8px !important;
        color: var(--blue) !important;
      }
      .how-grid .how-step h3 {
        font-size: 12.5px !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        margin-bottom: 4px !important;
        color: var(--text) !important;
      }
      .how-grid .how-step p {
        font-size: 10.5px !important;
        line-height: 1.45 !important;
        color: var(--muted) !important;
      }
    }

    /* ─── Hero 2-col to 1-col on mobile ────────────────────── */
    @media (max-width: 900px) {
      .hero-inner {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        min-height: 560px !important;
        padding: 76px 20px 56px !important;
      }
      .hero-title { font-size: clamp(40px, 9vw, 62px) !important; letter-spacing: -1px !important; }
      .pbox { max-width: 480px; }
    }
    @media (max-width: 600px) {
      .hero-inner {
        min-height: 500px !important;
        padding: 96px 16px 34px !important;
        align-items: center !important;
      }
      .hero-title {
        font-size: 36px !important;
        line-height: 1.02 !important;
        max-width: 340px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 10px !important;
      }
      .hero-title-desktop {
        display: none !important;
      }
      .hero-title-mobile {
        display: block !important;
      }
      .hero,
      .hero-inner,
      .hero-left {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
      }
      .hero-left {
        transform: translateY(-86px) !important;
      }
      .hero-kicker {
        max-width: 100% !important;
        white-space: normal !important;
        justify-content: center !important;
        line-height: 1.35 !important;
      }
      .hero-sub {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
      }
      .hero-pills {
        display: none !important;
      }
      .hero-sub { margin-bottom: 18px !important; }
      .hero-cta-row { flex-direction: column; gap: 10px; }
      .btn-hero-book, .btn-hero-wa, .btn-hero-more { width: 100%; justify-content: center; font-size: 15px; padding: 14px 20px; border-radius: 8px; }
      .btn-hero-more { background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.3); }
      .hero-bg {
        background-position: 46% top !important;
      }
      .hero-bg::after {
        background:
          radial-gradient(ellipse at 50% 48%, rgba(12,53,117,.26) 0%, rgba(12,53,117,.14) 45%, rgba(12,53,117,0) 74%),
          linear-gradient(to bottom, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 44%, rgba(12,53,117,.18) 100%) !important;
      }
      .hero-left::before {
        width: 116vw;
        height: 270px;
        background: radial-gradient(ellipse at center, rgba(12,53,117,.34) 0%, rgba(12,53,117,.18) 42%, rgba(12,53,117,0) 76%);
      }
      .pbox {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 16px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
      }
      .pbox-hd {
        align-items: flex-start !important;
        margin-bottom: 10px !important;
      }
      .pbox-hd-txt {
        font-size: 12px !important;
        line-height: 1.25 !important;
      }
      .pbox-hd-sub {
        font-size: 10px !important;
      }
      .pbox-lead {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin-bottom: 12px !important;
      }
      .pbox-mainfare {
        padding: 13px !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
      }
      .pbox-mainfare-label {
        font-size: 9.5px !important;
      }
      .pbox-mainfare-route {
        font-size: 14px !important;
      }
      .pbox-mainfare-price {
        font-size: 18px !important;
      }
      .pbox-mainfare-price span {
        font-size: 9px !important;
      }
      .pbox-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
        padding: 10px 0 !important;
      }
      .pbox-left {
        min-width: 0;
        gap: 8px !important;
      }
      .pbox-left > div {
        min-width: 0;
      }
      .pbox-ico {
        width: 28px !important;
        height: 28px !important;
      }
      .pbox-route,
      .pbox-detail {
        overflow-wrap: normal;
        word-break: normal;
      }
      .pbox-route {
        font-size: 11px !important;
        line-height: 1.25 !important;
      }
      .pbox-detail {
        font-size: 9.5px !important;
        line-height: 1.25 !important;
      }
      .pbox-price {
        font-size: 16px !important;
        white-space: nowrap;
        text-align: right !important;
      }
      .pbox-incl {
        text-align: right !important;
      }
      .pbox-note {
        align-items: flex-start;
        line-height: 1.45;
      }
      .search-wrap { padding: 16px 12px 0 !important; }
      .search-card { border-radius: 12px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
    }
  
    /* ─── SOCIAL PROOF BAR ───────────────────────────────── */
    .proof-bar {
      background: #fff;
      border-top: 1px solid #E9EEF8;
      border-bottom: 1px solid #E9EEF8;
      padding: 20px 0;
    }
    .proof-bar-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 28px;
      display: flex; align-items: center; justify-content: center;
      flex-wrap: wrap; gap: 0;
    }
    .proof-item {
      display: flex; align-items: center; gap: 10px;
      padding: 10px 28px;
      border-right: 1px solid #E9EEF8;
    }
    .proof-item:last-child { border-right: none; }
    .proof-logo { height: 24px; width: auto; flex-shrink: 0; }
    .proof-stars { display: flex; gap: 2px; }
    .proof-stars i { color: #FBBF24; font-size: 12px; }
    .proof-score { font-size: 16px; font-weight: 900; color: #111827; }
    .proof-count { font-size: 12px; color: #6B7280; }
    @media (max-width: 640px) {
      .proof-item { padding: 10px 16px; border-right: none; border-bottom: 1px solid #E9EEF8; width: 50%; justify-content: center; }
      .proof-item:nth-child(odd) { border-right: 1px solid #E9EEF8; }
      .proof-item:nth-child(n+3) { border-bottom: none; }
    }

    /* ─── SERVICE AREAS ───────────────────────────────────── */
    .areas-section { background: #F8FAFF; }

    /* ─── TRIP PLANNER (light, 2-column) ─────────────────── */
    #areas.areas-section {
      background:
        radial-gradient(ellipse 50% 40% at 95% 10%, rgba(51,102,255,.08) 0%, transparent 60%),
        linear-gradient(170deg, #F2F7FF 0%, #E8F0FF 55%, #F4F8FF 100%);
      position: relative;
      overflow: hidden;
    }
    /* dotted texture in the top-left corner */
    #areas.areas-section::before {
      content: '';
      position: absolute; inset: 0;
      background-image: radial-gradient(rgba(51,102,255,.25) 1.5px, transparent 1.5px);
      background-size: 22px 22px;
      mask-image: radial-gradient(ellipse 38% 32% at 0% 0%, #000 0%, transparent 75%);
      -webkit-mask-image: radial-gradient(ellipse 38% 32% at 0% 0%, #000 0%, transparent 75%);
      pointer-events: none;
    }
    /* faint plane flying across the corner */
    #areas.areas-section::after {
      content: '\f072';
      font-family: 'Font Awesome 6 Free';
      font-weight: 900;
      position: absolute;
      top: 7%; right: 5%;
      font-size: 34px;
      color: rgba(51,102,255,.18);
      transform: rotate(-14deg);
      pointer-events: none;
    }
    #areas .sec-in { position: relative; z-index: 1; }
    .tplan-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
      gap: 48px;
      align-items: start;
      max-width: 1180px;
      margin: 0 auto;
    }
    .tplan-left {
      display: flex;
      flex-direction: column;
      gap: 26px;
      padding-top: 8px;
      position: relative;
    }
    .tplan-img-card {
      background: #fff;
      border-radius: 20px;
      padding: 12px;
      box-shadow:
        0 0 0 1px rgba(225,234,250,.9),
        0 18px 44px rgba(0,30,90,.12),
        0 4px 12px rgba(0,30,90,.06);
    }
    .tplan-copy .fleet-hd-badge {
      margin-bottom: 16px;
      background: #fff;
      border-color: #fff;
      box-shadow: 0 4px 14px rgba(0,30,90,.08);
    }
    .tplan-h {
      font-size: clamp(28px, 3vw, 40px);
      font-weight: 900;
      color: #111827;
      letter-spacing: -.8px;
      line-height: 1.18;
      margin-bottom: 14px;
    }
    .tplan-h span { color: var(--blue); }
    .tplan-h::after {
      content: '';
      display: block;
      width: 52px; height: 4px; border-radius: 2px;
      background: linear-gradient(90deg, var(--blue), #7EA6FF);
      margin-top: 14px;
    }
    .tplan-p {
      font-size: 15px;
      color: #5B6B84;
      line-height: 1.85;
      max-width: 460px;
    }
    .tplan-img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 12px;
    }
    #areas .tplan-card {
      background: #fff;
      border-radius: 20px;
      overflow: hidden;
      max-width: none;
      box-shadow:
        0 0 0 1px rgba(225,234,250,.9),
        0 24px 56px rgba(0,30,90,.14),
        0 4px 14px rgba(0,30,90,.07);
    }
    @media (max-width: 900px) {
      .tplan-grid { grid-template-columns: 1fr; gap: 24px; }
      .tplan-left { padding-top: 0; }
    }

    /* Pick-up / Drop-off points */
    .tplan-point {
      display: flex; align-items: center; gap: 10px;
      background: #F8FAFF;
      border: 1px solid #E2EAFB;
      border-radius: 12px;
      padding: 10px;
      margin-bottom: 10px;
    }
    .tplan-point-end { margin-bottom: 16px; }
    .tplan-point-icon {
      width: 28px; height: 28px; flex-shrink: 0;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #fff; font-size: 11px;
    }
    .tplan-point-start .tplan-point-icon { background: #1FAF55; }
    .tplan-point-end   .tplan-point-icon { background: #FF7A00; }
    .tplan-point-field { flex: 1; min-width: 0; }
    .tplan-point-field label {
      display: block;
      font-size: 10.5px; font-weight: 800;
      text-transform: uppercase; letter-spacing: .5px;
      color: #8CA0BE;
      margin-bottom: 5px;
    }
    .tplan-step-tag {
      display: inline-flex; align-items: center; justify-content: center;
      width: 27px; height: 27px; flex-shrink: 0;
      background: linear-gradient(135deg, #3366FF 0%, #2255EE 100%);
      color: #fff;
      font-size: 13px; font-weight: 900;
      border-radius: 50%;
      box-shadow: 0 3px 8px rgba(51,102,255,.3);
    }
    .tplan-point-icon { display: none; }
    .tplan-step-hd {
      display: flex; align-items: center; gap: 12px;
      color: #111827;
      font-size: 15.5px; font-weight: 800;
      font-family: var(--font-headings);
      margin-bottom: 12px;
    }
    /* Step groups + down arrows */
    .tplan-group {
      background: #F8FAFF;
      border: 1px solid #E2EAFB;
      border-radius: 14px;
      padding: 14px;
    }
    .tplan-group .tplan-field { margin-bottom: 0; }
    .tplan-group .tplan-row2 { margin-top: 14px; margin-bottom: 0; }
    .tplan-group .tplan-row2 .tplan-field { margin-bottom: 0; }
    .tplan-group .tplan-stop {
      background: #fff;
      border-color: #E2EAFB;
    }
    .tplan-group .tplan-add { margin-bottom: 0; background: #fff; }
    .tplan-arrow {
      display: flex; justify-content: center;
      margin: 8px 0;
    }
    .tplan-arrow i {
      width: 28px; height: 28px;
      border-radius: 50%;
      background: #EEF4FF;
      border: 1px solid #DCE7FF;
      color: var(--blue);
      display: flex; align-items: center; justify-content: center;
      font-size: 12px;
    }
    .tplan-point-field input {
      width: 100%; min-height: 44px;
      border: 2px solid #D8DFE9; border-radius: 9px;
      padding: 0 12px;
      font-family: var(--font-body); font-size: 13.5px; font-weight: 600;
      color: var(--text); outline: none; background: #fff;
      box-shadow: inset 0 2px 4px rgba(15,23,42,.06);
      transition: border-color .15s, box-shadow .15s;
    }
    .tplan-point-start input:hover { border-color: #86EFAC; }
    .tplan-point-end   input:hover { border-color: #FDBA74; }
    .tplan-point-start input:focus {
      border-color: #1FAF55;
      box-shadow: inset 0 2px 4px rgba(15,23,42,.04), 0 0 0 4px rgba(31,175,85,.16);
    }
    .tplan-point-end input:focus {
      border-color: #FF7A00;
      box-shadow: inset 0 2px 4px rgba(15,23,42,.04), 0 0 0 4px rgba(255,122,0,.16);
    }

    .tplan-card {
      width: 100%;
      max-width: 680px;
      margin: 0 auto;
      background: #fff;
      border-radius: 22px;
      overflow: hidden;
      box-shadow:
        0 0 0 1px rgba(255,255,255,.18),
        0 0 60px rgba(51,102,255,.25),
        0 30px 70px rgba(0,0,0,.45);
    }
    .tplan-head {
      display: flex; align-items: center; gap: 14px;
      text-align: left;
      background: linear-gradient(120deg, #00255C 0%, #003580 45%, #0A4EA3 100%);
      padding: 20px 24px;
      position: relative; overflow: hidden;
    }
    .tplan-head::before {
      content: '';
      position: absolute; top: -70px; right: -40px;
      width: 220px; height: 220px; border-radius: 50%;
      background: rgba(255,255,255,.06);
      pointer-events: none;
    }
    .tplan-head::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, #3366FF 0%, #7EA6FF 50%, rgba(126,166,255,0) 100%);
    }
    .tplan-head-icon {
      width: 44px; height: 44px; flex-shrink: 0;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      color: #fff; font-size: 18px;
      position: relative; z-index: 1;
    }
    .tplan-head h3 { color: #fff; font-size: clamp(19px, 2vw, 24px); font-weight: 800; margin-bottom: 3px; position: relative; z-index: 1; }
    .tplan-head p  { color: rgba(255,255,255,.65); font-size: 13.5px; position: relative; z-index: 1; }
    .tplan-body { padding: 22px 26px 24px; }
    .tplan-fill-hint {
      display: none;
      align-items: center; justify-content: center; gap: 8px;
      background: #EEF4FF;
      border-top: 2px dashed #B9CFFF;
      border-bottom: 1px solid #DCE7FF;
      color: var(--blue);
      font-size: 13px; font-weight: 800;
      font-family: var(--font-headings);
      padding: 12px 16px;
      text-align: center;
    }
    .tplan-fill-hint i { font-size: 13px; }
    @media (max-width: 900px) {
      .tplan-fill-hint { display: flex; }
    }

    .tplan-field { margin-bottom: 18px; }
    .tplan-field label {
      display: flex; align-items: center; gap: 7px;
      font-size: 11px; font-weight: 800; color: #374151;
      text-transform: uppercase; letter-spacing: .6px;
      margin-bottom: 7px;
    }
    .tplan-field label i { color: var(--blue); font-size: 12px; }
    .tplan-field input {
      width: 100%; min-height: 48px;
      border: 2px solid #D8DFE9; border-radius: 10px;
      padding: 0 14px;
      font-family: var(--font-body); font-size: 14px; font-weight: 600;
      color: var(--text); outline: none;
      background: #fff;
      box-shadow: inset 0 2px 4px rgba(15,23,42,.06), 0 1px 0 rgba(255,255,255,.8);
      transition: border-color .15s, box-shadow .15s;
    }
    .tplan-field input:hover { border-color: #B9CFFF; }
    .tplan-field input:focus {
      border-color: var(--blue);
      box-shadow: inset 0 2px 4px rgba(15,23,42,.04), 0 0 0 4px rgba(51,102,255,.14);
    }
    .tplan-row2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 4px;
    }
    .tplan-row2 .tplan-field { margin-bottom: 14px; }
    .tplan-select-wrap { position: relative; }
    .tplan-select-wrap select {
      width: 100%; min-height: 48px;
      border: 2px solid #D8DFE9; border-radius: 10px;
      padding: 0 36px 0 14px;
      font-family: var(--font-body); font-size: 14px; font-weight: 600;
      color: var(--text); outline: none; background: #fff;
      cursor: pointer;
      appearance: none; -webkit-appearance: none;
      box-shadow: inset 0 2px 4px rgba(15,23,42,.06), 0 1px 0 rgba(255,255,255,.8);
      transition: border-color .15s, box-shadow .15s;
    }
    .tplan-select-wrap select:hover { border-color: #B9CFFF; }
    .tplan-select-wrap select:required:invalid { color: #9CA3AF; font-weight: 400; }
    .tplan-select-wrap select option { color: var(--text); font-weight: 600; }
    .tplan-select-wrap select:focus {
      border-color: var(--blue);
      box-shadow: inset 0 2px 4px rgba(15,23,42,.04), 0 0 0 4px rgba(51,102,255,.14);
    }
    .tplan-select-wrap > i {
      position: absolute; right: 14px; top: 50%;
      transform: translateY(-50%);
      font-size: 11px; color: var(--blue);
      pointer-events: none;
    }

    .tplan-stops { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
    .tplan-stop {
      display: flex; align-items: center; gap: 10px;
      background: #F8FAFF;
      border: 1px solid #E2EAFB;
      border-radius: 12px;
      padding: 10px;
      width: 100%;
    }
    .tplan-stop-num {
      width: 26px; height: 26px; flex-shrink: 0;
      background: linear-gradient(135deg, #3366FF 0%, #2255EE 100%);
      color: #fff;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 12px; font-weight: 900;
      font-family: var(--font-headings);
      box-shadow: 0 2px 8px rgba(51,102,255,.3);
    }
    .tplan-stop-fields {
      display: grid;
      grid-template-columns: 1fr 130px;
      gap: 8px;
      flex: 1 1 auto;
      min-width: 0;
      align-items: stretch;
    }
    .tplan-stop-fields input,
    .tplan-stop-fields select {
      min-height: 44px;
      border: 2px solid #D8DFE9; border-radius: 9px;
      padding: 0 12px;
      font-family: var(--font-body); font-size: 13.5px; font-weight: 600;
      color: var(--text); outline: none; background: #fff;
      box-shadow: inset 0 2px 4px rgba(15,23,42,.06);
      transition: border-color .15s, box-shadow .15s;
      width: 100%; min-width: 0;
      appearance: none; -webkit-appearance: none;
    }
    .tplan-stop-fields input:hover,
    .tplan-stop-fields select:hover { border-color: #B9CFFF; }
    .tplan-stop-fields input:focus,
    .tplan-stop-fields select:focus {
      border-color: var(--blue);
      box-shadow: inset 0 2px 4px rgba(15,23,42,.04), 0 0 0 4px rgba(51,102,255,.14);
    }
    /* Leading icons inside fields */
    .tplan-iwrap { position: relative; width: 100%; min-width: 0; }
    .tplan-iwrap > i {
      position: absolute; left: 13px; top: 50%;
      transform: translateY(-50%);
      color: #8CA0BE; font-size: 13px;
      pointer-events: none;
      z-index: 1;
    }
    .tplan-iwrap input,
    .tplan-iwrap select { padding-left: 36px !important; }
    .tplan-lead {
      position: absolute; left: 13px; top: 50%;
      transform: translateY(-50%);
      color: #8CA0BE; font-size: 13px;
      pointer-events: none;
      z-index: 1;
    }
    .tplan-select-wrap select { padding-left: 38px; }

    .tplan-del {
      width: 34px; height: 34px; flex-shrink: 0;
      background: none; border: 1px solid #E5E7EB; border-radius: 8px;
      color: #9CA3AF; font-size: 12px; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: all .15s;
    }
    .tplan-del:hover { background: #FEF2F2; border-color: #FCA5A5; color: #E5484D; }

    .tplan-add {
      width: 100%; min-height: 46px;
      background: #EEF4FF; color: var(--blue);
      border: 2px dashed #B9CFFF; border-radius: 10px;
      font-family: var(--font-headings); font-size: 13.5px; font-weight: 800;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: 8px;
      margin-bottom: 16px;
      transition: all .15s;
    }
    .tplan-add:hover { background: #E2ECFF; border-color: var(--blue); }

    .tplan-submit {
      width: 100%; min-height: 52px;
      background: linear-gradient(135deg, #3366FF 0%, #2255EE 100%);
      color: #fff;
      border: none;
      border-radius: 12px;
      font-family: var(--font-headings); font-size: 15px; font-weight: 800;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: 9px;
      box-shadow: 0 8px 24px rgba(255,122,0,.4);
      transition: transform .15s, box-shadow .15s, filter .15s;
    }
    .tplan-submit:hover:not(:disabled) {
      transform: translateY(-2px);
      filter: brightness(1.05);
      box-shadow: 0 12px 30px rgba(255,122,0,.5);
    }
    .tplan-submit:disabled {
      background: linear-gradient(135deg, #29D366 0%, #1FAF55 100%);
      box-shadow: 0 8px 24px rgba(37,211,102,.3);
      cursor: default;
    }
    .tplan-submit i { font-size: 15px; }
    .tplan-success {
      display: flex; align-items: flex-start; gap: 10px;
      background: #F0FDF4;
      border: 1px solid #BBF7D0;
      border-radius: 12px;
      padding: 13px 16px;
      margin-top: 14px;
      font-size: 13px; color: #166534; line-height: 1.55;
    }
    .tplan-success i { color: #1FAF55; font-size: 16px; margin-top: 1px; }
    .tplan-success strong { display: block; font-weight: 800; }
    .tplan-note {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      font-size: 12px; color: var(--muted);
      margin-top: 12px;
    }
    .tplan-note i { color: #1FAF55; }


    @media (max-width: 600px) {
      .tplan-head { padding: 16px 18px; }
      .tplan-body { padding: 16px 14px 18px; }
      .tplan-stop {
        align-items: flex-start;
        padding: 10px;
        gap: 9px;
      }
      .tplan-stop-fields { grid-template-columns: 1fr; }
      .tplan-stop-num { width: 24px; height: 24px; font-size: 11px; }
      .tplan-del { width: 36px; height: 36px; margin-top: 4px; }
    }
    .areas-cols {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 24px; margin-top: 8px;
    }
    .areas-col-hd {
      font-size: 11px; font-weight: 800; color: var(--blue);
      text-transform: uppercase; letter-spacing: 1px;
      margin-bottom: 14px; padding-bottom: 10px;
      border-bottom: 2px solid var(--blue);
      display: inline-block;
    }
    .area-list { display: flex; flex-direction: column; gap: 0; }
    .area-row {
      display: flex; align-items: center; justify-content: space-between;
      padding: 11px 0; border-bottom: 1px solid #F1F5F9;
      font-size: 14px;
    }
    .area-row:last-child { border-bottom: none; }
    .area-row-name { font-weight: 600; color: #1F2937; display: flex; align-items: center; gap: 8px; }
    .area-row-name i { color: var(--blue); font-size: 12px; width: 14px; }
    .area-row-dist { font-size: 12px; color: #9CA3AF; }
    @media (max-width: 600px) { .areas-cols { grid-template-columns: 1fr; } }

    /* ─── ABOUT US ────────────────────────────────────────── */
    .about-section {
      background:
        radial-gradient(ellipse 60% 45% at 95% 5%, rgba(51,102,255,.05) 0%, transparent 60%),
        #fff;
    }
    .about-grid {
      display: grid; grid-template-columns: 1fr 420px;
      gap: 64px; align-items: start;
    }
    .about-tag {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 11px; font-weight: 800; color: var(--blue);
      text-transform: uppercase; letter-spacing: 1.4px; margin-bottom: 16px;
    }
    .about-tag::before {
      content: '';
      width: 28px; height: 3px; border-radius: 2px;
      background: linear-gradient(90deg, var(--blue), #7EA6FF);
    }
    .about-ttl {
      font-size: clamp(22px, 2.8vw, 32px); font-weight: 800;
      color: #111827; line-height: 1.3; margin-bottom: 16px;
      letter-spacing: -.5px;
    }
    .about-ttl span { color: var(--blue); }
    .about-body {
      font-size: 14.5px; color: #6B7280; line-height: 1.85;
      margin-bottom: 28px; max-width: 540px;
    }
    .about-checks { display: flex; flex-direction: column; gap: 12px; }
    .about-check {
      display: flex; align-items: flex-start; gap: 11px;
      font-size: 14px; color: #374151; line-height: 1.55;
      font-weight: 500;
    }
    .about-check i {
      color: #fff;
      background: #1FAF55;
      width: 18px; height: 18px; border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center;
      font-size: 9px;
      flex-shrink: 0;
      margin-top: 2px;
      box-shadow: 0 2px 6px rgba(31,175,85,.3);
    }
    .about-right { display: flex; flex-direction: column; gap: 16px; }
    .about-right img {
      border: 1px solid #EDF1F9 !important;
      box-shadow: 0 18px 44px rgba(0,30,90,.14), 0 4px 12px rgba(0,30,90,.08) !important;
    }
    .about-stat-row { display: none; }
    /* ─── STATS STRIP ────────────────────────────────────────── */
    .stats-strip {
      background: #fff;
      padding: 48px 28px;
      border-top: 1px solid #EEF1F8;
      border-bottom: 1px solid #EEF1F8;
    }
    .stats-grid {
      max-width: 1100px; margin: 0 auto;
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }
    .stat-card {
      background: #F8FAFF;
      border: 1.5px solid #E4EAF8;
      border-radius: 16px;
      padding: 28px 24px;
      text-align: center;
      transition: box-shadow .2s, transform .15s, border-color .2s;
    }
    .stat-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(51,102,255,.12);
      border-color: var(--blue);
    }
    .stat-num { font-size: 36px; font-weight: 900; color: var(--blue); line-height: 1; margin-bottom: 8px; }
    .stat-lbl { font-size: 13px; color: #6B7280; font-weight: 500; line-height: 1.4; }
    @media (max-width: 860px) {
      .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      .stats-strip { padding: 36px 16px; }
      .stat-num { font-size: 30px; }
    }
    .about-mission {
      background: #070F1F; border-radius: 14px; padding: 24px;
      color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.7;
      font-style: italic; position: relative;
    }
    .about-mission::before {
      content: '"'; font-size: 64px; color: var(--blue); font-style: normal;
      font-weight: 900; line-height: 1; position: absolute; top: 8px; left: 20px;
      opacity: .4;
    }
    .about-mission p { padding-top: 20px; }
    @media (max-width: 900px) {
      .about-grid { grid-template-columns: 1fr; gap: 32px; }
    }
    @media (max-width: 768px) {
      .about-grid { grid-template-columns: 1fr; gap: 32px; }
      .about-stats { grid-template-columns: repeat(2, 1fr); }
    }

    /* ─── HAPPY CUSTOMERS ────────────────────────────────── */
    .customers-section { background: #fff; }
    .customers-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }
    .customer-card {
      border-radius: 14px; overflow: hidden;
      position: relative; aspect-ratio: 1/1;
      background: #E9EEF8;
      box-shadow: 0 2px 12px rgba(0,0,0,.08);
      transition: transform .25s, box-shadow .25s;
    }
    .customer-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 10px 28px rgba(0,0,0,.14);
    }
    .customer-card img {
      width: 100%; height: 100%;
      object-fit: cover; display: block;
      transition: transform .4s;
    }
.customer-card:hover img { transform: scale(1.04); }
.customer-caption {
      position: absolute; bottom: 0; left: 0; right: 0;
      background: linear-gradient(to top, rgba(7,15,31,.82) 0%, transparent 100%);
      padding: 32px 14px 14px;
      color: #fff; font-size: 12px; font-weight: 600;
}
.customer-caption i { color: #FBBF24; margin-right: 4px; font-size: 10px; }
.customers-more-wrap { display: none; }
@media (max-width: 768px) {
  .customers-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

    /* ─── MID BANNER ─────────────────────────────────────── */
    .midbanner-section {
      background: #fff;
      border-top: 1px solid #E9EEF8;
      border-bottom: 1px solid #E9EEF8;
    }
    .midbanner-grid {
      display: grid;
      grid-template-columns: 1fr 420px;
      gap: 0;
      align-items: stretch;
      max-width: 1280px;
      margin: 0 auto;
    }
    .midbanner-left {
      padding: 56px 56px 48px 5%;
      display: flex; flex-direction: column; justify-content: center;
    }
    .midbanner-tag {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 11px; font-weight: 800; color: var(--blue);
      text-transform: uppercase; letter-spacing: 1.4px; margin-bottom: 18px;
    }
    .midbanner-tag::before {
      content: '';
      width: 28px; height: 3px; border-radius: 2px;
      background: linear-gradient(90deg, var(--blue), #7EA6FF);
    }
    .midbanner-ttl {
      font-size: clamp(26px, 3.2vw, 42px);
      font-weight: 800; line-height: 1.25;
      color: #111827; letter-spacing: -.5px;
      margin-bottom: 18px;
    }
    .midbanner-ttl span { color: var(--blue); }
    .midbanner-sub {
      font-size: clamp(15px, 1.2vw, 17px);
      color: #6B7280; line-height: 1.85;
      margin-bottom: 28px;
    }
    .midbanner-list {
      display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px;
    }
    .midbanner-item {
      display: flex; align-items: center; gap: 10px;
      font-size: 14px; font-weight: 600; color: #374151;
    }
    .midbanner-item i { color: var(--blue); font-size: 13px; flex-shrink: 0; }
    .intent-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin: 22px 0 30px;
    }
    .intent-card {
      background: #F8FAFF;
      border: 1px solid #E3EAF8;
      border-radius: 12px;
      padding: 16px;
    }
    .intent-card i {
      width: 34px;
      height: 34px;
      border-radius: 10px;
      background: #EAF0FF;
      color: var(--blue);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 10px;
      font-size: 14px;
    }
    .intent-card h3 {
      font-size: 14px;
      font-weight: 900;
      color: #111827;
      line-height: 1.35;
      margin-bottom: 5px;
    }
    .intent-card p {
      font-size: 12.5px;
      line-height: 1.65;
      color: #64748B;
    }
    .trip-planner-card {
      grid-column: 1 / -1;
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 360px;
      gap: 28px;
      align-items: center;
      min-height: 250px;
      padding: 26px;
      border-radius: 16px;
      background:
        radial-gradient(circle at 84% 14%, rgba(255,209,102,.36), transparent 25%),
        radial-gradient(circle at 92% 78%, rgba(45,212,191,.18), transparent 26%),
        linear-gradient(135deg, #0B4FD8 0%, #123B8F 48%, #071B45 100%);
      color: #fff;
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: 0 22px 54px rgba(18,59,143,.28);
    }
    .trip-planner-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.1) 1px, transparent 1px);
      background-size: 34px 34px;
      opacity: .18;
      pointer-events: none;
    }
    .trip-planner-card::after {
      content: "";
      position: absolute;
      right: -80px;
      bottom: -90px;
      width: 320px;
      height: 320px;
      border-radius: 50%;
      background: rgba(255,255,255,.12);
      filter: blur(2px);
      pointer-events: none;
    }
    .trip-planner-copy,
    .trip-planner-side,
    .trip-planner-visual,
    .trip-planner-steps {
      position: relative;
      z-index: 1;
    }
    .trip-planner-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 6px 10px;
      margin-bottom: 10px;
      border-radius: 999px;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.2);
      color: #DDEAFF;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .7px;
      text-transform: uppercase;
    }
    .trip-planner-card h3 {
      margin: 0 0 8px;
      font-size: clamp(22px, 2.4vw, 32px);
      line-height: 1.15;
      font-weight: 950;
      color: #fff;
      letter-spacing: -.3px;
    }
    .trip-planner-card p {
      max-width: 560px;
      margin: 0;
      color: rgba(255,255,255,.82);
      font-size: 13.5px;
      line-height: 1.7;
      font-weight: 600;
    }
    .trip-planner-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      width: fit-content;
      margin-top: 16px;
      padding: 13px 20px;
      border-radius: 10px;
      background: linear-gradient(135deg, #3366FF 0%, #2255EE 100%);
      color: #fff;
      font-size: 13px;
      font-weight: 950;
      border: 2px solid rgba(255,255,255,.35);
      box-shadow: 0 12px 30px rgba(255,122,0,.45), 0 4px 12px rgba(0,0,0,.18);
      transition: transform .15s, box-shadow .15s, filter .15s;
    }
    .trip-planner-btn:hover {
      transform: translateY(-2px);
      filter: brightness(1.06);
      box-shadow: 0 16px 38px rgba(255,122,0,.55), 0 6px 16px rgba(0,0,0,.2);
    }
    .trip-planner-btn .tp-arrow {
      color: #fff;
      font-size: 13px;
      animation: tpArrowNudge 1.2s ease-in-out infinite;
    }
    @keyframes tpArrowNudge {
      0%, 100% { transform: translateX(0); }
      50% { transform: translateX(4px); }
    }
    .trip-planner-btn i {
      font-size: 12px;
    }
    .trip-planner-side {
      display: grid;
      gap: 10px;
      align-items: center;
    }
    .trip-planner-visual {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 218px;
      padding: 8px;
      border-radius: 20px;
      background: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
      border: 1px solid rgba(255,255,255,.24);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        0 18px 42px rgba(0,0,0,.18);
      backdrop-filter: blur(10px);
    }
    .trip-planner-visual img {
      width: 100%;
      height: 204px;
      object-fit: cover;
      object-position: center;
      border-radius: 14px;
      display: block;
      box-shadow: 0 16px 34px rgba(0,0,0,.22);
      transform: none;
    }
    .trip-planner-steps {
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .trip-step {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 9px 10px;
      border-radius: 10px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.16);
      color: #fff;
      font-size: 11px;
      font-weight: 850;
      backdrop-filter: blur(8px);
    }
    .trip-step i {
      width: 22px;
      height: 22px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #fff;
      color: var(--blue);
      font-size: 10px;
      flex-shrink: 0;
    }
    .midbanner-btns { display: flex; gap: 12px; flex-wrap: wrap; }
    .midbanner-btn-wa {
      background: #0B0F0D; color: #fff;
      border: 1.5px solid #25D366;
      padding: 14px 26px; border-radius: 10px;
      font-size: 14px; font-weight: 800;
      display: inline-flex; align-items: center; gap: 8px;
      box-shadow: 0 4px 16px rgba(37,211,102,.3);
    }
    .midbanner-btn-line {
      background: #06C755; color: #fff;
      padding: 14px 22px; border-radius: 10px;
      font-size: 14px; font-weight: 800;
      display: inline-flex; align-items: center; gap: 8px;
    }
    .midbanner-right {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 24px;
      padding: 40px 36px;
      background: #fff;
      border-left: 1px solid #EDF1F9;
      position: relative;
      overflow: hidden;
    }
    .midbanner-right::before {
      content: '';
      position: absolute; top: -80px; right: -80px;
      width: 280px; height: 280px; border-radius: 50%;
      background: radial-gradient(circle, rgba(51,102,255,.06) 0%, transparent 70%);
      pointer-events: none;
    }
    .midbanner-right::after {
      content: '';
      position: absolute; bottom: -60px; left: -60px;
      width: 200px; height: 200px; border-radius: 50%;
      background: radial-gradient(circle, rgba(51,102,255,.05) 0%, transparent 70%);
      pointer-events: none;
    }
    .midbanner-right > * { position: relative; z-index: 1; }
    .midbanner-right .midbanner-list { margin-bottom: 0; }
    .midbanner-right .midbanner-item { color: #374151; }
    .midbanner-right .midbanner-item i {
      color: #fff;
      background: #1FAF55;
      width: 18px; height: 18px; border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center;
      font-size: 9px;
      box-shadow: 0 2px 6px rgba(31,175,85,.3);
    }
    .midbanner-right .midbanner-btns {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      width: 100%;
      max-width: 380px;
    }
    .midbanner-right .midbanner-btn-wa,
    .midbanner-right .midbanner-btn-line {
      justify-content: center;
      padding: 14px 12px;
      white-space: nowrap;
    }
    .midbanner-right img {
      width: 100%;
      max-width: 380px;
      height: auto;
      border-radius: 16px;
      border: 1px solid #EDF1F9;
      box-shadow:
        0 18px 44px rgba(0,30,90,.14),
        0 4px 12px rgba(0,30,90,.08);
      display: block;
    }
    .midbanner-right .midbanner-trust-img {
      max-width: 180px !important;
      border: none !important;
      box-shadow: none !important;
      border-radius: 0 !important;
    }
    @media (max-width: 900px) {
      .midbanner-grid { grid-template-columns: 1fr; }
      .midbanner-right { order: -1; }
      .midbanner-right .midbanner-trust-img { width: 100% !important; max-width: 380px !important; height: auto !important; display: block; margin: 0 auto; }
      .sec { padding: 48px 16px !important; }
      .usp-strip { padding: 28px 20px !important; }
      .cta-sec { padding: 48px 16px !important; }
      .midbanner-left { padding: 36px 20px 32px !important; }
      .midbanner-right { padding: 24px 20px 8px; }
      .intent-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
      .intent-card { padding: 14px 12px; }
      .intent-card h3 { font-size: 12.5px; }
      .intent-card p { font-size: 11px; line-height: 1.5; }
      .trip-planner-card {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 16px;
      }
      .trip-planner-copy {
        display: contents;
      }
      .trip-planner-badge,
      .trip-planner-card h3,
      .trip-planner-card p {
        order: 1;
      }
      .trip-planner-side {
        order: 2;
      }
      .trip-planner-trust {
        order: 5;          /* push trust badge to the very bottom on mobile */
        margin: 4px auto 0 !important;
      }
      .trip-planner-card::after {
        right: -140px;
        bottom: -150px;
      }
      .trip-planner-card p {
        font-size: 12px;
        line-height: 1.6;
      }
      .trip-planner-btn {
        order: 3;
        width: 100%;
        margin-top: 14px;
        min-height: 54px;
        background: linear-gradient(135deg, #3366FF 0%, #2255EE 100%);
        color: #fff;
        border: 2px solid rgba(255,255,255,.35);
        box-shadow:
          0 16px 34px rgba(255,122,0,.45),
          0 0 0 4px rgba(255,255,255,.12);
        font-size: 14px;
      }
      .trip-planner-side { gap: 12px; }
      .trip-planner-visual {
        min-height: 250px;
        padding: 6px;
        margin: 0 -6px;
      }
      .trip-planner-visual img {
        width: 100%;
        height: 238px;
        object-position: center;
      }
      .trip-planner-steps {
        min-width: 0;
        grid-template-columns: 1fr;
      }
    }

    /* ─── FLEET SHOWCASE ─────────────────────────────────── */
    .fleet-showcase-section {
      background: #f8fafc !important; /* Premium light blue/gray matching how-it-works section */
      position: relative;
      overflow: hidden;
    }
    #fleet-showcase .sec-in {
      max-width: 100% !important;
      padding-left: 5% !important;
      padding-right: 5% !important;
    }
    #fleet-showcase .sec-ttl {
      color: var(--text) !important;
    }
    #fleet-showcase .sec-sub {
      color: var(--muted) !important;
    }

    /* Tighter spacing — section sits right under the booking form */
    #fleet-showcase { padding-top: 48px; padding-bottom: 56px; }

    /* Pretty centered header */
    .fleet-hd {
      text-align: center;
      margin-bottom: 36px !important;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-left: auto !important;
      margin-right: auto !important;
    }
    .fleet-hd .sec-sub {
      margin-left: auto !important;
      margin-right: auto !important;
    }
    .fleet-hd-badge {
      display: inline-flex; align-items: center; gap: 7px;
      background: linear-gradient(120deg, #EEF4FF 0%, #E2ECFF 100%);
      color: var(--blue);
      border: 1px solid #D3E2FF;
      font-size: 11px; font-weight: 800;
      letter-spacing: 1.4px; text-transform: uppercase;
      padding: 7px 18px; border-radius: 999px;
      margin-bottom: 16px;
      box-shadow: 0 2px 10px rgba(51,102,255,.1);
    }
    .fleet-hd-badge i { font-size: 12px; }
    .fleet-hd .sec-ttl {
      font-size: clamp(22px, 3vw, 34px);
      font-weight: 800;
      letter-spacing: -.5px;
      margin-bottom: 12px;
      text-align: center !important;
      width: 100% !important;
    }
    .fleet-hd .sec-ttl::after {
      content: '';
      display: block;
      width: 56px; height: 4px; border-radius: 2px;
      background: linear-gradient(90deg, var(--blue), #7EA6FF);
      margin: 16px auto 0;
    }
    .fleet-hd .sec-sub {
      max-width: 580px;
      margin: 0 auto;
      font-size: 14.5px;
      line-height: 1.8;
    }
    @media (max-width: 768px) {
      #fleet-showcase { padding-top: 32px !important; padding-bottom: 40px !important; }
      .fleet-hd { margin-bottom: 24px !important; }
      .fleet-hd-badge { font-size: 10px; padding: 6px 14px; margin-bottom: 12px; }
      .fleet-hd .sec-ttl { font-size: 22px; }
      .fleet-hd .sec-ttl::after { margin-top: 12px; width: 44px; }
      .fleet-hd .sec-sub { font-size: 13.5px; padding: 0 8px; }
    }

    /* Tabs */
    .fleet-tabs {
      display: flex;
      justify-content: center;
      gap: 10px;
      margin: 0 auto 35px auto;
      padding: 0 20px;
      overflow-x: auto;
      scrollbar-width: none;
      z-index: 5;
      position: relative;
    }
    .fleet-tabs::-webkit-scrollbar {
      display: none;
    }
    .fleet-tab {
      background: #ffffff;
      border: 1px solid var(--gray-200);
      border-radius: 30px;
      padding: 10px 22px;
      font-size: 13.5px;
      font-weight: 700;
      color: var(--text-2);
      cursor: pointer;
      white-space: nowrap;
      transition: all 0.2s ease;
      box-shadow: var(--sh-xs);
      font-family: var(--font-body);
    }
    .fleet-tab:hover {
      border-color: var(--blue);
      color: var(--blue);
    }
    .fleet-tab.active {
      background: var(--blue);
      color: #ffffff;
      border-color: var(--blue);
      box-shadow: 0 4px 12px rgba(51, 102, 255, 0.25);
    }
    
    /* Grid layout */
    .fleet-showcase-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      max-width: 100% !important;
      margin: 0 auto;
      padding: 0;
      transition: all 0.3s;
    }
    
    /* Card design: Inspired by uploaded layout but customized for our theme */
    .fleet-card {
      background: #ffffff !important;
      border: 1px solid var(--gray-200) !important;
      border-radius: 16px !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
      transition: all 0.3s ease !important;
      cursor: pointer;
      position: relative;
    }
    .fleet-card::before {
      display: none !important;
    }
    .fleet-card::after {
      display: none !important;
    }
    .fleet-card:hover {
      transform: translateY(-5px) !important;
      box-shadow: 0 12px 25px rgba(51, 102, 255, 0.08) !important;
      border-color: var(--blue) !important;
    }
    
    /* Full-bleed cover image */
    .fleet-img-box {
      position: relative !important;
      height: 190px !important;
      width: 100% !important;
      padding: 0 !important;
      border: none !important;
      background: #f1f5f9 !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      z-index: 1 !important;
    }
    .fleet-img-box img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      transition: transform 0.5s ease !important;
    }
    .fleet-card:hover .fleet-img-box img {
      transform: scale(1.05) !important;
    }

    /* Square real-photo layer for carr 1024x1024 images */
    #fleet-showcase .fleet-img-box {
      height: auto !important;
      aspect-ratio: 1 / 1 !important;
      background:
        linear-gradient(180deg, #F6F9FF 0%, #EEF4FF 100%) !important;
    }
    #fleet-showcase .fleet-img-box img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center center !important;
    }
    #fleet-showcase .fleet-card:nth-child(1) .fleet-img-box img,
    #fleet-showcase .fleet-card:nth-child(2) .fleet-img-box img,
    #fleet-showcase .fleet-card:nth-child(6) .fleet-img-box img,
    #fleet-showcase .fleet-card:nth-child(7) .fleet-img-box img,
    #fleet-showcase .fleet-card:nth-child(8) .fleet-img-box img {
      object-position: center 45% !important;
    }
    #fleet-showcase .fleet-card:nth-child(4) .fleet-img-box img,
    #fleet-showcase .fleet-card:nth-child(10) .fleet-img-box img {
      object-position: center 52% !important;
    }
    #fleet-showcase .fleet-real-badge {
      top: 10px !important;
      right: 10px !important;
      background: rgba(7,15,31,.62) !important;
      border-color: rgba(255,255,255,.28) !important;
      box-shadow: 0 6px 18px rgba(0,0,0,.18) !important;
    }
    
    /* Real photo badge */
    .fleet-real-badge {
      position: absolute !important;
      top: 12px !important;
      right: 12px !important;
      background: rgba(0, 0, 0, 0.6) !important;
      color: #ffffff !important;
      font-size: 9px !important;
      font-weight: 800 !important;
      text-transform: uppercase !important;
      padding: 4px 8px !important;
      border-radius: 4px !important;
      border: 1px solid rgba(255, 255, 255, 0.2) !important;
      backdrop-filter: blur(4px) !important;
      z-index: 2 !important;
    }
    
    /* Body containing card contents */
    .fleet-card-body {
      position: static !important;
      padding: 16px !important;
      background: #ffffff !important;
      display: flex !important;
      flex-direction: column !important;
      flex-grow: 1 !important;
    }
    
    /* Full-width Category/Model label tag */
    .fleet-card-title {
      display: block !important;
      width: 100% !important;
      text-align: center !important;
      padding: 8px 12px !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      border-radius: 8px !important;
      margin-bottom: 10px !important;
      text-shadow: none !important;
      font-family: var(--font-headings) !important;
      transition: all 0.2s ease !important;
    }
    
    /* Refined color coding that stays cohesive with our main palette */
    .fleet-card[data-category="sedan"] .fleet-card-title {
      background: var(--blue-lt) !important;
      color: var(--blue-mid) !important;
    }
    .fleet-card[data-category="innova"] .fleet-card-title {
      background: #e6f4ea !important; /* Light green */
      color: #137333 !important;
    }
    .fleet-card[data-category="fortuner"] .fleet-card-title {
      background: #fff3e0 !important; /* Light orange */
      color: #e65100 !important;
    }
    .fleet-card[data-category="van"] .fleet-card-title {
      background: #e8eaf6 !important; /* Light indigo */
      color: #1a237e !important;
    }
    
    /* Subtitle description */
    .fleet-card-desc {
      font-size: 12.5px !important;
      color: var(--muted) !important;
      line-height: 1.45 !important;
      text-align: center !important;
      margin-bottom: 12px !important;
      min-height: 36px !important;
      text-shadow: none !important;
    }
    
    /* Specs badges grid (2 columns) */
    .fleet-specs {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 8px !important;
      margin-top: auto !important;
    }
    .fleet-specs span {
      background: #ffffff !important;
      border: 1px solid var(--gray-200) !important;
      color: var(--text-2) !important;
      font-size: 11px !important;
      font-weight: 800 !important;
      padding: 6px 4px !important;
      border-radius: 8px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 5px !important;
      text-shadow: none !important;
      backdrop-filter: none !important;
      box-shadow: none !important;
      white-space: nowrap !important;
    }
    .fleet-specs span i {
      color: var(--blue) !important;
      font-size: 11px !important;
    }
    
    /* Read More Button */
    .fleet-readmore-wrap {
      display: none;
      justify-content: center;
      margin-top: 35px;
    }
    .fleet-btn-readmore {
      background: transparent;
      border: 2px solid var(--blue);
      color: var(--blue);
      border-radius: 30px;
      padding: 12px 28px;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.2s;
      box-shadow: var(--sh-xs);
      font-family: var(--font-body);
    }
    .fleet-btn-readmore:hover {
      background: var(--blue-lt);
    }
    
    /* Responsive Grid rules */
    @media (max-width: 1024px) {
      .fleet-showcase-grid {
        grid-template-columns: repeat(3, 1fr);
      }
    }
    @media (max-width: 768px) {
      #fleet-showcase .sec-in {
        padding-left: 10px !important;
        padding-right: 10px !important;
      }
      .fleet-showcase-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 0 4px !important;
      }
      .fleet-readmore-wrap {
        display: flex;
      }
      .fleet-card {
        border-radius: 10px !important;
      }
      .fleet-img-box {
        height: 120px !important;
      }
      .fleet-card-body {
        padding: 10px !important;
      }
      .fleet-card-title {
        font-size: 12px !important;
        padding: 6px 4px !important;
        margin-bottom: 8px !important;
        border-radius: 6px !important;
      }
      .fleet-card-desc {
        font-size: 10.5px !important;
        line-height: 1.3 !important;
        margin-bottom: 8px !important;
        min-height: auto !important;
        display: -webkit-box;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      .fleet-specs {
        grid-template-columns: 1fr 1fr !important;
        gap: 4px !important;
      }
      .fleet-specs span {
        font-size: 9px !important;
        padding: 4px 2px !important;
        border-radius: 4px !important;
      }
    }

    /* ─── TYPOGRAPHY SYSTEM — site-wide consistency ───────── */
    html {
      font-size: 15px;
      text-size-adjust: 100%;
      -webkit-text-size-adjust: 100%;
    }
    body {
      font-family: var(--font-body) !important;
      font-size: var(--fs-base) !important;
      line-height: var(--lh-body) !important;
      font-weight: 500;
    }
    h1, h2, h3, h4, h5, h6,
    .sec-ttl,
    .hero-title,
    .routes-board-title h2,
    .fleet-card-title,
    .fc-name,
    .rv-name,
    .faq-q,
    button,
    .btn-book,
    .btn-search,
    .cta-wa,
    .cta-line,
    .cta-call {
      font-family: var(--font-headings) !important;
      letter-spacing: 0 !important;
    }
    p, li, input, select, textarea,
    .sec-sub,
    .about-body,
    .midbanner-sub,
    .tplan-p,
    .rv-text,
    .faq-a,
    .foot-desc {
      font-family: var(--font-body) !important;
      line-height: var(--lh-body) !important;
    }
    .sec-ttl,
    .fleet-hd .sec-ttl,
    #fleet-showcase .sec-ttl,
    .reviews-section .sec-ttl {
      font-size: var(--fs-section) !important;
      line-height: var(--lh-title) !important;
      font-weight: 800 !important;
    }
    .sec-sub,
    .fleet-hd .sec-sub,
    #fleet-showcase .sec-sub,
    .reviews-section .sec-sub {
      font-size: var(--fs-base) !important;
      line-height: var(--lh-body) !important;
      font-weight: 500 !important;
    }
    .fleet-hd-badge,
    .routes-board-kicker,
    .about-tag,
    .areas-col-hd,
    .stats-tag,
    .midbanner-kicker,
    .trip-planner-badge,
    .fleet-real-badge {
      font-size: var(--fs-xs) !important;
      line-height: 1.3 !important;
      font-weight: 800 !important;
      letter-spacing: .04em !important;
    }
    .hero-title {
      letter-spacing: 0 !important;
      line-height: 1.02 !important;
    }
    .hero-sub {
      font-size: var(--fs-lg) !important;
      line-height: var(--lh-body) !important;
      font-weight: 500 !important;
    }
    .hero-kicker,
    .hero-pill {
      font-size: var(--fs-xs) !important;
      line-height: 1.35 !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
    }
    .h-nav a,
    .lang-trigger,
    .lang-option-name,
    .topbar {
      font-size: var(--fs-sm) !important;
      line-height: 1.35 !important;
    }
    .h-signin,
    .btn-hero-wa,
    .btn-hero-more,
    .btn-search,
    .btn-book,
    .cta-wa,
    .cta-line,
    .cta-call,
    .trip-planner-btn,
    .tplan-submit,
    .tplan-add,
    .fleet-btn-readmore,
    .btn-readmore {
      font-size: var(--fs-md) !important;
      line-height: 1.25 !important;
      font-weight: 800 !important;
    }
    .routes-board-title h2 {
      font-size: clamp(30px, 3.2vw, 42px) !important;
      line-height: var(--lh-tight) !important;
      font-weight: 900 !important;
    }
    .routes-board-title p {
      font-size: var(--fs-base) !important;
      line-height: var(--lh-body) !important;
      font-weight: 600 !important;
    }
    .routes-table-standard {
      font-size: var(--fs-md) !important;
      line-height: 1.45 !important;
    }
    .routes-table-standard thead th {
      font-size: var(--fs-xs) !important;
      line-height: 1.3 !important;
      font-weight: 800 !important;
      letter-spacing: .03em !important;
    }
    .routes-board .td-route > span:first-child,
    .td-route > span:first-child {
      font-size: var(--fs-base) !important;
      line-height: 1.35 !important;
      font-weight: 800 !important;
    }
    .td-time,
    .inclusion-tag,
    .routes-board .inclusion-tag {
      font-size: var(--fs-sm) !important;
      line-height: 1.35 !important;
    }
    .routes-board .td-price > span:not(.mob-label),
    .td-price > span:not(.mob-label) {
      font-size: clamp(24px, 2vw, 29px) !important;
      line-height: 1.05 !important;
      font-weight: 900 !important;
    }
    .td-price small,
    .routes-board .td-price small {
      font-size: var(--fs-xs) !important;
      line-height: 1.25 !important;
    }
    .fleet-card-title,
    .intent-card h3,
    .trip-step,
    .how-step h3,
    .fp-name,
    .fc-name,
    .tplan-head h3,
    .about-check,
    .midbanner-item {
      font-size: var(--fs-md) !important;
      line-height: 1.4 !important;
      font-weight: 800 !important;
    }
    .fleet-card-desc,
    .intent-card p,
    .how-step p,
    .fp-spec,
    .rv-loc,
    .tplan-head p,
    .routes-trust-item small {
      font-size: var(--fs-sm) !important;
      line-height: 1.5 !important;
    }
    .midbanner-title,
    .trip-planner-card h3,
    .tplan-h,
    .about-ttl {
      font-size: clamp(24px, 2.6vw, 34px) !important;
      line-height: var(--lh-title) !important;
      font-weight: 800 !important;
      letter-spacing: 0 !important;
    }
    .midbanner-sub,
    .trip-planner-card p,
    .tplan-p,
    .about-body,
    .rv-text {
      font-size: var(--fs-base) !important;
      line-height: var(--lh-body) !important;
    }
    .tplan-field label,
    .sc-label,
    .bk-inp label,
    .fc-spec-lbl,
    .mob-label,
    .foot-col h4 {
      font-size: var(--fs-xs) !important;
      line-height: 1.3 !important;
      font-weight: 800 !important;
      letter-spacing: .04em !important;
    }
    .tplan-field input,
    .tplan-field select,
    .tplan-stop-fields input,
    .tplan-stop-fields select,
    .sc-field input,
    .sc-field select,
    .bk-inp input,
    .bk-inp select {
      font-size: 16px !important; /* must be >=16px to stop iOS auto-zoom + focus loss */
      line-height: 1.35 !important;
      font-weight: 600 !important;
    }
    /* iOS Safari auto-zooms into any input <16px on focus, causing the page to reflow
       and focus to drop. Force >=16px for every form control on mobile. */
    .bk-box input, .bk-box select,
    input[type="text"], input[type="tel"], input[type="email"],
    input[type="number"], input[type="search"], input[type="url"],
    input[type="date"], input[type="time"], input[type="datetime-local"],
    textarea, select {
      font-size: 16px !important;
    }
    .bk-box input, .bk-box select { cursor: text; }
    .faq-q {
      font-size: var(--fs-base) !important;
      line-height: 1.4 !important;
      font-weight: 800 !important;
    }
    .faq-a {
      font-size: var(--fs-md) !important;
    }
    .foot-desc,
    .foot-col a,
    .fci,
    .foot-bottom p {
      font-size: var(--fs-sm) !important;
      line-height: 1.65 !important;
    }
    @media (max-width: 768px) {
      body {
        font-size: var(--fs-md) !important;
      }
      .sec-ttl,
      .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl,
      .reviews-section .sec-ttl {
        font-size: var(--fs-section-mobile) !important;
        line-height: 1.25 !important;
      }
      .sec-sub,
      .fleet-hd .sec-sub,
      #fleet-showcase .sec-sub,
      .reviews-section .sec-sub,
      .midbanner-sub,
      .trip-planner-card p,
      .tplan-p,
      .about-body,
      .rv-text {
        font-size: var(--fs-md) !important;
      }
      .routes-board-title h2 {
        font-size: 28px !important;
        line-height: 1.2 !important;
      }
      .midbanner-title,
      .trip-planner-card h3,
      .tplan-h,
      .about-ttl {
        font-size: 24px !important;
      }
      .fleet-card-title,
      .intent-card h3,
      .trip-step,
      .how-step h3,
      .fp-name,
      .fc-name,
      .tplan-head h3,
      .about-check,
      .midbanner-item {
        font-size: var(--fs-sm) !important;
      }
      .fleet-card-desc,
      .intent-card p,
      .how-step p,
      .fp-spec,
      .rv-loc,
      .tplan-head p,
      .routes-trust-item small {
        font-size: var(--fs-xs) !important;
      }
      .btn-hero-wa,
      .btn-hero-more,
      .btn-search,
      .btn-book,
      .cta-wa,
      .cta-line,
      .cta-call,
      .trip-planner-btn,
      .tplan-submit,
      .tplan-add {
        font-size: var(--fs-md) !important;
      }
    }

    /* ─── SPACING SYSTEM — section rhythm consistency ─────── */
    .sec,
    #fleet,
    #fleet-showcase,
    #routes,
    #areas,
    #about,
    #customers,
    #reviews,
    #faq {
      padding-top: var(--section-y) !important;
      padding-bottom: var(--section-y) !important;
      padding-left: var(--section-x) !important;
      padding-right: var(--section-x) !important;
    }
    .sec-in,
    #fleet-showcase .sec-in {
      max-width: 1280px !important;
      margin-left: auto !important;
      margin-right: auto !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
    .sec-hd,
    .fleet-hd {
      margin-bottom: var(--section-head-gap) !important;
    }
    .midbanner-section {
      padding: var(--section-y) var(--section-x) !important;
    }
    .midbanner-grid {
      max-width: 1280px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
    .bookmin-banner,
    .usp-banner {
      padding: 0 var(--section-x) var(--section-y) !important;
    }
    .bookmin-banner + .fleet-showcase-section,
    .usp-banner + .routes-section,
    #fleet-showcase + #routes,
    #routes + #how-it-works,
    #how-it-works + #reviews,
    #reviews + #faq {
      padding-top: 0 !important;
    }
    .stats-strip {
      padding: 48px var(--section-x) !important;
    }
    .cta-sec {
      padding: var(--section-y) var(--section-x) !important;
    }
    .footer {
      padding: 56px var(--section-x) 28px !important;
    }
    @media (max-width: 900px) {
      .sec,
      #fleet,
      #fleet-showcase,
      #routes,
      #areas,
      #about,
      #customers,
      #reviews,
      #faq,
      .midbanner-section,
      .cta-sec {
        padding-top: var(--section-y-mobile) !important;
        padding-bottom: var(--section-y-mobile) !important;
        padding-left: var(--section-x-mobile) !important;
        padding-right: var(--section-x-mobile) !important;
      }
      .sec-hd,
      .fleet-hd {
        margin-bottom: var(--section-head-gap-mobile) !important;
      }
      .bookmin-banner,
      .usp-banner {
        padding: 0 var(--section-x-mobile) var(--section-y-mobile) !important;
      }
      .bookmin-banner + .fleet-showcase-section,
    .usp-banner + .routes-section,
    #fleet-showcase + #routes,
    #routes + #how-it-works,
    #how-it-works + #reviews,
    #reviews + #faq {
      padding-top: 0 !important;
    }
      .stats-strip {
        padding: 40px var(--section-x-mobile) !important;
      }
      .footer {
        padding: 48px var(--section-x-mobile) 96px !important;
      }
    }

    /* Page rhythm: keep adjacent landing sections evenly spaced */
    .bk-wrap {
      padding: 0 var(--section-x) 20px !important;
    }
    .midbanner-section {
      padding: 20px var(--section-x) 52px !important;
      border-top: none !important;
      border-bottom: 1px solid #E9EEF8;
    }
    @media (min-width: 769px) {
      .bk-wrap {
        background: #ffffff !important;
      }
      .midbanner-tag::before {
        display: none !important;
      }
    }
    .midbanner-left {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }
    .midbanner-right {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }
    .bookmin-banner {
      padding: 0 var(--section-x) 52px !important;
      background: #F8FAFC;
    }
    .usp-banner {
      padding: 0 var(--section-x) 52px !important;
    }
    .bookmin-banner + .fleet-showcase-section,
    .usp-banner + .routes-section,
    #fleet-showcase + #routes,
    #routes + #how-it-works,
    #how-it-works + #reviews,
    #reviews + #faq {
      padding-top: 0 !important;
    }
    #fleet-showcase .fleet-hd {
      margin-bottom: 30px !important;
    }
    .fleet-readmore-wrap {
      margin-top: 32px !important;
    }
    @media (max-width: 900px) {
      .bk-wrap {
        padding: 0 var(--section-x-mobile) 16px !important;
      }
      .bk-card {
        margin-top: -96px !important;
      }
      .midbanner-section {
        padding: 16px var(--section-x-mobile) 40px !important;
      }
      .midbanner-left {
        padding: 0 !important;
      }
      .midbanner-right {
        padding: 0 0 28px !important;
      }
      .bookmin-banner,
      .usp-banner {
        padding: 0 var(--section-x-mobile) 40px !important;
      }
      #fleet-showcase .fleet-hd {
        margin-bottom: 24px !important;
      }
      .fleet-readmore-wrap {
        margin-top: 28px !important;
      }
    }

    /* Headline wrap control: keep key hooks on one line where space allows */
    @media (min-width: 769px) {
      .hero-title,
      .hero-title-line,
      .hero-title-desktop,
      .routes-board-title h2,
      #fleet .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl {
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
      }
      .hero-title {
        font-size: clamp(56px, 6.2vw, 92px) !important;
        line-height: .98 !important;
      }
      .routes-board-title h2 {
        font-size: clamp(30px, 2.8vw, 42px) !important;
        line-height: 1.08 !important;
      }
      #fleet .fleet-hd {
        max-width: 980px !important;
      }
      #fleet .fleet-hd .sec-ttl {
        font-size: clamp(34px, 3.4vw, 50px) !important;
        line-height: 1.08 !important;
      }
      #fleet-showcase .fleet-hd {
        max-width: 920px !important;
      }
      #fleet-showcase .sec-ttl {
        font-size: clamp(28px, 2.6vw, 38px) !important;
        line-height: 1.12 !important;
      }
    }
    @media (max-width: 768px) {
      .hero-title {
        font-size: clamp(25px, 7.2vw, 34px) !important;
        line-height: 1.04 !important;
        white-space: nowrap !important;
        max-width: 100% !important;
      }
      .hero-title-desktop {
        display: inline-block !important;
      }
      .hero-title-mobile {
        display: none !important;
      }
      .routes-board-title h2,
      #fleet .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl {
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        text-wrap: balance;
      }
      .routes-board-title h2 {
        font-size: clamp(20px, 5.8vw, 28px) !important;
        line-height: 1.08 !important;
      }
      #fleet .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl {
        font-size: clamp(19px, 5.4vw, 27px) !important;
        line-height: 1.1 !important;
      }
    }
    @media (max-width: 390px) {
      .routes-board-title h2,
      #fleet .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl {
        font-size: 18px !important;
      }
      .hero-title {
        font-size: clamp(23px, 6.8vw, 28px) !important;
      }
    }

    /* Vehicle options: premium car chooser */
    #fleet {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 8% 18%, rgba(51, 102, 255, .12), transparent 24%),
        radial-gradient(circle at 92% 10%, rgba(51, 102, 255, .10), transparent 26%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%) !important;
    }
    #fleet::before,
    #fleet::after {
      content: "";
      position: absolute;
      top: 46px;
      width: 34%;
      height: 170px;
      opacity: .25;
      pointer-events: none;
      background-repeat: no-repeat;
      background-size: contain;
    }
    #fleet::before {
      left: -28px;
      background-image: url("data:image/svg+xml,%3Csvg width='520' height='180' viewBox='0 0 520 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%233366ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.45'%3E%3Cpath d='M5 136c38-18 70-18 103 0s67 19 104 0 71-20 106 0 67 18 101 0 64-20 96-4'/%3E%3Cpath d='M36 130V72h38v58M52 72V28M66 72V44M106 132V88h48v44M122 88V58M142 88V38M188 132V76h66v56M210 76V50M232 76V24M292 132V68h44v64M314 68V34M368 132V86h70v46M394 86V56M420 86V42M458 132V74h34v58'/%3E%3Cpath d='M260 156c20-30 20-48 0-64-20 16-20 34 0 64Z'/%3E%3Ccircle cx='260' cy='112' r='9'/%3E%3C/g%3E%3C/svg%3E");
    }
    #fleet::after {
      right: -42px;
      transform: scaleX(-1);
      background-image: url("data:image/svg+xml,%3Csvg width='520' height='180' viewBox='0 0 520 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%233366ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.45'%3E%3Cpath d='M5 136c38-18 70-18 103 0s67 19 104 0 71-20 106 0 67 18 101 0 64-20 96-4'/%3E%3Cpath d='M36 130V72h38v58M52 72V28M66 72V44M106 132V88h48v44M122 88V58M142 88V38M188 132V76h66v56M210 76V50M232 76V24M292 132V68h44v64M314 68V34M368 132V86h70v46M394 86V56M420 86V42M458 132V74h34v58'/%3E%3Cpath d='M260 156c20-30 20-48 0-64-20 16-20 34 0 64Z'/%3E%3Ccircle cx='260' cy='112' r='9'/%3E%3C/g%3E%3C/svg%3E");
    }
    #fleet .sec-in {
      position: relative;
      z-index: 1;
      max-width: 1360px !important;
    }
    #fleet .fleet-hd {
      max-width: 760px;
      margin-left: auto !important;
      margin-right: auto !important;
      text-align: center;
      margin-bottom: 32px !important;
    }
    #fleet .fleet-hd-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 30px;
      padding: 7px 20px;
      border-radius: 999px;
      background: linear-gradient(135deg, #0868FF 0%, #004DDF 100%);
      color: #FFFFFF;
      box-shadow: 0 10px 22px rgba(0, 86, 230, .20);
      font-size: 13px;
      line-height: 1;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    #fleet .fleet-hd .sec-ttl {
      margin-top: 14px;
      color: #061742;
      font-size: clamp(34px, 4.1vw, 54px) !important;
      line-height: 1.04 !important;
      font-weight: 950;
      letter-spacing: 0 !important;
    }
    #fleet .fleet-hd .sec-ttl span {
      color: #0868FF;
    }
    #fleet .fleet-hd .sec-ttl::after {
      content: "";
      display: block;
      width: 150px;
      height: 18px;
      margin: 14px auto 0;
      background:
        radial-gradient(circle, #0868FF 0 4px, transparent 5px) center / 18px 18px no-repeat,
        linear-gradient(90deg, transparent 0 12px, rgba(8, 104, 255, .22) 12px calc(50% - 16px), transparent calc(50% - 16px) calc(50% + 16px), rgba(8, 104, 255, .22) calc(50% + 16px) calc(100% - 12px), transparent calc(100% - 12px));
    }
    #fleet .fleet-hd .sec-sub {
      max-width: 620px;
      margin: 8px auto 0;
      color: #66748B;
      font-size: 15px !important;
      line-height: 1.55 !important;
      font-weight: 600;
    }
    #fleet .fleet-wordmark {
      margin-top: 10px;
      color: #0A1D54;
      font-size: 16px;
      font-weight: 950;
      letter-spacing: .26em;
    }
    #fleet .fleet-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      gap: 26px;
      align-items: stretch;
    }
    #fleet .fc-card {
      min-height: 100%;
      padding: 18px 18px 18px;
      border-radius: 22px;
      overflow: visible;
      background:
        linear-gradient(180deg, rgba(244, 248, 255, .92) 0%, rgba(255, 255, 255, .98) 42%),
        #FFFFFF;
      border: 1px solid #DFE9FF;
      box-shadow: 0 18px 44px rgba(14, 45, 109, .10);
    }
    #fleet .fc-card::before {
      content: "\f1b9";
      width: 46px;
      height: 46px;
      border-radius: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 8px;
      background: #EAF1FF;
      color: #0868FF;
      font: 900 18px/1 "Font Awesome 6 Free";
      box-shadow: inset 0 0 0 1px rgba(8, 104, 255, .08);
    }
    #fleet .fc-card:nth-child(2)::before { content: "\f0c0"; }
    #fleet .fc-card:nth-child(3)::before { content: "\f3ed"; }
    #fleet .fc-card:nth-child(4)::before { content: "\f5b6"; }
    #fleet .fc-card:hover {
      transform: translateY(-6px);
      border-color: #B8CEFF;
      box-shadow: 0 24px 54px rgba(14, 45, 109, .16);
    }
    #fleet .fc-card.featured {
      border: 2px solid #0048c2;
      box-shadow: 0 22px 56px rgba(8, 104, 255, .16);
    }
    #fleet .fc-popular {
      top: -17px;
      min-width: 180px;
      padding: 8px 16px;
      background: linear-gradient(135deg, #0148c2, #012c7a);
      color: #FFFFFF;
      border-radius: 0 0 12px 12px;
      box-shadow: 0 12px 24px rgba(8, 104, 255, .24);
      font-size: 12px;
      font-weight: 950;
      letter-spacing: .04em;
      text-align: center;
      text-transform: uppercase;
    }
    #fleet .fc-popular::before {
      content: "\f005";
      margin-right: 7px;
      font: 900 11px/1 "Font Awesome 6 Free";
    }
    #fleet .fc-img {
      height: 185px;
      padding: 0 4px;
      margin: -4px auto 4px;
      filter: drop-shadow(0 18px 16px rgba(6, 23, 66, .18));
    }
    #fleet .fc-card:hover .fc-img {
      transform: translateY(-5px) scale(1.045);
    }
    #fleet .fc-namebar {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 4px;
      padding: 0 4px;
      text-align: center;
    }
    #fleet .fc-name {
      width: 100%;
      color: #07194A;
      font-size: 20px;
      line-height: 1.08;
      font-weight: 950;
    }
    #fleet .fc-badge {
      margin: 0;
      padding: 0;
      border-radius: 0;
      background: transparent;
      color: #0868FF;
      font-size: 12px;
      line-height: 1.25;
      font-weight: 950;
      letter-spacing: .035em;
      text-transform: uppercase;
      white-space: normal;
    }
    #fleet .fc-specs {
      gap: 10px;
      padding: 16px 0 0;
    }
    #fleet .fc-spec {
      position: relative;
      min-height: 50px;
      padding: 9px 9px 9px 42px;
      border-radius: 13px;
      background: rgba(255, 255, 255, .92);
      border: 1px solid #DDE8FF;
      box-shadow: 0 8px 18px rgba(14, 45, 109, .05);
    }
    #fleet .fc-spec::before {
      content: "\f007";
      position: absolute;
      left: 12px;
      top: 50%;
      transform: translateY(-50%);
      width: 22px;
      height: 22px;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #ECF3FF;
      color: #0868FF;
      font: 900 12px/1 "Font Awesome 6 Free";
    }
    #fleet .fc-spec:nth-child(2)::before { content: "\f0f2"; }
    #fleet .fc-spec-lbl {
      display: none;
    }
    #fleet .fc-spec-val {
      color: #07194A;
      font-size: 12.5px;
      line-height: 1.2;
      font-weight: 850;
    }
    #fleet .fc-features {
      padding: 14px 6px 0;
    }
    #fleet .fc-features li {
      gap: 9px;
      padding: 5px 0;
      color: #1E2D4D;
      font-size: 12.5px;
      line-height: 1.45;
      font-weight: 650;
    }
    #fleet .fc-features li::before {
      content: "\f058";
      margin-top: 2px;
      color: #0868FF;
      font: 900 13px/1 "Font Awesome 6 Free";
    }
    #fleet .fc-btns {
      padding: 16px 0 0;
    }
    #fleet .fc-btn-book {
      min-height: 44px;
      border-radius: 999px;
      background: linear-gradient(135deg, #0868FF 0%, #004DDF 100%);
      color: #FFFFFF;
      font-size: 14px;
      font-weight: 900;
      box-shadow: 0 14px 24px rgba(8, 104, 255, .25);
    }
    #fleet .fc-btn-book:hover {
      transform: translateY(-1px);
      box-shadow: 0 18px 30px rgba(8, 104, 255, .34);
    }
    @media (max-width: 1100px) {
      #fleet .fleet-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }
    @media (max-width: 640px) {
      #fleet::before,
      #fleet::after {
        width: 78%;
        height: 120px;
        opacity: .14;
      }
      #fleet::after {
        display: none;
      }
      #fleet .fleet-hd {
        margin-bottom: 24px !important;
      }
      #fleet .fleet-hd-badge {
        min-height: 28px;
        padding: 7px 14px;
        font-size: 11px;
      }
      #fleet .fleet-hd .sec-ttl {
        font-size: 30px !important;
        line-height: 1.08 !important;
      }
      #fleet .fleet-hd .sec-sub {
        font-size: 14px !important;
      }
      #fleet .fleet-wordmark {
        font-size: 13px;
        letter-spacing: .20em;
      }
      #fleet .fleet-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
      }
      #fleet .fc-card {
        padding: 16px;
        border-radius: 20px;
      }
      #fleet .fc-img {
        height: 180px;
        max-width: 92%;
      }
      #fleet .fc-name {
        font-size: 19px;
      }
      #fleet .fc-specs {
        gap: 8px;
      }
      #fleet .fc-spec {
        padding-left: 40px;
      }
    }

    /* Fleet: desktop shows 12 first, mobile shows 6 first */
    #fleet-showcase .fleet-showcase-grid:not(.fleet-js-ready):not(.show-all) .fleet-card:nth-child(n+13) {
      display: none !important;
    }
    @media (max-width: 768px) {
      #fleet-showcase .fleet-showcase-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
      #fleet-showcase .fleet-img-box {
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
      }
      #fleet-showcase .fleet-showcase-grid:not(.fleet-js-ready):not(.show-all) .fleet-card:nth-child(n+7) {
        display: none !important;
      }
      #fleet-showcase .fleet-btn-readmore {
        min-width: 190px;
        justify-content: center;
      }
    }

    /* Final heading guard: prevent important hooks from breaking awkwardly */
    .hero-title-desktop,
    .hero-title-line,
    .routes-board-title h2,
    #fleet .fleet-hd .sec-ttl,
    #fleet-showcase .sec-ttl {
      white-space: nowrap !important;
      word-break: keep-all !important;
      overflow-wrap: normal !important;
    }
    @media (max-width: 768px) {
      .hero-title {
        font-size: clamp(25px, 7.2vw, 34px) !important;
        line-height: 1.04 !important;
        max-width: 100% !important;
        white-space: nowrap !important;
      }
      .hero-title-desktop {
        display: inline-block !important;
      }
      .hero-title-mobile {
        display: none !important;
      }
      .routes-board-title h2 {
        font-size: clamp(20px, 5.8vw, 28px) !important;
        line-height: 1.08 !important;
      }
      #fleet .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl {
        font-size: clamp(19px, 5.4vw, 27px) !important;
        line-height: 1.1 !important;
      }
    }
    @media (max-width: 390px) {
      .hero-title {
        font-size: clamp(23px, 6.8vw, 28px) !important;
      }
      .routes-board-title h2,
      #fleet .fleet-hd .sec-ttl,
      #fleet-showcase .sec-ttl {
        font-size: 18px !important;
      }
    }

    /* Section layout rhythm: tighter, consistent two-column spacing */
    #about .sec-in {
      max-width: 1180px !important;
    }
    #about .about-grid {
      grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
      gap: clamp(30px, 3vw, 44px) !important;
      align-items: center !important;
    }
    #about .about-ttl {
      max-width: 720px !important;
      font-size: clamp(28px, 2.35vw, 40px) !important;
      line-height: 1.18 !important;
      margin-bottom: 18px !important;
    }
    #about .about-body {
      max-width: 680px !important;
      margin-bottom: 24px !important;
      line-height: 1.72 !important;
    }
    #about .about-checks {
      gap: 10px !important;
      max-width: 720px !important;
    }
    #about .about-right {
      width: 100% !important;
      max-width: 420px !important;
      justify-self: end !important;
    }
    #about .about-right img {
      width: 100% !important;
      border-radius: 18px !important;
    }
    #areas .tplan-grid,
    #routes .routes-board-head {
      gap: clamp(28px, 3vw, 40px) !important;
    }
    #fleet .fleet-grid,
    #fleet-showcase .fleet-showcase-grid,
    .customers-grid {
      gap: 22px !important;
    }
    @media (max-width: 900px) {
      #about .about-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
      }
      #about .about-ttl,
      #about .about-body,
      #about .about-checks {
        max-width: 100% !important;
      }
      #about .about-right {
        max-width: 520px !important;
        justify-self: center !important;
      }
      #areas .tplan-grid,
      #routes .routes-board-head {
        gap: 24px !important;
      }
      #fleet .fleet-grid,
      #fleet-showcase .fleet-showcase-grid,
      .customers-grid {
        gap: 14px !important;
      }
    }

    /* Customer gallery: One Pattaya Taxi template style */
    .customers-section {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 12% 12%, rgba(51,102,255,.08), transparent 24%),
        radial-gradient(circle at 92% 4%, rgba(51,102,255,.08), transparent 24%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
    }
    .customers-section .sec-hd {
      max-width: 760px;
      margin-left: auto !important;
      margin-right: auto !important;
      text-align: center;
    }
    .customers-section .sec-ttl {
      color: #061742 !important;
      font-size: clamp(30px, 3vw, 42px) !important;
      line-height: 1.12 !important;
      font-weight: 950 !important;
      margin-top: 12px;
    }
    .customers-section .sec-sub {
      max-width: 620px;
      margin-left: auto;
      margin-right: auto;
      color: #66748B !important;
      font-weight: 600 !important;
    }
    .customers-grid {
      grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
      gap: 18px !important;
      align-items: stretch;
    }
    .customer-card {
      aspect-ratio: 4 / 3 !important;
      border-radius: 18px !important;
      border: 1px solid #DDE8FF;
      background: #FFFFFF;
      box-shadow: 0 14px 34px rgba(14,45,109,.10) !important;
      isolation: isolate;
    }
    .customer-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(6,23,66,0) 42%, rgba(6,23,66,.78) 100%),
        linear-gradient(135deg, rgba(51,102,255,.16), transparent 38%);
      pointer-events: none;
      opacity: .92;
    }
    .customer-card::after {
      content: "ONE PATTAYA TAXI";
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 2;
      padding: 6px 9px;
      border-radius: 999px;
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(255,255,255,.75);
      color: #0B4FD8;
      font-size: 9px;
      line-height: 1;
      font-weight: 950;
      letter-spacing: .05em;
      box-shadow: 0 8px 18px rgba(6,23,66,.12);
    }
    .customer-card:hover {
      transform: translateY(-5px) !important;
      border-color: #B8CEFF;
      box-shadow: 0 22px 46px rgba(14,45,109,.16) !important;
    }
    .customer-card img {
      position: relative;
      z-index: 0;
      object-fit: cover;
      object-position: center;
      filter: saturate(1.04) contrast(1.02);
    }
    .customer-caption {
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 46px 14px 14px !important;
      background: transparent !important;
      color: #FFFFFF !important;
      font-size: 12px !important;
      line-height: 1.25;
      font-weight: 850 !important;
      text-shadow: 0 2px 8px rgba(0,0,0,.35);
    }
    .customer-caption i {
      width: 22px;
      height: 22px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #3366FF;
      color: #FFFFFF !important;
      font-size: 10px !important;
      margin-right: 0 !important;
      flex-shrink: 0;
      box-shadow: 0 8px 16px rgba(51,102,255,.35);
    }
    @media (max-width: 1100px) {
      .customers-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }
    @media (max-width: 640px) {
      .customers-section .sec-ttl {
        font-size: 25px !important;
      }
      .customers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
      }
      .customer-card {
        border-radius: 14px !important;
      }
      .customer-card::after {
        display: none;
      }
      .customer-caption {
        padding: 34px 9px 9px !important;
        font-size: 10px !important;
      }
      .customer-caption i {
        width: 18px;
        height: 18px;
        font-size: 8px !important;
      }
    }

    /* Hero redesign: left copy, car-led composition */
    .header {
      top: 31px !important;
      left: 3% !important;
      width: 94% !important;
      border-radius: 16px !important;
    }
    .header-inner {
      height: 60px !important;
      padding: 0 30px !important;
    }
    .logo {
      width: 146px !important;
      height: 42px !important;
      overflow: visible !important;
      align-items: center !important;
      justify-content: flex-start !important;
    }
    .logo img {
      width: 100% !important;
      height: auto !important;
      max-width: 146px !important;
      transform: none !important;
    }
    .h-nav {
      padding: 3px !important;
    }
    .h-nav a {
      padding: 4px 10px !important;
    }
    .h-signin {
      padding: 6px 14px !important;
    }
    #heroSection.hero { min-height: 640px !important; height: 640px !important; padding-bottom: 0 !important; overflow: hidden !important;
      overflow: hidden !important;
      background: #061225 !important;
      border-bottom-left-radius: 0 !important;
      border-bottom-right-radius: 0 !important;
      position: relative !important;
    }
    /* Subtle gradient accent line at bottom of hero */
    #heroSection::after {
      content: "" !important;
      position: absolute !important;
      left: 0 !important; right: 0 !important; bottom: 0 !important;
      height: 4px !important;
      background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,193,7,.85) 15%,
        #3366FF 35%,
        #1A3BBF 50%,
        #3366FF 65%,
        rgba(255,193,7,.85) 85%,
        transparent 100%) !important;
      box-shadow: 0 0 18px rgba(51,102,255,.55), 0 1px 0 rgba(255,255,255,.08) inset !important;
      z-index: 50 !important;
      pointer-events: none !important;
    }
    #heroSection .hero-bg {
      background-image: url('../img/h-d-t.webp') !important;
      background-size: cover !important;
      background-position: center bottom !important;
      border-bottom-left-radius: 0 !important;
      border-bottom-right-radius: 0 !important;
    }
    #heroSection .hero-bg::after {
      background:
        linear-gradient(90deg, rgba(5,14,32,.62) 0%, rgba(5,14,32,.4) 31%, rgba(5,14,32,.12) 66%, rgba(5,14,32,.02) 100%),
        linear-gradient(180deg, rgba(5,14,32,.04) 0%, rgba(5,14,32,0) 48%, rgba(5,14,32,.26) 100%) !important;
    }
    #heroSection .hero-inner {
      width: 100% !important;
      max-width: 1360px !important;
      min-height: 640px !important;
      height: 640px !important;
      display: flex !important;
      align-items: flex-start !important;
      justify-content: space-between !important;
      padding: 156px 44px 0 !important;
    }
    #heroSection .hero-left {
      
      width: min(620px, 48vw) !important;
      max-width: 620px !important;
      align-items: flex-start !important;
      text-align: left !important;
      transform: none !important;
      isolation: isolate;
    }
    #heroSection .hero-left::before {
      left: 32% !important;
      top: 47% !important;
      width: min(760px, 64vw) !important;
      height: 430px !important;
      transform: translate(-50%, -50%) !important;
      background: radial-gradient(ellipse at center, rgba(4,16,38,.55) 0%, rgba(4,16,38,.32) 45%, rgba(4,16,38,0) 74%) !important;
      filter: blur(8px) !important;
    }
    #heroSection .hero-kicker {
      margin: 0 0 14px !important;
      padding: 8px 16px !important;
      border-radius: 999px !important;
      background: linear-gradient(135deg, #2F68FF 0%, #1F56E8 100%) !important;
      border: 1px solid rgba(255,255,255,.18) !important;
      color: #fff !important;
      box-shadow: 0 14px 34px rgba(23,73,191,.28) !important;
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 900 !important;
    }
    #heroSection .hero-title {
      max-width: 620px !important;
      margin: 0 0 12px !important;
      color: #fff !important;
      background: none !important;
      -webkit-background-clip: initial !important;
      -webkit-text-fill-color: #fff !important;
      font-size: clamp(38px, 3.4vw, 54px) !important;
      line-height: 1.12 !important;
      letter-spacing: 0 !important;
      white-space: normal !important;
      text-align: left !important;
      text-shadow: 0 4px 18px rgba(0,0,0,.42) !important;
    }
    #heroSection .hero-title-line,
    #heroSection .hero-title-desktop {
      display: block !important;
      white-space: nowrap !important;
    }
    #heroSection .hero-title-mobile {
      display: none !important;
    }
    #heroSection .hero-sub {
      max-width: 575px !important;
      margin: 0 0 16px !important;
      color: rgba(255,255,255,.9) !important;
      font-size: clamp(15px, 1.12vw, 17px) !important;
      line-height: 1.52 !important;
      font-weight: 500 !important;
      text-align: left !important;
      text-shadow: 0 2px 10px rgba(0,0,0,.3) !important;
    }
    #heroSection .hero-pills {
      justify-content: flex-start !important;
      margin: 0 0 16px !important;
      gap: 8px !important;
    }
    #heroSection .hero-pill {
      padding: 8px 14px !important;
      border-radius: 999px !important;
      background: rgba(7,16,32,.56) !important;
      border: 1px solid rgba(255,255,255,.24) !important;
      color: #fff !important;
      box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important;
      font-size: 15px !important;
      font-weight: 800 !important;
    }
    #heroSection .hero-pill i {
      color: rgba(255,255,255,.82) !important;
      font-size: 12px !important;
    }
    #heroSection .hero-pill-mobile,
    #heroSection .hero-mobile-car {
      display: none;
    }
    #heroSection .hero-pill-desktop {
      display: inline;
    }
    #heroSection .hero-cta-row {
      justify-content: center !important;
      gap: 12px !important;
      margin-top: 0 !important;
    }
    #heroSection .btn-hero-wa,
    #heroSection .btn-hero-more {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
      min-height: 44px !important;
      border-radius: 8px !important;
      padding: 12px 22px !important;
      font-size: 14px !important;
      font-weight: 900 !important;
      line-height: 1 !important;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
    }
    #heroSection .btn-hero-wa {
      background: linear-gradient(135deg, #20D85A 0%, #10B943 100%) !important;
      border: 1px solid rgba(255,255,255,.2) !important;
      color: #fff !important;
      box-shadow: 0 18px 38px rgba(16,185,67,.34) !important;
    }
    #heroSection .btn-hero-more {
      background: rgba(7,16,32,.34) !important;
      border: 1.5px solid rgba(255,255,255,.5) !important;
      color: #fff !important;
      box-shadow: 0 14px 30px rgba(0,0,0,.18) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important;
    }
    #heroSection .btn-hero-wa:hover,
    #heroSection .btn-hero-more:hover {
      transform: translateY(-2px) !important;
    }
    #heroSection .hero-trustbar {
      position: absolute;
      z-index: 18;
      left: 50%;
      bottom: 20px;
      transform: translateX(-50%);
      width: min(960px, calc(100% - 56px));
      min-height: 70px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: center;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 999px;
      background: rgba(15,24,42,.44);
      box-shadow: 0 22px 54px rgba(0,0,0,.28);
      backdrop-filter: blur(16px) saturate(150%);
      -webkit-backdrop-filter: blur(16px) saturate(150%);
      overflow: hidden;
    }
    #heroSection .hero-trustitem {
      min-width: 0;
      height: 100%;
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 14px 24px;
      color: #fff;
      border-right: 1px solid rgba(255,255,255,.16);
    }
    #heroSection .hero-trustitem:last-child {
      border-right: 0;
    }
    #heroSection .hero-trustitem > i {
      width: 28px;
      height: 28px;
      display: grid;
      place-items: center;
      color: rgba(255,255,255,.9);
      font-size: 19px;
      flex: 0 0 auto;
    }
    #heroSection .hero-trustitem span {
      min-width: 0;
      display: grid;
      gap: 2px;
    }
    #heroSection .hero-trustitem strong {
      font-size: 14px;
      line-height: 1.1;
      font-weight: 900;
      white-space: nowrap;
    }
    #heroSection .hero-trustitem small {
      color: rgba(255,255,255,.68);
      font-size: 12px;
      line-height: 1.2;
      font-weight: 600;
      white-space: nowrap;
    }
    @media (max-width: 1180px) and (min-width: 769px) {
      #heroSection .hero-inner {
        padding-left: 44px !important;
        padding-right: 44px !important;
      }
      #heroSection .hero-left {
        width: 560px !important;
      }
      #heroSection .hero-title {
        font-size: clamp(36px, 4.2vw, 50px) !important;
      }
      #heroSection .hero-trustbar {
        width: min(910px, calc(100% - 44px));
      }
      #heroSection .hero-trustitem {
        padding: 13px 18px;
        gap: 10px;
      }
      #heroSection .hero-trustitem strong {
        font-size: 13px;
      }
      #heroSection .hero-trustitem small {
        font-size: 11px;
      }
    }
    @media (max-width: 768px) {
      .header {
        top: 34px !important;
        left: 4% !important;
        width: 92% !important;
        border-radius: 13px !important;
      }
      .header-inner {
        height: 68px !important;
        padding: 0 18px !important;
      }
      .logo {
        height: 50px !important;
        width: auto !important;
        overflow: visible !important;
        align-items: center !important;
      }
      .logo img {
        height: 100% !important;
        width: auto !important;
        max-width: 100% !important;
        transform: none !important;
        object-fit: contain !important;
      }
      #heroSection.hero {
        min-height: 620px !important;
        padding-top: 100px !important;
      }
      #heroSection .hero-bg {
        background-position: 50% top !important;
      }
      #heroSection .hero-bg::after {
        background:
          radial-gradient(ellipse at 50% 47%, rgba(5,14,32,.12) 0%, rgba(5,14,32,.06) 42%, rgba(5,14,32,0) 70%),
          linear-gradient(180deg, rgba(5,14,32,.02) 0%, rgba(5,14,32,0) 38%, rgba(5,14,32,.24) 100%) !important;
      }
      #heroSection .hero-inner {
        min-height: 520px !important;
        padding: 62px 18px 36px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
      }
      #heroSection .hero-left {
        width: 100% !important;
        max-width: 360px !important;
        align-items: center !important;
        text-align: center !important;
        transform: translateY(-24px) !important;
      }
      #heroSection .hero-left::before {
        left: 50% !important;
        top: 48% !important;
        width: 118vw !important;
        height: 300px !important;
        background: radial-gradient(ellipse at center, rgba(4,16,38,.34) 0%, rgba(4,16,38,.18) 45%, rgba(4,16,38,0) 76%) !important;
        filter: blur(8px) !important;
      }
      #heroSection .hero-kicker {
        margin-bottom: 12px !important;
        padding: 7px 13px !important;
        font-size: 12px !important;
        max-width: 100% !important;
        white-space: nowrap !important;
      }
      #heroSection .hero-title {
        max-width: 420px !important;
        margin: 0 auto 10px !important;
        font-size: clamp(28px, 8.5vw, 38px) !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
        text-align: center !important;
      }
      #heroSection .hero-title-desktop {
        display: none !important;
      }
      #heroSection .hero-title-mobile {
        display: block !important;
        white-space: nowrap !important;
      }
      #heroSection .hero-sub {
        max-width: 330px !important;
        margin: 0 auto 15px !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        text-align: center !important;
        color: rgba(255,255,255,.88) !important;
      }
      #heroSection .hero-pills {
        display: none !important;
      }
      #heroSection .hero-cta-row {
        width: 100% !important;
        max-width: 315px !important;
        margin: 0 auto !important;
        flex-direction: column !important;
        gap: 9px !important;
      }
      #heroSection .btn-hero-wa,
      #heroSection .btn-hero-more {
        width: 100% !important;
        min-height: 45px !important;
        justify-content: center !important;
        padding: 13px 16px !important;
        font-size: 14px !important;
      }
      #heroSection .hero-trustbar {
        display: none !important;
      }
    }
    @media (max-width: 390px) {
      #heroSection .hero-title {
        font-size: clamp(35px, 11vw, 44px) !important;
      }
      #heroSection .hero-sub {
        font-size: 12.5px !important;
      }
      #heroSection .hero-kicker {
        font-size: 11px !important;
      }
    }

    /* Legacy mobile hero block kept for fallback, aligned to mbh3 */
    @media (max-width: 768px) {
      .topbar {
        height: 76px !important;
        padding: 0 18px !important;
        justify-content: flex-start !important;
        gap: 13px !important;
        background: linear-gradient(90deg, #00275F 0%, #00377F 52%, #004899 100%) !important;
        font-size: 14.5px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        text-align: left !important;
      }
      .topbar i {
        display: grid !important;
        place-items: center !important;
        width: 30px !important;
        height: 30px !important;
        color: #84B8FF !important;
        font-size: 23px !important;
      }
      .topbar span {
        -webkit-line-clamp: 2 !important;
      }
      .header {
        top: 96px !important;
        left: 24px !important;
        width: calc(100% - 48px) !important;
        border-radius: 26px !important;
        background: rgba(255,255,255,.94) !important;
        box-shadow: 0 18px 40px rgba(5,31,70,.18) !important;
      }
      .header-inner {
        height: 108px !important;
        padding: 0 22px !important;
      }
      .logo {
        width: 168px !important;
        height: 78px !important;
        overflow: hidden !important;
        align-items: flex-start !important;
      }
      .logo img {
        height: 138px !important;
        width: auto !important;
        max-width: none !important;
        transform: translate(-7px, -28px) !important;
        object-fit: contain !important;
      }
      .h-right {
        gap: 8px !important;
      }
      .lang-trigger {
        padding: 8px 13px 8px 8px !important;
        font-size: 15px !important;
        min-height: 48px !important;
        box-shadow: 0 6px 18px rgba(15,23,42,.08) !important;
      }
      .lang-trigger-flag,
      .lang-trigger-flag .fi {
        width: 28px !important;
        height: 28px !important;
      }
      .lang-trigger-code {
        font-size: 15px !important;
      }
      .mob-menu-btn {
        width: 58px !important;
        height: 58px !important;
        font-size: 24px !important;
        box-shadow: 0 14px 28px rgba(0,82,255,.22) !important;
      }
      #heroSection.hero {
        min-height: 980px !important;
        padding-top: 0 !important;
        overflow: hidden !important;
        background: #062D63 !important;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
      }
      #heroSection.hero::after {
        content: "\f078";
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        position: absolute;
        z-index: 12;
        left: 50%;
        bottom: 24px;
        transform: translateX(-50%);
        color: #fff;
        font-size: 26px;
        line-height: 1;
        text-shadow: 0 4px 14px rgba(0,0,0,.35);
      }
      #heroSection .hero-bg {
        background-image: url('../img/h-m-t.webp') !important;
        background-size: cover !important;
        background-position: center top !important;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
      }
      #heroSection .hero-bg::after {
        background:
          linear-gradient(180deg, rgba(0,35,85,.06) 0%, rgba(0,35,85,0) 48%, rgba(3,12,27,.18) 100%),
          radial-gradient(ellipse at 50% 46%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 58%) !important;
      }
      #heroSection .hero-mobile-car {
        display: none !important;
        position: absolute;
        z-index: 5;
        left: 0;
        right: 0;
        bottom: 34px;
        width: 100%;
        height: 340px;
        transform: none;
        background: none !important;
        pointer-events: none;
        overflow: visible;
      }
      #heroSection .hero-mobile-car::before {
        content: none !important;
        position: absolute;
        left: 50%;
        bottom: -166px;
        width: 190vw;
        max-width: 820px;
        aspect-ratio: 1448 / 1086;
        transform: translateX(-50%);
        background: none !important;
      }
      #heroSection .hero-inner {
        position: relative !important;
        z-index: 8 !important;
        min-height: 860px !important;
        padding: 110px 24px 360px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: center !important;
      }
      #heroSection .hero-left {
        z-index: 8 !important;
        width: 100% !important;
        max-width: 390px !important;
        margin: 0 auto !important;
        align-items: center !important;
        text-align: center !important;
        transform: translateY(-40px) !important;
      }
      #heroSection .hero-left::before {
        display: none !important;
      }
      #heroSection .hero-kicker {
        margin: 0 auto 24px !important;
        padding: 10px 18px !important;
        max-width: 100% !important;
        border-radius: 999px !important;
        background: rgba(38,93,194,.82) !important;
        border: 1px solid rgba(255,255,255,.28) !important;
        box-shadow: 0 14px 32px rgba(26,78,178,.22) !important;
        white-space: nowrap !important;
        font-size: 14px !important;
      }
      #heroSection .hero-title {
        max-width: 440px !important;
        margin: 0 auto 22px !important;
        font-size: clamp(26px, 8.5vw, 36px) !important;
        line-height: 1.15 !important;
        letter-spacing: -.5px !important;
        text-align: center !important;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        text-shadow: 0 5px 18px rgba(0,27,68,.32) !important;
      }
      #heroSection .hero-title-desktop {
        display: none !important;
      }
      #heroSection .hero-title-mobile {
        display: block !important;
        white-space: nowrap !important;
      }
      #heroSection .hero-sub {
        max-width: 350px !important;
        margin: 0 auto 24px !important;
        color: rgba(255,255,255,.95) !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
        font-weight: 500 !important;
        text-align: center !important;
        text-shadow: 0 3px 12px rgba(0,26,63,.28) !important;
      }
      #heroSection .hero-pills {
        display: grid !important;
        width: 100% !important;
        max-width: 356px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 auto 24px !important;
      }
      #heroSection .hero-pill {
        min-width: 0 !important;
        min-height: 90px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 9px !important;
        padding: 13px 10px !important;
        border-radius: 16px !important;
        background: rgba(43,58,77,.42) !important;
        border: 1px solid rgba(255,255,255,.28) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 14px 28px rgba(3,18,42,.16) !important;
        backdrop-filter: blur(12px) saturate(130%) !important;
        -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
      }
      #heroSection .hero-pill i {
        color: rgba(255,255,255,.92) !important;
        font-size: 25px !important;
        flex: 0 0 auto;
      }
      #heroSection .hero-pill-desktop {
        display: none !important;
      }
      #heroSection .hero-pill-mobile {
        min-width: 0;
        display: grid !important;
        gap: 3px;
        text-align: left;
      }
      #heroSection .hero-pill-mobile small,
      #heroSection .hero-pill-mobile strong {
        display: block;
        color: #fff;
        line-height: 1.12;
        white-space: normal;
      }
      #heroSection .hero-pill-mobile small {
        font-size: 13px;
        font-weight: 600;
      }
      #heroSection .hero-pill-mobile strong {
        font-size: 13px !important;
        font-weight: 900 !important;
      }
      #heroSection .hero-cta-row {
        width: 100% !important;
        max-width: 330px !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 13px !important;
      }
      #heroSection .btn-hero-wa,
      #heroSection .btn-hero-more {
        width: 100% !important;
        min-height: 64px !important;
        justify-content: center !important;
        border-radius: 8px !important;
        padding: 16px 20px !important;
        font-size: 18px !important;
      }
      #heroSection .btn-hero-wa {
        box-shadow: 0 18px 36px rgba(15,175,67,.36) !important;
      }
      #heroSection .btn-hero-more {
        background: rgba(13,29,45,.68) !important;
        border-color: rgba(255,255,255,.52) !important;
        box-shadow: 0 16px 32px rgba(4,17,33,.22) !important;
      }
      #heroSection .hero-trustbar {
        display: none !important;
      }
    }
    @media (max-width: 420px) {
      .topbar {
        height: 70px !important;
        font-size: 13.5px !important;
      }
      .header {
        top: 88px !important;
        left: 18px !important;
        width: calc(100% - 36px) !important;
        border-radius: 22px !important;
      }
      .header-inner {
        height: 100px !important;
        padding: 0 18px !important;
      }
      .logo {
        width: 146px !important;
        height: 70px !important;
        overflow: hidden !important;
        align-items: flex-start !important;
      }
      .logo img {
        height: 124px !important;
        width: auto !important;
        max-width: none !important;
        transform: translate(-6px, -25px) !important;
        object-fit: contain !important;
      }
      .lang-trigger {
        min-height: 44px !important;
        padding: 7px 11px 7px 7px !important;
      }
      .mob-menu-btn {
        width: 52px !important;
        height: 52px !important;
        font-size: 22px !important;
      }
      #heroSection.hero {
        min-height: 910px !important;
      }
      #heroSection.hero::after {
        bottom: 20px;
        font-size: 24px;
      }
      #heroSection .hero-inner {
        min-height: 800px !important;
        padding: 110px 18px 320px !important;
      }
      #heroSection .hero-mobile-car {
        bottom: 30px;
        height: 310px;
        width: 100%;
      }
      #heroSection .hero-mobile-car::before {
        bottom: -154px;
        width: 205vw;
      }
      #heroSection .hero-kicker {
        margin-bottom: 20px !important;
        font-size: 12.5px !important;
        padding: 9px 15px !important;
      }
      #heroSection .hero-title {
        font-size: clamp(24px, 8vw, 32px) !important;
        margin-bottom: 18px !important;
      }
      #heroSection .hero-sub {
        max-width: 330px !important;
        margin-bottom: 21px !important;
        font-size: 15px !important;
      }
      #heroSection .hero-pills {
        max-width: 340px !important;
        gap: 8px !important;
        margin-bottom: 22px !important;
      }
      #heroSection .hero-pill {
        min-height: 82px !important;
        gap: 7px !important;
        padding: 11px 8px !important;
      }
      #heroSection .hero-pill i {
        font-size: 22px !important;
      }
      #heroSection .hero-pill-mobile small {
        font-size: 12px;
      }
      #heroSection .hero-pill-mobile strong {
        font-size: 13px;
      }
      #heroSection .hero-cta-row {
        max-width: 318px !important;
        gap: 11px !important;
      }
      #heroSection .btn-hero-wa,
      #heroSection .btn-hero-more {
        min-height: 58px !important;
        font-size: 16px !important;
      }
    }
    /* Homepage mobile hero: use mbh3 layout and compact header */
    @media (max-width: 768px) {
      .topbar span {
        max-width: 328px !important;
        margin: 0 auto !important;
      }
      .header {
        position: fixed !important;
        top: 92px !important;
        left: 50% !important;
        width: min(334px, calc(100vw - 30px)) !important;
        transform: translateX(-50%) !important;
        border-radius: 24px !important;
        z-index: 40 !important;
      }
      .header-inner {
        height: 94px !important;
        padding: 0 14px !important;
      }
      .logo {
        width: 156px !important;
        height: 62px !important;
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
      }
      .logo img {
        width: 100% !important;
        height: auto !important;
        max-width: 156px !important;
        transform: none !important;
      }
      .lang-trigger {
        min-height: 40px !important;
        padding: 6px 10px 6px 6px !important;
      }
      .lang-trigger-flag,
      .lang-trigger-flag .fi {
        width: 23px !important;
        height: 23px !important;
      }
      .lang-trigger-code {
        font-size: 12.5px !important;
      }
      .mob-menu-btn {
        width: 46px !important;
        height: 46px !important;
        font-size: 20px !important;
      }
      #heroSection .hero-bg {
        background-image: url('../img/h-m-t.webp') !important;
        background-size: cover !important;
        background-position: center 46% !important;
      }
      #heroSection .hero-bg::after {
        background: linear-gradient(180deg, rgba(8, 31, 73, 0.18) 0%, rgba(8, 31, 73, 0.08) 34%, rgba(8, 31, 73, 0.02) 58%, rgba(8, 31, 73, 0.18) 100%) !important;
      }
      #heroSection .hero-mobile-car {
        display: none !important;
      }
      #heroSection.hero {
        min-height: 840px !important;
      }
      #heroSection.hero::after {
        content: none !important;
        display: none !important;
      }
      #heroSection .hero-inner {
        min-height: 700px !important;
        padding: 60px 24px 200px !important;
      }
      #heroSection .hero-left {
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 auto !important;
        transform: translateY(-40px) !important;
      }
      #heroSection .hero-kicker {
        margin-bottom: 18px !important;
      }
      #heroSection .hero-title {
        max-width: 300px !important;
        margin-bottom: 14px !important;
        font-size: clamp(34px, 8vw, 42px) !important;
        line-height: 1.04 !important;
      }
      #heroSection .hero-sub {
        max-width: 292px !important;
        font-size: 13.5px !important;
        margin-bottom: 17px !important;
      }
      #heroSection .hero-pills {
        display: grid !important;
        width: 286px !important;
        max-width: 286px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
        margin: 0 auto 18px !important;
      }
      #heroSection .hero-pill {
        min-width: 0 !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        padding: 7px 5px !important;
        border-radius: 12px !important;
        background: rgba(60, 78, 105, 0.42) !important;
        border: 1px solid rgba(255,255,255,.24) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 10px 22px rgba(5,22,46,.13) !important;
        backdrop-filter: blur(10px) saturate(130%) !important;
        -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
      }
      #heroSection .hero-pill i {
        font-size: 12.5px !important;
        color: rgba(255,255,255,.92) !important;
        flex: 0 0 auto;
      }
      #heroSection .hero-pill-desktop {
        display: none !important;
      }
      #heroSection .hero-pill-mobile {
        min-width: 0 !important;
        display: grid !important;
        gap: 2px !important;
        text-align: left !important;
      }
      #heroSection .hero-pill-mobile small,
      #heroSection .hero-pill-mobile strong {
        display: block !important;
        color: #fff !important;
        line-height: 1.08 !important;
      }
      #heroSection .hero-pill-mobile small {
        font-size: 7.8px !important;
        font-weight: 650 !important;
      }
      #heroSection .hero-pill-mobile strong {
        font-size: 9.2px !important;
        font-weight: 900 !important;
      }
      #heroSection .hero-cta-row {
        width: 286px !important;
        max-width: 286px !important;
        gap: 13px !important;
      }
      .mob-float {
        display: none !important;
      }
    }
    @media (max-width: 420px) {
      .header {
        top: 88px !important;
        left: 50% !important;
        width: min(334px, calc(100vw - 30px)) !important;
        transform: translateX(-50%) !important;
        border-radius: 22px !important;
      }
      .header-inner {
        height: 92px !important;
        padding: 0 12px !important;
      }
      .logo {
        width: 142px !important;
        height: 58px !important;
      }
      .logo img {
        max-width: 142px !important;
      }
      .lang-trigger {
        min-height: 38px !important;
        padding: 6px 9px 6px 6px !important;
      }
      .lang-trigger-flag,
      .lang-trigger-flag .fi {
        width: 22px !important;
        height: 22px !important;
      }
      .lang-trigger-code {
        font-size: 12px !important;
      }
      .mob-menu-btn {
        width: 44px !important;
        height: 44px !important;
        font-size: 19px !important;
      }
      #heroSection.hero {
        min-height: 790px !important;
      }
      #heroSection.hero::after {
        content: none !important;
        display: none !important;
      }
      #heroSection .hero-inner {
        min-height: 660px !important;
        padding: 60px 18px 180px !important;
      }
      #heroSection .hero-left {
        max-width: 380px !important;
        transform: translateY(-40px) !important;
      }
      #heroSection .hero-title {
        max-width: 380px !important;
        font-size: clamp(22px, 7.5vw, 28px) !important;
        line-height: 1.15 !important;
      }
      #heroSection .hero-sub {
        max-width: 286px !important;
        font-size: 13px !important;
        margin-bottom: 15px !important;
      }
      #heroSection .hero-pills {
        width: 280px !important;
        max-width: 280px !important;
        gap: 5px !important;
        margin-bottom: 17px !important;
      }
      #heroSection .hero-pill {
        min-height: 42px !important;
        gap: 3px !important;
        padding: 7px 4px !important;
        border-radius: 11px !important;
      }
      #heroSection .hero-pill i {
        font-size: 12px !important;
      }
      #heroSection .hero-pill-mobile small {
        font-size: 7.5px !important;
      }
      #heroSection .hero-pill-mobile strong {
        font-size: 8.8px !important;
      }
      #heroSection .hero-cta-row {
        width: 280px !important;
        max-width: 280px !important;
      }
      #heroSection .btn-hero-wa,
      #heroSection .btn-hero-more {
        min-height: 58px !important;
      }
      .mob-float {
        display: none !important;
      }
    }

    /* Stack CTA buttons vertically (Mobile only) */
    @media (max-width: 768px) {
      .cta-sec .cta-btns {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        align-items: center !important;
        max-width: 300px !important;
        margin: 0 auto !important;
        grid-template-columns: none !important;
      }
      .cta-sec .cta-wa, 
      .cta-sec .cta-line, 
      .cta-sec .cta-call {
        width: 100% !important;
        display: inline-flex !important;
        justify-content: center !important;
        box-sizing: border-box !important;
      }
    }

    @media (max-width: 768px) {
      .header { transition: width 0.3s ease, border-radius 0.3s ease !important; }
      .header.scrolled { width: 100% !important; border-radius: 0 !important; }
    }
  @media (min-width: 769px) {
    #heroSection .hero-bg::after { display: none !important; }
  }
  @media (max-width: 768px) {
    #heroSection .hero-bg::after {
      display: block !important;
      content: "" !important;
      background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.4) 35%, rgba(0,0,0,0) 75%) !important;
    }
  }
/* Topbar — fixed at top, hides on scroll */
.topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 321;
  transition: transform .3s ease, opacity .3s ease;
  will-change: transform;
}

/* INDEX-ONLY: Premium readable booking form override (2026-06-20) */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 22px !important;
    box-shadow:
      0 28px 70px rgba(3, 18, 46, 0.35),
      0 8px 22px rgba(3, 18, 46, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, rgba(8, 41, 94, 0.97) 0%, rgba(16, 92, 190, 0.93) 100%) !important;
    backdrop-filter: blur(8px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(130%) !important;
    border-bottom: 4px solid #2b76ff !important;
    padding-top: 28px !important;
    padding-bottom: 26px !important;
  }

  body[data-page="index"] #booking-form .bk-head h3,
  body[data-page="index"] #booking-form .bk-head p {
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0, 12, 38, 0.55) !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges span {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }

  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-wrap {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.96) 100%) !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
  }

  body[data-page="index"] #booking-form .bk-body {
    padding-top: 34px !important;
  }

  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    border: 1px solid rgba(189, 202, 224, 0.95) !important;
    color: #07142f !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.92),
      0 8px 18px rgba(7, 30, 72, 0.08) !important;
    font-weight: 750 !important;
  }

  body[data-page="index"] #booking-form .bk-inp input::placeholder,
  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #6d7688 !important;
    opacity: 1 !important;
  }

  body[data-page="index"] #booking-form .bk-inp label,
  body[data-page="index"] #booking-form .bk-inp .bk-lbl,
  body[data-page="index"] #booking-form .bk-box label,
  body[data-page="index"] #booking-form .bk-box .bk-lbl {
    color: #07142f !important;
    text-shadow: none !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  body[data-page="index"] #booking-form .bk-inp label i {
    color: #075cff !important;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .7)) !important;
  }

  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #267cff 0%, #0752c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow:
      0 16px 34px -10px rgba(7, 82, 199, 0.88),
      inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
  }

  body[data-page="index"] #booking-form .bk-btn:hover {
    filter: brightness(1.08) !important;
    transform: translateY(-1px) !important;
  }
}

/* INDEX-ONLY ABSOLUTE FINAL: readable frosted booking card */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 70px rgba(3, 18, 46, 0.35), 0 8px 22px rgba(3, 18, 46, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, rgba(8, 41, 94, 0.97) 0%, rgba(16, 92, 190, 0.93) 100%) !important;
    backdrop-filter: blur(8px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(130%) !important;
    border-bottom: 4px solid #2b76ff !important;
    padding-top: 28px !important;
    padding-bottom: 26px !important;
  }
  body[data-page="index"] #booking-form .bk-head h3,
  body[data-page="index"] #booking-form .bk-head p {
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0, 12, 38, 0.55) !important;
  }
  body[data-page="index"] #booking-form .bk-head-badges span {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }
  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-wrap {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.96) 100%) !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    padding-top: 34px !important;
  }
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    border: 1px solid rgba(189, 202, 224, 0.95) !important;
    color: #07142f !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.92), 0 8px 18px rgba(7, 30, 72, 0.08) !important;
    font-weight: 750 !important;
  }
  body[data-page="index"] #booking-form .bk-inp input::placeholder,
  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #6d7688 !important;
    opacity: 1 !important;
  }
  body[data-page="index"] #booking-form .bk-inp label,
  body[data-page="index"] #booking-form .bk-inp .bk-lbl,
  body[data-page="index"] #booking-form .bk-box label,
  body[data-page="index"] #booking-form .bk-box .bk-lbl {
    color: #07142f !important;
    text-shadow: none !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }
  body[data-page="index"] #booking-form .bk-inp label i {
    color: #075cff !important;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .7)) !important;
  }
  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #267cff 0%, #0752c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px -10px rgba(7, 82, 199, 0.88), inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border: 1px solid rgba(216, 228, 244, 0.95) !important;
    box-shadow: 0 18px 42px rgba(3, 18, 46, 0.22) !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06327c 0%, #1263d8 100%) !important;
    border-bottom: 4px solid #2d7dff !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    background: #fff !important;
  }
  body[data-page="index"] #booking-form .bk-inp label {
    color: #07142f !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    color: #07142f !important;
    border-color: #d3ddea !important;
    font-weight: 750 !important;
    box-shadow: 0 6px 16px rgba(7, 30, 72, 0.07) !important;
  }
}

/* INDEX-ONLY TRUE FINAL: clean solid booking card, no washed-out glass */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #ffffff !important;
    border: 1px solid #d8e4f4 !important;
    border-radius: 22px !important;
    box-shadow: 0 32px 84px rgba(5, 24, 58, 0.34), 0 9px 22px rgba(5, 24, 58, 0.16) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06245d 0%, #0c5fd6 100%) !important;
    border-bottom: 4px solid #2f7dff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-head::before,
  body[data-page="index"] #booking-form .bk-head::after {
    content: none !important;
    display: none !important;
  }

  body[data-page="index"] #booking-form .bk-head h3,
  body[data-page="index"] #booking-form .bk-head p {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0, 12, 38, 0.45) !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges span {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
  }

  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-grid,
  body[data-page="index"] #booking-form .bk-wrap {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-inp label {
    color: #06163a !important;
    text-shadow: none !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  body[data-page="index"] #booking-form .bk-inp label i {
    color: #075cff !important;
    filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-box {
    background: #ffffff !important;
    border: 1.5px solid #d4dfef !important;
    border-radius: 13px !important;
    box-shadow: 0 8px 18px rgba(7, 30, 72, 0.08) !important;
  }

  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #ffffff !important;
    color: #07142f !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 800 !important;
    text-shadow: none !important;
  }

  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #6b7280 !important;
    opacity: 1 !important;
  }

  body[data-page="index"] #booking-form .bk-swap-btn {
    background: #f8fbff !important;
    border: 1px solid #dbe6f6 !important;
    color: #075cff !important;
  }

  body[data-page="index"] #booking-form .bk-arr {
    color: #7b8798 !important;
  }

  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #247cff 0%, #0754c8 100%) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px rgba(7, 82, 199, 0.32) !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #ffffff !important;
    border: 1px solid #d8e4f4 !important;
    box-shadow: 0 18px 44px rgba(3, 18, 46, 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06245d 0%, #0c5fd6 100%) !important;
    border-bottom: 4px solid #2f7dff !important;
  }

  body[data-page="index"] #booking-form .bk-head::before,
  body[data-page="index"] #booking-form .bk-head::after {
    content: none !important;
    display: none !important;
  }

  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-grid,
  body[data-page="index"] #booking-form .bk-wrap {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-box {
    background: #ffffff !important;
    border: 1.5px solid #d4dfef !important;
    box-shadow: 0 8px 18px rgba(7, 30, 72, 0.08) !important;
  }

  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #ffffff !important;
    color: #07142f !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 800 !important;
  }
}

/* INDEX-ONLY ABSOLUTE FINAL: premium hero header */
@media (min-width: 769px) {
  body[data-page="index"] .header {
    top: 20px !important;
    left: 50% !important;
    right: auto !important;
    width: min(96vw, 1780px) !important;
    transform: translateX(-50%) !important;
    background: rgba(255, 255, 255, 0.93) !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 28px !important;
    box-shadow:
      0 22px 60px rgba(3, 18, 46, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
  }

  body[data-page="index"] .header.scrolled {
    top: 0 !important;
    width: 100% !important;
    border-radius: 0 0 20px 20px !important;
  }

  body[data-page="index"] .header-inner {
    max-width: none !important;
    height: 88px !important;
    padding: 0 44px !important;
    gap: 28px !important;
  }

  body[data-page="index"] .logo {
    height: 74px !important;
    width: 230px !important;
  }

  body[data-page="index"] .logo img {
    height: 100% !important;
    width: auto !important;
    max-width: 230px !important;
  }

  body[data-page="index"] .h-nav {
    padding: 5px !important;
    gap: 4px !important;
    background: rgba(243, 246, 251, 0.92) !important;
    border: 1px solid rgba(211, 222, 238, 0.95) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  body[data-page="index"] .h-nav a,
  body[data-page="index"] .h-dd-btn {
    color: #5d687a !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 9px 18px !important;
  }

  body[data-page="index"] .h-nav a:hover,
  body[data-page="index"] .h-dd:hover .h-dd-btn,
  body[data-page="index"] .h-dd.open .h-dd-btn {
    background: #fff !important;
    color: #075cff !important;
    box-shadow: 0 7px 18px rgba(7, 40, 98, 0.10) !important;
  }

  body[data-page="index"] .lang-trigger {
    min-height: 52px !important;
    padding: 7px 14px 7px 8px !important;
    background: rgba(246, 249, 255, 0.96) !important;
    border-color: rgba(210, 221, 238, 0.95) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  body[data-page="index"] .lang-trigger-flag,
  body[data-page="index"] .lang-trigger-flag .fi {
    width: 32px !important;
    height: 32px !important;
  }

  body[data-page="index"] .lang-trigger-code {
    color: #07142f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  body[data-page="index"] .h-signin {
    min-height: 52px !important;
    padding: 0 26px !important;
    background: linear-gradient(135deg, #267cff 0%, #0752e8 100%) !important;
    box-shadow:
      0 16px 34px rgba(7, 82, 199, 0.28),
      inset 0 1px 0 rgba(255,255,255,.30) !important;
    font-size: 17px !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] .header {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 16px 40px rgba(3, 18, 46, 0.18) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
  }

  body[data-page="index"] .header-inner {
    gap: 10px !important;
  }

  body[data-page="index"] .logo {
    width: 152px !important;
  }

  body[data-page="index"] .lang-trigger {
    background: #f6f9ff !important;
    border-color: #d4e0f1 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  body[data-page="index"] .mob-menu-btn {
    color: #fff !important;
    background: linear-gradient(135deg, #267cff 0%, #0752e8 100%) !important;
    border: none !important;
    box-shadow: 0 10px 24px rgba(7, 82, 199, 0.25) !important;
  }
}

/* INDEX-ONLY FINAL OVERRIDE: Premium readable booking form */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 22px !important;
    box-shadow:
      0 28px 70px rgba(3, 18, 46, 0.35),
      0 8px 22px rgba(3, 18, 46, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, rgba(8, 41, 94, 0.97) 0%, rgba(16, 92, 190, 0.93) 100%) !important;
    backdrop-filter: blur(8px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(130%) !important;
    border-bottom: 4px solid #2b76ff !important;
    padding-top: 28px !important;
    padding-bottom: 26px !important;
  }

  body[data-page="index"] #booking-form .bk-head h3,
  body[data-page="index"] #booking-form .bk-head p {
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0, 12, 38, 0.55) !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges span {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }

  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-wrap {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.96) 100%) !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
  }

  body[data-page="index"] #booking-form .bk-body {
    padding-top: 34px !important;
  }

  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    border: 1px solid rgba(189, 202, 224, 0.95) !important;
    color: #07142f !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.92),
      0 8px 18px rgba(7, 30, 72, 0.08) !important;
    font-weight: 750 !important;
  }

  body[data-page="index"] #booking-form .bk-inp input::placeholder,
  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #6d7688 !important;
    opacity: 1 !important;
  }

  body[data-page="index"] #booking-form .bk-inp label,
  body[data-page="index"] #booking-form .bk-inp .bk-lbl,
  body[data-page="index"] #booking-form .bk-box label,
  body[data-page="index"] #booking-form .bk-box .bk-lbl {
    color: #07142f !important;
    text-shadow: none !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  body[data-page="index"] #booking-form .bk-inp label i {
    color: #075cff !important;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .7)) !important;
  }

  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #267cff 0%, #0752c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow:
      0 16px 34px -10px rgba(7, 82, 199, 0.88),
      inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border: 1px solid rgba(216, 228, 244, 0.95) !important;
    box-shadow: 0 18px 42px rgba(3, 18, 46, 0.22) !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06327c 0%, #1263d8 100%) !important;
    border-bottom: 4px solid #2d7dff !important;
  }

  body[data-page="index"] #booking-form .bk-body {
    background: #fff !important;
  }

  body[data-page="index"] #booking-form .bk-inp label {
    color: #07142f !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    color: #07142f !important;
    border-color: #d3ddea !important;
    font-weight: 750 !important;
    box-shadow: 0 6px 16px rgba(7, 30, 72, 0.07) !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border: 1px solid rgba(216, 228, 244, 0.95) !important;
    box-shadow: 0 18px 42px rgba(3, 18, 46, 0.22) !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06327c 0%, #1263d8 100%) !important;
    border-bottom: 4px solid #2d7dff !important;
  }

  body[data-page="index"] #booking-form .bk-body {
    background: #fff !important;
  }

  body[data-page="index"] #booking-form .bk-inp label {
    color: #07142f !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    color: #07142f !important;
    border-color: #d3ddea !important;
    font-weight: 750 !important;
    box-shadow: 0 6px 16px rgba(7, 30, 72, 0.07) !important;
  }
}
.topbar.is-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

/* ════════ FINAL HEADER OVERRIDE — wins all responsive blocks ════════ */
/* Force full-width edge-to-edge header at ALL breakpoints */
.header,
@media (max-width: 1024px) .header,
@media (max-width: 768px)  .header,
@media (max-width: 480px)  .header,
@media (max-width: 420px)  .header {
  /* dummy — real rules below */
}
@media (max-width: 1024px) {
  .header {
    left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: none !important;
    margin: 0 !important; transform: none !important;
    border-radius: 0 !important;
    border-left: none !important; border-right: none !important;
    background: #ffffff !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    height: 58px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
  }
  .header-inner {
    height: 58px !important; max-width: 100% !important;
    padding: 0 12px !important;
  }
  .logo {
    height: 44px !important; width: auto !important;
    overflow: visible !important; align-items: center !important;
  }
  .logo img {
    height: 100% !important; width: auto !important;
    max-width: none !important;
  }
  .topbar {
    height: 36px !important; padding: 0 12px !important;
    font-size: 11.5px !important; line-height: 1.2 !important;
    white-space: nowrap !important; overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .topbar span { -webkit-line-clamp: 1 !important; }
}

/* ════════════ PER-PAGE HERO BACKGROUNDS ════════════ */
/* Specificity-boosted with #heroSection to beat existing rules */
/* Desktop */
body[data-page="bangkok-to-pattaya"]         #heroSection .hero-bg { background-image: url('../img/d-b-p.webp') !important; }
body[data-page="pattaya-to-bangkok"]         #heroSection .hero-bg { background-image: url('../img/d-b-p.webp') !important; }
body[data-page="suvarnabhumi-to-pattaya"]    #heroSection .hero-bg { background-image: url('../img/d-s-p.webp') !important; }
body[data-page="pattaya-to-suvarnabhumi"]    #heroSection .hero-bg { background-image: url('../img/d-p-s.webp') !important; }
body[data-page="don-mueang-to-pattaya"]      #heroSection .hero-bg { background-image: url('../img/d-d-p.webp') !important; }
body[data-page="pattaya-to-don-mueang"]      #heroSection .hero-bg { background-image: url('../img/d-d-p.webp') !important; }
body[data-page="pattaya-airport-transfer"]   #heroSection .hero-bg { background-image: url('../img/d-p-a.webp') !important; }
body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-bg { background-image: url('../img/d-s-p.webp') !important; }

/* Mobile (<= 768px) */
@media (max-width: 768px) {
  body[data-page="bangkok-to-pattaya"]         #heroSection .hero-bg { background-image: url('../img/m-b-p.webp') !important; }
  body[data-page="pattaya-to-bangkok"]         #heroSection .hero-bg { background-image: url('../img/m-b-p.webp') !important; }
  body[data-page="suvarnabhumi-to-pattaya"]    #heroSection .hero-bg { background-image: url('../img/m-s-p.webp') !important; }
  body[data-page="pattaya-to-suvarnabhumi"]    #heroSection .hero-bg { background-image: url('../img/m-p-s.webp') !important; }
  body[data-page="don-mueang-to-pattaya"]      #heroSection .hero-bg { background-image: url('../img/m-d-p.webp') !important; }
  body[data-page="pattaya-to-don-mueang"]      #heroSection .hero-bg { background-image: url('../img/m-d-p.webp') !important; }
  body[data-page="pattaya-airport-transfer"]   #heroSection .hero-bg { background-image: url('../img/m-p-a.webp') !important; }
  body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-bg { background-image: url('../img/m-s-p.webp') !important; }
}

/* ════════════ INDEX-ONLY: Stronger text shadow on hero (bright bg) ════════════ */
body[data-page="index"] #heroSection .hero-bg::after {
  background: linear-gradient(
    180deg,
    rgba(3, 15, 40, 0.55) 0%,
    rgba(3, 15, 40, 0.35) 35%,
    rgba(3, 15, 40, 0.15) 65%,
    rgba(3, 15, 40, 0.30) 100%
  ) !important;
}
body[data-page="index"] #heroSection .hero-title,
body[data-page="index"] #heroSection .hero-title .h1-part1,
body[data-page="index"] #heroSection .hero-title .h1-part2 {
  text-shadow:
    0 2px 6px rgba(0,0,0,.85),
    0 4px 18px rgba(0,0,0,.55),
    0 8px 28px rgba(0,0,0,.35) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body[data-page="index"] #heroSection .hero-sub {
  text-shadow:
    0 2px 4px rgba(0,0,0,.75),
    0 4px 14px rgba(0,0,0,.5) !important;
  color: #fff !important;
}
body[data-page="index"] #heroSection .hero-kicker {
  text-shadow: 0px;
  box-shadow: 0 10px 26px -6px rgba(11, 78, 200, 0), 0 4px 12px -4px rgba(7, 30, 90, 0.5) !important;
}
body[data-page="index"] #heroSection .hero-pill {
  text-shadow: 0 1px 3px rgba(0, 0, 0, .55) !important;
  background: rgb(104 104 104 / 55%) !important;
  border-color: rgba(255, 255, 255, .25) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
body[data-page="index"] #heroSection .hero-pill,
body[data-page="index"] #heroSection .hero-pill * { color:#fff !important; }
body[data-page="index"] #heroSection .hero-pill i { color: #ff7a00 !important; }

@media (max-width: 768px) {
  body[data-page="index"] #heroSection .hero-bg::after {
    background: none !important;
    display: none !important;
  }
  body[data-page="index"] #heroSection .hero-title,
  body[data-page="index"] #heroSection .hero-sub {
    text-shadow:
      0 2px 8px rgba(0,0,0,.9),
      0 4px 20px rgba(0,0,0,.6) !important;
  }
}

/* ════════════ INDEX-ONLY: Glassmorphic booking form on desktop ════════════ */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow:
      0 24px 60px rgba(0, 20, 60, 0.30),
      0 6px 18px rgba(0, 20, 60, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.40) !important;
    overflow: hidden !important;
  }
  /* Header band — translucent blue (lighter) */
  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, rgba(11, 78, 162, 0.55) 0%, rgba(7, 55, 120, 0.55) 100%) !important;
    backdrop-filter: blur(10px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
  }
  body[data-page="index"] #booking-form .bk-head h3,
  body[data-page="index"] #booking-form .bk-head p {
    color: #fff !important;
    text-shadow: 0 1px 6px rgba(0, 12, 38, 0.5) !important;
  }
  body[data-page="index"] #booking-form .bk-head-badges span {
    background: rgba(255, 255, 255, 0.20) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.30) !important;
    backdrop-filter: blur(4px) !important;
  }
  /* Body band — translucent white (lighter than before) */
  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-wrap {
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(22px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
  }
  /* Input fields — semi-frosted white, readable text */
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    color: #0b1a33 !important;
    box-shadow: 0 2px 8px rgba(0, 20, 60, 0.06) !important;
  }
  body[data-page="index"] #booking-form .bk-inp input:focus,
  body[data-page="index"] #booking-form .bk-inp select:focus,
  body[data-page="index"] #booking-form .bk-box input:focus,
  body[data-page="index"] #booking-form .bk-box select:focus {
    background: #ffffff !important;
    border-color: rgba(26, 115, 232, 0.6) !important;
    box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.20) !important;
  }
  /* Input labels — dark with light shadow */
  body[data-page="index"] #booking-form .bk-inp label,
  body[data-page="index"] #booking-form .bk-inp .bk-lbl,
  body[data-page="index"] #booking-form .bk-box label,
  body[data-page="index"] #booking-form .bk-box .bk-lbl {
    color: #0b1a33 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.55) !important;
    font-weight: 700 !important;
  }
  /* Book Now CTA — solid blue, no transparency for max click clarity */
  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 12px 28px -8px rgba(11, 78, 162, 0.75), inset 0 1px 0 rgba(255,255,255,0.3) !important;
  }
  body[data-page="index"] #booking-form .bk-btn:hover {
    filter: brightness(1.08) !important;
    transform: translateY(-1px) !important;
  }
}

/* INDEX-ONLY ABSOLUTE FINAL: readable frosted booking card */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 70px rgba(3, 18, 46, 0.35), 0 8px 22px rgba(3, 18, 46, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, rgba(8, 41, 94, 0.97) 0%, rgba(16, 92, 190, 0.93) 100%) !important;
    backdrop-filter: blur(8px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(130%) !important;
    border-bottom: 4px solid #2b76ff !important;
    padding-top: 28px !important;
    padding-bottom: 26px !important;
  }
  body[data-page="index"] #booking-form .bk-head h3,
  body[data-page="index"] #booking-form .bk-head p {
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0, 12, 38, 0.55) !important;
  }
  body[data-page="index"] #booking-form .bk-head-badges span {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.32) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }
  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-wrap {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.96) 100%) !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    padding-top: 34px !important;
  }
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    border: 1px solid rgba(189, 202, 224, 0.95) !important;
    color: #07142f !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.92), 0 8px 18px rgba(7, 30, 72, 0.08) !important;
    font-weight: 750 !important;
  }
  body[data-page="index"] #booking-form .bk-inp input::placeholder,
  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #6d7688 !important;
    opacity: 1 !important;
  }
  body[data-page="index"] #booking-form .bk-inp label,
  body[data-page="index"] #booking-form .bk-inp .bk-lbl,
  body[data-page="index"] #booking-form .bk-box label,
  body[data-page="index"] #booking-form .bk-box .bk-lbl {
    color: #07142f !important;
    text-shadow: none !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }
  body[data-page="index"] #booking-form .bk-inp label i {
    color: #075cff !important;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .7)) !important;
  }
  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #267cff 0%, #0752c7 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px -10px rgba(7, 82, 199, 0.88), inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border: 1px solid rgba(216, 228, 244, 0.95) !important;
    box-shadow: 0 18px 42px rgba(3, 18, 46, 0.22) !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06327c 0%, #1263d8 100%) !important;
    border-bottom: 4px solid #2d7dff !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    background: #fff !important;
  }
  body[data-page="index"] #booking-form .bk-inp label {
    color: #07142f !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select,
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #fff !important;
    color: #07142f !important;
    border-color: #d3ddea !important;
    font-weight: 750 !important;
    box-shadow: 0 6px 16px rgba(7, 30, 72, 0.07) !important;
  }
}

/* INDEX-ONLY REAL LAST OVERRIDE: solid premium booking form */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #ffffff !important;
    border: 1px solid #d8e4f4 !important;
    border-radius: 22px !important;
    box-shadow: 0 32px 84px rgba(5, 24, 58, 0.34), 0 9px 22px rgba(5, 24, 58, 0.16) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06245d 0%, #0c5fd6 100%) !important;
    border-bottom: 4px solid #2f7dff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-head::before,
  body[data-page="index"] #booking-form .bk-head::after {
    content: none !important;
    display: none !important;
  }

  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-grid,
  body[data-page="index"] #booking-form .bk-wrap {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-inp label {
    color: #06163a !important;
    text-shadow: none !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  body[data-page="index"] #booking-form .bk-box {
    background: #ffffff !important;
    border: 1.5px solid #d4dfef !important;
    border-radius: 13px !important;
    box-shadow: 0 8px 18px rgba(7, 30, 72, 0.08) !important;
  }

  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #ffffff !important;
    color: #07142f !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 800 !important;
    text-shadow: none !important;
  }

  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #6b7280 !important;
    opacity: 1 !important;
  }

  body[data-page="index"] #booking-form .bk-swap-btn {
    background: #f8fbff !important;
    border: 1px solid #dbe6f6 !important;
    color: #075cff !important;
  }

  body[data-page="index"] #booking-form .bk-arr {
    color: #7b8798 !important;
  }

  body[data-page="index"] #booking-form .bk-btn {
    background: linear-gradient(135deg, #247cff 0%, #0754c8 100%) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px rgba(7, 82, 199, 0.32) !important;
  }
}

@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-card {
    background: #ffffff !important;
    border: 1px solid #d8e4f4 !important;
    box-shadow: 0 18px 44px rgba(3, 18, 46, 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    background: linear-gradient(135deg, #06245d 0%, #0c5fd6 100%) !important;
    border-bottom: 4px solid #2f7dff !important;
  }

  body[data-page="index"] #booking-form .bk-head::before,
  body[data-page="index"] #booking-form .bk-head::after {
    content: none !important;
    display: none !important;
  }

  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-grid,
  body[data-page="index"] #booking-form .bk-wrap {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="index"] #booking-form .bk-box {
    background: #ffffff !important;
    border: 1.5px solid #d4dfef !important;
    box-shadow: 0 8px 18px rgba(7, 30, 72, 0.08) !important;
  }

  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: #ffffff !important;
    color: #07142f !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 800 !important;
  }
}

/* INDEX-ONLY REAL LAST DESIGN PASS: floating form layout */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form {
    top: clamp(168px, 12.5vw, 210px) !important;
    right: clamp(30px, 4.2vw, 72px) !important;
    width: min(520px, 38vw) !important;
    max-width: calc(100vw - 64px) !important;
  }

  body[data-page="index"] #booking-form .bk-card {
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    border: 1px solid rgba(207, 221, 241, 0.95) !important;
    box-shadow: 0 34px 80px rgba(3, 18, 46, 0.28), 0 10px 26px rgba(3, 18, 46, 0.12) !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    padding: 22px 28px 20px !important;
    border-radius: 24px 24px 0 0 !important;
    background: linear-gradient(135deg, #082b69 0%, #0d62d7 100%) !important;
  }

  body[data-page="index"] #booking-form .bk-head h3 {
    font-size: 25px !important;
    line-height: 1.15 !important;
    margin: 0 0 8px !important;
  }

  body[data-page="index"] #booking-form .bk-head p {
    font-size: 15px !important;
    margin: 0 !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges {
    margin-top: 14px !important;
    gap: 10px !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges span {
    padding: 8px 13px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
  }

  body[data-page="index"] #booking-form .bk-body {
    padding: 26px 28px 28px !important;
    border-radius: 0 0 24px 24px !important;
  }

  body[data-page="index"] #booking-form .bk-grid {
    gap: 16px !important;
  }

  body[data-page="index"] #booking-form .bk-inp label {
    margin-bottom: 8px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  body[data-page="index"] #booking-form .bk-box {
    min-height: 58px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
  }

  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    min-height: 56px !important;
    padding: 0 16px !important;
    font-size: 17px !important;
  }

  body[data-page="index"] #booking-form .bk-btn {
    min-height: 62px !important;
    margin-top: 6px !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    border-radius: 16px !important;
  }
}

@media (min-width: 1440px) {
  body[data-page="index"] #booking-form {
    right: clamp(48px, 5.2vw, 96px) !important;
    width: 540px !important;
  }
}

/* INDEX-ONLY EMERGENCY FIX: keep booking form compact and stop horizontal overflow */
@media (min-width: 1024px) {
  body[data-page="index"],
  body[data-page="index"] html {
    overflow-x: hidden !important;
  }

  body[data-page="index"] #booking-form {
    top: 156px !important;
    right: clamp(28px, 3.2vw, 64px) !important;
    width: clamp(400px, 28vw, 440px) !important;
    max-width: calc(100vw - 56px) !important;
    padding: 0 !important;
  }

  body[data-page="index"] #booking-form .bk-card {
    width: 100% !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(216, 228, 244, 0.96) !important;
    box-shadow: 0 24px 56px rgba(3, 18, 46, 0.28), 0 8px 20px rgba(3, 18, 46, 0.12) !important;
    overflow: hidden !important;
  }

  body[data-page="index"] #booking-form .bk-head {
    padding: 22px 22px 18px !important;
    border-radius: 18px 18px 0 0 !important;
    background: linear-gradient(135deg, #082b69 0%, #0d62d7 100%) !important;
    border-bottom: 4px solid #2f7dff !important;
  }

  body[data-page="index"] #booking-form .bk-head h3 {
    font-size: 22px !important;
    line-height: 1.15 !important;
    margin: 0 0 7px !important;
  }

  body[data-page="index"] #booking-form .bk-head p {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges {
    margin-top: 12px !important;
    gap: 8px !important;
  }

  body[data-page="index"] #booking-form .bk-head-badges span {
    padding: 7px 11px !important;
    font-size: 13px !important;
  }

  body[data-page="index"] #booking-form .bk-body {
    padding: 22px !important;
    background: #ffffff !important;
    border-radius: 0 0 18px 18px !important;
  }

  body[data-page="index"] #booking-form .bk-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  body[data-page="index"] #booking-form .bk-inp label {
    margin-bottom: 7px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    color: #06163a !important;
    font-weight: 900 !important;
  }

  body[data-page="index"] #booking-form .bk-box {
    min-height: 52px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1.5px solid #d4dfef !important;
    box-shadow: 0 6px 14px rgba(7, 30, 72, 0.06) !important;
  }

  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    min-height: 50px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #07142f !important;
    background: #ffffff !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  body[data-page="index"] #booking-form .bk-btn {
    min-height: 54px !important;
    margin-top: 6px !important;
    border-radius: 13px !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }
}

@media (min-width: 1440px) {
  body[data-page="index"] #booking-form {
    width: 440px !important;
    right: clamp(40px, 4vw, 76px) !important;
  }
}

/* ════════════ INDEX-ONLY: Compact header (desktop + mobile) ════════════ */
/* Desktop ── shrink from 96px to 64px */
@media (min-width: 901px) {
  body[data-page="index"] .header-inner {
    height: 64px !important;
    padding: 0 22px !important;
    gap: 16px !important;
  }
  body[data-page="index"] .logo {
    height: 50px !important;
  }
  body[data-page="index"] .h-nav > a,
  body[data-page="index"] .h-dd-btn {
    padding: 6px 12px !important;
    font-size: 13.5px !important;
  }
  body[data-page="index"] .h-phone {
    font-size: 13px !important;
  }
  body[data-page="index"] .h-signin {
    padding: 8px 16px !important;
    font-size: 13.5px !important;
  }
  body[data-page="index"] .lang-trigger {
    padding: 5px 10px 5px 5px !important;
    font-size: 12.5px !important;
  }
}

/* Mobile ── shrink from 58px to 50px */
@media (max-width: 900px) {
  body[data-page="index"] .header {
    height: 50px !important;
  }
  body[data-page="index"] .header-inner {
    height: 50px !important;
    padding: 0 12px !important;
  }
  body[data-page="index"] .logo {
    height: 38px !important;
  }
  body[data-page="index"] .mob-menu-btn {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
  }
}

/* ════════════ INDEX-ONLY: Match new hero design ════════════ */

/* ── 2-button CTA row ── */
body[data-page="index"] .hero-cta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 22px !important;
}
body[data-page="index"] .hero-cta-row .btn-hero-book,
body[data-page="index"] .hero-cta-row .btn-hero-wa-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 22px !important;
  border-radius: 14px !important;
  font-family: inherit !important;
  text-decoration: none !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform .15s, filter .2s, box-shadow .2s !important;
  min-width: 240px !important;
}
body[data-page="index"] .hero-cta-row .btn-hero-book {
  background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
  box-shadow: 0 12px 28px -10px rgba(26,115,232,.7) !important;
}
body[data-page="index"] .hero-cta-row .btn-hero-wa-cta {
  background: linear-gradient(135deg, #25D366 0%, #1ebe5d 100%) !important;
  box-shadow: 0 12px 28px -10px rgba(37,211,102,.7) !important;
}
body[data-page="index"] .hero-cta-row a:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.06) !important;
}
body[data-page="index"] .hero-cta-row i {
  font-size: 20px !important;
  flex-shrink: 0 !important;
}
body[data-page="index"] .btn-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  line-height: 1.15 !important;
}
body[data-page="index"] .btn-stack strong {
  font-size: 15.5px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}
body[data-page="index"] .btn-stack em {
  font-style: normal !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  opacity: .92 !important;
  margin-top: 2px !important;
}

/* ── Trust badge row ── */
body[data-page="index"] .hero-trust {
  margin-top: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  color: #fff !important;
  font-size: 13px !important;
  text-shadow: 0 1px 4px rgba(0,12,38,.55) !important;
}
body[data-page="index"] .hero-trust-shield {
  width: 28px; height: 28px;
  background: rgba(255,255,255,.18);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; color:#fff;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.25);
}
body[data-page="index"] .hero-trust-text {
  font-weight: 600;
}
body[data-page="index"] .hero-trust-avatars {
  display: inline-flex; align-items: center;
}
body[data-page="index"] .hero-trust-avatars span {
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, #FFD166, #FF9F0A);
  border: 2px solid rgba(255,255,255,.7);
  display: inline-block; margin-left: -8px;
}
body[data-page="index"] .hero-trust-avatars span:first-child { margin-left: 0; background: linear-gradient(135deg, #4d9bff, #1a73e8); }
body[data-page="index"] .hero-trust-avatars span:nth-child(2) { background: linear-gradient(135deg, #FF6B9D, #E11D48); }
body[data-page="index"] .hero-trust-rating {
  display: inline-flex; align-items: center; gap: 5px;
}
body[data-page="index"] .hero-trust-stars { color: #FFD166; font-size: 14px; letter-spacing: 0; }
body[data-page="index"] .hero-trust-rating strong { font-weight: 800; font-size: 13.5px; }
body[data-page="index"] .hero-trust-rating small { opacity: .88; font-size: 11.5px; }

/* ── Car row (replace slider with horizontal row of 4) ── */
body[data-page="index"] #heroCars .hcs-arr,
body[data-page="index"] #heroCars .hcs-prog,
body[data-page="index"] #heroCars .hcs-counter,
body[data-page="index"] #heroCars .hcs-dots,
body[data-page="index"] #heroCars .hcs-style-row,
body[data-page="index"] #heroCars .hcs-footer {
  display: none !important;
}
body[data-page="index"] #heroCars,
body[data-page="index"] #heroCars .hcs-clip,
body[data-page="index"] #heroCars .hcs-wrap {
  overflow: visible !important;
  background: transparent !important;
}
body[data-page="index"] #heroCars .hcs-track {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  transform: none !important;
  padding: 0 !important;
  width: 100% !important;
}
body[data-page="index"] #heroCars .hcs-slide {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 0 !important;
}
body[data-page="index"] #heroCars .hcs-slide img {
  width: 100% !important;
  height: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 14px 24px rgba(0,12,38,.45)) !important;
}
body[data-page="index"] #heroCars .hcs-cap {
  position: static !important;
  background: transparent !important;
  padding: 6px 0 0 !important;
  text-align: center !important;
}
body[data-page="index"] #heroCars .hcs-cap span {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  text-shadow: 0 1px 4px rgba(0,12,38,.6) !important;
  background: rgba(11,30,68,.55) !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  display: inline-block !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* ── Form: extend with Time + Luggage + new button text ── */
body[data-page="index"] .bk-btn {
  background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
  font-weight: 800 !important;
}
body[data-page="index"] .bk-reassure {
  text-align: center !important;
  font-size: 12px !important;
  color: #5a6478 !important;
  margin: 10px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}
body[data-page="index"] .bk-reassure i { color: #1a73e8 !important; }

/* Desktop: Car row goes BELOW hero copy (full width), not as right column */
@media (min-width: 1024px) {
  body[data-page="index"] .hero-inner {
    flex-wrap: wrap !important;
  }
  body[data-page="index"] #heroSection .hero-left {
    width: 60% !important;
    max-width: 60% !important;
    margin: 0 auto !important;
    align-items: center !important;
    text-align: center !important;
  }
  body[data-page="index"] .hero-cars {
    order: 3 !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin-top: 28px !important;
  }
  body[data-page="index"] #heroCars .hcs-slide img {
    max-width: 240px !important;
  }
}

/* Mobile: keep CTAs single column, smaller, stack trust badges */
@media (max-width: 600px) {
  body[data-page="index"] .hero-cta-row .btn-hero-book,
  body[data-page="index"] .hero-cta-row .btn-hero-wa-cta {
    min-width: 100% !important;
    padding: 12px 16px !important;
  }
  body[data-page="index"] .btn-stack strong { font-size: 14.5px !important; }
  body[data-page="index"] .btn-stack em { font-size: 11px !important; }
  body[data-page="index"] .hero-trust {
    font-size: 12px !important;
    gap: 8px !important;
  }
  body[data-page="index"] #heroCars .hcs-track { gap: 4px !important; }
  body[data-page="index"] #heroCars .hcs-cap span { font-size: 10.5px !important; padding: 3px 8px !important; }
}

/* ════════════ INDEX-ONLY: Remove trust badge + Compact form ════════════ */
body[data-page="index"] .hero-trust { display: none !important; }

@media (min-width: 1024px) {
  /* Compact booking form on desktop */
  body[data-page="index"] #booking-form {
    width: 380px !important;
    top: 130px !important;
  }
  body[data-page="index"] #booking-form .bk-card {
    border-radius: 14px !important;
  }
  body[data-page="index"] #booking-form .bk-head {
    padding: 16px 18px 14px !important;
    gap: 8px !important;
  }
  body[data-page="index"] #booking-form .bk-head h3 {
    font-size: 17px !important;
  }
  body[data-page="index"] #booking-form .bk-head p {
    font-size: 12px !important;
  }
  body[data-page="index"] #booking-form .bk-head-badges span {
    font-size: 11px !important;
    padding: 4px 10px !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    padding: 16px !important;
  }
  body[data-page="index"] #booking-form .bk-grid {
    gap: 8px !important;
  }
  body[data-page="index"] #booking-form .bk-inp label {
    font-size: 10px !important;
    margin-bottom: 3px !important;
  }
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select {
    padding: 8px 10px !important;
    font-size: 13px !important;
    min-height: 36px !important;
  }
  body[data-page="index"] #booking-form .bk-btn {
    padding: 12px !important;
    font-size: 14px !important;
    min-height: 44px !important;
    margin-top: 4px !important;
  }
  body[data-page="index"] #booking-form .bk-reassure {
    font-size: 11px !important;
    margin-top: 8px !important;
  }
}

/* ════════════ INDEX-ONLY: Blue glow shadow on hero text ════════════ */
body[data-page="index"] #heroSection .hero-title,
body[data-page="index"] #heroSection .hero-title .h1-part1,
body[data-page="index"] #heroSection .hero-title .h1-part2 {
  text-shadow:
    0 2px 8px rgba(7, 30, 90, 0.85),
    0 4px 22px rgba(11, 78, 200, 0.65),
    0 8px 36px rgba(26, 115, 232, 0.45),
    0 0 1px rgba(0, 0, 0, 0.5) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body[data-page="index"] #heroSection .hero-sub {
  text-shadow:
    0 2px 6px rgba(7, 30, 90, 0.75),
    0 4px 16px rgba(11, 78, 200, 0.5) !important;
  color: #ffffff !important;
}
body[data-page="index"] #heroSection .hero-kicker {
  text-shadow: 0 2px 8px rgba(7, 30, 90, 0.6) !important;
  box-shadow:
    0 10px 26px -6px rgba(11, 78, 200, 0.55),
    0 4px 12px -4px rgba(7, 30, 90, 0.5) !important;
}
@media (max-width: 768px) {
  body[data-page="index"] #heroSection .hero-title,
  body[data-page="index"] #heroSection .hero-sub {
    text-shadow:
      0 2px 10px rgba(7, 30, 90, 0.9),
      0 4px 24px rgba(11, 78, 200, 0.7),
      0 8px 40px rgba(26, 115, 232, 0.5) !important;
  }
}

/* ════════════ INDEX-ONLY: Smaller H1 + sub ════════════ */
body[data-page="index"] #heroSection .hero-title {
  font-size: clamp(28px, 3.6vw, 44px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}
body[data-page="index"] #heroSection .hero-sub {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  max-width: 480px !important;
}
@media (max-width: 768px) {
  body[data-page="index"] #heroSection .hero-title {
    font-size: clamp(24px, 7vw, 30px) !important;
  }
  body[data-page="index"] #heroSection .hero-sub {
    font-size: 13.5px !important;
  }
}

/* ════════════ INDEX-ONLY MOBILE: hero content offset only ════════════ */
@media (max-width: 768px) {
  body[data-page="index"] #heroSection .hero-inner {
    padding-top: 150px !important;
  }
}

/* ════════════ INDEX-ONLY: hide hero sub paragraph ════════════ */
body[data-page="index"] #heroSection .hero-sub { display: none !important; }

/* ════════════ INDEX-ONLY: Slim booking form (From/To/Date/Time only) ════════════ */
body[data-page="index"] #booking-form #selectPax,
body[data-page="index"] #booking-form #selectLug { display: none !important; }
body[data-page="index"] #booking-form .bk-inp:has(#selectPax),
body[data-page="index"] #booking-form .bk-inp:has(#selectLug) { display: none !important; }
body[data-page="index"] #booking-form .bk-reassure { display: none !important; }

/* ════════════ INDEX-ONLY DESKTOP: horizontal form bar at hero bottom ════════════ */
@media (min-width: 1024px) {
  body[data-page="index"] #booking-form {
    position: absolute !important;
    top: auto !important;
    bottom: -38px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    z-index: 30 !important;
  }
  body[data-page="index"] #booking-form .bk-card {
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.6) !important;
    box-shadow: 0 18px 40px rgba(7,30,80,.28) !important;
    background: #fff !important;
  }
  /* Compact blue header — ONE row, title + tagline inline, no badges, no divider */
  body[data-page="index"] #booking-form .bk-head {
    display: flex !important;
    background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
    padding: 8px 16px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    flex-wrap: nowrap !important;
    min-height: 0 !important;
    height: auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #booking-form .bk-head-text {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 10px !important;
    line-height: 1.2 !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
  body[data-page="index"] #booking-form .bk-head h3 {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
    text-shadow: none !important;
  }
  body[data-page="index"] #booking-form .bk-head p {
    color: rgba(255,255,255,.82) !important;
    font-size: 11.5px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-weight: 500 !important;
  }
  /* Hide badges in header — user wants a single clean row */
  body[data-page="index"] #booking-form .bk-head-badges { display: none !important; }
  body[data-page="index"] #booking-form .bk-body {
    padding: 14px 16px !important;
    background: #fff !important;
    border-top: none !important;
  }
  body[data-page="index"] #booking-form .bk-wrap {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }
  /* Kill any rogue lines/borders */
  body[data-page="index"] #booking-form .bk-card::before,
  body[data-page="index"] #booking-form .bk-card::after,
  body[data-page="index"] #booking-form .bk-head::before,
  body[data-page="index"] #booking-form .bk-head::after,
  body[data-page="index"] #booking-form .bk-body::before,
  body[data-page="index"] #booking-form .bk-body::after,
  body[data-page="index"] #booking-form .bk-grid::before,
  body[data-page="index"] #booking-form .bk-grid::after {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
  }
  /* Clean professional inputs — no yellow lines */
  body[data-page="index"] #booking-form .bk-inp {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  body[data-page="index"] #booking-form .bk-box {
    background: #fff !important;
    border: 1.5px solid #dde4ee !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }
  body[data-page="index"] #booking-form .bk-box:hover {
    border-color: #b6c3d4 !important;
  }
  body[data-page="index"] #booking-form .bk-box:focus-within {
    border-color: #1a73e8 !important;
    box-shadow: 0 0 0 3px rgba(26,115,232,.15) !important;
  }
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 12px !important;
    font-size: 13.5px !important;
    color: #0b1a33 !important;
    font-weight: 600 !important;
  }
  body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #9aa6b7 !important;
    font-weight: 500 !important;
  }
  body[data-page="index"] #booking-form .bk-arr {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #6b7280 !important;
    font-size: 11px !important;
    pointer-events: none !important;
  }
  body[data-page="index"] #booking-form .bk-swap-btn {
    background: #eaf2ff !important;
    border: 1px solid #c9d8f2 !important;
    color: #1a73e8 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 7px !important;
    margin: 0 4px !important;
  }
  body[data-page="index"] #booking-form .bk-grid {
    display: grid !important;
    grid-template-columns: 1.6fr 1.6fr 1fr 1fr auto !important;
    gap: 10px !important;
    align-items: end !important;
  }
  body[data-page="index"] #booking-form .bk-inp {
    grid-column: auto !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
  }
  body[data-page="index"] #booking-form .bk-inp label {
    font-size: 10.5px !important;
    margin-bottom: 4px !important;
  }
  body[data-page="index"] #booking-form .bk-inp input,
  body[data-page="index"] #booking-form .bk-inp select {
    padding: 9px 12px !important;
    font-size: 13.5px !important;
    min-height: 42px !important;
  }
  body[data-page="index"] #booking-form .bk-box {
    width: 100% !important;
    max-width: 100% !important;
  }
  body[data-page="index"] #booking-form .bk-btn {
    grid-column: auto !important;
    width: auto !important;
    min-width: 150px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 22px !important;
    font-size: 14px !important;
    margin-top: 0 !important;
    align-self: end !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
  }
}

/* ════════════ INDEX-ONLY: Hide hero bottom accent line (was causing gold-blue stripe over form) ════════════ */
body[data-page="index"] #heroSection::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* ════════════ INDEX-ONLY: Push midbanner down to clear floating form bar ════════════ */
@media (min-width: 1024px) {
  body[data-page="index"] .midbanner-section {
    padding-top: 80px !important;
  }
}

/* ════════════════════════════════════════════════════════════
   APPLY TO ALL HERO PAGES (index + 8 city pages)
   - Compact header (desktop + mobile)
   - Blue glow on H1 hero
   - Hide hero sub paragraph
   - Form bar horizontal at hero bottom (desktop)
   ════════════════════════════════════════════════════════════ */

/* ── 1. Compact header — ALL pages (universal, safe) ── */
@media (min-width: 901px) {
  .header-inner { height: 64px !important; padding: 0 22px !important; gap: 16px !important; }
  .logo { height: 50px !important; }
  .h-nav > a, .h-dd-btn { padding: 6px 12px !important; font-size: 13.5px !important; }
  .h-phone { font-size: 13px !important; }
  .h-signin { padding: 8px 16px !important; font-size: 13.5px !important; }
  .lang-trigger { padding: 5px 10px 5px 5px !important; font-size: 12.5px !important; }
}
@media (max-width: 900px) {
  .header { height: 50px !important; }
  .header-inner { height: 50px !important; padding: 0 12px !important; }
  .logo { height: 38px !important; }
  .mob-menu-btn { width: 34px !important; height: 34px !important; font-size: 16px !important; }
}

/* ── 2. Blue glow on hero H1 + 3. Hide hero sub — All hero pages ── */
body[data-page="bangkok-to-pattaya"] #heroSection .hero-title,
body[data-page="pattaya-to-bangkok"] #heroSection .hero-title,
body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-title,
body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-title,
body[data-page="don-mueang-to-pattaya"] #heroSection .hero-title,
body[data-page="pattaya-to-don-mueang"] #heroSection .hero-title,
body[data-page="pattaya-airport-transfer"] #heroSection .hero-title,
body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-title {
  text-shadow:
    0 2px 8px rgba(7, 30, 90, 0.85),
    0 4px 22px rgba(11, 78, 200, 0.65),
    0 8px 36px rgba(26, 115, 232, 0.45),
    0 0 1px rgba(0, 0, 0, 0.5) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body[data-page="bangkok-to-pattaya"] #heroSection .hero-sub,
body[data-page="pattaya-to-bangkok"] #heroSection .hero-sub,
body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-sub,
body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-sub,
body[data-page="don-mueang-to-pattaya"] #heroSection .hero-sub,
body[data-page="pattaya-to-don-mueang"] #heroSection .hero-sub,
body[data-page="pattaya-airport-transfer"] #heroSection .hero-sub,
body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-sub {
  display: none !important;
}

/* ── 4. Form bar horizontal at hero bottom (DESKTOP, all hero pages) ── */
@media (min-width: 1024px) {
  body[data-page="bangkok-to-pattaya"] #booking-form,
  body[data-page="pattaya-to-bangkok"] #booking-form,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form,
  body[data-page="don-mueang-to-pattaya"] #booking-form,
  body[data-page="pattaya-to-don-mueang"] #booking-form,
  body[data-page="pattaya-airport-transfer"] #booking-form,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form {
    position: absolute !important;
    top: auto !important;
    bottom: -38px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    z-index: 30 !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-card,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-card,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-card,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-card,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-card,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-card,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-card,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-card {
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.6) !important;
    box-shadow: 0 18px 40px rgba(7,30,80,.28) !important;
    background: #fff !important;
  }
  /* Compact blue header — single row */
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-head,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-head,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-head,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-head,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-head,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-head,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-head,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-head {
    display: flex !important;
    background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
    padding: 8px 16px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: none !important; box-shadow: none !important;
    min-height: 0 !important; height: auto !important;
    white-space: nowrap !important; overflow: hidden !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-head-text,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-head-text,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-head-text,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-head-text,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-head-text,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-head-text,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-head-text,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-head-text {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-head h3,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-head h3,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-head h3,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-head h3,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-head h3,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-head h3,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-head h3,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-head h3 {
    color: #fff !important; font-size: 14px !important; font-weight: 800 !important;
    margin: 0 !important; white-space: nowrap !important; text-shadow: none !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-head p,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-head p,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-head p,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-head p,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-head p,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-head p,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-head p,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-head p {
    color: rgba(255,255,255,.82) !important; font-size: 11.5px !important;
    margin: 0 !important; white-space: nowrap !important; font-weight: 500 !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-head-badges,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-head-badges,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-head-badges,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-head-badges,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-head-badges,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-head-badges,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-head-badges,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-head-badges { display: none !important; }
  /* Body + grid + inputs */
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-body,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-body,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-body,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-body,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-body,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-body,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-body,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-body { padding: 14px 16px !important; background: #fff !important; }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-wrap,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-wrap,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-wrap,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-wrap,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-wrap,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-wrap,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-wrap,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-wrap { padding: 0 !important; background: transparent !important; }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-grid,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-grid,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-grid,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-grid,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-grid,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-grid,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-grid,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-grid {
    display: grid !important;
    grid-template-columns: 1.6fr 1.6fr 1fr 1fr auto !important;
    gap: 10px !important;
    align-items: end !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp {
    grid-column: auto !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp label,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp label,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp label,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp label,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp label,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp label,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp label,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp label { font-size: 10.5px !important; margin-bottom: 4px !important; }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-box,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-box,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-box,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box {
    background: #fff !important;
    border: 1.5px solid #dde4ee !important;
    border-radius: 9px !important;
    padding: 0 !important;
    overflow: hidden !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-box:focus-within,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-box:focus-within,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box:focus-within,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box:focus-within,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box:focus-within,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box:focus-within,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-box:focus-within,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box:focus-within {
    border-color: #1a73e8 !important;
    box-shadow: 0 0 0 3px rgba(26,115,232,.15) !important;
  }
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-box input,
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-box select,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-box input,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-box select,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box input,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box select,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box input,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box select,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box input,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box select,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box input,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box select,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-box input,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-box select,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box input,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box select {
    background: transparent !important; border: none !important; outline: none !important;
    width: 100% !important; height: 100% !important; padding: 0 12px !important;
    font-size: 13.5px !important; color: #0b1a33 !important; font-weight: 600 !important;
  }
  /* Hide passengers / luggage / reassure */
  body[data-page="bangkok-to-pattaya"] #booking-form #selectPax,
  body[data-page="pattaya-to-bangkok"] #booking-form #selectPax,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form #selectPax,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form #selectPax,
  body[data-page="don-mueang-to-pattaya"] #booking-form #selectPax,
  body[data-page="pattaya-to-don-mueang"] #booking-form #selectPax,
  body[data-page="pattaya-airport-transfer"] #booking-form #selectPax,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form #selectPax,
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-reassure,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-reassure,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-reassure,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-reassure,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-reassure,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-reassure,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-reassure,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-reassure { display: none !important; }
  /* Submit button */
  body[data-page="bangkok-to-pattaya"] #booking-form .bk-btn,
  body[data-page="pattaya-to-bangkok"] #booking-form .bk-btn,
  body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-btn,
  body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-btn,
  body[data-page="don-mueang-to-pattaya"] #booking-form .bk-btn,
  body[data-page="pattaya-to-don-mueang"] #booking-form .bk-btn,
  body[data-page="pattaya-airport-transfer"] #booking-form .bk-btn,
  body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-btn {
    grid-column: auto !important;
    width: auto !important; min-width: 150px !important;
    height: 42px !important; padding: 0 22px !important;
    font-size: 14px !important; margin-top: 0 !important;
    align-self: end !important; border-radius: 10px !important;
    white-space: nowrap !important;
    background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
    color: #fff !important; border: none !important;
    box-shadow: 0 8px 20px -8px rgba(11,78,162,.6) !important;
  }
  /* Midbanner padding to clear floating form */
  body[data-page="bangkok-to-pattaya"] .midbanner-section,
  body[data-page="pattaya-to-bangkok"] .midbanner-section,
  body[data-page="suvarnabhumi-to-pattaya"] .midbanner-section,
  body[data-page="pattaya-to-suvarnabhumi"] .midbanner-section,
  body[data-page="don-mueang-to-pattaya"] .midbanner-section,
  body[data-page="pattaya-to-don-mueang"] .midbanner-section,
  body[data-page="pattaya-airport-transfer"] .midbanner-section,
  body[data-page="bangkok-airport-to-pattaya"] .midbanner-section { padding-top: 80px !important; }
}

/* Hide hero accent gradient line on ALL hero pages */
body[data-page="bangkok-to-pattaya"] #heroSection::after,
body[data-page="pattaya-to-bangkok"] #heroSection::after,
body[data-page="suvarnabhumi-to-pattaya"] #heroSection::after,
body[data-page="pattaya-to-suvarnabhumi"] #heroSection::after,
body[data-page="don-mueang-to-pattaya"] #heroSection::after,
body[data-page="pattaya-to-don-mueang"] #heroSection::after,
body[data-page="pattaya-airport-transfer"] #heroSection::after,
body[data-page="bangkok-airport-to-pattaya"] #heroSection::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* ════════════ ALL HERO PAGES: Use same bg as index (h-d-t / h-m-t) ════════════ */
body[data-page="bangkok-to-pattaya"] #heroSection .hero-bg,
body[data-page="pattaya-to-bangkok"] #heroSection .hero-bg,
body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-bg,
body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-bg,
body[data-page="don-mueang-to-pattaya"] #heroSection .hero-bg,
body[data-page="pattaya-to-don-mueang"] #heroSection .hero-bg,
body[data-page="pattaya-airport-transfer"] #heroSection .hero-bg,
body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-bg {
  background-image: url('../img/h-d-t.webp') !important;
}
@media (max-width: 768px) {
  body[data-page="bangkok-to-pattaya"] #heroSection .hero-bg,
  body[data-page="pattaya-to-bangkok"] #heroSection .hero-bg,
  body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-bg,
  body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-bg,
  body[data-page="don-mueang-to-pattaya"] #heroSection .hero-bg,
  body[data-page="pattaya-to-don-mueang"] #heroSection .hero-bg,
  body[data-page="pattaya-airport-transfer"] #heroSection .hero-bg,
  body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-bg {
    background-image: url('../img/h-m-t.webp') !important;
  }
}

/* ════════════ Suvarnabhumi & Don Mueang: H1 2 lines on desktop ════════════ */
@media (min-width: 1024px) {
  body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-title .h1-part1,
  body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-title .h1-part1,
  body[data-page="don-mueang-to-pattaya"] #heroSection .hero-title .h1-part1,
  body[data-page="pattaya-to-don-mueang"] #heroSection .hero-title .h1-part1 {
    display: block !important;
  }
}

/* Suvarnabhumi & Don Mueang: constrain H1 width so part1 wraps to 2 lines too */
@media (min-width: 1024px) {
  body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-title,
  body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-title,
  body[data-page="don-mueang-to-pattaya"] #heroSection .hero-title,
  body[data-page="pattaya-to-don-mueang"] #heroSection .hero-title {
    max-width: 520px !important;
  }
  body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-title .h1-part1,
  body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-title .h1-part1,
  body[data-page="don-mueang-to-pattaya"] #heroSection .hero-title .h1-part1,
  body[data-page="pattaya-to-don-mueang"] #heroSection .hero-title .h1-part1 {
    display: block !important;
    max-width: 100% !important;
  }
}

/* bangkok-airport-to-pattaya: H1 2 lines on desktop too */
@media (min-width: 1024px) {
  body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-title {
    max-width: 580px !important;
  }
  body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-title .h1-part1 {
    display: block !important;
    max-width: 100% !important;
  }
}

/* ════════════ BOOKING page: Hide sticky CTA (already on booking form) ════════════ */
body[data-page="booking"] .sticky-cta,
body[data-page="booking"] #stickyCTA {
  display: none !important;
}

/* ════════════ INDEX MOBILE: Compact form like reference (From+To combined / Date|Time / Pax / Btn) ════════════ */
@media (max-width: 768px) {
  body[data-page="index"] #booking-form .bk-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  /* Hide labels on mobile (use placeholders / inline) */
  body[data-page="index"] #booking-form .bk-inp label { display: none !important; }

  /* FROM + TO — visually combined as one card */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1),
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) {
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box {
    border-radius: 12px 12px 0 0 !important;
    border-bottom: none !important;
    height: 50px !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) .bk-box {
    border-radius: 0 0 12px 12px !important;
    border-top: 1px solid #dde4ee !important;
    height: 50px !important;
    position: relative !important;
  }
  body[data-page="index"] #booking-form .bk-box input {
    padding-left: 42px !important;
    font-size: 15px !important;
  }
  /* Circle icon prefix for From + To */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box::before,
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) .bk-box::before {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 14px !important;
    height: 14px !important;
    border: 2px solid #6b7280 !important;
    border-radius: 50% !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }
  /* Vertical line connecting the 2 circles */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box::after {
    content: "" !important;
    position: absolute !important;
    left: 22px !important;
    bottom: -10px !important;
    width: 1px !important;
    height: 20px !important;
    background: #c4cbd6 !important;
    z-index: 1 !important;
  }
  /* Swap button moved up to overlap junction, on far right */
  body[data-page="index"] #booking-form .bk-swap-btn {
    position: absolute !important;
    right: 12px !important;
    top: -22px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #dde4ee !important;
    color: #6b7280 !important;
  }

  /* DATE | TIME — 2 columns */
  body[data-page="index"] #booking-form .bk-inp:nth-child(3),
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) {
    grid-column: span 1 !important;
    margin-bottom: 0 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) .bk-box,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) .bk-box {
    height: 50px !important;
    border-radius: 12px !important;
  }

  /* SHOW Passengers on mobile (full width, was hidden in earlier rule) */
  body[data-page="index"] #booking-form #selectPax,
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) {
    display: flex !important;
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) {
    display: block !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) .bk-box {
    height: 50px !important;
    border-radius: 12px !important;
    padding-left: 0 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) select {
    padding-left: 42px !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) .bk-box::before {
    content: "\f007" !important; /* fa user */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #6b7280 !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }

  /* SEARCH button — full width */
  body[data-page="index"] #booking-form .bk-btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 52px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }
  /* Hide booking form header bar on mobile too (matches reference) */
  body[data-page="index"] #booking-form .bk-head { display: none !important; }
  body[data-page="index"] #booking-form .bk-body { padding: 14px !important; }
}

/* ════════════ INDEX MOBILE: Date/Time icons + full text visible (AM/PM) ════════════ */
@media (max-width: 768px) {
  /* Date + Time get calendar/clock icons */
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) .bk-box::before {
    content: "\f073" !important;  /* fa calendar (solid) */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #6b7280 !important;
    font-size: 15px !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) .bk-box::before {
    content: "\f017" !important;  /* fa clock */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #6b7280 !important;
    font-size: 15px !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) .bk-box,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) .bk-box {
    position: relative !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) input,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) input {
    padding-left: 38px !important;
    padding-right: 6px !important;
    font-size: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  /* Hide native picker indicator (clock/calendar) so AM/PM has space */
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) input::-webkit-calendar-picker-indicator {
    opacity: 0.4 !important;
    padding: 0 !important;
    margin-left: 2px !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) input::-webkit-calendar-picker-indicator {
    opacity: 0.4 !important;
    padding: 0 !important;
  }
}

/* ════════════ INDEX MOBILE FORM — FIX: circle on Pick-up, date overlap, form overflow ════════════ */
@media (max-width: 768px) {
  /* Ensure all bk-box have position:relative so ::before circles attach correctly */
  body[data-page="index"] #booking-form .bk-box {
    position: relative !important;
    overflow: visible !important;
  }
  /* Force show the Pick-up circle (override anything that hid it) */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 14px !important;
    height: 14px !important;
    border: 2px solid #6b7280 !important;
    border-radius: 50% !important;
    background: transparent !important;
    z-index: 3 !important;
    pointer-events: none !important;
    font-family: inherit !important;
  }

  /* REMOVE custom calendar/clock icons — native picker has its own icons (was causing overlap) */
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) .bk-box::before,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) .bk-box::before {
    content: none !important;
    display: none !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) input,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) input {
    padding-left: 14px !important;
    padding-right: 8px !important;
    font-size: 13.5px !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) input::-webkit-calendar-picker-indicator,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) input::-webkit-calendar-picker-indicator {
    opacity: 0.6 !important;
    padding: 0 4px !important;
    margin-left: 0 !important;
  }

  /* Prevent form overflow on right edge */
  body[data-page="index"] #booking-form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding: 0 12px !important;
  }
  body[data-page="index"] #booking-form .bk-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body[data-page="index"] #booking-form .bk-body,
  body[data-page="index"] #booking-form .bk-wrap {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ════════════ INDEX MOBILE FORM — CLEAN FINAL OVERRIDE (replaces all earlier complex rules) ════════════ */
@media (max-width: 768px) {
  /* Ensure ALL bk-inp visible and stacked simply */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1),
  body[data-page="index"] #booking-form .bk-inp:nth-child(2),
  body[data-page="index"] #booking-form .bk-inp:nth-child(3),
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
  }
  /* From + To FULL width each, NOT combined, simple */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1),
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box,
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) .bk-box {
    height: 48px !important;
    border-radius: 10px !important;
    border: 1.5px solid #dde4ee !important;
    border-bottom: 1.5px solid #dde4ee !important;
    border-top: 1.5px solid #dde4ee !important;
    background: #fff !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
  }
  /* Remove all custom ::before/::after from From/To boxes */
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box::before,
  body[data-page="index"] #booking-form .bk-inp:nth-child(1) .bk-box::after,
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) .bk-box::before,
  body[data-page="index"] #booking-form .bk-inp:nth-child(2) .bk-box::after {
    content: none !important;
    display: none !important;
  }
  /* Bring back labels (small, above inputs) for clarity */
  body[data-page="index"] #booking-form .bk-inp label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin-bottom: 4px !important;
  }
  body[data-page="index"] #booking-form .bk-inp label i {
    color: #1a73e8 !important;
    font-size: 12px !important;
  }
  /* Inputs simple */
  body[data-page="index"] #booking-form .bk-box input,
  body[data-page="index"] #booking-form .bk-box select {
    width: 100% !important;
    height: 100% !important;
    padding: 0 14px !important;
    border: none !important;
    background: transparent !important;
    font-size: 14.5px !important;
    color: #0b1a33 !important;
    font-weight: 600 !important;
    outline: none !important;
  }
  /* Swap button absolute on right side of To */
  body[data-page="index"] #booking-form .bk-swap-btn {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
    background: #eaf2ff !important;
    border: 1px solid #d4e2f5 !important;
    color: #1a73e8 !important;
    z-index: 5 !important;
  }
  /* Date | Time row */
  body[data-page="index"] #booking-form .bk-inp:nth-child(3),
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) {
    grid-column: span 1 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) .bk-box,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) .bk-box {
    height: 48px !important;
    border-radius: 10px !important;
    border: 1.5px solid #dde4ee !important;
    background: #fff !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) .bk-box::before,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) .bk-box::before {
    content: none !important;
    display: none !important;
  }
  body[data-page="index"] #booking-form .bk-inp:nth-child(3) input,
  body[data-page="index"] #booking-form .bk-inp:nth-child(4) input {
    padding: 0 10px !important;
    font-size: 13.5px !important;
  }
  /* Passengers — full width */
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) {
    display: block !important;
    grid-column: 1 / -1 !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) .bk-box {
    height: 48px !important;
    border-radius: 10px !important;
    border: 1.5px solid #dde4ee !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) .bk-box::before {
    content: none !important;
    display: none !important;
  }
  body[data-page="index"] #booking-form .bk-inp:has(#selectPax) select {
    padding: 0 14px !important;
  }
  /* Search button */
  body[data-page="index"] #booking-form .bk-btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 50px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 20px -8px rgba(11,78,162,.6) !important;
  }
  /* Form wrapper clean */
  body[data-page="index"] #booking-form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
  }
  body[data-page="index"] #booking-form .bk-card {
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(7,30,80,.18) !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    padding: 14px !important;
    background: #fff !important;
  }
  body[data-page="index"] #booking-form .bk-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  /* Keep blue header bar hidden on mobile (compact) */
  body[data-page="index"] #booking-form .bk-head { display: none !important; }
}

/* ════════════ INDEX MOBILE — Form tight under hero, ALL fields visible ════════════ */
@media (max-width: 768px) {
  body[data-page="index"] #booking-form {
    position: relative !important;
    z-index: 200 !important;
    margin-top: -20px !important;
    background: transparent !important;
    padding: 0 14px !important;
    box-shadow: none !important;
  }
  body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px rgba(7,30,80,.28) !important;
    overflow: visible !important;
    padding: 16px 14px !important;
  }
  body[data-page="index"] #booking-form .bk-body {
    padding: 0 !important;
    background: transparent !important;
  }
  /* FORCE ALL labels visible — From/To/Date/Time/Passengers */
  body[data-page="index"] #booking-form .bk-inp,
  body[data-page="index"] #booking-form .bk-inp label,
  body[data-page="index"] #booking-form .bk-inp .bk-lbl {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }
  body[data-page="index"] #booking-form .bk-inp label {
    font-size: 10.5px !important;
    font-weight: 800 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin-bottom: 4px !important;
  }
  body[data-page="index"] #booking-form .bk-inp label i {
    color: #1a73e8 !important;
    margin-right: 4px !important;
  }
  body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px rgba(7,30,80,.28), 0 6px 14px rgba(7,30,80,.12) !important;
    overflow: hidden !important;
  }
  body[data-page="index"] #heroSection {
    overflow: hidden !important;
    position: relative !important;
    z-index: 1 !important;
  }
  body[data-page="index"] #heroSection .hero-bg {
    z-index: 0 !important;
  }
  body[data-page="index"] #heroSection,
  body[data-page="index"] #heroSection .hero-inner {
    min-height: auto !important;
  }
}

/* ════════════════════════════════════════════════════════════
   ★★★ INDEX MOBILE BOOKING FORM — FINAL CLEAN VERSION ★★★
   This block is at the END of CSS so it wins all earlier rules.
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* --- Form WRAPPER: pulled UP into hero (overlap ground area under cars) --- */
  html body[data-page="index"] #booking-form {
    position: relative !important;
    z-index: 100 !important;
    margin: -75px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    overflow: visible !important;
  }

  /* --- Card: white, rounded, full-width inside wrapper --- */
  html body[data-page="index"] #booking-form .bk-card {
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: 0 -8px 24px rgba(7,30,80,.18) !important;
    border: none !important;
    padding: 14px !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* --- Hide blue header on mobile (compact) --- */
  html body[data-page="index"] #booking-form .bk-head { display: none !important; }

  /* --- Body & wrap --- */
  html body[data-page="index"] #booking-form .bk-body,
  html body[data-page="index"] #booking-form .bk-wrap {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  /* --- Grid: 2 cols for Date/Time, others span full --- */
  html body[data-page="index"] #booking-form .bk-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* --- ALL bk-inp visible --- */
  html body[data-page="index"] #booking-form .bk-inp {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  /* From/To/Pax/Btn = full width */
  html body[data-page="index"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="index"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="index"] #booking-form .bk-inp:has(#selectPax) {
    grid-column: 1 / -1 !important;
  }
  /* Date/Time = half each */
  html body[data-page="index"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="index"] #booking-form .bk-inp:nth-child(4) {
    grid-column: span 1 !important;
  }

  /* --- Labels --- */
  html body[data-page="index"] #booking-form .bk-inp label {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    text-shadow: none !important;
  }
  html body[data-page="index"] #booking-form .bk-inp label i {
    color: #1a73e8 !important;
    font-size: 12px !important;
  }

  /* --- Input boxes: clean white box, 48px tall --- */
  html body[data-page="index"] #booking-form .bk-box {
    background: #fff !important;
    border: 1.5px solid #dde4ee !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    height: 48px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    overflow: hidden !important;
  }
  html body[data-page="index"] #booking-form .bk-box:focus-within {
    border-color: #1a73e8 !important;
    box-shadow: 0 0 0 3px rgba(26,115,232,.15) !important;
  }
  /* Kill all ::before/::after decorations from earlier rules */
  html body[data-page="index"] #booking-form .bk-box::before,
  html body[data-page="index"] #booking-form .bk-box::after {
    content: none !important;
    display: none !important;
  }

  /* --- Inputs/selects inside boxes --- */
  html body[data-page="index"] #booking-form .bk-box input,
  html body[data-page="index"] #booking-form .bk-box select {
    width: 100% !important;
    height: 100% !important;
    padding: 0 12px !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    font-size: 14.5px !important;
    color: #0b1a33 !important;
    font-weight: 600 !important;
    font-family: inherit !important;
  }
  html body[data-page="index"] #booking-form .bk-box input::placeholder {
    color: #9aa6b7 !important;
    font-weight: 500 !important;
  }
  /* Smaller date/time text so AM/PM fits */
  html body[data-page="index"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="index"] #booking-form .bk-inp:nth-child(4) input {
    padding: 0 10px !important;
    font-size: 13.5px !important;
  }

  /* --- Swap button (in Drop-off box) --- */
  html body[data-page="index"] #booking-form .bk-swap-btn {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background: #eaf2ff !important;
    border: 1px solid #d4e2f5 !important;
    color: #1a73e8 !important;
    cursor: pointer !important;
    z-index: 5 !important;
  }

  /* --- Search button: full width, gradient blue --- */
  html body[data-page="index"] #booking-form .bk-btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #1a73e8 0%, #0b4ea2 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 20px -8px rgba(11,78,162,.6) !important;
    cursor: pointer !important;
  }

  /* --- Hide passenger/luggage etc. but allow #selectPax row --- */
  html body[data-page="index"] #booking-form #selectLug,
  html body[data-page="index"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="index"] #booking-form .bk-reassure {
    display: none !important;
  }
  html body[data-page="index"] #booking-form #selectPax,
  html body[data-page="index"] #booking-form .bk-inp:has(#selectPax) {
    display: block !important;
  }

  /* --- Hero clean (no overflow into form) --- */
  html body[data-page="index"] #heroSection {
    overflow: hidden !important;
    position: relative !important;
    z-index: 1 !important;
  }
}

/* ════════════════════════════════════════════════════════════
   ★★★ ALL CITY PAGES — MOBILE BOOKING FORM (same as index) ★★★
   Apply the clean mobile form to all 8 city pages
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Form WRAPPER: pulled up under hero, edge-to-edge */
  html body[data-page="bangkok-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-bangkok"] #booking-form,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form,
  html body[data-page="don-mueang-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-don-mueang"] #booking-form,
  html body[data-page="pattaya-airport-transfer"] #booking-form,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form {
    position: relative !important;
    z-index: 100 !important;
    margin: -75px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    overflow: visible !important;
  }

  /* Card */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-card,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-card,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-card,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-card,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-card {
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: 0 -8px 24px rgba(7,30,80,.18) !important;
    border: none !important;
    padding: 14px !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Hide blue header on mobile */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-head,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-head,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-head,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-head,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-head,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-head,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-head,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-head { display: none !important; }

  /* Body/wrap */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-body,
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-wrap,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-body,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-wrap,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-body,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-wrap,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-body,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-wrap,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-body,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-wrap,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-body,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-wrap,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-body,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-wrap,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-body,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-wrap {
    padding: 0 !important; background: transparent !important; border: none !important;
  }

  /* Grid: 2 cols */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-grid,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-grid,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-grid,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-grid,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-grid,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-grid,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-grid,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* bk-inp: all visible, full width for From/To/Pax/Btn, half for Date/Time */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    margin: 0 !important; min-width: 0 !important;
    background: transparent !important; border: none !important; box-shadow: none !important;
  }
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:nth-child(1),
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:nth-child(2),
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:has(#selectPax),
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:has(#selectPax) {
    grid-column: 1 / -1 !important;
  }
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:nth-child(4),
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:nth-child(3),
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:nth-child(4) {
    grid-column: span 1 !important;
  }

  /* Labels */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp label,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp label,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp label,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp label,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp label,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp label,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp label,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp label {
    display: flex !important; align-items: center !important; gap: 5px !important;
    font-size: 10.5px !important; font-weight: 800 !important; color: #6b7280 !important;
    text-transform: uppercase !important; letter-spacing: .05em !important;
    margin: 0 0 4px !important; padding: 0 !important; text-shadow: none !important;
  }
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp label i,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp label i,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp label i,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp label i,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp label i,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp label i,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp label i,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp label i {
    color: #1a73e8 !important; font-size: 12px !important;
  }

  /* Boxes */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-box,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-box,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-box,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box {
    background: #fff !important;
    border: 1.5px solid #dde4ee !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    height: 48px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    overflow: hidden !important;
  }
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-box:focus-within,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-box:focus-within,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box:focus-within,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box:focus-within,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box:focus-within,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box:focus-within,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-box:focus-within,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box:focus-within {
    border-color: #1a73e8 !important;
    box-shadow: 0 0 0 3px rgba(26,115,232,.15) !important;
  }
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-box::before,
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-box::after,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-box::before,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-box::after,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box::before,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box::after,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box::before,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box::after,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box::before,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box::after,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box::before,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box::after,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-box::before,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-box::after,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box::before,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box::after {
    content: none !important; display: none !important;
  }

  /* Inputs/selects */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-box input,
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-box select,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-box input,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-box select,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box input,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-box select,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box input,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-box select,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box input,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-box select,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box input,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-box select,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-box input,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-box select,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box input,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-box select {
    width: 100% !important; height: 100% !important;
    padding: 0 12px !important;
    background: transparent !important; border: none !important; outline: none !important;
    font-size: 14.5px !important; color: #0b1a33 !important; font-weight: 600 !important;
  }
  /* Smaller text for date/time so AM/PM fits */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:nth-child(4) input,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:nth-child(3) input,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:nth-child(4) input {
    padding: 0 10px !important; font-size: 13.5px !important;
  }

  /* Swap button */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-swap-btn,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-swap-btn,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-swap-btn,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-swap-btn,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-swap-btn,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-swap-btn,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-swap-btn,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-swap-btn {
    position: absolute !important; right: 8px !important; top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important; height: 32px !important; border-radius: 8px !important;
    background: #eaf2ff !important; border: 1px solid #d4e2f5 !important;
    color: #1a73e8 !important; z-index: 5 !important;
  }

  /* Search button */
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-btn,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-btn,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-btn,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-btn,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-btn,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-btn,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-btn,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-btn {
    grid-column: 1 / -1 !important;
    width: 100% !important; height: 50px !important; margin: 0 !important;
    border: none !important; border-radius: 10px !important;
    background: linear-gradient(135deg, #0045CD 0%, #0183FD 100%) !important;
    color: #fff !important; font-size: 15px !important; font-weight: 800 !important;
    box-shadow: 0 8px 20px -8px rgba(255,138,0,.55) !important;
  }

  /* Hide luggage + reassure; show passengers */
  html body[data-page="bangkok-to-pattaya"] #booking-form #selectLug,
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-reassure,
  html body[data-page="pattaya-to-bangkok"] #booking-form #selectLug,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-reassure,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form #selectLug,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-reassure,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form #selectLug,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-reassure,
  html body[data-page="don-mueang-to-pattaya"] #booking-form #selectLug,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-reassure,
  html body[data-page="pattaya-to-don-mueang"] #booking-form #selectLug,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-reassure,
  html body[data-page="pattaya-airport-transfer"] #booking-form #selectLug,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-reassure,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form #selectLug,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-inp:has(#selectLug),
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-reassure { display: none !important; }

  /* Hero clean (no overflow into form) */
  html body[data-page="bangkok-to-pattaya"] #heroSection,
  html body[data-page="pattaya-to-bangkok"] #heroSection,
  html body[data-page="suvarnabhumi-to-pattaya"] #heroSection,
  html body[data-page="pattaya-to-suvarnabhumi"] #heroSection,
  html body[data-page="don-mueang-to-pattaya"] #heroSection,
  html body[data-page="pattaya-to-don-mueang"] #heroSection,
  html body[data-page="pattaya-airport-transfer"] #heroSection,
  html body[data-page="bangkok-airport-to-pattaya"] #heroSection {
    overflow: hidden !important; position: relative !important; z-index: 1 !important;
  }
}

/* ════════════ ALL HERO PAGES MOBILE — Remove form card shadow ════════════ */
@media (max-width: 768px) {
  html body[data-page="index"] #booking-form .bk-card,
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-card,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-card,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-card,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-card,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-card {
    box-shadow: none !important;
  }
}

/* ════════════ ALL CITY PAGES MOBILE — Remove dark overlay on hero bg ════════════ */
@media (max-width: 768px) {
  html body[data-page="bangkok-to-pattaya"] #heroSection .hero-bg::after,
  html body[data-page="pattaya-to-bangkok"] #heroSection .hero-bg::after,
  html body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-bg::after,
  html body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-bg::after,
  html body[data-page="don-mueang-to-pattaya"] #heroSection .hero-bg::after,
  html body[data-page="pattaya-to-don-mueang"] #heroSection .hero-bg::after,
  html body[data-page="pattaya-airport-transfer"] #heroSection .hero-bg::after,
  html body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-bg::after {
    background: none !important;
    display: none !important;
    content: none !important;
  }
}

/* ════════════ INDEX MOBILE — Blue 3px border + 20px corners, edge-to-edge ════════════ */
@media (max-width: 768px) {
  html body[data-page="index"] #booking-form {
    padding: 0px 30px 0px 30px !important;
  }
  html body[data-page="index"] #booking-form .bk-card {
    border: 3px solid #1a73e8 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }
}

/* ════════════ Fix: header must stay above booking form on mobile (form z-index 100 was covering header) ════════════ */
@media (max-width: 768px) {
  html body .header { z-index: 300 !important; }
  html body .topbar { z-index: 321 !important; }
  html body #booking-form { z-index: 20 !important; }
}

/* ════════════ ALL CITY PAGES MOBILE — Same blue border + rounded corners as index ════════════ */
@media (max-width: 768px) {
  html body[data-page="bangkok-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-bangkok"] #booking-form,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form,
  html body[data-page="don-mueang-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-don-mueang"] #booking-form,
  html body[data-page="pattaya-airport-transfer"] #booking-form,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form {
    padding: 0px 30px 0px 30px !important;
  }
  html body[data-page="bangkok-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-bangkok"] #booking-form .bk-card,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form .bk-card,
  html body[data-page="don-mueang-to-pattaya"] #booking-form .bk-card,
  html body[data-page="pattaya-to-don-mueang"] #booking-form .bk-card,
  html body[data-page="pattaya-airport-transfer"] #booking-form .bk-card,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form .bk-card {
    border: 3px solid #1a73e8 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   v2026-06-21 CONSOLIDATED OVERRIDES
   One clean block. Replaces ~13KB of scattered append-edits.
   Sections handled: padding · headings · badges · paragraphs · CTA · etc.
   ══════════════════════════════════════════════════════════════════════ */

/* ─── 1. UNIFORM SECTION PADDING (highest specificity wins) ─── */
html body section.sec,
html body section.about-section,
html body section.midbanner-section,
html body section.fleet-showcase-section,
html body section.routes-section,
html body section.customers-section,
html body section.cta-sec,
html body section#fleet,
html body section#about,
html body section#routes,
html body section#faq,
html body section#customers,
html body section#fleet-showcase {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
html body .bookmin-banner { padding-top: 0px !important; padding-bottom: 0 !important; }

/* Tighten the routes-board inner padding so trust-strip doesn't float far from edge */
html body .routes-board { padding-bottom: 18px !important; }
html body .routes-trust-strip { margin-top: 14px !important; }

@media (max-width: 768px) {
  html body section.sec,
  html body section.about-section,
  html body section.midbanner-section,
  html body section.fleet-showcase-section,
  html body section.routes-section,
  html body section.customers-section,
  html body section.cta-sec,
  html body section#fleet,
  html body section#about,
  html body section#routes,
  html body section#faq,
  html body section#customers,
  html body section#fleet-showcase {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  html body .routes-board { padding: 16px !important; }
}

/* ─── 2. HEADING SCALE (calm, travel-site standard) ─── */
/* H1 hero */
html body .hero-title,
html body #heroSection .hero-title,
html body #heroSection.hero-solo .hero-title,
html body .hv-title {
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -.4px !important;
  margin: 0 0 8px !important;
}
/* H2 — beats every legacy override including .customers-section .sec-ttl (weight 950) */
html body .sec-ttl,
html body .sec-ttl span,
html body #routes .sec-ttl,
html body #fleet-showcase .sec-ttl,
html body #fleet .fleet-hd .sec-ttl,
html body #fleet-showcase .fleet-hd .sec-ttl,
html body .fleet-hd .sec-ttl,
html body .reviews-section .sec-ttl,
html body #how .sec-ttl,
html body .midbanner-ttl,
html body .about-ttl,
html body .about-ttl span,
html body .trip-planner-card h3,
html body .routes-board-title h2,
html body .customers-section .sec-ttl,
html body section.customers-section .sec-ttl,
html body section#customers .sec-ttl {
  font-size: clamp(20px, 2.2vw, 26px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -.2px !important;
  margin: 0 0 8px !important;
}
/* H3 card titles */
html body h3,
html body .fc-name,
html body .fleet-card-title,
html body .how-step h3,
html body .intent-card h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}
/* Allow headings to wrap (kill nowrap that caused overflow) */
html body .routes-board-title h2,
html body .sec-ttl,
html body .hero-title,
html body .hv-title,
html body .midbanner-ttl,
html body .about-ttl {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}
/* Hide decorative underline bar under fleet headings */
html body .fleet-hd .sec-ttl::after { display: none !important; }

@media (max-width: 768px) {
  html body .hero-title,
  html body #heroSection .hero-title,
  html body #heroSection.hero-solo .hero-title,
  html body .hv-title { font-size: clamp(22px, 6vw, 28px) !important; }
  html body .sec-ttl,
  html body .midbanner-ttl,
  html body .about-ttl,
  html body .routes-board-title h2,
  html body .customers-section .sec-ttl { font-size: 20px !important; }
  html body h3,
  html body .fc-name,
  html body .fleet-card-title { font-size: 16px !important; }
}

/* ─── 3. UNIFIED PILL BADGES (fit-content, centered) ─── */
html body .fleet-hd-badge,
html body .routes-board-kicker,
html body .about-tag,
html body .midbanner-tag,
html body .trip-planner-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #f3f6ff !important;
  color: #0046c9 !important;
  border: 1px solid #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  margin: 0 auto 12px !important;
  box-shadow: none !important;
  width: fit-content !important;
  max-width: fit-content !important;
  align-self: center !important;
}
/* Kill the decorative line accents (::before) on tags */
html body .about-tag::before,
html body .midbanner-tag::before,
html body .routes-board-kicker::before { display: none !important; }

@media (max-width: 768px) {
  html body .fleet-hd-badge,
  html body .routes-board-kicker,
  html body .about-tag,
  html body .midbanner-tag,
  html body .trip-planner-badge { font-size: 11px !important; padding: 6px 14px !important; }
}

/* ─── 4. CENTERED SECTION HEADER LAYOUT (badge → h2 → sub) ─── */
html body .sec-hd,
html body .fleet-hd,
html body .midbanner-left,
html body .midbanner-left *,
html body .about-section .about-grid > div:first-child,
html body .about-section .about-grid > div:first-child > .about-tag,
html body .about-section .about-grid > div:first-child > .about-ttl,
html body .about-section .about-grid > div:first-child > p { text-align: center !important; }

html body .sec-hd,
html body .fleet-hd {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  margin-bottom: 24px !important;
}
html body .midbanner-left { align-items: center !important; }

/* About-checks: keep LEFT aligned for list readability */
html body .about-checks,
html body .about-check,
html body .about-section .about-grid > div:first-child > .about-checks,
html body .about-section .about-grid > div:first-child > .about-checks * { text-align: left !important; }

/* Sub paragraph centering + max width */
html body .sec-sub,
html body .fleet-hd .sec-sub,
html body .midbanner-sub,
html body .about-body,
html body .routes-board-title p {
  max-width: 640px !important;
  margin: 0 auto !important;
}

@media (max-width: 768px) {
  html body .sec-hd,
  html body .fleet-hd { margin-bottom: 18px !important; }
}

/* ─── 5. UNIFORM <p> SIZING (no color override — sections own their color) ─── */
html body p,
html body .hero-sub,
html body .hv-sub,
html body .sec-sub,
html body .routes-board-title p,
html body .midbanner-sub,
html body .about-body,
html body .fleet-card-desc,
html body .intent-card p,
html body .how-step p,
html body .faq-a,
html body .fc-features li,
html body .fp-spec,
html body .ty-sub,
html body .hr5-fc-specs,
html body .hero-day-hook span,
html body .hr6-id-tagline {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

/* Light backgrounds → gray text */
html body .about-section .about-body,
html body .midbanner-section .midbanner-sub,
html body .faq-a,
html body .fleet-card-desc,
html body .intent-card p,
html body .how-step p,
html body .fc-features li,
html body .sec-sub,
html body .routes-board-title p { color: #5a6478 !important; }

/* Dark backgrounds → white text (hero, CTA, trip-planner blue card) */
html body .hero-sub,
html body .hv-sub,
html body .trip-planner-card p,
html body .trip-planner-copy p,
html body section.cta-sec p,
html body .cta-sec p,
html body .cta-sec h2 + p {
  color: #ffffff !important;
  opacity: 1 !important;
}

@media (max-width: 768px) {
  html body p,
  html body .hero-sub,
  html body .hv-sub,
  html body .sec-sub,
  html body .routes-board-title p,
  html body .midbanner-sub,
  html body .about-body,
  html body .fleet-card-desc,
  html body .intent-card p,
  html body .how-step p,
  html body .faq-a { font-size: 14px !important; }
}

/* ─── 6. CTA HEADING — prevent ugly 3-line wrap ─── */
html body .cta-sec h2,
html body section.cta-sec h2 {
  text-wrap: balance !important;
  font-size: clamp(20px, 4.5vw, 28px) !important;
  line-height: 1.25 !important;
  max-width: 520px !important;
  margin: 0 auto 8px !important;
}
html body .cta-sec p,
html body section.cta-sec p {
  max-width: 560px !important;
  margin: 0 auto !important;
}
@media (max-width: 480px) {
  html body .cta-sec h2,
  html body section.cta-sec h2 { font-size: 20px !important; }
}

/* ─── 7. LEFTOVER FIXES ─── */
html body .fc-badge { display: none !important; }
html body .hero-pills .hero-pill { font-weight: 500 !important; }
html body .hero-pills .hero-pill:nth-child(n+2) { opacity: .7; }

/* iOS Safari auto-zoom prevention on form inputs (>=16px) */
@media (max-width: 768px) {
  html body .bk-box input, html body .bk-box select,
  html body input[type="text"], html body input[type="tel"],
  html body input[type="email"], html body input[type="number"],
  html body input[type="search"], html body input[type="url"],
  html body input[type="date"], html body input[type="time"],
  html body input[type="datetime-local"],
  html body textarea, html body select { font-size: 16px !important; }
  html body .bk-box input, html body .bk-box select { cursor: text; }
}

/* Override #fleet-showcase nowrap (mobile overflow fix) */
html body #fleet-showcase .sec-ttl,
html body #fleet-showcase .fleet-hd .sec-ttl,
html body #fleet .fleet-hd .sec-ttl,
html body #routes .routes-board-title h2,
html body .routes-board-title h2 {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  max-width: 100% !important;
  text-wrap: balance !important;
}

/* ─── Route pages: push first section below the absolute booking form ─── */
@media (min-width: 1024px) {
  html body[data-page="bangkok-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-bangkok"] .midbanner-section,
  html body[data-page="suvarnabhumi-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-suvarnabhumi"] .midbanner-section,
  html body[data-page="don-mueang-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-don-mueang"] .midbanner-section,
  html body[data-page="pattaya-airport-transfer"] .midbanner-section,
  html body[data-page="bangkok-airport-to-pattaya"] .midbanner-section {
    padding-top: 130px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  html body[data-page="bangkok-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-bangkok"] .midbanner-section,
  html body[data-page="suvarnabhumi-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-suvarnabhumi"] .midbanner-section,
  html body[data-page="don-mueang-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-don-mueang"] .midbanner-section,
  html body[data-page="pattaya-airport-transfer"] .midbanner-section,
  html body[data-page="bangkok-airport-to-pattaya"] .midbanner-section {
    padding-top: 80px !important;
  }
}

/* ─── More breathing room for CTA + footer ─── */
html body section.cta-sec,
html body section.cta-sec.cta-sec { padding-top: 40px !important; padding-bottom: 48px !important; }
html body .footer { padding-top: 56px !important; }
@media (max-width: 768px) {
  html body section.cta-sec,
  html body section.cta-sec.cta-sec { padding-top: 32px !important; padding-bottom: 36px !important; }
  html body .footer { padding-top: 40px !important; }
}

/* ─── Stop booking-form overflow on route pages (keeps spacing CONSISTENT with index) ─── */
@media (min-width: 1024px) {
  html body[data-page="bangkok-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-bangkok"] #booking-form,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form,
  html body[data-page="don-mueang-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-don-mueang"] #booking-form,
  html body[data-page="pattaya-airport-transfer"] #booking-form,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form {
    bottom: 0 !important;
  }
  /* Remove the extra padding-top hack — sections now use unified 24px */
  html body[data-page="bangkok-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-bangkok"] .midbanner-section,
  html body[data-page="suvarnabhumi-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-suvarnabhumi"] .midbanner-section,
  html body[data-page="don-mueang-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-don-mueang"] .midbanner-section,
  html body[data-page="pattaya-airport-transfer"] .midbanner-section,
  html body[data-page="bangkok-airport-to-pattaya"] .midbanner-section {
    padding-top: 24px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  html body[data-page="bangkok-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-bangkok"] .midbanner-section,
  html body[data-page="suvarnabhumi-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-suvarnabhumi"] .midbanner-section,
  html body[data-page="don-mueang-to-pattaya"] .midbanner-section,
  html body[data-page="pattaya-to-don-mueang"] .midbanner-section,
  html body[data-page="pattaya-airport-transfer"] .midbanner-section,
  html body[data-page="bangkok-airport-to-pattaya"] .midbanner-section {
    padding-top: 24px !important;
  }
}

/* ─── FINAL CLEAN FIX: route-page form sits naturally (no absolute overlap) ─── */
@media (min-width: 1024px) {
  html body[data-page="bangkok-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-bangkok"] #booking-form,
  html body[data-page="suvarnabhumi-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-suvarnabhumi"] #booking-form,
  html body[data-page="don-mueang-to-pattaya"] #booking-form,
  html body[data-page="pattaya-to-don-mueang"] #booking-form,
  html body[data-page="pattaya-airport-transfer"] #booking-form,
  html body[data-page="bangkok-airport-to-pattaya"] #booking-form {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: -65px auto 0 !important;
    z-index: 30 !important;
  }
}

/* ─── H1 SPECIAL: Fraunces display serif, bigger, with character ─── */
html body .hero-title,
html body #heroSection .hero-title,
html body #heroSection.hero-solo .hero-title,
html body .hv-title,
html body h1.hero-title {
  font-family: 'Fraunces', 'Inter', Georgia, serif !important;
  font-size: clamp(38px, 5.5vw, 64px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -1.5px !important;
  font-variation-settings: 'opsz' 96, 'wght' 600 !important;
}
/* Hero pills / sub / kicker stay Inter for clean contrast */
html body .hero-sub,
html body .hv-sub,
html body .hero-kicker,
html body .hero-pill { font-family: 'Inter', sans-serif !important; }

@media (max-width: 768px) {
  html body .hero-title,
  html body #heroSection .hero-title,
  html body #heroSection.hero-solo .hero-title,
  html body .hv-title,
  html body h1.hero-title {
    font-size: clamp(30px, 9vw, 44px) !important;
    letter-spacing: -1px !important;
  }
}

/* ─── H1 WOW: Inter heavy + gradient + depth (back to original font, but with impact) ─── */
html body .hero-title,
html body #heroSection .hero-title,
html body #heroSection.hero-solo .hero-title,
html body .hv-title,
html body h1.hero-title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -2px !important;
  font-variation-settings: normal !important;

  /* Gradient text — white to soft sky blue for depth on hero */
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 55%, #BFE0FF 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  /* Depth — subtle glow + drop shadow combined */
  text-shadow:
    0 2px 16px rgba(0, 25, 80, .45),
    0 1px 0 rgba(255, 255, 255, .15) !important;
  filter: drop-shadow(0 8px 22px rgba(0, 30, 90, .35)) !important;

  /* Soft entrance animation when page loads */
  animation: heroTitleIn .9s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes heroTitleIn {
  0%   { opacity: 0; transform: translateY(18px) scale(.985); letter-spacing: .5px; }
  100% { opacity: 1; transform: translateY(0)    scale(1);    letter-spacing: -2px; }
}

/* Individual lines (hero-title-line) — stagger them */
html body .hero-title .hero-title-line { display: block; }
html body .hero-title .hero-title-line:nth-child(2) { animation-delay: .12s; }
html body .hero-title .hero-title-line:nth-child(3) { animation-delay: .24s; }

@media (max-width: 768px) {
  html body .hero-title,
  html body #heroSection .hero-title,
  html body #heroSection.hero-solo .hero-title,
  html body .hv-title,
  html body h1.hero-title {
    font-size: clamp(30px, 9vw, 44px) !important;
    letter-spacing: -1px !important;
    text-shadow: 0 2px 10px rgba(0, 25, 80, .4) !important;
    filter: drop-shadow(0 4px 12px rgba(0, 30, 90, .3)) !important;
  }
}

/* (Removed legacy H1 WOW block — was forcing .h1-part1/.h1-part2 to 72px on index.
   Now .h1-part1 inherits H1 size like route pages; .h1-part2 gets its own subtitle rule. */

/* ─── H1 WOW: contain within hero width + smaller max + proper wrap ─── */
html body .hero-title,
html body #heroSection .hero-title,
html body #heroSection.hero-solo .hero-title,
html body[data-page="index"] #heroSection .hero-title,
html body[data-page="index"] #heroSection.hero-solo .hero-title,
html body .hv-title,
html body h1.hero-title {
  font-size: clamp(32px, 4.2vw, 52px) !important;
  max-width: 100% !important;
  overflow: visible !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  display: block !important;
}
html body .hero-title .hero-title-line,
html body[data-page="index"] #heroSection .hero-title .hero-title-line {
  /* display removed — let desktop/mobile span hide/show rules win */
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
  html body .hero-title,
  html body #heroSection .hero-title,
  html body #heroSection.hero-solo .hero-title,
  html body[data-page="index"] #heroSection .hero-title,
  html body[data-page="index"] #heroSection.hero-solo .hero-title,
  html body .hv-title,
  html body h1.hero-title {
    font-size: clamp(26px, 7vw, 36px) !important;
  }
}

/* ─── H1 PLAIN WHITE (no gradient, no effects — clean look user prefers) ─── */
html body .hero-title,
html body #heroSection .hero-title,
html body #heroSection.hero-solo .hero-title,
html body[data-page="index"] #heroSection .hero-title,
html body[data-page="index"] #heroSection .hero-title .h1-part1,
html body[data-page="index"] #heroSection .hero-title .h1-part2,
html body[data-page="index"] #heroSection .hero-title .hero-title-line,
html body[data-page="index"] #heroSection.hero-solo .hero-title,
html body .hv-title,
html body h1.hero-title {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  filter: none !important;
  text-shadow:
    0 2px 6px rgba(0,0,0,.55),
    0 4px 18px rgba(0,0,0,.35) !important;
  animation: none !important;
}

/* ─── Restore desktop/mobile hide for hero-title duplicate spans ─── */
html body .hero-title .hero-title-desktop { display: none !important; }
html body .hero-title .hero-title-mobile  { display: block !important; }
@media (min-width: 769px) {
  html body .hero-title .hero-title-desktop { display: block !important; }
  html body .hero-title .hero-title-mobile  { display: none !important; }
}

/* ─── Homepage H1: 1st line big bold, lines 2-3 = lighter subtitle (like .h1-part2 on route pages) ─── */
/* Desktop: spans 1-3 are desktop variants */
html body[data-page="index"] #heroSection .hero-title .hero-title-line.hero-title-desktop ~ .hero-title-line.hero-title-desktop,
html body[data-page="index"] #heroSection .hero-title .hero-title-line.hero-title-mobile ~ .hero-title-line.hero-title-mobile {
  font-weight: 500 !important;
  font-size: 65% !important;
  color: rgba(255,255,255,0.85) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.85) !important;
  letter-spacing: -.3px !important;
  line-height: 1.18 !important;
  margin-top: 6px !important;
}
@media (max-width: 768px) {
  html body[data-page="index"] #heroSection .hero-title .hero-title-line.hero-title-desktop ~ .hero-title-line.hero-title-desktop,
  html body[data-page="index"] #heroSection .hero-title .hero-title-line.hero-title-mobile ~ .hero-title-line.hero-title-mobile {
    font-size: clamp(14px, 5vw, 20px) !important;
    margin-top: 8px !important;
  }
}

/* ─── FINAL: Let .h1-part2 use its native subtitle style on index too ─── */
html body[data-page="index"] #heroSection .hero-title .h1-part2 {
  font-weight: 500 !important;
  font-size: 65% !important;
  color: rgba(255,255,255,0.85) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.85) !important;
  letter-spacing: -.3px !important;
  line-height: 1.2 !important;
  margin-top: 8px !important;
  display: block !important;
}
html body[data-page="index"] #heroSection .hero-title .h1-part1 {
  display: block !important;
  white-space: normal !important;
}
@media (max-width: 768px) {
  html body[data-page="index"] #heroSection .hero-title .h1-part2 {
    font-size: clamp(14px, 5vw, 20px) !important;
    margin-top: 8px !important;
  }
}

/* ─── H1 ใหญ่ขึ้น — 62px ทุกหน้า (desktop max, scale mobile ด้วย) ─── */
html body .hero-title,
html body #heroSection .hero-title,
html body #heroSection.hero-solo .hero-title,
html body[data-page="index"] #heroSection .hero-title,
html body[data-page="index"] #heroSection.hero-solo .hero-title,
html body .hv-title,
html body h1.hero-title {
  font-size: clamp(36px, 4.8vw, 57px) !important;
}
@media (max-width: 768px) {
  html body .hero-title,
  html body #heroSection .hero-title,
  html body #heroSection.hero-solo .hero-title,
  html body[data-page="index"] #heroSection .hero-title,
  html body[data-page="index"] #heroSection.hero-solo .hero-title,
  html body .hv-title,
  html body h1.hero-title {
    font-size: clamp(34px, 10.5vw, 54px) !important;
  }
}

/* ─── Fix trip-planner-card on iPad/tablet: stack vertically when too narrow ─── */
@media (max-width: 1200px) {
  html body .trip-planner-card {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  html body .trip-planner-card h3 { white-space: normal !important; word-break: normal !important; overflow-wrap: break-word !important; }
  html body .trip-planner-side {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
  }
  html body .trip-planner-visual img {
    max-width: 100% !important;
    height: auto !important;
  }
}
@media (max-width: 768px) {
  html body .trip-planner-side {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Restore navy blue text-shadow on index H1 (same as route pages) ─── */
html body[data-page="index"] #heroSection .hero-title,
html body[data-page="index"] #heroSection .hero-title .h1-part1,
html body[data-page="index"] #heroSection .hero-title .h1-part2 {
  text-shadow:
    0 2px 8px rgba(7, 30, 90, 0.85),
    0 4px 22px rgba(11, 78, 200, 0.65),
    0 8px 36px rgba(26, 115, 232, 0.45),
    0 0 1px rgba(0, 0, 0, 0.5) !important;
}

/* ─── H1 mobile — bigger (force) ─── */
@media (max-width: 768px) {
  html body .hero-title,
  html body #heroSection .hero-title,
  html body #heroSection.hero-solo .hero-title,
  html body[data-page="index"] #heroSection .hero-title,
  html body[data-page="index"] #heroSection.hero-solo .hero-title,
  html body .hv-title,
  html body h1.hero-title {
    font-size: clamp(36px, 11.5vw, 58px) !important;
    line-height: 1.06 !important;
  }
}

/* ─── H1 mobile uniform — same size on ALL 9 pages ─── */
@media (max-width: 768px) {
  html body[data-page="index"] #heroSection .hero-title,
  html body[data-page="bangkok-to-pattaya"] #heroSection .hero-title,
  html body[data-page="pattaya-to-bangkok"] #heroSection .hero-title,
  html body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-title,
  html body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-title,
  html body[data-page="don-mueang-to-pattaya"] #heroSection .hero-title,
  html body[data-page="pattaya-to-don-mueang"] #heroSection .hero-title,
  html body[data-page="pattaya-airport-transfer"] #heroSection .hero-title,
  html body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-title,
  html body[data-page="index"] #heroSection.hero-solo .hero-title {
    font-size: clamp(56px, 19vw, 120px) !important;
    line-height: 1.02 !important;
    min-height: 0 !important;
  }
}
@media (max-width: 390px) {
  html body[data-page="index"] #heroSection .hero-title,
  html body[data-page="bangkok-to-pattaya"] #heroSection .hero-title,
  html body[data-page="pattaya-to-bangkok"] #heroSection .hero-title,
  html body[data-page="suvarnabhumi-to-pattaya"] #heroSection .hero-title,
  html body[data-page="pattaya-to-suvarnabhumi"] #heroSection .hero-title,
  html body[data-page="don-mueang-to-pattaya"] #heroSection .hero-title,
  html body[data-page="pattaya-to-don-mueang"] #heroSection .hero-title,
  html body[data-page="pattaya-airport-transfer"] #heroSection .hero-title,
  html body[data-page="bangkok-airport-to-pattaya"] #heroSection .hero-title {
    font-size: clamp(54px, 20vw, 90px) !important;
  }
}

/* Mobile hero title final size: keep all pages readable and visibly larger. */
@media (max-width: 768px) {
  html body #heroSection .hero-title,
  html body #heroSection .hero-title .h1-part1,
  html body #heroSection .hero-title .hero-title-line,
  html body #heroSection.hero-solo .hero-title,
  html body .hv-title,
  html body .hv-title .h1-part1,
  html body h1.hero-title {
    font-size: clamp(32px, 9.8vw, 44px) !important;
    line-height: 1.04 !important;
  }

  html body #heroSection .hero-title .h1-part2,
  html body .hv-title .h1-part2 {
    font-size: clamp(16px, 5.4vw, 22px) !important;
    line-height: 1.18 !important;
  }
}

/* Index header consistency: match the shared header used on route pages. */
@media (min-width: 769px) {
  html body[data-page="index"] .header,
  html body[data-page="index"] .header.scrolled {
    top: 31px !important;
    left: 3% !important;
    right: auto !important;
    width: 94% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body[data-page="index"] .header-inner {
    max-width: 1280px !important;
    height: 64px !important;
    padding: 0 22px !important;
    gap: 16px !important;
  }

  html body[data-page="index"] .logo {
    width: auto !important;
    height: 50px !important;
  }

  html body[data-page="index"] .logo img {
    width: auto !important;
    max-width: none !important;
  }

  html body[data-page="index"] .h-nav {
    padding: 3px !important;
    gap: 2px !important;
    background: var(--gray-100) !important;
    border: 1px solid var(--gray-200) !important;
    box-shadow: none !important;
  }

  html body[data-page="index"] .h-nav a,
  html body[data-page="index"] .h-dd-btn {
    padding: 6px 12px !important;
    font-size: 13.5px !important;
    color: #6B7280 !important;
    font-weight: 600 !important;
  }

  html body[data-page="index"] .lang-trigger {
    min-height: 0 !important;
    padding: 5px 10px 5px 5px !important;
    background: var(--gray-100) !important;
    border-color: var(--gray-200) !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
  }

  html body[data-page="index"] .lang-trigger-flag,
  html body[data-page="index"] .lang-trigger-flag .fi {
    width: 22px !important;
    height: 22px !important;
  }

  html body[data-page="index"] .lang-trigger-code {
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  html body[data-page="index"] .h-signin {
    min-height: 0 !important;
    padding: 8px 16px !important;
    background: var(--blue) !important;
    box-shadow: 0 4px 14px rgba(255,122,0,.45) !important;
    font-size: 13.5px !important;
    letter-spacing: .1px !important;
  }
}

@media (max-width: 768px) {
  html body[data-page="index"] .header {
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body[data-page="index"] .header-inner {
    gap: 16px !important;
  }

  html body[data-page="index"] .logo {
    width: auto !important;
    height: 38px !important;
  }

  html body[data-page="index"] .lang-trigger {
    background: var(--gray-100) !important;
    border-color: var(--gray-200) !important;
    box-shadow: none !important;
  }
}

/* Booking CTA color: make booking actions stand out from the blue UI. */
html body .h-signin,
html body .btn-hero-book,
html body .bk-btn,
html body .btn-book,
html body .btn-search,
html body .fc-btn-book,
html body .trip-planner-btn:not(.tp-mob-line):not(.tp-mob-wa),
html body[data-page="index"] .h-signin,
html body[data-page="index"] #booking-form .bk-btn,
html body[data-page="index"] .hero-cta-row .btn-hero-book {
  background: linear-gradient(135deg, #0057e8 0%, #5081de 100%) !important;
  background-color: rgba(0, 0, 0, 0);
  background-color: #0050D5 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

html body .h-signin:hover,
html body .btn-hero-book:hover,
html body .bk-btn:hover,
html body .btn-book:hover,
html body .btn-search:hover,
html body .fc-btn-book:hover,
html body .trip-planner-btn:not(.tp-mob-line):not(.tp-mob-wa):hover,
html body[data-page="index"] .h-signin:hover,
html body[data-page="index"] #booking-form .bk-btn:hover,
html body[data-page="index"] .hero-cta-row .btn-hero-book:hover {
  background: linear-gradient(135deg, #0057e8 0%, #01215d 100%) !important;
  background-color: #FF7A00 !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

/* Only booking buttons use the orange CTA color. */
html body .routes-board .btn-book,
html body .routes-table-standard .btn-book,
html body .routes-table-standard td:last-child .btn-book {
  background: linear-gradient(135deg, #0045CD 0%, #0183FD 100%) !important;
  background-color: #FF7A00 !important;
  border: none !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

html body .routes-board .btn-book:hover,
html body .routes-table-standard .btn-book:hover,
html body .routes-table-standard td:last-child .btn-book:hover {
  background: linear-gradient(135deg, #0045CD 0%, #0183FD 100%) !important;
  background-color: #FF7A00 !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

/* Hero/search form: keep the form blue, make only the submit button orange. */
html body #booking-form .bk-btn {
  background: linear-gradient(135deg, #FF9500 0%, #FF7A00 100%) !important;
  background-color: #FF7A00 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

html body #booking-form .bk-btn:hover {
  background: linear-gradient(135deg, #FF9500 0%, #FF7A00 100%) !important;
  background-color: #FF7A00 !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

/* Fleet showcase: keep all vehicle title tags and spec icons consistent. */
html body #fleet-showcase .fleet-card .fleet-card-title {
  background: #f3f3f3 !important;
  color: var(--blue-mid) !important;
}

html body #fleet-showcase .fleet-specs span i {
  color: #b1b1b1 !important;
  font-size: 11px !important;
}

/* Hero kicker: orange pill across all hero styles. */
#heroSection .hero-kicker {
  margin: 0 0 14px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0d52aa 0%, #00205c 100%) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(23, 73, 191, .28) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

@media (max-width: 768px) {
  #heroSection .hero-kicker {
    margin: 0 auto 24px !important;
    padding: 10px 18px !important;
    max-width: 100% !important;
    border-radius: 999px !important;
    background: #0000005c !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    box-shadow: 0 14px 32px rgba(26, 78, 178, .22) !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }
}


body:not([data-page="index"]) #booking-form .bk-btn {
  background: linear-gradient(135deg, #0086FE 0%, #0148D0 100%) !important;
    background-color: rgba(0, 0, 0, 0);
  background-color: #FF7A00 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(255, 122, 0, 0.28) !important;
}

/* Mobile route fare cards: remove the odd side rail and make fare area balanced. */
@media (max-width: 768px) {
  html body .routes-table-standard tr,
  html body .routes-board .routes-table-standard tr {
    padding: 14px !important;
    border: 1px solid #DDE8F8 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F9FBFF 58%, #FFFFFF 100%) !important;
    box-shadow:
      0 18px 38px rgba(15, 48, 111, .12),
      0 2px 8px rgba(15, 48, 111, .06),
      inset 0 1px 0 rgba(255,255,255,.92) !important;
    overflow: hidden !important;
  }

  html body .routes-table-standard tr::before,
  html body .routes-board .routes-table-standard tr::before {
    display: none !important;
    content: none !important;
  }

  html body .routes-table-standard td,
  html body .routes-board .routes-table-standard td {
    padding: 10px 0 !important;
    border-bottom: 1px solid #EEF2F8 !important;
  }

  html body .routes-table-standard td.td-route,
  html body .routes-board .routes-table-standard td.td-route {
    padding: 0 0 12px !important;
    margin: 0 0 4px !important;
    border-bottom: 1px solid #E7EDF7 !important;
    text-align: center !important;
  }

  html body .routes-table-standard td.td-route > span:first-child,
  html body .routes-board .routes-table-standard td.td-route > span:first-child {
    display: block !important;
    color: #061742 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: -.15px !important;
    text-align: center !important;
    padding-right: 0 !important;
    margin: 2px auto 10px !important;
    max-width: 94% !important;
  }

  html body .routes-table-standard td.td-route .route-node-badges,
  html body .routes-board .routes-table-standard td.td-route .route-node-badges {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 8px auto 0 !important;
  }

  html body .routes-table-standard td.td-price,
  html body .routes-board .routes-table-standard td.td-price {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 10px 0 2px !important;
    padding: 12px 14px !important;
    background: #F8FAFE !important;
    border: 1px solid #DDE8F8 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  html body .routes-table-standard td.td-inclusions,
  html body .routes-board .routes-table-standard td.td-inclusions {
    text-align: center !important;
  }

  html body .routes-table-standard .inclusion-tag-wrap,
  html body .routes-board .routes-table-standard .inclusion-tag-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    gap: 8px !important;
  }

  html body .routes-table-standard .inclusion-tag,
  html body .routes-board .routes-table-standard .inclusion-tag {
    background: #ffffff !important;
    border-color: #DDE8F8 !important;
    box-shadow: none !important;
  }

  html body .routes-table-standard td.td-inclusions .mob-label,
  html body .routes-board .routes-table-standard td.td-inclusions .mob-label {
    text-align: left !important;
    width: 100% !important;
  }

  html body .routes-table-standard td.td-price > span:not(.mob-label),
  html body .routes-board .routes-table-standard td.td-price > span:not(.mob-label) {
    font-size: 24px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  html body .routes-table-standard td.td-price .mob-label,
  html body .routes-board .routes-table-standard td.td-price .mob-label {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  html body .routes-table-standard td:last-child,
  html body .routes-board .routes-table-standard td:last-child {
    padding: 12px 0 0 !important;
    border-bottom: 0 !important;
  }

  html body .routes-table-standard td:last-child .btn-book,
  html body .routes-board .routes-table-standard td:last-child .btn-book {
    box-shadow: none !important;
  }
}

body[data-page="index"] #heroSection .hero-pill i {
  color: #fff !important;
}

html body #heroSection .hero-pills .hero-pill,
html body #heroSection .hero-pills .hero-pill:nth-child(n+2) {
  opacity: 1 !important;
  color: #fff !important;
}

html body #heroSection .hero-pill i,
html body #heroSection .hero-pill span,
html body #heroSection .hero-pill small,
html body #heroSection .hero-pill strong,
html body #heroSection .hero-pill .hero-pill-desktop,
html body #heroSection .hero-pill .hero-pill-mobile,
body[data-page="index"] #heroSection .hero-pill i,
body[data-page="index"] #heroSection .hero-pill span,
body[data-page="index"] #heroSection .hero-pill small,
body[data-page="index"] #heroSection .hero-pill strong {
  color: #fff !important;
  opacity: 1 !important;
}

/* Routes table/cards: keep every row white, no alternating tinted rows. */
html body .routes-table-standard tbody tr,
html body .routes-table-standard tbody tr:nth-child(even),
html body .routes-table-standard tbody tr:nth-child(odd),
html body .routes-table-standard tbody tr td,
html body .routes-table-standard tbody tr:nth-child(even) td,
html body .routes-table-standard tbody tr:nth-child(odd) td,
html body .routes-board .routes-table-standard tbody tr,
html body .routes-board .routes-table-standard tbody tr:nth-child(even),
html body .routes-board .routes-table-standard tbody tr:nth-child(odd),
html body .routes-board .routes-table-standard tbody tr td,
html body .routes-board .routes-table-standard tbody tr:nth-child(even) td,
html body .routes-board .routes-table-standard tbody tr:nth-child(odd) td {
  background: #ffffff !important;
}

@media (max-width: 768px) {
  html body .routes-table-standard tr,
  html body .routes-table-standard tr:nth-child(even),
  html body .routes-table-standard tr:nth-child(odd),
  html body .routes-board .routes-table-standard tr,
  html body .routes-board .routes-table-standard tr:nth-child(even),
  html body .routes-board .routes-table-standard tr:nth-child(odd) {
    background: #ffffff !important;
  }
}


/* ─── Midbanner checklist heading (per-page keyword H2 + sub) ─── */
/* .midbanner-right is flex with gap:24px between children, so use 0 margins
   and pull the sub up tight under the H2 (net ~6px instead of the 24px gap). */
.midbanner-right .midbanner-list-ttl{
  font-size: clamp(20px, 2.3vw, 26px) !important;
  font-weight: 800 !important; color: #0b1a33 !important;
  line-height: 1.25 !important; letter-spacing: -.2px !important;
  margin: 0 !important;
}
.midbanner-right .midbanner-list-sub{
  font-size: 14.5px !important; color: #5a6478 !important;
  line-height: 1.55 !important; font-weight: 400 !important;
  margin: -18px 0 0 !important;
}

/* ─── Trip-planner VIP card: trust badge replaces buttons, copy top-aligned ─── */
.trip-planner-copy{ justify-content: flex-start !important; }
.trip-planner-trust{
  display: block; max-width: 230px; width: 100%; height: auto;
  margin: 20px 0 0; border-radius: 12px;
}
@media (max-width: 768px){
  .trip-planner-trust{ max-width: 200px; margin: 16px auto 0; }
}

/* ─── Hook CTA: wider spacing between buttons on desktop ─── */
.cta-hook .cta-btns{ gap: 16px; }
@media (min-width: 769px){
  .cta-hook .cta-btns{ gap: 28px !important; }
  .cta-hook .cta-btns > a{ min-width: 210px; justify-content: center; }
}

/* ─── Hook CTA: more space between heading and buttons ─── */
.cta-hook h2{ margin-bottom: 26px !important; }
@media (max-width: 768px){ .cta-hook h2{ margin-bottom: 20px !important; } }

/* ─── Hook CTA inside midbanner-grid: full-bleed on desktop, after checklist on mobile ─── */
.midbanner-grid > .cta-hook{ grid-column: 1 / -1 !important; }
@media (min-width: 769px){
  /* full viewport width so desktop looks unchanged (full-bleed band) */
  .midbanner-grid > .cta-hook{ width: 100vw !important; margin-left: calc(50% - 50vw) !important; }
}
@media (max-width: 768px){
  /* checklist(order -1) -> hook -> left column */
  .midbanner-grid > .cta-hook{ order: 0 !important; width: auto !important; margin-left: 0 !important; }
  .midbanner-left{ order: 1 !important; }
}

/* ─── Mobile: breathing room above the THINK PATTAYA TAXI badge ─── */
@media (max-width: 768px){
  html body .midbanner-left{ padding-top: 28px !important; }
}

/* ─── Hook CTA: rounded corners on mobile ─── */
@media (max-width: 768px){
  .midbanner-grid > .cta-hook{
    border-radius: 18px !important;
    overflow: hidden !important;
    margin: 4px 0 8px !important;
  }
}

/* ─── Mobile-only hook buttons before fleet (light, blends with section) ─── */
.hook-light-mobile{ display: none; }
@media (max-width: 768px){
  .hook-light-mobile{
    display: flex; flex-direction: column; gap: 10px;
    padding: 4px 16px 24px; background: transparent;
  }
  .hook-light-mobile .hlm-btn{
    display: flex; align-items: center; justify-content: center; gap: 9px;
    padding: 14px; border-radius: 12px; font-size: 15px; font-weight: 800;
    text-decoration: none; min-height: 52px;
  }
  .hook-light-mobile .hlm-book{ background: #0050D5; color: #fff; box-shadow: 0 10px 22px -10px rgba(0,80,213,.6); }
  .hook-light-mobile .hlm-line{ background: #06C755; color: #fff; }
  .hook-light-mobile .hlm-wa{ background: #0B0F0D; color: #fff; border: 1.5px solid #25D366; }
  .hook-light-mobile .hlm-wa i{ color: #25D366; }
}

/* ─── Shared multi-column rate table (Sedan/Innova/Fortuner/Van) — all pages ─── */
.re-rate-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.routes-board .re-rate-scroll{ border:1px solid #e7ecf3; border-radius:12px; overflow:hidden; overflow-x:auto; margin-top:4px; }
.re-rate-table{ width:100%; border-collapse:collapse; font-size:15px; }
.re-rate-table thead th{ background:linear-gradient(180deg,#005fee 0%,#02215d 100%); color:#fff; font-weight:800; text-align:center; padding:14px 16px; white-space:nowrap; letter-spacing:.02em; }
.re-rate-table thead th:first-child{ text-align:left; }
.re-rate-table td{ padding:13px 16px; text-align:center; border-bottom:1px solid #eef2f7; color:#185fa5; font-weight:800; white-space:nowrap; }
.re-rate-table td.rr-route{ text-align:left; color:#0b1a33; font-weight:700; white-space:normal; }
.re-rate-table tbody tr:nth-child(even) td{ background:#fafcff; }
.re-rate-table tbody tr:hover td{ background:#f1f7ff; }
.re-rate-table tbody tr:last-child td{ border-bottom:none; }
.re-rate-foot{ padding:18px 4px 4px; text-align:center; }
.re-rate-foot p{ font-size:14px; color:#3a455a; margin:0 0 14px; }
.re-rate-foot p b{ color:#0b1a33; }
.re-rate-foot a{ color:#1f7ad4; text-decoration:none; }
.re-rate-btns{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:760px; margin:0 auto; }
.re-rate-btns .rrb{ display:flex !important; align-items:center; justify-content:center; gap:9px; padding:15px; border-radius:10px; font-size:15px; font-weight:800; text-decoration:none !important; color:#fff !important; transition:filter .15s, transform .1s; }
.re-rate-btns .rrb i, .re-rate-btns .rrb *{ color:#fff !important; }
.re-rate-btns .rrb:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.re-rate-btns .rrb-book{ background:linear-gradient(135deg,#0057e8 0%,#01215d 100%) !important; }
.re-rate-btns .rrb-wa{ background:#25D366 !important; }
.re-rate-btns .rrb-line{ background:#06C755 !important; }
@media (max-width:600px){
  /* Fit all 5 columns on screen — no horizontal scroll */
  .re-rate-scroll{ overflow-x:visible; }
  /* Reclaim the board's side padding so the table spans the full card width */
  .routes-board .re-rate-scroll{ margin-left:-14px; margin-right:-14px; border-radius:0; border-left:none; border-right:none; }
  .re-rate-table{ table-layout:fixed; width:100%; font-size:12px; }
  .re-rate-table thead th{ padding:8px 3px; font-size:10.5px; white-space:normal; word-break:break-word; }
  .re-rate-table thead th:first-child{ width:36%; }
  .re-rate-table td{ padding:9px 3px; font-size:11.5px; white-space:normal; }
  .re-rate-table td:not(.rr-route){ font-size:11px; }
  .re-rate-table td.rr-route{ width:36%; padding-left:10px; word-break:break-word; }
  .re-rate-foot{ padding:14px 0 0; }
  .re-rate-btns{ grid-template-columns:1fr; }
}

/* ─── Rate table: highlight the current page's own route (moved to top) ─── */
.re-rate-table tr.rr-top td{ background:#eaf3ff !important; }
.re-rate-table tr.rr-top td.rr-route{ font-weight:800; color:#0046c9; }
.re-rate-table .rr-tag{
  display:inline-block; margin-left:8px; vertical-align:middle;
  background:#0057e8; color:#fff; font-size:10px; font-weight:800;
  letter-spacing:.04em; text-transform:uppercase; padding:2px 8px; border-radius:999px;
}
@media (max-width:600px){
  .re-rate-table .rr-tag{ display:block; margin:4px 0 0; width:fit-content; font-size:9px; padding:2px 6px; }
}

/* Mobile booking form headline on route pages */
@media (max-width:768px){
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    min-height:0 !important;
    padding:16px 16px 8px !important;
    text-align:left !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
  }
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head .bk-head-text,
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head h3,
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head h3{
    margin:0 0 4px !important;
    color:#071b3a !important;
    font-size:18px !important;
    line-height:1.18 !important;
    font-weight:800 !important;
  }
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head p{
    margin:0 !important;
    color:#64748b !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
  }
  html body:not([data-page="index"]) #booking-form .bk-card > .bk-head .bk-head-badges{
    display:none !important;
  }
}

/* Midbanner: show 4 cards on the left and the banner only on the right */
html body .midbanner-section .trip-planner-card,
html body .midbanner-grid > .cta-hook,
html body .midbanner-right .midbanner-list-ttl,
html body .midbanner-right .midbanner-list-sub,
html body .midbanner-right .midbanner-list{
  display:none !important;
}
html body .midbanner-right{
  background:transparent !important;
  border-left:none !important;
  padding:0 !important;
}
html body .midbanner-right::before,
html body .midbanner-right::after{
  display:none !important;
}
html body .midbanner-right img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:18px !important;
}

/* Remove the old standalone booking banner everywhere */
html body .bookmin-banner{
  display:none !important;
}

/* Keep vehicle options before real fleet photos wherever both sections appear */
html body #fleet{
  order:1 !important;
}
html body #fleet-showcase,
html body .fleet-showcase-section{
  order:2 !important;
}

/* Mobile booking form: remove decorative lines near the From label */
@media (max-width:768px){
  html body #booking-form .bk-card > .bk-head{
    border-bottom:0 !important;
  }
  html body #booking-form .bk-card > .bk-head::before,
  html body #booking-form .bk-card > .bk-head::after{
    content:none !important;
    display:none !important;
    border:0 !important;
    background:none !important;
    box-shadow:none !important;
  }
}

/* Index experiment: replace hero booking form with latest bookings proof */
html body[data-page="index"] #booking-form{
  display:none !important;
}

html body[data-page="index"] .desktop-hero-booking-wrapper{
  padding-bottom:0 !important;
}

html body[data-page="index"] .lb-sec{
  position:relative !important;
  z-index:22 !important;
}

@media (min-width:1024px){
  html body[data-page="index"] .lb-sec{
    margin-top:-178px !important;
    padding-top:20px !important;
    padding-bottom:24px !important;
    background:
      linear-gradient(180deg,rgba(244,247,255,.62) 0%,rgba(244,247,255,.86) 34%,rgba(255,255,255,.98) 76%,#fff 100%) !important;
  }
  html body[data-page="index"] .lb-head{
    margin-bottom:10px !important;
  }
  html body[data-page="index"] .lb-track{
    padding-top:12px !important;
  }
}

@media (max-width:1023px){
  html body[data-page="index"] .lb-sec{
    margin-top:-78px !important;
    padding-top:18px !important;
    padding-bottom:10px !important;
    background:
      linear-gradient(180deg,rgba(244,247,255,.46) 0%,rgba(244,247,255,.86) 42%,#fff 100%) !important;
  }
  html body[data-page="index"] .lb-head{
    margin-bottom:8px !important;
  }
  html body[data-page="index"] .lb-kicker{
    padding:9px 14px !important;
    font-size:12px !important;
    box-shadow:0 10px 24px rgba(7,95,216,.20) !important;
  }
  html body[data-page="index"] .lb-live-dot{
    width:7px !important;
    height:7px !important;
    box-shadow:0 0 0 4px rgba(37,211,102,.16) !important;
  }
  html body[data-page="index"] .lb-track{
    gap:10px !important;
    padding:10px 0 12px !important;
  }
  html body[data-page="index"] .lb-card{
    flex-basis:252px !important;
    min-height:168px !important;
    border-radius:14px !important;
    box-shadow:0 16px 36px rgba(15,40,86,.11) !important;
  }
  html body[data-page="index"] .lb-card-top{
    padding:14px 12px 9px !important;
  }
  html body[data-page="index"] .lb-code{
    padding:8px 14px !important;
    font-size:12px !important;
  }
  html body[data-page="index"] .lb-route{
    padding:0 13px 10px !important;
  }
  html body[data-page="index"] .lb-route-label{
    font-size:9.5px !important;
    margin-bottom:5px !important;
  }
  html body[data-page="index"] .lb-place{
    font-size:13px !important;
  }
  html body[data-page="index"] .lb-car,
  html body[data-page="index"] .lb-schedule{
    padding:10px 9px !important;
  }
  html body[data-page="index"] .lb-car{
    grid-template-columns:58px minmax(44px,1fr) !important;
    gap:7px !important;
  }
  html body[data-page="index"] .lb-car img{
    width:58px !important;
    height:40px !important;
  }
  html body[data-page="index"] .lb-mini-label{
    font-size:8.5px !important;
    margin-bottom:3px !important;
  }
  html body[data-page="index"] .lb-car-name,
  html body[data-page="index"] .lb-date-day{
    font-size:12px !important;
  }
  html body[data-page="index"] .lb-pax,
  html body[data-page="index"] .lb-date-time{
    font-size:10.5px !important;
    margin-top:3px !important;
  }
}

/* Index mobile hero: replace small trust pills with one booking CTA */
@media (max-width:768px){
  html body[data-page="index"] #heroSection .hero-pills{
    display:none !important;
  }
  html body[data-page="index"] #heroSection .hero-mobile-book-row{
    display:flex !important;
    justify-content:center !important;
    margin:10px auto 0 !important;
    padding:0 !important;
  }
  html body[data-page="index"] #heroSection .hero-mobile-book-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto !important;
    min-width:172px !important;
    min-height:44px !important;
    padding:12px 22px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#0057e8 0%,#0183fd 100%) !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1 !important;
    text-decoration:none !important;
    box-shadow:0 14px 30px rgba(0,87,232,.28) !important;
  }
  html body[data-page="index"] #heroSection .hero-mobile-book-btn i,
  html body[data-page="index"] #heroSection .hero-mobile-book-btn span{
    color:#fff !important;
  }
}

/* Landing proof layout: remove inline booking forms and let latest bookings sit under the hero. */
html body:not([data-page="booking"]) #booking-form{
  display:none !important;
}

html body:not([data-page="booking"]) .desktop-hero-booking-wrapper{
  padding-bottom:0 !important;
}

html body:not([data-page="booking"]) .lb-sec{
  position:relative !important;
  z-index:22 !important;
}

@media (min-width:769px){
  html body:not([data-page="booking"]) #heroSection .hero-mobile-book-row{
    display:none !important;
  }
}

@media (min-width:1024px){
  html body:not([data-page="booking"]) .lb-sec{
    margin-top:-178px !important;
    padding-top:20px !important;
    padding-bottom:24px !important;
    background:
      linear-gradient(180deg,rgba(244,247,255,.62) 0%,rgba(244,247,255,.86) 34%,rgba(255,255,255,.98) 76%,#fff 100%) !important;
  }
  html body:not([data-page="booking"]) .lb-head{
    margin-bottom:10px !important;
  }
  html body:not([data-page="booking"]) .lb-track{
    padding-top:12px !important;
  }
}

@media (max-width:768px){
  html body:not([data-page="booking"]) #heroSection .hero-pills{
    display:none !important;
  }
  html body:not([data-page="booking"]) #heroSection .hero-mobile-book-row{
    display:flex !important;
    justify-content:center !important;
    margin:10px auto 0 !important;
    padding:0 !important;
  }
  html body:not([data-page="booking"]) #heroSection .hero-mobile-book-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto !important;
    min-width:172px !important;
    min-height:44px !important;
    padding:12px 22px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#0057e8 0%,#0183fd 100%) !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1 !important;
    text-decoration:none !important;
    box-shadow:0 14px 30px rgba(0,87,232,.28) !important;
  }
  html body:not([data-page="booking"]) #heroSection .hero-mobile-book-btn i,
  html body:not([data-page="booking"]) #heroSection .hero-mobile-book-btn span{
    color:#fff !important;
  }
  html body:not([data-page="booking"]) .lb-sec{
    margin-top:-86px !important;
    padding-top:18px !important;
    padding-bottom:10px !important;
    background:
      linear-gradient(180deg,rgba(244,247,255,.46) 0%,rgba(244,247,255,.86) 42%,#fff 100%) !important;
  }
}

/* Midbanner chat CTA: quick contact buttons after the trust cards */
html body .midbanner-chat-cta{
  display:none !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:14px !important;
  border:1px solid rgba(0,87,232,.12) !important;
  border-radius:18px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(240,247,255,.96) 100%) !important;
  box-shadow:0 14px 34px rgba(15,40,86,.08) !important;
}

html body .midbanner-grid > .midbanner-chat-cta{
  grid-column:1 / -1 !important;
}

html body .midbanner-chat-copy{
  min-width:0 !important;
}

html body .midbanner-chat-copy strong{
  display:block !important;
  margin:0 0 2px !important;
  color:#071b3a !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
}

html body .midbanner-chat-copy span{
  display:block !important;
  color:#64748b !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
}

html body .midbanner-chat-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  flex:0 0 auto !important;
}

html body .midbanner-chat-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:42px !important;
  padding:11px 15px !important;
  border-radius:999px !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:850 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 12px 22px rgba(15,40,86,.13) !important;
}

html body .midbanner-chat-btn i{
  color:#fff !important;
  font-size:16px !important;
}

html body .midbanner-chat-line{
  background:linear-gradient(135deg,#06c755 0%,#04a746 100%) !important;
}

html body .midbanner-chat-wa{
  background:linear-gradient(135deg,#111827 0%,#075e54 100%) !important;
}

@media (max-width:768px){
  html body .midbanner-chat-cta{
    display:block !important;
    order:2 !important;
    margin:12px 0 2px !important;
    padding:12px !important;
    border-radius:16px !important;
  }
  html body .midbanner-chat-copy{
    text-align:center !important;
    margin-bottom:10px !important;
  }
  html body .midbanner-chat-copy strong{
    font-size:14px !important;
  }
  html body .midbanner-chat-copy span{
    font-size:11.5px !important;
  }
  html body .midbanner-chat-actions{
    width:100% !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  html body .midbanner-chat-btn{
    width:100% !important;
    min-height:40px !important;
    padding:10px 8px !important;
    font-size:12px !important;
  }
}

/* Smart loading: browser can skip heavy below-fold sections until near viewport. */
html body .lb-sec,
html body .midbanner-section,
html body .bookmin-banner,
html body section.sec,
html body section.cta-sec,
html body .routes-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 720px;
}

html body .smart-reveal{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity .55s ease,
    transform .55s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform;
}

html body .smart-reveal.is-visible{
  opacity:1;
  transform:none;
  will-change:auto;
}

@media (max-width:768px){
  html body .lb-sec,
  html body .midbanner-section,
  html body .bookmin-banner,
  html body section.sec,
  html body section.cta-sec,
  html body .routes-section{
    contain-intrinsic-size:1px 620px;
  }
  html body .smart-reveal{
    transform:translate3d(0,12px,0);
    transition-duration:.42s;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .smart-reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* Index mobile: keep the four trust cards in a compact two-column grid. */
@media (max-width:768px){
  html body[data-page="index"] .midbanner-section .intent-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  html body[data-page="index"] .midbanner-section .intent-card{
    min-width:0 !important;
    padding:13px 9px !important;
    border-radius:8px !important;
  }
  html body[data-page="index"] .midbanner-section .intent-card i{
    width:26px !important;
    height:26px !important;
    margin-bottom:8px !important;
    font-size:12px !important;
  }
  html body[data-page="index"] .midbanner-section .intent-card h3{
    font-size:12.5px !important;
    line-height:1.18 !important;
    margin-bottom:6px !important;
  }
  html body[data-page="index"] .midbanner-section .intent-card p{
    font-size:10.5px !important;
    line-height:1.45 !important;
    margin:0 !important;
  }
}

/* Index palette refresh: closer to MWS Taxi's blue/white trust style. */
html body[data-page="index"]{
  --blue:#1e77bc;
  --blue-h:#007cc3;
  --blue-dk:#161922;
  --blue-lt:#eef7ff;
  --blue-mid:#0089f7;
  --text:#161922;
  --text-2:#333333;
  --muted:#626262;
  background:#f8f8f8 !important;
}

html body[data-page="index"] .topbar{
  background:linear-gradient(90deg,#161922 0%,#1e77bc 58%,#0089f7 100%) !important;
}

html body[data-page="index"] .topbar i{
  color:#ffffff !important;
}

html body[data-page="index"] .h-signin,
html body[data-page="index"] .btn-hero-book,
html body[data-page="index"] .hero-mobile-book-btn,
html body[data-page="index"] .bk-btn,
html body[data-page="index"] .btn-book,
html body[data-page="index"] .fc-btn-book,
html body[data-page="index"] .cta-call{
  background:linear-gradient(135deg,#1e77bc 0%,#0089f7 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(30,119,188,.24) !important;
}

html body[data-page="index"] .h-signin:hover,
html body[data-page="index"] .btn-hero-book:hover,
html body[data-page="index"] .hero-mobile-book-btn:hover,
html body[data-page="index"] .bk-btn:hover,
html body[data-page="index"] .btn-book:hover,
html body[data-page="index"] .fc-btn-book:hover,
html body[data-page="index"] .cta-call:hover{
  background:linear-gradient(135deg,#007cc3 0%,#1e77bc 100%) !important;
  box-shadow:0 16px 32px rgba(30,119,188,.30) !important;
}

html body[data-page="index"] .fleet-hd-badge,
html body[data-page="index"] .midbanner-tag,
html body[data-page="index"] .about-tag,
html body[data-page="index"] .trip-planner-badge{
  background:#eef7ff !important;
  color:#1e77bc !important;
  border-color:rgba(30,119,188,.16) !important;
}

html body[data-page="index"] .fleet-hd-badge i,
html body[data-page="index"] .midbanner-tag i,
html body[data-page="index"] .about-tag i,
html body[data-page="index"] .trip-planner-badge i{
  color:#1e77bc !important;
}

html body[data-page="index"] .sec-ttl span,
html body[data-page="index"] .about-ttl span,
html body[data-page="index"] .midbanner-ttl span{
  color:#1e77bc !important;
}

html body[data-page="index"] .intent-card,
html body[data-page="index"] .fc-card,
html body[data-page="index"] .fleet-card,
html body[data-page="index"] .customer-card,
html body[data-page="index"] .about-stat{
  border-color:#dbdddf !important;
  box-shadow:0 10px 28px rgba(30,119,188,.08) !important;
}

html body[data-page="index"] .intent-card i,
html body[data-page="index"] .about-check i,
html body[data-page="index"] .fc-spec i,
html body[data-page="index"] .fleet-specs i{
  color:#1e77bc !important;
  background:#eef7ff !important;
}

html body[data-page="index"] .lb-kicker{
  background:linear-gradient(135deg,#1e77bc 0%,#007cc3 100%) !important;
  box-shadow:0 14px 30px rgba(30,119,188,.22) !important;
}

html body[data-page="index"] .lb-card::before{
  background:linear-gradient(90deg,#1e77bc,#0089f7,#06c755) !important;
}

html body[data-page="index"] .lb-code{
  background:linear-gradient(135deg,#1e77bc 0%,#007cc3 100%) !important;
}

html body[data-page="index"] .lb-route-label i,
html body[data-page="index"] .lb-pax i,
html body[data-page="index"] .lb-date-time i{
  color:#1e77bc !important;
}

html body[data-page="index"] .lb-sec{
  background:
    linear-gradient(180deg,rgba(238,247,255,.60) 0%,rgba(248,248,248,.92) 46%,#fff 100%) !important;
}

html body[data-page="index"] #fleet,
html body[data-page="index"] .customers-section,
html body[data-page="index"] .about-section{
  background:#f4f8fd !important;
}

html body[data-page="index"] .midbanner-right img,
html body[data-page="index"] .about-right img{
  box-shadow:0 18px 40px rgba(30,119,188,.12) !important;
}

html body[data-page="index"] .hero-pill i{
  color:#0089f7 !important;
}

html body[data-page="index"] .hero-trust-shield,
html body[data-page="index"] .hero-trust-avatars span:first-child{
  background:linear-gradient(135deg,#1e77bc,#0089f7) !important;
}

@media (max-width:768px){
  html body[data-page="index"] #heroSection .hero-mobile-book-btn{
    background:linear-gradient(135deg,#1e77bc 0%,#0089f7 100%) !important;
    box-shadow:0 14px 30px rgba(30,119,188,.26) !important;
  }
  html body[data-page="index"] .midbanner-chat-cta{
    border-color:rgba(30,119,188,.14) !important;
    background:linear-gradient(135deg,#ffffff 0%,#eef7ff 100%) !important;
  }
}

/* MWS-style homepage pass: stronger visible blue/white brand treatment. */
html body[data-page="index"] .header,
html body[data-page="index"] .header.scrolled{
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(219,221,223,.9) !important;
  box-shadow:0 12px 34px rgba(22,25,34,.10) !important;
}

html body[data-page="index"] .h-nav{
  background:#f8f8f8 !important;
  border:1px solid #dbdddf !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

html body[data-page="index"] .h-nav a,
html body[data-page="index"] .h-dd-btn{
  color:#626262 !important;
}

html body[data-page="index"] .h-nav a:hover,
html body[data-page="index"] .h-dd:hover .h-dd-btn,
html body[data-page="index"] .h-dd.open .h-dd-btn{
  color:#1e77bc !important;
  background:#eef7ff !important;
}

html body[data-page="index"] .lang-trigger{
  background:#f8f8f8 !important;
  border-color:#dbdddf !important;
}

html body[data-page="index"] #heroSection .hero-bg::after{
  background:
    linear-gradient(90deg,rgba(22,25,34,.74) 0%,rgba(30,119,188,.46) 46%,rgba(0,137,247,.10) 100%),
    linear-gradient(180deg,rgba(22,25,34,.08) 0%,rgba(22,25,34,.28) 100%) !important;
}

html body[data-page="index"] #heroSection .hero-kicker{
  background:rgba(30,119,188,.94) !important;
  border-color:rgba(255,255,255,.32) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(30,119,188,.28) !important;
}

html body[data-page="index"] #heroSection .hero-title{
  color:#fff !important;
  text-shadow:0 4px 18px rgba(0,0,0,.32) !important;
}

html body[data-page="index"] #heroSection .hero-sub{
  color:rgba(255,255,255,.92) !important;
}

html body[data-page="index"] #heroSection .hero-pill{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(219,221,223,.95) !important;
  color:#161922 !important;
  box-shadow:0 10px 24px rgba(22,25,34,.16) !important;
}

html body[data-page="index"] #heroSection .hero-pill *,
html body[data-page="index"] #heroSection .hero-pill span,
html body[data-page="index"] #heroSection .hero-pill strong,
html body[data-page="index"] #heroSection .hero-pill small{
  color:#161922 !important;
}

html body[data-page="index"] #heroSection .hero-pill i{
  color:#1e77bc !important;
  background:transparent !important;
}

html body[data-page="index"] .lb-kicker{
  border-radius:999px !important;
  background:#1e77bc !important;
  color:#fff !important;
}

html body[data-page="index"] .lb-card{
  border:1px solid #dbdddf !important;
  box-shadow:0 14px 32px rgba(22,25,34,.10) !important;
}

html body[data-page="index"] .lb-code{
  border-radius:999px !important;
  background:#1e77bc !important;
}

html body[data-page="index"] .midbanner-section,
html body[data-page="index"] #fleet,
html body[data-page="index"] #fleet-showcase,
html body[data-page="index"] .fleet-showcase-section,
html body[data-page="index"] .customers-section,
html body[data-page="index"] .about-section,
html body[data-page="index"] #faq{
  background:#fff !important;
}

html body[data-page="index"] .midbanner-left,
html body[data-page="index"] .intent-card,
html body[data-page="index"] .fc-card,
html body[data-page="index"] .fleet-card,
html body[data-page="index"] .customer-card,
html body[data-page="index"] .about-stat,
html body[data-page="index"] .faq-item{
  background:#fff !important;
  border:1px solid #dbdddf !important;
  box-shadow:0 10px 26px rgba(22,25,34,.07) !important;
}

html body[data-page="index"] .intent-card i,
html body[data-page="index"] .fc-card i,
html body[data-page="index"] .fleet-card i,
html body[data-page="index"] .about-check i{
  background:#eef7ff !important;
  color:#1e77bc !important;
}

html body[data-page="index"] .fleet-hd-badge,
html body[data-page="index"] .midbanner-tag,
html body[data-page="index"] .about-tag{
  background:#eef7ff !important;
  color:#1e77bc !important;
  border:1px solid rgba(30,119,188,.18) !important;
  box-shadow:none !important;
}

html body[data-page="index"] .sec-ttl,
html body[data-page="index"] .midbanner-ttl,
html body[data-page="index"] .about-ttl{
  color:#161922 !important;
}

html body[data-page="index"] .sec-sub,
html body[data-page="index"] .midbanner-sub,
html body[data-page="index"] .about-body,
html body[data-page="index"] .intent-card p,
html body[data-page="index"] .fc-features,
html body[data-page="index"] .fleet-card-desc{
  color:#626262 !important;
}

html body[data-page="index"] .fc-card.featured{
  border:2px solid #1e77bc !important;
  box-shadow:0 18px 40px rgba(30,119,188,.16) !important;
}

html body[data-page="index"] .fc-popular,
html body[data-page="index"] .fleet-real-badge{
  background:#1e77bc !important;
  color:#fff !important;
}

html body[data-page="index"] .midbanner-chat-line,
html body[data-page="index"] .cta-line{
  background:#06c755 !important;
}

html body[data-page="index"] .midbanner-chat-wa,
html body[data-page="index"] .cta-wa{
  background:#161922 !important;
  border-color:#25d366 !important;
}

@media (max-width:768px){
  html body[data-page="index"] .header{
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
  }
  html body[data-page="index"] #heroSection .hero-kicker{
    background:#1e77bc !important;
  }
  html body[data-page="index"] .midbanner-left{
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}

/* Index lower-page MWS pass: pricing table through final CTA, footer untouched. */
html body[data-page="index"] .routes-section{
  background:
    radial-gradient(circle at 14% 0%,rgba(30,119,188,.10) 0%,rgba(30,119,188,0) 34%),
    linear-gradient(180deg,#f8f8f8 0%,#ffffff 58%,#f8f8f8 100%) !important;
}

html body[data-page="index"] .routes-board{
  background:#fff !important;
  border:1px solid #dbdddf !important;
  border-radius:14px !important;
  box-shadow:0 18px 42px rgba(22,25,34,.09) !important;
}

html body[data-page="index"] .routes-board::before{
  background:linear-gradient(135deg,rgba(0,137,247,.12),rgba(0,137,247,0)) !important;
}

html body[data-page="index"] .routes-board-brand{
  border-right-color:#dbdddf !important;
}

html body[data-page="index"] .routes-board-kicker{
  color:#1e77bc !important;
}

html body[data-page="index"] .routes-board-title h2{
  color:#161922 !important;
}

html body[data-page="index"] .routes-board-title p{
  color:#626262 !important;
  font-weight:500 !important;
}

html body[data-page="index"] .routes-board .re-rate-scroll{
  border-color:#dbdddf !important;
  border-radius:12px !important;
  box-shadow:0 12px 28px rgba(30,119,188,.06) !important;
}

html body[data-page="index"] .re-rate-table{
  background:#fff !important;
  color:#161922 !important;
}

html body[data-page="index"] .re-rate-table thead th{
  background:#1e77bc !important;
  color:#fff !important;
  border-color:#1b6fac !important;
  font-weight:800 !important;
}

html body[data-page="index"] .re-rate-table td{
  border-bottom:1px solid #e9edf2 !important;
  color:#1e77bc !important;
  background:#fff !important;
}

html body[data-page="index"] .re-rate-table td.rr-route{
  color:#161922 !important;
}

html body[data-page="index"] .re-rate-table tbody tr:nth-child(even) td{
  background:#f8f8f8 !important;
}

html body[data-page="index"] .re-rate-table tbody tr:hover td{
  background:#eef7ff !important;
}

html body[data-page="index"] .re-rate-table tr.rr-top td{
  background:#eef7ff !important;
}

html body[data-page="index"] .re-rate-table tr.rr-top td.rr-route{
  color:#1e77bc !important;
}

html body[data-page="index"] .re-rate-table .rr-tag{
  background:#ff6900 !important;
  color:#fff !important;
  box-shadow:none !important;
}

html body[data-page="index"] .re-rate-foot{
  background:#fff !important;
  border-top:1px solid #edf0f3 !important;
  margin-top:0 !important;
  padding:20px 8px 4px !important;
}

html body[data-page="index"] .re-rate-foot p{
  color:#626262 !important;
  font-weight:500 !important;
}

html body[data-page="index"] .re-rate-foot p b,
html body[data-page="index"] .re-rate-foot a{
  color:#1e77bc !important;
}

html body[data-page="index"] .re-rate-btns .rrb{
  border-radius:999px !important;
  box-shadow:0 12px 24px rgba(22,25,34,.10) !important;
}

html body[data-page="index"] .re-rate-btns .rrb-book{
  background:#0089f7 !important;
}

html body[data-page="index"] .re-rate-btns .rrb-wa{
  background:#161922 !important;
  border:1.5px solid #25d366 !important;
}

html body[data-page="index"] .re-rate-btns .rrb-line{
  background:#06c755 !important;
}

html body[data-page="index"] .proof-bar{
  background:#fff !important;
  border-block:1px solid #edf0f3 !important;
}

html body[data-page="index"] .proof-item{
  background:#f8f8f8 !important;
  border:1px solid #dbdddf !important;
  box-shadow:0 10px 24px rgba(22,25,34,.06) !important;
}

html body[data-page="index"] .proof-score,
html body[data-page="index"] .proof-item > i,
html body[data-page="index"] .proof-item [style*="color:var(--blue)"]{
  color:#1e77bc !important;
}

html body[data-page="index"] #faq{
  background:
    linear-gradient(180deg,#f8f8f8 0%,#fff 100%) !important;
}

html body[data-page="index"] #faq .sec-badge,
html body[data-page="index"] #faq .sec-kicker{
  background:#eef7ff !important;
  color:#1e77bc !important;
  border:1px solid rgba(30,119,188,.18) !important;
}

html body[data-page="index"] .faq-item{
  border-radius:10px !important;
}

html body[data-page="index"] .faq-q{
  color:#161922 !important;
  font-weight:750 !important;
}

html body[data-page="index"] .faq-q:hover,
html body[data-page="index"] .faq-q.open{
  background:#eef7ff !important;
  color:#1e77bc !important;
}

html body[data-page="index"] .faq-q i{
  color:#1e77bc !important;
}

html body[data-page="index"] .faq-a{
  color:#626262 !important;
  border-top-color:#edf0f3 !important;
}

html body[data-page="index"] .faq-side img{
  border-color:#dbdddf !important;
  box-shadow:0 18px 40px rgba(30,119,188,.12) !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook){
  background:
    linear-gradient(135deg,#1e77bc 0%,#0089f7 100%) !important;
  border-top:1px solid rgba(255,255,255,.35) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25) !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) h2{
  color:#fff !important;
  text-shadow:0 3px 14px rgba(22,25,34,.18) !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) p{
  color:rgba(255,255,255,.86) !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-btns > a{
  border-radius:999px !important;
  box-shadow:0 14px 28px rgba(22,25,34,.18) !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-call{
  background:#fff !important;
  color:#1e77bc !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-wa{
  background:#161922 !important;
  border-color:#25d366 !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-line{
  background:#06c755 !important;
}

@media (max-width:768px){
  html body[data-page="index"] .routes-section{
    background:linear-gradient(180deg,#f8f8f8 0%,#fff 62%,#f8f8f8 100%) !important;
  }

  html body[data-page="index"] .routes-board{
    border-radius:12px !important;
    padding:18px 14px !important;
  }

  html body[data-page="index"] .routes-board-head{
    gap:14px !important;
  }

  html body[data-page="index"] .routes-board .re-rate-scroll{
    border-radius:10px !important;
    box-shadow:none !important;
  }

  html body[data-page="index"] .re-rate-table thead th{
    background:#1e77bc !important;
  }

  html body[data-page="index"] .re-rate-btns .rrb{
    min-height:48px !important;
  }

  html body[data-page="index"] .proof-bar{
    padding-block:18px !important;
  }

  html body[data-page="index"] section.cta-sec:not(.cta-hook){
    padding:42px 16px !important;
  }
}

/* Index lower-page cleanup: flat MWS-style colors, no gradients. */
html body[data-page="index"] .routes-section,
html body[data-page="index"] #faq{
  background:#f8f8f8 !important;
}

html body[data-page="index"] .routes-board::before,
html body[data-page="index"] .routes-board-visual::before{
  display:none !important;
}

html body[data-page="index"] .routes-board,
html body[data-page="index"] .routes-board .re-rate-scroll,
html body[data-page="index"] .faq-item,
html body[data-page="index"] .proof-item{
  border-color:#e2e5e8 !important;
  box-shadow:0 8px 22px rgba(22,25,34,.06) !important;
}

html body[data-page="index"] .re-rate-foot{
  background:#fff !important;
  border-top:1px solid #e9edf2 !important;
}

html body[data-page="index"] .re-rate-btns{
  gap:10px !important;
}

html body[data-page="index"] .re-rate-btns .rrb,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-btns > a{
  min-height:46px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

html body[data-page="index"] .re-rate-btns .rrb *,
html body[data-page="index"] .re-rate-btns .rrb i,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-btns > a *,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-btns > a i{
  color:inherit !important;
  opacity:1 !important;
}

html body[data-page="index"] .re-rate-btns .rrb-book,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-call{
  background:#0089f7 !important;
  border:1px solid #0089f7 !important;
  color:#fff !important;
}

html body[data-page="index"] .re-rate-btns .rrb-wa,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-wa{
  background:#161922 !important;
  border:1px solid #161922 !important;
  color:#fff !important;
}

html body[data-page="index"] .re-rate-btns .rrb-line,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-line{
  background:#06c755 !important;
  border:1px solid #06c755 !important;
  color:#fff !important;
}

html body[data-page="index"] .re-rate-btns .rrb:hover,
html body[data-page="index"] section.cta-sec:not(.cta-hook) .cta-btns > a:hover{
  filter:brightness(.96) !important;
  transform:translateY(-1px) !important;
}

html body[data-page="index"] .proof-bar{
  background:#fff !important;
  border-block:1px solid #e9edf2 !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook){
  background:#fff !important;
  border-top:1px solid #e9edf2 !important;
  border-bottom:1px solid #e9edf2 !important;
  box-shadow:none !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) h2{
  color:#161922 !important;
  text-shadow:none !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) p{
  color:#626262 !important;
}

@media (max-width:768px){
  html body[data-page="index"] .routes-section,
  html body[data-page="index"] #faq{
    background:#f8f8f8 !important;
  }

  html body[data-page="index"] .re-rate-btns{
    gap:9px !important;
  }

  html body[data-page="index"] .re-rate-btns .rrb{
    min-height:44px !important;
    border-radius:8px !important;
  }
}

/* Site-wide MWS-style lower sections: flat blue/white for every page. */
html body .routes-section,
html body #faq{
  background:#f8f8f8 !important;
}

html body .routes-board::before,
html body .routes-board-visual::before{
  display:none !important;
}

html body .routes-board{
  background:#fff !important;
  border:1px solid #e2e5e8 !important;
  border-radius:14px !important;
  box-shadow:0 8px 22px rgba(22,25,34,.06) !important;
}

html body .routes-board-brand{
  border-right-color:#e2e5e8 !important;
}

html body .routes-board-kicker{
  color:#1e77bc !important;
}

html body .routes-board-title h2{
  color:#161922 !important;
}

html body .routes-board-title p{
  color:#626262 !important;
  font-weight:500 !important;
}

html body .routes-board .re-rate-scroll{
  border:1px solid #e2e5e8 !important;
  border-radius:12px !important;
  box-shadow:0 8px 22px rgba(22,25,34,.05) !important;
}

html body .re-rate-table{
  background:#fff !important;
}

html body .re-rate-table thead th{
  background:#1e77bc !important;
  color:#fff !important;
  border-color:#1e77bc !important;
}

html body .re-rate-table td{
  background:#fff !important;
  border-bottom:1px solid #e9edf2 !important;
  color:#1e77bc !important;
}

html body .re-rate-table td.rr-route{
  color:#161922 !important;
}

html body .re-rate-table tbody tr:nth-child(even) td{
  background:#f8f8f8 !important;
}

html body .re-rate-table tbody tr:hover td,
html body .re-rate-table tr.rr-top td{
  background:#eef7ff !important;
}

html body .re-rate-table tr.rr-top td.rr-route{
  color:#1e77bc !important;
}

html body .re-rate-table .rr-tag{
  background:#ff6900 !important;
  color:#fff !important;
  box-shadow:none !important;
}

html body .re-rate-foot{
  background:#fff !important;
  border-top:1px solid #e9edf2 !important;
  margin-top:0 !important;
  padding:20px 8px 4px !important;
}

html body .re-rate-foot p{
  color:#626262 !important;
  font-weight:500 !important;
}

html body .re-rate-foot p b,
html body .re-rate-foot a{
  color:#1e77bc !important;
}

html body .re-rate-btns{
  gap:10px !important;
}

html body .re-rate-btns .rrb,
html body section.cta-sec .cta-btns > a{
  min-height:46px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

html body .re-rate-btns .rrb *,
html body .re-rate-btns .rrb i,
html body section.cta-sec .cta-btns > a *,
html body section.cta-sec .cta-btns > a i{
  color:inherit !important;
  opacity:1 !important;
}

html body .re-rate-btns .rrb-book,
html body section.cta-sec .cta-call{
  background:#0089f7 !important;
  border:1px solid #0089f7 !important;
  color:#fff !important;
}

html body .re-rate-btns .rrb-wa,
html body section.cta-sec .cta-wa{
  background:#161922 !important;
  border:1px solid #161922 !important;
  color:#fff !important;
}

html body .re-rate-btns .rrb-line,
html body section.cta-sec .cta-line{
  background:#06c755 !important;
  border:1px solid #06c755 !important;
  color:#fff !important;
}

html body .re-rate-btns .rrb:hover,
html body section.cta-sec .cta-btns > a:hover{
  filter:brightness(.96) !important;
  transform:translateY(-1px) !important;
}

html body .faq-item{
  background:#fff !important;
  border:1px solid #e2e5e8 !important;
  border-radius:10px !important;
  box-shadow:0 8px 22px rgba(22,25,34,.06) !important;
}

html body .faq-q{
  color:#161922 !important;
  font-weight:750 !important;
}

html body .faq-q:hover,
html body .faq-q.open{
  background:#eef7ff !important;
  color:#1e77bc !important;
}

html body .faq-q i{
  color:#1e77bc !important;
}

html body .faq-a{
  color:#626262 !important;
  border-top-color:#e9edf2 !important;
}

html body .faq-side img{
  border-color:#e2e5e8 !important;
  box-shadow:0 12px 28px rgba(30,119,188,.10) !important;
}

html body section.cta-sec{
  background:#fff !important;
  border-top:1px solid #e9edf2 !important;
  border-bottom:1px solid #e9edf2 !important;
  box-shadow:none !important;
}

html body section.cta-sec h2{
  color:#161922 !important;
  text-shadow:none !important;
}

html body section.cta-sec p{
  color:#626262 !important;
}

@media (max-width:768px){
  html body .routes-board{
    border-radius:12px !important;
    padding:18px 14px !important;
  }

  html body .routes-board-head{
    gap:14px !important;
  }

  html body .routes-board .re-rate-scroll{
    border-radius:10px !important;
    box-shadow:none !important;
  }

  html body .re-rate-btns{
    gap:9px !important;
  }

  html body .re-rate-btns .rrb{
    min-height:44px !important;
    border-radius:8px !important;
  }

  html body section.cta-sec{
    padding:42px 16px !important;
  }
}

/* Final booking CTA: MWS blue background on every page. */
html body section.cta-sec:not(.cta-hook){
  background:#1e77bc !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

html body section.cta-sec:not(.cta-hook) h2,
html body section.cta-sec:not(.cta-hook) h2 *,
html body section.cta-sec:not(.cta-hook) p,
html body section.cta-sec:not(.cta-hook) p *{
  color:#fff !important;
  text-shadow:none !important;
}

html body section.cta-sec:not(.cta-hook) p{
  opacity:.9 !important;
}

html body section.cta-sec:not(.cta-hook) .cta-call{
  background:#fff !important;
  border-color:#fff !important;
  color:#1e77bc !important;
}

html body section.cta-sec:not(.cta-hook) .cta-call i,
html body section.cta-sec:not(.cta-hook) .cta-call *{
  color:#1e77bc !important;
}

html body section.cta-sec:not(.cta-hook) .cta-wa{
  background:#161922 !important;
  border-color:#161922 !important;
  color:#fff !important;
}

html body section.cta-sec:not(.cta-hook) .cta-line{
  background:#06c755 !important;
  border-color:#06c755 !important;
  color:#fff !important;
}

html body section.cta-sec:not(.cta-hook) .cta-wa *,
html body section.cta-sec:not(.cta-hook) .cta-line *{
  color:#fff !important;
}

/* Topbar: flat MWS blue, no gradient. */
html body .topbar,
html body[data-page="index"] .topbar{
  background:#1e77bc !important;
  background-image:none !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}

html body .topbar *,
html body[data-page="index"] .topbar *{
  color:#fff !important;
}

html body .topbar .tb-brand,
html body[data-page="index"] .topbar .tb-brand{
  color:#fff !important;
  text-decoration-color:rgba(255,255,255,.7) !important;
}

/* Vehicle Options: MWS-style Book Now buttons on every page. */
html body #fleet,
html body section#fleet{
  background:#f8f8f8 !important;
}

html body #fleet .fleet-hd-badge{
  background:#eef7ff !important;
  color:#1e77bc !important;
  border:1px solid rgba(30,119,188,.18) !important;
  box-shadow:none !important;
}

html body #fleet .fc-card{
  background:#fff !important;
  border:1px solid #e2e5e8 !important;
  box-shadow:0 8px 22px rgba(22,25,34,.06) !important;
}

html body #fleet .fc-card.featured{
  border:2px solid #1e77bc !important;
  box-shadow:0 12px 28px rgba(30,119,188,.12) !important;
}

html body #fleet .fc-popular{
  background:#1e77bc !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}

html body #fleet .fc-btn-book,
html body .fc-btn-book,
html body[data-page="index"] .fc-btn-book{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:46px !important;
  background:#0089f7 !important;
  background-image:none !important;
  border:1px solid #0089f7 !important;
  border-radius:8px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

html body #fleet .fc-btn-book *,
html body #fleet .fc-btn-book i,
html body .fc-btn-book *,
html body .fc-btn-book i{
  color:#fff !important;
  opacity:1 !important;
}

html body #fleet .fc-btn-book:hover,
html body .fc-btn-book:hover,
html body[data-page="index"] .fc-btn-book:hover{
  background:#007cc3 !important;
  background-image:none !important;
  border-color:#007cc3 !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:none !important;
  filter:none !important;
}

html body #fleet .fc-features li::before{
  color:#1e77bc !important;
}

html body #fleet .fc-spec,
html body #fleet .fc-spec i{
  color:#1e77bc !important;
}

/* Index final CTA guard: keep Ready to Book blue with white copy. */
html body[data-page="index"] section.cta-sec:not(.cta-hook){
  background:#1e77bc !important;
  background-image:none !important;
}

html body[data-page="index"] section.cta-sec:not(.cta-hook) h2,
html body[data-page="index"] section.cta-sec:not(.cta-hook) h2 *,
html body[data-page="index"] section.cta-sec:not(.cta-hook) p,
html body[data-page="index"] section.cta-sec:not(.cta-hook) p *{
  color:#fff !important;
}

/* Index hero trust pills: restore original dark glass style. */
html body[data-page="index"] #heroSection .hero-pills .hero-pill{
  background:rgba(17,24,39,.58) !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}

html body[data-page="index"] #heroSection .hero-pill *,
html body[data-page="index"] #heroSection .hero-pill span,
html body[data-page="index"] #heroSection .hero-pill strong,
html body[data-page="index"] #heroSection .hero-pill small,
html body[data-page="index"] #heroSection .hero-pill i{
  color:#fff !important;
  opacity:1 !important;
}

html body[data-page="index"] #heroSection .hero-pill i{
  background:transparent !important;
}

/* Vehicle Options: match MWS Taxi price-card layout, using our car images. */
html body #fleet{
  background:#f8fbff !important;
}

html body #fleet .fleet-grid-mws{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
}

html body #fleet .fc-mws-card{
  min-height:100% !important;
  padding:34px 34px 38px !important;
  border:1.5px solid #bfe1fb !important;
  border-radius:8px !important;
  background:#f1f9ff !important;
  box-shadow:none !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  overflow:hidden !important;
}

html body #fleet .fc-mws-card::before,
html body #fleet .fc-mws-card::after{
  display:none !important;
  content:none !important;
}

html body #fleet .fc-mws-card:hover{
  transform:none !important;
  border-color:#9fd2f7 !important;
  box-shadow:0 10px 26px rgba(30,119,188,.10) !important;
}

html body #fleet .fc-mws-card .fc-img{
  width:100% !important;
  height:175px !important;
  margin:0 auto 26px !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:none !important;
  transform:none !important;
}

html body #fleet .fc-mws-card:hover .fc-img{
  transform:none !important;
}

html body #fleet .fc-mws-card .fc-namebar{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  margin:0 0 18px !important;
  text-align:center !important;
}

html body #fleet .fc-mws-card .fc-name{
  width:100% !important;
  color:#1e77bc !important;
  font-size:22px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}

html body #fleet .fc-mws-card .fc-price-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:100% !important;
  margin:0 0 30px !important;
  color:#1e77bc !important;
}

html body #fleet .fc-mws-card .fc-price-row strong{
  color:#1e77bc !important;
  font-size:20px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}

html body #fleet .fc-mws-card .fc-price-row strong span{
  color:#1e77bc !important;
  font-size:.85em !important;
  margin-left:1px !important;
}

html body #fleet .fc-mws-card .fc-price-row small{
  max-width:58px !important;
  color:#1e77bc !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  text-align:left !important;
}

html body #fleet .fc-mws-card .fc-mws-line{
  width:140px !important;
  height:1px !important;
  margin:0 auto 28px !important;
  background:#1e77bc !important;
}

html body #fleet .fc-mws-card .fc-features{
  width:100% !important;
  flex:1 1 auto !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

html body #fleet .fc-mws-card .fc-features li{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  padding:10px 8px !important;
  border-bottom:1px solid #d3d9de !important;
  color:#2b2b2b !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:400 !important;
  text-align:center !important;
}

html body #fleet .fc-mws-card .fc-features li::before{
  display:none !important;
  content:none !important;
}

html body #fleet .fc-mws-card .fc-btns{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  padding:26px 0 0 !important;
  margin:0 !important;
}

html body #fleet .fc-mws-card .fc-btn-book{
  width:auto !important;
  min-width:158px !important;
  min-height:50px !important;
  padding:13px 28px !important;
  border-radius:999px !important;
  background:#1e77bc !important;
  background-image:none !important;
  border:0 !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:800 !important;
  box-shadow:0 12px 22px rgba(30,119,188,.26) !important;
}

html body #fleet .fc-mws-card .fc-btn-book:hover{
  background:#007cc3 !important;
  transform:none !important;
  box-shadow:0 12px 22px rgba(30,119,188,.26) !important;
}

@media (max-width:1100px){
  html body #fleet .fleet-grid-mws{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px){
  html body #fleet .fleet-grid-mws{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  html body #fleet .fc-mws-card{
    padding:24px 18px 30px !important;
    background:linear-gradient(180deg,#ffffff 0%,#eef8ff 100%) !important;
    border-color:#b8dcf7 !important;
    box-shadow:0 12px 28px rgba(30,119,188,.10) !important;
  }

  html body #fleet .fc-mws-card .fc-img{
    width:112% !important;
    max-width:none !important;
    height:205px !important;
    margin:-8px -6% 18px !important;
    object-fit:contain !important;
    filter:drop-shadow(0 18px 18px rgba(22,25,34,.16)) !important;
  }

  html body #fleet .fc-mws-card .fc-name{
    font-size:19px !important;
  }

  html body #fleet .fc-mws-card .fc-price-row strong{
    font-size:18px !important;
  }

  html body #fleet .fc-mws-card .fc-features li{
    min-height:46px !important;
    font-size:14px !important;
  }
}

@media (max-width:390px){
  html body #fleet .fc-mws-card .fc-img{
    height:190px !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   VEHICLE OPTIONS — elegant "wow" price cards (overrides block above)
   ══════════════════════════════════════════════════════════════ */
html body #fleet{
  background:#f4f8fd !important;
}
html body #fleet .fleet-grid-mws{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
html body #fleet .fc-mws-card{
  min-height:100% !important;
  padding:28px 22px 26px !important;
  border:1px solid #e8f0f9 !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 12px 34px rgba(15,40,86,.07) !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  overflow:hidden !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
html body #fleet .fc-mws-card:hover{
  transform:translateY(-5px) !important;
  border-color:#cfe4fa !important;
  box-shadow:0 22px 48px rgba(30,119,188,.18) !important;
}
html body #fleet .fc-mws-card .fc-img{
  width:112% !important;
  max-width:112% !important;
  height:190px !important;
  margin:0 -6% 16px !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:drop-shadow(0 16px 18px rgba(22,25,34,.16)) !important;
  transform:scale(1.35) !important;
  transition:transform 1.1s cubic-bezier(.2,.65,.2,1) !important;
}
html body #fleet .fc-mws-card:hover .fc-img{
  transform:scale(1.5) !important;
}
html body #fleet .fc-mws-card .fc-namebar{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  margin:0 0 3px !important;
  text-align:center !important;
}
html body #fleet .fc-mws-card .fc-name{
  width:100% !important;
  color:#0f2444 !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
html body #fleet .fc-mws-card .fc-startfrom{
  color:#7b8aa3 !important;
  font-size:13px !important;
  font-weight:600 !important;
  margin:0 0 3px !important;
}
html body #fleet .fc-mws-card .fc-price-row{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:1px !important;
  width:100% !important;
  margin:0 0 14px !important;
}
html body #fleet .fc-mws-card .fc-price-row strong{
  color:#1e77bc !important;
  font-size:26px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
html body #fleet .fc-mws-card .fc-price-row strong span{
  color:#1e77bc !important;
  font-size:.68em !important;
  font-weight:800 !important;
  margin-left:2px !important;
}
html body #fleet .fc-mws-card .fc-mws-line{
  width:46px !important;
  height:2px !important;
  margin:0 auto 16px !important;
  background:#1e77bc !important;
  border-radius:2px !important;
}
html body #fleet .fc-mws-card .fc-features{
  width:100% !important;
  flex:1 1 auto !important;
  list-style:none !important;
  margin:0 0 18px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
html body #fleet .fc-mws-card .fc-features li{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  color:#445069 !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  text-align:center !important;
}
html body #fleet .fc-mws-card .fc-features li i{
  color:#1e77bc !important;
  font-size:13px !important;
  flex:0 0 auto !important;
}
html body #fleet .fc-mws-card .fc-features li::before{
  display:none !important;
  content:none !important;
}
html body #fleet .fc-mws-card .fc-btns{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}
html body #fleet .fc-mws-card .fc-btn-book{
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  background:#fff !important;
  background-image:none !important;
  border:1.5px solid #1e77bc !important;
  color:#1e77bc !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
  transition:background .2s ease, color .2s ease !important;
}
html body #fleet .fc-mws-card .fc-btn-book:hover{
  background:#1e77bc !important;
  color:#fff !important;
  transform:none !important;
  box-shadow:0 12px 22px rgba(30,119,188,.26) !important;
}
/* First card = highlighted (filled) as the "popular" pick */
html body #fleet .fleet-grid-mws .fc-mws-card:first-child .fc-btn-book{
  background:#1e77bc !important;
  color:#fff !important;
  box-shadow:0 12px 22px rgba(30,119,188,.24) !important;
}

/* Tablet: 2 columns */
@media (max-width:1100px){
  html body #fleet .fleet-grid-mws{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }
}
/* Mobile: 2 columns, price stays clear */
@media (max-width:640px){
  html body #fleet .fleet-grid-mws{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  html body #fleet .fc-mws-card{
    padding:18px 12px 20px !important;
    border-radius:16px !important;
  }
  html body #fleet .fc-mws-card .fc-img{
    width:116% !important;
    max-width:116% !important;
    height:148px !important;
    margin:0 -8% 12px !important;
  }
  html body #fleet .fc-mws-card .fc-name{
    font-size:15px !important;
  }
  html body #fleet .fc-mws-card .fc-startfrom{
    font-size:11.5px !important;
  }
  html body #fleet .fc-mws-card .fc-price-row{
    margin:0 0 12px !important;
  }
  html body #fleet .fc-mws-card .fc-price-row strong{
    font-size:22px !important;
  }
  html body #fleet .fc-mws-card .fc-mws-line{
    margin:0 auto 12px !important;
  }
  html body #fleet .fc-mws-card .fc-features{
    margin:0 0 14px !important;
    gap:7px !important;
  }
  html body #fleet .fc-mws-card .fc-features li{
    font-size:12.5px !important;
  }
  html body #fleet .fc-mws-card .fc-btn-book{
    min-height:40px !important;
    padding:9px 8px !important;
    font-size:11px !important;
    letter-spacing:.04em !important;
  }
}

/* Desktop midbanner: remove the outer frame around the intro column on every page. */
@media (min-width:769px){
  html body .midbanner-left{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}

/* Index mobile hero composition: center headline block, CTA floats above car roof. */
@media (max-width:768px){
  html body[data-page="index"] #heroSection .hero-inner{
    padding-top:102px !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }

  html body[data-page="index"] #heroSection .hero-left{
    width:100% !important;
    max-width:330px !important;
    margin:0 auto !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    position:relative !important;
    z-index:5 !important;
  }

  html body[data-page="index"] #heroSection .hero-kicker{
    margin:0 auto 14px !important;
    max-width:260px !important;
    justify-content:center !important;
    text-align:center !important;
  }

  html body[data-page="index"] #heroSection .hero-title{
    width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  html body[data-page="index"] #heroSection .hero-mobile-book-row{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    margin:14px auto 0 !important;
    position:relative !important;
    z-index:40 !important;
    transform:translateY(0) !important;
    overflow:visible !important;
  }

  html body[data-page="index"] #heroSection .hero-mobile-book-btn{
    min-width:212px !important;
    height:46px !important;
    min-height:46px !important;
    max-height:none !important;
    padding:0 24px !important;
    border-radius:999px !important;
    background:#0089f7 !important;
    background-image:none !important;
    border:1px solid rgba(255,255,255,.25) !important;
    box-shadow:0 14px 28px rgba(0,82,170,.28) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    overflow:visible !important;
  }

  html body[data-page="index"] #heroSection .hero-mobile-book-btn i{
    line-height:1 !important;
  }
}

@media (max-width:390px){
  html body[data-page="index"] #heroSection .hero-inner{
    padding-top:98px !important;
  }

  html body[data-page="index"] #heroSection .hero-left{
    max-width:310px !important;
  }

  html body[data-page="index"] #heroSection .hero-mobile-book-row{
    transform:translateY(0) !important;
  }
}

/* Index mobile hero: hard-center the headline/CTA block in the sky area. */
@media (max-width:768px){
  html body[data-page="index"] #heroSection{
    position:relative !important;
  }

  html body[data-page="index"] #heroSection .hero-inner{
    position:static !important;
    padding-top:0 !important;
  }

  html body[data-page="index"] #heroSection .hero-left{
    position:absolute !important;
    left:50% !important;
    top:214px !important;
    transform:translate(-50%,-50%) !important;
    width:min(88vw,330px) !important;
    max-width:min(88vw,330px) !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  html body[data-page="index"] #heroSection .hero-kicker,
  html body[data-page="index"] #heroSection .hero-title,
  html body[data-page="index"] #heroSection .hero-mobile-book-row{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  html body[data-page="index"] #heroSection .hero-mobile-book-row{
    transform:none !important;
  }
}

@media (max-width:390px){
  html body[data-page="index"] #heroSection .hero-left{
    top:206px !important;
    width:min(90vw,312px) !important;
    max-width:min(90vw,312px) !important;
  }
}

/* Final desktop guard: no outer frame around the midbanner intro column. */
@media (min-width:769px){
  html body .midbanner-left,
  html body[data-page="index"] .midbanner-left{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  html body .midbanner-grid{
    gap:48px !important;
    align-items:center !important;
  }

  html body .midbanner-tag{
    margin-bottom:14px !important;
  }

  html body .midbanner-ttl{
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body .midbanner-sub{
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    color:#4b5563 !important;
  }

  html body .midbanner-left .intent-grid{
    gap:18px !important;
    margin-top:28px !important;
  }

  html body .midbanner-left .intent-card{
    border:1px solid #e7edf5 !important;
    box-shadow:none !important;
    background:#fff !important;
  }
}

/* Customer Photos mobile: keep the page compact, reveal the rest on tap. */
html body .customers-more-wrap{
  display:none;
}

@media (max-width:768px){
  html body .customers-section:not(.customers-expanded) .customer-extra{
    display:none !important;
  }

  html body .customers-more-wrap{
    display:flex !important;
    justify-content:center !important;
    margin:16px 0 0 !important;
  }

  html body .customers-more-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    min-height:44px !important;
    padding:0 18px !important;
    border:1px solid #bfe1fb !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#1e77bc !important;
    font:inherit !important;
    font-size:13px !important;
    font-weight:850 !important;
    line-height:1 !important;
    box-shadow:0 10px 24px rgba(30,119,188,.10) !important;
    cursor:pointer !important;
  }

  html body .customers-more-btn i{
    color:#0089f7 !important;
    font-size:13px !important;
  }

  html body .customers-section.customers-expanded .customers-more-wrap{
    display:none !important;
  }
}

/* ─── Mobile midbanner reorder (ALL pages): tag → title → intro → BANNER → promises → sign-off ─── */
@media (max-width: 768px){
  html body .midbanner-grid{
    display:flex !important;
    flex-direction:column !important;
  }
  /* Flatten the left column so its children join the flex order */
  html body .midbanner-grid > .midbanner-left{ display:contents !important; }

  /* Default: anything unlisted sinks below the main story */
  html body .midbanner-grid > *,
  html body .midbanner-grid > .midbanner-left > *{ order:10; }

  html body .midbanner-grid .midbanner-tag{ order:1 !important; margin-top:26px !important; }
  html body .midbanner-grid .midbanner-ttl{ order:2 !important; }
  html body .midbanner-grid .midbanner-sub{ order:3 !important; margin-bottom:4px !important; }
  html body .midbanner-grid > div.midbanner-right{
    order:4 !important;
    padding:0 !important;
    margin:16px 0 20px !important;
  }
  html body .midbanner-grid .opx-promises{ order:5 !important; margin-top:0 !important; }
  html body .midbanner-grid .opx-sign{ order:6 !important; }
  html body .midbanner-grid .intent-grid{ order:7 !important; }
  html body .midbanner-grid > .midbanner-chat-cta{ order:11 !important; }
  html body .midbanner-grid > .cta-hook{ order:12 !important; }
}
