:root{
    --ink:#0B0F19;--navy:#111827;--navy-light:#1F2937;--saffron:#F59E0B;--saffron-glow:rgba(245,158,11,0.15);
    --saffron-light:#FEF3C7;--white:#FFFFFF;--gray-50:#F9FAFB;--gray-100:#F3F4F6;--gray-200:#E5E7EB;
    --gray-300:#D1D5DB;--gray-400:#9CA3AF;--gray-500:#6B7280;--gray-600:#4B5563;--success:#10B981;
    --sand:#FBF6EC;--amber-ink:#92400E;
    --promo-offset:0px;
    --radius:20px;--radius-sm:12px;--radius-xs:8px;
    --shadow-sm:0 1px 2px rgba(11,15,25,0.04);--shadow:0 4px 12px rgba(11,15,25,0.06);
    --shadow-lg:0 12px 32px rgba(11,15,25,0.08);--shadow-xl:0 24px 48px rgba(11,15,25,0.12);
    --shadow-glow:0 0 40px rgba(245,158,11,0.12);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3,h4,.display{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-0.03em;line-height:1.1;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 28px;}
  button{font-family:inherit;cursor:pointer;border:none;}

  @keyframes fadeUp{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:translateY(0);}}
  @keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
  @keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
  @keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0.4);}50%{box-shadow:0 0 0 12px rgba(245,158,11,0);}}
  @keyframes gradient-shift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
  @keyframes shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
  @keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
  @keyframes slideInRight{from{opacity:0;transform:translateX(60px);}to{opacity:1;transform:translateX(0);}}
  @keyframes scaleIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}
  @keyframes routeDraw{from{stroke-dashoffset:1000;}to{stroke-dashoffset:0;}}
  @keyframes dotPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.5);opacity:0.6;}}

  .anim-hidden{opacity:0;}
  .anim-visible{animation:fadeUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards;}
  .anim-delay-1{animation-delay:0.1s;}
  .anim-delay-2{animation-delay:0.2s;}
  .anim-delay-3{animation-delay:0.3s;}
  .anim-delay-4{animation-delay:0.4s;}

  /* ---------- NAV ---------- */
  nav{position:fixed;top:var(--promo-offset,0px);left:0;right:0;z-index:100;background:rgba(255,255,255,0.85);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--gray-200);transition:background 0.3s ease, top 0.3s ease;}
  nav.scrolled{background:rgba(255,255,255,0.96);box-shadow:var(--shadow);}
  nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
  .logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;color:var(--ink);display:flex;align-items:center;gap:10px ;}

  .logo-img { max-height: 100px; width: auto; object-fit: contain; display: block; margin-left: -90px;}
  .logo { display: flex; align-items: center; gap: 10px; height: 120px; width:200px;}
 
  footer .logo-img { max-height: 56px; width: auto; filter: none; }
  footer .logo-text { color: var(--ink); }
  .nav-links{display:flex;gap:36px;font-size:14px;font-weight:600;color:var(--ink);}
  .nav-links a{position:relative;padding:4px 0;transition:color 0.2s;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--saffron);border-radius:2px;transition:width 0.3s cubic-bezier(0.16,1,0.3,1);}
  .nav-links a:hover{color:var(--saffron);}
  .nav-links a:hover::after{width:100%;}
  .nav-links a.active{color:var(--saffron);}
  .nav-links a.active::after{width:100%;}
  .nav-links, 
.dropdown-menu {
  list-style: none; /* Removes bullet points */
  margin: 0;
  padding: 0;
}

.nav-links > li {
  position: relative; /* CRITICAL: Anchors dropdown directly under this item */
}



/* 2. Dropdown Positioned Directly Under 'Transfers' */
.dropdown-menu {
  position: absolute;
  top: 100%;           /* Positions menu right below the parent header item */
  left: 0;             /* Aligns left edge directly under 'Transfers' text */
  background-color: #ffffff;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  min-width: 240px;    /* Menu width */
  padding: 8px 0;
  z-index: 1000;
  
  /* Hidden state */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Hover Trigger */
.dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
}

/* Individual Dropdown Links */
.dropdown-menu li {
  list-style: none; /* Backup: removes bullet points for nested list items */
}

.dropdown-menu a {
  color: #333333;
  padding: 10px 16px;
  font-size: 14px;
  display: block;
  white-space: nowrap;
  transition: background-color 0.2s ease;
}

.dropdown-menu a:hover {
  background-color: #f5f5f5;
  color:rgba(26, 45, 86, 0.97);
}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:100px;font-size:14px;font-weight:600;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;}
  .btn-primary{background:linear-gradient(135deg,var(--saffron),#D97706);color:var(--white);box-shadow:0 4px 16px rgba(245,158,11,0.3);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(245,158,11,0.4);}
  .btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s;}
  .btn-primary:hover::before{left:100%;}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--gray-200); }
  .btn-ghost:hover{border-color:var(--saffron);color:var(--saffron);background:var(--saffron-light);}
  .btn-white{background:var(--white);color:var(--ink);box-shadow:var(--shadow);}
  .btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
  .btn-navy{background:var(--navy);color:var(--white);}
  .btn-navy:hover{background:var(--navy-light);transform:translateY(-2px);}
  .btn-outline-white{border:1.5px solid rgba(255,255,255,0.3);color:var(--white);background:transparent;}
  .btn-outline-white:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5);}
  .btn-lg{padding:16px 32px;font-size:15px;}
  .mobile-toggle{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;}
  .mobile-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:all 0.3s;}
  /* Hide language switcher on desktop */
.nav-lang-mobile {
  display: none;
}

/* Show it on tablet & mobile, pushed to the right next to the hamburger */
@media (max-width: 1100px) {
  .nav-lang-mobile {
    display: inline-flex;
    margin-left: auto;   /* pushes EN + hamburger to the right */
    margin-right: 8px;   /* small gap before the hamburger */
    padding: 10px 16px;
    font-size: 13px;
    color: var(--ink);
    border-color: var(--gray-200);
  }

  /* Remove the auto-margin from hamburger since .nav-lang-mobile now handles the push */
  .mobile-toggle {
    margin-left: 0;
    margin-right: 5px;
  }
}

