<!-- start Simple Custom CSS and JS -->
<style type="text/css">
/* Fuentes solo para este módulo */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@700;800&display=swap');

/* ===== CONTEXTO / VARIABLES AISLADAS ===== */
#convocatorias{
  /* Paleta local */
  --primary: #2f6fa5;
  --primary-dark: #245b86;
  --accent: #f4a300;

  --bg-top: #f9fbfd;
  --bg-bot: #eef3f8;

  --border: #e2e8f0;
  --muted: #6b7280;

  --success-bg: #e6f4ea;
  --success-bd: #b7dfb9;
  --success-tx: #2d6a4f;

  --section-bg: #444444; /* primera columna */
  --section-tx: #ffffff;

  /*  Variables de ajuste rápido para móvil */
  --acc-title-mobile-size: 10px;     /* tamaño del título del acordeón en móvil */
  --acc-badge-gap: 6px;              /* separación título ↔ badge en móvil */
  --section-title-mobile-size: 10px; /* tamaño del texto de las secciones en móvil */

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #1f2937;
  background: linear-gradient(180deg, var(--bg-top), var(--bg-bot));
  max-width: 1180px;
  margin: 40px auto;
  padding: 0 16px;
}

/* ===== TÍTULO ===== */
#convocatorias .title{
  font-family: Manrope, Inter, Arial, sans-serif;
  font-weight: 800;
  font-size: clamp(24px, 3.6vw, 40px);
  letter-spacing: .5px;
  color: #1f3f5b;
  text-align: center;
  text-transform: uppercase;
  margin: 0 0 18px;
}

/* ===== TABS ===== */
#convocatorias .tabs{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
#convocatorias .tab{
  background: var(--primary);
  color: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  text-align: center;
  font-weight: 700;
  cursor: pointer;
  border: 2px solid transparent;
  transition: .2s;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
#convocatorias .tab:hover{ background: var(--primary-dark); }
#convocatorias .tab[aria-selected="true"]{
  background: var(--accent);
  color: #1f2937;
}

/* ===== BARRA DE HERRAMIENTAS ===== */
#convocatorias .toolbar{
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  margin: 10px 0 18px;
}
#convocatorias .toolbar input[type="search"]{
  width: 100%;
  max-width: 680px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
#convocatorias .toolbar input[type="search"]:focus{
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(47,111,165,.15);
}
#convocatorias .btn{
  border: 1px solid var(--primary);
  color: #fff;
  background: var(--primary);
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  transition: .2s;
}
#convocatorias .btn:hover{ background: var(--primary-dark); }
#convocatorias .btn.secondary{
  background: #fff;
  color: var(--primary);
}
#convocatorias .btn.secondary:hover{
  background: #f0f4f8;
}

/* ===== ACORDEÓN ===== */
#convocatorias .accordion{
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid var(--border);
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,.06);
}
#convocatorias .acc-head{
  background: var(--primary);
  color: #fff;
  padding: 14px 16px;
  font-family: Manrope, Inter, Arial, sans-serif;
  font-weight: 700;
  display: grid;
  grid-template-columns: 1fr 28px; /* título | icono */
  align-items: center;
  cursor: pointer;
  transition: background .2s;
}
#convocatorias .acc-head:hover{ background: var(--primary-dark); }
#convocatorias .acc-body{
  display: none; /* por defecto contraído */
  background: #f4f8fc;
  border-top: 1px solid var(--border);
}
#convocatorias .accordion.open .acc-body{ display: block; }

/* ===== TABLA ===== */
#convocatorias table{ width: 100%; border-collapse: collapse; }
#convocatorias th,
#convocatorias td{
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  vertical-align: middle; /* centra verticalmente */
}
#convocatorias th{
  background: var(--primary-dark);
  color: #fff;
  font-size: 14px;
  letter-spacing: .2px;
}

/* Primera columna: gris oscuro y siempre con contraste */
#convocatorias td.section{
  width: 44%;
  background-color: var(--section-bg);
  color: var(--section-tx);
  font-weight: 600;
}
/* Efecto hover: solo columna de archivos */
#convocatorias tbody tr:hover td:not(.section){
  background: #f4f6f9;
}
#convocatorias tbody tr:hover td.section{
  background-color: #555555;
}

