/* ══════════════════════════════════════════════════════════════════
   NEXTIVO — design systém
   Jeden zdroj pravdy pro web i aplikace. Kopíruj tenhle soubor, nikdy
   nepiš barvy a rozestupy natvrdo.
   ══════════════════════════════════════════════════════════════════ */

/* ── TOKENY ─────────────────────────────────────────────────────── */
:root{
  /* Základ: hluboká inkoustová modř místo obecné šedi.
     Dává značce charakter a drží kontrast i na projektoru. */
  --nx-ink:        #0a0f1f;
  --nx-ink-2:      #141b30;
  --nx-ink-3:      #1e2740;

  --nx-text:       #0f172a;
  --nx-text-2:     #475569;
  --nx-text-3:     #5f6e86;
  --nx-on-dark:    #eef1f8;
  --nx-on-dark-2:  #9aa6c0;

  /* Indigo zůstává kotvou značky, ale posunuté do sytějšího tónu */
  --nx-brand:      #4f46e5;
  --nx-brand-600:  #4338ca;
  --nx-brand-700:  #3730a3;
  --nx-brand-soft: #eef2ff;
  --nx-brand-line: #c7d2fe;

  /* Doplňkové signální barvy — používej střídmě, nesou význam */
  --nx-mint:       #0d9488;
  --nx-mint-soft:  #ecfdf5;
  --nx-amber:      #b45309;
  --nx-amber-soft: #fffbeb;
  --nx-rose:       #be123c;
  --nx-rose-soft:  #fff1f2;

  --nx-bg:         #ffffff;
  --nx-bg-2:       #f7f8fc;
  --nx-bg-3:       #eef1f8;
  --nx-line:       #e4e8f0;
  --nx-line-2:     #cfd6e4;

  --nx-r-sm: 8px; --nx-r: 12px; --nx-r-lg: 18px; --nx-r-xl: 26px;

  --nx-sh-1: 0 1px 2px rgba(10,15,31,.05);
  --nx-sh-2: 0 4px 16px rgba(10,15,31,.07);
  --nx-sh-3: 0 18px 48px rgba(10,15,31,.13);

  --nx-max: 1140px;
  --nx-pad: 24px;

  --nx-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --nx-display: 'Plus Jakarta Sans', var(--nx-sans);
  --nx-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;

  /* Povrchy a text — jediné tokeny, na kterých stojí tmavý režim.
     Světlé jsou tu jako výchozí; tmavá varianta je přepisuje níž
     ve dvou blocích (systémové nastavení a ruční přepínač). Cokoli
     v aplikaci potřebuje barvu plochy nebo textu, sahá SEM, ne
     na --nx-bg/--nx-ink přímo — ty zůstávají pevné (patička, hero). */
  --nx-surface:      #ffffff;
  --nx-surface-2:    #f7f8fc;
  --nx-surface-3:    #eef1f8;
  --nx-surface-line: #e4e8f0;
  --nx-surface-line-2: #cfd6e4;
  --nx-ink-text:     #0f172a;
  --nx-ink-text-2:   #475569;
  --nx-ink-text-3:   #5f6e86;   /* 8. 9. 2026: z #7c8aa0 (3,3:1) na ≥4,5:1 i na --nx-surface-3; tmavý režim má dál #7c8aa0 */
  --nx-header-bg:    rgba(255,255,255,.88);

  /* Signální barvy JAKO TEXT. Ploché odstíny značky a stavů jsou laděné
     na bílou — na tmavém podkladu mají 1,6–3,3:1, tedy pod normou.
     Hodnoty níž jsou původní světlé; mění se jen v tmavém bloku.
     Cokoli píše text v barvě značky nebo stavu, sahá SEM. */
  --nx-brand-text:    #4f46e5;   /* text v barvě značky na ploše */
  --nx-on-brand-text: #3730a3;   /* text na --nx-brand-soft */
  --nx-ok-text:       #065f46;
  --nx-warn-text:     #92400e;
  --nx-stop-text:     #9f1239;
  --nx-custom-soft:   #f3e8ff;
  --nx-custom-text:   #7e22ce;
  --nx-ok-line:       #a7f3d0;
  --nx-warn-line:     #fde68a;
  --nx-stop-line:     #fecdd3;

  /* Stav focusu musí být vidět — klávesnicová obsluha je na něm závislá.
     WCAG 2.2 chce proti okolí aspoň 3:1; indigo na tmavé ploše mělo 2,6:1. */
  --nx-focus:         #4f46e5;
  --nx-focus-halo:    #eef2ff;
}