/* At very small sizes, keep EN visible but remove hamburger right margin when nav-cta hides */
@media (max-width: 680px) {
  .mobile-toggle {
    margin-right: 0;
  }
  .btn-ghost{
    margin-left: 190px;
    margin-right: 20px;
    height: 40px;
  }
  .logo{
    
    height: 70px;
  }
  .logo-img{
    height: 90px;
    width: 90px;
    margin-left: 2px;
} 
}

  /* ---------- RESULTS SECTION (lives in the page, not inside the calculator box) ---------- */
  /* When results are ready, the whole calculator/hero area is hidden and this
     section takes over: a plain, full-width block with the map and vehicle
     price cards, sized by its own content — nothing is ever clipped. */
  .hero.results-active{min-height:auto;padding:calc(96px + var(--promo-offset,0px)) 0 40px;}
  .hero.results-active .hero-grid{display:none;}

  .results-panel{display:none;position:relative;z-index:2}
  .results-panel.active{display:block;}

  .results-panel-inner{margin:0 auto; }
  .results-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start; margin-top:20px;}
  .results-map-col .route-map{height:460px;margin-bottom:0;}
   .results-vehicles-col{ width:600px}
  .results-vehicles-col .result-vehicles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 

  /* Compact version of the route-visual bar, used above the vehicle cards
     instead of its normal full-width placement */
  .route-visual.route-visual-compact{margin-bottom:14px;padding:10px 14px;gap:10px;}
  .route-visual.route-visual-compact .r-info strong{font-size:13px;}
  .route-visual.route-visual-compact .r-info span{font-size:11px;}
  .route-visual.route-visual-compact .r-dist strong{font-size:17px;}
  .route-visual.route-visual-compact .r-dist span{font-size:10.5px;}

  @media(max-width:900px){
    .results-columns{grid-template-columns:1fr;}
    .results-map-col .route-map{height:280px;}
  }
  @media(max-width:520px){
    .results-vehicles-col .result-vehicles{grid-template-columns:1fr;}
    .results-map-col .route-map{height:280px;}
    .results-vehicles-col{width:100%}
  }

  /* ---------- PROMO BAR ---------- */
  .promo-bar{
    position:fixed;top:0;left:0;right:0;z-index:110;
    background:linear-gradient(90deg,var(--saffron),#D97706);
    color:#fff;
    padding:11px 44px 11px 16px;
    display:flex;align-items:center;justify-content:center;gap:14px;
    flex-wrap:wrap;
    font-size:13.5px;font-weight:600;line-height:1.4;
    text-align:center;
  }
  .promo-bar strong{font-weight:800;}
  .promo-bar-cta{
    background:rgba(255,255,255,0.22);
    padding:5px 14px;border-radius:100px;
    color:#fff;text-decoration:none;font-weight:700;font-size:12.5px;
    white-space:nowrap;transition:background 0.2s;flex-shrink:0;
  }
  .promo-bar-cta:hover{background:rgba(255,255,255,0.34);}
  .promo-bar-close{
    position:absolute;right:10px;top:50%;transform:translateY(-50%);
    background:none;border:none;color:#fff;font-size:20px;line-height:1;
    cursor:pointer;opacity:0.85;padding:6px;
  }
  .promo-bar-close:hover{opacity:1;}
  @media(max-width:560px){
    .promo-bar{font-size:12.5px;padding:10px 40px 10px 12px;gap:8px;}
    .promo-bar-cta{font-size:11.5px;padding:4px 11px;}
  }

  /* ---------- HERO ---------- */
  /* background:linear-gradient(180deg,#FFFFFF 0%,var(--sand) 100%) */
  .hero{min-height:100vh;background:url(images/background.jfif);color:var(--ink);padding:calc(140px + var(--promo-offset,0px)) 0 80px;position:relative;overflow:hidden;display:flex;align-items:center;transition:padding-top 0.3s ease;}
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-bg .orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.35;}
  .hero-bg .orb-1{width:600px;height:600px;background:linear-gradient(135deg,#FDE9C8,#F8C978);top:-220px;right:-120px;opacity:0.55;animation:float 8s ease-in-out infinite;}
  .hero-bg .orb-2{width:420px;height:420px;background:linear-gradient(135deg,var(--saffron),#FCD34D);bottom:-120px;left:-100px;opacity:0.14;animation:float 10s ease-in-out infinite 1s;}
  .hero-bg .orb-3{width:320px;height:320px;background:#F0DCCB;top:38%;left:32%;opacity:0.30;animation:float 12s ease-in-out infinite 2s;}
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;}
  .hero-badge{display:inline-flex;align-items:center;gap:10px;background:var(--saffron-light);border:1px solid rgba(245,158,11,0.3);padding:10px 18px;border-radius:100px;font-size:13px;font-weight:600;color:var(--amber-ink);margin-bottom:28px;}
  .hero-badge .dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse-glow 2s infinite;}
  .hero h1{font-size:58px;line-height:1.05;max-width:600px;margin-bottom:24px;color:var(--ink);}
  .hero h1 em{font-style:italic;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .hero p.lead{font-size:18px;color:var(--gray-600);max-width:480px;margin-bottom:36px;line-height:1.7;}
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
  .hero-stats{display:flex;gap:48px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(11,15,25,0.08);max-width:540px;}
  .hero-stats div strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:700;}
  .hero-stats .stat-num{color:var(--ink);font-size:36px;}
  .hero-stats .stat-sym{color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; font-size:36px;}
  .hero-stats div span{font-size:13px;color:var(--gray-500);font-weight:500;}

  /* ---------- CALCULATOR CARD ---------- */
  .calc-card{background:var(--white);border:1px solid var(--gray-200);border-radius:28px;padding:36px;box-shadow:var(--shadow-xl);position:relative;overflow:visible;}
  .calc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,var(--saffron),#D97706);}
  .calc-card h3{font-size:18px;margin-bottom:6px;color:var(--ink);font-family:'Space Grotesk',sans-serif;}

  .calc-card-head{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
  .calc-icon{flex-shrink:0;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--saffron),#D97706);display:flex;align-items:center;justify-content:center;font-size:19px;box-shadow:0 6px 18px rgba(245,158,11,0.35);}
  .calc-card h3{font-size:clamp(16px,1.6vw,18px);margin-bottom:3px;color:var(--ink);font-family:'Space Grotesk',sans-serif;letter-spacing:-0.01em;}
  .calc-sub{font-size:13px;color:var(--gray-500);}

  .input-group{margin-bottom:14px;position:relative;}
  .input-group label{display:block;font-size:11px;font-weight:600;color:var(--gray-600);margin-bottom:7px;text-transform:uppercase;letter-spacing:0.07em;}
  .input-group input,.input-group select{
    width:100%;
    min-height:50px;
    padding:13px 16px 13px 44px;
    border:1.5px solid var(--gray-200);
    border-radius:14px;
    font-family:inherit;
    font-size:14.5px;
    background:var(--gray-50);
    color:var(--ink);
    transition:border-color 0.25s,background 0.25s,box-shadow 0.25s;
    appearance:none;
    -webkit-appearance:none;
  }
  .input-group select{
    padding-right:38px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23F59E0B' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 16px center;
    cursor:pointer;
  }
  .input-group input:hover,.input-group select:hover{border-color:var(--gray-300);}
  .input-group input:focus,.input-group select:focus{outline:none;border-color:var(--saffron);background:var(--white);box-shadow:0 0 0 4px rgba(245,158,11,0.15);}
  .input-group input::placeholder{color:var(--gray-400);}
  .input-icon{position:absolute;top:38px;left:15px;font-size:17px;opacity:0.7;pointer-events:none;line-height:1;}
  .input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}

  .swap-btn{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:34px;height:34px;background:linear-gradient(135deg,var(--saffron),#D97706);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--white);font-size:15px;cursor:pointer;z-index:5;
    border:3px solid var(--white);box-shadow:0 4px 14px rgba(245,158,11,0.35);
    transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  }
  .swap-btn:hover{transform:translate(-50%,-50%) rotate(180deg) scale(1.1);}
  .swap-btn:active{transform:translate(-50%,-50%) rotate(180deg) scale(0.94);}

  .autocomplete-list{position:absolute;top:100%;left:0;right:0;background:var(--white);border-radius:12px;margin-top:6px;max-height:220px;overflow-y:auto;z-index:50;box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);display:none;}
  .autocomplete-list.active{display:block;animation:fadeUp 0.2s ease;}
  .autocomplete-item{padding:12px 16px;font-size:14px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--gray-100);transition:all 0.15s;display:flex;align-items:center;gap:10px;}
  .autocomplete-item:last-child{border-bottom:none;}
  .autocomplete-item:hover{background:var(--saffron-light);color:var(--amber-ink);}
  .autocomplete-item .loc-icon{font-size:16px;}

  .calc-btn{width:100%;margin-top:10px;padding:16px;border-radius:14px;font-size:15px;font-weight:700;letter-spacing:-0.01em;}

  /* ---------- RESULTS PANEL ---------- */
  .results-panel{display:none;animation:fadeIn 0.5s ease;}
  .results-panel.active{display:block;}
  
  .calc-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin-bottom:10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--gray-500);cursor:pointer;transition:color 0.2s;}
  .calc-back-btn:hover{color:var(--saffron);}
  .route-map{width:100%;height:200px;border-radius:16px;overflow:hidden;margin-bottom:18px;border:1px solid var(--gray-200);background:var(--gray-50);}
  .route-map .leaflet-control-attribution{font-size:9px;}
  .route-visual{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:16px 18px;background:var(--gray-50);border-radius:16px;border:1px solid var(--gray-200);flex-wrap:wrap;}
  .route-visual .r-dot{width:9px;height:9px;border-radius:50%;background:var(--saffron);box-shadow:0 0 12px rgba(245,158,11,0.5);animation:dotPulse 2s infinite;flex-shrink:0;}
  .route-visual .r-line{flex:1;min-width:24px;height:2px;background:linear-gradient(90deg,var(--saffron),rgba(245,158,11,0.3));border-radius:2px;position:relative;overflow:hidden;}
  .route-visual .r-line::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--saffron),transparent);animation:shimmer 2s infinite;}
  .route-visual .r-info{flex:1 1 auto;min-width:0;}
  .route-visual .r-info strong{display:block;font-size:14.5px;overflow-wrap:anywhere;color:var(--ink);}
  .route-visual .r-info span{font-size:12px;color:var(--gray-500);}
  .route-visual .r-dist{text-align:right;flex-shrink:0;}
  .route-visual .r-dist strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:21px;white-space:nowrap;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .route-visual .r-dist span{font-size:11px;color:var(--gray-400);}

  .result-vehicles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
  .rv-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:14px;padding:10px;cursor:pointer;transition:transform 0.25s,background 0.25s,border-color 0.25s,box-shadow 0.25s;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);}
  .rv-card:hover{background:var(--gray-50);border-color:var(--saffron);transform:translateY(-3px);box-shadow:var(--shadow);}
  .rv-card:focus-visible{outline:2px solid var(--saffron);outline-offset:2px;}
  .rv-card.selected{background:var(--saffron-light);border-color:var(--saffron);box-shadow:0 8px 20px rgba(245,158,11,0.18);}
  .rv-card .rv-top{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
  .rv-card .rv-emoji{font-size:26px;line-height:1;}
  .rv-img-wrap{width:114px;height:58px;border-radius:9px;background:var(--gray-50);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:1px solid var(--gray-200);}
  .rv-img{width:100%;height:100%;object-fit:contain;padding:4px;transition:transform 0.3s;}
  .rv-card:hover .rv-img{transform:scale(1.05);}
  .rv-card .rv-price{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;white-space:nowrap;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .rv-card .rv-name{font-size:12.5px;font-weight:700;margin-bottom:2px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .rv-card .rv-meta{font-size:9.5px;color:var(--gray-500);display:flex;gap:6px;flex-wrap:wrap;}
  .rv-card .rv-meta span{display:flex;align-items:center;gap:3px;}
  .rv-card .rv-tag{position:absolute;top:8px;right:8px;background:var(--saffron);color:var(--white);font-size:8px;font-weight:700;padding:2px 6px;border-radius:100px;text-transform:uppercase;}
  .rv-select{width:100%;margin-top:6px;padding:6px;border-radius:8px;background:var(--saffron);color:var(--white);font-size:11.5px;font-weight:700;border:none;opacity:0;transform:translateY(6px);transition:opacity 0.25s,transform 0.25s;}
  .rv-card.selected .rv-select,.rv-card:hover .rv-select,.rv-card:focus-within .rv-select{opacity:1;transform:translateY(0);}

  .results-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;padding:16px 10px;background:var(--gray-50);border-radius:14px;border:1px solid var(--gray-200);}
  .results-summary div{text-align:center;min-width:0;}
  .results-summary div strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:clamp(15px,4vw,20px);white-space:nowrap;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .results-summary div span{font-size:11.5px;color:var(--gray-500);}

  /* ---------- LOADING ---------- */
  .calc-loading{display:none;text-align:center;padding:40px 0;}
  .calc-loading.active{display:block;}
  .calc-loading .spinner{width:44px;height:44px;border:3px solid var(--gray-200);border-top-color:var(--saffron);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 16px;}
  .calc-loading p{font-size:14px;color:var(--gray-500);}

  /* ---------- STEP INDICATOR ---------- */
  .calc-steps{display:flex;align-items:center;gap:8px;margin-bottom:20px;}
  .calc-step{display:flex;align-items:center;gap:8px;flex-shrink:0;}
  .calc-step-dot{position:relative;width:22px;height:22px;border-radius:50%;background:var(--gray-100);border:1.5px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.3s;}
  .calc-step-num{font-size:11px;font-weight:700;color:var(--gray-500);transition:opacity 0.2s;}
  .calc-step-check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--white);opacity:0;transform:scale(0.5);transition:all 0.25s;}
  .calc-step-label{font-size:12px;font-weight:600;color:var(--gray-400);transition:color 0.3s;white-space:nowrap;}
  .calc-step.active .calc-step-dot{background:linear-gradient(135deg,var(--saffron),#D97706);border-color:transparent;box-shadow:0 0 0 4px rgba(245,158,11,0.15);}
  .calc-step.active .calc-step-num{opacity:0;}
  .calc-step.active .calc-step-check{opacity:1;transform:scale(1);}
  .calc-step.active .calc-step-label{color:var(--ink);}
  .calc-step.done .calc-step-dot{background:linear-gradient(135deg,var(--saffron),#D97706);border-color:transparent;}
  .calc-step.done .calc-step-num{opacity:0;}
  .calc-step.done .calc-step-check{opacity:1;transform:scale(1);}
  .calc-step.done .calc-step-label{color:var(--gray-600);}
  .calc-step-line{flex:1;height:2px;background:var(--gray-200);border-radius:2px;position:relative;overflow:hidden;}
  .calc-step-line-fill{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,var(--saffron),#FCD34D);border-radius:2px;transition:width 0.5s cubic-bezier(0.65,0,0.35,1);}
  .calc-steps.step-loading .calc-step-line-fill{width:50%;}
  .calc-steps.step-done .calc-step-line-fill{width:100%;}

  /* ---------- SEGMENTED TABS ---------- */
  .sr-only-field{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  .segmented{display:flex;flex-wrap:wrap;gap:6px;}
  .seg-btn{
    flex:1 1 auto;
    min-width:38px;
    display:flex; align-items:center; justify-content:center;gap:2px;
    flex-direction: column;
    padding:12px 8px;
    height: 50px;
    
    border-radius:12px;
    border:1.5px solid var(--gray-200);
    background:var(--gray-50);
    color:var(--gray-600);
    font-family:inherit;font-size:13px;font-weight:600;
    cursor:pointer;
    transition:border-color 0.2s,background 0.2s,color 0.2s,transform 0.15s;
    white-space:nowrap;
  }
  .seg-btn:hover{border-color:var(--gray-300);color:var(--ink);}
  .seg-btn:active{transform:scale(0.96);}
  .seg-btn.active{background:linear-gradient(135deg,var(--saffron),#D97706);border-color:transparent;color:var(--white);box-shadow:0 4px 14px rgba(245,158,11,0.35);}
  .seg-btn:focus-visible{outline:2px solid var(--saffron);outline-offset:2px;}
  .segmented-icons .seg-btn{flex:1 1 0;font-size:12.5px;}
  .seg-icon{font-size:14px;}

  /* ---------- QUANTITY STEPPER (Passengers) ---------- */
  .qty-stepper{
    display:flex;align-items:center;justify-content:space-between;
    min-height:50px;
    padding:5px;
    border:1.5px solid var(--gray-200);
    border-radius:14px;
    background:var(--gray-50);
    transition:border-color 0.25s,background 0.25s,box-shadow 0.25s;
  }
  .qty-stepper:focus-within{border-color:var(--saffron);background:var(--white);box-shadow:0 0 0 4px rgba(245,158,11,0.15);}
  .qty-btn{
    flex:0 0 36px;
    height:36px;
    display:flex;align-items:center;justify-content:center;
    border-radius:10px;
    background:var(--white);
    border:1px solid var(--gray-200);
    color:var(--gray-600);
    font-size:17px;font-weight:700;line-height:1;
    cursor:pointer;user-select:none;
    transition:background 0.2s,border-color 0.2s,color 0.2s,transform 0.15s;
  }
  .qty-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--saffron),#D97706);border-color:transparent;color:var(--white);}
  .qty-btn:active:not(:disabled){transform:scale(0.88);}
  .qty-btn:disabled{opacity:0.35;cursor:not-allowed;}
  .qty-btn:focus-visible{outline:2px solid var(--saffron);outline-offset:2px;}
  .qty-value{flex:1;display:flex;align-items:baseline;justify-content:center;gap:5px;min-width:0;}
  #passengersDisplay{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700;color:var(--ink);min-width:1.3em;text-align:center;display:inline-block;}
  #passengersDisplay.bump{animation:qtyBump 0.28s ease;}
  .qty-unit{font-size:10.5px;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.06em;}

  @keyframes qtyBump{0%{transform:scale(1.3);color:var(--saffron);}100%{transform:scale(1);color:var(--ink);}}

  /* ---------- STICKY MOBILE PRICE BAR ---------- */
  .sticky-price-bar{
    display:none;
    position:fixed;left:0;right:0;bottom:0;z-index:90;
    align-items:center;justify-content:space-between;gap:14px;
    padding:12px 18px calc(12px + env(safe-area-inset-bottom));
    background:rgba(17,24,39,0.94);
    backdrop-filter:blur(18px) saturate(160%);
    border-top:1px solid rgba(255,255,255,0.1);
    box-shadow:0 -12px 30px rgba(0,0,0,0.35);
    transform:translateY(100%);
    transition:transform 0.35s cubic-bezier(0.16,1,0.3,1);
  }
  .sticky-price-bar.visible{transform:translateY(0);}
  .spb-info{display:flex;flex-direction:column;min-width:0;}
  .spb-vehicle{font-size:11.5px;color:rgba(255,255,255,0.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .spb-price{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--white);white-space:nowrap;}
  .spb-btn{flex-shrink:0;padding:12px 22px;font-size:14px;}
  @media(max-width:680px){
    .sticky-price-bar{display:flex;}
  }
  @media(prefers-reduced-motion:reduce){
    .sticky-price-bar{transition-duration:0.001ms;}
  }

  @media(prefers-reduced-motion:reduce){
    .calc-card *,.calc-card *::before,.calc-card *::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
  }

  /* ---------- SECTIONS ---------- */
  .section{padding:100px 0;position:relative;}
  .section-head{text-align:center;max-width:680px;margin:0 auto 64px;}
  .section-head .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--saffron);margin-bottom:16px;font-family:'Space Grotesk',sans-serif;}
  .section-head .eyebrow::before{content:'';width:24px;height:2px;background:var(--saffron);border-radius:2px;display:inline-block;}
  .section-head h2{font-size:44px;margin-bottom:16px;color:var(--ink);}
  .section-head h2 em{font-style:italic;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .section-head p{font-size:17px;color:var(--gray-500);line-height:1.6;}

  .why{background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%);}
  .features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .feature-card{background:var(--white);border-radius:var(--radius);padding:40px 32px;border:1px solid var(--gray-200);transition:all 0.4s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;}
  .feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saffron),#D97706);transform:scaleX(0);transform-origin:left;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);}
  .feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--gray-300);}
  .feature-card:hover::before{transform:scaleX(1);}
  .feature-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--saffron-light),#FEF9C3);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:24px;transition:transform 0.4s;box-shadow:0 4px 16px rgba(245,158,11,0.15);}
  .feature-card:hover .feature-icon{transform:scale(1.1) rotate(-5deg);}
  .feature-card h3{font-size:18px;margin-bottom:12px;color:var(--ink);font-family:'Space Grotesk',sans-serif;font-weight:700;}
  .feature-card p{font-size:14.5px;color:var(--gray-500);line-height:1.7;}

  .steps-wrapper{position:relative;max-width:900px;margin:0 auto;}
  .steps-line{position:absolute;top:32px;left:12.5%;right:12.5%;height:3px;background:linear-gradient(90deg,var(--gray-200),var(--saffron),var(--gray-200));border-radius:3px;z-index:0;overflow:hidden;}
  .steps-line::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--saffron),transparent);transform:translateX(-100%);animation:shimmer 3s infinite;}
  .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;z-index:1;}
  .step{text-align:center;}
  .step-num{width:68px;height:68px;background:var(--white);border:3px solid var(--saffron);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:700;color:var(--saffron);margin:0 auto 24px;box-shadow:0 0 0 8px var(--white),0 4px 16px rgba(245,158,11,0.2);transition:all 0.3s;}
  .step:hover .step-num{transform:scale(1.1);box-shadow:0 0 0 8px var(--white),0 8px 24px rgba(245,158,11,0.3);}
  .step h4{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;margin-bottom:10px;color:var(--ink);}
  .step p{font-size:14px;color:var(--gray-500);line-height:1.6;}

  /* ---------- FLEET WITH REAL PHOTOS ---------- */
  .fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .fleet-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-200);overflow:hidden;transition:all 0.4s cubic-bezier(0.16,1,0.3,1);position:relative;}
  .fleet-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--gray-300);}
  .fleet-card:hover .fleet-img img{transform:scale(1.05);}
  .fleet-img{height:200px;background:linear-gradient(135deg,var(--gray-100),var(--white));display:flex;align-items:center;justify-content:center;position:relative;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1);overflow:hidden;padding:20px;}
  .fleet-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(transparent,rgba(0,0,0,0.03));}
  .fleet-img img{width:100%;height:100%;object-fit:contain;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1);filter:drop-shadow(0 8px 16px rgba(11,15,25,0.12));}
  .fleet-tag{position:absolute;top:14px;right:14px;background:linear-gradient(135deg,var(--saffron),#D97706);color:var(--white);font-size:11px;font-weight:700;padding:6px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:0.05em;box-shadow:0 4px 12px rgba(245,158,11,0.3);z-index:2;}
  .fleet-body{padding:26px;}
  .fleet-body h4{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;margin-bottom:6px;}
  .fleet-body .desc{font-size:13.5px;color:var(--gray-500);margin-bottom:16px;line-height:1.5;}
  .fleet-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
  .fleet-meta span{font-size:12px;background:var(--gray-50);padding:6px 12px;border-radius:8px;color:var(--gray-600);font-weight:500;border:1px solid var(--gray-200);}
  .fleet-price{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:700;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .fleet-price span{font-family:'Inter',sans-serif;font-size:13px;color:var(--gray-400);font-weight:500;-webkit-text-fill-color:var(--gray-400);}

  .routes{background:linear-gradient(180deg,var(--white) 0%,var(--gray-50) 50%,var(--white) 100%);}
  .routes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
  .route-card-full{background:var(--white);border-radius:var(--radius);padding:28px 32px;border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;gap:24px;transition:all 0.4s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;cursor:pointer;}
  .route-card-full::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--saffron),#D97706);transform:scaleY(0);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);border-radius:0 4px 4px 0;}
  .route-card-full:hover{border-color:var(--saffron);box-shadow:var(--shadow-lg);transform:translateX(4px);}
  .route-card-full:hover::before{transform:scaleY(1);}
  .route-card-full .left{flex:1;}
  .route-card-full .route-title{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:12px;}
  .route-card-full .route-title .arrow{color:var(--saffron);font-size:18px;transition:transform 0.3s;}
  .route-card-full:hover .route-title .arrow{transform:translateX(4px);}
  .route-card-full .route-sub{font-size:14px;color:var(--gray-500);line-height:1.5;}
  .route-card-full .route-time{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-400);margin-top:10px;font-weight:500;}
  .route-card-full .right{text-align:right;min-width:100px;}
  .route-card-full .price{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:700;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .route-card-full .price-note{font-size:13px;color:var(--gray-400);margin-top:4px;font-weight:500;}

  .reviews-wrapper{position:relative;}
  .reviews-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;margin:0 -28px;padding-left:28px;padding-right:28px;scrollbar-width:none;}
  .reviews-track::-webkit-scrollbar{display:none;}
  .review-card{min-width:380px;scroll-snap-align:start;background:var(--white);border-radius:var(--radius);padding:32px;border:1px solid var(--gray-200);transition:all 0.4s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;}
  .review-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saffron),#D97706);transform:scaleX(0);transition:transform 0.4s;}
  .review-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);}
  .review-card:hover::before{transform:scaleX(1);}
  .review-stars{color:#FBBF24;font-size:16px;margin-bottom:18px;letter-spacing:3px;}
  .review-text{font-size:15.5px;color:var(--navy);line-height:1.7;margin-bottom:24px;font-style:italic;position:relative;}
  .review-text::before{content:'"';position:absolute;top:-20px;left:-8px;font-size:60px;color:var(--gray-200);font-family:'Space Grotesk',sans-serif;line-height:1;z-index:-1;}
  .review-foot{display:flex;align-items:center;gap:14px;}
  .review-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--saffron),#D97706);display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700;font-size:15px;box-shadow:0 4px 12px rgba(245,158,11,0.3);}
  .review-foot strong{font-size:14px;display:block;color:var(--ink);font-weight:700;}
  .review-foot span{font-size:12.5px;color:var(--gray-500);}
  .reviews-nav{display:flex;justify-content:center;gap:12px;margin-top:32px;}
  .reviews-nav button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:18px;transition:all 0.3s;cursor:pointer;color:var(--gray-600);}
  .reviews-nav button:hover{border-color:var(--saffron);background:var(--saffron-light);color:var(--saffron);transform:translateY(-2px);}

  .faq{background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%);}
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .faq-item{background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--gray-200);overflow:hidden;transition:all 0.3s;}
  .faq-item:hover{border-color:var(--saffron);box-shadow:var(--shadow);}
  .faq-item.active{border-color:var(--saffron);box-shadow:var(--shadow-lg);}
  .faq-question{padding:22px 26px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background 0.2s;}
  .faq-question:hover{background:var(--gray-50);}
  .faq-question h4{font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.4;flex:1;}
  .faq-toggle{width:28px;height:28px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--gray-500);transition:all 0.3s;flex-shrink:0;font-weight:300;}
  .faq-item.active .faq-toggle{background:var(--saffron);color:var(--white);transform:rotate(45deg);}
  .faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.16,1,0.3,1);}
  .faq-answer-inner{padding:0 26px 22px;font-size:14.5px;color:var(--gray-500);line-height:1.7;}

  .cta-section{padding:0 0 100px;}
  .cta-box{background:linear-gradient(135deg,var(--navy) 0%,#1E293B 50%,var(--navy) 100%);background-size:200% 200%;animation:gradient-shift 8s ease infinite;border-radius:32px;padding:80px 70px;display:flex;justify-content:space-between;align-items:center;gap:50px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.06);}
  .cta-box::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(245,158,11,0.12) 0%,transparent 70%);border-radius:50%;animation:float 10s ease-in-out infinite;}
  .cta-box::after{content:'';position:absolute;bottom:-30%;left:-5%;width:300px;height:300px;background:radial-gradient(circle,rgba(59,130,246,0.08) 0%,transparent 70%);border-radius:50%;animation:float 12s ease-in-out infinite 2s;}
  .cta-box h2{font-size:40px;color:var(--white);max-width:460px;position:relative;z-index:1;line-height:1.15;}
  .cta-box p{color:rgba(255,255,255,0.55);margin-top:14px;max-width:400px;position:relative;z-index:1;font-size:16px;line-height:1.6;}
  .cta-box .btns{display:flex;gap:16px;flex-shrink:0;position:relative;z-index:1;flex-wrap:wrap;}
  .cta-stats{display:flex;gap:32px;margin-top:32px;position:relative;z-index:1;}
  .cta-stats div{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,0.5);font-weight:500;}
  .cta-stats div .check{width:18px;height:18px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:11px;}

  .modal-overlay{position:fixed;inset:0;background:rgba(11,15,25,0.6);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.4s;}
  .modal-overlay.active{opacity:1;pointer-events:auto;}
  .modal{background:var(--white);border-radius:28px;padding:48px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;transform:scale(0.95) translateY(20px);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);position:relative;box-shadow:var(--shadow-xl);}
  .modal-overlay.active .modal{transform:scale(1) translateY(0);}
  .modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--gray-500);transition:all 0.2s;}
  .modal-close:hover{background:var(--gray-100);color:var(--ink);}
  .modal h3{font-size:24px;margin-bottom:8px;}
  .modal p{color:var(--gray-500);margin-bottom:28px;font-size:14.5px;}
  .form-group{margin-bottom:18px;}
  .form-group label{display:block;font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:6px;}
  .form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1.5px solid var(--gray-200);border-radius:12px;font-family:inherit;font-size:14px;transition:all 0.2s;background:var(--white);}
  .form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 4px var(--saffron-light);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .form-group textarea{resize:vertical;min-height:80px;}
  .modal .btn-primary{width:100%;padding:14px;justify-content:center;font-size:15px;margin-top:8px;}

  footer{padding:70px 0 32px;background:var(--white);border-top:1px solid var(--gray-200);position:relative;}
  footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:3px;background:linear-gradient(90deg,transparent,var(--saffron),transparent);border-radius:3px;}
  .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;}
  .footer-brand .logo{margin-bottom:18px;}
  .footer-brand p{font-size:14.5px;color:var(--gray-500);max-width:300px;line-height:1.7;}
  .footer-social{display:flex;gap:12px;margin-top:20px;}
  .footer-social a{width:40px;height:40px;border-radius:10px;background:var(--gray-50);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:18px;transition:all 0.3s;}
  .footer-social a:hover{background:var(--saffron);border-color:var(--saffron);color:var(--white);transform:translateY(-3px);}
  .footer-col h4{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--gray-400);margin-bottom:20px;}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
  .footer-col ul li{font-size:14.5px;color:var(--gray-600);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:8px;}
  .footer-col ul li:hover{color:var(--saffron);transform:translateX(4px);}
  .footer-col ul li::before{content:'→';font-size:10px;color:var(--gray-300);opacity:0;transition:all 0.2s;}
  .footer-col ul li:hover::before{opacity:1;color:var(--saffron);}
  .footer-bottom{display:flex;justify-content:space-between;padding-top:28px;border-top:1px solid var(--gray-200);font-size:13px;color:var(--gray-400);}

  @media(max-width:1100px){
    .hero-grid{grid-template-columns:1fr;gap:50px;}
    .hero h1{font-size:42px;}
    .hero-stats{gap:24px;flex-wrap:wrap;}
    .features-grid,.fleet-grid,.steps-grid{grid-template-columns:repeat(2,1fr);}
    .steps-line{display:none;}
    .routes-grid{grid-template-columns:1fr;}
    .faq-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .cta-box{flex-direction:column;text-align:center;padding:56px 36px;}
    .cta-box h2{max-width:100%;font-size:32px;}
    .cta-stats{justify-content:center;}
    .calc-card{max-width:520px;margin-left:0;}
  }
  @media(max-width:520px){
    .input-row{grid-template-columns:1fr;}
    .results-summary{grid-template-columns:1fr 1fr;}
    .results-summary div:last-child{grid-column:1 / -1;}
  }
  @media(max-width:400px){
    .swap-btn{width:30px;height:30px;font-size:13px;}
  }
  @media(max-width:680px){
    .hero{padding:calc(120px + var(--promo-offset,0px)) 0 70px;min-height:auto;}
    .hero h1{font-size:32px;}
    .hero-stats div strong{font-size:28px;}
    .features-grid,.fleet-grid,.steps-grid{grid-template-columns:1fr;}
    .section{padding:70px 0;}
    .section-head h2{font-size:28px;}
    .footer-grid{grid-template-columns:1fr;}
    .nav-links{display:none;}
    .mobile-toggle{display:flex;}
    .route-card-full{flex-direction:column;align-items:flex-start;}
    .route-card-full .right{text-align:left;}
    .review-card{min-width:300px;}
    .modal{padding:32px 24px;}
    .form-row{grid-template-columns:1fr;}
    .fleet-img{height:160px;}
  }
  .autocomplete-item.active-item{background:var(--saffron-light);color:var(--amber-ink);}

