/* ===========================================================
   Иванов кабинет — тема за презентације (Пословна информатика)
   Копија теме из programske-paradigme/prezentacije — иста имена класа,
   боје се овде користе за модуле, а не за парадигме.
   Учитава се ПОСЛЕ reveal.js теме и надјачава подразумевано.
   =========================================================== */

:root {
    --imp:  #ffb02e;   /* императивна   — амбер   */
    --oop:  #4fa3ff;   /* објектно-ор.  — плава   */
    --fun:  #43d17a;   /* функционална  — зелена  */
    --log:  #c58cff;   /* логичка       — љубич.  */
    --acc:  #ff6b6b;   /* акценат / упозорење     */
    --mut:  #9aa3ad;   /* пригушен текст          */
}

.reveal { font-family: 'Noto Sans', sans-serif; }

.reveal h1, .reveal h2, .reveal h3, .reveal h4 {
    font-family: 'Noto Sans', sans-serif;
    font-weight: 700;
    text-transform: none;
    letter-spacing: -0.01em;
}
.reveal h1 { font-size: 2.1em; }
.reveal h2 { font-size: 1em; margin-bottom: 0.5em; }
.reveal h3 { font-size: 1.1em; }
.reveal em { font-style: italic; }

/* ---------- кôд ---------- */
.reveal pre {
    width: 100%;
    box-shadow: 0 2px 14px rgba(0,0,0,.5);
    border-radius: 8px;
    font-size: 0.56em;
    margin: 12px 0;
}
.reveal pre code {
    padding: 14px 18px;
    max-height: 460px;
    border-radius: 8px;
    line-height: 1.35;
}
.reveal code { font-family: 'Consolas','Monaco','Courier New',monospace; }
.reveal :not(pre) > code {
    background: rgba(255,255,255,.10);
    padding: 1px 6px;
    border-radius: 4px;
    color: #ffd479;
}

/* ---------- табеле ---------- */
.reveal table { font-size: 0.62em; border-collapse: collapse; }
.reveal table th {
    background: rgba(255,255,255,.08);
    text-transform: none;
    font-weight: 700;
}
.reveal table th, .reveal table td {
    border-bottom: 1px solid rgba(255,255,255,.14);
    padding: 6px 12px;
}
.reveal table tr:last-child td { border-bottom: none; }

/* highlight.js бројеве редова рендерује као табелу — не сме да наследи стил табела */
.reveal pre table,
.reveal pre .hljs-ln {
    font-size: inherit;
    border-collapse: collapse;
    margin: 0;
    width: auto;
}
.reveal pre table th,
.reveal pre table td {
    border: none;
    padding: 0;
    background: none;
}

/* кôд у двоколонском распореду мора да буде ужи */
.reveal .cols pre { font-size: 0.44em; }

/* ---------- две колоне ---------- */
.cols {
    display: flex;
    gap: 26px;
    align-items: flex-start;
    text-align: left;
}
.cols > * { flex: 1; min-width: 0; }
.cols.center { align-items: center; }

/* ---------- картице / истицање ---------- */
.card {
    background: rgba(255,255,255,.06);
    border-left: 5px solid var(--mut);
    border-radius: 8px;
    padding: 14px 18px;
    text-align: left;
    font-size: 0.82em;
}
.card h3 { margin: 0 0 .35em 0; font-size: 1.05em; }

.kljuc {
    background: rgba(255,176,46,.12);
    border: 1px solid rgba(255,176,46,.45);
    border-radius: 10px;
    padding: 16px 22px;
    font-size: 0.9em;
}

/* ---------- боје по парадигмама ---------- */
.imp { color: var(--imp); }
.oop { color: var(--oop); }
.fun { color: var(--fun); }
.log { color: var(--log); }
.acc { color: var(--acc); }
.mut { color: var(--mut); }

.card.imp-b { border-left-color: var(--imp); }
.card.oop-b { border-left-color: var(--oop); }
.card.fun-b { border-left-color: var(--fun); }
.card.log-b { border-left-color: var(--log); }
.card.acc-b { border-left-color: var(--acc); }

/* трака са ознаком парадигме у горњем десном углу слајда */
.znak {
    position: absolute;
    top: -10px; right: 0;
    font-size: 0.42em;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .85;
}

/* ---------- ситно ---------- */
.reveal .small   { font-size: 0.72em; }
.reveal .smaller { font-size: 0.58em; }
.reveal ul li    { margin-bottom: .35em; }
.reveal .lead    { font-size: 0.9em; line-height: 1.4; }

.reveal .pitanje {
    font-size: 0.95em;
    background: rgba(79,163,255,.10);
    border-left: 5px solid var(--oop);
    border-radius: 8px;
    padding: 14px 20px;
    text-align: left;
}

.reveal .zadatak-br {
    display: inline-block;
    background: var(--acc);
    color: #111;
    font-weight: 700;
    border-radius: 50%;
    width: 1.7em; height: 1.7em;
    line-height: 1.7em;
    text-align: center;
    margin-right: .4em;
}

/* слике на тамној позадини */
.reveal .beli-okvir {
    background: #fff;
    padding: 10px;
    border-radius: 8px;
}

/* подножје са ознаком часа */
.reveal .footer {
    position: absolute;
    bottom: 14px; left: 20px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,.32);
    z-index: 30;
    pointer-events: none;
}

/* стрелица „наспрам“ */
.vs {
    font-size: 1.6em;
    color: var(--acc);
    font-weight: 700;
    align-self: center;
    flex: 0 0 auto !important;
}

/* ---------- листа оперативних система (логотип + назив) ---------- */
.reveal .os-lista {
    display: flex;
    flex-direction: column;
    gap: .4em;
    margin-top: .25em;
}
.reveal .os {
    display: flex;
    align-items: center;
    gap: .5em;
    line-height: 1.2;
}
/* логотипи не смеју да наследе оквир и сенку од .slika */
.reveal .os img {
    flex: 0 0 auto;
    width: 1.6em;
    height: 1.6em;
    margin: 0;
    object-fit: contain;
    border: none;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

/* ---------- квадратне илустрације (1:1) ---------- */
/* Слике су квадратне; висина је ограничена да слајд никад не прелије. */
.reveal .slika {
    display: block;
    width: 100%;
    max-width: 360px;
    max-height: 46vh;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0 auto;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(0,0,0,.45);
}
.reveal .slika-vel { max-width: 460px; max-height: 58vh; }

/* у две колоне текст треба да буде мирнији */
.reveal .cols .card { font-size: .92em; }