/* ── TMAVÝ REŽIM ────────────────────────────────────────────────────
   Tři stavy, ne dva: bez zásahu uživatele platí systémové nastavení
   (prefers-color-scheme), ruční přepínač ho přebije oběma směry přes
   [data-theme]. Skript, co přepínač ukládá, je v nextivo.js. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]){
    --nx-surface: #12172a; --nx-surface-2: #0a0f1f; --nx-surface-3: #1a2138;
    --nx-surface-line: #262f4a; --nx-surface-line-2: #333e5c;
    --nx-ink-text: #eef1f8; --nx-ink-text-2: #b0b9d1; --nx-ink-text-3: #7c8aa0;
    --nx-brand-soft: #1c2044; --nx-brand-line: #383f78;
    --nx-mint-soft: #0b2b28; --nx-amber-soft: #2e2410; --nx-rose-soft: #341220;
    --nx-header-bg: rgba(18,23,42,.82);
    --nx-brand-text:#a5b4fc; --nx-on-brand-text:#c7d2fe;
    --nx-ok-text:#5eead4; --nx-warn-text:#fbbf24; --nx-stop-text:#fb7185;
    --nx-custom-soft:#2a1b3d; --nx-custom-text:#e9d5ff;
    --nx-ok-line:#155e52; --nx-warn-line:#6b4f1a; --nx-stop-line:#7a2038;
    --nx-focus:#a5b4fc; --nx-focus-halo:rgba(165,180,252,.28);
  }
}
:root[data-theme="dark"]{
  --nx-surface: #12172a; --nx-surface-2: #0a0f1f; --nx-surface-3: #1a2138;
  --nx-surface-line: #262f4a; --nx-surface-line-2: #333e5c;
  --nx-ink-text: #eef1f8; --nx-ink-text-2: #b0b9d1; --nx-ink-text-3: #7c8aa0;
  --nx-brand-soft: #1c2044; --nx-brand-line: #383f78;
  --nx-mint-soft: #0b2b28; --nx-amber-soft: #2e2410; --nx-rose-soft: #341220;
  --nx-brand-text:#a5b4fc; --nx-on-brand-text:#c7d2fe;
  --nx-ok-text:#5eead4; --nx-warn-text:#fbbf24; --nx-stop-text:#fb7185;
  --nx-custom-soft:#2a1b3d; --nx-custom-text:#e9d5ff;
  --nx-ok-line:#155e52; --nx-warn-line:#6b4f1a; --nx-stop-line:#7a2038;
  --nx-focus:#a5b4fc; --nx-focus-halo:rgba(165,180,252,.28);
}

/* ── RESET ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--nx-sans);color:var(--nx-ink-text);background:var(--nx-surface);
  line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
/* Atribut `hidden` musí platit vždycky. Bez tohohle by ho přebilo
   jakékoli autorské pravidlo s `display` — a prvek by zůstal vidět.
   (Přesně to se stalo dialogu v CRM 23. 8. 2026.) */
[hidden]{display:none!important}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--nx-focus);outline-offset:2px;border-radius:4px}

