/* Prode Tours v106404 — compact Transfers booking layout.
   Presentation only: original form controls, API, pricing, checkout and
   validation are deliberately unchanged. Scoped to the public Transfers page. */
/* Bring the booking section closer to the first viewport on desktop. */
@media(min-width:981px){
  body.public-v5 main.transfer-main .transfer-hero{
    min-height:455px;padding-top:88px;padding-bottom:76px;
  }
}
body.public-v5 main.transfer-main .transfer-shell{
  max-width:1160px;
  width:min(1160px,calc(100% - 36px));
  padding-bottom:58px;
}
body.public-v5 main.transfer-main .ptx-rules{margin-bottom:22px;}
body.public-v5 main.transfer-main .ptx-booking-intro{
  max-width:840px; margin-bottom:18px; padding:2px 2px 0;
}
body.public-v5 main.transfer-main .ptx-booking-intro h2{
  font-size:clamp(25px,2.4vw,32px);
}
/* Booking / quote: less empty width and tighter, aligned modules. */
body.public-v5 main.transfer-main .transfer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(275px,310px);
  gap:20px;align-items:start;max-width:1120px;margin-inline:auto;
}
body.public-v5 main.transfer-main #transfer-form.booking-panel{
  min-width:0;padding:clamp(17px,2.2vw,27px);
  border-radius:22px;
  box-shadow:0 14px 38px rgba(14,40,25,.075);
}
body.public-v5 main.transfer-main #transfer-form .booking-step{
  padding:18px 0;
}
body.public-v5 main.transfer-main #transfer-form .booking-step:first-of-type{padding-top:0;}
body.public-v5 main.transfer-main #transfer-form .booking-step:last-of-type{padding-bottom:0;}
body.public-v5 main.transfer-main #transfer-form .booking-step > h2{
  font-size:clamp(19px,2vw,23px)!important;
  padding:11px 14px!important;
  border-radius:12px;
  margin:0 0 14px!important;
  gap:10px!important;
  box-shadow:0 4px 12px rgba(12,37,25,.08);
}
body.public-v5 main.transfer-main #transfer-form .booking-step > h2::before{
  flex:0 0 27px;width:27px;height:27px;font-size:10px;
}
body.public-v5 main.transfer-main #transfer-form .form-grid,
body.public-v5 main.transfer-main #transfer-form .journey-card__fields{
  gap:11px 13px;
}
body.public-v5 main.transfer-main #transfer-form .form-grid[style]{margin-top:11px!important;}
body.public-v5 main.transfer-main #transfer-form .field label{gap:6px;line-height:1.45;}
body.public-v5 main.transfer-main #transfer-form .field input,
body.public-v5 main.transfer-main #transfer-form .field select,
body.public-v5 main.transfer-main #transfer-form .field textarea{
  border-radius:10px;min-height:46px;padding:9px 12px;
}
body.public-v5 main.transfer-main #transfer-form .field textarea{min-height:80px;}
body.public-v5 main.transfer-main #transfer-form .journey-card{
  border-radius:15px;box-shadow:0 5px 18px rgba(18,27,23,.045);
}
body.public-v5 main.transfer-main #transfer-form .journey-card__header{
  padding:12px 15px!important;gap:8px!important;
}
body.public-v5 main.transfer-main #transfer-form .journey-card__header h3{
  font-size:clamp(17px,1.7vw,21px)!important;
}
body.public-v5 main.transfer-main #transfer-form .journey-card__header p{
  display:none!important;/* repeated guidance; labels below remain visible */
}
body.public-v5 main.transfer-main #transfer-form .journey-card__fields{
  padding:14px 15px 16px;
}
body.public-v5 main.transfer-main #transfer-form .journey-card__fields .pt-travel-reference input,
body.public-v5 main.transfer-main #transfer-form .journey-card__fields .pt-terminal-reference input,
body.public-v5 main.transfer-main #transfer-form .journey-card__fields .pt-terminal-reference select.pt-terminal-choice{
  height:46px;min-height:46px;padding:9px 12px;
}
body.public-v5 main.transfer-main #transfer-form .radio-row{gap:9px;}
body.public-v5 main.transfer-main #transfer-form .radio-row .radio span{
  min-height:43px;padding:8px 14px;
}
/* Four live catalogue categories in two tidy rows rather than oversized cards. */
body.public-v5 main.transfer-main #transfer-form .vehicle-options{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
body.public-v5 main.transfer-main #transfer-form .vehicle-card{
  min-height:88px;padding:15px 13px;border-radius:12px;gap:4px;
}
body.public-v5 main.transfer-main #transfer-form .vehicle-card strong{
  font-size:clamp(15px,1.5vw,18px);line-height:1.3;
  padding-right:9px;
}
body.public-v5 main.transfer-main #transfer-form .vehicle-card small{
  font-size:12px;line-height:1.4;
}
/* Preserve vehicle proportions wherever pictures are provided by the live catalogue. */
body.public-v5 main.transfer-main #transfer-form .vehicle-card img,
body.public-v5 main.transfer-main #transfer-form .vehicle-card picture img{
  display:block;width:100%;height:104px;max-width:100%;object-fit:contain!important;
  object-position:center center;background:#faf8f4;border-radius:8px;
}
body.public-v5 main.transfer-main #transfer-form .extra-options{gap:9px;}
body.public-v5 main.transfer-main #transfer-form .extra-row{
  min-height:58px;padding:10px 12px;border-radius:12px;
}
body.public-v5 main.transfer-main #transfer-form .consents{gap:10px;margin-top:12px;}
/* Slim, sticky booking total on large screens; contact options remain visible. */
body.public-v5 main.transfer-main .transfer-grid > .quote-panel{
  position:sticky;top:88px;min-width:0;max-width:100%;padding:22px 20px;
  border-radius:22px;box-shadow:0 15px 35px rgba(10,21,16,.15);
}
body.public-v5 main.transfer-main .quote-panel .eyebrow{font-size:10px;}
body.public-v5 main.transfer-main .quote-panel h2{
  margin:7px 0 12px;max-width:none;font-size:clamp(23px,2.2vw,28px);
  line-height:1.14;
}
body.public-v5 main.transfer-main .quote-total{
  font-size:clamp(34px,3vw,43px);margin:7px 0 3px;
}
body.public-v5 main.transfer-main .quote-list{margin-top:12px;}
body.public-v5 main.transfer-main .quote-panel .pt-transfer-assistance{
  margin-top:14px;
}
body.public-v5 main.transfer-main .quote-panel .transfer-advance-notice,
body.public-v5 main.transfer-main .quote-panel .pt-groups-transfer{
  padding:13px;border-radius:13px;
}
body.public-v5 main.transfer-main .quote-panel .pt-groups-transfer h3{
  font-size:15px;line-height:1.35;
}
body.public-v5 main.transfer-main .quote-panel .pt-groups-transfer__actions{
  display:flex;flex-wrap:wrap;gap:8px;
}
body.public-v5 main.transfer-main .quote-panel .book-button{
  min-height:48px;border-radius:12px;margin-top:16px;
}
body.public-v5 main.transfer-main .ptx-guide{margin-top:52px;gap:48px;}
/* Fleet cards: preserve the full vehicle, never stretch/crop it. */
body.public-v5 main.transfer-main .ptx-vehicle-photo{
  height:158px!important;max-height:none!important;width:100%;
  aspect-ratio:16 / 10;object-fit:contain!important;object-position:center center!important;
  background:#f5f1e8;
}
body.public-v5 main.transfer-main .ptx-vehicle-tip{
  margin-top:10px!important;padding-top:10px;border-top:1px solid #e2dacb;
  font-size:12px!important;line-height:1.55!important;color:#385544!important;
}
/* Responsive: no cramped sidebar or tiny touch targets. */
@media(max-width:980px){
  body.public-v5 main.transfer-main .transfer-grid{grid-template-columns:1fr;max-width:720px;gap:16px;}
  body.public-v5 main.transfer-main .transfer-grid > .quote-panel{position:static;top:auto;}
}
@media(max-width:720px){
  body.public-v5 main.transfer-main .transfer-shell{width:calc(100% - 22px);}
  body.public-v5 main.transfer-main #transfer-form.booking-panel{padding:17px 14px;}
  body.public-v5 main.transfer-main #transfer-form .form-grid,
  body.public-v5 main.transfer-main #transfer-form .journey-card__fields{grid-template-columns:minmax(0,1fr);gap:11px;}
  body.public-v5 main.transfer-main #transfer-form .field.full,
  body.public-v5 main.transfer-main #transfer-form .journey-card__fields .field.full{grid-column:1/-1;}
  body.public-v5 main.transfer-main #transfer-form .field input,
  body.public-v5 main.transfer-main #transfer-form .field select,
  body.public-v5 main.transfer-main #transfer-form .field textarea,
  body.public-v5 main.transfer-main #transfer-form .journey-card__fields .pt-travel-reference input,
  body.public-v5 main.transfer-main #transfer-form .journey-card__fields .pt-terminal-reference input,
  body.public-v5 main.transfer-main #transfer-form .journey-card__fields .pt-terminal-reference select.pt-terminal-choice{
    min-height:48px;height:auto;font-size:16px;
  }
  body.public-v5 main.transfer-main #transfer-form .vehicle-options{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  }
  body.public-v5 main.transfer-main #transfer-form .vehicle-card{
    min-height:95px;padding:12px 10px;
  }
  body.public-v5 main.transfer-main #transfer-form .vehicle-card strong{font-size:15px;}
  body.public-v5 main.transfer-main #transfer-form .vehicle-card small{font-size:11px;}
  body.public-v5 main.transfer-main #transfer-form .journey-card__header{padding:12px 13px!important;}
  body.public-v5 main.transfer-main #transfer-form .journey-card__fields{padding:13px;}
  body.public-v5 main.transfer-main .ptx-vehicle-photo{height:170px!important;}
}
@media(max-width:370px){
  body.public-v5 main.transfer-main #transfer-form .vehicle-options{grid-template-columns:1fr;}
}
