.elementor-102 .elementor-element.elementor-element-76c3c7b:not(.elementor-motion-effects-element-type-background), .elementor-102 .elementor-element.elementor-element-76c3c7b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-102 .elementor-element.elementor-element-76c3c7b{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:20px 20px 20px 20px;}.elementor-102 .elementor-element.elementor-element-76c3c7b > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.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-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group.recaptcha_v3-bottomleft, .elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-type-html{padding-bottom:0px;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group .elementor-field{color:var( --e-global-color-387e19d );}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group .elementor-field, .elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-subgroup label{font-family:"Montserrat", Sans-serif;font-weight:400;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:#DBDBDB;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:#DBDBDB;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-field-group .elementor-select-wrapper::before{color:#DBDBDB;}.elementor-102 .elementor-element.elementor-element-15fdf1f .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-2178c8b );color:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-button[type="submit"]{background-color:var( --e-global-color-2178c8b );color:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-102 .elementor-element.elementor-element-15fdf1f{--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;}/* Start custom CSS for html, class: .elementor-element-5de9d5c *//* Fuente Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap');

/* Sección de contacto */
.ci-contact {
  background: #ffffff;
  padding: 70px 20px;
  font-family: 'Montserrat', sans-serif;
  color: #000000;
  overflow: hidden;
}

.ci-contact__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  animation: fadeUp 1.2s ease forwards;
  opacity: 0;
}

.ci-contact__text h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 20px;
}

.ci-contact__text p {
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 25px;
  color: #222222;
}

.ci-contact__list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 2;
}

.ci-contact__list li {
  margin-bottom: 8px;
}

.ci-contact__list a {
  color: #000000;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.ci-contact__list a:hover {
  color: #27ae60;
  border-color: #27ae60;
}

/* Animación */
@keyframes fadeUp {
  from {
    transform: translateY(40px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Responsive */
@media (max-width: 600px) {
  .ci-contact__text h2 {
    font-size: 1.6rem;
  }
  .ci-contact__text p {
    font-size: 0.95rem;
  }
  .ci-contact__list {
    font-size: 0.9rem;
  }
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-15fdf1f *//* Fuente Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap');

/* Estilos generales para el formulario de Elementor */
.elementor-form {
  font-family: 'Montserrat', sans-serif;
  color: #000000;
  background: #ffffff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  animation: fadeUp 1.2s ease forwards;
  opacity: 0;
}

/* Campos de texto */
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="tel"],
.elementor-form textarea,
.elementor-form select {
  width: 100%;
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  background: #ffffff;
  font-size: 0.95rem;
  margin-bottom: 15px;
  color: #000000;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  font-family: 'Montserrat', sans-serif;
}

/* Focus */
.elementor-form input:focus,
.elementor-form textarea:focus,
.elementor-form select:focus {
  outline: none;
  border-color: #27ae60;
  box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.15);
}

/* Placeholder */
.elementor-form ::placeholder {
  color: #555555;
  opacity: 0.8;
  font-family: 'Montserrat', sans-serif;
}

/* Botón */
.elementor-form .elementor-button {
  background: #27ae60;
  color: #ffffff;
  font-weight: 600;
  padding: 14px 26px;
  border-radius: 8px;
  font-size: 1rem;
  border: none;
  transition: all 0.25s ease;
  font-family: 'Montserrat', sans-serif;
}

/* Hover botón */
.elementor-form .elementor-button:hover {
  background: #219150;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(39,174,96,0.2);
}

/* Mensajes de éxito y error */
.elementor-message {
  font-size: 0.95rem;
  margin-top: 12px;
  border-radius: 6px;
  padding: 12px 14px;
  font-family: 'Montserrat', sans-serif;
}

.elementor-message-success {
  background: #e9f9f0;
  color: #1e7d4d;
  border: 1px solid #b5e1c7;
}

.elementor-message-danger {
  background: #fdecea;
  color: #a94442;
  border: 1px solid #f5c6cb;
}

/* Animación fadeUp */
@keyframes fadeUp {
  from {
    transform: translateY(40px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Responsive */
@media (max-width: 600px) {
  .elementor-form {
    padding: 20px;
  }
  .elementor-form .elementor-button {
    width: 100%;
    text-align: center;
  }
}/* End custom CSS */