
/* Via Airport clean homepage V1
   New namespace: vac-*
   Existing PHP booking IDs/names/JS are deliberately preserved.
*/

:root{
  --vac-navy:#062542;
  --vac-navy-deep:#041a2f;
  --vac-gold:#d8a737;
  --vac-gold-light:#f2ca61;
  --vac-text:#14233a;
  --vac-soft:#f4f7fb;
  --vac-white:#fff;
}

html,body{margin:0;padding:0}
body.via-clean-homepage{background:#fff;color:var(--vac-text)}
.vac-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}

/* HERO */
.vac-hero{
  position:relative;
  height:650px;
  overflow:hidden;
  background:#041a2f;
}
.vac-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center;
  z-index:0;
  pointer-events:none;
}
.vac-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(4,26,47,.96) 0%,rgba(4,26,47,.88) 31%,rgba(4,26,47,.42) 53%,rgba(4,26,47,.05) 100%);
  pointer-events:none;
}
.vac-hero .vac-shell{position:relative;z-index:2;height:100%}

/* TOP BAR */
.vac-topbar{
  min-height:105px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
  padding-top:20px;
}
.vac-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none!important;
  white-space:nowrap;
}
.vac-brand img{
  width:auto!important;
  height:76px!important;
  max-width:120px!important;
  object-fit:contain;
  filter:none!important;
  opacity:1!important;
}
.vac-brand span{
  color:var(--vac-gold-light);
  font-size:20px;
  line-height:1;
  font-weight:700;
}
.vac-nav-wrap{flex:1;min-width:0;text-align:right}
.vac-call{
  color:#fff;
  font-size:15px;
  padding:4px 15px 0 0;
  line-height:1.25;
}
.vac-call a{
  color:var(--vac-gold-light)!important;
  font-weight:700;
  text-decoration:none!important;
}
.vac-navbar{
  margin:3px 0 0!important;
  background:transparent!important;
  border:0!important;
  min-height:auto!important;
}
.vac-navbar .navbar-nav>li>a{
  color:#fff!important;
  font-size:15px;
  font-weight:500;
  padding:11px 12px!important;
  background:transparent!important;
}
.vac-navbar .navbar-nav>li>a:hover{color:var(--vac-gold-light)!important}
.vac-navbar .navbar-toggle{border-color:rgba(255,255,255,.6)!important}
.vac-navbar .navbar-toggle .icon-bar{background:#fff!important}

/* HERO COPY */
.vac-hero-content{
  padding-top:82px;
  width:780px;
  max-width:100%;
}
.vac-copy h1{
  margin:0 0 8px;
  color:#fff!important;
  font-size:46px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.5px;
  text-shadow:none!important;
}
.vac-copy p{
  margin:0 0 34px;
  color:#fff!important;
  font-size:21px;
  line-height:1.3;
}
.vac-copy p b{
  color:var(--vac-gold-light);
  font-weight:400;
  padding:0 9px;
}
.vac-alert{max-width:760px}

/* BOOKING */
#getform.vac-booking{
  width:860px!important;
  max-width:100%!important;
  margin:0!important;
}
#getform.vac-booking .vac-booking-grid{
  display:grid!important;
  grid-template-columns:1.18fr 1.18fr 1fr .95fr;
  gap:10px;
  align-items:start;
  min-height:116px;
  padding:16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(4,26,47,.90);
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
#getform.vac-booking .vac-field{
  min-width:0;
  min-height:98px;
}
#getform.vac-booking .form-control,
#getform.vac-booking .k-input,
#getform.vac-booking .k-picker-wrap,
#getform.vac-booking #form-submit{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#243348!important;
  box-shadow:none!important;
  font-size:15px!important;
}
#getform.vac-booking .vac-secondary,
#getform.vac-booking .timenew{
  margin-top:8px!important;
}
#getform.vac-booking .timenew{padding:0!important}
#getform.vac-booking fieldset{display:none!important}
#getform.vac-booking label.error{
  display:block;
  margin:3px 0 0;
  color:#ffd8d8!important;
  font-size:11px!important;
  line-height:1.15!important;
}
#getform.vac-booking #form-submit{
  background:linear-gradient(#f4ce69,#d7a62f)!important;
  color:#071f39!important;
  font-weight:700!important;
  cursor:pointer;
}
#getform.vac-booking #form-submit:hover{background:#f2c554!important}
#getform.vac-booking .vac-submit-field{padding:0!important}

