/* CDC Moscardó — hoja de estilos principal
   Concepto: estadio de barrio. Franjas rojiblancas de la camiseta como motivo,
   azul noche para el centro de partidos y tipografía condensada de marcador. */
:root{
  --rojo:#D2202E;
  --rojo-osc:#A5141F;
  --noche:#0D1838;
  --noche-2:#16244D;
  --tinta:#0F1A36;
  --gris:#5B6478;
  --linea:#DCE0EA;
  --fondo:#F3F5F9;
  --blanco:#FFFFFF;
  --ok:#1E8A4C;
  --f-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-label:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --r:10px;
  --wrap:1240px;
  --sombra:0 10px 30px -14px rgba(13,24,56,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.6;color:var(--tinta);background:var(--fondo);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.02;margin:0;text-wrap:balance;letter-spacing:.005em}
p{margin:0}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--rojo);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.label{font-family:var(--f-label);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}
.franjas{background:repeating-linear-gradient(90deg,var(--rojo) 0 18px,var(--blanco) 18px 36px)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.8em 1.4em;border-radius:999px;border:2px solid transparent;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;text-decoration:none;transition:transform .15s,background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-rojo{background:var(--rojo);color:#fff}
.btn-rojo:hover{background:var(--rojo-osc)}
.btn-blanco{background:#fff;color:var(--noche)}
.btn-borde{border-color:currentColor;background:transparent}
.btn-noche{background:var(--noche);color:#fff}
.btn-sm{padding:.55em 1em;font-size:.82rem}
.btn-bloque{width:100%}

/* ---------- Cabecera ---------- */
.topbar{background:var(--noche);color:#C9D0E2;font-size:.85rem}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px}
.topbar a{text-decoration:none}
.topbar .redes{display:flex;gap:14px}
.topbar .redes a:hover{color:#fff}
.topbar .redes svg{width:16px;height:16px;fill:currentColor;display:block}
.topbar .liga{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;box-shadow:0 1px 0 var(--linea)}
.header .wrap{display:flex;align-items:center;gap:18px;min-height:76px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.marca img.escudo{width:52px;height:52px;object-fit:contain}
.marca img.wordmark{height:22px;width:auto}
.nav{margin-left:auto}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav>ul>li{position:relative}
.nav>ul>li>a,.nav>ul>li>button{display:flex;align-items:center;gap:6px;padding:10px 12px;border:0;background:none;font-family:var(--f-label);font-weight:700;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--tinta);border-radius:6px}
.nav>ul>li>a:hover,.nav>ul>li>button:hover,.nav .activo>a,.nav .activo>button{color:var(--rojo)}
.nav .flecha{width:10px;height:10px;transition:transform .2s}
.sub{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:var(--r);box-shadow:var(--sombra);padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.sub a{display:block;padding:9px 12px;border-radius:6px;text-decoration:none;font-weight:500;font-size:.95rem}
.sub a:hover{background:var(--fondo);color:var(--rojo)}
.nav li:hover>.sub,.nav li:focus-within>.sub,.nav li.abierto>.sub{opacity:1;visibility:visible;transform:none}
.acciones{display:flex;align-items:center;gap:10px}
.carrito-btn{position:relative;width:44px;height:44px;border-radius:50%;border:0;background:var(--fondo);display:grid;place-items:center;color:var(--tinta)}
.carrito-btn svg{width:22px;height:22px}
.carrito-btn .num{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--rojo);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}
.carrito-btn .num[data-n="0"]{display:none}
.burger{display:none;width:44px;height:44px;border:0;background:var(--noche);color:#fff;border-radius:50%;place-items:center}
.burger svg{width:22px;height:22px}
@media (max-width:1080px){
  .burger{display:grid}
  .acciones .btn-socio{display:none}
  .nav{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:#fff;padding:calc(84px + env(safe-area-inset-top,0px)) 16px 24px;overflow:auto;transform:translateX(100%);transition:transform .25s;box-shadow:var(--sombra);margin:0}
  body.menu-abierto .nav{transform:none}
  .nav>ul{flex-direction:column;gap:0}
  .nav>ul>li{border-bottom:1px solid var(--linea)}
  .nav>ul>li>a,.nav>ul>li>button{width:100%;justify-content:space-between;padding:14px 6px;font-size:1.1rem}
  .sub{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;padding:0 0 10px 8px;min-width:0}
  .nav li.abierto>.sub{display:block}
  .nav li.abierto .flecha{transform:rotate(180deg)}
  .nav li:hover>.sub{display:none}
  .nav li.abierto:hover>.sub{display:block}
  .cerrar-menu{position:absolute;top:calc(20px + env(safe-area-inset-top,0px));right:16px}
}
@media (min-width:1081px){.cerrar-menu,.nav .solo-movil{display:none}}
.velo{position:fixed;inset:0;background:rgba(13,24,56,.5);z-index:40;opacity:0;visibility:hidden;transition:.2s}
body.menu-abierto .velo,body.carrito-abierto .velo{opacity:1;visibility:visible}
body.menu-abierto .nav{z-index:60}
@media (max-width:560px){.marca img.wordmark{display:none}.topbar .liga{display:none}}

/* ---------- Centro de partidos (hero home) ---------- */
.matchday{background:radial-gradient(1200px 500px at 85% -10%,rgba(210,32,46,.35),transparent 60%),var(--noche);color:#fff;position:relative;overflow:hidden}
.matchday::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,var(--rojo) 0 22px,#fff 22px 44px)}
.matchday .wrap{padding-block:44px 52px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:stretch}
.proximo{display:flex;flex-direction:column;gap:22px}
.proximo .cabeza{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;color:#AEB8D3}
.proximo .cabeza .chip{background:var(--rojo);color:#fff;padding:4px 10px;border-radius:4px}
.duelo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.equipo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;min-width:0}
.equipo .badge{width:96px;height:96px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.equipo .badge img{width:78px;height:78px;object-fit:contain}
.equipo .badge.ini{background:var(--noche-2);border:2px solid rgba(255,255,255,.25);font-family:var(--f-display);font-weight:900;font-size:2rem;color:#fff}
.equipo .nombre{font-family:var(--f-display);font-weight:800;font-size:clamp(1.3rem,2.6vw,2rem);text-transform:uppercase;line-height:1}
.equipo .rol{font-family:var(--f-label);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#AEB8D3}
.vs{font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,6vw,4.4rem);color:var(--rojo);line-height:1}
.datos-partido{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-family:var(--f-label);font-size:1.05rem;letter-spacing:.04em}
.datos-partido span{display:inline-flex;align-items:center;gap:8px}
.datos-partido svg{width:18px;height:18px;opacity:.75}
.cuenta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:440px;margin:0 auto;width:100%}
.cuenta div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 4px;text-align:center}
.cuenta b{display:block;font-family:var(--f-display);font-weight:800;font-size:2.1rem;line-height:1;font-variant-numeric:tabular-nums}
.cuenta small{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#AEB8D3}
.proximo .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.panel-lateral{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.panel-lateral h2{font-size:1.6rem;text-transform:uppercase}
.lista-partidos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lista-partidos li{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.lista-partidos li:last-child{border-bottom:0}
.lp-fecha{font-family:var(--f-label);text-transform:uppercase;line-height:1.1;text-align:center;background:rgba(255,255,255,.07);border-radius:6px;padding:6px 0}
.lp-fecha b{display:block;font-family:var(--f-display);font-size:1.5rem;font-weight:800}
.lp-fecha small{font-size:.72rem;letter-spacing:.1em;color:#AEB8D3}
.lp-rival{min-width:0}
.lp-rival strong{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-rival small{color:#AEB8D3;font-size:.82rem}
.lp-cond{font-family:var(--f-label);font-weight:700;font-size:.72rem;letter-spacing:.1em;padding:3px 8px;border-radius:4px;text-transform:uppercase}
.lp-cond.casa{background:var(--rojo);color:#fff}
.lp-cond.fuera{background:rgba(255,255,255,.14);color:#fff}
.ultimo{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.07);border-radius:10px;padding:12px 14px}
.ultimo .marcador{font-family:var(--f-display);font-weight:900;font-size:1.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.ultimo .txt{min-width:0;font-size:.92rem}
.ultimo .txt small{display:block;color:#AEB8D3;font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}
.res{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:5px;font-family:var(--f-label);font-weight:800;font-size:.8rem;color:#fff}
.res.V{background:var(--ok)}.res.E{background:#8A93A8}.res.D{background:var(--rojo)}
.racha{display:flex;gap:6px;align-items:center}
.enlace-flecha{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}
.enlace-flecha:hover{color:var(--rojo)}
@media (max-width:960px){.matchday .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){
  .equipo .badge{width:72px;height:72px}.equipo .badge img{width:58px;height:58px}
  .cuenta b{font-size:1.6rem}
  .duelo{gap:8px}
}

/* ---------- Secciones ---------- */
.seccion{padding-block:64px}
.seccion.blanca{background:#fff}
.sec-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.sec-cab h2{font-size:clamp(2rem,4.2vw,3rem);text-transform:uppercase;font-weight:900}
.sec-cab .label{color:var(--rojo);display:block;margin-bottom:6px}

/* Carrusel promocional */
.promo{position:relative}
.promo-pista{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.promo-item{scroll-snap-align:start;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5;max-width:100%;background:var(--noche);color:#fff;text-decoration:none;display:flex;align-items:flex-end}
.promo-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.promo-item:hover img{transform:scale(1.04)}
.promo-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(13,24,56,.92))}
.promo-item .txt{position:relative;z-index:1;padding:20px;display:flex;flex-direction:column;gap:8px}
.promo-item h3{font-size:clamp(1.4rem,2vw,1.75rem);text-transform:uppercase;font-weight:900}
.promo-item .label{color:#FFB3B8}
@media (min-width:1100px){.promo-pista{grid-auto-columns:calc((100% - 64px)/5)}}

/* Noticias */
.noticias-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.noticia{background:#fff;border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 1px 0 var(--linea);transition:box-shadow .2s,transform .2s;grid-column:span 4;min-width:0}
.noticia:hover{box-shadow:var(--sombra);transform:translateY(-2px)}
.noticia .img{aspect-ratio:3/2;overflow:hidden;background:var(--linea)}
.noticia .img img{width:100%;height:100%;object-fit:cover}
.noticia .cuerpo{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.noticia .meta{color:var(--gris);font-family:var(--f-label);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;display:flex;gap:10px}
.noticia .meta .cat{color:var(--rojo);font-weight:700}
.noticia h3{font-family:var(--f-body);font-weight:700;font-size:1.12rem;line-height:1.3}
.noticia p{color:var(--gris);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.noticia.destacada{grid-column:span 8;grid-row:span 2}
.noticia.destacada .img{aspect-ratio:16/10}
.noticia.destacada h3{font-family:var(--f-display);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;text-transform:uppercase;line-height:1.02}
@media (max-width:900px){.noticia,.noticia.destacada{grid-column:span 6}.noticia.destacada{grid-column:span 12}}
@media (max-width:600px){.noticia,.noticia.destacada{grid-column:span 12}}

/* Tienda / productos */
.productos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.producto{background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 var(--linea);transition:box-shadow .2s;min-width:0}
.producto:hover{box-shadow:var(--sombra)}
.producto .img{aspect-ratio:4/5;background:#fff;overflow:hidden;position:relative;display:block}
.producto .img img{width:100%;height:100%;object-fit:contain;transition:transform .4s}
.producto:hover .img img{transform:scale(1.04)}
.producto .tag{position:absolute;top:12px;left:12px;background:var(--rojo);color:#fff;font-family:var(--f-label);font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:4px}
.producto .info{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1;border-top:1px solid var(--linea)}
.producto h3{font-family:var(--f-body);font-weight:700;font-size:1.05rem;line-height:1.25}
.producto h3 a{text-decoration:none}
.producto .precio{font-family:var(--f-display);font-weight:800;font-size:1.6rem;font-variant-numeric:tabular-nums}
.producto .pie-prod{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.filtros button{border:2px solid var(--linea);background:#fff;border-radius:999px;padding:.45em 1.1em;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.88rem;color:var(--tinta)}
.filtros button[aria-pressed="true"]{background:var(--noche);border-color:var(--noche);color:#fff}

/* Ficha producto */
.ficha{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.galeria{display:flex;flex-direction:column;gap:12px;position:sticky;top:100px}
.galeria .principal{background:#fff;border-radius:14px;aspect-ratio:4/5;overflow:hidden;display:grid;place-items:center}
.galeria .principal img{width:100%;height:100%;object-fit:contain}
.miniaturas{display:flex;gap:10px;flex-wrap:wrap}
.miniaturas button{width:74px;height:74px;border-radius:8px;border:2px solid var(--linea);background:#fff;padding:3px;overflow:hidden}
.miniaturas button[aria-current="true"]{border-color:var(--rojo)}
.miniaturas img{width:100%;height:100%;object-fit:contain}
.ficha-info{display:flex;flex-direction:column;gap:20px}
.ficha-info h1{font-size:clamp(2.2rem,4.5vw,3.4rem);text-transform:uppercase;font-weight:900}
.ficha-info .precio{font-family:var(--f-display);font-weight:800;font-size:2.4rem}
.campo{display:flex;flex-direction:column;gap:8px}
.campo>label,.campo>.etq{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.88rem}
.campo input,.campo select,.campo textarea{font:inherit;padding:.75em .9em;border:2px solid var(--linea);border-radius:8px;background:#fff;color:var(--tinta);width:100%}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--noche);outline:none}
.tallas{display:flex;flex-wrap:wrap;gap:8px}
.tallas label{position:relative}
.tallas input{position:absolute;opacity:0;inset:0}
.tallas span{display:grid;place-items:center;min-width:52px;height:46px;padding:0 10px;border:2px solid var(--linea);border-radius:8px;font-weight:700;background:#fff;cursor:pointer}
.tallas input:checked+span{border-color:var(--noche);background:var(--noche);color:#fff}
.tallas input:focus-visible+span{outline:3px solid var(--rojo);outline-offset:2px}
.cantidad{display:inline-flex;align-items:center;border:2px solid var(--linea);border-radius:999px;background:#fff}
.cantidad button{width:42px;height:42px;border:0;background:none;font-size:1.2rem}
.cantidad input{width:44px;text-align:center;border:0;font:inherit;font-weight:700;background:none;-moz-appearance:textfield}
.cantidad input::-webkit-inner-spin-button{-webkit-appearance:none}
.ventajas{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.92rem;color:var(--gris)}
.ventajas div{display:flex;gap:8px;align-items:flex-start}
.ventajas svg{width:20px;height:20px;flex-shrink:0;color:var(--rojo)}
.aviso-error{color:var(--rojo);font-weight:600;font-size:.92rem}
@media (max-width:860px){.ficha{grid-template-columns:1fr}.galeria{position:static}}

/* Carrito lateral */
.carrito{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#fff;z-index:70;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body.carrito-abierto .carrito{transform:none}
.carrito header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--linea)}
.carrito header h2{font-size:1.7rem;text-transform:uppercase}
.carrito .lineas{flex:1;overflow:auto;padding:8px 20px}
.carrito footer{padding:18px 20px;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:12px}
.linea{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--linea);align-items:start}
.linea img{width:72px;height:72px;object-fit:contain;background:var(--fondo);border-radius:8px}
.linea .det{min-width:0;font-size:.92rem}
.linea .det strong{display:block;line-height:1.25}
.linea .det small{color:var(--gris);display:block}
.linea .lado{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-weight:700;font-variant-numeric:tabular-nums}
.linea .quitar{border:0;background:none;color:var(--gris);font-size:.82rem;text-decoration:underline;padding:0}
.linea .mini-cant{display:inline-flex;align-items:center;gap:6px}
.linea .mini-cant button{width:26px;height:26px;border-radius:50%;border:1px solid var(--linea);background:#fff;line-height:1}
.total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--f-display);font-weight:800;font-size:1.6rem}
.vacio{padding:40px 0;text-align:center;color:var(--gris);display:flex;flex-direction:column;gap:14px;align-items:center}
.icono-cerrar{width:42px;height:42px;border-radius:50%;border:0;background:var(--fondo);display:grid;place-items:center;color:var(--tinta)}
.icono-cerrar svg{width:20px;height:20px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);background:var(--noche);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;opacity:0;transition:.25s;z-index:90;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
.toast.ver{opacity:1;transform:translate(-50%,0)}

/* Cabecera de página interior */
.page-hero{background:var(--noche);color:#fff;position:relative;overflow:hidden}
.page-hero .bg{position:absolute;inset:0;opacity:.28}
.page-hero .bg img{width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--rojo) 0 18px,#fff 18px 36px)}
.page-hero .wrap{position:relative;padding-block:56px 50px;display:flex;flex-direction:column;gap:12px}
.page-hero h1{font-size:clamp(2.6rem,7vw,5.2rem);text-transform:uppercase;font-weight:900}
.page-hero p{max-width:62ch;color:#D5DBEA;font-size:1.08rem}
.migas{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:#AEB8D3;display:flex;gap:8px;flex-wrap:wrap}
.migas a{text-decoration:none}.migas a:hover{color:#fff}

/* Texto largo */
.prosa{max-width:70ch;display:flex;flex-direction:column;gap:1.1em;font-size:1.06rem}
.prosa h2{font-size:2rem;text-transform:uppercase;margin-top:.6em}
.prosa h3{font-size:1.5rem;text-transform:uppercase;margin-top:.4em}
.prosa ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:.4em}
.prosa img{border-radius:12px;width:100%}
.prosa .entradilla{font-size:1.2rem;font-weight:600;line-height:1.5}
.ficha-partido{background:var(--fondo);border-left:4px solid var(--rojo);border-radius:0 10px 10px 0;padding:18px 20px}
.ficha-partido h3{font-size:1.2rem;margin:0 0 8px}
.dos-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:900px){.dos-col{grid-template-columns:minmax(0,1fr)}}
.aside-tarjeta{background:#fff;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 0 var(--linea)}
.aside-tarjeta h3{font-size:1.6rem;text-transform:uppercase}

/* Línea de tiempo historia */
.hitos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.hito{background:var(--noche);color:#fff;border-radius:12px;padding:20px}
.hito b{font-family:var(--f-display);font-size:2.6rem;font-weight:900;color:var(--rojo);display:block;line-height:1}
.galeria-hist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.galeria-hist img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:100%;filter:grayscale(.15)}

/* Plantilla */
.plantilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}
.jugador{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,var(--noche-2),var(--noche));color:#fff;aspect-ratio:2/3;max-width:100%}
.jugador img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.jugador .dorsal{position:absolute;top:10px;left:12px;font-family:var(--f-display);font-weight:900;font-size:3rem;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.jugador .nom{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 14px;background:linear-gradient(180deg,transparent,rgba(13,24,56,.95));font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.3rem;line-height:1}
.jugador .nom small{display:block;font-family:var(--f-label);font-weight:500;font-size:.85rem;letter-spacing:.06em;color:#C9D0E2;margin-bottom:2px;text-transform:none}

/* Calendario */
.tabla-wrap{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 1px 0 var(--linea)}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--linea);white-space:nowrap}
th{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--gris);background:var(--fondo)}
tr.nuestro td{background:#FDECEE;font-weight:700}
tr.proximo-fila td{background:#EEF2FB}
td.res-cel{font-family:var(--f-display);font-weight:800;font-size:1.25rem}
.casa-ico{display:inline-block;font-family:var(--f-label);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:4px}
.casa-ico.casa{background:var(--rojo);color:#fff}.casa-ico.fuera{background:var(--linea);color:var(--tinta)}
.cal-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:960px){.cal-grid{grid-template-columns:minmax(0,1fr)}}

/* Tarjetas genéricas */
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.tarjeta{background:#fff;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 0 var(--linea);text-decoration:none;min-width:0}
a.tarjeta:hover{box-shadow:var(--sombra)}
.tarjeta h3{font-size:1.5rem;text-transform:uppercase}
.tarjeta p{color:var(--gris)}
.tarjeta .num{font-family:var(--f-display);font-weight:900;font-size:2.6rem;color:var(--rojo);line-height:1}

/* Abonos */
.abonos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.abono{background:#fff;border-radius:14px;padding:26px 22px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;box-shadow:0 1px 0 var(--linea);min-width:0}
.abono::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--rojo) 0 14px,#fff 14px 28px);border-bottom:1px solid var(--linea)}
.abono.top{background:var(--noche);color:#fff}
.abono h3{font-size:1.7rem;text-transform:uppercase}
.abono .edad{color:var(--gris);font-family:var(--f-label);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}
.abono.top .edad{color:#AEB8D3}
.abono .precio{font-family:var(--f-display);font-weight:900;font-size:3rem;line-height:1}
.abono .precio small{font-size:1rem;font-weight:600;font-family:var(--f-body)}
.abono .btn{margin-top:auto}

/* Banda socio */
.banda-socio{background:var(--rojo);color:#fff;position:relative;overflow:hidden}
.banda-socio .wrap{padding-block:52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.banda-socio h2{font-size:clamp(2.4rem,5.5vw,4.4rem);text-transform:uppercase;font-weight:900}
.banda-socio p{font-size:1.1rem;max-width:52ch}
.banda-socio .img{border-radius:14px;overflow:hidden;aspect-ratio:3/2;max-width:100%}
.banda-socio .img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.banda-socio .wrap{grid-template-columns:1fr}}

/* Cantera / campus CTA */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.split a{position:relative;border-radius:14px;overflow:hidden;min-height:320px;display:flex;align-items:flex-end;color:#fff;text-decoration:none;background:var(--noche)}
.split img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;transition:transform .5s}
.split a:hover img{transform:scale(1.04)}
.split .txt{position:relative;padding:26px;display:flex;flex-direction:column;gap:8px}
.split h3{font-size:2.4rem;text-transform:uppercase;font-weight:900}
@media (max-width:760px){.split{grid-template-columns:1fr}}

/* Patrocinadores */
.patros{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 44px}
.patros img{height:72px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.2s}
.patros img:hover{filter:none;opacity:1}

/* Próximamente */
.pronto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.pronto .img{border-radius:14px;overflow:hidden;aspect-ratio:3/2;max-width:100%}
.pronto .img img{width:100%;height:100%;object-fit:cover}
.pronto .chip{align-self:flex-start;background:var(--noche);color:#fff;padding:5px 12px;border-radius:4px}
.pronto .txt{display:flex;flex-direction:column;gap:16px}
.pronto h2{font-size:clamp(1.9rem,4vw,2.8rem);text-transform:uppercase}
@media (max-width:860px){.pronto{grid-template-columns:1fr}}

/* Formularios / checkout */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .ancho{grid-column:1/-1}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.resumen{background:#fff;border-radius:14px;padding:22px;box-shadow:0 1px 0 var(--linea);display:flex;flex-direction:column;gap:12px;position:sticky;top:100px}
.opciones-envio{display:flex;flex-direction:column;gap:8px}
.opciones-envio label{display:flex;gap:10px;align-items:center;border:2px solid var(--linea);border-radius:8px;padding:12px;background:#fff;cursor:pointer}
.opciones-envio input{accent-color:var(--rojo)}
.confirmacion{background:#fff;border-radius:14px;padding:32px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}

/* Pie */
.pie{background:var(--noche);color:#C9D0E2;margin-top:0}
.pie .franjas{height:8px}
.pie .wrap{padding-block:52px 28px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.pie h4{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;color:#fff;font-size:.95rem;margin-bottom:12px}
.pie ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pie a{text-decoration:none}.pie a:hover{color:#fff}
.pie .marca-pie{display:flex;flex-direction:column;gap:14px}
.pie .marca-pie img{width:72px}
.pie .redes{display:flex;gap:10px}
.pie .redes a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center}
.pie .redes svg{width:18px;height:18px;fill:currentColor}
.pie .legal{border-top:1px solid rgba(255,255,255,.1)}
.pie .legal .wrap{padding-block:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.85rem;grid-template-columns:none}
@media (max-width:860px){.pie .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pie .wrap{grid-template-columns:1fr}}

.himno{background:var(--noche);color:#fff;border-radius:14px;padding:28px;font-family:var(--f-label);font-size:1.15rem;line-height:1.55;white-space:pre-line}
.escudo-grande{background:#fff;border-radius:50%;width:min(280px,70vw);aspect-ratio:1;display:grid;place-items:center;box-shadow:var(--sombra);margin:0 auto}
.escudo-grande img{width:78%}

.equipos-cat{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.equipos-cat .tarjeta ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.equipos-cat .tarjeta li{background:var(--fondo);border-radius:6px;padding:4px 10px;font-weight:600;font-size:.92rem}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ===================== Ajustes v2: menú azul, más rojo Moscardó ===================== */
/* Barra superior en rojo club */
.topbar{background:var(--rojo);color:#fff}
.topbar .redes a:hover{color:var(--noche)}
/* Cabecera y menú sobre azul */
.header{background:var(--noche);box-shadow:none;border-bottom:4px solid var(--rojo)}
.marca img.wordmark{filter:brightness(0) invert(1)}
.marca img.escudo{background:#fff;border-radius:50%;padding:3px}
.nav>ul>li>a,.nav>ul>li>button{color:#fff}
.nav>ul>li>a:hover,.nav>ul>li>button:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav .activo>a,.nav .activo>button{color:#fff;background:var(--rojo)}
.sub{border-top:4px solid var(--rojo)}
.carrito-btn{background:rgba(255,255,255,.1);color:#fff}
.burger{background:var(--rojo)}
/* La X de cerrar el menú solo existe en el menú móvil */
.icono-cerrar.cerrar-menu{display:none}
@media (max-width:1080px){
  .icono-cerrar.cerrar-menu{display:grid;background:rgba(255,255,255,.1);color:#fff}
  .nav{background:var(--noche)}
  .nav>ul>li{border-bottom-color:rgba(255,255,255,.12)}
  .nav>ul>li>a,.nav>ul>li>button{color:#fff;background:none}
  .nav .activo>a,.nav .activo>button{color:#FF8A93;background:none}
  .sub{background:transparent;border-top:0}
  .sub a{color:#C9D0E2}
  .sub a:hover{background:rgba(255,255,255,.08);color:#fff}
}
/* Más rojo en el contenido */
.sec-cab h2{position:relative;padding-bottom:12px}
.sec-cab h2::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:6px;background:var(--rojo);border-radius:3px}
.sec-cab[style*="center"] h2::after{left:50%;transform:translateX(-50%)}
.producto .precio,.ficha-info .precio{color:var(--rojo)}
.btn-noche{background:var(--rojo)}
.btn-noche:hover{background:var(--rojo-osc)}
.page-hero{background:linear-gradient(120deg,var(--rojo-osc),var(--rojo) 55%,#E8414E)}
.page-hero .bg{opacity:.18;mix-blend-mode:multiply}
.page-hero p,.migas{color:#FFE3E5}
.noticia{border-top:4px solid var(--rojo)}
.promo-item::after{background:linear-gradient(180deg,transparent 35%,rgba(165,20,31,.92))}
.promo-item .label{color:#fff}
.seccion.noticias-portada{background:#fff;padding-top:44px}
/* Centro de partidos en rojo Moscardó */
.matchday{background:radial-gradient(900px 420px at 90% -10%,rgba(255,255,255,.14),transparent 60%),linear-gradient(135deg,var(--rojo-osc),var(--rojo))}
.matchday::after{background:repeating-linear-gradient(90deg,var(--noche) 0 22px,#fff 22px 44px)}
.proximo .cabeza{color:#FFE3E5}
.proximo .cabeza .chip{background:var(--noche)}
.vs{color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.15)}
.equipo .rol,.cuenta small,.lp-rival small,.lp-fecha small,.ultimo .txt small{color:#FFD3D7}
.equipo .badge.ini{background:var(--noche)}
.cuenta div{background:var(--noche);border-color:var(--noche)}
.panel-lateral{background:var(--noche);border-color:var(--noche)}
.panel-lateral .lp-rival small,.panel-lateral .lp-fecha small,.panel-lateral .ultimo .txt small{color:#AEB8D3}
.matchday .btn-rojo{background:#fff;color:var(--rojo)}
.matchday .btn-rojo:hover{background:var(--noche);color:#fff}
.res.D{background:#FF5A66}
.noticia.destacada{display:flex;flex-direction:column}.noticia.destacada .img{flex:1;aspect-ratio:auto;min-height:320px}.noticia.destacada .cuerpo{flex:0 0 auto}@media (max-width:900px){.noticia.destacada .img{flex:none;aspect-ratio:16/10;min-height:0}}
/* ===================== Ajustes v3 ===================== */
.seccion.noticias-portada{padding-block:40px 44px}
.noticias-portada .sec-cab{margin-bottom:20px}
.noticias-grid.compacta{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.noticias-grid.compacta .noticia{grid-column:auto}
.noticias-grid.compacta .noticia .img{aspect-ratio:16/9}
.noticias-grid.compacta .noticia .cuerpo{padding:14px 16px 16px;gap:6px}
.noticias-grid.compacta .noticia h3{font-size:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.noticias-grid.compacta .noticia p{display:none}
@media (max-width:900px){.noticias-grid.compacta{grid-template-columns:repeat(2,minmax(0,1fr))}.noticias-grid.compacta .noticia:nth-child(3){display:none}}
@media (max-width:560px){.noticias-grid.compacta{grid-template-columns:minmax(0,1fr)}.noticias-grid.compacta .noticia{display:grid;grid-template-columns:120px minmax(0,1fr)}.noticias-grid.compacta .noticia:nth-child(3){display:grid}.noticias-grid.compacta .noticia .img{aspect-ratio:auto;height:100%}}
/* Patrocinadores sobre azul, logos a color */
.seccion.patrocinadores{background:var(--noche);color:#fff;border-top:6px solid var(--rojo)}
.patrocinadores .sec-cab .label{color:#FF8A93}
.patrocinadores .patros img{filter:none;opacity:1;height:84px}
.patrocinadores .patros img:hover{transform:scale(1.06)}
.patrocinadores .patros img{transition:transform .2s}
/* Precios de abonos en la banda de socios */
.mini-abonos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:560px}
.mini-abonos a{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:8px 10px;text-decoration:none;transition:background .15s}
.mini-abonos a:hover{background:rgba(255,255,255,.22)}
.mini-abonos span{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;line-height:1.15}
.mini-abonos small{display:block;font-weight:500;text-transform:none;letter-spacing:0;font-size:.74rem;opacity:.85}
.mini-abonos b{font-family:var(--f-display);font-weight:900;font-size:1.6rem;line-height:1;font-variant-numeric:tabular-nums}
@media (max-width:520px){.mini-abonos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Páginas de equipo de la cantera (equipo-*.html, assets/js/equipo.js) ---------- */
.eq-intro{max-width:760px;color:var(--gris);font-size:1.05rem;margin-bottom:26px}
.eq-lista .tarjeta ul{flex-direction:column;gap:8px;flex-wrap:nowrap}
.eq-lista .tarjeta li{padding:0;background:none}
.eq-lista .tarjeta li a{width:100%;color:var(--tinta);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;background:var(--fondo);border-radius:8px;padding:10px 14px;text-decoration:none;transition:background .15s,color .15s}
.eq-lista .tarjeta li a::after{content:"→";color:var(--rojo);font-weight:700;grid-column:2;grid-row:1/3}
.eq-lista .tarjeta li a:hover{background:#FDECEE}
.eq-lista .tarjeta li b{font-weight:700;font-size:.98rem}
.eq-lista .tarjeta li b{grid-column:1;display:block;font-size:1.05rem;line-height:1.2}
.eq-lista .tarjeta li small{grid-column:1;display:block;color:var(--gris);font-weight:500;font-size:.85rem;line-height:1.3;margin-top:2px}
.eq-match .equipo .nombre{font-size:clamp(1.05rem,2.2vw,1.6rem)}
.eq-badge{width:30px;height:30px;border-radius:50%;background:transparent;display:inline-grid;place-items:center;flex-shrink:0}
.eq-badge img{width:30px;height:30px;object-fit:contain}
.eq-badge.rffm{background:#fff;overflow:hidden}.eq-badge.rffm img{width:24px;height:24px}
.eq-badge.ini{background:var(--noche-2);color:#fff;font-family:var(--f-label);font-weight:700;font-size:.7rem;text-transform:uppercase}
.eq-badge.grande{width:96px;height:96px}
.eq-badge.grande img{width:96px;height:96px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}
.eq-badge.grande.rffm img{width:78px;height:78px;filter:none}
.eq-badge.grande.ini{font-family:var(--f-display);font-weight:900;font-size:2rem;border:2px solid rgba(255,255,255,.25)}
.eq-vacio-osc{color:#C9D0E2}
.eq-vacio{background:#fff;border-radius:12px;padding:22px;color:var(--gris);box-shadow:0 1px 0 var(--linea)}
.seccion.blanca .eq-vacio{background:var(--fondo);box-shadow:none}
.eq-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.eq-stats div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 4px;text-align:center}
.eq-stats b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.8rem;line-height:1;font-variant-numeric:tabular-nums}
.eq-stats small{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:#AEB8D3}
.eq-marcador{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.eq-rival{display:inline-flex;align-items:center;gap:10px}
.eq-cal td.res-cel{white-space:nowrap}
.eq-cal td.res-cel .res{margin-right:6px;vertical-align:middle}
.eq-fecha small,.eq-rnom small{display:block;color:var(--gris);font-size:.8rem;line-height:1.3;margin-top:2px}
.eq-rnom{white-space:normal;line-height:1.25;min-width:0}
.eq-cal td:nth-child(3){width:100%}
.eq-cab-cal{margin-top:56px}
.eq-pend{font-family:var(--f-label);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
tr.proximo-fila .eq-pend{color:var(--noche);font-weight:700}
tr.eq-descanso td{color:var(--gris);font-style:italic}
.eq-clas td,.eq-clas th{padding:10px 10px}
.eq-clas td:nth-child(n+3),.eq-clas th:nth-child(n+3){text-align:center}
.eq-clas td:nth-child(2){width:100%;white-space:normal}
.eq-tecnicos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:56px}
.eq-tecnico{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--noche),var(--noche-2));color:#fff;border-radius:12px;padding:16px 18px}
.eq-tecnico .label{display:block;color:#FFB3B8;font-size:.72rem}
.eq-tecnico strong{font-family:var(--f-display);font-weight:800;font-size:1.35rem;text-transform:uppercase;line-height:1.05}
.eq-avatar{width:54px;height:54px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:1.3rem;text-transform:uppercase;color:#fff;background:var(--rojo);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.eq-plantilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.eq-jugador{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;background:var(--fondo);border-radius:12px;padding:14px;min-width:0}
.eq-jugador::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:repeating-linear-gradient(180deg,var(--rojo) 0 10px,#fff 10px 20px)}
.eq-jugador .eq-avatar{width:46px;height:46px;font-size:1.05rem;background:var(--noche);margin-left:6px;box-shadow:none}
.eq-jnom{min-width:0;font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.12rem;line-height:1.05;overflow-wrap:break-word}
.eq-jnom small{display:block;font-family:var(--f-label);font-weight:600;text-transform:none;letter-spacing:.04em;font-size:.9rem;color:var(--gris);margin-bottom:2px}
.eq-cab-jug{margin-top:8px}
.eq-fuente{margin-top:34px;font-size:.88rem;color:var(--gris)}
.eq-fuente a{color:var(--rojo)}
@media (max-width:640px){.eq-opc{display:none}.eq-cal td.res-cel .res{display:none}.eq-cal th,.eq-cal td,.eq-clas th,.eq-clas td{padding:10px 8px}.eq-cal .eq-badge,.eq-clas .eq-badge{display:none}.eq-stats b{font-size:1.4rem}.eq-badge.grande{width:72px;height:72px}.eq-badge.grande img{width:72px;height:72px}.eq-plantilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.eq-jugador{padding:12px 10px;gap:8px}.eq-jugador .eq-avatar{width:34px;height:34px;font-size:.8rem;margin-left:4px}.eq-jnom{font-size:.92rem}.eq-jnom small{font-size:.8rem}}

/* ===================== Ajustes v4: partido, clasificación, carruseles, tienda, socios ===================== */
.pie .wrap{grid-template-columns:1.3fr repeat(4,1fr)}
@media (max-width:1000px){.pie .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pie .wrap{grid-template-columns:1fr}}

/* Próximo partido más protagonista */
.matchday-xl .wrap{padding-block:52px 60px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media (max-width:960px){.matchday-xl .wrap{grid-template-columns:minmax(0,1fr)}}
.fecha-gigante{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px 16px;text-align:center}
.fecha-gigante b{font-family:var(--f-display);font-weight:900;font-size:clamp(3rem,8vw,6rem);line-height:.9;letter-spacing:.01em}
.fecha-gigante .fg-dia,.fecha-gigante .fg-hora{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(1rem,2vw,1.35rem)}
.fecha-gigante .fg-hora{background:#fff;color:var(--rojo);padding:4px 12px;border-radius:6px}
.matchday-xl .equipo .badge{width:118px;height:118px}
.matchday-xl .equipo .badge img{width:96px;height:96px}
.matchday-xl .vs{font-size:clamp(2.6rem,7vw,5rem)}
.matchday-xl .cuenta{max-width:520px}
.matchday-xl .cuenta b{font-size:2.6rem}
@media (max-width:520px){.matchday-xl .equipo .badge{width:76px;height:76px}.matchday-xl .equipo .badge img{width:60px;height:60px}.matchday-xl .cuenta b{font-size:1.7rem}}

/* Puesto en la clasificación */
.pos-badge{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;background:linear-gradient(135deg,var(--rojo),var(--rojo-osc));border-radius:12px;padding:16px 18px;position:relative}
.pb-pos{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:#fff;color:var(--rojo);box-shadow:0 0 0 5px rgba(255,255,255,.25)}
.pb-pos b{font-family:var(--f-display);font-weight:900;font-size:3.2rem;line-height:.85}
.pb-pos span{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--noche)}
.pb-datos{display:flex;flex-direction:column;gap:6px;min-width:0}
.pb-pts{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.pb-pts b{font-family:var(--f-display);font-size:2.4rem;font-weight:900;margin-right:4px}
.pb-linea{font-size:.92rem;color:#FFE3E5}
.pb-link{position:absolute;top:12px;right:14px;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;text-decoration:none;opacity:.9}
.pb-link:hover{text-decoration:underline}

/* Tabla de clasificación */
table.clasif td,table.clasif th{padding:10px 12px}
table.clasif .pos{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--fondo);font-weight:700}
table.clasif tr.z-asc .pos{background:var(--ok);color:#fff}
table.clasif tr.z-play .pos{background:#2F5DB8;color:#fff}
table.clasif tr.z-desc .pos{background:#8A93A8;color:#fff}
table.clasif tr.nuestro td{background:#FDECEE;font-weight:800;color:var(--rojo-osc)}
table.clasif td.pts{font-family:var(--f-display);font-weight:900;font-size:1.2rem}
.mini-escudo{width:20px;height:20px;display:inline-block;vertical-align:-4px;margin-right:6px}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.82rem;color:var(--gris);padding:10px 14px;margin:0}
.leyenda span{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:-8px}
.leyenda .z-asc{background:var(--ok)}.leyenda .z-play{background:#2F5DB8}.leyenda .z-desc{background:#8A93A8}

/* Goleadores */
.goleadores{list-style:none;margin:0;padding:0;counter-reset:g;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 0 var(--linea)}
.goleadores li{counter-increment:g;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--linea)}
.goleadores li::before{content:counter(g);font-family:var(--f-display);font-weight:900;font-size:1.2rem;color:var(--rojo)}
.goleadores li:first-child{background:var(--noche);color:#fff}
.goleadores li:first-child::before{color:#fff}
.goleadores b{font-family:var(--f-display);font-weight:900;font-size:1.4rem}

/* Carrusel de resultados */
.resultados-home{background:#fff}
.car-ctrl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.car-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--noche);background:#fff;color:var(--noche);font-size:1.6rem;line-height:1;display:grid;place-items:center}
.car-btn:hover{background:var(--noche);color:#fff}
.car-pista{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,320px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:thin}
.rc{scroll-snap-align:start;background:var(--noche);color:#fff;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;border-top:6px solid #8A93A8;min-width:0}
.rc.V{border-top-color:var(--ok)}.rc.D{border-top-color:#FF5A66}
.rc-cab{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:#AEB8D3}
.rc-marcador{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.rc-eq{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0}
.rc-eq span{font-weight:700;font-size:.85rem;line-height:1.15}
.rc .badge{width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center}
.rc .badge img{width:42px;height:42px;object-fit:contain}
.rc .badge.ini{background:var(--noche-2);border:2px solid rgba(255,255,255,.25);font-family:var(--f-display);font-weight:900;font-size:1.2rem;color:#fff}
.rc-num{font-family:var(--f-display);font-weight:900;font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.rc-num i{font-style:normal;color:#AEB8D3;margin:0 4px}
.rc-goles{font-size:.85rem;color:#C9D0E2;line-height:1.4}
.rc-cronica{margin-top:auto;align-self:flex-start;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:#fff;text-decoration:none;background:var(--rojo);padding:6px 12px;border-radius:999px}
.rc-cronica:hover{background:#fff;color:var(--rojo)}
.rc-cronica.sin{background:rgba(255,255,255,.1);color:#AEB8D3}
.rc-vacio{grid-column:1/-1;background:var(--fondo);border:2px dashed var(--linea);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:8px;min-width:min(100%,560px)}
.rc-vacio b{font-family:var(--f-display);font-size:1.6rem;text-transform:uppercase}
.mini-cronica{font-family:var(--f-label);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rojo);margin-left:6px}
.tabs-equipos{margin-bottom:28px}
.chips-equipos{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips-equipos li{background:var(--noche);color:#fff;border-radius:999px;padding:5px 14px;font-family:var(--f-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}
.lista-partidos.claro li{border-bottom-color:var(--linea)}
.lista-partidos.claro .lp-fecha{background:var(--fondo)}
.lista-partidos.claro .lp-fecha small,.lista-partidos.claro .lp-rival small{color:var(--gris)}
.lista-partidos.claro .lp-cond.fuera{background:var(--linea);color:var(--tinta)}
.lp-vacio{display:block!important;color:var(--gris);padding:10px 0}
.vacio-equipo{background:#fff;border:2px dashed var(--linea);border-radius:12px;padding:22px;color:var(--gris)}
.lista-plantilla{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.lista-plantilla li{background:#fff;border-radius:8px;padding:10px 14px;font-weight:600;box-shadow:0 1px 0 var(--linea)}
.jugador .nom em{display:block;font-family:var(--f-body);font-style:normal;font-weight:500;font-size:.72rem;letter-spacing:0;text-transform:none;color:#C9D0E2;margin-top:4px}
.jugador .sin-foto{position:absolute;inset:0;display:grid;place-items:center}
.jugador .sin-foto img{position:static;width:45%;height:auto;opacity:.25}

/* Banner tienda */
.tienda-banner{background:radial-gradient(800px 400px at 85% 30%,rgba(255,255,255,.18),transparent 60%),linear-gradient(120deg,var(--noche) 0 42%,var(--rojo) 42% 100%);color:#fff;overflow:hidden}
.tb-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center;padding-block:56px 36px}
.tb-txt{display:flex;flex-direction:column;gap:16px}
.tb-chip{align-self:flex-start;background:var(--rojo);color:#fff;font-family:var(--f-label);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;padding:5px 12px;border-radius:4px}
.tb-txt h2{font-size:clamp(2.6rem,6vw,5rem);font-weight:900;text-transform:uppercase;line-height:.92}
.tb-txt h2 em,.socios-hero h1 em{font-style:normal;color:var(--rojo);-webkit-text-stroke:0;background:#fff;padding:0 .12em;border-radius:4px}
.tb-txt p{max-width:48ch;color:#D5DBEA;font-size:1.05rem}
.tb-precio{display:flex;align-items:baseline;gap:10px}
.tb-precio span{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.tb-precio b{font-family:var(--f-display);font-weight:900;font-size:3rem;line-height:1}
.tb-ctas{display:flex;gap:10px;flex-wrap:wrap}
.tb-fotos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.tb-fotos a{position:relative;background:#fff;border-radius:16px;overflow:hidden;aspect-ratio:4/5;max-width:100%;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);transition:transform .3s}
.tb-fotos a:hover{transform:translateY(-6px) rotate(-1deg)}
.tb-fotos .tb-f2{transform:translateY(28px)}
.tb-fotos .tb-f2:hover{transform:translateY(20px) rotate(1deg)}
.tb-fotos img{width:100%;height:100%;object-fit:contain}
.tb-fotos span{position:absolute;top:10px;left:10px;background:var(--noche);color:#fff;font-family:var(--f-display);font-weight:900;font-size:1.3rem;padding:2px 10px;border-radius:6px}
.usps{list-style:none;margin:0;padding:18px 0 26px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:1px solid rgba(255,255,255,.2)}
.usps li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.95rem}
.usps svg{width:26px;height:26px;flex-shrink:0;background:#fff;color:var(--rojo);border-radius:50%;padding:4px}
.tienda-banner.grande .tb-grid{padding-block:64px 44px}
@media (max-width:860px){.tb-grid{grid-template-columns:minmax(0,1fr)}.tienda-banner{background:linear-gradient(160deg,var(--noche) 0 45%,var(--rojo) 45% 100%)}.usps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cat-tile{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;background:#fff;aspect-ratio:16/10;max-width:100%;display:block;text-align:left;box-shadow:0 1px 0 var(--linea)}
.cat-tile img{width:100%;height:100%;object-fit:contain;padding:12px 40% 12px 12px;transition:transform .4s}
.cat-tile:hover img{transform:scale(1.05)}
.cat-tile span{position:absolute;right:0;top:0;bottom:0;width:48%;background:var(--rojo);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:16px}
.cat-tile:nth-child(2) span{background:var(--noche)}
.cat-tile b{font-family:var(--f-display);font-weight:900;font-size:1.6rem;text-transform:uppercase;line-height:1}
.cat-tile small{font-family:var(--f-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:760px){.cat-tiles{grid-template-columns:minmax(0,1fr)}}

/* Personalizador */
.personaliza{background:var(--noche);color:#fff}
.pz-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:60px}
.pz-txt{display:flex;flex-direction:column;gap:16px}
.pz-txt .label{color:#FF8A93}
.pz-txt h2{font-size:clamp(2rem,4.5vw,3.4rem);text-transform:uppercase;font-weight:900}
.pz-txt p{color:#C9D0E2}
.pz-txt .campo label{color:#fff}
.pz-camiseta{display:grid;place-items:center}
.dorso{width:min(320px,80vw);aspect-ratio:1/1.12;background:repeating-linear-gradient(90deg,var(--rojo) 0 34px,#fff 34px 68px);clip-path:polygon(22% 0,40% 4%,60% 4%,78% 0,100% 14%,92% 34%,82% 30%,82% 100%,18% 100%,18% 30%,8% 34%,0 14%);display:flex;flex-direction:column;align-items:center;padding-top:22%;gap:2px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.pz-n,.pz-d{font-family:var(--f-display);font-weight:900;color:var(--noche);background:rgba(255,255,255,.88);padding:0 .2em;border-radius:4px;line-height:1}
.pz-n{font-size:clamp(1.3rem,4vw,2rem);letter-spacing:.08em}
.pz-d{font-size:clamp(4rem,12vw,7rem)}
@media (max-width:860px){.pz-grid{grid-template-columns:minmax(0,1fr)}}

/* Socios */
.socios-home{background:linear-gradient(180deg,var(--noche) 0 55%,var(--fondo) 55%);color:#fff;padding-block:64px 56px}
.sh-cab{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:end;margin-bottom:32px}
.sh-cab .label{color:#FF8A93}
.sh-cab h2{font-size:clamp(2.4rem,5.5vw,4.4rem);text-transform:uppercase;font-weight:900;margin:6px 0 10px}
.sh-cab p{color:#D5DBEA;max-width:52ch;font-size:1.08rem}
.sh-ventajas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sh-ventajas li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}
.sh-ventajas b{font-family:var(--f-display);font-weight:900;font-size:2rem;color:#fff;line-height:1}
.sh-ventajas span{font-size:.82rem;color:#C9D0E2;line-height:1.3}
.carnets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.carnet{background:#fff;color:var(--tinta);border-radius:16px;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 50px -24px rgba(13,24,56,.6);transition:transform .2s;min-width:0}
.carnet:hover{transform:translateY(-6px)}
.carnet-top{background:var(--noche);color:#fff;display:flex;align-items:center;gap:10px;padding:12px 14px;position:relative}
.carnet-top img{width:34px;height:34px;background:#fff;border-radius:50%;padding:2px}
.carnet-top span{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
.carnet-top em{position:absolute;right:10px;font-style:normal;background:#FFC93C;color:var(--noche);font-family:var(--f-label);font-weight:800;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.carnet-body{padding:18px 18px 14px;display:flex;flex-direction:column;gap:4px;border-bottom:2px dashed var(--linea);position:relative}
.carnet-body::before,.carnet-body::after{content:"";position:absolute;bottom:-11px;width:20px;height:20px;border-radius:50%;background:var(--fondo)}
.carnet-body::before{left:-10px}.carnet-body::after{right:-10px}
.carnet-body h3{font-size:1.8rem;text-transform:uppercase;font-weight:900}
.carnet-body small{color:var(--gris);font-family:var(--f-label);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.carnet-precio{font-family:var(--f-display);font-weight:900;font-size:3.6rem;line-height:1;color:var(--rojo);margin-top:6px}
.carnet-precio span{font-size:1.6rem;margin-left:2px}
.carnet-pp{font-size:.88rem;color:var(--gris)}
.carnet-pie{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--rojo)}
.carnet.destacado{outline:4px solid var(--rojo)}
.carnet.destacado .carnet-top{background:var(--rojo)}
.carnet.destacado .carnet-pie{background:var(--rojo);color:#fff}
.sh-nota{color:var(--gris);margin-top:18px;font-size:.92rem}
@media (max-width:1000px){.carnets{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-cab{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.carnets{grid-template-columns:minmax(0,1fr)}.sh-ventajas{grid-template-columns:minmax(0,1fr)}}
.socios-hero{background:radial-gradient(700px 400px at 90% 0,rgba(255,255,255,.18),transparent 60%),linear-gradient(130deg,var(--rojo-osc),var(--rojo));color:#fff;border-bottom:8px solid var(--noche)}
.socios-hero .wrap{padding-block:56px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.socios-hero .tb-chip{background:var(--noche)}
.socios-hero h1{font-size:clamp(3rem,8vw,6.2rem);text-transform:uppercase;font-weight:900;line-height:.9}
.socios-hero h1 em{color:var(--rojo)}
.socios-hero p{max-width:56ch;font-size:1.15rem;color:#FFE3E5}
.partidos-casa{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.partidos-casa li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;background:#fff;border-radius:8px;padding:10px 12px;box-shadow:0 1px 0 var(--linea);font-size:.92rem}
.partidos-casa span{font-family:var(--f-display);font-weight:900;color:var(--rojo)}
.partidos-casa small{color:var(--gris);font-variant-numeric:tabular-nums}
.pasos{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}

/* Galería */
.mm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.mm-item{position:relative;border:0;padding:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--noche);cursor:zoom-in;text-align:left}
.mm-item:nth-child(5n+1){grid-row:span 2;aspect-ratio:auto}
.mm-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mm-item:hover img{transform:scale(1.05)}
.mm-item span{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(13,24,56,.9));color:#fff;font-size:.82rem;font-weight:600;opacity:0;transition:opacity .2s}
.mm-item:hover span,.mm-item:focus-visible span{opacity:1}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,14,34,.94);display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}
.lightbox figure{margin:0;max-width:min(1100px,100%);display:flex;flex-direction:column;gap:12px}
.lightbox img{max-height:76vh;width:auto;max-width:100%;margin:0 auto;border-radius:8px}
.lightbox figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:#fff}
.lb-cerrar{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1}
.lb-prev{left:12px}.lb-next{right:12px}
/* menú en una línea */
.nav>ul>li>a,.nav>ul>li>button{white-space:nowrap;padding:10px 9px;font-size:.95rem;letter-spacing:.05em}
@media (max-width:1320px){.marca img.wordmark{display:none}}
@media (max-width:1180px) and (min-width:1081px){.nav>ul>li>a,.nav>ul>li>button{padding:10px 6px;font-size:.88rem}.acciones .btn-socio{display:none}}
.tienda-banner{background:radial-gradient(800px 400px at 85% 30%,rgba(255,255,255,.18),transparent 60%),linear-gradient(115deg,var(--noche) 0 50%,var(--rojo) 50% 100%)}
@media (max-width:860px){.tienda-banner{background:linear-gradient(170deg,var(--noche) 0 55%,var(--rojo) 55% 100%)}}
.fecha-gigante{align-items:center}
.car-pista:has(.rc-vacio){display:block}
.cat-tile b{font-size:clamp(1.05rem,1.8vw,1.45rem);overflow-wrap:anywhere}
.producto .precio{white-space:nowrap;font-size:1.45rem}
.producto .pie-prod{flex-wrap:wrap}

/* ---------- Mega menú de Equipos ---------- */
.nav>ul>li.mega-li{position:static}
.sub.mega{left:50%;right:auto;transform:translate(-50%,6px);width:min(1080px,96vw);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 18px;padding:18px 20px}
.nav li.mega-li:hover>.sub.mega,.nav li.mega-li:focus-within>.sub.mega,.nav li.mega-li.abierto>.sub.mega{transform:translate(-50%,0)}
.mega-grupo{display:flex;flex-direction:column;gap:1px;min-width:0}
.mega-grupo b{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--rojo);padding:4px 12px 6px;border-bottom:2px solid var(--fondo);margin-bottom:4px}
.mega-grupo a{display:block;padding:6px 12px;border-radius:6px;text-decoration:none;font-weight:500;font-size:.92rem;color:var(--tinta)}
.mega-grupo a:hover{background:var(--fondo);color:var(--rojo)}
.mega-grupo:first-child a{font-weight:700}
@media (max-width:1080px){
  .nav>ul>li.mega-li{position:relative}
  .sub.mega{transform:none!important;width:auto;display:none;grid-template-columns:1fr;padding:0 0 10px 8px}
  .nav li.mega-li.abierto>.sub.mega{display:grid}
  .mega-grupo b{color:#FF8A93;border-bottom-color:rgba(255,255,255,.12)}
  .mega-grupo a{color:#C9D0E2}
  .mega-grupo a:hover{background:rgba(255,255,255,.08);color:#fff}
}
/* ---------- Resultados de todas las categorías ---------- */
.res-grupo{margin-bottom:44px}
.res-grupo .sec-cab h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.rc-equipo{align-self:flex-start;background:var(--rojo);color:#fff;text-decoration:none;font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:1.15rem;letter-spacing:.02em;padding:3px 10px;border-radius:6px;margin-bottom:-2px}
.rc-equipo:hover{background:#fff;color:var(--rojo)}
.rc-b{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#fff;overflow:hidden}
.rc-b img{width:42px;height:42px;object-fit:contain}
.rc-b.ini{background:var(--noche-2);border:2px solid rgba(255,255,255,.25);font-family:var(--f-display);font-weight:900;font-size:1.2rem;color:#fff;text-transform:uppercase}

/* ===================== Ajustes v5: ticker, previa, cantera, vitrina, más rojo ===================== */
/* Ticker tipo bolsa con los resultados de todas las categorías */
.ticker{display:flex;align-items:stretch;background:var(--rojo);color:#fff;border-bottom:1px solid rgba(0,0,0,.15);overflow:hidden;font-size:.88rem;position:relative;z-index:40}
.tk-tit{flex-shrink:0;display:flex;align-items:center;background:var(--noche);color:#fff;text-decoration:none;font-family:var(--f-label);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;padding:0 16px;position:relative}
.tk-tit::after{content:"";position:absolute;right:-10px;top:0;bottom:0;width:10px;background:linear-gradient(90deg,rgba(13,24,56,.6),transparent)}
.tk-viewport{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tk-cinta{list-style:none;margin:0;padding:0;display:flex;width:max-content;animation:tk-correr 90s linear infinite}
.ticker:hover .tk-cinta{animation-play-state:paused}
@keyframes tk-correr{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk-cinta li{display:flex;align-items:center;white-space:nowrap;padding:9px 18px;border-right:1px solid rgba(255,255,255,.22);font-weight:600}
.tk-cinta li a{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none}
.tk-cinta li a:hover b{background:#fff;color:var(--rojo)}
.tk-cinta img{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.tk-cinta b{font-family:var(--f-display);font-weight:900;font-size:1.08rem;background:var(--noche);padding:0 7px;border-radius:4px;margin:0 2px;font-variant-numeric:tabular-nums}
.tk-eq{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;background:rgba(0,0,0,.18);padding:2px 7px;border-radius:3px;margin-right:6px}
.tk-cinta .res{width:20px;height:20px;font-size:.7rem;margin-left:4px;border:1px solid rgba(255,255,255,.5)}
.tk-prox{background:var(--noche)}
.tk-prox b{background:var(--rojo)}
@media (prefers-reduced-motion:reduce){.tk-cinta{animation:none}.tk-viewport{overflow-x:auto}}

/* Escudos reales en badges del primer equipo */
.badge.esc{background:#fff}
.badge.esc img{object-fit:contain}
.rc .badge.esc img{width:40px;height:40px}

/* Previa del próximo partido */
.previa-sec{background:radial-gradient(900px 500px at 50% -20%,rgba(255,255,255,.18),transparent 60%),linear-gradient(160deg,var(--rojo) 0%,var(--rojo-osc) 70%)}
.previa{display:flex;flex-direction:column;gap:22px;min-width:0}
.pv-cab{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;color:#FFE3E5}
.pv-cab .chip{background:var(--noche);color:#fff;padding:4px 10px;border-radius:4px}
.pv-marcador{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;background:rgba(13,24,56,.28);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px 18px;backdrop-filter:blur(2px)}
.pv-equipo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;min-width:0}
.pv-equipo .badge{width:112px;height:112px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.45),0 0 0 6px rgba(255,255,255,.12)}
.pv-equipo .badge img{width:88px;height:88px;object-fit:contain}
.pv-equipo .badge.ini{background:var(--noche);color:#fff;font-family:var(--f-display);font-weight:900;font-size:2.4rem}
.pv-equipo b{font-family:var(--f-display);font-weight:900;font-size:clamp(1.2rem,2.4vw,1.9rem);text-transform:uppercase;line-height:1}
.pv-rol{font-family:var(--f-label);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#FFD3D7}
.pv-pos{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--noche);border-radius:999px;padding:3px 12px 3px 4px;font-family:var(--f-label);font-weight:700;font-size:.85rem}
.pv-pos em{font-style:normal;background:var(--noche);color:#fff;border-radius:999px;padding:1px 8px;font-family:var(--f-display);font-weight:900}
.pv-centro{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;color:var(--noche);border-radius:14px;padding:14px 22px;min-width:150px;box-shadow:0 18px 40px -18px rgba(0,0,0,.5)}
.pv-dia{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;color:var(--rojo)}
.pv-fecha{font-family:var(--f-display);font-weight:900;font-size:4.2rem;line-height:.85;display:flex;align-items:baseline;gap:6px}
.pv-fecha small{font-size:1.5rem;text-transform:uppercase}
.pv-hora{background:var(--rojo);color:#fff;font-family:var(--f-display);font-weight:900;font-size:1.4rem;padding:2px 12px;border-radius:6px}
.pv-lugar{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--gris);text-align:center}
.pv-lugar svg{width:14px;height:14px}
.previa .cuenta{margin:0 auto}
.previa .cuenta div{background:rgba(13,24,56,.85)}
.cara-a-cara{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.cc-tit{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;text-align:center;color:#FFE3E5}
.cc-fila{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:10px;align-items:center}
.cc-v{font-family:var(--f-display);font-weight:900;font-size:1.3rem;text-align:center;opacity:.75}
.cc-v.gana{opacity:1}
.cc-barra{position:relative;height:22px;border-radius:999px;background:rgba(13,24,56,.55);overflow:hidden}
.cc-barra i{position:absolute;left:0;top:0;bottom:0;background:#fff;border-radius:999px 0 0 999px}
.cc-barra span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--noche);mix-blend-mode:normal}
.cc-barra span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.previa .ctas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.previa .btn-blanco{color:var(--rojo)}
@media (max-width:620px){
  .pv-marcador{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px 12px}
  .pv-centro{grid-column:1/-1;grid-row:1;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 12px;min-width:0}
  .pv-fecha{font-size:2.6rem}
  .pv-equipo .badge{width:76px;height:76px}.pv-equipo .badge img{width:60px;height:60px}
}

/* Páginas de cantera: personas y resumen primero */
.eq-top{padding-block:40px 48px}
.eq-top-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;align-items:start}
.eq-top .eq-tecnicos{margin-bottom:28px}
.eq-top .eq-plantilla{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.eq-top .eq-jugador{padding:10px 12px;background:#fff;box-shadow:0 1px 0 var(--linea)}
.eq-top .eq-jugador .eq-avatar{width:38px;height:38px;font-size:.9rem}
.eq-top .eq-jnom{font-size:1rem}
.eq-resumen{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));background:linear-gradient(170deg,var(--rojo),var(--rojo-osc));color:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 50px -24px rgba(165,20,31,.7)}
.er-cab .label{color:#FFE3E5;display:block;margin-bottom:10px}
.er-pos{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.er-num{width:92px;height:92px;border-radius:50%;background:#fff;color:var(--rojo);display:flex;flex-direction:column;align-items:center;justify-content:center}
.er-num b{font-family:var(--f-display);font-weight:900;font-size:3rem;line-height:.85}
.er-num span{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--noche)}
.er-datos{display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:#FFE3E5}
.er-pts{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.er-pts b{font-family:var(--f-display);font-size:2.2rem;font-weight:900;margin-right:4px}
.er-nota{color:#FFE3E5;font-size:.9rem}
.er-bloque{background:rgba(13,24,56,.35);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.er-tit{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#FFD3D7}
.er-racha{display:flex;gap:6px}
.er-racha .res{width:30px;height:30px;font-size:.9rem}
.er-marcador{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.er-eq{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:.8rem;font-weight:700;line-height:1.15}
.er-eq .eq-badge{width:38px;height:38px;background:#fff;border-radius:50%}
.er-eq .eq-badge img{width:30px;height:30px}
.er-marcador b{font-family:var(--f-display);font-weight:900;font-size:1.9rem}
.er-bloque p{font-size:.88rem;color:#FFE3E5;line-height:1.45}
.eq-resumen .btn-blanco{color:var(--rojo)}
.eq-datos-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}
@media (max-width:980px){.eq-top-grid,.eq-datos-grid{grid-template-columns:minmax(0,1fr)}.eq-resumen{position:static;order:-1}}

/* Resumen semanal de la cantera */
.res-semana{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.res-semana li{background:var(--fondo);border-left:4px solid var(--rojo);border-radius:0 10px 10px 0;padding:10px 14px}
.res-semana li span{color:var(--gris);font-size:.95rem}

/* Vitrina de la tienda: fondos inventados detrás de cada foto */
.vit-fondo,.vit-foto{position:relative;overflow:hidden;isolation:isolate}
.vit-fondo img,.vit-foto img{mix-blend-mode:multiply;position:relative;z-index:1}
.vit-fondo::before,.vit-foto::before{content:"";position:absolute;inset:0;z-index:0}
.vit-0::before,.vit-0 .vit-foto::before{background:radial-gradient(circle at 50% 45%,#FFFFFF 0 30%,transparent 70%),repeating-linear-gradient(90deg,#F9D3D7 0 26px,#FDEBED 26px 52px)}
.vit-1::before,.vit-1 .vit-foto::before{background:radial-gradient(circle at 50% 45%,#FFFFFF 0 30%,transparent 70%),repeating-linear-gradient(135deg,#DCE3F3 0 18px,#EEF2FA 18px 36px)}
.vit-2 .vit-foto::before{background:radial-gradient(circle at 30% 20%,#FFF 0 25%,transparent 60%),linear-gradient(160deg,#F3E7D9,#E9D2BC)}
.vit-3 .vit-foto::before{background:radial-gradient(circle at 70% 25%,#FFF 0 25%,transparent 60%),linear-gradient(160deg,#E3EAF8,#C9D6F0)}
.vit-4 .vit-foto::before{background:radial-gradient(circle at 30% 70%,#FFF 0 25%,transparent 60%),repeating-linear-gradient(45deg,#FBE0E3 0 14px,#FFF3F4 14px 28px)}
.vitrina{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:6px 0 26px}
.vit-item{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;text-decoration:none;color:var(--tinta);box-shadow:0 24px 40px -24px rgba(0,0,0,.55);transition:transform .25s}
.vit-item:hover{transform:translateY(-6px)}
.vit-foto{display:block;aspect-ratio:4/5;max-width:100%}
.vit-foto img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .4s}
.vit-item:hover .vit-foto img{transform:scale(1.06) rotate(-1deg)}
.vit-info{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-top:4px solid var(--rojo)}
.vit-info b{font-weight:700;font-size:.92rem;line-height:1.2}
.vit-info span{font-family:var(--f-display);font-weight:900;font-size:1.3rem;color:var(--rojo);white-space:nowrap}
@media (max-width:1000px){.vitrina{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(200px,44%);overflow-x:auto;scroll-snap-type:x mandatory}.vit-item{scroll-snap-align:start}}
.tb-fotos a.vit-fondo img{padding:12px}
/* las fotos de producto en tienda y fichas también con fondo */
.producto .img{background:linear-gradient(160deg,#FDEBED,#F6F7FB)}
.producto .img img{mix-blend-mode:multiply}
.productos .producto:nth-child(even) .img{background:linear-gradient(160deg,#E7ECF7,#F6F7FB)}
.galeria .principal{background:radial-gradient(circle at 50% 40%,#fff 0 30%,transparent 70%),repeating-linear-gradient(90deg,#F9D3D7 0 30px,#FDEBED 30px 60px)}
.galeria .principal img{mix-blend-mode:multiply}

/* Más rojo Moscardó */
.socios-home{background:linear-gradient(180deg,var(--rojo) 0 55%,var(--fondo) 55%)}
.socios-home .sh-cab .label{color:#FFE3E5}
.socios-home .sh-cab p{color:#FFE3E5}
.socios-home .sh-ventajas li{background:rgba(13,24,56,.25);border-color:rgba(255,255,255,.2)}
.socios-home .carnet.destacado{outline-color:var(--noche)}
.socios-home .carnet.destacado .carnet-top,.socios-home .carnet.destacado .carnet-pie{background:var(--noche)}
.sec-cab h2::after{height:7px;width:72px}
.resultados-home{background:linear-gradient(180deg,#fff 0 70%,#FDEBED 100%)}
.noticia{border-top-width:6px}
.goleadores li:first-child{background:var(--rojo)}
/* cara a cara: etiqueta encima de la barra */
.cc-barra{height:auto;background:none;overflow:visible;padding-top:18px}
.cc-barra::before{content:"";display:block;height:10px;border-radius:999px;background:rgba(13,24,56,.55)}
.cc-barra i{top:auto;bottom:0;height:10px;border-radius:999px}
.cc-barra span{inset:0 0 auto 0;height:16px;display:block;text-align:center;font-size:.7rem;color:#FFE3E5;text-shadow:none}
.usps{background:rgba(13,24,56,.55);border:0;border-radius:12px;padding:14px 18px;margin-bottom:28px}
/* Fotos de producto retocadas (4:5, a sangre): sin fondos inventados ni fusión */
.vit-foto img,.tb-fotos a.vit-fondo img,.producto .img img,.galeria .principal img{mix-blend-mode:normal;object-fit:cover;padding:0}
.vit-foto::before,.vit-fondo::before{display:none}
.producto .img,.productos .producto:nth-child(even) .img,.galeria .principal{background:var(--noche)}
.tb-fotos a{background:var(--noche)}
.miniaturas img{object-fit:cover}

/* ===================== Ficha de producto: todo el producto en el alto de la pantalla ===================== */
/* --ficha-top (distancia de la ficha al principio de la página) y --cab-alto (cabecera fija)
   los mide app.js; los valores de aquí son el respaldo. */
.ficha-sec{padding-block:18px 56px}
.ficha-sec .migas{margin-bottom:12px!important}
.ficha{--alto-ficha:max(340px,calc(100svh - var(--ficha-top,230px) - 20px));grid-template-columns:auto minmax(320px,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.galeria{position:sticky;top:calc(var(--cab-alto,80px) + 12px);flex-direction:row;align-items:flex-start;gap:12px}
.galeria .principal{order:2;height:var(--alto-ficha);width:auto;aspect-ratio:4/5;max-width:min(52vw,100%);flex:0 1 auto}
.galeria .principal img{width:100%;height:100%;object-fit:contain}
.galeria .miniaturas{order:1;flex-direction:column;flex-wrap:nowrap;max-height:var(--alto-ficha);overflow-y:auto;scrollbar-width:thin}
.galeria .miniaturas button{width:64px;height:80px;flex-shrink:0;padding:0}
.ficha-info{gap:14px;min-height:var(--alto-ficha)}
.ficha-info h1{font-size:clamp(1.9rem,3.2vw,3rem);line-height:.98}
.ficha-info .precio{font-size:clamp(1.8rem,2.4vw,2.3rem);line-height:1}
.ficha-info>p{font-size:.98rem;line-height:1.5;color:var(--gris)}
.ficha-info .campo{gap:6px}
.ficha-info .campo input,.ficha-info .campo select{padding:.6em .8em}
.ficha-info .tallas span{height:42px;min-width:48px}
.ficha-info .form-grid{gap:12px}
.comprar{position:sticky;bottom:0;z-index:5;margin-top:auto;padding:10px 0 12px;background:var(--fondo)}
.comprar .aviso-error:empty{display:none}
.comprar .aviso-error{margin-bottom:8px}
.comprar-fila{display:flex;gap:10px;align-items:stretch}
.comprar-fila .cantidad{flex-shrink:0}
.comprar-fila .cantidad button{height:100%;min-height:46px}
.comprar-fila .btn{flex:1;width:auto;white-space:normal;line-height:1.15;padding-inline:1em}
.ficha-info .ventajas{gap:8px 14px;font-size:.86rem}
/* Pantallas bajas (portátiles de 13"): más compacto todavía */
@media (min-width:861px) and (max-height:760px){
  .ficha-info{gap:10px}
  .ficha-info h1{font-size:clamp(1.7rem,2.6vw,2.4rem)}
  .ficha-info>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ficha-info .ventajas{display:none}
}
/* Tableta y móvil: foto arriba (completa, sin pasar del 58 % del alto) y la fila de comprar
   fija abajo mientras se rellena el formulario */
@media (max-width:860px){
  .ficha{grid-template-columns:minmax(0,1fr);gap:18px}
  .galeria{position:static;flex-direction:column;align-items:center}
  .galeria .principal{order:1;height:auto;width:auto;max-height:52svh;max-width:100%;min-height:220px}
  .galeria .principal img{width:auto;max-width:100%;height:100%}
  .galeria .miniaturas{order:2;flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;max-width:100%}
  .galeria .miniaturas button{width:56px;height:70px}
  .ficha-info{min-height:0}
  .comprar{padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 16px -14px rgba(13,24,56,.35)}
}
@media (max-width:860px){.galeria:has(.miniaturas) .principal{max-height:calc(52svh - 80px)}}
@media (max-width:420px){.comprar-fila .btn .sep,.comprar-fila .btn [data-precio-total]{display:none}.comprar-fila .btn{white-space:nowrap;min-width:0;letter-spacing:.04em;padding-inline:.8em}.comprar-fila .cantidad button{width:36px}.comprar-fila .cantidad input{width:34px}}
.campo[hidden]{display:none!important}
/* Selector de color (sudadera) */
.color-elegido{font-family:var(--f-body);font-weight:600;text-transform:none;letter-spacing:0;color:var(--gris)}
.colores{display:flex;flex-wrap:wrap;gap:14px}
.colores label{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}
.colores input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.colores span{width:42px;height:42px;border-radius:50%;background:var(--muestra);border:2px solid var(--linea);box-shadow:inset 0 0 0 3px #fff;transition:border-color .15s,transform .15s}
.colores em{font-style:normal;font-size:.8rem;font-weight:600;color:var(--gris)}
.colores label:hover span{transform:scale(1.06)}
.colores input:checked+span{border-color:var(--noche);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--noche)}
.colores input:checked~em{color:var(--tinta)}
.colores input:focus-visible+span{outline:3px solid var(--rojo);outline-offset:3px}
/* «Partido patrocinado por» en la previa: Sambil en el centro y más grande, los dos de la jornada a los lados */
.pv-patro{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 18px 16px;border-radius:16px;background:rgba(13,24,56,.42);border:1px solid rgba(255,255,255,.14)}
.pp-tit{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#FFD3D7}
.pp-logos{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(14px,3vw,34px);width:100%}
.pp-logo{display:flex;align-items:center;justify-content:center;min-width:0}
.pp-logo img{display:block;max-width:100%;object-fit:contain}
.pp-logo.lado img{height:40px;max-width:min(170px,100%);opacity:.92}
.pp-logo.lado:first-child{justify-content:flex-end}
.pp-logo.lado:last-child{justify-content:flex-start}
.pp-logo.principal{padding-inline:clamp(14px,3vw,34px);border-inline:1px solid rgba(255,255,255,.22)}
.pp-logo.principal img{height:64px;max-width:240px}
@media (max-width:620px){
  .pv-patro{padding:12px 12px 14px}
  .pp-logos{gap:10px}
  .pp-logo.lado img{height:28px;max-width:min(96px,100%)}
  .pp-logo.principal{padding-inline:10px}
  .pp-logo.principal img{height:44px;max-width:130px}
}
/* ===== Franja de abonados: como la de la tienda pero al revés (rojo a la izquierda, azul a la derecha) ===== */
.socios-home{background:radial-gradient(800px 400px at 15% 30%,rgba(255,255,255,.16),transparent 60%),linear-gradient(245deg,var(--noche) 0 50%,var(--rojo) 50% 100%);padding-block:64px 64px}
@media (max-width:860px){.socios-home{background:linear-gradient(190deg,var(--noche) 0 55%,var(--rojo) 55% 100%)}}
.socios-home .sh-ventajas li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.socios-home .sh-nota{color:#FFE3E5}
.socios-home .carnet{box-shadow:0 0 0 1px rgba(255,255,255,.22),0 24px 50px -20px rgba(0,0,0,.55)}
/* las muescas del carnet, recortadas de verdad (antes eran círculos del color del fondo gris) */
.socios-home .carnet-body::before,.socios-home .carnet-body::after{display:none}
.socios-home .carnet-body{-webkit-mask:radial-gradient(circle 10px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 10px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat}
.socios-home .carnet-pie{-webkit-mask:radial-gradient(circle 10px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 10px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat}
/* el abono destacado, con borde blanco: se distingue sobre el azul y sobre el rojo */
.socios-home .carnet.destacado{outline:3px solid #fff}
/* ===================== Patrocinadores: escudo en el centro y logos alrededor en cuadrícula ===================== */
.seccion.patrocinadores{padding-block:88px 96px;background:radial-gradient(700px 420px at 50% 55%,rgba(210,32,46,.28),transparent 70%),var(--noche)}
.pt-grid{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(120px,10vw,150px);gap:14px;max-width:1180px}
.pt-escudo{grid-column:3/5;grid-row:2/4;display:grid;place-items:center;position:relative}
.pt-escudo::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}
.pt-escudo img{position:absolute;inset:7% 5%;width:90%;height:86%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.pt-tile{position:relative;display:grid;place-items:center;padding:18px 14px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);overflow:hidden;outline:none;cursor:default;transition:background .25s,border-color .25s,transform .25s}
.pt-tile img{max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain;transition:transform .3s,opacity .25s}
.pt-tile.principal{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.pt-tile.principal img{max-height:84px}
.pt-info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 16px;text-align:center;background:linear-gradient(160deg,var(--rojo),var(--rojo-osc));opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}
.pt-info b{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:#fff}
.pt-info p{margin:0;color:#FFE3E5;font-size:.88rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pt-tile:hover,.pt-tile:focus-visible,.pt-tile:focus{border-color:rgba(255,255,255,.35);transform:translateY(-3px)}
.pt-tile:hover .pt-info,.pt-tile:focus .pt-info,.pt-tile:focus-within .pt-info{opacity:1;transform:none}
.pt-tile:hover img,.pt-tile:focus img{opacity:0;transform:scale(.9)}
.pt-tile:focus-visible{box-shadow:0 0 0 3px #fff}
.pt-hueco{border-style:dashed;border-color:rgba(255,255,255,.22);background:none;padding:0}
.pt-hueco a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;text-decoration:none;color:#fff;text-align:center;padding:10px}
.pt-hueco b{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:1.2rem;line-height:1}
.pt-hueco span{font-size:.82rem;color:#FF8A93}
.pt-hueco:hover{background:rgba(210,32,46,.25);transform:translateY(-3px)}
/* Tableta: 4 columnas, escudo en el centro (filas 3 y 4) */
@media (max-width:980px){
  .pt-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:120px}
  .pt-escudo{grid-column:2/4;grid-row:3/5}
}
/* Móvil: 2 columnas, el escudo ocupa una fila entera en medio */
@media (max-width:560px){
  .seccion.patrocinadores{padding-block:64px 72px}
  .pt-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:104px;gap:10px}
  .pt-escudo{grid-column:1/-1;grid-row:5/7}
  .pt-tile{padding:14px}
  .pt-tile img{max-height:52px}.pt-tile.principal img{max-height:60px}
  .pt-info p{font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){.pt-tile,.pt-info,.pt-tile img{transition:none}}
/* ===================== Newsletter (encima de los patrocinadores) ===================== */
.newsletter{position:relative;overflow:hidden;color:#fff;background:radial-gradient(700px 300px at 12% 0%,rgba(255,255,255,.18),transparent 65%),linear-gradient(120deg,var(--rojo) 0%,var(--rojo-osc) 100%)}
.newsletter::after{content:"";position:absolute;top:0;bottom:0;right:-60px;width:min(420px,38vw);background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 22px,transparent 22px 44px);transform:skewX(-18deg);pointer-events:none}
.nl-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px 48px;align-items:center;padding-block:48px}
.nl-txt{display:flex;gap:22px;align-items:flex-start}
.nl-ico{flex-shrink:0;width:64px;height:64px;color:#fff;background:var(--noche);border-radius:16px;padding:12px;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.nl-txt .label{color:#FFD3D7;display:block;margin-bottom:6px}
.nl-txt h2{font-size:clamp(2rem,4vw,3.1rem);text-transform:uppercase;font-weight:900;line-height:.95}
.nl-txt p{margin-top:10px;color:#FFE3E5;max-width:52ch}
.nl-form{display:flex;flex-direction:column;gap:12px}
.nl-fila{display:flex;gap:8px;background:#fff;border-radius:999px;padding:6px;box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
.nl-fila input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:1.02rem;color:var(--tinta);padding:.7em 1.1em;outline:none}
.nl-fila input::placeholder{color:#8A93A8}
.nl-fila:focus-within{box-shadow:0 0 0 3px var(--noche),0 18px 40px -18px rgba(0,0,0,.55)}
.nl-fila .btn{flex-shrink:0}
.nl-fila .btn:disabled{opacity:.6;cursor:wait}
.nl-acepto{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.4;color:#FFE3E5;cursor:pointer}
.nl-acepto input{flex-shrink:0;width:18px;height:18px;margin:1px 0 0;accent-color:var(--noche)}
.nl-acepto a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.nl-trampa{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.nl-msg{min-height:1.3em;font-weight:600;font-size:.95rem;margin:0}
.nl-msg.error{color:#fff;background:rgba(13,24,56,.45);border-radius:8px;padding:6px 10px;align-self:flex-start}
.nl-msg.ok{color:#fff}
.nl-form.hecho .nl-msg.ok::before{content:"✓ ";font-weight:900}
@media (max-width:900px){.nl-grid{grid-template-columns:minmax(0,1fr);padding-block:40px}}
@media (max-width:520px){
  .nl-txt{flex-direction:column;gap:14px}
  .nl-ico{width:52px;height:52px;padding:10px}
  .nl-fila{flex-direction:column;border-radius:16px;padding:8px}
  .nl-fila input{padding:.75em .8em}
  .nl-fila .btn{width:100%}
  .newsletter::after{width:200px;opacity:.6}
}
.nl-fila .btn{background:var(--noche);color:#fff;border-color:var(--noche)}
.nl-fila .btn:hover{background:#1c2c5c}
/* ===== Carrusel de resultados: escudos sin círculo blanco y todo alineado ===== */
.rc .rc-marcador{align-items:start}
.rc .rc-eq{gap:10px}
.rc .badge,.rc .rc-b,.rc .badge.esc{width:64px;height:64px;border-radius:0;background:none;border:0;overflow:visible;box-shadow:none;display:grid;place-items:center}
.rc .badge img,.rc .rc-b img,.rc .badge.esc img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}
.rc .badge.ini,.rc .rc-b.ini{width:56px;height:56px;margin:4px;border-radius:50%;background:var(--noche-2);border:2px solid rgba(255,255,255,.25);display:grid;place-items:center;line-height:1;font-family:var(--f-display);font-weight:900;font-size:1.2rem;color:#fff;text-transform:uppercase}
.rc .rc-num{height:64px;display:flex;align-items:center;justify-content:center}
.rc .rc-eq span{min-height:2.3em;display:flex;align-items:flex-start;justify-content:center}
/* Escudo del menú sin círculo blanco: el escudo (fondo transparente) directamente sobre el azul */
.marca img.escudo{background:none;border-radius:0;padding:0;width:56px;height:56px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
/* ===== Todos los escudos sin fondo: ni círculo blanco ni cajas, el escudo transparente sobre el color de la sección ===== */
.equipo .badge,.pv-equipo .badge,.badge.esc,.matchday-xl .equipo .badge{background:none;border-radius:0;overflow:visible;box-shadow:none;border:0}
.equipo .badge img,.pv-equipo .badge img,.badge.esc img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}
.pv-equipo .badge.ini,.equipo .badge.ini{border-radius:50%;background:var(--noche);border:2px solid rgba(255,255,255,.25)}
.er-eq .eq-badge{background:none;border-radius:0}
.er-eq .eq-badge img{width:38px;height:38px;object-fit:contain}
.er-eq .eq-badge.ini{border-radius:50%;background:var(--noche-2)}
.carnet-top img{background:none;border-radius:0;padding:0;width:36px;height:36px;object-fit:contain}
.escudo-grande{background:none;box-shadow:none;border-radius:0}
.escudo-grande img{width:86%;filter:drop-shadow(0 18px 30px rgba(13,24,56,.3))}
/* ===================== Idiomas: selector en la barra superior y tipografía para el chino ===================== */
.topbar-der{display:flex;align-items:center;gap:18px}
.idiomas{display:flex;align-items:center;gap:2px;font-family:var(--f-label);font-weight:700;font-size:.8rem;letter-spacing:.06em}
.idiomas svg{width:16px;height:16px;margin-right:4px;opacity:.85}
.idiomas a{text-decoration:none;padding:3px 7px;border-radius:5px;color:inherit;opacity:.8;line-height:1.2}
.idiomas a:hover{opacity:1;background:rgba(255,255,255,.14)}
.idiomas a[aria-current="true"]{opacity:1;background:#fff;color:var(--rojo)}
.idiomas a+a{position:relative}
@media (max-width:560px){.topbar .wrap{justify-content:flex-end}.topbar-der{gap:12px}.idiomas svg{display:none}}
/* Chino tradicional: las tipografías de la web no tienen caracteres chinos */
html[lang="zh-Hant"]{--f-display:"Big Shoulders Display","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--f-body:"Barlow","Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;--f-label:"Barlow Condensed","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
html[lang="zh-Hant"] body{line-height:1.75}
html[lang="zh-Hant"] h1,html[lang="zh-Hant"] h2,html[lang="zh-Hant"] h3{letter-spacing:.02em;line-height:1.2}
html[lang="zh-Hant"] .label{letter-spacing:.06em}
[hidden]{display:none!important}

/* ---------- Himno: casete que gira mientras suena (escudo-e-himno.html) ---------- */
.hm-banda{background:var(--noche);color:#fff;position:relative;overflow:hidden;border-bottom:6px solid var(--rojo)}
.hm-banda::before{content:"";position:absolute;top:0;right:0;bottom:0;width:42%;background:repeating-linear-gradient(90deg,rgba(210,32,46,.16) 0 34px,transparent 34px 68px);pointer-events:none}
.hm-grid{position:relative;display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.hm-texto{min-width:0}
.hm-texto .label{color:#FF5A66}
.hm-texto h2{color:#fff;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:900;text-transform:uppercase;margin-top:6px}
.hm-texto h2::after{content:"";display:block;width:56px;height:5px;background:var(--rojo);margin-top:14px}
.hm-texto>p{color:#AEB6CC;max-width:46ch;margin-top:18px;font-size:1.05rem}
.hm-mandos{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}
.hm-play{display:inline-flex;align-items:center;gap:12px;background:var(--rojo);color:#fff;border:0;border-radius:999px;padding:14px 26px 14px 16px;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;transition:background .15s,transform .15s}
.hm-play:hover{background:var(--rojo-osc);transform:translateY(-1px)}
.hm-ico{width:34px;height:34px;border-radius:50%;background:#fff;position:relative;flex:none}
.hm-ico::before{content:"";position:absolute;left:13px;top:10px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent var(--rojo)}
.hm-play[aria-pressed="true"] .hm-ico::before{left:11px;top:10px;width:4px;height:14px;border:0;background:var(--rojo);box-shadow:8px 0 0 var(--rojo)}
.hm-pista{flex:1;min-width:220px}
.hm-barra{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--rojo) var(--p,0%),rgba(255,255,255,.18) var(--p,0%));outline-offset:6px;cursor:pointer}
.hm-barra::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px rgba(210,32,46,.45)}
.hm-barra::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px rgba(210,32,46,.45)}
.hm-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-family:var(--f-label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:#AEB6CC;font-variant-numeric:tabular-nums}
.hm-aviso{margin-top:16px;font-size:.92rem;color:#FFD9DC}
.hm-cinta{min-width:0}
.casete{display:block;width:100%;height:auto;cursor:pointer;transform:rotate(-4deg);transition:transform .5s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 34px 40px rgba(0,0,0,.5))}
.sonando .casete{transform:rotate(0) scale(1.02)}
.cs-borde{stroke:#D3CFC7;stroke-width:2}
.cs-etiqueta{fill:#F3EEE3;stroke:#DCD5C7;stroke-width:1.5}
.cs-t-rojo{font:700 44px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;fill:#C8302C;letter-spacing:.03em}
.cs-t-azul{font:700 46px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;fill:#1F4FA8;letter-spacing:.02em}
.cs-t-azul-p{font:700 27px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;fill:#1F4FA8;letter-spacing:.08em}
.cs-ref{font:700 19px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;fill:#1F4FA8}
.cs-cara{font:700 28px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;fill:#1F4FA8}
.cs-sello{font:700 19px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;fill:#1F4FA8;letter-spacing:.12em}
.cs-regla line{stroke:#1F4FA8;stroke-width:2.2}
.cs-hueco{fill:#E9E7E2;stroke:#CFCAC1;stroke-width:2}
.cs-cristal{fill:#D7D2C8}
.cs-bobina{fill:#2B2420;stroke:#171210;stroke-width:1.2}
.cs-brillo{stroke:rgba(255,255,255,.28);stroke-width:4}
.cs-marcas rect{fill:rgba(255,255,255,.55)}.cs-marcas line{stroke:#BDB7AD;stroke-width:1}
.cs-marco{fill:none;stroke:#3A3430;stroke-width:5}
.cs-agujero{fill:#E2DFD9;stroke:#C9C4BB;stroke-width:2}
.cs-eje{fill:#F7F6F3;stroke:#BEB8AE;stroke-width:1.5}
.cs-eje-hueco{fill:#CFCBC4}
.cs-dientes rect{fill:#F7F6F3;stroke:#C4BEB4;stroke-width:1}
.cs-base{fill:url(#cs-grano);stroke:#D3CFC7;stroke-width:2}
.cs-teton{fill:#F2F0EC;stroke:#D3CFC7;stroke-width:1.5}
.cs-orificio circle,.cs-orificio rect{fill:#2A2622}
.cs-led{fill:#C9C4BB;transition:fill .2s}
.sonando .cs-led{fill:#FF5A66;filter:drop-shadow(0 0 6px #FF5A66)}
.hm-letra{background:#F6F2E8;border-radius:14px;padding:clamp(24px,4vw,44px);box-shadow:var(--sombra);min-width:0}
.hm-letra-cab{display:flex;flex-direction:column;gap:2px;font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;text-transform:uppercase}
.hm-letra-cab span{color:#C8302C;font-size:2rem;letter-spacing:.03em;line-height:1}
.hm-letra-cab b{color:#1F4FA8;font-size:clamp(2.4rem,5vw,3.2rem);line-height:1;font-weight:700}
.hm-letra-cab small{margin-top:10px;font-family:var(--f-label);font-weight:600;letter-spacing:.12em;font-size:.8rem;color:var(--gris)}
.hm-columnas{columns:2 240px;column-gap:44px;margin-top:28px}
.hm-columnas p{break-inside:avoid;margin:0 0 20px;font-size:1.04rem;line-height:1.6;color:var(--tinta)}
.hm-columnas .hm-coro{color:#1F4FA8;font-weight:700}
.hm-foto{margin:0;background:#fff;padding:12px 12px 14px;border-radius:6px;box-shadow:var(--sombra);transform:rotate(1.5deg)}
.hm-foto img{width:100%;border-radius:3px}
.hm-foto figcaption{margin-top:10px;font-size:.85rem;color:var(--gris);text-align:center}
@media (max-width:900px){.hm-grid{grid-template-columns:1fr;gap:28px}.hm-cinta{order:-1;max-width:520px;margin:0 auto;width:100%}}
@media (prefers-reduced-motion:reduce){.casete,.sonando .casete{transform:none;transition:none}}
/* Himno: estrofas y estribillo */
.himno{white-space:normal;display:flex;flex-direction:column;gap:22px;padding:32px 34px}
.himno p{margin:0}
.himno .estribillo{border-left:3px solid var(--rojo);padding-left:16px;color:#fff;font-weight:700;letter-spacing:.01em}
.himno p:not(.estribillo){color:#DCE2F0}
/* Escudo e himno: la grabación original en casete */
.casete-sec{background:linear-gradient(135deg,var(--noche) 0%,var(--noche-2) 100%);color:#fff;overflow:hidden}
.casete{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.casete-collage{position:relative;min-height:520px}
.foto-polaroid{position:absolute;margin:0;background:#fbf8f1;padding:12px 12px 44px;border-radius:4px;box-shadow:0 24px 50px rgba(0,0,0,.45);transition:transform .35s ease}
.foto-polaroid img{display:block;width:100%;height:auto;border-radius:2px}
.foto-polaroid figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:"Caveat","Segoe Print","Bradley Hand",cursive;font-size:1.25rem;color:#1b2a5c}
.foto-polaroid.portada{width:52%;left:2%;top:0;transform:rotate(-5deg);z-index:2}
.foto-polaroid.cinta{width:62%;right:0;bottom:6%;transform:rotate(4deg);z-index:1}
.foto-polaroid:hover{transform:rotate(0) scale(1.03);z-index:4}
.escudo-hoy{position:absolute;right:6%;top:2%;z-index:3;width:120px;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 14px 30px rgba(0,0,0,.4);transform:rotate(8deg)}
.escudo-hoy img{width:72%}
.escudo-hoy span{position:absolute;bottom:-12px;background:var(--rojo);color:#fff;font-family:var(--f-label);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:99px}
.casete-texto h2{color:#fff}
.casete-texto p{color:#DCE2F0;line-height:1.65}
.casete-texto .label{color:#ff8a8f}
.jcard{margin-top:22px;background:#fbf8f1;color:#1b2a5c;border-radius:6px;padding:18px 20px;position:relative;box-shadow:0 14px 30px rgba(0,0,0,.35);border-top:6px solid var(--rojo)}
.jcard-cab{display:flex;align-items:center;justify-content:center;gap:16px;font-family:var(--f-display);font-weight:900;font-size:1.4rem;text-transform:uppercase;letter-spacing:.04em;color:var(--rojo)}
.jcard ol{list-style:none;margin:12px 0 6px;padding:10px 0 0;border-top:1px dashed #c9c2b3}
.jcard li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:baseline;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.jcard li em{font-style:normal;color:#c8102e;font-weight:600}
.jcard li time{font-variant-numeric:tabular-nums;color:#55607e}
.jcard-pie{margin:8px 0 0;font-family:var(--f-label);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#7a7f8f!important}
.carrete{width:34px;height:34px;border-radius:50%;border:3px solid #1b2a5c;position:relative;display:inline-block;animation:carrete 4s linear infinite;background:radial-gradient(circle,#fbf8f1 0 30%,transparent 31%)}
.carrete i{position:absolute;left:50%;top:50%;width:4px;height:12px;margin:-6px 0 0 -2px;background:#1b2a5c;border-radius:2px;transform-origin:50% 50%}
.carrete i:nth-child(1){transform:rotate(0deg) translateY(-6px)}
.carrete i:nth-child(2){transform:rotate(120deg) translateY(-6px)}
.carrete i:nth-child(3){transform:rotate(240deg) translateY(-6px)}
@keyframes carrete{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.carrete{animation:none}.foto-polaroid{transition:none}}
@media (max-width:900px){.casete{grid-template-columns:1fr;gap:36px}.casete-collage{min-height:0;aspect-ratio:1/1.05}.escudo-hoy{width:88px}}
.casete-texto{display:flex;flex-direction:column;gap:14px}
.casete-texto p{margin:0}
.casete-texto .jcard{margin-top:10px}
.himno-escudo{position:sticky;top:110px;align-self:start}

/* ---------- Stock y visibilidad que se gestionan desde /admin (assets/js/club.js) ---------- */
.aviso-stock{margin:0 0 10px;font-family:var(--f-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem}
.aviso-stock:empty{display:none}
.aviso-stock.ok{color:var(--ok)}
.aviso-stock.pocas{color:#B45309}
.aviso-stock.fuera{color:var(--rojo)}
.tallas label.sin-stock span{opacity:.4;text-decoration:line-through;cursor:not-allowed;background:var(--fondo)}
.colores label.sin-stock span{opacity:.35}
.colores label.sin-stock em{text-decoration:line-through}
.producto.agotado .img img{filter:grayscale(.8);opacity:.7}
.tag.tag-agotado{background:var(--noche);color:#fff}
.noticia .img.sin-foto{background:var(--noche) repeating-linear-gradient(90deg,rgba(210,32,46,.35) 0 22px,transparent 22px 44px)}
.noticia .img.sin-foto img{opacity:0}
.tag.tag-agotado{top:auto;bottom:12px}

/* Junta Directiva */
.dv-sec .sec-cab{margin-bottom:28px}
.dv-foto{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;display:grid;place-items:center;
  background:repeating-linear-gradient(90deg,#fff 0 22px,#f7e3e5 22px 44px);border:2px dashed #e7a9ae}
.dv-foto .dv-ini{font-family:var(--f-display);font-weight:900;font-size:4.2rem;color:rgba(210,32,46,.28);letter-spacing:.02em}
.dv-foto .dv-pie{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;gap:6px;align-items:center;
  background:var(--noche);color:#fff;font-family:var(--f-label);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:99px}
.dv-foto .dv-pie svg{width:15px;height:15px}
.dv-pres{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:40px;align-items:center;background:linear-gradient(135deg,var(--noche),var(--noche-2));
  color:#fff;border-radius:18px;padding:32px;position:relative;overflow:hidden;box-shadow:var(--sombra);margin-bottom:28px}
.dv-pres::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:repeating-linear-gradient(90deg,var(--rojo) 0 28px,#fff 28px 56px)}
.dv-foto.grande{border-color:rgba(255,255,255,.35)}
.dv-pres-txt{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.dv-pres-txt .chip{align-self:flex-start;background:var(--rojo);color:#fff}
.dv-pres-txt h3{font-size:clamp(2.6rem,6vw,4.6rem);text-transform:uppercase;color:#fff}
.dv-pres-txt p{color:#C9D0E2;font-size:1.08rem}
.dv-pres-txt .dv-correo{color:#fff;font-family:var(--f-label);font-weight:600;letter-spacing:.04em;border-bottom:2px solid var(--rojo);align-self:flex-start}
.dv-escudo{position:absolute;right:-60px;bottom:-90px;width:300px;opacity:.07;pointer-events:none}
.dv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.dv-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 0 var(--linea);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.dv-card:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.dv-card .dv-foto{border-radius:0;border:0;border-bottom:4px solid var(--rojo)}
.dv-txt{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px}
.dv-txt .label{color:var(--rojo)}
.dv-txt h3{font-size:1.55rem;text-transform:uppercase}
.dv-txt .dv-correo{font-size:.85rem;color:var(--gris)}
.dv-nota{margin-top:36px;text-align:center;font-family:var(--f-label);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);font-size:.85rem}
@media (max-width:1100px){.dv-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.dv-pres{grid-template-columns:1fr;padding:24px;gap:24px}.dv-pres .dv-foto{max-width:300px}.dv-grid{grid-template-columns:repeat(2,1fr);gap:14px}.dv-txt h3{font-size:1.25rem}}
.dv-foto.con-foto{border:0;background:var(--noche)}
.dv-foto.con-foto img{width:100%;height:100%;object-fit:cover;object-position:top}
.pt-tile.sin-info:hover img,.pt-tile.sin-info:focus img{opacity:1;transform:none}
.pt-info{padding:12px 14px;gap:4px}.pt-info p{-webkit-line-clamp:4;font-size:.84rem;line-height:1.3}
/* Previa: los dos escudos a la misma altura, sin pisar el nombre */
.pv-equipo .badge,.pv-equipo .badge.esc{width:auto;height:112px;min-width:112px}
.pv-equipo .badge img,.pv-equipo .badge.esc img{width:auto!important;height:112px!important;max-width:150px;object-fit:contain}
@media (max-width:640px){.pv-equipo .badge,.pv-equipo .badge.esc{height:76px;min-width:76px}.pv-equipo .badge img,.pv-equipo .badge.esc img{height:76px!important;max-width:100px}}
/* Patrocinadores: 8 x 6, escudo 4 x 4 en el centro, Sambil doble encima, huecos en las esquinas de abajo */
.pt-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:clamp(92px,8vw,116px);gap:12px;max-width:1240px}
.pt-escudo{grid-column:3/7;grid-row:2/6}
.pt-escudo img{inset:4% 8%;width:84%;height:92%}
.pt-sambil{grid-column:4/6;grid-row:1}
.pt-h1{grid-column:1;grid-row:6}.pt-h2{grid-column:8;grid-row:6}
.pt-tile{padding:12px 10px}
.pt-tile img{max-height:52px}
.pt-tile.principal img{max-height:70px}
.pt-enlace{position:absolute;inset:0;display:grid;place-items:center;padding:12px 10px;color:inherit;text-decoration:none;cursor:pointer}
.pt-tile:has(.pt-enlace){padding:0;cursor:pointer}
.pt-tile:focus-within{border-color:rgba(255,255,255,.35)}
.pt-tile:hover .pt-enlace img,.pt-enlace:focus img{opacity:0;transform:scale(.9)}
.pt-tile.sin-info:hover .pt-enlace img{opacity:1;transform:none}
.pt-info{padding:10px 12px}.pt-info b{font-size:.74rem;letter-spacing:.06em}.pt-info p{font-size:.78rem;line-height:1.25}
.pt-hueco b{font-size:1rem}.pt-hueco span{font-size:.74rem}
@media (max-width:1100px){
  .pt-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:100px}
  .pt-escudo{grid-column:2/6;grid-row:2/5}.pt-sambil{grid-column:3/5;grid-row:1}
  .pt-h1,.pt-h2{grid-column:auto;grid-row:auto}
}
@media (max-width:700px){
  .pt-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:88px;gap:8px}
  .pt-escudo{grid-column:1/-1;grid-row:1/3}.pt-sambil{grid-column:1/-1;grid-row:3}
  .pt-tile img{max-height:40px}.pt-tile.principal img{max-height:56px}
  .pt-info b{font-size:.66rem}.pt-info p{font-size:.7rem;-webkit-line-clamp:3}
}
/* Partido patrocinado por: destacados, Sambil y menciones (con enlace a la web) */
a.pp-logo{text-decoration:none;transition:transform .2s,opacity .2s}
a.pp-logo:hover{transform:scale(1.05)}
.pp-logos.pp-1{grid-template-columns:auto auto;justify-content:center}
.pp-logos.pp-1 .pp-logo.principal{border-left:0}
.pp-logos.pp-1 .pp-logo.lado{justify-content:flex-start}
.pp-logos.pp-0{grid-template-columns:auto;justify-content:center}
.pp-logos.pp-0 .pp-logo.principal{border-inline:0}
.pp-menc{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}
.pp-sub{font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;color:rgba(255,255,255,.65)}
.pp-menc-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 26px}
.pp-logo.menc img{height:26px;max-width:120px;opacity:.9}
@media (max-width:640px){.pp-logo.menc img{height:20px;max-width:90px}.pp-menc-logos{gap:8px 16px}}
.pt-hueco a{padding:6px;gap:2px}.pt-hueco b{font-size:.92rem;line-height:1.05}.pt-hueco span{font-size:.68rem;line-height:1.2}
/* Patrocinadores de la jornada dentro de la crónica del partido */
.prosa .patro-noticia{background:linear-gradient(135deg,var(--noche),var(--noche-2));border:0;margin:34px 0 26px;padding:18px 22px 20px;box-shadow:var(--sombra)}
.prosa .patro-noticia img{margin:0;border-radius:0;box-shadow:none}
.prosa .patro-noticia a{border:0}
/* Tienda cerrada temporalmente */
.aviso-cerrada{display:flex;flex-direction:column;gap:4px;padding:16px 18px;margin-bottom:18px;border-radius:12px;background:#FFF4D6;border:1px solid #F2C94C;border-left:6px solid #E0A800;color:#3d2e00}
.aviso-cerrada b{font-family:var(--f-label);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:1rem}
.aviso-cerrada span{font-size:.95rem;line-height:1.45}
button[type=submit]:disabled{opacity:.55;cursor:not-allowed}
