/* ==========================================================================
   Forms made with the CMS form builder (Dashboard → Forms).
   Same design language as the site's contact and application forms (css/inner.css),
   but self-contained, so a form looks right on any page.
   ========================================================================== */
.cms-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--color-white,#fff);border:1px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-lg,18px);padding:36px;max-width:900px;margin:0 auto;}
.cms-form .full{grid-column:1/-1;}
.cms-form .cms-field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.cms-form .cms-label,.cms-form legend{font-family:var(--font-head,inherit);font-weight:600;font-size:14px;color:var(--color-text-dark,#111827);padding:0;}
.cms-form .cms-req{color:var(--color-error,#dc2626);margin-inline-start:2px;}
.cms-form fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px;}
.cms-form input[type="text"],.cms-form input[type="email"],.cms-form input[type="tel"],.cms-form input[type="file"],.cms-form textarea,.cms-form select{
    width:100%;padding:14px 18px;border:var(--field-border,1px solid #d1d5db);border-radius:var(--field-radius,12px);
    background:var(--field-bg,#f9fafb);font-size:15px;color:var(--color-text-dark,#111827);outline:none;
    transition:border-color .2s,background .2s,box-shadow .2s;font-family:var(--font-body,inherit);}
.cms-form input[type="file"]{padding:11px 14px;}
.cms-form textarea{min-height:150px;resize:vertical;}
.cms-form input::placeholder,.cms-form textarea::placeholder{color:var(--color-gray-500,#6b7280);}
.cms-form input:focus,.cms-form textarea:focus,.cms-form select:focus{border-color:var(--field-focus,var(--color-secondary,#C8A646));background:var(--color-white,#fff);box-shadow:var(--field-focus-ring,0 0 0 3px rgba(200,166,70,.2));}
.cms-form .cms-choice{display:flex;align-items:flex-start;gap:10px;font-size:15px;cursor:pointer;}
.cms-form .cms-choice input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--color-primary,#0B1F3A);}
.cms-form .cms-help{font-size:13px;color:var(--color-text-muted,#6b7280);}
.cms-form .cms-error{font-size:13px;font-weight:600;color:var(--color-error,#dc2626);}
.cms-form .cms-error:empty{display:none;}
.cms-form .is-invalid input,.cms-form .is-invalid textarea,.cms-form .is-invalid select{border-color:var(--color-error,#dc2626);}
.cms-form .cms-actions{display:flex;justify-content:flex-start;}
.cms-form-done{max-width:900px;margin:0 auto;}
.cms-form-missing{border:2px dashed #c9a646;border-radius:12px;padding:18px;text-align:center;color:#6b7280;font:600 14px/1.5 system-ui,sans-serif;}
@media (max-width:768px){.cms-form{grid-template-columns:1fr;padding:24px;}}

/* saving progress (only after the visitor's consent) */
.cms-form .cms-consent{background:#faf7ec;border:1px solid #eadfb8;border-radius:12px;padding:14px 16px;}
.cms-form .cms-progress:empty{display:none;}
.cms-form .cms-resume{display:block;margin-top:6px;}
.cms-form .cms-resume input{margin-top:6px;font-size:13px;padding:8px 12px;}

/* the same consent box on the site's built-in application / contact forms */
.cms-consent-builtin{grid-column:1/-1;background:#faf7ec;border:1px solid #eadfb8;border-radius:12px;padding:14px 16px;margin:0 0 6px;display:flex;flex-direction:column;gap:6px;}
.cms-consent-builtin .cms-choice{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:400;cursor:pointer;margin:0;}
.cms-consent-builtin .cms-choice input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto;padding:0;accent-color:var(--color-primary,#0B1F3A);}
.cms-consent-builtin .cms-help{font-size:13px;color:var(--color-text-muted,#6b7280);margin:0;}
.cms-consent-builtin .cms-progress:empty{display:none;}
.cms-consent-builtin .cms-resume{display:block;margin-top:6px;}
.cms-consent-builtin .cms-resume input{margin-top:6px;font-size:13px;padding:8px 12px;width:100%;}
