/* ==========================================================
   TSR TERMS GRID — LIMPIO Y MEJORADO
   Categorías del blog
   ========================================================== */

/* CONTENEDOR */
.tsr-blog-categories-area .tsr-terms-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 32px !important;
  row-gap: 32px !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: start !important;
}

/* ITEMS */
.tsr-blog-categories-area .tsr-terms-grid > article{
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  align-self: start !important;
  box-sizing: border-box !important;
}

/* CARD */
.tsr-blog-categories-area .tsr-term-card,
.tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card{
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 100% !important;
  padding: 20px 20px 24px 20px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(117,22,36,.08) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.05),
    0 3px 10px rgba(0,0,0,.035) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease !important;
}

.tsr-blog-categories-area .tsr-term-card::before,
.tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.18) 0%,
    rgba(255,255,255,0) 30%
  );
  opacity: .7;
}

.tsr-blog-categories-area .tsr-term-card:hover,
.tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card:hover{
  transform: translateY(-5px) !important;
  border-color: rgba(117,22,36,.15) !important;
  box-shadow:
    0 20px 40px rgba(0,0,0,.08),
    0 8px 18px rgba(0,0,0,.05) !important;
}

/* IMAGEN */
.tsr-blog-categories-area .tsr-term-card-image,
.tsr-blog-categories-area .tsr-term-card-thumb,
.tsr-blog-categories-area .tsr-term-card-media{
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 0 18px 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #f3efee !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,.05),
    inset 0 1px 0 rgba(255,255,255,.35) !important;
}

.tsr-blog-categories-area .tsr-term-card-image img,
.tsr-blog-categories-area .tsr-term-card-thumb img,
.tsr-blog-categories-area .tsr-term-card-media img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transform: scale(1) !important;
  transition:
    transform .55s ease,
    filter .35s ease !important;
}

.tsr-blog-categories-area .tsr-term-card:hover .tsr-term-card-image img,
.tsr-blog-categories-area .tsr-term-card:hover .tsr-term-card-thumb img,
.tsr-blog-categories-area .tsr-term-card:hover .tsr-term-card-media img,
.tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card:hover .tsr-term-card-image img,
.tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card:hover .tsr-term-card-thumb img,
.tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card:hover .tsr-term-card-media img{
  transform: scale(1.045) !important;
  filter: saturate(1.03) contrast(1.02) !important;
}

/* TITULO */
.tsr-blog-categories-area .tsr-term-card-title,
.tsr-blog-categories-area .tsr-blog-mini-card-title.tsr-term-card-title{
  margin: 0 0 10px 0 !important;
  text-align: center !important;
  font-size: clamp(1.1rem, 1.15vw, 1.26rem) !important;
  line-height: 1.24 !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}

.tsr-blog-categories-area .tsr-term-card-title a,
.tsr-blog-categories-area .tsr-blog-mini-card-title.tsr-term-card-title a{
  color: var(--tsr-wine) !important;
  text-decoration: none !important;
  transition: color .2s ease !important;
}

.tsr-blog-categories-area .tsr-term-card-title a:hover,
.tsr-blog-categories-area .tsr-blog-mini-card-title.tsr-term-card-title a:hover{
  color: var(--tsr-wine-dark) !important;
}

/* TEXTO */
.tsr-blog-categories-area .tsr-term-card-text,
.tsr-blog-categories-area .tsr-blog-mini-card-text.tsr-term-card-text{
  flex: 1 1 auto !important;
  margin: 0 0 18px 0 !important;
}

.tsr-blog-categories-area .tsr-term-card-text p,
.tsr-blog-categories-area .tsr-blog-mini-card-text.tsr-term-card-text p{
  margin: 0 !important;
  text-align: center !important;
  color: #555 !important;
  line-height: 1.68 !important;
}

/* FOOTER / BOTÓN */
.tsr-blog-categories-area .tsr-term-card-footer{
  margin-top: auto !important;
  padding-top: 10px !important;
  display: flex !important;
  justify-content: center !important;
}

/* botón elegante */
.tsr-blog-categories-area .tsr-term-card-button,
.tsr-blog-categories-area .tsr-blog-mini-card-button.tsr-term-card-button{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 142px !important;
  min-height: 42px !important;
  padding: 11px 20px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: linear-gradient(180deg, #a3162f 0%, #821326 100%) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: .96rem !important;
  line-height: 1 !important;
  text-align: center !important;
  letter-spacing: -.01em !important;
  box-shadow:
    0 10px 18px rgba(117,22,36,.16),
    0 4px 8px rgba(0,0,0,.06),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  overflow: hidden !important;
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    filter .24s ease !important;
}

/* efecto de luz */
.tsr-blog-categories-area .tsr-term-card-button::before,
.tsr-blog-categories-area .tsr-blog-mini-card-button.tsr-term-card-button::before{
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 70%;
  height: 100%;
  background: linear-gradient(
    100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 30%,
    rgba(255,255,255,.32) 50%,
    rgba(255,255,255,.10) 70%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-22deg);
  transition: left .65s ease !important;
}

.tsr-blog-categories-area .tsr-term-card-button:hover,
.tsr-blog-categories-area .tsr-blog-mini-card-button.tsr-term-card-button:hover{
  transform: translateY(-2px) !important;
  filter: brightness(1.02) !important;
  box-shadow:
    0 14px 24px rgba(117,22,36,.20),
    0 6px 12px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.tsr-blog-categories-area .tsr-term-card-button:hover::before,
.tsr-blog-categories-area .tsr-blog-mini-card-button.tsr-term-card-button:hover::before{
  left: 150%;
}

/* TABLET */
@media (max-width: 920px){
  .tsr-blog-categories-area .tsr-terms-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
    gap: 24px !important;
  }
}

/* MÓVIL */
@media (max-width: 640px){
  .tsr-blog-categories-area .tsr-terms-grid{
    grid-template-columns: 1fr !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
    gap: 24px !important;
  }

  .tsr-blog-categories-area .tsr-term-card,
  .tsr-blog-categories-area .tsr-blog-mini-card.tsr-term-card{
    padding: 18px 18px 22px 18px !important;
    border-radius: 18px !important;
  }

  .tsr-blog-categories-area .tsr-term-card-button,
  .tsr-blog-categories-area .tsr-blog-mini-card-button.tsr-term-card-button{
    width: 100% !important;
    min-width: 0 !important;
  }
}