/* Seuran jäsensivut ju-jutsu.fi:n ilmeeseen (GeneratePress: tumma läpikuultava tausta,
   vaalea teksti #f0f0f0, keltainen korostus #fefa23, seuran tunnus taustalla).
   Ylikirjoittaa shortcodejen sisäiset vaaleat tyylit (body-etuliite = vahvempi selektori). */
body .vt-hub, body .vt-self, body .vt-mform, body .vt-hal, body .vt-pk, body .vt-mem {
  --sj-card: rgba(10, 10, 10, .84);
  --sj-card2: rgba(255, 255, 255, .05);
  --sj-line: rgba(255, 255, 255, .14);
  --sj-text: #f0f0f0;
  --sj-muted: #b8b8b8;
  --sj-acc: #fefa23;
  color: var(--sj-text);
}
body .vt-hub h1, body .vt-hub h2, body .vt-hub h3, body .vt-self h2, body .vt-self h3,
body .vt-mform h2, body .vt-hal h2, body .vt-hal h3, body .vt-pk h2 { color: var(--sj-text); }

/* Kortit, sirut, statuspalkit (myös inline style="background:…" → !important) */
body .vt-hal .card, body .vt-self .card, body .vt-mform .card, body .vt-hub-card, body .vt-hal .chip,
body .vt-hub .statusbar, body .vt-self .statusbar, body .vt-pk p[style], body .vt-mem {
  background: var(--sj-card) !important; border-color: var(--sj-line) !important; color: var(--sj-text) !important;
}
body .vt-mem { border: 1px solid var(--sj-line); border-radius: 12px; padding: 16px 18px; }
body .vt-hub .statusbar, body .vt-self .statusbar { border-left: 4px solid var(--sj-acc) !important; }
body .vt-hal .card[style*="fffdf3"] { border-color: rgba(254, 250, 35, .45) !important; }
body .vt-hal .pend-row { border-bottom-color: var(--sj-line); }

