/* ====================================================================
   ELITE ACADEMY â elite.css (ÄistĂĄ verzia, jedinĂ˝ zdroj pravdy)
   ==================================================================== */

/* 1. TOKENY ---------------------------------------------------------- */
:root{
	--bg-0:#08090b; --bg-1:#0d0f12; --bg-2:#14171c; --bg-3:#1b1f26;
	--line-1:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.16);
	--fg-1:#f2f5f7; --fg-2:#a8b1bb; --fg-3:#67717d;
	--accent:#00c2b2; --accent-hover:#00dcc9; --accent-ink:#04120f;
	--accent-dim:rgba(0,194,178,.12); --accent-line:rgba(0,194,178,.4);
	--font-display:'Saira Condensed','Arial Narrow',sans-serif;
	--font-body:'Archivo','Helvetica Neue',sans-serif;
	--speed-line:linear-gradient(90deg,transparent,var(--accent) 20%,var(--accent) 80%,transparent);
	--protect-top:linear-gradient(0deg,rgba(8,9,11,0) 40%,rgba(8,9,11,.7) 100%);
	--protect-bottom:linear-gradient(180deg,rgba(8,9,11,0) 30%,rgba(8,9,11,.88) 85%);
	--cut-corner:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
	--ease-out:cubic-bezier(.2,.7,.2,1);
	--gutter:clamp(24px,6vw,120px);
	--header-h:64px;
}

/* 3. ZĂKLAD ----------------------------------------------------------- */
html{ scroll-behavior:smooth; scroll-padding-top:var(--header-h); }
body{ background:var(--bg-0); color:var(--fg-2); font-family:var(--font-body); overflow-x:hidden; }

/* 4. HEADER ----------------------------------------------------------- */
.site-header{
	position:fixed; top:0; left:0; right:0; z-index:95; height:var(--header-h);
	display:flex; justify-content:space-between; align-items:center;
	padding:0 var(--gutter); box-sizing:border-box;
	background:rgba(13,15,18,.78);
	backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
	border-bottom:1px solid var(--line-1);
}
body.admin-bar .site-header{ top:32px; }
.brand, .brand a{
	font-family:var(--font-display); font-weight:800; text-transform:uppercase;
	letter-spacing:.06em; font-size:20px; color:var(--fg-1); text-decoration:none; margin:0;
}
.brand a span{ font-weight:400; color:var(--fg-2); }
.header-right{ display:flex; align-items:center; gap:14px; }
.lang-switch{ display:flex; border:1px solid var(--line-2); border-radius:999px; padding:3px; }
.lang-switch p{ margin:0; }
.lang-switch a{
	display:inline-block; padding:5px 14px; font-size:13px; font-weight:700;
	letter-spacing:.05em; color:var(--fg-2); text-decoration:none; border-radius:999px;
	transition:.15s var(--ease-out);
}
.lang-switch a.is-active{ background:var(--accent); color:var(--accent-ink); }

/* 5. HAMBURGER + MENU OVERLAY ---------------------------------------- */
.menu-toggle{
	appearance:none; background:none; border:0; cursor:pointer;
	width:44px; height:44px; padding:0;
	display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
	position:relative; z-index:100;
}
.menu-toggle span{
	display:block; width:22px; height:2px; background:var(--fg-1);
	transform-origin:center;
	transition:transform .28s var(--ease-out), opacity .2s var(--ease-out);
}
html.menu-open .menu-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
html.menu-open .menu-toggle span:nth-child(2){ opacity:0; }
html.menu-open .menu-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.menu-overlay{
	position:fixed; inset:0; z-index:98;
	background:rgba(8,9,11,.96);
	backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
	opacity:0; visibility:hidden;
	transition:opacity .3s var(--ease-out), visibility .3s;
	overflow-y:auto;
}
html.menu-open .menu-overlay{ opacity:1; visibility:visible; }
html.menu-open body{ overflow:hidden; }
.menu-inner{
	min-height:100%; display:flex; flex-direction:column;
	justify-content:center; align-items:flex-start;
	padding:120px var(--gutter) 80px; gap:4px;
}
.menu-link{
	font-family:var(--font-display); font-weight:800; text-transform:uppercase;
	font-size:clamp(40px,7vw,72px); line-height:1.1;
	color:var(--fg-1); text-decoration:none;
	transition:color .15s var(--ease-out);
}
.menu-link:hover{ color:var(--accent); }
.menu-line{ border:none; height:2px; width:200px; background:var(--speed-line); margin:24px 0; }
.menu-sub{ font-size:16px; color:var(--fg-2); text-decoration:none; padding:4px 0; }
.menu-sub:hover{ color:var(--accent); }
.menu-lang{ display:flex; border:1px solid var(--line-2); border-radius:999px; padding:3px; margin-top:24px; }
.menu-lang a{ padding:5px 16px; font-size:13px; font-weight:700; color:var(--fg-2); text-decoration:none; border-radius:999px; }
.menu-lang a.is-active{ background:var(--accent); color:var(--accent-ink); }

