.form{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:18px}
.form>*{min-width:0}
.field{display:grid;min-width:0;gap:8px}
.field label{font-size:14px;font-weight:600;letter-spacing:.01em}
.field .hint{font-size:12.5px;color:var(--color-text-secondary)}
.field input,.field textarea,.field select{
  width:100%;min-height:52px;padding:14px 16px;border-radius:14px;
  color:var(--color-text);background:rgba(4,10,16,.7);border:1px solid var(--glass-border);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.field textarea{min-height:130px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-cyan) 50%),linear-gradient(135deg,var(--color-cyan) 50%,transparent 50%);
  background-position:calc(100% - 22px) 24px,calc(100% - 16px) 24px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:46px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--glass-border-hover);box-shadow:0 0 0 4px rgba(0,191,255,.14)}
.field input::placeholder,.field textarea::placeholder{color:#5C7180}
.field--error input,.field--error textarea,.field--error select{border-color:#FF6B6B}
.field .error{font-size:13px;color:#FF9B9B}
.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;gap:18px}
.consent{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:13.5px;color:var(--color-text-secondary)}
.consent input{width:20px;height:20px;min-height:0;accent-color:var(--color-cyan)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{font-size:14.5px;padding:14px 16px;border-radius:14px;border:1px solid var(--glass-border)}
.form-status[hidden]{display:none}
.form-status.is-ok{border-color:rgba(0,191,255,.5);background:rgba(0,119,255,.10)}
.form-status.is-error{border-color:rgba(255,107,107,.5);background:rgba(255,107,107,.10)}
.btn.is-loading{position:relative;color:transparent}
.btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(0,20,32,.35);border-top-color:#00131f;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Opciones tipo tarjeta (diagnóstico y propuesta) */
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:0;height:0}
.opt span{display:flex;align-items:center;gap:12px;min-height:62px;padding:14px 18px;border-radius:16px;
  border:1px solid var(--glass-border);background:var(--glass-bg);font-size:15px;cursor:pointer;
  transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}
.opt span:hover{border-color:var(--glass-border-hover);transform:translateY(-2px)}
.opt input:checked + span{border-color:var(--color-cyan);background:rgba(0,119,255,.16);box-shadow:0 0 0 3px rgba(0,191,255,.12)}
.opt input:focus-visible + span{outline:2px solid var(--color-cyan);outline-offset:3px}

/* ---------- Formularios profesionales ---------- */
.form--premium{gap:20px;padding:clamp(22px,3vw,34px);border-radius:26px;background:linear-gradient(155deg,rgba(8,20,31,.95),rgba(3,10,17,.94));border-color:rgba(121,214,251,.25)}
.form-heading{display:flex;align-items:flex-start;min-width:0;gap:14px;padding-bottom:18px;border-bottom:1px solid rgba(149,224,255,.12)}
.form-heading__icon{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;background:linear-gradient(145deg,rgba(0,191,255,.18),rgba(0,83,185,.15));border:1px solid rgba(0,191,255,.25);color:var(--color-cyan)}
.form-heading>div{min-width:0}
.form-heading h3{font-size:21px;margin-bottom:5px}
.form-heading p{font-size:13.5px;color:var(--color-text-secondary)}
.field label{font-size:13.5px}
.field input,.field textarea,.field select{background:rgba(2,8,13,.82);border-color:rgba(149,224,255,.2)}
.field input:hover,.field textarea:hover,.field select:hover{border-color:rgba(149,224,255,.38)}
.field--error input,.field--error textarea,.field--error select,.field--error.opt span{border-color:#ff7575!important;box-shadow:0 0 0 3px rgba(255,83,83,.1)}
.field--error .error,.opts>.error{grid-column:1/-1;font-size:12.5px;color:#ff9f9f;margin-top:1px}
.consent.field--error{padding:10px;border:1px solid rgba(255,107,107,.5);border-radius:12px;background:rgba(255,107,107,.06)}
.form-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;color:#7e94a3;font-size:11.5px}
.form-trust span{display:inline-flex;align-items:center;gap:6px}
.form-trust .ico{color:#6bcfff}
.recaptcha-wrap{display:grid;gap:7px;justify-items:start;min-height:78px;padding:11px;border:1px solid rgba(149,224,255,.13);border-radius:15px;background:rgba(2,8,13,.36);overflow:hidden}
.recaptcha-wrap.field--error{border-color:rgba(255,107,107,.7);background:rgba(255,107,107,.06)}
.recaptcha-error{font-size:12.5px;color:#ff9f9f}
.recaptcha-error[hidden]{display:none}
.form-status{scroll-margin-top:120px}
.form-status:focus{outline:none}
.form-status.is-ok{color:#dffaff;border-color:rgba(0,191,255,.48);background:rgba(0,119,255,.13)}
.form-status.is-error{color:#ffd4d4}

/* Opciones y brief por pasos */
.opts{gap:10px}
.opt span{min-height:58px;padding:13px 15px;background:rgba(3,12,20,.78)}
.opts.is-required,.opts.field--error{padding:10px;border:1px solid rgba(255,107,107,.46);border-radius:17px;background:rgba(255,107,107,.04)}
.opt--described span{align-items:flex-start;display:grid;gap:3px;min-height:80px}
.opt--described strong{font-size:14.5px;color:var(--color-text)}
.opt--described small{font-size:11.8px;line-height:1.45;color:var(--color-text-secondary);font-weight:400}
.proposal-form{padding:clamp(22px,3.4vw,38px)}
.proposal-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:2px}
.proposal-head__tag{display:inline-block;margin-bottom:6px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-cyan)}
.proposal-head h2{font-size:clamp(22px,2.5vw,30px)}
.proposal-head__secure{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(0,191,255,.08);border:1px solid rgba(0,191,255,.18);font-size:11.5px;color:#a9c2d0;white-space:nowrap}
.proposal-nav{padding-top:4px;border-top:1px solid rgba(149,224,255,.1)}
.step{border:0;min-width:0;padding:0;animation:chatIn .35s var(--ease) both}
.step[hidden]{display:none}
.diag__validation{margin-top:10px;color:#ff9f9f;font-size:13px}
.diag__validation[hidden]{display:none}
.diagnostic-text input{min-height:60px;font-size:16px}
