/* ankorith.css — společný vzhled stránek Ankorith (2. 10. 2026; design system 4. 10. 2026).
   Světlé barvy výchozí, tmavé automaticky podle systému návštěvníka. Písma jsou u nás (GDPR —
   nic se nenačítá od třetích stran): Inter (text) a Source Serif 4 (nadpisy), obojí SIL OFL. */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/inter-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/inter-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/inter-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/inter-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("/fonts/inter-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("/fonts/inter-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/source-serif-4-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/source-serif-4-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ══ DESIGN SYSTEM (4. 10. 2026, UX přestavba) ═══════════════════════════════════════════
   Jedna sada tokenů pro celý web i konzoli: mezery (4-8-12-16-24-32-48-64-96), velikosti
   písma, zaoblení, jemné stíny. Barvy jsou původní paleta Ankorith (bronz + tyrkys),
   světlá výchozí, tmavá podle systému návštěvníka. Žádné externí zdroje. */

/* ── světlé (výchozí) ── */
:root {
  --bg: #F7F6F2; --card: #FFFFFF; --card2: #F1EFE9; --line: #E2DED4; --line2: #D5D0C4; --ink: #15171C; --muted: #5F6672;
  --acc: #85590C; --acc-ink: #FFFFFF; --acc-soft: rgba(133, 89, 12, .08); --acc-line: rgba(133, 89, 12, .28);
  --tyrk: #0B6E7A; --tyrk-soft: rgba(11, 110, 122, .08);
  --ok: #1E7F4F; --ok-soft: rgba(30, 127, 79, .1); --warn: #A3570F; --bad: #B4322A; --bad-soft: rgba(180, 50, 42, .08);
  --text: #2A2E36; --kod: #F1EFE9; --kodtext: #1F2430; --pole: #FFFFFF; --hover: #EFECE5;
  --hlava-bg: rgba(247, 246, 242, .82);
  --code-bg: #12161E; --code-ink: #DCE3EE; --code-line: #232B38;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;
  --r1: 6px; --r2: 8px; --r3: 12px; --r4: 16px; --r5: 22px;
  --sh1: 0 1px 2px rgba(20, 22, 28, .05);
  --sh2: 0 1px 2px rgba(20, 22, 28, .04), 0 2px 8px -2px rgba(20, 22, 28, .07);
  --sh3: 0 2px 4px rgba(20, 22, 28, .04), 0 16px 40px -12px rgba(20, 22, 28, .16);
  --fs-xs: 12.5px; --fs-sm: 14px; --fs-md: 15px; --fs-base: 16px; --fs-lg: 18px; --fs-xl: 22px;
  --fs-2xl: clamp(26px, 3.2vw, 36px); --fs-3xl: clamp(36px, 5.4vw, 60px);
  --max: 1200px; --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0B0E14; --card: #131821; --card2: #171D28; --line: #252D3A; --line2: #2E3746; --ink: #EEF1F6; --muted: #8C95A5;
    --acc: #E0A640; --acc-ink: #14100A; --acc-soft: rgba(224, 166, 64, .1); --acc-line: rgba(224, 166, 64, .35);
    --tyrk: #3FC6D4; --tyrk-soft: rgba(63, 198, 212, .1);
    --ok: #4FC28A; --ok-soft: rgba(79, 194, 138, .12); --warn: #E39A45; --bad: #F06A5E; --bad-soft: rgba(240, 106, 94, .1);
    --text: #D3D9E3; --kod: #0A0D12; --kodtext: #DCE3EE; --pole: #0F141C; --hover: #1A2130;
    --hlava-bg: rgba(11, 14, 20, .8);
    --code-bg: #080B10; --code-ink: #DCE3EE; --code-line: #1E2632;
    --sh1: 0 1px 2px rgba(0, 0, 0, .3);
    --sh2: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 10px -2px rgba(0, 0, 0, .4);
    --sh3: 0 2px 6px rgba(0, 0, 0, .3), 0 20px 48px -12px rgba(0, 0, 0, .6);
    color-scheme: dark;
  }
}

