/* sdílené: tokeny.css */
/* Společné proměnné pro bloky. Tmavé hodnoty dává kit (kit/kit.css), tady je jen to, co kit nemá.
   Světlé hodnoty jsou převzaté z _zdroj\git\aureality-public\site\index.html (:root[data-au-theme="light"]).
   Na živých webech tenhle soubor nahradí kit; slouží ukázce a samostatným zkouškám. */
:root { --au-on-button: #fff; }   /* text na modrém tlačítku; návrh doplnit do kitu jako --ax-on-button */
:root[data-au-theme="light"] {
  --ax-bg:#D7DCE2; --ax-alt:#CBD1D8; --ax-panel:#E6E9ED; --ax-glass:rgba(232,235,239,.92); --ax-line:#AEB6C0;
  --ax-text:#141920; --ax-muted:#4B5563; --ax-link:#1D4ED8; --ax-hi:#1B46C4; --ax-hi-soft:rgba(30,79,216,.18); color-scheme:light;
}

/* Stavové barvy ve světlém motivu (kit má jen tmavé hodnoty; návrh doplnit do kitu). */
:root[data-au-theme="light"] { --ax-good:#0F6B4B; --ax-warn:#7A4E00; --ax-bad:#B3261E; }

/* sdílené: prvky\blok.css */
/* Sdílené drobné prvky webů VER02: obal, kicker, perex, tlačítko, štítek, dělicí linka, přeskočení, fokus a omezený pohyb.
   Výjimka z dohody o selektorech: nejsou to bloky, ale prvky uvnitř bloků, proto třídy s předponou au-. Barvy jen z --ax-*. Vzor: aureality.space. */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ax-bg); color: var(--ax-text); font: 400 16px/1.55 var(--ax-font); -webkit-font-smoothing: antialiased; }