.vac-phone{
  margin-top:12px;
  width:860px;
  max-width:100%;
  text-align:center;
  color:#fff;
  font-size:18px;
}
.vac-phone a{
  color:var(--vac-gold-light)!important;
  font-size:27px;
  font-weight:700;
  text-decoration:none!important;
}

/* BENEFITS */
.vac-main{position:relative;z-index:3;background:#fff}
.vac-benefits{
  position:relative;
  z-index:4;
  background:#fff;
  border-bottom:1px solid #e4e9ef;
}
.vac-benefit-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:18px 0;
}
.vac-benefit{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border-right:1px solid #e0e6ed;
}
.vac-benefit:last-child{border-right:0}
.vac-benefit i{width:42px;text-align:center;font-size:34px;color:var(--vac-navy)}
.vac-benefit strong,.vac-benefit span{display:block;line-height:1.18;color:var(--vac-text)}
.vac-benefit strong{font-size:15px}
.vac-benefit span{font-size:14px}

/* AIRPORTS — completely new block/classes */
.vac-airport-section{
  position:relative;
  z-index:5;
  background:#f6f8fb;
  padding:38px 0 44px;
  overflow:hidden;
}
.vac-airport-section *{
  -webkit-box-reflect:none!important;
  text-shadow:none!important;
}
.vac-section-heading{
  position:relative;
  z-index:7;
  background:#f6f8fb;
  text-align:center;
  margin:0 auto 28px;
  padding:0 0 4px;
}
.vac-section-heading h2{
  margin:0!important;
  padding:0!important;
  color:var(--vac-navy)!important;
  font-size:32px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
.vac-section-heading span{
  display:block;
  width:330px;
  max-width:75%;
  height:2px;
  margin:10px auto 0;
  background:var(--vac-gold);
}
.vac-airport-grid{
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  background:#f6f8fb;
}
.vac-airport-card{
  min-width:0;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:8px;
  overflow:hidden;
  text-align:center;
  padding-bottom:13px;
}
.vac-airport-card img{
  display:block;
  width:100%;
  height:112px;
  object-fit:cover;
}
.vac-airport-card h3{
  margin:11px 6px 8px!important;
  min-height:34px;
  color:var(--vac-text)!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.vac-airport-card a{
  display:inline-block;
  padding:7px 10px;
  border:1px solid var(--vac-gold);
  border-radius:5px;
  color:var(--vac-text)!important;
  background:#fff!important;
  font-size:12px;
  text-decoration:none!important;
}

/* Kill legacy homepage decorations only on this new homepage namespace */
body.via-clean-homepage .section-first,
body.via-clean-homepage .via-benefits,
body.via-clean-homepage .via-airports,
body.via-clean-homepage .via-section-title,
body.via-clean-homepage .via-airport-grid{
  display:none!important;
}

/* TABLET / MOBILE */
@media(max-width:991px){
  .vac-shell{width:min(100% - 28px,900px)}
  .vac-hero{height:auto;min-height:760px}
  .vac-topbar{display:block;padding-top:12px}
  .vac-brand img{height:66px!important}
  .vac-brand span{font-size:18px}
  .vac-nav-wrap{text-align:left}
  .vac-call{text-align:right;padding:0 0 4px}
  .vac-navbar .navbar-collapse{
    background:rgba(4,26,47,.97);
    border:0!important;
  }
  .vac-hero-content{padding-top:35px;width:100%}
  .vac-copy h1{font-size:38px}
  #getform.vac-booking{width:100%!important}
  #getform.vac-booking .vac-booking-grid{grid-template-columns:1fr 1fr;min-height:0}
  .vac-phone{width:100%}
  .vac-benefit-grid{grid-template-columns:1fr 1fr}
  .vac-benefit:nth-child(2){border-right:0}
  .vac-airport-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  .vac-shell{width:calc(100% - 22px)}
  .vac-hero{min-height:940px}
  .vac-brand span{font-size:16px}
  .vac-copy h1{font-size:31px}
  .vac-copy p{font-size:17px}
  #getform.vac-booking .vac-booking-grid{grid-template-columns:1fr}
  #getform.vac-booking .vac-field{min-height:auto}
  .vac-phone{font-size:15px}
  .vac-phone a{font-size:23px}
  .vac-benefit-grid{grid-template-columns:1fr 1fr}
  .vac-benefit{padding:7px 3px;gap:8px}
  .vac-benefit i{font-size:27px;width:32px}
  .vac-benefit strong{font-size:13px}
  .vac-benefit span{font-size:12px}
  .vac-airport-grid{grid-template-columns:1fr 1fr;gap:10px}
  .vac-section-heading h2{font-size:27px!important}
}




/* ============================================================
   V3 AIRPORT AREA — ENTIRELY NEW BLOCK
   No subtitle. No legacy heading classes. No article/h2/h3 tags.
   ============================================================ */

#vazAirportArea,
#vazAirportArea *,
#vazAirportArea *::before,
#vazAirportArea *::after{
  -webkit-box-reflect:none !important;
  text-shadow:none !important;
}
#vazAirportArea *::before,
#vazAirportArea *::after{
  content:none !important;
}