html, body { font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { background: var(--bg) !important; color: var(--ink); }
h1, h2 { font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
h3, h4 { color: var(--ink); }
p, li, td { color: var(--text); }
pre { background: var(--kod) !important; color: var(--kodtext) !important; }
code { color: var(--tyrk); }
blockquote { background: var(--card) !important; color: var(--ink) !important; }
a { color: var(--tyrk); text-underline-offset: 2px; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--tyrk); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--acc-soft); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--ink); color: var(--bg) !important; padding: 10px 14px; border-radius: var(--r2); font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }

/* ── tlačítka ── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: var(--r2);
  font: 600 14.5px/1.2 "Inter", system-ui, sans-serif; text-decoration: none !important; border: 1px solid transparent; cursor: pointer;
  white-space: nowrap; transition: background-color .15s, border-color .15s, box-shadow .15s, color .15s; -webkit-tap-highlight-color: transparent; }
.btn svg { width: 16px; height: 16px; flex: 0 0 16px; }
.btn-primary { background: var(--acc); color: var(--acc-ink) !important; box-shadow: var(--sh1), inset 0 1px 0 rgba(255, 255, 255, .12); }
.btn-primary:hover { background: color-mix(in srgb, var(--acc) 88%, var(--ink)); }
.btn-secondary { background: var(--card); color: var(--ink) !important; border-color: var(--line2); box-shadow: var(--sh1); }
.btn-secondary:hover { background: var(--hover); }
.btn-ghost { background: transparent; color: var(--ink) !important; }
.btn-ghost:hover { background: var(--hover); }
.btn-danger { background: transparent; color: var(--bad) !important; border-color: color-mix(in srgb, var(--bad) 40%, transparent); }
.btn-danger:hover { background: var(--bad-soft); }
.btn-lg { min-height: 48px; padding: 0 22px; font-size: 16px; border-radius: var(--r3); }
.btn-sm { min-height: 32px; padding: 0 12px; font-size: 13.5px; }
.btn-block { width: 100%; }
.btn[disabled], .btn:disabled { opacity: .5; cursor: default; }

.badge { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px; border-radius: 999px; font: 600 12px/1.6 "Inter", sans-serif;
  border: 1px solid var(--line); color: var(--muted); background: var(--card2); white-space: nowrap; }
.badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .9; }
.badge.plain::before { display: none; }
.badge-ok { color: var(--ok); background: var(--ok-soft); border-color: transparent; }
.badge-acc { color: var(--acc); background: var(--acc-soft); border-color: transparent; }
.badge-warn { color: var(--warn); background: color-mix(in srgb, var(--warn) 10%, transparent); border-color: transparent; }
.badge-bad { color: var(--bad); background: var(--bad-soft); border-color: transparent; }

/* ── logo (4. 10. 2026, majitel zvolil návrh D3 „skutečný vír“): znak víru + slovní značka ── */
.logo { font: 600 21px/1 "Source Serif 4", Georgia, serif !important; letter-spacing: -.005em; text-transform: none; color: var(--ink) !important;
  text-decoration: none !important; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.logo::before { content: ""; width: 26px; height: 26px; flex: 0 0 26px; background: var(--acc);
  -webkit-mask: url(/seal/logo-mark.svg) center / contain no-repeat; mask: url(/seal/logo-mark.svg) center / contain no-repeat; }
.logo-mark { width: 24px; height: 24px; flex: 0 0 24px; }

/* ── hlavička webu ── */
header.site { position: sticky; top: 0; z-index: 50; background: var(--hlava-bg); border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); }
.site-in { max-width: var(--max); margin: 0 auto; padding: 0 24px; height: 64px; display: flex; align-items: center; gap: 28px; }
.site-nav { display: flex; align-items: center; gap: 2px; flex: 1; }
.site-nav a { color: var(--muted); text-decoration: none; font: 500 14.5px/1 "Inter", sans-serif; padding: 9px 12px; border-radius: var(--r2); transition: color .15s, background-color .15s; }
.site-nav a:hover { color: var(--ink); background: var(--hover); }
.site-nav a[aria-current="page"] { color: var(--ink); font-weight: 600; }
.site-akce { display: flex; align-items: center; gap: 8px; }
.mnav { display: none; margin-left: auto; position: relative; }
.mnav > summary { list-style: none; cursor: pointer; width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--r2); border: 1px solid var(--line2); background: var(--card); color: var(--ink); }
.mnav > summary::-webkit-details-marker { display: none; }
.mnav > summary svg { width: 20px; height: 20px; }
.mnav[open] > summary { background: var(--hover); }
.mnav-panel { position: fixed; left: 0; right: 0; top: 64px; background: var(--card); border-bottom: 1px solid var(--line); box-shadow: var(--sh3);
  padding: 12px 16px 20px; display: grid; gap: 2px; max-height: calc(100vh - 64px); overflow: auto; }
