/* NPA Jantar s.r.o. — web styles
   Technický, střízlivý vzhled pro embedded / energetiku. */

:root{
  /* Modrý „Jantar" styl: ocelová/břidlicová modř + jantarově oranžový akcent */
  --ink:#2a3350;          /* ocelová modř (tmavé plochy: hlavička, hero, patička) */
  --ink-2:#3c4869;        /* světlejší ocelová modř (přechody ikon) */
  --paper:#f2f5fa;        /* chladně laděné světlé pozadí */
  --paper-2:#ffffff;
  --line:#d8dfea;
  --text:#222c3a;
  --muted:#5a6678;
  --accent:#e8922b;       /* jantarová oranž (oblouk v logu) */
  --accent-2:#f6a838;     /* světlejší jantar (hover) */
  --link:#2d5b96;         /* čitelný modrý odkaz */
  --link-hover:#1f4576;
  --on-accent:#2a1a00;    /* tmavý text na jantarovém tlačítku */
  --eyebrow:#b06a0d;       /* tmavší jantar pro nadpisky na světlém */
  --warn:#e0a800;
  --maxw:1120px;
  --radius:14px;
  --shadow:0 10px 40px -18px rgba(20,28,48,.45);
  /* odvozené plochy (přebarvované v tmavém režimu) */
  --heading:#2a3350;
  --chip-bg:#eef2f8;
  --code-text:#294a70;
  --th-bg:#eef2f8;
  --quote-bg:#eef3fa;
  --row-hover:#eef3fa;
  --callout-from:#eef3fa;
  --callout-to:#f2f5fa;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Tmavý režim ----------
   JS nastaví na <html> data-theme="dark" / "light" (volba "system" se v JS
   přepočítá podle OS). Záhlaví, hero a patička zůstávají tmavé v obou režimech. */
html[data-theme="dark"]{
  --ink:#1b2336;
  --ink-2:#2e3a57;
  --paper:#131a28;
  --paper-2:#1a2336;
  --line:#2d3a52;
  --text:#dde4ef;
  --muted:#97a6bd;
  --heading:#e9eef7;
  --link:#8fb4e6;
  --link-hover:#b3cdf2;
  --eyebrow:#f6a838;
  --chip-bg:#243150;
  --code-text:#f0b566;
  --th-bg:#222e49;
  --quote-bg:#1d263b;
  --row-hover:#222e49;
  --callout-from:#1d263b;
  --callout-to:#161d2c;
  --shadow:0 12px 44px -18px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;font-family:var(--sans);color:var(--text);background:var(--paper);
  line-height:1.65;-webkit-font-smoothing:antialiased;font-size:17px;
}
img{max-width:100%;display:block}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:50;background:rgba(42,51,80,.92);
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.07);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:700;letter-spacing:.2px}
.brand:hover{text-decoration:none}
.brand .logo{width:34px;height:34px}
.brand .logo-img{height:30px;width:auto;display:block}
.brand small{display:block;font-weight:400;font-size:11px;letter-spacing:2px;color:var(--accent-2);text-transform:uppercase}
.nav{display:flex;gap:26px;align-items:center}
.nav a{color:#cdd8e2;font-size:15px;font-weight:500}
.nav a:hover{color:#fff;text-decoration:none}
.nav a.cta{background:var(--accent);color:var(--on-accent);padding:8px 16px;border-radius:8px;font-weight:600}
.nav a.cta:hover{background:var(--accent-2)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);color:#cdd8e2;padding:7px 12px;border-radius:8px;
  font:500 14px/1 var(--sans);cursor:pointer;white-space:nowrap}
.theme-toggle:hover{background:rgba(255,255,255,.16);color:#fff}
.theme-toggle .ti{font-size:15px}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(42,51,80,.97) 0%,rgba(42,51,80,.78) 42%,rgba(42,51,80,.25) 100%);}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.hero .wrap{position:relative;z-index:2;padding:96px 24px 104px}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08;margin:0 0 18px;max-width:18ch;letter-spacing:-.5px}
.hero p.lead{font-size:1.2rem;color:#c6d3df;max-width:50ch;margin:0 0 30px}
.eyebrow{display:inline-block;font-family:var(--mono);font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--eyebrow);margin-bottom:18px}
.hero .eyebrow{color:#f6a838}
.btn{display:inline-block;font-weight:600;padding:13px 24px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:15px}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-2);text-decoration:none}
.btn-ghost{border-color:rgba(255,255,255,.3);color:#fff;margin-left:12px}
.btn-ghost:hover{border-color:#fff;text-decoration:none;background:rgba(255,255,255,.06)}

/* ---------- Sections ---------- */
section{padding:78px 0}
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 10px;letter-spacing:-.4px;color:var(--heading)}
.section-intro{color:var(--muted);max-width:62ch;margin:0 0 40px;font-size:1.08rem}
.alt{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- Feature grid ---------- */
.grid{display:grid;gap:22px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform .18s,box-shadow .18s}
.alt .card{background:var(--paper)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card .ico{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--ink-2));display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#fff;font-size:20px;font-weight:700}
.card h3{margin:0 0 8px;font-size:1.18rem;color:var(--heading)}
.card p{margin:0;color:var(--muted);font-size:.98rem}

/* ---------- Split (intro firma / product) ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.split img{border-radius:var(--radius);box-shadow:var(--shadow)}
.split h2{margin-top:0}
.kv{list-style:none;padding:0;margin:18px 0 0}
.kv li{padding:9px 0;border-bottom:1px dashed var(--line);display:flex;gap:14px}
.kv li:last-child{border-bottom:0}
.kv b{flex:0 0 150px;color:var(--heading)}

/* ---------- Capability list ---------- */
.caps{columns:2;column-gap:48px}
.caps li{margin:0 0 12px;break-inside:avoid;list-style:none;padding-left:28px;position:relative;color:var(--text)}
.caps li::before{content:"▸";position:absolute;left:0;color:var(--accent);font-weight:700}
.caps li b{color:var(--heading)}

/* ---------- Variants table ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}
table.variants{width:100%;border-collapse:collapse;min-width:560px}
table.variants th,table.variants td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.96rem}
table.variants th{background:var(--ink);color:#fff;font-weight:600;letter-spacing:.3px}
table.variants tr:last-child td{border-bottom:0}
table.variants tbody tr:hover{background:var(--row-hover)}
.code-pill{font-family:var(--mono);background:var(--chip-bg);color:var(--heading);padding:3px 9px;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}
.opts{display:flex;flex-wrap:wrap;gap:18px;margin-top:8px}
.opt{flex:1 1 220px;border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:var(--paper-2)}
.opt h4{margin:0 0 6px;color:var(--heading)}
.opt span{font-family:var(--mono);color:var(--accent);font-weight:600}

/* ---------- Callout ---------- */
.callout{display:flex;gap:18px;align-items:flex-start;background:linear-gradient(135deg,var(--callout-from),var(--callout-to));
  border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:22px 24px;margin-top:30px}
.callout .ico{font-size:24px}
.callout h3{margin:0 0 4px;color:var(--heading);font-size:1.1rem}
.callout p{margin:0;color:var(--muted)}

/* ---------- Doc search ---------- */
.docsearch{position:relative;max-width:620px;margin:0 0 14px}
.docsearch-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.2rem;pointer-events:none}
.docsearch input{width:100%;box-sizing:border-box;font:500 1rem/1.4 var(--sans);color:var(--text);
  background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:13px 44px 13px 44px;outline:none;transition:border-color .15s,box-shadow .15s}
.docsearch input::placeholder{color:var(--muted)}
.docsearch input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,146,43,.18)}
.docsearch input::-webkit-search-cancel-button{display:none}
.docsearch-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;
  border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.95rem;cursor:pointer;line-height:1}
