.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;border:1px solid transparent;border-radius:var(--radius-pill);padding:.82rem 1.35rem;cursor:pointer;text-decoration:none;font-size:.88rem;font-weight:780;letter-spacing:.01em;transition:transform var(--transition),background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition)}
.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.62;cursor:wait;transform:none}
.button--primary{background:var(--color-heritage-800);color:var(--color-white);box-shadow:0 10px 24px rgba(16,43,35,.12)}.button--primary:hover{background:var(--color-heritage-700);box-shadow:0 14px 30px rgba(16,43,35,.16)}
.button--ghost{border-color:rgba(16,43,35,.25);background:rgba(255,255,255,.25);color:var(--color-heritage-900)}.button--ghost:hover{border-color:var(--color-heritage-900);background:var(--color-capiz)}
.button--light{background:var(--color-pina-50);color:var(--color-heritage-900)}.button--full{width:100%}
.field{display:grid;gap:.45rem}.field label,.field legend{color:var(--color-heritage-900);font-size:.88rem;font-weight:760}.field label span{color:var(--color-muted);font-weight:500}
.field input,.field select,.field textarea{width:100%;border:1px solid #CEC8BB;border-radius:.72rem;background:var(--color-capiz);color:var(--color-ink);padding:.85rem .95rem;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}
.field input,.field select{min-height:52px}.field textarea{resize:vertical;min-height:118px}.field input::placeholder,.field textarea::placeholder{color:#999A94}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#B9B1A2}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-heritage-700);box-shadow:0 0 0 3px rgba(36,75,61,.10);outline:none}.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(146,59,50,.08)}
.field__error{min-height:1.2em;color:var(--color-danger);font-size:.8rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{min-height:58px;display:flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid #CEC8BB;border-radius:.72rem;padding:.8rem 1rem;background:var(--color-capiz);text-align:center;font-size:.9rem;font-weight:720;transition:border-color var(--transition),background var(--transition),color var(--transition),transform var(--transition)}.choice span b{width:20px;height:20px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.7rem;font-weight:700;opacity:.72}.choice:hover span{border-color:var(--color-heritage-700);transform:translateY(-1px)}.choice input:checked+span{border-color:var(--color-heritage-800);background:var(--color-heritage-800);color:white}.choice input:focus-visible+span{outline:3px solid var(--color-gold-500);outline-offset:3px}
.spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.is-loading .spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}
.form-status{margin:0;color:var(--color-muted);font-size:.9rem}.form-status.is-success,.form-status.is-error{padding:1rem 1.05rem;border-radius:.7rem}.form-status.is-success{background:#E7F0EA;color:var(--color-success)}.form-status.is-error{background:#F8EAE7;color:var(--color-danger)}
@media(max-width:560px){.choice-grid{grid-template-columns:1fr}}
