/* Esmeeting Blocks — Gravity Forms skin (v2.11.0)
 * Los formularios reales de Gravity Forms (bloque nativo gravityforms/form)
 * se insertan dentro de un contenedor .esm-gfwrap para heredar look & feel
 * de marca (tokens, tipografía, tarjeta) sin tocar el CSS de Gravity Forms
 * ni sus clases internas — solo override visual, cero lógica. */

.esm-gfwrap{background:var(--esm-paper-01);padding:80px 24px}
.esm-gfwrap .wrap{max-width:760px;margin:0 auto;background:#fff;border-radius:var(--esm-r-xl);box-shadow:var(--esm-shadow-lg);padding:48px}
@media (max-width:700px){.esm-gfwrap{padding:48px 16px}.esm-gfwrap .wrap{padding:28px 20px;border-radius:var(--esm-r-lg)}}

.esm-gfwrap .gform_wrapper{font-family:var(--esm-font-sans)}
.esm-gfwrap .gfield_label,
.esm-gfwrap legend.gfield_label{font-weight:600;color:var(--esm-ink-900);font-size:15px}
.esm-gfwrap .gsection_title{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--esm-ink-900);border-bottom:1px solid var(--esm-paper-03);padding-bottom:12px}
.esm-gfwrap .gfield_description,
.esm-gfwrap .ginput_container + .gfield_description{color:var(--esm-ink-500);font-size:14px}

.esm-gfwrap input[type=text],
.esm-gfwrap input[type=email],
.esm-gfwrap input[type=tel],
.esm-gfwrap input[type=number],
.esm-gfwrap select,
.esm-gfwrap textarea{
  border:1px solid var(--esm-paper-03) !important;
  border-radius:var(--esm-r-md) !important;
  padding:12px 16px !important;
  font-size:15px !important;
  background:var(--esm-paper-00) !important;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.esm-gfwrap input[type=text]:focus,
.esm-gfwrap input[type=email]:focus,
.esm-gfwrap input[type=tel]:focus,
.esm-gfwrap select:focus,
.esm-gfwrap textarea:focus{border-color:var(--esm-orange) !important;box-shadow:0 0 0 3px var(--esm-orange-soft) !important;outline:none}

.esm-gfwrap .gfield_radio label,
.esm-gfwrap .gfield_checkbox label{font-weight:400;color:var(--esm-ink-700)}
.esm-gfwrap .gfield_radio > div,
.esm-gfwrap .gfield_checkbox > div{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border:1px solid var(--esm-paper-03);border-radius:var(--esm-r-md);margin-bottom:8px;transition:border-color .2s ease,background-color .2s ease}
.esm-gfwrap .gfield_radio input:checked ~ label,
.esm-gfwrap .gfield_checkbox input:checked ~ label{color:var(--esm-ink-900);font-weight:600}

.esm-gfwrap .gform_footer,
.esm-gfwrap .gform_page_footer{border:none;padding:24px 0 0}
.esm-gfwrap .gform_button,
.esm-gfwrap input.gform_button{
  background:var(--esm-ink-900) !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  font-size:16px !important;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .2s ease;
}
.esm-gfwrap .gform_button:hover{background:var(--esm-orange) !important;transform:translateY(-2px)}

.esm-gfwrap .gform_progressbar{background:var(--esm-paper-02) !important;border-radius:999px}
.esm-gfwrap .gform_progressbar .gf_progressbar_percentage{background:var(--esm-orange) !important;border-radius:999px}

.esm-gfwrap .validation_error{background:#fdeeee;border:1px solid #f0c4c4;color:#a33;border-radius:var(--esm-r-md);padding:14px 18px;font-size:14px}
.esm-gfwrap .gfield_error input,
.esm-gfwrap .gfield_error textarea,
.esm-gfwrap .gfield_error select{border-color:#d33 !important}
.esm-gfwrap .gfield_validation_message{color:#a33;font-size:13px;margin-top:4px}

.esm-gfwrap .gform_confirmation_message{
  text-align:center;padding:40px 20px;
}
.esm-gfwrap .gform_confirmation_message h2{color:var(--esm-ink-900);font-size:clamp(24px,4vw,32px)}
