.slide{
  --bg:#111; --surface:#1c1c1c; --text:#fff; --text-muted:#9aa;
  --primary:#4f8cff; --primary-text:#4f8cff; --primary-contrast:#111;
  --accent:#c9a227; --accent-text:#8a6c00; --accent-contrast:#111;
  --font-head:'Bricolage Grotesque',sans-serif;
  --font-body:'Manrope',sans-serif;
  --radius:28px; --pad:104px;
  position:relative; width:1080px; height:1350px; overflow:hidden;
  background:var(--bg); color:var(--text);
  font-family:var(--font-body); box-sizing:border-box;
  -webkit-font-smoothing:antialiased;
}
.slide *{box-sizing:border-box; margin:0;}
.slide ol,.slide ul{list-style:none; padding:0;}
.slide .sub,.slide .step-txt,.slide .stat-label{text-wrap:pretty;}   /* elegantni prelomi kod dužeg teksta */

/* zajednički mali elementi */
.wordmark{font-family:var(--font-head); font-weight:700; font-size:30px; letter-spacing:-.01em;}
.arrow{width:1em; height:1em; display:inline-block; vertical-align:-.12em;}

/* ============================================================
   STIL 1 · EDITORIAL  — čisto, tipografski, sa linijom-kickerom
   ============================================================ */
.style-editorial{padding:var(--pad); display:flex; flex-direction:column;}
.style-editorial .top{display:flex; align-items:center; justify-content:space-between; height:64px; flex:0 0 auto;}
.style-editorial .page{font-size:22px; font-weight:600; color:var(--text-muted); letter-spacing:.04em;}
.style-editorial .body{flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; min-height:0;}
.style-editorial .foot{flex:0 0 auto; height:56px; display:flex; align-items:center; justify-content:space-between;}
.style-editorial .handle{font-size:26px; font-weight:600; color:var(--text-muted);}
.style-editorial .swipe{font-size:24px; font-weight:600; color:var(--accent); display:flex; align-items:center; gap:12px;}
.style-editorial .kicker{display:inline-flex; align-items:center; gap:14px; font-weight:700; font-size:26px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:36px;}
.style-editorial .kicker::before{content:""; width:44px; height:3px; background:var(--accent); border-radius:2px;}
.style-editorial .hl{font-family:var(--font-head); font-weight:800; letter-spacing:-.03em; text-wrap:balance;}
.style-editorial.slide--hook .hl{font-size:104px; line-height:.98;}
.style-editorial.slide--hook .sub{margin-top:40px; font-size:38px; line-height:1.32; color:var(--text-muted); font-weight:500; max-width:82%;}
.style-editorial.slide--hook .ed-img{margin-top:52px; flex:1 1 auto; min-height:0; border-radius:var(--radius); background-size:cover; background-position:center;}
.style-editorial.slide--stat .body{justify-content:center;}
.style-editorial.slide--stat .value{font-family:var(--font-head); font-weight:800; font-size:300px; line-height:.86; letter-spacing:-.045em; color:var(--accent);}
.style-editorial.slide--stat .stat-label{font-size:40px; line-height:1.25; font-weight:600; max-width:80%; margin-top:34px;}
.style-editorial.slide--stat .hl{font-size:50px; line-height:1.08; font-weight:700; color:var(--text-muted); margin-top:56px; max-width:88%;}
.style-editorial.slide--steps .hl{font-size:74px; line-height:1.0; margin-bottom:56px;}
.style-editorial.slide--steps ol{display:flex; flex-direction:column; gap:34px;}
.style-editorial.slide--steps li{display:flex; gap:34px; align-items:flex-start;}
.style-editorial.slide--steps .num{flex:0 0 auto; width:82px; height:82px; border-radius:var(--radius); background:var(--accent); color:var(--accent-contrast);
  font-family:var(--font-head); font-weight:800; font-size:40px; display:flex; align-items:center; justify-content:center;}
.style-editorial.slide--steps .step-txt{font-size:44px; line-height:1.24; font-weight:600; padding-top:10px;}
.style-editorial.slide--quote .mark{font-family:var(--font-head); font-weight:800; font-size:220px; line-height:.55; color:var(--accent); height:118px; margin-bottom:18px;}
.style-editorial.slide--quote .q{font-family:var(--font-head); font-weight:600; font-size:72px; line-height:1.12; letter-spacing:-.02em; text-wrap:balance;}
.style-editorial.slide--quote .author{margin-top:60px; display:flex; align-items:center; gap:24px; font-size:32px; font-weight:600; color:var(--text-muted);}
.style-editorial.slide--quote .author::before{content:""; width:64px; height:2px; background:var(--text-muted);}
.style-editorial.slide--cta{background:var(--accent); color:var(--accent-contrast);}
.style-editorial.slide--cta .kicker,.style-editorial.slide--cta .kicker::before{color:var(--accent-contrast); background:none; opacity:1;}
.style-editorial.slide--cta .kicker::before{background:var(--accent-contrast);}
.style-editorial.slide--cta .hl{font-size:92px; line-height:.98;}
.style-editorial.slide--cta .sub{margin-top:30px; font-size:36px; line-height:1.3; font-weight:500; opacity:1; max-width:80%;}
.style-editorial.slide--cta .action{margin-top:60px; align-self:flex-start; display:inline-flex; align-items:center; gap:20px;
  background:var(--accent-contrast); color:var(--accent); font-family:var(--font-head); font-weight:800; font-size:44px; padding:32px 52px; border-radius:var(--radius);}
