/* CoPilotFORMS — Frontend CSS */
.cpf-wrap{--cpf-accent:#6366f1;--cpf-radius:8px;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;max-width:100%;box-sizing:border-box}
.cpf-wrap *{box-sizing:border-box}
.cpf-form-header{margin-bottom:1.5em}
.cpf-form-title{margin:0 0 .4em;font-family:inherit;line-height:1.2}
.cpf-form-desc{margin:0;opacity:.75;font-size:.95em;line-height:1.6}
.cpf-fields{display:flex;flex-direction:column;gap:18px}
.cpf-field{width:100%}
.cpf-label{display:block;font-size:.875em;font-weight:600;margin-bottom:6px;line-height:1.4;color:inherit;opacity:.9}
.cpf-req{color:#e53e3e;margin-left:2px}
.cpf-wrap input[type=text],.cpf-wrap input[type=email],.cpf-wrap input[type=tel],.cpf-wrap input[type=number],.cpf-wrap input[type=url],.cpf-wrap input[type=date],.cpf-wrap textarea,.cpf-wrap select{display:block;width:100%!important;padding:11px 14px!important;border:1.5px solid rgba(0,0,0,.18)!important;border-radius:var(--cpf-radius)!important;font-family:inherit!important;font-size:inherit!important;color:inherit!important;background:#fff!important;outline:none;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;appearance:none;line-height:1.5;margin:0;box-shadow:none!important}
.cpf-wrap input:focus,.cpf-wrap textarea:focus,.cpf-wrap select:focus{border-color:var(--cpf-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--cpf-accent) 15%,transparent)!important}
.cpf-wrap input.cpf-invalid,.cpf-wrap textarea.cpf-invalid,.cpf-wrap select.cpf-invalid{border-color:#e53e3e!important;box-shadow:0 0 0 3px rgba(229,62,62,.12)!important}
.cpf-wrap input::placeholder,.cpf-wrap textarea::placeholder{opacity:.45}
.cpf-wrap textarea{resize:vertical;min-height:110px}
.cpf-wrap select{cursor:pointer;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important}
.cpf-radio-group,.cpf-check-group{display:flex;flex-direction:column;gap:7px}
.cpf-choice{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid rgba(0,0,0,.12);border-radius:var(--cpf-radius);cursor:pointer;font-size:.95em;transition:all .15s;font-family:inherit;color:inherit;line-height:1.4}
.cpf-choice:hover{border-color:var(--cpf-accent);background:color-mix(in srgb,var(--cpf-accent) 6%,transparent)}
.cpf-choice input[type=radio],.cpf-choice input[type=checkbox]{width:17px!important;height:17px!important;flex-shrink:0;accent-color:var(--cpf-accent);cursor:pointer;margin:0;padding:0!important;border:none!important;box-shadow:none!important;background:none!important}
.cpf-rating{display:flex;flex-direction:row-reverse;gap:4px;padding:4px 0}
.cpf-star-in{display:none}
.cpf-star{font-size:28px;color:#d1d5db;cursor:pointer;transition:color .15s,transform .12s;line-height:1}
.cpf-star:hover,.cpf-star:hover~.cpf-star,.cpf-rating .cpf-star-in:checked~.cpf-star{color:#f59e0b;transform:scale(1.1)}
.cpf-file-wrap{position:relative}
.cpf-file-in{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%!important;height:100%;z-index:2;border:none!important}
.cpf-file-lbl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 16px;border:2px dashed rgba(0,0,0,.15);border-radius:var(--cpf-radius);cursor:pointer;text-align:center;background:rgba(0,0,0,.02);transition:all .2s}
.cpf-file-lbl:hover{border-color:var(--cpf-accent);background:color-mix(in srgb,var(--cpf-accent) 5%,#fff)}
.cpf-file-icon{font-size:22px;line-height:1}.cpf-file-txt{font-size:.9em;font-weight:500}.cpf-file-lbl small{font-size:.78em;opacity:.5}
.cpf-field-divider{display:flex;align-items:center;gap:12px;opacity:.5;font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.cpf-field-divider hr{flex:1;border:none;border-top:1px solid currentColor;margin:0}
.cpf-heading h3{margin:0;font-family:inherit;font-size:1.15em;font-weight:700;color:inherit}
.cpf-paragraph p{margin:0;font-size:.95em;line-height:1.7;opacity:.8}
.cpf-help{margin:5px 0 0;font-size:.8em;opacity:.6;line-height:1.5;color:inherit}
.cpf-field-err{display:flex;align-items:center;gap:5px;margin:5px 0 0;font-size:.82em;color:#e53e3e;font-weight:500}
.cpf-submit-wrap{margin-top:8px}
.cpf-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 28px;background:var(--cpf-accent);color:#fff;border:none;border-radius:var(--cpf-radius);font-family:inherit;font-size:1em;font-weight:600;cursor:pointer;transition:opacity .18s,transform .1s;-webkit-appearance:none}
.cpf-submit-btn:hover:not(:disabled){opacity:.9}.cpf-submit-btn:active:not(:disabled){transform:scale(.98)}.cpf-submit-btn:disabled{opacity:.65;cursor:not-allowed}
.cpf-btn-spinner{display:none;width:17px;height:17px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:cpf-spin .65s linear infinite;flex-shrink:0}
.cpf-submit-btn.cpf-loading .cpf-btn-spinner{display:block}
@keyframes cpf-spin{to{transform:rotate(360deg)}}
.cpf-response{display:none;align-items:center;gap:10px;margin-top:16px;padding:14px 18px;border-radius:var(--cpf-radius);font-size:.95em;font-weight:500;line-height:1.5;animation:cpf-fade .3s ease}
.cpf-response.cpf-success{background:#f0fdf4;color:#166534;border:1.5px solid #bbf7d0}
.cpf-response.cpf-error{background:#fef2f2;color:#991b1b;border:1.5px solid #fecaca}
@keyframes cpf-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.cpf-branding{text-align:center;margin-top:16px;font-size:11.5px;color:#9ca3af}
.cpf-branding a{color:#6366f1}
.cpf-notice{padding:12px 16px;border-radius:8px;font-size:.9em;color:inherit;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.1)}
