/* DDC Campeonatos 1.0.0 · página pública y mesa (dueño: D).
   Negro DDC (#000 / #0d0d0f), rojo #ff0000 único acento, azul #1f6fff SOLO para la esquina azul.
   Anton para titulares y Raleway para el texto. Efectos neón suaves con transform/opacity.
   Prefijos: cp-pub- (público) y cp-mesa- (mesa). Responsive a 390 px sin scroll lateral. */

/* ═════════════════════════ Base común ═════════════════════════ */
.cp-pub,.cp-mesa{--r:#ff0000;--r2:#b30000;--az:#1f6fff;--n:#000;--n1:#0d0d0f;--n2:#141417;--n3:#1c1c20;--n4:#26262b;--b:#fff;--g:#b3b3bb;--g2:#7a7a82;--g3:#4a4a50;--pelo:rgba(255,255,255,.12);--pelo2:rgba(255,255,255,.22);
	--display:'Anton',Impact,'Arial Narrow',sans-serif;--body:'Raleway','Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--rebote:cubic-bezier(.34,1.56,.64,1);
	position:relative;background:var(--n1);color:var(--b);font-family:var(--body);font-size:16px;font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;isolation:isolate;text-align:left}
.cp-pub *,.cp-pub *::before,.cp-pub *::after,.cp-mesa *,.cp-mesa *::before,.cp-mesa *::after{box-sizing:border-box}
/* :where() deja el reinicio con la prioridad de una clase: gana al tema (h1, p…) y cede ante las clases cp-* de abajo */
.cp-pub :where(h1,h2,h3,h4,p,ul,ol,li,figure,table),.cp-mesa :where(h1,h2,h3,p,ul,ol,li,fieldset,legend){margin:0;padding:0;border:0;letter-spacing:0;text-transform:none;color:inherit;font-weight:inherit}
.cp-pub :where(ul,ol),.cp-mesa :where(ul,ol){list-style:none}
.cp-pub img{max-width:100%;height:auto;display:block}
.cp-pub a,.cp-mesa a{color:inherit;text-decoration:none}
.cp-pub button,.cp-mesa button,.cp-pub input,.cp-mesa input,.cp-mesa textarea,.cp-mesa select,.cp-pub select{font-family:var(--body);-webkit-tap-highlight-color:transparent}
.cp-pub button,.cp-mesa button{cursor:pointer;text-transform:none;letter-spacing:0;margin:0;box-shadow:none;line-height:1.2}
.cp-pub button:disabled,.cp-mesa button:disabled{cursor:not-allowed;opacity:.4}
.cp-pub :where(strong),.cp-mesa :where(strong){font-weight:800;color:#fff}
.cp-pub .screen-reader-text,.cp-mesa .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}
.cp-pub :focus-visible,.cp-mesa :focus-visible{outline:3px solid var(--r);outline-offset:3px}
.cp-pub [hidden],.cp-mesa [hidden]{display:none!important}
body.ddccp-pagina #main,body.ddccp-pagina #content-wrap,body.ddccp-pagina .site-main{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}
.cp-pub-caja{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(16px,3.4vw,40px)}

