/**
 * Tarjetas de entrada – base compartida (noticias, historias, archivo).
 */

.fi-card-post,
.fi-story-card,
.fi-news-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--fi-white, #fff);
  border: 1px solid var(--fi-border);
  border-radius: var(--fi-radius);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fi-card-post:hover,
.fi-story-card:hover,
.fi-news-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--fi-shadow-card);
}

.fi-card-post__media,
.fi-story-card-img,
.fi-news-card-img {
  position: relative;
  overflow: hidden;
}

.fi-story-card-img,
.fi-news-card-img {
  height: 190px;
}

.fi-card-post__media::after,
.fi-story-card-img::after,
.fi-news-card-img::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--fi-orange);
  z-index: 2;
}

.fi-card-post__media img,
.fi-story-card-img img,
.fi-news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.fi-card-post:hover .fi-card-post__media img,
.fi-story-card:hover .fi-story-card-img img,
.fi-news-card:hover .fi-news-card-img img {
  transform: scale(1.04);
}

.fi-card-post__body,
.fi-story-card-body,
.fi-news-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.25rem 1.25rem 1.375rem;
}

.fi-card-post__body h2,
.fi-card-post__body h3,
.fi-story-card-body h3,
.fi-news-card-body h2 {
  font-size: 1.03125rem;
  font-weight: 700;
  color: var(--fi-dark);
  line-height: 1.35;
  margin-bottom: 0.625rem;
}

.fi-card-post__body p,
.fi-story-card-body p,
.fi-news-card-body p {
  flex: 1;
  font-size: 0.84375rem;
  color: var(--fi-text-light);
  line-height: 1.65;
  margin-bottom: 0;
}

.fi-card-post .fi-tag,
.fi-story-card-img .fi-tag,
.fi-news-card-img .fi-tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
}

.fi-card-cover-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
}

.fi-card-cover-link:focus-visible {
  outline: 2px solid var(--fi-orange);
  outline-offset: 2px;
}

.fi-story-card-body .fi-link-arrow,
.fi-news-card-body .fi-link-arrow {
  margin-top: auto;
  padding-top: 1rem;
  pointer-events: none;
}