/* 6. SEKCIE ------------------------------------------------------------
   main uĹž nie je constrained â sekcie sĂş prirodzene na 100% ĹĄĂ­rky. */
.site-section{
	min-height:100svh;
	width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
	display:flex; flex-direction:column; justify-content:center;
	position:relative; box-sizing:border-box; overflow:hidden;
	padding:clamp(80px,9vw,120px) var(--gutter);
}
.site-section.sec-alt{ background:var(--bg-1); }
.sec-center{ text-align:center; }

/* Constrained deti (WP layout) â zruĹĄiĹĽ Ăşzky stÄşpec, ale nechaj centrovanie textu */
.site-section.is-layout-constrained > *{ max-width:none!important; margin-left:0!important; margin-right:0!important; }

/* 7. TYPOGRAFIA -------------------------------------------------------- */
.sec-eyebrow{
	font-size:13px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
	color:var(--accent); margin:0 0 10px;
	display:flex; align-items:center; gap:10px;
}
.sec-eyebrow::before{ content:''; width:8px; height:8px; background:var(--accent); flex:none; }
.sec-center .sec-eyebrow{ justify-content:center; }
.hero-title{
	font-size:clamp(44px,9vw,96px); font-weight:800; font-style:normal;
	line-height:.95; margin:0 0 8px;
}
.hero-title .t-dim{ font-weight:400; color:var(--fg-2); }
.sec-title{
	font-size:clamp(34px,6vw,64px); font-weight:700; font-style:normal;
	line-height:1.02; margin:0 0 12px;
}
.sec-title strong{ color:var(--accent); font-weight:700; }
#kurzy .sec-title{ font-weight:800; font-style:italic; font-size:clamp(48px,10vw,110px); line-height:.92; }
.lead{ font-size:18px; color:var(--fg-2); max-width:46ch; margin:0 0 20px; }
.sec-center .lead{ max-width:60ch; margin-left:auto!important; margin-right:auto!important; }
.sec-center .price-row{ margin-left:auto!important; margin-right:auto!important; }
.sec-center .wp-block-columns{ max-width:1100px; margin-left:auto!important; margin-right:auto!important; }

/* 8. HERO --------------------------------------------------------------- */
#hero{
	justify-content:center; align-items:flex-start; text-align:left;
	background:url('/wp-content/uploads/2026/07/hero_elite-2.webp') center 50%/cover no-repeat var(--bg-0);
}
#hero::before{ content:''; position:absolute; inset:0; background:var(--protect-top); pointer-events:none; }
#hero::after{ content:''; position:absolute; inset:0; background:var(--protect-bottom); pointer-events:none; }
#hero > *{ position:relative; z-index:2; }

/* 9. PILLS + SPEED LINE ------------------------------------------------- */
.pills{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px; }
.sec-center .pills{ justify-content:center; }
.pill{
	font-family:var(--font-display); font-weight:600; font-size:16px;
	letter-spacing:.04em; text-transform:uppercase; color:var(--fg-1);
	border:1px solid var(--line-2); padding:5px 12px; margin:0; white-space:nowrap;
}
.pill.is-active{ border-color:var(--accent-line); background:var(--accent-dim); }
.speed-line{
	border:none; height:2px; width:200px; max-width:60%;
	background:var(--speed-line); opacity:1; margin:8px 0;
}
.sec-center .speed-line{ margin-left:auto; margin-right:auto; }

/* 10. KURZY (zrĂ˝chlenĂŠ) â watermark + stat karty ----------------------- */
#kurzy::before{
	content:'10'; position:absolute; top:50%; right:-6%;
	transform:translateY(-52%) skewX(-8deg);
	font-family:var(--font-display); font-weight:800;
	font-size:clamp(300px,64vh,680px); line-height:.8;
	color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.09);
	pointer-events:none; user-select:none; z-index:0;
}
#kurzy > *{ position:relative; z-index:1; }
.stat-cards{ gap:16px!important; }
#kurzy .stat-cards{ max-width:720px; margin-left:auto!important; margin-right:auto!important; }
.stat-card{
	background:var(--bg-2); border:1px solid var(--line-1);
	clip-path:var(--cut-corner); padding:18px; text-align:left;
}
.stat-card h3{ font-style:italic; font-weight:800; font-size:36px; line-height:1; margin:0; }
.stat-card p{ margin:4px 0 0; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-3); }
.stat-card.is-accent{ border-color:var(--accent-line); }
.stat-card.is-accent h3{ color:var(--accent); }

