/* ═══════════════════════════════════════════════════════════
   PARTE G · GIMNASIOS — "Aullido Violeta"
   ═══════════════════════════════════════════════════════════ */
.gym-notice{
  background:linear-gradient(160deg,rgba(255,122,26,.12),rgba(176,38,255,.08));
  border:1px solid var(--line2);border-left:3px solid #ff7a1a;border-radius:var(--r-sm);
  padding:13px 16px;margin-bottom:24px;font-size:13.5px;line-height:1.55;color:var(--silver);
}
.gym-region{
  font-family:var(--font-deco);font-size:20px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--white);text-shadow:0 0 16px var(--glow-soft);
  margin:30px 0 14px;display:flex;align-items:center;gap:12px;
}
.gym-region span{font-size:22px}
.gym-region small{font-family:var(--font-num);font-size:12px;color:var(--gold);letter-spacing:1px;margin-left:2px}

.gym-list{display:flex;flex-direction:column;gap:11px}
.gym-divider{
  font-family:var(--font-display);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--amethyst);
  margin:16px 0 4px;display:flex;align-items:center;gap:12px;
}
.gym-divider::before,.gym-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--violet-lo),transparent)}

.gym-card{
  background:linear-gradient(165deg,rgba(26,15,48,.72),rgba(8,4,15,.92));
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .18s,box-shadow .18s;
}
.gym-card.open{border-color:var(--violet-lo);box-shadow:0 0 0 1px var(--glow-soft),0 16px 40px -22px #000}
.gym-head{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;background:none;border:none;text-align:left;color:var(--white);font-family:var(--font-body)}
.gym-medal{
  flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  font-family:var(--font-display);font-weight:800;font-size:17px;color:#fff;
  background:radial-gradient(circle at 50% 35%,var(--tc),rgba(8,4,15,.6));
  box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--tc),0 0 14px -2px var(--tc);text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.gym-tt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.gym-tt b{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.4px}
.gym-tt small{font-size:12px;color:var(--muted)}
.gym-alt{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}
.gym-cap{
  flex-shrink:0;font-family:var(--font-num);font-size:11px;letter-spacing:.5px;text-transform:uppercase;
  color:var(--gold);background:rgba(255,200,60,.10);border:1px solid rgba(255,200,60,.28);
  border-radius:999px;padding:3px 9px;white-space:nowrap;
}
.gym-cap b{font-family:var(--font-num);font-size:13px;color:#ffe08a;margin-left:2px}
.gym-capnote{font-size:12.5px;color:var(--muted);margin:-14px 0 22px;padding-left:2px}
.gym-strat{
  background:linear-gradient(160deg,rgba(176,38,255,.12),rgba(43,224,255,.05));
  border:1px solid var(--line2);border-left:3px solid var(--amethyst);border-radius:var(--r-sm);
  padding:12px 15px;margin:2px 0 6px;font-size:13.5px;line-height:1.6;color:var(--silver);white-space:pre-line;
}
.gym-teamnote{font-size:12px;color:var(--muted);font-style:italic;margin:2px 0 6px;padding-left:2px}
.gym-mega{
  display:inline-block;font-family:var(--font-num);font-size:8.5px;font-weight:800;letter-spacing:.6px;
  background:linear-gradient(135deg,var(--neon),var(--violet-br));color:#fff;
  padding:1px 5px;border-radius:5px;margin-right:4px;vertical-align:middle;text-shadow:0 1px 1px rgba(0,0,0,.4);
}
.gym-mon.is-mega{box-shadow:0 0 0 1px var(--violet-lo),0 0 14px -4px var(--glow)}
.gym-types{display:flex;gap:4px;flex-shrink:0}
.gym-card .g-caret{flex-shrink:0;color:var(--violet-br);font-size:14px;transition:transform .25s;text-shadow:0 0 8px var(--glow)}
.gym-card.open .g-caret{transform:rotate(180deg)}
.gym-head:hover .gym-tt b{text-shadow:0 0 12px var(--glow-soft)}

.gym-body{padding:4px 16px 18px;border-top:1px solid var(--line)}
.gym-body[hidden]{display:none!important}
.gym-h{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--amethyst);margin:16px 0 10px;display:flex;align-items:center;gap:8px}
.gym-h::before{content:"";width:4px;height:13px;border-radius:2px;background:var(--gold-grad);box-shadow:0 0 8px var(--glow)}

.gym-team{display:flex;flex-wrap:wrap;gap:8px}
.gym-mon{
  display:flex;flex-direction:column;align-items:center;gap:2px;width:74px;padding:7px 4px;
  background:var(--ink3);border:1px solid var(--line);border-radius:var(--r-sm);transition:.15s;text-align:center;
}
.gym-mon:hover{border-color:var(--violet);transform:translateY(-2px);box-shadow:0 0 12px -4px var(--glow)}
.gym-mon img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.5))}
.gym-mon small{font-size:10.5px;color:var(--silver);line-height:1.25}
.gym-mon small b{display:block;font-family:var(--font-num);color:var(--gold);font-size:10px}
.gym-mon.miss{justify-content:center;color:var(--dim);font-size:11px;height:auto}

.gym-counters .gc-strong{font-size:12.5px;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}

@media(max-width:560px){
  .gym-head{gap:10px;padding:12px 13px}
  .gym-medal{width:36px;height:36px;font-size:15px}
  .gym-types{display:none}
  .gym-mon{width:64px}.gym-mon img{width:46px;height:46px}
}
@media(prefers-reduced-motion:reduce){.gym-card .g-caret{transition:none}}
.gym-ref{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:none;color:var(--dim);background:var(--ink3);border:1px solid var(--line);padding:2px 8px;border-radius:20px;margin-left:2px}
