.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-4212 .elementor-element.elementor-element-d1bebfb{--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-4212 .elementor-element.elementor-element-85f2468{--spacer-size:30px;}.elementor-4212 .elementor-element.elementor-element-f33d8d4{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-4212 .elementor-element.elementor-element-f33d8d4.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-4212 .elementor-element.elementor-element-59c5505{--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-4212 .elementor-element.elementor-element-96acf91{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;align-self:flex-start;}.elementor-4212 .elementor-element.elementor-element-96acf91 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-4212 .elementor-element.elementor-element-4fbcc11 > .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-4212 .elementor-element.elementor-element-1c5854c{--spacer-size:19px;}@media(min-width:768px){.elementor-4212 .elementor-element.elementor-element-c742402{width:20%;}.elementor-4212 .elementor-element.elementor-element-4fbcc11{width:80%;}}@media(max-width:767px){.elementor-4212 .elementor-element.elementor-element-f33d8d4{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-f33d8d4 *//* ======================================================================
   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-96acf91 *//* ======================================================================
   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 */
/* Start custom CSS for shortcode, class: .elementor-element-3ed0e96 *//* --- Contenedor principal --- */
.acordeon-archivos {
    margin-top: 30px;
    font-family: "Inter", system-ui, sans-serif;
}

/* Cada grupo de año (Ajuste de la tarjeta) */
.acordeon-item {
    margin-bottom: 15px;
    border-radius: 8px; /* Borde sutil y limpio */
    overflow: hidden;
    /* Sombra base suave, consistente con .seccion-item */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); 
    background: #fff;
    transition: box-shadow 0.3s ease;
}

/* Botón del año (Título del Acordeón) */
.acordeon-titulo {
    width: 100%;
    text-align: left;
    padding: 16px 20px;
    font-size: 1.2em;
    font-weight: 600;
    /* Color de fondo primario: Azul de Acento */
    background: #3498DB;
    color: #fff !important; 
    border: none;
    cursor: pointer;
    transition: background 0.3s ease; /* Quitamos transform en el título para dejarlo solo en hover */
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.acordeon-titulo:hover {
    /* Hover: Un poco más oscuro, pero elegante (Azul Oscuro corporativo) */
    background: #1E293B;
    transform: none; /* Quitamos la elevación en el título para ser más sutil */
}
.acordeon-icono {
    font-weight: 700;
    font-size: 1.3em;
    transition: transform 0.3s;
}
/* Girar el icono cuando el acordeón está activo */
.acordeon-titulo.activo .acordeon-icono {
    transform: rotate(180deg);
}


/* Contenido interno (lista de archivos) */
.acordeon-contenido {
    display: none;
    /* Fondo muy claro y limpio */
    background: #F9FAFB;
    padding: 20px;
    /* Borde de separación más sutil */
    border-top: 1px solid #E2E8F0;
}
.acordeon-contenido.activo {
    display: block;
}

/* Lista de archivos */
.archivos-lista {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Cada archivo ocupa toda la línea */
.archivo-item {
    margin-bottom: 12px;
}

/* --- Botón de descarga (IDÉNTICO al "Ghost Button" de las secciones) --- */
.archivo-boton {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    
    /* Estilo Ghost */
    background: transparent;
    border: 1px solid #3498DB;
    color: #3498DB !important;
    padding: 10px 18px; /* Ajustado para consistencia */
    border-radius: 6px; 
    
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    box-shadow: none; /* Sin sombra base */
    font-size: 1em;
}

.archivo-boton i {
    transition: transform 0.3s ease, color 0.3s ease;
    font-size: 1.1em; /* Ajustado para consistencia */
    color: #3498DB;
}

/* Efecto al pasar el ratón (Relleno Sólido) */
.archivo-boton:hover {
    background: #3498DB;
    color: #FFFFFF !important;
    transform: translateY(-1px); /* Elevación sutil */
    box-shadow: 0 4px 10px rgba(52, 152, 219, 0.4); 
}

.archivo-boton:hover i {
    color: #FFFFFF;
    /* Movimiento del icono a la derecha, quitamos la rotación */
    transform: translateX(4px); 
}/* End custom CSS */