.elementor-widget-container .mas-swiper-arrows .elementor-button-link{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-725 .elementor-element.elementor-element-efe2317{--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:center;}.elementor-725 .elementor-element.elementor-element-3cf7310{--spacer-size:30px;}.elementor-725 .elementor-element.elementor-element-16b8bb8{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-725 .elementor-element.elementor-element-16b8bb8.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-725 .elementor-element.elementor-element-2327b81{--spacer-size:30px;}.elementor-widget-section .mas-swiper-arrows .elementor-button-link{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-725 .elementor-element.elementor-element-70b5516{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;align-self:flex-start;}.elementor-725 .elementor-element.elementor-element-70b5516 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-725 .elementor-element.elementor-element-0c02463 > .elementor-element-populated{margin:0% 0% 0% 3%;--e-column-margin-right:0%;--e-column-margin-left:3%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-725 .elementor-element.elementor-element-695962e{--spacer-size:25px;}.elementor-725 .elementor-element.elementor-element-fcd20c6{text-align:center;}.elementor-725 .elementor-element.elementor-element-fcd20c6 .elementor-heading-title{font-family:"Rubik 80s Fade", Sans-serif;font-size:0.9em;font-weight:600;}.elementor-725 .elementor-element.elementor-element-4429aef{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-725 .elementor-element.elementor-element-b1d2ff2{--display:flex;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-725 .elementor-element.elementor-element-9e43eb2{text-align:center;}.elementor-725 .elementor-element.elementor-element-9e43eb2 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:0.9em;font-weight:400;text-transform:none;color:#000000;}.elementor-widget-jet-smart-filters-select .apply-filters__button, .elementor-widget-jet-smart-filters-select .jet-filter-items-dropdown__apply-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-smart-filters-select.jet-filter{display:block;}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-smart-filters-hierarchy.jet-filter .jet-select{display:block;}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-filters-group{display:flex;flex-direction:column;margin-top:calc(-10px/2);margin-bottom:calc(-10px/2);}.elementor-725 .elementor-element.elementor-element-dbd1237{width:auto;max-width:auto;}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-smart-filters-select.jet-filter .jet-select{max-width:100%;flex-basis:100%;}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-smart-filters-hierarchy.jet-filter .jet-select__control{max-width:100%;flex-basis:100%;}.elementor-725 .elementor-element.elementor-element-dbd1237 .apply-filters__button{padding:0px 0px 0px 0px;}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-filter-items-dropdown__apply-button{padding:0px 0px 0px 0px;}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-filters-group .jet-filter{margin-top:calc(10px/2);margin-bottom:calc(10px/2);}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-filter .jet-filters-group{margin-top:calc(-10px/2);margin-bottom:calc(-10px/2);}.elementor-725 .elementor-element.elementor-element-dbd1237 .jet-filter .jet-filters-group .jet-select{margin-top:calc(10px/2);margin-bottom:calc(10px/2);}.elementor-725 .elementor-element.elementor-element-d7c2a9f{--display:flex;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-725 .elementor-element.elementor-element-899108f{text-align:center;}.elementor-725 .elementor-element.elementor-element-899108f .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:0.9em;font-weight:400;text-transform:none;color:#000000;}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-smart-filters-select.jet-filter{display:block;}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-smart-filters-hierarchy.jet-filter .jet-select{display:block;}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-filters-group{display:flex;flex-direction:column;margin-top:calc(-10px/2);margin-bottom:calc(-10px/2);}.elementor-725 .elementor-element.elementor-element-51fa339{width:auto;max-width:auto;}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-smart-filters-select.jet-filter .jet-select{max-width:100%;flex-basis:100%;}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-smart-filters-hierarchy.jet-filter .jet-select__control{max-width:100%;flex-basis:100%;}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-filters-group .jet-filter{margin-top:calc(10px/2);margin-bottom:calc(10px/2);}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-filter .jet-filters-group{margin-top:calc(-10px/2);margin-bottom:calc(-10px/2);}.elementor-725 .elementor-element.elementor-element-51fa339 .jet-filter .jet-filters-group .jet-select{margin-top:calc(10px/2);margin-bottom:calc(10px/2);}.elementor-725 .elementor-element.elementor-element-78bb8e0{--display:flex;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-725 .elementor-element.elementor-element-1423b84{text-align:center;}.elementor-725 .elementor-element.elementor-element-1423b84 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:0.9em;font-weight:400;text-transform:none;color:#000000;}.elementor-widget-jet-smart-filters-date-period .apply-filters__button, .elementor-widget-jet-smart-filters-date-period .jet-filter-items-dropdown__apply-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-725 .elementor-element.elementor-element-fece646 .jet-date-period__wrapper{justify-content:flex-start;}.elementor-725 .elementor-element.elementor-element-fece646 .jet-date-period__prev{margin-right:5px;}.elementor-725 .elementor-element.elementor-element-fece646 .jet-date-period__next{margin-left:5px;}.rtl .elementor-725 .elementor-element.elementor-element-fece646 .jet-date-period__prev{margin-left:5px;margin-right:0;}.rtl .elementor-725 .elementor-element.elementor-element-fece646 .jet-date-period__next{margin-right:5px;margin-left:0;}#datepickers-container .jet-date-period-fece646{margin-top:4px;margin-left:-68px;width:300px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-725 .elementor-element.elementor-element-55bbe4b{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-725 .elementor-element.elementor-element-55bbe4b .elementor-divider-separator{width:100%;}.elementor-725 .elementor-element.elementor-element-55bbe4b .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-725 .elementor-element.elementor-element-d7b1bbc > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items, .elementor-725 .elementor-element.elementor-element-d7b1bbc > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-725 .elementor-element.elementor-element-d7b1bbc{width:100%;max-width:100%;}.elementor-725 .elementor-element.elementor-element-a6ff6f2{--spacer-size:87px;}@media(max-width:1024px){.elementor-725 .elementor-element.elementor-element-4429aef{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-725 .elementor-element.elementor-element-16b8bb8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-725 .elementor-element.elementor-element-4429aef{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-725 .elementor-element.elementor-element-d365090{width:20%;}.elementor-725 .elementor-element.elementor-element-0c02463{width:80%;}}/* Start custom CSS for shortcode, class: .elementor-element-16b8bb8 *//* ======================================================================
   CÓDIGO CSS COMPLETO: DISEÑO FINAL Y ALTURA UNIFORME (VERSIÓN COMPACTA TOTAL)
   ====================================================================== */

/* --- 1. Contenedores Principales y Altura Uniforme (Flexbox) --- */
.cards-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: stretch;
  
  /* CLAVE: Vuelve a centrar los ítems dentro de este contenedor (no el contenedor en sí) */
  justify-content: center; 
}

.card-container {
  flex: 1 1 200px;
  max-width: 240px;
  display: flex;
}

.card-link-wrapper {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    width: 100%;
    cursor: pointer;
}

/* --- 2. Tarjeta Base y Efectos de Sombra/Hover --- */
.card {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-link-wrapper:hover .card {
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(37, 99, 235, 0.25);
  border-color: rgba(37, 99, 235, 0.5);
  
}

/* --- 3. Área Superior (Header: Icono y Título) --- */
.card-header {
  padding: 2rem 0.8rem 0.8rem;
  background-color: #ffffff;
  position: relative;
  z-index: 2;
  border-bottom: 1px solid #f0f4f8;
  text-align: center;
  flex-shrink: 0;
}

/* Contenido interno del Header */
.card-icon-wrapper {
  position: relative;
  width: 60px;
  height: 60px;
  margin: 0 auto 0.8rem;
  
}

.card-icon-main {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #48709f;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 10;
  transition: transform 0.3s ease;
}

.card-icon-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #2563eb;
  opacity: 0.1;
  transition: opacity 0.3s ease;
}

.card-link-wrapper:hover .card-icon-main {
  transform: translate(-50%, -50%) scale(1.05);
  background: #0062a7;
}
.card-link-wrapper:hover .card-icon-ring {
  opacity: 0.2;
}

/* Título de la Tarjeta (H4) */
.card-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
    margin: 0;
    min-height: calc(1.1rem * 1.2 * 2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
}

.card-link-wrapper:hover .card-title {
  color: #0062a7;
}

/* --- 4. Área Inferior (Footer: Estatus y Actualización) --- */
.card-footer {
    flex-grow: 1;
    position: relative;
    padding: 0.8rem 0.8rem;
    z-index: 1;
    color: #ffffff;
    text-align: center;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Patrón y color de fondo del Footer */
.card-footer-pattern {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background-color: #48709f;
  background-image:
    linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.05) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.05) 75%);
  background-size: 8px 8px;
  z-index: -1;
  transition: background-color 0.3s ease;
}
.card-link-wrapper:hover .card-footer-pattern { background-color: #0062a7; }

/* Contenido del Estatus y Actualización */
.card-status-info { text-align: center; width: 100%; }
.card-status-info p, .card-update-date, .card-update-label { margin: 0; }
.card-status-info .ok { color: #22c55e; font-weight: 700; font-size: 0.9rem; display: block; margin-bottom: 0.4rem; }
.card-link-wrapper:hover .card-status-info .ok { color: white; }
.card-status-info .ok i { margin-right: 0.3rem; }
.card-update-label { color: #d1d5db; font-weight: 500; font-size: 0.8rem; line-height: 1.2; display: block; }
.card-update-label i { margin-right: 0.2rem; }
.card-update-date { display: block; font-size: 1rem; font-weight: 800; color: #ffffff; line-height: 1.3; margin-top: 0.1rem; }

/* ======================================================================
   ESTILO FINAL: TARJETA SELECCIONADA (CURRENT PAGE) - DISEÑO 4 (Cinta/Etiqueta)
   ====================================================================== */

/* 1. MOVER, ANCHAR AL 70% Y CENTRAR (SOLO ESTA TARJETA) */
.card-container.current-page-card {
    order: 100;
    
    /* CLAVE: Ocupa el 70% del ancho del contenedor padre */
    flex: 0 0 85%; 
    max-width: 90%;
    
    /* CLAVE: Centrado horizontal y margen superior */
    margin: 1.5rem auto 0 auto; 
}

/* 2. ESTILO DE DESTACADO (Efecto Cinta/Etiqueta) */
.card-container.current-page-card .card {
    background: #ffffff;
    border: 1px solid #c3dafe;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: none;
    flex-direction: row;
    padding: 0;
    align-items: stretch;
}

/* 3. AJUSTES DEL HEADER (Icono y Título) - La "Cinta" */
.card-container.current-page-card .card-header {
    flex-shrink: 0;
    flex-basis: 65%; 
    display: flex;
    align-items: center;
    padding: 0.8rem 1rem;
    border-bottom: none;
    text-align: left;
    background: #eff6ff;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.05);
    border-right: 1px solid #c3dafe;
}

/* Icono: Pequeño y a la izquierda */
.card-container.current-page-card .card-icon-wrapper {
    width: 35px; 
    height: 35px;
    margin: 0;
    margin-right: 0.8rem; 
    flex-shrink: 0;
}
.card-container.current-page-card .card-icon-main {
    width: 30px; 
    height: 30px; 
    font-size: 1.2rem; 
    box-shadow: none;
    background-color: #48709f;
    color: #ffffff;
}
.card-container.current-page-card .card-icon-ring {
    display: none !important;
}

/* Título: Color primario */
.card-container.current-page-card .card-title {
    font-size: 1.3rem; 
    font-weight: 800;
    color: #48709f;
    min-height: auto;
    align-items: center;
    justify-content: flex-start;
    flex-grow: 1;
}

/* 4. AJUSTES DEL FOOTER (Fecha de Actualización) - Sección limpia */
.card-container.current-page-card .card-footer {
    flex-grow: 1; 
    flex-basis: 35%; 
    min-height: auto;
    padding: 0.8rem 1rem; 
    background: #ffffff;
    display: flex;
    flex-direction: column; 
    justify-content: center;
    align-items: flex-end; 
    text-align: right;
}

.card-container.current-page-card .card-footer-pattern { display: none !important; }

/* Estatus: Estatus sobre blanco */
.card-container.current-page-card .card-status-info .ok {
    color: #10b981; 
    margin-bottom: 0.2rem;
}

/* Etiqueta y Fecha: Texto oscuro */
.card-container.current-page-card .card-update-label {
    color: #64748b; 
    font-weight: 500;
    font-size: 0.85rem; 
}

.card-container.current-page-card .card-update-date {
    font-size: 1rem; 
    font-weight: 700;
    color: #1e293b;
}

/* ======================================================================
   AJUSTES RESPONSIVOS (MÓVILES): Tarjeta Seleccionada
   ====================================================================== */

@media (max-width: 600px) {
    
    /* CRÍTICO: El contenedor principal debe volver a ocupar el 100% en móvil */
    .cards-wrapper {
        width: 100%; 
        padding: 0 1rem;
    }
    
    .card-container {
        flex: 1 1 100%; 
        max-width: 100%;
    }

    /* CLAVE: La tarjeta activa debe volver al 100% de ancho en móvil y anular el margin: auto */
    .card-container.current-page-card {
        flex: 0 0 100%;
        max-width: 100%;
        /* Importante: Revertir margin: auto para que ocupe todo el ancho */
        margin: 1.5rem 0 0 0; 
    }
    
    /* 1. La tarjeta destacada pasa de fila (row) a columna (column) */
    .card-container.current-page-card .card {
        flex-direction: column;
        padding: 0;
    }

    /* 2. El Header (Icono/Título) ocupa el 100% y se centra */
    .card-container.current-page-card .card-header {
        flex-basis: 100%;
        text-align: center;
        border-right: none;
        border-bottom: 1px solid #c3dafe;
        justify-content: center;
        padding: 1rem 1rem;
    }
    .card-container.current-page-card .card-icon-wrapper {
        margin: 0 auto 0.8rem;
    }
    .card-container.current-page-card .card-title {
        justify-content: center;
        font-size: 1.2rem;
    }
    
    /* 3. El Footer (Fecha/Estatus) ocupa el 100% y se centra */
    .card-container.current-page-card .card-footer {
        flex-basis: 100%;
        padding: 1rem 1rem;
        border-left: none;
        align-items: center;
        text-align: center;
    }

    .card-container.current-page-card .card-status-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .card-container.current-page-card .card-update-label,
    .card-container.current-page-card .card-update-date {
        display: block;
    }
    
    .card-container.current-page-card .card-status {
        margin-right: 0;
        margin-bottom: 0.5rem;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-70b5516 *//* ======================================================================
   CÓDIGO CSS COMPLETO Y MEJORADO (SIN VARIABLES CSS)
   ====================================================================== */


/* ======================================================================
   ESTILOS PARA ÍNDICE ACORDEÓN MEJORADO (Hijos)
   ====================================================================== */

.indice-acordeon-wrapper { 
    padding: 15px;
    max-width: 350px; 
    border-radius: 12px;
    background-color: #f7f9fc; 
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.05);
}

/* --- TÍTULO DEL PADRE --- */
.indice-padre-titulo {
    padding: 10px 0; /* Ajuste para centrar visualmente con el índice */
    margin-bottom: 8px; 
    border-bottom: 2px solid #e0e7ff; 
}

.indice-padre-titulo h3 {
    font-size: 1.25rem; 
    font-weight: 700;
    color: #1e293b; 
    margin: 0;
    padding: 0;
    line-height: 1.2;
}
/* -------------------------- */


.indice-menu { 
    list-style: none; 
    padding-left: 0; 
    font-family: inherit; 
    margin: 0; 
    font-size: 0.95rem;
}
.indice-menu li { 
    margin: 0; 
    padding: 0;
    line-height: 1.5;
}

/* Estilo para los subniveles */
.indice-menu ul { 
    display: none; 
    margin-left: 15px; 
    padding-left: 10px; 
    border-left: 2px solid rgba(0, 0, 0, 0.08); 
    transition: all 0.3s ease; 
    overflow: hidden;
}

/* Estilo Base de los Ítems (Toggle y Enlace Final) */
.indice-toggle,
.indice-final { 
    display: block; 
    padding: 8px 10px; 
    border-radius: 6px; 
    transition: all 0.2s ease; 
    white-space: normal;
    text-decoration: none;
    cursor: pointer;
    color: #333333; /* Color de texto base */
}

/* Toggle (Elementos con hijos) */
.indice-toggle { 
    font-weight: 600; 
    user-select: none; 
    position: relative;
}
.indice-toggle:hover { 
    background: #e0e7ff; 
    color: #2563eb; 
}

/* Enlace Final (Hijos sin nietos) */
.indice-final { 
    color: #1e40af; 
    font-weight: 400;
}
.indice-final:hover { 
    background: #e9e9f0; 
    color: #005177; 
}


/* Elemento ACTIVO (Página actual) */
.indice-toggle.activo,
.indice-final.activo { 
    font-weight: 700 !important; 
    color: #ffffff !important; 
    background: #2563eb !important; 
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.4);
}

/* ------------------ 5. Responsive ------------------- */
@media (max-width: 768px) {
    .card-container {
        flex: 1 1 100%; 
        max-width: 100%;
    }
    .card-link-wrapper:hover .card {
        transform: none; 
    }
    /* Restaura los estilos de hover para evitar animaciones exageradas en móvil */
    .card-link-wrapper:hover .card-icon-main {
        transform: translate(-50%, -50%); 
        background: linear-gradient(135deg, #38424b, #2c343b); 
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    }
    .card-link-wrapper:hover .card-icon-ring {
        transform: translate(-50%, -50%);
        opacity: 0.15;
    }
    .card-link-wrapper:hover .card-title {
        color: #1e293b;
        text-shadow: none;
    }
}/* End custom CSS */