/* GesMexa — formularios (v1) */
.gm-wrap{max-width:var(--container);margin:0 auto;padding:0 24px}
.gm-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:44px;align-items:start;margin:40px 0 72px}
@media(max-width:900px){.gm-grid{grid-template-columns:1fr;gap:30px;margin:28px 0 56px}}

.gm-card{background:var(--cream-50);border:1px solid var(--cream-300);border-radius:var(--r-lg);
  padding:34px 32px;box-shadow:var(--shadow-md)}
@media(max-width:560px){.gm-card{padding:24px 20px}}

.gm-form{display:grid;gap:18px}
.gm-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:560px){.gm-row{grid-template-columns:1fr}}

.gm-field{display:flex;flex-direction:column;gap:7px}
.gm-field label{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--green-900)}
.gm-field label span{color:var(--ink-400);font-weight:500}
.gm-field input,.gm-field select,.gm-field textarea{
  font-family:var(--ff-body);font-size:.97rem;color:var(--ink-900);background:#fff;
  border:1px solid var(--cream-300);border-radius:var(--r-md);padding:13px 15px;width:100%;
  transition:border-color .18s,box-shadow .18s}
.gm-field textarea{min-height:130px;resize:vertical;line-height:1.55}
.gm-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:17px;padding-right:42px}
.gm-field input:focus,.gm-field select:focus,.gm-field textarea:focus{
  outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(30,107,90,.14)}
.gm-field input:invalid:not(:placeholder-shown){border-color:var(--alert-500)}

.gm-consent{display:flex;gap:11px;align-items:flex-start;font-size:.84rem;color:var(--ink-600);line-height:1.5}
.gm-consent input{width:17px;height:17px;margin-top:2px;flex-shrink:0;accent-color:var(--green-700)}
.gm-consent a{color:var(--green-700);text-decoration:underline;text-underline-offset:2px}

.gm-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--green-700);color:var(--cream-50);border:none;border-radius:999px;
  padding:15px 32px;font-family:var(--ff-body);font-size:1rem;font-weight:600;cursor:pointer;
  box-shadow:0 8px 22px rgba(15,77,63,.22);transition:transform .2s,background .2s}
.gm-submit:hover:not(:disabled){transform:translateY(-2px);background:var(--green-900)}
.gm-submit:disabled{opacity:.6;cursor:progress;transform:none}

.gm-status{display:none;font-size:.9rem;line-height:1.5;padding:13px 16px;border-radius:var(--r-md)}
.gm-status[data-tone="ok"]{display:block;background:var(--green-100);color:var(--green-900)}
.gm-status[data-tone="error"]{display:block;background:#F7E3E3;color:var(--alert-700)}

.gm-fine{font-size:.78rem;color:var(--ink-400);line-height:1.5;margin:0}

/* Columna lateral */
.gm-aside{display:grid;gap:18px}
.gm-aside__box{background:linear-gradient(165deg,var(--green-700) 0%,var(--green-900) 100%);
  color:var(--cream-50);border-radius:var(--r-lg);padding:28px 26px;box-shadow:0 18px 44px rgba(11,31,58,.16)}
.gm-aside__box h2{font-family:var(--ff-display);font-size:1.4rem;font-weight:500;margin:0 0 10px;color:var(--cream-50)}
.gm-aside__box p{font-size:.92rem;line-height:1.6;color:rgba(245,241,232,.82);margin:0 0 18px}
.gm-aside__plain{background:var(--cream-100);border:1px solid var(--cream-300);border-radius:var(--r-lg);padding:26px 24px}
.gm-aside__plain h3{font-family:var(--ff-display);font-size:1.12rem;font-weight:500;margin:0 0 12px;color:var(--green-900)}
.gm-aside__plain ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.9rem;color:var(--ink-600);line-height:1.5}
.gm-aside__plain a{color:var(--green-700);font-weight:600}

/* Formulario dentro del chat del diagnóstico */
.gm-chat-form{display:grid;gap:10px;width:100%;margin-top:4px}
.gm-chat-form input{font-family:inherit;font-size:.95rem;border:1px solid rgba(15,77,63,.18);
  border-radius:12px;padding:12px 14px;background:#fff;width:100%}
.gm-chat-form input:focus{outline:none;border-color:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.16)}
.gm-chat-form button{border:none;border-radius:999px;background:#0F4D3F;color:#FAF7EE;font-family:inherit;
  font-size:.95rem;font-weight:600;padding:13px 22px;cursor:pointer}
.gm-chat-form button:disabled{opacity:.6;cursor:progress}
.gm-chat-form .gm-fine{font-size:.74rem}
