/* ============================================================
   ZERO DRIVER — Form Inputs
   Style: bottom-border only on dark surface. Focus = gold.
   ============================================================ */

/* ── INPUTS ──────────────────────────────────────────────── */
.zd-form input[type="text"],
.zd-form input[type="email"],
.zd-form input[type="tel"],
.zd-form input[type="date"],
.zd-form input[type="time"],
.zd-form input[type="number"],
.zd-form select,
.zd-form textarea {
  display: block;
  width: 100%;
  background: var(--color-surface-low);
  border: none;
  border-bottom: 1px solid var(--color-text-muted);
  border-radius: 0;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-body-md);
  font-weight: var(--weight-regular);
  padding: 0.875rem 0;
  margin-bottom: 1.5rem;
  transition: border-color var(--transition-colors);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.zd-form input:focus,
.zd-form select:focus,
.zd-form textarea:focus {
  border-bottom-color: var(--color-gold);
}

.zd-form label {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--color-text-secondary);
  margin-bottom: 0.375rem;
}

.zd-form input::placeholder,
.zd-form textarea::placeholder {
  color: var(--color-text-muted);
}

.zd-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23998f81' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: 1.5rem;
  cursor: pointer;
}

.zd-form [type="submit"] {
  width: 100%;
  background: var(--color-gold);
  color: var(--color-on-gold);
  font-family: var(--font-body);
  font-size: var(--text-body-md);
  font-weight: var(--weight-semibold);
  padding: 1rem 2rem;
  border: none;
  border-radius: var(--radius-default);
  cursor: pointer;
  margin-top: 0.5rem;
  transition:
    background var(--transition-colors),
    box-shadow var(--transition-colors),
    transform var(--duration-fast) var(--ease-standard);
}

.zd-form [type="submit"]:hover {
  background: var(--color-gold-dim);
  box-shadow: 0 0 20px var(--color-gold-20);
}

.zd-form [type="submit"]:active {
  transform: scale(0.97);
}

/* ── BOOKING WRAPPER — Chauffeur plugin override ─────────── */
.zd-booking-wrapper {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  border-radius: var(--radius-xl);
  padding: 2.5rem;
}

.zd-booking-wrapper .book-a-car-form,
.zd-booking-wrapper form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.zd-booking-wrapper input[type="text"],
.zd-booking-wrapper input[type="email"],
.zd-booking-wrapper input[type="tel"],
.zd-booking-wrapper input[type="date"],
.zd-booking-wrapper select {
  background: var(--color-surface-low) !important;
  border: none !important;
  border-bottom: 1px solid var(--color-text-muted) !important;
  border-radius: 0 !important;
  color: var(--color-text) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-body-md) !important;
  padding: 0.875rem 0 !important;
}

.zd-booking-wrapper input:focus,
.zd-booking-wrapper select:focus {
  border-bottom-color: var(--color-gold) !important;
  outline: none !important;
  box-shadow: none !important;
}

.zd-booking-wrapper label {
  font-family: var(--font-body) !important;
  font-size: var(--text-label) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: var(--tracking-label) !important;
  text-transform: uppercase !important;
  color: var(--color-text-secondary) !important;
}

.zd-booking-wrapper [type="submit"],
.zd-booking-wrapper button[type="submit"],
.zd-booking-wrapper .btn-primary {
  width: 100% !important;
  background: var(--color-gold) !important;
  color: var(--color-on-gold) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-body-md) !important;
  font-weight: var(--weight-semibold) !important;
  padding: 1rem 2rem !important;
  border: none !important;
  border-radius: var(--radius-default) !important;
  cursor: pointer !important;
  transition: background var(--transition-colors), box-shadow var(--transition-colors) !important;
}

.zd-booking-wrapper [type="submit"]:hover,
.zd-booking-wrapper button[type="submit"]:hover {
  background: var(--color-gold-dim) !important;
  box-shadow: 0 0 20px var(--color-gold-20) !important;
}

@media (max-width: 767px) {
  .zd-booking-wrapper {
    padding: 1.5rem;
    border-radius: var(--radius-lg);
  }
}
