
:root{
  --bg:#060907;
  --surface:#0b100d;
  --surface-2:#0f1511;
  --surface-3:#121a15;
  --line:rgba(255,255,255,.075);
  --line-strong:rgba(255,255,255,.12);
  --text:#f4f7f5;
  --muted:#8d9891;
  --green:#21e879;
  --green-dark:#0d4d2b;
  --white:#eef2ef;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 min-width:320px;
 color:var(--text);
 background:
   radial-gradient(900px 520px at 72% -8%,rgba(31,128,73,.13),transparent 68%),
   radial-gradient(700px 500px at 4% 38%,rgba(15,74,43,.07),transparent 70%),
   var(--bg);
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
 -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
button{font:inherit}

.topbar{
 height:72px;
 padding:0 clamp(22px,4vw,70px);
 display:flex;
 align-items:center;
 gap:48px;
 position:sticky;
 top:0;
 z-index:100;
 background:rgba(6,9,7,.78);
 backdrop-filter:blur(22px);
 -webkit-backdrop-filter:blur(22px);
 border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;white-space:nowrap;width:190px}.brand img{display:block;width:184px;height:auto}
.brand-text{font-size:22px;letter-spacing:-.7px}
.brand-text span,.footer-brand span{color:var(--green)}
.main-nav{display:flex;align-items:stretch;gap:30px;height:100%;flex:1}
.main-nav a{
 display:flex;align-items:center;
 position:relative;
 color:#87928b;
 font-size:16px;
 font-weight:650;
 transition:color .2s;
}
.main-nav a:hover,.main-nav .nav-active{color:#f1f5f2}
.nav-active:after{
 content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
 background:var(--green);box-shadow:0 0 14px rgba(33,232,121,.35)
}
.top-live{
 font-size:12px;font-weight:850;letter-spacing:.3px;
 color:#c1cac4;
 border:1px solid rgba(255,255,255,.12);
 background:#0c120f;
 border-radius:999px;
 padding:10px 15px;
 box-shadow:inset 0 0 0 1px rgba(33,232,121,.03);
}
.top-live i,.live-badge i,.auto-status i{
 display:inline-block;width:6px;height:6px;border-radius:50%;
 background:var(--green);margin-right:6px;
 box-shadow:0 0 11px rgba(33,232,121,.7);
}

main{width:100%;margin:0}
.home-hero{
 width:calc(100% - 72px);max-width:1760px;
 min-height:390px;
 margin:0 auto;
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:65px 28px 55px;
}
.section-kicker{
 display:block;font-size:13px;font-weight:900;letter-spacing:2.5px;color:var(--green)
}
.home-hero h1{
 margin:15px 0 14px;
 font-size:clamp(48px,5.2vw,78px);
 line-height:.98;
 letter-spacing:-4.5px;
 font-weight:850;
}
.home-hero h1 span{color:#aab5ae}
.home-hero p{margin:0;color:var(--muted);font-size:15px}
.hero-stat{
 width:220px;height:132px;
 padding:20px 24px;
 display:flex;align-items:center;justify-content:center;gap:17px;
 border:1px solid var(--line-strong);
 background:linear-gradient(145deg,rgba(17,24,20,.88),rgba(9,13,11,.9));
 border-radius:22px;
 box-shadow:0 25px 70px #0008,inset 0 1px 0 rgba(255,255,255,.025);
}
.hero-stat strong{font-size:52px;line-height:1;font-weight:800}
.hero-stat span{font-size:9px;line-height:1.45;color:#748078}

.channels-section{
 width:calc(100% - 72px);max-width:1760px;
 margin:0 auto;
 padding:18px 28px 90px;
}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}
.section-head h2{font-size:38px;letter-spacing:-1.2px;margin:7px 0 4px}
.section-sub{margin:0;color:var(--muted);font-size:16px}
.channel-count{font-size:10px;color:#68736c}
.channel-count strong{color:#dce3de}
.channel-filter{
 display:flex;gap:9px;margin:0 0 32px;
 position:sticky;top:72px;z-index:80;
 padding:12px 0;
 background:linear-gradient(180deg,rgba(6,9,7,.96) 72%,rgba(6,9,7,0));
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 overflow-x:auto;scrollbar-width:none;
}
.channel-filter::-webkit-scrollbar{display:none}
.filter-btn{
 cursor:pointer;border:1px solid var(--line-strong);
 background:#0b100d;color:#88948c;
 border-radius:999px;padding:11px 19px;
 font-size:14px;font-weight:800;
 transition:.2s;
}
.filter-btn:hover{border-color:#415148;color:#dce5df}
.filter-btn.active{
 color:#09100b;background:#eaf0eb;border-color:#eaf0eb;
 box-shadow:0 8px 25px rgba(0,0,0,.22)
}

.channel-category{margin-bottom:58px}
.category-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.category-icon{
 width:34px;height:34px;border-radius:11px;
 display:grid;place-items:center;
 background:#101712;border:1px solid var(--line-strong);
 color:#b4c0b8;font-size:10px;
}
.category-title h3{margin:0;font-size:23px;letter-spacing:-.2px}
.category-title p{margin:3px 0 0;font-size:14px;color:#6e7971}
.category-line{height:1px;background:var(--line);flex:1;margin-left:10px}



.channel-grid{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:18px;
 width:100%;
}
.channel-card{
 position:relative;
 min-width:0;
 display:block;
 color:inherit;
 text-decoration:none;
 background:#0b100d;
 border:1px solid rgba(255,255,255,.085);
 border-radius:18px;
 overflow:hidden;
 box-shadow:0 16px 45px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.025);
 transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.channel-card:before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 z-index:8;
 background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.045) 42%,transparent 55%);
 transform:translateX(-120%);
 transition:transform .7s ease;
}
.channel-card:hover:before{transform:translateX(120%)}
.channel-card:hover{
 transform:translateY(-7px);
 border-color:rgba(33,232,121,.36);
 box-shadow:0 28px 65px rgba(0,0,0,.48),0 0 36px rgba(33,232,121,.055);
}
.channel-cover{
 height:200px;
 position:relative;
 display:grid;
 place-items:center;
 overflow:hidden;
 background:
   radial-gradient(circle at 50% 48%,rgba(33,232,121,.13),transparent 30%),
   linear-gradient(145deg,#121913,#080c0a);
}
.channel-cover:before{
 content:"";
 position:absolute;
 width:190px;height:190px;border-radius:50%;
 border:1px solid rgba(255,255,255,.05);
 box-shadow:
   0 0 0 30px rgba(255,255,255,.008),
   0 0 0 62px rgba(33,232,121,.012);
}
.channel-cover:after{
 content:"";
 position:absolute;
 left:-20%;right:-20%;bottom:-45px;height:120px;
 background:radial-gradient(ellipse,rgba(33,232,121,.07),transparent 65%);
}
.cover-grid{
 position:absolute;inset:0;opacity:.045;
 background-image:
  linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
 background-size:40px 40px;
}
.channel-logo{
 width:112px;height:112px;
 object-fit:contain;
 position:relative;z-index:3;
 filter:drop-shadow(0 14px 28px rgba(0,0,0,.72));
 transition:transform .28s ease,filter .28s ease;
}
.channel-card:hover .channel-logo{
 transform:scale(1.08);
 filter:drop-shadow(0 19px 34px rgba(0,0,0,.82));
}
.channel-index{
 position:absolute;left:15px;top:13px;z-index:6;
 font-size:10px;color:#7f8b83;letter-spacing:1.6px;font-weight:850;
}
.live-badge{
 position:absolute;right:13px;top:12px;z-index:6;
 display:flex;align-items:center;
 background:rgba(7,12,9,.82);
 border:1px solid rgba(33,232,121,.24);
 border-radius:999px;
 padding:6px 9px;
 font-size:10px;font-weight:900;letter-spacing:.25px;
}
.live-badge i{
 width:7px;height:7px;border-radius:50%;
 background:var(--green);
 margin-right:6px;
 box-shadow:0 0 0 0 rgba(33,232,121,.65),0 0 12px rgba(33,232,121,.75);
 animation:livePulse 1.35s infinite;
}
@keyframes livePulse{
 0%,100%{transform:scale(.82);opacity:.72;box-shadow:0 0 0 0 rgba(33,232,121,.55),0 0 9px rgba(33,232,121,.65)}
 50%{transform:scale(1.18);opacity:1;box-shadow:0 0 0 5px rgba(33,232,121,0),0 0 16px rgba(33,232,121,.95)}
}
.play-ring{
 position:absolute;left:14px;bottom:13px;z-index:6;
 width:34px;height:34px;border-radius:50%;
 display:grid;place-items:center;
 color:#dce7df;font-size:10px;
 background:rgba(7,12,9,.82);
 border:1px solid rgba(255,255,255,.12);
 transition:.25s;
}
.channel-card:hover .play-ring{
 color:#07100b;background:var(--green);
 border-color:var(--green);
 transform:scale(1.08);
}
.channel-info{
 min-height:92px;
 display:flex;
 align-items:center;
 padding:16px 17px;
 background:#0c120f;
 border-top:1px solid rgba(255,255,255,.065);
}
.channel-main{min-width:0}
.channel-main h4{
 font-size:17px;
 margin:0;
 letter-spacing:-.2px;
 font-weight:760;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.channel-main span{
 display:block;
 margin-top:5px;
 font-size:12px;
 color:#7f8b83;
}
/* Footer */
footer{
 width:100%;border-top:1px solid var(--line);padding:28px clamp(22px,4vw,70px);
 display:flex;align-items:center;justify-content:space-between;background:#050806;
}
.footer-brand{width:145px}.footer-brand img{display:block;width:145px;height:auto}.footer-brand span{color:var(--green)}
.footer-note{font-size:12px;color:#657068}
@media(max-width:1250px){
 .channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-hero,.channels-section,.standings-hero,.league-section,.standings-section{width:calc(100% - 32px)}
}

@media(max-width:900px){
 .channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-hero h1{font-size:58px}
}
@media(max-width:700px){
 .topbar{height:62px;padding:0 16px;gap:20px}.brand{width:145px}.brand img{width:142px}.main-nav{gap:17px}.main-nav a{font-size:13px}.top-live{display:none}
 .home-hero,.channels-section,.standings-hero,.league-section,.standings-section{width:calc(100% - 24px)}
 .home-hero{min-height:300px;padding:45px 4px 30px}.home-hero h1{font-size:42px;letter-spacing:-2.4px}.hero-stat{display:none}
 .channels-section{padding:20px 4px 60px}.section-head{align-items:flex-start}.channel-count{display:none}
 .channel-grid{grid-template-columns:1fr}.channel-cover{height:230px}.channel-logo{width:135px;height:135px}
 .channel-info{min-height:88px;padding:17px}.watch-btn{padding:10px 12px}
 .category-line{display:none}
 .standings-hero{padding:50px 4px 25px}.standings-hero h1{font-size:44px;letter-spacing:-2.8px}
 .league-section,.standings-section{padding-left:4px;padding-right:4px}
 .refresh-label,.auto-status{display:none}
 .event{grid-template-columns:58px 1fr 55px 1fr;gap:4px}.event-team{font-size:9px}
 footer{display:block}.footer-note{margin-top:7px}
}

/* ===== Efecto premium en la barra inferior de cada card ===== */
.channel-card .channel-info{
 position:relative;
 overflow:hidden;
 transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.channel-card .channel-info:before{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(105deg,transparent 15%,rgba(33,232,121,.055) 45%,transparent 72%);
 transform:translateX(-115%);
 transition:transform .65s ease;
 pointer-events:none;
}
.channel-card:hover .channel-info{
 background:linear-gradient(180deg,#0e1611,#0c120f);
 border-top-color:rgba(33,232,121,.22);
 box-shadow:inset 0 1px 0 rgba(33,232,121,.05);
}
.channel-card:hover .channel-info:before{
 transform:translateX(115%);
}
.channel-card .channel-main{
 position:relative;
 z-index:2;
}


/* =========================================================
   LIVEFUTBOL2 — CATEGORÍAS LATERALES + CARRUSEL HORIZONTAL
   ========================================================= */
.channels-layout{
  display:grid;
  grid-template-columns:185px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.channel-sidebar{
  position:sticky;
  top:104px;
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.sidebar-label{
  color:#66736b;
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
  margin:0 0 4px 8px;
}
.channel-sidebar .filter-btn{
  width:100%;
  min-height:64px;
  display:grid;
  grid-template-columns:34px 1fr 15px;
  align-items:center;
  gap:10px;
  text-align:left;
  border-radius:15px;
  padding:10px 11px;
  background:#0a0f0c;
  border:1px solid rgba(255,255,255,.07);
  color:#8b968f;
  box-shadow:none;
}
.channel-sidebar .filter-btn:hover{
  color:#e8eee9;
  border-color:rgba(33,232,121,.18);
  background:#0d130f;
}
.channel-sidebar .filter-btn.active{
  color:#f1f5f2;
  background:linear-gradient(145deg,#101812,#0b100d);
  border-color:rgba(33,232,121,.30);
  box-shadow:0 12px 30px rgba(0,0,0,.22), inset 3px 0 0 rgba(33,232,121,.9);
}
.channel-sidebar .filter-icon{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:10px;
  background:#111812;
  border:1px solid rgba(255,255,255,.07);
  font-size:15px;
}
.channel-sidebar .filter-btn.active .filter-icon{
  color:#08110c;
  background:var(--green);
  border-color:var(--green);
  box-shadow:0 0 20px rgba(33,232,121,.16);
}
.channel-sidebar .filter-btn span:nth-child(2){min-width:0;display:block}
.channel-sidebar .filter-btn b{
  display:block;font-size:14px;line-height:1.1;font-weight:800;
}
.channel-sidebar .filter-btn small{
  display:block;margin-top:4px;font-size:10px;color:#69756d;white-space:nowrap;
}
.channel-sidebar .filter-btn em{
  font-style:normal;font-size:18px;line-height:1;color:#536057;text-align:right;
  transition:transform .2s,color .2s;
}
.channel-sidebar .filter-btn.active em{color:var(--green);transform:translateX(2px)}
.channels-content{min-width:0}
.channel-category{margin-bottom:0}
.category-title{margin-bottom:14px}
.category-title h3{font-size:24px}
.category-title p{font-size:13px}
.category-icon{font-size:14px}
.channel-viewport{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  cursor:grab;
  scrollbar-width:none;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  padding:2px 2px 16px;
}
.channel-viewport::-webkit-scrollbar{display:none}
.channel-viewport.is-dragging{cursor:grabbing;scroll-behavior:auto}
.channel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(205px,1fr);
  grid-template-rows:1fr;
  gap:16px;
  width:max-content;
  min-width:100%;
}
.channel-card{
  width:100%;
  height:178px;
  border-radius:16px;
  background:#0f1210;
}
.channel-cover{
  height:100%;
  background:
    radial-gradient(circle at 50% 47%,rgba(33,232,121,.10),transparent 32%),
    linear-gradient(145deg,#131614,#0e100f);
}
.channel-cover::before{
  width:146px;height:146px;
  box-shadow:0 0 0 25px rgba(255,255,255,.006),0 0 0 50px rgba(33,232,121,.008);
}
.channel-logo{
  width:116px;height:116px;
  max-width:116px;max-height:116px;
  object-fit:contain;
}
.live-badge{
  top:10px;left:10px;
  padding:6px 9px;
  border-radius:7px;
  font-size:10px;
}

/* La barra superior conserva su identidad; el punto EN VIVO también pulsa. */
.top-live i{
  animation:topLivePulse 1.45s ease-in-out infinite;
}
@keyframes topLivePulse{
  0%,100%{opacity:.65;transform:scale(.82);box-shadow:0 0 6px rgba(33,232,121,.55)}
  50%{opacity:1;transform:scale(1.18);box-shadow:0 0 0 4px rgba(33,232,121,0),0 0 13px rgba(33,232,121,.9)}
}

@media(max-width:1250px){
  .channels-layout{grid-template-columns:165px minmax(0,1fr);gap:20px}
  .channel-track{grid-auto-columns:200px}
}
@media(max-width:900px){
  .channels-layout{grid-template-columns:145px minmax(0,1fr);gap:16px}
  .channel-sidebar .filter-btn{min-height:58px;grid-template-columns:30px 1fr 10px;padding:9px}
  .channel-sidebar .filter-icon{width:30px;height:30px;font-size:13px}
  .channel-sidebar .filter-btn b{font-size:13px}
  .channel-sidebar .filter-btn small{font-size:9px}
  .channel-track{grid-auto-columns:190px;gap:14px}
  .channel-card{height:170px}
}
@media(max-width:700px){
  .channels-layout{display:block}
  .channel-sidebar{
    position:sticky;
    top:62px;
    z-index:70;
    flex-direction:row;
    gap:8px;
    padding:8px 0 10px;
    margin-bottom:10px;
    background:linear-gradient(180deg,rgba(6,9,7,.97) 72%,rgba(6,9,7,0));
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  }
  .sidebar-label{display:none}
  .channel-sidebar .filter-btn{width:auto;flex:1;min-height:48px;grid-template-columns:28px 1fr 8px;border-radius:13px}
  .channel-sidebar .filter-btn small{display:none}
  .channel-sidebar .filter-icon{width:28px;height:28px}
  .channel-sidebar .filter-btn b{font-size:12px}
  .channel-sidebar .filter-btn em{font-size:15px}
  .channel-track{grid-auto-columns:190px}
  .channel-card{height:165px}
}

/* =========================================================
   CARRUSEL REAL — 5 CARDS VISIBLES + CATEGORIAS FIJAS
   ========================================================= */
.channels-layout{
  display:grid;
  grid-template-columns:185px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.channel-sidebar{
  position:sticky;
  top:92px;
  z-index:20;
}
.channel-viewport{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 2px 18px;
  cursor:grab;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
}
.channel-viewport::-webkit-scrollbar{display:none}
.channel-viewport:focus-visible{
  outline:1px solid rgba(33,232,121,.35);
  outline-offset:5px;
  border-radius:18px;
}
.channel-viewport.is-dragging{cursor:grabbing;scroll-behavior:auto}
.channel-track{
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  width:max-content;
  min-width:100%;
}
.channel-track .channel-card{
  flex:0 0 clamp(190px,calc((100vw - 360px)/5),250px);
  width:auto;
  height:190px;
}
.channel-track .channel-cover{
  height:100%;
}
.channel-track .channel-logo{
  width:116px;
  height:116px;
  max-width:116px;
  max-height:116px;
  object-fit:contain;
}
.channel-track .live-badge{
  left:10px;
  right:auto;
  top:10px;
}
.channel-track .channel-card:hover{
  transform:translateY(-5px) scale(1.012);
}
.channel-track .channel-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(33,232,121,.75),transparent);
  opacity:0;
  transform:scaleX(.55);
  transition:.3s ease;
}
.channel-track .channel-card:hover::after{
  opacity:1;
  transform:scaleX(1);
}

@media(max-width:1100px){
  .channels-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}
  .channel-track .channel-card{flex-basis:210px}
}
@media(max-width:700px){
  .channels-layout{display:block}
  .channel-sidebar{position:sticky;top:62px}
  .channel-track .channel-card{flex-basis:190px;height:175px}
  .channel-track .channel-logo{width:105px;height:105px;max-width:105px;max-height:105px}
}


/* =========================================================
   AJUSTE FINAL — SECCIÓN A TODO EL ANCHO + CATEGORÍAS MÁS ELEGANTES
   ========================================================= */
.channels-section{
  width:100%;
  max-width:none;
  padding-left:clamp(28px,4vw,72px);
  padding-right:clamp(28px,4vw,72px);
}
.channels-section .section-head{
  width:100%;
}
.channels-layout{
  width:100%;
  grid-template-columns:250px minmax(0,1fr);
  gap:40px;
}
.channel-sidebar{
  top:92px;
  gap:12px;
}
.sidebar-label{
  font-size:11px;
  letter-spacing:2.2px;
  margin-left:10px;
  margin-bottom:3px;
}
.channel-sidebar .filter-btn{
  min-height:82px;
  grid-template-columns:44px 1fr 18px;
  gap:12px;
  border-radius:18px;
  padding:13px 14px;
}
.channel-sidebar .filter-icon{
  width:44px;
  height:44px;
  border-radius:13px;
  font-size:18px;
}
.channel-sidebar .filter-btn b{
  font-size:16px;
}
.channel-sidebar .filter-btn small{
  margin-top:5px;
  font-size:11px;
}
.channel-sidebar .filter-btn em{
  font-size:21px;
}
.channel-category{
  width:100%;
}
.category-title{
  margin-bottom:16px;
}
.category-title h3{
  font-size:27px;
}
.category-title p{
  font-size:14px;
}
.category-icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:12px;
  font-size:16px;
}
.channel-viewport{
  width:100%;
  padding:4px 4px 20px;
}
.channel-track{
  gap:18px;
}
.channel-track .channel-card{
  flex-basis:clamp(225px,calc((100vw - 430px)/5),285px);
  height:205px;
  border-radius:18px;
}
.channel-track .channel-logo{
  width:126px;
  height:126px;
  max-width:126px;
  max-height:126px;
}
.channel-track .live-badge{
  top:12px;
  left:12px;
  padding:7px 10px;
  font-size:10px;
}

@media(max-width:1200px){
  .channels-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}
  .channel-track .channel-card{flex-basis:230px}
}
@media(max-width:900px){
  .channels-section{
    padding-left:28px;
    padding-right:28px;
  }
  .channels-layout{grid-template-columns:185px minmax(0,1fr);gap:22px}
  .channel-sidebar .filter-btn{min-height:74px;grid-template-columns:38px 1fr 14px}
  .channel-sidebar .filter-icon{width:38px;height:38px;font-size:16px}
  .channel-sidebar .filter-btn b{font-size:14px}
  .channel-sidebar .filter-btn small{font-size:10px}
  .channel-track .channel-card{flex-basis:215px;height:195px}
  .channel-track .channel-logo{width:118px;height:118px;max-width:118px;max-height:118px}
}
@media(max-width:700px){
  .channels-section{
    width:100%;
    padding-left:16px;
    padding-right:16px;
  }
  .channels-layout{display:block}
  .channel-sidebar{
    position:sticky;
    top:62px;
    flex-direction:row;
    padding:8px 0 10px;
    margin-bottom:10px;
  }
  .sidebar-label{display:none}
  .channel-sidebar .filter-btn{
    min-height:58px;
    flex:1;
    grid-template-columns:32px 1fr 10px;
    padding:9px 10px;
    border-radius:15px;
  }
  .channel-sidebar .filter-icon{width:32px;height:32px;font-size:14px}
  .channel-sidebar .filter-btn b{font-size:13px}
  .channel-sidebar .filter-btn small{display:none}
  .channel-track .channel-card{flex-basis:205px;height:185px}
}

/* =========================================================
   BÚSQUEDA EN TIEMPO REAL — CORRECCIÓN FINAL
   Las reglas del grid usan !important; por eso el estado
   oculto del buscador necesita la misma especificidad.
   ========================================================= */
.channels-section .channel-track .channel-card.search-hidden,
.channels-section .channel-track .channel-card[hidden]{
    display:none !important;
}

.channels-section .channel-category[hidden]{
    display:none !important;
}

/* =========================================================
   BÚSQUEDA EN TIEMPO REAL + CARDS MÁS ANCHAS
   ========================================================= */
.channel-search-wrap{
    position:relative;
    width:min(390px,100%);
    margin:0 0 18px auto;
}
.channel-search{
    width:100%;
    height:46px;
    box-sizing:border-box;
    padding:0 72px 0 42px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:13px;
    background:rgba(12,18,14,.86);
    color:#f3f7f4;
    outline:none;
    font:inherit;
    transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.channel-search::placeholder{color:#718078}
.channel-search:focus{
    border-color:rgba(0,224,118,.48);
    background:rgba(14,22,17,.96);
    box-shadow:0 0 0 3px rgba(0,224,118,.07), 0 10px 35px rgba(0,0,0,.18);
}
.channel-search-icon{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-52%);
    color:#56e69b;
    font-size:21px;
    pointer-events:none;
}
.channel-search-count{
    position:absolute;
    right:13px;
    top:50%;
    transform:translateY(-50%);
    color:#708078;
    font-size:12px;
    pointer-events:none;
}

/* Solo aumenta el ancho; el logo conserva exactamente su tamaño. */
.channel-track .channel-card{
    flex:0 0 250px;
    width:250px;
}

/* Efecto extra elegante: halo muy sutil al pasar por una card */
.channel-track .channel-card{
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.channel-track .channel-card:hover{
    transform:translateY(-5px);
    border-color:rgba(0,224,118,.24);
    box-shadow:0 18px 45px rgba(0,0,0,.28), 0 0 28px rgba(0,224,118,.06);
}
.channel-track .channel-card:hover .channel-logo{
    filter:drop-shadow(0 0 13px rgba(0,224,118,.18));
}
.channel-card.search-hidden{display:none!important;}

@media (max-width:700px){
    .channel-search-wrap{width:100%; margin:0 0 14px}
    .channel-track .channel-card{flex-basis:230px;width:230px}
}

/* =========================================================
   AJUSTE FINAL — CARDS MÁS ANCHAS + HOVER SIN TAPAR
   ========================================================= */

/* Las cards crecen principalmente a lo ANCHO. */
.channel-track .channel-card{
    flex:0 0 clamp(240px, calc((100vw - 430px)/5), 340px);
    width:auto;
    height:205px;
    position:relative;
    overflow:hidden;
}

/* Todos los logos conservan exactamente el mismo marco/tamaño. */
.channel-track .channel-logo{
    width:126px !important;
    height:126px !important;
    min-width:126px;
    min-height:126px;
    max-width:126px !important;
    max-height:126px !important;
    object-fit:contain;
    position:relative;
    z-index:3;
}

/* El indicador EN VIVO siempre queda por encima de cualquier efecto. */
.channel-track .live-badge{
    position:absolute;
    z-index:20 !important;
    pointer-events:none;
    top:12px;
    left:12px;
}

/* El efecto inferior no puede cubrir logo ni indicador. */
.channel-track .channel-card::after{
    z-index:1;
    pointer-events:none;
}

/* Hover elegante, sin zoom que pueda desplazar/tapar el indicador. */
.channel-track .channel-card:hover{
    transform:translateY(-5px);
    border-color:rgba(33,232,121,.34);
    box-shadow:
        0 20px 48px rgba(0,0,0,.32),
        0 0 30px rgba(33,232,121,.08);
}

.channel-track .channel-card:hover .channel-logo{
    filter:drop-shadow(0 0 15px rgba(33,232,121,.20));
}

/* Más aire horizontal dentro de cada card ancha. */
.channel-track .channel-cover{
    min-width:0;
}

/* Mantener el buscador cómodo y alineado. */
.channel-search-wrap{
    width:min(420px,100%);
}

/* Tablet */
@media(max-width:1200px){
    .channel-track .channel-card{
        flex-basis:clamp(240px, 28vw, 310px);
    }
}

/* Móvil: sigue siendo ancha, pero sin romper la pantalla. */
@media(max-width:700px){
    .channel-track .channel-card{
        flex-basis:270px;
        width:270px;
        height:190px;
    }
    .channel-track .channel-logo{
        width:112px !important;
        height:112px !important;
        min-width:112px;
        min-height:112px;
        max-width:112px !important;
        max-height:112px !important;
    }
}

/* =========================================================
   FIX DEFINITIVO — CARDS REALMENTE ANCHAS
   ========================================================= */

/* Quitamos la sensación de 5 mini-cards comprimidas.
   En escritorio cada card ocupa 280px de ancho real. */
@media(min-width:1201px){
  .channels-layout{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:30px !important;
  }

  .channel-track{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:18px !important;
    width:max-content !important;
    min-width:0 !important;
  }

  .channel-track .channel-card{
    flex:0 0 280px !important;
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
    height:210px !important;
  }

  /* El logo NO crece con la card. */
  .channel-track .channel-logo{
    width:126px !important;
    height:126px !important;
    min-width:126px !important;
    min-height:126px !important;
    max-width:126px !important;
    max-height:126px !important;
  }
}

/* Pantallas grandes: un poco más de presencia sin hacerlas enormes. */
@media(min-width:1650px){
  .channel-track .channel-card{
    flex-basis:300px !important;
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
  }
}

/* Evita que cualquier capa del hover tape el EN VIVO. */
.channel-track .channel-card{
  position:relative !important;
  isolation:isolate;
}

.channel-track .channel-card .live-badge{
  z-index:100 !important;
}

.channel-track .channel-card .channel-logo{
  position:relative;
  z-index:5;
}

/* Efecto premium: brillo suave en el borde y halo inferior. */
.channel-track .channel-card:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(33,232,121,.42) !important;
  box-shadow:
    0 22px 50px rgba(0,0,0,.34),
    0 0 34px rgba(33,232,121,.09),
    inset 0 0 24px rgba(33,232,121,.025) !important;
}

.channel-track .channel-card:hover::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}

/* Tablet */
@media(max-width:1200px) and (min-width:701px){
  .channel-track .channel-card{
    flex:0 0 270px !important;
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:205px !important;
  }

  .channel-track .channel-logo{
    width:122px !important;
    height:122px !important;
    min-width:122px !important;
    min-height:122px !important;
    max-width:122px !important;
    max-height:122px !important;
  }
}

/* Móvil conserva carrusel y tarjetas cómodas. */
@media(max-width:700px){
  .channel-track .channel-card{
    flex:0 0 255px !important;
    width:255px !important;
    min-width:255px !important;
    max-width:255px !important;
    height:185px !important;
  }

  .channel-track .channel-logo{
    width:112px !important;
    height:112px !important;
    min-width:112px !important;
    min-height:112px !important;
    max-width:112px !important;
    max-height:112px !important;
  }
}


/* ============================================================
   LIVEFUTBOL2 — ANCHO VISUAL FINAL
   Las cards deben verse realmente anchas, manteniendo 5 en
   la fila cuando el espacio disponible lo permite.
   ============================================================ */

@media (min-width: 1201px) {
  .channel-viewport {
    width: 100% !important;
    overflow-x: auto !important;
  }

  .channel-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    width: max-content !important;
    min-width: 100% !important;
  }

  .channel-track .channel-card {
    flex: 0 0 390px !important;
    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;
    height: 215px !important;
  }

  .channel-track .channel-logo {
    width: 126px !important;
    height: 126px !important;
    min-width: 126px !important;
    min-height: 126px !important;
    max-width: 126px !important;
    max-height: 126px !important;
  }
}

/* En pantallas realmente grandes, 5 cards siguen ocupando
   la fila con una presencia más premium. */
@media (min-width: 1800px) {
  .channel-track .channel-card {
    flex-basis: 400px !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
  }
}

/* Tablet */
@media (min-width: 701px) and (max-width: 1200px) {
  .channel-track .channel-card {
    flex: 0 0 300px !important;
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    height: 205px !important;
  }

  .channel-track .channel-logo {
    width: 122px !important;
    height: 122px !important;
    min-width: 122px !important;
    min-height: 122px !important;
    max-width: 122px !important;
    max-height: 122px !important;
  }
}

/* Móvil */
@media (max-width: 700px) {
  .channel-track .channel-card {
    flex: 0 0 270px !important;
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;
    height: 190px !important;
  }
}

/* ============================================================
   LIVEFUTBOL2 — CORRECCIÓN REAL DE ANCHO VISUAL
   Última regla del archivo: no debe ser sobrescrita.
   ============================================================ */
@media (min-width: 1201px) {
  .channel-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    width: max-content !important;
  }

  .channel-track .channel-card {
    flex: 0 0 600px !important;
    width: 600px !important;
    min-width: 600px !important;
    max-width: 600px !important;
    height: 215px !important;
    box-sizing: border-box !important;
  }

  .channel-track .channel-logo,
  .channel-track .channel-logo-box {
    width: 126px !important;
    height: 126px !important;
    min-width: 126px !important;
    min-height: 126px !important;
    max-width: 126px !important;
    max-height: 126px !important;
  }

  .channel-track .live-badge {
    z-index: 100 !important;
  }
}

@media (min-width: 1800px) {
  .channel-track .channel-card {
    flex-basis: 620px !important;
    width: 620px !important;
    min-width: 620px !important;
    max-width: 620px !important;
  }
}


/* =========================================================
   FIX REAL DEL ANCHO — EL CARRUSEL USA CSS GRID
   =========================================================
   Las reglas flex anteriores NO podían cambiar el ancho porque
   .channel-track realmente es display:grid y su tamaño lo decide
   grid-auto-columns. Este bloque modifica la propiedad correcta.
*/

@media (min-width: 1201px) {

  .channel-track{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:280px !important;
    grid-template-rows:205px !important;
    gap:18px !important;
    width:max-content !important;
    min-width:0 !important;
  }

  .channel-track .channel-card{
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
    height:205px !important;
  }

  /* Los cinco logos conservan exactamente el mismo tamaño. */
  .channel-track .channel-logo,
  .channel-track .channel-logo-box{
    width:126px !important;
    height:126px !important;
    min-width:126px !important;
    min-height:126px !important;
    max-width:126px !important;
    max-height:126px !important;
  }
}

/* En pantallas especialmente grandes aprovechamos un poco más. */
@media (min-width: 1700px) {
  .channel-track{
    grid-auto-columns:290px !important;
  }

  .channel-track .channel-card{
    width:380px !important;
    min-width:400px !important;
    max-width:380px !important;
  }
}

/* Tablet */
@media (min-width:701px) and (max-width:1200px){
  .channel-track{
    grid-auto-columns:270px !important;
  }

  .channel-track .channel-card{
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
  }
}


/* =========================================================
   LIVEFUTBOL2 — ANCHO REAL DEFINITIVO
   =========================================================
   IMPORTANTE:
   .channel-track usa GRID. Por eso el ancho real se controla
   con grid-auto-columns, no con flex-basis.

   360px permite que las cards tengan presencia horizontal
   mucho mayor. El carrusel conserva el resto de canales.
*/

@media (min-width: 1201px) {

    .channel-viewport {
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    .channel-track {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: 360px !important;
        grid-template-rows: 215px !important;
        gap: 20px !important;
        width: max-content !important;
        min-width: 0 !important;
    }

    .channel-track .channel-card {
        display: block !important;
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
        height: 215px !important;
        box-sizing: border-box !important;
        flex: none !important;
    }

    /* Logo completamente independiente del ancho de la card. */
    .channel-track .channel-logo,
    .channel-track .channel-logo-box {
        width: 126px !important;
        height: 126px !important;
        min-width: 126px !important;
        min-height: 126px !important;
        max-width: 126px !important;
        max-height: 126px !important;
        object-fit: contain !important;
    }

    .channel-track .live-badge {
        z-index: 100 !important;
        pointer-events: none !important;
    }
}

/* Monitores muy grandes: un poco más de anchura. */
@media (min-width: 1800px) {
    .channel-track {
        grid-auto-columns: 416px !important;
    }

    .channel-track .channel-card {
        width: 380px !important;
        min-width: 410px !important;
        max-width: 380px !important;
    }
}

/* Tablet: también se mantiene un carrusel cómodo. */
@media (min-width: 701px) and (max-width: 1200px) {
    .channel-track {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: 300px !important;
        grid-template-rows: 205px !important;
        gap: 18px !important;
        width: max-content !important;
    }

    .channel-track .channel-card {
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        height: 205px !important;
    }
}

/* Móvil */
@media (max-width: 700px) {
    .channel-track {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: 270px !important;
        grid-template-rows: 190px !important;
        gap: 14px !important;
        width: max-content !important;
    }

    .channel-track .channel-card {
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
        height: 190px !important;
    }
}

/* ===== BUSCADOR A ANCHO COMPLETO ===== */
.channel-search-wide{
  width:100%;
  position:relative;
  margin:0 0 24px;
}
.channel-search{
  width:100%;
  height:54px;
  box-sizing:border-box;
  padding:0 90px 0 48px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:#0d130f;
  color:#f3f7f4;
  outline:none;
  font-size:16px;
}
.channel-search::placeholder{color:#718078}
.channel-search:focus{
  border-color:rgba(33,232,121,.45);
  box-shadow:0 0 0 3px rgba(33,232,121,.06);
}
.channel-search-icon{
  position:absolute;left:17px;top:50%;
  transform:translateY(-50%);
  color:#46e894;font-size:22px;pointer-events:none;
}
.channel-search-count{
  position:absolute;right:16px;top:50%;
  transform:translateY(-50%);
  color:#718078;font-size:12px;pointer-events:none;
}
.search-hidden{display:none!important}

@media(max-width:700px){
  .topbar{height:auto!important;min-height:62px;padding:10px 12px!important}
  .home-hero,.channels-section{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-left:12px!important;margin-right:12px!important;
  }
  .home-hero h1{font-size:34px!important;line-height:1.05!important}
  .channel-search-wide{margin-bottom:18px}
  .channel-search{
    height:52px;
    font-size:15px;
    border-radius:13px;
    padding-left:44px;
    padding-right:78px;
  }
  .channels-layout{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .category-sidebar{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .category-sidebar .filter-btn{
    width:100%!important;
    justify-content:center!important;
  }
  .channel-viewport{
    width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .channel-viewport::-webkit-scrollbar{display:none}
  .channel-track{
    grid-auto-columns:255px!important;
    grid-template-rows:190px!important;
  }
  .channel-track .channel-card{
    width:255px!important;
    min-width:255px!important;
    max-width:255px!important;
    height:190px!important;
  }
  .channel-track .channel-logo{
    width:108px!important;height:108px!important;
    min-width:108px!important;min-height:108px!important;
    max-width:108px!important;max-height:108px!important;
  }
}

/* =========================================================
   LIVEFUTBOL2 — RESPONSIVE PARA TODOS LOS TAMAÑOS
   ========================================================= */

html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}

/* PC grande */
@media (min-width:1800px){
  .channels-section,.home-hero{
    width:calc(100% - 72px)!important;
    max-width:1800px!important;
  }
  .channels-layout{
    grid-template-columns:240px minmax(0,1fr)!important;
    gap:30px!important;
  }
  .channel-track{
    grid-auto-columns:320px!important;
    gap:20px!important;
  }
  .channel-track .channel-card{
    width:320px!important;min-width:320px!important;max-width:320px!important;
  }
}

/* PC / laptop */
@media (min-width:1401px) and (max-width:1799px){
  .channels-section,.home-hero{
    width:calc(100% - 64px)!important;
    max-width:1650px!important;
  }
  .channels-layout{
    grid-template-columns:225px minmax(0,1fr)!important;
    gap:26px!important;
  }
  .channel-track{
    grid-auto-columns:295px!important;
    gap:18px!important;
  }
  .channel-track .channel-card{
    width:295px!important;min-width:295px!important;max-width:295px!important;
  }
}

/* Laptop 1201–1400 */
@media (min-width:1201px) and (max-width:1400px){
  .channels-section,.home-hero{
    width:calc(100% - 48px)!important;
    max-width:1400px!important;
  }
  .channels-layout{
    grid-template-columns:205px minmax(0,1fr)!important;
    gap:22px!important;
  }
  .channel-track{
    grid-auto-columns:265px!important;
    gap:16px!important;
  }
  .channel-track .channel-card{
    width:265px!important;min-width:265px!important;max-width:265px!important;
  }
}

/* Laptop pequeño / tablet horizontal */
@media (min-width:901px) and (max-width:1200px){
  .channels-section,.home-hero{
    width:calc(100% - 36px)!important;
    max-width:none!important;
  }
  .channels-layout{
    grid-template-columns:185px minmax(0,1fr)!important;
    gap:18px!important;
  }
  .channel-track{
    grid-auto-columns:235px!important;
    gap:14px!important;
  }
  .channel-track .channel-card{
    width:235px!important;min-width:235px!important;max-width:235px!important;
    height:205px!important;
  }
}

/* Tablet */
@media (min-width:701px) and (max-width:900px){
  .channels-section,.home-hero{
    width:calc(100% - 28px)!important;
    margin-left:14px!important;margin-right:14px!important;
  }
  .channels-layout{
    grid-template-columns:165px minmax(0,1fr)!important;
    gap:15px!important;
  }
  .channel-track{
    grid-auto-columns:220px!important;
    grid-template-rows:195px!important;
    gap:12px!important;
  }
  .channel-track .channel-card{
    width:220px!important;min-width:220px!important;max-width:220px!important;
    height:195px!important;
  }
}

/* Móvil — conserva la adaptación que ya hicimos */
@media (max-width:700px){
  .channels-section,.home-hero{
    width:calc(100% - 24px)!important;
    margin-left:12px!important;margin-right:12px!important;
    max-width:none!important;
  }
  .channels-layout{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .category-sidebar{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .category-sidebar .filter-btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
  .channel-viewport{
    width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .channel-viewport::-webkit-scrollbar{display:none}
  .channel-track{
    grid-auto-columns:255px!important;
    grid-template-rows:190px!important;
    gap:12px!important;
  }
  .channel-track .channel-card{
    width:255px!important;min-width:255px!important;max-width:255px!important;
    height:190px!important;
  }
  .channel-track .channel-logo{
    width:108px!important;height:108px!important;
    min-width:108px!important;min-height:108px!important;
    max-width:108px!important;max-height:108px!important;
  }
}

/* El buscador siempre ocupa todo el ancho disponible */
.channel-search-wide{
  width:100%!important;
  max-width:none!important;
}

/* =========================================================
   LIVEFUTBOL2 — ÁREA DE CANALES A TODO EL ANCHO
   Último ajuste: elimina los espacios laterales y hace que
   categorías + cards aprovechen todo el viewport.
   ========================================================= */

@media (min-width: 701px){

  main > .channels-section{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    box-sizing:border-box !important;
    padding-left:clamp(28px,2.6vw,52px) !important;
    padding-right:clamp(28px,2.6vw,52px) !important;
  }

  .channels-section .section-head,
  .channels-section .channel-search-wide{
    width:100% !important;
    max-width:none !important;
  }

  .channels-section .channels-layout{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:clamp(210px,15vw,270px) minmax(0,1fr) !important;
    gap:clamp(20px,2vw,36px) !important;
  }

  .channels-section .channels-content{
    min-width:0 !important;
    width:100% !important;
  }

  .channels-section .channel-category{
    width:100% !important;
    min-width:0 !important;
  }

  .channels-section .channel-viewport{
    width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }

  /* Cinco cards ocupando visualmente todo el ancho disponible.
     Si hay más, siguen estando accesibles deslizando. */
  .channels-section .channel-track{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:calc(
      (100vw - clamp(210px,15vw,270px)
       - clamp(20px,2vw,36px)
       - clamp(56px,5.2vw,104px)
       - 72px) / 5
    ) !important;
    grid-template-rows:205px !important;
    gap:18px !important;
    width:max-content !important;
    min-width:100% !important;
  }

  .channels-section .channel-track .channel-card{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:205px !important;
    box-sizing:border-box !important;
  }
}

/* En tablets el área también ocupa todo el ancho, pero
   conservamos el desplazamiento horizontal de las cards. */
@media (min-width:701px) and (max-width:1100px){
  main > .channels-section{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .channels-section .channels-layout{
    grid-template-columns:175px minmax(0,1fr) !important;
    gap:16px !important;
  }

  .channels-section .channel-track{
    grid-auto-columns:230px !important;
    grid-template-rows:195px !important;
    gap:14px !important;
  }

  .channels-section .channel-track .channel-card{
    width:230px !important;
    min-width:230px !important;
    height:195px !important;
  }
}

/* En móvil no alteramos el diseño ya aprobado. */
@media (max-width:700px){
  main > .channels-section{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }
}

/* =========================================================
   LIVEFUTBOL2 — ÚLTIMO AJUSTE RESPONSIVE
   Sin carrusel: PC = grilla, móvil = 2 columnas.
   ========================================================= */

/* PC / laptop / tablet: las cards forman una grilla y nunca
   generan desplazamiento horizontal. */
@media (min-width:701px){
  .channels-section .channel-viewport{
    width:100% !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
  }

  .channels-section .channel-track{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    grid-template-rows:none !important;
    width:100% !important;
    min-width:0 !important;
    gap:18px !important;
  }

  .channels-section .channel-track .channel-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:205px !important;
  }
}

/* Tablet intermedio: cuatro columnas para conservar buen tamaño. */
@media (min-width:701px) and (max-width:1200px){
  .channels-section .channel-track{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .channels-section .channel-track .channel-card{
    height:195px !important;
  }
}

/* Móvil: dos cards por fila, sin carrusel. */
@media (max-width:700px){
  .channels-section .channel-viewport{
    width:100% !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
  }

  .channels-section .channel-track{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    grid-template-rows:none !important;
    width:100% !important;
    min-width:0 !important;
    gap:10px !important;
  }

  .channels-section .channel-track .channel-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:170px !important;
  }

  .channels-section .channel-track .channel-logo{
    width:88px !important;
    height:88px !important;
    min-width:88px !important;
    min-height:88px !important;
    max-width:88px !important;
    max-height:88px !important;
  }
}


/* =========================================================
   LIVEFUTBOL2 — LOGOS VISUALMENTE UNIFORMES
   No reemplaza ni modifica la carpeta imge existente.
   ========================================================= */

/* Todos parten de exactamente la misma área visual. */
.channels-section .channel-logo-box{
    width:126px !important;
    height:126px !important;
    min-width:126px !important;
    min-height:126px !important;
    max-width:126px !important;
    max-height:126px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

/* Limitamos ancho y alto para que logos con transparencias o formatos
   muy verticales no parezcan gigantes respecto a los horizontales. */
.channels-section .channel-logo{
    width:110px !important;
    height:90px !important;
    min-width:110px !important;
    min-height:90px !important;
    max-width:110px !important;
    max-height:90px !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
}

/* Ajustes finos para las proporciones concretas de estos cinco logos. */
.channels-section .channel-liga-1-max .channel-logo{
    width:106px !important;
    height:92px !important;
}
.channels-section .channel-liga-1 .channel-logo{
    width:78px !important;
    height:96px !important;
}
.channels-section .channel-sky-sports-la-liga .channel-logo{
    width:110px !important;
    height:82px !important;
}
.channels-section .channel-tudn .channel-logo{
    width:110px !important;
    height:88px !important;
}
.channels-section .channel-tyc-sports .channel-logo{
    width:110px !important;
    height:84px !important;
}

@media (max-width:700px){
    .channels-section .channel-logo-box{
        width:88px !important;
        height:88px !important;
        min-width:88px !important;
        min-height:88px !important;
        max-width:88px !important;
        max-height:88px !important;
    }

    .channels-section .channel-logo{
        width:76px !important;
        height:62px !important;
        min-width:76px !important;
        min-height:62px !important;
        max-width:76px !important;
        max-height:62px !important;
    }

    .channels-section .channel-liga-1-max .channel-logo{
        width:74px !important;
        height:64px !important;
    }
    .channels-section .channel-liga-1 .channel-logo{
        width:54px !important;
        height:66px !important;
    }
    .channels-section .channel-sky-sports-la-liga .channel-logo{
        width:76px !important;
        height:58px !important;
    }
    .channels-section .channel-tudn .channel-logo{
        width:76px !important;
        height:60px !important;
    }
    .channels-section .channel-tyc-sports .channel-logo{
        width:76px !important;
        height:58px !important;
    }
}

.channel-search-empty{
  display:block;
  margin-top:8px;
  color:#78857d;
  font-size:13px;
}
.channel-search-empty[hidden]{
  display:none !important;
}
.channel-card[hidden],
.channel-card.search-hidden{
  display:none !important;
}


/* ============================================================
   LIVE FUTBOL — IDENTIDAD OFICIAL + HERO PLAYER
   ============================================================ */

.official-brand{
  width:142px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}
.official-brand img{
  display:block !important;
  width:142px !important;
  height:42px !important;
  object-fit:contain !important;
  object-position:left center !important;
  mix-blend-mode:screen;
}

.footer-brand{
  width:128px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
}
.footer-brand img{
  width:128px !important;
  height:40px !important;
  object-fit:contain !important;
  object-position:left center !important;
  mix-blend-mode:screen;
}

/* Reproductor flotante: sustituye el contador de señales. */
.hero-player{
  position:relative;
  width:190px;
  height:190px;
  display:grid;
  place-items:center;
  isolation:isolate;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 22px 45px rgba(0,255,105,.12));
}
.hero-player:hover{
  transform:translateY(-8px) scale(1.035) rotate(-1deg);
}
.hero-player::before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,255,105,.18), rgba(0,255,105,.04) 45%, transparent 72%);
  filter:blur(10px);
  z-index:-2;
}
.hero-player::after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(0,255,105,.16);
  border-radius:50%;
  box-shadow:inset 0 0 35px rgba(0,255,105,.05),0 0 30px rgba(0,255,105,.05);
  animation:playerPulse 3s ease-in-out infinite;
}
.player-orbit{
  position:absolute;
  inset:25px;
  border:1px solid rgba(0,255,105,.28);
  border-radius:50%;
  transform:rotate(-22deg) scaleX(.72);
  animation:orbitFloat 4s ease-in-out infinite;
}
.player-orbit::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#00ff75;
  box-shadow:0 0 12px #00ff75,0 0 24px rgba(0,255,117,.6);
  top:8px;
  left:22%;
}
.orbit-b{
  inset:34px 15px;
  transform:rotate(55deg) scaleY(.62);
  animation-delay:-1.2s;
  opacity:.75;
}
.orbit-c{
  inset:17px 38px;
  transform:rotate(105deg) scaleX(.72);
  animation-delay:-2.2s;
  opacity:.48;
}
.player-ball{
  position:relative;
  width:82px;
  height:82px;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 27%, #fff 0 10%, transparent 11%),
    radial-gradient(circle at 65% 65%, #0a0d0b 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #f4f7f4 0 48%, #b8c1bc 49% 53%, #111613 54% 56%, transparent 57%);
  box-shadow:0 0 0 5px rgba(0,255,105,.12),0 0 28px rgba(0,255,105,.22),inset -10px -12px 22px rgba(0,0,0,.28);
  animation:ballFloat 3.5s ease-in-out infinite;
  z-index:4;
}
.player-ball::before,
.player-ball::after{
  content:"";
  position:absolute;
  background:#101412;
  border-radius:50%;
}
.player-ball::before{
  width:24px;height:24px;left:29px;top:27px;
  clip-path:polygon(50% 0,100% 35%,81% 100%,19% 100%,0 35%);
}
.player-ball::after{
  width:11px;height:11px;left:10px;top:45px;
  box-shadow:50px -27px 0 #101412,39px 30px 0 #101412,-1px -29px 0 #101412;
}
.player-play{
  position:absolute;
  z-index:6;
  width:0;height:0;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:18px solid #00ff75;
  margin-left:5px;
  filter:drop-shadow(0 0 7px rgba(0,255,117,.65));
}
@keyframes ballFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-7px) rotate(5deg)}
}
@keyframes orbitFloat{
  0%,100%{transform:rotate(-22deg) scaleX(.72)}
  50%{transform:rotate(-8deg) scaleX(.78) translateY(-3px)}
}
@keyframes playerPulse{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:1;transform:scale(1.025)}
}

@media (max-width:700px){
  .official-brand{width:118px !important;height:36px !important}
  .official-brand img{width:118px !important;height:36px !important}
  .footer-brand{width:105px !important;height:34px !important}
  .footer-brand img{width:105px !important;height:34px !important}
  .hero-player{width:135px;height:135px}
  .player-ball{width:62px;height:62px}
  .player-play{
    border-top-width:9px;border-bottom-width:9px;border-left-width:14px
  }
  .player-orbit{inset:17px}
  .orbit-b{inset:24px 10px}
  .orbit-c{inset:12px 27px}
}


/* =========================================================
   CORRECCIÓN FINAL — LOGO GRANDE + PLAYER EN HERO
   ========================================================= */

/* El PNG ya viene recortado al contenido real. */
header .official-brand{
  width:210px !important;
  height:56px !important;
  flex:0 0 210px !important;
}
header .official-brand img{
  width:210px !important;
  height:56px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

footer .footer-brand{
  width:175px !important;
  height:52px !important;
}
footer .footer-brand img{
  width:175px !important;
  height:52px !important;
  object-fit:contain !important;
}

/* El hero queda en dos columnas: texto a la izquierda,
   reproductor grande a la derecha. */
.hero{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 330px !important;
  align-items:center !important;
  column-gap:70px !important;
  min-height:330px !important;
}
.hero > div:first-child{
  min-width:0;
}
.hero-player{
  position:relative !important;
  width:300px !important;
  height:300px !important;
  margin-left:auto !important;
  display:grid !important;
  place-items:center !important;
  isolation:isolate !important;
  cursor:pointer !important;
  transform:translateZ(0) !important;
  transition:transform .45s cubic-bezier(.2,.8,.2,1), filter .45s ease !important;
  filter:drop-shadow(0 25px 55px rgba(0,255,105,.16)) !important;
}
.hero-player:hover{
  transform:translateY(-9px) scale(1.035) rotate(-1deg) !important;
  filter:drop-shadow(0 30px 70px rgba(0,255,105,.25)) !important;
}
.hero-player .player-aura{
  position:absolute;
  inset:35px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,255,105,.22) 0%,rgba(0,255,105,.08) 38%,transparent 72%);
  filter:blur(16px);
  z-index:-3;
  animation:auraPulse 3.2s ease-in-out infinite;
}
.hero-player::before{
  content:"";
  position:absolute;
  inset:20px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,255,105,.11),transparent 66%);
  z-index:-2;
}
.hero-player::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(0,255,105,.22);
  border-radius:50%;
  box-shadow:0 0 35px rgba(0,255,105,.08),inset 0 0 35px rgba(0,255,105,.04);
  animation:playerPulse 3s ease-in-out infinite;
}
.hero-player .player-orbit{
  position:absolute;
  border:1px solid rgba(0,255,105,.38);
  border-radius:50%;
  pointer-events:none;
}
.hero-player .orbit-a{
  inset:42px 20px;
  transform:rotate(-23deg) scaleX(.72);
  animation:orbitA 5s ease-in-out infinite;
}
.hero-player .orbit-b{
  inset:27px 48px;
  transform:rotate(54deg) scaleX(.8);
  animation:orbitB 6s ease-in-out infinite;
  opacity:.72;
}
.hero-player .orbit-c{
  inset:55px 7px;
  transform:rotate(108deg) scaleX(.68);
  animation:orbitC 7s ease-in-out infinite;
  opacity:.42;
}
.hero-player .orbit-a::after,
.hero-player .orbit-b::after,
.hero-player .orbit-c::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#00ff75;
  box-shadow:0 0 10px #00ff75,0 0 25px rgba(0,255,117,.8);
}
.hero-player .orbit-a::after{top:4px;left:20%}
.hero-player .orbit-b::after{right:13%;top:12%}
.hero-player .orbit-c::after{bottom:5%;left:25%}

