/* Zlatá Kotva – bazar & zastavárna Štětí. Produkční CSS podle schváleného návrhu B2. */

/* ===== písma (self-host, latin + latin-ext) ===== */
@font-face{font-family:"Quicksand";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/quicksand-v37-latin_latin-ext-500.woff2") format("woff2")}
@font-face{font-family:"Quicksand";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/quicksand-v37-latin_latin-ext-600.woff2") format("woff2")}
@font-face{font-family:"Quicksand";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/quicksand-v37-latin_latin-ext-700.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/source-sans-3-v19-latin_latin-ext-regular.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/source-sans-3-v19-latin_latin-ext-italic.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/source-sans-3-v19-latin_latin-ext-600.woff2") format("woff2")}
/* Záložní písma s upravenou metrikou (size-adjust/ascent/descent podle hhea a šířek glyfů, Arial ≈ Liberation Sans):
   do načtení webfontu zabírá text stejné místo → žádný posun rozvržení (CLS) při font-display:swap. */
@font-face{font-family:"Quicksand fb";font-weight:500;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans");size-adjust:105.46%;ascent-override:94.83%;descent-override:23.71%;line-gap-override:0%}
@font-face{font-family:"Quicksand fb";font-weight:600;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");size-adjust:101.58%;ascent-override:98.44%;descent-override:24.61%;line-gap-override:0%}
@font-face{font-family:"Quicksand fb";font-weight:700;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");size-adjust:103.45%;ascent-override:96.66%;descent-override:24.17%;line-gap-override:0%}
@font-face{font-family:"Source Sans 3 fb";font-weight:400;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans");size-adjust:92.83%;ascent-override:110.31%;descent-override:43.09%;line-gap-override:0%}
@font-face{font-family:"Source Sans 3 fb";font-style:italic;font-weight:400;src:local("Arial Italic"),local("Arial-ItalicMT"),local("Liberation Sans Italic"),local("LiberationSans-Italic");size-adjust:91.21%;ascent-override:112.27%;descent-override:43.86%;line-gap-override:0%}
@font-face{font-family:"Source Sans 3 fb";font-weight:600 700;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");size-adjust:90.67%;ascent-override:112.94%;descent-override:44.12%;line-gap-override:0%}

:root{
  --papir:#FAF7F0;
  --papir-2:#F3EDDF;
  --karta:#FFFDF8;
  --ink:#2B2A26;
  --ink-2:#5E5F5C;
  --ink-3:#676761;
  --linka:#E3DCCB;
  --zlata:#E5C876;
  --zlata-text:#7F6110;
  --zlata-tmava:#B8922E;
  --zlata-svetla:#F5EBCD;
  --seda:#B3B4B3;
  --otevreno:#2F7D4A;
  --otevreno-svetla:#9FDDB3;
  --zavreno:#9A3B3B;
  --zavreno-svetla:#F2AFA7;
  --k-zlato:#7F6110;         --k-zlato-bg:#F3E6BF;
  --k-elektronika:#3E6A70;   --k-elektronika-bg:#D9E6E7;
  --k-vozidla:#984931;       --k-vozidla-bg:#F0DCD3;
  --k-starozitnosti:#6B4350; --k-starozitnosti-bg:#E8D9DD;
  --r-blok:22px;
  --r-ovl:12px;
  --nadpis:"Quicksand","Quicksand fb",system-ui,sans-serif;
  --text:"Source Sans 3","Source Sans 3 fb",system-ui,sans-serif;
  /* jedna svislice: obsah všech sekcí má šířku regálu (#regal-svg) */
  --obal-siroky:1320px;
  --obal:var(--obal-siroky);
  --obal-uzky:760px;
  --okraj:16px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{
  margin:0;background:var(--papir);color:var(--ink);
  font-family:var(--text);font-size:17px;line-height:1.55;
  overflow-x:hidden;overflow-wrap:anywhere;
  padding-bottom:84px;
}
img,svg{display:block;max-width:100%}
.ikony-sprite{position:absolute;width:0;height:0;overflow:hidden}
a{color:var(--zlata-text);text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--nadpis);font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:0;overflow-wrap:normal}
h1{font-size:clamp(2rem,5.2vw + .5rem,3.3rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,2.6vw + .8rem,2.4rem);margin-bottom:.6em}
h3{font-size:1.25rem}
p{margin:0 0 1em}
small{font-size:.85em}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--papir-2);padding:1px 5px;border-radius:5px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--zlata-tmava);outline-offset:3px;border-radius:6px}
button{font:inherit;color:inherit}

.obal{width:100%;max-width:var(--obal);margin:0 auto;padding-left:var(--okraj);padding-right:var(--okraj)}
.obal-siroky{max-width:var(--obal-siroky)}
.obal-uzky{max-width:var(--obal-uzky)}
.ik{width:22px;height:22px;flex:none}

/* ===== tlačítka ===== */
.tl{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 20px;border-radius:999px;border:2px solid transparent;
  font-family:var(--nadpis);font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;line-height:1.2;
  transition:transform .15s ease,background-color .15s ease,color .15s ease;
}
.tl:active{transform:translateY(1px)}
.tl-velke{min-height:56px;padding:0 26px;font-size:1.1rem}
.tl-zlata{background:var(--zlata);color:var(--ink)}
.tl-zlata:hover{background:#EBD48E;color:var(--ink)}
.tl-obrys{background:transparent;color:var(--ink);border-color:var(--ink)}
.tl-obrys:hover{background:var(--ink);color:#fff}
.tl-obrys-sv{background:transparent;color:#F1E9CF;border-color:#F1E9CF}
.tl-obrys-sv:hover{background:#F1E9CF;color:var(--ink)}
.tl-tmava{background:var(--ink);color:#fff}
.tl-tmava:hover{background:#45443F;color:#fff}
.tl[disabled],.tl.je-odesilam{opacity:.6;cursor:progress;transform:none}
.tl-ikona{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer}
.tl-ikona:hover{background:var(--papir-2)}
.odkaz-tl{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ===== hlavička ===== */
.hlava{position:sticky;top:0;z-index:40;background:rgba(250,247,240,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linka)}
.hlava-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.znacka{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:var(--ink);min-width:0}
.znacka:hover{color:var(--ink)}
.znacka picture{flex:none}
.znacka-logo{display:block;height:44px;width:auto}
.menu{display:none}
.menu a{font-family:var(--nadpis);font-weight:600;color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:999px;white-space:nowrap}
.menu a:hover,.menu a[aria-current]{background:var(--zlata-svetla)}
.hlava-tel{min-height:44px;padding:0 16px}
.hlava-tel span:not(.sr){display:none}

/* banner oznámení */
.banner{background:var(--zlata-svetla);border-bottom:1px solid var(--linka)}
.banner-in{display:flex;align-items:center;gap:10px;padding-top:10px;padding-bottom:10px;font-size:.95rem}
.banner .ik{color:var(--zlata-text)}
.banner p{margin:0}
.banner a{margin-left:.5em;font-weight:600}

/* ===== hero ===== */
.hero{padding:28px 0 36px}
.hero-in{display:grid;gap:36px}
.h1-firma{display:block;font-family:var(--text);font-weight:600;font-size:1.05rem;letter-spacing:0;line-height:1.3;color:var(--zlata-text);margin-bottom:10px}
.hero-pod{font-size:1.15rem;color:var(--ink-2);max-width:34em;margin:18px 0 24px}
.hero-akce{display:flex;flex-wrap:wrap;gap:12px}
.hero-akce .tl{flex:1 1 auto}

/* cedule s otevírací dobou (návrh C, 07/10/2026): smaltovaná tabulka na dveřích pod tlačítky v hero —
 * tmavý smalt, zlatá linka, čtyři šrouby, ražené písmo, živý stav v zapuštěném okénku (app.js obnovCeduli).
 * Kontrast (WCAG AA): okénko #F1E9CF × stav 5,5–6,4 : 1, text na smaltu 6,8–12,9 : 1. */
.smalt{
  --smalt:#272621;--smalt-text:#F3ECD8;--smalt-zlata:#CDB36A;--smalt-tlumena:#B6AE98;--okenko:#F1E9CF;
  --stav:#8E3434;--sroub:13px;--okraj:22px;
  position:relative;display:block;width:100%;max-width:640px;margin:32px 0 0;padding:16px;border-radius:14px;
  background:var(--smalt);color:var(--smalt-text);
  /* hrana smaltu: světlejší horní lom, tmavší spodní, tenký kovový lem a stín od zdi */
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 -3px 0 rgba(0,0,0,.38),inset 0 0 0 2px #1E1D19,
    0 0 0 1px #12110E,0 1px 0 1px rgba(255,255,255,.35),0 16px 26px -16px rgba(30,24,10,.75);
}
.smalt[data-stav="otevreno"]{--stav:#24683C}
.smalt[data-stav="pauza"]{--stav:#725710}
.smalt[data-stav="nezjisteno"]{--stav:#4A4A44}
/* zlatá linka rámečku obíhá uvnitř šroubů */
.smalt::before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1.5px solid #BFA45C;border-radius:9px;pointer-events:none}
.sroub{position:absolute;width:var(--sroub);height:var(--sroub);border-radius:50%;z-index:1;
  background:radial-gradient(circle at 38% 32%,#F2EFE6 0,#B9B4A6 45%,#77725F 100%);
  box-shadow:0 1px 1.5px rgba(0,0,0,.75),0 0 0 2px rgba(0,0,0,.28)}
.sroub::after{content:"";position:absolute;left:2px;right:2px;top:calc(50% - 1px);height:2px;border-radius:1px;background:#57534A;transform:rotate(var(--r,20deg))}
.sroub.s1{top:var(--okraj);left:var(--okraj);--r:28deg}.sroub.s2{top:var(--okraj);right:var(--okraj);--r:-62deg}
.sroub.s3{bottom:var(--okraj);left:var(--okraj);--r:-15deg}.sroub.s4{bottom:var(--okraj);right:var(--okraj);--r:71deg}
/* obsah mezi šrouby: tabulka vlevo, okénko vpravo, obě svisle na střed */
/* flex s zalomením: když se dlouhý řádek výjimky („Po 12/10–Út 13/10“) s okénkem nevejde vedle sebe, okénko přejde
   pod časy (dřív grid okénko přes časy překryl, např. telefon na šířku 915 px) */
.smalt-in{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:24px 40px 22px}
.smalt-doba{flex:0 1 auto;min-width:0}
.smalt-okenko{order:2;flex:0 0 auto;display:grid;justify-items:center;align-content:center;gap:4px;min-width:12.5em;padding:14px 20px 13px;border-radius:6px;
  background:var(--okenko);text-align:center;
  box-shadow:inset 0 3px 5px rgba(0,0,0,.5),inset 0 -1px 0 rgba(255,255,255,.45),0 0 0 2px #1B1A16,0 1px 0 2px rgba(255,255,255,.08)}
.smalt-slovo{font-family:var(--nadpis);font-weight:700;font-size:1.45rem;line-height:1.05;letter-spacing:.12em;text-transform:uppercase;color:var(--stav);transition:color .3s}
.smalt-pozn{font-size:1rem;font-weight:600;line-height:1.25;color:var(--ink)}
.smalt-duvod{margin-top:2px;font-size:.92rem;font-weight:600;line-height:1.2;color:#8E3434}
.smalt-nadpis{margin:0 0 12px;font-family:var(--nadpis);font-weight:700;font-size:.86rem;line-height:1;letter-spacing:.26em;text-transform:uppercase;color:var(--smalt-zlata)}
/* dny a časy ve dvou zarovnaných sloupcích, čísla tabulková (9–12 a 14–17 pod sebou lícují) */
.smalt-hodiny{margin:0;display:grid;grid-template-columns:max-content max-content;gap:6px 22px;font-family:var(--nadpis);font-weight:700;font-size:1.42rem;line-height:1.2;
  text-shadow:0 1px 0 rgba(0,0,0,.6),0 -1px 0 rgba(255,255,255,.05)}
.smalt-hodiny div{display:contents}
.smalt-hodiny dt{color:var(--smalt-zlata);white-space:nowrap}
.smalt-hodiny dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.smalt-cas{white-space:nowrap}
.smalt-tecka{color:#8C846C}
.smalt-zavreno{color:var(--smalt-tlumena)}
.smalt-hodiny .je-odlisny dt,.smalt-hodiny .je-odlisny .smalt-zavreno{color:#F2AFA7}
.smalt-vyj{display:block;font-family:var(--text);font-size:.86rem;font-weight:400;line-height:1.25;color:var(--smalt-tlumena);text-shadow:none;white-space:normal}
/* důvod dneška už nese okénko → v tabulce se neopakuje */
.smalt:has(#cedule-duvod) .je-dnes .smalt-vyj{display:none}
@media (max-width:639px){
  .smalt{--okraj:18px;margin-top:26px;padding:12px}
  .smalt-in{flex-direction:column;align-items:stretch;gap:16px;padding:22px 26px 20px}
  .smalt-in>*{min-width:0}
  /* dlouhý řádek výjimky („Po 12/10–Út 13/10“) se na úzkém telefonu zalomí v názvu dne, ne za okrajem cedule */
  .smalt-hodiny{grid-template-columns:auto auto;justify-content:start}
  .smalt-hodiny dt{white-space:normal}
  .smalt-okenko{order:0;min-width:0}
  .smalt-hodiny{font-size:1.3rem;gap:6px 18px}
}
@media (min-width:1600px){
  .smalt{max-width:700px;margin-top:40px;--sroub:14px;--okraj:24px}
  .smalt-in{padding:28px 46px 24px}
  .smalt-hodiny{font-size:1.55rem}
  .smalt-slovo{font-size:1.6rem}
}
/* mini cedule na stránce oznámení (stejná živá logika app.js) */
.cedule-mini{display:inline-grid;gap:2px;padding:12px 18px;background:var(--ink);color:#F1E9CF;border-radius:14px;margin:8px 0 24px}
.cedule-mini .cedule-slovo{font-family:var(--nadpis);font-weight:700;font-size:1.3rem;line-height:1;color:var(--seda)}
.cedule-mini[data-stav="otevreno"] .cedule-slovo{color:var(--otevreno-svetla)}
.cedule-mini[data-stav="zavreno"] .cedule-slovo{color:var(--zavreno-svetla)}
.cedule-mini[data-stav="pauza"] .cedule-slovo{color:var(--zlata)}
.cedule-mini .cedule-pozn{font-size:.9rem;font-weight:400;color:#E9E4D4}

/* logo + zavěšená visačka */
.hero-visacka{display:grid;justify-items:center}
.logo-zaves{position:relative;width:min(100%,340px)}
.hero-logo{width:100%;height:auto;position:relative;z-index:1}
.zaves{position:relative;width:312px;margin:-15.5% auto 0;transform-origin:50% 0;z-index:0}
.zaves .snurka{width:40px;height:96px;margin:0 auto;fill:none;stroke:var(--seda);stroke-width:2.2}
.zaves .snurka circle{fill:var(--papir);stroke:var(--zlata-tmava);stroke-width:2.5}
.visacka-stin{filter:drop-shadow(0 16px 22px rgba(90,70,20,.18)) drop-shadow(0 1px 1px rgba(43,42,38,.12));margin-top:-10px}
.visacka{position:relative;width:312px;height:300px;margin:0 auto}
/* B5 (nález B4): visačka má pevných 312 px (tvar SVG) — na telefonech užších než 360 px (320 px = 288 px obsahu) přetékala
   o ~24 px; zoom zmenší celý závěs i s textem úměrně a zmenší i jeho místo v rozvržení (transform by místo nezmenšil) */
@media (max-width:359px){.zaves{zoom:.88}}
.visacka-tvar{position:absolute;top:0;right:0;bottom:0;left:0;width:312px;height:300px;fill:var(--karta);stroke:var(--linka);stroke-width:2}
.visacka-dirka{fill:var(--papir);stroke:var(--zlata-tmava);stroke-width:3}
.visacka-obsah{position:relative;padding:48px 26px 20px;display:grid;gap:12px}
.visacka-radek{display:grid;gap:0;padding-bottom:10px;border-bottom:1px dashed var(--linka)}
.visacka-pop{font-size:.92rem;font-weight:600;color:var(--ink-2)}
.visacka-cena{font-family:var(--nadpis);font-weight:700;font-size:1.3rem;line-height:1;display:flex;align-items:baseline;gap:.3em;color:var(--zlata-text)}
.visacka-cena b{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.visacka-cena .az{font-family:var(--text);font-weight:600;font-size:1.05rem;color:var(--ink-2);margin-right:-.05em}
.visacka-cena .za{font-family:var(--text);font-weight:400;font-size:.9rem;color:var(--ink-3);margin-left:.1em}
.visacka-pata{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:2px}
.visacka-pozn{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.25;color:var(--ink-3)}
.visacka-pozn-pop{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.visacka-pozn-datum{font-family:var(--nadpis);font-weight:700;font-size:1.05rem;letter-spacing:.02em;color:var(--ink-2);font-variant-numeric:tabular-nums}
.punc{
  display:inline-grid;place-items:center;flex:none;
  min-width:3.4em;height:2.2em;padding:0 .6em;border-radius:50%;
  font-family:var(--nadpis);font-weight:700;font-size:.9rem;letter-spacing:.03em;color:var(--zlata-text);
  background:var(--karta);
  box-shadow:inset 0 0 0 1.5px var(--zlata-tmava),inset 0 0 0 3.5px var(--karta),inset 0 0 0 5px var(--zlata-tmava);
}
/* houpání visačky: celý závěs se kývá kolem očka pod logem a visačka se kývá kolem dírky se zpožděním (setrvačnost).
 * Diagnóza 07/10/2026 (Chromium 152 + Firefox 157, 1280/2560/3440): animace běží na .zaves a .visacka-stin, nic ji
 * nepřebíjí. Visačka stála jen tam, kde systém hlásí prefers-reduced-motion: reduce (Windows „Efekty animace“ vypnuté,
 * vzdálená plocha, úsporný režim) — globální pravidlo na konci souboru vypínalo všechny animace včetně této.
 * Proto: bez omezení výrazné kývání ±2,6° / 4,6 s; s omezením pohybu jen velmi pomalé jemné kývání ±0,9° / 10 s
 * (bez zrychlení, bez pohybu obsahu vůči visačce) — výjimka z globálního vypnutí je dole u @media reduce. */
@keyframes houpani{0%,100%{transform:rotate(-2.6deg)}50%{transform:rotate(2.6deg)}}
@keyframes houpani-visacka{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes houpani-jemne{0%,100%{transform:rotate(-.9deg)}50%{transform:rotate(.9deg)}}
.visacka-stin{transform-origin:50% 27px}
@media (prefers-reduced-motion:no-preference){
  .zaves{animation:houpani 4.6s ease-in-out infinite}
  .visacka-stin{animation:houpani-visacka 4.6s ease-in-out -.7s infinite}
}

/* ===== sekce ===== */
.sekce{padding:56px 0}
.sekce-tint{background:var(--papir-2)}
.uvodka{color:var(--ink-2);max-width:40em;text-wrap:pretty;margin-top:-.3em;margin-bottom:1.6em;font-size:1.1rem}
.sekce-hlava{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:.6em}
.sekce-hlava h1,.sekce-hlava h2{margin-bottom:0}

/* služby */
.sluzby{display:grid;gap:14px}
.sluzba{
  display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:4px;align-items:center;
  padding:22px 22px 22px 20px;border-radius:var(--r-blok);background:var(--karta);border:2px solid var(--linka);
  color:var(--ink);text-decoration:none;transition:border-color .15s ease;
}
.sluzba:hover{border-color:var(--zlata);color:var(--ink)}
.ik-velka{width:48px;height:48px;color:var(--zlata-text);grid-row:1/3;padding:9px;border-radius:14px;background:var(--zlata-svetla)}
.ik-sluzba{width:48px;height:48px;color:var(--zlata-text);grid-row:1/3}
.sluzba-naz{font-family:var(--nadpis);font-weight:700;font-size:1.35rem}
.sluzba-pop{color:var(--ink-2);font-size:1rem;line-height:1.45}

/* ===== regál ===== */
.sekce-regal{padding-top:24px}
.regal-hlava{max-width:var(--obal);margin:0 auto}
.regal-hlava .uvodka{margin-bottom:1.2em}
.regal-scena{position:relative;border-radius:28px;overflow:visible}
.regal-svg{width:100%;height:auto;display:block;border-radius:28px;box-shadow:0 30px 60px -40px rgba(90,70,20,.45)}
.regal-svg .vrstva-m{display:none}
.regal-svg.je-mobil .vrstva-m{display:block}
.regal-svg.je-mobil .vrstva-d{display:none}

/* Položka regálu: ukazatel přijímá JEN pevná neviditelná plocha .hit (nehýbe se), dekor a tělo mají pointer-events:none.
 * Zvýraznění řídí app.js třídou .je-vybrana – vždy nejvýš jedna položka (hover, fokus i dotyk). */
.vrstva,.cenovka{pointer-events:none}
.pol{cursor:pointer;outline:none;--kb:var(--ink)}
.pol[data-kat="zlato"]{--kb:var(--k-zlato)}
.pol[data-kat="elektronika"]{--kb:var(--k-elektronika)}
.pol[data-kat="vozidla"]{--kb:var(--k-vozidla)}
.pol[data-kat="starozitnosti"]{--kb:var(--k-starozitnosti)}
.pol > *{pointer-events:none}
.pol .hit{pointer-events:all;fill:none;stroke:none}
.pol:focus-visible .hit{stroke:var(--kb);stroke-width:3;stroke-dasharray:10 7;stroke-linejoin:round}
.pol .stin{fill:#5A4620;opacity:.16;transition:opacity .25s ease,transform .25s ease;transform-box:fill-box;transform-origin:center}
.pol .telo{transform-box:fill-box;transform-origin:50% 100%;transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .3s ease,opacity .25s ease}
.pol.je-vybrana .telo,.regal-svg:not(.je-js) .pol:hover .telo{
  transform:translateY(-8px) scale(1.04);
  filter:drop-shadow(0 12px 14px rgba(43,42,38,.22));
  filter:drop-shadow(0 12px 14px color-mix(in srgb,var(--kb) 40%,transparent));
}
.pol.je-vybrana .stin,.regal-svg:not(.je-js) .pol:hover .stin{opacity:.28;transform:scale(1.12,1.3)}
.regal-svg.ma-vyber .pol:not(.je-kat):not(.je-vybrana) .telo{opacity:.5}
.pol.je-vybrana .mikro-svetlo{opacity:.55}

.regal-tip{
  position:absolute;z-index:5;pointer-events:none;
  display:grid;gap:2px;justify-items:center;text-align:center;
  padding:10px 14px 9px;border-radius:14px;background:var(--karta);border:2px solid var(--linka);
  box-shadow:0 14px 28px -14px rgba(90,70,20,.45);
  transform:translate(-50%,calc(-100% - 14px));min-width:150px;max-width:230px;
  opacity:0;transition:opacity .2s ease;
}
.regal-tip.je-videt{opacity:1}
.regal-tip.je-dole{transform:translate(-50%,16px)}
.regal-tip::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:var(--karta);border-right:2px solid var(--linka);border-bottom:2px solid var(--linka);transform:translateX(-50%) rotate(45deg)}
.regal-tip.je-dole::after{bottom:auto;top:-8px;transform:translateX(-50%) rotate(-135deg)}
.regal-tip-naz{font-family:var(--nadpis);font-weight:700;font-size:1.02rem;line-height:1.15;color:var(--ink)}
.regal-tip-kat{font-size:.85rem;font-weight:600;line-height:1.2;color:var(--kb,var(--ink-2));padding:3px 10px;border-radius:999px;background:var(--kbg,var(--papir-2))}
.regal-tip-hint{font-size:.78rem;color:var(--ink-3);line-height:1.2}
.regal-tip-hint:empty{display:none}
.regal-tip[data-kat="zlato"],.legenda-pol[data-kat="zlato"],.filtr-pol[data-kat="zlato"],.karta-kat[data-kat="zlato"]{--kb:var(--k-zlato);--kbg:var(--k-zlato-bg)}
.regal-tip[data-kat="elektronika"],.legenda-pol[data-kat="elektronika"],.filtr-pol[data-kat="elektronika"],.karta-kat[data-kat="elektronika"]{--kb:var(--k-elektronika);--kbg:var(--k-elektronika-bg)}
.regal-tip[data-kat="vozidla"],.legenda-pol[data-kat="vozidla"],.filtr-pol[data-kat="vozidla"],.karta-kat[data-kat="vozidla"]{--kb:var(--k-vozidla);--kbg:var(--k-vozidla-bg)}
.regal-tip[data-kat="starozitnosti"],.legenda-pol[data-kat="starozitnosti"],.filtr-pol[data-kat="starozitnosti"],.karta-kat[data-kat="starozitnosti"]{--kb:var(--k-starozitnosti);--kbg:var(--k-starozitnosti-bg)}

/* skupiny zboží pod regálem: mřížka stejně širokých voleb (2 sloupce na mobilu, 4 od 720 px) zarovnaná s regálem.
 * Výběr (hover, fokus, nebo zvýraznění z regálu – třída .zvyraz) podbarví volbu barvou skupiny a v regálu zeslábnou ostatní skupiny. */
.legenda{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.legenda li{display:flex}
.legenda-pol{
  flex:1;display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px 10px 14px;border-radius:16px;
  background:var(--karta);border:2px solid var(--linka);color:var(--ink);text-decoration:none;
  font-family:var(--nadpis);font-weight:700;font-size:.98rem;line-height:1.2;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
  --kb:var(--ink);--kbg:var(--papir-2);
}
.legenda-ik{width:26px;height:26px;flex:none;color:var(--kb)}
.legenda-naz{flex:1;min-width:0}
.legenda-sipka{width:18px;height:18px;flex:none;color:var(--ink-3);transform:rotate(-90deg);opacity:.55;transition:opacity .2s ease,transform .2s ease,color .2s ease}
.legenda-pol:hover,.legenda-pol:focus-visible,.legenda-pol.zvyraz{border-color:var(--kb);background:var(--kbg);color:var(--ink);box-shadow:0 10px 22px -18px var(--kb)}
.legenda-pol:hover .legenda-sipka,.legenda-pol:focus-visible .legenda-sipka,.legenda-pol.zvyraz .legenda-sipka{opacity:1;color:var(--kb);transform:rotate(-90deg) translateY(3px)}
.legenda-pol:focus-visible{outline-offset:2px}
.filtr-pol{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;border-radius:999px;
  background:var(--karta);border:2px solid var(--linka);color:var(--ink);text-decoration:none;
  font-family:var(--nadpis);font-weight:600;font-size:.95rem;transition:border-color .15s ease,background-color .15s ease;
  --kb:var(--ink);--kbg:var(--papir-2);
}
.legenda-tecka{width:14px;height:14px;border-radius:50%;background:var(--kb);flex:none}
.filtr-pol:hover,.filtr-pol.je-aktivni{border-color:var(--kb);background:var(--kbg);color:var(--ink)}

/* idle animace (jen bez reduced-motion) */
@media (prefers-reduced-motion:no-preference){
  .cenovka-telo{transform-box:fill-box;transform-origin:50% 0;animation:cenovka-houp 4.8s ease-in-out infinite}
  .cenovka-2 .cenovka-telo{animation-duration:5.6s;animation-delay:-2s}
  @keyframes cenovka-houp{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
  .kotva-zed > g{transform-box:fill-box;transform-origin:50% 0;animation:kotva-houp 9s ease-in-out infinite}
  @keyframes kotva-houp{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
  .obraz-svit{animation:svit 4s ease-in-out infinite}
  @keyframes svit{0%,100%{opacity:.04}50%{opacity:.16}}
  .oznam{transform-box:fill-box;transform-origin:center;animation:oznam 5s ease-in-out infinite}
  @keyframes oznam{0%,78%{transform:scale(1);opacity:1}84%{transform:scale(1.5);opacity:1}90%{transform:scale(1);opacity:1}100%{transform:scale(1)}}
  .tlac circle{animation:blik 2.8s ease-in-out infinite}
  .tlac-2{animation-delay:.7s!important}.tlac-3{animation-delay:1.4s!important}.tlac-4{animation-delay:2.1s!important}
  @keyframes blik{0%,70%,100%{opacity:1}80%{opacity:.25}}
  .retez-lesk{animation:lesk 5.5s linear infinite}
  @keyframes lesk{0%{stroke-dashoffset:422}100%{stroke-dashoffset:0}}
  .jiskra{transform-box:fill-box;transform-origin:center;animation:jiskra 3.6s ease-in-out infinite}
  @keyframes jiskra{0%,60%,100%{transform:scale(.4);opacity:0}75%{transform:scale(1.2);opacity:1}90%{transform:scale(.6);opacity:.6}}
  .glint{animation:glint 6s ease-in-out infinite}
  @keyframes glint{0%,80%,100%{opacity:.8}88%{opacity:.2}}
  .pol.je-vybrana .zavity{animation:vrtani .35s linear infinite}
  @keyframes vrtani{0%{transform:translateX(0)}100%{transform:translateX(-10px)}}
  .pol.je-vybrana .led{opacity:1;filter:drop-shadow(0 0 4px #E5C876)}
  .mikro-svetlo{transition:opacity .3s ease}
}
@media (prefers-reduced-motion:reduce){
  .pol .telo,.pol .stin{transition:none}
  .pol.je-vybrana .telo,.regal-svg:not(.je-js) .pol:hover .telo{transform:none}
  .pol .led{opacity:.35}
}

/* ===== kategorie ===== */
.kategorie{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kat{
  position:relative;padding:20px 18px;border-radius:var(--r-blok);background:var(--ab);color:var(--ink);
  min-height:180px;display:flex;flex-direction:column;gap:8px;outline:none;
  --a:var(--ink);--ab:var(--papir-2);
}
.kat[data-kat="zlato"]{--a:var(--k-zlato);--ab:var(--k-zlato-bg)}
.kat[data-kat="elektronika"]{--a:var(--k-elektronika);--ab:var(--k-elektronika-bg)}
.kat[data-kat="vozidla"]{--a:var(--k-vozidla);--ab:var(--k-vozidla-bg)}
.kat[data-kat="starozitnosti"]{--a:var(--k-starozitnosti);--ab:var(--k-starozitnosti-bg)}
.kat h3{color:var(--a);font-size:1.15rem}
.kat p{margin:0;font-size:.95rem;line-height:1.45;color:var(--ink-2)}
.ik-kat{width:40px;height:40px;color:var(--a);margin-bottom:4px}
.kat:target,.kat.je-cil{box-shadow:0 0 0 3px var(--a),0 18px 36px -24px rgba(43,42,38,.35);box-shadow:0 0 0 3px var(--a),0 18px 36px -24px color-mix(in srgb,var(--a) 60%,transparent)}
.kat-zlato{grid-column:1/-1;flex-direction:column}
.kategorie > .kat:last-child:nth-child(even){grid-column:1/-1}
.kat-zlato h3{font-size:1.4rem}
.stitky{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.stitky li{font-size:.85rem;font-weight:600;color:var(--a);background:rgba(255,253,248,.7);border:1px solid var(--linka);border:1px solid color-mix(in srgb,var(--a) 30%,transparent);border-radius:999px;padding:3px 10px}
.kat-odkaz{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;padding-top:4px;font-family:var(--nadpis);font-weight:700;font-size:.95rem;color:var(--a);text-decoration:none}
.kat-odkaz:hover{text-decoration:underline;color:var(--a)}

/* ===== karty katalogu ===== */
.karty{display:grid;gap:14px}
.karta{position:relative;display:flex;flex-direction:column;border-radius:var(--r-blok);background:var(--karta);border:2px solid var(--linka);overflow:hidden;transition:border-color .15s ease}
.karta:hover{border-color:var(--zlata)}
.karta-foto{position:relative;display:block;aspect-ratio:4/3;background:var(--papir-2)}
.karta-foto img{width:100%;height:100%;object-fit:cover}
.karta.je-prodano .karta-foto img{filter:grayscale(.6);opacity:.75}
.karta-bez-fota{display:grid;place-items:center;align-content:center;gap:6px;height:100%;padding:12px;color:var(--ink-3);font-size:.9rem;text-align:center}
.karta-bez-fota .ik{width:30px;height:30px}
.odznak-dost{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:999px;font-family:var(--nadpis);font-weight:700;font-size:.8rem;background:var(--karta);color:var(--ink);border:1px solid var(--linka)}
.odznak-dost.je-inline{position:static;display:inline-block}
.odznak-skladem{background:#DFF2E5;color:#1F5D37;border-color:#B8E0C5}
.odznak-rezervovano{background:var(--zlata-svetla);color:var(--zlata-text);border-color:#E9D9A5}
.odznak-prodano{background:#EDE9E0;color:var(--ink-3)}
.karta-telo{display:grid;gap:4px;padding:14px 16px 16px}
.karta-kat{display:inline-block;width:max-content;max-width:100%;font-size:.78rem;font-weight:600;color:var(--kb,var(--ink-2));background:var(--kbg,var(--papir-2));padding:2px 9px;border-radius:999px}
.karta-naz{font-size:1.1rem;line-height:1.25}
.karta-naz a{color:var(--ink);text-decoration:none}
/* celá karta je odkazem (dotykový cíl ≥ 44 px); fotka má vlastní odkaz mimo pořadí tabulátoru */
.karta-naz a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
.karta-naz a:hover{color:var(--zlata-text)}
.karta-cena{margin:2px 0 0;font-family:var(--nadpis);font-weight:700;font-size:1.15rem;color:var(--zlata-text)}
.karta-stav{font-family:var(--text);font-weight:400;font-size:.85rem;color:var(--ink-3);margin-left:.4em}
.karta-stav::before{content:"· "}

/* katalog – drobky, filtr, prázdný stav */
.drobky{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:16px;font-size:.92rem;color:var(--ink-3)}
.drobky a{color:var(--ink-2);text-decoration:none}
.drobky a:hover{color:var(--zlata-text);text-decoration:underline}
.drobky [aria-current]{color:var(--ink);font-weight:600}
.sekce-katalog{padding-top:16px}
.filtr{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
/* telefon: skupiny v jedné posuvné řadě (posouvá se jen filtr, ne stránka) — nezabírají 4 řádky nad zbožím */
@media (max-width:639px){
  .filtr{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;
    margin-left:calc(-1 * var(--okraj, 16px));margin-right:calc(-1 * var(--okraj, 16px));padding:2px var(--okraj, 16px)}
  .filtr::-webkit-scrollbar{display:none}
  .filtr-pol{flex:none;scroll-snap-align:start}
}
.filtr-pol small{color:var(--ink-3);font-weight:400}
.prazdne{display:grid;justify-items:start;gap:8px;padding:28px 22px;border-radius:var(--r-blok);background:var(--karta);border:2px dashed var(--linka);max-width:640px}
.prazdne h2{font-size:1.4rem;margin:6px 0 0}
.prazdne p{color:var(--ink-2)}

/* detail položky */
.sekce-detail{padding-top:16px}
.detail-in{display:grid;gap:28px}
.galerie-hlavni{position:relative;display:block;border-radius:var(--r-blok);overflow:hidden;background:var(--papir-2);border:2px solid var(--linka);aspect-ratio:4/3}
.galerie-hlavni img{width:100%;height:100%;object-fit:cover}
.galerie-bez{display:grid;place-items:center}
.galerie-nahledy{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding:4px}
.galerie-nahled{flex:none;width:84px;height:64px;padding:0;border:2px solid var(--linka);border-radius:12px;overflow:hidden;background:var(--papir-2);cursor:pointer}
.galerie-nahled img{width:100%;height:100%;object-fit:cover}
.galerie-nahled.je-aktivni{border-color:var(--zlata-tmava)}
.detail-info{display:grid;gap:14px;align-content:start}
.detail-info h1{font-size:clamp(1.7rem,3.5vw + .5rem,2.6rem)}
.detail-cena{margin:0;font-family:var(--nadpis);font-weight:700;font-size:1.9rem;color:var(--zlata-text);line-height:1.1}
.detail-cena small{display:block;font-family:var(--text);font-weight:400;font-size:.85rem;color:var(--ink-3);margin-top:4px}
.detail-param{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.detail-param div{padding:10px 14px;border-radius:14px;background:var(--papir-2)}
.detail-param dt{font-size:.8rem;color:var(--ink-3)}
.detail-param dd{margin:2px 0 0;font-weight:600}
.detail-popis{color:var(--ink-2);line-height:1.6}
.detail-pozn{margin:0;padding:12px 16px;border-radius:14px;background:var(--zlata-svetla);color:var(--zlata-text);font-weight:600}
.detail-akce{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.sdilet{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem;color:var(--ink-3)}
.sdilet-tl{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;border:2px solid var(--linka);background:var(--karta);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;cursor:pointer}
.sdilet-tl:hover{border-color:var(--zlata);color:var(--ink)}
.sdilet-tl .ik{width:18px;height:18px}
.detail-drobne{margin:0;font-size:.85rem;color:var(--ink-3)}

/* ===== kroky ===== */
/* pořadí nese <ol> a rozvržení (zleva doprava, šipky mezi kartami od 960 px); čísla se nezobrazují */
.kroky{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.krok{
  position:relative;padding:22px 20px;border-radius:var(--r-blok);background:var(--karta);border:2px solid var(--linka);
  display:grid;grid-template-columns:52px 1fr;column-gap:16px;row-gap:6px;align-items:start;
}
.ik-krok{width:52px;height:52px;color:var(--zlata-text);grid-row:1/3}
.krok h3{font-size:1.2rem;padding-top:4px}
.krok p{margin:0;color:var(--ink-2);font-size:1rem;line-height:1.45}
.postup-pozn{margin:18px 0 0;color:var(--ink-2);font-size:.95rem}

/* ===== FAQ ===== */
.faq-in{display:grid;gap:20px}
.faq-text p{color:var(--ink-2);max-width:32em}
.faq{display:grid;gap:10px}
.faq-pol{border-radius:16px;background:var(--karta);border:2px solid var(--linka)}
.faq-pol[open]{border-color:var(--zlata)}
.faq-pol summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;font-family:var(--nadpis);font-weight:700;font-size:1.05rem;line-height:1.3}
.faq-pol summary::-webkit-details-marker{display:none}
.faq-pol summary .ik{color:var(--zlata-text);transition:transform .2s ease}
.faq-pol[open] summary .ik{transform:rotate(180deg)}
.faq-pol p{margin:0;padding:0 16px 16px;color:var(--ink-2);line-height:1.5}

/* ===== zlato graf ===== */
.zlato-in{display:grid;gap:28px}
.zlato-text p{color:var(--ink-2);max-width:36em}
.graf{margin:0;background:var(--karta);border:2px solid var(--linka);border-radius:var(--r-blok);padding:16px 14px 10px}
.graf-hlava{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.graf-smer{margin:0;font-family:var(--nadpis);font-weight:700;font-size:1.05rem}
.graf-smer .sipka{display:inline-block;margin-left:.2em}
.graf-smer[data-smer="roste"] .sipka{color:var(--otevreno)}
.graf-smer[data-smer="klesa"] .sipka{color:var(--zavreno)}
.graf-svg{width:100%;height:auto}
.graf-svg text{font-family:var(--text)}
.graf-cara{transition:d .4s ease}
.graf.je-nacitam .graf-cara{stroke-dasharray:6 8;opacity:.4}
.graf-prazdne{margin:0;padding:14px 10px;color:var(--ink-2);font-weight:600}
.graf figcaption{font-size:.85rem;color:var(--ink-3);padding:8px 6px 4px}
/* telefon: SVG se zmenší na ~330 px → popisky měsíců zvětšit v jednotkách viewBoxu (≈ 12 px na displeji) */
@media (max-width:599px){.graf-mesice{font-size:21px}}

/* ===== kontakt + formulář ===== */
.kontakt-in{display:grid;gap:32px}
.kontakt-text p{color:var(--ink-2);max-width:36em}
.kontakt-udaje{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kontakt-udaje li{display:flex;align-items:center;gap:12px}
.kontakt-udaje .ik{color:var(--zlata-text)}
.kontakt-udaje a{color:var(--ink);text-decoration:none;font-weight:600}
.kontakt-udaje a:hover{color:var(--zlata-text)}

.formular{background:var(--karta);border:2px solid var(--linka);border-radius:var(--r-blok);padding:20px 18px 22px;display:grid;gap:16px}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.prepinac{position:relative;margin:0;padding:5px;border:0;display:grid;grid-template-columns:1fr 1fr;background:var(--papir-2);border-radius:16px;isolation:isolate;min-width:0}
.prep-pol{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 8px;border-radius:12px;cursor:pointer;text-align:center;color:var(--ink-2)}
.prep-pol input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}
.prep-pol span{font-family:var(--nadpis);font-weight:700;font-size:1.05rem}
.prep-pol small{font-size:.8rem;line-height:1.2}
.prep-pol:has(input:checked){color:var(--ink)}
.prep-pol:has(input:focus-visible){outline:3px solid var(--zlata-tmava);outline-offset:-3px}
.prep-jezdec{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:12px;background:var(--karta);border:2px solid var(--zlata);transition:transform .25s ease}
.prepinac.je-poptavka .prep-jezdec{transform:translateX(100%)}

.pole-rad{display:grid;gap:16px}
.pole{display:grid;gap:6px}
.pole > label{font-weight:600;font-size:.95rem}
.pole > label small{font-weight:400;color:var(--ink-3)}
.pole input,.pole select,.pole textarea{
  width:100%;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--linka);border-radius:var(--r-ovl);
  padding:11px 14px;min-height:48px;
}
.pole textarea{resize:vertical;min-height:110px}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:none;border-color:var(--zlata-tmava);box-shadow:0 0 0 3px var(--zlata-svetla)}
.pole.chyba input,.pole.chyba select,.pole.chyba textarea{border-color:var(--zavreno)}
.pole-chyba{margin:0;font-size:.88rem;color:var(--zavreno);font-weight:600}
.pole-pozn{margin:-8px 0 0;font-size:.88rem;color:var(--ink-3)}
.pole .pole-pozn-pod{margin:0}
.pole select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%232B2A26' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.pole input[type="file"]{padding:9px 12px;background:var(--papir-2);cursor:pointer;font-size:.95rem}
.pole input[type="file"]::file-selector-button{font:inherit;font-family:var(--nadpis);font-weight:700;border:0;border-radius:999px;padding:6px 14px;margin-right:12px;background:var(--ink);color:#fff;cursor:pointer}
.soubory{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.88rem;color:var(--ink-2)}
.soubory:empty{display:none}
.soubory li.je-chyba{color:var(--zavreno);font-weight:600}
.rezim-blok{display:grid;gap:16px}
.rezim-blok[hidden],.pole[hidden],.pole-pozn[hidden]{display:none}
.form-pozn{margin:-6px 0 0;font-size:.9rem;color:var(--ink-3);text-align:center}
.form-pozn.je-chyba{color:var(--zavreno);font-weight:600}
.form-stav{margin:0;padding:14px 16px;border-radius:14px;font-weight:600;line-height:1.4}
.form-stav-ok{background:#DFF2E5;color:#1F5D37}
.form-stav-chyba{background:#F7E1DE;color:var(--zavreno)}
.form-odber{display:flex;gap:12px;align-items:flex-start;margin:2px 0 0;font-size:.95rem;line-height:1.45;color:var(--ink-2);cursor:pointer}
.form-odber input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--zlata-tmava);cursor:pointer}
.form-odber small{display:block;font-size:.85rem;color:var(--ink-3)}
.formular.je-hotovo .form-odber{display:none}
.form-gdpr{margin:0;font-size:.85rem;line-height:1.45;color:var(--ink-2)}
.formular .tl{width:100%}
.formular.je-hotovo .prepinac,.formular.je-hotovo .pole,.formular.je-hotovo .pole-rad,.formular.je-hotovo .pole-pozn,.formular.je-hotovo .rezim-blok,.formular.je-hotovo .tl,.formular.je-hotovo .form-pozn{display:none}

/* ===== mapa ===== */
.sekce-mapa{padding-top:0}
.mapa{position:relative;border-radius:var(--r-blok);overflow:hidden;background:#EEE8DA;border:2px solid var(--linka)}
.mapa-plocha{position:relative;height:280px;background:#EEE8DA}
/* statický výřez OSM (vždy, i bez souhlasu) v přirozené velikosti (= měřítko zoomu 16 jako interaktivní mapa), oříznutý na střed = místo provozovny */
.mapa-obraz,.mapa-obraz img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}
.mapa-obraz img{object-fit:none;object-position:50% 50%;filter:saturate(.75) sepia(.12)}
/* telefon: výřez zoomu 17 (640×500) zmenšený na šířku plochy (cover ≈ 0,6×) — ulice čitelné, okolí vidět */
@media (max-width:599px){.mapa-obraz img{object-fit:cover}}
.mapa-znacka-stred{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-96%);pointer-events:none}
.mapa-stitek{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,10px);pointer-events:none;
  font-family:var(--nadpis);font-weight:700;font-size:.85rem;color:var(--ink);background:rgba(255,253,248,.94);
  padding:3px 10px;border-radius:999px;box-shadow:0 2px 6px rgba(43,42,38,.22);white-space:nowrap}
.mapa-tl{position:absolute;left:10px;top:10px;z-index:2;min-height:40px;padding:8px 14px;font-size:.9rem;
  background:rgba(255,253,248,.96);color:var(--ink);border:2px solid var(--linka);box-shadow:0 2px 6px rgba(43,42,38,.18)}
.mapa-tl:hover{background:var(--karta);border-color:var(--zlata-tmava)}
.mapa-atribuce{position:absolute;right:0;bottom:0;z-index:2;margin:0;padding:2px 8px;font-size:.72rem;line-height:1.5;
  color:var(--ink-2);background:rgba(255,253,248,.85);border-top-left-radius:8px}
.mapa-atribuce a{color:inherit}
.mapa-plocha.je-nactena .mapa-znacka-stred,.mapa-plocha.je-nactena .mapa-stitek,.mapa-plocha.je-nactena .mapa-tl,.mapa-plocha.je-nactena .mapa-atribuce{display:none}
.mapa-pozn{font-size:.82rem;color:var(--ink-3)!important;margin:14px 0 0!important}
.mapa-leaflet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;font-family:var(--text)}
.mapa-plocha .mapa-leaflet.leaflet-container{background:transparent}
.mapa-plocha.je-dlazdice .mapa-leaflet.leaflet-container{background:#EEE8DA}
.mapa-plocha.je-dlazdice .mapa-obraz{display:none}
.mapa-leaflet .leaflet-tile-pane{filter:saturate(.75) sepia(.12)}
.mapa-znacka{width:44px;height:52px;color:var(--zlata-tmava);filter:drop-shadow(0 4px 6px rgba(43,42,38,.35))}
.leaflet-container .leaflet-control-attribution{font-size:11px;background:rgba(250,247,240,.85)}
.mapa-karta{padding:22px 18px 24px;background:var(--karta);border-top:2px solid var(--linka)}
.mapa-karta h2{font-size:1.5rem;margin-bottom:.4em}
.mapa-karta p{color:var(--ink-2);margin-bottom:1.2em}
.navig{display:grid;gap:10px}
.navig .tl{width:100%}

/* ===== textové stránky (právní, oznámení, 404) ===== */
.sekce-text{padding-top:20px}
.text-telo h1{margin-bottom:.6em;font-size:clamp(1.8rem,3.5vw + .5rem,2.7rem)}
.text-telo h2{font-size:1.35rem;margin:1.6em 0 .5em}
.text-telo ul{padding-left:1.3em;margin:0 0 1em}
.text-telo li{margin-bottom:.4em}
.text-telo p,.text-telo li{color:var(--ink-2)}
.text-telo strong{color:var(--ink)}
.text-uvod{font-size:1.1rem}
.text-ucinnost{margin-top:2.5em;font-size:.9rem;color:var(--ink-3)}
.tabulka-obal{overflow-x:auto;margin:0 0 1em;border:2px solid var(--linka);border-radius:16px;background:var(--karta)}
.tabulka{border-collapse:collapse;width:100%;min-width:640px;font-size:.92rem}
.tabulka th,.tabulka td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--linka)}
.tabulka th{font-family:var(--nadpis);font-weight:700;background:var(--papir-2)}
.tabulka tr:last-child td{border-bottom:0}
.oznameni-datum{font-weight:600;color:var(--zlata-text);margin-bottom:.6em}
/* /ceny-zlata/ (08/10/2026): jeden plynulý sloupec — všechny části stejně široké, bez karet a rámečků;
   části spojuje společná svislice vlevo (od 720 px), nadpis části na ní má značku. Telefon: bez svislice, plná šířka. */
.ceny-sloupec{max-width:calc(50rem + 2 * var(--okraj))}
/* A11 08/10/2026: obsah /ceny-zlata/ stejně široký jako přehled správy (/sprava/: max. 1440 px, okraj 16 px);
   řádky textu omezené na čitelnou délku, tabulky a grafy využijí šířku */
.sekce-ceny .ceny-sloupec,.ceny-drobky{max-width:1440px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.sekce-ceny .ceny-cast p,.sekce-ceny .ceny-vysvetleni dd{max-width:52em}
.ceny-cast{padding:26px 0;border-top:1px solid var(--linka)}
.ceny-cast:first-child{border-top:0;padding-top:0}
.ceny-cast h2{font-size:1.45rem;margin-bottom:.5em}
@media (min-width:720px){
  .ceny-sloupec>.ceny-cast{position:relative;margin-left:8px;padding-left:30px;border-top:0;border-left:1px solid var(--linka)}
  .ceny-sloupec>.ceny-cast:first-child{padding-top:4px}
  .ceny-sloupec>.ceny-cast:last-child{padding-bottom:4px}
  .ceny-sloupec>.ceny-cast:not(:first-child)>h2::before,.ceny-sloupec>#zlato h2::before{content:"";position:absolute;left:-5px;margin-top:.45em;width:9px;height:9px;border-radius:50%;background:var(--zlata-tmava)}
  .ceny-sloupec>.ceny-cast+.ceny-cast{padding-top:30px}
}
.ceny-uvod{font-size:1.08rem;color:var(--ink-2);margin:.5em 0 0}
/* ceny: dvě hodnoty vedle sebe v jednom pásu oddělené linkou, výkup zlatě podtržený jako cenovka */
.ceny-karty{display:grid;grid-template-columns:1fr;margin:18px 0 18px;border-top:1px solid var(--linka);border-bottom:1px solid var(--linka)}
.ceny-karta{padding:14px 0}
.ceny-karta+.ceny-karta{border-top:1px solid var(--papir-2)}
@media (min-width:560px){
  .ceny-karty{grid-template-columns:1fr 1fr}
  .ceny-karta+.ceny-karta{border-top:0;border-left:1px solid var(--papir-2);padding-left:22px}
}
.ceny-karta dt,.ceny-karta dd{margin:0}
.ceny-pop{font-family:var(--nadpis);font-weight:700;color:var(--ink-2)}
.ceny-castka .ceny-az{font-family:var(--text);font-weight:600;font-size:.5em;color:var(--ink-2)}
.ceny-castka{font-family:var(--nadpis);font-size:2.4rem;line-height:1.15;color:var(--ink)}
.ceny-castka b{font-weight:700}
.ceny-karta-hlavni .ceny-castka b{text-decoration:underline;text-decoration-color:var(--zlata);text-decoration-thickness:4px;text-underline-offset:6px}
.ceny-za{font-size:.95rem;color:var(--ink-3)}
.ceny-akce{margin-top:0}
.ceny-vysvetleni{margin:0 0 10px;display:grid}
.ceny-vysvetleni div{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-top:1px solid var(--papir-2)}
.ceny-vysvetleni div:first-child{border-top:0;padding-top:0}
@media (min-width:560px){.ceny-vysvetleni div{grid-template-columns:9.5rem minmax(0,1fr);gap:16px}}
.ceny-vysvetleni dt{font-family:var(--nadpis);font-weight:700}
.ceny-vysvetleni dd{margin:0;color:var(--ink-2)}
.ceny-odkaz{margin:0}
.ceny-pozn{color:var(--ink-3);font-size:.95rem;margin:-.3em 0 10px}
.ceny-tabulka{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 0 16px}
.ceny-tabulka th,.ceny-tabulka td{padding:10px 8px;border-bottom:1px solid var(--papir-2);text-align:right}
.ceny-tabulka th:first-child{text-align:left;padding-left:0}
.ceny-tabulka td:last-child{padding-right:0}
.ceny-tabulka thead th{font-size:.85rem;color:var(--ink-3);font-weight:600}
.ceny-tabulka tbody td{font-family:var(--nadpis);font-weight:700}
.ceny-tabulka small{color:var(--ink-3);font-weight:400;margin-left:4px}
.ceny-tabulka tr.je-uvedena th,.ceny-tabulka tr.je-uvedena td{background:var(--zlata-svetla)}
.ceny-tabulka tr.je-uvedena th{padding-left:8px}
.ceny-tabulka tr.je-uvedena td:last-child{padding-right:8px}
.kalkulacka{padding-top:4px}
.kalkulacka-nadpis{font-family:var(--nadpis);font-weight:700;margin:0 0 8px}
.kalkulacka-pole{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (min-width:720px){.kalkulacka-pole{grid-template-columns:minmax(0,14rem) minmax(0,14rem)}}
.kalkulacka label span{display:block;font-size:.9rem;color:var(--ink-2);margin-bottom:4px}
.kalkulacka input,.kalkulacka select{width:100%;min-height:48px;padding:10px 12px;border:1.5px solid var(--linka);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.kalkulacka input:focus,.kalkulacka select:focus{outline:none;border-color:var(--zlata-tmava);box-shadow:0 0 0 3px var(--zlata-svetla)}
.kalkulacka-vysledek{margin:10px 0 0;font-weight:600}
/* graf zlata vložený do sloupce: text nad grafem, bez rámečku */
.zlato-vlozeny{display:grid;gap:12px}
.zlato-vlozeny .zlato-text p{margin-bottom:0}
.zlato-vlozeny .graf{background:transparent;border:0;border-radius:0;padding:0}
.zlato-vlozeny .graf figcaption{padding:6px 0 0}
.ceny-kontakt p{color:var(--ink-2)}
.ceny-kontakt .detail-akce{margin-bottom:18px}
.kontakt-souhrn{color:var(--ink-2);font-size:1.05rem}
.sekce-kontakt-hlava{padding-bottom:0}
.odkazy-404{padding-left:1.2em;margin:0 0 1.4em;color:var(--ink-2)}
.odkazy-404 li{margin-bottom:.5em}
.chyba-404 h1{margin-bottom:.4em}

/* ===== patička ===== */
.pata{background:var(--ink);color:#D9D6CC;padding:40px 0 36px;margin-top:20px}
.pata a{color:#F1E9CF}
.pata-horni{display:grid;gap:24px;margin-bottom:12px}
.pata-znacka{display:flex;align-items:center;gap:18px;font-size:1rem;line-height:1.35}
.pata-znacka picture{flex:none}
.pata-znacka strong{font-family:var(--nadpis);font-size:1.3rem;color:#fff}
.pata-od{font-size:.85rem;color:#A8A59A}
.pata-logo{display:block;height:76px;width:auto;flex:none}
.hodnoceni{display:flex;gap:12px;flex-wrap:wrap}
.odznak{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 16px;border-radius:14px;background:#3A3934;text-decoration:none;color:#fff;min-width:150px}
.odznak:hover{background:#45443F;color:#fff}
.odznak-zdroj{font-family:var(--nadpis);font-weight:700;grid-column:1;font-size:.95rem;display:flex;align-items:center;gap:6px}
.odznak-zdroj .ik{width:18px;height:18px;fill:currentColor}
.odznak-pocet{grid-column:1;font-size:.8rem;color:#B3B4B3;white-space:nowrap}
.odznak-hv{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:4px;font-family:var(--nadpis);font-weight:700;font-size:1.4rem;color:var(--zlata)}
.odznak-hv .ik{width:20px;height:20px;fill:var(--zlata)}
.odznak-vyzva{grid-template-columns:1fr}
.odznak-vyzva .odznak-pocet{color:var(--zlata)}
.pata-rec-pozn{font-size:.8rem;color:#A8A59A;margin-bottom:24px;max-width:60em}
.pata-odkazy{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:22px;font-size:.95rem}
.pata-odkazy .odkaz-tl{color:#F1E9CF}
.pata-pravo{font-size:.85rem;color:#A8A59A;max-width:none;line-height:1.55;text-wrap:pretty}
.pata-pravo a,.pata-pravo strong{color:#F1E9CF}
.pata-autor{font-size:.85rem;color:#A8A59A;margin:0}

/* ===== spodní lišta (mobil) ===== */
.lista{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px var(--okraj) calc(10px + env(safe-area-inset-bottom));background:rgba(250,247,240,.95);backdrop-filter:blur(8px);border-top:1px solid var(--linka)}
.lista-tl{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:999px;font-family:var(--nadpis);font-weight:700;text-decoration:none;color:var(--ink);background:var(--papir-2);border:2px solid var(--linka)}
.lista-tel{background:var(--zlata);border-color:var(--zlata)}
/* BZS-CENY 08/10/2026: třetí tlačítko „Ceny zlata“ — na telefonu jediné menu, ceny jsou nejčastější dotaz */
.lista{grid-template-columns:1fr 1fr 1fr;gap:8px}
.lista-tl{gap:6px;padding:0 6px;font-size:.95rem;white-space:nowrap}
.lista-tl[aria-current]{border-color:var(--zlata-tmava)}
@media (max-width:399px){.lista-tl{flex-direction:column;gap:1px;min-height:54px;border-radius:16px;font-size:.84rem;line-height:1.15}.lista-tl .ik{width:20px;height:20px}}

/* Cesty na /ceny-zlata/: celá visačka je odkaz, pod ní viditelný odkaz, v sekci Zlato tlačítko */
.visacka-odkaz{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:20px}
.visacka-odkaz:focus-visible{outline:3px solid var(--zlata-tmava);outline-offset:4px}
.hero-ceny-odkaz{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-top:10px;font-family:var(--nadpis);font-weight:600;color:var(--zlata-text);text-underline-offset:3px}
.hero-ceny-odkaz .ik{width:18px;height:18px;transform:rotate(-90deg)}
.zlato-akce{display:flex;flex-wrap:wrap;margin:-5px}
.zlato-akce .tl{margin:5px}

/* ===== cookie lišta + dialog ===== */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);color:#D9D6CC;box-shadow:0 -10px 30px rgba(43,42,38,.25);padding-bottom:env(safe-area-inset-bottom)}
.cookie[hidden]{display:none}
.cookie-in{display:grid;gap:14px;padding-top:16px;padding-bottom:16px}
.cookie-text{margin:0;font-size:.92rem;line-height:1.45}
.cookie-text strong{color:#fff}
.cookie-text a{color:#F1E9CF}
.cookie-akce{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cookie-akce .tl{min-height:44px;padding:0 14px;font-size:.95rem}
.cookie-akce [data-cookie="prijmout"]{grid-column:1/-1}
body.ma-cookie-listu .lista{display:none}
.cookie-dialog{border:0;border-radius:var(--r-blok);padding:0;max-width:min(92vw,520px);width:100%;background:var(--karta);color:var(--ink);box-shadow:0 30px 80px rgba(43,42,38,.35)}
.cookie-dialog::backdrop{background:rgba(43,42,38,.55);backdrop-filter:blur(3px)}
.cookie-form{padding:22px 22px 24px;display:grid;gap:14px}
.cookie-dialog-hlava{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cookie-dialog-hlava h2{font-size:1.4rem;margin:0}
.cookie-form > p{margin:0;color:var(--ink-2);font-size:.95rem}
.cookie-volby{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cookie-volby li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:14px;background:var(--papir-2)}
.cookie-volby label,.cookie-volby div{display:grid;gap:2px;cursor:pointer}
.cookie-volby span{font-size:.85rem;color:var(--ink-2)}
.cookie-volby input{flex:none;width:24px;height:24px;accent-color:var(--zlata-tmava);cursor:pointer}
.cookie-volby input[disabled]{cursor:default}
.cookie-dialog-akce{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.cookie-dialog-akce .tl{min-height:46px;padding:0 14px}

/* ===== úzký mobil (do 420) ===== */
@media (max-width:420px){
  .cookie-dialog-akce{grid-template-columns:1fr}
}

/* ===== tablet 640+ ===== */
@media (min-width:640px){
  :root{--okraj:24px}
  .hero-akce .tl{flex:0 1 auto}
  .logo-zaves{width:380px}
  .sluzby{grid-template-columns:repeat(3,1fr)}
  .sluzba{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;row-gap:10px;padding:26px 22px;align-items:start;align-content:start}
  .ik-velka{grid-row:auto}
  .kategorie{grid-template-columns:repeat(3,1fr)}
  .kat-zlato{grid-column:1/3}
  .kategorie > .kat:last-child:nth-child(even){grid-column:auto / span 2}
  .karty{grid-template-columns:repeat(2,1fr)}
  .kroky{grid-template-columns:repeat(2,1fr)}
  .krok{grid-template-columns:1fr;row-gap:10px;padding:26px 22px 24px;align-content:start}
  .ik-krok{grid-row:auto}
  .navig{grid-template-columns:repeat(2,1fr)}
  .mapa-plocha{height:340px}
  .pata-horni{grid-template-columns:1fr auto;align-items:center}
  .legenda{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .cookie-in{grid-template-columns:1fr auto;align-items:center}
  .cookie-akce{display:flex;flex-wrap:wrap;justify-content:flex-end}
  .cookie-akce [data-cookie="prijmout"]{grid-column:auto}
  .detail-in{grid-template-columns:1fr 1fr;align-items:start}
}

/* ===== laptop 960+ ===== */
@media (min-width:960px){
  html{scroll-padding-top:96px}
  body{padding-bottom:0}
  .lista{display:none}
  .menu{display:flex;gap:4px}
  .hlava-tel span:not(.sr){display:inline}
  .hlava-in{min-height:80px}
  .znacka-logo{height:52px}
  .hero{padding:40px 0 56px}
  .hero-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px}
  .hero-text{padding-right:8px}
  .hero-akce .tl{flex:0 0 auto}
  .hero-visacka{align-self:start;padding-top:8px}
  .logo-zaves{width:420px}
  .sekce{padding:80px 0}
  .sekce-regal{padding-top:32px}
  .sekce-katalog,.sekce-detail,.sekce-text{padding-top:24px}
  .kategorie{grid-template-columns:repeat(6,1fr)}
  .kat,.kategorie > .kat:last-child:nth-child(even){grid-column:span 3}
  .kat-zlato .stitky{margin-top:auto;padding-top:8px}
  .kat-zlato .ik-kat{width:56px;height:56px}
  .kat-zlato h3{font-size:1.6rem}
  .kat-zlato p{font-size:1rem;max-width:none} /* várka 13: dřív 34em — text se lámal dřív než u sousední karty */
  .kat{padding:24px 22px}
  .karty{grid-template-columns:repeat(3,1fr);gap:18px}
  .kroky{grid-template-columns:repeat(4,1fr);gap:28px}
  .krok:not(:last-child)::after{
    content:"";position:absolute;top:46px;right:-20px;width:10px;height:10px;
    border-top:2px solid var(--zlata-tmava);border-right:2px solid var(--zlata-tmava);transform:rotate(45deg);
  }
  .detail-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}
  .faq-in{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
  .faq-text{position:sticky;top:110px}
  .zlato-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px}
  .kontakt-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
  .kontakt-text{position:sticky;top:110px}
  .formular{padding:28px 28px 30px}
  .pole-2{grid-template-columns:1fr 1fr}
  .mapa{display:grid;grid-template-columns:1.3fr 1fr}
  .mapa-plocha{height:100%;min-height:400px}
  .mapa-karta{border-top:0;border-left:2px solid var(--linka);padding:36px 32px;display:flex;flex-direction:column;justify-content:center}
  .navig{grid-template-columns:1fr 1fr}
  .navig .tl{justify-content:flex-start;padding-left:22px}
  .regal-hlava{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:32px}
  .regal-hlava h2{margin-bottom:.2em}
  .regal-hlava .uvodka{margin:0 0 .5em;padding-bottom:.2em;max-width:none;text-wrap:balance}
}

/* ===== široké 1600+ ===== */
@media (min-width:1600px){
  :root{--obal-siroky:1480px;--obal-uzky:820px}
  body{font-size:18px}
  .hero{padding:64px 0 80px}
  .logo-zaves{width:460px}
  .karty{grid-template-columns:repeat(4,1fr)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  /* jediná výjimka: visačka s cenou se i tak velmi pomalu a jemně kývá (≤ 1°), aby nepůsobila jako mrtvá */
  .hero .zaves{animation:houpani-jemne 10s ease-in-out infinite!important}
}
/* ===== dotyková zařízení: cíle ≥ 44 px (WCAG 2.5.5) bez změny vzhledu na myši ===== */
@media (pointer:coarse){
  .drobky a{padding:11px 6px;margin:-11px -6px}
  .menu a{display:inline-flex;align-items:center;min-height:44px}
  .kontakt-udaje a{display:inline-flex;align-items:center;min-height:44px;margin:-9px 0}
  .pata-odkazy{gap:0 20px}
  .pata-odkazy a,.pata-odkazy .odkaz-tl{display:inline-flex;align-items:center;min-height:44px}
}

@media print{
  .hlava,.lista,.cookie,.pata-odkazy,.mapa-tl{display:none!important}
  body{padding:0;background:#fff}
}
/* online formulář doplnění (/doplneni/<token>/) */
.doplneni .doplneni-k{color:var(--ink-2)}
.doplneni-h2{font-size:1.25rem;margin:1.2em 0 .4em}
.doplneni-body{margin:0 0 24px;padding-left:1.4em;display:grid;gap:6px}
.doplneni .formular{margin-top:8px}

/* detail zboží (07/10/2026 F4): původní cena, podobné zboží */
.detail-puvodni{font-family:var(--text);font-weight:400;font-size:1.05rem;color:var(--ink-3);margin-left:6px}
.sekce-podobne{padding-top:32px}
.sekce-podobne h2{font-size:clamp(1.4rem,2vw + .8rem,2rem)}

/* vypnutý formulář (08/10/2026): formulář zešedne a je inert, přes něj visí smaltovaná cedulka ve stylu cedule s otevírací
 * dobou (tmavý smalt, zlatá linka, šrouby) — zavěšená na šňůrce za hřebík. Čtečky vidí jen cedulku (role=status). */
.form-obal{position:relative}
.formular.je-vypnuty{filter:grayscale(1);opacity:.38;pointer-events:none;user-select:none}
/* BZS-CED 08/10/2026: cedulka visí uprostřed formuláře, lehce nad středem — držák přes celý formulář dělí volné místo
 * 35 : 65 (telefon 22 : 78, formulář je tam vysoký), cedulka je sticky, takže při posunu formulářem zůstává v zorném poli. */
.cedulka-drzak{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;grid-template-rows:minmax(0,35fr) auto minmax(0,65fr);justify-items:center;pointer-events:none}
.cedulka{grid-row:2;position:-webkit-sticky;position:sticky;top:calc(16vh + 40px);transform:rotate(-1.2deg);transform-origin:50% 0;width:min(calc(100% - 24px),420px);
  display:flex;flex-direction:column;align-items:center;pointer-events:auto}
.cedulka-zaves{display:block;width:120px;height:46px;margin-bottom:-6px;position:relative;z-index:1}
.cedulka-smalt{margin:0;max-width:none;--okraj:14px;--sroub:11px;padding:12px}
.cedulka-in{position:relative;display:grid;justify-items:center;gap:8px;padding:18px 22px 16px;text-align:center}
.cedulka-in .smalt-nadpis{margin:0}
.cedulka-slovo{margin:0;font-family:var(--nadpis);font-weight:700;font-size:1.35rem;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;
  color:#1E1D19;background:var(--okenko);border-radius:6px;padding:9px 14px 8px;
  box-shadow:inset 0 3px 5px rgba(0,0,0,.5),inset 0 -1px 0 rgba(255,255,255,.45),0 0 0 2px #1B1A16}
.cedulka-text{margin:2px 0 0;font-size:1rem;line-height:1.4;color:var(--smalt-text)}
.cedulka-do{display:block;margin-top:4px;color:var(--smalt-zlata);font-weight:600}
.cedulka-tel{width:100%;margin-top:4px}
.cedulka-pozn{margin:0;font-size:.88rem;line-height:1.35;color:var(--smalt-tlumena)}
.cedulka-doba{margin:0;font-size:.88rem;line-height:1.35;color:var(--smalt-tlumena)}
@media (max-width:519px){.cedulka-tel{font-size:1rem;padding-left:12px;padding-right:12px;white-space:nowrap}.cedulka-drzak{grid-template-rows:minmax(0,22fr) auto minmax(0,78fr)}.cedulka{top:calc(6vh + 64px);width:calc(100% - 16px)}.cedulka-in{padding:16px 14px 14px}.cedulka-slovo{font-size:1.15rem;letter-spacing:.05em}}

/* Kontakt: hlava stránky + formulář bez zbytečné mezery (širší breakpoint .sekce{padding:80px 0} přebíjel padding-bottom:0) */
.sekce.sekce-kontakt-hlava{padding-bottom:0}
.sekce-kontakt-hlava + .sekce{padding-top:32px}

/* ===== Kompatibilita se staršími prohlížeči (BZS-DEV 08/10/2026) =====
 * Návštěvníci často na levných Androidech s ukončenou podporou (Chrome/WebView 80–100, Android 4.4–7) a starších iPhonech.
 * Web nepotřebuje žádný polyfill — moderní vlastnosti jsou jen vylepšení a tady jsou jejich náhrady. */
/* přepínač Nabídka/Poptávka: zvýraznění bez :has() (Chrome < 105, Safari < 15.4) — třídu je-poptavka nastavuje server i app.js */
.prepinac:not(.je-poptavka) .prep-pol:first-of-type,.prepinac.je-poptavka .prep-pol:last-of-type{color:var(--ink)}
/* <dialog> bez podpory (Safari < 15.4): obsah nesmí viset v toku stránky; souhlas.js ho otevře jako pevné okno */
.cookie-dialog:not([open]){display:none}
.cookie-dialog.je-nahradni{position:fixed;left:50%;top:50%;z-index:70;transform:translate(-50%,-50%);max-height:90vh;overflow:auto;box-shadow:0 0 0 100vmax rgba(43,42,38,.55),0 30px 80px rgba(43,42,38,.35)}
/* aspect-ratio (Chrome < 88): pevný poměr 4:3 přes padding */
@supports not (aspect-ratio:1/1){
  .karta-foto,.galerie-hlavni{height:0;padding-top:75%;overflow:hidden}
  .karta-foto picture,.karta-foto img,.galerie-hlavni picture,.galerie-hlavni img{position:absolute;top:0;left:0;width:100%;height:100%}
  /* gap u flexboxu (Chrome < 84) — stejný věk prohlížečů: aspoň mezera mezi ikonou a textem tlačítka */
  .tl>.ik,.lista-tl>.ik,.hero-ceny-odkaz>.ik{margin-right:8px}
  .hero-akce>*,.tl-rada>*{margin:0 8px 8px 0}
  .visacka-cena>b,.visacka-cena .az{margin-right:5px}.visacka-cena .za{margin-left:5px}
  .kontakt-udaje .ik,.hero-pod .ik{margin-right:10px}
  .drobky>*{margin-right:6px}
  /* <fieldset> neumí grid/flex do Chrome 86 → přepínač Nabídka/Poptávka by se složil pod sebe */
  .prepinac{display:block;font-size:0;white-space:nowrap}
  .prepinac .prep-pol{display:inline-flex;width:50%;vertical-align:top;white-space:normal;font-size:1rem}
}

/* A12 08/10/2026: právní stránky z patičky ve velkém vysokém modalu (app.js); obsah se posouvá uvnitř.
   B1 08/10/2026: bez tlačítek Tisk / „Otevřít jako stránku“; text v čitelném sloupci (~70 znaků), pěkné zalamování, dělení slov. */
html.ma-modal{overflow:hidden}
.pravni-modal-pozadi{position:fixed;inset:0;z-index:1000;background:rgba(43,42,38,.5)}
.pravni-modal{position:fixed;inset:0;z-index:1001;margin:auto;padding:0;width:min(880px,calc(100vw - 32px));height:calc(100dvh - 48px);max-height:none;
  display:flex;flex-direction:column;border:1px solid var(--linka);border-radius:var(--r-blok,18px);background:var(--karta);color:var(--ink);
  box-shadow:0 30px 80px rgba(43,42,38,.3);overflow:hidden}
.pravni-modal:not([open]){display:none}
.pravni-modal-hlava{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px 12px 28px;border-bottom:1px solid var(--linka);flex:none}
.pravni-modal-hlava h2{margin:0;min-width:0;font-size:clamp(1.15rem,1vw + .9rem,1.5rem);line-height:1.25;text-wrap:balance}
.pravni-modal-akce{display:flex;align-items:center;flex:none}
.pravni-zavrit{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--papir-2);color:var(--ink);cursor:pointer}
.pravni-zavrit:hover{background:var(--linka)}
.pravni-modal-telo{flex:1;overflow:auto;overscroll-behavior:contain;padding:24px 28px 40px;-webkit-overflow-scrolling:touch}
.pravni-modal-telo .sekce{padding:0}
.pravni-modal-telo .obal{max-width:none;padding:0}
/* čitelný sloupec: ~70 znaků na řádek, uprostřed modalu */
.pravni-modal-telo .text-telo{max-width:70ch;margin:0 auto;font-size:1.02rem;line-height:1.62}
.pravni-modal-telo .text-telo>:first-child{margin-top:0}
.pravni-modal-telo .text-telo h2{font-size:1.2rem;margin:1.7em 0 .5em;line-height:1.3}
.pravni-modal-telo .text-telo h3{font-size:1.05rem;margin:1.3em 0 .4em}
.pravni-modal-telo .text-telo p{margin:0 0 .9em}
.pravni-modal-telo .text-telo ul,.pravni-modal-telo .text-telo ol{padding-left:1.4em;margin:0 0 1em}
.pravni-modal-telo .text-telo li{margin-bottom:.45em;padding-left:.15em}
.pravni-modal-telo .text-telo li::marker{color:var(--zlata-tmava)}
/* tabulky v modalu nepřetékají: posouvají se samy v sobě, text v buňkách se zalamuje */
.pravni-modal-telo table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.94rem;margin:0 0 1.2em}
.pravni-modal-telo th,.pravni-modal-telo td{padding:8px 12px 8px 0;vertical-align:top;text-align:left;border-bottom:1px solid var(--linka);min-width:8em}
.pravni-modal-telo th{color:var(--ink);font-weight:600}
@media (max-width:639px){
  .pravni-modal{width:100vw;height:100dvh;border:0;border-radius:0}
  .pravni-modal-hlava{padding:10px 12px 10px 16px}
  .pravni-modal-telo{padding:18px 16px 32px}
  .pravni-modal-telo .text-telo{font-size:1rem;line-height:1.58}
}

/* typografie právních textů (stránka i modal): pěkné zalamování, české dělení slov (lang="cs"), odkazy a adresy se nedělí */
.text-telo{hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty;overflow-wrap:break-word}
.text-telo h1,.text-telo h2,.text-telo h3{hyphens:manual;-webkit-hyphens:manual;text-wrap:balance}
.text-telo a,.text-telo strong,.text-telo td:first-child{hyphens:manual;-webkit-hyphens:manual}
.text-telo a{overflow-wrap:anywhere}

/* A14 08/10/2026: prázdný katalog — velká karta: regál (vlastní kresba), sortiment, otevírací doba, kontakt */
.prazdne-velke{max-width:none;display:grid;grid-template-columns:1fr;gap:20px 40px;align-items:center;padding:28px 22px;border-style:solid}
.prazdne-regal{width:100%;max-width:300px;height:auto;color:var(--ink-3);justify-self:center}
.prazdne-regal .r-zlato{stroke:var(--k-zlato)}.prazdne-regal .r-elektronika{stroke:var(--k-elektronika)}
.prazdne-regal .r-vozidla{stroke:var(--k-vozidla)}.prazdne-regal .r-starozitnosti{stroke:var(--k-starozitnosti)}
.prazdne-obsah{display:grid;gap:8px;min-width:0}
.prazdne-obsah h2{font-size:clamp(1.5rem,1.6vw + 1rem,2.1rem);margin:0}
.prazdne-obsah p{margin:0;max-width:38em}
.prazdne-obsah h3{font-size:1.05rem;margin:10px 0 2px}
.prazdne-sortiment{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sortiment-pol{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:var(--kbg,var(--papir-2));font-family:var(--nadpis);font-weight:600;font-size:.95rem;--kb:var(--ink)}
.sortiment-pol[data-kat="zlato"]{--kb:var(--k-zlato);--kbg:var(--k-zlato-bg)}
.sortiment-pol[data-kat="elektronika"]{--kb:var(--k-elektronika);--kbg:var(--k-elektronika-bg)}
.sortiment-pol[data-kat="vozidla"]{--kb:var(--k-vozidla);--kbg:var(--k-vozidla-bg)}
.sortiment-pol[data-kat="starozitnosti"]{--kb:var(--k-starozitnosti);--kbg:var(--k-starozitnosti-bg)}
.sortiment-pol .legenda-tecka{width:12px;height:12px}
.prazdne-udaje{margin:10px 0 4px;display:grid;gap:6px}
.prazdne-udaje div{display:grid;grid-template-columns:1fr;gap:0}
.prazdne-udaje dt{font-weight:600;color:var(--ink)}
.prazdne-udaje dd{margin:0;color:var(--ink-2)}
@media (min-width:560px){.prazdne-udaje div{grid-template-columns:11rem minmax(0,1fr);gap:12px}}
@media (min-width:820px){.prazdne-velke{grid-template-columns:minmax(220px,300px) minmax(0,1fr);padding:36px 40px}}

/* A15 08/10/2026: poptávka v katalogu rozbalovací */
.poptavka-rozbal>summary{list-style:none;cursor:pointer}
.poptavka-rozbal>summary::-webkit-details-marker{display:none}
.poptavka-vyzva{display:grid;grid-template-columns:1fr;align-items:center;gap:6px 24px;padding:22px 24px;border-radius:var(--r-blok);background:var(--karta);border:2px solid var(--linka)}
.poptavka-vyzva:hover{border-color:var(--zlata-tmava)}
.poptavka-nadpis{margin:0;font-size:clamp(1.35rem,1.4vw + .9rem,1.9rem)}
.poptavka-pod{color:var(--ink-2)}
.poptavka-tl{justify-self:start;margin-top:8px}
@media (min-width:720px){.poptavka-vyzva{grid-template-columns:minmax(0,1fr) auto}.poptavka-nadpis,.poptavka-pod{grid-column:1}.poptavka-tl{grid-column:2;grid-row:1/3;margin:0}}
.poptavka-tl-otevrene,.poptavka-rozbal[open] .poptavka-tl-zavrene{display:none}
.poptavka-rozbal[open] .poptavka-tl-otevrene{display:inline}
.poptavka-rozbal[open] .poptavka-tl{background:transparent;border-color:var(--ink);color:var(--ink)}
.poptavka-telo{margin-top:28px}

/* Várka 5 (11/10/2026): patička krátké stránky (např. 404) u spodního okraje okna, ne uprostřed — beze změny vzhledu dlouhých stránek */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body>main#obsah{flex:1 0 auto;width:100%}

/* Várka 6 (11/10/2026): Časté dotazy a fakta v kostce (/caste-dotazy/) — karta faktů jako definiční seznam, odpovědi viditelné (k citaci) */
.fakta{margin:1.6em 0;padding:18px 20px;background:var(--karta);border:2px solid var(--linka);border-radius:16px}
.fakta h2{margin:0 0 .6em}
.fakta-seznam{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
.fakta-seznam dt{font-weight:600;color:var(--ink)}
.fakta-seznam dd{margin:0;color:var(--ink-2);min-width:0;overflow-wrap:anywhere}
.dotazy-obsah{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 .5em;font-weight:600}
.dotazy-skupina{scroll-margin-top:90px}
.dotaz h3{font-size:1.08rem;margin:1.2em 0 .35em;line-height:1.3}
.dotaz p{margin:0}
.dotazy-pata{margin-top:2em;font-size:.95rem}
@media (max-width:639px){.fakta{padding:14px}.fakta-seznam{grid-template-columns:1fr;gap:2px}.fakta-seznam dd{margin-bottom:8px}}

/* Várka 13: telefonní číslo se nikdy neláme uprostřed („+420 774 / 150 725“) */
a[href^="tel:"]{white-space:nowrap}
/* Várka 13: nadpisy vyvážené (žádné osamocené slovo na druhém řádku), odstavce bez sirotků na konci */
h1,h2,h3,h4,summary{text-wrap:balance}
p,li,dd,figcaption,.pozn{text-wrap:pretty}
.nezalomit{white-space:nowrap}