.docsearch-clear:hover{background:var(--chip-bg);color:var(--text)}
.docsearch-status{color:var(--muted);font-size:.9rem;margin:0 0 16px}
.search-results{display:flex;flex-direction:column;gap:26px;margin:0 0 10px}
.search-group{display:flex;flex-direction:column;gap:10px}
.search-group-doc{display:flex;align-items:baseline;gap:10px;padding:0 2px;flex-wrap:wrap}
.search-group-doc:hover{text-decoration:none}
.search-group-name{font-family:var(--mono);font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--eyebrow);font-weight:600}
.search-group-doc:hover .search-group-name{text-decoration:underline}
.search-group-count{font-size:.78rem;color:var(--muted)}
.search-hit-list{display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--line);padding-left:16px}
.search-hit{display:block;position:relative;border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px 14px 38px;background:var(--paper-2);transition:box-shadow .18s,transform .18s,border-color .18s}
.search-hit::before{content:"›";position:absolute;left:16px;top:12px;color:var(--accent);font-weight:700;font-size:1.15rem;line-height:1.35}
.search-hit:hover{text-decoration:none;box-shadow:var(--shadow);transform:translateX(2px);border-color:var(--accent)}
.search-hit-head{display:block;font-weight:600;color:var(--heading);font-size:1.02rem;margin-bottom:6px;line-height:1.35}
.search-hit-snip{display:block;color:var(--muted);font-size:.92rem;line-height:1.6}
.search-hit mark{background:rgba(232,146,43,.28);color:inherit;border-radius:3px;padding:0 2px;font-weight:600}