.hero-player .player-ball{
  width:112px;
  height:112px;
  border-radius:50%;
  position:relative;
  z-index:5;
  background:
    radial-gradient(circle at 34% 28%,#fff 0 9%,transparent 10%),
    radial-gradient(circle at 50% 50%,#f7faf7 0 49%,#aeb8b2 50% 53%,#111613 54% 57%,transparent 58%);
  box-shadow:
    0 0 0 7px rgba(0,255,105,.12),
    0 0 35px rgba(0,255,105,.25),
    0 18px 35px rgba(0,0,0,.45),
    inset -13px -16px 25px rgba(0,0,0,.25);
  animation:ballFloat 3.8s ease-in-out infinite;
}
.hero-player .ball-pentagon{
  position:absolute;
  width:30px;
  height:30px;
  left:41px;
  top:40px;
  background:#111613;
  clip-path:polygon(50% 0,100% 35%,81% 100%,19% 100%,0 35%);
}
.hero-player .player-ball::before{
  content:"";
  position:absolute;
  width:13px;height:13px;
  left:14px;top:48px;
  border-radius:50%;
  background:#111613;
  box-shadow:
    71px -28px 0 #111613,
    57px 59px 0 #111613,
    4px -38px 0 #111613,
    84px 24px 0 #111613;
}
.hero-player .player-play{
  position:absolute;
  z-index:7;
  width:0;height:0;
  border-top:15px solid transparent;
  border-bottom:15px solid transparent;
  border-left:22px solid #00ff75;
  margin-left:6px;
  filter:drop-shadow(0 0 8px rgba(0,255,117,.75));
}
@keyframes auraPulse{
  0%,100%{opacity:.65;transform:scale(.94)}
  50%{opacity:1;transform:scale(1.08)}
}
@keyframes orbitA{
  0%,100%{transform:rotate(-23deg) scaleX(.72)}
  50%{transform:rotate(12deg) scaleX(.78) translateY(-5px)}
}
@keyframes orbitB{
  0%,100%{transform:rotate(54deg) scaleX(.8)}
  50%{transform:rotate(85deg) scaleX(.72)}
}
@keyframes orbitC{
  0%,100%{transform:rotate(108deg) scaleX(.68)}
  50%{transform:rotate(72deg) scaleX(.76)}
}

@media (max-width:1100px){
  header .official-brand{width:175px !important;flex-basis:175px !important}
  header .official-brand img{width:175px !important}
  .hero{
    grid-template-columns:minmax(0,1fr) 250px !important;
    column-gap:35px !important;
  }
  .hero-player{width:230px !important;height:230px !important}
  .hero-player .player-ball{width:88px;height:88px}
  .hero-player .ball-pentagon{width:24px;height:24px;left:32px;top:32px}
}
@media (max-width:700px){
  header .official-brand{
    width:135px !important;
    height:42px !important;
    flex-basis:135px !important;
  }
  header .official-brand img{
    width:135px !important;
    height:42px !important;
  }
  footer .footer-brand,
  footer .footer-brand img{
    width:120px !important;
    height:40px !important;
  }
  .hero{
    grid-template-columns:1fr !important;
    min-height:0 !important;
    row-gap:20px !important;
  }
  .hero-player{
    width:180px !important;
    height:180px !important;
    margin:5px auto 0 !important;
  }
  .hero-player .player-ball{
    width:70px;height:70px;
  }
  .hero-player .ball-pentagon{
    width:20px;height:20px;left:25px;top:25px;
  }
  .hero-player .player-play{
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:15px;
  }
}


/* =========================================================
   AJUSTE SOLICITADO — PLAYER MÁS GRANDE EN PC
   ========================================================= */

@media (min-width: 1101px){
  .hero{
    grid-template-columns:minmax(0,1fr) 390px !important;
    column-gap:55px !important;
    min-height:360px !important;
  }

  .hero-player{
    width:360px !important;
    height:360px !important;
  }

  .hero-player .player-ball{
    width:128px !important;
    height:128px !important;
  }

  .hero-player .ball-pentagon{
    width:34px !important;
    height:34px !important;
    left:47px !important;
    top:47px !important;
  }

  .hero-player .player-play{
    border-top-width:17px !important;
    border-bottom-width:17px !important;
    border-left-width:25px !important;
  }

  .hero-player .orbit-a{
    inset:48px 24px !important;
  }

  .hero-player .orbit-b{
    inset:34px 58px !important;
  }

  .hero-player .orbit-c{
    inset:67px 9px !important;
  }
}

/* Monitores grandes: un pequeño incremento adicional */
@media (min-width: 1500px){
  .hero{
    grid-template-columns:minmax(0,1fr) 430px !important;
    column-gap:60px !important;
  }

  .hero-player{
    width:400px !important;
    height:400px !important;
  }

  .hero-player .player-ball{
    width:142px !important;
    height:142px !important;
  }

  .hero-player .ball-pentagon{
    width:38px !important;
    height:38px !important;
    left:52px !important;
    top:52px !important;
  }

  .hero-player .player-play{
    border-top-width:19px !important;
    border-bottom-width:19px !important;
    border-left-width:28px !important;
  }
}

/* Tablet y celular conservan el tamaño responsive anterior. */
@media (max-width:1100px){
  .hero-player{
    width:230px !important;
    height:230px !important;
  }
}

@media (max-width:700px){
  .hero-player{
    width:180px !important;
    height:180px !important;
  }
}


/* =========================================================
   V2 — PLAYER REALMENTE MÁS GRANDE EN PC
   ========================================================= */

@media screen and (min-width: 1200px){
  .hero{
    grid-template-columns:minmax(0,1fr) 470px !important;
    column-gap:35px !important;
    min-height:430px !important;
  }

  .hero .hero-player{
    width:430px !important;
    height:430px !important;
    min-width:430px !important;
    min-height:430px !important;
    margin-left:auto !important;
    transform:scale(1) !important;
  }

  .hero .hero-player .player-ball{
    width:155px !important;
    height:155px !important;
  }

  .hero .hero-player .ball-pentagon{
    width:42px !important;
    height:42px !important;
    left:56px !important;
    top:56px !important;
  }

  .hero .hero-player .player-play{
    border-top-width:21px !important;
    border-bottom-width:21px !important;
    border-left-width:31px !important;
  }

  .hero .hero-player .orbit-a{
    inset:58px 30px !important;
  }

  .hero .hero-player .orbit-b{
    inset:42px 68px !important;
  }

  .hero .hero-player .orbit-c{
    inset:80px 10px !important;
  }

  .hero .hero-player .player-aura{
    inset:48px !important;
  }

  .hero .hero-player::before{
    inset:25px !important;
  }

  .hero .hero-player::after{
    inset:22px !important;
  }
}

@media screen and (min-width: 1600px){
  .hero{
    grid-template-columns:minmax(0,1fr) 540px !important;
    column-gap:25px !important;
    min-height:500px !important;
  }

  .hero .hero-player{
    width:500px !important;
    height:500px !important;
    min-width:500px !important;
    min-height:500px !important;
  }

  .hero .hero-player .player-ball{
    width:175px !important;
    height:175px !important;
  }

  .hero .hero-player .ball-pentagon{
    width:47px !important;
    height:47px !important;
    left:64px !important;
    top:64px !important;
  }

  .hero .hero-player .player-play{
    border-top-width:23px !important;
    border-bottom-width:23px !important;
    border-left-width:34px !important;
  }

  .hero .hero-player .orbit-a{
    inset:68px 35px !important;
  }

  .hero .hero-player .orbit-b{
    inset:48px 78px !important;
  }

  .hero .hero-player .orbit-c{
    inset:92px 12px !important;
  }
}


/* =========================================================
   LIVEFUTBOL2 — CATEGORÍAS QUE ACOMPAÑAN EL SCROLL
   Fallback robusto: además del sticky, el JS mueve la columna
   cuando el navegador/estructura impide que sticky actúe.
   ========================================================= */
@media (min-width:701px){
  .channels-section .channels-layout{
    align-items:start !important;
    min-height:100% !important;
  }
  .channels-section .channel-sidebar{
    position:relative !important;
    top:auto !important;
    align-self:start !important;
    height:max-content !important;
    z-index:90 !important;
    transform:translate3d(0,0,0);
    will-change:transform;
  }
}
@media (max-width:700px){
  .channels-section .channel-sidebar{
    position:sticky !important;
    top:62px !important;
    z-index:90 !important;
  }
}


/* =========================================================
   LIVEFUTBOL2 — CLASIFICACIÓN / DISEÑO OFICIAL
   Adaptación al mismo lenguaje visual de la página Canales.
   ========================================================= */

.official-brand{
  width:190px;
  display:flex;
  align-items:center;
}
.official-brand img{
  display:block;
  width:155px;
  height:auto;
  max-height:42px;
  object-fit:contain;
}

/* Hero de clasificación */
.standings-hero{
  width:calc(100% - 72px);
  max-width:1760px;
  min-height:270px;
  margin:0 auto;
  padding:72px 28px 36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.standings-hero h1{
  margin:14px 0 10px;
  font-size:clamp(48px,5vw,74px);
  line-height:.98;
  letter-spacing:-4px;
  font-weight:850;
}
.standings-hero p{
  margin:0;
  color:var(--muted);
  font-size:15px;
}

/* Selector de competiciones */
.league-section{
  width:calc(100% - 72px);
  max-width:1760px;
  margin:0 auto;
  padding:0 28px 20px;
}
.league-pills{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 12px;
  scrollbar-width:none;
}
.league-pills::-webkit-scrollbar{display:none}
.league-pill{
  flex:0 0 auto;
  cursor:pointer;
  min-height:44px;
  padding:0 17px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.085);
  background:#0a0f0c;
  color:#87938b;
  font-size:13px;
  font-weight:800;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.league-pill:hover{
  color:#eef3ef;
  border-color:rgba(33,232,121,.25);
  transform:translateY(-2px);
}
.league-pill.selected{
  color:#07100b;
  background:var(--green);
  border-color:var(--green);
  box-shadow:0 10px 28px rgba(33,232,121,.14);
}
.league-pill .dot{
  display:inline-block;
  width:6px;height:6px;
  border-radius:50%;
  margin-right:7px;
  background:currentColor;
  vertical-align:1px;
  opacity:.7;
}

/* Zona principal */
.standings-section{
  width:calc(100% - 72px);
  max-width:1760px;
  margin:0 auto;
  padding:18px 28px 90px;
}
.standings-section .section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:20px;
}
.standings-section .section-kicker{
  font-size:11px;
  letter-spacing:2.2px;
}
.standings-section .section-head h2{
  margin:8px 0 0;
  font-size:30px;
  letter-spacing:-1px;
}
.auto-status{
  color:#7e8a82;
  font-size:11px;
  display:flex;
  align-items:center;
}
.auto-status i{
  margin-right:7px;
  animation:topLivePulse 1.45s ease-in-out infinite;
}

/* Contenedor principal */
.standings-box{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:22px;
  background:
    radial-gradient(500px 220px at 85% 0%,rgba(33,232,121,.065),transparent 70%),
    linear-gradient(145deg,#0b100d,#080c0a);
  box-shadow:0 25px 70px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.025);
}

/* Cabecera de la liga */
.league-header{
  min-height:150px;
  padding:25px 28px;
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.065);
}
.league-logo-wrap{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:
    radial-gradient(circle,rgba(33,232,121,.12),transparent 65%),
    #0c120f;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 35px rgba(33,232,121,.035);
  overflow:hidden;
  position:relative;
}
.league-logo-wrap img{
  width:72px;
  height:72px;
  object-fit:contain;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.6));
}
.league-logo-wrap span{
  position:absolute;
  font-size:28px;
  opacity:.35;
}
.league-header h3{
  margin:0;
  font-size:26px;
  letter-spacing:-.7px;
}
.league-header p{
  margin:6px 0 0;
  color:#7f8b83;
  font-size:13px;
}
.refresh-label{
  color:#66736b;
  font-size:11px;
  white-space:nowrap;
}

