.elementor-953 .elementor-element.elementor-element-2c1a24c{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-953 .elementor-element.elementor-element-87194a9{--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-953 .elementor-element.elementor-element-87194a9:not(.elementor-motion-effects-element-type-background), .elementor-953 .elementor-element.elementor-element-87194a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E7E4DE;}.elementor-953 .elementor-element.elementor-element-9084095{--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-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-953 .elementor-element.elementor-element-f6232ab{padding:4% 4% 4% 4%;--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-953 .elementor-element.elementor-element-f6232ab.elementor-element{--align-self:center;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-field-group.recaptcha_v3-bottomleft, .elementor-953 .elementor-element.elementor-element-f6232ab .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-953 .elementor-element.elementor-element-f6232ab .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-953 .elementor-element.elementor-element-f6232ab .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-953 .elementor-element.elementor-element-f6232ab .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-field-type-html{padding-bottom:0px;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-button[type="submit"]{color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-953 .elementor-element.elementor-element-f6232ab .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-953 .elementor-element.elementor-element-bba2f7d{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for form, class: .elementor-element-f6232ab *//* ════════════════════════════════════════
   SOUL WEDDINGS — Elementor Form CSS
   Pegar en: Elementor → Site Settings → Custom CSS
════════════════════════════════════════ */

@font-face {
  font-family: 'Casanova';
  src: url('https://soulweddings.es/wp-content/uploads/2026/03/Casanova-Font-Free.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── WRAPPER GENERAL ── */
.elementor-form-fields-wrapper {
  gap: 40px 60px !important;
}

/* ── LABELS ── */
.elementor-form .elementor-field-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #111 !important;
  margin-bottom: 10px !important;
}

/* ── INPUTS Y TEXTAREA ── */
.elementor-form .elementor-field-textual {
  background: transparent !important;
  border: none !important;
  border-bottom: 0.5px solid #d0d0d0 !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #111 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.3s ease !important;
  width: 100% !important;
}

.elementor-form .elementor-field-textual:focus {
  border-bottom-color: #111 !important;
  box-shadow: none !important;
  outline: none !important;
}

.elementor-form .elementor-field-textual::placeholder {
  color: #888 !important;
  font-weight: 400 !important;
}

/* ── TEXTAREA ── */
.elementor-form textarea.elementor-field-textual {
  min-height: 110px !important;
  resize: none !important;
  line-height: 1.8 !important;
  vertical-align: top !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  overflow-y: auto !important;
  display: block !important;
  align-self: flex-start !important;
}

.elementor-form .elementor-field-type-textarea .elementor-field {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ── SELECT WRAPPER: quitar bordes y fondos del contenedor ── */
.elementor-form .elementor-select-wrapper {
  background: transparent !important;
  border: none !important;
  border-bottom: 0.5px solid #d0d0d0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

/* quitar el ::before que añade Elementor */
.elementor-form .elementor-select-wrapper.remove-before::before {
  display: none !important;
}

/* flecha SVG personalizada */
.elementor-form .select-caret-down-wrapper {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  width: 10px !important;
  height: 10px !important;
}

.elementor-form .select-caret-down-wrapper svg {
  width: 8px !important;
  height: 8px !important;
  fill: #aaa !important;
}

/* el select en sí */
.elementor-form .elementor-select-wrapper select {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 20px 10px 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #111 !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.elementor-form .elementor-select-wrapper select:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ── CHECKBOXES ── */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding-top: 6px !important;
}

.elementor-form .elementor-field-type-checkbox .elementor-field-option {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 13px !important;
  min-width: 13px !important;
  height: 13px !important;
  border: 0.5px solid #bbb !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 2px 0 0 0 !important;
  cursor: pointer !important;
  position: relative !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
  flex-shrink: 0 !important;
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"]:checked {
  background: #111 !important;
  border-color: #111 !important;
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 3px !important;
  top: 1px !important;
  width: 4px !important;
  height: 7px !important;
  border: 1px solid #fff !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) !important;
}

.elementor-form .elementor-field-type-checkbox .elementor-field-option label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #555 !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

/* ── ACCEPTANCE ── */
.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup {
  padding-top: 0 !important;
}

.elementor-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.elementor-form .elementor-acceptance-field {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 13px !important;
  min-width: 13px !important;
  height: 13px !important;
  border: 0.5px solid #bbb !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 2px 0 0 0 !important;
  cursor: pointer !important;
  position: relative !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
  flex-shrink: 0 !important;
}

.elementor-form .elementor-acceptance-field:checked {
  background: #111 !important;
  border-color: #111 !important;
}

.elementor-form .elementor-acceptance-field:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 3px !important;
  top: 1px !important;
  width: 4px !important;
  height: 7px !important;
  border: 1px solid #fff !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) !important;
}

.elementor-form .elementor-field-type-acceptance label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #aaa !important;
  line-height: 1.7 !important;
  cursor: pointer !important;
}

/* ── BOTÓN SUBMIT ── */
.elementor-form .e-form__buttons {
  margin-top: 8px !important;
}

.elementor-form .elementor-button {
  font-family: 'Casanova', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
  background: #111 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 48px !important;
  width: auto !important;
  display: inline-block !important;
  transition: background 0.3s ease !important;
  text-transform: none !important;
  cursor: pointer !important;
}

.elementor-form .elementor-button:hover {
  background: #895129 !important;
  color: #fff !important;
}

.elementor-form .elementor-button-text {
  font-family: 'Casanova', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

/* ── ERRORES ── */
.elementor-form .elementor-field-group.elementor-error .elementor-field-textual {
  border-bottom-color: #895129 !important;
}

.elementor-form .elementor-field-group.elementor-error .elementor-message {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  color: #895129 !important;
  letter-spacing: 0.1em !important;
}/* End custom CSS */