.bookly-form {
  --myauto-red: #ed1c24;
  --myauto-dark: #16191f;
  --myauto-border: #d9dde4;
  --myauto-soft: #f5f6f8;
  color: var(--myauto-dark);
}
.bookly-form .bookly-btn,
.bookly-form .bookly-nav-btn,
.bookly-form button.bookly-btn {
  background: var(--myauto-red) !important;
  border-color: var(--myauto-red) !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}
.bookly-form input,
.bookly-form select,
.bookly-form textarea {
  border: 1px solid var(--myauto-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--myauto-dark) !important;
  min-height: 48px;
}
.bookly-form input:focus,
.bookly-form select:focus,
.bookly-form textarea:focus {
  border-color: var(--myauto-red) !important;
  box-shadow: 0 0 0 3px rgba(237, 28, 36, .12) !important;
  outline: none !important;
}
.ma-bookly-vehicle-fields {
  margin: 22px 0;
  padding: 22px;
  border: 1px solid var(--myauto-border);
  border-left: 4px solid var(--myauto-red);
  border-radius: 10px;
  background: var(--myauto-soft);
}
.ma-bookly-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 18px;
}
.ma-bookly-section-head strong {
  font-size: 18px;
  color: var(--myauto-dark);
}
.ma-bookly-section-head span {
  color: #68707d;
  font-size: 12px;
}
.ma-bookly-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.ma-bookly-field-full {
  grid-column: 1 / -1;
}
.ma-bookly-field label {
  display: block;
  margin: 0 0 7px;
  color: var(--myauto-dark);
  font-size: 14px;
  font-weight: 800;
}
.ma-bookly-field input,
.ma-bookly-field select,
.ma-bookly-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 13px;
}
.ma-bookly-field textarea {
  resize: vertical;
}
.ma-bookly-native-notes {
  display: none !important;
}
.bookly-form .bookly-service-step {
  padding: 6px 0 0;
}
.bookly-form .bookly-service-step > .bookly-box.bookly-bold {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: var(--myauto-dark) !important;
  font-size: 18px !important;
}
.bookly-form .bookly-js-chain {
  margin: 0 0 20px !important;
}
.bookly-form .bookly-js-chain .bookly-form-group {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.bookly-form .bookly-js-chain label,
.bookly-form .bookly-available-date label,
.bookly-form .bookly-time-range label {
  color: #363c46 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.bookly-form .bookly-js-chain select {
  min-height: 54px !important;
  border: 2px solid var(--myauto-border) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.bookly-form .bookly-mobile-step-2 {
  display: block !important;
  margin: 4px 0 10px !important;
}
.bookly-form .bookly-mobile-step-2 > .bookly-box:not(.bookly-nav-steps) {
  display: grid !important;
  grid-template-columns: minmax(190px, 1.2fr) minmax(260px, 1.7fr) minmax(190px, 1fr);
  gap: 18px;
  align-items: end;
  width: 100% !important;
  margin: 0 !important;
  padding: 20px !important;
  box-sizing: border-box;
  border: 1px solid var(--myauto-border);
  border-radius: 12px;
  background: var(--myauto-soft);
}
.bookly-form .bookly-mobile-step-2 > .bookly-box:not(.bookly-nav-steps) > * {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.bookly-form .bookly-mobile-step-2 > .bookly-nav-steps {
  display: block !important;
  width: 100% !important;
}
.bookly-form .bookly-week-days {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
}
.bookly-form .bookly-week-days .bookly-form-group {
  position: relative;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.bookly-form .bookly-week-days input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.bookly-form .bookly-week-days label {
  display: grid !important;
  min-width: 42px;
  height: 42px;
  margin: 0 !important;
  padding: 0 9px !important;
  place-items: center;
  border: 1px solid var(--myauto-border);
  border-radius: 9px;
  background: #fff;
  color: #5d6470 !important;
  cursor: pointer;
  text-transform: capitalize;
  transition: .18s ease;
}
.bookly-form .bookly-week-days label:has(+ input:checked) {
  border-color: var(--myauto-red);
  background: var(--myauto-red);
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(237, 28, 36, .2);
}
.bookly-form .bookly-week-days label:hover {
  border-color: var(--myauto-red);
}
.bookly-form .bookly-time-range {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.bookly-form .bookly-time-range .bookly-form-group {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.bookly-form .bookly-progress-tracker > div {
  color: #6c737d !important;
  font-weight: 800 !important;
}
.bookly-form .bookly-progress-tracker > div.active {
  color: var(--myauto-red) !important;
}
.bookly-form .bookly-progress-tracker .step {
  height: 5px !important;
  border-radius: 999px !important;
}
.bookly-form .bookly-progress-tracker > div.active .step {
  background: var(--myauto-red) !important;
}
.bookly-form .bookly-nav-steps {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--myauto-border);
}

/* Étape paiement : une seule option claire, sans aspect de formulaire bancaire. */
.bookly-form .bookly-payment-nav {
  margin: 24px 0 14px !important;
  padding: 20px 22px !important;
  border: 1px solid #e1e4e9;
  border-left: 4px solid var(--myauto-red);
  border-radius: 12px;
  background: linear-gradient(135deg, #fff 0%, #f7f8fa 100%);
}
.bookly-form .bookly-payment-nav .bookly-box {
  margin: 0 !important;
  padding: 0 !important;
  color: #4f5662 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.bookly-form .bookly-js-payment-gateways-intersected > .bookly-box.bookly-list {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}
.bookly-form .bookly-js-payment-gateways-intersected > .bookly-box.bookly-list > label {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 14px;
  min-height: 70px;
  margin: 0 !important;
  padding: 16px 20px !important;
  box-sizing: border-box;
  border: 2px solid var(--myauto-red);
  border-radius: 12px;
  background: #fff;
  color: var(--myauto-dark) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(22, 25, 31, .08);
}
.bookly-form .bookly-js-payment-gateways-intersected > .bookly-box.bookly-list > label::after {
  content: "Paiement sécurisé directement au garage";
  display: block;
  margin-left: auto;
  color: #6a717d;
  font-size: 12px;
  font-weight: 700;
}
.bookly-form .bookly-js-payment-gateways-intersected input[name="payment"] {
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  accent-color: var(--myauto-red);
}
.bookly-form .bookly-js-payment-gateways-intersected input[name="payment"]:focus {
  box-shadow: 0 0 0 4px rgba(237, 28, 36, .14) !important;
}

@media (max-width: 860px) {
  .bookly-form .bookly-mobile-step-2 > .bookly-box:not(.bookly-nav-steps) {
    grid-template-columns: minmax(170px, .9fr) minmax(260px, 1.4fr);
  }
  .bookly-form .bookly-time-range {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .bookly-form .bookly-js-payment-gateways-intersected > .bookly-box.bookly-list > label { align-items: flex-start; flex-wrap: wrap; padding: 15px !important; }
  .bookly-form .bookly-js-payment-gateways-intersected > .bookly-box.bookly-list > label::after { width: 100%; margin: 0 0 0 36px; }
  .bookly-form .bookly-payment-nav { padding: 17px !important; }
  .bookly-form .bookly-mobile-step-2 > .bookly-box:not(.bookly-nav-steps) { grid-template-columns: 1fr; }
  .bookly-form .bookly-time-range { grid-column: auto; }

  .ma-bookly-vehicle-fields { padding: 16px; }
  .ma-bookly-fields-grid { grid-template-columns: 1fr; }
  .ma-bookly-field-full { grid-column: auto; }
  .ma-bookly-section-head { display: block; }
  .ma-bookly-section-head span { display: block; margin-top: 4px; }
  .bookly-form .bookly-mobile-step-2 { padding: 15px !important; }
  .bookly-form .bookly-week-days label { min-width: 39px; height: 39px; }
}