.elementor-140 .elementor-element.elementor-element-e8be521{--display:flex;--margin-top:-70px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-140 .elementor-element.elementor-element-e8be521:not(.elementor-motion-effects-element-type-background), .elementor-140 .elementor-element.elementor-element-e8be521 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-140 .elementor-element.elementor-element-b1c2b5c{margin:70px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-140 .elementor-element.elementor-element-b1c2b5c .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-weight:600;color:#000000;}.elementor-140 .elementor-element.elementor-element-13c2ca9{text-align:center;}.elementor-140 .elementor-element.elementor-element-13c2ca9 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:18px;font-weight:500;color:#000000;}.elementor-140 .elementor-element.elementor-element-41a9cc2{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-d366f0e{--display:grid;--e-con-grid-template-columns:1fr 0.7fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;border-style:solid;--border-style:solid;--border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-8db01a7{--display:flex;}.elementor-140 .elementor-element.elementor-element-8db01a7:not(.elementor-motion-effects-element-type-background), .elementor-140 .elementor-element.elementor-element-8db01a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#211742;}.elementor-140 .elementor-element.elementor-element-927e3f0{margin:10px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;}.elementor-140 .elementor-element.elementor-element-927e3f0 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:35px;font-weight:900;color:#8416EF;}.elementor-140 .elementor-element.elementor-element-374d7ca{margin:-20px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;text-align:justify;}.elementor-140 .elementor-element.elementor-element-374d7ca .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-140 .elementor-element.elementor-element-5a79389{margin:-20px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-140 .elementor-element.elementor-element-58b6438 .elementor-button{background-color:transparent;background-image:linear-gradient(180deg, #8E06EE 70%, #0E0104 100%);border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-58b6438{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-140 .elementor-element.elementor-element-524e697{width:100%;max-width:100%;}.elementor-140 .elementor-element.elementor-element-ce8f79e{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-59bc2bb{--display:grid;--e-con-grid-template-columns:1fr 0.7fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;border-style:solid;--border-style:solid;--border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-4d77637{--display:flex;}.elementor-140 .elementor-element.elementor-element-4d77637:not(.elementor-motion-effects-element-type-background), .elementor-140 .elementor-element.elementor-element-4d77637 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#211742;}.elementor-140 .elementor-element.elementor-element-a1c9739{margin:10px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;}.elementor-140 .elementor-element.elementor-element-a1c9739 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:35px;font-weight:900;color:#8416EF;}.elementor-140 .elementor-element.elementor-element-b6075cc{margin:-20px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;text-align:justify;}.elementor-140 .elementor-element.elementor-element-b6075cc .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-140 .elementor-element.elementor-element-927f8f0{margin:-20px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;font-family:"Montserrat", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-140 .elementor-element.elementor-element-116f576 .elementor-button{background-color:transparent;background-image:linear-gradient(180deg, #8E06EE 70%, #0E0104 100%);border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-116f576{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-140 .elementor-element.elementor-element-e8e3779{width:100%;max-width:100%;}.elementor-140 .elementor-element.elementor-element-1799491{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-30bf8e9{--display:grid;--e-con-grid-template-columns:1fr 0.7fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;border-style:solid;--border-style:solid;--border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-81217aa{--display:flex;}.elementor-140 .elementor-element.elementor-element-81217aa:not(.elementor-motion-effects-element-type-background), .elementor-140 .elementor-element.elementor-element-81217aa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#211742;}.elementor-140 .elementor-element.elementor-element-c802331{margin:10px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;}.elementor-140 .elementor-element.elementor-element-c802331 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:35px;font-weight:900;color:#8416EF;}.elementor-140 .elementor-element.elementor-element-f49bad8{margin:-20px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;text-align:justify;}.elementor-140 .elementor-element.elementor-element-f49bad8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-140 .elementor-element.elementor-element-8acb35b{margin:-20px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;font-family:"Montserrat", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-140 .elementor-element.elementor-element-859ffe5 .elementor-button{background-color:transparent;background-image:linear-gradient(180deg, #8416EF 70%, #0E0104 100%);border-radius:20px 20px 20px 20px;}.elementor-140 .elementor-element.elementor-element-859ffe5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-140 .elementor-element.elementor-element-8a10a71{width:100%;max-width:100%;}.elementor-140 .elementor-element.elementor-element-796fe59{--display:flex;}.elementor-140 .elementor-element.elementor-element-796fe59.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-140 .elementor-element.elementor-element-7562daf{text-align:center;}.elementor-140 .elementor-element.elementor-element-7562daf .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-weight:600;color:#000000;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-140 .elementor-element.elementor-element-cb31101{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-field-group{padding-right:calc( 9px/2 );padding-left:calc( 9px/2 );margin-bottom:10px;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-form-fields-wrapper{margin-left:calc( -9px/2 );margin-right:calc( -9px/2 );margin-bottom:-10px;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-140 .elementor-element.elementor-element-cb31101 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-140 .elementor-element.elementor-element-cb31101 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-140 .elementor-element.elementor-element-cb31101 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-140 .elementor-element.elementor-element-cb31101 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-field-type-html{padding-bottom:0px;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-button[type="submit"]{color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-140 .elementor-element.elementor-element-cb31101 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}@media(min-width:768px){.elementor-140 .elementor-element.elementor-element-796fe59{--width:98.362%;}}@media(max-width:1024px){.elementor-140 .elementor-element.elementor-element-d366f0e{--grid-auto-flow:row;}.elementor-140 .elementor-element.elementor-element-59bc2bb{--grid-auto-flow:row;}.elementor-140 .elementor-element.elementor-element-30bf8e9{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-140 .elementor-element.elementor-element-d366f0e{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-140 .elementor-element.elementor-element-59bc2bb{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-140 .elementor-element.elementor-element-30bf8e9{--e-con-grid-template-columns:1;--grid-auto-flow:row;}}/* Start custom CSS for text-editor, class: .elementor-element-5a79389 *//* ✅ Viñetas tipo “check en círculo” (como tu figura 1) */
.vinetas{
  --v-color: #B56CFF;   /* color del ícono/círculo (ajustable) */
  --v-size: 24px;       /* tamaño del círculo (ajustable) */
  --v-gap: 10px;        /* separación entre ícono y texto */
  --v-border: 3px;      /* grosor del círculo */
}

/* Soporta: <div class="vinetas"><ul>...</ul></div>  y  <ul class="vinetas">...</ul> */
.vinetas ul,
ul.vinetas{
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.vinetas li,
ul.vinetas li{
  position: relative;
  padding-left: calc(var(--v-size) + var(--v-gap)) !important;
  margin: 0 0 14px;
  line-height: 1.5;
}

.vinetas li::before,
ul.vinetas li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;

  width: var(--v-size);
  height: var(--v-size);
  border-radius: 999px;
  box-sizing: border-box;

  border: var(--v-border) solid var(--v-color);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60% 60%;

  /* ✅ Check en SVG embebido (no necesitas librerías) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B56CFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
/* ✅ Alineación perfecta icono + texto */
.vinetas li,
ul.vinetas li{
  display: flex;
  align-items: center;         /* centra verticalmente */
  gap: var(--v-gap, 14px);     /* espacio icono-texto */
  padding-left: 0 !important;  /* ya no lo necesitamos */
  margin: 0 0 14px;
}

.vinetas li::before,
ul.vinetas li::before{
  position: static;            /* deja de ser absoluto */
  flex: 0 0 var(--v-size, 26px);
  width: var(--v-size, 26px);
  height: var(--v-size, 26px);
  margin: 0;                   /* sin offsets raros */
  transform: translateY(1px);  /* micro-ajuste opcional (quita si no hace falta) */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d366f0e *//* Figura 2 -> que se vea como Figura 1 (solo borde/redondeo/sombra) */
.grilla1{
  border: 1px solid rgba(180, 140, 255, 0.55) !important; /* borde sutil */
  border-radius: 18px !important;                          /* esquinas suaves */
  overflow: hidden !important;                              /* respeta el radio */
  box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;       /* sombra ligera */
}

/* Por si Elementor pone borde al contenedor interno */
.grilla1 > .elementor-container,
.grilla1 > .elementor-element-populated{
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
/* 1) Quita espacios internos del lado de la imagen (columna/widget) */
.grilla1 .elementor-column:last-child > .elementor-element-populated{
  padding: 0 !important;
}

/* Si tu imagen está dentro de un widget, esto ayuda */
.grilla1 .elementor-widget-image{
  margin: 0 !important;
}

/* 2) Haz que la imagen llene TODO el bloque */
.grilla1 .elementor-widget-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;    /* llena recortando */
  object-position: center !important;
}

/* 3) Asegura que el contenedor tenga altura para que "height:100%" funcione */
.grilla1 .elementor-column:last-child,
.grilla1 .elementor-column:last-child .elementor-widget-wrap,
.grilla1 .elementor-column:last-child .elementor-widget-image,
.grilla1 .elementor-column:last-child .elementor-widget-container{
  height: 100% !important;
}
/* 1) El contenedor (grilla) debe recortar y no dejar aire */
.elementor-140 .elementor-element.elementor-element-d366f0e{
  overflow: hidden !important;        /* respeta el border-radius */
  align-items: stretch !important;     /* estira items */
  gap: 0 !important;                  /* quita separación entre celdas si la hay */
}

/* 2) Quita padding SOLO del lado de la imagen (widget imagen es hijo directo) */
.elementor-140 .elementor-element.elementor-element-d366f0e > .elementor-widget-image{
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  height: 100% !important;
}

/* Quita el margen default de figure si existe */
.elementor-140 .elementor-element.elementor-element-d366f0e > .elementor-widget-image figure{
  margin: 0 !important;
}

/* 3) Haz que los wrappers tengan alto completo */
.elementor-140 .elementor-element.elementor-element-d366f0e > .elementor-widget-image .elementor-widget-container,
.elementor-140 .elementor-element.elementor-element-d366f0e > .elementor-widget-image .elementor-image{
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}

/* 4) Imagen llenando el bloque SIN sacarla del flujo */
.elementor-140 .elementor-element.elementor-element-d366f0e > .elementor-widget-image img{
  position: static !important;        /* deshace el absolute de antes */
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* ===== Grilla con borde pegado a la imagen (como figura 3) ===== */
.Grilla1, .grilla1{
  border: 1px solid rgba(180, 140, 255, 0.55) !important;
  border-radius: 18px !important;
  overflow: hidden !important;           /* recorta la imagen con el radio */
  box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;
}

/* 1) Quita padding y gap del contenedor grid (el “aire” que ves) */
.Grilla1, .grilla1,
.Grilla1 > .e-con-inner, .grilla1 > .e-con-inner,
.Grilla1 > .elementor-container, .grilla1 > .elementor-container{
  padding: 0 !important;
  gap: 0 !important;                      /* clave: sin separación entre celdas */
  column-gap: 0 !important;
  row-gap: 0 !important;
  align-items: stretch !important;        /* estira la celda de la imagen */
}

/* 2) Dale padding SOLO al lado del contenido (izquierda) */
.Grilla1 > .e-con-inner > :first-child,
.grilla1 > .e-con-inner > :first-child,
.Grilla1 > .elementor-container > :first-child,
.grilla1 > .elementor-container > :first-child{
  padding: 36px 44px !important;          /* 👈 AJUSTA AQUÍ el “aire” del texto */
}

/* 3) Lado de la imagen sin padding/margen */
.Grilla1 > .e-con-inner > :last-child,
.grilla1 > .e-con-inner > :last-child,
.Grilla1 > .elementor-container > :last-child,
.grilla1 > .elementor-container > :last-child{
  padding: 0 !important;
  margin: 0 !important;
  align-self: stretch !important;
}

/* 4) Imagen pegada y llenando el bloque */
.Grilla1 .elementor-widget-image,
.grilla1 .elementor-widget-image{
  margin: 0 !important;
}

.Grilla1 .elementor-widget-image figure,
.grilla1 .elementor-widget-image figure{
  margin: 0 !important;
}

.Grilla1 .elementor-widget-image img,
.grilla1 .elementor-widget-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-59bc2bb *//* Figura 2 -> que se vea como Figura 1 (solo borde/redondeo/sombra) */
.grilla1{
  border: 1px solid rgba(180, 140, 255, 0.55) !important; /* borde sutil */
  border-radius: 18px !important;                          /* esquinas suaves */
  overflow: hidden !important;                              /* respeta el radio */
  box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;       /* sombra ligera */
}

/* Por si Elementor pone borde al contenedor interno */
.grilla1 > .elementor-container,
.grilla1 > .elementor-element-populated{
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
/* 1) Quita espacios internos del lado de la imagen (columna/widget) */
.grilla1 .elementor-column:last-child > .elementor-element-populated{
  padding: 0 !important;
}

/* Si tu imagen está dentro de un widget, esto ayuda */
.grilla1 .elementor-widget-image{
  margin: 0 !important;
}

/* 2) Haz que la imagen llene TODO el bloque */
.grilla1 .elementor-widget-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;    /* llena recortando */
  object-position: center !important;
}

/* 3) Asegura que el contenedor tenga altura para que "height:100%" funcione */
.grilla1 .elementor-column:last-child,
.grilla1 .elementor-column:last-child .elementor-widget-wrap,
.grilla1 .elementor-column:last-child .elementor-widget-image,
.grilla1 .elementor-column:last-child .elementor-widget-container{
  height: 100% !important;
}
/* 1) El contenedor (grilla) debe recortar y no dejar aire */
.elementor-140 .elementor-element.elementor-element-59bc2bb{
  overflow: hidden !important;        /* respeta el border-radius */
  align-items: stretch !important;     /* estira items */
  gap: 0 !important;                  /* quita separación entre celdas si la hay */
}

/* 2) Quita padding SOLO del lado de la imagen (widget imagen es hijo directo) */
.elementor-140 .elementor-element.elementor-element-59bc2bb > .elementor-widget-image{
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  height: 100% !important;
}

/* Quita el margen default de figure si existe */
.elementor-140 .elementor-element.elementor-element-59bc2bb > .elementor-widget-image figure{
  margin: 0 !important;
}

/* 3) Haz que los wrappers tengan alto completo */
.elementor-140 .elementor-element.elementor-element-59bc2bb > .elementor-widget-image .elementor-widget-container,
.elementor-140 .elementor-element.elementor-element-59bc2bb > .elementor-widget-image .elementor-image{
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}

/* 4) Imagen llenando el bloque SIN sacarla del flujo */
.elementor-140 .elementor-element.elementor-element-59bc2bb > .elementor-widget-image img{
  position: static !important;        /* deshace el absolute de antes */
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-30bf8e9 *//* Figura 2 -> que se vea como Figura 1 (solo borde/redondeo/sombra) */
.grilla1{
  border: 1px solid rgba(180, 140, 255, 0.55) !important; /* borde sutil */
  border-radius: 18px !important;                          /* esquinas suaves */
  overflow: hidden !important;                              /* respeta el radio */
  box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;       /* sombra ligera */
}

/* Por si Elementor pone borde al contenedor interno */
.grilla1 > .elementor-container,
.grilla1 > .elementor-element-populated{
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
/* 1) Quita espacios internos del lado de la imagen (columna/widget) */
.grilla1 .elementor-column:last-child > .elementor-element-populated{
  padding: 0 !important;
}

/* Si tu imagen está dentro de un widget, esto ayuda */
.grilla1 .elementor-widget-image{
  margin: 0 !important;
}

/* 2) Haz que la imagen llene TODO el bloque */
.grilla1 .elementor-widget-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;    /* llena recortando */
  object-position: center !important;
}

/* 3) Asegura que el contenedor tenga altura para que "height:100%" funcione */
.grilla1 .elementor-column:last-child,
.grilla1 .elementor-column:last-child .elementor-widget-wrap,
.grilla1 .elementor-column:last-child .elementor-widget-image,
.grilla1 .elementor-column:last-child .elementor-widget-container{
  height: 100% !important;
}
/* 1) El contenedor (grilla) debe recortar y no dejar aire */
.elementor-140 .elementor-element.elementor-element-30bf8e9{
  overflow: hidden !important;        /* respeta el border-radius */
  align-items: stretch !important;     /* estira items */
  gap: 0 !important;                  /* quita separación entre celdas si la hay */
}

/* 2) Quita padding SOLO del lado de la imagen (widget imagen es hijo directo) */
.elementor-140 .elementor-element.elementor-element-30bf8e9 > .elementor-widget-image{
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  height: 100% !important;
}

/* Quita el margen default de figure si existe */
.elementor-140 .elementor-element.elementor-element-30bf8e9 > .elementor-widget-image figure{
  margin: 0 !important;
}

/* 3) Haz que los wrappers tengan alto completo */
.elementor-140 .elementor-element.elementor-element-30bf8e9 > .elementor-widget-image .elementor-widget-container,
.elementor-140 .elementor-element.elementor-element-30bf8e9 > .elementor-widget-image .elementor-image{
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}

/* 4) Imagen llenando el bloque SIN sacarla del flujo */
.elementor-140 .elementor-element.elementor-element-30bf8e9 > .elementor-widget-image img{
  position: static !important;        /* deshace el absolute de antes */
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-cb31101 *//* ===== FORMULARIO ESTILO TECNOLÓGICO (Elementor) ===== */
/* Requiere que el widget del formulario tenga la clase: bt-tech-form */

.bt-tech-form .elementor-form {
  /* Marco azul + look tech */
  background: linear-gradient(145deg, rgba(6, 14, 35, 0.88), rgba(10, 25, 45, 0.68));
  border: 2px solid rgba(0, 180, 255, 0.85);
  border-radius: 18px;
  padding: 22px;
  box-shadow:
    0 0 0 1px rgba(0, 180, 255, 0.25),
    0 0 28px rgba(0, 180, 255, 0.18);
}

/* Layout: permite controlar filas/columnas */
.bt-tech-form .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* Por defecto todos los campos ocupan 100% */
.bt-tech-form .elementor-field-group {
  flex: 1 1 100%;
  margin-bottom: 0; /* el gap ya crea separación */
}

/* Email + Número en la misma fila */
.bt-tech-form .elementor-field-group-email,
.bt-tech-form .elementor-field-group-number {
  flex: 1 1 calc(50% - 8px);
  min-width: 240px; /* evita que se aplasten demasiado */
}

/* En móvil: vuelven a una sola columna */
@media (max-width: 767px) {
  .bt-tech-form .elementor-field-group-email,
  .bt-tech-form .elementor-field-group-number {
    flex: 1 1 100%;
    min-width: 0;
  }
}

/* Labels */
.bt-tech-form .elementor-field-label {
  color: rgba(235, 246, 255, 0.92);
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 6px;
}

/* Inputs y textarea */
.bt-tech-form .elementor-field,
.bt-tech-form textarea.elementor-field {
  width: 100%;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(235, 246, 255, 0.95);
  border: 1px solid rgba(0, 180, 255, 0.35);
  border-radius: 12px;
  padding: 14px 14px;
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.10);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

/* Placeholder */
.bt-tech-form .elementor-field::placeholder,
.bt-tech-form textarea.elementor-field::placeholder {
  color: rgba(235, 246, 255, 0.55);
}

/* Focus “neón” */
.bt-tech-form .elementor-field:focus,
.bt-tech-form textarea.elementor-field:focus {
  border-color: rgba(0, 180, 255, 0.95);
  box-shadow:
    0 0 0 3px rgba(0, 180, 255, 0.18),
    0 0 18px rgba(0, 180, 255, 0.20);
}

/* Textarea un poco más cómoda */
.bt-tech-form .elementor-field-group-message textarea {
  min-height: 140px;
  resize: vertical;
}

/* Botón */
.bt-tech-form .elementor-button {
  width: 100%;
  border: 0;
  border-radius: 14px;
  padding: 14px 18px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  background: linear-gradient(90deg, rgba(0, 180, 255, 0.95), rgba(124, 58, 237, 0.95));
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.25),
    0 0 18px rgba(0, 180, 255, 0.18);
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.bt-tech-form .elementor-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow:
    0 16px 30px rgba(0, 0, 0, 0.28),
    0 0 22px rgba(0, 180, 255, 0.22);
}
/* ===== Ajuste de colores: fondo #ddcbff + labels más visibles ===== */

/* Fondo del formulario */
.bt-tech-form .elementor-form{
  background: #ddcbff !important; /* el color que pediste */
}

/* Títulos/labels más visibles sobre fondo claro */
.bt-tech-form .elementor-field-label{
  color: rgba(20, 20, 35, 0.85) !important;
}

/* (Opcional, recomendado) mejora contraste del texto placeholder en fondo claro */
.bt-tech-form .elementor-field::placeholder,
.bt-tech-form textarea.elementor-field::placeholder{
  color: rgba(20, 20, 35, 0.35) !important;
}
/* ===== Hacer el formulario más estrecho y centrado ===== */
.formulario .elementor-form,
.bt-tech-form .elementor-form{
  width: 100%;
  max-width: 1100px;      /* 👈 AJUSTA AQUÍ: menos = más estrecho, más = más ancho */
  margin-left: auto;
  margin-right: auto;
}
.elementor-field-group-first_name{
  display:none !important;
}/* End custom CSS */