.elementor-4570 .elementor-element.elementor-element-68b061a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:-2px;--padding-bottom:-2px;--padding-left:-2px;--padding-right:-2px;}.elementor-4570 .elementor-element.elementor-element-ea77f14{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4570 .elementor-element.elementor-element-27bdfee .eael-contact-form-7 .wpcf7-not-valid-tip{display:block !important;}.elementor-4570 .elementor-element.elementor-element-27bdfee .eael-contact-form-7 .wpcf7-validation-errors{display:block !important;}.elementor-4570 .elementor-element.elementor-element-27bdfee .eael-contact-form-7-wrapper{text-align:default;}.elementor-4570 .elementor-element.elementor-element-27bdfee .eael-contact-form-7 .wpcf7-form p:not(:last-of-type) .wpcf7-form-control-wrap{margin-bottom:0px;}.elementor-4570 .elementor-element.elementor-element-e61273e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:-2px;--padding-bottom:-2px;--padding-left:-2px;--padding-right:-2px;}body.elementor-page-4570:not(.elementor-motion-effects-element-type-background), body.elementor-page-4570 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}:root{--page-title-display:none;}/* Start custom CSS for eael-contact-form-7, class: .elementor-element-27bdfee *//* =========================
   VSBTI FORM — 2 columnas REAL (sin :has) + compacto + responsive
   ========================= */

/* Tarjeta */
.vsbti-form-card{
  max-width: 720px;
  margin: 0 auto;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(32,61,112,.14);
  box-shadow: 0 12px 34px rgba(12,18,48,.10);

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px; /* filas / columnas (más junto) */
}

/* Quitar inline spacing */
.vsbti-form-card .vs-field{ margin: 0 !important; }

/* Column control */
.vsbti-form-card .vs-half{ grid-column: auto; }         /* ocupa 1 columna */
.vsbti-form-card .vs-full{ grid-column: 1 / -1; }       /* ocupa 2 columnas */

/* Labels */
.vsbti-form-card label{
  display:block;
  font-weight: 800;
  font-size: 13px;
  color:#203D70;
  line-height: 1.2;
}

/* Inputs */
.vsbti-form-card input[type="text"],
.vsbti-form-card input[type="email"],
.vsbti-form-card input[type="tel"],
.vsbti-form-card select,
.vsbti-form-card textarea{
  width: 100%;
  margin-top: 6px;
  padding: 9px 12px;                 /* más compacto */
  border-radius: 12px;
  border: 1px solid rgba(32,61,112,.18);
  background: rgba(254,254,244,.92);
  color:#2a335b;
  font-size: 14px;
  outline: none;
}

/* Textareas más pequeñas */
.vsbti-form-card textarea{
  min-height: 90px;                  /* más pequeño */
  resize: vertical;
}

/* Focus */
.vsbti-form-card input:focus,
.vsbti-form-card select:focus,
.vsbti-form-card textarea:focus{
  border-color: rgba(255,215,0,.75);
  box-shadow: 0 0 0 3px rgba(255,215,0,.16);
}

/* Submit */
.vsbti-form-card input[type="submit"]{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 0;
  background: linear-gradient(135deg, #203D70, #0a4a95);
  color:#fff;
  font-weight: 900;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(32,61,112,.20);
}
.vsbti-form-card input[type="submit"]:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}

/* Texto final */
.vsbti-form-card .vs-note{
  font-size: 12px;
  color:#636b96;
  line-height: 1.45;
  margin-top: 4px;
}

/* MOBILE */
@media (max-width: 640px){
  .vsbti-form-card{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }
  .vsbti-form-card .vs-full,
  .vsbti-form-card .vs-half{
    grid-column: 1 / -1; /* todo a 1 columna */
  }
}
/* =========================
   FIX OVERFLOW MOBILE (se sale por la derecha)
   ========================= */

/* 1) Asegura que el contenedor no exceda el viewport */
.vsbti-form-card{
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(32,61,112,.14);
  box-shadow: 0 12px 34px rgba(12,18,48,.10);

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;

  /* claves anti-desbordamiento */
  overflow: hidden;
  max-width: 100%;
}

/* 2) MUY importante en CSS Grid: permite encoger items */
.vsbti-form-card .vs-field{
  min-width: 0;
  margin: 0 !important;
}

/* 3) Evita que el label meta saltos raros o ancho de más */
.vsbti-form-card label{
  display:block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* 4) CF7 wrappers: que nunca sumen ancho extra */
.vsbti-form-card .wpcf7-form-control-wrap{
  display:block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* 5) Inputs: que no se salgan por padding/borde */
.vsbti-form-card input[type="text"],
.vsbti-form-card input[type="email"],
.vsbti-form-card input[type="tel"],
.vsbti-form-card select,
.vsbti-form-card textarea{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

/* 6) Control de columnas */
.vsbti-form-card .vs-half{ grid-column: auto; }
.vsbti-form-card .vs-full{ grid-column: 1 / -1; }

/* 7) Mobile: 1 columna y sin overflow */
@media (max-width: 640px){
  .vsbti-form-card{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
    width: 100%;
    max-width: 100%;
  }

  .vsbti-form-card .vs-full,
  .vsbti-form-card .vs-half{
    grid-column: 1 / -1;
    min-width: 0;
  }
}
/* =========================
   FIX BOTÓN (submit) — no se sale
   ========================= */

.vsbti-form-card .vs-field{
  min-width: 0;
}

/* CF7 wrap */
.vsbti-form-card .wpcf7-form-control-wrap{
  width: 100%;
  max-width: 100%;
}

/* Botón submit */
.vsbti-form-card input[type="submit"],
.vsbti-form-card .wpcf7-submit{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  box-sizing: border-box !important;
  padding: 12px 14px !important;
  margin: 0 !important;

  border-radius: 14px !important;
  border: 0 !important;

  background: linear-gradient(135deg, #203D70, #0a4a95) !important;
  color: #fff !important;

  font-weight: 900 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;

  white-space: normal !important;     /* permite salto si el texto es largo */
  overflow-wrap: anywhere !important; /* evita que empuje el ancho */
}

/* Hover */
.vsbti-form-card input[type="submit"]:hover,
.vsbti-form-card .wpcf7-submit:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}

/* En móvil, todavía más seguro */
@media (max-width: 640px){
  .vsbti-form-card input[type="submit"],
  .vsbti-form-card .wpcf7-submit{
    font-size: 13.5px !important;
    padding: 12px 12px !important;
  }
}/* End custom CSS */