/* Columna de archivos */
#convocatorias td.files{ width: 56%; }

/* Contenedor de botones de descarga en fila, con wrap */
#convocatorias .file-icons{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* ===== BOTONES DE DESCARGA ===== */
#convocatorias .download{
  display: inline-flex !important;    /* neutraliza temas que los vuelven bloque */
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  line-height: 1.1;
  white-space: nowrap;                /* evita saltos en el texto en desktop */
  border: 1px solid var(--success-bd);
  border-radius: 10px;
  text-decoration: none;
  color: var(--success-tx);
  background: var(--success-bg);
  font-weight: 600;
  font-size: 14px;
  transition: background .2s, transform .2s;
}
#convocatorias .download:hover{
  background: #d1f2d6;
  transform: translateY(-1px);
}
/* Tamaño del ícono SVG, neutralizando reglas globales */
#convocatorias .download svg{
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  flex: 0 0 18px;
}
#convocatorias .download svg,
#convocatorias .download svg *{
  max-width: none !important;
  box-sizing: content-box;
}

/* ===== BADGES (si llegan desde JSON) ===== */
#convocatorias .badge{
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  margin-left: 8px;
}
#convocatorias .badge.info{
  background: #eef5ff;
  color: #0b3b7d;
  border: 1px solid #b7d0ff;
}

/* ===== VACÍO / PIE ===== */
#convocatorias .empty{
  padding: 28px;
  text-align: center;
  color: var(--muted);
  background: #fff;
  border: 1px dashed var(--border);
  border-radius: 12px;
}
#convocatorias .foot{
  margin-top: 28px;
  font-size: 13px;
  color: var(--muted);
  text-align: left;
}

/* ===== PARCHE MOVIL: tarjetas + botones full width ===== */
@media (max-width: 680px){
	#convocatorias .badge {
    font-size: 9px !important; /* texto más pequeño en móviles */
    padding: 2px 6px !important; /* ajusta también el relleno */
  }
	
  /* Cabecera del acordeón (barra azul) más compacta */
  #convocatorias .acc-head{
    font-size: var(--acc-title-mobile-size) !important; /*  AJUSTA */
    line-height: 1.25 !important;
    padding: 10px 12px !important;
    grid-template-columns: 1fr 22px !important; /* título | icono */
  }

  /* Título del acordeón centrado y en columna */
  #convocatorias .acc-head > div:first-child{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Badge ("Concluido/Desierto") debajo del título y centrado */
  #convocatorias .acc-head .badge{
    display: inline-block !important;
    margin-top: var(--acc-badge-gap) !important; /*  AJUSTA separación */
  }

  /* Tabla -> tarjetas */
  #convocatorias table{ display: block !important; width: 100% !important; }
  #convocatorias thead{ display: none !important; }
  #convocatorias tbody{ display: block !important; }
  #convocatorias tr{
    display: block !important;
    margin: 12px 0 !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.05) !important;
  }
  #convocatorias td{
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 12px 14px !important;
  }

  /* Sección centrada (columna gris) */
  #convocatorias td.section{
    width: 100% !important;
    background: var(--section-bg) !important;
    color: var(--section-tx) !important;
    font-weight: 800 !important;
    text-align: center !important;   /* ✔ centrado */
    font-size: var(--section-title-mobile-size) !important; /*  AJUSTA */
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  /* Contenedor de archivos en columna y full width */
  #convocatorias td.files{ padding-top: 10px !important; }
  #convocatorias .file-icons{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important; /* todos igual de anchos */
  }

  /* Botón de descarga: ancho completo y centrado */
  #convocatorias .download{
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 14px 16px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    white-space: normal !important;   /* permite salto de línea */
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  #convocatorias .download span{
    display: inline !important;
  }
  #convocatorias .download svg{
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
  }
}

</style>
<!-- end Simple Custom CSS and JS -->
