.form-input,.form-textarea,input[type=text],input[type=email],input[type=tel],textarea{caret-color:var(--color-primary)}.form-input:-webkit-autofill{box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-text-fill-color:var(--input-text)}.form-textarea:-webkit-autofill{box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-text-fill-color:var(--input-text)}input[type=text]:-webkit-autofill{box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-text-fill-color:var(--input-text)}input[type=email]:-webkit-autofill{box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-text-fill-color:var(--input-text)}input[type=tel]:-webkit-autofill{box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-text-fill-color:var(--input-text)}textarea:-webkit-autofill{box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-text-fill-color:var(--input-text)}.form-group{margin-block-end:1.25rem}.form-label{color:var(--text-secondary);margin-block-end:.25rem;font-family:Hanken Grotesk,Hanken Grotesk Fallback,sans-serif;font-size:.875rem;font-weight:500;display:block}.form-input,.form-textarea,.form-select{width:100%;color:var(--input-text);background-color:var(--input-bg);border:2px solid var(--input-border);border-radius:6px;min-height:44px;padding:.75rem 1rem;font-family:Hanken Grotesk,Hanken Grotesk Fallback,sans-serif;font-size:1rem;transition:border-color .25s cubic-bezier(.25,1,.5,1),box-shadow .25s cubic-bezier(.25,1,.5,1);display:block}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--input-placeholder)}.form-input:focus-visible,.form-textarea:focus-visible,.form-select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px rgb(var(--color-primary-rgb), .15);outline:none}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.form-textarea{resize:vertical;min-height:120px}.form-textarea::-webkit-resizer{background-color:var(--input-border);border-radius:0 0 6px}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7589' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-inline-end:2.5rem}[dir=rtl] .form-select{background-position:1rem}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239ba3b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.form-input--error,.form-textarea--error{border-color:var(--color-error);animation:.4s form-shake}.form-input--error:focus-visible,.form-textarea--error:focus-visible{box-shadow:0 0 0 4px rgb(var(--color-error-rgb), .12)}@media (prefers-reduced-motion:reduce){.form-input--error,.form-textarea--error{animation:none}}.form-input--valid,.form-textarea--valid{border-color:var(--color-success)}.form-input--valid:focus-visible,.form-textarea--valid:focus-visible{box-shadow:0 0 0 4px rgb(var(--color-success-rgb), .12)}.form-group--float{position:relative}.form-group--float .form-label{top:50%;pointer-events:none;color:var(--input-placeholder);margin:0;transition:color .15s cubic-bezier(.25,1,.5,1),font-size .15s cubic-bezier(.25,1,.5,1),top .15s cubic-bezier(.25,1,.5,1),transform .15s cubic-bezier(.25,1,.5,1);position:absolute;inset-inline-start:1rem;transform:translateY(-50%)}.form-group--float .form-input:focus~.form-label,.form-group--float .form-input:not(:placeholder-shown)~.form-label,.form-group--float .form-textarea:focus~.form-label,.form-group--float .form-textarea:not(:placeholder-shown)~.form-label{color:var(--color-primary);font-size:.75rem;font-weight:600;top:-2px;transform:translateY(0)}.form-error{color:var(--color-error);margin-block-start:.25rem;font-size:.875rem;animation:.4s form-shake}@media (prefers-reduced-motion:reduce){.form-error{animation:none}}@keyframes form-shake{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}.form-hp{opacity:0;pointer-events:none;position:absolute;left:-9999px}[data-theme=dark] .form-input,[data-theme=dark] .form-textarea,[data-theme=dark] .form-select{border-color:#6b7589}[data-theme=dark] .form-input::placeholder,[data-theme=dark] .form-textarea::placeholder,[data-theme=dark] .form-select::placeholder{color:#9ba3b5}[data-theme=dark] .form-checkbox,[data-theme=dark] .form-radio{border-color:#6b7589}.form-checkbox,.form-radio{appearance:none;border:2px solid var(--input-border);background-color:var(--input-bg);cursor:pointer;vertical-align:middle;width:1.25rem;height:1.25rem;accent-color:var(--color-primary);flex-shrink:0;transition:background-color .25s cubic-bezier(.25,1,.5,1),border-color .25s cubic-bezier(.25,1,.5,1)}.form-checkbox:checked,.form-radio:checked{background-color:var(--color-primary);border-color:var(--color-primary);animation:.4s elastic-pop}.form-checkbox:focus-visible,.form-radio:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.form-checkbox:disabled,.form-radio:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.form-checkbox:checked,.form-radio:checked{animation:none}}.form-checkbox{border-radius:2px}.form-checkbox:checked{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100%}.form-radio{border-radius:9999px}.form-radio:checked{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100%}