.mnav-panel a:not(.btn) { color: var(--ink); text-decoration: none; padding: 12px 8px; border-radius: var(--r2); font-weight: 500; }
.mnav-panel a:not(.btn):hover { background: var(--hover); }
.mnav-panel .mnav-akce { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
@media (max-width: 920px) {
  .site-nav, .site-akce { display: none; }
  .mnav { display: block; }
  .site-in { padding: 0 16px; }
}

/* ── patička ── */
footer.site-foot { border-top: 1px solid var(--line) !important; background: var(--card); margin: 0 !important; padding: 56px max(24px, calc((100% - var(--max)) / 2 + 24px)) 32px !important;
  display: flex !important; flex-wrap: wrap; gap: 8px 24px !important; font-size: 13.5px !important; color: var(--muted); }
footer.site-foot .foot-grid { flex-basis: 100%; display: grid; grid-template-columns: 1.5fr repeat(5, minmax(0, 1fr)); gap: 32px; padding-bottom: 32px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
footer.site-foot .foot-brand p { color: var(--muted); font-size: 14px; max-width: 30ch; margin: 14px 0 0; line-height: 1.55; }
footer.site-foot h4 { margin: 0 0 12px; font: 600 13px/1.3 "Inter", sans-serif; color: var(--ink); }
footer.site-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
footer.site-foot li { margin: 0; }
footer.site-foot a { color: var(--muted) !important; text-decoration: none; display: inline-block; padding: 5px 0 !important; font-size: 14px; }
footer.site-foot a:hover { color: var(--ink) !important; }
footer.site-foot > span { font-size: 13px; color: var(--muted); line-height: 1.6; }
@media (max-width: 860px) { footer.site-foot .foot-grid { grid-template-columns: 1fr 1fr; gap: 24px; } footer.site-foot .foot-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { footer.site-foot { padding: 40px 16px 28px !important; } }

/* ── obsahové stránky (technologie, pilot, právní texty, API, článek) ── */
body.web > main { max-width: 820px !important; padding: 56px 24px 88px !important; gap: 16px !important; }
body.web > main > h1:first-of-type, body.web > main > header h1 { font-size: clamp(32px, 4.4vw, 46px) !important; line-height: 1.12 !important; letter-spacing: -.02em; margin-top: 4px !important; }
body.web > main h2 { font-size: clamp(21px, 2.4vw, 25px) !important; margin-top: 32px !important; }
body.web > main table { font-size: 14.5px; }
body.web > main th { font-size: 12px !important; }
body.web .eyebrow { margin-bottom: -4px; }
@media (max-width: 520px) { body.web > main { padding: 36px 16px 64px !important; } }

.eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 600 13px/1.4 "Inter", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--acc); }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
@media (max-width: 520px) { .wrap { padding: 0 16px; } }

/* ── prodejní stránky: sekce ── */
.sec { padding: 96px 0; }
.sec-alt { background: var(--card); border-block: 1px solid var(--line); }
.sec-head { max-width: 720px; margin: 0 0 48px; display: grid; gap: 14px; }
.sec-head.center { margin-inline: auto; text-align: center; justify-items: center; }
.sec-head h2 { margin: 0; font-size: var(--fs-2xl); line-height: 1.15; }
.sec-head p { margin: 0; font-size: 17.5px; line-height: 1.6; color: var(--muted); }
@media (max-width: 720px) { .sec { padding: 64px 0; } .sec-head { margin-bottom: 32px; } }

.hero { padding: 72px 0 80px; position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: -40% -10% auto auto; width: 900px; height: 700px; pointer-events: none;
  background: radial-gradient(closest-side, var(--acc-soft), transparent 70%); }
.hero-in { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 56px; align-items: start; }
.hero h1 { margin: 18px 0 0; font-size: var(--fs-3xl); line-height: 1.04; letter-spacing: -.028em; }
.hero .lead { margin: 22px 0 0; font-size: 19px; line-height: 1.6; color: var(--text); max-width: 34em; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-fakta { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 10px; }
.hero-fakta li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--text); }
.hero-fakta svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--ok); margin-top: 3px; }
@media (max-width: 980px) { .hero-in { grid-template-columns: minmax(0, 1fr); gap: 40px; } .hero { padding: 48px 0 56px; } }
@media (max-width: 520px) { .hero .lead { font-size: 17px; } .hero-cta .btn { flex: 1 1 100%; } }

