@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

/* ========================================================= */
/* Joomla 4 / Cassiopeia - Blog de categoría + Home destacados */
/* ========================================================= */

/* Fuente general para blogs y destacados */
.com-content-category-blog,
.com-content-featured,
.blog,
.blog-featured {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
}

/* ========================================================= */
/* Imágenes en caja proporcional 4:3 */
/* ========================================================= */

.com-content-category-blog .item-image,
.com-content-category-blog .image-left,
.com-content-category-blog .image-right,
.com-content-category-blog .image-fulltext,
.com-content-featured .item-image,
.com-content-featured .image-left,
.com-content-featured .image-right,
.com-content-featured .image-fulltext,
.blog .item-image,
.blog .image-left,
.blog .image-right,
.blog .image-fulltext,
.blog-featured .item-image,
.blog-featured .image-left,
.blog-featured .image-right,
.blog-featured .image-fulltext {
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
  background: #eee;
  display: block;
  border-radius: 2px;
}

/* Imagen recortada dentro de la caja */
.com-content-category-blog .item-image img,
.com-content-category-blog .image-left img,
.com-content-category-blog .image-right img,
.com-content-category-blog .image-fulltext img,
.com-content-featured .item-image img,
.com-content-featured .image-left img,
.com-content-featured .image-right img,
.com-content-featured .image-fulltext img,
.blog .item-image img,
.blog .image-left img,
.blog .image-right img,
.blog .image-fulltext img,
.blog-featured .item-image img,
.blog-featured .image-left img,
.blog-featured .image-right img,
.blog-featured .image-fulltext img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* ========================================================= */
/* Títulos de artículos */
/* ========================================================= */

.item-title,
.item-title a,
h1.item-title,
h1.item-title a,
h2.item-title,
h2.item-title a,
h3.item-title,
h3.item-title a,
.com-content-category-blog .item-title,
.com-content-category-blog .item-title a,
.com-content-featured .item-title,
.com-content-featured .item-title a,
.blog .item-title,
.blog .item-title a,
.blog-featured .item-title,
.blog-featured .item-title a,
.com-content-featured h1 a,
.com-content-featured h2 a,
.com-content-featured h3 a,
.blog-featured h1 a,
.blog-featured h2 a,
.blog-featured h3 a,
.blog-featured .page-header a {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 700;
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: #1d4da8;
  text-decoration: none !important;
  text-decoration-line: none !important;
  background-image: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Hover de títulos */
.item-title a:hover,
h1.item-title a:hover,
h2.item-title a:hover,
h3.item-title a:hover,
.com-content-category-blog .item-title a:hover,
.com-content-featured .item-title a:hover,
.blog .item-title a:hover,
.blog-featured .item-title a:hover,
.com-content-featured h1 a:hover,
.com-content-featured h2 a:hover,
.com-content-featured h3 a:hover,
.blog-featured h1 a:hover,
.blog-featured h2 a:hover,
.blog-featured h3 a:hover,
.blog-featured .page-header a:hover {
  color: #12377a;
  text-decoration: none !important;
  text-decoration-line: none !important;
  background-image: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Por si Cassiopeia o la plantilla genera subrayado con pseudo-elementos */
.item-title a::before,
.item-title a::after,
h1.item-title a::before,
h1.item-title a::after,
h2.item-title a::before,
h2.item-title a::after,
h3.item-title a::before,
h3.item-title a::after {
  display: none !important;
  content: none !important;
}

/* ========================================================= */
/* Textos introductorios */
/* ========================================================= */

.com-content-category-blog .item-content,
.com-content-category-blog .item p,
.com-content-featured .item-content,
.com-content-featured .item p,
.blog .item-content,
.blog .item p,
.blog-featured .item-content,
.blog-featured .item p {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 1.03rem;
  line-height: 1.55;
  font-weight: 400;
  color: #111;
}

/* ========================================================= */
/* Metadatos: categoría, fecha, autor, etc. */
/* ========================================================= */

.com-content-category-blog .article-info,
.com-content-featured .article-info,
.blog .article-info,
.blog-featured .article-info {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  line-height: 1.4;
  font-weight: 400;
  color: #555;
}

/* Links de metadatos */
.com-content-category-blog .article-info a,
.com-content-featured .article-info a,
.blog .article-info a,
.blog-featured .article-info a {
  color: #555;
  text-decoration: none;
}

/* ========================================================= */
/* Separación entre artículos */
/* ========================================================= */

.com-content-category-blog .blog-item,
.com-content-category-blog .item,
.com-content-featured .blog-item,
.com-content-featured .item,
.blog .blog-item,
.blog .item,
.blog-featured .blog-item,
.blog-featured .item {
  margin-bottom: 2.5rem;
}

/* ========================================================= */
/* Ajustes finos */
/* ========================================================= */

.item-title {
  margin-top: 1rem;
  margin-bottom: 0.65rem;
}

.com-content-category-blog .item p,
.com-content-featured .item p,
.blog .item p,
.blog-featured .item p {
  max-width: 44em;
}

/* Evita que enlaces de títulos se subrayen por reglas globales */
.com-content-category-blog h1 a,
.com-content-category-blog h2 a,
.com-content-category-blog h3 a,
.com-content-featured h1 a,
.com-content-featured h2 a,
.com-content-featured h3 a,
.blog h1 a,
.blog h2 a,
.blog h3 a,
.blog-featured h1 a,
.blog-featured h2 a,
.blog-featured h3 a {
  text-decoration: none !important;
  text-decoration-line: none !important;
  background-image: none !important;
}