/* ==========================================================================
   DOKRA – site.css (redesign 2026)
   Theme: <html data-theme="dark|light"> (set by the inline script in App.razor)
   ========================================================================== */

/* ---- Fonts (self-hosted, no Google requests) ---- */
@font-face{font-family:"Urbanist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/urbanist-latin-ext-wght-normal.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:"Urbanist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/urbanist-latin-wght-normal.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:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-latin-ext-400-normal.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+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:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-latin-400-normal.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:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/jetbrains-mono-latin-ext-500-normal.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+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:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/jetbrains-mono-latin-500-normal.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}

/* ---- Base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html[data-theme="dark"]{color-scheme:dark;background:#0A0E11}
html[data-theme="light"]{color-scheme:light;background:#F5F8F8}
img,video,svg{max-width:100%}
img,video{height:auto}

/* ---- Design (ported 1:1 from the canvas, variant B) ---- */
body{margin:0}
.dk{--accent:#00DDD4;--on-accent:#04201F;font-family:"Urbanist",system-ui,sans-serif;background:var(--bg);color:var(--text);transition:background-color .35s ease,color .35s ease;-webkit-font-smoothing:antialiased;min-height:100vh}
[data-theme="dark"] .dk{--bg:#0A0E11;--bg-alt:#0F1519;--surface:#131B20;--surface-2:#1A242A;--line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.16);--text:#E9EFF1;--muted:#98A6AD;--accent-hover:#3BEAE2;--accent-text:#2CE5DC;--accent-soft:rgba(0,221,212,.10);--nav-bg:rgba(10,14,17,.72);--shadow:0 24px 60px rgba(0,0,0,.45);--logo-filter:brightness(0) invert(1);--input:#0D1317}
[data-theme="light"] .dk{--bg:#F5F8F8;--bg-alt:#EBF1F1;--surface:#FFFFFF;--surface-2:#F0F5F5;--line:rgba(12,24,28,.09);--line-strong:rgba(12,24,28,.18);--text:#0D1417;--muted:#52616A;--accent:#2F5BEA;--on-accent:#FFFFFF;--accent-hover:#4570EE;--accent-text:#2449C8;--accent-soft:rgba(47,91,234,.10);--nav-bg:rgba(245,248,248,.78);--shadow:0 24px 60px rgba(15,40,45,.12);--logo-filter:brightness(0);--input:#F5F8F8}
.dk *{box-sizing:border-box}
.dk section[id]{scroll-margin-top:72px}
.dk h1,.dk h2,.dk h3{text-wrap:balance}
.dk p{text-wrap:pretty}
.skip{position:absolute;left:16px;top:-60px;z-index:100;padding:12px 18px;border-radius:12px;background:var(--accent);color:var(--on-accent)!important;font-weight:700;transition:top .2s}
.skip:focus{top:12px;text-decoration:none!important}
.card{transition:border-color .2s,background-color .35s}
.lift{transition:transform .2s ease,border-color .2s ease}
.lift:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.logo-strip img{max-width:100%;height:auto}
.ref-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;border-radius:16px;background:var(--surface);border:1px solid var(--line);transition:border-color .2s,transform .2s}
.ref-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.ref-card.is-active{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-text) inset;transform:none}
.ref-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:20px;cursor:pointer;flex:1;border-radius:16px;min-height:150px}
.ref-btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.ref-chev{display:none}
.ref-inline{display:none}
.t-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-strong)}
.t-item{padding:24px 24px 0 0;display:flex;flex-direction:column;gap:8px;position:relative}
.t-dot{position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:99px;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.foot a.navlink{padding:6px 0;display:inline-flex;min-height:32px;align-items:center}
.g-bul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
@media (prefers-reduced-motion:no-preference){.dk{scroll-behavior:smooth}}
.dk a{color:var(--accent-text);text-decoration:none}
.dk a:hover{text-decoration:underline}
.dk h1,.dk h2,.dk h3,.dk h4,.dk p{margin:0}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}
.eyebrow{font-family:"JetBrains Mono",monospace;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
.h2{font-size:48px;line-height:1.05;font-weight:700;letter-spacing:-.02em}
.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:60ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font:700 16px/1 "Urbanist",sans-serif;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.dk a.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.dk a.btn-primary{color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.dk a.btn-ghost{color:var(--text)}
.btn-ghost:hover{background:var(--accent-soft);border-color:var(--accent-text)}
.icon-btn{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .2s,background-color .2s}
.icon-btn:hover{border-color:var(--accent-text);color:var(--accent-text)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px}
.chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);font-size:13px;font-weight:600;color:var(--muted);background:transparent}
.navlink{color:var(--muted)!important;font-weight:600;font-size:15px;padding:8px 2px}
.navlink:hover{color:var(--text)!important;text-decoration:none!important}
.logo{filter:var(--logo-filter);opacity:.62;transition:opacity .2s}
.logo:hover{opacity:.95}
.svc-tab{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:16px;width:100%;min-height:64px;padding:14px 20px;border-radius:14px;cursor:pointer;color:var(--muted);font:600 18px/1.2 "Urbanist",sans-serif;border:1px solid transparent;transition:background-color .2s,color .2s}
.svc-tab:hover{color:var(--text);background:var(--surface-2)}
.svc-tab.is-active{color:var(--text);background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow)}
.svc-tab .num{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--muted)}
.svc-tab.is-active .num{color:var(--accent-text)}
.filter{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line-strong);cursor:pointer;font:600 15px/1 "Urbanist",sans-serif;color:var(--muted)}
.filter:hover{color:var(--text)}
.filter.is-active{background:var(--text);color:var(--bg);border-color:var(--text)}
.filter .cnt{font-family:"JetBrains Mono",monospace;font-size:12px;opacity:.7}
.pill{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);cursor:pointer;font:600 14px/1 "Urbanist",sans-serif;color:var(--muted)}
.pill:hover{color:var(--text)}
.pill.is-active{border-color:var(--accent-text);color:var(--accent-text);background:var(--accent-soft)}
.swatch{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:999px;cursor:pointer;border:2px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center}
.swatch.is-active{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:14px;font-weight:600}
.input{font:500 16px/1.4 "Urbanist",sans-serif;color:var(--text);background:var(--input);border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;min-height:48px;outline:none;transition:border-color .2s,box-shadow .2s}
.input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}
.input::placeholder{color:var(--muted);opacity:.8}
.dk :focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.hero-video{display:none!important}}
.menu-btn{display:none}
.mobile-menu{display:none}
@media (max-width:1200px) and (min-width:961px){
.g-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:960px){
.wrap{padding-left:16px;padding-right:16px}
.h2{font-size:36px}
.hero-h1{font-size:46px!important}
.nav-links,.nav-cta{display:none!important}
.menu-btn{display:inline-flex}
.mobile-menu{display:flex}
.g-hero,.g-svc,.g-case,.g-ref,.g-about,.g-contact,.g-cfg{grid-template-columns:minmax(0,1fr)!important}
.g-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.g-proc{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
.case-top{grid-template-columns:minmax(0,1fr)!important;padding:28px!important}
.case-stage{padding:0 16px 16px!important}
.case-media{border-radius:10px!important}
.g-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.g-time{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.g-logos{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.sec{padding-top:72px!important;padding-bottom:72px!important}
.sticky-col{position:static!important}
.ref-aside{display:none!important}
.ref-inline{display:flex;flex-direction:column;gap:14px;padding:0 20px 20px}
.ref-btn{min-height:0;padding:18px 20px;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}
.ref-btn .ref-logo{width:84px;height:28px;flex-shrink:0}
.ref-btn .ref-meta{flex:1;min-width:0}
.ref-chev{display:inline-flex;color:var(--muted);transition:transform .2s}
.ref-card.is-active{border-color:var(--line);box-shadow:none}
.ref-card.is-open{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-text) inset}
.ref-card.is-open .ref-chev{transform:rotate(180deg);color:var(--accent-text)}
.logo-strip img{max-width:100%!important}
.g-logos{gap:24px 16px!important}
.t-row{grid-template-columns:minmax(0,1fr)!important;border-top:0;border-left:1px solid var(--line-strong);margin-left:4px;gap:28px}
.t-item{padding:0 0 0 24px}
.t-dot{top:5px;left:-5px}
.g-bul{grid-template-columns:minmax(0,1fr)}
.hero-stats{gap:16px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.hero-stats .mono{font-size:24px!important}
.foot-grid{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
.case-pad{padding:28px!important}
.svc-panel{padding:28px!important;min-height:0!important}
}
@media (max-width:560px){
.g-steps,.g-cards{grid-template-columns:minmax(0,1fr)!important}
.hero-actions .btn{flex:1 1 auto}
.g-form{grid-template-columns:minmax(0,1fr)!important}
.hero-h1{font-size:38px!important}
}

/* ── Hero (sladěné video, světlý režim, pohyb) ── */
.hero{position:relative;overflow:hidden;min-height:828px;display:flex;flex-direction:column;--p:0;--mx:0;--my:0;--sphere:.64;background:var(--hero-bg);color:var(--hero-text)}
[data-theme="dark"] .dk{--hero-bg:#0A0E11;--hero-text:#F2F6F7;--hero-muted:#A9B6BC;--hero-line:rgba(255,255,255,.12);--glass:rgba(16,22,26,.55);--glass-line:rgba(255,255,255,.10);--hero-accent:#2CE5DC}
[data-theme="light"] .dk{--hero-bg:#F5F8F8;--hero-text:#0D1417;--hero-muted:#4C5B63;--hero-line:rgba(12,24,28,.12);--glass:rgba(255,255,255,.6);--glass-line:rgba(12,24,28,.08);--hero-accent:#2F5BEA}
.hero-media{position:absolute;top:calc(-4% - 44px);right:-24%;width:96%;height:108%;pointer-events:none;will-change:transform,opacity;
transform:translate3d(calc(var(--mx) * -14px),calc(var(--p) * -120px + var(--my) * -10px),0) scale(calc(var(--sphere) * (1 + var(--p) * .28)));transform-origin:50% 50%;opacity:calc(1 - var(--p) * .85)}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media video{opacity:0;transition:opacity 1.2s ease}
.hero-media video.is-ready{opacity:1}
.hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--hero-bg) 0%,var(--hero-bg) 22%,color-mix(in srgb,var(--hero-bg) 70%,transparent) 42%,transparent 62%)}
.hero-fade{position:absolute;left:0;right:0;bottom:0;height:220px;pointer-events:none;background:linear-gradient(180deg,transparent,var(--hero-bg))}
.hero h1{font-size:78px;line-height:.97;font-weight:800;letter-spacing:-.032em;margin:0}
.hero .ln{display:block}
.glass{background:var(--glass);border-top:1px solid var(--glass-line);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
.hero .logo{filter:var(--logo-filter);opacity:.7}
.hero .btn-ghost{color:var(--hero-text);border-color:var(--hero-line);background:var(--glass);backdrop-filter:blur(8px)}
.dk a.hero-ghost{color:var(--hero-text)}
.logos-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:28px;align-items:center;justify-items:center;flex:1}

.sphere-mark{position:absolute;left:50%;top:50%;width:118px;height:118px;transform:translate(-50%,-50%);color:var(--mark-color);filter:drop-shadow(0 0 6px var(--hero-bg)) drop-shadow(0 0 14px var(--hero-bg)) drop-shadow(0 0 28px var(--hero-bg));z-index:1}
[data-theme="dark"] .dk{--mark-color:#F2F6F7}
[data-theme="light"] .dk{--mark-color:#0D1417}
@media (max-width:960px){.sphere-mark{display:none}}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes mediain{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:none}}
@media (prefers-reduced-motion:reduce){.hero-media{transform:none!important;opacity:1!important}.hero-media video{display:none}}
@media (max-width:1200px) and (min-width:961px){.hero h1{font-size:72px}.hero-media{right:-40%;width:110%}.logos-row{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}}
@media (max-width:960px){
.wrap{padding-left:16px;padding-right:16px}
.nav-links,.nav-cta{display:none!important}.menu-btn{display:inline-flex}
.hero{min-height:auto}
.hero h1{font-size:46px}
.hero-media{top:-12%;right:-62%;width:140%;height:52%;opacity:calc(.55 - var(--p) * .5)}
.hero-scrim{background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--hero-bg) 60%,transparent) 30%,var(--hero-bg) 62%)}
.hero-body{padding-top:40px!important;padding-bottom:32px!important}
.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.hero-stats .mono{font-size:24px!important}
.hero-actions .btn{flex:1 1 auto}
.logos-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}
.logos-row img{max-width:100%!important}
.band-label{display:none!important}
.h2{font-size:36px}
}
@media (max-width:560px){.hero h1{font-size:40px}}
.dim-tag{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:12px;letter-spacing:.04em;background:var(--glass,rgba(255,255,255,.7));color:var(--text);border:1px solid var(--line-strong);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,.18);pointer-events:none;white-space:nowrap}
.dim-dot{width:8px;height:8px;border-radius:99px;background:var(--accent)}
.dim-2d .dim-dot{background:transparent;border:1.5px solid var(--muted)}
@media (max-width:560px){.dim-tag{font-size:10px;padding:4px 8px}.dim-2d{top:66%!important;left:46%!important}}
.plx{will-change:transform;transform:translate3d(0,var(--py,0px),0) scale(var(--ps,1))}
.plx[data-plx]{--ps:1.24}
.plx[data-plx="10"]{--ps:1.035}
@media (prefers-reduced-motion:reduce){.plx{transform:none!important}}
.marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-group{display:flex;align-items:center;gap:64px;padding-right:64px}
@keyframes marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto}}
@media (max-width:960px){.marquee-group{gap:40px;padding-right:40px}}
.globe:active{cursor:grabbing}
@media (max-width:960px){.globe{max-width:340px!important}}