/* ── TYPOGRAFIE ─────────────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--nx-display);font-weight:800;line-height:1.15;letter-spacing:-.022em;color:var(--nx-ink-text)}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem)}
h2{font-size:clamp(1.65rem,3.6vw,2.5rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem);font-weight:700;letter-spacing:-.012em}
h4{font-size:1.02rem;font-weight:700}
p{color:var(--nx-ink-text-2)}
.nx-lead{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--nx-ink-text-2);max-width:62ch}
.nx-eyebrow{
  font-size:.75rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--nx-brand-text);margin-bottom:14px;display:block;
}
.nx-dark .nx-eyebrow{color:#a5b4fc}
.nx-dark h1,.nx-dark h2,.nx-dark h3,.nx-dark h4{color:var(--nx-on-dark)}
.nx-dark p,.nx-dark .nx-lead{color:var(--nx-on-dark-2)}

/* ── LAYOUT ─────────────────────────────────────────────────────── */
.nx-wrap{max-width:var(--nx-max);margin:0 auto;padding:0 var(--nx-pad);width:100%}
.nx-wrap-narrow{max-width:780px;margin:0 auto;padding:0 var(--nx-pad)}
.nx-section{padding:clamp(56px,8vw,104px) 0}
.nx-section-sm{padding:clamp(40px,5vw,64px) 0}
.nx-alt{background:var(--nx-surface-2)}
.nx-dark{background:var(--nx-ink);color:var(--nx-on-dark)}
.nx-grid{display:grid;gap:22px}
.nx-g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.nx-g3{grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.nx-g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.nx-center{text-align:center}
.nx-center .nx-lead{margin-left:auto;margin-right:auto}
.nx-head{max-width:660px;margin-bottom:clamp(32px,4vw,52px)}
.nx-head.nx-center{margin-left:auto;margin-right:auto}

/* ── TLAČÍTKA ───────────────────────────────────────────────────── */
.nx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border-radius:var(--nx-r);border:1px solid transparent;
  font-weight:650;font-size:.95rem;text-decoration:none;cursor:pointer;
  transition:transform .13s ease, box-shadow .13s ease, background .13s ease, border-color .13s ease;
  white-space:nowrap;
}
.nx-btn:hover{transform:translateY(-1px)}
.nx-btn:active{transform:translateY(0)}
.nx-btn-primary{background:var(--nx-brand);color:#fff;box-shadow:var(--nx-sh-2)}
.nx-btn-primary:hover{background:var(--nx-brand-600);box-shadow:var(--nx-sh-3)}
.nx-btn-ghost{background:var(--nx-surface);color:var(--nx-ink-text);border-color:var(--nx-surface-line-2)}
.nx-btn-ghost:hover{border-color:var(--nx-brand-text);color:var(--nx-brand-text)}
.nx-dark .nx-btn-ghost{background:transparent;color:var(--nx-on-dark);border-color:rgba(255,255,255,.24)}
.nx-dark .nx-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.07);color:#fff}
.nx-btn-quiet{background:transparent;color:var(--nx-brand-text);padding:10px 4px}
.nx-btn-quiet:hover{text-decoration:underline;transform:none}
.nx-btn-lg{padding:16px 30px;font-size:1rem}
.nx-btn-sm{padding:9px 16px;font-size:.87rem}
.nx-btn-block{width:100%}
.nx-btn[disabled],.nx-btn[aria-disabled="true"]{
  opacity:.5;pointer-events:none;
}
.nx-btns{display:flex;flex-wrap:wrap;gap:12px}
.nx-center .nx-btns{justify-content:center}

