.main-grid:has(.trip-redesign){display:block!important;max-width:1500px!important;min-height:0!important}
.main-grid:has(.trip-redesign)>.editorial{display:none!important}
.main-grid:has(.trip-redesign)>.booking,.main-grid:has(.trip-redesign)>.payment{height:auto!important;min-height:0!important}
#trip-form.trip-redesign{display:grid!important;grid-template-columns:1.55fr 1.55fr 1fr .85fr auto;gap:12px;align-items:center}
#trip-form.trip-redesign>*{grid-area:auto!important;grid-column:1/-1!important;min-width:0}
#trip-form.trip-redesign>.trip-departure,#trip-form.trip-redesign>.trip-arrival,#trip-form.trip-redesign>.trip-date,#trip-form.trip-redesign>.trip-time,#trip-form.trip-redesign>#calculate{grid-column:auto!important;grid-row:2!important}
#trip-form.trip-redesign>.trip-departure{grid-column:1!important}
#trip-form.trip-redesign>.trip-arrival{grid-column:2!important}
#trip-form.trip-redesign>.trip-date{grid-column:3!important}
#trip-form.trip-redesign>.trip-time{grid-column:4!important}
#trip-form.trip-redesign>#calculate{grid-column:5!important;margin:0!important;width:100%;min-width:145px;background:#007f78!important;color:#fff!important;font-size:0!important}
.trip-redesign #calculate svg{display:none}
.trip-redesign #calculate::after{content:"VOIR LE PRIX";font-size:15px;font-weight:750;letter-spacing:.06em}
.trip-redesign #calculate:disabled::after{content:"CALCUL EN COURS…"}
.trip-redesign .trip-tagline{text-align:center;font-size:clamp(19px,2vw,27px);font-weight:650;margin:0 0 10px;color:#172234}
.trip-tagline strong{color:#007b74}
.trip-redesign>.departure-frequent,.trip-redesign>.frequent,.trip-redesign>.shortcuts{display:none!important}
.trip-redesign>label:is([for=from],[for=to],[for=date],[for=date-trigger],[for=time],[for=time-trigger]){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.trip-redesign :is(.trip-departure,.trip-arrival,.trip-date,.trip-time){background:#f0f3f5!important;border-color:transparent;border-radius:13px;gap:6px;min-height:56px!important}
.trip-redesign :is(.trip-departure,.trip-arrival){background:#e6f5f3!important}
.trip-redesign :is(.trip-departure,.trip-arrival)>:is(input,.address-autocomplete){flex:1;min-width:0}
.trip-redesign .trip-menu{flex:none;border:0;background:#fff;color:#36414a;border-radius:8px;width:34px;height:36px;cursor:pointer;font-size:17px}
.trip-choices{border:0;border-radius:16px;padding:20px;width:min(360px,calc(100% - 32px));max-height:80vh;max-height:80dvh;overflow:auto;background:#fff;color:#172234}
.trip-choices::backdrop{background:#14232d66}
.trip-choices h3{margin:0 0 12px}
.trip-choices button{display:block;width:100%;text-align:left;margin:6px 0;padding:11px;border:0;border-radius:8px;background:#e6f5f3;color:inherit;cursor:pointer;font:inherit}
@media(max-width:1050px){
  #trip-form.trip-redesign{grid-template-columns:repeat(2,minmax(0,1fr))}
  #trip-form.trip-redesign>.trip-date,#trip-form.trip-redesign>.trip-time{grid-row:3!important;grid-column:auto!important}
  #trip-form.trip-redesign>#calculate{grid-row:4!important;grid-column:1/-1!important}
}
@media(max-width:560px){
  #trip-form.trip-redesign>.trip-departure,#trip-form.trip-redesign>.trip-arrival{grid-column:1/-1!important}
  #trip-form.trip-redesign>.trip-arrival{grid-row:3!important}
  #trip-form.trip-redesign>.trip-date,#trip-form.trip-redesign>.trip-time{grid-row:4!important}
  #trip-form.trip-redesign>#calculate{grid-row:5!important}
  .trip-redesign :is(.trip-departure,.trip-arrival) input{font-size:16px!important}
}

#trip-form.trip-redesign{align-items:start}
.trip-redesign :is(.trip-departure,.trip-arrival){display:flex!important;flex-wrap:wrap;gap:8px!important;height:auto!important;padding:0!important;background:transparent!important;border:0!important;overflow:visible!important}
.trip-redesign :is(.trip-departure,.trip-arrival)>.trip-location-shortcuts{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}
.trip-redesign .trip-location-shortcuts .trip-menu{display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;min-height:40px;padding:6px 10px;background:#e6f5f3;color:#15514d;font:inherit;font-size:14px}
.trip-redesign .trip-location-shortcuts .trip-menu span{font-size:16px}
.trip-redesign .trip-time:has(.trip-time-selects):has(#time-popup:not([hidden])){grid-column:1/-1!important;grid-row:auto!important;height:auto!important;align-items:flex-start!important;overflow:visible!important}
.trip-redesign .trip-time .time-field{min-width:0}
.trip-redesign .trip-time #time-trigger{white-space:nowrap}
.trip-redesign .trip-time #time-popup:has(.trip-time-selects):not([hidden]){position:static!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box;margin:8px 0;padding:12px;overflow:visible!important}
.trip-redesign .trip-time .time-columns[hidden]{display:none!important}
.trip-time-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}
.trip-time-selects label{display:grid;gap:4px;margin:0}
.trip-time-selects select{width:100%;min-width:0;min-height:44px;font-size:16px;padding:4px;border:1px solid #88999c;border-radius:8px;background:#fff;color:#172234}
@media(max-width:560px){
  #trip-form.trip-redesign>.trip-date{grid-column:1/-1!important}
  #trip-form.trip-redesign>.trip-time{grid-row:5!important;grid-column:1/-1!important}
  #trip-form.trip-redesign>#calculate{grid-row:6!important}
}
@media(min-width:561px){
  #trip-form.trip-redesign>.trip-time:has(.trip-time-selects):has(#time-popup:not([hidden])){grid-column:4!important;grid-row:2!important;align-items:center!important}
  .trip-redesign .trip-time #time-popup:has(.trip-time-selects):not([hidden]){position:absolute!important;inset:calc(100% + 6px) 0 auto auto!important;width:270px!important;z-index:20}
}
@media(min-width:561px) and (max-width:1050px){
  #trip-form.trip-redesign>.trip-time:has(.trip-time-selects):has(#time-popup:not([hidden])){grid-column:2!important;grid-row:3!important}
}
@media(max-width:560px){
  #trip-form.trip-redesign>.trip-time:has(.trip-time-selects):has(#time-popup:not([hidden])){grid-row:5!important}
}
#trip-form.trip-redesign > #calculate {
  grid-area: 10 / 1 / 11 / -1 !important;
  background: #ffe500 !important;
  color: #161616 !important;
}
.main-grid.trip-has-price:has(.trip-redesign) {
  display: flex !important;
  flex-direction: column;
}
.main-grid.trip-has-price > .payment { order: -1; }
#ready { scroll-margin-top: var(--trip-result-offset, 80px); }

#trip-form.trip-redesign > .contact-fields { grid-area: 9 / 1 / 10 / -1 !important; }
#trip-form.trip-redesign > #error { grid-area: 11 / 1 / 12 / -1 !important; }
