.elementor-379 .elementor-element.elementor-element-57db5f2{--display:flex;}.elementor-379 .elementor-element.elementor-element-e6d7425 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-379 .elementor-element.elementor-element-54f3a50{--display:flex;--padding-top:2%;--padding-bottom:2%;--padding-left:0%;--padding-right:0%;}.elementor-379 .elementor-element.elementor-element-81e84c4{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-379 .elementor-element.elementor-element-3d0d223{--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;--justify-content:center;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-379 .elementor-element.elementor-element-11db4b8{--divider-border-style:solid;--divider-color:#F85405;--divider-border-width:2px;width:auto;max-width:auto;}.elementor-379 .elementor-element.elementor-element-11db4b8 .elementor-divider-separator{width:100%;}.elementor-379 .elementor-element.elementor-element-11db4b8 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-379 .elementor-element.elementor-element-b42e0a2{width:auto;max-width:auto;text-align:center;}.elementor-379 .elementor-element.elementor-element-b42e0a2 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:30px;font-weight:800;color:var( --e-global-color-primary );}.elementor-379 .elementor-element.elementor-element-53df4eb{--divider-border-style:solid;--divider-color:#F85405;--divider-border-width:2px;width:auto;max-width:auto;}.elementor-379 .elementor-element.elementor-element-53df4eb .elementor-divider-separator{width:100%;}.elementor-379 .elementor-element.elementor-element-53df4eb .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-379 .elementor-element.elementor-element-f08ee54.elementor-element{--align-self:center;}.elementor-379 .elementor-element.elementor-element-f08ee54{text-align:center;}.elementor-379 .elementor-element.elementor-element-f08ee54 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:16px;line-height:24px;color:var( --e-global-color-44a57ff );}.elementor-379 .elementor-element.elementor-element-93972a6{--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;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-379 .elementor-element.elementor-element-93972a6:not(.elementor-motion-effects-element-type-background), .elementor-379 .elementor-element.elementor-element-93972a6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-379 .elementor-element.elementor-element-0910e29{--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-radius:20px 20px 20px 20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-379 .elementor-element.elementor-element-0910e29:not(.elementor-motion-effects-element-type-background), .elementor-379 .elementor-element.elementor-element-0910e29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F54D;}.elementor-379 .elementor-element.elementor-element-94a8bce .e-search-input{background-color:var( --e-global-color-5da9167 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-text );border-radius:5px 5px 5px 5px;}.elementor-379 .elementor-element.elementor-element-0b0ca72{--display:flex;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-text );--border-color:var( --e-global-color-text );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px -27px rgba(78.12608695652173, 177.52595463138, 237.99999999999997, 0.5);}.elementor-379 .elementor-element.elementor-element-0b0ca72:not(.elementor-motion-effects-element-type-background), .elementor-379 .elementor-element.elementor-element-0b0ca72 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5da9167 );}.elementor-379 .elementor-element.elementor-element-0b0ca72.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-379 .elementor-element.elementor-element-a38bc08 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;color:var( --e-global-color-text );}.elementor-379 .elementor-element.elementor-element-e72fc23{--e-filter-direction:column;--e-filter-white-space:initial;--e-filter-align-items:flex-start;--e-filter-item-width:initial;--e-filter-item-max-width:calc(100% - calc(var( --e-filter-item-padding )*3 ) );--e-filter-item-flex-grow:initial;--e-filter-item-box-sizing:initial;--e-filter-item-align-text:start;--e-filter-space-between:2px;--e-filter-hover-text-color:var( --e-global-color-secondary );--e-filter-active-text-color:var( --e-global-color-secondary );}.elementor-379 .elementor-element.elementor-element-62993a8{--display:flex;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-text );--border-color:var( --e-global-color-text );--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px -27px rgba(78.12608695652173, 177.52595463138, 237.99999999999997, 0.5);}.elementor-379 .elementor-element.elementor-element-62993a8:not(.elementor-motion-effects-element-type-background), .elementor-379 .elementor-element.elementor-element-62993a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5da9167 );}.elementor-379 .elementor-element.elementor-element-62993a8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-379 .elementor-element.elementor-element-7235b56 .elementor-heading-title{font-size:1.1em;font-weight:700;text-transform:uppercase;color:var( --e-global-color-text );}.elementor-379 .elementor-element.elementor-element-7a154ef{--e-filter-direction:column;--e-filter-white-space:initial;--e-filter-align-items:flex-start;--e-filter-item-width:initial;--e-filter-item-max-width:calc(100% - calc(var( --e-filter-item-padding )*3 ) );--e-filter-item-flex-grow:initial;--e-filter-item-box-sizing:initial;--e-filter-item-align-text:start;--e-filter-space-between:2px;--e-filter-hover-text-color:var( --e-global-color-secondary );--e-filter-active-text-color:var( --e-global-color-secondary );}.elementor-379 .elementor-element.elementor-element-e1e1a72{--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-379 .elementor-element.elementor-element-ee9b876{--grid-columns:3;--grid-row-gap:20px;--grid-column-gap:20px;}.elementor-379 .elementor-element.elementor-element-ee9b876 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-379 .elementor-element.elementor-element-ee9b876 .e-loop-item > .elementor-section, .elementor-379 .elementor-element.elementor-element-ee9b876 .e-loop-item > .elementor-section > .elementor-container, .elementor-379 .elementor-element.elementor-element-ee9b876 .e-loop-item > .e-con, .elementor-379 .elementor-element.elementor-element-ee9b876 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-379 .elementor-element.elementor-element-78a07f8{--display:flex;}.elementor-379 .elementor-element.elementor-element-169d040{--display:flex;}@media(min-width:768px){.elementor-379 .elementor-element.elementor-element-93972a6{--content-width:80%;}.elementor-379 .elementor-element.elementor-element-0910e29{--width:25%;}.elementor-379 .elementor-element.elementor-element-0b0ca72{--width:102.627%;}.elementor-379 .elementor-element.elementor-element-62993a8{--width:102.627%;}.elementor-379 .elementor-element.elementor-element-e1e1a72{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-379 .elementor-element.elementor-element-81e84c4{--content-width:80%;}.elementor-379 .elementor-element.elementor-element-93972a6{--content-width:90%;}.elementor-379 .elementor-element.elementor-element-0910e29{--width:30%;}.elementor-379 .elementor-element.elementor-element-e1e1a72{--width:70%;}}@media(max-width:1024px){.elementor-379 .elementor-element.elementor-element-b42e0a2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-379 .elementor-element.elementor-element-93972a6{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-379 .elementor-element.elementor-element-ee9b876{--grid-columns:2;--grid-column-gap:10px;}.elementor-379 .elementor-element.elementor-element-ee9b876 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-379 .elementor-element.elementor-element-54f3a50{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-379 .elementor-element.elementor-element-93972a6{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-379 .elementor-element.elementor-element-ee9b876{--grid-columns:1;}}/* Start custom CSS for taxonomy-filter, class: .elementor-element-e72fc23 *//* 1. Forzar diseño vertical de la lista */
.elementor-379 .elementor-element.elementor-element-e72fc23 .e-filter-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
}

/* 2. Estilo base de cada categoría */
.elementor-379 .elementor-element.elementor-element-e72fc23 .e-filter-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    color: #666666;
    font-size: 16px;
    background: transparent;
    padding: 0;
    border: none;
    cursor: pointer;
}

/* 3. Crear el cuadro vacío del "Checkbox" */
.elementor-379 .elementor-element.elementor-element-e72fc23 .e-filter-item::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    border: 1.5px solid #4557b7;
    border-radius: 4px;
    margin-right: 12px;
    transition: all 0.2s ease-in-out;
    flex-shrink: 0;
}

