/* ═══════════════════════════════════════════════════════════════
   Fusion Academy — ultra vrstva (4. 10. 2026)
   Motív: rytmus. Takty, doby, parketové linky, pulz na štyri doby.
   Stavia na v2.css — mení len úvod a nové sekcie.
   ═══════════════════════════════════════════════════════════════ */

.v2{--u-parket:rgba(212,175,55,.07);--u-sklo:rgba(16,16,19,.72);--u-pozadie:url('ultra-pozadie-800.webp')}

/* ── mono popisky s dobami ── */
.v2 .takt{display:inline-flex;align-items:center;gap:10px;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--v-gold-soft)}
.v2 .takt i{font-style:normal;color:var(--v-muted)}
.v2 .doby{display:inline-flex;gap:5px;align-items:center}
.v2 .doby b{width:5px;height:5px;border-radius:50%;background:var(--v-line-str);display:block}
@media (prefers-reduced-motion:no-preference){
  .v2 .doby b{animation:doba 2s steps(1,end) infinite}
  .v2 .doby b:nth-child(2){animation-delay:.5s}
  .v2 .doby b:nth-child(3){animation-delay:1s}
  .v2 .doby b:nth-child(4){animation-delay:1.5s}
}
@keyframes doba{0%,24%{background:var(--v-gold);box-shadow:0 0 8px rgba(212,175,55,.6)}25%,100%{background:var(--v-line-str);box-shadow:none}}

