/* Sistema de conversión: CTA de afiliado, promos, banners, fichas de juego. */
:root {
  --aff-green: #1fa84f;
  --aff-green-dark: #15793a;
  --aff-gold: #f5c542;
  --aff-navy: #0c182a;
  --aff-blue: #2d87b0;
  --aff-bg: #f4f7fb;
}
.aff-btn {
  display: inline-block;
  background: var(--aff-green);
  color: #fff !important;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 0.85rem 1.6rem;
  border-radius: 8px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.95rem;
  box-shadow: 0 4px 14px rgba(31, 168, 79, 0.35);
  transition: transform 0.12s ease, background 0.12s ease;
  border: 0;
}
.aff-btn:hover {
  background: var(--aff-green-dark);
  transform: translateY(-1px);
}
.aff-btn-ghost {
  background: transparent;
  border: 2px solid var(--aff-green);
  color: var(--aff-green) !important;
  box-shadow: none;
}
.aff-btn-ghost:hover {
  background: rgba(31, 168, 79, 0.08);
}
.aff-btn-lg {
  font-size: 1.05rem;
  padding: 1rem 2.2rem;
}
.masthead-cta {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  margin-left: auto;
}
.aff-btn-header {
  padding: 0.55rem 1.2rem;
  font-size: 0.85rem;
}
.aff-btn-header.aff-btn-ghost {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.7);
}
.aff-btn-header.aff-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.12);
}
.aff-banner {
  display: block;
  margin: 1.5rem 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(12, 24, 42, 0.15);
}
.aff-banner img {
  display: block;
  width: 100%;
  height: auto;
}
.aff-promo {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 1.5rem;
  background: linear-gradient(135deg, #0c182a 0%, #123252 100%);
  color: #fff;
  border-radius: 14px;
  padding: 1.75rem;
  margin: 1.75rem 0;
  box-shadow: 0 10px 30px rgba(12, 24, 42, 0.25);
}
.aff-promo-kicker {
  display: inline-block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--aff-gold);
  margin-bottom: 0.4rem;
}
.aff-promo-text strong {
  display: block;
  font-size: 1.35rem;
  margin-bottom: 0.5rem;
}
.aff-promo-text p {
  color: #c9d6e6;
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0;
}
.aff-promo-action {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.aff-code {
  background: rgba(245, 197, 66, 0.12);
  border: 2px dashed var(--aff-gold);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.aff-code > span {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--aff-gold);
  width: 100%;
}
.aff-code strong {
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  color: #fff;
  font-family: ui-monospace, monospace;
}
.aff-copy {
  margin-left: auto;
  background: var(--aff-gold);
  color: #241a02;
  font-weight: 800;
  border: 0;
  border-radius: 6px;
  padding: 0.45rem 1rem;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.8rem;
}
.aff-bonus span {
  display: block;
  font-size: 0.9rem;
  color: var(--aff-gold);
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.aff-promo small {
  color: #93a7bd;
  font-size: 0.75rem;
  line-height: 1.4;
}
.aff-promo-compact {
  grid-template-columns: 1fr;
  padding: 1.1rem;
  margin: 1rem 0;
  gap: 0.9rem;
}
.aff-promo-compact .aff-promo-text strong {
  font-size: 1.05rem;
}
.aff-promo-compact .aff-promo-text p {
  font-size: 0.85rem;
}
.aff-promo-compact .aff-code strong {
  font-size: 1.2rem;
}
.aff-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  background: linear-gradient(90deg, #123252, #0c182a);
  color: #fff;
  border-radius: 12px;
  padding: 1.1rem 1.4rem;
  margin: 1.75rem 0;
}
.aff-strip strong {
  display: block;
  font-size: 1.05rem;
}
.aff-strip span {
  color: var(--aff-gold);
  font-size: 0.85rem;
  font-weight: 600;
}
.aff-strip-btns {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.aff-inline {
  background: var(--aff-bg);
  border-left: 4px solid var(--aff-green);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.aff-inline p {
  margin: 0;
  flex: 1;
  min-width: 220px;
}
.aff-brandline {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  flex-wrap: wrap;
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  padding: 0.9rem 1.2rem;
  margin: 1.25rem 0;
}
.aff-brandline .aff-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.aff-brandline .aff-logo img {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: block;
  object-fit: cover;
}
.aff-brand-mid {
  flex: 1;
  min-width: 210px;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.aff-brand-mid strong {
  color: var(--aff-navy);
  font-size: 1.02rem;
}
.aff-brand-mid span {
  color: #5b7086;
  font-size: 0.83rem;
}
.aff-brand-mid b {
  color: #b8860b;
  font-family: ui-monospace, monospace;
}
.aff-brandline .aff-banner {
  margin: 0;
  box-shadow: none;
}
.aff-brandline .aff-banner img {
  width: 160px;
  height: auto;
}
.aff-brand-btns {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.aff-side .aff-banner {
  margin-top: 0;
}
.aff-code-inline {
  font-family: ui-monospace, monospace;
  background: #fff8e1;
  border: 1px solid var(--aff-gold);
  padding: 0.1rem 0.45rem;
  border-radius: 5px;
  font-size: 1.05em;
}
/* Cuadrículas y tarjetas de juego */
.game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}
.game-card {
  display: block;
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  padding: 1.1rem 1.15rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.game-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(12, 24, 42, 0.12);
}
.game-type {
  display: inline-block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--aff-blue);
  font-weight: 800;
}
.game-card h3 {
  margin: 0.35rem 0 0.6rem;
  font-size: 1.15rem;
  color: var(--aff-navy);
}
.game-card dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4rem;
  margin: 0 0 0.6rem;
}
.game-card dt {
  font-size: 0.62rem;
  text-transform: uppercase;
  color: #7d8fa3;
  letter-spacing: 0.05em;
}
.game-card dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--aff-navy);
}
.game-card p {
  font-size: 0.85rem;
  color: #4a5d72;
  margin: 0 0 0.7rem;
}
.game-go {
  color: var(--aff-green);
  font-weight: 700;
  font-size: 0.85rem;
}
.game-hero {
  display: grid;
  grid-template-columns: 1.6fr 320px;
  gap: 1.5rem;
  align-items: start;
  margin: 1.5rem 0;
}
.game-hero-text h2 {
  margin-top: 0;
}
.game-hero .aff-banner {
  margin: 0;
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}
.step-card {
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  padding: 1.2rem;
}
.step-card > span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--aff-green);
  color: #fff;
  font-weight: 800;
  margin-bottom: 0.6rem;
}
.step-card h3 {
  margin: 0 0 0.4rem;
}
.step-card p {
  font-size: 0.9rem;
  color: #4a5d72;
}
.steps li {
  margin-bottom: 0.55rem;
}
.faq-item {
  border: 1px solid #dbe4ee;
  border-radius: 10px;
  padding: 0;
  margin: 0.6rem 0;
  background: #fff;
  overflow: hidden;
}
.faq-item summary {
  font-weight: 700;
  cursor: pointer;
  padding: 0.85rem 1.05rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  list-style: none;
  font-size: 0.95rem;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #eef4fb;
  color: var(--aff-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 800;
  transition: transform 0.15s ease;
}
.faq-item[open] summary::after {
  transform: rotate(45deg);
}
.faq-item[open] summary {
  border-bottom: 1px solid #dbe4ee;
}
.faq-item summary:hover {
  color: var(--aff-blue);
}
.faq-item p {
  margin: 0;
  padding: 0.8rem 1.05rem 0.95rem;
  font-size: 0.9rem;
  line-height: 1.55;
}
/* Pronósticos */
.prono-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.9rem;
  margin: 1rem 0;
}
.prono-card {
  display: block;
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 10px;
  padding: 0.95rem 1.1rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.prono-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(12, 24, 42, 0.12);
}
.prono-comp {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--aff-blue);
  font-weight: 800;
}
.prono-teams {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  margin: 0.4rem 0;
  flex-wrap: wrap;
}
.prono-teams strong {
  color: var(--aff-navy);
}
.prono-teams span {
  color: #8da0b5;
  font-size: 0.8rem;
}
.prono-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: #5b7086;
}
.prono-cta {
  color: var(--aff-green);
  font-weight: 700;
}
/* Portada: sección de apuestas */
.portal-betting {
  background: linear-gradient(160deg, #f0f6fc 0%, #ffffff 60%);
  border-radius: 16px;
  padding: 1.75rem;
  border: 1px solid #dbe4ee;
}
.portal-betting-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 1.5rem;
  align-items: start;
}
.portal-betting .aff-promo {
  margin: 0;
}
.betting-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}
.betting-links a {
  background: #fff;
  border: 1px solid #c9d6e6;
  color: var(--aff-navy);
  border-radius: 20px;
  padding: 0.4rem 0.9rem;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
}
.betting-links a:hover {
  border-color: var(--aff-green);
  color: var(--aff-green);
}
.portal-games {
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  padding: 1rem;
}
.portal-games-head {
  display: flex;
  justify-content: space-between;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #7d8fa3;
  margin-bottom: 0.7rem;
}
.mini-game {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.55rem 0.6rem;
  border-radius: 8px;
  text-decoration: none;
  border-bottom: 1px solid #eef2f7;
}
.mini-game:hover {
  background: var(--aff-bg);
}
.mini-game strong {
  color: var(--aff-navy);
  font-size: 0.92rem;
}
.mini-game span {
  color: #7d8fa3;
  font-size: 0.78rem;
}
.portal-betting > .aff-banner {
  margin-bottom: 0;
}
.home .portal-betting > .aff-banner-strip {
  display: none;
}
/* ============================================================
   TEMA AZUL OSCURO GLOBAL — estilo 1xBet en todo el sitio
   ============================================================ */
