/* Cheappy: styly pro animace a 3D scénu. Barvy a písma se nastavují v Elementoru (Nastavení webu). */
:root{--ch-bg:#08070B;--ch-surface:#111017;--ch-surface-2:#1A1822;--ch-light:#ECEAF1;--ch-ink:#F2F1F5;--ch-ink-dark:#121117;--ch-muted:#9C98A8;--ch-line:#2A2733;--ch-accent:#B7AEE0;--ch-plum:#2A1B4D;--ch-ease:cubic-bezier(.2,.7,.1,1)}
html{background:var(--ch-bg)}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
::selection{background:var(--ch-accent);color:var(--ch-ink-dark)}
.elementor[data-elementor-type="wp-page"]{position:relative;z-index:1}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* Pevné vrstvy */
.ch-canvas{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:0;pointer-events:none;display:block}
.ch-glow{position:fixed;left:50%;top:50%;width:90vmax;height:90vmax;margin:-45vmax 0 0 -45vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(66,42,122,.5),rgba(42,27,77,.26) 46%,rgba(8,7,11,0) 74%);z-index:0;pointer-events:none;will-change:transform,opacity}
.ch-progress{position:fixed;left:0;top:0;right:0;height:2px;z-index:1001;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--ch-ink),var(--ch-accent));pointer-events:none}
body:not(.elementor-editor-active)::after{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

/* Navigace */
body:not(.elementor-editor-active) .ch-nav{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:1000;transition:transform .6s var(--ch-ease),background-color .4s,border-color .4s;border-bottom:1px solid transparent}
body:not(.elementor-editor-active) .ch-nav.is-scrolled{background-color:rgba(8,7,11,.66);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom-color:rgba(242,241,245,.07)}
body:not(.elementor-editor-active) .ch-nav.is-hidden{transform:translateY(-105%)}

/* Stříbrné nadpisy */
.ch-silver .elementor-heading-title{background-image:linear-gradient(180deg,#FFFFFF 0%,#DAD7E2 48%,#8E8A9B 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ch-silver .elementor-heading-title.is-split{background-image:none;-webkit-text-fill-color:currentColor}
.ch-silver .ch-line{background-image:linear-gradient(180deg,#FFFFFF 0%,#DAD7E2 50%,#9A96A7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ch-dim,.ch-silver .ch-dim{background-image:linear-gradient(180deg,#A29EAE 0%,#5E5A6B 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ch-ink-dark .elementor-heading-title{-webkit-text-fill-color:var(--ch-ink-dark)}
.is-split>div{padding-bottom:.14em;margin-bottom:-.14em}

/* Texty z editoru */
.elementor-widget-text-editor p{margin-top:0}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor a{text-decoration:none;color:inherit;border-bottom:1px solid rgba(242,241,245,.3);transition:border-color .3s}
.elementor-widget-text-editor a:hover{border-color:var(--ch-accent)}
.elementor-heading-title a{text-decoration:none;color:inherit}

/* Obrysový text a běžící pás */
.ch-outline-dark .elementor-heading-title{-webkit-text-stroke:1.2px rgba(18,17,23,.42);-webkit-text-fill-color:transparent}
.ch-outline .elementor-heading-title{-webkit-text-stroke:1px rgba(242,241,245,.5);-webkit-text-fill-color:transparent}
.ch-outline .elementor-heading-title a{-webkit-text-fill-color:transparent;transition:-webkit-text-fill-color .5s var(--ch-ease)}
.ch-outline .elementor-heading-title a:hover{-webkit-text-fill-color:var(--ch-ink)}
.ch-marquee{overflow:hidden}
.ch-marquee .elementor-heading-title{white-space:nowrap}
.ch-mq-track{display:inline-flex;will-change:transform}
.ch-mq-group{display:inline-flex}
.ch-mq-item{display:inline-flex;align-items:center;padding-right:.45em}
.ch-mq-item::after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.45em;border-radius:50%;background:var(--ch-accent);-webkit-text-stroke:0}

/* Scéna s příběhem */
.ch-story.is-live .ch-steps{display:grid!important}
.ch-story.is-live .ch-step{grid-area:1/1/2/2}
.ch-dots{display:flex;gap:8px;margin-top:36px}
.ch-dots i{display:block;position:relative;overflow:hidden;width:44px;height:2px;border-radius:2px;background:rgba(242,241,245,.16);transition:height .3s var(--ch-ease)}
.ch-dots i b{position:absolute;inset:0;border-radius:inherit;background:var(--ch-ink);transform-origin:0 50%;transform:scaleX(0)}
.ch-dots i.on{height:3px}

/* Horizontální pás karet */
@media (min-width:768px){
 body:not(.elementor-editor-active) .ch-hscroll{overflow:hidden}
 body:not(.elementor-editor-active) .ch-track{flex-wrap:nowrap!important;width:max-content!important;max-width:none!important;will-change:transform}
 body:not(.elementor-editor-active) .ch-track>.ch-hcard{flex:0 0 auto!important;width:clamp(300px,29vw,410px)!important}
}
@media (max-width:767px){
 .ch-track{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .ch-track::-webkit-scrollbar{display:none}
 .ch-track>.ch-hcard{flex:0 0 84%!important;width:84%!important;scroll-snap-align:start}
}
.ch-glyph svg{display:block;width:100%;height:auto;overflow:visible}
.ch-glyph{color:var(--ch-ink);will-change:transform}
.ch-on-light .ch-glyph{color:var(--ch-ink-dark)}

/* Karty s nakloněním a světlem */
.ch-tilt{transform-style:preserve-3d;will-change:transform}
.ch-tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(242,241,245,.10),rgba(242,241,245,0) 50%);opacity:0;transition:opacity .45s;z-index:3}
.ch-tilt.ch-on-light::after{background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.55),rgba(255,255,255,0) 50%)}
.ch-tilt:hover::after{opacity:1}

/* Mřížka karet oborů */
.ch-cards>.ch-hcard{transition:translate .5s var(--ch-ease),border-color .4s}
.ch-cards>.ch-hcard:hover{translate:0 -4px;border-color:rgba(242,241,245,.16)!important}
.ch-cards>.ch-hcard.ch-on-light:hover{border-color:rgba(18,17,23,.14)!important}
.ch-cta-card .elementor-widget-button{flex:0 0 auto}

/* Otáčivý 3D prstenec karet (jen když běží animace; jinak zůstává běžná mřížka z Elementoru) */
body:not(.elementor-editor-active) .ch-ring{overflow:hidden}
.ch-ring.is-ring{padding-top:0!important;padding-bottom:0!important;justify-content:flex-start!important}
.ch-ring.is-ring>.e-con-inner{padding-top:72px!important;padding-bottom:20px!important;row-gap:24px!important;justify-content:flex-start!important}
.ch-ring.is-ring>.e-con-inner{position:relative;perspective:var(--persp,1800px);perspective-origin:50% 42%}
.ch-ring.is-ring>.e-con-inner::before{content:"";position:absolute;left:50%;bottom:0;width:min(1200px,130vw);height:75%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(66,42,122,.45),rgba(42,27,77,.2) 55%,rgba(8,7,11,0) 100%);pointer-events:none;z-index:0}
.ch-ring.is-ring>.e-con-inner>*{position:relative;z-index:1}
.ch-ring.is-ring .ch-ring-track{position:relative!important;display:block!important;flex:0 0 auto!important;width:100%!important;max-width:none!important;height:var(--rh,550px)!important;transform-style:preserve-3d;will-change:transform}
.ch-ring.is-ring .ch-ring-track>.ch-hcard{position:absolute!important;left:50%!important;top:50%!important;width:var(--cw,370px)!important;max-width:none!important;min-height:0!important;height:var(--ch,490px)!important;margin:calc(var(--ch,490px)/-2) 0 0 calc(var(--cw,370px)/-2)!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity;cursor:pointer;transition:box-shadow .6s var(--ch-ease)}
.ch-ring.is-ring .ch-ring-track>.ch-hcard{flex-wrap:nowrap!important;gap:16px!important}
@media (min-width:768px){
 .ch-ring.is-ring .ch-glyph{width:clamp(70px,calc((var(--ch,490px) - 285px) * 1.43),74%)!important}
}
@media (max-width:767px){
 .ch-ring.is-ring .ch-ring-track>.ch-hcard{padding:24px 22px 24px!important}
 .ch-ring.is-ring .ch-glyph{width:42%!important}
 .ch-ring.is-ring .ch-ring-track>.ch-hcard{gap:10px!important}
}
.ch-ring.is-ring .ch-hcard.is-front{cursor:auto;box-shadow:0 60px 110px -40px rgba(42,27,77,.9),0 0 0 1px rgba(242,241,245,.12)}
.ch-ring-dots{justify-content:center;margin-top:22px!important}
.ch-ring-dots button{appearance:none;-webkit-appearance:none;border:0;padding:12px 0;margin:0;background:none;cursor:pointer;display:block}
.ch-ring-dots button::before{content:"";display:block;width:30px;height:2px;border-radius:2px;background:rgba(242,241,245,.18);transition:background-color .4s,width .4s var(--ch-ease)}
.ch-ring-dots button.on::before{background:var(--ch-ink);width:54px}
.ch-ring-dots button:focus-visible{outline:1px solid var(--ch-accent);outline-offset:4px;border-radius:2px}