.style-editorial.slide--cta .handle{color:var(--accent-contrast); opacity:.82;}
.style-editorial.slide--cta .swipe{display:none;}

/* ============================================================
   STIL 2 · COVER — full-bleed foto sa scrim-om, tekst preko slike
   ============================================================ */
.style-cover{display:flex; flex-direction:column;}
.cv-photo{position:absolute; inset:0; background-size:cover; background-position:center;}
.cv-scrim{position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 50%, rgba(0,0,0,.5) 100%);}
.style-cover .cv-top{position:absolute; top:var(--pad); left:var(--pad); right:var(--pad); display:flex; justify-content:space-between; align-items:center; z-index:2;}
.style-cover .page{font-size:22px; font-weight:700; color:#fff; opacity:.85; letter-spacing:.06em; background:rgba(255,255,255,.15); padding:8px 16px; border-radius:999px; backdrop-filter:blur(6px);}
.style-cover .cv-bottom{position:relative; z-index:2; color:#fff; text-shadow:0 2px 22px rgba(0,0,0,.5);}   /* citljivost preko bilo koje slike */
.style-cover.slide--hook,.style-cover.slide--quote{justify-content:center; padding:calc(var(--pad) + 70px) var(--pad);}   /* tekst vertikalno u sredini, sa vazduhom */
.style-cover .kicker{display:inline-flex; align-items:center; gap:12px; font-weight:800; font-size:24px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-contrast); background:var(--accent); padding:12px 22px; border-radius:999px; margin-bottom:28px;}
.style-cover .hl{font-family:var(--font-head); font-weight:800; letter-spacing:-.03em; line-height:1.0; text-wrap:balance;}
.style-cover.slide--hook .hl{font-size:76px;}
.style-cover.slide--hook .sub{margin-top:26px; font-size:36px; line-height:1.35; color:rgba(255,255,255,.85); font-weight:500; max-width:88%;}
.style-cover .cv-handle{margin-top:40px; display:flex; align-items:center; gap:14px; font-size:26px; font-weight:700; opacity:.9;}
/* stat: gornja foto + donji panel */
.style-cover.slide--stat{display:flex; flex-direction:column;}
.style-cover.slide--stat .cv-half{position:relative; flex:0 0 48%; background-size:cover; background-position:center;}
.style-cover.slide--stat .cv-half .cv-top{top:var(--pad);}
.style-cover.slide--stat .panel{flex:1 1 auto; background:var(--surface); color:var(--text); padding:72px var(--pad); display:flex; flex-direction:column; justify-content:center;}
.style-cover.slide--stat .kicker{color:var(--accent-contrast); background:var(--accent);}
.style-cover.slide--stat .value{font-family:var(--font-head); font-weight:800; font-size:210px; line-height:.85; letter-spacing:-.04em; color:var(--accent); margin-top:8px;}
.style-cover.slide--stat .stat-label{font-size:38px; line-height:1.25; font-weight:600; margin-top:26px; max-width:88%;}
.style-cover.slide--stat .hl{font-size:40px; color:var(--text-muted); font-weight:700; margin-top:34px; max-width:90%; line-height:1.1;}
/* steps: accent header band + liste na foto backdrop-u zatamnjeno */
.style-cover.slide--steps{background:var(--bg); padding:var(--pad); display:flex; flex-direction:column;}
.style-cover.slide--steps .band{background:var(--accent); color:var(--accent-contrast); border-radius:var(--radius); padding:44px 52px; margin-bottom:52px;}
.style-cover.slide--steps .band .kicker{background:none; padding:0; color:var(--accent-contrast); opacity:.75; margin-bottom:16px;}
.style-cover.slide--steps .band .hl{font-size:66px; line-height:1.0;}
.style-cover.slide--steps ol{display:flex; flex-direction:column; gap:26px; flex:1 1 auto; justify-content:center;}
.style-cover.slide--steps li{display:flex; gap:28px; align-items:center; background:var(--surface); border-radius:var(--radius); padding:32px 36px;}
.style-cover.slide--steps .num{flex:0 0 auto; width:70px; height:70px; border-radius:999px; background:var(--accent); color:var(--accent-contrast);
  font-family:var(--font-head); font-weight:800; font-size:34px; display:flex; align-items:center; justify-content:center;}
.style-cover.slide--steps .step-txt{font-size:38px; line-height:1.22; font-weight:600; color:var(--text);}
.style-cover.slide--steps .foot-row{display:flex; justify-content:space-between; align-items:center; margin-top:44px; color:var(--text-muted); font-size:26px; font-weight:600;}
.style-cover.slide--steps .foot-row .swipe{color:var(--accent); display:flex; gap:10px; align-items:center;}
/* quote: foto + scrim, veliki citat */
.style-cover.slide--quote .q{font-family:var(--font-head); font-weight:700; font-size:70px; line-height:1.14; letter-spacing:-.02em; text-wrap:balance;}
.style-cover.slide--quote .author{margin-top:44px; font-size:30px; font-weight:700; opacity:.9; display:flex; align-items:center; gap:16px;}
.style-cover.slide--quote .author::before{content:""; width:52px; height:3px; background:var(--accent);}
/* cta: pun accent */
.style-cover.slide--cta{background:var(--accent); color:var(--accent-contrast); padding:var(--pad); display:flex; flex-direction:column; justify-content:center;}
.style-cover.slide--cta .kicker{background:var(--accent-contrast); color:var(--accent);}
.style-cover.slide--cta .hl{font-size:88px; line-height:.98;}
.style-cover.slide--cta .sub{margin-top:28px; font-size:36px; font-weight:500; opacity:1; max-width:82%;}
.style-cover.slide--cta .action{margin-top:56px; align-self:flex-start; display:inline-flex; align-items:center; gap:18px;
  background:var(--accent-contrast); color:var(--accent); font-family:var(--font-head); font-weight:800; font-size:44px; padding:32px 52px; border-radius:999px;}
.style-cover.slide--cta .cta-handle{position:absolute; bottom:var(--pad); left:var(--pad); font-size:26px; font-weight:700; opacity:.85;}

/* ============================================================
   STIL 3 · POSTER — brutalistički, ogromna tipografija, tvrde ivice
   ============================================================ */
.style-poster{padding:88px; display:flex; flex-direction:column;}
.style-poster .top{display:flex; justify-content:space-between; align-items:flex-start; flex:0 0 auto;}
.style-poster .idx{font-family:var(--font-head); font-weight:900; font-size:120px; line-height:.8; color:var(--accent); letter-spacing:-.04em;}
.style-poster .body{flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; min-height:0;}
.style-poster .tag{align-self:flex-start; background:var(--accent); color:var(--accent-contrast); font-weight:800; font-size:26px;
  letter-spacing:.1em; text-transform:uppercase; padding:12px 22px; margin-bottom:34px;}
.style-poster .hl{font-family:var(--font-head); font-weight:900; letter-spacing:-.04em; line-height:.92; text-transform:uppercase; text-wrap:balance;}
.style-poster.slide--hook .hl{font-size:94px;}
.style-poster.slide--hook .sub{margin-top:38px; font-size:36px; line-height:1.3; font-weight:600; color:var(--text-muted); max-width:80%; text-transform:none;}
.style-poster .rule{height:8px; background:var(--text); margin:0;}
.style-poster .foot{flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; font-size:26px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;}
.style-poster .foot .handle{color:var(--text);}
.style-poster .foot .swipe{color:var(--accent); display:flex; gap:12px; align-items:center;}
.style-poster.slide--stat .value{font-family:var(--font-head); font-weight:900; font-size:360px; line-height:.78; letter-spacing:-.06em; color:var(--accent);}
.style-poster.slide--stat .stat-label{font-size:42px; font-weight:800; line-height:1.15; text-transform:uppercase; max-width:78%; margin-top:32px;}
.style-poster.slide--stat .hl{font-size:44px; text-transform:none; color:var(--text-muted); margin-top:30px; font-weight:700; letter-spacing:-.01em; line-height:1.1;}
.style-poster.slide--steps .hl{font-size:70px; margin-bottom:46px;}
.style-poster.slide--steps ol{display:flex; flex-direction:column;}
.style-poster.slide--steps li{display:flex; gap:34px; align-items:center; padding:34px 0; border-top:6px solid var(--text);}
.style-poster.slide--steps li:last-child{border-bottom:6px solid var(--text);}
.style-poster.slide--steps .num{font-family:var(--font-head); font-weight:900; font-size:80px; color:var(--accent); line-height:.8; min-width:110px;}
.style-poster.slide--steps .step-txt{font-size:42px; font-weight:700; line-height:1.15;}
.style-poster.slide--quote .mark{font-family:var(--font-head); font-weight:900; font-size:260px; line-height:.5; color:var(--accent); height:130px;}
.style-poster.slide--quote .q{font-family:var(--font-head); font-weight:800; font-size:72px; line-height:1.02; letter-spacing:-.03em; text-transform:uppercase; text-wrap:balance;}
.style-poster.slide--quote .author{margin-top:48px; font-size:32px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--accent);}
.style-poster.slide--cta{padding:0; display:flex; flex-direction:column;}
.style-poster.slide--cta .cta-top{flex:1 1 auto; padding:88px; display:flex; flex-direction:column; justify-content:center;}
.style-poster.slide--cta .hl{font-size:88px;}
.style-poster.slide--cta .sub{margin-top:32px; font-size:36px; font-weight:600; color:var(--text-muted); text-transform:none; max-width:82%; line-height:1.3;}
.style-poster.slide--cta .cta-bar{flex:0 0 auto; background:var(--accent); color:var(--accent-contrast); padding:64px 88px;
  display:flex; justify-content:space-between; align-items:center;}
