/* Base */
.jl-booking {
  background: #f2f2f2;
  padding: 40px;
  font-family: Arial, sans-serif;
}

.jl-progress {
  display: flex;
  gap: 12px;
  margin-bottom: 30px;
}

.jl-progress span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ccc;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.jl-progress span.active {
  background: #8b0000;
}

/* STEP 1 */
.jl-vehicle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.jl-vehicle-card {
  cursor: pointer;
  text-align: center;
}

.jl-vehicle-card img {
  max-width: 100%;
  height: 130px !important;
  object-fit: contain;
}

.jl-code {
  display: block;
  margin-top: 10px;
  font-size: 20px;
}

/* STEP 2 */
.jl-step-2 {
  display: flex;
  align-items: flex-start;
}

/* LEFT */
.jl-left {
  width: 40%;
}

.jl-left img {
  max-width: 100%;
  margin: 20px 0;
}

/* RIGHT */
.jl-right {
  width: 60%;
}

/* Divider */
.jl-divider {
  width: 1px;
  background: #999;
  margin: 0 40px;
}

/* FORM */
.jl-right h3 {
  color: #4D4D4D !important;
  margin-bottom: 20px;
}

.jl-right input,
.jl-right textarea {
  width: 100%;
  padding: 14px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
}

.rtl .jl-right input,
.rtl .jl-right textarea {
  text-align: right;
}

/* Selected vehicle text + button */
#jl-selected-title {
  font-size: 30px;
  color: #4D4D4D;
}

.jl-select-label {
    padding-bottom: 20px;
}

#jl-change-model {
  background: none;
  border: 1px solid #ccc;
  padding: 10px 20px;
  cursor: pointer;
  color: #4D4D4D;
  margin-top: 10px;
}

/* Submit */
.jl-submit {
  background: #8b0000;
  color: #fff;
  border: none;
  padding: 14px 40px;
  cursor: pointer;
}

/* ----------------------------- */
/* 📱 RESPONSIVE */
/* ----------------------------- */

@media (max-width: 1024px) {
  .jl-vehicle-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .jl-left {
    width: 45%;
  }

  .jl-right {
    width: 55%;
  }
}

@media (max-width: 768px) {

  .jl-booking {
    padding: 20px;
  }

  .jl-vehicle-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .jl-step-2 {
    flex-direction: column;
  }

  .jl-left,
  .jl-right {
    width: 100%;
  }

  .jl-divider {
    width: 100%;
    height: 1px;
    margin: 30px 0;
  }

  .jl-left {
    text-align: center;
  }

  #jl-change-model {
    width: 100%;
    margin-top: 15px;
  }

  .jl-submit {
    width: 100%;
  }
}

@media (max-width: 480px) {

  .jl-vehicle-grid {
    grid-template-columns: 1fr;
  }

  .jl-code {
    font-size: 18px;
  }

  .jl-progress {
    justify-content: center;
  }
}