/* 11. KURZY-STORY (sticky carousel) -------------------------------------- */
#kurzy-story{
	position:relative; height:420svh;
	width:100vw; max-width:100vw;
	margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
	background:var(--bg-0);
}
#kurzy-story .story-sticky{
	position:sticky; top:0; height:100svh; overflow:hidden; box-sizing:border-box;
}
#kurzy-story .story-scene{
	position:absolute; left:0; right:0; bottom:0;
	padding:0 var(--gutter) 96px;
	will-change:transform,opacity;
}
#kurzy-story .story-scene-inner{
	width:100%; max-width:none; margin:0;
	display:flex; flex-direction:column; gap:14px; align-items:flex-start;
}
#kurzy-story .story-eyebrow{ font-size:13px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); }
#kurzy-story h2{
	margin:0; font-family:var(--font-display); font-weight:800;
	font-size:clamp(38px,7vw,72px); line-height:.95; text-transform:uppercase; color:var(--fg-1);
}
#kurzy-story h2 .t-dim{ font-weight:400; color:var(--fg-2); }
#kurzy-story .story-lead{ margin:0; font-size:16px; color:var(--fg-2); max-width:44ch; }
#kurzy-story .story-rows{ width:min(520px,100%); display:flex; flex-direction:column; }
#kurzy-story .story-row{
	display:flex; justify-content:space-between; align-items:center; gap:12px;
	border-bottom:1px solid var(--line-2); padding:10px 0;
}
#kurzy-story .story-row .rl{ display:flex; flex-direction:column; gap:2px; }
#kurzy-story .story-row .rl b{ font-family:var(--font-display); font-weight:700; font-size:18px; line-height:1; text-transform:uppercase; color:var(--fg-1); }
#kurzy-story .story-row .rl small{ font-size:12px; color:var(--fg-3); }
#kurzy-story .story-row .rp{ display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
#kurzy-story .story-row .rp s{ font-size:14px; color:var(--fg-3); }
#kurzy-story .story-row .rp .pp{ font-family:var(--font-display); font-weight:800; font-size:24px; line-height:1; color:var(--accent); }
#kurzy-story .story-btns{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:6px; }
#kurzy-story .story-btn{
	display:inline-block; background:var(--accent); color:var(--accent-ink);
	font-family:var(--font-display); font-weight:700; text-transform:uppercase;
	letter-spacing:.08em; font-size:15px; padding:13px 26px; border-radius:2px; text-decoration:none;
}
#kurzy-story .story-btn:hover{ background:var(--accent-hover); }
#kurzy-story .story-link{ color:var(--accent); font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; font-size:15px; }
#kurzy-story .story-cards{ display:flex; gap:16px; flex-wrap:wrap; }
#kurzy-story .story-card{ background:var(--bg-2); border:1px solid var(--line-1); clip-path:var(--cut-corner); padding:22px; max-width:420px; }
#kurzy-story .story-card h3{ margin:0 0 6px; font-family:var(--font-display); font-weight:700; font-size:22px; text-transform:uppercase; color:var(--fg-1); }
#kurzy-story .story-card p{ margin:0 0 8px; font-size:14px; color:var(--fg-2); }
#kurzy-story .story-card .cta{ color:var(--accent); font-size:13px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }

/* 12. RECENZIE + NOVINKY -------------------------------------------------- */
.sec-reviews, .sec-news{ text-align:left; }
.quote-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; margin-top:24px; }
.quote-card{
	background:var(--bg-2); border:1px solid var(--line-1); border-radius:4px;
	padding:26px; display:flex; flex-direction:column; gap:14px; justify-content:space-between;
}
.q-text{ font-size:17px; line-height:1.55; color:var(--fg-1); margin:0; }
.q-author{ font-size:14px; color:var(--fg-3); margin:0; }
.news-cards{
	display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px;
	list-style:none; padding:0; margin:24px 0 0;
}
.news-cards li{
	background:var(--bg-2); border:1px solid var(--line-1); border-radius:4px;
	padding:26px; margin:0; display:flex; flex-direction:column; gap:8px;
}
.news-cards time{
	order:-1; font-size:12px; font-weight:600; letter-spacing:.18em;
	text-transform:uppercase; color:var(--accent);
}
.news-cards time::before{ content:'Novinka \00b7  '; }
.news-cards a{
	font-family:var(--font-display); font-weight:700; text-transform:uppercase;
	font-size:22px; line-height:1.1; color:var(--fg-1); text-decoration:none;
}
.news-cards a:hover{ color:var(--accent); }
.news-cards .wp-block-latest-posts__post-excerpt{ font-size:15px; color:var(--fg-2); margin:0; }

