/* =========================================================
   News view
   ========================================================= */

.news-view { position: relative; z-index: 2; padding: 0 20px 26px; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 0 4px;
}

.ncard {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line-soft);
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(16, 26, 44, .03), 0 18px 40px -28px rgba(16, 26, 44, .35);
  animation: rise .6s cubic-bezier(.2, .7, .2, 1) both;
  opacity: 0;
  transform: translateY(14px);
}

.ncard__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--head);
}
.ncard__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ncard__tag {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(6px);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink);
}
.ncard--upcoming .ncard__tag { background: var(--navy); color: #fff; }
.ncard--result .ncard__tag { background: #f4c24f; color: var(--navy); }
.ncard__credit {
  position: absolute;
  right: 10px;
  bottom: 8px;
  font-size: 10px;
  color: rgba(255, 255, 255, .9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

.ncard__body { display: grid; align-content: start; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.ncard__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  color: var(--muted);
}
.ncard__meta .flag { width: 20px; height: 13px; }
.ncard__meta i { width: 4px; height: 4px; border-radius: 50%; background: var(--muted-2); }
.ncard__meta i:first-child { display: none; }
.ncard__title {
  margin: 0;
  font-family: var(--display);
  font-weight: 800;
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.ncard__text { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }

/* Featured: ocupa dos columnas, imagen a la izquierda */
.ncard--featured {
  grid-column: 1 / -1;
  flex-direction: row;
}
.ncard--featured .ncard__media { aspect-ratio: 2560 / 1490; flex: 1.45; }
.ncard--featured .ncard__body { flex: 1; padding: 28px 30px; align-content: center; }
.ncard--featured .ncard__title { font-size: 32px; }
.ncard--featured .ncard__text { font-size: 15.5px; }

/* Mini podio en resultados */
.npod { list-style: none; margin: 6px 0 0; padding: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.npod__row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 14px;
}
.npod__row + .npod__row { border-top: 1px solid var(--line-soft); }
.npod__row--1 { background: var(--gold-row); }
.npod__row--2 { background: var(--silver-row); }
.npod__row--3 { background: var(--bronze-row); }
.npod__pos { font-family: var(--display); font-weight: 800; color: var(--ink-2); }
.npod__row--1 .npod__pos { color: #84600a; }
.npod__row--3 .npod__pos { color: #8f3f17; }
.npod__name { display: flex; align-items: center; gap: 8px; min-width: 0; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.npod__name .flag { width: 18px; height: 12px; }
.npod__pts { font-family: var(--display); font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.npod__foot { margin: 0; font-size: 12px; color: var(--muted-2); }

/* Tarjeta de cifras */
.ncard--stats {
  justify-content: center;
  gap: 14px;
  padding: 28px 26px;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(210, 155, 30, .28), transparent 60%),
    var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.ncard--stats .eyebrow { margin: 0; color: rgba(255, 255, 255, .6); }
.ncard--stats .ncard__title { color: #fff; }
.ncard--stats .ncard__text { color: rgba(255, 255, 255, .65); font-size: 13px; }
.nstats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; margin: 6px 0 0; }
.nstats div { display: flex; flex-direction: column-reverse; gap: 2px; }
.nstats dt { font-size: 12.5px; color: rgba(255, 255, 255, .65); }
.nstats dd {
  margin: 0;
  font-family: var(--display);
  font-weight: 800;
  font-size: 30px;
  letter-spacing: -0.03em;
  color: #f4c24f;
  font-variant-numeric: tabular-nums;
}
.nstats dd small { font-size: 18px; margin-left: 2px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .news-view { padding: 0 12px 18px; }
  .news-grid { grid-template-columns: 1fr; gap: 14px; padding: 0; }
  .ncard--featured { grid-column: auto; flex-direction: column; }
  .ncard--featured .ncard__media { aspect-ratio: 16 / 10; min-height: 0; flex: none; }
  .ncard--featured .ncard__body { padding: 20px 20px 22px; }
  .ncard--featured .ncard__title { font-size: 25px; }
  .ncard__title { font-size: 21px; }
}

/* Carteles verticales: se ven enteros, con fondo desenfocado del propio cartel */
.ncard__media--poster img:not(.ncard__blur) { position: absolute; inset: 0; object-fit: contain; }
.ncard__blur { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(24px) saturate(1.2); transform: scale(1.2); opacity: .7; }
.ncard--featured .ncard__media--poster { aspect-ratio: auto; min-height: 480px; flex: 1.1; }
@media (max-width: 760px) { .ncard--featured .ncard__media--poster { aspect-ratio: 4 / 5; min-height: 0; } }

/* Noticias clicables (eventos IKA -> pestaña Tournaments) */
.ncard.is-link { cursor: pointer; transition: transform .2s, box-shadow .2s; }
.ncard.is-link:hover { transform: translateY(-3px); box-shadow: 0 1px 2px rgba(16, 26, 44, .04), 0 26px 50px -28px rgba(16, 26, 44, .5); }
.ncard.is-link:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.ncard.is-link:hover .ncard__title { text-decoration: underline; text-decoration-color: #c3c9d3; text-underline-offset: 4px; }
.ncard__go { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--ink); }
.ncard__go span { display: inline-block; color: var(--gold-ink); transition: transform .2s; }
.ncard.is-link:hover .ncard__go span { transform: translateX(4px); }
