/* =====================================================================
   Triconform · směr B „Týden“ · veřejný web (triconform.com)
   ---------------------------------------------------------------------
   Načíst AŽ ZA site.css:  <link rel="stylesheet" href="/assets/rebrand-b.css">
   nebo zkopírovat na konec site.css. HTML stránek se nemění.
   Soubory: /assets/fonts/*.woff2 (+ fonts.css), /assets/brand/*.svg
   Logo: CSS skryje staré inline SVG a vykreslí novou značku jako
   pozadí .brand::before. Text „Triconform“ zůstává v HTML (čtečky),
   zobrazí se jako wordmark „triconform“ v Source Serif 4.
   Kontrasty: jedle/papír 11,0:1 · tlumený text 6,6:1 · signální text 5,7:1
   ===================================================================== */

:root {
  --bg: #F7F5EF;            /* papír */
  --bg-alt: #EFECE3;
  --surface: #FFFFFF;
  --text: #163D33;          /* jedle */
  --text-muted: #3F5E54;
  --border: #CFDCD5;
  --border-strong: #5E7A70;
  --primary: #163D33;
  --primary-hover: #0E2A23;
  --primary-contrast: #F7F5EF;
  --accent-org: #163D33;    /* roviny se liší tvarem a textem, ne barvou */
  --accent-product: #163D33;
  --accent-ai: #163D33;
  --focus: #E2622B;         /* signál – jen výplně a obrysy, nikdy text */
  --warn-bg: #FCEBDD;
  --warn-border: #A2441A;
  --error: #B3261E;
  --ok: #1F6B4A;
  --hero-bg: #F7F5EF;
  --signal: #E2622B;
  --signal-text: #A2441A;
  --mata: #DCEBE3;
  --listi: #8DB8A6;
  --font: 'Public Sans', Arial, Helvetica, sans-serif;
  --font-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --radius: 6px;
  --radius-sm: 4px;
  --shadow: none;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0F1F1A; --bg-alt: #132621; --surface: #16302A;
    --text: #EEF3EF; --text-muted: #B5CBC1; --border: #2C4A40; --border-strong: #7FA394;
    --primary: #DCEBE3; --primary-hover: #FFFFFF; --primary-contrast: #0F1F1A;
    --accent-org: #DCEBE3; --accent-product: #DCEBE3; --accent-ai: #DCEBE3;
    --focus: #F08A5D; --warn-bg: #2E1E14; --warn-border: #F08A5D; --error: #F4A39B; --ok: #8FD1B3;
    --hero-bg: #0F1F1A; --signal: #F08A5D; --signal-text: #F08A5D; --mata: #1D3A32; --listi: #5E8F7C; --shadow: none;
  }
}
:root[data-theme="dark"] {
  --bg: #0F1F1A; --bg-alt: #132621; --surface: #16302A;
  --text: #EEF3EF; --text-muted: #B5CBC1; --border: #2C4A40; --border-strong: #7FA394;
  --primary: #DCEBE3; --primary-hover: #FFFFFF; --primary-contrast: #0F1F1A;
  --accent-org: #DCEBE3; --accent-product: #DCEBE3; --accent-ai: #DCEBE3;
  --focus: #F08A5D; --warn-bg: #2E1E14; --warn-border: #F08A5D; --error: #F4A39B; --ok: #8FD1B3;
  --hero-bg: #0F1F1A; --signal: #F08A5D; --signal-text: #F08A5D; --mata: #1D3A32; --listi: #5E8F7C; --shadow: none;
}

/* ---------- typografie: 5 rolí (48 · 28 · 18 · 15 · 13) ---------- */
body { font-size: 1.125rem; line-height: 1.6; }
h1, h2 { font-family: var(--font-display); font-weight: 700; letter-spacing: -.01em; }
h1 { font-size: clamp(2.25rem, 1.6rem + 2.2vw, 3rem); line-height: 1.1; }
h2 { font-size: clamp(1.5rem, 1.3rem + .8vw, 1.75rem); line-height: 1.2; }
h3, .steps h3 { font-size: 1.125rem; line-height: 1.3; font-weight: 700; }
.lead, .section-intro { font-size: 1.125rem; }
.cta-note, .trust, .btn-sm, .site-nav a, .lang-switch a, .hint, .privacy-note,
.plan-size, .plan-note, .legal-state, .demo-caption, .site-footer, .steps p, thead th, .field-error, .req { font-size: .9375rem; }
.eyebrow, .plane-label, .status, .tags li, .brand small { font-size: .8125rem; }
.plan-big strong { font-family: var(--font-display); font-size: 1.75rem; }
.plan-big { font-size: 1.125rem; }
.prose h2 { font-size: 1.75rem; }
.error-summary h2, .site-footer h2 { font-family: var(--font); font-size: 1rem; }