/* 13. CENNĂK GRID ---------------------------------------------------------- */
.sec-center .price-grid{ margin-left:auto!important; margin-right:auto!important; }
.sec-center .wp-block-buttons{ margin-left:auto!important; margin-right:auto!important; }
.price-grid{
	display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px;
	width:100%; max-width:1400px; margin:24px auto 0; text-align:left;
}
.price-card{ background:var(--bg-2); border:1px solid var(--line-1); clip-path:var(--cut-corner); padding:22px; position:relative; }
.price-card.is-accent{ border-color:var(--accent-line); }
.pc-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin:0 0 26px; }
.pc-code{ font-family:var(--font-display); font-weight:800; font-size:44px; line-height:.9; color:transparent; -webkit-text-stroke:1.5px var(--fg-3); margin:0; }
.price-card.is-accent .pc-code{ -webkit-text-stroke:1.5px var(--accent); }
.pc-tag{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-3); margin:0; }
.price-card.is-accent .pc-tag{ background:var(--accent); color:var(--accent-ink); padding:4px 10px; font-weight:700; }
.pc-price{ margin:0 0 4px; }
.pc-price s{ font-size:14px; color:var(--fg-3); margin-right:8px; }
.pc-price b{ font-family:var(--font-display); font-weight:800; font-size:30px; color:var(--fg-1); }
.price-card.is-accent .pc-price b{ color:var(--accent); }
.pc-desc{ font-size:13px; color:var(--fg-3); margin:0; }
.price-wide{
	background:var(--bg-2); border:1px solid var(--line-1); padding:22px;
	display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
	width:100%; max-width:1400px; margin:16px auto 0; text-align:left; box-sizing:border-box;
}

/* 14. PRIEBEH (kroky) ------------------------------------------------------- */
.step-card{ padding:22px 20px; border-top:2px solid var(--line-2); text-align:left; }
.step-num{ font-family:var(--font-display); font-weight:800; font-style:italic; font-size:34px; color:var(--accent); margin:0 0 6px; line-height:1; }
.step-card h3{ font-size:20px; margin:0 0 6px; }
.step-card p{ margin:0; font-size:14px; color:var(--fg-3); }

/* 15. FAQ -------------------------------------------------------------------- */
.sec-faq{ text-align:left; padding-left:clamp(24px,10vw,240px); padding-right:clamp(24px,10vw,240px); }
.sec-faq .wp-block-details{
	border:none; border-bottom:1px solid var(--line-1);
	background:transparent; padding:4px 0; margin:0; width:100%;
}
.sec-faq .wp-block-details summary{
	display:flex; justify-content:space-between; align-items:center; gap:12px;
	padding:14px 0;
	font-family:var(--font-display); font-weight:600; font-size:19px;
	text-transform:uppercase; letter-spacing:.02em; color:var(--fg-1);
	cursor:pointer; list-style:none;
}
.sec-faq .wp-block-details summary::-webkit-details-marker{ display:none; }
.sec-faq .wp-block-details summary::after{
	content:'+'; color:var(--accent); font-size:20px; line-height:1; flex:none;
	transition:transform .2s var(--ease-out);
}
.sec-faq .wp-block-details[open] summary::after{ transform:rotate(45deg); }
.sec-faq .wp-block-details > :not(summary){ padding:0; margin:0 0 16px; font-size:15px; color:var(--fg-2); max-width:64ch; }

/* 16. KONTAKT + FORMULĂR ------------------------------------------------------ */