.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .grid3, .grid2 { grid-template-columns: minmax(0, 1fr); } }

.feat { background: var(--card); border: 1px solid var(--line); border-radius: var(--r4); padding: 24px; display: grid; gap: 10px; align-content: start; box-shadow: var(--sh1); }
.sec-alt .feat { background: var(--bg); }
.feat h3 { margin: 6px 0 0; font: 600 17px/1.35 "Inter", sans-serif; }
.feat p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); }
.ikona { width: 40px; height: 40px; border-radius: var(--r3); display: grid; place-items: center; background: var(--acc-soft); color: var(--acc); border: 1px solid var(--acc-line); }
.ikona svg { width: 20px; height: 20px; }
.ikona.t { background: var(--tyrk-soft); color: var(--tyrk); border-color: color-mix(in srgb, var(--tyrk) 30%, transparent); }

.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: krok; position: relative; }
.step { position: relative; padding: 28px 24px 24px; border-radius: var(--r4); background: var(--card); border: 1px solid var(--line); box-shadow: var(--sh1); display: grid; gap: 10px; align-content: start; }
.step-n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font: 700 14px/1 "Inter", sans-serif; color: var(--acc-ink); background: var(--acc); }
.step h3 { margin: 6px 0 0; font: 600 17px/1.35 "Inter", sans-serif; }
.step p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
@media (max-width: 820px) { .steps { grid-template-columns: minmax(0, 1fr); } }

.split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.split > div > h2 { margin: 14px 0 0; font-size: var(--fs-2xl); line-height: 1.15; }
.split > div > p { font-size: 17px; line-height: 1.65; color: var(--muted); margin: 16px 0 0; }
.checks { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.checks li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.55; }
.checks svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--acc); margin-top: 3px; }
@media (max-width: 900px) { .split { grid-template-columns: minmax(0, 1fr); gap: 36px; } }

.ilustrace { background: var(--card); border: 1px solid var(--line); border-radius: var(--r5); box-shadow: var(--sh3); padding: 16px; position: relative; }
.ilustrace svg { display: block; width: 100%; height: auto; }
.ilustrace figcaption { font-size: 12.5px; color: var(--muted); padding: 10px 4px 0; }

