
:root{--vip-home-gold:#cdb56f;--vip-home-ivory:#f8f4e9;--vip-home-border:rgba(205,181,111,.34)}
.vip-home-engine{background:linear-gradient(180deg,rgba(20,20,20,.98),rgba(8,8,8,.98));border:1px solid var(--vip-home-border);border-radius:28px;padding:clamp(20px,2.5vw,30px);box-shadow:0 28px 70px rgba(0,0,0,.38);min-width:0;max-width:100%}
.vip-home-engine h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.4vw,48px);line-height:1.04;margin:0 0 10px;color:#fff}.vip-home-engine__lead{margin:0 0 18px;color:#d9cfba;font-size:16px;line-height:1.55}
.vip-home-engine form,.vip-home-engine .vip-field-grid,.vip-home-engine .vip-field{min-width:0;max-width:100%}.vip-home-engine .vip-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.vip-home-engine .vip-field{display:flex;flex-direction:column;gap:7px}.vip-home-engine .vip-field.full{grid-column:1/-1}.vip-home-engine .vip-field label{font-size:13px;font-weight:800;color:#eedb9c}.vip-home-engine .vip-field input,.vip-home-engine .vip-field select{width:100%;max-width:100%;min-height:56px;border:1px solid rgba(205,181,111,.46);border-radius:22px;padding:13px 17px;background:var(--vip-home-ivory);color:#111;font-size:16px;outline:none}.vip-home-engine .vip-field input:focus,.vip-home-engine .vip-field select:focus{border-color:var(--vip-home-gold);box-shadow:0 0 0 3px rgba(205,181,111,.16)}
.vip-home-engine .vip-trip-tabs--compact{display:inline-flex;max-width:100%;margin:0 0 16px;padding:4px;border:1px solid var(--vip-home-border);border-radius:999px;background:#080808}.vip-home-engine .vip-trip-tab{appearance:none;border:0;border-radius:999px;padding:9px 17px;background:transparent;color:#fff;font-weight:800;cursor:pointer}.vip-home-engine .vip-trip-tab.is-active{background:var(--vip-home-gold);color:#111}.vip-home-engine .vip-hidden{display:none!important}.vip-home-engine .vip-primary{appearance:none;width:100%;min-height:56px;border:1px solid var(--vip-home-gold);border-radius:999px;background:var(--vip-home-gold);color:#111;font-weight:900;font-size:15px;cursor:pointer;margin-top:15px}.vip-home-engine__link{display:block;text-align:center;margin-top:12px;color:#e3ce8d;font-size:13px;font-weight:700}.vip-home-engine__note{margin:12px 0 0;color:#bdb3a0;font-size:12px;line-height:1.5}
.vip-home-engine .vip-autocomplete-slot{display:none;width:100%;min-width:0;max-width:100%;border-radius:22px}.vip-home-engine .vip-autocomplete-slot:not(:empty){display:block}.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;border:1px solid rgba(205,181,111,.46)!important;border-radius:22px!important;background:var(--vip-home-ivory)!important;--gmpx-color-surface:#f8f4e9;--gmpx-color-on-surface:#111;--gmpx-color-primary:#7f6827}.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete::part(input){min-height:56px!important;border:0!important;border-radius:22px!important;padding:13px 17px!important;background:var(--vip-home-ivory)!important;color:#111!important;font-size:16px!important}.vip-home-engine .vip-address-fallback-hidden{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.vip-popular-route-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vip-popular-route-actions .vip-btn{flex:0 1 auto}.vip-card--route .vip-price span{display:block}.vip-route-manual-tag{display:inline-flex;margin-top:10px;padding:6px 9px;border:1px solid rgba(205,181,111,.25);border-radius:999px;color:#d8c78f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:760px){.vip-home-engine{border-radius:22px;padding:18px}.vip-home-engine h2{font-size:34px}.vip-home-engine .vip-field-grid{grid-template-columns:minmax(0,1fr)}.vip-home-engine .vip-field.full{grid-column:auto}.vip-home-engine .vip-field input,.vip-home-engine .vip-field select{border-radius:20px}.vip-popular-route-actions{display:grid;grid-template-columns:1fr}.vip-popular-route-actions .vip-btn{width:100%}}

/* VIP home booking v5 — compact desktop fields and unclipped Google suggestions */
.vip-home-engine,.vip-home-engine form,.vip-home-engine .vip-field-grid,.vip-home-engine .vip-field{overflow:visible}
.vip-home-engine{position:relative;z-index:4}
.vip-home-engine .vip-autocomplete-slot,
.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{position:relative;overflow:visible!important}
.vip-home-engine .vip-autocomplete-slot{z-index:12}
.vip-home-engine .vip-autocomplete-slot:focus-within{z-index:140}
@media(min-width:761px){
  .vip-home-engine .vip-field input,.vip-home-engine .vip-field select{min-height:48px;border-radius:15px;padding:10px 14px;font-size:15px}
  .vip-home-engine .vip-autocomplete-slot,.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{border-radius:15px!important}
  .vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete::part(input){min-height:48px!important;border-radius:15px!important;padding:10px 14px!important;font-size:15px!important}
}

/* VIP home booking v5.1 — compact desktop location fields */
@media(min-width:761px){
  .vip-home-engine .vip-field input,.vip-home-engine .vip-field select{min-height:46px;border-radius:13px;padding:9px 13px;font-size:14px}
  .vip-home-engine .vip-autocomplete-slot,.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{border-radius:13px!important}
  .vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete::part(input){min-height:46px!important;border-radius:13px!important;padding:9px 13px!important;font-size:14px!important}
}


/* VIP home booking V7 — one Google Places widget and compact mobile conversion flow */
.vip-price--live{font-size:clamp(21px,2vw,29px)!important;line-height:1.08!important}
.vip-price--live span{font-size:12px!important;line-height:1.45!important;margin-top:7px!important}
.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{contain:layout style;isolation:isolate}
.vip-home-engine .vip-autocomplete-slot:focus-within{z-index:9999}
@media(max-width:760px){
  .vip-hero{padding:8px 0 34px!important}
  .vip-hero__grid{display:block!important;min-height:0!important}
  .vip-hero__copy{padding:16px 0 8px!important}
  .vip-hero__copy .vip-eyebrow{font-size:11px!important;line-height:1.35!important;margin-bottom:9px!important}
  .vip-hero__copy .vip-title{font-size:32px!important;line-height:1.04!important;margin-bottom:13px!important}
  .vip-hero__lead{font-size:15px!important;line-height:1.5!important;margin-bottom:16px!important}
  .vip-button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:14px!important}
  .vip-button-row .vip-btn{min-height:44px!important;padding:9px 10px!important;font-size:12px!important;width:100%!important}
  .vip-button-row .vip-btn:first-child{grid-column:1/-1}
  .vip-trust-inline{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:10px!important}
  .vip-trust-inline .vip-pill{padding:8px 9px!important;font-size:11px!important;line-height:1.25!important}
  .vip-home-engine{margin-top:10px;border-radius:20px;padding:16px}
  .vip-home-engine h2{font-size:28px;line-height:1.05;margin-bottom:7px}
  .vip-home-engine__lead{font-size:13px;line-height:1.45;margin-bottom:12px}
  .vip-home-engine .vip-trip-tabs--compact{margin-bottom:11px}
  .vip-home-engine .vip-trip-tab{padding:7px 14px;font-size:12px}
  .vip-home-engine .vip-field-grid{grid-template-columns:1fr 1fr;gap:9px}
  .vip-home-engine .vip-field.full{grid-column:1/-1}
  .vip-home-engine .vip-field label{font-size:12px;line-height:1.2}
  .vip-home-engine .vip-field input,.vip-home-engine .vip-field select{min-height:50px;border-radius:16px;padding:11px 13px;font-size:15px}
  .vip-home-engine .vip-autocomplete-slot,.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{border-radius:16px!important}
  .vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete::part(input){min-height:50px!important;border-radius:16px!important;padding:11px 13px!important;font-size:15px!important}
  .vip-home-engine .vip-primary{min-height:50px;margin-top:11px;font-size:14px}
  .vip-home-engine__link{font-size:12px;line-height:1.35;margin-top:10px}
  .vip-home-engine__note{font-size:11px;line-height:1.4;margin-top:9px}
  .vip-popular-journeys{padding-top:42px!important}
}
@media(max-width:390px){
  .vip-hero__copy .vip-title{font-size:29px!important}
  .vip-button-row{grid-template-columns:1fr!important}
  .vip-button-row .vip-btn:first-child{grid-column:auto}
  .vip-trust-inline{grid-template-columns:1fr 1fr!important}
  .vip-home-engine .vip-field-grid{grid-template-columns:1fr}
  .vip-home-engine .vip-field.full{grid-column:auto}
}

/* V7.1 mobile conversion refinement — remove repeated hero controls and bring the booking form above the fold */
@media(max-width:760px){
  .vip-hero__copy{padding:10px 0 2px!important}
  .vip-hero__copy .vip-eyebrow{margin-bottom:7px!important}
  .vip-hero__copy .vip-title{font-size:29px!important;max-width:330px!important;margin-bottom:8px!important}
  .vip-hero__lead,.vip-button-row,.vip-trust-inline{display:none!important}
  .vip-home-engine{margin-top:4px!important;padding:15px!important}
  .vip-home-engine h2{font-size:26px!important;margin-bottom:5px!important}
  .vip-home-engine__lead{font-size:12px!important;line-height:1.4!important;margin-bottom:10px!important}
  .vip-home-engine .vip-field input,.vip-home-engine .vip-field select{min-height:48px!important}
  .vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete::part(input){min-height:48px!important}
  .vip-home-engine .vip-primary{min-height:48px!important}
}


/* VIP home booking V8 — cleaner mobile presentation and shorter booking path */
.vip-home-engine__lead,.vip-home-engine__note{display:none!important}
@media(max-width:760px){
  .vip-main-header__inner{padding:7px 10px!important}
  .vip-brand img{width:43px!important;height:43px!important}
  .vip-brand__title{font-size:16px!important}
  .vip-menu-toggle{width:40px!important;height:40px!important}
  .vip-hero{padding:0 0 28px!important;background-position:58% center!important}
  .vip-hero:before{background:linear-gradient(180deg,rgba(0,0,0,.36) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.9) 100%)!important}
  .vip-hero__grid{width:min(100% - 22px,1180px)!important}
  .vip-hero__copy{padding:18px 4px 8px!important}
  .vip-hero__copy .vip-eyebrow{display:block!important;font-size:10px!important;letter-spacing:.16em!important;margin:0 0 7px!important}
  .vip-hero__copy .vip-title{display:block!important;font-size:31px!important;line-height:1.02!important;max-width:340px!important;margin:0 0 9px!important;text-wrap:balance}
  .vip-hero__lead{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px!important;line-height:1.45!important;max-width:340px!important;margin:0!important;color:#eee6d6!important}
  .vip-button-row,.vip-trust-inline{display:none!important}
  .vip-home-engine{margin:8px 0 0!important;padding:14px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(17,17,17,.96),rgba(7,7,7,.98))!important;box-shadow:0 18px 42px rgba(0,0,0,.38)!important}
  .vip-home-engine h2{font-family:Arial,Helvetica,sans-serif!important;font-size:25px!important;line-height:1.05!important;margin:0 0 11px!important;letter-spacing:-.02em}
  .vip-home-engine .vip-trip-tabs--compact{margin:0 0 10px!important;padding:3px!important}
  .vip-home-engine .vip-trip-tab{padding:6px 13px!important;font-size:11px!important;min-height:31px!important}
  .vip-home-engine .vip-field-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .vip-home-engine .vip-field.full{grid-column:1/-1!important}
  .vip-home-engine .vip-field{gap:4px!important}
  .vip-home-engine .vip-field label{font-size:11px!important;line-height:1.15!important}
  .vip-home-engine .vip-field input,.vip-home-engine .vip-field select{min-height:46px!important;border-radius:13px!important;padding:10px 12px!important;font-size:14px!important}
  .vip-home-engine .vip-autocomplete-slot,.vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete{border-radius:13px!important}
  .vip-home-engine .vip-autocomplete-slot gmp-place-autocomplete::part(input){min-height:46px!important;border-radius:13px!important;padding:10px 12px!important;font-size:14px!important}
  .vip-home-engine .vip-primary{min-height:46px!important;margin-top:10px!important;font-size:13px!important}
  .vip-home-engine__link{font-size:11px!important;line-height:1.35!important;margin-top:9px!important}
  .vip-popular-journeys{padding:30px 0 42px!important}
  .vip-popular-journeys .vip-title--section{font-size:28px!important;line-height:1.08!important}
  .vip-popular-journeys .vip-copy{font-size:13px!important;line-height:1.5!important}
  .vip-popular-journeys .vip-grid--routes{display:flex!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:0 4px 12px!important;margin-left:-4px!important;margin-right:-4px!important;scrollbar-width:none}
  .vip-popular-journeys .vip-grid--routes::-webkit-scrollbar{display:none}
  .vip-popular-journeys .vip-card--route{flex:0 0 min(84vw,320px)!important;scroll-snap-align:start;min-height:330px!important;padding:18px!important}
  .vip-popular-journeys .vip-card__title{font-size:22px!important;line-height:1.08!important}
  .vip-popular-route-actions{grid-template-columns:1fr!important;gap:8px!important}
  .vip-popular-route-actions .vip-btn{min-height:42px!important;padding:9px 12px!important;font-size:11px!important}
}
@media(max-width:390px){
  .vip-hero__copy .vip-title{font-size:29px!important}
  .vip-home-engine .vip-field-grid{grid-template-columns:1fr 1fr!important}
  .vip-home-engine .vip-field.full{grid-column:1/-1!important}
  .vip-home-engine h2{font-size:24px!important}
}