/* ---------- logo (vrstva 2, A5): obrázek v HTML, světlá a tmavá varianta ---------- */
.brand { padding: 5px 0; }
.brand img { display: block; width: 168px; height: 34px; }
.brand .logo-dark { display: none; }
:root[data-theme="dark"] .brand .logo-light { display: none; }
:root[data-theme="dark"] .brand .logo-dark { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .brand .logo-light { display: none; }
  :root:not([data-theme="light"]) .brand .logo-dark { display: block; }
}
@media (max-width: 22rem) { .brand img { width: 138px; height: 28px; } }

/* ---------- hlavička a navigace ---------- */
.site-header { background: color-mix(in srgb, var(--bg) 94%, transparent); border-bottom: 2px solid var(--text); }
.site-nav a { border-radius: 0; }
.site-nav a[aria-current="page"] { color: var(--text); font-weight: 700; box-shadow: inset 0 -4px 0 var(--signal); }
.site-nav a:hover { background: var(--mata); }

/* ---------- tlačítka ---------- */
.btn { border-radius: var(--radius-sm); font-weight: 700; }
.btn-primary { background: var(--primary); color: var(--primary-contrast); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-hover); box-shadow: inset 0 -4px 0 var(--signal); }
.btn-secondary { color: var(--text); border-color: var(--text); background: var(--surface); }
.btn-secondary:hover { background: var(--mata); color: var(--text); }
.js .nav-toggle, .js .theme-toggle { border-radius: var(--radius-sm); border-color: var(--text); }

/* ---------- úvod: týdenní mřížka (7 sloupců) ---------- */
.hero { background-color: var(--hero-bg);
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--text) 9%, transparent) 1px, transparent 1px);
  background-size: calc(100% / 7) 100%; border-bottom: 2px solid var(--text); }
.eyebrow { color: var(--signal-text); letter-spacing: .08em; }
.trust li::before { border-radius: 0; width: .6rem; height: .6rem; background: var(--signal); }

/* ---------- karty, roviny, kroky ---------- */
.card, .steps > li, .form, .faq details, .table-wrap { border-radius: var(--radius); box-shadow: none; border-color: var(--border); }
.card { border-width: 1px; }
.plane { border-top: 6px solid var(--text); }
.plane-label { color: var(--text); letter-spacing: .08em; }
.steps > li::before { border-radius: var(--radius-sm); background: var(--text); color: var(--bg); }
.timeline > li::before { border-radius: 0; border-color: var(--text); }
.timeline time, .timeline .when { color: var(--signal-text); }
.tags li { border-radius: var(--radius-sm); }
.check-list li::before { color: var(--text); }

/* ---------- ukázka „Tento týden“ a stavy: naléhavost = pruh + slovo ---------- */
.week li { border-radius: var(--radius-sm); border-left: 6px solid var(--listi); background: var(--surface); }
.week li:has(.status-alert) { border-left-color: var(--signal); }
.week li:has(.status-planned) { border-left-color: var(--text); }
.status { border-radius: var(--radius-sm); text-transform: uppercase; letter-spacing: .06em; padding: .15rem .5rem; }
.status-alert { color: var(--signal-text); background: var(--warn-bg); }
.status-now { color: var(--ok); }
.status-planned { color: var(--text); }

/* ---------- poznámky, tabulky, formulář ---------- */
.note { border-radius: var(--radius-sm); border-color: var(--warn-border); }
thead th { background: var(--bg-alt); text-transform: uppercase; letter-spacing: .06em; font-size: .8125rem; }
input[type="text"], input[type="email"], input[type="tel"], select, textarea { border-radius: var(--radius-sm); background: var(--surface); }
.choice input { accent-color: var(--text); }

/* ---------- pás výzvy a patička ---------- */
.cta-band { background: var(--text); color: var(--bg); border-top: 6px solid var(--signal); }
.cta-band .btn-primary { background: var(--bg); color: var(--text); border-color: var(--bg); }
.cta-band .btn-primary:hover { background: #FFFFFF; color: var(--text); }
.cta-band .btn-secondary { background: transparent; color: var(--bg); border-color: var(--bg); }
.site-footer { background: var(--bg-alt); border-top: 2px solid var(--text); }

/* ---------- ceník ---------- */
.plan { border-top: 6px solid var(--text); }
.price-list dd { font-variant-numeric: tabular-nums; }

@media (forced-colors: active) { .brand img { forced-color-adjust: none; } .week li { border-left-color: CanvasText; } }

/* Reference zákazníků (sekce je skrytá, dokud není zapnutá v references.json) */
.ref-list { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.ref-item { margin: 0; padding: 1.25rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.ref-item img { display: block; height: 40px; width: auto; max-width: 100%; margin-bottom: .75rem; }
.ref-name { font-weight: 600; margin: 0 0 .5rem; }
.ref-item blockquote { margin: 0 0 .5rem; font-size: 1.05rem; }
.ref-item figcaption { color: var(--text-muted); font-size: .9rem; }
[data-references][hidden] { display: none; }