.code-card { background: var(--code-bg); border: 1px solid var(--code-line); border-radius: var(--r4); overflow: hidden; box-shadow: var(--sh3); min-width: 0; }
.code-card .code-bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--code-line); color: #8E97A7; font: 500 12.5px/1 var(--mono); }
.code-card .code-bar i { width: 10px; height: 10px; border-radius: 50%; background: #2E3746; display: inline-block; }
.code-card pre { margin: 0 !important; padding: 20px !important; background: transparent !important; color: var(--code-ink) !important; border: 0 !important;
  font: 13px/1.7 var(--mono) !important; overflow-x: auto; white-space: pre; }
.code-card .k { color: #E0A640; } .code-card .s { color: #8FD3A8; } .code-card .c { color: #6B7587; } .code-card .f { color: #7FC8F8; }

.faq { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); padding: 0; background: none !important; border-radius: 0 !important; }
.faq summary { list-style: none; cursor: pointer; padding: 22px 40px 22px 0; font: 600 16.5px/1.45 "Inter", sans-serif; color: var(--ink); position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px; margin-top: -7px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.faq details > div { padding: 0 0 22px; color: var(--text); font-size: 15.5px; line-height: 1.7; max-width: 70ch; }
.faq details > div p { margin: 0 0 10px; }

.cta-band { border-radius: var(--r5); padding: 56px 48px; background: var(--card); border: 1px solid var(--line); box-shadow: var(--sh2);
  display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; position: relative; overflow: hidden; }
.cta-band::before { content: ""; position: absolute; inset: auto -10% -60% auto; width: 520px; height: 420px; background: radial-gradient(closest-side, var(--acc-soft), transparent 70%); pointer-events: none; }
.cta-band h2 { margin: 0; font-size: var(--fs-2xl); line-height: 1.15; max-width: 20ch; position: relative; }
.cta-band p { margin: 10px 0 0; color: var(--muted); font-size: 16.5px; position: relative; }
.cta-band .hero-cta { margin: 0; position: relative; }
@media (max-width: 640px) { .cta-band { padding: 36px 22px; } }

/* ── nástroj ověření / pečetění (úvod i konzole) ── */
.nastroj { background: var(--card); border: 1px solid var(--line); border-radius: var(--r5); box-shadow: var(--sh3); padding: 8px; min-width: 0; }
.nastroj .tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: var(--card2); border-radius: var(--r3); margin: 0 0 4px; border: 0 !important; }
.nastroj .tabs button { background: transparent; color: var(--muted); border: 0; padding: 10px 14px; border-radius: var(--r2); font: 600 14.5px/1 "Inter", sans-serif; cursor: pointer; }
.nastroj .tabs button[aria-selected="true"] { background: var(--card) !important; color: var(--ink) !important; box-shadow: var(--sh2); }
.nastroj .panel { padding: 20px 18px 18px; display: grid; gap: 14px; }
.nastroj .panel > h2 { margin: 0; font: 600 19px/1.3 "Inter", sans-serif !important; letter-spacing: -.01em; }
.nastroj .drop { border: 1.5px dashed var(--line2); border-radius: var(--r4); padding: 36px 18px; text-align: center; display: grid; gap: 6px; justify-items: center;
  cursor: pointer; background: var(--card2); transition: border-color .15s, background-color .15s; }
.nastroj .drop:hover, .nastroj .drop:focus-within { border-color: var(--acc); background: var(--acc-soft); }
.nastroj .drop.nad { border-color: var(--acc); background: var(--acc-soft); }
.nastroj .drop b { font-size: 16px; color: var(--ink); }
.nastroj .drop .drop-ik { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--card); border: 1px solid var(--line); color: var(--acc); margin-bottom: 6px; box-shadow: var(--sh1); }
.nastroj .drop .drop-ik svg { width: 20px; height: 20px; }
.nastroj input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.nastroj label.pole { display: grid; gap: 6px; font-size: 14px; color: var(--muted); font-weight: 500; }
.nastroj input[type=text], .nastroj input[type=password], .nastroj select { font: 15px "Inter", sans-serif; padding: 10px 12px; border-radius: var(--r2); border: 1px solid var(--line2);
  background: var(--pole) !important; color: var(--ink); width: 100%; min-height: 42px; }