.style-poster.slide--cta .action{font-family:var(--font-head); font-weight:900; font-size:64px; text-transform:uppercase; letter-spacing:-.02em; display:flex; align-items:center; gap:22px;}
.style-poster.slide--cta .cta-handle{font-size:28px; font-weight:800; opacity:.8; text-transform:uppercase; letter-spacing:.04em;}

/* ============================================================
   STIL 4 · CARDS — meke kartice, whitespace, product/SaaS ton
   ============================================================ */
.style-cards{padding:72px; display:flex; background:var(--bg);}
.style-cards .card{flex:1 1 auto; background:var(--surface); border-radius:calc(var(--radius) + 20px);
  border:1px solid color-mix(in srgb, var(--text) 10%, transparent);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.35); padding:80px; display:flex; flex-direction:column; overflow:hidden;}
.style-cards .top{display:flex; align-items:center; justify-content:space-between; flex:0 0 auto;}
.style-cards .dots{display:flex; gap:10px;}
.style-cards .dots i{width:12px; height:12px; border-radius:999px; background:color-mix(in srgb, var(--text) 22%, transparent);}
.style-cards .dots i.on{background:var(--accent); width:34px;}
.style-cards .body{flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; min-height:0;}
.style-cards .foot{flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; font-size:24px; font-weight:600; color:var(--text-muted);}
.style-cards .chip{align-self:flex-start; width:fit-content; max-width:100%; display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:23px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent); background:color-mix(in srgb, var(--accent) 14%, transparent); padding:12px 20px; border-radius:999px; margin-bottom:30px;}
.style-cards .hl{font-family:var(--font-head); font-weight:800; letter-spacing:-.025em; line-height:1.02; text-wrap:balance;}
.style-cards.slide--hook .hl{font-size:84px;}
.style-cards.slide--hook .sub{margin-top:32px; font-size:36px; line-height:1.35; color:var(--text-muted); font-weight:500; max-width:90%;}
.style-cards.slide--hook .cd-img{margin-top:44px; flex:1 1 auto; min-height:0; border-radius:var(--radius); background-size:cover; background-position:center;}
.style-cards.slide--stat .value{font-family:var(--font-head); font-weight:800; font-size:250px; line-height:.86; letter-spacing:-.04em; color:var(--accent);}
.style-cards.slide--stat .stat-label{font-size:38px; line-height:1.25; font-weight:600; margin-top:32px; max-width:84%;}
.style-cards.slide--stat .hl{font-size:46px; color:var(--text-muted); font-weight:700; margin-top:40px; max-width:90%; line-height:1.1;}
.style-cards.slide--steps .hl{font-size:64px; margin-bottom:44px;}
.style-cards.slide--steps ol{display:flex; flex-direction:column; gap:22px;}
.style-cards.slide--steps li{display:flex; gap:28px; align-items:center; background:var(--bg); border-radius:var(--radius); padding:30px 34px;}
.style-cards.slide--steps .num{flex:0 0 auto; width:66px; height:66px; border-radius:999px; background:color-mix(in srgb, var(--accent) 16%, transparent);
  color:var(--accent); font-family:var(--font-head); font-weight:800; font-size:32px; display:flex; align-items:center; justify-content:center;}