/* Karty, které se skládají na sebe */
body:not(.elementor-editor-active) .ch-stack .ch-scard{position:sticky!important;top:calc(96px + var(--ch-i,0) * 14px);transform-origin:50% 0;will-change:transform}

/* Ukázka práce */
.ch-zoom{overflow:hidden;border-radius:28px}
.ch-zoom img{display:block;width:100%;height:auto;will-change:transform}
.ch-phone img{border-radius:26px;box-shadow:0 30px 80px rgba(4,3,8,.7),0 0 0 1px rgba(242,241,245,.12)}

/* Kurzor */
.ch-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:1002;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .3s}
.ch-cursor.is-on{opacity:1}
.ch-cursor span{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .4s var(--ch-ease)}
.ch-cursor.is-link span{transform:scale(3.6)}
@media (hover:none){.ch-cursor{display:none}}

/* Tlačítka */
.elementor-button{transition:background-color .35s var(--ch-ease),color .35s var(--ch-ease),border-color .35s var(--ch-ease)}
.ch-magnetic .elementor-button{will-change:transform}

/* Otázky */
.ch-faq details>summary{transition:color .3s}

/* Skrytí úvodu před spuštěním animací (pojistka: po 3 s se vždy zobrazí) */
html.ch-pending .ch-hero .elementor-widget{opacity:0}

@media (prefers-reduced-motion:reduce){.ch-cursor,.ch-progress{display:none}html.ch-pending .ch-hero .elementor-widget{opacity:1}}