/* ---- Additions for the production build ---- */
/* theme toggle icons */
.theme-toggle .ic-moon{display:none}
[data-theme="light"] .theme-toggle .ic-sun{display:none}
[data-theme="light"] .theme-toggle .ic-moon{display:block}
/* mobile menu: the [hidden] attribute must win over the flex layout */
.mobile-menu[hidden]{display:none!important}
/* hero poster per theme (only the active one is downloaded) */
.hero-poster{position:absolute;inset:0;background:center/cover no-repeat}
[data-theme="dark"] .hero-poster{background-image:url("/assets/img/hero/poster-dark.webp")}
[data-theme="light"] .hero-poster{background-image:url("/assets/img/hero/poster-light.webp")}

/* Blazor <FocusOnNavigate> moves focus to <h1> after navigation (for screen readers).
   Keep the behaviour, hide the focus ring for that programmatic focus. */
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}

/* [hidden] must win over inline display:flex/grid used by the components */
.dk [hidden]{display:none!important}
/* theme-specific images (lazy + display:none => only the visible one is downloaded) */
[data-theme="light"] .theme-dark-only,[data-theme="dark"] .theme-light-only{display:none!important}
/* references: inline detail only for the opened card (mobile accordion) */
.ref-card:not(.is-open) .ref-inline{display:none!important}
.ref-btn h3{margin:0}