.style-cards.slide--steps .step-txt{font-size:38px; line-height:1.22; font-weight:600;}
.style-cards.slide--quote .q{font-family:var(--font-head); font-weight:600; font-size:66px; line-height:1.16; letter-spacing:-.02em; text-wrap:balance;}
.style-cards.slide--quote .mark{color:var(--accent); font-family:var(--font-head); font-weight:800; font-size:120px; line-height:.5; height:70px;}
.style-cards.slide--quote .author{margin-top:52px; display:flex; align-items:center; gap:20px; font-size:30px; font-weight:600;}
.style-cards.slide--quote .avatar{width:72px; height:72px; border-radius:999px; background:var(--accent); color:var(--accent-contrast);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:800; font-size:32px;}
.style-cards.slide--cta .card{background:var(--accent); color:var(--accent-contrast); border:none;}
.style-cards.slide--cta .chip{background:var(--accent-contrast); color:var(--accent);}
.style-cards.slide--cta .dots i{background:rgba(255,255,255,.35);}
.style-cards.slide--cta .dots i.on{background:var(--accent-contrast);}
.style-cards.slide--cta .hl{font-size:80px;}
.style-cards.slide--cta .sub{margin-top:28px; font-size:34px; font-weight:500; opacity:1; max-width:84%;}
.style-cards.slide--cta .action{margin-top:52px; align-self:flex-start; display:inline-flex; align-items:center; gap:18px;
  background:var(--accent-contrast); color:var(--accent); font-family:var(--font-head); font-weight:800; font-size:42px; padding:30px 48px; border-radius:999px;}
