/* Scitipedie — theme (redesign 8/2026).
   Vrstvení: bootstrap → tokens.css (kopie handoff deliverable, needitovat) → theme.css → site.css.
   Tento soubor drží @font-face, doplňkové tokeny, které handoff nedodal, a overrides
   Bootstrap komponent se zkompilovanými literály (tlačítka, accordion, pagination…).
   Barvy berou z tokenů; hex je tu povolen jen u SVG data-URI (var() v nich nefunguje)
   a u odvozených odstínů, vždy s komentářem. */

/* --- Písmo: Plus Jakarta Sans (variable, OFL — static/fonts/plus-jakarta-sans/) ---
   Jen normal řez (italic se nepoužívá, faux-italic prohlížeče stačí). */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/plus-jakarta-sans/plus-jakarta-sans-latin-wght-normal.7660bd9909fb.woff2") format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-wght-normal.341687eeeb6a.woff2") format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* --- Doplňkové tokeny (mezery handoff deliverable) --- */
:root {
  --sc-font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --bs-body-font-size: .875rem;            /* 14px — základ návrhů je 13–14px */
  --bs-secondary: var(--sc-muted);
  --bs-secondary-rgb: 92, 107, 134;        /* = --sc-muted */
  --bs-success-rgb: 23, 138, 86;           /* = --sc-ok */
  --bs-warning-rgb: 169, 122, 20;          /* = --sc-warn */
  --bs-danger-rgb: 197, 58, 49;            /* = --sc-bad */
  --bs-info: var(--sc-accent);
  --bs-info-rgb: 43, 89, 217;              /* = --sc-accent */
  --bs-heading-color: var(--sc-ink);
  --bs-focus-ring-color: rgba(43, 89, 217, .25);  /* = --sc-focus barva */
  /* odvozené linky tintovaných ploch (z artboardů; v handoff tokenech chybí) */
  --sc-accent-line: #d5e2fb;   /* border aktivního chipu na --sc-accent-tint */
  --sc-mint-line: #bfeee5;     /* border mint tlačítek na --sc-mint-tint */
  --sc-ok-line: #bfe3cf;       /* border bloků na --sc-ok-tint (nový projekt z CV) */
  --sc-warn-line: #ecd9ad;     /* border varovných karet a chipů na --sc-warn-tint */
  --sc-bad-line: #f0c4c0;      /* border chybových calloutů na --sc-bad-tint */
  --sc-code-fg: #dce6f5;       /* text ukázek kódu na navy podkladu (--sc-ink) */
  --sc-ok-text: #116b43;       /* text na --sc-ok-tint, kontrast 5.85:1 */
  --sc-warn-text: #8a6410;     /* text na --sc-warn-tint, kontrast 4.95:1 */
  --sc-nav-fg-dim: rgba(255, 255, 255, .55); /* čitelnost na navy sidebaru */
}

/* --- Typografie --- */
h1, .h1 { font-size: 1.625rem; font-weight: 800; letter-spacing: -.02em; }
h2, .h2 { font-size: 1.25rem;  font-weight: 800; letter-spacing: -.02em; }
h3, .h3 { font-size: 1.0625rem; font-weight: 700; letter-spacing: -.015em; }
h4, .h4 { font-size: .9375rem; font-weight: 700; letter-spacing: -.015em; }
h5, .h5 { font-size: .875rem;  font-weight: 700; }
h6, .h6 { font-size: .8125rem; font-weight: 700; }

/* utility dle README: overline štítek a tabulková čísla */
.sc-overline {
  font-size: 12px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--sc-muted);
}
.sc-num, .table td[data-order], .table .text-end { font-variant-numeric: tabular-nums; }

/* --- Tlačítka (BS 5.3 nepřebírá --bs-primary do .btn-* — kompilované --bs-btn-*) --- */
.btn { --bs-btn-font-weight: 600; }
.btn-primary {
  --bs-btn-bg: var(--sc-ink);
  --bs-btn-border-color: var(--sc-ink);
  --bs-btn-hover-bg: var(--sc-ink-2);
  --bs-btn-hover-border-color: var(--sc-ink-2);
  --bs-btn-active-bg: var(--sc-ink-2);
  --bs-btn-active-border-color: var(--sc-ink-2);
  --bs-btn-disabled-bg: var(--sc-ink);
  --bs-btn-disabled-border-color: var(--sc-ink);
}
/* sekundární = bílé tlačítko s jemnou linkou (README: hover border+text --sc-accent).
   btn-info sem patří záměrně: staré šablony ho používají pro „Upravit"/exporty —
   mint dostanou jen skutečné AI akce přes .sc-btn-ai při redesignu obrazovek. */
