/* ===== Enquiry forms, inputs, modal ===== */
.form-card { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 26px; border: 1px solid var(--line); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .full { grid-column: 1 / -1; }
.field label { display: block; font-size: .83rem; font-weight: 600; color: var(--navy); margin-bottom: 5px; }
.field label .req { color: #dc2626; }
.input, .field input, .field select, .field textarea { width: 100%; border: 1.5px solid var(--line); border-radius: 10px; padding: 10px 12px; font: inherit; font-size: .95rem; background: #fff; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.field input:focus, .field select:focus, .field textarea:focus, .input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37, 211, 102, 0); box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); outline: 0; }
.field.error input, .field.error select, .field.error textarea { border-color: #dc2626; }
.field .err { color: #dc2626; font-size: .76rem; margin-top: 3px; display: none; }
.field.error .err { display: block; }
.form-note { font-size: .78rem; color: var(--muted); margin-top: 10px; }
.form-success { display: none; background: #e8f8ee; border: 1px solid #b7e4c7; color: #146c2e; padding: 12px 14px; border-radius: 10px; margin-top: 14px; font-size: .9rem; }
.form-success.show { display: block; }
.contact-pref { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.contact-pref label { display: flex; gap: 6px; align-items: center; font-weight: 500; margin: 0; }
.contact-pref input { width: auto; }
.modal { position: fixed; inset: 0; background: rgba(11, 29, 48, .7); z-index: 2100; display: none; align-items: center; justify-content: center; padding: 16px; }
.modal.open { display: flex; }
.modal-box { background: #fff; border-radius: 18px; max-width: 620px; width: 100%; max-height: 92vh; overflow: auto; padding: 24px; position: relative; box-shadow: var(--shadow-lg); }
.modal-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--bg); font-size: 1.1rem; }
