/* Orion — the enquiry form (assets/js/book-form.js), wherever it is used:
   /book and the home page's #contact section. These rules were the home
   page's own; they live here now so both places draw the same form. */

.audit-form-col{border:var(--line);padding:40px;background:rgba(4,4,10,0.60);border-radius:var(--r-md);
  backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 20px 60px rgba(0,0,0,0.45),0 1px 0 rgba(255,255,255,0.08) inset;min-width:0}
.audit-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.audit-field{display:flex;flex-direction:column;gap:8px;min-width:0}
/* A label that wraps to two lines pushed its own control down and left
   the row ragged. The fields are equal height, so sending the control
   to the bottom of each one lines them up whatever the label does. */
.audit-field > input,.audit-field > select,.audit-field > textarea{margin-top:auto}
.audit-label{font-size:var(--fs-1);letter-spacing:0.2em;text-transform:uppercase;color:rgba(240,232,213,0.5);font-weight:600}
.audit-input,.audit-select,.audit-textarea{background:rgba(255,255,255,0.04);border:var(--line);color:var(--cream);
  font-family:var(--font-body);font-size:var(--fs-2);padding:12px 16px;
  transition:border-color var(--dur-1),box-shadow var(--dur-1);width:100%;min-width:0;max-width:100%;
  appearance:none;-webkit-appearance:none;border-radius:var(--r-md)}
.audit-select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.audit-select option{background:#0D0D14;color:#F0E8D5}
.audit-input:focus,.audit-select:focus,.audit-textarea:focus{outline:none;border-color:var(--line-strong-colour);box-shadow:0 0 0 3px rgba(201,168,76,0.08)}
.audit-input:focus-visible,.audit-select:focus-visible,.audit-textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.audit-input::placeholder,.audit-textarea::placeholder{color:rgba(240,232,213,0.5)}
.audit-textarea{resize:vertical;min-height:80px;margin-bottom:8px}
.af-pkg{margin:0 0 18px;padding:12px 16px;border-left:2px solid var(--gold);
  background:rgba(201,168,76,.07);font-size:var(--fs-2);line-height:var(--lh-body);color:var(--cream)}
.audit-submit{width:100%;background:var(--gold);color:var(--ink);padding:16px;font-family:var(--font-body);font-size:var(--fs-1);
  font-weight:700;letter-spacing:0.2em;text-transform:uppercase;border:none;cursor:pointer;
  transition:background var(--dur-2),transform var(--dur-3) var(--ease),box-shadow var(--dur-2);margin-top:8px;
  border-radius:var(--r-pill);box-shadow:0 4px 20px rgba(201,168,76,0.28)}
.audit-submit:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 6px 28px rgba(201,168,76,0.4)}
.audit-submit:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.audit-submit:disabled{opacity:.7;cursor:progress;transform:none}
.af-sent{text-align:center;margin:16px 0 0;font-size:var(--fs-2);color:#C9A84C;letter-spacing:0.06em}
.af-failed{text-align:center;margin:16px 0 0;font-size:var(--fs-2);color:#F0A9A3}
.af-failed a{color:inherit}
.af-direct{text-align:center;margin:14px 0 0}
.af-direct a{font-size:var(--fs-1);color:rgba(201,168,76,0.85);text-decoration:none;letter-spacing:0.06em}
.af-direct a:hover{color:var(--gold-bright)}
.audit-privacy{font-size:var(--fs-1);color:rgba(240,232,213,0.5);text-align:center;margin-top:12px;font-weight:300}
.audit-privacy a{color:rgba(201,168,76,0.85);text-decoration:none}

@media(max-width:1100px){
  .audit-form-col{padding:28px 20px}
  .audit-input,.audit-select,.audit-textarea{font-size:var(--fs-3)}
}
@media(max-width:900px){.audit-form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.audit-submit,.audit-submit:hover{transition:none;transform:none}}
