/* Shared visual language for general, aircraft, and destination inquiries.
   Layouts and field requirements stay specific to each form. */
.pb-form { gap: 24px; }
.pb-form .form-group, .pb-form .form-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pb-form label { margin: 0; color: #c6d0d9; font-family: 'Basically A Sans Serif', sans-serif; font-size: .7rem; font-weight: 500; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; }
.pb-form input:not([type="hidden"]), .pb-form textarea {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: 52px;
  padding: 14px 16px; border: 1px solid rgba(218,227,237,.3); border-radius: 0;
  background: rgba(5,5,5,.2); color: #f5f5f5; -webkit-appearance: none; appearance: none;
  font-family: 'Basically A Sans Serif', sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.5;
  transition: border-color .2s, background .2s;
}
.pb-form input::placeholder, .pb-form textarea::placeholder { color: #aab6c3; opacity: 1; }
.pb-form textarea { min-height: 140px; resize: vertical; }
.pb-form input:focus, .pb-form textarea:focus { border-color: #c0c9d3; background: rgba(5,5,5,.35); outline: 2px solid #c0c9d3; outline-offset: 3px; }
.pb-form button[type="submit"] {
  box-sizing: border-box; display: flex; justify-content: center; align-items: center; gap: 16px;
  width: 100%; min-height: 54px; margin-top: 8px; padding: 16px 24px;
  border: 1px solid rgba(218,227,237,.5); border-radius: 0; background: transparent; color: #f5f5f5;
  font-family: 'Basically A Sans Serif', sans-serif; font-size: .75rem; font-weight: 400; line-height: 1.5;
  letter-spacing: .15em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s;
}
.pb-form button[type="submit"]:hover { background: #d8d9d8; border-color: #d8d9d8; color: #102540; }
.pb-form button[type="submit"]:focus-visible { outline: 2px solid #c0c9d3; outline-offset: 4px; }
.pb-form button[type="submit"]:disabled { opacity: .6; cursor: wait; }
.pb-form [role="status"] { font-size: .9rem; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) { .pb-form input, .pb-form textarea, .pb-form button { transition: none; } }