/* ---- Contact form (static SSR) ---- */
.pill{position:relative}
.pill input[type="checkbox"]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pill:has(input:checked){border-color:var(--accent-text);color:var(--accent-text);background:var(--accent-soft)}
.pill:has(input:focus-visible){outline:2px solid var(--accent-text);outline-offset:3px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.validation-message{color:#e5484d;font-size:13px;font-weight:600;margin-top:2px}
.input.invalid{border-color:#e5484d}
.input.invalid:focus{box-shadow:0 0 0 3px rgba(229,72,77,.18)}
.form-alert{padding:14px 16px;border-radius:12px;border:1px solid #e5484d;background:rgba(229,72,77,.08);color:var(--text);font-size:15px}
/* configurator card: let the widget size itself */
.cfg-card{overflow:hidden}

/* ---- 3D configurator widget: re-theme with the site tokens ----
   The widget (DOKRA.Configurator.Widget) uses shadcn-style HSL tokens; we override them
   per site theme. The 3D canvas is transparent, its background comes from .model-viewer. */
[data-theme="dark"] .dk .dokra-configurator-widget{--background:203 25% 10%;--foreground:195 22% 93%;--surface:203 25% 10%;--surface-foreground:195 22% 93%;--surface-raised:202 24% 13%;--popover:202 24% 13%;--popover-foreground:195 22% 93%;--muted:203 23% 16%;--muted-foreground:200 11% 64%;--border:201 17% 20%;--input:206 18% 25%;--ring:178 100% 43%;--primary:178 100% 43%;--primary-foreground:178 78% 7%;--secondary:202 24% 13%;--secondary-foreground:195 22% 93%;--accent:178 100% 43%;--accent-foreground:178 78% 7%;--radius:16px;--radius-sm:10px;--radius-lg:20px;background:transparent;color:#E9EFF1}
[data-theme="dark"] .dk .dokra-configurator-widget .model-viewer{background:#0F1519;border-radius:14px}
[data-theme="light"] .dk .dokra-configurator-widget{--background:0 0% 100%;--foreground:198 28% 7%;--surface:0 0% 100%;--surface-foreground:198 28% 7%;--surface-raised:180 20% 95%;--popover:0 0% 100%;--popover-foreground:198 28% 7%;--muted:180 18% 93%;--muted-foreground:202 13% 37%;--border:191 14% 85%;--input:194 12% 79%;--ring:226 82% 55%;--primary:226 82% 55%;--primary-foreground:0 0% 100%;--secondary:180 20% 95%;--secondary-foreground:198 28% 7%;--accent:226 82% 55%;--accent-foreground:0 0% 100%;--radius:16px;--radius-sm:10px;--radius-lg:20px;background:transparent;color:#0D1417}
[data-theme="light"] .dk .dokra-configurator-widget .model-viewer{background:#EBF1F1;border-radius:14px}
.dk .dokra-configurator-widget{font-family:"Urbanist",system-ui,sans-serif}
[data-theme="dark"] .dk .dokra-configurator-widget .summary-card__breakdown{background:#1A242A}
[data-theme="light"] .dk .dokra-configurator-widget .summary-card__breakdown{background:#F0F5F5}
.dk .dokra-configurator-widget.switchboard-card,.dk .dokra-configurator-widget .switchboard-card{box-shadow:none}
.dk .lazy-configurator-host__placeholder{border-color:var(--line-strong);background:var(--surface-2);color:var(--muted)}
.dk .lazy-configurator-host__spinner{border-color:var(--line-strong);border-top-color:var(--accent)}
/* one frame only: the widget's own panel is the card, our wrapper is transparent */
.dk .cfg-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;border-radius:0!important;overflow:visible}
.dk .dokra-configurator-widget.switchboard-card{border:1px solid var(--line)!important;border-radius:24px!important;background:var(--surface)!important;overflow:hidden}

/* ---- Sub-pages: legal documents, 404, error ---- */
.dk #obsah,.dk .legal-article{scroll-margin-top:96px}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:36px}
.crumbs a{color:var(--muted)!important}
.crumbs a:hover{color:var(--text)!important}
.crumbs span[aria-current]{color:var(--text)}
.sub-hero{position:relative;overflow:hidden;padding:56px 0 64px;border-bottom:1px solid var(--line)}
.sub-hero::before{content:"";position:absolute;top:-320px;right:-200px;width:760px;height:760px;border-radius:50%;background:radial-gradient(closest-side,var(--accent-soft),transparent);pointer-events:none}
.sub-hero .wrap{position:relative}
.sub-h1{font-size:64px;line-height:1.02;font-weight:700;letter-spacing:-.025em;margin-top:18px!important}
.sub-hero .lead,.status-page .lead{margin-top:20px!important}
.sub-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start;padding-top:56px;padding-bottom:112px}
.legal-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.legal-toc summary{list-style:none;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-left:1px solid var(--line-strong)}
.legal-toc a{display:flex;gap:10px;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted)!important;font-weight:600;font-size:14.5px;line-height:1.35;transition:color .2s,border-color .2s}
.legal-toc a:hover{color:var(--text)!important;text-decoration:none!important}
.legal-toc a.is-current{color:var(--accent-text)!important;border-left-color:var(--accent)}
.legal-toc .n{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:500;min-width:3.4em;flex-shrink:0;padding-top:2px}
.legal-body{max-width:780px;min-width:0}
.legal-body p,.legal-body li,.legal-def-text{font-size:16.5px;line-height:1.7;color:color-mix(in srgb,var(--text) 84%,var(--muted))}
.legal-body strong{color:var(--text);font-weight:700}
.legal-body code{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:500;padding:2px 6px;border-radius:6px;background:var(--surface-2);overflow-wrap:anywhere}
.legal-notice,.legal-warning{display:flex;gap:14px;padding:18px 20px;border-radius:16px}
.legal-notice{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent-text) 28%,transparent);margin-bottom:12px}
.legal-warning{background:rgba(224,160,48,.10);border:1px solid rgba(224,160,48,.38);margin-top:20px}
.legal-notice svg,.legal-warning svg{flex-shrink:0;margin-top:3px}
.legal-notice svg{color:var(--accent-text)}
.legal-warning svg{color:#D99A2B}
.legal-notice p,.legal-warning p{font-size:15.5px!important;line-height:1.6!important;color:var(--text)!important}
.legal-article{padding:40px 0;border-bottom:1px solid var(--line)}
.legal-h{display:flex;align-items:baseline;gap:14px;font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.01em;margin-bottom:22px!important}
.legal-num{font-family:"JetBrains Mono",monospace;font-size:15px;font-weight:500;color:var(--accent-text);min-width:3em;flex-shrink:0}
.legal-sub{font-size:18px;font-weight:700;margin:32px 0 14px!important}
.legal-sub:first-of-type{margin-top:0!important}
.legal-clauses{display:flex;flex-direction:column;gap:14px}
.legal-clause{display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:12px}
.legal-clause-num{font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--muted);padding-top:5px}
.legal-intro{margin-bottom:16px!important}
.legal-after{margin-top:18px!important}
.legal-defs{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.legal-def{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;padding:16px 20px;border-top:1px solid var(--line)}
.legal-def:first-child{border-top:0}
.legal-def-term{font-weight:700;color:var(--text);line-height:1.5;padding-top:2px}
.legal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.legal-list li{position:relative;padding-left:24px}
.legal-list li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--accent)}
.legal-list-inner{margin-top:10px}
.legal-contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 32px;padding:28px 32px;margin-top:48px}
.legal-contact h2{font-size:22px;font-weight:700}
.legal-contact p{margin-top:6px!important;color:var(--muted)!important}
.legal-todo{background:rgba(224,160,48,.22);color:var(--text);padding:1px 6px;border-radius:5px;font-weight:600}
.status-page{position:relative;overflow:hidden;display:flex;align-items:center;min-height:calc(100vh - 73px);padding:96px 0 120px}
.status-page .wrap{position:relative;width:100%}
.status-code{position:absolute;right:-1%;top:50%;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;font-weight:500;font-size:clamp(160px,30vw,420px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--line-strong);pointer-events:none;user-select:none}
.status-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
@media (max-width:960px){
.sub-hero{padding:32px 0 48px}
.sub-h1{font-size:42px}
.crumbs{margin-bottom:24px}
.legal-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:32px;padding-bottom:72px}
.legal-toc{position:static;max-height:none;overflow:visible;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:16px 18px}
.legal-toc summary{display:flex;align-items:center;justify-content:space-between;min-height:24px;margin:0}
.legal-toc summary::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-top:-4px}
.legal-toc[open] summary{margin-bottom:12px}
.legal-toc[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.legal-article{padding:32px 0}
.legal-h{font-size:23px;gap:10px}
.legal-num{min-width:0}
.legal-clause{grid-template-columns:minmax(0,1fr);gap:4px}
.legal-clause-num{padding-top:0}
.legal-def{grid-template-columns:minmax(0,1fr);gap:4px}
.legal-contact{padding:24px}
.status-page{min-height:0;padding:72px 0 96px}
.status-code{top:auto;bottom:-4%;transform:none;opacity:.7}
}

/* ---- Flow lines (homepage, js/site.js initFlow) ---- */
.dk main.has-flow{position:relative}
.dk main.has-flow > svg.flow{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:0;overflow:visible}
.dk main.has-flow > section:not(.hero) > .wrap{position:relative;z-index:1}
@media print{.dk main > svg.flow{display:none}}