/* 4. Estilo cuando el filtro está Activo (¡Aquí está la magia!) */
.elementor-379 .elementor-element.elementor-element-e72fc23 .e-filter-item[aria-pressed="true"]::before {
    background-color: #4557b7;
    border-color: #4557b7;
    /* Ícono de checkmark blanco codificado */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}

/* 5. Mantener texto pegado al checkbox y contador a la derecha */
.elementor-379 .elementor-element.elementor-element-e72fc23 .e-filter-item-text {
    text-align: left;
    margin-right: auto;
}/* End custom CSS */
/* Start custom CSS for taxonomy-filter, class: .elementor-element-7a154ef *//* 1. Forzar diseño vertical de la lista */
.elementor-379 .elementor-element.elementor-element-7a154ef .e-filter-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
}

/* 2. Estilo base de cada categoría */
.elementor-379 .elementor-element.elementor-element-7a154ef .e-filter-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    color: #666666;
    font-size: 16px;
    background: transparent;
    padding: 0;
    border: none;
    cursor: pointer;
}

/* 3. Crear el cuadro vacío del "Checkbox" */
.elementor-379 .elementor-element.elementor-element-7a154ef .e-filter-item::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    border: 1.5px solid #4557b7;
    border-radius: 4px;
    margin-right: 12px;
    transition: all 0.2s ease-in-out;
    flex-shrink: 0;
}