/* Tabs */
.tabs{
  display:flex;
  gap:8px;
  padding:18px 24px 0;
}
.tab{
  cursor:pointer;
  border:1px solid rgba(255,255,255,.085);
  background:#0a0f0c;
  color:#7e8a82;
  border-radius:11px;
  padding:10px 15px;
  font-size:12px;
  font-weight:800;
  transition:.2s ease;
}
.tab:hover{
  color:#e8eee9;
  border-color:rgba(33,232,121,.2);
}
.tab.active{
  color:#07100b;
  background:var(--green);
  border-color:var(--green);
}

/* Panels */
.panel{display:none}
.panel.active{display:block}

/* Tabla */
.table-scroll{
  width:100%;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:#26352c transparent;
  padding:14px 24px 24px;
}
.standings-box table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0 7px;
}
.standings-box thead th{
  padding:9px 12px;
  color:#68756d;
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
}
.standings-box thead th:nth-child(2){
  text-align:left;
}
.standings-box tbody tr{
  background:#0d130f;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.standings-box tbody tr:hover{
  background:#101812;
  box-shadow:inset 2px 0 0 var(--green);
  transform:translateX(2px);
}
.standings-box tbody td{
  padding:12px;
  border-top:1px solid rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.045);
  color:#c8d1cb;
  font-size:13px;
  text-align:center;
  white-space:nowrap;
}
.standings-box tbody td:first-child{
  border-left:1px solid rgba(255,255,255,.045);
  border-radius:12px 0 0 12px;
}
.standings-box tbody td:last-child{
  border-right:1px solid rgba(255,255,255,.045);
  border-radius:0 12px 12px 0;
}
.standings-box .rank{
  color:#738078;
  font-weight:850;
  width:45px;
}
.team{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:240px;
  text-align:left;
}
.team b{
  color:#eef3ef;
  font-size:13px;
  font-weight:760;
}
.team-badge{
  width:31px;
  height:31px;
  object-fit:contain;
  flex:0 0 31px;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.55));
}
.team-fallback{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#151d18;
  color:#8d9891;
  font-weight:900;
  border:1px solid rgba(255,255,255,.08);
}
.standings-box td.positive{
  color:var(--green);
  font-weight:800;
}
.standings-box td.negative{
  color:#ff7676;
  font-weight:800;
}
.standings-box td.points{
  color:#f2f6f3;
  font-weight:900;
}
.loading{
  color:#748078;
  text-align:center;
  padding:35px !important;
}

