/* Estonia-Transfer.ee — three-step booking form, v281 */
:root{
  --etb281-navy:#071a43;
  --etb281-blue:#075dc2;
  --etb281-blue-soft:#edf5ff;
  --etb281-accent:#ffad00;
  --etb281-accent-2:#ff9700;
  --etb281-green:#16814e;
  --etb281-line:#dbe5f0;
  --etb281-soft:#f5f8fc;
}

.hero-v264 .hero-grid.booking-host-v281{
  width:min(1480px,calc(100% - 48px));
  max-width:none;
}

.hero .hero-grid>.booking-shell-v281{
  grid-column:1/-1!important;
  justify-self:center;
  width:100%!important;
  max-width:none!important;
}

.hero .hero-card.booking-shell-v281{
  overflow:hidden;
  margin-top:58px!important;
  padding:30px 34px 24px!important;
  border:1px solid rgba(221,231,241,.92)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(2,27,62,.2)!important;
}

.booking-shell-v281 .booking-v281-heading{
  justify-content:flex-start;
  align-items:center;
  gap:16px;
  margin:0 0 4px;
}

.booking-shell-v281 .booking-v281-heading h2{
  max-width:900px;
  margin:0!important;
  color:var(--etb281-navy)!important;
  font-size:clamp(28px,2.55vw,40px)!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  line-height:1.08!important;
  text-wrap:balance;
}