#vazAirportArea{
  position:relative !important;
  z-index:100 !important;
  display:block !important;
  background:#f6f8fb !important;
  overflow:hidden !important;
  padding:0 0 46px !important;
}

.vaz-title-band{
  display:block !important;
  width:100% !important;
  margin:0 0 28px !important;
  padding:18px 20px 16px !important;
  background:#062542 !important;
  color:#fff !important;
  text-align:center !important;
  border:0 !important;
  box-shadow:none !important;
}
.vaz-title-text{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  background:#062542 !important;
  font-family:inherit !important;
  font-size:30px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}
.vaz-title-line{
  display:block !important;
  width:300px !important;
  max-width:70% !important;
  height:2px !important;
  margin:9px auto 0 !important;
  background:#d8a737 !important;
}

.vaz-card-row{
  width:min(1180px,calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:14px !important;
  background:#f6f8fb !important;
}

.vaz-card{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  background:#fff !important;
  border:1px solid #e1e7ee !important;
  border-radius:8px !important;
  overflow:hidden !important;
  text-align:center !important;
  box-shadow:none !important;
}
.vaz-card-photo{
  display:block !important;
  width:100% !important;
  height:112px !important;
  max-width:none !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
}
.vaz-card-name{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  margin:0 !important;
  padding:8px 6px 5px !important;
  background:#fff !important;
  color:#14233a !important;
  font-family:inherit !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}
.vaz-card-link{
  display:inline-block !important;
  align-self:center !important;
  margin:4px 8px 12px !important;
  padding:7px 11px !important;
  border:1px solid #d8a737 !important;
  border-radius:5px !important;
  background:#fff !important;
  color:#14233a !important;
  font-size:12px !important;
  line-height:1.2 !important;
  text-decoration:none !important;
}

@media(max-width:991px){
  .vaz-card-row{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:600px){
  .vaz-title-text{font-size:26px !important;}
  .vaz-card-row{
    width:calc(100% - 22px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .vaz-card-photo{height:100px !important;}
}


/* ============================================================
   MOBILE RESPONSIVE FINAL — V4
   Desktop layout remains unchanged.
   Booking PHP/IDs/JS are untouched.
   ============================================================ */

@media (max-width: 767px){

  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.via-clean-homepage{
    min-width:0 !important;
  }

  .vac-shell{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* HERO grows naturally with the booking form.
     This removes the large fixed mobile gap / "waterfall". */
  .vac-hero{
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding-bottom:0 !important;
  }

  .vac-hero .vac-shell{
    height:auto !important;
    min-height:0 !important;
  }

  .vac-hero-photo{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:68% center !important;
  }

  .vac-hero-overlay{
    background:linear-gradient(
      90deg,
      rgba(4,26,47,.94) 0%,
      rgba(4,26,47,.84) 48%,
      rgba(4,26,47,.52) 100%
    ) !important;
  }

  /* Header / logo */
  .vac-topbar{
    display:block !important;
    min-height:0 !important;
    padding-top:10px !important;
  }

  .vac-brand{
    display:flex !important;
    width:max-content !important;
    max-width:76% !important;
    margin:0 !important;
  }

  .vac-brand img{
    width:auto !important;
    height:58px !important;
    max-width:92px !important;
    filter:none !important;
    opacity:1 !important;
  }

  .vac-brand span{
    font-size:15px !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }

  .vac-nav-wrap{
    width:100% !important;
    min-width:0 !important;
    text-align:left !important;
  }

  .vac-call{
    margin-top:4px !important;
    padding:0 4px 4px 0 !important;
    text-align:right !important;
    font-size:14px !important;
    line-height:1.2 !important;
  }

  .vac-navbar{
    width:100% !important;
    margin:0 !important;
  }

  .vac-navbar .navbar-header{
    min-height:42px !important;
  }

  .vac-navbar .navbar-toggle{
    margin:2px 0 6px auto !important;
    float:right !important;
  }

  .vac-navbar .navbar-collapse{
    position:relative !important;
    width:100% !important;
    margin:0 !important;
    padding:5px 0 8px !important;
    background:rgba(4,26,47,.97) !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .vac-navbar .navbar-nav{
    float:none !important;
    width:100% !important;
    margin:0 !important;
  }

  .vac-navbar .navbar-nav > li{
    float:none !important;
    width:100% !important;
  }

  .vac-navbar .navbar-nav > li > a{
    width:100% !important;
    padding:10px 12px !important;
    font-size:15px !important;
  }

  /* Hero wording */
  .vac-hero-content{
    width:100% !important;
    max-width:none !important;
    padding:14px 0 26px !important;
  }

  .vac-copy{
    width:100% !important;
  }

  .vac-copy h1{
    margin:0 0 7px !important;
    font-size:30px !important;
    line-height:1.08 !important;
    letter-spacing:-.2px !important;
  }

  .vac-copy p{
    margin:0 0 18px !important;
    font-size:16px !important;
    line-height:1.25 !important;
  }

  .vac-copy p b{
    padding:0 5px !important;
  }

  /* BOOKING — normal document flow, no fixed heights.
     Any Airport / Station / Postcode secondary field simply opens below. */
  #getform.vac-booking{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  #getform.vac-booking .vac-booking-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    gap:9px !important;
    padding:12px !important;
    box-sizing:border-box !important;
    border-radius:10px !important;
  }

  #getform.vac-booking .vac-field,
  #getform.vac-booking .vac-date-field,
  #getform.vac-booking .vac-submit-field{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #getform.vac-booking select,
  #getform.vac-booking input[type="text"],
  #getform.vac-booking .form-control,
  #getform.vac-booking .k-input,
  #getform.vac-booking .k-picker-wrap,
  #getform.vac-booking #form-submit{
    display:block;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
    font-size:16px !important; /* prevents iPhone input zoom */
  }

  #getform.vac-booking .vac-secondary,
  #getform.vac-booking .timenew{
    width:100% !important;
    max-width:100% !important;
    margin:8px 0 0 !important;
  }

  #getform.vac-booking .timenew{
    padding:0 !important;
  }

  #getform.vac-booking .k-widget,
  #getform.vac-booking .k-datepicker,
  #getform.vac-booking .k-timepicker{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #getform.vac-booking label.error{
    margin:3px 0 0 !important;
  }

  #getform.vac-booking #form-submit{
    margin:0 !important;
  }

  .vac-phone{
    width:100% !important;
    max-width:100% !important;
    margin:11px 0 0 !important;
    padding:0 4px !important;
    box-sizing:border-box !important;
    font-size:14px !important;
    line-height:1.3 !important;
  }

  .vac-phone a{
    display:inline-block !important;
    font-size:21px !important;
    line-height:1.2 !important;
  }

  /* Benefits: compact 2 x 2 layout */
  .vac-benefit-grid{
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:8px 6px !important;
    box-sizing:border-box !important;
  }

  .vac-benefit{
    min-width:0 !important;
    min-height:68px !important;
    padding:8px 5px !important;
    gap:7px !important;
    box-sizing:border-box !important;
    border-bottom:1px solid #e0e6ed !important;
  }

  .vac-benefit:nth-child(2n){
    border-right:0 !important;
  }

  .vac-benefit:nth-last-child(-n+2){
    border-bottom:0 !important;
  }

  .vac-benefit i{
    width:28px !important;
    flex:0 0 28px !important;
    font-size:25px !important;
  }

  .vac-benefit strong{
    font-size:12px !important;
  }

  .vac-benefit span{
    font-size:11px !important;
  }

  /* Current V3 airport / Eurostar block */
  #vazAirportArea{
    padding-bottom:26px !important;
  }

  .vaz-title-band{
    margin-bottom:16px !important;
    padding:14px 12px 12px !important;
  }

  .vaz-title-text{
    font-size:23px !important;
    line-height:1.15 !important;
  }

  .vaz-title-line{
    width:190px !important;
    margin-top:7px !important;
  }

  .vaz-card-row{
    width:calc(100% - 20px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  .vaz-card-photo{
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    object-fit:cover !important;
  }

  .vaz-card-name{
    min-height:40px !important;
    padding:7px 4px 3px !important;
    font-size:12px !important;
  }

  .vaz-card-link{
    margin:3px 6px 9px !important;
    padding:6px 8px !important;
    font-size:11px !important;
  }

  img, iframe, video{
    max-width:100%;
  }
}

/* Very narrow phones */
@media (max-width: 390px){

  .vac-shell{
    width:calc(100% - 18px) !important;
  }

  .vac-brand img{
    height:52px !important;
    max-width:82px !important;
  }

  .vac-brand span{
    font-size:14px !important;
  }

  .vac-call{
    font-size:13px !important;
  }

  .vac-copy h1{
    font-size:27px !important;
  }

  .vac-copy p{
    font-size:15px !important;
  }

  #getform.vac-booking .vac-booking-grid{
    padding:10px !important;
  }

  .vac-benefit-grid{
    grid-template-columns:1fr !important;
    padding:4px 10px !important;
  }

  .vac-benefit{
    justify-content:flex-start !important;
    min-height:54px !important;
    border-right:0 !important;
    border-bottom:1px solid #e0e6ed !important;
  }

  .vac-benefit:last-child{
    border-bottom:0 !important;
  }

  .vaz-card-row{
    grid-template-columns:1fr !important;
    width:calc(100% - 18px) !important;
  }

  .vaz-card-name{
    font-size:14px !important;
  }

  .vaz-card-link{
    font-size:12px !important;
  }
}


