/* StodolaPC PC38 — centralna korekta kolorystyki; bez zmiany geometrii UI.
 * Oparta na portal.css (PC theme), nie zastępuje poprzednich arkuszy.
 * Umiescic ZA portal.css, home-v2.css, PC25-PC27 i PC37.
 * Zachowac oryginalne obrazy, wyroznienia bledow i semantyczne statusy.
 */

/*
 * NAPRAWA ZRODLOWA: --pc-gradient zadeklarowany w :root jest liczony w
 * kontekscie :root, gdzie kolory sa pomaranczowy + zielony. Dziedziczenie
 * gotowego gradientu NIE przelicza go na nowe --pc-accent/--pc-second z body.
 * Ponowne zadeklarowanie na body powoduje wyliczenie w AKTUALNYM motywie.
 * W motywie custom istnieje inline --pc-gradient zawierajacy kat uzytkownika:
 * wlasnosc inline ma wyzszy priorytet i jej NIE nadpisujemy !important.
 */
body[class*="pc-theme-"] {
  --pc-gradient: linear-gradient(118deg, var(--pc-accent), var(--pc-second));
  --pc38-soft: color-mix(in srgb, var(--pc-accent) 12%, transparent);
  --pc38-soft-strong: color-mix(in srgb, var(--pc-accent) 21%, transparent);
  --pc38-edge: color-mix(in srgb, var(--pc-accent) 45%, transparent);
}

/* Wczesniej home-v2.css wyliczal WLASNY gradient (125 stopni), a custom
 * angle byl uwzgledniany tylko warunkowo przez PC37. Jeden wspolny token. */
body.pc2-home[class*="pc-theme-"] {
  --pc2-gradient: var(--pc-gradient);
}

/* Stare strony uzywaja --gold/--gold2 z style.css; zachowujemy jednak
 * oryginalny domyslny motyw Stodola bez globalnej podmiany barw marki. */
body[class*="pc-theme-"]:not(.pc-theme-stodola) {
  --gold: var(--pc-accent);
  --gold2: var(--pc-second);
}

/* Bezpieczenstwo: zmieniamy tylko kolory UZYTKOWYCH kontrolek.
 * Nie modyfikujemy rozmiarow, ukladu, tlach kart, plakatow ani avatarow. */
body[class*="pc-theme-"]:not(.pc-theme-stodola) :is(
  .btn:not(.ghost), .pc2-button:not(.pc2-button-outline)
) {
  background-image: var(--pc-gradient);
  background-color: var(--pc-accent); /* awaryjnie, przy braku CSS gradients */
  border-color: var(--pc38-edge);
  box-shadow: 0 4px 24px var(--pc-glow);
}
body[class*="pc-theme-"]:not(.pc-theme-stodola) :is(
  .btn:not(.ghost), .pc2-button:not(.pc2-button-outline)
):is(:hover,:focus-visible) {
  box-shadow: 0 9px 26px var(--pc-glow);
}

/* Nawigacja, glowny dock wydarzen/aktualizacji, forum, czat: akcenty;
 * zaden przepis na grid, szerokosci, polozenia ani na glowne tla. */
body[class*="pc-theme-"]:not(.pc-theme-stodola) :is(
  .pc25-nav-group[open] > summary,
  .pc25-room-link.is-selected,
  .pc25-dock .pc25-tab-btn.active,
  .pc-v24-vote-form label:has(input:checked)
) {
  background-color: var(--pc38-soft);
  border-color: var(--pc38-edge);
}
body[class*="pc-theme-"]:not(.pc-theme-stodola) :is(
  .pc25-nav-menu, .pc25-emoji-picker,
  .pc25-update-item:hover, .pc2-project:hover,
  .pc-topic-row:hover, .pc-project-forum:hover,
  .pc-v24-widget-actions > *:hover,
  .pc-theme-choice:has(input:checked)
) { border-color: var(--pc38-edge); }

body[class*="pc-theme-"]:not(.pc-theme-stodola) :is(
  .pc25-emoji-toggle, .pc25-room-link.is-selected,
  .pc25-page-trail, .pc2-hero h1 em
) { color: var(--pc-accent); }

/* W starym CSS byly zlotopomaranczowe podswietlenia nawet w motywie Ocean.
 * Usuwamy je jedynie na interaktywnych pozycjach admina i legacy menu. */
body[class*="pc-theme-"]:not(.pc-theme-stodola) .admin-layout > .sidebar a:is(:hover,.active),
body[class*="pc-theme-"]:not(.pc-theme-stodola) .pc25-nav-menu > a:is(:hover,:focus-visible) {
  color: var(--pc-accent);
  background-color: var(--pc38-soft);
}
body[class*="pc-theme-"]:not(.pc-theme-stodola) .pc25-room-link.is-selected,
body[class*="pc-theme-"]:not(.pc-theme-stodola) .pc25-dock .pc25-tab-btn.active {
  border-color: var(--pc38-edge);
}

/* Ta sama otoczka dostepnosci na kazdej stronie. */
body[class*="pc-theme-"] :is(a, button, input, select, textarea, summary):focus-visible {
  outline-color: var(--pc-accent);
}
body[class*="pc-theme-"] :is(input[type=checkbox],input[type=radio]) {
  accent-color: var(--pc-accent);
}

/* Informacje o bledach (czerwien), sukcesie (zielen), ostrzezenia (zolty),
 * wydarzenia TRWA TERAZ i realne grafiki pozostaja nietkniete. */
@media (prefers-reduced-motion: reduce) {
  body[class*="pc-theme-"] :is(.btn,.pc2-button) { transition: none; }
}