/* 4. Estilo cuando el filtro está Activo (¡Aquí está la magia!) */
.elementor-379 .elementor-element.elementor-element-7a154ef .e-filter-item[aria-pressed="true"]::before {
    background-color: #4557b7;
    border-color: #4557b7;
    /* Ícono de checkmark blanco codificado */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}

/* 5. Mantener texto pegado al checkbox y contador a la derecha */
.elementor-379 .elementor-element.elementor-element-7a154ef .e-filter-item-text {
    text-align: left;
    margin-right: auto;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0910e29 *//* =============================================
   CONTENEDOR PRINCIPAL
   ============================================= */
.elementor-element-0910e29 {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-self: flex-start !important;
  height: auto !important;
  min-height: unset !important;
  align-items: stretch !important;
}

/* =============================================
   BUSCADOR - FIX DEFINITIVO ELEMENTOR
   ============================================= */

.elementor-element-94a8bce.elementor-widget-search {
  /* Se restauran las variables para que el contenedor del icono tenga espacio visible */
  --e-search-icon-label-absolute-width: 24px !important;
  --e-search-icon-clear-absolute-width: 24px !important;
}

/* Formulario */
.elementor-element-94a8bce .e-search-form {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  background: #f3f4f6 !important;
  border-radius: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Wrapper */
.elementor-element-94a8bce .e-search-input-wrapper {
  position: relative !important;
  width: 100% !important;
}

/* Input */
.elementor-element-94a8bce .e-search-input {
  width: 100% !important;
  height: 60px !important;
  background: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: 0 1px 5px rgba(19, 50, 101, 0.15) !important;
  padding-left: 22px !important;
  padding-right: 80px !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: #6b7280 !important;
  box-sizing: border-box !important;
}

/* Placeholder */
.elementor-element-94a8bce .e-search-input::placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

/* Lupa */
.elementor-element-94a8bce .e-search-label {
  position: absolute !important;
  right: 28px !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 999 !important;
  pointer-events: none !important;
}

/* SVG (Color cambiado a #F85405) */
.elementor-element-94a8bce .e-search-label svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: #F85405 !important;
}

/* Ocultar X */
.elementor-element-94a8bce .e-fas-times {
  display: none !important;
}

/* Ocultar botón submit (Si tu icono depende de este botón, quita esta regla) */
.elementor-element-94a8bce .e-search-submit {
  display: none !important;
}

/* =============================================
   SECCIONES (Categorías y Modalidad)
   ============================================= */
.elementor-element-0b0ca72,
.elementor-element-62993a8 {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 20px !important;
  border: none !important;
}

/* =============================================
   TÍTULOS DE SECCIÓN
   ============================================= */
.elementor-element-a38bc08 .elementor-heading-title,
.elementor-element-7235b56 .elementor-heading-title {
  font-family: "Lato" !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #133265 !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* Chevron decorativo */
.elementor-element-a38bc08 .elementor-heading-title::after,
.elementor-element-7235b56 .elementor-heading-title::after {
  content: "" !important;
  display: inline-flex !important;
  width: 28px !important;
  height: 28px !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  flex-shrink: 0 !important;
}

/* =============================================
   FILTROS DE TAXONOMÍA
   ============================================= */
.e-filter {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.e-filter-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  color: #374151 !important;
  text-align: left !important;
  line-height: 1.4 !important;
  position: relative !important;
  box-shadow: none !important;
}

/* Checkbox */
.e-filter-item::before {
  content: "" !important;
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid #133265 !important;
  border-radius: 3px !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
  transition: background .15s, border-color .15s !important;
}

/* Estado activo (Fondo y borde cambiados a #F85405) */
.e-filter-item[aria-pressed="true"]::before {
  background: #F85405 !important;
  border-color: #F85405 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 11px !important;
}

.e-filter-item[aria-pressed="true"] {
  color: #111827 !important;
  font-weight: 500 !important;
}

/* Hover (Borde cambiado a #F85405) */
.e-filter-item:hover::before {
  border-color: #F85405 !important;
}

.elementor-element-a38bc08 .elementor-heading-title::after,
.elementor-element-7235b56 .elementor-heading-title::after {
  transition: transform 0.25s ease !important;
}

.elementor-element-a38bc08 .elementor-heading-title.collapsed::after,
.elementor-element-7235b56 .elementor-heading-title.collapsed::after {
  transform: rotate(180deg) !important;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-ee9b876 *//* 1. Forzar comportamiento de rejilla y estirar todas las tarjetas a la misma altura */
.elementor-element-ee9b876 .elementor-loop-container {
    display: grid !important;
}

.elementor-element-ee9b876 .e-loop-item {
    height: 100% !important;
    display: flex !important;
}

/* 2. Estirar estructura interna de cada tarjeta (f93eff9) */
.elementor-element-ee9b876 .elementor-element-f93eff9 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-element-ee9b876 .elementor-element-f93eff9 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}

/* 3. Estirar el contenedor principal de la tarjeta (725ffb5) */
.elementor-element-ee9b876 .elementor-element-725ffb5 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}

/* 4. Forzar que las imágenes tengan la misma altura sin deformarse */
.elementor-element-ee9b876 .elementor-element-b3e5c24 img {
    height: 250px !important; /* Altura idéntica para todas las imágenes */
    width: 100% !important;
    object-fit: cover !important; /* Recorta la imagen sin distorsionarla */
    object-position: center !important;
}

/* 5. Ajustar el contenedor de textos, lista y botón para que consuma el espacio sobrante */
.elementor-element-ee9b876 .elementor-element-ee054dd {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; /* Estira el contenido inferior */
}

/* 6. Asegurar un min-height para los títulos para evitar desalineaciones menores */
.elementor-element-ee9b876 .elementor-element-e04c41f {
    min-height: 48px !important;
    margin-bottom: 10px !important;
}

/* 7. Asegurar un min-height para las descripciones cortas */
.elementor-element-ee9b876 .elementor-element-0dd2113 {
    min-height: 65px !important;
    margin-bottom: 15px !important;
}

/* 8. Fijar y empujar el botón "Más información" hacia la base de la tarjeta */
.elementor-element-ee9b876 .elementor-element-1eb4fdd {
    margin-top: auto !important; /* Empuja el botón al fondo */
    padding-top: 15px !important;
    width: 100% !important;
}/* End custom CSS */