.elementor-1502 .elementor-element.elementor-element-16553ad{--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-1502 .elementor-element.elementor-element-6a962b6{--spacer-size:25px;}.elementor-1502 .elementor-element.elementor-element-fe62095{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-1502 .elementor-element.elementor-element-438be19{--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;border-style:solid;--border-style:solid;border-width:5px 5px 5px 5px;--border-top-width:5px;--border-right-width:5px;--border-bottom-width:5px;--border-left-width:5px;border-color:var( --e-global-color-primary );--border-color:var( --e-global-color-primary );--border-radius:20px 20px 20px 20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1502 .elementor-element.elementor-element-438be19:not(.elementor-motion-effects-element-type-background), .elementor-1502 .elementor-element.elementor-element-438be19 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAFA;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Poppins;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.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 ), Poppins;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 ), Poppins;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 ), Poppins;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Poppins;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 ), Poppins;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 ), Poppins;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 ), Poppins;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-field-type-html{padding-bottom:0px;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-button[type="submit"]{color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-tertiary );color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-tertiary );color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1502 .elementor-element.elementor-element-5803a84 .elementor-button{border-radius:15px 15px 15px 15px;padding:10px 10px 10px 10px;}.elementor-1502 .elementor-element.elementor-element-5803a84{--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-1502 .elementor-element.elementor-element-fa624c4{--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-1502 .elementor-element.elementor-element-59e10ab{--display:flex;}@media(min-width:768px){.elementor-1502 .elementor-element.elementor-element-438be19{--width:65%;}.elementor-1502 .elementor-element.elementor-element-fa624c4{--width:50%;}}/* Start custom CSS for spacer, class: .elementor-element-6a962b6 *//*
 * ------------------------------------------------------------------
 * ESTILOS MAESTROS PARA LA SECCIÓN DE CONTACTO (VERSION ACTUALIZADA)
 * Pégalo en el CSS PERSONALIZADO del CONTENEDOR PADRE / SECCIÓN
 * ------------------------------------------------------------------
 */

/* VARIABLES DE COLOR GLOBALES */
:root {
    --color-primary: #4085A7; /* Azul Principal */
    --color-secondary: #0A3C52; /* Azul Oscuro */
    --color-text-light: #666;
}

/* Estilo para la Columna de Formulario (Izquierda) */
.columna-formulario {
    background: #f8f9fa;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-left: 5px solid var(--color-primary);
    height: 100%; 
}

/* Estilo para el Título 'Envíanos un Mensaje' */
.columna-formulario h3.elementor-heading-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 30px;
}

/* ----------------------------------------------------------- */
/* SOBRESCRIBE ESTILOS DEL WIDGET DE FORMULARIO DE ELEMENTOR */
/* ----------------------------------------------------------- */

/* Estilo base de los campos de texto */
.columna-formulario .elementor-field-group input:not([type="submit"]), 
.columna-formulario .elementor-field-group select,
.columna-formulario .elementor-field-group textarea {
    padding: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    transition: border-color 0.3s, box-shadow 0.3s;
    /* Resetear estilos potencialmente conflictivos de Elementor */
    box-shadow: none !important; 
}

/* * EFECTO FOCUS REFORZADO: 
 * Esto garantiza que el campo se ilumine al hacer clic/seleccionar.
 * Es vital usar !important para sobrescribir cualquier estilo interno de Elementor.
 */
.columna-formulario .elementor-field-group input:focus,
.columna-formulario .elementor-field-group select:focus,
.columna-formulario .elementor-field-group textarea:focus {
    /* Color de borde primario */
    border-color: var(--color-primary) !important; 
    outline: none !important;
    /* Efecto de sombra sutil para resaltar (Focus Ring) */
    box-shadow: 0 0 0 4px rgba(64, 133, 167, 0.3) !important; 
}

/* Estilo del Botón de Envío */
.columna-formulario .elementor-button {
    width: 100%;
    background-color: var(--color-primary) !important;
    color: white !important;
    font-weight: 700 !important;
    padding: 15px !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 18px !important;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.1s !important;
}
.columna-formulario .elementor-button:hover {
    background-color: var(--color-secondary) !important;
    transform: translateY(-1px) !important;
}

/* ----------------------------------------------------------- */
/* Estilos para la Columna de Información (Derecha) - HTML */
/* ----------------------------------------------------------- */
.contact-info-block {
    background: var(--color-secondary); /* Fondo Azul Oscuro */
    color: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.info-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    color: white;
}
.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
}
.info-item i {
    font-size: 20px;
    color: var(--color-primary);
    margin-right: 15px;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.info-item p {
    font-size: 16px;
    margin: 0;
    line-height: 1.5;
    color: #E5E7EB; 
}
.whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    background-color: #25D366; 
    color: white;
    font-weight: 700;
    padding: 15px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 18px;
    transition: background-color 0.3s, transform 0.1s;
}
.whatsapp-btn i {
    font-size: 24px;
    margin-right: 10px;
}
.whatsapp-btn:hover {
    background-color: #128C7E;
    transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-64ff418 *//* Tarjeta de info de contacto */
.corpa-contact-info {
  background: #f8f9fb;
  padding: 24px 22px 22px;
  border-radius: 18px;
  border: 1px solid var(--color-border-light);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .08);
}