/* ── KARTY ──────────────────────────────────────────────────────── */
.nx-card{
  background:var(--nx-surface);border:1px solid var(--nx-surface-line);border-radius:var(--nx-r-lg);
  padding:26px;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  display:flex;flex-direction:column;
}
.nx-card-hover:hover{transform:translateY(-4px);box-shadow:var(--nx-sh-3);border-color:var(--nx-brand-line)}
.nx-dark .nx-card{background:var(--nx-ink-2);border-color:rgba(255,255,255,.09)}
.nx-card-icon{
  width:50px;height:50px;border-radius:14px;background:var(--nx-brand-soft);
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;
}
.nx-dark .nx-card-icon{background:rgba(99,102,241,.16)}
.nx-card h3{margin-bottom:8px}
.nx-card p{font-size:.94rem;flex:1}
.nx-card-foot{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ── ODZNAKY / STAVY ────────────────────────────────────────────── */
.nx-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;
  padding:4px 11px;border-radius:99px;letter-spacing:.03em;white-space:nowrap;
}
.nx-badge-live{background:var(--nx-mint-soft);color:var(--nx-ok-text)}
.nx-badge-soon{background:var(--nx-surface-3);color:var(--nx-ink-text-2)}
.nx-badge-beta{background:var(--nx-amber-soft);color:var(--nx-warn-text)}
.nx-badge-trial{background:var(--nx-brand-soft);color:var(--nx-on-brand-text)}
.nx-badge-warn{background:var(--nx-amber-soft);color:var(--nx-warn-text)}
.nx-badge-stop{background:var(--nx-rose-soft);color:var(--nx-stop-text)}
.nx-badge-custom{background:var(--nx-custom-soft);color:var(--nx-custom-text)}
.nx-dot{width:6px;height:6px;border-radius:99px;background:currentColor;flex:none}

/* ── HLAVIČKA ───────────────────────────────────────────────────── */
.nx-header{
  position:sticky;top:0;z-index:60;background:var(--nx-header-bg);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--nx-surface-line);
}
.nx-nav{max-width:var(--nx-max);margin:0 auto;padding:0 var(--nx-pad);height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:20px}
.nx-logo{display:flex;align-items:center;gap:10px;font-family:var(--nx-display);
  font-weight:800;font-size:1.2rem;text-decoration:none;letter-spacing:-.02em;flex:none}
.nx-logo svg{width:30px;height:30px;flex:none}
.nx-nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
.nx-nav-links a{
  text-decoration:none;font-size:.93rem;font-weight:550;color:var(--nx-ink-text-2);
  padding:9px 13px;border-radius:9px;transition:color .13s,background .13s;
}
.nx-nav-links a:hover{color:var(--nx-ink-text);background:var(--nx-surface-2)}
.nx-nav-links a[aria-current="page"]{color:var(--nx-brand-text);font-weight:650}
.nx-nav-cta{display:flex;align-items:center;gap:10px;flex:none}
.nx-burger{display:none;background:none;border:1px solid var(--nx-surface-line-2);border-radius:9px;
  padding:9px 11px;cursor:pointer;line-height:1}

/* ── PŘEPÍNAČ MOTIVU ───────────────────────────────────────────────
   Ikona ukazuje, KAM klik přepne (měsíc = do tmavého, slunce = do
   světlého) — ne aktuální stav. Viditelnost obou ikon řeší stejný
   vzor tří stavů jako tokeny výš. */
.nx-theme-btn{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:38px;height:38px;border-radius:var(--nx-r);border:1px solid var(--nx-surface-line-2);
  background:var(--nx-surface);color:var(--nx-ink-text-2);cursor:pointer;
  transition:border-color .13s,color .13s;
}
.nx-theme-btn:hover{border-color:var(--nx-brand-text);color:var(--nx-brand-text)}
.nx-dark .nx-theme-btn{background:transparent;border-color:rgba(255,255,255,.24);color:var(--nx-on-dark)}
.nx-theme-btn .nx-theme-sun{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .nx-theme-btn .nx-theme-sun{display:block}
  :root:not([data-theme="light"]) .nx-theme-btn .nx-theme-moon{display:none}
}
:root[data-theme="dark"] .nx-theme-btn .nx-theme-sun{display:block}
:root[data-theme="dark"] .nx-theme-btn .nx-theme-moon{display:none}