/* Próximos partidos */
.events-list{
  padding:18px 24px 25px;
}
.event{
  display:grid;
  grid-template-columns:115px minmax(160px,1fr) 90px minmax(160px,1fr);
  gap:12px;
  align-items:center;
  padding:15px 16px;
  margin-bottom:8px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  background:#0d130f;
  transition:.2s ease;
}
.event:hover{
  border-color:rgba(33,232,121,.18);
  background:#101711;
}
.event-date{
  color:#78847c;
  font-size:11px;
}
.event-time{
  text-align:center;
  color:#eef3ef;
  font-size:14px;
}
.event-team{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:750;
}
.event-team.home{
  justify-content:flex-end;
  text-align:right;
}
.event-team .team-badge{
  width:30px;
  height:30px;
  flex-basis:30px;
}
.timezone-note{
  padding:4px 5px 10px;
  color:#5f6b63;
  font-size:10px;
  text-align:right;
}

/* Footer */
.standings-section + footer{margin-top:0}
footer .footer-brand{
  width:145px;
}
footer .footer-brand img{
  display:block;
  width:145px;
  height:auto;
}

/* Responsive */
@media(max-width:1250px){
  .standings-hero,.league-section,.standings-section{
    width:calc(100% - 32px);
  }
  .standings-section{padding-left:20px;padding-right:20px}
}
@media(max-width:900px){
  .standings-hero{
    min-height:230px;
    padding-top:55px;
  }
  .standings-hero h1{
    font-size:58px;
  }
  .league-section{padding-left:12px;padding-right:12px}
  .standings-section{padding-left:12px;padding-right:12px}
  .league-header{
    grid-template-columns:78px minmax(0,1fr);
    min-height:125px;
  }
  .league-logo-wrap{
    width:78px;height:78px;border-radius:18px;
  }
  .league-logo-wrap img{width:62px;height:62px}
  .refresh-label{display:none}
  .event{
    grid-template-columns:85px minmax(140px,1fr) 65px minmax(140px,1fr);
  }
}
@media(max-width:700px){
  .official-brand{width:145px}
  .official-brand img{width:130px;max-height:38px}
  .standings-hero{
    width:calc(100% - 24px);
    min-height:220px;
    padding:48px 4px 26px;
  }
  .standings-hero h1{
    font-size:43px;
    letter-spacing:-2.8px;
  }
  .standings-hero p{font-size:13px}
  .league-section{
    width:100%;
    padding:0 12px 12px;
  }
  .league-pills{gap:8px}
  .league-pill{
    min-height:42px;
    padding:0 14px;
    font-size:12px;
  }
  .standings-section{
    width:100%;
    padding:14px 12px 60px;
  }
  .standings-section .section-head{
    align-items:flex-start;
  }
  .standings-section .section-head h2{
    font-size:25px;
  }
  .auto-status{display:none}
  .standings-box{
    border-radius:18px;
  }
  .league-header{
    grid-template-columns:64px minmax(0,1fr);
    gap:14px;
    padding:18px;
  }
  .league-logo-wrap{
    width:64px;height:64px;border-radius:15px;
  }
  .league-logo-wrap img{width:50px;height:50px}
  .league-header h3{font-size:20px}
  .league-header p{font-size:11px}
  .tabs{
    padding:14px 14px 0;
  }
  .tab{
    flex:1;
    padding:10px 8px;
    font-size:11px;
  }
  .table-scroll{
    padding:10px 10px 18px;
  }
  .standings-box table{
    min-width:690px;
  }
  .standings-box tbody td{
    padding:10px 8px;
    font-size:11px;
  }
  .team{
    min-width:210px;
    gap:8px;
  }
  .team b{font-size:11px}
  .team-badge,.team-fallback{
    width:27px;height:27px;flex-basis:27px;
  }
  .events-list{padding:12px}
  .event{
    grid-template-columns:1fr 64px 1fr;
    gap:8px;
    padding:12px;
  }
  .event-date{
    grid-column:1 / -1;
    text-align:center;
  }
  .event-team,.event-team.home{
    justify-content:center;
    text-align:center;
    flex-direction:column;
    font-size:10px;
  }
  .event-time{font-size:12px}
  footer{padding:24px 18px}
}
