/* ==========================================================
   POZO PÁDEL — Public CSS v2
   Author: Upline
   All visual values driven by CSS custom properties
   injected dynamically from wp_add_inline_style()
========================================================== */

/* ── DEFAULT TOKENS (fallback if no overrides) ── */
.pp-public-wrap {
  --pp-bg:          #f6f7fb;
  --pp-card:        #ffffff;
  --pp-text:        #111827;
  --pp-muted:       #6b7280;
  --pp-line:        #e5e7eb;
  --pp-primary:     #6366f1;
  --pp-pdk:         #4f46e5;
  --pp-grad-start:  #1e1b4b;
  --pp-grad-mid:    #312e81;
  --pp-grad-end:    #4f46e5;
  --pp-success:     #22c55e;
  --pp-danger:      #ef4444;
  --pp-pod1-bg:     #fffbeb;
  --pp-pod1-border: #fde68a;
  --pp-pod2-bg:     #f8fafc;
  --pp-pod2-border: #e2e8f0;
  --pp-pod3-bg:     #fff7ed;
  --pp-pod3-border: #fed7aa;
  --pp-font:        system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --pp-font-base:   14px;
  --pp-font-player: 13px;
  --pp-font-score:  28px;
  --pp-font-title:  22px;
  --pp-radius:      16px;
  --pp-radius-sm:   10px;
  --pp-border-w:    1px;
  --pp-padding:     20px;
  --pp-gap:         12px;
  --pp-shadow:      0 4px 8px rgba(0,0,0,.10);
}

/* ── RESET ── */
.pp-public-wrap, .pp-public-wrap * { box-sizing: border-box; margin: 0; }

/* ── WRAP ── */
.pp-public-wrap {
  font-family: var(--pp-font);
  font-size: var(--pp-font-base);
  color: var(--pp-text);
  border-radius: var(--pp-radius);
  overflow: hidden;
  box-shadow: var(--pp-shadow);
}

/* ════════════════════════════
   HEADER
════════════════════════════ */
.pp-pub-header {
  background: linear-gradient(135deg,
    var(--pp-grad-start) 0%,
    var(--pp-grad-mid)   50%,
    var(--pp-grad-end)   100%);
  padding: 18px var(--pp-padding);
  color: #fff;
}
.pp-pub-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.pp-pub-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pp-pub-icon {
  width: 44px; height: 44px;
  background: rgba(255,255,255,.15);
  border: var(--pp-border-w) solid rgba(255,255,255,.22);
  border-radius: var(--pp-radius-sm);
  display: grid; place-items: center;
  font-size: 22px;
  flex-shrink: 0;
}
.pp-pub-title h2 {
  font-size: var(--pp-font-title);
  font-weight: 900;
  letter-spacing: -.03em;
  color: #fff;
  line-height: 1.2;
}
.pp-pub-meta {
  font-size: 12px;
  color: rgba(255,255,255,.6);
  margin-top: 2px;
}
.pp-pub-controls {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.pp-pub-select {
  background: rgba(255,255,255,.12);
  border: var(--pp-border-w) solid rgba(255,255,255,.25);
  color: #fff;
  border-radius: var(--pp-radius-sm);
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  outline: none;
  cursor: pointer;
}
.pp-pub-select option { background: #1e1b4b; }
.pp-pub-refresh-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.14);
  border: var(--pp-border-w) solid rgba(255,255,255,.24);
  color: #fff;
  border-radius: var(--pp-radius-sm);
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}
.pp-pub-refresh-btn:hover   { background: rgba(255,255,255,.24); }
.pp-pub-refresh-btn:disabled{ opacity: .5; cursor: not-allowed; }

/* ════════════════════════════
   BODY
════════════════════════════ */
.pp-pub-body {
  background: var(--pp-bg);
  padding: var(--pp-padding);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.pp-pub-section-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--pp-text);
  margin-bottom: 12px;
  letter-spacing: -.02em;
}

/* ════════════════════════════
   PODIUM
════════════════════════════ */
.pp-pub-podium {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--pp-gap);
}
@media (max-width: 560px) { .pp-pub-podium { grid-template-columns: 1fr; } }

.pp-pub-pod {
  border-radius: var(--pp-radius);
  padding: 16px 14px;
  text-align: center;
  border: var(--pp-border-w) solid var(--pp-line);
  transition: transform .18s;
}
.pp-pub-pod:hover { transform: translateY(-2px); }
.pp-pub-pod-1 { background: var(--pp-pod1-bg); border-color: var(--pp-pod1-border); }
.pp-pub-pod-2 { background: var(--pp-pod2-bg); border-color: var(--pp-pod2-border); }
.pp-pub-pod-3 { background: var(--pp-pod3-bg); border-color: var(--pp-pod3-border); }
.pp-pub-pod-badge { font-size: 30px; margin-bottom: 8px; line-height: 1; }
.pp-pub-pod-name  { font-size: var(--pp-font-player); font-weight: 900; color: var(--pp-text); margin-bottom: 4px; }
.pp-pub-pod-score { font-size: 12px; color: var(--pp-muted); font-weight: 600; }

