/* Club Atletico Maristas — CSS simple */
:root {
  --red:    #c8102e;
  --red-d:  #a00e25;
  --yellow: #FFD700;
  --black:  #111;
  --dark:   #1e1e1e;
  --gray:   #f4f4f4;
  --border: #e0e0e0;
  --text:   #222;
  --muted:  #777;
  --white:  #fff;
  --r:      6px;
  --t:      .22s ease;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:64px; }
body { font-family:'Barlow',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; line-height:1.5; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { list-style:none; }
.wrap { max-width:1180px; margin:0 auto; padding:0 20px; }

/* ---- TOP BAR ---- */
.topbar { background:var(--black); padding:7px 0; overflow:hidden; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 20px; max-width:100%; }
.ticker-wrap { flex:1; overflow:hidden; position:relative; }
.ticker-wrap::before,
.ticker-wrap::after { content:''; position:absolute; top:0; bottom:0; width:40px; z-index:2; pointer-events:none; }
.ticker-wrap::before { left:0; background:linear-gradient(to right, var(--black), transparent); }
.ticker-wrap::after  { right:0; background:linear-gradient(to left,  var(--black), transparent); }
.ticker-track { display:flex; width:max-content; animation:ticker-scroll 28s linear infinite; }
.ticker-track span { font-size:12px; color:#aaa; white-space:nowrap; padding-right:0; }
.ticker-track i { color:var(--red); margin-right:6px; }
@keyframes ticker-scroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
.ticker-track:hover { animation-play-state:paused; }
.top-social { display:flex; gap:14px; flex-shrink:0; }
.top-social a { font-size:13px; color:#666; transition:color var(--t); }
.top-social a:hover { color:var(--yellow); }

/* ---- HEADER ---- */
.header { position:sticky; top:0; z-index:100; background:var(--white); border-bottom:1px solid var(--border); box-shadow:0 1px 6px rgba(0,0,0,.07); }
.nav-wrap { display:flex; align-items:center; height:62px; gap:0; }
.burger { display:none; background:none; border:none; font-size:20px; cursor:pointer; color:var(--text); padding:6px; margin-right:8px; }
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; margin-right:32px; }
.logo img { height:58px; width:auto; object-fit:contain; }
.logo span { font-size:14px; color:var(--muted); line-height:1.2; }
.logo strong { display:block; font-size:16px; font-weight:800; color:var(--text); }
nav { display:flex; gap:4px; }
nav a { font-size:14px; font-weight:600; padding:8px 12px; border-radius:var(--r); color:var(--text); transition:color var(--t), background var(--t); }
nav a:hover, nav a.active { color:var(--red); background:rgba(200,16,46,.06); }

/* ---- HERO ---- */
.hero { position:relative; height:520px; display:flex; align-items:flex-end; padding-bottom:16px; overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.1) 100%); }
.hero-body { position:relative; z-index:2; opacity:.65; }

/* Hero slider */
.hero-slider { position:absolute; inset:0; }
.hs-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; will-change:opacity; }
.hs-slide.active { opacity:1; }
.hs-vid { background:#141414; }
.hs-vid video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hs-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; background:rgba(0,0,0,.32); color:#fff; border:none; width:44px; height:44px; border-radius:50%; font-size:18px; cursor:pointer; transition:background .2s; display:flex; align-items:center; justify-content:center; }
.hs-arrow:hover { background:rgba(0,0,0,.62); }
.hs-prev { left:18px; }
.hs-next { right:18px; }
.hs-dots { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.hs-dot { width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.45); cursor:pointer; border:none; padding:0; transition:background .25s, transform .25s; }
.hs-dot.active { background:#fff; transform:scale(1.25); }
.hero-tag { display:inline-block; background:var(--red); color:var(--white); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:3px 12px; border-radius:3px; margin-bottom:14px; }
.hero-body h1 { font-family:'Bebas Neue',cursive; font-size:clamp(44px,6vw,80px); color:var(--white); line-height:1; margin-bottom:10px; }
.hero-body h1 em { color:var(--yellow); font-style:normal; }
.hero-body p { font-size:19px; color:var(--yellow); letter-spacing:5px; text-transform:uppercase; margin-bottom:28px; font-weight:700; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.btn-red { background:var(--red); color:var(--white); padding:12px 28px; border-radius:var(--r); font-weight:700; font-size:14px; transition:background var(--t), transform var(--t); }
.btn-red:hover { background:var(--red-d); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--white); padding:11px 28px; border-radius:var(--r); font-weight:700; font-size:14px; border:2px solid rgba(255,255,255,.6); transition:background var(--t), border-color var(--t); }
.btn-outline:hover { background:rgba(255,255,255,.1); border-color:var(--white); }

/* ---- MATCH BAND ---- */
.match-band { background:var(--red); }
.band-wrap { display:flex; align-items:center; min-height:80px; flex-wrap:wrap; }
.band-block { padding:14px 28px; display:flex; flex-direction:column; justify-content:center; gap:4px; }
.band-next { flex:1; align-items:center; }
.band-stats { flex-direction:row; gap:24px; }
.band-sep { width:1px; background:rgba(255,255,255,.2); align-self:stretch; margin:10px 0; }
.band-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.55); }
.band-match { display:flex; align-items:center; gap:14px; }
.band-match span { font-size:15px; font-weight:700; color:var(--white); }
.band-score { font-family:'Bebas Neue',cursive; font-size:30px; color:var(--white); background:rgba(0,0,0,.2); padding:2px 14px; border-radius:4px; line-height:1.1; }
.band-score span { color:rgba(255,255,255,.5); font-size:18px; margin:0 4px; }
.band-vs { font-family:'Bebas Neue',cursive; font-size:24px; color:rgba(255,255,255,.5); }
.band-info { font-size:11px; color:rgba(255,255,255,.6); display:flex; align-items:center; gap:4px; }
.band-info i { font-size:10px; }
.bs { display:flex; flex-direction:column; align-items:center; }
.bs strong { font-family:'Bebas Neue',cursive; font-size:30px; color:var(--white); line-height:1; }
.bs small { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.55); }

/* ---- SECTIONS ---- */
.section { padding:56px 0; }
.bg-gray { background:var(--gray); }
.sec-head { display:flex; align-items:center; justify-content:space-between; border-bottom:3px solid var(--red); padding-bottom:12px; margin-bottom:24px; }
.sec-head h2 { font-family:'Bebas Neue',cursive; font-size:26px; letter-spacing:2px; }
.ver-mas { font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--red); display:flex; align-items:center; gap:5px; transition:gap var(--t); }
.ver-mas:hover { gap:8px; }