.kontakt-grid{
	display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px);
	width:100%; max-width:1200px; margin:0 auto; text-align:left; align-items:start;
}
.k-eyebrow{ font-size:13px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin:0 0 10px; display:block; }
.kontakt-grid h2{
	font-family:var(--font-display); font-weight:800;
	font-size:clamp(30px,4.5vw,52px); line-height:.98; text-transform:uppercase;
	color:var(--fg-1); margin:0 0 12px;
}
.kontakt-grid p{ color:var(--fg-2); margin:0 0 16px; }
.reg-form{ display:flex; flex-direction:column; gap:14px; max-width:520px; }
.reg-form label{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--fg-3); }
.reg-form input[type=email]{
	background:var(--bg-2); border:1px solid var(--line-2); color:var(--fg-1);
	font-size:16px; padding:14px 16px; border-radius:2px; width:100%; box-sizing:border-box;
}
.reg-form input[type=email]:focus{ outline:none; border-color:var(--accent-line); }
.reg-form .chk{ display:flex; gap:10px; align-items:center; font-size:14px; color:var(--fg-2); text-transform:none; letter-spacing:0; }
.reg-form .hp{ position:absolute; left:-9999px; opacity:0; height:0; }
.reg-form button{
	background:var(--accent); color:var(--accent-ink); border:0; cursor:pointer;
	font-family:var(--font-display); font-weight:700; text-transform:uppercase;
	letter-spacing:.08em; font-size:15px; padding:15px 26px; border-radius:2px;
}
.reg-form button:hover{ background:var(--accent-hover); }
.reg-ok{ border:1px solid var(--accent-line); background:var(--accent-dim); color:var(--fg-1); padding:16px 20px; }
#registracia{ scroll-margin-top:80px; }
.k-info{ display:flex; flex-direction:column; gap:10px; }
.k-photo{
	position:relative; min-height:200px; background:var(--bg-2);
	border:1px dashed var(--line-2); border-radius:4px;
	display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.k-photo span{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-3); text-align:center; padding:0 20px; }
.k-info .addr{ font-size:15px; color:var(--fg-1); margin:0; }
.k-info p{ margin:0; }
.k-info a{ color:var(--fg-1); border-bottom:1px solid var(--accent-line); text-decoration:none; }
.k-info a:hover{ color:var(--accent); }
.btn-outline{
	display:inline-block; align-self:flex-start; margin-top:4px;
	background:transparent; color:var(--fg-1);
	border:1px solid var(--line-2); border-radius:2px;
	font-family:var(--font-display); font-weight:700; text-transform:uppercase;
	letter-spacing:.08em; font-size:14px; padding:13px 22px; text-decoration:none;
}
.btn-outline:hover{ border-color:var(--accent-line); color:var(--accent); }

/* 17. FOOTER -------------------------------------------------------------------- */
.site-footer{
	background:#050607; border-top:1px solid var(--line-1);
	padding:48px var(--gutter) 32px; width:100%; box-sizing:border-box;
}
.foot-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:36px; }
.foot-card{ border:1px solid var(--line-1); padding:20px 22px; margin:0; }
.foot-card a{ text-decoration:none; }
.foot-card b{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:17px; color:var(--accent); display:block; margin-bottom:4px; }
.foot-card small{ color:var(--fg-3); font-size:13px; }
.foot-meta{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; }
.foot-brand{ font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:20px; color:var(--fg-1); margin:0; }
.foot-brand span{ font-weight:400; color:var(--fg-2); }
.foot-brand small{ display:block; font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.22em; color:var(--accent); margin-top:2px; }
.foot-copy{ color:var(--fg-3); font-size:13px; text-align:right; margin:0; }
.foot-copy a{ color:var(--fg-2); text-decoration:none; }

/* 18. MOBILNĂ CTA BAR ------------------------------------------------------------ */
.mobile-cta-bar{ display:none; }