.nastroj .volby { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nastroj .volba { border: 1px solid var(--line); border-radius: var(--r3); padding: 11px 13px; display: grid; gap: 2px; cursor: pointer; background: var(--card); transition: border-color .15s; }
.nastroj .volba:hover { border-color: var(--line2); }
.nastroj .volba input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nastroj .volba:has(input:checked) { border-color: var(--acc); box-shadow: 0 0 0 3px var(--acc-soft); }
.nastroj .volba:has(input:focus-visible) { outline: 2px solid var(--tyrk); outline-offset: 2px; }
.nastroj .volba b { font-size: 14.5px; color: var(--ink); } .nastroj .volba span { font-size: 13px; color: var(--muted); }
.nastroj .zatrz { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; color: var(--text) !important; }
.nastroj .zatrz input { margin-top: 4px; accent-color: var(--acc); }
.nastroj button.tl, .nastroj a.tl { font: 600 15px/1.2 "Inter", sans-serif; min-height: 44px; padding: 0 20px; border-radius: var(--r2); border: 0; background: var(--acc);
  color: var(--acc-ink) !important; cursor: pointer; justify-self: start; display: inline-flex; align-items: center; text-decoration: none; box-shadow: var(--sh1); }
.nastroj button.tl:disabled { opacity: .45; cursor: default; }
.nastroj .napoveda { margin: 0; font-size: 13.5px; color: var(--muted); }
.nastroj .napoveda:empty { display: none; }
.nastroj .vysledek { border-radius: var(--r4); padding: 18px; display: grid; gap: 12px; border: 1px solid var(--line); background: var(--card2); min-width: 0; }
.nastroj .vysledek.ok { border-color: color-mix(in srgb, var(--ok) 35%, transparent); background: var(--ok-soft); color: inherit; }
.nastroj .vysledek.bad { border-color: color-mix(in srgb, var(--bad) 35%, transparent); background: var(--bad-soft); }
.nastroj .vysledek.tyrk { border-color: color-mix(in srgb, var(--tyrk) 35%, transparent); background: var(--tyrk-soft); }
.nastroj .stav { display: flex; gap: 12px; align-items: center; }
.nastroj .stav .ik { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-size: 19px; font-weight: 800; flex: 0 0 40px; }
.nastroj .stav h3 { margin: 0; font-size: 16.5px; }
.nastroj .stav p { margin: 2px 0 0; }
.nastroj .ok .ik { background: var(--ok-soft); color: var(--ok); } .nastroj .ok .stav h3 { color: var(--ok); }
.nastroj .tyrk .ik { background: var(--tyrk-soft); color: var(--tyrk); } .nastroj .tyrk .stav h3 { color: var(--tyrk); }
.nastroj .bad .ik { background: var(--bad-soft); color: var(--bad); } .nastroj .bad .stav h3 { color: var(--bad); }
.nastroj .nic .ik { background: var(--hover); color: var(--muted); }
.nastroj .stitek { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; border-radius: 999px; font: 600 13px "Inter", sans-serif; }
.nastroj .st-foto, .nastroj .st-clovek { background: var(--ok-soft); color: var(--ok); }
.nastroj .st-ai-upraveno { background: var(--acc-soft); color: var(--acc); }
.nastroj .st-ai-generovano { background: var(--tyrk-soft); color: var(--tyrk); }
.nastroj dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 14px; }
.nastroj dt { color: var(--muted); } .nastroj dd { margin: 0; word-break: break-word; color: var(--text); }
.nastroj .mono { font: 12.5px var(--mono); word-break: break-all; }
.nastroj .nahled { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 14px; align-items: start; }
.nastroj .nahled img { width: 100%; border-radius: var(--r3); border: 1px solid var(--line); background: #fff; }
.nastroj .nahled canvas { width: 160px; height: 160px; border-radius: var(--r3); background: #fff; }
.nastroj .radek { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.nastroj p { margin: 0; }
.nastroj .muted { color: var(--muted); font-size: 14px; }
.nastroj .poznamka { font-size: 13px; color: var(--muted); padding: 0 18px 14px; margin: 0; }
@media (max-width: 560px) { .nastroj .volby { grid-template-columns: minmax(0, 1fr); } .nastroj .nahled { grid-template-columns: minmax(0, 1fr); } .nastroj .nahled canvas { justify-self: center; }
  .nastroj .panel { padding: 16px 12px 14px; } .nastroj dl { grid-template-columns: minmax(0, 1fr); gap: 0 0; } .nastroj dd { margin-bottom: 8px; } }

/* ── ceník ── */
.prepinac { display: inline-flex; padding: 4px; gap: 4px; border-radius: 999px; background: var(--card2); border: 1px solid var(--line); }
.prepinac label { position: relative; cursor: pointer; }
.prepinac input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.prepinac span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px; font: 600 14px/1 "Inter", sans-serif; color: var(--muted); }
.prepinac input:checked + span { background: var(--card); color: var(--ink); box-shadow: var(--sh2); }
.prepinac input:focus-visible + span { outline: 2px solid var(--tyrk); outline-offset: 2px; }
.prepinac em { font-style: normal; font-size: 12px; color: var(--ok); background: var(--ok-soft); padding: 3px 7px; border-radius: 999px; }
.plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 32px; align-items: stretch; }
.plan { background: var(--card); border: 1px solid var(--line); border-radius: var(--r4); padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--sh1); min-width: 0; }
.plan.zvyrazneny { border-color: var(--acc-line); box-shadow: 0 0 0 1px var(--acc-line), var(--sh2); }
.plan h3 { margin: 0; font: 600 17px/1.3 "Inter", sans-serif; }
.plan .plan-popis { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.5; min-height: 2.9em; }
.plan .plan-cena { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; min-height: 52px; }
.plan .cena { font: 600 32px/1.1 "Inter", sans-serif; letter-spacing: -.02em; color: var(--ink); }
.plan .cena small { font-size: 15px; font-weight: 600; color: var(--muted); letter-spacing: 0; margin-right: 2px; }
.plan .obdobi { color: var(--muted); font-size: 14px; }
.plan .plan-pozn { margin: -8px 0 0; font-size: 12.5px; color: var(--muted); min-height: 1.5em; }
.plan a.tarif-cta { display: flex !important; align-items: center; justify-content: center; min-height: 42px; margin: 0 !important; border-radius: var(--r2) !important;
  font: 600 14.5px/1.2 "Inter", sans-serif !important; text-decoration: none; border: 1px solid var(--line2) !important; background: var(--card); color: var(--ink) !important; padding: 0 14px !important; }
