/* Forms Evo Max - Public CSS | Roi Maximo | roimaximo.top */
.fem-form-wrapper{font-family:inherit;margin:0 auto;position:relative;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.fem-fields-grid{display:grid;gap:18px}
.fem-field-wrap{display:flex;flex-direction:column;gap:6px}
.fem-label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:2px;line-height:1.4}
.fem-req{color:#ef4444;margin-left:2px}
.fem-desc{font-size:12px;color:#9ca3af;margin-top:2px;display:block}
.fem-input{width:100%;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#111827;background:#fff;outline:none;transition:border-color .18s,box-shadow .18s;line-height:1.5;-webkit-appearance:none;appearance:none}
.fem-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.fem-input::placeholder{color:#9ca3af}
.fem-field-type-textarea .fem-input{min-height:100px;resize:vertical}
.fem-field-type-select .fem-input{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px;cursor:pointer}
.fem-radio-group,.fem-checkbox-group{display:flex;flex-direction:column;gap:8px}
.fem-radio-label,.fem-check-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;line-height:1.4;user-select:none}
.fem-radio-label input,.fem-check-label input{width:16px;height:16px;accent-color:#6366f1;cursor:pointer;flex-shrink:0;margin:0}

/* CHECKBOX WITH LINK */
.fem-check-label{align-items:flex-start;flex-wrap:wrap}
.fem-check-label input[type="checkbox"]{margin-top:2px}
.fem-link{color:#6366f1;text-decoration:underline;font-weight:600;cursor:pointer}
.fem-link:hover{color:#4f52d4}

.fem-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 28px;border:none;border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s;min-width:140px;line-height:1.4}
.fem-submit-btn:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.15)}
.fem-submit-btn:active{transform:translateY(0)}
.fem-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}
.fem-form-msg{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;line-height:1.5;animation:femFadeIn .25s ease}
@keyframes femFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.fem-msg-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.fem-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.fem-input.fem-invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.fem-field-err{font-size:12px;color:#ef4444;margin-top:2px;display:block;animation:femFadeIn .2s ease}
.fem-btn-spin{display:inline-block;animation:femSpin .8s linear infinite}
@keyframes femSpin{to{transform:rotate(360deg)}}
.fem-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;border-radius:8px;font-size:14px}
.fem-info-msg{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;padding:10px 14px;border-radius:8px;font-size:14px}
.fem-input[type="file"]{padding:8px 12px;cursor:pointer}
.fem-reset-link{margin-top:-4px}
@media(max-width:768px){.fem-fields-grid{grid-template-columns:1fr !important}.fem-submit-btn{width:100%}}
