:root{--bg:#f4f1e9;--surface:#ffffff;--text:#1c1a15;--muted:#655f52;--ink:#1c1a15;--gold:#9c841c;--gold-l:#b39848;--line:rgba(28,26,21,.12)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;line-height:1.6;font-size:17px}
h1,h2,h3,.brand,.kicker,.stat b{font-family:'Jost','Futura','Century Gothic','Segoe UI',sans-serif;line-height:1.15;letter-spacing:.005em}
h1{font-size:clamp(1.9rem,4.6vw,3rem);margin:.2em 0 .4em;font-weight:600}h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:1.6em 0 .5em;font-weight:600}h3{font-size:1.15rem;margin:1.1em 0 .4em;font-weight:600}
a{color:var(--ink)}a:hover{color:var(--gold)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}.narrow{max-width:820px}
header.top{background:var(--ink);color:#ece7db;position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(156,132,28,.34)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px}
.brand{font-weight:600;font-size:1.1rem;text-decoration:none;color:#ece7db;white-space:nowrap}.brand span{color:var(--gold-l)}
nav.main{display:flex;gap:2px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;min-width:0;-webkit-overflow-scrolling:touch}nav.main a{text-decoration:none;color:#ece7db;padding:8px 10px;font-size:.93rem;opacity:.9}nav.main a:hover{color:var(--gold-l);opacity:1}
nav.main a.cta{background:var(--gold);color:#0c0a06;font-weight:600;margin-left:6px}
.hero{position:relative;min-height:460px;display:grid;align-items:end;background:#0c0a06;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.hero .in{position:relative;padding-block:64px 38px;padding-inline:0;background:linear-gradient(to top,rgba(12,10,6,.92),rgba(12,10,6,.15));color:#ece7db;width:100%}
.hero h1,.hero p{color:#ece7db;text-shadow:0 1px 10px rgba(0,0,0,.6);max-width:840px}.hero p{font-size:1.12rem}
.kicker{display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l);font-weight:600;margin-bottom:8px}
.btn{display:inline-block;background:var(--ink);color:var(--gold-l)!important;text-decoration:none;padding:13px 24px;font-weight:600;font-family:inherit;font-size:1rem;border:0;cursor:pointer;margin:6px 8px 0 0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.btn.gold{background:var(--gold);color:#0c0a06!important}.btn.line{background:transparent;color:#ece7db!important;box-shadow:inset 0 0 0 1px rgba(236,231,219,.6)}.btn:hover{filter:brightness(1.12)}
.lead{font-size:1.12rem}
.usp{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0}.usp div{background:var(--surface);padding:20px 22px}.usp h3{margin:0 0 6px;font-size:1.05rem}.usp p{margin:0;color:var(--muted);font-size:.95rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:24px 0}.stat{background:var(--surface);padding:20px 22px}.stat b{display:block;font-size:2rem;font-weight:600;color:#6e5d12}.stat span{color:var(--muted);font-size:.92rem}
.segs{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin:18px 0 30px}
.seg{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column}.seg img{aspect-ratio:16/9;object-fit:cover;width:100%}.seg .b{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}.seg h3{margin:0 0 8px}.seg p{margin:0 0 12px;color:var(--muted);font-size:.97rem}.seg .btn{margin-top:auto;align-self:flex-start;padding:10px 18px;font-size:.93rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:16px 0 28px}
.prod{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column}.prod img{aspect-ratio:1;object-fit:contain;background:#fff;width:100%;padding:8px}.prod .b{padding:12px 14px 14px;flex:1;display:flex;flex-direction:column}
.prod h3{margin:0 0 4px;font-size:1rem;line-height:1.3;font-weight:600}.prod small{color:var(--muted);font-size:.8rem}.price{margin:8px 0 4px;font-size:1.25rem;font-weight:600;font-family:'Jost','Futura','Century Gothic',sans-serif}.price.ask{font-size:1rem;color:var(--muted)}
.prod .btn{margin-top:auto;align-self:flex-start;padding:9px 16px;font-size:.92rem}.stock{color:#2e6b2e;font-size:.8rem}
.box{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);padding:20px 22px;margin:26px 0}.box h2,.box h3{margin-top:0}
.note{color:var(--muted);font-size:.88rem}.meta{color:var(--muted);font-size:.9rem;margin-bottom:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:16px 0 32px}.card{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column}.card img{aspect-ratio:16/9;object-fit:cover;width:100%}.card .b{padding:14px 16px 16px}.card h3{margin:0 0 6px;font-size:1.08rem}.card h3 a{text-decoration:none}.card p{margin:0;color:var(--muted);font-size:.95rem}
figure{margin:20px 0}figcaption{font-size:.85rem;color:var(--muted);margin-top:6px}article p,article li{font-size:1.05rem}article table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}article th,article td{border:1px solid var(--line);padding:8px 10px;text-align:left}article th{background:var(--surface)}
details{background:var(--surface);border:1px solid var(--line);padding:10px 16px;margin:8px 0}summary{cursor:pointer;font-weight:600}
.form{background:var(--surface);border:1px solid var(--line);padding:22px;margin:24px 0}.form label{display:block;font-weight:600;margin:12px 0 4px;font-size:.93rem}.form input,.form select,.form textarea{width:100%;padding:11px 12px;border:1px solid rgba(28,26,21,.3);background:#fff;color:var(--text);font:inherit;font-size:1rem}.form textarea{min-height:110px}.form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:14px}.form .chk input{width:auto;margin-top:5px}
.form .out{margin-top:16px;display:none}.form .out textarea{min-height:160px;font-size:.9rem}.ok{background:#eef6ee;border:1px solid #9cc79c;padding:14px 16px;display:none;margin-top:14px}
.crumbs{font-size:.85rem;color:var(--muted);margin:18px 0 6px}.crumbs a{color:var(--muted)}
footer.foot{background:var(--ink);color:#b9b2a3;margin-top:60px;padding:36px 0 28px;font-size:.92rem}footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}footer h4{margin:0 0 8px;color:#ece7db;font-family:'Jost','Futura','Century Gothic',sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}footer a{color:#ece7db}footer ul{list-style:none;padding:0;margin:0}footer li{margin:4px 0}footer .legal{margin-top:24px;border-top:1px solid rgba(156,132,28,.3);padding-top:14px;font-size:.82rem}
@media(max-width:640px){header.top .wrap{flex-wrap:wrap;padding-bottom:4px}.brand{width:100%;padding-top:10px;font-size:1rem;white-space:normal}nav.main{width:100%;margin-left:-10px}.hero{min-height:360px}body{font-size:16px}.hero .in{padding-block:42px 28px}}

/* --- sekce „Kdo jsme“ (generator/about.py) --- */
.au{margin:3rem 0;padding:0}
.au .au-kicker{display:inline-block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:.35rem}
.au h2{margin:.1rem 0 .7rem}
.au .au-lead{font-size:1.09rem;line-height:1.6;max-width:62ch}
.au .au-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.4rem 2rem;margin:1.6rem 0;align-items:start}  /* 215px: tři bloky se vejdou na jeden řádek i v úzkém .wrap.narrow (800 px) */
.au .au-cols h3{margin:0 0 .3rem;font-size:1.03rem}
.au .au-cols p{margin:0;line-height:1.6}
.au figure{margin:0}
.au figure img{display:block;width:100%;height:auto;border-radius:10px;object-fit:cover;background:rgba(127,127,127,.12)}
.au figcaption{font-size:.83rem;line-height:1.45;opacity:.78;margin-top:.4rem}
.au .au-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.5rem 0}
.au .au-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.1rem;margin:1.5rem 0;padding:0;list-style:none;max-width:660px}
.au .au-people li{margin:0;max-width:210px}
.au .au-people img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border-radius:10px;background:rgba(127,127,127,.12)}
.au .au-people strong{display:block;margin-top:.5rem;line-height:1.3}
.au .au-people span{display:block;font-size:.85rem;opacity:.75}
.au blockquote.au-q{margin:1.6rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:3px solid currentColor;max-width:62ch}
.au blockquote.au-q p{margin:0;font-size:1.05rem;line-height:1.6;font-style:italic}
.au .au-where{font-size:.92rem;line-height:1.6;opacity:.85;max-width:62ch}
.au blockquote.au-q cite{display:block;margin-top:.5rem;font-style:normal;font-size:.87rem;opacity:.78}
@media (max-width:640px){.au{margin:2.2rem 0}.au .au-gal,.au .au-people{gap:.8rem}
.au .au-people{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.au .au-people li{max-width:none}}

/* ---- krátký poptávkový formulář (generator/leadform.py) ---- */
.lf[hidden],.lf [hidden]{display:none!important}
.lf{background:var(--surface,#fff);border:1px solid var(--line,rgba(0,0,0,.14));border-radius:12px;
padding:22px;margin:26px 0;max-width:640px}
.lf h2,.lf h3{margin-top:0}
.lf p{margin:.5em 0}
.lf label{display:block;font-weight:600;margin:14px 0 5px;font-size:.95rem}
.lf input,.lf select,.lf textarea{display:block;width:100%;box-sizing:border-box;min-height:44px;
padding:11px 12px;font:inherit;font-size:16px;line-height:1.35;border-radius:8px;
border:1px solid var(--line,rgba(0,0,0,.28));background:#fff;color:var(--text,#1c1a15)}
.lf textarea{min-height:88px;resize:vertical}
.lf input:focus,.lf select:focus,.lf textarea:focus{outline:2px solid var(--accent,#9c841c);outline-offset:1px}
.lf button{min-height:48px;width:100%;margin-top:18px;cursor:pointer}
@media(min-width:560px){.lf button{width:auto;min-width:250px}}
.lf .lf-note{font-size:.85rem;color:var(--muted,#666);margin-top:12px}
.lf .lf-chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:16px;font-size:.9rem}
.lf .lf-chk input{width:auto;min-height:0;margin-top:3px;flex:0 0 auto}
.lf-ok h3{margin-bottom:.2em}
.lf-more{margin-top:18px;padding-top:6px;border-top:1px solid var(--line,rgba(0,0,0,.14))}
.lf-fail textarea{min-height:150px;font-size:.85rem}
.lf-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* Pozor na kontrast: weby site pouzivaji SVETLE tema (--surface/--text/--line/--gold z leads.py::css).
   Drive tu byly promenne --panel/--accent, ktere zadny web nedefinuje → spadlo to na tmavy fallback
   a v boxu byl tmavy text na tmavem pozadi. Proto se drzime jen promennych, ktere weby opravdu maji,
   a barvu textu nastavujeme vzdy explicitne. */
.ltool{background:var(--surface,#fff);color:var(--text,#1c1a15);border:1px solid var(--line,rgba(28,26,21,.12));
 border-radius:14px;padding:20px;margin:26px 0}
.ltool h2{margin:0 0 6px;color:var(--text,#1c1a15)}
.ltool h3{margin:18px 0 8px;font-size:1.02rem;color:var(--text,#1c1a15)}
.ltool > p{color:var(--text,#1c1a15)}
.ltool .lt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.ltool label{display:block;font-size:.88rem;color:var(--muted,#655f52);margin:0}
.ltool input,.ltool select{display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:5px;
 background:var(--bg,#f4f1e9);color:var(--text,#1c1a15);border:1px solid var(--line,rgba(28,26,21,.2));
 border-radius:8px;padding:9px 11px;font:inherit}
.ltool input:focus,.ltool select:focus{outline:2px solid var(--gold,#9c841c);outline-offset:1px}
.ltool .lt-res{display:none;margin-top:18px;padding:16px;border:1px solid var(--gold,#9c841c);border-radius:10px;
 background:rgba(156,132,28,.08);color:var(--text,#1c1a15)}
.ltool .lt-res p{margin:7px 0;font-size:.95rem;color:var(--text,#1c1a15)}
.ltool .lt-res p.meta{margin:0;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted,#655f52)}
.ltool .lt-big{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.15;
 margin:2px 0 10px;color:var(--text,#1c1a15)}
.ltool .lt-res strong{color:var(--text,#1c1a15)}
.ltool .lt-ok{margin-top:10px;font-size:.88rem;font-weight:600;color:var(--gold,#9c841c)}
.ltool .lt-how{margin:12px 0 0;padding-left:20px;font-size:.86rem;color:var(--muted,#655f52)}
.ltool .lt-how li{margin:6px 0}
@media(max-width:560px){.ltool{padding:15px}.ltool .lt-big{font-size:1.6rem}}