/* ---- PROXIMA FECHA ---- */
.proxima-block { margin-bottom:28px; border-radius:var(--r); overflow:hidden; box-shadow:0 1px 8px rgba(0,0,0,.08); }
.proxima-block .fx-grid { padding:18px; margin-bottom:0; }
.proxima-head { background:var(--red); color:var(--white); padding:10px 16px; font-size:13px; font-weight:700; letter-spacing:.5px; display:flex; justify-content:space-between; align-items:center; }
.proxima-head i { margin-right:6px; }
.proxima-updated { font-size:11px; font-weight:400; opacity:.75; }
.proxima-table-wrap { overflow-x:auto; }
.proxima-tabla { box-shadow:none; border-radius:0; }
.fixture-download { display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px; background:var(--gray,#f5f5f5); border-top:1px solid var(--border); text-align:center; }
.fixture-btns { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.btn-fixture { display:inline-flex; align-items:center; gap:8px; background:var(--red); color:var(--white); font-weight:700; font-size:14px; padding:11px 22px; border-radius:var(--r); transition:background var(--t), transform var(--t); }
.btn-fixture:hover { background:#a00d26; transform:translateY(-1px); }
.btn-fixture i { font-size:16px; }
.btn-fixture-alt { background:var(--dark,#1a1a1a); }
.btn-fixture-alt:hover { background:#000; }
.fixture-note { font-size:11px; color:var(--muted); letter-spacing:.3px; }
.proxima-tabla tbody tr.local td:nth-child(4) { font-weight:700; color:var(--red); }
.proxima-tabla tbody tr.visita td:nth-child(5) { font-weight:700; color:var(--red); }
.proxima-tabla td.serie-badge { font-size:11px; font-weight:800; letter-spacing:.5px; white-space:nowrap; }

/* ---- NEWS ---- */
.news-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.news-grid.news-grid-all { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.news-big, .news-small { background:var(--white); border-radius:var(--r); overflow:hidden; box-shadow:0 1px 8px rgba(0,0,0,.08); }
.news-side { display:flex; flex-direction:column; gap:12px; }
.news-img-wrap { display:block; position:relative; overflow:hidden; }
.news-big .news-img-wrap { aspect-ratio:16/10; }
.news-small .news-img-wrap { aspect-ratio:16/8; }
.news-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.news-big:hover .news-img-wrap img,
.news-small:hover .news-img-wrap img { transform:scale(1.04); }
.news-cat { position:absolute; top:10px; left:10px; background:var(--red); color:var(--white); font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:3px 9px; border-radius:3px; }
.news-body { padding:14px; }
.news-body time { font-size:11px; color:var(--muted); display:block; margin-bottom:5px; }
.news-body h3 { font-size:15px; font-weight:700; line-height:1.35; color:var(--text); margin-bottom:6px; }
.news-big .news-body h3 { font-size:18px; margin-bottom:10px; }
.news-body h3 a:hover { color:var(--red); }
.news-body p { font-size:13px; color:var(--muted); margin-bottom:10px; line-height:1.5; }
.news-link { font-size:12px; font-weight:700; color:var(--red); display:inline-flex; align-items:center; gap:5px; transition:gap var(--t); }
.news-link:hover { gap:8px; }
.news-actions { display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap; }
.ns-like { display:inline-flex; align-items:center; gap:6px; padding:5px 14px; border-radius:20px; border:2px solid var(--border); background:transparent; color:var(--muted); font-size:13px; font-weight:700; cursor:pointer; transition:all .2s; }
.ns-like:hover { border-color:var(--red); color:var(--red); transform:scale(1.05); }
.ns-like.liked { background:var(--red); border-color:var(--red); color:#fff; }
.ns-like .like-count { font-size:13px; font-weight:800; }
.news-share { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.news-share-label { font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; margin-right:2px; }
.ns-btn { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; font-size:13px; border:none; cursor:pointer; transition:opacity .2s,transform .15s; text-decoration:none; }
.ns-btn:hover { opacity:.85; transform:scale(1.12); }
.ns-wa   { background:#25D366; color:#fff; }
.ns-tw   { background:#000;    color:#fff; }
.ns-ig   { background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%); color:#fff; }
.ns-copy { background:var(--border); color:var(--muted); }

/* ---- BAND-VAL / BAND-LINK ---- */
.band-val { font-size:15px; font-weight:700; color:var(--white); display:flex; align-items:center; gap:6px; }
.band-val i { color:rgba(255,255,255,.7); font-size:13px; }
.band-link { font-size:13px; font-weight:700; color:var(--yellow); display:flex; align-items:center; gap:5px; margin-top:4px; transition:opacity var(--t); }
.band-link:hover { opacity:.8; }

/* ---- SEC-SUB ---- */
.sec-sub { font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }

/* ---- SERIES GRID ---- */
.series-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.serie-card { background:var(--white); border-radius:var(--r); overflow:hidden; box-shadow:0 1px 8px rgba(0,0,0,.08); display:flex; flex-direction:column; }
.serie-header {
  padding:18px 14px; display:flex; flex-direction:column; align-items:center; gap:8px;
  color:var(--white); position:relative; overflow:hidden;
  background-size:cover; background-position:center; min-height:110px; justify-content:center;
}
.serie-header-overlay { position:absolute; inset:0; z-index:0; }
.serie-header i, .serie-header h3 { position:relative; z-index:1; }
.serie-header i { font-size:24px; opacity:.95; }
.serie-header h3 { font-family:'Bebas Neue',cursive; font-size:22px; letter-spacing:2px; text-shadow:0 2px 6px rgba(0,0,0,.5); }
.serie-header.junior      .serie-header-overlay { background:linear-gradient(135deg,rgba(37,99,235,.82),rgba(29,78,216,.82)); }
.serie-header.senior      .serie-header-overlay { background:linear-gradient(135deg,rgba(200,16,46,.85),rgba(160,14,37,.85)); }
.serie-header.supersenior .serie-header-overlay { background:linear-gradient(135deg,rgba(124,58,237,.82),rgba(109,40,217,.82)); }
.serie-header.dorada      .serie-header-overlay { background:linear-gradient(135deg,rgba(217,119,6,.82),rgba(180,83,9,.82)); }
.serie-header.diamante    .serie-header-overlay { background:linear-gradient(135deg,rgba(8,145,178,.82),rgba(14,116,144,.82)); }
.serie-body { padding:14px; flex:1; display:flex; flex-direction:column; gap:8px; }
.serie-stat-row { display:flex; justify-content:space-between; align-items:center; font-size:12px; padding:5px 0; border-bottom:1px solid var(--border); }
.serie-stat-row span { color:var(--muted); }
.serie-stat-row strong { font-weight:800; color:var(--text); }
.serie-rivals { flex:1; }
.rivals-label { font-size:11px; font-weight:700; letter-spacing:.5px; color:var(--muted); text-transform:uppercase; display:block; margin-bottom:6px; margin-top:6px; }
.serie-rivals ul { display:flex; flex-direction:column; gap:3px; }
.serie-rivals ul li { font-size:11px; color:var(--text); padding:2px 0; border-bottom:1px solid var(--gray); }
.serie-link { display:flex; align-items:center; justify-content:center; gap:5px; font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--red); margin-top:10px; padding:7px; background:rgba(200,16,46,.06); border-radius:var(--r); transition:background var(--t); }
.serie-link:hover { background:rgba(200,16,46,.12); }

/* ---- SQUAD TABS ---- */
.squad-tab { display:none; }
.squad-tab.active-tab { display:block; }
.squad-serie-banner { position:relative; height:140px; border-radius:var(--r); overflow:hidden; margin-bottom:20px; background:var(--dark); }
.squad-serie-banner img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.ssb-overlay {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue',cursive; font-size:22px; letter-spacing:3px;
  color:var(--white); text-shadow:0 2px 8px rgba(0,0,0,.7);
}
.ssb-overlay span { position:relative; z-index:1; }
.junior-banner      .ssb-overlay { background:rgba(37,99,235,.55); }
.senior-banner      .ssb-overlay { background:rgba(200,16,46,.55); }
.supersenior-banner .ssb-overlay { background:rgba(124,58,237,.55); }
.dorada-banner      .ssb-overlay { background:rgba(217,119,6,.55); }
.diamante-banner { background:linear-gradient(135deg,#0891b2,#0e7490); }
.ssb-no-photo { flex-direction:column; gap:8px; background:transparent; }
.ssb-no-photo i { font-size:32px; opacity:.8; }

/* ---- DT CARD ---- */
.dt-card {
  display:grid; grid-template-columns:auto 1fr; align-items:stretch;
  background:var(--white); border-radius:14px; overflow:hidden;
  margin-bottom:32px; box-shadow:0 10px 34px rgba(0,0,0,.12);
}
.dt-photo {
  position:relative; display:flex; align-items:center; justify-content:center;
  padding:30px; background:linear-gradient(150deg, var(--red) 0%, var(--red-d) 60%, #6d0a1a 100%);
}
.dt-photo::after {
  content:""; position:absolute; right:-34px; bottom:-34px; width:190px; height:190px;
  background:url('escudo.png') center/contain no-repeat; opacity:.12; pointer-events:none;
}
.dt-photo img {
  position:relative; z-index:1; width:210px; height:auto; display:block;
  border-radius:10px; border:3px solid rgba(255,255,255,.9);
  box-shadow:0 12px 30px rgba(0,0,0,.4);
}
.dt-info { padding:32px 36px; display:flex; flex-direction:column; justify-content:center; }
.dt-role {
  display:inline-flex; align-items:center; gap:7px; align-self:flex-start;
  font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--white); background:var(--red); padding:5px 13px; border-radius:20px; margin-bottom:13px;
}
.dt-info h3 { font-family:'Bebas Neue',cursive; font-size:44px; letter-spacing:1px; color:var(--text); line-height:1; margin-bottom:11px; }
.dt-info p { font-size:15px; color:var(--muted); line-height:1.65; margin-bottom:22px; max-width:60ch; }
.dt-stats { display:flex; gap:14px; flex-wrap:wrap; }
.dt-stat {
  background:var(--gray); border:1px solid var(--border); border-left:3px solid var(--red);
  border-radius:8px; padding:10px 16px; min-width:96px;
}
.dt-stat strong { display:block; font-family:'Bebas Neue',cursive; font-size:27px; color:var(--red); line-height:1; }
.dt-stat span { font-size:11px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
@media(max-width:680px) {
  .dt-card { grid-template-columns:1fr; }
  .dt-photo { padding:26px; }
  .dt-photo::after { width:150px; height:150px; }
  .dt-photo img { width:190px; }
  .dt-info { padding:26px; text-align:center; align-items:center; }
  .dt-info p { max-width:none; }
  .dt-stats { justify-content:center; }
}

/* ---- GALLERY TABS ---- */
.gallery { display:none; grid-template-columns:repeat(3,1fr); gap:8px; }
.gallery.active-tab { display:grid; }

/* ---- COMP TABS ---- */
.comp-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.ctab { font-size:13px; font-weight:700; padding:8px 18px; border-radius:var(--r); cursor:pointer; border:2px solid var(--border); background:transparent; color:var(--muted); transition:all var(--t); }
.ctab:hover,.ctab.active { background:var(--red); border-color:var(--red); color:var(--white); }
.comp-table { display:none; }
.comp-table.active-tab { display:block; }
.comp-notice { background:rgba(200,16,46,.05); border:1px solid rgba(200,16,46,.15); border-radius:var(--r); padding:10px 14px; font-size:13px; color:var(--muted); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.comp-notice i { color:var(--red); flex-shrink:0; }
.comp-notice a { color:var(--red); font-weight:600; }

/* ---- RESULTS + TABLE ---- */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.results { display:flex; flex-direction:column; gap:3px; }
.result { display:flex; align-items:center; gap:10px; background:var(--white); padding:11px 14px; border-radius:var(--r); border-left:4px solid transparent; }
.result.win  { border-color:#22c55e; }
.result.draw { border-color:#f59e0b; }
.result.loss { border-color:var(--red); }
.r-date { font-size:11px; color:var(--muted); min-width:72px; line-height:1.3; }
.r-match { flex:1; display:flex; align-items:center; justify-content:space-between; gap:6px; }
.r-team { font-size:13px; font-weight:500; display:flex; align-items:center; gap:5px; }
.r-team.bold { font-weight:700; }
.r-team img { width:16px; height:16px; object-fit:contain; }
.r-score { font-family:'Bebas Neue',cursive; font-size:20px; background:var(--gray); padding:1px 10px; border-radius:4px; }
.r-badge { font-size:11px; font-weight:800; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.r-badge.win  { background:#dcfce7; color:#16a34a; }
.r-badge.draw { background:#fef9c3; color:#ca8a04; }
.r-badge.loss { background:#fee2e2; color:var(--red); }

.tabla { width:100%; border-collapse:collapse; font-size:13px; background:var(--white); border-radius:var(--r); overflow:hidden; box-shadow:0 1px 8px rgba(0,0,0,.07); }
.tabla thead th { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:10px 12px; color:var(--muted); border-bottom:2px solid var(--border); text-align:center; }
.tabla thead th:nth-child(2) { text-align:left; }
.tabla tbody td { padding:10px 12px; text-align:center; border-bottom:1px solid var(--border); }
.tabla tbody td:nth-child(2) { text-align:left; }
.tabla tr.yo { background:rgba(200,16,46,.05); }
.tabla tr.yo td { font-weight:700; color:var(--red); }
.t-equipo { display:flex; align-items:center; gap:7px; }
.t-equipo img { width:18px; height:18px; object-fit:contain; }
.t-equipo span { width:18px; height:18px; background:var(--border); border-radius:50%; display:inline-block; }

/* ---- PLANTEL ---- */
.pos-filter { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:22px; }
.fbtn { font-size:12px; font-weight:700; letter-spacing:.5px; padding:7px 16px; border-radius:var(--r); cursor:pointer; border:2px solid var(--border); background:transparent; color:var(--muted); transition:all var(--t); }
.fbtn:hover, .fbtn.active { background:var(--red); border-color:var(--red); color:var(--white); }
.squad { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:14px; }
.pcard { background:var(--white); border-radius:var(--r); overflow:hidden; box-shadow:0 1px 8px rgba(0,0,0,.08); transition:transform var(--t), box-shadow var(--t); }
.pcard:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,.13); }
.pcard.hidden { display:none; }
/* Avatar uniforme con los colores del escudo (rojo + dorado) para todos */
.pcard-avatar {
  position:relative; padding:20px 0 16px;
  display:flex; align-items:center; justify-content:center; font-size:36px;
  background:linear-gradient(135deg, rgba(200,16,46,.12), rgba(255,215,0,.16));
  color:var(--red);
}
.pnum { position:absolute; top:6px; right:10px; font-family:'Bebas Neue',cursive; font-size:26px; color:rgba(200,16,46,.22); line-height:1; }
.pcard-info { padding:10px 12px 14px; }
.pbadge { font-size:9px; font-weight:800; letter-spacing:1.5px; padding:2px 7px; border-radius:3px; display:inline-block; margin-bottom:5px; background:rgba(200,16,46,.1); color:var(--red); }
.pcard-info h3 { font-size:14px; font-weight:700; color:var(--text); margin-bottom:2px; }
.pcard-info span { font-size:11px; color:var(--muted); }

/* ---- GALLERY ---- */
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.gitem { aspect-ratio:4/3; border-radius:var(--r); overflow:hidden; position:relative; cursor:pointer; background:var(--border); }
.gitem img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.gitem:hover img { transform:scale(1.05); }
.gover { position:absolute; inset:0; background:rgba(200,16,46,0); display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--white); opacity:0; transition:all var(--t); }
.gitem:hover .gover { opacity:1; background:rgba(200,16,46,.45); }

/* Lightbox */
.lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.93); align-items:center; justify-content:center; }
.lightbox.active { display:flex; }
.lightbox img { max-width:90vw; max-height:88vh; object-fit:contain; border-radius:4px; }
.lightbox button { position:absolute; background:rgba(255,255,255,.1); border:none; color:var(--white); cursor:pointer; border-radius:50%; width:42px; height:42px; display:flex; align-items:center; justify-content:center; font-size:15px; transition:background var(--t); }
.lightbox button:hover { background:var(--red); }
#lbClose { top:16px; right:16px; }
#lbPrev  { left:16px; top:50%; transform:translateY(-50%); }
#lbNext  { right:16px; top:50%; transform:translateY(-50%); }
#lbCount { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); font-size:12px; color:rgba(255,255,255,.45); letter-spacing:2px; }

/* ---- CONTACT ---- */
.contact-grid { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; }
.citem { display:flex; gap:12px; align-items:flex-start; margin-bottom:18px; }
.cicon { width:38px; height:38px; background:var(--red); border-radius:var(--r); display:flex; align-items:center; justify-content:center; color:var(--white); font-size:14px; flex-shrink:0; }
.citem h4 { font-size:13px; font-weight:700; margin-bottom:2px; }
.citem p { font-size:13px; color:var(--muted); }
.c-socials { display:flex; gap:8px; margin-top:10px; }
.c-socials a { width:36px; height:36px; border-radius:var(--r); background:var(--gray); display:flex; align-items:center; justify-content:center; font-size:14px; transition:background var(--t), color var(--t); }
.c-socials a:hover { background:var(--red); color:var(--white); }
#contactForm { display:flex; flex-direction:column; gap:12px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#contactForm input, #contactForm textarea { width:100%; padding:11px 14px; border:2px solid var(--border); border-radius:var(--r); font-family:'Barlow',sans-serif; font-size:14px; color:var(--text); transition:border-color var(--t); }
#contactForm input:focus, #contactForm textarea:focus { border-color:var(--red); outline:none; }
#contactForm textarea { resize:vertical; }
#contactForm button { align-self:flex-start; background:var(--red); color:var(--white); border:none; padding:12px 28px; border-radius:var(--r); font-family:'Barlow',sans-serif; font-size:14px; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:7px; transition:background var(--t); }
#contactForm button:hover { background:var(--red-d); }

/* ---- SPONSORS ---- */
.sponsors-section { background:#f4f5f7; border-top:4px solid var(--red); padding-top:54px; }

/* Auspiciador principal destacado */
.sponsor-principal {
  display:flex; flex-direction:column; align-items:center; gap:14px;
  max-width:520px; margin:6px auto 38px; padding:36px 40px;
  background:var(--white); border-radius:18px; text-decoration:none;
  border:2px solid var(--yellow);
  box-shadow:0 16px 44px rgba(200,16,46,.16);
  transition:transform .2s, box-shadow .2s;
}
.sponsor-principal:hover { transform:translateY(-4px); box-shadow:0 22px 56px rgba(200,16,46,.24); }
.sp-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:var(--red); color:#fff; font-weight:800; font-size:12px;
  letter-spacing:1.2px; text-transform:uppercase; padding:7px 18px; border-radius:999px;
}
.sp-badge i { color:var(--yellow); }
.sp-logo { display:flex; align-items:center; gap:16px; }
.sp-logo img { width:56px; height:56px; object-fit:contain; }
.sp-name { font-family:'Bebas Neue',cursive; font-size:46px; line-height:1; color:var(--text); letter-spacing:1.5px; }
.sp-url { font-size:13px; color:var(--muted); letter-spacing:1.5px; text-transform:lowercase; }

.sponsors-grid { display:flex; flex-wrap:wrap; gap:26px; justify-content:center; margin-top:8px; }
.sponsor-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:var(--white); border:2px solid #e5e7eb; border-radius:14px; padding:34px 44px; min-width:230px; text-decoration:none; transition:border-color .2s,box-shadow .2s,transform .2s; }
.sponsor-card:hover { border-color:var(--red); box-shadow:0 8px 26px rgba(200,16,46,.14); transform:translateY(-4px); }
.sponsor-logo-wrap { display:flex; align-items:center; gap:12px; }
.sponsor-favicon { width:40px; height:40px; object-fit:contain; }

/* ---- ADMISIÓN ---- */
.admision-card {
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  background:var(--white); border:2px solid #d1d5db; border-radius:var(--r);
  padding:32px 28px; text-decoration:none; transition:all var(--t);
  color:var(--text); gap:14px;
}
.admision-card.admision-primary {
  border-color:var(--red);
}
.admision-card:hover {
  border-color:var(--red); box-shadow:0 8px 28px rgba(200,16,46,.15);
  transform:translateY(-4px);
}
.admision-icon {
  width:90px; height:90px; display:flex; align-items:center; justify-content:center;
  background:rgba(200,16,46,.1); border-radius:50%; color:var(--red); font-size:40px;
}
.admision-card h3 { font-size:15px; font-weight:700; margin:0; text-align:center; }
.admision-card p {
  font-size:12px; color:var(--text); text-align:center; margin:0;
  font-weight:600; line-height:1.4; text-transform:uppercase; letter-spacing:.5px;
}
.admision-cta {
  font-size:12px; font-weight:700; color:var(--red);
  display:flex; align-items:center; gap:5px; margin-top:8px;
  transition:gap var(--t);
}
.admision-card:hover .admision-cta { gap:8px; }
.sponsor-name { font-family:'Bebas Neue',cursive; font-size:30px; color:var(--text); letter-spacing:1px; }
.sponsor-url { font-size:12px; color:var(--muted); letter-spacing:1px; text-transform:lowercase; }

/* ---- FOOTER ---- */
.footer { background:var(--black); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:32px 20px; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand img { width:44px; object-fit:contain; }
.footer-brand h3 { font-family:'Bebas Neue',cursive; font-size:18px; color:var(--white); letter-spacing:1px; }
.footer-brand p { font-size:12px; color:#555; }
.footer-links { display:flex; gap:16px; flex-wrap:wrap; }
.footer-links a { font-size:13px; color:#555; transition:color var(--t); }
.footer-links a:hover { color:var(--yellow); }
.footer-social { display:flex; gap:10px; }
.footer-social a { width:34px; height:34px; border-radius:var(--r); background:rgba(255,255,255,.07); color:#666; display:flex; align-items:center; justify-content:center; font-size:14px; transition:background var(--t), color var(--t); }
.footer-social a:hover { background:var(--red); color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:14px 20px; text-align:center; font-size:12px; color:#333; }

/* ---- RESPONSIVE ---- */
@media(max-width:1100px) {
  .series-grid { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:900px) {
  .news-grid { grid-template-columns:1fr; }
  .news-side { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .two-col { grid-template-columns:1fr; }
  .hero { height:400px; }
  .band-stats { display:none; }
  .series-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:680px) {
  nav { display:none; position:absolute; top:62px; left:0; right:0; background:var(--white); border-bottom:1px solid var(--border); flex-direction:column; padding:8px 0; z-index:50; box-shadow:0 4px 12px rgba(0,0,0,.1); }
  nav.open { display:flex; }
  nav a { padding:12px 20px; border-radius:0; }
  .burger { display:block; }
  .gallery { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
  .news-side { grid-template-columns:1fr; }
  .band-sep { display:none; }
  .band-next { align-items:flex-start; }
  .squad { grid-template-columns:repeat(3,1fr); }
  .series-grid { grid-template-columns:1fr 1fr; }
  .comp-tabs { gap:4px; }
  .ctab { font-size:12px; padding:7px 12px; }
  .comp-table { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .proxima-head { flex-wrap:wrap; gap:4px; }
}
@media(max-width:440px) {
  .squad { grid-template-columns:1fr 1fr; }
  .hero { height:340px; }
  .hero-btns { flex-direction:column; }
  .series-grid { grid-template-columns:1fr; }
  .hero-body p { font-size:15px; letter-spacing:2px; }
}

/* ---- NAV SOCIALS ---- */
.nav-socials { display:flex; gap:12px; margin-left:auto; padding-left:16px; }
.nav-socials a { font-size:16px; color:var(--muted); transition:color var(--t); }
.nav-socials a:hover { color:var(--red); }
@media(max-width:900px) { .nav-socials { display:none; } }

/* ---- COPAS GANADAS ---- */
.copas-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:18px; }
.copa-card {
  background:var(--white); border-radius:var(--r); padding:28px 20px;
  text-align:center; border:1px solid var(--border);
  transition:transform var(--t), box-shadow var(--t);
}
.copa-card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(0,0,0,.09); }
.copa-icon { font-size:42px; color:#f59e0b; display:block; margin-bottom:10px; }
.copa-year { font-family:'Bebas Neue',cursive; font-size:34px; color:var(--red); display:block; line-height:1; }
.copa-name { font-weight:700; font-size:14px; margin:8px 0 5px; color:var(--text); }
.copa-serie { font-size:11px; color:var(--muted); font-weight:700; letter-spacing:1px; text-transform:uppercase; }
@media(max-width:440px) { .copas-grid { grid-template-columns:1fr 1fr; } }

/* ====================================================
   Jugador de la Semana — Cards por serie
   ==================================================== */
.jsm-grid {
  display:grid; grid-template-columns:repeat(6,1fr); gap:16px;
}
.jsm-card {
  background:var(--white); border-radius:var(--r); overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.09); display:flex; flex-direction:column;
  align-items:center; transition:transform var(--t),box-shadow var(--t);
}
.jsm-card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(0,0,0,.14); }
.jsm-serie-bar {
  width:100%; padding:8px 0; text-align:center;
  font-family:'Bebas Neue',cursive; font-size:16px; letter-spacing:1px; color:#fff;
}
.jsm-serie-bar.junior     { background:var(--junior,    #2563eb); }
.jsm-serie-bar.senior     { background:var(--senior,    #16a34a); }
.jsm-serie-bar.supersenior{ background:var(--supersenior,#7c3aed); }
.jsm-serie-bar.dorada     { background:var(--dorada,    #d97706); }
.jsm-serie-bar.diamante   { background:var(--diamante,  #0891b2); }
.jsm-avatar-wrap { padding:20px 0 10px; }
.jsm-avatar {
  width:90px; height:90px; border-radius:50%; border:3px solid var(--border);
  background:var(--bg); overflow:hidden; position:relative;
  display:flex; align-items:center; justify-content:center;
  font-size:32px; color:var(--muted);
}
.jsm-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.jsm-star-icon {
  font-size:3.2rem;
  color:#FFD700;
  filter: drop-shadow(0 2px 6px rgba(180,130,0,.55)) drop-shadow(0 0 14px rgba(255,215,0,.35));
}
.jsm-star-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; border-radius:50%;
}
.jsm-dt-bar {
  background: linear-gradient(90deg, #1a1a2e 0%, #2d2d44 50%, #1a1a2e 100%);
  letter-spacing:1.5px;
  font-size:13px;
}
.jsm-dt-bar i { margin-right:5px; color:#c8a94a; }
.jsm-dt-avatar {
  border-color: #c8a94a;
  box-shadow: 0 0 0 3px rgba(200,169,74,.25);
}
.jsm-dt-card { }
.jsm-num {
  position:absolute; bottom:0; right:0;
  background:var(--red); color:#fff; font-size:11px; font-weight:800;
  width:22px; height:22px; border-radius:50%; border:2px solid #fff;
  display:flex; align-items:center; justify-content:center;
}
.jsm-info { padding:0 12px 18px; text-align:center; }
.jsm-name { font-size:13px; font-weight:700; color:var(--text); margin:0 0 4px; line-height:1.3; }
.jsm-pos  { font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; }
@media(max-width:1100px) { .jsm-grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px)  { .jsm-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) {
  .esm-avatar { width:50px; height:50px; font-size:18px; }
  .esm-row { gap:8px; }
  .esm-name { font-size:9px; max-width:64px; }
}

/* INSTAGRAM GRID */
.instagram-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:8px;
  margin-top:16px;
  max-width:100%;
}
.ig-post {
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.1);
  transition:all .3s cubic-bezier(.4,.0,.2,1);
  display:flex;
  flex-direction:column;
  border:1px solid #f0f0f0;
}
.ig-post:hover {
  transform:translateY(-2px);
  box-shadow:0 3px 8px rgba(0,0,0,.15);
}
.ig-post-img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:var(--border);
  filter:brightness(1.15) contrast(1.4) saturate(1.2);
  image-rendering:crisp-edges;
  -webkit-font-smoothing:antialiased;
}
.ig-post-body {
  padding:8px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.ig-post-caption {
  font-size:10px;
  line-height:1.2;
  color:var(--text);
  margin:0 0 4px;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ig-post-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:9px;
  color:var(--muted);
  margin-top:auto;
  padding-top:4px;
  border-top:1px solid #f5f5f5;
  gap:4px;
}
.ig-post-link {
  color:var(--red);
  font-weight:600;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:2px;
  font-size:8px;
}
.ig-post-link:hover { text-decoration:underline; }
.ig-post-date { font-size:8px; white-space:nowrap; }
@media(max-width:768px) {
  .instagram-grid { grid-template-columns:repeat(auto-fit, minmax(100px, 1fr)); gap:6px; max-width:100%; }
  .ig-post-body { padding:6px; }
  .ig-post-caption { font-size:9px; }
}
@media(max-width:480px) {
  .instagram-grid { grid-template-columns:repeat(3, 1fr); max-width:100%; }
  .ig-post-img { image-rendering:crisp-edges; }
}

/* ===== TARJETAS PROXIMO PARTIDO POR SERIE ===== */
.fx-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  margin-bottom:26px;
}
.fx-card {
  display:flex; flex-direction:column;
  border:1px solid var(--border);
  border-top:4px solid var(--red);
  border-radius:10px; overflow:hidden;
  background:var(--white);
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.fx-card:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.fx-top {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:13px 15px 0;
}
.fx-serie {
  font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  color:var(--white); background:var(--red);
  padding:5px 11px; border-radius:5px; white-space:nowrap;
}
.fx-when {
  font-size:14px; font-weight:800; color:var(--text);
  display:inline-flex; align-items:center; gap:5px; white-space:nowrap;
}
.fx-when i { color:var(--red); font-size:13px; }
.fx-match {
  display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:6px;
  padding:18px 12px 16px;
}
.fx-team { display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; }
.fx-crest {
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:var(--white); border:1px solid var(--border);
  box-shadow:0 3px 10px rgba(0,0,0,.1);
}
.fx-crest img { width:100%; height:100%; object-fit:contain; padding:5px; }
.fx-crest.initials {
  background:linear-gradient(135deg, #3a3a3a, #181818);
  color:#fff; font-weight:800; font-size:19px; letter-spacing:.5px; border:none;
}
.fx-name { font-size:13px; font-weight:700; color:var(--text); line-height:1.2; max-width:12ch; }
.fx-name.am { color:var(--red); font-weight:800; }
.fx-vsbox { display:flex; flex-direction:column; align-items:center; gap:4px; padding-top:14px; }
.fx-vs { font-family:'Bebas Neue', cursive; font-size:26px; line-height:1; color:var(--muted); margin-bottom:2px; }
.fx-day {
  font-size:12px; font-weight:800; color:var(--red);
  text-transform:uppercase; letter-spacing:.5px;
}
.fx-datetime {
  font-size:15px; font-weight:800; color:var(--text);
  white-space:nowrap; letter-spacing:.3px;
}
.fx-count {
  margin-top:auto;
  background:var(--gray); border-top:1px solid var(--border);
  padding:11px 12px 13px; text-align:center;
}
.fx-count-label {
  display:block; font-size:10px; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; color:var(--muted); margin-bottom:8px;
}
.fx-clock { display:flex; align-items:center; justify-content:center; gap:6px; }
.fx-u {
  display:flex; flex-direction:column; align-items:center;
  min-width:48px; padding:7px 4px;
  background:var(--white); border:1px solid var(--border); border-radius:8px;
}
.fx-u b {
  font-size:22px; font-weight:800; color:var(--red); line-height:1;
  font-variant-numeric:tabular-nums;
}
.fx-u small { font-size:8px; font-weight:700; letter-spacing:.5px; color:var(--muted); margin-top:5px; }
.fx-sep { font-size:18px; font-weight:700; color:#cfcfcf; }
.fx-card.is-live { border-top-color:#16a34a; }
.fx-card.is-live .fx-count { background:#ecfdf3; }
.fx-card.is-done { opacity:.7; }
.fx-badge {
  display:inline-block; font-size:13px; font-weight:800; letter-spacing:.5px;
  text-transform:uppercase; padding:6px 16px; border-radius:20px;
}
.fx-badge.live { background:#16a34a; color:#fff; }
.fx-badge.done { background:#e6e6e6; color:#888; }
@media(max-width:860px) { .fx-grid { grid-template-columns:repeat(2, 1fr); } }
@media(max-width:520px) {
  .fx-grid { grid-template-columns:1fr; }
  .fx-u { min-width:44px; }
  .fx-u b { font-size:20px; }
}
/* Escudos chicos en la tabla "Próxima Fecha" */
.proxima-tabla td.pf-team-cell { white-space:nowrap; }
.pf-logo {
  width:22px; height:22px; object-fit:contain;
  vertical-align:middle; margin-right:7px; flex-shrink:0;
}
.pf-logo-mono {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:linear-gradient(135deg, #3a3a3a, #181818);
  color:#fff; font-size:9px; font-weight:800; letter-spacing:.3px;
}

/* ===== NUEVA PIEL (incluye marca BTX) ===== */
.piel-brand {
  display:inline-flex; align-items:center; gap:14px;
  padding:10px 16px 10px 10px;
  border:1px solid var(--border); border-radius:12px;
  background:var(--gray);
  transition:border-color var(--t), transform var(--t), box-shadow var(--t);
}
.piel-brand:hover {
  border-color:var(--red); transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.piel-brand-logo { width:58px; height:auto; border-radius:8px; flex-shrink:0; }
.piel-brand-text { display:flex; flex-direction:column; line-height:1.25; text-align:left; }
.piel-brand-text strong { font-size:14px; font-weight:800; color:var(--text); }
.piel-brand-text small {
  font-size:12px; font-weight:700; color:var(--red);
  display:inline-flex; align-items:center; gap:5px;
}

.piel-showcase {
  display:grid;
  grid-template-columns:minmax(0, 420px) 1fr;
  gap:40px; align-items:center;
}
.piel-img-wrap {
  position:relative;
  border-radius:14px; overflow:hidden;
  background:#efefef;
  box-shadow:0 14px 38px rgba(0,0,0,.18);
  min-height:280px;
  display:flex; align-items:center; justify-content:center;
}
.piel-img { width:100%; height:auto; max-height:560px; object-fit:contain; display:block; }
.piel-img-wrap.no-img {
  background:linear-gradient(135deg, var(--red) 0%, var(--red-d) 100%);
}
.piel-img-wrap.no-img::after {
  content:"\f553";   /* fa-shirt */
  font-family:"Font Awesome 6 Free"; font-weight:900;
  font-size:120px; color:rgba(255,255,255,.55);
}
.piel-badge {
  position:absolute; top:14px; left:14px; z-index:2;
  background:var(--white); color:var(--red);
  font-size:14px; font-weight:800; letter-spacing:1px;
  padding:5px 12px; border-radius:6px;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.piel-kicker {
  display:inline-flex; align-items:center; gap:7px;
  font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  color:var(--red); margin-bottom:10px;
}
.piel-info h3 { font-size:30px; font-weight:800; line-height:1.1; margin-bottom:14px; color:var(--text); }
.piel-info > p { font-size:15px; color:var(--muted); line-height:1.6; margin-bottom:20px; max-width:54ch; }
.piel-feats { list-style:none; display:grid; gap:11px; margin:0 0 24px; padding:0; }
.piel-feats li {
  display:flex; align-items:center; gap:12px;
  font-size:14px; font-weight:600; color:var(--text);
}
.piel-feats i {
  color:var(--red); width:30px; height:30px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(200,16,46,.08); border-radius:50%;
}
.piel-info .btn-red { display:inline-flex; align-items:center; gap:8px; }
@media(max-width:760px) {
  .piel-showcase { grid-template-columns:1fr; gap:26px; }
  .piel-img-wrap { max-width:360px; margin:0 auto; min-height:260px; }
  .piel-info { text-align:center; }
  .piel-info > p { margin-left:auto; margin-right:auto; }
  .piel-feats li { justify-content:center; }
}

/* ===== ULTIMOS RESULTADOS ===== */
.res-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-bottom:26px;
}
.res-empty { color:var(--muted); font-size:14px; padding:18px 4px; }
.res-card {
  border:1px solid var(--border); border-top:4px solid #888;
  border-radius:10px; background:var(--white);
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  display:flex; flex-direction:column; transition:transform var(--t), box-shadow var(--t);
}
.res-card:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.res-card.win  { border-top-color:#16a34a; }
.res-card.loss { border-top-color:#c8102e; }
.res-card.draw { border-top-color:#d4a017; }
.res-top {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:13px 15px 0;
}
.res-serie {
  font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  color:var(--white); background:var(--red); padding:5px 11px; border-radius:5px; white-space:nowrap;
}
.res-fecha { font-size:13px; font-weight:700; color:var(--muted); white-space:nowrap; }
.res-cruce {
  display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:6px;
  padding:18px 12px 14px;
}
.res-team { display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; }
.res-logo {
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:var(--white); border:1px solid var(--border); box-shadow:0 3px 10px rgba(0,0,0,.1);
}
.res-logo[src], img.res-logo { object-fit:contain; padding:4px; }
.res-logo-mono {
  background:linear-gradient(135deg, #3a3a3a, #181818);
  color:#fff; font-weight:800; font-size:18px; border:none;
}
.res-name { font-size:13px; font-weight:700; line-height:1.2; }
.res-team.am .res-name { color:var(--red); }
.res-score {
  display:flex; align-items:center; gap:7px; padding-top:12px;
  font-family:'Bebas Neue',cursive;
}
.res-score b { font-size:34px; line-height:1; color:var(--text); }
.res-score span { font-size:20px; color:var(--muted); }
.res-chip {
  margin:0 15px 14px; text-align:center; font-size:12px; font-weight:800;
  letter-spacing:.5px; text-transform:uppercase; padding:6px; border-radius:5px;
}
.res-chip.win  { background:#ecfdf3; color:#16a34a; }
.res-chip.loss { background:#fdecec; color:#c8102e; }
.res-chip.draw { background:#fdf6e3; color:#b8860b; }
@media(max-width:860px) { .res-grid { grid-template-columns:repeat(2, 1fr); } }
@media(max-width:560px) { .res-grid { grid-template-columns:1fr; } }

/* ===== BANNER MUNDIAL 2026 (lateral derecho, solo texto) ===== */
.mundial-banner {
  position:absolute; right:18px; top:150px;
  z-index:900; width:210px; padding:18px 16px 14px;
  background:linear-gradient(160deg, #0a1a3f 0%, #122a63 55%, #0a1a3f 100%);
  color:#fff; border-radius:14px; border:1px solid rgba(255,255,255,.14);
  box-shadow:0 14px 40px rgba(0,0,0,.35); text-align:center;
}
.mundial-banner .mb-close {
  position:absolute; top:6px; right:9px; background:transparent; border:none;
  color:rgba(255,255,255,.6); font-size:20px; line-height:1; cursor:pointer; padding:2px;
}
.mundial-banner .mb-close:hover { color:#fff; }
.mb-tag {
  display:inline-block; font-size:11px; font-weight:800; letter-spacing:1.5px;
  text-transform:uppercase; background:rgba(255,255,255,.14);
  padding:4px 11px; border-radius:20px; margin-bottom:10px;
}
.mb-tag i { margin-right:4px; }
.mb-title {
  font-family:'Bebas Neue',cursive; font-size:26px; line-height:.95;
  letter-spacing:1px; margin-bottom:10px;
}
.mb-host { font-size:13px; font-weight:600; line-height:1.5; margin-bottom:6px; }
.mb-dates {
  font-size:12px; font-weight:700; color:#ffd34d; letter-spacing:.3px; margin-bottom:10px;
}
.mb-dates i { margin-right:4px; }
.mb-txt { font-size:12px; color:rgba(255,255,255,.82); line-height:1.5; margin-bottom:13px; }
.mb-btn {
  display:inline-flex; align-items:center; gap:7px; justify-content:center;
  width:100%; background:#fff; color:#0a1a3f; font-weight:800; font-size:13px;
  padding:9px 12px; border-radius:8px; transition:transform var(--t), box-shadow var(--t);
}
.mb-btn:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.3); }
.mb-disc {
  display:block; margin-top:9px; font-size:9px; line-height:1.4;
  color:rgba(255,255,255,.5); letter-spacing:.2px;
}
.mundial-banner.is-hidden { display:none; }
/* En pantallas medianas, achicar; en móvil, ocultar para no tapar contenido */
@media(max-width:1100px) { .mundial-banner { width:172px; right:10px; padding:14px 12px 12px; } }
@media(max-width:820px)  { .mundial-banner { display:none; } }

/* Goleadores de Maristas en la tarjeta de resultado */
.res-gol {
  margin:0 14px 12px; padding-top:11px; border-top:1px dashed var(--border);
  font-size:12px; font-weight:600; color:var(--text); line-height:1.5; text-align:center;
}
.res-gol i { color:var(--red); margin-right:5px; }

/* ===== COMPARTIR SECCIONES ===== */
.share-row {
  display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:16px 0 4px;
}
.share-row.share-end { padding-top:14px; border-top:1px solid var(--border); }
.share-label {
  font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:var(--muted); margin-right:2px;
}
.share-label i { margin-right:4px; }
.share-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%; border:none; cursor:pointer;
  color:#fff; font-size:16px; transition:transform var(--t), box-shadow var(--t);
}
.share-btn:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,.18); }
.share-btn.wa { background:#25d366; }
.share-btn.ig { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }

/* Toast (aviso al copiar enlace) */
.toast {
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px);
  background:#222; color:#fff; font-size:13px; font-weight:600;
  padding:11px 18px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.3);
  opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; z-index:1200;
  max-width:90vw; text-align:center;
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ===== CONTADOR DE VISITAS (sobrio) ===== */
.footer-bottom { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.visitas {
  font-size:11px; color:rgba(255,255,255,.4); letter-spacing:.3px;
  display:inline-flex; align-items:center; gap:5px;
}
.visitas b { font-weight:700; color:rgba(255,255,255,.6); }
.visitas i { font-size:11px; }

/* ---- Saludo de cumpleaños ---- */
.cumple-banner {
  background:linear-gradient(90deg, var(--red) 0%, var(--red-d) 100%);
  color:#fff; border-top:3px solid var(--yellow); border-bottom:3px solid var(--yellow);
  overflow:hidden;
}
.cumple-banner[hidden] { display:none; }
.cumple-wrap {
  display:flex; align-items:center; justify-content:center; gap:16px;
  padding:14px 20px; text-align:center;
}
.cumple-ico { font-size:30px; line-height:1; animation:cumple-pop 2.2s ease-in-out infinite; }
.cumple-ico-r { animation-delay:1.1s; }
.cumple-texto { display:flex; flex-direction:column; gap:2px; min-width:0; }
.cumple-titulo {
  font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  font-size:14px; color:var(--yellow);
}
.cumple-lista { font-size:16px; line-height:1.35; }
.cumple-lista strong { font-weight:700; }
.cumple-edad { color:var(--yellow); font-weight:700; }
.cumple-serie { color:rgba(255,255,255,.7); font-size:13px; }
@keyframes cumple-pop {
  0%, 100% { transform:scale(1) rotate(0); }
  50%      { transform:scale(1.18) rotate(-8deg); }
}
@media (max-width:560px) {
  .cumple-ico { font-size:24px; }
  .cumple-lista { font-size:14px; }
  .cumple-serie { display:block; }
}

/* ---- Banner partidos del día · Mundial 2026 ---- */
.partidos-banner {
  background:linear-gradient(90deg, #14213d 0%, #1e1e1e 100%);
  color:#fff; border-top:3px solid var(--yellow); border-bottom:3px solid var(--yellow);
}
.partidos-banner[hidden] { display:none; }
.partidos-wrap { padding:13px 20px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.pb-head { font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:14px; color:var(--yellow); }
.pb-head i { margin-right:5px; }
.pb-list { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 14px; }
.pb-item {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:center;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  border-radius:999px; padding:7px 16px; font-size:14px;
}
.pb-cruce { font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.pb-team { display:inline-flex; flex-direction:column; align-items:center; gap:4px; }
.pb-name { white-space:nowrap; }
.pb-flag { height:20px; width:auto; border-radius:2px; box-shadow:0 0 0 1px rgba(255,255,255,.25); }
.pb-vs { color:rgba(255,255,255,.5); font-size:12px; margin:0 4px; }
.pb-score {
  background:var(--yellow); color:#1e1e1e; font-weight:800; font-size:13px;
  padding:2px 10px; border-radius:6px; margin:0 4px;
}
.pb-meta { color:rgba(255,255,255,.72); font-size:12.5px; }
.pb-meta i { margin-right:3px; opacity:.8; }
.pb-live { color:#ff4d4d; font-weight:800; letter-spacing:.3px; }
.pb-live i { font-size:8px; margin-right:4px; animation:pbBlink 1s steps(1) infinite; }
.pb-score-live { box-shadow:0 0 0 2px rgba(255,77,77,.85); }
@keyframes pbBlink { 50% { opacity:.25; } }
@media (max-width:560px) {
  .pb-item { width:100%; flex-direction:column; gap:5px; }
}

/* ---- Tarjeta de cumpleaños (sección Plantel) ---- */
.cc-wrap { margin:0 0 30px; display:flex; justify-content:center; }
.cc-wrap[hidden] { display:none; }
.cc-card {
  position:relative; width:100%; max-width:560px; text-align:center;
  padding:34px 28px 28px; border-radius:20px; color:#fff; overflow:hidden;
  background:linear-gradient(150deg, var(--red) 0%, var(--red-d) 70%, #6e0a1a 100%);
  border:3px solid var(--yellow);
  box-shadow:0 18px 44px rgba(160,14,37,.32);
}
.cc-confetti {
  position:absolute; top:-6px; left:0; right:0;
  font-size:30px; letter-spacing:18px; opacity:.5; pointer-events:none;
  animation:cumple-pop 2.6s ease-in-out infinite;
}
.cc-escudo {
  width:78px; height:78px; object-fit:contain; margin:6px auto 10px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));
}
.cc-kicker {
  display:block; font-size:13px; font-weight:700; text-transform:uppercase;
  letter-spacing:1.5px; color:var(--yellow); margin-bottom:12px;
}
.cc-nombres {
  display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:14px;
}
.cc-jug { display:flex; flex-direction:column; align-items:center; line-height:1.15; }
.cc-jug-nombre { font-size:30px; font-weight:800; }
.cc-jug-edad {
  font-size:14px; font-weight:700; color:#1e1e1e; background:var(--yellow);
  padding:2px 12px; border-radius:999px; margin-top:6px;
}
.cc-jug-serie {
  font-size:13px; font-weight:600; color:rgba(255,255,255,.78);
  text-transform:uppercase; letter-spacing:.6px; margin-top:5px;
}
.cc-msg { font-size:15px; color:rgba(255,255,255,.9); margin:0 0 20px; }
.cc-share {
  display:inline-flex; align-items:center; gap:9px; cursor:pointer;
  background:#25d366; color:#fff; border:0; border-radius:999px;
  font-size:15px; font-weight:700; padding:13px 26px;
  box-shadow:0 8px 20px rgba(37,211,102,.4); transition:transform .15s, box-shadow .15s;
}
.cc-share:hover { transform:translateY(-2px); box-shadow:0 11px 26px rgba(37,211,102,.5); }
.cc-share:disabled { opacity:.6; cursor:default; transform:none; }
.cc-share i { font-size:19px; }
@media (max-width:560px) {
  .cc-jug-nombre { font-size:25px; }
  .cc-card { padding:28px 18px 24px; }
}

/* ---- Orígenes / Reseña Histórica ---- */
.origenes-grid {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:34px; align-items:center;
}
.origenes-foto { margin:0; }
.origenes-foto img {
  width:100%; height:auto; border-radius:14px; display:block;
  box-shadow:0 14px 36px rgba(0,0,0,.18); border:3px solid var(--yellow);
}
.origenes-foto figcaption {
  margin-top:10px; text-align:center; font-size:13px; font-weight:600;
  color:var(--muted); text-transform:uppercase; letter-spacing:.6px;
}
.origenes-texto p { font-size:16px; line-height:1.7; color:var(--dark); margin:0 0 16px; }
.origenes-texto p strong { color:var(--red); }
.origenes-hitos {
  display:flex; flex-wrap:wrap; gap:14px; margin-top:22px;
}
.oh-item {
  flex:1; min-width:120px; text-align:center; padding:16px 12px;
  background:var(--red); color:#fff; border-radius:12px;
  border-bottom:3px solid var(--yellow);
}
.oh-item strong { display:block; font-size:22px; line-height:1.1; }
.oh-item span { display:block; font-size:12px; margin-top:5px; color:rgba(255,255,255,.85); }
@media (max-width:780px) {
  .origenes-grid { grid-template-columns:1fr; gap:24px; }
}