.edition {
  --paper: #0c182a;
  --ink: #f1f6ff;
  --muted: #9db4cc;
  --line: #2d4058;
  --accent: #4fd1c5;
  --pitch: #132b46;
  background: var(--paper);
  color: var(--ink);
}
.edition .site-banner {
  background: #08111f;
}
.edition .site-banner .topline,
.edition .site-banner .masthead p {
  color: #8ba3c0;
}
.edition .site-banner .nav {
  border-color: #22364f;
}
.edition .site-banner .nav a {
  color: #d9e5f4;
}
.edition .nav [aria-current] {
  color: var(--accent);
}
.edition .masthead-cta .aff-btn-ghost {
  color: #fff !important;
}
.edition .page-intro .eyebrow,
.edition .eyebrow {
  color: var(--accent);
}
.edition main a:hover {
  color: var(--accent);
}
/* Superficies editoriales en azul oscuro */
.edition .match-card,
.edition .peru-desk,
.edition .filters,
.edition .source-note,
.edition .empty,
.edition .stat {
  background: #102138;
  border-color: var(--line);
}
.edition .match-card:hover {
  border-color: var(--accent);
}
.edition .match-card .card-top,
.edition .match-card .card-bottom {
  color: var(--muted);
}
.edition .peru-desk p,
.edition .peru-desk .muted {
  color: #9db4cc;
}
.edition .filters select,
.edition .filters input {
  background: #0c182a;
  border: 1px solid #35516f;
  color: #f1f6ff;
  border-radius: 6px;
}
.edition .filters select option {
  background: #0c182a;
  color: #f1f6ff;
}
.edition .filters button,
.edition .empty button {
  background: var(--aff-green);
  border-color: var(--aff-green);
  color: #fff;
}
.edition .filters > a {
  color: var(--muted);
}
.edition .source-note {
  border-top-color: var(--accent);
}
.edition .preview-label {
  background: #3d2f17;
  border-color: #8a6b2f;
  color: #f5cba1;
}
.edition .notice {
  background: #102138;
  border-left-color: var(--accent);
}
.edition .story-card,
.edition .source-card {
  border-top-color: #35516f;
}
.edition .sidebox h2 {
  color: var(--ink);
}
.edition .article-head {
  border-color: var(--line);
}
.edition .lead {
  color: var(--muted);
}
.edition .breadcrumb {
  color: var(--muted);
}
.edition .status-label {
  color: var(--muted);
}
.edition table th {
  color: var(--muted);
}
.edition footer {
  border-top-color: #35516f;
  background: #08111f;
}
.edition footer a:hover {
  color: var(--accent);
}
.edition .outline {
  color: var(--ink);
}
/* Botones genéricos en verde marca */
.edition button,
.home button {
  background: var(--aff-green);
  border-color: var(--aff-green);
  color: #fff;
}
/* Componentes afiliados — variantes oscuras (antes blancos) */
.game-card,
.prono-card,
.step-card,
.faq-item,
.aff-brandline,
.portal-games {
  background: #102138;
  border-color: #2d4058;
}
.game-card h3,
.step-card h3,
.prono-teams strong {
  color: #f1f6ff;
}
.game-card p,
.step-card p,
.game-card dd,
.prono-meta {
  color: #9db4cc;
}
.game-card dd {
  color: #d9e5f4;
}
.mini-game {
  border-bottom-color: #22364f;
}
.mini-game strong {
  color: #f1f6ff;
}
.mini-game:hover {
  background: #16283f;
}
.betting-links a {
  background: #102138;
  border-color: #2d4058;
  color: #d9e5f4;
}
.portal-betting {
  background: linear-gradient(160deg, #0e1f3a 0%, #102541 100%);
  border-color: #2d4058;
}
.aff-brandline {
  border-color: #2d4058;
}
.aff-inline {
  background: #123052;
  border-left-color: var(--aff-green);
}
.aff-inline p {
  color: #d9e5f4;
}
.aff-code-inline {
  background: #3d2f17;
  border-color: var(--aff-gold);
  color: var(--aff-gold);
}
.aff-brand-mid strong {
  color: #f1f6ff;
}
.aff-brand-mid span {
  color: #9db4cc;
}
.aff-brand-mid b {
  color: var(--aff-gold);
}
.faq-item {
  border-color: #2d4058;
}
.faq-item summary {
  color: #f1f6ff;
}
.faq-item summary::after {
  background: #1d3a5f;
  color: var(--accent);
}
.faq-item summary:hover {
  color: var(--accent);
}
.faq-item[open] summary {
  border-bottom-color: #2d4058;
}
.faq-item p {
  color: #9db4cc;
}
.aff-promo-text p {
  color: #c9d6e6;
}
/* Fotos Pexels */
.aff-photo {
  margin: 0 0 1.5rem;
  border-radius: 12px;
  overflow: hidden;
}
.aff-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 420px;
}
.aff-photo-side {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
}
.aff-photo-side img {
  display: block;
  width: 100%;
  height: auto;
}
/* Escudos de equipos */
.crest {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.45rem;
}
.crest img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
}
.crest-lg img {
  width: 44px;
  height: 44px;
}
.prono-crests {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.3rem 0 0.5rem;
}
.prono-crests img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.match-card .crest img {
  width: 18px;
  height: 18px;
}
/* Forma reciente con pastillas V/E/D */
.form-pills {
  display: flex;
  gap: 0.3rem;
  margin: 0.4rem 0;
}
.pill {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 800;
}
.pill-v {
  background: rgba(31, 168, 79, 0.2);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, 0.5);
}
.pill-e {
  background: rgba(148, 163, 184, 0.18);
  color: #cbd5e1;
  border: 1px solid rgba(148, 163, 184, 0.45);
}
.pill-d {
  background: rgba(239, 68, 68, 0.18);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.5);
}
.res {
  display: inline-flex;
  min-width: 22px;
  justify-content: center;
  padding: 0.1rem 0.35rem;
  border-radius: 5px;
  font-size: 0.72rem;
  font-weight: 800;
}
.res-v {
  background: rgba(31, 168, 79, 0.2);
  color: #4ade80;
}
.res-e {
  background: rgba(148, 163, 184, 0.18);
  color: #cbd5e1;
}
.res-d {
  background: rgba(239, 68, 68, 0.18);
  color: #f87171;
}
/* Barras comparativas del pronóstico */
.compare-bars {
  margin: 1rem 0;
}
.compare-row {
  margin-bottom: 0.8rem;
}
.compare-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: #9db4cc;
  margin-bottom: 0.25rem;
}
.compare-track {
  display: flex;
  height: 10px;
  border-radius: 5px;
  overflow: hidden;
  background: #0c182a;
}
.compare-home {
  background: #2d87b0;
}
.compare-away {
  background: #f5a623;
}
/* Versus visual del pronóstico */
.prono-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  text-align: center;
  flex-wrap: wrap;
  margin: 1.5rem 0;
}
.prono-hero .team {
  display: grid;
  justify-items: center;
  gap: 0.4rem;
  min-width: 140px;
}
.prono-hero .team img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}
.prono-hero .vs {
  font-weight: 800;
  color: #4fd1c5;
  font-size: 1.3rem;
}
@media (max-width: 880px) {
  .masthead {
    flex-wrap: wrap;
  }
  .masthead-cta {
    margin-left: auto;
  }
  .aff-promo {
    grid-template-columns: 1fr;
  }
  .portal-betting-grid {
    grid-template-columns: 1fr;
  }
  .game-hero {
    grid-template-columns: 1fr;
  }
  .game-hero .aff-banner {
    max-width: 340px;
  }
  .masthead-cta {
    width: 100%;
    margin-left: 0;
  }
  .masthead-cta .aff-btn {
    flex: 1;
    text-align: center;
  }
  .aff-strip {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .aff-strip-btns .aff-btn {
    flex: 1;
    text-align: center;
  }
  .aff-inline {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}


/* ===== Championat-style data layer (dark navy) ===== */
.mrows{display:flex;flex-direction:column;gap:2px;background:var(--navy-2,#12233d);border:1px solid rgba(148,163,184,.14);border-radius:10px;overflow:hidden}
.mrow{display:grid;grid-template-columns:86px minmax(0,1fr) 74px minmax(0,1fr) minmax(150px,auto);align-items:center;gap:.55rem;padding:.48rem .8rem;text-decoration:none;color:#dce7f5;background:var(--navy,#0c182a);border-left:3px solid transparent;transition:background .15s}
.mrow:nth-child(odd){background:var(--navy-2,#12233d)}
.mrow:hover{background:#1a3255;border-left-color:#4fd1c5}
.mrow-date{font-size:.74rem;color:#8fa8c6;white-space:nowrap}
.mrow-home{text-align:right;font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow-away{text-align:left;font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow-score{display:flex;justify-content:center;align-items:center;gap:.15rem;font-size:.95rem}
.mrow-score b{font-weight:800;color:#fff}
.mrow-score i{font-style:normal;color:#5f7ba0}
.mrow-meta{font-size:.7rem;color:#7d94b5;text-align:right;white-space:nowrap;display:flex;gap:.5rem;justify-content:flex-end;align-items:center}
.mst{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.64rem;font-weight:800;letter-spacing:.4px;font-style:normal}
.st-ft{background:rgba(31,168,79,.18);color:#4ade80;border:1px solid rgba(74,222,128,.4)}
.st-sch{background:rgba(96,125,160,.18);color:#9db4cc;border:1px solid rgba(148,163,184,.3)}
.st-post{background:rgba(245,166,35,.16);color:#f5a623;border:1px solid rgba(245,166,35,.4)}
.round-block{margin:.4rem 0 1.2rem}
.round-block h3{font-size:.8rem;letter-spacing:1.2px;text-transform:uppercase;color:#4fd1c5;margin:.9rem 0 .45rem;border-bottom:1px solid rgba(79,209,197,.25);padding-bottom:.3rem}
.stage-title{font-size:.85rem;color:#f5a623;margin:1.1rem 0 .4rem;text-transform:uppercase;letter-spacing:1px}
/* Tabla de posiciones */
.standings{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--navy,#0c182a);border-radius:10px;overflow:hidden}
.standings th{font-size:.68rem;text-transform:uppercase;letter-spacing:.6px;color:#7d94b5;padding:.55rem .4rem;border-bottom:1px solid rgba(148,163,184,.2);text-align:center}
.standings td{padding:.5rem .4rem;text-align:center;border-bottom:1px solid rgba(148,163,184,.08);color:#c9d8ec}
.standings tbody tr:hover{background:#16294a}
.standings .st-team{text-align:left;white-space:nowrap;font-weight:600}
.standings .pos{font-weight:800;width:34px;border-left:4px solid transparent}
.standings .pos.z-lib{border-left-color:#22c55e;color:#4ade80}
.standings .pos.z-rel{border-left-color:#ef4444;color:#f87171}
.standings .pill{width:18px;height:18px;font-size:.62rem;border-radius:4px}
.stand-legend{display:flex;gap:1.2rem;font-size:.75rem;color:#8fa8c6;margin:.5rem 0 0}
.zl{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:middle}
.zl.z-lib{background:#22c55e}.zl.z-rel{background:#ef4444}
/* Escudos grandes enmarcados */
.crest-xl img,.crest-xxl img{object-fit:contain;display:block}
.crest-xl{width:72px;height:72px;padding:8px;background:#fff;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;margin:0}
.crest-xl img{width:56px;height:56px}
.crest-xxl{width:96px;height:96px;padding:10px;background:#fff;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin:0}
.crest-xxl img{width:76px;height:76px}
/* Hero de partido */
.match-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:linear-gradient(135deg,#0e1f38,#122a4a);border:1px solid rgba(79,209,197,.2);border-radius:16px;padding:1.6rem 1.2rem;margin:1.2rem 0}
.mh-team{display:grid;justify-items:center;gap:.5rem;text-align:center}
.mh-team strong{font-size:1.05rem}
.mh-team small{color:#7d94b5;font-size:.72rem;text-transform:uppercase;letter-spacing:1px}
.mh-score{display:grid;justify-items:center;gap:.35rem;min-width:150px}
.mh-score b{font-size:3rem;font-weight:900;color:#fff;letter-spacing:2px}
.mh-score b i{color:#4fd1c5;font-style:normal;margin:0 .3rem}
.mh-vs{font-size:2rem;color:#8fa8c6}
.mh-score small{color:#8fa8c6;font-size:.78rem}
.mh-forms{display:flex;justify-content:space-around;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:#9db4cc;margin-bottom:1rem}
.mh-forms .form-pills{display:inline-flex;margin-left:.4rem;vertical-align:middle}
/* Hero de equipo y torneo */
.team-hero,.comp-hero{display:flex;align-items:center;gap:1.4rem;background:linear-gradient(135deg,#0e1f38,#122a4a);border:1px solid rgba(79,209,197,.2);border-radius:16px;padding:1.4rem 1.6rem;margin:1rem 0 1.2rem;flex-wrap:wrap}
.team-hero h1,.comp-hero h1{margin:.15rem 0;font-size:1.9rem}
.th-info p,.ch-info p{color:#9db4cc;font-size:.9rem;margin:.2rem 0}
.ch-crest img{width:80px;height:80px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}
.stat-strip{display:flex;flex-wrap:wrap;gap:2px;background:var(--navy-2,#12233d);border:1px solid rgba(148,163,184,.14);border-radius:12px;overflow:hidden;margin-bottom:1.2rem}
.stat-strip>div{flex:1;min-width:110px;padding:.8rem 1rem;background:var(--navy,#0c182a);display:grid;gap:.2rem}
.stat-strip span{font-size:.66rem;text-transform:uppercase;letter-spacing:.8px;color:#7d94b5}
.stat-strip strong{font-size:1.25rem;color:#fff}
/* Rejillas de equipos y competiciones */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem}
.team-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem .5rem;background:var(--navy,#0c182a);border:1px solid rgba(148,163,184,.14);border-radius:10px;text-decoration:none;color:#dce7f5;text-align:center;transition:border-color .15s,transform .15s}
.team-cell:hover{border-color:#4fd1c5;transform:translateY(-2px)}
.team-cell .crest{margin:0}
.team-cell strong{font-size:.8rem;line-height:1.25}
.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.7rem}
.comp-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;background:var(--navy,#0c182a);border:1px solid rgba(148,163,184,.16);border-radius:12px;text-decoration:none;color:#dce7f5}
.comp-card:hover{border-color:#4fd1c5}
.comp-card h3{margin:0;font-size:1rem}
.comp-card p{margin:.2rem 0 0;font-size:.78rem;color:#8fa8c6}
.comp-card .crest img{width:40px;height:40px}
.cc-go{margin-left:auto;font-size:.75rem;color:#4fd1c5;white-space:nowrap}
/* Plantilla */
.squad-pos{font-size:.82rem;color:#4fd1c5;text-transform:uppercase;letter-spacing:1px;margin:1rem 0 .3rem}
.squad-pos span{color:#7d94b5;font-weight:400}
.squad-table{width:100%;border-collapse:collapse;font-size:.85rem}
.squad-table th{font-size:.66rem;text-transform:uppercase;color:#7d94b5;text-align:left;padding:.45rem .5rem;border-bottom:1px solid rgba(148,163,184,.2)}
.squad-table td{padding:.45rem .5rem;border-bottom:1px solid rgba(148,163,184,.07);color:#c9d8ec}
.squad-table .sq-num{color:#4fd1c5;font-weight:800;width:34px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media (max-width:880px){
  .mrow{grid-template-columns:56px minmax(0,1fr) 58px minmax(0,1fr);gap:.35rem;padding:.45rem .55rem}
  .mrow-meta{grid-column:1/-1;text-align:left;padding-left:.2rem}
  .mrow-home,.mrow-away{font-size:.8rem}
  .match-hero{grid-template-columns:1fr;gap:1rem;padding:1.2rem .8rem}
  .mh-score{order:-1}
  .two-col{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  .standings{font-size:.75rem}
  .standings td:nth-child(4),.standings th:nth-child(4),.standings td:nth-child(5),.standings th:nth-child(5),.standings td:nth-child(6),.standings th:nth-child(6){display:none}
  .mh-score b{font-size:2.2rem}
  .crest-xl{width:60px;height:60px}.crest-xl img{width:46px;height:46px}
  .crest-xxl{width:72px;height:72px}.crest-xxl img{width:56px;height:56px}
}
.mrow-home .crest{margin:0 0 0 .4rem;vertical-align:middle}
.mrow-away .crest{margin:0 .4rem 0 0;vertical-align:middle}
.mrow-home .crest img,.mrow-away .crest img{width:20px;height:20px}
.st-team .crest img{width:20px;height:20px}
.team-cell .crest-lg img{width:34px;height:34px}

/* Veredicto y analisis de pronostico estilo editorial */
.prono-verdict {
  background: linear-gradient(150deg, #123052 0%, #0e2544 100%);
  border: 1px solid #2d4a6f;
  border-left: 4px solid var(--aff-green);
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
  margin: 1.4rem 0;
}
.prono-verdict .verdict-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aff-green);
  margin-bottom: 0.4rem;
}
.prono-verdict p {
  margin: 0;
  color: #eaf2fd;
  font-size: 0.97rem;
  line-height: 1.6;
}
.prono-risk {
  border: 1px solid #2d4058;
  border-left: 4px solid #d97b2b;
  border-radius: 10px;
  background: #122640;
  padding: 0.9rem 1.15rem;
  margin: 1.3rem 0;
}
.prono-risk h3 {
  margin: 0 0 0.45rem;
  font-size: 0.95rem;
  color: #f0c894;
}
.prono-risk ul {
  margin: 0;
  padding-left: 1.15rem;
  color: #b9cbdf;
  font-size: 0.88rem;
}
.prono-risk li {
  margin-bottom: 0.3rem;
}
.key-factor {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  background: #102138;
  border: 1px solid #2d4058;
  border-radius: 10px;
  padding: 0.8rem 1rem;
  margin: 0.6rem 0;
}
.key-factor .kf-n {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--aff-blue);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.1rem;
}
.key-factor p {
  margin: 0;
  color: #d9e5f4;
  font-size: 0.92rem;
  line-height: 1.5;
}
.form-narrative {
  background: #102138;
  border: 1px solid #2d4058;
  border-radius: 12px;
  padding: 1rem 1.15rem;
  margin: 0.9rem 0;
}
.form-narrative .fn-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.55rem;
  flex-wrap: wrap;
}
.form-narrative .fn-head strong {
  font-size: 1.02rem;
  color: #f1f6ff;
}
.form-narrative p {
  margin: 0.4rem 0;
  color: #c9d6e6;
  font-size: 0.92rem;
  line-height: 1.55;
}
.form-narrative .fn-seq {
  color: #9db4cc;
  font-size: 0.86rem;
}
.market-card {
  border: 1px solid #2d4058;
  border-radius: 10px;
  background: #102138;
  padding: 0.85rem 1.05rem;
  margin: 0.6rem 0;
}
.market-card h4 {
  margin: 0 0 0.35rem;
  font-size: 0.93rem;
  color: var(--accent);
}
.market-card p {
  margin: 0;
  font-size: 0.9rem;
  color: #c9d6e6;
  line-height: 1.55;
}
