/* ============================================================
   WIDGET DE ENTRADAS DEL BLOG
   Tarjeta: imagen arriba (ratio consistente) + título + extracto + enlace.
   Lenguaje visual editorial (como .list-article): título serif, centrado.
   Reutilizan: .section-heading*, .h1. El "ver más" reusa .show-more pero
   sobrescribe su color dorado global solo dentro de este scope.
   Carrusel: Owl Carousel (owl-carousel owl-theme, ya en el markup)
   Base tipográfica del proyecto: html { font-size: 10px } → 1rem = 10px
   ============================================================ */

.blog-widget {
  padding: var(--separation-section-mobile) 0;
  margin-bottom: var(--separation-section-mobile);
}

.blog-widget__slider {
  margin-top: 2rem;
}

/* Igualamos la altura de las tarjetas dentro del carrusel */
.blog-widget__slider .owl-stage {
  display: flex;
}

.blog-widget__slider .owl-item {
  display: flex;
  height: auto;
}

.blog-widget__slider .owl-item > .blog-widget__item {
  width: 100%;
}

/* Tarjeta de artículo */
.blog-widget__item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.blog-widget__item__image {
  overflow: hidden;
}

.blog-widget__item__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 767 / 382;
  object-fit: cover;
  object-position: center;
}

.blog-widget__item__text {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 2rem 0.5rem 0;
  text-align: center;
}

.blog-widget__item__title {
  margin: 0 0 1rem;
  font-family: bogy, Helvetica Neue, Arial, Noto Sans, sans-serif;
  font-weight: 400;
  color: var(--primary-color);
  font-size: 2rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: hidden;
}

.blog-widget__item__excerpt {
  margin: 0 0 1.5rem;
  color: var(--primary-color);
  font-size: 1.5rem;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  overflow: hidden;
}

/* El <a> envuelve toda la tarjeta (imagen + texto): debe ser el contenedor
   flex que reparte el alto real de la tarjeta, si no el "Ver más" no puede
   anclarse abajo y el contenido queda descuadrado entre tarjetas */
.blog-widget__item__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
}

/* Sobrescribe el dorado global (a { color }) heredado por el texto de la tarjeta */
.blog-widget__item__link,
.blog-widget__item__link:hover {
  color: var(--primary-color);
}

/* El "Ver más" se ancla siempre al final del bloque de texto */
.blog-widget__item__text .show-more {
  margin-top: auto;
}

/* .show-more/.icon-arrow-right son dorados (#d6a467) por defecto en el resto
   de la web: aquí se sobrescriben solo dentro de .blog-widget */
.blog-widget .show-more,
.blog-widget .show-more .icon-arrow-right {
  color: var(--primary-color);
}

.blog-widget .show-more:hover {
  color: var(--primary-color) !important;
}

/* Flechas del carrusel (mismo patrón que otros owl-carousel del proyecto) */
.blog-widget__slider .owl-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin-top: 3rem;
}

.blog-widget__slider .owl-nav button.owl-prev,
.blog-widget__slider .owl-nav button.owl-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border: 0.1rem solid var(--primary-color);
  border-radius: 50%;
  background: transparent;
  transition: background-color 0.3s ease;
}

.blog-widget__slider .owl-nav button img,
.blog-widget__slider .owl-nav button span {
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  transition: filter 0.3s ease;
}

.blog-widget__slider .owl-nav button.owl-prev:hover,
.blog-widget__slider .owl-nav button.owl-next:hover {
  background-color: var(--primary-color);
}

.blog-widget__slider .owl-nav button.owl-prev:hover img,
.blog-widget__slider .owl-nav button.owl-next:hover img {
  filter: invert(1);
}

/* Puntos de paginación */
.blog-widget__slider .owl-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  margin-top: 2rem;
}

.blog-widget__slider .owl-dots .owl-dot {
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(var(--primary-color-rgb), 0.25);
}

.blog-widget__slider .owl-dots .owl-dot.active {
  background: var(--primary-color);
}

/* Foco visible accesible en flechas y puntos (WCAG 2.1 AA) */
.blog-widget__slider .owl-nav button:focus-visible,
.blog-widget__slider .owl-dots .owl-dot:focus-visible {
  outline: 0.2rem solid var(--primary-color);
  outline-offset: 0.2rem;
}

/* Desktop pequeño: 992px - 1920px */
@media (min-width: 992px) {
  .blog-widget {
    padding: var(--separation-section-desktop) 0;
    margin-bottom: var(--separation-section-desktop);
  }

  .blog-widget__slider {
    margin-top: 3rem;
  }

  .blog-widget__item__text {
    padding: 2.4rem 1rem 0;
  }

  .blog-widget__item__title {
    font-size: 2.2rem;
  }
}

/* Desktop grande: mayor de 1920px */
@media (min-width: 1920px) {
  .blog-widget__item__text {
    padding: 3rem 1.5rem 0;
  }

  .blog-widget__item__title {
    font-size: 2.4rem;
  }

  .blog-widget__item__excerpt {
    font-size: 1.6rem;
  }

  .blog-widget__slider .owl-nav button.owl-prev,
  .blog-widget__slider .owl-nav button.owl-next {
    width: 5rem;
    height: 5rem;
  }

  .blog-widget__slider .owl-nav button img,
  .blog-widget__slider .owl-nav button span {
    width: 2rem;
    height: 2rem;
  }
}
