.elementor-2408 .elementor-element.elementor-element-245777c{--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-2408 .elementor-element.elementor-element-72e6818{--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-2408 .elementor-element.elementor-element-72e6818:not(.elementor-motion-effects-element-type-background), .elementor-2408 .elementor-element.elementor-element-72e6818 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2f9bd7e );}.elementor-2408 .elementor-element.elementor-element-b24e8cb{--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-2408 .elementor-element.elementor-element-1141004{text-align:left;}.elementor-2408 .elementor-element.elementor-element-1141004 .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-2408 .elementor-element.elementor-element-2cd09f3 > .elementor-widget-container{margin:0px 0px 16px 0px;}.elementor-2408 .elementor-element.elementor-element-2cd09f3 .elementor-heading-title{font-size:58px;font-weight:300;color:var( --e-global-color-primary );}.elementor-2408 .elementor-element.elementor-element-f313bcb{--display:flex;--justify-content:center;}.elementor-2408 .elementor-element.elementor-element-83a06ed > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2408 .elementor-element.elementor-element-5c9a5b9{--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-2408 .elementor-element.elementor-element-4788543{--grid-columns:1;}.elementor-2408 .elementor-element.elementor-element-15df855{--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-2408 .elementor-element.elementor-element-a07aef2{--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-2408 .elementor-element.elementor-element-cc92837{--display:flex;}.elementor-2408 .elementor-element.elementor-element-3bd793c{--grid-columns:2;--grid-row-gap:60px;--grid-column-gap:20px;}.elementor-2408 .elementor-element.elementor-element-e0268fb{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-2408 .elementor-element.elementor-element-6f3e76c{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2408 .elementor-element.elementor-element-cc1f9f4 .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-2408 .elementor-element.elementor-element-2863d57{--divider-border-style:solid;--divider-color:#1E1E1E1A;--divider-border-width:1px;}.elementor-2408 .elementor-element.elementor-element-2863d57 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2408 .elementor-element.elementor-element-2863d57 .elementor-divider-separator{width:100%;}.elementor-2408 .elementor-element.elementor-element-2863d57 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-2408 .elementor-element.elementor-element-ca3cf06 .e-search-input{border-radius:10px 10px 10px 10px;}.elementor-2408 .elementor-element.elementor-element-86775ac{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2408 .elementor-element.elementor-element-aeab716 .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-2408 .elementor-element.elementor-element-3e05e02{--divider-border-style:solid;--divider-color:#1E1E1E1A;--divider-border-width:1px;}.elementor-2408 .elementor-element.elementor-element-3e05e02 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2408 .elementor-element.elementor-element-3e05e02 .elementor-divider-separator{width:100%;}.elementor-2408 .elementor-element.elementor-element-3e05e02 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-2408 .elementor-element.elementor-element-777463a{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2408 .elementor-element.elementor-element-333e890 .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-2408 .elementor-element.elementor-element-5d691e3{--divider-border-style:solid;--divider-color:#1E1E1E1A;--divider-border-width:1px;}.elementor-2408 .elementor-element.elementor-element-5d691e3 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2408 .elementor-element.elementor-element-5d691e3 .elementor-divider-separator{width:100%;}.elementor-2408 .elementor-element.elementor-element-5d691e3 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-2408 .elementor-element.elementor-element-e66e1cc{--grid-columns:1;--grid-row-gap:15px;--grid-column-gap:15px;}.elementor-2408 .elementor-element.elementor-element-b991631{--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-2408 .elementor-element.elementor-element-04bebb4{--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-2408 .elementor-element.elementor-element-04bebb4:not(.elementor-motion-effects-element-type-background), .elementor-2408 .elementor-element.elementor-element-04bebb4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2f9bd7e );}.elementor-2408 .elementor-element.elementor-element-ff55c2f{width:100%;max-width:100%;}.elementor-2408 .elementor-element.elementor-element-ff55c2f .elementor-heading-title{font-size:30px;line-height:1.3em;}.elementor-2408 .elementor-element.elementor-element-ff55c2f .elementor-heading-title a:hover, .elementor-2408 .elementor-element.elementor-element-ff55c2f .elementor-heading-title a:focus{color:var( --e-global-color-b8750fa );}.elementor-2408 .elementor-element.elementor-element-ff55c2f .elementor-heading-title a{transition-duration:0.3s;}.elementor-2408 .elementor-element.elementor-element-624121f{--display:flex;}.elementor-2408 .elementor-element.elementor-element-44104d3 .wpcf7 span.wpcf7-not-valid-tip{text-align:left;display:block;}.elementor-2408 .elementor-element.elementor-element-44104d3 .wpcf7 div.wpcf7-response-output{text-align:left;}.elementor-2408 .elementor-element.elementor-element-0bb12ad{--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-2408 .elementor-element.elementor-element-5239ab1{--display:flex;--padding-top:30px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-2408 .elementor-element.elementor-element-cbfafca{--grid-columns:3;--grid-row-gap:50px;--grid-column-gap:20px;}.elementor-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination{text-align:center;margin-top:50px;}body:not(.rtl) .elementor-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1024px){.elementor-2408 .elementor-element.elementor-element-72e6818{--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-2408 .elementor-element.elementor-element-2cd09f3 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2408 .elementor-element.elementor-element-2cd09f3 .elementor-heading-title{font-size:48px;}.elementor-2408 .elementor-element.elementor-element-4788543{--grid-columns:1;}.elementor-2408 .elementor-element.elementor-element-a07aef2{--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-2408 .elementor-element.elementor-element-3bd793c{--grid-columns:2;}.elementor-2408 .elementor-element.elementor-element-e66e1cc{--grid-columns:2;}.elementor-2408 .elementor-element.elementor-element-04bebb4{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-2408 .elementor-element.elementor-element-cbfafca{--grid-columns:2;}}@media(max-width:767px){.elementor-2408 .elementor-element.elementor-element-245777c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2408 .elementor-element.elementor-element-72e6818{--border-radius:0px 0px 20px 20px;}.elementor-2408 .elementor-element.elementor-element-2cd09f3 .elementor-heading-title{font-size:36px;}.elementor-2408 .elementor-element.elementor-element-4788543{--grid-columns:1;}.elementor-2408 .elementor-element.elementor-element-a07aef2{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2408 .elementor-element.elementor-element-3bd793c{--grid-columns:1;--grid-row-gap:40px;}.elementor-2408 .elementor-element.elementor-element-e66e1cc{--grid-columns:1;}.elementor-2408 .elementor-element.elementor-element-04bebb4{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-2408 .elementor-element.elementor-element-ff55c2f .elementor-heading-title{font-size:20px;line-height:1.2em;}.elementor-2408 .elementor-element.elementor-element-5239ab1{--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-2408 .elementor-element.elementor-element-cbfafca{--grid-columns:1;--grid-row-gap:40px;}}@media(min-width:768px){.elementor-2408 .elementor-element.elementor-element-b24e8cb{--width:60%;}.elementor-2408 .elementor-element.elementor-element-f313bcb{--width:40%;}.elementor-2408 .elementor-element.elementor-element-cc92837{--width:65%;}.elementor-2408 .elementor-element.elementor-element-e0268fb{--width:32%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2408 .elementor-element.elementor-element-b24e8cb{--width:100%;}.elementor-2408 .elementor-element.elementor-element-f313bcb{--width:100%;}.elementor-2408 .elementor-element.elementor-element-cc92837{--width:100%;}.elementor-2408 .elementor-element.elementor-element-e0268fb{--width:100%;}}/* Start custom CSS for wp-widget-categories, class: .elementor-element-25d6cc1 */.elementor-2408 .elementor-element.elementor-element-25d6cc1 h5 {
    display: none;
}

.elementor-2408 .elementor-element.elementor-element-25d6cc1 ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.elementor-2408 .elementor-element.elementor-element-25d6cc1 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-2408 .elementor-element.elementor-element-25d6cc1 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-44104d3 */.elementor-2408 .elementor-element.elementor-element-44104d3 p {
    margin: 0;
    display: flex;
}

/* Estilos generales para el formulario */
.elementor-2408 .elementor-element.elementor-element-44104d3 .cf7-grid {
  max-width: 600px; /* Ajusta según sea necesario */
  margin: 0 auto;
}

.elementor-2408 .elementor-element.elementor-element-44104d3 .form-row {
    display: flex;
    gap: 10px;
}

@media (max-width: 767px) {
    .elementor-2408 .elementor-element.elementor-element-44104d3 .cf7-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .elementor-2408 .elementor-element.elementor-element-44104d3 .form-row {
        flex-direction: column;
        gap: 10px;
    }
    .elementor-2408 .elementor-element.elementor-element-44104d3 .form-row .cf7-field {
        margin: 0 !important;
    }
    .elementor-2408 .elementor-element.elementor-element-44104d3 .wpcf7-submit {
        width: 100%;
    }
    .elementor-2408 .elementor-element.elementor-element-44104d3 .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-2408 .elementor-element.elementor-element-44104d3 textarea {
    height: 90px;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-cbfafca */.elementor-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination {
    display: flex;
    justify-content: center;
}

.elementor-2408 .elementor-element.elementor-element-cbfafca .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-2408 .elementor-element.elementor-element-cbfafca .elementor-pagination .page-numbers:not(.current):hover {
    background: #d8d8d8;
}

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