/* ============================================================
   MOBILE V5 CORRECTION
   Fixes the large white gap, ensures hamburger + quick call,
   restores favicon cache path, and separates floating buttons.
   ============================================================ */

@media (max-width: 767px){

  /* Remove any legacy height/min-height/margins inherited from old site CSS. */
  body.via-clean-homepage .vac-main,
  body.via-clean-homepage .vac-benefits,
  body.via-clean-homepage #vazAirportArea{
    display:block !important;
    position:relative !important;
    top:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    transform:none !important;
    clear:both !important;
  }

  body.via-clean-homepage .vac-main{
    padding:0 !important;
    overflow:visible !important;
  }

  body.via-clean-homepage .vac-main::before,
  body.via-clean-homepage .vac-main::after,
  body.via-clean-homepage .vac-benefits::before,
  body.via-clean-homepage .vac-benefits::after,
  body.via-clean-homepage #vazAirportArea::before,
  body.via-clean-homepage #vazAirportArea::after{
    display:none !important;
    content:none !important;
  }

  body.via-clean-homepage .vac-benefits{
    padding:0 !important;
  }

  body.via-clean-homepage #vazAirportArea{
    padding:0 0 26px !important;
  }

  body.via-clean-homepage .vaz-title-band{
    margin-top:0 !important;
  }

  /* Header controls: visible call button + visible hamburger. */
  .vac-nav-wrap{
    position:relative !important;
    min-height:52px !important;
    padding-right:106px !important;
  }

  .vac-mobile-call{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    position:absolute !important;
    right:48px !important;
    top:2px !important;
    height:40px !important;
    padding:0 12px !important;
    background:#d8a737 !important;
    color:#062542 !important;
    border-radius:7px !important;
    font-weight:700 !important;
    font-size:14px !important;
    text-decoration:none !important;
    z-index:50 !important;
  }

  .vac-mobile-call i{
    font-size:17px !important;
  }

  .vac-call{
    display:none !important;
  }

  .vac-navbar{
    position:static !important;
  }

  .vac-navbar .navbar-header{
    position:absolute !important;
    right:0 !important;
    top:2px !important;
    width:42px !important;
    height:40px !important;
    min-height:40px !important;
    z-index:51 !important;
  }

  .vac-navbar .navbar-toggle{
    display:block !important;
    float:none !important;
    width:42px !important;
    height:40px !important;
    margin:0 !important;
    padding:8px 9px !important;
    border:1px solid rgba(255,255,255,.45) !important;
    border-radius:7px !important;
    background:rgba(4,26,47,.92) !important;
  }

  .vac-navbar .navbar-toggle .icon-bar{
    display:block !important;
    width:22px !important;
    height:2px !important;
    margin:4px auto !important;
    background:#fff !important;
  }

  .vac-navbar .navbar-collapse{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:50px !important;
    width:100% !important;
    z-index:49 !important;
    border-radius:8px !important;
    overflow:hidden !important;
  }

  /* Keep floating contact controls clear of each other and the footer.
     This targets common WhatsApp/mail/contact links without changing normal footer text links. */
  body > a[href*="wa.me"],
  body > a[href*="whatsapp"],
  body > a[href^="mailto:"]{
    max-width:52px !important;
    max-height:52px !important;
  }

  body > a[href*="wa.me"],
  body > a[href*="whatsapp"]{
    left:14px !important;
    right:auto !important;
    bottom:82px !important;
  }

  body > a[href^="mailto:"]{
    left:76px !important;
    right:auto !important;
    bottom:82px !important;
  }

  /* Common chat launchers: keep on the right and above Safari toolbar/footer edge. */
  iframe[title*="chat" i],
  iframe[title*="messenger" i]{
    max-width:64px !important;
    max-height:64px !important;
  }
}