/* =========================================================
   WHATSAPP GREEN BUTTON
   ========================================================= */
.btn-whatsapp{
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:var(--white);
  border:none;
  box-shadow:0 4px 16px rgba(37,211,102,0.3);
  position:relative;
  overflow:hidden;
}
.btn-whatsapp:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(37,211,102,0.4);
}
.btn-whatsapp::before{
  content:'';
  position:absolute;
  top:0;left:-100%;
  width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.5s;
}
.btn-whatsapp:hover::before{left:100%;}

/* For dark backgrounds (hero, nav) */
.btn-whatsapp-outline{
  background:transparent;
  color:#25D366;
  border:1.5px solid #25D366;
  box-shadow:0 4px 16px rgba(37,211,102,0.15);
}
.btn-whatsapp-outline:hover{
  background:#25D366;
  color:var(--white);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(37,211,102,0.35);
}

/* =========================================================
   FLOATING SOCIAL SIDEBAR
   ========================================================= */
.social-float{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:999;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.social-float-item{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  color:var(--white);
  text-decoration:none;
  transition:all 0.35s cubic-bezier(0.16,1,0.3,1);
  border-radius:14px 0 0 14px;
  box-shadow:-4px 4px 16px rgba(11,15,25,0.15);
  overflow:hidden;
}
.social-float-item:hover{
  width:64px;
  padding-left:12px;
}
.social-float-item svg{
  width:24px;
  height:24px;
  fill:currentColor;
  position:relative;
  z-index:2;
  flex-shrink:0;
}
.social-tooltip{
  position:absolute;
  right:70px;
  background:var(--ink);
  color:var(--white);
  padding:8px 16px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transform:translateX(12px);
  transition:all 0.35s cubic-bezier(0.16,1,0.3,1);
  box-shadow:var(--shadow-lg);
}
.social-tooltip::after{
  content:'';
  position:absolute;
  right:-6px;
  top:50%;
  transform:translateY(-50%);
  border-width:6px 0 6px 6px;
  border-style:solid;
  border-color:transparent transparent transparent var(--ink);
}
.social-float-item:hover .social-tooltip{
  opacity:1;
  transform:translateX(0);
}

/* Platform colours */
.social-whatsapp{background:linear-gradient(135deg,#25D366,#128C7E);}
.social-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.social-tiktok{background:linear-gradient(135deg,#000000,#1a1a2e);}
.social-facebook{background:linear-gradient(135deg,#1877F2,#0d5cb6);}

/* Mobile: smaller + hide tooltips on touch */
@media(max-width:680px){
  .social-float-item{width:44px;height:44px;}
  .social-float-item:hover{width:50px;}
  .social-float-item svg{width:20px;height:20px;}
  .social-tooltip{padding:6px 12px;font-size:12px;right:58px;}
}


/* =========================================================
   MOBILE MENU
   ========================================================= */
.mobile-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  padding:8px;
  cursor:pointer;
  background:transparent;
  border:none;
  z-index:101;
}
.mobile-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:var(--ink);
  border-radius:2px;
  transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}
.mobile-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.mobile-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.mobile-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.mobile-menu{
  position:fixed;
  inset:0;
  z-index:999;
  pointer-events:none;
  visibility:hidden;
  transition:visibility 0s 0.4s;
}
.mobile-menu.active{
  pointer-events:auto;
  visibility:visible;
  transition:visibility 0s 0s;
}
.mobile-menu-backdrop{
  position:absolute;
  inset:0;
  background:rgba(11,15,25,0.6);
  backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity 0.4s ease;
}
.mobile-menu.active .mobile-menu-backdrop{
  opacity:1;
}
.mobile-menu-panel{
  position:absolute;
  top:0;
  right:0;
  width:min(340px,85vw);
  height:100%;
  background:var(--navy);
  border-left:1px solid rgba(255,255,255,0.08);
  transform:translateX(100%);
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
  display:flex;
  flex-direction:column;
  padding:24px;
}
.mobile-menu.active .mobile-menu-panel{
  transform:translateX(0);
}
.mobile-menu-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:32px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,0.08);

}
.mobile-menu-close{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.15);
  background:transparent;
  color:var(--white);
  font-size:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all 0.2s;
}
.mobile-menu-close:hover{
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.3);
}
.mobile-menu-links{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mobile-menu-links a{
  color:rgba(255,255,255,0.85);
  font-size:16px;
  font-weight:600;
  padding:14px 16px;
  border-radius:12px;
  transition:all 0.2s;
  text-decoration:none;
}
.mobile-menu-links a:hover{
  background:rgba(255,255,255,0.06);
  color:var(--saffron);
}
.mobile-menu-links a.btn{
  color:var(--white);
  margin-top:8px;
}
.mobile-menu-links a.btn:hover{
  color:var(--white);
}

@media(max-width:1100px){
  .nav-links{
    display:none;
  }
  .mobile-toggle{
    display:flex;
    margin-left:auto;
    margin-right:12px;
  }
  nav .wrap{
    position:relative;
  }
}
@media(max-width:680px){
  .nav-cta{
    display:none !important;
  }
  .mobile-toggle{
    margin-right:0;
  }
}

/* =========================================================
   COOKIE BANNER
   ========================================================= */
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1000;
  background:rgba(17,24,39,0.97);
  backdrop-filter:blur(18px) saturate(160%);
  border-top:1px solid rgba(255,255,255,0.08);
  padding:18px 24px calc(18px + env(safe-area-inset-bottom));
  display:none;
  align-items:center;
  justify-content:center;
  transform:translateY(100%);
  transition:transform 0.45s cubic-bezier(0.16,1,0.3,1), opacity 0.3s;
  opacity:0;
}
.cookie-banner.visible{
  display:flex;
  transform:translateY(0);
  opacity:1;
}
.cookie-content{
  max-width:1200px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.cookie-text strong{
  display:block;
  color:var(--white);
  font-size:15px;
  margin-bottom:4px;
  font-weight:700;
}
.cookie-text p{
  color:rgba(255,255,255,0.6);
  font-size:13.5px;
  margin:0;
}
.cookie-actions{
  display:flex;
  gap:12px;
  flex-shrink:0;
}
.cookie-btn{
  padding:10px 22px;
  font-size:13px;
  border-radius:100px;
}
.cookie-btn.btn-ghost{
  border-color:rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.8);
}
.cookie-btn.btn-ghost:hover{
  border-color:var(--saffron);
  color:var(--saffron);
  background:rgba(245,158,11,0.08);
}
@media(max-width:680px){
  .cookie-content{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }
  .cookie-actions{
    width:100%;
  }
  .cookie-btn{
    flex:1;
    justify-content:center;
  }
}

/* =========================================================
   FOOTER LEGAL LINKS
   ========================================================= */
.footer-col ul li a{
  color:inherit;
  text-decoration:none;
  transition:all 0.2s;
}
.footer-col ul li a:hover{
  color:var(--saffron);
}


/* Honeypot field — hidden from users, visible to bots */
.form-group[aria-hidden="true"]{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}

/* =========================================================
   THANK YOU PAGE
   ========================================================= */
.ty-hero{background:linear-gradient(180deg,#FFFFFF 0%,var(--sand) 100%);padding:150px 0 70px;text-align:center;}
.ty-route{display:flex;align-items:center;justify-content:center;gap:0;max-width:340px;margin:0 auto 36px;}
.ty-route .ty-dot{width:12px;height:12px;border-radius:50%;background:var(--ink);flex-shrink:0;}
.ty-route .ty-line{flex:1;height:2px;background:var(--gray-200);position:relative;overflow:hidden;margin:0 2px;}
.ty-route .ty-line-fill{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--ink),var(--saffron));animation:tyLineGrow 1.1s 0.2s cubic-bezier(0.65,0,0.35,1) forwards;}
.ty-route .ty-flag{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--saffron),#D97706);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;color:var(--white);opacity:0;transform:scale(0.4);animation:tyFlagPop 0.4s 1.2s cubic-bezier(0.34,1.56,0.64,1) forwards;box-shadow:0 6px 18px rgba(245,158,11,0.35);}
@keyframes tyLineGrow{to{width:100%;}}
@keyframes tyFlagPop{to{opacity:1;transform:scale(1);}}
@media(prefers-reduced-motion:reduce){
  .ty-route .ty-line-fill{animation:none;width:100%;}
  .ty-route .ty-flag{animation:none;opacity:1;transform:scale(1);}
}

.ty-hero h1{font-size:44px;line-height:1.1;max-width:600px;margin:0 auto 16px;color:var(--ink);}
.ty-hero p.lead{font-size:17px;color:var(--gray-600);max-width:480px;margin:0 auto;line-height:1.65;}

.ty-summary{max-width:640px;margin:40px auto 0;background:var(--white);border:1px solid var(--gray-200);border-radius:20px;padding:28px 32px;box-shadow:var(--shadow-lg);text-align:left;}
.ty-summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--gray-100);gap:16px;}
.ty-summary-row:last-child{border-bottom:none;}
.ty-summary-row .ty-label{font-size:12.5px;color:var(--gray-500);font-weight:600;}
.ty-summary-row .ty-value{font-size:14.5px;color:var(--ink);font-weight:700;text-align:right;}
.ty-summary-row .ty-value.ty-price{font-family:'Space Grotesk',sans-serif;font-size:19px;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ty-summary-note{margin-top:18px;padding-top:16px;border-top:1px dashed var(--gray-200);font-size:12.5px;color:var(--gray-500);line-height:1.6;}

.ty-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px;}

