/* Finition des formulaires de réservation RLD : lisibilité sans effet gras
   excessif et espace adapté aux écrans étroits. */
.fields > label {
  color: #69778b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
}

.fields > label input,
.fields > label select { font-weight: 500; }
.fields > label input::placeholder { color: #9aa5b5; font-weight: 400; opacity: 1; }

@media (max-width: 620px) {
  header { height: 74px; padding: 0 16px; }
  header > a:last-child { font-size: 10px; }
  .brand img { width: 48px; height: 48px; }
  main { width: calc(100% - 24px); margin: 32px auto; }
  h1 { font-size: 38px; line-height: 1.04; }
  .lead { margin: 13px 0 24px; font-size: 12px; }
  form { padding: 22px 16px; }
  .fields { grid-template-columns: 1fr; gap: 14px; }
  .vehicles { grid-template-columns: 1fr 1fr; gap: 9px; }
  .vehicles button { min-height: 58px; padding: 12px; }
  .total { align-items: stretch; gap: 16px; flex-direction: column; }
  .total button { width: 100%; min-height: 52px; }
  .total strong { font-size: 27px; }
  .rld-transfer-pricing { margin-top: 15px; padding: 13px; }
  .reservation-choice { gap: 7px; }
  .reservation-choice button { min-height: 48px; padding: 10px; font-size: 10px; }
  .payment-responsibility-options { grid-template-columns: 1fr; }
  .payment-responsibility-options button { min-height: 96px; }
}

@media (max-width: 360px) {
  header > a:last-child { font-size: 9px; }
  .brand em { font-size: 12px; }
  h1 { font-size: 34px; }
  .vehicles { grid-template-columns: 1fr; }
  .total strong { font-size: 25px; }
}