a { color: var(--ax-link); }
:focus-visible { outline: 2px solid var(--ax-hi); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { font-weight: 400; letter-spacing: -.015em; text-wrap: balance; margin: 0 0 12px; }
p { margin: 0 0 12px; }

/* Plocha, která je tmavá i ve světlém motivu (scéna, film, závěrečný panel). Hodnoty jsou tmavá sada kitu. */
.au-tma { --ax-bg: #07090D; --ax-alt: #0E1116; --ax-panel: #151920; --ax-line: #262C36; --ax-text: #F5F7FB; --ax-muted: #A4ADBA; --ax-link: #7FB0FF; --ax-hi: #8DBBFF; --ax-hi-soft: rgba(141, 187, 255, .28); background: #000; color: var(--ax-text); color-scheme: dark; }

.au-skip { position: absolute; left: -999px; top: 8px; background: var(--ax-panel); color: var(--ax-text); padding: 10px 14px; border-radius: 8px; z-index: 100; }
.au-skip:focus { left: 8px; }
.au-wrap { max-width: 1160px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.au-kick { margin: 0 0 14px; font: 500 12px/1.3 var(--ax-mono); text-transform: uppercase; letter-spacing: .14em; color: var(--ax-hi); }
.au-lead { color: var(--ax-muted); max-width: 62ch; font-size: 17px; }
.au-h2 { font-size: clamp(28px, 3.6vw, 42px); line-height: 1.1; }
.au-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border-radius: 10px; font: 500 15px/1.2 var(--ax-font); text-decoration: none; color: var(--ax-text); border: 1px solid var(--ax-line); background: var(--ax-alt); transition: border-color .15s, box-shadow .15s; }
.au-btn:hover { border-color: var(--ax-hi); }
.au-btn.primary { background: var(--ax-button); border-color: var(--ax-button); color: var(--au-on-button, #fff); }
.au-btn.primary:hover { box-shadow: 0 0 0 3px var(--ax-hi-soft); }
.au-chip { display: inline-block; padding: 2px 10px; border: 1px solid var(--ax-line); border-radius: 999px; font: 500 14px/1.4 var(--ax-font); color: var(--ax-muted); white-space: nowrap; }
/* Dělicí linka sekce: půlka neutrální, půlka modrá, stejně jako značka. Jediné místo, kde je dualita vidět mimo logo a plakát. */
.au-predel { position: relative; }
.au-predel::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, var(--ax-line) 50%, var(--ax-hi) 50%); }

/* sdílené: znacka\blok.css */
/* Značka Aureality: malá písmena, půlka slova modrá. Žádný pohyb; otočení „e“ a „a“ z NAPADY.md je nerozhodnuté. Použití: <a data-au-block="znacka" href="/" aria-label="Aureality">aure<i>ality</i></a> */
[data-au-block="znacka"] { font: 500 24px/1 var(--ax-font); letter-spacing: -.01em; color: var(--ax-text); text-decoration: none; }
[data-au-block="znacka"] i { font-style: normal; color: var(--ax-hi); }

/* sdílené: motiv\blok.css */
/* Přepínač tmavý/světlý. Použití: <button data-au-block="motiv" type="button" hidden>…půlkruh…</button>. Tlačítko odkryje až blok.js; bez JS zůstane skryté a platí tmavý motiv. */
[data-au-block="motiv"] { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ax-line); border-radius: 10px; background: var(--ax-alt); color: var(--ax-text); cursor: pointer; transition: border-color .15s; }
[data-au-block="motiv"][hidden] { display: none; }
[data-au-block="motiv"]:hover { border-color: var(--ax-hi); }
[data-au-block="motiv"] svg { width: 18px; height: 18px; }

/* blok: hlavicka-webu */
/* Hlavička konceptů s kitem (.today, .homes): značka, popisek, přepínač jazyka (en/cs), přepínač motivu, tlačítko Globe.
   Vzhled jako hlavička .space. Nelepí se: nahoře je pevná lišta kitu s přepínačem webů. Název stránky bere z data-title-en/cs. */
[data-au-block="hlavicka-webu"] { border-bottom: 1px solid var(--ax-line); }
[data-au-block="hlavicka-webu"] .top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; min-height: 72px; max-width: 1160px; margin: 0 auto; padding: calc(36px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 8px max(16px, env(safe-area-inset-left, 0px)); }
[data-au-block="hlavicka-webu"] .brand { display: flex; align-items: baseline; gap: 14px; margin-right: auto; text-decoration: none; color: var(--ax-text); }
[data-au-block="hlavicka-webu"] .brand [data-au-block="znacka"] { padding: 10px 0; }
[data-au-block="hlavicka-webu"] .brand .sub { color: var(--ax-muted); font-size: 13px; }
@media (max-width: 1000px) { [data-au-block="hlavicka-webu"] .brand .sub { display: none; } }
[data-au-block="hlavicka-webu"] .tright { display: flex; gap: 8px; align-items: center; }
[data-au-block="hlavicka-webu"] .seg { display: inline-flex; gap: 2px; font: 500 12px/1 var(--ax-mono); }
[data-au-block="hlavicka-webu"] .seg button { all: unset; box-sizing: border-box; cursor: pointer; min-width: 44px; min-height: 44px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid transparent; color: var(--ax-muted); }
[data-au-block="hlavicka-webu"] .seg button:hover { color: var(--ax-text); }
[data-au-block="hlavicka-webu"] .seg button[aria-pressed="true"] { color: var(--ax-hi); border-color: var(--ax-hi-soft); }
[data-au-block="hlavicka-webu"] .seg button:focus-visible, [data-au-block="hlavicka-webu"] a:focus-visible { outline: 2px solid var(--ax-hi); outline-offset: 3px; border-radius: 6px; }
@media (max-width: 520px) { [data-au-block="hlavicka-webu"] .au-btn.opt { display: none; } }
[data-au-block="hlavicka-webu"] .skip { position: fixed; z-index: 1000; left: 12px; top: -80px; padding: 12px 16px; border-radius: 10px; background: var(--ax-button); color: var(--au-on-button, #fff); font: 500 15px/1 var(--ax-font); text-decoration: none; }
[data-au-block="hlavicka-webu"] .skip:focus { top: 12px; }
/* jazyk: dvojjazycne stranky skryvaji [lang=cs] v anglictine a naopak (jako na .info) */
[lang="cs"]:not(html), html[data-lang="cs"] [lang="en"]:not(html) { display: none; }
html[data-lang="cs"] [lang="cs"]:not(html) { display: revert; }
/* Lišta webů z kitu má pevně tmavé pozadí; ve světlém motivu ji sladíme (kit se tím nemění, platí jen na konceptech s tímto blokem). */
:root[data-au-theme="light"] .au-sites { background: var(--ax-glass); border-bottom-color: var(--ax-line); }
:root[data-au-theme="light"] .au-sites a:hover { background: rgba(20, 25, 32, .06); }
:root[data-au-theme="light"] .au-sites a[aria-current="page"] { background: var(--ax-hi-soft); }

/* blok: scena */
/* Úvodní scéna: obraz přes celou šířku, text vlevo, dole lišta. Tmavá i ve světlém motivu (třída au-tma na kořeni).
   Obraz: <img class="sc-obraz"> s plakátem, nebo <video class="sc-obraz"> se stejným plakátem; obojí se ořízne stejně (16:9, hlavní motiv vpravo, levých 40 % klidných).
   Pohyb: dráhy a text se jednou objeví při načtení, nic se netočí. Omezený pohyb to vypne v prvky/blok.css. */
[data-au-block="scena"] { position: relative; display: flex; flex-direction: column; min-height: min(calc(100svh - 72px), 720px); overflow: hidden; isolation: isolate; }
[data-au-block="scena"] .sc-obraz { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; z-index: -2; }
[data-au-block="scena"] .sc-draha { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; stroke: #BFD7FF; fill: none; }
[data-au-block="scena"] .sc-draha ellipse { stroke-dasharray: 4000; stroke-dashoffset: 0; animation: sc-kresli 1.8s cubic-bezier(.3, .1, .2, 1) both; }
[data-au-block="scena"] .sc-text { flex: 1; display: flex; align-items: center; width: 100%; padding-top: 48px; padding-bottom: 40px; }
[data-au-block="scena"] .sc-sloupec { max-width: min(500px, 44vw); animation: sc-objev .7s ease-out both; }
[data-au-block="scena"] h1 { font-size: clamp(38px, 4.6vw, 58px); line-height: 1.05; letter-spacing: -.02em; margin-bottom: 18px; }
[data-au-block="scena"] h1 em { font-style: normal; color: var(--ax-hi); }
[data-au-block="scena"] .au-lead { color: #C7CEDA; font-size: 18px; margin: 0; }
[data-au-block="scena"] .sc-tlacitka { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
[data-au-block="scena"] .sc-tlacitka .au-btn:not(.primary) { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .3); }
[data-au-block="scena"] .sc-tlacitka .au-btn:not(.primary):hover { border-color: var(--ax-hi); }
[data-au-block="scena"] .sc-pro { color: #C7CEDA; font-size: 15px; margin: 18px 0 0; }
[data-au-block="scena"] .sc-lista { border-top: 1px solid rgba(191, 215, 255, .18); background: rgba(0, 0, 0, .55); font: 500 12px/1.4 var(--ax-mono); letter-spacing: .05em; color: var(--ax-muted); }
[data-au-block="scena"] .sc-lista-rada { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-top: 13px; padding-bottom: 13px; }
[data-au-block="scena"] .sc-lista ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0; padding: 0; }
[data-au-block="scena"] .sc-lista li::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 8px; border-radius: 50%; background: var(--ax-hi); vertical-align: 2px; }
[data-au-block="scena"] .sc-lista p { margin: 0; }
@keyframes sc-kresli { from { stroke-dashoffset: 4000; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes sc-objev { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 1080px) {
  [data-au-block="scena"] { min-height: 0; }
  [data-au-block="scena"] .sc-obraz { position: static; display: block; height: auto; aspect-ratio: 5 / 4; max-height: 60svh; object-position: 100% 50%; z-index: 0; }
  [data-au-block="scena"] .sc-draha { display: none; }
  [data-au-block="scena"] .sc-text { padding-top: 24px; padding-bottom: 32px; }
  [data-au-block="scena"] .sc-sloupec { max-width: 620px; }
  [data-au-block="scena"] .au-lead { font-size: 17px; }
}
@media (max-width: 560px) { [data-au-block="scena"] .sc-tlacitka .au-btn { flex: 1 1 100%; } }
/* Nízká scéna (třída sc-nizka): úvod stránky s víc obsahem pod sebou (.today, .homes). Stejný plakát, jen nižší, bez lišty měřítek. Soubory plakátu jsou v scena\img, sestavení je kopíruje do konceptu. */
[data-au-block="scena"].sc-nizka { min-height: min(calc(100svh - 160px), 500px); }
[data-au-block="scena"].sc-nizka h1 { font-size: clamp(34px, 4vw, 50px); }
[data-au-block="scena"].sc-nizka .sc-text { padding-top: 40px; padding-bottom: 48px; }
@media (max-width: 1080px) {
  [data-au-block="scena"].sc-nizka .sc-obraz { aspect-ratio: 16 / 9; max-height: 38svh; }
  [data-au-block="scena"].sc-nizka .sc-text { padding-top: 24px; padding-bottom: 28px; }
}

/* blok: sekce-webu */
/* Obsahové sekce konceptů (.today, .homes): nadpis, mřížka karet, kroky, odrážky, časová osa. Jeden vzhled pro novinky, funkce, start a soukromí.
   Otevřenější než dřív: karty jsou jemné, kroky a časová osa jsou bez rámečků. Barvy jen z --ax-*, takže platí i světlý motiv. */
[data-au-block="sekce-webu"] { position: relative; padding: 64px 0 0; scroll-margin-top: 16px; }
[data-au-block="sekce-webu"] .wrap { max-width: 1160px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
[data-au-block="sekce-webu"] h2 { margin: 0 0 24px; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.1; font-weight: 400; letter-spacing: -.015em; text-wrap: balance; scroll-margin-top: 16px; }
[data-au-block="sekce-webu"] a { color: var(--ax-link); }
[data-au-block="sekce-webu"] a:focus-visible { outline: 2px solid var(--ax-hi); outline-offset: 3px; border-radius: 6px; }
[data-au-block="sekce-webu"] .more, [data-au-block="sekce-webu"] .cta { margin-top: 28px; }
/* mřížka karet (funkce) */
[data-au-block="sekce-webu"] .grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; }
[data-au-block="sekce-webu"] .card { background: var(--ax-panel); border: 1px solid var(--ax-line); border-radius: 16px; padding: 22px 24px; min-width: 0; }
[data-au-block="sekce-webu"] .card h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.25; font-weight: 500; letter-spacing: -.01em; }
[data-au-block="sekce-webu"] .card p { margin: 0; color: var(--ax-muted); font-size: 15px; }
/* kroky (start): bez rámečků, číslo nad textem, nahoře linka */
[data-au-block="sekce-webu"] .steps { list-style: none; counter-reset: s; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 28px 32px; }
[data-au-block="sekce-webu"] .steps li { counter-increment: s; border-top: 1px solid var(--ax-line); padding-top: 16px; min-width: 0; }
[data-au-block="sekce-webu"] .steps li::before { content: counter(s, decimal-leading-zero); display: block; margin-bottom: 10px; font: 500 12px/1 var(--ax-mono); letter-spacing: .14em; color: var(--ax-hi); }
[data-au-block="sekce-webu"] .steps b { display: block; font-weight: 500; font-size: 18px; margin-bottom: 6px; }
[data-au-block="sekce-webu"] .steps p { margin: 0; color: var(--ax-muted); font-size: 15px; }
/* odrážky (soukromí) */
[data-au-block="sekce-webu"] ul:not(.grid) { margin: 0; padding-left: 20px; color: var(--ax-muted); max-width: 70ch; display: grid; gap: 10px; }
/* časová osa (novinky): datum vlevo, text bez rámečku, oddělené linkou */
[data-au-block="sekce-webu"] .tl { list-style: none; margin: 0 auto; padding: 0 max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px)); max-width: 1160px; position: relative; box-sizing: border-box; }
[data-au-block="sekce-webu"] .tl::before { content: ""; position: absolute; left: calc(max(16px, env(safe-area-inset-left, 0px)) + 150px); top: 6px; bottom: 6px; width: 1px; background: var(--ax-line); }
[data-au-block="sekce-webu"] .nw { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 28px; padding-bottom: 12px; position: relative; }
[data-au-block="sekce-webu"] .nw::before { content: ""; position: absolute; left: 146px; top: 20px; width: 9px; height: 9px; border-radius: 50%; background: var(--ax-hi); box-shadow: 0 0 0 4px var(--ax-bg); }
[data-au-block="sekce-webu"] .nw-date { font: 500 12.5px/1.4 var(--ax-mono); color: var(--ax-muted); padding-top: 16px; text-align: right; padding-right: 24px; }
[data-au-block="sekce-webu"] .nw-card { margin-left: 4px; padding: 14px 4px 22px 20px; min-width: 0; border-bottom: 1px solid var(--ax-line); }
[data-au-block="sekce-webu"] .nw:last-child .nw-card { border-bottom: 0; }
[data-au-block="sekce-webu"] .nw-card h3 { margin: 0 0 8px; font-size: 21px; line-height: 1.25; font-weight: 500; letter-spacing: -.01em; text-wrap: balance; }
[data-au-block="sekce-webu"] .nw-card p { margin: 0; color: var(--ax-muted); font-size: 15.5px; max-width: 75ch; }
[data-au-block="sekce-webu"] .nw-a { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-top: 6px; padding: 10px 0; font-size: 15px; text-decoration: none; }
[data-au-block="sekce-webu"] .nw-a small { font: 500 11.5px/1 var(--ax-mono); color: var(--ax-muted); }
[data-au-block="sekce-webu"] .nw-a:hover { color: var(--ax-hi); }
@media (max-width: 760px) {
  [data-au-block="sekce-webu"] { padding-top: 48px; }
  [data-au-block="sekce-webu"] .tl::before { left: calc(max(16px, env(safe-area-inset-left, 0px)) + 4px); }
  [data-au-block="sekce-webu"] .nw { grid-template-columns: minmax(0, 1fr); padding-left: 22px; }
  [data-au-block="sekce-webu"] .nw::before { left: 0; top: 18px; }
  [data-au-block="sekce-webu"] .nw-date { text-align: left; padding: 14px 0 0; }
  [data-au-block="sekce-webu"] .nw-card { margin-left: 0; padding-left: 0; }
}

/* blok: paticka-zdroje */
/* Patička konceptů: poznámka o zdrojích a řádek odkazů. Dělicí linka půl na půl jako na .space. */
[data-au-block="paticka-zdroje"] { position: relative; margin-top: 72px; padding: 32px 0 calc(40px + env(safe-area-inset-bottom, 0px)); color: var(--ax-muted); font-size: 14px; }
[data-au-block="paticka-zdroje"]::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, var(--ax-line) 50%, var(--ax-hi) 50%); }
[data-au-block="paticka-zdroje"] .wrap { max-width: 1160px; margin: 0 auto; padding: 0 max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px)); }
[data-au-block="paticka-zdroje"] p { margin: 0 0 10px; max-width: 80ch; }
[data-au-block="paticka-zdroje"] .links { display: flex; flex-wrap: wrap; gap: 0 22px; margin-top: 8px; }
[data-au-block="paticka-zdroje"] .links a { color: var(--ax-muted); text-decoration: none; display: inline-block; padding: 12px 0; }
[data-au-block="paticka-zdroje"] .links a:hover { color: var(--ax-text); }
[data-au-block="paticka-zdroje"] a:focus-visible { outline: 2px solid var(--ax-hi); outline-offset: 3px; border-radius: 6px; }

