/* HAI · Solicitud de información — todo acotado a .hai-sol para no chocar con el tema */
.hai-sol{
  --bg:#F4F8FD; --surface:#FFFFFF; --fg:#4C4C4C; --head:#222222; --muted:#6F7682;
  --line:#E3E7ED; --accent:#1476F2; --accent-2:#44C0FE; --accent-soft:#E8F1FE; --on-accent:#FFFFFF;
  --danger:#C23A3A;
  max-width:640px;margin:0 auto 48px;font-family:"Montserrat",Arial,Helvetica,sans-serif;font-weight:300;font-size:16px;line-height:1.5;color:var(--fg)
}
.hai-sol *{box-sizing:border-box}
.hai-sol [hidden]{display:none!important}
.hai-sol .hai-band{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.hai-sol .hai-head{display:flex;flex-direction:column;gap:16px;padding:24px 0}
.hai-sol .hai-logo img{height:44px;width:auto}
.hai-sol .hai-h1{font-family:inherit;font-weight:500;font-size:clamp(22px,5vw,28px);line-height:1.2;color:var(--head);margin:0;text-wrap:balance}
.hai-sol .hai-lead{margin:0;max-width:60ch;color:#1A1A1A;font-weight:400}

.hai-sol .hai-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:28px;margin:0}
.hai-sol fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.hai-sol legend{font-weight:500;color:var(--head);font-size:17px;padding:0;margin-bottom:12px}
.hai-sol legend small{font-weight:300;color:var(--muted);font-size:13px;margin-left:6px}

.hai-sol .hai-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.hai-sol .hai-grid{grid-template-columns:1fr}}
.hai-sol .hai-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.hai-sol .hai-full{grid-column:1/-1}
.hai-sol .hai-field label{font-size:13px;font-weight:500;color:var(--head);margin:0}
.hai-sol .hai-field label i{font-style:normal;color:var(--muted);font-weight:300}
.hai-sol input[type=text],.hai-sol input[type=email],.hai-sol input[type=tel],.hai-sol select,.hai-sol textarea{font:inherit;font-weight:400;font-size:16px;color:var(--head);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px 12px;width:100%;height:auto;margin:0;box-shadow:none}
.hai-sol textarea{min-height:88px;resize:vertical}
.hai-sol input:focus,.hai-sol select:focus,.hai-sol textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}
.hai-sol .hai-err{font-size:12px;color:var(--danger)}
.hai-sol .hai-err:empty{display:none}

.hai-sol .hai-group-title{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hai-sol .hai-sub{display:flex;flex-direction:column;gap:10px}
.hai-sol .hai-chips{display:flex;flex-wrap:wrap;gap:8px}
.hai-sol .hai-chip{position:relative}
.hai-sol .hai-chip input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;pointer-events:none}
.hai-sol .hai-chip label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:14px;font-weight:400;color:var(--fg);background:var(--surface);user-select:none;margin:0}
.hai-sol .hai-chip label::before{content:"";width:14px;height:14px;border-radius:4px;border:1.5px solid var(--muted);flex:none}
.hai-sol .hai-chip input:checked + label{border-color:var(--accent);background:var(--accent-soft);color:var(--head)}
.hai-sol .hai-chip input:checked + label::before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-soft)}
.hai-sol .hai-chip input:focus-visible + label{outline:2px solid var(--accent-2);outline-offset:2px}

.hai-sol .hai-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.hai-sol .hai-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}
.hai-sol .hai-consent input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex:none}
.hai-sol .hai-consent label{margin:0;font-weight:300}
.hai-sol .hai-consent a{color:var(--accent)}
.hai-sol .hai-btn{font:inherit;font-weight:500;font-size:16px;border:0;border-radius:10px;padding:14px 22px;background:var(--accent);color:var(--on-accent);cursor:pointer;align-self:flex-start;text-transform:none;letter-spacing:normal;line-height:1.3}
.hai-sol .hai-btn:hover{filter:brightness(1.07)}
.hai-sol .hai-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}
.hai-sol .hai-btn[disabled]{opacity:.6;cursor:wait}

.hai-sol .hai-done{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:16px;outline:none}
.hai-sol .hai-done h2{margin:0;font-weight:500;font-size:22px;color:var(--head)}
.hai-sol .hai-done p{margin:0}
.hai-sol .hai-resumen{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px}
.hai-sol .hai-resumen dt{color:var(--muted)}
.hai-sol .hai-resumen dd{margin:0;color:var(--head);font-weight:400;min-width:0;overflow-wrap:anywhere}
.hai-sol .hai-link{background:none;border:0;color:var(--accent);padding:0;font:inherit;font-size:14px;cursor:pointer;align-self:flex-start}
@media (prefers-reduced-motion:no-preference){.hai-sol .hai-chip label{transition:background .15s,border-color .15s,color .15s}}