/* ── PATIČKA ────────────────────────────────────────────────────── */
.nx-footer{background:var(--nx-ink);color:var(--nx-on-dark-2);padding:64px 0 34px}
.nx-footer h4{color:var(--nx-on-dark);font-size:.8rem;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:14px;font-weight:700}
.nx-footer a{color:var(--nx-on-dark-2);text-decoration:none;font-size:.92rem;
  display:block;padding:5px 0;transition:color .13s}
.nx-footer a:hover{color:#fff}
.nx-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem}

/* ── FORMULÁŘE ──────────────────────────────────────────────────── */
.nx-field{margin-bottom:18px}
.nx-label{display:block;font-size:.88rem;font-weight:650;margin-bottom:7px;color:var(--nx-ink-text)}
.nx-label span{font-weight:450;color:var(--nx-ink-text-3)}
.nx-input,.nx-select,.nx-textarea{
  width:100%;padding:12px 14px;border:1px solid var(--nx-surface-line-2);border-radius:var(--nx-r);
  background:var(--nx-surface);font-size:.96rem;transition:border-color .13s, box-shadow .13s;
}
.nx-input:focus,.nx-select:focus,.nx-textarea:focus{
  outline:none;border-color:var(--nx-focus);box-shadow:0 0 0 4px var(--nx-focus-halo);
}
.nx-textarea{min-height:120px;resize:vertical;line-height:1.6}
.nx-hint{font-size:.82rem;color:var(--nx-ink-text-3);margin-top:6px}
.nx-err{font-size:.85rem;color:var(--nx-stop-text);margin-top:6px;font-weight:550}

/* ── TABULKY ────────────────────────────────────────────────────── */
.nx-table-wrap{overflow-x:auto;border:1px solid var(--nx-surface-line);border-radius:var(--nx-r-lg);background:var(--nx-surface)}
.nx-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.nx-table th{
  text-align:left;padding:13px 16px;background:var(--nx-surface-2);font-weight:650;
  color:var(--nx-ink-text-2);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;
  border-bottom:1px solid var(--nx-surface-line);white-space:nowrap;
}
.nx-table td{padding:14px 16px;border-bottom:1px solid var(--nx-surface-3);vertical-align:middle}
.nx-table tr:last-child td{border-bottom:none}
.nx-table .nx-num{text-align:right;font-variant-numeric:tabular-nums}

/* ── STAVOVÉ BLOKY ──────────────────────────────────────────────── */
.nx-note{
  border-radius:var(--nx-r);padding:15px 18px;font-size:.93rem;
  border:1px solid;display:flex;gap:12px;align-items:flex-start;
}
.nx-note-info{background:var(--nx-brand-soft);border-color:var(--nx-brand-line);color:var(--nx-on-brand-text)}
.nx-note-ok{background:var(--nx-mint-soft);border-color:var(--nx-ok-line);color:var(--nx-ok-text)}
.nx-note-warn{background:var(--nx-amber-soft);border-color:var(--nx-warn-line);color:var(--nx-warn-text)}
.nx-note-stop{background:var(--nx-rose-soft);border-color:var(--nx-stop-line);color:var(--nx-stop-text)}

.nx-empty{
  text-align:center;padding:56px 26px;border:1px dashed var(--nx-surface-line-2);
  border-radius:var(--nx-r-lg);background:var(--nx-surface-2);
}
.nx-empty-icon{font-size:38px;margin-bottom:14px;opacity:.65}
.nx-empty h3{margin-bottom:8px}
.nx-empty p{max-width:44ch;margin:0 auto 20px}

.nx-skeleton{
  background:linear-gradient(90deg,var(--nx-surface-3) 25%,var(--nx-surface-2) 50%,var(--nx-surface-3) 75%);
  background-size:200% 100%;animation:nx-shimmer 1.3s infinite;border-radius:var(--nx-r);
}
@keyframes nx-shimmer{to{background-position:-200% 0}}

