.elementor-1152 .elementor-element.elementor-element-5de14375{--display:flex;--min-height:700px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--overflow:hidden;--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:13%;}.elementor-1152 .elementor-element.elementor-element-572c200d{--display:flex;--overlay-opacity:0.5;--border-radius:2px 2px 2px 2px;box-shadow:0px 0px 15px 0px rgba(0,0,0,0.15);--padding-top:8%;--padding-bottom:8%;--padding-left:8%;--padding-right:8%;}.elementor-1152 .elementor-element.elementor-element-572c200d:not(.elementor-motion-effects-element-type-background), .elementor-1152 .elementor-element.elementor-element-572c200d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1152 .elementor-element.elementor-element-572c200d::before, .elementor-1152 .elementor-element.elementor-element-572c200d > .elementor-background-video-container::before, .elementor-1152 .elementor-element.elementor-element-572c200d > .e-con-inner > .elementor-background-video-container::before, .elementor-1152 .elementor-element.elementor-element-572c200d > .elementor-background-slideshow::before, .elementor-1152 .elementor-element.elementor-element-572c200d > .e-con-inner > .elementor-background-slideshow::before, .elementor-1152 .elementor-element.elementor-element-572c200d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-field-type-html{padding-bottom:0px;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-button[type="submit"]{color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1152 .elementor-element.elementor-element-225dd19{--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-popup-modal-1152 .dialog-widget-content{animation-duration:0.3s;background-color:rgba(0,0,0,0);}#elementor-popup-modal-1152{background-color:#00000082;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1152 .dialog-message{width:801px;height:auto;}@media(max-width:1024px){.elementor-1152 .elementor-element.elementor-element-5de14375{--padding-top:0%;--padding-bottom:0%;--padding-left:8%;--padding-right:12%;}.elementor-1152 .elementor-element.elementor-element-572c200d{--padding-top:6%;--padding-bottom:6%;--padding-left:10%;--padding-right:21%;}}@media(min-width:768px){.elementor-1152 .elementor-element.elementor-element-5de14375{--content-width:800px;}}@media(max-width:767px){.elementor-1152 .elementor-element.elementor-element-5de14375{--min-height:100vh;--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;}.elementor-1152 .elementor-element.elementor-element-572c200d{--padding-top:15%;--padding-bottom:15%;--padding-left:10%;--padding-right:10%;}}/* Start custom CSS for html, class: .elementor-element-e3962f2 */.popup-close-btn-register {
  position: absolute;
  top: -45px;
  right: -30px;
  font-size: 28px;
  font-weight: 700;
  color: #1F2937;
  cursor: pointer;
  z-index: 9999;
  transition: transform .15s ease, filter .15s ease;
}

.popup-close-btn-register:hover {
  transform: scale(1.1);
  filter: brightness(0.8);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-572c200d *//* ===========================
   POPUP REGISTRO (LIMPIO)
   Scope: .espes-register-popup
   =========================== */

:root{
  --espes-brand:#C6D312;
  --espes-brand-600:#AEBB10;
  --espes-text:#111827;
  --espes-muted:#6B7280;
  --espes-border:#D1D5DB;
  --espes-bg:#F9FAFB;
}

/* Card del formulario */
.espes-register-popup .elementor-widget-form .elementor-widget-container{
  max-width:440px !important;
  margin:0 auto !important;
  padding:20px !important;
  background:#fff !important;
  border-radius:2px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
  position:relative !important;
  overflow:hidden !important;
}
.espes-register-popup .elementor-widget-form .elementor-widget-container::after{
  content:"";
  position:absolute; right:-48px; bottom:-48px;
  width:180px; height:180px;
  background:radial-gradient(closest-side,#EEF3D1,transparent) !important;
}

/* Campos + etiquetas */
.espes-register-popup .elementor-field-group{ margin-bottom:12px !important; }
.espes-register-popup label{
  display:block !important;
  margin-bottom:4px !important;
  font-size:14px !important;
  font-weight:600 !important;
  color:var(--espes-text) !important;
}
.espes-register-popup input[type="text"],
.espes-register-popup input[type="email"],
.espes-register-popup input[type="password"]{
  width:100% !important;
  padding:10px 12px !important;
  font-size:14px !important;
  border:1px solid var(--espes-border) !important;
  border-radius:2px !important;
  background:var(--espes-bg) !important;
  transition: box-shadow .2s, border-color .2s, background .2s !important;
}
.espes-register-popup input[type="text"]:focus,
.espes-register-popup input[type="email"]:focus,
.espes-register-popup input[type="password"]:focus{
  outline:none !important;
  border-color:var(--espes-brand) !important;
  box-shadow:0 0 0 3px rgba(198,211,18,.22) !important;
  background:#fff !important;
}

/* Asterisco automático en campos requeridos (generales) */
.espes-register-popup .elementor-field-group:has(input[required]) > label::after,
.espes-register-popup .elementor-field-group:has(select[required]) > label::after,
.espes-register-popup .elementor-field-group:has(textarea[required]) > label::after{
  content:" *"; color:#EF4444; margin-left:4px; font-weight:700;
}

/* ===========================
   ACEPTACIÓN (checkbox + texto)
   =========================== */

/* --- CASO A: la plantilla trae label interno junto al checkbox (el más común) --- */
.espes-register-popup .elementor-field-type-acceptance:has(.elementor-field-option label){
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin-bottom:12px !important;
}
/* Ocultamos el label externo para no duplicar texto */
.espes-register-popup .elementor-field-type-acceptance:has(.elementor-field-option label) > .elementor-field-label{
  display:none !important;
}
/* Mostramos el label interno con el checkbox a la IZQUIERDA y el texto a la DERECHA */
.espes-register-popup .elementor-field-type-acceptance .elementor-field-option label{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
  font-weight:500 !important;
  white-space:normal !important;
}

/* Asterisco cuando es requerido (usando el label interno) */
.espes-register-popup .elementor-field-type-acceptance:has(.elementor-field-option label) input[required] ~ label::after{
  content:" *"; color:#EF4444; margin-left:4px; font-weight:700;
}

/* --- CASO B: no hay label interno; solo .elementor-field-label + checkbox --- */
.espes-register-popup .elementor-field-type-acceptance:not(:has(.elementor-field-option label)){
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}
.espes-register-popup .elementor-field-type-acceptance:not(:has(.elementor-field-option label)) > .elementor-field-subgroup{
  order:1 !important; display:flex !important; align-items:center !important; gap:10px !important;
}
.espes-register-popup .elementor-field-type-acceptance:not(:has(.elementor-field-option label)) > .elementor-field-label{
  order:2 !important; display:inline-block !important; margin:0 !important; font-weight:500 !important; white-space:nowrap !important;
}
/* Asterisco con label externo */
.espes-register-popup .elementor-field-type-acceptance:not(:has(.elementor-field-option label)):has(input[required]) > .elementor-field-label::after{
  content:" *"; color:#EF4444; margin-left:4px; font-weight:700;
}

/* Checkbox visible, sin acento verde ni sombras */
.espes-register-popup .elementor-field-type-acceptance input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  margin:0 !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
  opacity:1 !important;
  position:static !important;
  clip:auto !important;
  accent-color:initial !important;   /* quita el verde */
  box-shadow:none !important;
  outline:none !important;
}
.espes-register-popup input[type="checkbox"]:focus{ box-shadow:none !important; }

/* ===========================
   Botón enviar
   =========================== */
.espes-register-popup .elementor-button{
  width:100% !important;
  height:42px !important;
  padding:0 14px !important;
  border-radius:2px !important;
  font-weight:700 !important;
  font-size:14px !important;
  background:var(--espes-brand) !important;
  color:#1F2937 !important;
  border:none !important;
  transition: transform .15s ease, filter .15s ease !important;
}
.espes-register-popup .elementor-button:hover{
  background:var(--espes-brand-600) !important;
  transform:translateY(-1px) !important;
}

/* Mensajes */
.espes-register-popup .elementor-message{
  border-radius:2px !important;
  padding:10px 12px !important;
  margin-bottom:12px !important;
}
.espes-register-popup .elementor-message-danger{
  background:#FEF2F2 !important; color:#991B1B !important; border:1px solid #FECACA !important;
}
.espes-register-popup .elementor-message-success{
  background:#F0FDF4 !important; color:#166534 !important; border:1px solid #BBF7D0 !important;
}

/* Ojo de contraseña (si usas el JS) */
.espes-register-popup .espes-toggle-pass{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:transparent; border:none; cursor:pointer; opacity:.6; font-size:16px;
}
.espes-register-popup .espes-toggle-pass.is-active{ opacity:1; }

/* Responsive */
@media (max-width:480px){
  .espes-register-popup .elementor-widget-form .elementor-widget-container{
    max-width:360px !important; padding:16px !important;
  }
  .espes-register-popup .elementor-field-type-acceptance{
    flex-wrap:wrap !important;
  }
}

/* === Acceptance: que NO ocupe todo el ancho === */
.espes-register-popup .elementor-field-group.elementor-field-type-acceptance{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

/* El contenedor del check NO se estira */
.espes-register-popup .elementor-field-type-acceptance > .elementor-field-subgroup{
  flex:0 0 auto !important;
  width:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
}

/* Elementor a veces mete span.elementor-field-option a 100%: lo anulamos */
.espes-register-popup .elementor-field-type-acceptance .elementor-field-option{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
}

/* Si el texto va en el label externo, que no se pegue a la derecha ni rompa línea */
.espes-register-popup .elementor-field-type-acceptance > .elementor-field-label{
  order:2 !important;
  display:inline-block !important;
  margin:0 !important;
  font-weight:500 !important;
  white-space:nowrap !important;
}

/* Checkbox con tamaño fijo */
.espes-register-popup .elementor-field-type-acceptance input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  margin:0 !important;
}/* End custom CSS */