/* 19. ANIMĂCIE -------------------------------------------------------------------- */
html.js .anim{ opacity:0; transform:translateY(18px); }
html.js .anim.in{ opacity:1; transform:none; transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
@media (prefers-reduced-motion:reduce){
	html{ scroll-behavior:auto; }
	html.js .anim{ opacity:1; transform:none; transition:none; }
}

/* 20. BUTTONS (core) --------------------------------------------------------------- */
.wp-block-button.is-style-outline .wp-block-button__link{
	background:transparent; color:var(--fg-1); border:1px solid var(--line-2);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
	border-color:var(--accent-line); color:var(--accent); background:transparent;
}

/* 21. MOBIL ------------------------------------------------------------------------- */
@media (max-width:781px){
	html{ scroll-snap-type:y proximity; }
	body.admin-bar .site-header{ top:46px; }
	.site-header{ height:56px; padding:0 16px; }
	.brand, .brand a{ font-size:17px; }
	.lang-switch a{ padding:4px 12px; font-size:12px; }
	.kontakt-grid{ grid-template-columns:1fr; }
	.foot-cards{ grid-template-columns:1fr; }
	#kurzy::before{ opacity:.5; right:-20%; }

	.mobile-cta-bar{
		position:fixed; left:0; right:0; bottom:0; z-index:97;
		display:grid; grid-template-columns:repeat(3,1fr);
		background:rgba(13,15,18,.92);
		backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
		border-top:1px solid var(--line-1);
		padding-bottom:env(safe-area-inset-bottom);
	}
	.mobile-cta-bar a{
		display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
		padding:10px 4px 12px; min-height:44px;
		font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
		color:var(--fg-2); text-decoration:none; text-align:center;
	}
	.mobile-cta-bar a:first-child{ color:var(--accent); }
	body{ padding-bottom:72px; }
}
/* Formular — rozsirenie na 4 polia */
.reg-form input[type=text],
.reg-form input[type=email],
.reg-form input[type=tel],
.reg-form select{
	background:var(--bg-2); border:1px solid var(--line-2); color:var(--fg-1);
	font-family:var(--font-body); font-size:16px; padding:14px 16px;
	border-radius:2px; width:100%; box-sizing:border-box;
}
.reg-form input:focus, .reg-form select:focus{ outline:none; border-color:var(--accent-line); }
.reg-form input::placeholder{ color:var(--fg-3); }
.reg-form select{
	appearance:none; -webkit-appearance:none; cursor:pointer;
	background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);
	background-position:calc(100% - 20px) calc(50% + 2px), calc(100% - 14px) calc(50% + 2px);
	background-size:6px 6px, 6px 6px;
	background-repeat:no-repeat;
	padding-right:44px;
}
.reg-form select option{ background:var(--bg-2); color:var(--fg-1); }
.reg-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.reg-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
@media (max-width:600px){ .reg-row{ grid-template-columns:1fr; } }
.reg-err{ border:1px solid rgba(255,92,92,.4); background:rgba(255,92,92,.12); color:#ffb4b4; padding:14px 18px; border-radius:2px; font-size:14px; }

/* PRIEBEH KURZU */
#priebeh{ min-height:auto!important; padding-top:clamp(90px,10vw,140px)!important; padding-bottom:clamp(90px,10vw,140px)!important; }
#priebeh .sec-eyebrow{ justify-content:center; }
#priebeh .sec-title{ margin-bottom:60px!important; }
#priebeh .wp-block-columns{ gap:clamp(28px,3vw,48px)!important; margin:0!important; }
.step-card{ padding:24px 0 0!important; border-top:1px solid var(--line-2); text-align:left; }
.step-card:first-child{ border-top-color:var(--accent); }
.step-num{ font-family:var(--font-display); font-weight:800; font-style:normal; font-size:36px!important; line-height:1; color:var(--accent); margin:0 0 18px!important; }
.step-card h3{ font-size:20px!important; letter-spacing:.03em; margin:0 0 14px!important; }
.step-card p{ margin:0; font-size:15px; line-height:1.7; color:var(--fg-2); }

/* NADSTAVBOVÉ KURZY (scéna 03 kurzy-story) */
#kurzy-story .story-scene{ padding-bottom:80px!important; }
#kurzy-story .story-scene-inner{ max-width:none!important; padding-top:0!important; justify-content:flex-end!important; }
#js-scene-2 .story-cards{ align-items:flex-end!important; }
#js-scene-2 .story-card:nth-child(2){ max-width:340px!important; padding:22px!important; }
#js-scene-2 .story-card:nth-child(1){ max-width:420px!important; }

/* SCENA 03 - kompaktnejsie karty, netlacia sa cez horny okraj sceny */
#kurzy-story .card-photo img{ width:100%!important; height:auto!important; max-height:180px!important; object-fit:cover!important; object-position:center 35%!important; display:block!important; aspect-ratio:16/9; }
#kurzy-story .card-photo{ margin:16px 16px 0!important; }
#kurzy-story .story-card{ padding-bottom:22px!important; }
#kurzy-story .story-card h3{ margin-top:22px!important; font-size:22px!important; }
#kurzy-story .story-card p{ margin:6px 22px 10px!important; font-size:14px!important; }
#kurzy-story .story-card .cta{ padding:0 22px 4px!important; font-size:13px!important; }
/* obe karty maximalne 380px, ale zarovnane dolu (uz mame flex-end) */
#js-scene-2 .story-card:nth-child(1), #js-scene-2 .story-card:nth-child(2){ max-width:380px!important; }
/* scena 03 - obsah nizsie, aby nezasahoval nadpis */
#js-scene-2{ padding-bottom:60px!important; }
#js-scene-2 .story-scene-inner{ gap:10px!important; }

/* SCENA 03 - unified card layout + neon corners */
#kurzy-story .story-card{
	position:relative!important;
	padding:0 0 24px 0!important;
	display:flex!important;
	flex-direction:column!important;
	min-height:280px!important;
	background:linear-gradient(180deg, rgba(20,23,28,.55), rgba(13,15,18,.85))!important;
	border:1px solid rgba(255,255,255,.06)!important;
}
/* Neonovy detail v rohoch */
#kurzy-story .story-card::before,
#kurzy-story .story-card::after{
	content:''; position:absolute; width:22px; height:22px;
	border-color:var(--accent); pointer-events:none;
}
#kurzy-story .story-card::before{
	top:-1px; left:-1px;
	border-top:2px solid var(--accent);
	border-left:2px solid var(--accent);
}
#kurzy-story .story-card::after{
	bottom:-1px; right:-1px;
	border-bottom:2px solid var(--accent);
	border-right:2px solid var(--accent);
}
/* Karta bez fotky (Škola jazdy po zadnom) - dorovnat vertikalne centrovanie */
#js-scene-2 .story-card:nth-child(2){
	justify-content:center!important;
}
#js-scene-2 .story-card:nth-child(2) h3{ margin-top:0!important; }
/* Nadpis, popis, cta - konzistentne vnutorne odsadenie */
#kurzy-story .story-card h3{ margin:20px 22px 8px!important; font-size:22px!important; }
#kurzy-story .story-card p{ margin:0 22px 12px!important; font-size:14px!important; color:var(--fg-2)!important; }
#kurzy-story .story-card .cta{ margin:0 22px!important; padding:0!important; font-size:13px!important; letter-spacing:.08em!important; }
/* Photo box - jemny okraj bez glow */
#kurzy-story .card-photo{
	margin:14px 14px 0!important;
	border:1px solid rgba(255,255,255,.08)!important;
	overflow:hidden!important;
	background:#0a0b0d!important;
}
/* SCENA 03 - karta bez fotky nech nie je natahnuta cez celu vysku */
#js-scene-2 .story-cards{
	align-items:flex-end!important;
}
#js-scene-2 .story-card:nth-child(2){
	justify-content:flex-start!important;
	min-height:auto!important;
	height:auto!important;
	align-self:flex-end!important;
}
#js-scene-2 .story-card:nth-child(2) h3{
	margin:20px 22px 8px!important;
}
#js-scene-2 .story-card:nth-child(2) p{
	margin:0 22px 12px!important;
}
#js-scene-2 .story-card:nth-child(2) .cta{
	margin:0 22px 20px!important;
}
/* KONTAKT - fotka vchodu */
.k-photo.has-image{
	border:1px solid var(--line-1)!important;
	background:none!important;
	min-height:auto!important;
	padding:0!important;
	overflow:hidden;
	aspect-ratio:16/9;
}
.k-photo.has-image img{
	display:block; width:100%; height:100%;
	object-fit:cover; object-position:center;
}