/* Avatar / logo arriba */
.cc-contact-hero {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}

.cc-contact-avatar {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  padding: 6px;
  background: radial-gradient(circle at top, #40c4d0, #4085A7);
  box-shadow: 0 14px 32px rgba(64, 133, 167, .45);
  position: relative;
  overflow: hidden;
}

/* Glow suave */
.cc-contact-avatar::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .45);
  opacity: .8;
}

/* Imagen */
.cc-contact-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  transition: transform .35s ease, filter .35s ease;
}

/* Hover general de la card */
.corpa-contact-info:hover .cc-contact-img {
  transform: scale(1.05) translateY(-2px);
  filter: saturate(1.05);
}

/* Título y texto */
.corpa-contact-info h2 {
  font-size: 22px;
  color: var(--color-secondary);
  margin: 0 0 8px;
  text-align: center;
}

.cc-intro {
  font-size: 14px;
  color: var(--color-text-muted);
  margin: 0 0 18px;
  line-height: 1.6;
  text-align: center;
}

/* Items de contacto (esto puede ser el mismo que ya tienes) */
.cc-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cc-item {
  border-bottom: 1px solid rgba(227, 230, 238, .8);
  padding-bottom: 10px;
}

.cc-item:last-child {
  border-bottom: none;
}

.cc-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-text-muted);
  font-weight: 600;
  margin-bottom: 4px;
}

.cc-main-link {
  font-size: 15px;
  color: var(--color-secondary);
  font-weight: 600;
  text-decoration: none;
}

.cc-main-link:hover {
  color: var(--color-primary);
}

.cc-note {
  font-size: 13px;
  color: var(--color-text-muted);
  margin-top: 3px;
}

.cc-address {
  line-height: 1.5;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fe62095 *//*
 * ------------------------------------------------------------------
 * ESTILOS MAESTROS PARA LA SECCIÓN DE CONTACTO (VERSION ACTUALIZADA)
 * Pégalo en el CSS PERSONALIZADO del CONTENEDOR PADRE / SECCIÓN
 * ------------------------------------------------------------------
 */

/* VARIABLES DE COLOR GLOBALES */
:root {
    --color-primary: #4085A7; /* Azul Principal */
    --color-secondary: #0A3C52; /* Azul Oscuro */
    --color-text-light: #666;
}

/* Estilo para la Columna de Formulario (Izquierda) */
.columna-formulario {
    background: #f8f9fa;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border-left: 5px solid var(--color-primary);
    height: 100%; 
}

/* Estilo para el Título 'Envíanos un Mensaje' */
.columna-formulario h3.elementor-heading-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 30px;
}

/* ----------------------------------------------------------- */
/* SOBRESCRIBE ESTILOS DEL WIDGET DE FORMULARIO DE ELEMENTOR */
/* ----------------------------------------------------------- */