.nx-spinner{
  width:18px;height:18px;border:2px solid var(--nx-brand-line);border-top-color:var(--nx-brand-text);
  border-radius:99px;animation:nx-spin .7s linear infinite;flex:none;
}
@keyframes nx-spin{to{transform:rotate(360deg)}}

/* ── DROBNOSTI ──────────────────────────────────────────────────── */
.nx-price{font-family:var(--nx-display);font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.nx-price small{font-size:.95rem;font-weight:550;color:var(--nx-ink-text-3);letter-spacing:0}
.nx-list{list-style:none;display:flex;flex-direction:column;gap:11px}
.nx-list li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;color:var(--nx-ink-text-2)}
.nx-list li::before{content:"";width:19px;height:19px;flex:none;margin-top:2px;border-radius:99px;
  background:var(--nx-mint-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d9488' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.nx-dark .nx-list li{color:var(--nx-on-dark-2)}

.nx-steps{counter-reset:nxs;display:grid;gap:26px}
.nx-step{position:relative;padding-left:56px}
.nx-step::before{
  counter-increment:nxs;content:counter(nxs);position:absolute;left:0;top:-2px;
  width:38px;height:38px;border-radius:12px;background:var(--nx-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--nx-display);
}

.nx-faq{border-bottom:1px solid var(--nx-surface-line)}
.nx-faq summary{
  padding:19px 40px 19px 0;cursor:pointer;font-weight:650;list-style:none;position:relative;
  font-family:var(--nx-display);
}
.nx-faq summary::-webkit-details-marker{display:none}
.nx-faq summary::after{content:"+";position:absolute;right:8px;top:16px;font-size:1.5rem;
  color:var(--nx-brand-text);font-weight:400;transition:transform .18s}
.nx-faq[open] summary::after{transform:rotate(45deg)}
.nx-faq p{padding-bottom:20px;font-size:.95rem}

.nx-tag{display:inline-block;font-size:.78rem;font-weight:600;padding:4px 10px;
  border-radius:7px;background:var(--nx-surface-3);color:var(--nx-ink-text-2)}

/* Jemná mřížka na tmavém pozadí — vizuální podpis Nextiva */
.nx-blueprint{position:relative;overflow:hidden}
.nx-blueprint::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 78%);
}
.nx-blueprint > *{position:relative;z-index:1}

.nx-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nx-skip{position:absolute;left:-9999px;top:0;background:var(--nx-brand);color:#fff;
  padding:12px 18px;z-index:100;border-radius:0 0 var(--nx-r) 0}
.nx-skip:focus{left:0}

/* ── MOBIL ──────────────────────────────────────────────────────── */
@media (max-width:860px){
  .nx-burger{display:block}
  .nx-nav-links{
    display:none;position:absolute;top:70px;left:0;right:0;background:var(--nx-surface);
    flex-direction:column;align-items:stretch;padding:12px;gap:2px;
    border-bottom:1px solid var(--nx-surface-line);box-shadow:var(--nx-sh-2);
  }
  .nx-nav-links.nx-open{display:flex}
  .nx-nav-links a{padding:13px 14px;font-size:1rem}
  /* Přihlášení pro klienty musí být vidět i na mobilu — jen zúžit,
     nikdy neschovávat. (Připomínka Romana 22. 8. 2026.) */
  .nx-nav-cta .nx-btn{padding:9px 12px;font-size:.85rem}
  .nx-section{padding:52px 0}
  .nx-card{padding:22px}
  .nx-step{padding-left:0;padding-top:50px}
  .nx-step::before{top:0}
}
@media (max-width:520px){
  :root{--nx-pad:18px}
  .nx-btns .nx-btn{width:100%}
  .nx-footer-bottom{flex-direction:column}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;
    scroll-behavior:auto!important}
}

@media print{
  .nx-header,.nx-footer,.nx-btns{display:none}
}