/* =============================================================
 * KURZY-STORY — FIT FIX v2
 * Desktop: scéna 03 kompaktnejšia, aby sa celá zmestila do okna.
 * Mobil: rovnaká animácia s 3 scénami, obsah zoštíhlený
 *        (fotky v kartách skryté — práve tie scénu 03 rozbijali).
 * ============================================================= */

/* --- DESKTOP: scéna 03 kompakt --- */
#kurzy-story .story-card{ min-height:0!important; }
#kurzy-story .card-photo img{ max-height:150px!important; }
#js-scene-2{ padding-bottom:56px!important; }
#js-scene-2 .story-scene-inner{ gap:8px!important; }
#js-scene-2 h2{ font-size:clamp(34px,5.5vw,60px)!important; }
#js-scene-2 .story-card h3{ margin-top:16px!important; }

/* --- MOBIL (≤781px): tá istá animácia, menší obsah --- */
@media (max-width:781px){
	#kurzy-story h2{ font-size:clamp(32px,8.5vw,44px)!important; }
	#kurzy-story .story-scene{ padding:0 20px 84px!important; }
	#kurzy-story .story-scene-inner{ gap:10px!important; }
	#kurzy-story .story-lead{ font-size:14px!important; max-width:none!important; }
	#kurzy-story .story-row{ padding:8px 0!important; }
	#kurzy-story .story-row .rp .pp{ font-size:20px!important; }
	#kurzy-story .story-row .rl b{ font-size:16px!important; }

	/* Scéna 03: fotky v kartách preč (zaberajú najviac miesta), karty pod sebou */
	#kurzy-story .card-photo{ display:none!important; }
	#js-scene-2 .story-cards{ flex-direction:column!important; gap:10px!important; width:100%!important; }
	#js-scene-2 .story-card{ max-width:none!important; width:100%!important; box-sizing:border-box; }
	#js-scene-2 .story-card h3{ margin-top:18px!important; font-size:19px!important; }

	/* CTA na plnú šírku */
	#kurzy-story .story-btns{ width:100%!important; }
	#kurzy-story .story-btn{ width:100%!important; text-align:center!important; box-sizing:border-box!important; }

	/* Watermark menší, počítadlo preč (dekor, na mobile zavadzia) */
	#js-code{ font-size:38vw!important; }
	#js-counter{ display:none!important; }
}
/* =============================================================
 * FIT FIX v3 — oprava zarovnania kariet + výšky obsahu
 * ============================================================= */