/* ── ÚVOD: tri vrstvy ── */
.v2 .u-hero{position:relative;overflow:clip;isolation:isolate;
  padding:clamp(96px,13vh,150px) 0 clamp(60px,8vh,96px);background:#090909}
.v2 .u-hero-poz{position:absolute;inset:-8% -5% -12%;z-index:0;
  background:var(--u-pozadie) center 40%/cover no-repeat;
  transform:translate3d(0,calc(var(--sy,0) * 46px),0) scale(calc(1 + var(--sy,0) * .07))}
.v2 .u-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(104deg,rgba(7,7,9,.94) 0%,rgba(7,7,9,.86) 38%,rgba(7,7,9,.52) 68%,rgba(7,7,9,.74) 100%)}
.v2 .u-parket{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(118deg,transparent 0 46px,var(--u-parket) 46px 47px);
  -webkit-mask-image:radial-gradient(120% 90% at 18% 42%,#000 10%,transparent 72%);
  mask-image:radial-gradient(120% 90% at 18% 42%,#000 10%,transparent 72%);
  transform:translate3d(calc(var(--mx,0) * -10px),calc(var(--sy,0) * -22px),0)}
.v2 .u-hero-in{position:relative;z-index:3;display:grid;gap:clamp(34px,5vw,56px);align-items:center}
@media(min-width:1040px){.v2 .u-hero-in{grid-template-columns:1.04fr .96fr}}

.v2 .u-hero h1{margin:16px 0 0;font-size:clamp(2.3rem,6.1vw,4.3rem);line-height:1.04;letter-spacing:-.02em}
.v2 .u-hero h1 em{font-style:italic;color:transparent;
  background:linear-gradient(104deg,var(--v-gold-soft),var(--v-gold) 46%,var(--v-gold-deep));
  -webkit-background-clip:text;background-clip:text}
.v2 .u-hero .u-lead{margin-top:20px;max-width:46ch;font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.72;color:#ddd7cb}
.v2 .u-hero .v-tlrad{margin-top:28px}
.v2 .u-fakty{display:flex;flex-wrap:wrap;gap:10px 26px;margin:30px 0 0;padding:20px 0 0;list-style:none;border-top:1px solid var(--v-line)}
.v2 .u-fakty li{display:flex;align-items:baseline;gap:8px;font-size:.9rem;color:var(--v-muted)}
.v2 .u-fakty b{font-family:'Playfair Display',Georgia,serif;font-size:1.26rem;color:var(--v-gold-soft);font-weight:700}

/* vrstva 3 — karty v rôznej hĺbke */
.v2 .u-karty{position:relative;height:clamp(330px,46vw,470px);margin-inline:auto;width:min(100%,520px)}
.v2 .u-karta{position:absolute;width:clamp(150px,30vw,224px);border-radius:var(--v-r);overflow:hidden;
  border:1px solid var(--v-line-str);background:#111;box-shadow:0 26px 60px rgba(0,0,0,.6);
  transform:translate3d(calc(var(--mx,0) * var(--d) * 16px),calc(var(--my,0) * var(--d) * 13px + var(--sy,0) * var(--d) * -34px),0) rotate(var(--r));
  transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.v2 .u-karta img{display:block;width:100%;height:auto}
.v2 .u-karta figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#f3ead6;
  background:linear-gradient(180deg,transparent,rgba(6,6,8,.9))}
.v2 .u-k1{left:0;top:4%;--d:1.5;--r:-3.4deg;z-index:3}
.v2 .u-k2{right:2%;top:0;--d:.55;--r:2.6deg;z-index:2;width:clamp(128px,25vw,186px)}
.v2 .u-k3{right:12%;bottom:0;--d:1;--r:1.4deg;z-index:4}
/* orezové značky ako na tlačovom hárku — tu ako rohy parketu */
.v2 .u-karta::before,.v2 .u-karta::after{content:"";position:absolute;width:14px;height:14px;z-index:2;opacity:.75}
.v2 .u-karta::before{left:8px;top:8px;border-left:1px solid var(--v-gold);border-top:1px solid var(--v-gold)}
.v2 .u-karta::after{right:8px;bottom:8px;border-right:1px solid var(--v-gold);border-bottom:1px solid var(--v-gold)}
@media (prefers-reduced-motion:reduce){.v2 .u-hero-poz img,.v2 .u-parket,.v2 .u-karta{transform:none!important}}

/* ── DVE PÁSKY CEZ SEBA ── */
.v2 .pasky{position:relative;padding:clamp(26px,4vw,40px) 0;overflow:clip;background:var(--v-bg2);border-block:1px solid var(--v-line);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.v2 .paska{display:flex;gap:0;white-space:nowrap;width:max-content}
.v2 .paska-1{transform:none}
.v2 .paska-2{transform:none;margin-top:clamp(12px,1.8vw,20px)}
.v2 .paska span{display:inline-flex;align-items:center;gap:14px;padding:0 22px;line-height:1.5;
  font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.05rem,2.4vw,1.7rem);color:#b9b2a4}
.v2 .paska-2 span{font-family:inherit;font-size:clamp(.78rem,1.6vw,.95rem);letter-spacing:.14em;text-transform:uppercase;color:var(--v-gold-soft)}
.v2 .paska span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--v-gold);opacity:.6}
@media (prefers-reduced-motion:no-preference){
  .v2 .paska-in{display:flex;animation:posun 34s linear infinite}
  .v2 .paska-2 .paska-in{animation-duration:28s;animation-direction:reverse}
  .v2 .pasky:not(.vidno) .paska-in{animation-play-state:paused}
}
@keyframes posun{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ── PROGRAMY: pripnutá fotka + zoznam ── */
.v2 .u-prog{display:grid;gap:30px}
@media(min-width:980px){.v2 .u-prog{grid-template-columns:.92fr 1.08fr;gap:clamp(40px,5vw,72px);align-items:start}}
.v2 .u-prog-foto{position:relative;border-radius:var(--v-r-lg);overflow:hidden;border:1px solid var(--v-line);aspect-ratio:4/5}
@media(min-width:980px){.v2 .u-prog-foto{position:sticky;top:104px}}
@media(max-width:979px){.v2 .u-prog-foto{display:none}}
.v2 .u-prog-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.v2 .u-prog-foto img.vidno{opacity:1}
.v2 .u-prog-cislo{position:absolute;left:18px;bottom:6px;z-index:2;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(5rem,13vw,9rem);line-height:.8;color:#fff;mix-blend-mode:difference;pointer-events:none}
.v2 .u-prog-zoz{list-style:none;margin:0;padding:0}
.v2 .u-prog-zoz li{border-top:1px solid var(--v-line);padding:clamp(20px,3vw,30px) 0}
.v2 .u-prog-zoz li:last-child{border-bottom:1px solid var(--v-line)}
.v2 .u-prog-zoz a{display:block;text-decoration:none;color:inherit;opacity:.84;transition:opacity .35s ease}
.v2 .u-prog-zoz li.akt a,.v2 .u-prog-zoz a:hover,.v2 .u-prog-zoz a:focus-visible{opacity:1}
.v2 .u-prog-zoz h3{display:flex;align-items:baseline;gap:14px;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.3rem,3vw,2rem);font-weight:700;margin:0}
.v2 .u-prog-zoz h3 .c{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:var(--v-gold);letter-spacing:.12em}
.v2 .u-prog-zoz p{margin:10px 0 0;max-width:52ch;font-size:.97rem}
.v2 .u-prog-zoz .mini{margin-top:12px;display:none;border-radius:var(--v-r);overflow:hidden;border:1px solid var(--v-line)}
.v2 .u-prog-zoz .mini img{display:block;width:100%;height:190px;object-fit:cover}
@media(max-width:979px){.v2 .u-prog-zoz .mini{display:block}}
.v2 .u-prog-zoz .viac{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--v-gold-soft);font-size:.9rem;font-weight:600}

/* ── KALKULAČKA ── */
.v2 .kalk{border-radius:var(--v-r-lg);border:1px solid var(--v-line-str);overflow:hidden;
  background:linear-gradient(135deg,rgba(212,175,55,.1),rgba(14,14,17,.96) 52%)}
.v2 .kalk-in{display:grid;gap:clamp(24px,4vw,44px);padding:clamp(24px,4vw,44px)}
@media(min-width:900px){.v2 .kalk-in{grid-template-columns:1fr 1fr}}
.v2 .kalk fieldset{border:0;margin:0 0 22px;padding:0}
.v2 .kalk legend{padding:0;margin-bottom:10px;font-size:.84rem;font-weight:650;color:var(--v-muted)}
.v2 .volby{display:flex;flex-wrap:wrap;gap:8px}
.v2 .volba{position:relative}
.v2 .volba input{position:absolute;opacity:0;width:1px;height:1px}
.v2 .volba span{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:999px;
  border:1px solid var(--v-line);background:rgba(8,8,10,.5);color:var(--v-text);font-size:.93rem;cursor:pointer;transition:.18s ease}
.v2 .volba input:checked + span{border-color:var(--v-gold);background:rgba(212,175,55,.14);color:var(--v-gold-soft);font-weight:600}
.v2 .volba input:focus-visible + span{outline:2px solid var(--v-gold-soft);outline-offset:2px}
.v2 .kalk-vysl{align-self:start;border-radius:var(--v-r);border:1px solid var(--v-line-str);background:rgba(8,8,10,.55);padding:clamp(20px,3vw,28px)}
.v2 .kalk-riadok{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--v-line);font-size:.93rem}
.v2 .kalk-riadok:last-of-type{border-bottom:0}
.v2 .kalk-riadok b{color:var(--v-text);text-align:right}
.v2 .kalk-suma{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.1rem,5vw,3rem);color:var(--v-gold-soft);line-height:1;margin:6px 0 2px}
.v2 .kalk-pozn{font-size:.82rem;color:var(--v-muted);margin-top:14px;line-height:1.6}
.v2 .kalk-usetris{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;border-radius:999px;
  background:rgba(212,175,55,.12);border:1px solid var(--v-line-str);color:var(--v-gold-soft);font-size:.86rem;font-weight:600}