/* ---------- Doc index ---------- */
.doclist{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.docitem{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--paper-2);transition:box-shadow .18s,transform .18s}
.docitem:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.docitem h3{margin:0 0 6px;font-size:1.12rem}
.docitem h3 a{color:var(--heading)}
.docitem p{color:var(--muted);margin:0 0 16px;font-size:.95rem;flex:1}
.doc-actions{display:flex;gap:10px}
.doc-actions a{font-size:.9rem;font-weight:600;padding:7px 13px;border-radius:8px;border:1px solid var(--line)}
.doc-actions a.html{color:var(--heading)}
.doc-actions a.pdf{color:#fff;background:var(--ink);border-color:var(--ink)}
.doc-actions a.pdf:hover,.doc-actions a.html:hover{text-decoration:none;border-color:var(--accent)}

/* ---------- Footer ---------- */
.site-foot{background:var(--ink);color:#aebccb;padding:54px 0 30px;font-size:.95rem}
.site-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.site-foot .foot-logo{width:100%;max-width:300px;height:auto;margin:0 0 16px}
.site-foot h4{color:#fff;margin:0 0 14px;font-size:1rem}
.site-foot a{color:#aebccb}
.site-foot a:hover{color:#fff}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:0 0 8px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;color:#7e90a2;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ---------- Doc article (generated pages) ---------- */
.docpage{padding:48px 0 80px}
.docpage .backlink{font-family:var(--mono);font-size:.85rem;color:var(--muted);margin-bottom:18px;display:inline-block}
.article{max-width:860px;margin:0 auto;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:46px 54px;box-shadow:var(--shadow)}
.article h1{margin-top:0;color:var(--heading);letter-spacing:-.4px}
.article h2{color:var(--heading);margin-top:2em;padding-bottom:.3em;border-bottom:2px solid var(--line)}
.article h3{color:var(--heading)}
.article table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.94rem}
.article th,.article td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.article th{background:var(--th-bg)}
.article code{font-family:var(--mono);background:var(--chip-bg);padding:2px 6px;border-radius:5px;font-size:.88em;color:var(--code-text)}
.article pre{background:var(--ink);color:#e7eef4;padding:18px 20px;border-radius:10px;overflow-x:auto;font-size:.85rem;line-height:1.5}
.article pre code{background:none;color:inherit;padding:0}
.article blockquote{margin:1.2em 0;padding:6px 18px;border-left:4px solid var(--accent);background:var(--quote-bg);color:var(--muted);border-radius:0 8px 8px 0}
.article a{font-weight:500}
.article .pdf-top{float:right;margin:0 0 12px 18px}
.doc-meta{color:var(--muted);font-size:.9rem;font-style:italic}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .cols-3{grid-template-columns:1fr}
  .cols-2{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:30px}
  .split.rev .imgcol{order:-1}
  .caps{columns:1}
  .doclist{grid-template-columns:1fr}
  .site-foot .wrap{grid-template-columns:1fr;gap:24px}
  .article{padding:28px 22px}
  .nav{position:fixed;inset:66px 0 auto 0;background:var(--ink);flex-direction:column;align-items:stretch;
    padding:14px 24px 22px;gap:4px;display:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav.open{display:flex}
  .nav a{padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.06)}
  .nav a.cta{text-align:center;margin-top:8px}
  .menu-btn{display:block}
}
