.elementor-2953 .elementor-element.elementor-element-137544e{--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:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-9a4f6c9{--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:40px 40px;--row-gap:40px;--column-gap:40px;--border-radius:20px 20px 20px 20px;--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-2953 .elementor-element.elementor-element-9a4f6c9:not(.elementor-motion-effects-element-type-background), .elementor-2953 .elementor-element.elementor-element-9a4f6c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2f9bd7e );}.elementor-2953 .elementor-element.elementor-element-5432ebb{--display:flex;--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:flex-start;}.elementor-2953 .elementor-element.elementor-element-5b6ec92{text-align:left;}.elementor-2953 .elementor-element.elementor-element-5b6ec92 .elementor-heading-title{font-family:"Merriweather Sans", Sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var( --e-global-color-b8750fa );}.elementor-2953 .elementor-element.elementor-element-3d02586 > .elementor-widget-container{margin:0px 0px 16px 0px;}.elementor-2953 .elementor-element.elementor-element-3d02586 .elementor-heading-title{font-size:58px;font-weight:300;color:var( --e-global-color-primary );}.elementor-2953 .elementor-element.elementor-element-1ba4a0f{--display:flex;--justify-content:center;}.elementor-2953 .elementor-element.elementor-element-7a6d72b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2953 .elementor-element.elementor-element-6e0b3de{--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:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-9a5fb22{--grid-columns:1;}.elementor-2953 .elementor-element.elementor-element-1d6f62c{--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:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-a42aa4b{--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:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:60px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-2953 .elementor-element.elementor-element-f38a669{--display:flex;}.elementor-2953 .elementor-element.elementor-element-e874697{--grid-columns:2;--grid-row-gap:60px;--grid-column-gap:20px;}.elementor-2953 .elementor-element.elementor-element-109bb81{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-2953 .elementor-element.elementor-element-e575a63{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2953 .elementor-element.elementor-element-19b999d .elementor-heading-title{font-family:"Merriweather Sans", Sans-serif;font-size:18px;font-weight:700;font-style:italic;color:var( --e-global-color-primary );}.elementor-2953 .elementor-element.elementor-element-d749a45{--divider-border-style:solid;--divider-color:#1E1E1E1A;--divider-border-width:1px;}.elementor-2953 .elementor-element.elementor-element-d749a45 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2953 .elementor-element.elementor-element-d749a45 .elementor-divider-separator{width:100%;}.elementor-2953 .elementor-element.elementor-element-d749a45 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-2953 .elementor-element.elementor-element-d63ac63 .e-search-input{border-radius:10px 10px 10px 10px;}.elementor-2953 .elementor-element.elementor-element-d09439a{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2953 .elementor-element.elementor-element-195d803 .elementor-heading-title{font-family:"Merriweather Sans", Sans-serif;font-size:18px;font-weight:700;font-style:italic;color:var( --e-global-color-primary );}.elementor-2953 .elementor-element.elementor-element-6489955{--divider-border-style:solid;--divider-color:#1E1E1E1A;--divider-border-width:1px;}.elementor-2953 .elementor-element.elementor-element-6489955 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2953 .elementor-element.elementor-element-6489955 .elementor-divider-separator{width:100%;}.elementor-2953 .elementor-element.elementor-element-6489955 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-2953 .elementor-element.elementor-element-04bbf9e{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2953 .elementor-element.elementor-element-c24c9cb .elementor-heading-title{font-family:"Merriweather Sans", Sans-serif;font-size:18px;font-weight:700;font-style:italic;color:var( --e-global-color-primary );}.elementor-2953 .elementor-element.elementor-element-131ce1a{--divider-border-style:solid;--divider-color:#1E1E1E1A;--divider-border-width:1px;}.elementor-2953 .elementor-element.elementor-element-131ce1a > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2953 .elementor-element.elementor-element-131ce1a .elementor-divider-separator{width:100%;}.elementor-2953 .elementor-element.elementor-element-131ce1a .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-2953 .elementor-element.elementor-element-a382dae{--grid-columns:1;--grid-row-gap:15px;--grid-column-gap:15px;}.elementor-2953 .elementor-element.elementor-element-873431d{--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:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-ab1a3bc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--border-radius:10px 10px 10px 10px;--padding-top:40px;--padding-bottom:40px;--padding-left:50px;--padding-right:50px;}.elementor-2953 .elementor-element.elementor-element-ab1a3bc:not(.elementor-motion-effects-element-type-background), .elementor-2953 .elementor-element.elementor-element-ab1a3bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2f9bd7e );}.elementor-2953 .elementor-element.elementor-element-ac1fa30{width:100%;max-width:100%;}.elementor-2953 .elementor-element.elementor-element-ac1fa30 .elementor-heading-title{font-size:30px;line-height:1.3em;}.elementor-2953 .elementor-element.elementor-element-ac1fa30 .elementor-heading-title a:hover, .elementor-2953 .elementor-element.elementor-element-ac1fa30 .elementor-heading-title a:focus{color:var( --e-global-color-b8750fa );}.elementor-2953 .elementor-element.elementor-element-ac1fa30 .elementor-heading-title a{transition-duration:0.3s;}.elementor-2953 .elementor-element.elementor-element-82feff0{--display:flex;}.elementor-2953 .elementor-element.elementor-element-a662991 .wpcf7 span.wpcf7-not-valid-tip{text-align:left;display:block;}.elementor-2953 .elementor-element.elementor-element-a662991 .wpcf7 div.wpcf7-response-output{text-align:left;}.elementor-2953 .elementor-element.elementor-element-4ab6e88{--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:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-fa66a91{--display:flex;--padding-top:30px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-2953 .elementor-element.elementor-element-b3c4260{--grid-columns:3;--grid-row-gap:50px;--grid-column-gap:20px;}.elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination{text-align:center;margin-top:50px;}body:not(.rtl) .elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1024px){.elementor-2953 .elementor-element.elementor-element-9a4f6c9{--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-3d02586 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2953 .elementor-element.elementor-element-3d02586 .elementor-heading-title{font-size:48px;}.elementor-2953 .elementor-element.elementor-element-9a5fb22{--grid-columns:1;}.elementor-2953 .elementor-element.elementor-element-a42aa4b{--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-2953 .elementor-element.elementor-element-e874697{--grid-columns:2;}.elementor-2953 .elementor-element.elementor-element-a382dae{--grid-columns:2;}.elementor-2953 .elementor-element.elementor-element-ab1a3bc{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-b3c4260{--grid-columns:2;}}@media(max-width:767px){.elementor-2953 .elementor-element.elementor-element-137544e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2953 .elementor-element.elementor-element-9a4f6c9{--border-radius:0px 0px 20px 20px;}.elementor-2953 .elementor-element.elementor-element-3d02586 .elementor-heading-title{font-size:36px;}.elementor-2953 .elementor-element.elementor-element-9a5fb22{--grid-columns:1;}.elementor-2953 .elementor-element.elementor-element-a42aa4b{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2953 .elementor-element.elementor-element-e874697{--grid-columns:1;--grid-row-gap:40px;}.elementor-2953 .elementor-element.elementor-element-a382dae{--grid-columns:1;}.elementor-2953 .elementor-element.elementor-element-ab1a3bc{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-2953 .elementor-element.elementor-element-ac1fa30 .elementor-heading-title{font-size:20px;line-height:1.2em;}.elementor-2953 .elementor-element.elementor-element-fa66a91{--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-2953 .elementor-element.elementor-element-b3c4260{--grid-columns:1;--grid-row-gap:40px;}}@media(min-width:768px){.elementor-2953 .elementor-element.elementor-element-5432ebb{--width:60%;}.elementor-2953 .elementor-element.elementor-element-1ba4a0f{--width:40%;}.elementor-2953 .elementor-element.elementor-element-f38a669{--width:65%;}.elementor-2953 .elementor-element.elementor-element-109bb81{--width:32%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2953 .elementor-element.elementor-element-5432ebb{--width:100%;}.elementor-2953 .elementor-element.elementor-element-1ba4a0f{--width:100%;}.elementor-2953 .elementor-element.elementor-element-f38a669{--width:100%;}.elementor-2953 .elementor-element.elementor-element-109bb81{--width:100%;}}/* Start custom CSS for wp-widget-categories, class: .elementor-element-9aa1f16 */.elementor-2953 .elementor-element.elementor-element-9aa1f16 h5 {
    display: none;
}

.elementor-2953 .elementor-element.elementor-element-9aa1f16 ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.elementor-2953 .elementor-element.elementor-element-9aa1f16 ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 30px;
    border-radius: 5px;
    background: var(--e-global-color-2f9bd7e);
    font-size: 14px;
    font-weight: 500;
    color: var(--e-global-color-d4ae096);
    height: 40px;
    transition: all 0.3s ease;
}

.elementor-2953 .elementor-element.elementor-element-9aa1f16 ul li a:hover {
    background: var(--e-global-color-secondary);
    color: white;
}/* End custom CSS */
/* Start custom CSS for contact-form-7, class: .elementor-element-a662991 */.elementor-2953 .elementor-element.elementor-element-a662991 p {
    margin: 0;
    display: flex;
}

/* Estilos generales para el formulario */
.elementor-2953 .elementor-element.elementor-element-a662991 .cf7-grid {
  max-width: 600px; /* Ajusta según sea necesario */
  margin: 0 auto;
}

.elementor-2953 .elementor-element.elementor-element-a662991 .form-row {
    display: flex;
    gap: 10px;
}

@media (max-width: 767px) {
    .elementor-2953 .elementor-element.elementor-element-a662991 .cf7-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .elementor-2953 .elementor-element.elementor-element-a662991 .form-row {
        flex-direction: column;
        gap: 10px;
    }
    .elementor-2953 .elementor-element.elementor-element-a662991 .form-row .cf7-field {
        margin: 0 !important;
    }
    .elementor-2953 .elementor-element.elementor-element-a662991 .wpcf7-submit {
        width: 100%;
    }
    .elementor-2953 .elementor-element.elementor-element-a662991 .wpcf7-list-item-label {
        padding-left: 26px;
        font-size: 14px;
    }
}

/* Contenedor de cada campo */
.cf7-field {
  position: relative;
  margin-bottom: 8px;
  width: 100%;
}

/* Estilo para los inputs y textarea */
.cf7-input {
  width: 100%;
  padding: 14px 14px 4px 14px !important;
  font-size: 16px;
  border: 1px solid #BDBDBD !important;
  border-radius: 5px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
  min-height: 54px;
}

.cf7-input:focus {
  border-color: #0041a8;
  outline: none;
}

/* Estilo para las etiquetas */
.cf7-field label {
  position: absolute;
  top: 18px; /* Ajusta según el padding del input */
  left: 10px;
  font-size: 16px;
  color: #777;
  background-color: white; /* Para que el label no tape el borde del input */
  padding: 0 5px;
  transition: all 0.3s ease;
  pointer-events: none; /* Evita que el label interfiera con el input */
}

/* Estilos cuando el campo está enfocado o tiene valor */
.cf7-field.is-focused label,
.cf7-field.has-value label {
  top: 6px; /* Mueve el label hacia arriba */
  font-size: 12px;
  color: var(--e-global-color-secondary);
  background-color: transparent;
}

/* Ajuste para el campo de fecha, que podría tener un comportamiento diferente */
.cf7-field .wpcf7-date {
  /* Puedes añadir estilos específicos si es necesario */
}

/* Estilos para la fila de dos columnas (Correo y Teléfono) */
.cf7-row {
  display: flex;
  gap: 8px;
}

.cf7-row .cf7-field {
  flex: 1;
}

/* Estilos para el texto de campos obligatorios */
.cf7-required {
  font-size: 12px;
  color: #333;
  margin-top: 10px;
}

.cf7-terms a {
  color: #f59e0b;
  text-decoration: none;
}

.cf7-terms a:hover {
  text-decoration: underline;
}

/* Estilos para el botón de enviar */
.cf7-submit input[type="submit"] {
  background-color: #001e60;
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

.cf7-submit input[type="submit"]:hover {
  background-color: #003399;
}

.wpcf7-not-valid-tip {
    font-size: 13px;
    line-height: 1.1;
    background: #ffe3e3;
    padding: 4px 10px;
}

.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Estilo para que el label del campo de fecha siempre flote */
.cf7-field:has(.wpcf7-date) label {
  position: absolute;
  top: 6px;
  left: 10px;
  font-size: 12px;
  color: #0041a8;
  background-color: white;
  padding: 0 5px;
  transition: none;
  pointer-events: none;
}



/* ---------- FIX checkbox de aceptación ---------- */

/* Oculta el checkbox nativo */
.wpcf7-acceptance input[type='checkbox']{
    position:absolute;
    opacity:0;
    cursor:pointer;
    height:0;
    width:0;
}

/* Texto del checkbox (hermano inmediato del input) */
.wpcf7-acceptance .wpcf7-list-item-label {
    position:relative;
    padding-left:30px;
    cursor:pointer;
    font-size:14px;
    line-height:18px;
    display:inline-flex;
    align-items:center;
    gap: 2px;
}

.wpcf7-acceptance .wpcf7-list-item-label a {
    text-decoration: underline;
    font-weight: 600;
    color: var(--e-global-color-secondary);
    transition: all 0.3s ease;
}

.wpcf7-acceptance .wpcf7-list-item-label a:hover {
    color: var(--e-global-color-accent);
}

/* Cajita blanca */
.wpcf7-acceptance .wpcf7-list-item-label::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:18px;
    height:18px;
    border:2px solid #BDBDBD;
    border-radius:4px;
    background:#fff;
    transition:.2s;
}

/* Palomita (oculta por defecto) */
.wpcf7-acceptance .wpcf7-list-item-label::after{
    content:'';
    position:absolute;
    left:6px;
    top:2px;
    width:6px;
    height:10px;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(45deg);
    opacity:0;
    transition:.2s;
}

/* Al marcar: caja azul + ✔ visible  */
.wpcf7-acceptance input[type='checkbox']:checked + .wpcf7-list-item-label::before{
    background: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
}

.wpcf7-acceptance input[type='checkbox']:checked + .wpcf7-list-item-label::after{
    opacity:1;
}

/* Elimina márgenes extra de cada item (por si CF7 los añade) */
.wpcf7-list-item{margin:0;}

.wpcf7-submit {
    font-family: "Inter", Sans-Serif !important;
    padding: 16px 35px !important;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wpcf7-submit {
    border-radius: 5px !important;
}

.wpcf7-submit:hover {
    background: var(--e-global-color-d4ae096);
    color: white !important;
}

.wpcf7-spinner {
    display: none;
}

.elementor-2953 .elementor-element.elementor-element-a662991 textarea {
    height: 90px;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-b3c4260 */.elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination {
    display: flex;
    justify-content: center;
}

.elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination .page-numbers {
    display: flex;
    width: 48px;
    height: 48px;
    background: var(--e-global-color-2f9bd7e);
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    color: var(--e-global-color-secondary);
}

.elementor-2953 .elementor-element.elementor-element-b3c4260 .elementor-pagination .page-numbers:not(.current):hover {
    background: #d8d8d8;
}

.elementor-2953 .elementor-element.elementor-element-b3c4260 .page-numbers.current {
    background: var(--e-global-color-secondary);
    color: white;
}/* End custom CSS */