/* Noticias */
.news-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.news-card {
  display: flex; flex-direction: column; overflow: hidden;
  text-align: left; width: 100%;
}
.news-card__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-2); }
.news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--ease); }
.news-card:hover .news-card__media img { transform: scale(1.04); }
.news-card__body { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4); flex: 1; }
.news-card__body h2, .news-card__body h3 { font-size: var(--fs-md); }
.news-card__body p { color: var(--text-muted); font-size: var(--fs-sm); }
.news-card__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-size: var(--fs-xs); color: var(--text-subtle); }

.news-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.3fr 1fr; }
.news-card--featured .news-card__media { aspect-ratio: auto; min-height: 260px; }
.news-card--featured h2 { font-size: var(--fs-xl); }
.news-card--featured .news-card__body { padding: var(--space-5); justify-content: center; }

/* Ilustración cuando no hay foto */
.news-art {
  width: 100%; height: 100%; min-height: 100%;
  display: grid; place-items: center; color: var(--sport);
  background:
    repeating-linear-gradient(135deg, transparent 0 18px, color-mix(in srgb, var(--sport) 10%, transparent) 18px 20px),
    radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--sport) 30%, transparent), transparent 60%),
    var(--surface-2);
}
.news-art .icon { width: 64px; height: 64px; stroke-width: 1.5; }

.dialog__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-2); }
.dialog__media img { width: 100%; height: 100%; object-fit: cover; }
.dialog__body h2 { font-size: var(--fs-xl); margin: var(--space-2) 0 var(--space-3); }
.dialog__body p + p { margin-top: var(--space-3); }
.dialog__body .notice { margin-top: var(--space-5); }

@media (max-width: 760px) {
  .news-card--featured { grid-template-columns: 1fr; }
  .news-card--featured .news-card__media { min-height: 0; aspect-ratio: 16 / 9; }
}
