/* CF code forms (cf-form-handler.php 1.0.0): the parts core.css has no component for (file picker, radio options,
   Turnstile slot, spam trap, progress line). Linked after core.css on vault pages that print a code form.
   Level B of the core ladder: html .cfv-scope .cff-x (0,2,1)+; no Elementor class anywhere. The file picker and the
   radios are plain inputs, which the page-builder kit styles at (0,3,1) until Elementor goes: they are written at
   (0,4,1) (.cff .cff-x.cff-x) so they keep the vault look with and without it. */
html .cfv-scope .cff{display:flex;flex-direction:column;gap:14px;min-width:0}
html .cfv-scope .cff-fields{gap:18px 14px}
html .cfv-scope .cff fieldset.cv-field{margin:0;padding:0;border:0;min-width:0}
html .cfv-scope .cff fieldset.cv-field>legend{float:left;width:100%;margin:0 0 7px;padding:0}
html .cfv-scope .cff fieldset.cv-field>legend+*{clear:both}
html .cfv-scope .cff .cv-label .required{margin-left:3px}

/* File picker: dashed drop box with a pill button (0,4,1)+ */
html .cfv-scope .cff .cff-file.cff-file{display:block;width:100%;min-height:58px;margin:0;padding:10px 12px;border:1px dashed rgba(240,195,90,.55);border-radius:var(--cv-r-sm);background:#0b1020;color:var(--cv-body);font:500 15px/1.4 var(--cv-font);cursor:pointer}
html .cfv-scope .cff .cff-file.cff-file:hover{border-color:rgba(255,217,120,.85)}
html .cfv-scope .cff .cff-file.cff-file::file-selector-button{min-height:40px;margin:0 12px 0 0;padding:0 16px;border:1px solid rgba(240,195,90,.6);border-radius:999px;background:rgba(240,195,90,.1);color:#ffe7a6;font:700 14px/1 var(--cv-font);cursor:pointer}
html .cfv-scope .cff .cff-file.cff-file:focus-visible{outline:3px solid var(--cv-focus);outline-offset:3px}
html .cfv-scope .cff .cff-f.is-invalid .cff-file.cff-file{border-color:#ff7a7a;border-style:solid}

/* Tick box (core .cv-check) sits right under its question */
html .cfv-scope .cff-f--accept .cv-check{min-height:44px;padding-top:4px;align-items:center;font-size:15px;color:var(--cv-text-2)}
html .cfv-scope .cff-f--accept.is-invalid .cv-check__box{border-color:#ff7a7a}

/* Radio options (0,4,1)+ */
html .cfv-scope .cff-opts{display:flex;flex-wrap:wrap;gap:4px 24px}
html .cfv-scope .cff-opt{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:500;color:var(--cv-text-2);cursor:pointer}
html .cfv-scope .cff .cff-radio.cff-radio{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;margin:0;padding:0;border:1.5px solid rgba(184,191,205,.6);border-radius:50%;background:#0b1020;cursor:pointer;-webkit-appearance:none;appearance:none}
html .cfv-scope .cff .cff-radio.cff-radio::before{content:"";width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff0bf,#eab444 58%,#b7801f);transform:scale(0);transition:transform .12s}
html .cfv-scope .cff .cff-radio.cff-radio:checked{border-color:#f0c35a}
html .cfv-scope .cff .cff-radio.cff-radio:checked::before{transform:scale(1)}
html .cfv-scope .cff .cff-f--radio.is-invalid .cff-radio.cff-radio{border-color:#ff7a7a}

/* Cloudflare Turnstile: keep its height reserved so nothing jumps when it loads */
html .cfv-scope .cff-ts{min-height:65px}
html .cfv-scope .cff-ts .cf-turnstile{max-width:100%;min-height:65px}
html .cfv-scope .cff-ts .cf-turnstile-br{display:none}

/* Spam trap: off screen, never display:none */
html .cfv-scope .cff-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

html .cfv-scope .cff-actions{gap:10px}
html .cfv-scope .cff-submit[disabled]{opacity:.7;cursor:progress;transform:none}
html .cfv-scope .cff-progress{margin:0;font-size:14.5px;font-weight:600;color:var(--cv-g-2)}
html .cfv-scope .cff-msg{font-size:15px;line-height:1.5}
html .cfv-scope .cff-msg:focus{outline:0}