.plan a.tarif-cta:hover { background: var(--hover) !important; color: var(--ink) !important; }
.plan.zvyrazneny a.tarif-cta, .plan a.tarif-cta.hlavni { background: var(--acc) !important; color: var(--acc-ink) !important; border-color: var(--acc) !important; }
.plan.zvyrazneny a.tarif-cta:hover { background: color-mix(in srgb, var(--acc) 88%, var(--ink)) !important; }
.plan ul { list-style: none; padding: 16px 0 0; margin: 0; display: grid; gap: 9px; border-top: 1px solid var(--line); }
.plan li { display: flex; gap: 9px; font-size: 14px; line-height: 1.5; margin: 0 !important; color: var(--text); }
.plan li svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--ok); margin-top: 3px; }
@media (max-width: 1080px) { .plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .plans { grid-template-columns: minmax(0, 1fr); } .plan .plan-popis { min-height: 0; } }
.cmp-obal { position: relative; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r4); background: var(--card); box-shadow: var(--sh1); }
table.cmp { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 640px; }
table.cmp th, table.cmp td { padding: 14px 18px !important; border-bottom: 1px solid var(--line); text-align: center; vertical-align: middle; hyphens: none; overflow-wrap: normal; }
table.cmp th:first-child, table.cmp td:first-child { text-align: left; color: var(--text); }
table.cmp thead th { font: 600 14px "Inter", sans-serif !important; color: var(--ink) !important; text-transform: none !important; letter-spacing: 0 !important; background: var(--card2); }
table.cmp tbody tr:last-child td { border-bottom: 0; }
table.cmp .ano { color: var(--ok); font-weight: 700; } table.cmp .ne { color: var(--muted); }
.cenik-hlava { display: grid; justify-items: center; text-align: center; gap: 16px; }
.cenik-hlava h1 { margin: 10px 0 0; font-size: var(--fs-3xl); line-height: 1.05; letter-spacing: -.025em; }
.cenik-hlava p { margin: 0; font-size: 18px; color: var(--muted); max-width: 40em; line-height: 1.6; }
.cenik-hlava p b { color: var(--ink); }
.seznam-dvou { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.seznam-dvou ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
@media (max-width: 720px) { .seznam-dvou { grid-template-columns: minmax(0, 1fr); } }

/* Místa, kde měl původní tmavý vzhled barvu natvrdo. */
.perex, .zatrz { color: var(--text) !important; }
input[type=text], input[type=password] { background: var(--pole) !important; }
.kopir { background: var(--pole) !important; }
.kopir code { color: var(--ink) !important; }
.cta, button.tl:not(.v) { color: var(--acc-ink) !important; }
button.tl.v { color: var(--ink) !important; }
.cta { border-radius: var(--r2) !important; font-weight: 600 !important; }

/* Tlačítko u tarifu v ceníku (4. 10. 2026): zdarma → přihlášení, placené → e-mail (platby zatím nenapojené). */
a.tarif-cta { display: inline-block; margin-top: 8px; padding: 6px 12px; border-radius: 9px; border: 1px solid var(--acc);
  color: var(--acc); font-size: 14px; font-weight: 600; text-decoration: none; }
a.tarif-cta:hover { background: var(--acc); color: var(--bg); }

/* Úzký telefon (375 px, 4. 10. 2026): dlouhá německá a nizozemská složená slova v tabulkách
   roztahovala mřížku <main> a stránka se posouvala do strany. Sloupec mřížky smí být užší
   než nejdelší slovo a buňky tabulek slova dělí. */
main { grid-template-columns: minmax(0, 1fr); }
td, th { overflow-wrap: anywhere; hyphens: auto; }
a.tarif-cta { hyphens: none; overflow-wrap: normal; text-align: center; }
table.cmp tbody th { font: 400 14.5px/1.5 "Inter", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--text) !important; text-align: left; }
.btn-lg { white-space: normal; text-align: center; line-height: 1.25; padding-block: 10px; }