@media(max-width:680px){
  .ty-hero{padding:120px 0 50px;}
  .ty-hero h1{font-size:32px;}
  .ty-summary{padding:22px 20px;margin-top:32px;}
  .ty-summary-row{flex-direction:column;align-items:flex-start;gap:4px;}
  .ty-summary-row .ty-value{text-align:left;}
}


/* ---------- ROUND TRIP ---------- */
.return-fields{
  margin:4px 0 14px;padding:14px 16px 6px;
  background:linear-gradient(135deg,rgba(245,158,11,0.06),rgba(245,158,11,0.02));
  border:1.5px solid rgba(245,158,11,0.25);border-radius:16px;
}
.return-fields-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;}
.return-fields-icon{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,var(--saffron),#D97706);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0;
}
.return-fields-head strong{display:block;font-size:14px;font-weight:700;color:var(--ink);}
.return-fields-head small{display:block;font-size:12px;color:var(--gray-500);margin-top:2px;line-height:1.4;}
.trip-breakdown{
  display:none;margin:0 0 14px;padding:14px 16px;
  background:var(--white);border:1.5px solid rgba(245,158,11,0.3);
  border-radius:16px;box-shadow:var(--shadow-sm);
}
.tb-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.tb-badge{font-size:10px;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--saffron),#D97706);padding:4px 10px;border-radius:100px;}
.tb-title{font-size:13px;font-weight:700;color:var(--ink);}
.tb-rows{display:flex;flex-direction:column;gap:10px;}
.tb-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.tb-left{display:flex;align-items:flex-start;gap:10px;min-width:0;}
.tb-left>div{display:flex;flex-direction:column;gap:1px;min-width:0;}
.tb-left strong{font-size:13px;color:var(--ink);}
.tb-left span{font-size:11.5px;color:var(--gray-500);line-height:1.35;}
.tb-when{font-size:11px!important;color:var(--gray-400)!important;}
.tb-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0;}
.tb-dot.outbound{background:var(--saffron);box-shadow:0 0 0 3px rgba(245,158,11,0.2);}
.tb-dot.return{background:var(--ink);box-shadow:0 0 0 3px rgba(11,15,25,0.12);}
.tb-price{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;}
.tb-price.total{font-size:20px;color:#D97706;background:linear-gradient(135deg,var(--saffron),#D97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tb-total{margin-top:4px;padding-top:12px;border-top:1px dashed var(--gray-200);}
.tb-disc{font-style:normal;font-size:11px;font-weight:700;color:var(--saffron);margin-left:4px;}
.tb-save{font-size:11.5px!important;color:#059669!important;font-weight:600!important;}
.rv-price-split{display:flex;flex-direction:column;gap:1px;margin-top:3px;font-size:10px;color:var(--gray-500);line-height:1.3;}
.rv-price-split em{font-style:normal;color:var(--saffron);font-weight:700;}

#returnPickupInput[readonly]{
  background: var(--gray-100);
  color: var(--gray-600);
  cursor: default;
  border-color: var(--gray-200);
}
.return-from-hint{
  margin: 6px 0 0;
  font-size: 11.5px;
  color: var(--gray-500);
  line-height: 1.4;
}