.style-cards.slide--cta .foot{color:var(--accent-contrast); opacity:.85;}

/* ============================================================
   VARIJANTE — modifikatori .v2 / .v3 menjaju layout istog tipa
   slajda (poravnanje, fill, pozicija) da se ne ponavlja vizuelno.
   Markup ostaje isti; renderSlide dodaje klasu vN.
   ============================================================ */
/* --- EDITORIAL --- */
.style-editorial.slide--hook.v2 .body{align-items:center; text-align:center; justify-content:center;}
.style-editorial.slide--hook.v2 .ed-img{display:none;}                 /* centrirana varijanta = čist tekst u sredini, bez slike */
.style-editorial.slide--hook.v2 .hl{font-size:116px;}
.style-editorial.slide--hook.v2 .sub{margin-left:auto; margin-right:auto;}
.style-editorial.slide--hook.v3,.style-editorial.slide--stat.v3,.style-editorial.slide--quote.v3{background:var(--accent); color:var(--accent-contrast);}
.style-editorial.slide--hook.v3 .kicker,.style-editorial.slide--stat.v3 .kicker,.style-editorial.slide--hook.v3 .kicker::before,.style-editorial.slide--stat.v3 .kicker::before{color:var(--accent-contrast);}
.style-editorial.slide--hook.v3 .kicker::before,.style-editorial.slide--stat.v3 .kicker::before{background:var(--accent-contrast);}
.style-editorial.slide--hook.v3 .sub,.style-editorial.slide--stat.v3 .hl{color:var(--accent-contrast); opacity:.9;}
.style-editorial.slide--stat.v3 .value{color:var(--accent-contrast);}
.style-editorial.slide--quote.v3 .mark{color:var(--accent-contrast); opacity:.5;}
.style-editorial.slide--quote.v3 .author,.style-editorial.slide--quote.v3 .author::before{color:var(--accent-contrast); background:var(--accent-contrast); opacity:.85;}
.style-editorial.slide--quote.v3 .author{background:none;}
.style-editorial.v3 .handle{color:var(--accent-contrast); opacity:.8;}
.style-editorial.v3 .swipe{color:var(--accent-contrast);}
.style-editorial.slide--stat.v2 .body,.style-editorial.slide--quote.v2 .body{align-items:center; text-align:center; justify-content:center;}
.style-editorial.slide--stat.v2 .stat-label,.style-editorial.slide--stat.v2 .hl{margin-left:auto; margin-right:auto;}
.style-editorial.slide--quote.v2 .author{justify-content:center;}
.style-editorial.slide--cta.v2 .body{align-items:center; text-align:center; justify-content:center;}
.style-editorial.slide--steps.v2 .num{background:transparent; color:var(--accent); box-shadow:inset 0 0 0 4px var(--accent);}
.style-editorial.slide--cta.v2 .action{background:transparent; color:var(--accent-contrast); box-shadow:inset 0 0 0 4px var(--accent-contrast);}
/* --- COVER --- */
.style-cover.slide--hook.v2,.style-cover.slide--quote.v2{justify-content:flex-start; padding-top:calc(var(--pad) + 108px);}
.style-cover.slide--hook.v2 .cv-scrim,.style-cover.slide--quote.v2 .cv-scrim{background:linear-gradient(to bottom, rgba(0,0,0,.82) 0%, rgba(0,0,0,.5) 48%, rgba(0,0,0,.42) 100%);}
.style-cover.slide--stat.v2 .panel{text-align:center; align-items:center;}
.style-cover.slide--steps.v2 .band{background:transparent; padding:0 4px 44px;}
.style-cover.slide--steps.v2 .band .kicker{color:var(--accent);}
.style-cover.slide--steps.v2 .band .hl{color:var(--text);}
.style-cover.slide--steps.v2 li{background:transparent; box-shadow:inset 0 0 0 3px var(--surface);}
.style-cover.slide--cta.v2{align-items:center; text-align:center;}
.style-cover.slide--cta.v2 .action{background:transparent; color:var(--accent-contrast); box-shadow:inset 0 0 0 4px var(--accent-contrast);}
.style-cover.slide--cta.v2 .cta-handle{left:0; right:0; text-align:center;}
/* --- POSTER --- */
.style-poster.slide--hook.v2 .body,.style-poster.slide--stat.v2 .body{align-items:center; text-align:center;}
.style-poster.slide--steps.v2 li{flex-direction:row-reverse; justify-content:space-between;}
.style-poster.slide--steps.v2 .num{min-width:auto;}
.style-poster.slide--quote.v2 .mark{display:none;}
.style-poster.slide--quote.v2 .q{text-transform:none; font-size:74px; padding-left:44px; border-left:12px solid var(--accent);}
.style-poster.slide--cta.v2{flex-direction:column-reverse;}
/* --- CARDS --- */
.style-cards.slide--hook.v2 .body,.style-cards.slide--stat.v2 .body,.style-cards.slide--quote.v2 .body{align-items:center; text-align:center; justify-content:center;}
.style-cards.slide--hook.v2 .cd-img{display:none;}                     /* centrirana varijanta = bez slike, sadržaj u sredini kartice */
.style-cards.slide--quote.v2 .author{flex-direction:column; gap:14px;}
.style-cards.slide--hook.v3 .card{background:var(--accent); color:var(--accent-contrast); border:none;}
.style-cards.slide--hook.v3 .chip{background:var(--accent-contrast); color:var(--accent);}
.style-cards.slide--hook.v3 .sub{color:var(--accent-contrast); opacity:.85;}
.style-cards.slide--hook.v3 .dots i{background:rgba(255,255,255,.35);}
.style-cards.slide--hook.v3 .dots i.on{background:var(--accent-contrast);}
.style-cards.slide--hook.v3 .foot{color:var(--accent-contrast); opacity:.85;}
.style-cards.slide--steps.v2 ol{gap:0;}
.style-cards.slide--steps.v2 li{background:transparent; border-radius:0; padding:26px 0; border-bottom:1px solid color-mix(in srgb, var(--text) 12%, transparent);}
.style-cards.slide--cta.v2 .action{background:transparent; color:var(--accent-contrast); box-shadow:inset 0 0 0 4px var(--accent-contrast);}