/* ── PÁS FOTIEK ── */
.v2 .galpas{position:relative}
.v2 .galpas-drziak{overflow:visible;width:min(1180px,100% - 32px);margin-inline:auto}
.v2 .galpas-stopa{display:grid;gap:14px;padding-inline:0}
@media(min-width:620px){.v2 .galpas-stopa{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.v2 .galpas-stopa{grid-template-columns:repeat(4,1fr);gap:16px}}
.v2 .galpas-stopa figure{margin:0;overflow:hidden;border-radius:var(--v-r);border:1px solid var(--v-line);
  aspect-ratio:4/3;transition:transform .35s ease,border-color .35s ease}
.v2 .galpas-stopa figure:hover{transform:translateY(-4px);border-color:var(--v-line-str)}
.v2 .galpas-stopa img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}
@media(max-width:619px){
  .v2 .galpas-drziak{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;
    padding-inline:2px}
  .v2 .galpas-stopa{display:flex;gap:12px}
  .v2 .galpas-stopa figure{flex:0 0 74vw;scroll-snap-align:center}
}
/* ── ČÍSLA AKO PRÍBEH ── */
.v2 .pribeh{display:grid;gap:18px}
@media(min-width:760px){.v2 .pribeh{grid-template-columns:repeat(4,1fr)}}
.v2 .pribeh div{border-top:1px solid var(--v-line);padding-top:18px}
.v2 .pribeh b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,5vw,2.9rem);color:var(--v-gold-soft);line-height:1}
.v2 .pribeh span{display:block;margin-top:6px;font-size:.86rem;color:var(--v-muted)}
.v2 .pribeh .ciara{height:2px;margin-top:14px;background:var(--v-line);position:relative;overflow:hidden}
.v2 .pribeh .ciara::after{content:"";position:absolute;inset:0;width:var(--w,0%);background:linear-gradient(90deg,var(--v-gold-deep),var(--v-gold));
  transition:width 1.1s cubic-bezier(.2,.8,.2,1)}

/* odkazy v texte sa nespoliehajú len na farbu */
.v2 p a:not(.tl):not(.viac){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media (prefers-reduced-motion:reduce){.v2 .u-hero-poz{transform:none!important}}

/* mobil: nadpis sa nesmie tlačiť k okraju */
.v2 .u-hero h1{overflow-wrap:break-word;text-wrap:balance}
@media(max-width:560px){
  .v2 .u-hero h1{font-size:clamp(1.95rem,8.4vw,2.6rem);line-height:1.08}
  .v2 .takt{font-size:.64rem;letter-spacing:.1em;gap:8px}
  .v2 .u-fakty{gap:8px 18px}
  .v2 .u-karty{height:clamp(300px,80vw,380px)}
}

@media(min-width:701px){.v2{--u-pozadie:url("ultra-pozadie-1200.webp")}}
@media(min-width:1301px){.v2{--u-pozadie:url("ultra-pozadie-1600.webp")}}
