/* ══════════════════════════════════════════════════════════════════
   LBUZ — Estilos compartidos de las páginas públicas
   Se carga desde frontend/alch_base.html, después del template
   Alchemists, para que todas las pantallas se vean igual.

   OJO: el template define html{font-size:10px}, así que aquí NO se
   usan rem — todo va en píxeles.
   ══════════════════════════════════════════════════════════════════ */

/* ── Lienzo ─────────────────────────────────────────────────────── */
.site-content{ background:#eef0f6; padding:34px 0 46px; }

/* ── Portada de página (la franja con foto y título) ───────────── */
.lbuz-portada{ position:relative; background-size:cover; background-position:center 38%;
  background-repeat:no-repeat; padding:60px 0 54px; margin-bottom:0; }
.lbuz-portada::after{ content:""; position:absolute; top:0; right:0; bottom:0; left:0;
  background:linear-gradient(95deg, rgba(13,17,34,.94) 0%, rgba(22,28,52,.84) 45%, rgba(22,28,52,.40) 100%); }
.lbuz-portada .container{ position:relative; z-index:2; }
.lbuz-portada__tag{ display:block; color:var(--lbuz-gold); font-weight:700; font-size:12px;
  letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; }
.lbuz-portada__titulo{ color:#fff; font-weight:800; text-transform:uppercase; margin:0;
  font-size:clamp(26px,4vw,42px); line-height:1.1; }
.lbuz-portada__sub{ color:rgba(255,255,255,.8); font-size:16px; margin:12px 0 0; max-width:640px; }

/* ── Encabezado interno de página ──────────────────────────────── */
.lbuz-page-head{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap;
  gap:12px; margin-bottom:20px; }
.lbuz-page-head h1{ color:#1C233D; font-weight:800; margin:0; font-size:27px; text-transform:uppercase; }
.lbuz-page-head small{ display:block; color:#8a9099; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; font-size:11px; margin-bottom:5px; }
.lbuz-page-head select{ padding:7px 10px; border:1px solid #d7dee5; border-radius:6px; color:#2a2f37; }

/* ── Tarjetas ──────────────────────────────────────────────────── */
.card{ background:#fff !important; border:1px solid #e3e8ee !important; border-radius:10px !important;
  box-shadow:0 2px 10px rgba(28,35,61,.05); margin-bottom:22px; overflow:hidden; }
.card__header{ background:#1C233D !important; padding:12px 18px !important; border:0 !important; }
.card__title{ color:#fff !important; font-weight:800 !important; font-size:16px !important; margin:0 !important; }
.card__title .text-primary{ color:var(--lbuz-gold) !important; }
.card__content{ padding:18px !important; color:#2a2f37; }
.card--tabla .card__content{ padding:0 !important; }

/* ── Tablas ────────────────────────────────────────────────────── */
.card .table{ margin:0; }
.card .table thead th{ background:#2E3A63; color:#fff; border:0; font-size:11px;
  text-transform:uppercase; letter-spacing:.05em; padding:10px 12px; }
.card .table td{ color:#2a2f37; vertical-align:middle; border-color:#eef0f6; padding:10px 12px; }
.card .table.table-hover tbody tr:hover{ background:#f4f6fb; }
.card .table tbody tr:nth-child(even){ background:#fafbff; }

.team-meta__name{ color:#1C233D !important; font-weight:700; margin:0; font-size:14px; }
.team-meta__place{ color:#98a0a8 !important; font-size:11px; }
.team-meta__logo{ width:34px; height:34px; border-radius:50%; overflow:hidden;
  background:#eef0f6; margin-right:10px; }
.team-meta__logo img{ width:100%; height:100%; object-fit:cover; top:0; transform:none; }
.lbuz-ini{ display:block; line-height:34px; text-align:center; font-weight:800;
  color:#2E3A63; font-size:14px; }
.team-standings__pos{ font-weight:800; color:#2E3A63; }

.table-standings--full thead th{ text-align:center; }
.table-standings--full thead th.team-standings__pos,
.table-standings--full thead th.team-standings__team{ text-align:left; }
.table-standings--full tbody td{ text-align:center; }
.table-standings--full tbody td.team-standings__pos,
.table-standings--full tbody td.team-standings__team{ text-align:left; }
.table-standings--full .team-standings__pos{ width:56px; font-size:15px; }
.table-standings--full .team-standings__diff{ color:#6b7480; }
.table-standings--full .lbuz-pts{ font-weight:800; color:#1C233D; font-size:16px; }
.table-standings--full tbody tr.lbuz-podio td.team-standings__pos{ color:var(--lbuz-gold); }
.table-standings--full tbody tr.lbuz-podio{ box-shadow:inset 3px 0 0 var(--lbuz-gold); }

/* ── Pie de tarjeta ────────────────────────────────────────────── */
.lbuz-table-foot{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
  gap:8px; padding:10px 18px; background:#f6f8fa; border-top:1px solid #e3e8ee;
  font-size:12px; color:#8a9099; }
.lbuz-table-foot a{ color:#2E3A63; font-weight:700; }

/* ── Barra de filtros por categoría / jornada ──────────────────── */
.lbuz-filtro{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:22px; }
.lbuz-filtro a{ display:inline-block; background:#fff; border:1px solid #dfe4ea;
  color:#4a4f57 !important; font-weight:700; font-size:12px; text-transform:uppercase;
  letter-spacing:.04em; padding:9px 15px; border-radius:6px; }
.lbuz-filtro a:hover{ border-color:#2E3A63; color:#2E3A63 !important; }
.lbuz-filtro a.activo{ background:#1C233D; border-color:#1C233D; color:#fff !important; }
.lbuz-filtro a .fa{ margin-right:6px; opacity:.6; }
.lbuz-filtro__inicio{ background:#f6f8fa !important; }

/* ── Botones ───────────────────────────────────────────────────── */
.lbuz-btn-verde, .lbuz-cta__btn{ display:inline-block; background:#2E3A63; color:#fff !important;
  font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.08em;
  padding:12px 24px; border-radius:6px; }
.lbuz-btn-verde:hover, .lbuz-cta__btn:hover{ background:#1C233D; color:#fff !important; }
.lbuz-btn-oro{ display:inline-block; background:var(--lbuz-gold); color:#1C233D !important;
  font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.08em;
  padding:12px 24px; border-radius:6px; }
.lbuz-btn-oro:hover{ background:#fff; color:#1C233D !important; }
.lbuz-btn-linea{ display:inline-block; border:2px solid #dfe4ea; color:#4a4f57 !important;
  font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.08em;
  padding:10px 22px; border-radius:6px; background:#fff; }
.lbuz-btn-linea:hover{ border-color:#2E3A63; color:#2E3A63 !important; }
.lbuz-btn-verde i, .lbuz-btn-oro i, .lbuz-btn-linea i, .lbuz-cta__btn i{ margin-right:7px; }

/* ── Estado vacío ──────────────────────────────────────────────── */
.lbuz-vacio{ text-align:center; padding:56px 20px; }
.lbuz-vacio i{ font-size:42px; color:var(--lbuz-gold); }
.lbuz-vacio h4{ color:#1C233D; font-weight:800; font-size:18px; margin:16px 0 8px; }
.lbuz-vacio p{ margin:0 auto; color:#8a9099; font-size:14px; max-width:460px; line-height:1.7; }
.lbuz-vacio .lbuz-btn-verde,
.lbuz-vacio .lbuz-btn-oro{ margin-top:18px; }

/* ── Marcador de partido (rol y resultados) ────────────────────── */
.lbuz-juego{ display:flex; align-items:center; gap:14px; padding:15px 18px;
  border-bottom:1px solid #eef0f6; }
.lbuz-juego:last-child{ border-bottom:0; }
.lbuz-juego__equipo{ flex:1 1 0; min-width:0; font-weight:700; font-size:15px; color:#4a4f57; }
.lbuz-juego__equipo--local{ text-align:right; }
.lbuz-juego__equipo.gana{ color:#1C233D; }
.lbuz-juego__centro{ flex:0 0 132px; text-align:center; }
.lbuz-juego__marcador{ font-weight:800; font-size:23px; color:#1C233D; line-height:1; white-space:nowrap; }
.lbuz-juego__marcador .pierde{ color:#a2a8b0; }
.lbuz-juego__marcador .sep{ color:#c9ccd4; margin:0 5px; }
.lbuz-juego__vs{ display:inline-block; background:#eef0f6; color:#2E3A63; font-weight:800;
  font-size:12px; letter-spacing:.06em; padding:6px 13px; border-radius:5px; }
.lbuz-juego__meta{ display:block; font-size:11px; color:#98a0a8; margin-top:7px; line-height:1.5; }
.lbuz-juego__meta i{ margin-right:4px; }
.lbuz-juego__estado{ display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.05em; padding:5px 11px; border-radius:5px; background:#fdf3f3; color:#d8464a; }
.lbuz-juego__admin{ flex:0 0 auto; }

.lbuz-descanso{ display:flex; align-items:center; gap:12px; padding:14px 18px;
  background:#fffbe9; border-left:3px solid var(--lbuz-gold); margin-bottom:18px;
  font-size:14px; color:#5a5231; border-radius:0; }
.lbuz-descanso i{ color:var(--lbuz-gold); font-size:19px; }
.lbuz-descanso strong{ color:#1C233D; }

@media (max-width:575px){
  .lbuz-juego{ flex-wrap:wrap; gap:8px; }
  .lbuz-juego__equipo, .lbuz-juego__equipo--local{ flex:1 1 100%; text-align:center; }
  .lbuz-juego__centro{ flex:1 1 100%; }
}