@media (max-width: 390px){
  .vac-nav-wrap{
    padding-right:102px !important;
  }
  .vac-mobile-call{
    right:46px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }
}


/* ============================================================
   MOBILE V6 — DATE/TIME ALIGNMENT + FLOATING BUTTON CLEANUP
   ============================================================ */
@media (max-width:767px){

  /* Kendo date/time controls: force a single clean 48px row.
     This stops the input and calendar/time icon from stacking/overlapping. */
  #getform.vac-booking .vac-date-field{
    overflow:visible !important;
  }

  #getform.vac-booking .k-datepicker,
  #getform.vac-booking .k-timepicker{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:6px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }

  #getform.vac-booking .k-datepicker .k-picker-wrap,
  #getform.vac-booking .k-timepicker .k-picker-wrap{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:6px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }

  #getform.vac-booking .k-datepicker .k-input,
  #getform.vac-booking .k-timepicker .k-input,
  #getform.vac-booking #datepicker,
  #getform.vac-booking #timepicker{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    margin:0 !important;
    padding:0 52px 0 14px !important;
    line-height:48px !important;
    border:0 !important;
    border-radius:6px !important;
    background:#fff !important;
    color:#243348 !important;
    font-size:16px !important;
    box-sizing:border-box !important;
  }

  #getform.vac-booking .k-datepicker .k-select,
  #getform.vac-booking .k-timepicker .k-select{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:48px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-left:1px solid #d8dde4 !important;
    background:#f7f8fa !important;
    box-sizing:border-box !important;
    z-index:3 !important;
  }

  #getform.vac-booking .k-datepicker .k-icon,
  #getform.vac-booking .k-timepicker .k-icon{
    margin:0 !important;
  }

  #getform.vac-booking .timenew{
    display:none;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #getform.vac-booking .timenew[style*="display: block"],
  #getform.vac-booking .timenew[style*="display:block"]{
    display:block !important;
  }

  /* Make all four booking rows line up identically. */
  #getform.vac-booking select.form-control,
  #getform.vac-booking input.form-control:not(#datepicker):not(#timepicker),
  #getform.vac-booking #form-submit{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    line-height:normal !important;
  }

  #getform.vac-booking #form-submit{
    padding:0 14px !important;
  }

  /* Mobile floating controls:
     top CALL button already exists, so hide duplicate floating phone/mail buttons.
     Keep WhatsApp smaller and low-left so it covers much less page content. */
  body > a[href^="tel:"],
  body > a[href^="mailto:"]{
    display:none !important;
  }

  body > a[href*="wa.me"],
  body > a[href*="whatsapp"]{
    position:fixed !important;
    left:12px !important;
    right:auto !important;
    bottom:18px !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:9998 !important;
  }

  body > a[href*="wa.me"] img,
  body > a[href*="whatsapp"] img{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
    object-fit:contain !important;
  }

  /* Keep third-party chat launcher on right side, away from WhatsApp. */
  iframe[title*="chat" i],
  iframe[title*="messenger" i]{
    right:12px !important;
    left:auto !important;
    bottom:18px !important;
    max-width:52px !important;
    max-height:52px !important;
  }
}

