/* الاستمارات العامة */
.form-page { max-width: 760px; margin: 0 auto; padding: 30px 0 50px; }
.form-head { background: var(--navy); border-radius: 14px 14px 0 0; padding: 26px 30px; border-bottom: 3px solid var(--gold); }
.form-head h1 { color: #fff; font-size: 22px; font-weight: 800; margin: 0; }
.form-head p { color: #C9D2DE; font-size: 14px; line-height: 1.9; margin: 10px 0 0; white-space: pre-line; }
.form-box { background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; padding: 28px 30px; }
.ff { margin-bottom: 20px; }
.ff > label { display: block; font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.ff .star { color: var(--danger); }
.ff .help { font-size: 12.5px; color: var(--ink-mute); margin-top: 5px; }
.ff input[type=text], .ff input[type=number], .ff input[type=email], .ff input[type=tel], .ff input[type=date], .ff select, .ff textarea {
    width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; font-family: var(--font); font-size: 15px; outline: none; transition: border-color .15s, box-shadow .15s;
}
.ff textarea { min-height: 110px; resize: vertical; line-height: 1.8; }
.ff input:focus, .ff select:focus, .ff textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184,148,90,.14); }
.ff .invalid { border-color: var(--danger); }
.ff .err { color: var(--danger); font-size: 13px; margin-top: 5px; }
.ff .choices { display: flex; flex-direction: column; gap: 10px; }
.ff .choice { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; font-size: 14.5px; }
.ff .choice:hover { border-color: var(--gold); }
.ff .file-drop { border: 2px dashed var(--line); border-radius: 10px; padding: 18px; text-align: center; cursor: pointer; color: var(--ink-mute); font-size: 14px; }
.ff .file-drop:hover { border-color: var(--gold); }
.ff .section-title { font-size: 18px; font-weight: 800; color: var(--navy); border-bottom: 2px solid var(--gold); padding-bottom: 8px; margin: 10px 0; }
.ff.consent label { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.form-submit { display: flex; gap: 12px; margin-top: 8px; }
.form-submit button { background: var(--gold); color: var(--navy); border: 0; border-radius: 10px; font-family: var(--font); font-weight: 700; font-size: 16px; padding: 14px 34px; cursor: pointer; }
.form-submit button:hover { background: var(--gold-soft); }
.form-alert { background: #FBEBEB; border: 1px solid #F0C9C9; color: #B23B3B; padding: 12px 16px; border-radius: 10px; margin-bottom: 20px; font-size: 14px; }

.thanks { max-width: 560px; margin: 40px auto; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 44px 30px; border-top: 4px solid var(--gold); }
.thanks .ic { width: 64px; height: 64px; border-radius: 50%; background: #E7F5EE; color: #1E6B47; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.thanks h1 { color: var(--navy); font-size: 22px; margin: 0 0 10px; }
.thanks p { color: var(--ink-soft); font-size: 15px; line-height: 1.9; }
.thanks .ref { display: inline-block; margin: 16px 0; background: var(--paper-2); border: 1px dashed var(--gold); border-radius: 10px; padding: 12px 24px; font-size: 18px; font-weight: 800; color: var(--navy); letter-spacing: 1px; }