/* Teksti, linkit */
body .vt-hub .muted, body .vt-self .muted, body .vt-mform .muted, body .vt-hal .muted,
body .vt-hub-card .ds, body .vt-hal th { color: var(--sj-muted) !important; }
body .vt-hal a.name, body .vt-hub-card { color: var(--sj-text) !important; }
body .vt-hal a.name:hover { color: var(--sj-acc) !important; }
body .vt-hub-card:hover { border-color: var(--sj-acc) !important; box-shadow: 0 8px 22px rgba(0, 0, 0, .5); }
body .vt-hub-card .ic { background: rgba(254, 250, 35, .12) !important; }
body .vt-hub-card .go { color: var(--sj-acc) !important; }
body .vt-hub-card.adm .ic { background: rgba(30, 115, 190, .28) !important; }
body .vt-hub-card.adm .go { color: #7cc0ff !important; }
body .vt-hub .sec { color: var(--sj-muted); }
body .vt-hal th, body .vt-hal td { border-bottom-color: var(--sj-line) !important; }
body .vt-hal tr { border-bottom-color: var(--sj-line) !important; }
body .vt-self .pay { border-bottom-color: var(--sj-line) !important; }
body .vt-pk a, body .vt-mem a, body .vt-self a, body .vt-hal td a:not(.btn):not(.name) { color: var(--sj-acc); }

/* Lomakekentät */
body .vt-hal input, body .vt-hal select, body .vt-hal textarea,
body .vt-self input, body .vt-mform input, body .vt-mform select {
  background: #111 !important; color: var(--sj-text) !important; border: 1px solid #444 !important;
}
body .vt-hal input[type=checkbox], body .vt-self input[type=checkbox] { accent-color: var(--sj-acc); }
body .vt-mform label, body .vt-hal label, body .vt-self label { color: var(--sj-text); }

/* Painikkeet */
body .vt-mform button, body .vt-self .btn, body .vt-hal .btn-gold { background: var(--sj-acc) !important; color: #111 !important; }
body .vt-self .btn-b, body .vt-hal .btn-b { background: #1e73be !important; color: #fff !important; }
body .vt-hal .btn-ghost { background: transparent !important; color: var(--sj-text) !important; border: 1px solid var(--sj-line) !important; }
body .vt-hal .btn-ghost:hover { border-color: var(--sj-acc) !important; }
body .vt-hal .btn-del { background: transparent !important; color: #ff9d9d !important; border: 1px solid rgba(255, 120, 120, .45) !important; }

/* Ilmoitukset + tilapillerit */
body .vt-hal .ok, body .vt-self .ok-b, body .vt-mform .ok { background: rgba(46, 125, 50, .28) !important; border-color: rgba(120, 200, 120, .45) !important; color: #d9f7d9 !important; }
body .vt-self .er-b, body .vt-mform .er { background: rgba(179, 45, 46, .3) !important; border-color: rgba(255, 120, 120, .45) !important; color: #ffd9d9 !important; }
body .vt-self .ok, body .vt-hub .pill.ok { color: #9be29b !important; }
body .vt-self .off, body .vt-hub .pill.off { color: #ff9d9d !important; }
body .vt-hub .pill { background: rgba(255, 255, 255, .06) !important; border-color: var(--sj-line) !important; }
body .vt-hal .chip.warn b { color: #ffcc66 !important; }
body .vt-hal .chip.pend b { color: #ff9d9d !important; }
body .vt-hal a.chip.on { border-color: var(--sj-acc) !important; box-shadow: inset 0 0 0 1px var(--sj-acc) !important; }

/* Välilehdet (hallinta) */
body .vt-hal .tabs a { color: var(--sj-text); border-color: var(--sj-line); background: var(--sj-card); }
body .vt-hal .tabs a.on, body .vt-hal .tabs a.on:visited, body .vt-hal .tabs a.on:hover { background: var(--sj-acc) !important; color: #111 !important; border-color: var(--sj-acc) !important; font-weight: 700; }

/* Seuran tunnus yläpalkeissa */
body .vt-hub .hero, body .vt-hal .top { background: #000 !important; border: 1px solid var(--sj-line); }
body .vt-hub .hero .g, body .vt-hal .top h2 .g { color: var(--sj-acc) !important; }
body .vt-hub .hero .nm { color: var(--sj-acc) !important; opacity: .85; }
.sj-crest { display: block; width: 92px; height: 92px; object-fit: cover; border-radius: 50%; float: right; margin: 0 0 8px 16px; }
.vt-hal .top .sj-crest { width: 54px; height: 54px; float: none; margin: 0 14px 0 0; display: inline-block; vertical-align: middle; }
@media (max-width: 520px) { .sj-crest { width: 64px; height: 64px; } }
.vt-hub-card .vis{color:#9a9a9a!important}
body .vt-hub .sj-admin-link{text-align:right;margin:4px 0 0;font-size:.8em}
body .vt-hub .sj-admin-link a{color:#9a9a9a;text-decoration:none;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:4px 12px}
body .vt-hub .sj-admin-link a:hover{color:#fefa23;border-color:#fefa23}
body .vt-hal a:not(.btn):not(.name):not(.chip){color:#fefa23}
body .vt-hal .hint{color:#a9a9a9}
body .vt-hal optgroup{background:#111;color:#fefa23}
body .vt-hal .sj-sum{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
body .vt-hal .sj-chip{font-size:.85em;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
body .vt-hal .sj-chip.ok{color:#9be29b;border-color:rgba(120,200,120,.45)}
body .vt-hal .sj-chip.off{color:#ff9d9d;border-color:rgba(255,120,120,.45)}
body .vt-hal .sj-sec{margin:14px 0 4px;font-size:.8em;letter-spacing:1.5px;text-transform:uppercase;color:#9a9a9a}
body .vt-hal details.sj-fold>summary{cursor:pointer;list-style:none;font-weight:700;color:#fefa23;padding:6px 0}
body .vt-hal details.sj-fold>summary::-webkit-details-marker{display:none}
body .vt-hal details.sj-fold>summary h3{display:inline;margin:0;color:#f0f0f0}
body .vt-hal details.card.sj-fold>summary::after{content:" ▸";color:#fefa23}
body .vt-hal details.card.sj-fold[open]>summary::after{content:" ▾"}
body .vt-hal details.sj-danger>summary h3{color:#ff9d9d}
body .vt-hal .sj-savebar{position:sticky;bottom:0;margin:12px -18px -16px;padding:10px 18px;background:rgba(10,10,10,.95);border-top:1px solid rgba(255,255,255,.12);border-radius:0 0 12px 12px}
body .sj-date-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body .sj-date-wrap .sj-date{flex:1 1 130px;min-width:120px}
body .sj-date-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fefa23;border-radius:20px;padding:6px 12px;font-size:.85em;cursor:pointer}
body .sj-date-btn:hover{border-color:#fefa23}
body input.sj-date.bad{border-color:#ff7b7b!important;box-shadow:0 0 0 1px #ff7b7b}
body .sj-date-msg{flex-basis:100%;font-size:.8em;color:#ff9d9d;min-height:0}
body .sj-date-msg:empty{display:none}
body .vt-mform .sj-date-wrap{margin:4px 0 6px}
body .vt-mform .sj-date-wrap .sj-date{width:auto}
body .vt-hal td .sj-date-wrap .sj-date{min-width:110px;flex-basis:110px}
body .sj-pay .sj-pkgs{display:grid;gap:8px;margin:0 0 12px}
body .sj-pay .sj-pkg{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;cursor:pointer;font-weight:400}
body .sj-pay .sj-pkg:has(input:checked){border-color:#fefa23;background:rgba(254,250,35,.07)}
body .sj-pay .sj-pkg input{width:auto!important;margin-top:4px;accent-color:#fefa23}
body .sj-pay .sj-sum{color:#fefa23;margin-left:6px}
body .sj-pay .sj-bank{display:grid;gap:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px;margin:0 0 8px}
body .sj-pay .sj-bank>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
body .sj-pay .sj-bank .muted{min-width:90px}
body .sj-pay .sj-bank b{font-size:1.05em;letter-spacing:.3px}
body .sj-pay .sj-amount{color:#fefa23;font-size:1.3em!important}
body .sj-copy{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fefa23;border-radius:16px;padding:3px 10px;font-size:.8em;cursor:pointer}
/* Jäsenosion valikko (sj_member_nav) */
body .sj-jasennav{display:flex;flex-wrap:wrap;gap:6px;margin:0 auto 16px;max-width:1100px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(0,0,0,.55)}
body .sj-jasennav a{color:#f0f0f0;text-decoration:none;padding:7px 12px;border-radius:8px;font-size:.92em;white-space:nowrap}
body .sj-jasennav a:hover{background:rgba(255,255,255,.08)}
body .sj-jasennav a.on{background:#fefa23;color:#111;font-weight:700}
body .sj-jasennav a.ulos{margin-left:auto;opacity:.8}
@media print{body .sj-jasennav{display:none}}
/* Tasojen oikeudet -taulukko (sj_hallinta_oikeudet): taulukkona myös puhelimessa, otsikot näkyvissä, 1. sarake paikallaan */
body .vt-hal table.sj-matriisi{min-width:640px}
body .vt-hal table.sj-matriisi th{text-align:center;font-size:.72em;line-height:1.25;vertical-align:bottom;color:var(--sj-text)!important}
body .vt-hal table.sj-matriisi th:first-child,body .vt-hal table.sj-matriisi td:first-child{text-align:left;position:sticky;left:0;background:#151515;z-index:1;min-width:150px;max-width:220px}
body .vt-hal table.sj-matriisi input[type=checkbox]{width:22px!important;height:22px!important;padding:0!important}
body .vt-hal .sj-matriisi-vinkki{display:none}
@media(max-width:640px){
  body .vt-hal table.sj-matriisi thead{display:table-header-group}
  body .vt-hal table.sj-matriisi tr{display:table-row;padding:0;border:0}
  body .vt-hal table.sj-matriisi th,body .vt-hal table.sj-matriisi td{display:table-cell;padding:6px 6px;border-bottom:1px solid var(--sj-line)}
  body .vt-hal table.sj-matriisi td:first-child{font-size:.85em}
  body .vt-hal .sj-matriisi-vinkki{display:block}
}
