/* Pegamento del sitio publico: marcos, hero y ajustes de solo-lectura.
   El look de tarjetas/tablas/bracket viene tal cual del admin (publico-admin.css). */
body.pub{background:#f7f3ea;color:#2b2521;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;}
/* app.myballs.com.mx (la CONSULTA) va en bruma verde, para que se distinga
   de torneos (la inscripcion, en crema). Los dos siguen en la paleta RG:
   verde = consultar, crema/arcilla = inscribirse. Solo cambia el fondo:
   tarjetas, hero y bordes quedan igual. */
body.pub.pub-app{background:#edf1ee;}
.pub-nav{background:#fff;border-bottom:1px solid #e7ddcb;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.pub-nav .logo{font-weight:900;font-size:18px;color:#083b28;letter-spacing:.2px;text-decoration:none;}
.pub-nav .logo span{color:#bc5a34;}
.pub-nav .tag{font-size:12px;color:#8c7e6e;}
.pub-wrap{max-width:1340px;margin:0 auto;padding:18px 16px 30px;}

/* hero como TARJETA verde (mismo lenguaje que el dashboard del admin) */
.pub-hero{background:linear-gradient(135deg,#faf6ee 0%,#f1e9d8 100%);border:1px solid #e7ddcb;border-radius:18px;color:#0b4a34;padding:26px 24px 20px;position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(43,37,33,.08);}
.pub-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border:20px solid rgba(11,74,52,.05);border-radius:50%;pointer-events:none;}
.pub-hero .cod{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e7ddcb;color:#2b2521;border-radius:999px;padding:6px 13px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}.pub-hero .cod iconify-icon{color:#8c7e6e;}
.pub-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;font-weight:700;margin:10px 0 6px;letter-spacing:0;line-height:1.08;}
.pub-hero .meta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;opacity:.96;}
.pub-hero .meta b{color:#bc5a34;}
.pub-contacto{display:flex;gap:8px 12px;flex-wrap:wrap;margin-top:10px;}
.pub-contacto a{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.13);border-radius:999px;padding:6px 13px;font-weight:700;font-size:12px;color:#fff;text-decoration:none;}
.pub-contacto a:hover{background:rgba(255,255,255,.25);color:#fff;}
.pub-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 13px;font-size:11px;font-weight:900;letter-spacing:.5px;margin-top:12px;}
.pub-badge.vivo{background:#bc5a34;}
.pub-badge.vivo .dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:pubP 1.2s infinite;}
.pub-badge.prox{background:rgba(255,255,255,.18);}
.pub-badge.fin{background:rgba(255,255,255,.92);color:#083b28;}
@keyframes pubP{50%{opacity:.35}}

/* tabs y pills con los botones del admin (myballs.css) */
.pub-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px;}
.pub-tabs .btn-myballs-primary,.pub-tabs .btn-myballs-outline{border-radius:999px;padding:8px 18px;font-size:13px;font-weight:800;}
.pub-pills{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin:0 0 14px;padding-bottom:4px;scrollbar-width:none;}
.pub-pills::-webkit-scrollbar{display:none;}
.pub-pills .btn-myballs-primary,.pub-pills .btn-myballs-outline{border-radius:999px;padding:7px 15px;font-size:12px;font-weight:800;white-space:nowrap;}
.pub-pills small{display:block;font-size:9.5px;opacity:.8;font-weight:700;text-align:center;}
.pub-h2{font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px;margin:16px 0 12px;flex-wrap:wrap;color:#2b2521;}
.pub-h2 iconify-icon{color:#0b4a34;font-size:19px;}
.pub-h2 .sub{font-weight:600;color:#8c7e6e;font-size:13px;}
.pub-vacio{background:#fff;border:1.5px dashed #e7ddcb;border-radius:14px;padding:26px;text-align:center;color:#8c7e6e;font-size:14px;}
.pub-vacio-ins{margin-top:18px;padding-top:18px;border-top:1px solid #f1ece1;display:flex;flex-direction:column;align-items:center;gap:9px;}
.pub-vacio-ins .ins-badge{display:inline-flex;align-items:center;gap:6px;background:#eef3ee;color:#0b4a34;border:1px solid #d7e3da;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;}
.pub-vacio-ins .ins-badge .dot{width:7px;height:7px;border-radius:50%;background:#0b4a34;display:inline-block;}
.pub-vacio-ins .ins-txt{font-size:14.5px;color:#2b2521;font-weight:600;}
.pub-vacio-ins .ins-btn{display:inline-flex;align-items:center;gap:8px;background:#bc5a34;color:#fbf7ef;font-weight:800;font-size:14.5px;padding:11px 22px;border-radius:999px;text-decoration:none;box-shadow:0 6px 16px rgba(188,90,52,.25);transition:transform .12s,background .12s;}
.pub-vacio-ins .ins-btn:hover{transform:translateY(-2px);background:#a84f2a;color:#fbf7ef;}
.pub-vacio-ins .ins-btn iconify-icon{font-size:17px;}

/* buscador (mismo espiritu que gr-buscar del admin) */
.pub-buscar{display:flex;gap:8px;margin:0 0 14px;max-width:520px;}
.pub-buscar input{flex:1;border:1.5px solid #e7ddcb;border-radius:999px;padding:9px 16px;font-size:13.5px;background:#fff;outline:none;}
.pub-buscar input:focus{border-color:#0b4a34;}
.pub-hitbar{background:#f7f3ea;border:1.5px solid #bc5a34;border-radius:10px;padding:8px 14px;font-size:12.5px;color:#7a5c00;margin:0 0 14px;display:inline-flex;gap:8px;align-items:center;font-weight:700;}
.pub-hitbar a{color:#083b28;font-weight:900;text-decoration:none;}

/* HOY: rejilla de canchas (tarjetas pgc del admin) en modo lectura */
.pub-courts{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;align-items:start;}
.pub-courts .pgc{margin:0;}
.pubm-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;}
.pubm-h{font-weight:900;color:#083b28;font-size:14.5px;}
.pubm-r{font-size:10px;color:#8c7e6e;font-weight:800;letter-spacing:.4px;text-transform:uppercase;}
.pubm-live{font-size:9px;background:#f0e3d2;color:#9a4526;border-radius:5px;padding:2.5px 8px;font-weight:900;letter-spacing:.5px;animation:pubP 1.4s infinite;}
.pub .gr-match-row{cursor:default;}
.pub .m-nm{display:block;line-height:1.25;white-space:normal;}
.pub .m-side{align-items:flex-start;}
.pub-hit-ring{box-shadow:0 0 0 2px #bc5a34, 0 4px 14px rgba(188,90,52,.28)!important;border-color:#bc5a34!important;background:#faf6ef!important;}

/* CUADROS: columnas del admin SIEMPRE visibles + scroll con puntitos en movil */
.pub .brk-col{display:flex!important;}
.pubw-dots{display:flex;gap:7px;justify-content:center;margin:2px 0 12px;}
.pubw-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#dcd3c3;cursor:pointer;padding:0;transition:all .15s;}
.pubw-dots button.on{background:#0b4a34;transform:scale(1.25);}
.pubw-scroll{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
.pubw-scroll .brk-col{flex:0 0 290px;scroll-snap-align:start;}
@media(min-width:1024px){.pubw-scroll{overflow:visible;flex-wrap:nowrap;}.pubw-scroll .brk-col{flex:1 1 0;min-width:240px;}.pubw-dots{display:none;}}

/* GRUPOS: la cuadricula del admin */
.pub .gr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start;}
.pub .gr-nm-cell .dosl div{line-height:1.2;}

/* RESULTADOS */
.pub-dia-h{font-weight:900;color:#083b28;font-size:13.5px;margin:18px 0 10px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.4px;}
.pub-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;}
.pub-res-grid .gr-match-row{background:#fff;}

.pub-foot{text-align:center;color:#8c7e6e;font-size:12.5px;padding:26px 16px;border-top:1px solid #e7ddcb;margin-top:24px;}
.pub-foot-l1{line-height:1.5;}
.pub-foot-l2{margin-top:5px;font-size:11.5px;opacity:.8;}
.pub-foot b{color:#0b4a34;}
.pub-foot a{color:#bc5a34;text-decoration:none;font-weight:700;}
.pub-foot a:hover{text-decoration:underline;}
@media(min-width:700px){.pub-hero h1{font-size:36px;}}

/* listado de torneos (index) */
.pub-sec-t{font-weight:900;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;color:#8c7e6e;margin:20px 0 10px;display:flex;align-items:center;gap:7px;}
.pub-sec-t iconify-icon{color:#bc5a34;font-size:16px;}
.pub-tcard{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid #e7ddcb;border-radius:16px;padding:15px 18px;margin-bottom:12px;text-decoration:none;color:#2b2521;transition:all .12s;}
.pub-tcard:hover{border-color:#0b4a34;box-shadow:0 8px 22px rgba(11,74,52,.10);transform:translateY(-1px);color:#2b2521;}
.pub-tcard .ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#0b4a34,#083b28);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;}
.pub-tcard.vivo .ic{background:linear-gradient(135deg,#bc5a34,#9a4526);}
.pub-tcard .bd{flex:1;min-width:0;}
.pub-tcard .nom{font-weight:900;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pub-tcard .met{color:#8c7e6e;font-size:12.5px;margin-top:2px;}
.pub-tcard .chev{color:#a99c8b;font-size:18px;}
.pub-mini-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:9.5px;font-weight:900;letter-spacing:.4px;background:#bc5a34;color:#fff;}
.pub-mini-badge .dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:pubP 1.2s infinite;}

/* ================= CUADROS estilo ROLAND GARROS ================= */
/* mapa de rondas */
.rg-map{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;}
.rg-map::-webkit-scrollbar{display:none;}
.rg-mr{flex:0 0 118px;text-decoration:none;}
.rg-mr-t{font-size:10.5px;font-weight:800;color:#a99c8b;text-align:center;margin-bottom:6px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;}
.rg-mr.on .rg-mr-t{color:#083b28;}
.rg-mr-box{background:#fff;border:1.5px solid #e7ddcb;border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;gap:7px;min-height:74px;justify-content:center;transition:all .12s;}
.rg-mr:hover .rg-mr-box{border-color:#0b4a34;}
.rg-mr.on .rg-mr-box{background:linear-gradient(135deg,#0b4a34,#083b28);border-color:#083b28;box-shadow:0 6px 16px rgba(8,59,40,.25);}
.rg-mr-sk{display:flex;flex-direction:column;gap:3px;}
.rg-mr-sk span{height:3px;border-radius:2px;background:#d8dee6;}
.rg-mr.on .rg-mr-sk span{background:rgba(255,255,255,.85);}

/* barra: flechas + titulos de las 3 columnas */
.rg-nav{display:grid;grid-template-columns:44px 1fr 1fr 1fr 44px;align-items:center;gap:14px;margin:8px 0 12px;}
.rg-arrow{width:38px;height:38px;border-radius:50%;background:#0b4a34;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none;box-shadow:0 4px 12px rgba(11,74,52,.28);transition:all .12s;}
.rg-arrow:hover{background:#083b28;color:#fff;transform:scale(1.06);}
.rg-arrow.off{background:#e7ddcb;color:#a99c8b;pointer-events:none;box-shadow:none;}
.rg-ct{justify-self:center;max-width:100%;font-size:13px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;color:#8c7e6e;background:#fff;border:1.5px solid #e7ddcb;border-radius:999px;padding:8px 18px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rg-ct.on{color:#fff;background:linear-gradient(135deg,#0b4a34,#083b28);border-color:#083b28;box-shadow:0 6px 16px rgba(8,59,40,.28);}
.rg-ct:empty{display:none;}

/* rejilla del bracket: 3 columnas alineadas con conectores */
.rg-grid{display:grid;gap:0 34px;align-items:stretch;}
.rg-cell{display:flex;align-items:center;position:relative;padding:7px 0;}
/* stub de salida del alimentador (columna con siguiente) */
.rg-cell.haynext::after{content:"";position:absolute;right:-18px;top:50%;width:18px;border-top:1.5px solid #dcd3c3;}
/* conector de entrada: vertical entre los centros de los 2 alimentadores + stub al centro */
.rg-cell.entra::before{content:"";position:absolute;left:-17px;top:25%;bottom:25%;border-left:1.5px solid #dcd3c3;}
.rg-cell.entra .rg-instub{position:absolute;left:-17px;top:50%;width:17px;border-top:1.5px solid #dcd3c3;}

/* tarjeta de partido RG */
.rg-match{background:#eef1f5;border-radius:10px;overflow:hidden;width:100%;box-shadow:0 1px 3px rgba(43,37,33,.06);}
.rg-match.pub-hit-ring{background:#faf6ef;}
.rg-row{display:flex;align-items:center;gap:9px;padding:9px 12px;min-height:44px;}
.rg-row.win{background:#fff;}
.rg-ava{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#0b4a34,#083b28);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.3px;}
.rg-row.tbd .rg-ava{background:#dcd3c3;}
.rg-nm{flex:1;min-width:0;font-size:13px;color:#6b5f52;font-weight:600;line-height:1.2;}
.rg-nm div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rg-row.win .rg-nm{color:#0f172a;font-weight:800;}
.rg-row.tbd .rg-nm{color:#a99c8b;font-style:italic;font-weight:600;}
.rg-seed{color:#a99c8b;font-weight:700;font-size:11px;}
.rg-chk{color:#0b4a34;font-size:15px;flex-shrink:0;display:flex;}
.rg-sets{display:flex;gap:8px;flex-shrink:0;align-items:baseline;}
.rg-g{font-size:14px;font-weight:800;color:#0f172a;position:relative;line-height:1;}
.rg-g.pierde{color:#a3adba;font-weight:700;font-size:12.5px;}
.rg-g sup{font-size:8.5px;font-weight:800;color:#a99c8b;margin-left:1px;}
.rg-txt{font-size:10px;font-weight:900;color:#9a4526;background:#f0e3d2;border-radius:5px;padding:2px 7px;}
.rg-prog{padding:6px 12px 8px;font-size:10.5px;color:#8c7e6e;display:flex;align-items:center;gap:5px;border-top:1px dashed #dde3ea;}
.rg-prog iconify-icon{color:#bc5a34;font-size:12px;}

/* movil: solo la columna activa */
@media(max-width:900px){
  .rg-nav{grid-template-columns:44px 1fr 44px;}
  .rg-ct.prev,.rg-ct.next{display:none;}
  /* una sola pista al 100%: las celdas de la ronda activa fluyen apiladas */
  .rg-grid{grid-template-columns:1fr!important;gap:0;}
  .rg-cell{grid-column:1!important;grid-row:auto!important;}
  .rg-cell.colprev,.rg-cell.colnext{display:none;}
  .rg-cell::before,.rg-cell::after,.rg-cell .rg-instub{display:none!important;}
  /* canal derecho para los codos del par (patron RG movil) */
  .rg-grid{position:relative;padding-right:20px;}
  .rg-mconn{position:absolute;right:5px;width:11px;border:1.5px solid #dcd3c3;border-left:0;border-radius:0 6px 6px 0;pointer-events:none;}
  .rg-mconn::after{content:"";position:absolute;right:-7px;top:50%;width:7px;border-top:1.5px solid #dcd3c3;}
}

/* logotipo blanco dentro del hero (como el login del admin) */
.pub-hero-logo{height:34px;width:auto;display:block;margin:0 0 14px;}
@media(min-width:700px){.pub-hero-logo{height:40px;}}

/* lista de partidos del jugador buscado (cuadros) */
.pub-hitlist{display:flex;flex-direction:column;gap:8px;margin:-4px 0 16px;max-width:640px;}
.pub-hit-item{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #f0e2b8;border-radius:12px;padding:10px 14px;text-decoration:none;color:#2b2521;transition:all .12s;}
.pub-hit-item:hover{border-color:#bc5a34;box-shadow:0 6px 16px rgba(188,90,52,.18);transform:translateY(-1px);color:#2b2521;}
.pub-hit-item iconify-icon.tr{color:#bc5a34;font-size:17px;flex-shrink:0;}
.pub-hit-item .rd{font-weight:900;font-size:13px;white-space:nowrap;}
.pub-hit-item .det{flex:1;min-width:0;color:#8c7e6e;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pub-hit-item .det b.g{color:#0b4a34;} .pub-hit-item .det b.p{color:#a99c8b;}
.pub-hit-item iconify-icon.go{color:#a99c8b;font-size:15px;flex-shrink:0;}
/* destello al llegar por ancla */
.rg-cell:target .rg-match{box-shadow:0 0 0 2px #bc5a34,0 4px 14px rgba(188,90,52,.28)!important;background:#faf6ef;animation:hitFlash 1s ease-out 2;}
@keyframes hitFlash{50%{box-shadow:0 0 0 5px rgba(188,90,52,.45),0 4px 18px rgba(188,90,52,.35);}}

/* navbar: logo + soporte */
.pub-nav-logo{height:26px;width:auto;display:block;}
.pub-nav .mail{font-size:12.5px;color:#083b28;font-weight:800;text-decoration:none;}
.pub-nav .mail:hover{color:#bc5a34;}
/* las anclas del bracket aterrizan DEBAJO del header pegajoso */
.rg-cell{scroll-margin-top:70px;}

/* selector de dias: fichas de calendario */
.pub-dias{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;scroll-snap-type:x proximity;}
.pub-dias::-webkit-scrollbar{display:none;}
.pub-dia{flex:0 0 auto;scroll-snap-align:start;background:#fff;border:1.5px solid #e7ddcb;border-radius:999px;padding:8px 15px;display:flex;flex-direction:row;align-items:baseline;gap:7px;text-decoration:none;transition:all .13s;position:relative;white-space:nowrap;}
.pub-dia:hover{border-color:#0b4a34;transform:translateY(-2px);box-shadow:0 6px 14px rgba(11,74,52,.12);}
.pub-dia .ds{font-size:10px;font-weight:800;color:#a99c8b;text-transform:uppercase;letter-spacing:.6px;}
.pub-dia .dn{font-size:17px;font-weight:900;color:#2b2521;line-height:1;}
.pub-dia .dm{font-size:10px;font-weight:800;color:#a99c8b;text-transform:uppercase;letter-spacing:.5px;}
.pub-dia .dh{font-size:8.5px;font-weight:900;color:#fff;background:#bc5a34;border-radius:999px;padding:2px 7px;letter-spacing:.6px;align-self:center;}
.pub-dia.on{background:linear-gradient(135deg,#0b4a34,#083b28);border-color:#083b28;box-shadow:0 8px 18px rgba(8,59,40,.30);transform:translateY(-2px);}
.pub-dia.on .ds{color:rgba(255,255,255,.85);}
.pub-dia.on .dn{color:#fff;}
.pub-dia.on .dm{color:rgba(255,255,255,.8);}
.pub-dia.on .dh{background:#e3b78f;color:#7a5a00;}

/* header de cancha (publico): barra FLOTANTE con las 4 esquinas redondeadas */
.pub-courts .pgc{background:transparent;border:0;box-shadow:none;overflow:visible;border-radius:0;}
.pub-courts .pgc-h{border-radius:16px;padding:13px 16px;box-shadow:0 4px 12px rgba(43,37,33,.05);}
.pub-courts .pgc-h.pgc-b0{background:#f4e7dc;border-left-color:#bc5a34;color:#8a3f22;}
.pub-courts .pgc-h.pgc-b0 .n iconify-icon{color:#bc5a34;}
.pub-courts .pgc-h.pgc-b1{background:#dde7e0;border-left-color:#0b4a34;color:#063020;}
.pub-courts .pgc-h.pgc-b1 .n iconify-icon{color:#0b4a34;}
.pub-courts .pgc-h.pgc-b2{background:#f2ead6;border-left-color:#b0823a;color:#7d5b22;}
.pub-courts .pgc-h.pgc-b2 .n iconify-icon{color:#b0823a;}
.pub-courts .pgc-h.pgc-b3{background:#e9ebe1;border-left-color:#6f7d55;color:#4d5838;}
.pub-courts .pgc-h.pgc-b3 .n iconify-icon{color:#6f7d55;}
.pub-courts .pgc-h.pgc-b4{background:#dde8e4;border-left-color:#35695a;color:#234840;}
.pub-courts .pgc-h.pgc-b4 .n iconify-icon{color:#35695a;}
.pub-courts .pgc-b{background:#fff;border:1px solid #e7ddcb;border-radius:16px;margin-top:9px;}
.pub-courts .pgc-h .n{display:flex;align-items:center;gap:9px;font-size:15px;}
.pub-courts .pgc-h .n .pgc-badge{margin-left:2px;}

/* ============ TARJETA DE PARTIDO estilo scorecard ============ */
.scv{background:#fff;border:1px solid #e7ddcb;border-radius:14px;padding:10px 12px 11px;margin-bottom:10px;}
.pub-res-grid .scv{margin-bottom:0;}
.scv.pub-hit-ring{background:#faf6ef;}
.scv-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.scv-meta .h{font-weight:900;color:#083b28;font-size:13.5px;}
.scv-meta .r{font-size:10px;color:#8c7e6e;font-weight:800;letter-spacing:.4px;text-transform:uppercase;}
.scv-body{display:flex;gap:8px;align-items:stretch;}
.scv-names{flex:1;min-width:0;background:#eaeee6;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;}
.scv-p{flex:1;display:flex;align-items:center;gap:9px;padding:7px 11px;position:relative;min-height:38px;}
.scv-p + .scv-p{border-top:1.5px solid #fff;}
.scv-p .nm{font-size:13px;font-weight:700;color:#6b5f52;line-height:1.22;min-width:0;}
.scv-p .nm div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.scv-p.win{background:#dcefe3;}
.scv-p.win::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3.5px;border-radius:3px;background:#0b4a34;}
.scv-p.win .nm{color:#083b28;font-weight:900;}
.scv-p.tbd .nm{color:#a99c8b;font-style:italic;}
.scv-sets{display:flex;gap:3px;flex-shrink:0;}
.scv-set{display:flex;flex-direction:column;gap:3px;width:42px;}
.scv-set .c{flex:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900;color:#fff;min-height:36px;}
.scv-set .c sup{font-size:9px;font-weight:800;margin-left:1px;opacity:.9;}
.scv-set .c.g{background:#0b4a34;}
.scv-set .c.p{background:#9aa7b4;}
.scv-hora{width:64px;border:2px solid #0b4a34;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#083b28;font-size:15px;}
.scv-hora.live{border-color:#bc5a34;background:#f0e3d2;color:#9a4526;animation:pubP 1.4s infinite;}
.scv-hora.tba{border-style:dashed;border-color:#dcd3c3;color:#a99c8b;font-size:18px;}
.scv-txt{width:64px;border-radius:10px;background:#f0e3d2;color:#9a4526;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;letter-spacing:.5px;}
.scv-prog{margin-top:7px;font-size:10.5px;color:#8c7e6e;display:flex;align-items:center;gap:5px;}
.scv-prog iconify-icon{color:#bc5a34;font-size:12px;}
@media(max-width:420px){.scv-set{width:38px;}.scv-set .c{font-size:15.5px;}.scv-hora,.scv-txt{width:56px;}}

.scv-p .chk{margin-left:auto;color:#0b4a34;font-size:19px;flex-shrink:0;display:flex;padding-left:6px;}

/* hero compacto */
.pub-hero.compacto{padding:18px 18px 15px;}
.pub-hero.compacto h1{font-size:24px;margin:9px 0 5px;}
/* subtitulo bajo el nombre del torneo: dice de que va la pagina */
.pub-hero-sub{font-size:13px;font-weight:600;color:#4a4038;opacity:.9;margin:0 0 10px;position:relative;z-index:1;}
@media(min-width:700px){.pub-hero-sub{font-size:14px;}}
.pub-hero.compacto .pub-badge{margin-top:8px;}
@media(min-width:700px){.pub-hero.compacto h1{font-size:32px;}.pub-hero.compacto{padding:22px 24px 18px;}}
/* ficha del torneo */
.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;max-width:820px;}
.fx-card{background:#fff;border:1px solid #e7ddcb;border-radius:16px;padding:16px 18px;}
.fx-h{font-weight:900;font-size:14px;color:#083b28;display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.fx-h iconify-icon{font-size:17px;color:#bc5a34;}
.fx-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #f7f3ea;font-size:13.5px;align-items:flex-start;}
.fx-row:last-child{border-bottom:0;}
.fx-row .l{width:96px;flex-shrink:0;color:#a99c8b;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding-top:2px;}
.fx-row .v{flex:1;color:#2b2521;font-weight:700;}
.fx-row .v div{padding:1px 0;}
.fx-acc{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.fx-acc a{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:800;text-decoration:none;}



/* ===== HEADERS DE CANCHA: ESCALA DE VERDES (cubre prefijos c* y b*) ===== */

/* grupos publico: nombres COMPLETOS sin corte (2 lineas) */
.pub .gr-tabla .gr-nm-txt{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25;}
.pub .gr-tabla .gr-nm-txt div{padding:1px 0;}
.pub .gr-tabla td.l{min-width:172px;}
.pub .gr-bd-line .g sup{font-size:8px;font-weight:800;}
.pub .gr-clasif{background:#fff;border:1px solid #e7ddcb;border-radius:16px;padding:14px 16px;margin-bottom:16px;}
.pub .gr-clasif-h{display:flex;align-items:center;gap:8px;font-weight:900;font-size:14px;color:#2b2521;margin-bottom:11px;}
.pub .gr-clasif-h iconify-icon{color:#bc5a34;font-size:18px;}

/* grupos: aire lateral en la tabla (numeros y chevrones despegados del borde) */
.pub .gr-tabla th:first-child,.pub .gr-tabla td:first-child{padding-left:14px;}
.pub .gr-tabla th:last-child,.pub .gr-tabla td:last-child{padding-right:14px;}

.pub .gr-frow[data-bdtarget]{cursor:pointer;}
.pub .gr-frow[data-bdtarget]:hover td{background:#faf7f0;}
.pub .gr-bd-btn{cursor:pointer;}

/* grupos: que NADA se corte — frame amplio + columnas a dieta + red de seguridad */
.pub .gr-grid{grid-template-columns:repeat(auto-fill,minmax(min(415px,100%),1fr));}
.pub .gr-card-body{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#dcd3c3 transparent;}
.pub .gr-card-body::-webkit-scrollbar{height:5px;}
.pub .gr-card-body::-webkit-scrollbar-track{background:transparent;}
.pub .gr-card-body::-webkit-scrollbar-thumb{background:#dcd3c3;border-radius:999px;}
.pub .gr-card-body::-webkit-scrollbar-thumb:hover{background:#a99c8b;}
.pub .gr-tabla{width:100%;}
.pub .gr-tabla th,.pub .gr-tabla td{padding-left:4px;padding-right:4px;}
.pub .gr-tabla th:first-child,.pub .gr-tabla td:first-child{padding-left:14px;}
.pub .gr-tabla th:last-child,.pub .gr-tabla td:last-child{padding-right:14px;}
.pub .gr-tabla td.l{min-width:148px;}
.pub .gr-bd-line .g{width:20px;flex-shrink:0;}
.pub .gr-bd-line .nm{min-width:0;}

/* ===== JUGADORES: directorio por categoria con breakdown ===== */
.jl{background:#fff;border:1px solid #e7ddcb;border-radius:16px;overflow:hidden;max-width:760px;}
.jl-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #f7f3ea;cursor:pointer;}
.jl-row:hover{background:#faf7f0;}
.jl-row:last-child,.jl-bd:last-child{border-bottom:0;}
.jl-ava{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#0b4a34,#083b28);color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.3px;}
.jl-nm{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:#2b2521;line-height:1.25;}
.jl-nm div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.jl-chips{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.jl-chip{font-size:10px;font-weight:900;letter-spacing:.3px;border-radius:6px;padding:3px 8px;}
.jl-chip.g{background:#eaeee6;color:#083b28;}
.jl-chip.p{background:#f0e3d2;color:#9a4526;}
.jl-chip.n{background:#f7f3ea;color:#a99c8b;}
.jl-bd{border-bottom:1px solid #f7f3ea;background:#faf7f0;padding:10px 16px 12px;}
.jl-ronda{font-size:9.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:#a99c8b;margin-bottom:3px;}
@media(max-width:480px){.jl-chips{display:none;}}

/* grupos: nombres de la pareja APILADOS en renglones (no en columnas flex) */
.pub .gr-tabla .gr-nm-cell{display:block!important;}
.pub .gr-tabla .gr-nm-txt{display:block!important;}
.pub .gr-tabla .gr-nm-txt div{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 0;}
.pub .gr-tabla td.l{min-width:168px;}

/* breakdown: nombres justificados a la IZQUIERDA (digitos siguen a la derecha) */
.pub .gr-bd-line{justify-content:flex-start;text-align:left;}
.pub .gr-bd-line .nm{flex:1;text-align:left;}
.pub .gr-bd-pend{justify-content:flex-start;text-align:left;}

/* etiquetas de ronda (RONDA 1...) como PILDORA */
.pub .gr-ronda-h{display:inline-flex;align-items:center;gap:6px;background:#eaeee6;color:#083b28;border-radius:999px;padding:5px 13px;font-size:10.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;border:0;margin:14px 0 9px;}
.pub .gr-ronda-h iconify-icon{color:#0b4a34;font-size:13px;}


/* pildoras de ronda: colores BRILLANTES y bien diferenciados (r1..r8, ciclan) */
.pub .gr-ronda-h.r1{background:#bc5a34;color:#fff;} .pub .gr-ronda-h.r1 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r2{background:#0b4a34;color:#fff;} .pub .gr-ronda-h.r2 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r3{background:#b0823a;color:#fff;} .pub .gr-ronda-h.r3 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r4{background:#6f7d55;color:#fff;} .pub .gr-ronda-h.r4 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r5{background:#35695a;color:#fff;} .pub .gr-ronda-h.r5 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r6{background:#9a4a2e;color:#fff;} .pub .gr-ronda-h.r6 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r7{background:#8a5568;color:#fff;} .pub .gr-ronda-h.r7 iconify-icon{color:#fff;}
.pub .gr-ronda-h.r8{background:#7d6b38;color:#fff;} .pub .gr-ronda-h.r8 iconify-icon{color:#fff;}

/* segmentacion por color al desplegar (grupos y jugadores) */
.pub .seg{border-left:4px solid transparent;}
.pub .seg .gr-bd-wrap{border-radius:0 8px 8px 0;padding:8px 12px;margin:2px 0;}
.pub .seg1{background:#f4e7dc!important;border-left-color:#bc5a34;}
.pub .seg2{background:#dde7e0!important;border-left-color:#0b4a34;}
.pub .seg3{background:#f2ead6!important;border-left-color:#b0823a;}
.pub .seg4{background:#e9ebe1!important;border-left-color:#6f7d55;}
.pub .seg5{background:#dde8e4!important;border-left-color:#35695a;}
.pub .seg6{background:#f0e1d9!important;border-left-color:#9a4a2e;}
.pub .seg7{background:#ece0e5!important;border-left-color:#8a5568;}
.pub .seg8{background:#ece7d6!important;border-left-color:#7d6b38;}
/* la fila cabecera tambien recibe un puntito de su color al abrir */
.pub .gr-frow[data-idx].abierta td:first-child,.pub .jl-row[data-idx].abierta{position:relative;}

/* titulos de dia (Resultados) como PILDORA grande y colorida */
.pub .pub-dia-h{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;color:#fff;margin:22px 0 12px;}
.pub .pub-dia-h iconify-icon{color:#fff;font-size:17px;}
.pub .pub-dia-h.dia1{background:#bc5a34;}
.pub .pub-dia-h.dia2{background:#0b4a34;}
.pub .pub-dia-h.dia3{background:#b0823a;}
.pub .pub-dia-h.dia4{background:#6f7d55;}
.pub .pub-dia-h.dia5{background:#35695a;}
.pub .pub-dia-h.dia6{background:#9a4a2e;}
.pub .pub-dia-h.dia7{background:#8a5568;}
.pub .pub-dia-h.dia8{background:#7d6b38;}

/* etiqueta categoria/ronda/cancha como PILDORA del color del dia (solo Resultados) */
.pub .scv-meta .r-pill{background:var(--diaCol,#0b4a34);color:#fff;border-radius:999px;padding:3px 11px;letter-spacing:.3px;}

/* ============ DASHBOARD de la Ficha ============ */
.dx-prog{background:#fff;border:1px solid #e7ddcb;border-radius:16px;padding:16px 18px;margin-bottom:14px;}
.dx-prog-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.dx-prog-t{font-weight:900;font-size:14px;color:#083b28;display:flex;align-items:center;gap:8px;}
.dx-prog-t iconify-icon{font-size:18px;}
.dx-prog-n{font-size:13px;color:#8c7e6e;font-weight:700;}
.dx-prog-n b{color:#0b4a34;font-size:15px;}
.dx-bar{height:12px;background:#eef2f7;border-radius:999px;overflow:hidden;}
.dx-bar span{display:block;height:100%;background:linear-gradient(90deg,#0b4a34,#2f6f52);border-radius:999px;transition:width .6s ease;}
/* KPIs */
.dx-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.dx-kpi{background:#fff;border:1px solid #e7ddcb;border-radius:16px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;overflow:hidden;}
.dx-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;}
.dx-kpi iconify-icon{font-size:26px;margin-bottom:3px;}
.dx-kpi .v{font-size:26px;font-weight:900;color:#2b2521;line-height:1;}
.dx-kpi .l{font-size:11px;font-weight:800;color:#a99c8b;text-transform:uppercase;letter-spacing:.4px;text-align:center;}
.dx-kpi.k1::before{background:#bc5a34;} .dx-kpi.k1 iconify-icon{color:#bc5a34;}
.dx-kpi.k2::before{background:#0b4a34;} .dx-kpi.k2 iconify-icon{color:#0b4a34;}
.dx-kpi.k3::before{background:#b0823a;} .dx-kpi.k3 iconify-icon{color:#b0823a;}
.dx-kpi.k4::before{background:#6f7d55;} .dx-kpi.k4 iconify-icon{color:#6f7d55;}
/* grid 2 columnas */
.dx-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.dx-col{display:flex;flex-direction:column;gap:16px;}
.dx-card{background:#fff;border:1px solid #e7ddcb;border-radius:16px;padding:16px 18px;}
.dx-card-h{font-weight:900;font-size:14px;color:#083b28;display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.dx-card-h iconify-icon{font-size:18px;color:#bc5a34;}
.dx-empty{color:#a99c8b;font-size:13px;text-align:center;padding:14px;}
.dx-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:12.5px;font-weight:800;color:#0b4a34;text-decoration:none;}
.dx-link:hover{color:#083b28;}
/* hoy */
.dx-today{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.dx-td{border-radius:12px;padding:12px 8px;text-align:center;}
.dx-td .n{display:block;font-size:24px;font-weight:900;line-height:1;}
.dx-td .l{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin-top:3px;}
.dx-td.live{background:#f0e3d2;color:#9a4526;}
.dx-td.prog{background:#eef4f0;color:#083b28;}
.dx-td.done{background:#f7f3ea;color:#8c7e6e;}
/* proximos */
.dx-next{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f7f3ea;}
.dx-next:last-child{border-bottom:0;}
.dx-next-when{flex-shrink:0;text-align:center;background:#eef4f0;border-radius:10px;padding:6px 10px;min-width:58px;}
.dx-next-when .d{display:block;font-size:10px;font-weight:800;color:#8c7e6e;text-transform:uppercase;}
.dx-next-when .h{display:block;font-size:15px;font-weight:900;color:#083b28;}
.dx-next-who{flex:1;min-width:0;font-size:12.5px;}
.dx-next-who .p{font-weight:700;color:#2b2521;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dx-next-who .vs{font-size:10px;color:#a99c8b;font-weight:800;padding:1px 0;}
.dx-next-court{flex-shrink:0;font-size:10.5px;font-weight:800;color:#0b4a34;background:#edefe7;border-radius:6px;padding:3px 8px;}
/* destacados */
.dx-star{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #f7f3ea;}
.dx-star:last-child{border-bottom:0;}
.dx-star-ico{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#bc5a34,#9a4526);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.dx-star-bd{flex:1;min-width:0;}
.dx-star-bd .who{font-weight:900;font-size:13.5px;color:#2b2521;line-height:1.2;}
.dx-star-bd .meta{font-size:11px;color:#a99c8b;font-weight:700;margin-top:2px;}
@media(max-width:820px){.dx-grid{grid-template-columns:1fr;}.dx-kpis{grid-template-columns:repeat(2,1fr);}}
@media(max-width:400px){.dx-kpis{grid-template-columns:repeat(2,1fr);}.dx-td .n{font-size:20px;}}

/* CTA estelar "busca tu partido" */
.dx-hero-cta{background:linear-gradient(135deg,#0b4a34,#083b28);border-radius:16px;padding:18px 20px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:0 8px 22px rgba(8,59,40,.20);}
.dx-hero-txt .t{color:#fff;font-weight:900;font-size:17px;display:flex;align-items:center;gap:8px;}
.dx-hero-txt .s{color:rgba(255,255,255,.9);font-size:12.5px;margin-top:3px;max-width:360px;}
.dx-hero-form{display:flex;gap:8px;flex:1;min-width:260px;max-width:440px;}
.dx-hero-form input{flex:1;border:0;border-radius:999px;padding:11px 18px;font-size:14px;outline:none;}
.dx-hero-form button{border:0;background:#bc5a34;color:#fff;border-radius:999px;padding:11px 20px;font-weight:900;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.dx-hero-form button:hover{background:#b8860b;}
/* accesos rapidos */
.dx-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;}
.dx-qbtn{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid #e7ddcb;border-radius:14px;padding:14px 16px;text-decoration:none;transition:all .12s;position:relative;overflow:hidden;}
.dx-qbtn::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;}
.dx-qbtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,74,52,.12);border-color:#0b4a34;}
.dx-qbtn iconify-icon{font-size:26px;flex-shrink:0;}
.dx-qbtn span{display:flex;flex-direction:column;min-width:0;}
.dx-qbtn b{font-size:13.5px;color:#2b2521;font-weight:900;line-height:1.2;}
.dx-qbtn small{font-size:11px;color:#a99c8b;font-weight:700;margin-top:1px;}
.dx-qbtn.q1::before{background:#bc5a34;} .dx-qbtn.q1 iconify-icon{color:#bc5a34;}
.dx-qbtn.q2::before{background:#0b4a34;} .dx-qbtn.q2 iconify-icon{color:#0b4a34;}
.dx-qbtn.q3::before{background:#b0823a;} .dx-qbtn.q3 iconify-icon{color:#b0823a;}
.dx-qbtn.q4::before{background:#6f7d55;} .dx-qbtn.q4 iconify-icon{color:#6f7d55;}
@media(max-width:520px){.dx-hero-cta{flex-direction:column;align-items:stretch;}.dx-hero-form{max-width:none;}}

/* ===== v4.31 — Busqueda predictiva del CTA "Busca tu partido" (Ficha) ===== */
.dx-hero-form{position:relative;}
.dx-sug{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:14px;box-shadow:0 16px 38px rgba(43,37,33,.25);z-index:80;max-height:324px;overflow-y:auto;text-align:left;}
.dx-sug[hidden]{display:none!important;}
.dx-sug-i{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f7f3ea;}
.dx-sug-i:last-child{border-bottom:0;}
.dx-sug-i:hover,.dx-sug-i.act{background:#f2f4ec;}
.dx-sug-av{width:32px;height:32px;border-radius:50%;background:#e8f5ee;color:#0b4a34;font-weight:900;font-size:11.5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.3px;}
.dx-sug-tx{display:flex;flex-direction:column;min-width:0;flex:1;}
.dx-sug-n{font-size:13.5px;color:#2b2521;font-weight:700;line-height:1.25;}
.dx-sug-n b{color:#0b4a34;font-weight:900;}
.dx-sug-c{font-size:10.5px;color:#a99c8b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.dx-sug-i iconify-icon{color:#dcd3c3;font-size:16px;flex-shrink:0;}
.dx-sug-empty{padding:16px 14px;font-size:12.5px;color:#8c7e6e;text-align:center;font-weight:600;}
.dx-sug-empty b{color:#9a4526;}
@media(max-width:520px){.dx-sug{max-height:262px;}}

/* ===== v4.34 - Boton PDF publico (Horarios / Cuadros / Grupos) ===== */
.pub-pdf-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;background:#fff;border:1.5px solid #bc5a34;color:#9a4526;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:900;letter-spacing:.4px;text-decoration:none;transition:all .12s;line-height:1;}
.pub-pdf-btn:hover{background:#bc5a34;color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px rgba(188,90,52,.30);}
.pub-pdf-btn iconify-icon{font-size:15px;}

/* ===== v4.35 - Boton "Sembrados" + modal de cabezas de serie ===== */
.pub-seed-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;background:#fff;border:1.5px solid #0b4a34;color:#083b28;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:900;letter-spacing:.4px;text-decoration:none;transition:all .12s;line-height:1;}
.pub-seed-btn:hover{background:#0b4a34;color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px rgba(11,74,52,.28);}
.pub-seed-btn iconify-icon{font-size:15px;color:#bc5a34;}
.pub-seed-btn:hover iconify-icon{color:#e3b78f;}
.pub-h2 .pub-seed-btn ~ .pub-pdf-btn{margin-left:8px;}
.pub-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px;}
.pub-modal[hidden]{display:none!important;}
.pub-modal-velo{position:absolute;inset:0;background:rgba(43,37,33,.55);}
.pub-modal-card{position:relative;background:#fff;border-radius:18px;max-width:430px;width:100%;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.pub-modal-h{background:linear-gradient(135deg,#0b4a34,#083b28);color:#fff;font-weight:900;font-size:15px;padding:14px 18px;display:flex;align-items:center;gap:9px;}
.pub-modal-h iconify-icon{color:#e3b78f;font-size:18px;}
.pub-modal-x{margin-left:auto;cursor:pointer;font-size:22px;line-height:1;opacity:.85;font-weight:700;}
.pub-modal-x:hover{opacity:1;}
.pub-modal-sub{background:#f2f4ec;color:#083b28;font-weight:800;font-size:12px;padding:9px 18px;border-bottom:1px solid #e7ddcb;}
.pub-modal-body{overflow-y:auto;padding:4px 0;}
.pub-seed-row{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid #f7f3ea;}
.pub-seed-row:last-child{border-bottom:0;}
.pub-seed-n{width:30px;height:30px;border-radius:50%;background:#f0e3d2;color:#9a4526;border:1.5px solid #bc5a34;font-weight:900;font-size:12.5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pub-seed-nm{font-size:13.5px;font-weight:800;color:#2b2521;line-height:1.3;min-width:0;}
.pub-seed-nm small{display:block;color:#a99c8b;font-weight:700;font-size:11px;margin-top:1px;}
body.pub-modal-abierta{overflow:hidden;}

/* ===== v4.41 - Cambio de ronda "como pagina": salida/entrada deslizada ===== */
html.rg-out-l .rg-grid{transition:transform .15s ease-in,opacity .15s ease-in;transform:translateX(-42px);opacity:.35;}
html.rg-out-r .rg-grid{transition:transform .15s ease-in,opacity .15s ease-in;transform:translateX(42px);opacity:.35;}
@keyframes rgInL{from{transform:translateX(48px);opacity:.25;}to{transform:none;opacity:1;}}
@keyframes rgInR{from{transform:translateX(-48px);opacity:.25;}to{transform:none;opacity:1;}}
html.rg-in-l .rg-grid{animation:rgInL .22s ease-out;}
html.rg-in-r .rg-grid{animation:rgInR .22s ease-out;}


/* ===== Carrusel de patrocinadores (landing y consulta) ===== */
.pub-patro{margin-top:20px;background:#fcfaf3;border:1px solid #e7ddcb;border-radius:18px;padding:24px 0 28px;overflow:hidden;}
.pub-patro-t{text-align:center;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#8c7e6e;margin-bottom:18px;}
/* La pista lleva DOS sets identicos. Cada set incluye su propia separacion
   final (el gap va como margin en cada logo), asi -50% cae exacto y el
   bucle no deja hueco. */
.pub-patro-pista{display:flex;width:max-content;animation:pubPatroRueda 34s linear infinite;}
.pub-patro:hover .pub-patro-pista{animation-play-state:paused;}
.pub-patro-set{display:flex;align-items:center;flex-shrink:0;}
.pub-patro-set > *{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:64px;}
.pub-patro-set img{height:96px;width:auto;max-width:240px;object-fit:contain;transition:transform .2s;}
.pub-patro-set a:hover img,.pub-patro-set span:hover img{transform:scale(1.07);}
@keyframes pubPatroRueda{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* Si son pocos, no tiene caso moverlos: se centran y ya. */
.pub-patro.quieto .pub-patro-pista{animation:none;width:100%;justify-content:center;}
.pub-patro.quieto .pub-patro-set{flex-wrap:wrap;justify-content:center;width:100%;}
.pub-patro.quieto .pub-patro-set > *{margin:0 28px;}
@media(prefers-reduced-motion:reduce){.pub-patro-pista{animation:none!important;width:100%;justify-content:center;}.pub-patro-set{flex-wrap:wrap;justify-content:center;}}
@media(max-width:600px){.pub-patro-set img{height:70px;max-width:180px;}.pub-patro-set > *{margin-right:44px;}}
