/* --------------------------------------------------------------------------
   HOME DE JUEGO — layout de dos columnas y bloque de noticias
   --------------------------------------------------------------------------
   Reglas identicas que val-home.php y 2xko-home.php tenian duplicadas en sus
   <style> inline: la rejilla principal, el panel derecho y toda la lista de
   noticias con su articulo destacado.
   ft-home.php NO carga esto: su bloque de noticias usa otra maqueta
   (.news-card en rejilla, no .news-featured + .news-item).
   Se carga despues de components/game-home.css.
   -------------------------------------------------------------------------- */

/* ── Layout principal ───────────────────────────────────── */
.home-main {
    max-width: var(--page-max);
    margin: 0 auto;
    padding: var(--sp-11) var(--sp-9) 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-11);
    align-items: start;
}

/* ── Panel derecho ──────────────────────────────────────── */
.home-right-panel { display: flex; flex-direction: column; gap: 28px; }

/* Noticias */
.news-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--sp-6);
}

.news-featured {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    text-decoration: none;
    display: block;
    margin-bottom: var(--sp-5);
    transition: border-color var(--t-fast), transform var(--t-fast);
}

.news-featured:hover { border-color: var(--brand-accent); transform: translateY(-2px); }

.news-featured-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    background: var(--bg-input);
    display: block;
}

.news-featured-img-placeholder {
    width: 100%;
    height: 160px;
    background: linear-gradient(135deg, var(--bg-input), #1a2540);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-6xl);
}

.news-featured-body { padding: var(--sp-7); }

.news-tag {
    font-size: var(--fs-2xs);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--brand-accent);
    margin-bottom: var(--sp-2);
}

.news-featured-title {
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    color: var(--text-white);
    line-height: 1.4;
    margin-bottom: var(--sp-2);
}

.news-featured-desc {
    font-size: var(--fs-sm);
    color: var(--text-gray);
    line-height: 1.5;
    margin-bottom: var(--sp-4);
}

.news-meta {
    font-size: var(--fs-xs);
    color: var(--text-muted);
}

.news-list { display: flex; flex-direction: column; gap: var(--sp-3); }

.news-item {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--sp-6) var(--sp-7);
    text-decoration: none;
    display: flex;
    gap: var(--sp-6);
    align-items: flex-start;
    transition: border-color var(--t-fast), transform var(--t-fast);
}

.news-item:hover { border-color: var(--brand-accent); transform: translateY(-1px); }

.news-item-thumb {
    width: 60px;
    height: 60px;
    border-radius: var(--radius-sm);
    background: var(--bg-input);
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-3xl);
}

.news-item-thumb img { width: 100%; height: 100%; object-fit: cover; }

.news-item-body { flex: 1; min-width: 0; }

.news-item-tag { font-size: var(--fs-3xs); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: .07em; color: var(--brand-accent); margin-bottom: var(--sp-1); }

.news-item-title { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--text-white); line-height: 1.35; margin-bottom: var(--sp-1); }

.news-item-meta { font-size: var(--fs-2xs); color: var(--text-muted); }

.news-loading { text-align: center; padding: var(--sp-11); color: var(--text-muted); font-size: var(--fs-md); }

.news-error   { text-align: center; padding: var(--sp-9); color: var(--text-muted); font-size: var(--fs-sm); }
