/* WS nuLiga – Farben über Variablen anpassbar (Standard: Avada-Palette, sonst TC-Farben). */
.wsn-teams,.wsn-games,.wsn-officials{--wsn-navy:#143d6c;--wsn-ink:#0b1b30;--wsn-ball:#dcf34a;--wsn-clay:#b24f2a;--wsn-soft:#eef2f7;--wsn-line:#e3e8ef;--wsn-muted:#5b6778}
.wsn-teams *,.wsn-games *{box-sizing:border-box}
.wsn-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 36px;padding:12px;background:#fff;border-radius:999px;box-shadow:0 16px 40px rgba(20,61,108,.22);width:max-content;max-width:100%}
.wsn-pill{min-height:44px;padding:0 20px;border-radius:999px;border:2px solid var(--wsn-line);background:#fff;color:var(--wsn-navy);font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.wsn-pill span{opacity:.6;font-weight:600}
.wsn-pill[aria-pressed="true"]{background:var(--wsn-navy);border-color:var(--wsn-navy);color:#fff}
.wsn-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;perspective:1600px}
.wsn-card{position:relative;aspect-ratio:3/4.2;animation:wsn-deal .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--wsn-delay,0ms)}
.wsn-card[hidden]{display:none}
.wsn-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.3,.5,1)}
.wsn-card:not(.is-open):hover .wsn-inner{transform:rotateY(-8deg) rotateX(4deg) translateY(-6px)}
.wsn-card.is-open .wsn-inner{transform:rotateY(180deg)}
.wsn-card.is-open .wsn-front,.wsn-card:not(.is-open) .wsn-back{pointer-events:none}
.wsn-card:not(.is-open) .wsn-back{visibility:hidden;transition:visibility 0s .35s}
.wsn-card.is-open .wsn-front{visibility:hidden;transition:visibility 0s .35s}
.wsn-face{position:absolute;inset:0;border-radius:20px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 40px rgba(20,61,108,.18)}
.wsn-front{background:var(--wsn-navy);color:#fff}
.wsn-g-jugend .wsn-front{background:var(--wsn-ball);color:var(--wsn-ink)}
.wsn-g-senioren .wsn-front{background:var(--wsn-clay)}
.wsn-g-damen .wsn-front{background:#1d5290}
.wsn-hit{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:transparent;cursor:pointer;border-radius:20px}
.wsn-hit:focus-visible,.wsn-close:focus-visible,.wsn-pill:focus-visible{outline:3px solid var(--wsn-ball);outline-offset:3px}
.wsn-court{position:absolute;top:14px;left:50%;transform:translateX(-50%);height:calc(100% - 28px);width:auto;opacity:.3;pointer-events:none}
.wsn-top,.wsn-mid,.wsn-bot{position:relative;display:flex}
.wsn-top{justify-content:space-between;align-items:center}
.wsn-kick{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.wsn-no{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;border:1.5px solid currentColor}
.wsn-mid{flex-direction:column;align-items:center;text-align:center}
.wsn-code{font-family:'Big Shoulders Display',var(--awb-typography1-font-family,inherit),sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;font-size:clamp(56px,6.5vw,100px)}
.wsn-sub{font-size:14px;font-weight:700;margin-top:6px}
.wsn-bot{justify-content:space-between;align-items:flex-end;gap:10px}
.wsn-name{display:block;font-weight:800;font-size:18px;line-height:1.2}
.wsn-league{display:block;font-size:13px;opacity:.85}
.wsn-back{transform:rotateY(180deg);background:#fff;color:var(--wsn-ink);justify-content:flex-start;gap:12px}
.wsn-backhead{display:flex;align-items:center;gap:10px}
.wsn-code-s{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:38px;line-height:1;color:var(--wsn-navy)}
.wsn-g-senioren .wsn-code-s{color:var(--wsn-clay)}
.wsn-close{margin-left:auto;width:44px;height:44px;flex:0 0 44px;border-radius:50%;border:0;background:var(--wsn-soft);font-size:24px;line-height:1;cursor:pointer;color:var(--wsn-ink)}
.wsn-rows{display:block}
.wsn-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--wsn-line);font-size:14px}
.wsn-row span{color:var(--wsn-muted)}
.wsn-row b{text-align:right}
.wsn-link{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;background:var(--wsn-navy);color:#fff !important;font-weight:700;font-size:14px;text-decoration:none}
.wsn-link:hover{background:var(--wsn-clay)}
@keyframes wsn-deal{from{opacity:0;transform:translateY(40px) rotate(-4deg)}to{opacity:1;transform:none}}
@media (max-width:1100px){.wsn-deck{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.wsn-deck{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wsn-face{padding:14px}.wsn-filter{border-radius:24px;width:auto}.wsn-name{font-size:16px}}
@media (prefers-reduced-motion:reduce){.wsn-card{animation:none}.wsn-inner{transition:none}}
/* Spiele */
.wsn-games{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.wsn-game{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 22px;border-radius:18px;background:var(--wsn-soft);margin:0}
.wsn-date{text-align:center;display:flex;flex-direction:column}
.wsn-d{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:40px;line-height:.9;color:var(--wsn-clay)}
.wsn-m{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--wsn-muted)}
.wsn-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.wsn-t{font-weight:800}.wsn-t em{font-style:normal;font-weight:600;color:var(--wsn-muted)}
.wsn-w{font-size:13px;color:var(--wsn-muted)}
.wsn-ha{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wsn-navy)}
.wsn-empty{color:var(--wsn-muted,#5b6778)}
.wsn-stand{font-size:13px;color:inherit;opacity:.8}
.wsn-officials{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.wsn-officials li{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:14px;background:var(--wsn-soft)}
.wsn-officials span{font-size:14px;color:var(--wsn-muted)}
@media (max-width:520px){.wsn-game{grid-template-columns:64px minmax(0,1fr);padding:14px}.wsn-ha{display:none}}
/* Avada-Typografie in den Karten übersteuern */
.wsn-card h3.wsn-name,.fusion-body .wsn-card h3.wsn-name{margin:0!important;padding:0!important;font-family:inherit!important;font-size:18px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;color:inherit!important}
@media (max-width:820px){.fusion-body .wsn-card h3.wsn-name,.wsn-card h3.wsn-name{font-size:16px!important}}
.wsn-code-s{white-space:nowrap}
@media (max-width:820px){.wsn-back{gap:8px}.wsn-row{font-size:12.5px;padding:6px 0}.wsn-code-s{font-size:28px}.wsn-backhead .wsn-name{font-size:14px}.wsn-close{width:36px;height:36px;flex-basis:36px}.wsn-link{min-height:40px;font-size:12.5px;text-align:center;padding:0 8px}}
@media (max-width:820px){.wsn-row{flex-direction:column;gap:0}.wsn-row b{text-align:left}.wsn-pts,.wsn-opt{display:none}.wsn-backhead .wsn-name{display:none}}

.wsn-admin-hint{margin:0 0 10px;padding:10px 14px;border-radius:10px;background:#fff7d6;color:#5c4400;font-size:14px}
.wsn-empty a{font-weight:700}