/* --- Centriranje CTA akcije u v2 (dugme tačno u sredini) --- */
.style-editorial.slide--cta.v2 .action,.style-cover.slide--cta.v2 .action,.style-cards.slide--cta.v2 .action{align-self:center;}
.style-cards.slide--cta.v2 .body{align-items:center; text-align:center; justify-content:center;}
.style-cards.slide--cta.v2 .chip{align-self:center;}

/* --- COVER: tipografski fallback kad nema slike (Opcija B) --- */
.style-cover.noimg{padding:var(--pad); display:flex; flex-direction:column; background:var(--bg); color:var(--text);}
.style-cover.noimg .cv-typo-top{display:flex; justify-content:space-between; align-items:center; height:64px; flex:0 0 auto;}
.style-cover.noimg .cv-typo-top .page{position:static; background:color-mix(in srgb,var(--text) 10%, transparent); color:var(--text-muted); backdrop-filter:none;}
.style-cover.noimg .cv-typo-body{flex:1 1 auto; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.style-cover.noimg .cv-typo-foot{flex:0 0 auto; height:56px; display:flex; justify-content:space-between; align-items:center; color:var(--text-muted); font-weight:600; font-size:26px;}
.style-cover.noimg .cv-typo-foot .swipe{color:var(--accent); display:flex; gap:10px; align-items:center;}
.style-cover.noimg .kicker{margin-bottom:28px;}
.style-cover.noimg .hl{font-family:var(--font-head); font-weight:800; letter-spacing:-.03em; line-height:1.02; font-size:76px; text-wrap:balance;}
.style-cover.noimg .sub{margin-top:26px; font-size:36px; line-height:1.35; color:var(--text-muted); font-weight:500; max-width:88%;}
.style-cover.noimg.slide--stat .value{font-family:var(--font-head); font-weight:800; font-size:300px; line-height:.85; letter-spacing:-.04em; color:var(--accent);}
.style-cover.noimg.slide--stat .stat-label{font-size:40px; line-height:1.25; font-weight:600; margin-top:26px; max-width:84%;}
.style-cover.noimg.slide--stat .hl{font-size:44px; color:var(--text-muted); font-weight:700; margin-top:36px; max-width:88%;}
.style-cover.noimg.slide--quote .mark{font-family:var(--font-head); font-weight:800; font-size:180px; line-height:.5; color:var(--accent); height:96px; margin-bottom:14px;}
.style-cover.noimg.slide--quote .q{font-family:var(--font-head); font-weight:700; font-size:70px; line-height:1.14; letter-spacing:-.02em; text-wrap:balance;}
.style-cover.noimg.slide--quote .author{margin-top:44px; font-size:30px; font-weight:700; color:var(--text-muted); display:flex; align-items:center; gap:16px;}
.style-cover.noimg.slide--quote .author::before{content:""; width:52px; height:3px; background:var(--accent);}
/* CTA je uvek bez slike -> noimg ne sme da mu preuzme accent pozadinu */
.style-cover.noimg.slide--cta{background:var(--accent); color:var(--accent-contrast); justify-content:center;}
.style-cover.noimg.slide--cta .sub{color:var(--accent-contrast); opacity:1;}   /* CTA je accent -> sub ne sme da nasledi muted iz noimg fallback-a */

/* ============================================================
   V3 VARIJANTE — treca varijanta za svaki tip (razlicita od v1/v2).
   Flat stilovi: accent-fill; Cover: pozicija/panel; CTA (gde je v1 vec fill): surface.
   ============================================================ */
/* --- EDITORIAL --- (hook/stat/quote v3 fill vec postoje gore) */
.style-editorial.slide--steps.v3{background:var(--accent); color:var(--accent-contrast);}
.style-editorial.slide--steps.v3 .kicker,.style-editorial.slide--steps.v3 .kicker::before{color:var(--accent-contrast);}
.style-editorial.slide--steps.v3 .kicker::before{background:var(--accent-contrast);}
.style-editorial.slide--steps.v3 .num{background:var(--accent-contrast); color:var(--accent);}
.style-editorial.slide--steps.v3 .handle{color:var(--accent-contrast); opacity:.8;}
.style-editorial.slide--steps.v3 .swipe{color:var(--accent-contrast);}
.style-editorial.slide--cta.v3{background:var(--surface); color:var(--text);}
.style-editorial.slide--cta.v3 .kicker,.style-editorial.slide--cta.v3 .kicker::before{color:var(--accent); opacity:1;}
.style-editorial.slide--cta.v3 .kicker::before{background:var(--accent);}
.style-editorial.slide--cta.v3 .hl{color:var(--text);}
.style-editorial.slide--cta.v3 .sub{color:var(--text-muted); opacity:1;}
.style-editorial.slide--cta.v3 .action{background:var(--accent); color:var(--accent-contrast); box-shadow:none; align-self:flex-start;}
.style-editorial.slide--cta.v3 .handle{color:var(--text-muted);}

/* --- POSTER --- v3 = pun accent */
.style-poster.slide--hook.v3,.style-poster.slide--stat.v3,.style-poster.slide--steps.v3,.style-poster.slide--quote.v3{background:var(--accent); color:var(--accent-contrast);}
.style-poster.v3 .idx{color:var(--accent-contrast); opacity:.5;}
.style-poster.v3 .tag{background:var(--accent-contrast); color:var(--accent);}
.style-poster.v3 .value{color:var(--accent-contrast);}
.style-poster.v3 .hl{color:var(--accent-contrast);}
.style-poster.v3 .sub,.style-poster.v3 .stat-label{color:var(--accent-contrast); opacity:.9;}
.style-poster.v3 .foot .handle,.style-poster.v3 .foot .swipe{color:var(--accent-contrast);}
.style-poster.v3 .mark{color:var(--accent-contrast); opacity:.6;}
.style-poster.v3 .author{color:var(--accent-contrast);}
.style-poster.slide--steps.v3 li{border-color:rgba(0,0,0,.22);}
.style-poster.slide--steps.v3 .num{color:var(--accent-contrast);}
.style-poster.slide--cta.v3 .cta-top{background:var(--accent); color:var(--accent-contrast);}
.style-poster.slide--cta.v3 .cta-top .hl{color:var(--accent-contrast);}
.style-poster.slide--cta.v3 .cta-top .sub{color:var(--accent-contrast); opacity:.82;}
.style-poster.slide--cta.v3 .tag{background:var(--accent-contrast); color:var(--accent);}
.style-poster.slide--cta.v3 .cta-bar{background:var(--accent-contrast); color:var(--accent);}

/* --- CARDS --- v3 = accent-fill kartica */
.style-cards.slide--stat.v3 .card,.style-cards.slide--steps.v3 .card,.style-cards.slide--quote.v3 .card{background:var(--accent); color:var(--accent-contrast); border:none;}
.style-cards.slide--stat.v3 .chip,.style-cards.slide--steps.v3 .chip,.style-cards.slide--quote.v3 .chip{background:var(--accent-contrast); color:var(--accent);}
.style-cards.slide--stat.v3 .dots i,.style-cards.slide--steps.v3 .dots i,.style-cards.slide--quote.v3 .dots i{background:rgba(255,255,255,.35);}
.style-cards.slide--stat.v3 .dots i.on,.style-cards.slide--steps.v3 .dots i.on,.style-cards.slide--quote.v3 .dots i.on{background:var(--accent-contrast);}
.style-cards.slide--stat.v3 .foot,.style-cards.slide--steps.v3 .foot,.style-cards.slide--quote.v3 .foot{color:var(--accent-contrast); opacity:.85;}
.style-cards.slide--stat.v3 .value{color:var(--accent-contrast);}
.style-cards.slide--stat.v3 .hl{color:var(--accent-contrast); opacity:.9;}
.style-cards.slide--steps.v3 li{background:rgba(0,0,0,.13);}
.style-cards.slide--steps.v3 .num{background:var(--accent-contrast); color:var(--accent);}
.style-cards.slide--steps.v3 .step-txt{color:var(--accent-contrast);}
.style-cards.slide--quote.v3 .mark{color:var(--accent-contrast);}
.style-cards.slide--quote.v3 .q{color:var(--accent-contrast);}
.style-cards.slide--quote.v3 .avatar{background:var(--accent-contrast); color:var(--accent);}
.style-cards.slide--cta.v3 .card{background:var(--surface); color:var(--text); border:1px solid color-mix(in srgb, var(--text) 10%, transparent);}
.style-cards.slide--cta.v3 .chip{background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent);}
.style-cards.slide--cta.v3 .action{background:var(--accent); color:var(--accent-contrast); box-shadow:none;}
.style-cards.slide--cta.v3 .dots i{background:color-mix(in srgb, var(--text) 22%, transparent);}
.style-cards.slide--cta.v3 .dots i.on{background:var(--accent);}
.style-cards.slide--cta.v3 .foot{color:var(--text-muted);}