/* Estilo base de los campos de texto */
.columna-formulario .elementor-field-group input:not([type="submit"]), 
.columna-formulario .elementor-field-group select,
.columna-formulario .elementor-field-group textarea {
    padding: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    transition: border-color 0.3s, box-shadow 0.3s;
    /* Resetear estilos potencialmente conflictivos de Elementor */
    box-shadow: none !important; 
}

/* * EFECTO FOCUS REFORZADO: 
 * Esto garantiza que el campo se ilumine al hacer clic/seleccionar.
 * Es vital usar !important para sobrescribir cualquier estilo interno de Elementor.
 */
.columna-formulario .elementor-field-group input:focus,
.columna-formulario .elementor-field-group select:focus,
.columna-formulario .elementor-field-group textarea:focus {
    /* Color de borde primario */
    border-color: var(--color-primary) !important; 
    outline: none !important;
    /* Efecto de sombra sutil para resaltar (Focus Ring) */
    box-shadow: 0 0 0 4px rgba(64, 133, 167, 0.3) !important; 
}

/* Estilo del Botón de Envío */
.columna-formulario .elementor-button {
    width: 100%;
    background-color: var(--color-primary) !important;
    color: white !important;
    font-weight: 700 !important;
    padding: 15px !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 18px !important;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.1s !important;
}
.columna-formulario .elementor-button:hover {
    background-color: var(--color-secondary) !important;
    transform: translateY(-1px) !important;
}

/* ----------------------------------------------------------- */
/* Estilos para la Columna de Información (Derecha) - HTML */
/* ----------------------------------------------------------- */
.contact-info-block {
    background: var(--color-secondary); /* Fondo Azul Oscuro */
    color: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.info-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    color: white;
}
.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
}
.info-item i {
    font-size: 20px;
    color: var(--color-primary);
    margin-right: 15px;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.info-item p {
    font-size: 16px;
    margin: 0;
    line-height: 1.5;
    color: #E5E7EB; 
}
.whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    background-color: #25D366; 
    color: white;
    font-weight: 700;
    padding: 15px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 18px;
    transition: background-color 0.3s, transform 0.1s;
}
.whatsapp-btn i {
    font-size: 24px;
    margin-right: 10px;
}
.whatsapp-btn:hover {
    background-color: #128C7E;
    transform: translateY(-1px);
    color:white;
}

div .contact-form-img{
    border-radius: 15px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-49680a8 *//* Título del mapa */
.cc-map-title {
  text-align: center;
  font-size: 20px;
  color: var(--color-secondary);
  font-weight: 700;
  margin-bottom: 28px;
  letter-spacing: 0.5px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  position: relative;
}

.cc-map-pin {
  font-size: 22px;
}

/* Línea decorativa */
.cc-map-title::after {
  content: "";
  width: 70px;
  height: 3px;
  background: var(--color-primary);
  border-radius: 4px;
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.9;
}

/* MAPA FULL WIDTH */
.corpa-contact-map-full {
  margin-top: 50px;
  padding: 0 20px 60px;
  text-align: center;
}

.cc-map-wrapper-full {
  max-width: 1100px;
  margin: 35px auto 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  box-shadow: 0 10px 26px rgba(15,23,42,.14);
}

/* Iframe responsivo */
.cc-map-wrapper-full iframe {
  width: 100%;
  height: 420px;
  border: 0;
  display: block;
}

@media (max-width: 600px) {
  .cc-map-wrapper-full iframe {
    height: 340px;
  }
}

/* CTA debajo del mapa */
.cc-map-cta {
  margin-top: 32px;
  text-align: center;
}

.cc-map-cta h4 {
  font-size: 18px;
  color: var(--color-secondary);
  margin-bottom: 6px;
  font-weight: 600;
}

.cc-map-cta p {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 18px;
}

/* Botón WhatsApp */
.cc-map-btn {
  display: inline-block;
  background: var(--color-primary);
  color: #fff;
  padding: 12px 26px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(64,133,167,.25);
  transition: all .25s ease;
}

.cc-map-btn:hover {
  background: var(--color-secondary);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(64,133,167,.35);
}/* End custom CSS */