/* ==== self-host fonts (Barlow Condensed 500/600/700 + Inter 400/500/600 + JetBrains Mono 400/500) ==== */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/BarlowCondensed-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/BarlowCondensed-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/BarlowCondensed-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/BarlowCondensed-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/BarlowCondensed-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/BarlowCondensed-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-v20-latin_latin-ext-regular.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-v20-latin_latin-ext-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-v20-latin_latin-ext-600.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jetbrains-mono-v24-latin_latin-ext-regular.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jetbrains-mono-v24-latin_latin-ext-500.woff2') format('woff2')}

/* dozor-brno.cz — hlavní styl.
   Obsah extrahován 1:1 z <style> bloků původního SPA index.html.
   Doplněno pouze: .mnav (mobilní menu, dříve řízeno frameworkem přes sc-if),
   button.hamburger reset a :hover třídy (dříve style-hover atributy frameworku). */

/* skip link */
.skip{position:absolute;left:-9999px;top:0;background:#F0EDE8;color:#141414;padding:10px 18px;z-index:3000;font-family:Inter,sans-serif;font-weight:600;border-radius:0 0 8px 0;text-decoration:none}
.skip:focus{left:0;top:0}

/* původní helmet <style> blok */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#0f0f0f}
h1,h2,h3,h4{font-family:'Barlow Condensed',sans-serif !important;text-transform:uppercase;letter-spacing:.01em}
/* Vrstva oranžové záře za obsahem. Dorovnáno 2026-08-14 na stav dozor-brno.cz
   (tam měřeno a opraveno 2026-08-12 po stížnosti na čitelnost; tady byla
   BAJTOVĚ TÁŽ vadná podoba). Čtyři věci z měření, které se nesmí vrátit:
   1) opacity STATICKY — dřív ji nesla jen animace glowPulse, reduced-motion
      pak vracel prvek na iniciální 1 a kdo si vypnul pohyb, dostal světlejší
      pozadí (2,42:1). 2) hodnota .15 je z měření (práh průchodu .20, tohle
      s rezervou) — ZESVĚTLENÍ = POVINNÉ NOVÉ MĚŘENÍ. 3) animation:none
      !important ruší nekonečný pohyb z inline stylů (WCAG 2.2.2, úroveň A);
      keyframy glowPulse a hexDrift1-3 jsou smazané, aby defekt nemohl obživnout.
   4) filter:brightness(1.4) pryč — inline blur() ho stejně přebíjel, mina. */
.glow{border-radius:50%;opacity:.15;animation:none!important;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,162,77,.9),rgba(232,115,28,.45) 38%,rgba(232,115,28,0) 74%)}
50%{opacity:.92}}
25%{transform:translate(46px,-30px)}50%{transform:translate(14px,38px)}75%{transform:translate(-36px,10px)}100%{transform:translate(0,0)}}
25%{transform:translate(-40px,24px)}50%{transform:translate(28px,-30px)}75%{transform:translate(40px,18px)}100%{transform:translate(0,0)}}
33%{transform:translate(34px,30px)}66%{transform:translate(-30px,-24px)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.glow{animation:none!important}}
::selection{background:linear-gradient(120deg,#D7372C,#7A140D);color:#fff}
input,textarea{font-family:'Inter',sans-serif}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes gradFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes blobMorph{0%,100%{border-radius:42% 58% 63% 37%/45% 38% 62% 55%}33%{border-radius:60% 40% 38% 62%/55% 62% 40% 45%}66%{border-radius:38% 62% 55% 45%/40% 48% 52% 60%}}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6%,-5%) scale(1.12)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1.06)}50%{transform:translate(-7%,6%) scale(1)}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(5%,7%) scale(1.16)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes waveDrift{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){[data-fluid],[data-anim]{animation:none!important}}
html{overflow-x:hidden}
.hamburger{display:none}
@media (max-width:520px){ .brandtext{display:none} }
@media (max-width:860px){
  .desknav{display:none !important}
  .deskcta{display:none !important}
  .hamburger{display:flex !important}
  header > div:first-child{flex-wrap:nowrap !important}
}
:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px rgba(31,35,41,.5);border-radius:4px}
input:focus-visible,textarea:focus-visible{outline:3px solid #D7372C;outline-offset:1px;box-shadow:none}
@media (max-width:860px){
  div[style*="grid-template-columns"]{grid-template-columns:1fr !important}
  div[style*="repeat(4, 1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  div[style*="position: sticky"]{position:static !important;top:auto !important}
  div[style*="max-width: 1180px"],div[style*="max-width: 980px"],div[style*="max-width: 920px"],div[style*="max-width: 900px"]{padding-left:18px !important;padding-right:18px !important}
  header > div{padding:12px 18px !important;gap:12px 16px !important}
  nav[style*="gap: 22px"]{gap:12px 16px !important}
  h1{font-size:clamp(30px,8.5vw,42px) !important;line-height:1.07 !important}
  h2{font-size:clamp(24px,6.4vw,30px) !important;line-height:1.14 !important}
  h3{font-size:19px !important}
  div[style*="height: 540px"],div[style*="height: 560px"],div[style*="height: 480px"],div[style*="height: 440px"],div[style*="height: 420px"]{height:360px !important}
}
@media (max-width:520px){
  div[style*="repeat(4, 1fr)"]{grid-template-columns:1fr 1fr !important}
  div[style*="font-size: 38px"]{font-size:30px !important}
}
/* --- tisk kalkulátoru do PDF: na papír jde jen souhrn zadání a tří modelů --- */
@media print{
  header,footer,.skip,.no-print,#calc-print,[data-print]{display:none !important}
  body > div[aria-hidden="true"]{display:none !important}
  #kalkulator > section:not(#poslat-vypocet){display:none !important}
  #poslat-vypocet{padding:0 !important}
  #poslat-vypocet > div{display:block !important;padding:0 !important;max-width:none !important}
  #calc-souhrn{border:none !important;padding:0 !important;background:#fff !important}
  #calc-souhrn *{color:#141414 !important}
  #calc-souhrn dt,#calc-souhrn span[style*="color: rgb(154, 149, 140)"]{color:#555 !important}
  #calc-souhrn div[style*="border-top"]{border-color:#ddd !important}
  html,body,div[style*="min-height: 100vh"]{background:#fff !important;color:#141414 !important}
  @page{margin:18mm}
}
/* --- hexagon social icons (gold rim, dark center) + gold fizz --- */
a[aria-label]{position:relative !important;background:linear-gradient(150deg,#E06B5C,#D7372C) !important;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border:none !important;border-radius:0 !important;color:#E06B5C !important;transition:transform .18s ease, color .2s ease}
a[aria-label]::before{content:"";position:absolute;inset:2.5px;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#141008;z-index:0;transition:background .2s ease}
a[aria-label] svg{position:relative;z-index:1}
a[aria-label]:hover{transform:translateY(-3px);color:#1c1305 !important}
a[aria-label]:hover::before{background:linear-gradient(150deg,#F0958A,#E0A93C)}
a[aria-label]::after{content:"";position:absolute;left:50%;top:14%;width:3.5px;height:3.5px;border-radius:50%;background:#FFEEB0;color:#FFEEB0;opacity:0;pointer-events:none;z-index:2;filter:drop-shadow(0 0 2px rgba(255,224,140,.95));box-shadow:-8px 8px,-3px 3px,3px 9px,7px 4px,-6px 13px,1px 15px,10px 6px}
a[aria-label]:hover::after{animation:fizz 1.15s ease-out infinite}
@keyframes fizz{0%{transform:translate(-50%,16px) scale(.35);opacity:0}22%{opacity:1}100%{transform:translate(-50%,-3px) scale(1.1);opacity:0}}
@media (prefers-reduced-motion:reduce){a[aria-label]:hover::after{animation:none!important}}

/* --- doplňky pro statickou verzi --- */
/* mobilní menu — dříve řízeno frameworkem přes sc-if */
.mnav{display:none}
.mnav.open{display:block}
/* hamburger je nyní skutečný <button> */
button.hamburger{appearance:none;-webkit-appearance:none;margin:0;padding:0;font:inherit}
/* hover stavy — dříve style-hover atributy frameworku */
.navlink:hover{color:#F0EDE8 !important}
.btn-primary:hover{background:#EA6355 !important;transform:translateY(-2px)}
.btn-ghost:hover{border-color:#D7372C !important;color:#F0857A !important}
.card-hover:hover{border-color:#D7372C !important;transform:translateY(-4px)}
.card-border-hover:hover{border-color:#D7372C !important}