/* --- COVER --- hook/quote v3 = tekst dole; stat v3 = accent panel; steps v3 = pun accent; cta v3 = surface */
.style-cover.slide--hook.v3,.style-cover.slide--quote.v3{justify-content:flex-end; padding:var(--pad);}
.style-cover.slide--stat.v3 .panel{background:var(--accent); color:var(--accent-contrast);}
.style-cover.slide--stat.v3 .kicker{background:var(--accent-contrast); color:var(--accent);}
.style-cover.slide--stat.v3 .value{color:var(--accent-contrast);}
.style-cover.slide--stat.v3 .stat-label{color:var(--accent-contrast);}
.style-cover.slide--stat.v3 .hl{color:var(--accent-contrast); opacity:.9;}
.style-cover.slide--steps.v3{background:var(--accent); color:var(--accent-contrast);}
.style-cover.slide--steps.v3 .band{background:var(--accent-contrast); color:var(--accent);}
.style-cover.slide--steps.v3 .band .kicker,.style-cover.slide--steps.v3 .band .hl{color:var(--accent);}
.style-cover.slide--steps.v3 li{background:rgba(0,0,0,.15);}
.style-cover.slide--steps.v3 .num{background:var(--accent-contrast); color:var(--accent);}
.style-cover.slide--steps.v3 .step-txt{color:var(--accent-contrast);}
.style-cover.slide--steps.v3 .foot-row,.style-cover.slide--steps.v3 .foot-row .swipe{color:var(--accent-contrast);}
.style-cover.noimg.slide--cta.v3{background:var(--surface); color:var(--text);}
.style-cover.slide--cta.v3 .kicker{background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--accent);}
.style-cover.slide--cta.v3 .hl{color:var(--text);}
.style-cover.slide--cta.v3 .sub{color:var(--text-muted); opacity:1;}
.style-cover.slide--cta.v3 .action{background:var(--accent); color:var(--accent-contrast);}
.style-cover.slide--cta.v3 .cta-handle{color:var(--text-muted);}