/* ════════════════════════════
   COURTS GRID
════════════════════════════ */
.pp-pub-courts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--pp-gap);
}

.pp-pub-court {
  background: var(--pp-card);
  border: var(--pp-border-w) solid var(--pp-line);
  border-radius: var(--pp-radius);
  overflow: hidden;
  box-shadow: var(--pp-shadow);
  transition: box-shadow .18s;
}
.pp-pub-court:hover { box-shadow: 0 6px 18px rgba(0,0,0,.12); }

.pp-pub-court-head {
  background: linear-gradient(to right, var(--pp-primary), var(--pp-pdk));
  color: #fff;
  padding: 9px 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.pp-pub-court-name { font-weight: 800; font-size: var(--pp-font-player); }
.pp-pub-court-winner-badge {
  font-size: 11px;
  background: rgba(255,255,255,.2);
  border-radius: 20px;
  padding: 3px 10px;
  font-weight: 700;
  white-space: nowrap;
}

.pp-pub-court-body {
  padding: 12px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 8px;
  align-items: center;
}
.pp-pub-team-label {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--pp-muted);
  margin-bottom: 4px;
}
.pp-pub-player {
  font-size: var(--pp-font-player);
  font-weight: 700;
  color: var(--pp-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 1px 0;
}
.pp-pub-player::before { content: '▸ '; color: var(--pp-muted); font-size: 9px; }

.pp-pub-score-center { text-align: center; }
.pp-pub-score-num {
  font-size: var(--pp-font-score);
  font-weight: 900;
  color: var(--pp-text);
  line-height: 1;
  display: block;
}
.pp-pub-score-vs {
  font-size: 14px;
  color: var(--pp-line);
  font-weight: 900;
  line-height: 1;
}
.pp-pub-score-lbl {
  font-size: 9px;
  color: var(--pp-muted);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.pp-pub-team-right { text-align: right; }
.pp-pub-team-right .pp-pub-player::before { content: ''; }
.pp-pub-team-right .pp-pub-player::after  { content: ' ◂'; color: var(--pp-muted); font-size: 9px; }
.pp-pub-team-right .pp-pub-team-label { text-align: right; }

/* ════════════════════════════
   TABLE
════════════════════════════ */
.pp-pub-table-wrap {
  border: var(--pp-border-w) solid var(--pp-line);
  border-radius: var(--pp-radius);
  overflow: auto;
}
.pp-pub-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--pp-font-base);
}
.pp-pub-table thead { position: sticky; top: 0; }
.pp-pub-table th {
  background: var(--pp-card);
  border-bottom: calc(var(--pp-border-w) * 2) solid var(--pp-line);
  padding: 9px 11px;
  text-align: left;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--pp-muted);
  white-space: nowrap;
}
.pp-pub-table td {
  padding: 9px 11px;
  border-bottom: var(--pp-border-w) solid var(--pp-line);
  color: var(--pp-text);
}
.pp-pub-table tr:last-child td { border-bottom: 0; }
.pp-pub-table tr:hover td { background: color-mix(in srgb, var(--pp-card) 80%, var(--pp-line)); }

.pp-pub-rank {
  width: 26px; height: 26px;
  border-radius: var(--pp-radius-sm);
  display: grid; place-items: center;
  font-size: 11px; font-weight: 800;
  background: var(--pp-bg);
  color: var(--pp-muted);
  border: var(--pp-border-w) solid var(--pp-line);
}
.pp-pub-rank-1 { background: var(--pp-pod1-bg); border-color: var(--pp-pod1-border); color: #78350f; }
.pp-pub-rank-2 { background: var(--pp-pod2-bg); border-color: var(--pp-pod2-border); color: #334155; }
.pp-pub-rank-3 { background: var(--pp-pod3-bg); border-color: var(--pp-pod3-border); color: #7c2d12; }

.pp-pub-diff-pos  { color: var(--pp-success); font-weight: 700; }
.pp-pub-diff-neg  { color: var(--pp-danger);  font-weight: 700; }
.pp-pub-diff-zero { color: var(--pp-muted); }

/* ════════════════════════════
   RESPONSIVE
════════════════════════════ */
@media (max-width: 640px) {
  .pp-pub-header { padding: 14px; }
  .pp-pub-body   { padding: 14px; gap: 18px; }
  .pp-pub-table th:nth-child(5),
  .pp-pub-table td:nth-child(5),
  .pp-pub-table th:nth-child(6),
  .pp-pub-table td:nth-child(6) { display: none; }
  .pp-pub-court-body { grid-template-columns: 1fr auto 1fr; }
}
@media (max-width: 400px) {
  .pp-pub-podium { grid-template-columns: 1fr; }
  .pp-pub-courts { grid-template-columns: 1fr; }
}