/* ===== MOBILE DATE/TIME TEXT FIX ===== */
@media only screen and (max-width: 767px) {

    #getform .k-datepicker,
    #getform .k-timepicker {
        width: 100% !important;
        height: 48px !important;
        display: block !important;
    }

    #getform .k-picker-wrap {
        position: relative !important;
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        background: #ffffff !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #getform .k-picker-wrap input.k-input,
    #getform input#datepicker,
    #getform input#timepicker {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        width: calc(100% - 48px) !important;
        height: 48px !important;
        min-height: 48px !important;

        margin: 0 !important;
        padding: 0 12px !important;

        color: #243348 !important;
        -webkit-text-fill-color: #243348 !important;
        background: #ffffff !important;

        font-size: 16px !important;
        line-height: 48px !important;

        border: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    #getform .k-picker-wrap .k-select {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;

        width: 48px !important;
        height: 48px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #f7f8fa !important;
        border-left: 1px solid #d8dde4 !important;
    }

}

/* ===== VIA MOBILE DATE + TIME FINAL CORRECTION ===== */
@media only screen and (max-width: 767px) {

    #getform .k-datepicker,
    #getform .k-timepicker {
        width: 100% !important;
        display: block !important;
    }

    #getform .k-datepicker .k-picker-wrap,
    #getform .k-timepicker .k-picker-wrap {
        position: relative !important;
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        background: #fff !important;
        overflow: visible !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
    }

    /* IMPORTANT: allow Kendo to display its actual selected value */
    #getform .k-datepicker input.k-input,
    #getform .k-timepicker input.k-input,
    #getform #datepicker,
    #getform #timepicker {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        position: absolute !important;
        left: 0 !important;
        top: 0 !important;

        width: calc(100% - 48px) !important;
        height: 48px !important;

        margin: 0 !important;
        padding: 0 12px !important;

        background: #ffffff !important;
        color: #243348 !important;
        -webkit-text-fill-color: #243348 !important;

        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: normal !important;

        text-indent: 0 !important;
        border: 0 !important;
        box-shadow: none !important;

        z-index: 10 !important;
    }

    #getform .k-datepicker .k-select,
    #getform .k-timepicker .k-select {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;

        width: 48px !important;
        height: 48px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: #f7f8fa !important;
        border-left: 1px solid #d8dde4 !important;

        z-index: 20 !important;
    }
}

/* ===== MOBILE DATE/TIME DISPLAY LAYER ===== */
@media only screen and (max-width:767px) {

    #getform .k-datepicker .k-picker-wrap,
    #getform .k-timepicker .k-picker-wrap {
        position: relative !important;
    }

    .via-mobile-picker-value {
        position: absolute !important;
        left: 14px !important;
        right: 52px !important;
        top: 0 !important;
        height: 48px !important;

        display: flex !important;
        align-items: center !important;

        color: #243348 !important;
        font-size: 16px !important;
        font-weight: 400 !important;

        background: transparent !important;
        pointer-events: none !important;
        z-index: 100 !important;
    }
}