/* Primarna boja se koristi za dekorativni tekst i navigacione akcente.
   --primary-text čuva kontrast kada originalna primarna nije čitljiva. */
.style-editorial:not(.v3) .swipe,
.style-editorial.slide--hook:not(.v3) .kicker,
.style-editorial.slide--stat:not(.v3) .kicker,
.style-editorial.slide--steps:not(.v3) .kicker,
.style-editorial.slide--stat:not(.v3) .value,
.style-editorial.slide--quote:not(.v3) .mark,
.style-cover.slide--stat:not(.v3) .value,
.style-cover.slide--steps:not(.v3) .foot-row .swipe,
.style-cover.slide--steps.v2 .band .kicker,
.style-cover.noimg .cv-typo-foot .swipe,
.style-cover.noimg.slide--stat:not(.v3) .value,
.style-cover.noimg.slide--quote .mark,
.style-cover.slide--cta.v3 .kicker,
.style-poster:not(.v3) .idx,
.style-poster:not(.v3) .foot .swipe,
.style-poster.slide--stat:not(.v3) .value,
.style-poster.slide--steps:not(.v3) .num,
.style-poster.slide--quote:not(.v3) .mark,
.style-poster.slide--quote:not(.v3) .author,
.style-cards.slide--hook:not(.v3) .chip,
.style-cards.slide--stat:not(.v3) .chip,
.style-cards.slide--steps:not(.v3) .chip,
.style-cards.slide--quote:not(.v3) .chip,
.style-cards.slide--stat:not(.v3) .value,
.style-cards.slide--steps:not(.v3) .num,
.style-cards.slide--quote:not(.v3) .mark,
.style-cards.slide--cta.v3 .chip,
.style-editorial.slide--steps.v2 .num,
.style-editorial.slide--cta.v3 .kicker {
  color:var(--primary-text);
}

/* Primarna boja nosi identitet kroz tipografske i navigacione akcente.
   Sekundarna ostaje akcent za fill, dugmad i CTA površine. */
.style-editorial:not(.v3) .kicker::before{background:var(--primary);}
.style-cover.slide--hook .kicker{background:var(--primary);color:var(--primary-contrast);}
.style-cover.noimg .cv-typo-foot .swipe{color:var(--primary-text);}
.style-poster:not(.v3) .idx{color:var(--primary-text);}
.style-cards.slide--hook:not(.v3) .chip{
  color:var(--primary-text);
  background:color-mix(in srgb,var(--primary) 14%,transparent);
}
.style-cards .dots i.on{background:var(--primary);}
.style-editorial.slide--hook.v3 .kicker::before{background:var(--primary);}
.style-poster.slide--hook.v3 .tag{background:var(--primary);color:var(--primary-contrast);}
.style-cards.slide--hook.v3 .chip{background:var(--primary);color:var(--primary-contrast);}