/* --- DESKTOP: obsah o niečo vyššie + kompaktnejšia scéna 03 --- */
#kurzy-story .story-scene{ padding-bottom:96px!important; }
#js-scene-2{ padding-bottom:72px!important; }
#js-scene-2 .story-scene-inner{ gap:6px!important; }
#js-scene-2 h2{ font-size:clamp(30px,5vw,54px)!important; }
#kurzy-story .card-photo img{ max-height:120px!important; }
#js-scene-2 .story-card h3{ margin-top:14px!important; font-size:20px!important; }
#js-scene-2 .story-card p{ margin:0 22px 8px!important; }
#js-scene-2 .story-card .cta{ margin:0 22px 4px!important; }

/* --- KARTY: zrušiť flex-end (v stĺpci = doprava!) a max-width obmedzenia --- */
#js-scene-2 .story-cards{ align-items:stretch!important; }
@media (min-width:782px){
	/* na desktope sú karty vedľa seba — zarovnanie na spodok radu */
	#js-scene-2 .story-cards{ align-items:flex-end!important; }
}

/* --- MOBIL: karty na plnú šírku (vyššia špecificita než staré nth-child pravidlá) --- */
@media (max-width:781px){
	#js-scene-2 .story-cards{ align-items:stretch!important; flex-direction:column!important; width:100%!important; }
	#js-scene-2 .story-card:nth-child(1),
	#js-scene-2 .story-card:nth-child(2){
		max-width:none!important;
		width:100%!important;
		align-self:stretch!important;
	}
	/* obsah o niečo vyššie nad mobilným CTA barom */
	#kurzy-story .story-scene{ padding-bottom:112px!important; }
}
/* =============================================================
 * SCENA 03 — desktop väčšie karty a fotky, menšia spodná medzera
 * ============================================================= */
@media (min-width:782px){
	#js-scene-2{ padding-bottom:44px!important; }
	#js-scene-2 .story-card:nth-child(1),
	#js-scene-2 .story-card:nth-child(2){ max-width:460px!important; }
	#kurzy-story .card-photo img{ max-height:180px!important; }
	#kurzy-story .card-photo{ margin:16px 16px 0!important; }
	#js-scene-2 .story-card h3{ font-size:22px!important; margin-top:18px!important; }
	#js-scene-2 .story-card p{ font-size:15px!important; margin:0 22px 10px!important; }
	#js-scene-2 .story-scene-inner{ gap:10px!important; }
}
/* ---------- JAZYKOVÁ UVÍTACIA OBRAZOVKA ---------- */
.lang-gate{ position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box; background:rgba(8,9,11,.55); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); opacity:0; transition:opacity .35s var(--ease-out); }
.lang-gate.is-visible{ opacity:1; }
.lang-gate[hidden]{ display:none; }
.lang-gate-card{ width:min(560px,100%); background:var(--bg-1); border:1px solid var(--line-1); clip-path:var(--cut-corner); padding:clamp(28px,5vw,48px); text-align:center; transform:translateY(14px); transition:transform .35s var(--ease-out); }
.lang-gate.is-visible .lang-gate-card{ transform:none; }
.lg-eyebrow{ font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:8px; }
.lg-brand{ font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:clamp(26px,4vw,34px); color:var(--fg-1); margin:0 0 16px; }
.lg-brand span{ font-weight:400; color:var(--fg-2); }
.lg-line{ border:none; height:2px; width:180px; background:var(--speed-line); margin:0 auto 24px; }
.lg-option{ appearance:none; width:100%; cursor:pointer; display:flex; align-items:center; gap:16px; background:var(--bg-2); border:1px solid var(--line-1); clip-path:var(--cut-corner); padding:18px 20px; margin-bottom:12px; text-align:left; color:var(--fg-1); transition:border-color .15s var(--ease-out), background .15s var(--ease-out); }
.lg-option:hover{ border-color:var(--accent-line); background:#171b21; }
.lg-flag{ width:34px; height:auto; flex:none; border-radius:2px; }
.lg-label{ flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.lg-label b{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:18px; line-height:1.15; }
.lg-label small{ font-size:13px; color:var(--fg-3); }
.lg-arrow{ color:var(--accent); font-size:20px; flex:none; }
.lg-note{ font-size:13px; color:var(--fg-3); margin:12px 0 0; }
