.elementor-4903 .elementor-element.elementor-element-47168a8{--display:flex;--margin-top:0%;--margin-bottom:2%;--margin-left:0%;--margin-right:0%;}.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 );}.elementor-4903 .elementor-element.elementor-element-1ee54b2{text-align:center;}.elementor-4903 .elementor-element.elementor-element-1ee54b2 .elementor-heading-title{color:var( --e-global-color-057866a );}.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{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, .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 .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__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-4903 .elementor-element.elementor-element-524ecd6 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-field-type-html{padding-bottom:0px;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-button[type="submit"]{color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .e-form__buttons__wrapper__button-previous{background-color:#401965;color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-4903 .elementor-element.elementor-element-524ecd6{--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;}:root{--page-title-display:none;}/* Start custom CSS for form, class: .elementor-element-524ecd6 *//* Sleep Gallery · Form Minimal (robusto) */
.sg-cupon-form,
.sg-cupon-form .elementor-widget-container{
  width: 100%;
}

.sg-cupon-form form.elementor-form{
  max-width: 720px;
  margin: 0 auto;
  padding: 18px 18px 14px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* Etiquetas */
.sg-cupon-form .elementor-field-label{
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .2px;
  color: rgba(17, 17, 17, 0.72);
  margin-bottom: 8px;
}

/* Campos */
.sg-cupon-form input.elementor-field,
.sg-cupon-form textarea.elementor-field,
.sg-cupon-form select.elementor-field{
  height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(17, 17, 17, 0.14);
  background: rgba(255,255,255,0.92);
  padding: 12px 14px;
  font-size: 15px;
  color: #111;
  transition: border-color .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.sg-cupon-form textarea.elementor-field{
  min-height: 120px;
  height: auto;
}

/* Placeholder */
.sg-cupon-form input.elementor-field::placeholder,
.sg-cupon-form textarea.elementor-field::placeholder{
  color: rgba(17, 17, 17, 0.38);
}

/* Hover + Focus */
.sg-cupon-form input.elementor-field:hover,
.sg-cupon-form textarea.elementor-field:hover,
.sg-cupon-form select.elementor-field:hover{
  border-color: rgba(122, 63, 190, 0.35);
}

.sg-cupon-form input.elementor-field:focus,
.sg-cupon-form textarea.elementor-field:focus,
.sg-cupon-form select.elementor-field:focus{
  border-color: rgba(122, 63, 190, 0.75);
  box-shadow: 0 0 0 4px rgba(122, 63, 190, 0.12);
  outline: none;
}

/* Espaciado */
.sg-cupon-form .elementor-field-group{
  margin-bottom: 14px;
}

/* Botón */
.sg-cupon-form button.elementor-button,
.sg-cupon-form .elementor-button[type="submit"]{
  height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(122, 63, 190, 0.35);
  background: linear-gradient(135deg, rgba(122, 63, 190, 0.92), rgba(74, 23, 140, 0.92));
  color: #fff;
  font-weight: 700;
  letter-spacing: .2px;
  box-shadow: 0 10px 24px rgba(74, 23, 140, 0.20);
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}

.sg-cupon-form button.elementor-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(74, 23, 140, 0.26);
  filter: brightness(1.02);
}

/* Mensajes */
.sg-cupon-form .elementor-message-success,
.sg-cupon-form .elementor-message-danger{
  margin-top: 14px;
  border-radius: 12px;
  padding: 12px 14px;
  font-weight: 600;
}

.sg-cupon-form .elementor-message-success{
  background: rgba(34, 197, 94, 0.10);
  border: 1px solid rgba(34, 197, 94, 0.22);
  color: rgba(17, 17, 17, 0.85);
}

.sg-cupon-form .elementor-message-danger{
  background: rgba(239, 68, 68, 0.10);
  border: 1px solid rgba(239, 68, 68, 0.22);
  color: rgba(17, 17, 17, 0.85);
}

@media (max-width: 767px){
  .sg-cupon-form form.elementor-form{
    padding: 14px 14px 12px;
    border-radius: 14px;
  }
  .sg-cupon-form input.elementor-field,
  .sg-cupon-form textarea.elementor-field,
  .sg-cupon-form select.elementor-field{
    height: 46px;
  }
  .sg-cupon-form button.elementor-button{
    height: 46px;
  }
  
}

/* ═══════════════════════════════════════
   Sleep Gallery · Form Enhanced v2
   Agregar DESPUÉS del CSS actual
═══════════════════════════════════════ */

/* Título de la sección encima del form */
.sg-cupon-form .elementor-heading-widget h2,
.sg-cupon-form .elementor-heading-widget h3 {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}
.sg-cupon-form .elementor-heading-widget h2::after,
.sg-cupon-form .elementor-heading-widget h3::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 48px; height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(122,63,190,1), rgba(74,23,140,1));
}

/* Card del form: borde superior morado */
.sg-cupon-form form.elementor-form {
  border-top: 3px solid rgba(122, 63, 190, 0.80) !important;
  padding-top: 28px !important;
}

/* Campos: fondo levemente morado en focus */
.sg-cupon-form input.elementor-field:focus,
.sg-cupon-form textarea.elementor-field:focus,
.sg-cupon-form select.elementor-field:focus {
  background: rgba(122, 63, 190, 0.04) !important;
}

/* Etiquetas: pequeño dot morado antes del label */
.sg-cupon-form .elementor-field-label::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(122, 63, 190, 0.70);
  margin-right: 6px;
  vertical-align: middle;
  margin-bottom: 2px;
}

/* Campo requerido: quitar el asterisco rojo nativo de Elementor
   y reemplazarlo con estilo propio */
.sg-cupon-form .elementor-field-required::after {
  color: rgba(122, 63, 190, 0.80) !important;
}

/* Botón: texto uppercase + espaciado + icono flecha */
.sg-cupon-form button.elementor-button,
.sg-cupon-form .elementor-button[type="submit"] {
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
}

/* Botón: efecto "press" al hacer click */
.sg-cupon-form button.elementor-button:active {
  transform: translateY(1px) !important;
  box-shadow: 0 6px 14px rgba(74, 23, 140, 0.18) !important;
  filter: brightness(0.97) !important;
}

/* Separador visual sutil entre campos */
.sg-cupon-form .elementor-field-group {
  position: relative;
}

/* Campo de fecha: ícono de calendario con color morado */
.sg-cupon-form input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(30%) sepia(80%) saturate(500%) hue-rotate(250deg);
  cursor: pointer;
  opacity: 0.7;
}
.sg-cupon-form input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-47168a8 *//* ── Fondo sección ── */
.elementor-element-970a5a6,
.elementor-element-47168a8 {
  background-color: #f8f5ff !important;
}

/* ── Título ── */
.elementor-element-1ee54b2 .elementor-heading-title {
  font-size: clamp(26px, 3.5vw, 38px) !important;
  font-weight: 700 !important;
  color: #4a178c !important;
  letter-spacing: -0.3px;
  padding-bottom: 14px;
  position: relative;
}

.elementor-element-1ee54b2 .elementor-heading-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, #7a3fbe, #4a178c);
}

/* ── Espaciado ── */
.elementor-element-970a5a6 {
  padding-top: 52px !important;
}
.elementor-element-47168a8 {
  padding-bottom: 60px !important;
}/* End custom CSS */