/* ATV booking page polish - applied on top of Bootstrap 3 form-horizontal */
.content > .container-fluid:has(.form-horizontal) {
  background: #fafaf7;
  padding: 32px 16px 64px;
}
.form-horizontal {
  max-width: 720px;
  margin: 24px auto;
  background: #ffffff;
  border: 1px solid #e7e8ec;
  border-radius: 12px;
  padding: 28px 32px;
  box-shadow: 0 4px 20px rgba(15,23,34,.06);
}
.form-horizontal .form-group {
  margin-bottom: 18px;
  border-bottom: none;
}
.form-horizontal .form-group + .form-group {
  border-top: none;
}
.form-horizontal .control-label {
  font-weight: 600;
  font-size: 14px;
  color: #0f1722;
  padding-top: 10px;
  letter-spacing: 0.01em;
}
.form-horizontal .form-control {
  height: auto;
  padding: 10px 14px;
  font-size: 15px;
  line-height: 1.45;
  border: 1px solid #d9dce2;
  border-radius: 8px;
  box-shadow: none;
  background: #ffffff;
  transition: border-color .15s, box-shadow .15s;
}
.form-horizontal .form-control:focus {
  border-color: #F7EB33;
  box-shadow: 0 0 0 3px rgba(247,235,51,.25);
  outline: none;
}
.form-horizontal select.form-control {
  background-image: linear-gradient(45deg, transparent 50%, #0f1722 50%), linear-gradient(135deg, #0f1722 50%, transparent 50%);
  background-position: calc(100% - 16px) 18px, calc(100% - 11px) 18px;
  background-size: 5px 5px;
  background-repeat: no-repeat;
  appearance: none;
  -webkit-appearance: none;
}
.form-horizontal textarea.form-control { min-height: 96px; }
.form-horizontal .btn,
.form-horizontal input[type="submit"] {
  background: #F7EB33;
  color: #0f1722;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 28px;
  border: none;
  border-radius: 999px;
  letter-spacing: 0.02em;
  transition: background .15s, transform .15s;
}
.form-horizontal .btn:hover,
.form-horizontal input[type="submit"]:hover {
  background: #0f1722;
  color: #F7EB33;
  transform: translateY(-1px);
}
/* Visual section dividers between Trip / Contact / Travel groups */
.form-horizontal .form-group:nth-of-type(3),
.form-horizontal .form-group:nth-of-type(7) {
  padding-top: 22px;
  border-top: 1px solid #e7e8ec;
  margin-top: 22px;
}
/* Fare result card spacing */
.form-horizontal .fare-result {
  margin: 18px 0 !important;
}
.form-horizontal .fare-result h3 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 600;
}
.form-horizontal .fare-result .notes {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  line-height: 1.5;
  color: #cfd5e1;
}
/* Mobile */
@media (max-width: 768px) {
  .form-horizontal { padding: 20px 18px; margin: 12px; }
  .form-horizontal .control-label { padding-top: 0; padding-bottom: 6px; }
}