/* ═════════════════════════ Banda fija del aviso de 30 minutos ═════════════════════════ */
.cp-pub-banda{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60;background:var(--r);color:#fff;box-shadow:0 6px 30px -8px rgba(255,0,0,.75);overflow:hidden}
.cp-pub-banda::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:160% 0;animation:cp-destello 5.5s ease-in-out 1.5s infinite;pointer-events:none}
.cp-pub-banda__in{position:relative;z-index:1;display:flex;align-items:center;gap:14px;max-width:1280px;margin:0 auto;padding:9px clamp(16px,3.4vw,40px)}
.cp-pub-banda__sello{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#000;color:#fff;font-family:var(--display);line-height:.9;box-shadow:0 0 0 3px rgba(255,255,255,.9)}
.cp-pub-banda__sello b{font-size:24px;font-weight:400}
.cp-pub-banda__sello small{font-family:var(--body);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.cp-pub-banda p{font-size:15px;font-weight:700;line-height:1.35;letter-spacing:.005em}

/* ═════════════════════════ Cabecera cinética ═════════════════════════ */
.cp-pub-cab{position:relative;overflow:hidden;padding:clamp(40px,6vw,88px) 0 clamp(36px,5vw,64px);background:radial-gradient(60% 70% at 85% 15%,rgba(255,0,0,.22),transparent 70%),radial-gradient(45% 50% at 0% 100%,rgba(255,0,0,.12),transparent 70%),#000;border-bottom:1px solid rgba(255,0,0,.2)}
.cp-pub-cab__fondo{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 30% 40%,#000,transparent 72%);mask-image:radial-gradient(ellipse at 30% 40%,#000,transparent 72%)}
.cp-pub-haz{position:absolute;top:-30%;bottom:-30%;left:0;width:18vw;min-width:120px;background:linear-gradient(90deg,transparent,rgba(255,0,0,.22) 45%,rgba(255,70,70,.3) 50%,rgba(255,0,0,.22) 55%,transparent);mix-blend-mode:screen;opacity:0;transform:translate3d(-40vw,0,0) skewX(-20deg);animation:cp-haz 10s ease-in-out infinite}
.cp-pub-haz--2{width:7vw;min-width:60px;animation-duration:13s;animation-delay:3s}
.cp-pub-cab__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(24px,4vw,56px);align-items:center}
.cp-pub-cab__txt{min-width:0}
.cp-pub-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--g);margin-bottom:16px}
.cp-pub-numero{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,0,0,.55);border-radius:99px;color:#fff;background:rgba(255,0,0,.12);box-shadow:0 0 18px -4px rgba(255,0,0,.6)}
.cp-pub-punto{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--r);box-shadow:0 0 10px var(--r);animation:cp-late 1.4s ease-in-out infinite}
.cp-pub-h1{font-family:var(--display)!important;font-weight:400!important;font-size:clamp(44px,7.4vw,112px)!important;line-height:.92!important;text-transform:uppercase!important;letter-spacing:.005em!important;color:#fff!important;margin:0 0 22px!important;overflow-wrap:anywhere;text-shadow:0 0 40px rgba(255,0,0,.25)}
.cp-pub-pal{display:inline-block}
.cp-pub-pal--roja{color:var(--r);font-style:normal;animation:cp-neon 6s ease-in-out 2s infinite}
.cp-pub--js .cp-pub-pal{opacity:0;animation:cp-golpe .8s var(--ease) forwards;animation-delay:calc(var(--i,0) * 90ms + .1s)}
.cp-pub--js .cp-pub-pal--roja{animation:cp-golpe .8s var(--ease) forwards,cp-neon 6s ease-in-out 2.4s infinite;animation-delay:calc(var(--i,0) * 90ms + .1s),2.4s}
.cp-pub-lead{font-size:clamp(17px,1.6vw,20px);color:#d6d6dc;max-width:640px;font-weight:500}
.cp-pub-jornadas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.cp-pub-jornadas li{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border:1px solid var(--pelo);border-left:3px solid var(--r);background:rgba(255,255,255,.035);border-radius:0 8px 8px 0;min-width:0}
.cp-pub-jornadas__n{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--r)}
.cp-pub-jornadas b{font-size:17px;font-weight:700;color:#fff;}
.cp-pub-jornadas__h{font-size:13px;color:var(--g)}
.cp-pub-lugar{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px;color:var(--g)}
.cp-pub-lugar svg{flex:none;width:22px;height:22px;color:var(--r);margin-top:2px}
.cp-pub-lugar span{display:flex;flex-direction:column;gap:2px;min-width:0}
.cp-pub-lugar b{color:#fff;font-size:17px;font-weight:700}
.cp-pub-lugar small{font-size:14px}
.cp-pub-lugar a{color:#fff;font-weight:700;font-size:14px;margin-top:2px;border-bottom:1px solid var(--r);align-self:flex-start}
.cp-pub-lugar a:hover{color:var(--r)}
.cp-pub-sup-txt{margin-top:14px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--g2)}
.cp-pub-cartel{position:relative;justify-self:end;width:100%;max-width:360px;transform:rotate(2deg);transition:transform .5s var(--rebote)}
.cp-pub-cartel:hover{transform:rotate(0) scale(1.02)}
.cp-pub-cartel img{width:100%;border-radius:6px;box-shadow:0 30px 70px -20px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.12),0 0 60px -10px rgba(255,0,0,.45)}
.cp-pub--js .cp-pub-cartel{animation:cp-entra-cartel 1s var(--ease) .25s both}

/* Pegatinas tipo El Roster (papel rasgado, grano) */
.cp-pub-pegatinas{--rasgado:polygon(1.5% 4%,6% 0,14% 5%,22% 1%,31% 4%,42% 0,55% 3%,66% 0,77% 4%,88% 1%,97% 3%,100% 18%,98.5% 38%,100% 61%,98% 82%,99.5% 100%,90% 96%,79% 100%,68% 97%,55% 100%,44% 96%,32% 100%,21% 97%,11% 100%,3% 96%,0 80%,1.5% 59%,0 37%,1.2% 17%);--grano:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .05 0 0 0 .32 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E");display:flex;flex-wrap:wrap;gap:12px 10px;margin-top:6px}
.cp-pub-peg{padding:9px 15px 7px;font-family:var(--display);font-size:clamp(16px,1.5vw,20px);font-weight:400;line-height:1;letter-spacing:.03em;text-transform:uppercase;color:#151412;background:#e9e1cb;background-image:linear-gradient(180deg,rgba(255,255,255,.35),rgba(0,0,0,.06)),var(--grano);clip-path:var(--rasgado);transform:rotate(var(--r,0deg));filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.cp-pub-peg--roja{background-color:#ff0000;background-image:var(--grano);color:#fff}
.cp-pub-peg--negra{background-color:#0f0f0f;background-image:var(--grano);color:#f2efe8;outline:1px solid rgba(255,255,255,.15)}
.cp-pub-peg--blanca{background-color:#f6f4ee;color:#ff0000}
.cp-pub--js .cp-pub-peg{opacity:0;animation:cp-pega .7s var(--rebote) forwards;animation-delay:calc(var(--i,0) * 80ms + .6s)}

/* ═════════════════════════ Avisos en directo ═════════════════════════ */
.cp-pub-avisos{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.cp-pub-aviso{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:10px;background:linear-gradient(90deg,rgba(255,0,0,.2),rgba(255,0,0,.05) 70%),var(--n2);border:1px solid rgba(255,0,0,.5);box-shadow:0 0 30px -12px rgba(255,0,0,.7)}
.cp-pub-aviso--nuevo{animation:cp-resalta 1.4s var(--ease) 2}
.cp-pub-aviso__ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--r);color:#fff}
.cp-pub-aviso__ico svg{width:22px;height:22px}
.cp-pub-aviso__txt{min-width:0}
.cp-pub-aviso__meta{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ff8080;margin-bottom:3px}
.cp-pub-aviso p{font-size:17px;font-weight:700;color:#fff;overflow-wrap:anywhere}
.cp-pub-historial{border:1px solid var(--pelo);border-radius:10px;background:var(--n2)}
.cp-pub-historial summary,.cp-pub-plegable summary{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;font-weight:700;font-size:14px;color:var(--g);list-style:none}
.cp-pub-historial summary::-webkit-details-marker,.cp-pub-plegable summary::-webkit-details-marker,.cp-pub-cat summary::-webkit-details-marker{display:none}
.cp-pub-historial summary::after,.cp-pub-plegable summary::after{content:"";width:9px;height:9px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s}
.cp-pub-historial[open] summary::after,.cp-pub-plegable[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.cp-pub-historial ol{padding:0 16px 12px;display:flex;flex-direction:column;gap:0}
.cp-pub-historial li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--pelo)}
.cp-pub-historial li p{flex-basis:100%;font-size:15px;color:#e6e6ea;overflow-wrap:anywhere}
.cp-pub-historial li.es-retirado p{color:var(--g2)}
.cp-pub-historial time{font-size:12px;font-weight:700;color:var(--g2);}
.cp-pub-num{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:99px;background:var(--n4);color:#fff;font-size:12px;font-weight:800}
.cp-pub-etq{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--n4);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}

/* ═════════════════════════ Pestañas (fijas bajo la banda) ═════════════════════════ */
.cp-pub-pestanas{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + var(--cp-pub-banda,70px));z-index:50;margin-top:24px;background:rgba(13,13,15,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--pelo);border-bottom:1px solid var(--pelo)}
.cp-pub-pestanas__in{display:flex;align-items:center;gap:16px}
.cp-pub-pestanas__lista{display:flex;gap:4px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cp-pub-pestanas__lista::-webkit-scrollbar{display:none}
.cp-pub .cp-pub-pestana{flex:none;position:relative;padding:16px 14px 14px;background:none;border:0;border-radius:0;color:var(--g);font-family:var(--display);font-size:19px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:color .2s}
.cp-pub .cp-pub-pestana::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--r);box-shadow:0 0 12px var(--r);transform:scaleX(0);transition:transform .35s var(--ease)}
.cp-pub .cp-pub-pestana:hover{color:#fff;background:none}
.cp-pub .cp-pub-pestana.es-activo{color:#fff}
.cp-pub .cp-pub-pestana.es-activo::after{transform:none}
.cp-pub-directo{flex:none;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--g)}
.cp-pub-directo i{width:10px;height:10px;border-radius:50%;background:var(--r);animation:cp-latido 1.6s ease-out infinite}
.cp-pub-directo b{font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;font-size:11px}
.cp-pub-directo small{font-size:12px;font-variant-numeric:tabular-nums}
.cp-pub-directo.es-error i{background:var(--g2);animation:none}
.cp-pub-directo.es-fin i{background:var(--g2);animation:none}

/* ═════════════════════════ Cuerpo y piezas comunes ═════════════════════════ */
.cp-pub-cuerpo{padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(48px,6vw,90px);min-height:50vh}
.cp-pub-h2{font-family:var(--display)!important;font-weight:400!important;font-size:clamp(34px,4.6vw,60px)!important;line-height:1!important;text-transform:uppercase!important;color:#fff!important;margin:0 0 18px!important;letter-spacing:.01em!important}
.cp-pub-h3{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,32px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.cp-pub-nota{font-size:14px;color:var(--g);margin:0 0 18px;max-width:820px}
.cp-pub-vacio{padding:34px 22px;border:1px dashed var(--pelo2);border-radius:12px;text-align:center;color:var(--g);background:rgba(255,255,255,.02)}
.cp-pub-vacio p+p{margin-top:6px;font-size:14px}
.cp-pub-cargando{display:flex;align-items:center;gap:6px;padding:30px 0;color:var(--g)}
.cp-pub-cargando span{width:10px;height:10px;border-radius:50%;background:var(--r);animation:cp-late 1s ease-in-out infinite}
.cp-pub-cargando span:nth-child(2){animation-delay:.15s}
.cp-pub-cargando span:nth-child(3){animation-delay:.3s}
.cp-pub-cargando p{margin-left:8px}
.cp-pub-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.cp-pub .cp-pub-chip{display:inline-flex;align-items:baseline;gap:8px;min-height:42px;padding:10px 16px;border:1px solid var(--pelo2);border-radius:99px;background:var(--n2);color:#fff;font-size:14px;font-weight:700;transition:border-color .2s,background .2s,box-shadow .2s}
.cp-pub .cp-pub-chip small{font-size:12px;color:var(--g);font-weight:600;}
.cp-pub .cp-pub-chip:hover{border-color:#fff;background:var(--n3);color:#fff}
.cp-pub .cp-pub-chip.es-activo{background:var(--r);border-color:var(--r);color:#fff;box-shadow:0 0 22px -6px var(--r)}
.cp-pub .cp-pub-chip.es-activo small{color:#fff}
.cp-pub .cp-pub-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:99px;font-size:14px;font-weight:800;border:1px solid var(--pelo2);background:transparent;color:#fff;transition:background .2s,border-color .2s,color .2s}
.cp-pub .cp-pub-btn:hover{border-color:var(--r);background:rgba(255,0,0,.12);color:#fff}
.cp-pub-pastilla{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;background:var(--n4);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#fff}
.cp-pub-pastilla i,.cp-pub-meta--vivo i,.cp-pub-ahora__etq i,.cp-pub-mio__etq i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--r);animation:cp-latido 1.6s ease-out infinite}
.cp-pub-pastilla--vivo{background:rgba(255,0,0,.18);color:#fff;border:1px solid rgba(255,0,0,.6)}
.cp-pub-pastilla--listo{background:#fff;color:#000}
.cp-pub-pastilla--bye{background:transparent;border:1px solid var(--g3);color:var(--g2)}

/* ═════════════════════════ Horarios ═════════════════════════ */
.cp-pub-sups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;align-items:start}
.cp-pub-sup{min-width:0;border:1px solid var(--pelo);border-radius:14px;background:var(--n2);overflow:hidden}
.cp-pub-sup__cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 18px;background:#000;border-bottom:1px solid var(--pelo)}
.cp-pub-sup__cab h3{font-family:var(--display);font-weight:400;font-size:28px;text-transform:uppercase;letter-spacing:.02em;line-height:1}
.cp-pub-sup__cuenta{font-size:12px;font-weight:700;color:var(--g);font-variant-numeric:tabular-nums}
.cp-pub-sup__sub{padding:12px 18px 4px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--g2)}
.cp-pub-ahora{position:relative;padding:16px 18px 18px;background:radial-gradient(90% 120% at 0% 0%,rgba(255,0,0,.2),transparent 65%);border-bottom:1px solid var(--pelo)}
.cp-pub-ahora__etq{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ff8080}
.cp-pub-ahora__cat{margin-top:6px;font-size:13px;color:var(--g);font-weight:600}
.cp-pub-ahora__vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin-top:10px}
.cp-pub-ahora__r,.cp-pub-ahora__a{font-family:var(--display);font-size:clamp(20px,2vw,26px);line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere;padding-left:10px}
.cp-pub-ahora__r{border-left:4px solid var(--r)}
.cp-pub-ahora__a{border-left:4px solid var(--az);text-align:left}
.cp-pub-ahora__x{font-family:var(--display);color:var(--g2);font-size:16px}
.cp-pub-ahora__hora{margin-top:10px;font-weight:800;font-size:14px}
.cp-pub-ahora__fin{margin-top:8px;color:var(--g)}
.cp-pub-filas{display:flex;flex-direction:column}
.cp-pub-fila{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 18px;border-top:1px solid var(--pelo)}
.cp-pub-filas>.cp-pub-fila:first-child{border-top:0}
.cp-pub-fila__hora{display:flex;flex-direction:column;line-height:1}
.cp-pub-fila__hora small{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--g2);margin-bottom:3px}
.cp-pub-fila__hora b{font-family:var(--display);font-weight:400;font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.cp-pub-fila__cuerpo{min-width:0}
.cp-pub-fila__cat{font-size:12px;color:var(--g);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-pub-fila__cat strong{color:#fff;font-weight:800}
.cp-pub-vs{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;font-size:15px;font-weight:700;margin-top:2px}
.cp-pub-vs em{font-style:normal;color:var(--g2);font-weight:600}
.cp-pub-vs__r,.cp-pub-vs__a{position:relative;padding-left:10px;overflow-wrap:anywhere}
.cp-pub-vs__r::before,.cp-pub-vs__a::before{content:"";position:absolute;left:0;top:.25em;bottom:.25em;width:4px;border-radius:2px;background:var(--r)}
.cp-pub-vs__a::before{background:var(--az)}
.cp-pub-vs__x{font-size:11px;color:var(--g2);text-transform:uppercase;font-weight:800}
.cp-pub-vs .es-ganador{color:#fff}
.cp-pub-vs .es-ganador::after{content:" ✓";color:var(--r)}
.cp-pub-vs .es-perdedor{color:var(--g2);font-weight:500}
.cp-pub-fila--terminado .cp-pub-fila__hora b{color:var(--g2)}
.cp-pub-fila--bye{opacity:.6}
.cp-pub-fila--en_curso{background:linear-gradient(90deg,rgba(255,0,0,.16),transparent 70%)}
.cp-pub-plegable{border-top:1px solid var(--pelo)}
.cp-pub-plegable .cp-pub-filas{border-top:1px solid var(--pelo)}

/* ═════════════════════════ Cuadros ═════════════════════════ */
.cp-pub-selcat{display:flex;align-items:center;gap:8px;margin-bottom:16px;max-width:640px}
.cp-pub .cp-pub-flecha{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--pelo2);background:var(--n2);color:#fff;font-size:24px;line-height:1;padding:0}
.cp-pub .cp-pub-flecha:hover:not(:disabled){border-color:var(--r);background:rgba(255,0,0,.15)}
.cp-pub-select{position:relative;flex:1;min-width:0}
.cp-pub-select::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);pointer-events:none}
.cp-pub .cp-pub-select select{width:100%;min-height:46px;padding:10px 44px 10px 16px;border:1px solid var(--pelo2);border-radius:99px;background:var(--n2);color:#fff;font-size:15px;font-weight:700;-webkit-appearance:none;appearance:none;text-overflow:ellipsis}
.cp-pub .cp-pub-select select:focus{border-color:var(--r)}
.cp-pub .cp-pub-select option,.cp-pub .cp-pub-select optgroup{background:#141417;color:#fff}
.cp-pub-titcat{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;line-height:1.05;margin-bottom:16px;overflow-wrap:anywhere}

.cp-pub-cuadro-caja{position:relative;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:6px 2px 16px;border:1px solid var(--pelo);border-radius:14px;background:radial-gradient(70% 80% at 100% 0%,rgba(255,0,0,.1),transparent 70%),#09090b;scrollbar-color:var(--r) var(--n3);scrollbar-width:thin}
.cp-pub-cuadro-caja::-webkit-scrollbar{height:8px}
.cp-pub-cuadro-caja::-webkit-scrollbar-thumb{background:var(--r);border-radius:8px}
.cp-pub-cuadro-caja::-webkit-scrollbar-track{background:var(--n3)}
.cp-pub-cuadro{display:flex;align-items:stretch;width:max-content;padding:0 18px}
.cp-pub-ronda{display:flex;flex-direction:column;width:240px;margin-right:40px}
.cp-pub-ronda:last-child{margin-right:0}
.cp-pub-ronda__cab{height:42px;display:flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--g)}
.cp-pub-ronda:last-child:not(.cp-pub-ronda--campeon) .cp-pub-ronda__cab,.cp-pub-ronda--campeon .cp-pub-ronda__cab{color:var(--r)}
.cp-pub-ronda__cuerpo{flex:1;display:flex;flex-direction:column}
.cp-pub-par{flex:1;display:flex;flex-direction:column;position:relative}
/* conector: la llave que une dos combates con el siguiente */
.cp-pub-par:not(.cp-pub-par--solo)::after{content:"";position:absolute;right:-20px;top:25%;bottom:25%;width:20px;border:2px solid rgba(255,255,255,.2);border-left:0;border-radius:0 8px 8px 0;pointer-events:none}
.cp-pub-par--solo.con-campeon::after{content:"";position:absolute;right:-20px;top:50%;width:20px;border-top:2px solid var(--r);box-shadow:0 0 10px var(--r);pointer-events:none}
.cp-pub-hueco{flex:1;display:flex;align-items:center;padding:7px 0;position:relative}
.cp-pub-ronda+.cp-pub-ronda .cp-pub-hueco::before{content:"";position:absolute;left:-20px;top:50%;width:20px;border-top:2px solid rgba(255,255,255,.2);pointer-events:none}
.cp-pub-ronda--campeon .cp-pub-hueco::before{border-top-color:var(--r)!important}
.cp-pub-combate{position:relative;width:100%;border:1px solid var(--pelo2);border-radius:10px;background:var(--n2);overflow:hidden;box-shadow:0 10px 24px -14px rgba(0,0,0,.9)}
.cp-pub-combate--en_curso{border-color:var(--r);box-shadow:0 0 0 1px var(--r),0 0 26px -6px rgba(255,0,0,.8)}
.cp-pub-combate--bye{background:#111113;border-style:dashed;border-color:var(--g3)}
.cp-pub-combate--bye .cp-pub-esq{color:var(--g2)}
.cp-pub-combate--bye .cp-pub-esq.es-ganador b{color:#c9c9cf}
.cp-pub-combate--hueco{background:transparent;border-style:dashed;border-color:rgba(255,255,255,.1);box-shadow:none}
.cp-pub-esq{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px 6px 16px}
.cp-pub-esq+.cp-pub-esq{border-top:1px solid var(--pelo)}
.cp-pub-esq__barra{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--r)}
.cp-pub-esq--azul .cp-pub-esq__barra{background:var(--az)}
.cp-pub-esq__txt{display:flex;flex-direction:column;min-width:0;flex:1}
.cp-pub-esq__txt b{font-size:14px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-pub-esq__txt small{font-size:11px;color:var(--g2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-pub-esq.es-vacio b{color:var(--g3);font-weight:600}
.cp-pub-esq.es-ganador{background:linear-gradient(90deg,rgba(255,255,255,.1),transparent)}
.cp-pub-esq--rojo.es-ganador{background:linear-gradient(90deg,rgba(255,0,0,.26),transparent 80%)}
.cp-pub-esq--azul.es-ganador{background:linear-gradient(90deg,rgba(31,111,255,.3),transparent 80%)}
.cp-pub-esq.es-ganador b{color:#fff;font-weight:800}
.cp-pub-esq.es-perdedor b{color:var(--g2);font-weight:500;text-decoration:line-through;text-decoration-color:rgba(255,255,255,.25)}
.cp-pub-esq.es-perdedor small{opacity:.6}
.cp-pub-esq__ok{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#000}
.cp-pub-esq__ok svg{width:14px;height:14px}
.cp-pub-esq--bye{min-height:34px}
.cp-pub-meta{display:flex;align-items:center;gap:6px;padding:5px 10px 6px 16px;border-top:1px solid var(--pelo);font-size:11px;font-weight:700;color:var(--g);background:rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-pub-meta--vivo{color:#fff;background:rgba(255,0,0,.2);text-transform:uppercase;letter-spacing:.08em}
.cp-pub-meta--bye{color:var(--g2);font-style:italic}
.cp-pub-meta__listo{color:#fff}
.cp-pub-campeon{position:relative;width:100%;padding:44px 14px 16px;border-radius:12px;text-align:center;background:radial-gradient(90% 90% at 50% 0%,rgba(255,0,0,.4),transparent 70%),#000;border:2px solid var(--r);box-shadow:0 0 40px -8px rgba(255,0,0,.8)}
.cp-pub-campeon__corona{position:absolute;top:-18px;left:50%;width:62px;transform:translateX(-50%) rotate(-6deg);filter:drop-shadow(0 4px 12px rgba(255,0,0,.8))}
.cp-pub--js .cp-pub-campeon__corona{animation:cp-sello .8s var(--rebote) both}
.cp-pub-campeon b{display:block;font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.cp-pub-campeon small{display:block;margin-top:4px;font-size:12px;color:var(--g)}
.cp-pub-mini-corona{display:inline-block;width:22px;vertical-align:-2px;margin-left:6px}
.cp-pub-podio{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cp-pub-podio li{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid var(--pelo);border-radius:99px;background:var(--n2);min-width:0;max-width:100%}
.cp-pub-podio svg{flex:none;width:30px;height:39px}
.cp-pub-podio span{display:flex;flex-direction:column;min-width:0}
.cp-pub-podio b{font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-pub-podio small{font-size:11px;color:var(--g2)}
.cp-pub-podio__oro{border-color:rgba(255,0,0,.6)!important;box-shadow:0 0 22px -8px rgba(255,0,0,.8)}
.cp-pub-pista{margin-top:10px;font-size:13px;color:var(--g2)}
.cp-pub-solo-movil{display:none}

/* Liga de 3 */
.cp-pub-tabla-caja{max-width:100%;overflow-x:auto;border:1px solid var(--pelo);border-radius:12px;margin-bottom:18px}
.cp-pub-tabla{width:100%;border-collapse:collapse;font-size:15px;background:var(--n2);margin:0}
.cp-pub-tabla th{padding:10px 12px;background:#000;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--g);text-align:left;border:0}
.cp-pub-tabla td{padding:11px 12px;border:0;border-top:1px solid var(--pelo);font-variant-numeric:tabular-nums;vertical-align:middle}
.cp-pub-tabla td small{display:block;font-size:12px;color:var(--g2)}
.cp-pub-tabla tr.es-campeon td{background:linear-gradient(90deg,rgba(255,0,0,.2),transparent)}
.cp-pub-liga{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px}
.cp-pub-liga .cp-pub-ronda__cab{height:28px}

/* ═════════════════════════ Resultados ═════════════════════════ */
.cp-pub-resultados{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:12px}
.cp-pub-res{min-width:0;padding:14px 16px;border:1px solid var(--pelo);border-radius:12px;background:var(--n2)}
.cp-pub-res__cab{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--g);margin-bottom:8px}
.cp-pub-res__cab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-pub-res__cab time{flex:none;font-weight:700;font-variant-numeric:tabular-nums}
.cp-pub-res__gana{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding-left:12px;border-left:5px solid var(--r)}
.cp-pub-res__gana--azul{border-left-color:var(--az)}
.cp-pub-res__gana b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.cp-pub-res__gana small{font-size:12px;color:var(--g)}
.cp-pub-res__check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#000;align-self:center}
.cp-pub-res__check svg{width:13px;height:13px}
.cp-pub-res__pierde{margin-top:8px;font-size:14px;color:var(--g)}
.cp-pub-res__pierde b{color:#d8d8de}

/* ═════════════════════════ Categorías ═════════════════════════ */
.cp-pub-discbloque+.cp-pub-discbloque{margin-top:36px}
.cp-pub-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px;align-items:start}
.cp-pub-cat{min-width:0;border:1px solid var(--pelo);border-radius:12px;background:var(--n2)}
.cp-pub-cat[open]{border-color:var(--pelo2)}
.cp-pub-cat summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"peso n estado" "info info info";gap:2px 10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}
.cp-pub-cat__peso{grid-area:peso;font-family:var(--display);font-size:24px;line-height:1}
.cp-pub-cat__info{grid-area:info;font-size:12px;color:var(--g)}
.cp-pub-cat__n{grid-area:n;display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#000;border:1px solid var(--pelo2);font-weight:800;font-size:13px}
.cp-pub-cat__estado{grid-area:estado;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--n4);color:var(--g)}
.cp-pub-cat__estado--sorteada{background:var(--r);color:#fff}
.cp-pub-cat__estado--sin-rival,.cp-pub-cat__estado--vacia{background:transparent;border:1px solid var(--g3);color:var(--g2)}
.cp-pub-cat__lista{padding:2px 14px 10px;border-top:1px solid var(--pelo)}
.cp-pub-cat__lista li{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--pelo)}
.cp-pub-cat__lista li:last-child{border-bottom:0}
.cp-pub-cat__lista b{font-size:15px;font-weight:700}
.cp-pub-cat__lista small{font-size:12px;color:var(--g2)}
.cp-pub-cat__vacia{padding:10px 14px;color:var(--g2);border-top:1px solid var(--pelo)}
.cp-pub-cat .cp-pub-btn{margin:0 14px 14px}

/* ═════════════════════════ ¿Cuándo me toca? ═════════════════════════ */
.cp-pub-busca{position:relative;max-width:720px;margin-bottom:18px}
.cp-pub-busca__ico{position:absolute;left:20px;top:50%;width:24px;height:24px;margin-top:-12px;color:var(--r);pointer-events:none}
.cp-pub-busca__ico svg{width:100%;height:100%}
.cp-pub .cp-pub-busca input{width:100%;min-height:62px;margin:0;padding:14px 20px 14px 58px;border:2px solid var(--pelo2);border-radius:99px;background:#000;color:#fff;font-family:var(--body);font-size:19px;font-weight:700;box-shadow:none;outline:0;transition:border-color .2s,box-shadow .2s}
.cp-pub .cp-pub-busca input::placeholder{color:var(--g2);font-weight:500}
.cp-pub .cp-pub-busca input:focus{border-color:var(--r);box-shadow:0 0 0 5px rgba(255,0,0,.18),0 0 30px -8px rgba(255,0,0,.7)}
.cp-pub-mios{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:14px;align-items:start}
.cp-pub-mio{min-width:0;border:1px solid var(--pelo);border-radius:14px;background:var(--n2);overflow:hidden}
.cp-pub-mio header{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:#000;border-bottom:1px solid var(--pelo)}
.cp-pub-mio header b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.cp-pub-mio header small{font-size:13px;color:var(--g)}
.cp-pub-mio mark{background:var(--r);color:#fff;padding:0 2px}
.cp-pub-mio__cat{font-size:12px;color:var(--g2);margin-top:2px}
.cp-pub-mio__prox{display:flex;flex-direction:column;gap:4px;padding:14px 16px 14px 20px;border-left:6px solid var(--r);background:linear-gradient(90deg,rgba(255,0,0,.18),transparent 75%)}
.cp-pub-mio__prox--azul{border-left-color:var(--az);background:linear-gradient(90deg,rgba(31,111,255,.2),transparent 75%)}
.cp-pub-mio__etq{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.cp-pub-mio__donde{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,30px);line-height:1.05;text-transform:uppercase}
.cp-pub-mio__llega{font-size:14px;color:#fff}
.cp-pub-mio__llega strong{color:#fff;background:var(--r);padding:0 6px;border-radius:3px}
.cp-pub-mio__rival{font-size:14px;color:var(--g)}
.cp-pub-mio__rival b{color:#fff}
.cp-pub-mio__dia{font-size:12px;color:var(--g2);}
.cp-pub-mio__fin{padding:14px 16px;color:var(--g);font-weight:600}
.cp-pub-filas--mini{border-top:1px solid var(--pelo)}
.cp-pub-filas--mini .cp-pub-fila{padding:9px 16px}
.cp-pub-mio .cp-pub-btn{margin:12px 16px 14px}

.cp-pub .cp-pub-pie{padding:0 clamp(16px,3.4vw,40px) 40px;font-size:12px;color:var(--g2)}

/* ═════════════════════════ Listado /campeonatos/ ═════════════════════════ */
.cp-pub-cab--lista{padding-bottom:clamp(40px,5vw,70px)}
.cp-pub-listado{padding-top:clamp(28px,4vw,56px);padding-bottom:clamp(60px,7vw,110px)}
.cp-pub-tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px}
.cp-pub-tarjeta a{display:flex;flex-direction:column;height:100%;border:1px solid var(--pelo);border-radius:14px;overflow:hidden;background:var(--n2);transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.cp-pub-tarjeta a:hover{transform:translateY(-4px);border-color:rgba(255,0,0,.6);box-shadow:0 24px 50px -24px rgba(255,0,0,.7)}
.cp-pub-tarjeta__img{position:relative;display:block;aspect-ratio:4/5;background:#000;overflow:hidden}
.cp-pub-tarjeta__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cp-pub-tarjeta a:hover .cp-pub-tarjeta__img img{transform:scale(1.05)}
.cp-pub-tarjeta__sin{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:90px;color:rgba(255,0,0,.35);background:radial-gradient(circle,rgba(255,0,0,.2),transparent 70%)}
.cp-pub-tarjeta__num{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:99px;background:var(--r);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em}
.cp-pub-tarjeta__txt{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px;flex:1}
.cp-pub-tarjeta__txt b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.02;text-transform:uppercase;overflow-wrap:anywhere}
.cp-pub-tarjeta__fecha{font-size:14px;font-weight:700;color:#fff;}
.cp-pub-tarjeta__lugar{font-size:14px;color:var(--g)}
.cp-pub-tarjeta__ir{margin-top:auto;padding-top:10px;font-size:13px;font-weight:800;color:var(--r)}
.cp-pub--js .cp-pub-tarjeta{opacity:0;animation:cp-entra .7s var(--ease) forwards;animation-delay:calc(var(--i,0) * 70ms)}

/* ═════════════════════════ Móvil (público) ═════════════════════════ */
@media (max-width:900px){
	.cp-pub-cab__grid{grid-template-columns:1fr}
	.cp-pub-cartel{order:-1;justify-self:start;max-width:220px;transform:rotate(-2deg)}
}
@media (max-width:640px){
	.cp-pub{font-size:15px}
	.cp-pub-banda__in{gap:10px;padding:7px 16px}
	.cp-pub-banda__sello{width:40px;height:40px;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
	.cp-pub-banda__sello b{font-size:18px}
	.cp-pub-banda__sello small{font-size:8px}
	.cp-pub-banda p{font-size:12.5px;line-height:1.3}
	.cp-pub-cartel{max-width:170px}
	.cp-pub-jornadas li{flex:1 1 100%}
	.cp-pub-pestanas__in{gap:8px;padding-right:0}
	.cp-pub .cp-pub-pestana{font-size:16px;padding:13px 10px 12px}
	.cp-pub-directo small{display:none}
	.cp-pub-directo{padding-right:16px}
	.cp-pub-fila{grid-template-columns:52px minmax(0,1fr);padding:10px 14px;gap:10px}
	.cp-pub-fila__estado{grid-column:2;justify-self:start}
	.cp-pub-fila__estado:empty{display:none}
	.cp-pub-fila__hora b{font-size:19px}
	.cp-pub-ahora{padding:14px}
	.cp-pub-sup__cab{padding:12px 14px}
	.cp-pub-ronda{width:205px;margin-right:34px}
	.cp-pub-par:not(.cp-pub-par--solo)::after,.cp-pub-par--solo.con-campeon::after{right:-17px;width:17px}
	.cp-pub-ronda+.cp-pub-ronda .cp-pub-hueco::before{left:-17px;width:17px}
	.cp-pub-cuadro{padding:0 12px}
	.cp-pub-solo-movil{display:block}
	.cp-pub .cp-pub-busca input{font-size:17px;min-height:56px}
	.cp-pub-aviso{padding:14px}
	.cp-pub-aviso p{font-size:16px}
	.cp-pub-peg{font-size:15px;padding:8px 12px 6px}
}

/* ═════════════════════════ MESA ═════════════════════════ */
.cp-mesa{background:#000;min-height:80vh;padding:clamp(12px,2vw,24px) clamp(12px,2.4vw,28px) 40px;font-size:17px}
.cp-mesa-caja{max-width:520px;margin:clamp(24px,6vw,80px) auto;padding:clamp(24px,4vw,40px);border:1px solid var(--pelo);border-radius:18px;background:radial-gradient(80% 60% at 100% 0%,rgba(255,0,0,.2),transparent 70%),var(--n1)}
.cp-mesa-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--g)}
.cp-mesa-punto{width:9px;height:9px;border-radius:50%;background:var(--r);box-shadow:0 0 10px var(--r);animation:cp-late 1.4s ease-in-out infinite}
.cp-mesa-h1{font-family:var(--display)!important;font-weight:400!important;font-size:clamp(36px,5vw,56px)!important;line-height:.95!important;text-transform:uppercase!important;color:#fff!important;margin:12px 0!important;overflow-wrap:anywhere}
.cp-mesa-h2{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:400;font-size:26px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px}
.cp-mesa-h2 span{display:inline-grid;place-items:center;min-width:30px;height:26px;padding:0 8px;border-radius:99px;background:var(--n4);font-family:var(--body);font-size:13px;font-weight:800}
.cp-mesa-h3{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--g2);margin:16px 0 8px}
.cp-mesa-lead{color:var(--g);margin-bottom:22px}
.cp-mesa-nota{font-size:14px;color:var(--g)}
.cp-mesa-form{display:flex;flex-direction:column;gap:14px}
.cp-mesa-campo{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--g)}
.cp-mesa .cp-mesa-campo input,.cp-mesa .cp-mesa-campo textarea,.cp-mesa .cp-mesa-campo select{width:100%;min-height:60px;margin:0;padding:14px 18px;border:2px solid var(--pelo2);border-radius:12px;background:#000;color:#fff;font-family:var(--body);font-size:20px;font-weight:700;letter-spacing:.02em;text-transform:none;box-shadow:none;outline:0}
.cp-mesa .cp-mesa-campo input[name="codigo"]{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:.18em;text-transform:uppercase}
.cp-mesa .cp-mesa-campo textarea{min-height:96px;font-size:17px;font-weight:600;resize:vertical;line-height:1.4}
.cp-mesa .cp-mesa-campo select{-webkit-appearance:none;appearance:none;font-size:16px;min-height:50px;padding:10px 16px}
.cp-mesa .cp-mesa-campo input:focus,.cp-mesa .cp-mesa-campo textarea:focus,.cp-mesa .cp-mesa-campo select:focus{border-color:var(--r);box-shadow:0 0 0 4px rgba(255,0,0,.2)}
.cp-mesa-campo__clave{display:flex;gap:8px}
.cp-mesa-campo__clave input{flex:1;min-width:0}
.cp-mesa .cp-mesa-ver{flex:none;min-width:76px;border:2px solid var(--pelo2);border-radius:12px;background:var(--n2);color:#fff;font-weight:800;font-size:14px}
.cp-mesa-error{padding:12px 14px;border-radius:10px;background:rgba(255,0,0,.15);border:1px solid var(--r);color:#fff;font-weight:700;font-size:15px}
.cp-mesa-pie{margin-top:20px;font-size:14px;color:var(--g)}
.cp-mesa-pie a{border-bottom:1px solid var(--r)}

/* Botones de la mesa: grandes y con contraste alto */
.cp-mesa .cp-mesa-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 22px;border:2px solid transparent;border-radius:12px;font-family:var(--body);font-size:16px;font-weight:800;letter-spacing:.02em;text-decoration:none;color:#fff;background:var(--n3);transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;touch-action:manipulation}
.cp-mesa .cp-mesa-btn:active:not(:disabled){transform:scale(.97)}
.cp-mesa .cp-mesa-btn--xl{min-height:68px;font-size:19px;padding:14px 26px}
.cp-mesa .cp-mesa-btn--mini{min-height:40px;padding:8px 14px;font-size:13px;border-radius:10px}
.cp-mesa .cp-mesa-btn--bloque{width:100%}
.cp-mesa .cp-mesa-btn--rojo{background:var(--r);border-color:var(--r);box-shadow:0 10px 30px -10px rgba(255,0,0,.8)}
.cp-mesa .cp-mesa-btn--rojo:hover{background:#ff2a2a;color:#fff}
.cp-mesa .cp-mesa-btn--azul{background:var(--az);border-color:var(--az);box-shadow:0 10px 30px -10px rgba(31,111,255,.8)}
.cp-mesa .cp-mesa-btn--blanco{background:#fff;color:#000;border-color:#fff}
.cp-mesa .cp-mesa-btn--blanco:hover{background:#e8e8e8;color:#000}
.cp-mesa .cp-mesa-btn--linea{background:transparent;border-color:var(--pelo2);color:#fff}
.cp-mesa .cp-mesa-btn--linea:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.cp-mesa .cp-mesa-btn.es-cargando{opacity:.7;pointer-events:none}
.cp-mesa.es-ocupado .cp-mesa-ahora,.cp-mesa.es-ocupado .cp-mesa-lado{opacity:.6;pointer-events:none;transition:opacity .2s}

.cp-mesa-barra{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;border:1px solid var(--pelo);border-radius:14px;background:var(--n1);margin-bottom:12px}
.cp-mesa-barra__txt{display:flex;flex-direction:column;min-width:0;flex:1 1 260px}
.cp-mesa-barra__titulo{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.cp-mesa-conexion{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--g);font-variant-numeric:tabular-nums}
.cp-mesa-conexion i{width:10px;height:10px;border-radius:50%;background:#2ecc71;box-shadow:0 0 8px #2ecc71}
.cp-mesa-conexion.es-error i{background:var(--r);box-shadow:0 0 8px var(--r);animation:cp-late 1s infinite}

.cp-mesa-sups{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;scrollbar-width:thin}
.cp-mesa .cp-mesa-sup{flex:1 0 150px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:74px;padding:12px 16px;border:2px solid var(--pelo2);border-radius:14px;background:var(--n1);color:#fff;text-align:left}
.cp-mesa .cp-mesa-sup b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1;text-transform:uppercase}
.cp-mesa .cp-mesa-sup small{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--g);font-weight:700}
.cp-mesa .cp-mesa-sup small i{width:8px;height:8px;border-radius:50%;background:var(--r);animation:cp-latido 1.6s ease-out infinite}
.cp-mesa .cp-mesa-sup.es-activo{border-color:var(--r);background:radial-gradient(100% 120% at 0% 0%,rgba(255,0,0,.35),transparent 70%),#000;box-shadow:0 0 30px -10px var(--r)}
.cp-mesa .cp-mesa-sup.es-activo small{color:#fff}

.cp-mesa-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
.cp-mesa-lado{display:flex;flex-direction:column;gap:14px;min-width:0}
.cp-mesa-bloque{padding:16px;border:1px solid var(--pelo);border-radius:16px;background:var(--n1)}
.cp-mesa-vacio{padding:40px 20px;border:2px dashed var(--pelo2);border-radius:16px;text-align:center;color:var(--g)}
.cp-mesa-vacio b{display:block;color:#fff;font-size:20px;margin-bottom:6px}

.cp-mesa-actual{padding:18px;border:2px solid var(--pelo2);border-radius:18px;background:var(--n1)}
.cp-mesa-actual--en_curso{border-color:var(--r);box-shadow:0 0 0 1px var(--r),0 0 50px -16px rgba(255,0,0,.9);background:radial-gradient(70% 60% at 50% 0%,rgba(255,0,0,.16),transparent 70%),var(--n1)}
.cp-mesa-actual__cab{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:14px}
.cp-mesa-etiqueta{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:#fff;color:#000;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cp-mesa-actual--en_curso .cp-mesa-etiqueta{background:var(--r);color:#fff}
.cp-mesa-etiqueta i{width:9px;height:9px;border-radius:50%;background:#fff;animation:cp-late 1s ease-in-out infinite}
.cp-mesa-actual__cat{font-size:15px;color:var(--g);font-weight:600}
.cp-mesa-actual__cat b{color:#fff}
.cp-mesa-duelo{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch}
.cp-mesa-esq{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px;border-radius:14px;background:linear-gradient(160deg,rgba(255,0,0,.3),rgba(255,0,0,.06));border:2px solid var(--r)}
.cp-mesa-esq--azul{background:linear-gradient(160deg,rgba(31,111,255,.35),rgba(31,111,255,.06));border-color:var(--az);text-align:right}
.cp-mesa-esq span{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;opacity:.85}
.cp-mesa-esq b{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.2vw,42px);line-height:1;text-transform:uppercase;overflow-wrap:anywhere}
.cp-mesa-esq small{font-size:14px;color:#dcdce2}
.cp-mesa-vs{align-self:center;font-family:var(--display);font-size:28px;color:var(--g2)}
.cp-mesa-metodos{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0!important;padding:0!important;border:0!important;min-width:0}
.cp-mesa-metodos legend{width:100%;padding:0;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.cp-mesa .cp-mesa-metodo{min-height:48px;padding:10px 16px;border:2px solid var(--pelo2);border-radius:10px;background:#000;color:#fff;font-size:15px;font-weight:800}
.cp-mesa .cp-mesa-metodo.es-activo{background:#fff;color:#000;border-color:#fff}
.cp-mesa-ganador{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.cp-mesa .cp-mesa-gana{min-height:104px;padding:16px;border:0;border-radius:16px;color:#fff;font-family:var(--body);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;touch-action:manipulation;transition:transform .12s,box-shadow .2s}
.cp-mesa .cp-mesa-gana b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(36px,4.4vw,54px);line-height:1;letter-spacing:.04em}
.cp-mesa .cp-mesa-gana--rojo{background:var(--r);box-shadow:0 16px 40px -14px rgba(255,0,0,.9)}
.cp-mesa .cp-mesa-gana--azul{background:var(--az);box-shadow:0 16px 40px -14px rgba(31,111,255,.9)}
.cp-mesa .cp-mesa-gana:active{transform:scale(.97)}
.cp-mesa-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cp-mesa-acciones .cp-mesa-btn{flex:1 1 200px}

.cp-mesa-cola{display:flex;flex-direction:column;gap:8px}
.cp-mesa-item{padding:12px;border:1px solid var(--pelo);border-radius:12px;background:#000}
.cp-mesa-item--listo{border-color:#fff}
.cp-mesa-item.es-preparate{border-color:rgba(255,0,0,.45)}
.cp-mesa-item__cab{display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--g);font-variant-numeric:tabular-nums}
.cp-mesa-item--listo .cp-mesa-item__tipo{color:#000;background:#fff;padding:1px 8px;border-radius:4px}
.cp-mesa-item.es-preparate .cp-mesa-item__tipo{color:var(--r)}
.cp-mesa-item__cat{font-size:13px;color:var(--g);margin-top:4px}
.cp-mesa-item__vs{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;margin-top:4px;font-size:16px}
.cp-mesa-item__vs span{font-size:12px;color:var(--g2);text-transform:uppercase;font-weight:800}
.cp-mesa-item__vs .es-rojo,.cp-mesa-ultimo .es-rojo{border-left:4px solid var(--r);padding-left:7px}
.cp-mesa-item__vs .es-azul,.cp-mesa-ultimo .es-azul{border-left:4px solid var(--az);padding-left:7px}
.cp-mesa-item .cp-mesa-acciones{margin-top:10px;gap:8px}
.cp-mesa-item .cp-mesa-btn{min-height:46px;font-size:14px;flex:1 1 130px}
.cp-mesa-ultimo{margin-top:14px;padding-top:14px;border-top:1px solid var(--pelo)}
.cp-mesa-ultimo>span{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--g2)}
.cp-mesa-ultimo p{margin:6px 0 10px;font-size:15px}
.cp-mesa-ultimo .cp-mesa-btn{width:100%}
.cp-mesa-form__fila{display:flex;gap:10px;align-items:center}
.cp-mesa-form__fila .cp-mesa-campo{flex:1;min-width:0}
.cp-mesa-cuenta{flex:none;font-size:12px;color:var(--g2);font-variant-numeric:tabular-nums}
.cp-mesa-avisos__lista{display:flex;flex-direction:column;gap:8px}
.cp-mesa-avisos__lista li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--pelo);border-radius:10px;background:#000}
.cp-mesa-avisos__lista li>div{flex:1;min-width:0}
.cp-mesa-avisos__lista small{font-size:12px;color:var(--g2);font-weight:700}
.cp-mesa-avisos__lista p{font-size:15px;overflow-wrap:anywhere}
.cp-mesa-caducada{text-align:center}
.cp-mesa-caducada p{color:var(--g);margin-bottom:20px}

.cp-mesa-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cp-mesa-modal__caja{width:100%;max-width:560px;padding:clamp(20px,4vw,34px);border:2px solid var(--pelo2);border-radius:20px;background:var(--n1);text-align:center;animation:cp-entra .35s var(--ease)}
.cp-mesa-modal__kicker{font-size:13px;font-weight:700;color:var(--g);margin-bottom:10px}
.cp-mesa-modal__gana{font-family:var(--display);font-size:clamp(44px,8vw,72px);line-height:1;text-transform:uppercase}
.cp-mesa-modal__gana--rojo{color:var(--r);text-shadow:0 0 30px rgba(255,0,0,.6)}
.cp-mesa-modal__gana--azul{color:var(--az);text-shadow:0 0 30px rgba(31,111,255,.6)}
.cp-mesa-modal__nombre{margin-top:10px;font-family:var(--display);font-size:clamp(26px,4vw,36px);line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.cp-mesa-modal__nombre small{display:block;font-family:var(--body);font-size:15px;color:var(--g);text-transform:none;margin-top:4px}
.cp-mesa-modal__metodo{margin-top:12px;font-size:18px;color:var(--g)}
.cp-mesa-modal__metodo b{color:#fff}
.cp-mesa-modal .cp-mesa-nota{margin-top:12px}
.cp-mesa-modal__botones{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:24px}
html.cp-mesa-sin-scroll{overflow:hidden}

.cp-mesa-toast{position:fixed;left:50%;bottom:24px;z-index:100001;max-width:min(92vw,520px);padding:14px 20px;border-radius:12px;background:#fff;color:#000;font-weight:800;font-size:16px;box-shadow:0 20px 50px -10px rgba(0,0,0,.8);transform:translate(-50%,140%);opacity:0;transition:transform .35s var(--ease),opacity .25s;pointer-events:none}
.cp-mesa-toast.es-visible{transform:translate(-50%,0);opacity:1}
.cp-mesa-toast--error{background:var(--r);color:#fff}

@media (max-width:1000px){
	.cp-mesa-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
	.cp-mesa{padding:10px 10px 30px}
	.cp-mesa-caja{margin:16px auto;padding:22px 18px}
	.cp-mesa-duelo{grid-template-columns:1fr;gap:8px}
	.cp-mesa-esq--azul{text-align:left}
	.cp-mesa-vs{justify-self:center;font-size:22px}
	.cp-mesa .cp-mesa-gana{min-height:92px}
	.cp-mesa-modal__botones{grid-template-columns:1fr}
	.cp-mesa .cp-mesa-sup{flex:1 0 130px}
}

/* ═════════════════════════ Animaciones ═════════════════════════ */
@keyframes cp-golpe{0%{opacity:0;transform:translate3d(-40px,0,0) skewX(-12deg)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes cp-pega{0%{opacity:0;transform:rotate(calc(var(--r,0deg) * 3)) translate3d(0,-22px,0) scale(1.4)}100%{opacity:1;transform:rotate(var(--r,0deg))}}
@keyframes cp-entra{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes cp-entra-cartel{from{opacity:0;transform:rotate(8deg) translate3d(30px,10px,0) scale(.94)}to{opacity:1}}
@keyframes cp-late{50%{transform:scale(.55);opacity:.45}}
@keyframes cp-latido{0%{box-shadow:0 0 0 0 rgba(255,0,0,.7)}70%{box-shadow:0 0 0 9px rgba(255,0,0,0)}100%{box-shadow:0 0 0 0 rgba(255,0,0,0)}}
@keyframes cp-neon{0%,46%,54%,100%{text-shadow:0 0 26px rgba(255,0,0,.55),0 0 70px rgba(255,0,0,.25)}50%{text-shadow:0 0 6px rgba(255,0,0,.2)}52%{text-shadow:0 0 34px rgba(255,0,0,.75),0 0 90px rgba(255,0,0,.35)}}
@keyframes cp-haz{0%{opacity:0;transform:translate3d(-40vw,0,0) skewX(-20deg)}15%{opacity:1}55%{opacity:.8}75%,100%{opacity:0;transform:translate3d(120vw,0,0) skewX(-20deg)}}
@keyframes cp-destello{0%{background-position:160% 0}35%,100%{background-position:-60% 0}}
@keyframes cp-resalta{0%{box-shadow:0 0 0 0 rgba(255,0,0,.9)}100%{box-shadow:0 0 0 18px rgba(255,0,0,0)}}
@keyframes cp-sello{0%{opacity:0;transform:translateX(-50%) rotate(-30deg) scale(2)}100%{opacity:1;transform:translateX(-50%) rotate(-6deg) scale(1)}}

@media (prefers-reduced-motion:reduce){
	.cp-pub *,.cp-pub *::before,.cp-pub *::after,.cp-mesa *,.cp-mesa *::before,.cp-mesa *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
	.cp-pub--js .cp-pub-pal,.cp-pub--js .cp-pub-peg,.cp-pub--js .cp-pub-tarjeta,.cp-pub--js .cp-pub-cartel{opacity:1!important;animation:none!important}
	.cp-pub-haz,.cp-pub-banda::after{display:none}
}