.btn-secondary, .btn-outline-secondary, .btn-light, .btn-outline-dark, .btn-info {
  --bs-btn-bg: var(--sc-card);
  --bs-btn-color: var(--sc-text);
  --bs-btn-border-color: var(--sc-line-2);
  --bs-btn-hover-bg: var(--sc-card);
  --bs-btn-hover-color: var(--sc-accent);
  --bs-btn-hover-border-color: var(--sc-accent);
  --bs-btn-active-bg: var(--sc-accent-tint);
  --bs-btn-active-color: var(--sc-accent-ink);
  --bs-btn-active-border-color: var(--sc-accent);
  --bs-btn-disabled-bg: var(--sc-card);
  --bs-btn-disabled-color: var(--sc-faint);
  --bs-btn-disabled-border-color: var(--sc-line-2);
}
.btn-outline-primary {
  --bs-btn-color: var(--sc-accent);
  --bs-btn-border-color: var(--sc-line-2);
  --bs-btn-hover-bg: var(--sc-accent);
  --bs-btn-hover-border-color: var(--sc-accent);
  --bs-btn-active-bg: var(--sc-accent);
  --bs-btn-active-border-color: var(--sc-accent);
}
.btn-success {
  --bs-btn-bg: var(--sc-ok-text);
  --bs-btn-border-color: var(--sc-ok-text);
  --bs-btn-hover-bg: #0d5636;             /* tmavší odstín --sc-ok-text pro hover */
  --bs-btn-hover-border-color: #0d5636;
  --bs-btn-active-bg: #0d5636;
  --bs-btn-active-border-color: #0d5636;
}
.btn-danger {
  --bs-btn-bg: var(--sc-bad);
  --bs-btn-border-color: var(--sc-bad);
  --bs-btn-hover-bg: #a52d26;             /* odvozený tmavší odstín --sc-bad */
  --bs-btn-hover-border-color: #a52d26;
  --bs-btn-active-bg: #a52d26;
  --bs-btn-active-border-color: #a52d26;
}
/* AI akce — mint (výhradně AI funkce) */
.sc-btn-ai {
  --bs-btn-bg: var(--sc-mint);
  --bs-btn-color: var(--sc-ink);
  --bs-btn-border-color: var(--sc-mint);
  --bs-btn-hover-bg: #7deede;             /* odvozený tmavší odstín --sc-mint */
  --bs-btn-hover-color: var(--sc-ink);
  --bs-btn-hover-border-color: #7deede;
  --bs-btn-active-bg: #7deede;
  --bs-btn-active-color: var(--sc-ink);
  --bs-btn-active-border-color: #7deede;
  /* neaktivní stav (např. bez nahraného souboru) = mint tint, ne průhledné */
  --bs-btn-disabled-bg: var(--sc-mint-tint);
  --bs-btn-disabled-color: var(--sc-mint-ink);
  --bs-btn-disabled-border-color: var(--sc-mint-line);
  --bs-btn-disabled-opacity: 1;
}

/* --- Formuláře a focus --- */
.form-control, .form-select { border-color: var(--sc-line-2); }
.form-control:focus, .form-select:focus {
  border-color: var(--sc-accent);
  box-shadow: var(--sc-focus);
}
.btn:focus-visible {
  outline: 2px solid var(--sc-accent);
  outline-offset: 2px;
  box-shadow: var(--sc-focus);
}
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--sc-accent);
  outline-offset: 2px;
}
.sc-sidebar :focus-visible, .sc-offcanvas :focus-visible { outline-color: var(--sc-mint); }
.form-check-input:checked { background-color: var(--sc-accent); border-color: var(--sc-accent); }
.form-check-input:focus { border-color: var(--sc-accent); box-shadow: var(--sc-focus); }