/* Patička uvnitř aplikace (konzole, přihlášení): jeden kompaktní řádek odkazů. */
.con footer.site-foot, body.prihlaseni footer.site-foot { background: transparent; padding: 16px 0 0 !important; margin: 40px 0 0 !important; gap: 2px 16px !important; font-size: 12.5px !important; }
body.prihlaseni footer.site-foot { padding: 16px 24px 24px !important; max-width: 1200px; width: 100%; margin: 0 auto !important; }
.con footer.site-foot .foot-grid, body.prihlaseni footer.site-foot .foot-grid { display: flex; flex-wrap: wrap; gap: 0 16px; padding: 0; margin: 0; border: 0; }
.con footer.site-foot .foot-brand, .con footer.site-foot h4, body.prihlaseni footer.site-foot .foot-brand, body.prihlaseni footer.site-foot h4,
.con footer.site-foot nav[aria-label="Language"], body.prihlaseni footer.site-foot nav[aria-label="Language"] { display: none; }
.con footer.site-foot nav, .con footer.site-foot ul, body.prihlaseni footer.site-foot nav, body.prihlaseni footer.site-foot ul { display: contents; }
.con footer.site-foot a, body.prihlaseni footer.site-foot a { font-size: 12.5px; padding: 4px 0 !important; }
.con footer.site-foot > span, body.prihlaseni footer.site-foot > span { font-size: 12px; }
