/* JCCF Forms - polished institutional form system */
.jccf-form-shell{max-width:1040px;margin:0 auto}
.jccf-form-intro{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin:0 0 26px;padding:30px;background:linear-gradient(135deg,#f7fafc,#eef4f7);border:1px solid #dce5eb;border-radius:20px;box-shadow:0 14px 35px rgba(11,31,51,.07)}
.jccf-form-intro h2{margin:6px 0 9px;font-size:clamp(1.55rem,3vw,2.15rem)}
.jccf-form-intro p{margin:0;color:#5f6b76;max-width:720px}
.jccf-form-intro .btn{white-space:nowrap}
.jccf-form-card{background:#fff;border:1px solid #dfe6eb;border-radius:22px;box-shadow:0 18px 45px rgba(11,31,51,.08);overflow:hidden}
.jccf-form-progress{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e2e8ec;background:#fbfcfd}
.jccf-form-progress span{padding:15px 18px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#71808c;border-right:1px solid #e2e8ec}
.jccf-form-progress span:last-child{border-right:0}
.jccf-form-progress span strong{display:block;color:#0b1f33;font-size:.9rem;letter-spacing:0;text-transform:none}
.jccf-form{max-width:none;padding:32px}
.jccf-form-section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #e7ecef}
.jccf-form-section:last-of-type{margin-bottom:18px}
.jccf-form-section h3{margin:0 0 5px;color:#0b1f33;font-size:1.15rem}
.jccf-form-section>p{margin:0 0 20px;color:#697783;font-size:.94rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px}
.form-field{margin:0;display:grid;gap:7px}
.form-field.full{grid-column:1/-1}
.jccf-form label{display:block;font-weight:800;font-size:.9rem;color:#173047}
.jccf-form .required{color:#b3261e}
.jccf-form input[type=text],.jccf-form input[type=email],.jccf-form input[type=tel],.jccf-form input[type=date],.jccf-form input[type=file],.jccf-form select,.jccf-form textarea{width:100%;padding:13px 14px;border:1px solid #cbd6de;border-radius:10px;background:#fff;color:#17202a;font:inherit;line-height:1.4;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}
.jccf-form input::placeholder,.jccf-form textarea::placeholder{color:#97a3ad}
.jccf-form input:focus,.jccf-form select:focus,.jccf-form textarea:focus{outline:none;border-color:#006b3c;box-shadow:0 0 0 4px rgba(0,107,60,.11)}
.jccf-form textarea{min-height:150px;resize:vertical}
.jccf-form small{display:block;color:#697783;margin-top:6px;font-size:.82rem}
.jccf-form-notice{padding:16px 18px;border-radius:12px;margin:0 0 22px;border:1px solid}
.jccf-form-notice.success{background:#edf8f1;border-color:#b9ddc5;color:#185b31}
.jccf-form-notice.error{background:#fff1f0;border-color:#edc1bd;color:#8a211a}
.jccf-upload{border:1.5px dashed #aebdc8;border-radius:14px;background:#f8fafb;padding:22px;text-align:center;transition:.15s}
.jccf-upload:hover,.jccf-upload:focus-within{border-color:#006b3c;background:#f3f9f5}
.jccf-upload-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#e2f1e8;color:#006b3c;font-size:1.25rem;font-weight:900}
.jccf-upload strong{display:block;color:#0b1f33;margin-bottom:3px}
.jccf-upload input[type=file]{border:0;padding:8px 0;background:transparent}
.jccf-file-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:5px;text-align:left;font-size:.84rem;color:#4f5f6b}
.jccf-consent{display:flex;gap:10px;align-items:flex-start;padding:15px 16px;border:1px solid #dfe6eb;border-radius:12px;background:#fafcfd;margin-bottom:20px}
.jccf-consent input{margin-top:4px;accent-color:#006b3c}
.jccf-consent label{font-weight:600!important;color:#53626d!important}
.jccf-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.jccf-submit-row small{max-width:560px;margin:0}
.jccf-form .btn{border-radius:10px;padding:13px 21px}
.jccf-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.jccf-contact-card{max-width:900px}
.jccf-contact-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.jccf-contact-point{padding:20px;border:1px solid #dfe6eb;border-radius:15px;background:#fff;box-shadow:0 10px 25px rgba(11,31,51,.05)}
.jccf-contact-point span{display:block;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;color:#006b3c;font-weight:900;margin-bottom:7px}
.jccf-contact-point strong{color:#0b1f33}
@media(max-width:760px){.jccf-form-intro{grid-template-columns:1fr}.jccf-form-intro .btn{justify-self:start;white-space:normal}.jccf-form-progress{grid-template-columns:1fr}.jccf-form-progress span{border-right:0;border-bottom:1px solid #e2e8ec}.jccf-form-progress span:last-child{border-bottom:0}.jccf-form{padding:22px}.form-grid,.jccf-contact-intro{grid-template-columns:1fr}.form-field.full{grid-column:auto}.jccf-submit-row{display:grid}}

/* Ex-Cadet form consistency */
.jccf-form-card .form-field input,
.jccf-form-card .form-field select,
.jccf-form-card .form-field textarea{
    width:100%;
    min-height:48px;
    padding:13px 14px;
    border:1px solid #cbd6de;
    border-radius:10px;
    background:#fff;
    color:#17202a;
    font:inherit;
    line-height:1.4;
    box-sizing:border-box;
}
.jccf-form-card .form-field textarea{min-height:150px}
.jccf-form-card .form-field input:focus,
.jccf-form-card .form-field select:focus,
.jccf-form-card .form-field textarea:focus{outline:none;border-color:#006b3c;box-shadow:0 0 0 4px rgba(0,107,60,.11)}