/* --- Accordion (chevrony mají barvu zapečenou v SVG data-URI — hex je tu nutný) --- */
.accordion {
  --bs-accordion-border-color: var(--sc-line);
  --bs-accordion-active-bg: var(--sc-accent-tint);
  --bs-accordion-active-color: var(--sc-accent-ink);
  --bs-accordion-btn-focus-box-shadow: var(--sc-focus);
  /* hex #5c6b86 = --sc-muted (povolená výjimka: uvnitř data-URI nejde var()) */
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235c6b86'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  /* hex #1e40a3 = --sc-accent-ink */
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231e40a3'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* --- Další komponenty s literály --- */
.list-group {
  --bs-list-group-active-bg: var(--sc-accent);
  --bs-list-group-active-border-color: var(--sc-accent);
  --bs-list-group-action-hover-bg: var(--sc-head-bg);
}
.pagination {
  --bs-pagination-color: var(--sc-accent);
  --bs-pagination-active-bg: var(--sc-ink);
  --bs-pagination-active-border-color: var(--sc-ink);
  --bs-pagination-focus-box-shadow: var(--sc-focus);
  --bs-pagination-focus-color: var(--sc-accent-ink);
  --bs-pagination-hover-color: var(--sc-accent-ink);
}
.nav-pills { --bs-nav-pills-link-active-bg: var(--sc-ink); }
.nav { --bs-nav-link-color: var(--sc-accent); --bs-nav-link-hover-color: var(--sc-accent-ink); }
.dropdown-menu {
  --bs-dropdown-border-color: var(--sc-line);
  --bs-dropdown-border-radius: var(--sc-r-btn);
  --bs-dropdown-link-active-bg: var(--sc-accent);
  --bs-dropdown-link-hover-bg: var(--sc-head-bg);
  box-shadow: var(--sc-sh-2);
}
.card { --bs-card-border-color: var(--sc-line); box-shadow: var(--sc-sh-1); }
.modal-content { border-color: var(--sc-line); border-radius: var(--sc-r-card); }
.table { --bs-table-border-color: var(--sc-row-line); }
.progress { --bs-progress-bar-bg: var(--sc-accent); }
.badge.text-bg-primary { background-color: var(--sc-accent) !important; }

/* --- Select2 (BS5 theme má natvrdo BS modrou; vendor CSS se načítá až po theme.css,
       proto specificita přes body) --- */
body .select2-container--bootstrap-5 .select2-selection {
  border-color: var(--sc-line-2);
  border-radius: var(--sc-r-btn);
}
body .select2-container--bootstrap-5.select2-container--focus .select2-selection,
body .select2-container--bootstrap-5.select2-container--open .select2-selection {
  border-color: var(--sc-accent);
  box-shadow: var(--sc-focus);
}
body .select2-container--bootstrap-5 .select2-dropdown .select2-results__option--highlighted[aria-selected] {
  background-color: var(--sc-accent);
  color: var(--sc-card);
}
body .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
  background-color: var(--sc-chip-bg);
  border-color: var(--sc-chip-line);
  color: var(--sc-chip-text);
}

/* --- DataTables (BS5 integrace používá BS pagination/formuláře — dědí overrides výše) --- */
body table.dataTable > thead > tr > th { border-bottom-color: var(--sc-line-2); }
/* Široká tabulka scrolluje ve vlastním kontejneru, stránka nikdy horizontálně
   (DataTables 2.x wrapper; mobilní podoby seznamů řeší redesign per obrazovka) */
body div.dt-container { overflow-x: auto; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Flash zprávy (partials/_zpravy.html, nastavení společnosti) — .alert v tokenech místo
   výchozích odstínů Bootstrapu; ikona + text + křížek na jednom řádku. */
.alert {
  --bs-alert-padding-x: 16px; --bs-alert-padding-y: 11px;
  --bs-alert-border-radius: var(--sc-r-btn);
  font-size: 13px; font-weight: 600;
}
.alert-success { --bs-alert-color: var(--sc-ok-text); --bs-alert-bg: var(--sc-ok-tint); --bs-alert-border-color: var(--sc-ok-line); }
.alert-info { --bs-alert-color: var(--sc-accent-ink); --bs-alert-bg: var(--sc-accent-tint); --bs-alert-border-color: var(--sc-accent-line); }
.alert-warning { --bs-alert-color: var(--sc-warn-text); --bs-alert-bg: var(--sc-warn-tint); --bs-alert-border-color: var(--sc-warn-line); }
.alert-danger { --bs-alert-color: var(--sc-bad); --bs-alert-bg: var(--sc-bad-tint); --bs-alert-border-color: var(--sc-bad-line); }
.alert-dismissible .btn-close { padding: 15px 16px; }