.booking-shell-v281 .booking-v281-heading .card-badge{
  flex:0 0 auto;
  min-height:30px!important;
  padding:7px 15px!important;
  color:#081c43!important;
  background:linear-gradient(135deg,#ffc92c,#ffad00)!important;
  box-shadow:none!important;
  font-size:10px!important;
  letter-spacing:.03em!important;
}

.booking-shell-v281 .booking-v281-intro{
  max-width:900px;
  margin:5px 0 20px;
  color:#58719a;
  font-size:15px;
  line-height:1.45;
}

.booking-form-v281{
  --etb-navy:var(--etb281-navy);
  --etb-accent:var(--etb281-accent);
  color:var(--etb281-navy);
}

.booking-form-v281 .etb-progress{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:46px;
  width:min(1050px,100%);
  max-width:none;
  margin:0 0 19px;
  padding:0;
}

.booking-form-v281 .etb-progress-step{
  min-height:44px;
  padding:7px 15px;
  border:1px solid transparent;
  border-radius:999px;
  background:#f2f5f9;
  color:#50648b;
  font-size:12px;
  box-shadow:none;
}

.booking-form-v281 .etb-progress-step:not(:last-child):after{
  top:50%;
  left:calc(100% + 15px);
  width:16px;
  height:1px;
  border:0;
  background:#cad6e4;
}

.booking-form-v281 .etb-progress-step span{
  flex-basis:30px;
  width:30px;
  height:30px;
  color:#1b315d;
  background:#e5ebf3;
  font-size:12px;
  font-weight:950;
}

.booking-form-v281 .etb-progress-step.is-active{
  border-color:#f3a700;
  color:#77430a;
  background:#fff9ec;
  box-shadow:inset 0 0 0 1px rgba(255,183,0,.05);
}

.booking-form-v281 .etb-progress-step.is-active span{
  color:#0a2049;
  background:linear-gradient(145deg,#ffd44f,#ffad00);
  box-shadow:0 5px 13px rgba(255,173,0,.22);
}

.booking-form-v281 .etb-progress-step.is-complete{
  border-color:transparent;
  color:#193665;
  background:#f1f4f8;
}

.booking-form-v281 .etb-progress-step.is-complete span{
  color:#fff;
  background:linear-gradient(145deg,#0d76dc,#0057b9);
  font-size:0;
}

.booking-form-v281 .etb-progress-step.is-complete span:after{
  content:"✓";
  font-size:15px;
}

.booking-form-v281 .etb-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
}

.booking-form-v281 .etb-panel{
  padding:22px;
  border:1px solid var(--etb281-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(8,42,78,.035);
}

.booking-form-v281 .etb-panel[data-step="1"]{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.booking-form-v281 .etb-trip-tabs{
  gap:8px;
  width:max-content;
  margin:-3px 0 20px;
  padding:4px;
  border:0;
  border-radius:14px;
  background:#f0f4f8;
}

.booking-form-v281 .etb-trip-tab{
  min-height:43px;
  padding:0 18px;
  border:0;
  border-radius:11px;
  font-size:12px;
}

.booking-form-v281 .etb-trip-tab.is-active{
  color:var(--etb281-navy);
  background:#fff;
  box-shadow:0 5px 15px rgba(6,37,72,.1);
}

.booking-form-v281 .etb-route-grid{
  grid-template-columns:minmax(230px,1fr) 48px minmax(230px,1fr) minmax(210px,.72fr);
  gap:13px;
}

.booking-form-v281 .etb-field{
  color:#22385f;
  font-size:11px;
}

.booking-form-v281 .etb-control input,
.booking-form-v281 .etb-control select,
.booking-form-v281 .etb-field>input,
.booking-form-v281 .etb-field>select,
.booking-form-v281 .etb-field>textarea{
  min-height:52px;
  border-color:#cfdbe8;
  border-radius:12px;
  color:#0b2048;
  background:#fff;
  font-size:13px;
}

.booking-form-v281 .etb-route-metric{
  min-height:52px;
  border-color:#dce6f0;
  background:#f6f9fc;
}

.booking-form-v281 .etb-date-grid{
  grid-template-columns:minmax(210px,1fr) minmax(180px,.72fr);
  width:min(610px,100%);
  gap:13px;
  margin-top:17px;
}

.booking-form-v281 .etb-match-route{
  display:grid;
  grid-template-columns:38px minmax(260px,1.65fr) minmax(190px,.75fr) minmax(190px,.75fr) auto;
  align-items:center;
  gap:14px;
  min-height:64px;
  margin:0 0 16px;
  padding:10px 14px;
  border:1px solid var(--etb281-line);
  border-radius:13px;
  background:#fff;
}

.booking-form-v281 .etb-match-route-icon{
  width:36px;
  height:36px;
  color:#0c5ab6;
  background:#edf4ff;
}

.booking-form-v281 .etb-match-route small{
  margin:0 0 3px;
  color:#7185a2;
  font-size:8px;
}

.booking-form-v281 .etb-match-route strong{
  color:#091c44;
  font-size:12px;
}

.booking-form-v281 .etb-match-route-date,
.booking-form-v281 .etb-match-route-metrics{
  padding:8px 12px;
  color:#142b55;
  background:#fff;
  font-size:10px;
}

.booking-form-v281 .etb-match-route-date{
  border-inline:1px solid #e4eaf1;
  border-radius:0;
}

.booking-form-v281 .etb-match-route-metrics{
  color:#112a55;
}

.booking-form-v281 .etb-edit-route{
  min-height:40px;
  padding:8px 18px;
  border:1px solid #075dc2;
  border-radius:9px;
  color:#083b88;
  background:#fff;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.booking-form-v281 .etb-edit-route:hover{
  border-color:#003f91;
  background:#f1f7ff;
  transform:translateY(-1px);
}

.booking-form-v281 .etb-smart-layout{
  display:grid;
  grid-template-columns:minmax(300px,360px) minmax(0,1fr);
  gap:18px;
}

.booking-form-v281 .etb-needs-panel{
  padding:19px 18px;
  border:1px solid #d7e2ed;
  border-radius:17px;
  background:linear-gradient(145deg,#f8fafc,#f3f7fb);
  box-shadow:none;
}

.booking-form-v281 .etb-smart-title{
  margin:0 0 10px;
}

.booking-form-v281 .etb-smart-number{
  display:none;
}

.booking-form-v281 .etb-smart-title h3{
  color:var(--etb281-navy);
  font-size:18px;
  letter-spacing:-.02em;
}

.booking-form-v281 .etb-needs-list{
  gap:3px;
  margin:0 -2px;
}

.booking-form-v281 .etb-need-row{
  grid-template-columns:minmax(0,1fr) auto;
  min-height:48px;
  padding:5px 2px;
  border:0;
  border-bottom:1px solid #e1e8f0;
  border-radius:0;
  background:transparent;
}

.booking-form-v281 .etb-need-icon{
  display:none;
}

.booking-form-v281 .etb-need-row>strong{
  color:#10264e;
  font-size:11px;
}

.booking-form-v281 .etb-need-stepper{
  grid-template-columns:34px 34px 34px;
  gap:4px;
  border:0;
  background:transparent;
}

.booking-form-v281 .etb-need-stepper button{
  width:34px;
  height:34px;
  border:1px solid #d1dce8;
  border-radius:8px;
  background:#fff;
  color:#0b2450;
  font-size:17px;
}

.booking-form-v281 .etb-need-stepper output{
  min-width:34px;
  color:#0a1c45;
  font-size:13px;
}

.booking-form-v281 .etb-capacity-note{
  margin:13px 0 17px;
  padding:10px 11px;
  border:1px solid #bcd6f4;
  border-radius:10px;
  color:#174988;
  background:#f4f9ff;
  font-size:9px;
}

.booking-form-v281 .etb-prepare-title{
  padding-top:15px;
  border-top:1px solid #dce5ee;
}

.booking-form-v281 .etb-prepare-grid{
  gap:7px;
}

.booking-form-v281 .etb-prepare-card,
.booking-form-v281 .etb-child-age{
  border-color:#dce5ee;
  border-radius:11px;
  background:#fff;
}

.booking-form-v281 .etb-prepare-card{
  grid-template-columns:34px minmax(0,1fr) auto;
  min-height:58px;
  padding:8px;
}

.booking-form-v281 .etb-prepare-card .etb-option-icon{
  width:34px;
  height:34px;
  background:#fff4d7;
}

.booking-form-v281 .etb-other-services summary,
.booking-form-v281 .etb-special-request{
  color:#0d5fbd;
}

.booking-form-v281 .etb-fleet-workspace{
  min-width:0;
  padding:7px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
}

.booking-form-v281 .etb-match-title{
  align-items:center;
  min-height:35px;
  margin:0 0 9px;
  padding:0 3px;
}

.booking-form-v281 .etb-match-title h3{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  color:var(--etb281-navy);
  font-size:20px;
}

.booking-form-v281 .etb-live-count{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 10px;
  color:#147b49;
  background:#e7f7ed;
  font-size:9px;
  vertical-align:middle;
}

.booking-form-v281 .etb-match-sort{
  color:#18315e;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.booking-form-v281 .etb-smart-vehicle-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:2px;
}

.booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card{
  min-height:265px;
  border-color:#d7e2ee;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(8,42,78,.04);
}

.booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured){
  display:grid;
  grid-template-columns:minmax(125px,40%) minmax(0,1fr);
  min-height:220px;
  overflow:hidden;
}

.booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured) .etb-vehicle-photo{
  grid-column:1;
  grid-row:1;
  height:100%;
  min-height:220px;
  padding:42px 8px 10px;
}

.booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured) .etb-vehicle-photo img{
  height:118px;
}

.booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured) .etb-vehicle-body{
  grid-column:2;
  grid-row:1;
  padding:17px 13px 13px;
}

.booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card.is-featured{
  grid-column:1/-1;
  grid-template-columns:minmax(240px,36%) minmax(0,1fr);
  min-height:286px;
  border-color:#eea000;
  background:#fffdf8;
  box-shadow:0 8px 24px rgba(255,160,0,.08);
}

.booking-form-v281 .etb-smart-vehicle-card .etb-match-badges{
  top:14px;
  right:auto;
  left:14px;
  justify-content:flex-start;
  max-width:90%;
}

.booking-form-v281 .etb-match-fit,
.booking-form-v281 .etb-match-recommended{
  padding:6px 9px;
  border-radius:8px;
  font-size:8px;
  box-shadow:none;
}

.booking-form-v281 .etb-match-recommended{
  color:#193053;
  background:#ffbd19;
}

.booking-form-v281 .etb-vehicle-choice{
  display:none;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-photo{
  min-height:286px;
  padding:48px 18px 14px;
  background:linear-gradient(145deg,#f5f8fa,#fff);
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-photo img{
  height:190px;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-body{
  position:relative;
  padding:27px 18px 18px;
  padding-right:150px;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-body h4{
  font-size:21px;
}

.booking-form-v281 .etb-vehicle-body h4{
  color:var(--etb281-navy);
}

.booking-form-v281 .etb-vehicle-tags span{
  background:#edf5ff;
  color:#144b91;
}

.booking-form-v281 .etb-match-reasons{
  grid-template-columns:1fr;
  max-width:310px;
  margin:10px 0;
  padding:10px 12px;
  border:1px solid #d7e2ed;
  border-radius:10px;
  color:#17643f;
  background:#fff;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-bottom{
  position:absolute;
  top:24px;
  right:18px;
  display:grid;
  justify-items:end;
  gap:7px;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-price strong{
  font-size:25px;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-price small{
  max-width:125px;
  text-align:right;
}

.booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-select{
  align-self:flex-end;
  width:min(230px,100%);
  min-height:48px;
  margin:9px 0 0 auto;
  border:0;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,#ffad00,#ff9600);
  font-size:12px;
}

.booking-form-v281 .etb-hidden-vehicles{
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0 0;
  color:#7283a0;
  font-size:8px;
  text-align:center;
}

.booking-form-v281 .etb-hidden-vehicles:before,
.booking-form-v281 .etb-hidden-vehicles:after{
  content:"";
  flex:1;
  height:1px;
  background:#dce5ef;
}

.booking-form-v281 .etb-summary{
  position:static;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(170px,.55fr) minmax(150px,.45fr) minmax(190px,.58fr);
  align-items:center;
  gap:7px 18px;
  min-height:72px;
  padding:10px 12px;
  border:1px solid var(--etb281-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 6px 18px rgba(7,34,69,.05);
}

.booking-form-v281 .etb-summary-list{
  grid-column:1;
  grid-row:1/4;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;
  margin:0;
  padding:0;
  border:0;
}

.booking-form-v281 .etb-summary-list li{
  min-width:0;
  font-size:9px;
}

.booking-form-v281 .etb-summary-list strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.booking-form-v281 .etb-price-lines{
  grid-column:2;
  grid-row:1/3;
  gap:6px;
  padding:0;
  border:0;
}

.booking-form-v281 .etb-total{
  grid-column:3;
  grid-row:1/3;
  padding:0;
}

.booking-form-v281 .etb-total strong{
  font-size:25px;
}

.booking-form-v281 .etb-fixed{
  grid-column:4;
  grid-row:1;
  min-height:27px;
  margin:0;
  padding:4px 7px;
}

.booking-form-v281 .etb-summary-action{
  grid-column:4;
  grid-row:2;
  min-height:47px;
  border-radius:10px;
  background:linear-gradient(135deg,#ffad00,#ff9700);
  font-size:13px;
}

.booking-form-v281 .etb-summary-back{
  grid-column:4;
  grid-row:3;
  margin:0;
}

.booking-form-v281 .etb-summary-note{
  display:none;
}

.booking-form-v281 .etb-form-message{
  grid-column:1/4;
  grid-row:4;
  margin:2px 0 0;
  text-align:left;
}

.booking-form-v281[data-current-step="1"] .etb-summary-list li:nth-child(-n+2),
.booking-form-v281[data-current-step="1"] .etb-price-lines{
  display:none;
}

.booking-form-v281[data-current-step="1"] .etb-summary-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.booking-form-v281[data-current-step="1"] .etb-fixed{
  grid-column:2;
  grid-row:1/3;
}

.booking-form-v281[data-current-step="1"] .etb-total{
  grid-column:3;
}

.booking-form-v281 .etb-contact-grid{
  gap:14px;
}

.booking-form-v281 .etb-payment{
  min-height:70px;
  border-radius:13px;
}

@media(max-width:1180px){
  .hero-v264 .hero-grid.booking-host-v281{width:min(1180px,calc(100% - 32px))}
  .hero .hero-grid>.booking-shell-v281{width:100%!important}
  .hero .hero-card.booking-shell-v281{padding-inline:25px!important}
  .booking-form-v281 .etb-progress{gap:30px}
  .booking-form-v281 .etb-progress-step:not(:last-child):after{left:calc(100% + 9px);width:12px}
  .booking-form-v281 .etb-route-grid{grid-template-columns:minmax(210px,1fr) 48px minmax(210px,1fr)}
  .booking-form-v281 .etb-route-metric{grid-column:1/-1}
  .booking-form-v281 .etb-match-route{grid-template-columns:38px minmax(240px,1fr) minmax(160px,.65fr) minmax(170px,.7fr) auto}
  .booking-form-v281 .etb-smart-layout{grid-template-columns:minmax(285px,320px) minmax(0,1fr)}
  .booking-form-v281 .etb-summary{grid-template-columns:minmax(0,1fr) minmax(155px,.55fr) minmax(140px,.45fr) minmax(175px,.6fr)}
}

@media(max-width:940px){
  .booking-form-v281 .etb-match-route{grid-template-columns:38px minmax(220px,1fr) auto auto}
  .booking-form-v281 .etb-edit-route{grid-column:2/5;justify-self:end}
  .booking-form-v281 .etb-smart-layout{grid-template-columns:1fr}
  .booking-form-v281 .etb-needs-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
  .booking-form-v281 .etb-needs-panel>.etb-smart-title:first-child,
  .booking-form-v281 .etb-needs-panel>.etb-needs-list{grid-column:1}
  .booking-form-v281 .etb-needs-panel>.etb-smart-title:first-child{grid-row:1}
  .booking-form-v281 .etb-needs-panel>.etb-needs-list{grid-row:2/6}
  .booking-form-v281 .etb-needs-panel>.etb-prepare-title,
  .booking-form-v281 .etb-needs-panel>.etb-prepare-grid,
  .booking-form-v281 .etb-needs-panel>.etb-other-services,
  .booking-form-v281 .etb-needs-panel>.etb-special-request{grid-column:2}
  .booking-form-v281 .etb-needs-panel>.etb-prepare-title{grid-row:1;padding-top:0;border-top:0}
  .booking-form-v281 .etb-needs-panel>.etb-prepare-grid{grid-row:2}
  .booking-form-v281 .etb-needs-panel>.etb-capacity-note{grid-column:2;grid-row:3}
  .booking-form-v281 .etb-needs-panel>.etb-other-services{grid-row:4}
  .booking-form-v281 .etb-needs-panel>.etb-special-request{grid-row:5}
  .booking-form-v281 .etb-fleet-workspace{padding-top:16px}
  .booking-form-v281 .etb-summary{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)}
  .booking-form-v281 .etb-summary-list{grid-column:1;grid-row:1/4}
  .booking-form-v281 .etb-price-lines{grid-column:2;grid-row:1}
  .booking-form-v281 .etb-total{grid-column:2;grid-row:2}
  .booking-form-v281 .etb-fixed{grid-column:1;grid-row:4;justify-self:start;min-width:175px}
  .booking-form-v281 .etb-summary-action{grid-column:2;grid-row:3}
  .booking-form-v281 .etb-summary-back{grid-column:2;grid-row:4}
  .booking-form-v281[data-current-step="1"] .etb-fixed{grid-column:1;grid-row:4}
  .booking-form-v281[data-current-step="1"] .etb-total{grid-column:2;grid-row:1}
}

@media(max-width:700px){
  .hero-v264 .hero-grid.booking-host-v281{width:calc(100% - 12px)}
  .hero .hero-grid>.booking-shell-v281{width:100%!important}
  .hero .hero-card.booking-shell-v281{overflow:visible;margin-top:11px!important;padding:0 0 95px!important;border-radius:24px!important;background:#f6f9fc!important}
  .booking-shell-v281 .booking-v281-heading{gap:8px;padding:18px 16px 0}
  .booking-shell-v281 .booking-v281-heading h2{font-size:25px!important}
  .booking-shell-v281 .booking-v281-heading .card-badge{min-height:25px!important;padding:6px 9px!important;font-size:0!important}
  .booking-shell-v281 .booking-v281-heading .card-badge:after{content:attr(data-mobile-label);font-size:7px!important}
  .booking-shell-v281 .booking-v281-intro{margin:4px 0 12px;padding:0 16px;font-size:10px}
  .booking-form-v281{padding:0 8px}
  .booking-form-v281 .etb-progress{gap:6px;width:100%;margin:11px 4px 10px}
  .booking-form-v281 .etb-progress-step{justify-content:flex-start;min-height:38px;padding:5px 7px;border-radius:11px}
  .booking-form-v281 .etb-progress-step:not(:last-child):after{display:none}
  .booking-form-v281 .etb-progress-step b{display:none}
  .booking-form-v281 .etb-panel{padding:12px;border:0;border-radius:17px}
  .booking-form-v281 .etb-panel[data-step="1"]{padding:0}
  .booking-form-v281 .etb-trip-tabs{width:100%;margin:0 0 14px}
  .booking-form-v281 .etb-trip-tab{flex:1;justify-content:center;min-height:48px;padding-inline:5px}
  .booking-form-v281 .etb-route-grid{grid-template-columns:minmax(0,1fr) 49px}
  .booking-form-v281 .etb-date-grid{grid-template-columns:1fr 1fr;width:100%}
  .booking-form-v281 .etb-match-route{grid-template-columns:31px minmax(0,1fr) auto;gap:7px;min-height:0;margin-bottom:10px;padding:9px}
  .booking-form-v281 .etb-match-route-date{grid-column:3;grid-row:1;border:0}
  .booking-form-v281 .etb-match-route-metrics{grid-column:2/4;justify-self:start}
  .booking-form-v281 .etb-edit-route{grid-column:2/4;justify-self:stretch;min-height:42px}
  .booking-form-v281 .etb-smart-layout{display:block}
  .booking-form-v281 .etb-needs-panel{display:block;padding:12px;border-radius:15px}
  .booking-form-v281 .etb-need-row{grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:7px 2px}
  .booking-form-v281 .etb-need-stepper{grid-template-columns:44px 32px 44px}
  .booking-form-v281 .etb-need-stepper button{width:44px;height:44px}
  .booking-form-v281 .etb-prepare-title{padding-top:15px;border-top:1px solid #dce5ee}
  .booking-form-v281 .etb-fleet-workspace{margin-top:11px;padding:12px;border-radius:15px;background:#fff}
  .booking-form-v281 .etb-match-title{align-items:flex-start}
  .booking-form-v281 .etb-smart-vehicle-grid{display:flex;gap:10px;overflow-x:auto;margin-inline:-4px;padding:3px 4px 10px;scroll-snap-type:x mandatory}
  .booking-form-v281 .etb-smart-vehicle-card{flex:0 0 82%;min-height:342px;scroll-snap-align:center}
  .booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured){display:flex;flex-direction:column;min-height:342px;overflow:hidden}
  .booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured) .etb-vehicle-photo{width:100%;height:125px;min-height:125px;padding:25px 12px 0}
  .booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured) .etb-vehicle-photo img{height:105px}
  .booking-form-v281 .etb-smart-vehicle-grid .etb-smart-vehicle-card:not(.is-featured) .etb-vehicle-body{padding:12px 14px 14px}
  .booking-form-v281 .etb-smart-vehicle-card.is-featured{flex-basis:100%;display:flex;min-height:350px}
  .booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-photo{width:100%;height:125px;min-height:125px;padding:25px 12px 0}
  .booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-photo img{height:105px}
  .booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-body{padding:12px 14px 14px}
  .booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-bottom{position:static;display:flex;justify-items:initial}
  .booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-price small{max-width:none;text-align:left}
  .booking-form-v281 .etb-smart-vehicle-grid .is-featured .etb-vehicle-select{width:100%;margin-top:10px}
  .booking-form-v281 .etb-summary{
    position:fixed!important;
    z-index:1200;
    top:auto!important;
    right:max(8px,env(safe-area-inset-right));
    bottom:max(8px,env(safe-area-inset-bottom));
    left:max(8px,env(safe-area-inset-left));
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(142px,43%);
    align-items:center;
    gap:8px;
    min-height:0;
    max-height:calc(100dvh - 92px);
    margin:0;
    padding:9px;
    border-radius:18px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 55px rgba(2,25,45,.25);
  }
  .booking-form-v281[data-current-step="1"] .etb-summary-list li:nth-child(-n+2){display:grid}
  .booking-form-v281 .etb-summary-note{display:none!important}
}

@media(max-width:430px){
  .booking-shell-v281 .booking-v281-heading h2{font-size:23px!important}
  .booking-form-v281 .etb-match-title{display:block}
  .booking-form-v281 .etb-fleet-toolbar{margin-top:5px}
  .booking-form-v281 .etb-payment-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .booking-form-v281 .etb-edit-route,
  .booking-form-v281 .etb-progress-step{transition:none}
  .booking-form-v281 .etb-edit-route:hover{transform:none}
}
