/* LoggerService - zajednički stil za sve stranice sajta.
   Paleta „Tehnološka" - vidi ../docs/UI-Dizajn.md.
   Pravilo: boja se nikad ne piše direktno, uvek preko var(). */

:root {
    --ultra-svetla: #F8F9FA;
    --antracit: #343A40;
    --bela: #FFFFFF;
    --akcentna: #FF9F43;
    --akcentna-hover: #F39C12;
    --siva-tekst: #4B5158;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    background-color: var(--bela);
    color: var(--antracit);
    line-height: 1.6;
}

.Kontejner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Preskoči na sadržaj - za čitače ekrana i tastaturu */
.Preskoci {
    position: absolute;
    left: -9999px;
    top: 0;
    background: var(--antracit);
    color: var(--bela);
    padding: 12px 20px;
    z-index: 2000;
}
.Preskoci:focus { left: 0; }

:focus-visible {
    outline: 3px solid var(--akcentna-hover);
    outline-offset: 2px;
}

/* Dugmad
   NAPOMENA: tekst na akcentnoj boji je ANTRACIT, ne bela.
   Bela na #FF9F43 daje kontrast ~1,9:1 (pada WCAG AA, minimum je 4,5:1).
   Antracit na istoj boji daje ~6:1. Vidi ../docs/sajt.md §3. */
.Dugme {
    display: inline-block;
    background-color: var(--akcentna);
    color: var(--antracit);
    padding: 12px 28px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 4px;
    transition: background 0.3s ease;
    text-transform: uppercase;
    font-size: 14px;
    border: 2px solid var(--akcentna);
    cursor: pointer;
}

.Dugme:hover { background-color: var(--akcentna-hover); border-color: var(--akcentna-hover); }

.Dugme-Sekundarno {
    background-color: transparent;
    border: 2px solid var(--bela);
    color: var(--bela);
}

.Dugme-Sekundarno:hover { background-color: var(--bela); color: var(--antracit); }

/* Tiho dugme za SVETLU podlogu - koristi se za „Prijavu" u zaglavlju.
   Ne sme da se takmiči sa glavnim pozivom na akciju („Obavesti me"), ali mora
   ostati dugme, a ne veza. Antracit na ultra-svetloj daje kontrast ~11:1.
   .Dugme-Sekundarno se ovde NE može upotrebiti - beli okvir na beloj podlozi
   se ne vidi, on je za tamnu podlogu (Hero, Cta-Traka). */
.Dugme-Obris {
    background-color: transparent;
    border: 2px solid var(--antracit);
    color: var(--antracit);
}

.Dugme-Obris:hover { background-color: var(--antracit); border-color: var(--antracit); color: var(--bela); }

/* Zaglavlje */
.Zaglavlje {
    background-color: var(--ultra-svetla);
    padding: 20px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 3px solid var(--akcentna);
}

.Nav-Mreza { display: flex; justify-content: space-between; align-items: center; gap: 20px; }

.Logo {
    color: var(--antracit);
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.Logo span { color: var(--akcentna-hover); }

/* flex-wrap je obavezan otkad zaglavlje nosi i prekidač jezika i DVA dugmeta.
   Bez njega se meni na prozoru od ~800px (iznad preloma na 768px, gde još važi
   jedan red) prelije van kontejnera i logo se sabije. */
.Meni { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; row-gap: 10px; }

.Meni a {
    color: var(--antracit);
    text-decoration: none;
    margin-left: 20px;
    font-weight: 500;
    transition: color 0.3s;
}

.Meni a:hover { color: var(--akcentna-hover); }
.Meni .Dugme { margin-left: 20px; }

/* Prekidač jezika - uvek ispisan punim imenom jezika NA TOM JEZIKU
   („English", „Srpski"), nikad zastavicom. Zastavica označava državu, a ne
   jezik; engleski se govori u desetinama zemalja. */
.Jezik {
    border: 1px solid var(--siva-tekst);
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 14px;
}
.Jezik:hover { border-color: var(--akcentna-hover); }

/* Hero */
.Hero {
    background-color: var(--antracit);
    color: var(--bela);
    padding: 90px 0;
    text-align: center;
}

.Oznaka-Stanja {
    display: inline-block;
    border: 1px solid var(--akcentna);
    color: var(--akcentna);
    border-radius: 999px;
    padding: 5px 16px;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}

.Hero h1 { font-size: 42px; margin-bottom: 20px; line-height: 1.25; }
.Hero h1 span { color: var(--akcentna); }

.Hero p {
    font-size: 18px;
    max-width: 640px;
    margin: 0 auto 30px auto;
    color: #DFE4EA;
}

.Hero-Dugmad .Dugme { margin: 6px 10px; }

/* Put za one koji već imaju nalog. Namerno tiši od dugmadi iznad - oznaka
   stanja i dalje kaže „u izradi" i to je istina za javnost.
   Dva imena klase u selektoru su nužna: .Hero p je specifičniji od jedne klase
   i inače bi nadjačao veličinu slova. */
.Hero .Hero-Napomena { font-size: 15px; margin-bottom: 0; }
.Hero-Napomena a { color: var(--bela); }

/* Sekcije */
.O-Nama, .Kontakt { padding: 80px 0; background-color: var(--ultra-svetla); }
.Usluge, .Kako, .Tekst-Stranica { padding: 80px 0; background-color: var(--bela); }

.Naslov-Sekcije {
    text-align: center;
    font-size: 32px;
    margin-bottom: 16px;
    position: relative;
    padding-bottom: 10px;
}

.Naslov-Sekcije::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: var(--akcentna);
}

.Uvod-Sekcije {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px auto;
    color: var(--siva-tekst);
}

.O-Nama-Mreza { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.Usluge-Mreza { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }

.Kartica-Usluge {
    background-color: var(--ultra-svetla);
    padding: 30px;
    border-radius: 4px;
    border-left: 4px solid var(--antracit);
    transition: transform 0.3s, border-color 0.3s;
}

.Kartica-Usluge:hover { transform: translateY(-5px); border-left-color: var(--akcentna); }
.Kartica-Usluge h3 { margin-bottom: 10px; font-size: 19px; }
.Kartica-Usluge p { color: var(--siva-tekst); }

.O-Nama .Kartica-Usluge { background-color: var(--bela); }

.Ikona-Usluge { color: var(--akcentna-hover); margin-bottom: 14px; display: block; }

/* Koraci */
.Koraci { list-style: none; counter-reset: korak; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }

.Koraci li { counter-increment: korak; padding-top: 8px; }

.Koraci li::before {
    content: counter(korak);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--akcentna);
    color: var(--antracit);
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 14px;
}

.Koraci h3 { margin-bottom: 8px; font-size: 19px; }
.Koraci p { color: var(--siva-tekst); }

/* CTA */
.Cta-Traka { background-color: var(--antracit); color: var(--bela); padding: 50px 0; text-align: center; }
.Cta-Traka h2 { margin-bottom: 12px; font-size: 26px; }
.Cta-Traka p { color: #DFE4EA; margin-bottom: 24px; }

/* Kontakt */
.Kontakt-Mreza { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.Forma-Grupa { margin-bottom: 15px; }
.Forma-Grupa label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 15px; }

.Forma-Kontrola {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--antracit);
    border-radius: 4px;
    background-color: var(--bela);
    font-size: 16px;
}

.Forma-Napomena { font-size: 14px; color: var(--siva-tekst); margin-top: 12px; }

/* Zamka za botove - mora biti nevidljiva i za čitače ekrana.
   NE koristiti display:none - deo botova to prepoznaje i preskoči polje. */
.Zamka {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.Podaci-Kontakt li { list-style: none; margin-bottom: 14px; }
.Podaci-Kontakt strong { display: block; }
.Podaci-Kontakt a { color: var(--antracit); }

/* Tekstualne stranice (hvala, privatnost) */
.Tekst-Stranica { max-width: 800px; margin: 0 auto; }
.Tekst-Stranica h1 { font-size: 32px; margin-bottom: 20px; }
.Tekst-Stranica h2 { font-size: 22px; margin: 32px 0 10px 0; }
.Tekst-Stranica p, .Tekst-Stranica li { color: var(--siva-tekst); margin-bottom: 12px; }
.Tekst-Stranica ul { padding-left: 22px; }
.Tekst-Stranica a { color: var(--antracit); }
.Tekst-Stranica .Dugme { color: var(--antracit); text-decoration: none; margin-top: 20px; }

/* Podnožje */
.Podnozje { background-color: var(--antracit); color: var(--bela); padding: 40px 0; font-size: 14px; }
.Podnozje a { color: var(--bela); }
.Podnozje-Mreza { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; border-top: 1px solid var(--siva-tekst); padding-top: 20px; }

/* ============================================================
   Dubinski opis proizvoda (2026-07-27)
   Blokovi koje traži duži tekst: tabela „danas / šta to znači",
   oznaka ekrana uz tvrdnju, spisak onoga što tek dolazi i kutija
   sa poštenim stanjem projekta.
   ============================================================ */

/* Kartice sada nose više pasusa - bez ovoga se slepe, jer je globalni
   reset stavio margin: 0 na sve. */
.Kartica-Usluge p + p { margin-top: 12px; }

/* Dve bele sekcije jedna do druge („Tri puta" i „Šta se gradi") bi se
   stopile u jednu dugačku traku - tanka crta ih razdvaja. */
.Kako + .Usluge { border-top: 1px solid #DFE4EA; }

/* Naslov tabele postoji zbog čitača ekrana, ali se ne crta - vidljivi
   naslov sekcije već kaže isto, pa bi ispis bio dupliranje.
   NE koristi se display:none - to bi ga sakrilo i od čitača. */
.Vidljivo-Citacu {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Tabela mora da može da se pomera bočno na telefonu, inače razvuče
   celu stranicu i pojavi se vodoravni skrol tela dokumenta. */
.Tabela-Okvir { overflow-x: auto; margin-bottom: 30px; }

.Tabela-Problem {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    border-collapse: collapse;
    background-color: var(--bela);
    border-radius: 4px;
}

.Tabela-Problem th, .Tabela-Problem td {
    text-align: left;
    padding: 14px 16px;
    border-bottom: 1px solid #DFE4EA;
    vertical-align: top;
}

.Tabela-Problem thead th {
    border-bottom: 3px solid var(--akcentna);
    font-size: 15px;
    white-space: nowrap;
}

.Tabela-Problem tbody th { font-weight: 600; width: 45%; }
.Tabela-Problem td { color: var(--siva-tekst); }
.Tabela-Problem tbody tr:last-child th,
.Tabela-Problem tbody tr:last-child td { border-bottom: none; }

.Uvod-Ispod { margin-bottom: 0; }

/* Adresa ekrana uz tvrdnju - dokaz da stvar postoji, ne najava.
   Nije veza: ekrani traže prijavu, a robots.txt zabranjuje /app/. */
.Oznaka-Ekran {
    display: inline-block;
    margin-top: 16px;
    font-family: Consolas, 'Courier New', monospace;
    font-size: 13px;
    color: var(--siva-tekst);
    border: 1px solid #C9CFD6;
    border-radius: 4px;
    padding: 3px 9px;
}

/* Sekcija „Odluke koje se posle ne mogu ispraviti" - svetla podloga,
   kao O-Nama, da se razdvoji od sekcije iznad. */
.Temelji { padding: 80px 0; background-color: var(--ultra-svetla); }
.Temelji .Kartica-Usluge { background-color: var(--bela); }

/* Spisak onoga što tek dolazi */
.Spisak-Dolazi {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 26px;
}

.Spisak-Dolazi li { border-left: 4px solid #C9CFD6; padding-left: 18px; }
.Spisak-Dolazi h3 { font-size: 18px; margin-bottom: 8px; }
.Spisak-Dolazi p { color: var(--siva-tekst); }
.Spisak-Dolazi p + p { margin-top: 10px; }

/* Oznaka „u izradi" NOSI REČ, ne samo boju - boja nikad ne sme biti
   jedini nosilac značenja (UI-Dizajn.md). Zato je i okvir antracit,
   a ne akcentna: akcentna kao boja teksta pada na kontrastu. */
.Oznaka-Uskoro {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--antracit);
    border: 1px solid var(--antracit);
    border-radius: 999px;
    padding: 2px 12px;
    margin-bottom: 10px;
}

.Spisak-Dolazi .Oznaka-Uskoro { margin-top: 0; }

/* Pošteno stanje projekta */
.Stanje { padding: 60px 0; background-color: var(--ultra-svetla); }

.Kutija-Stanje {
    max-width: 820px;
    margin: 0 auto;
    background-color: var(--bela);
    border-left: 4px solid var(--akcentna);
    border-radius: 4px;
    padding: 30px 32px;
}

.Kutija-Stanje h2 { font-size: 24px; margin-bottom: 14px; }
.Kutija-Stanje p { color: var(--siva-tekst); margin-bottom: 12px; }
.Kutija-Stanje p:last-child { margin-bottom: 0; }

@media (max-width: 768px) {
    .Nav-Mreza, .Podnozje-Mreza, .Kontakt-Mreza { flex-direction: column; gap: 15px; text-align: center; }
    .Kontakt-Mreza { grid-template-columns: 1fr; }
    .Meni { flex-wrap: wrap; justify-content: center; }
    .Meni a { margin: 0 10px; }
    /* Dva dugmeta u istom redu na telefonu: treba im razmak sa strane, a uže
       bočno punjenje da „PRIJAVA" i „OBAVESTI ME" stanu na ekran od 320px.
       Vertikalno punjenje ostaje 12px - meta i dalje ima ~47px visine. */
    .Meni .Dugme { margin: 10px 4px 0 4px; padding: 12px 18px; }
    .Hero h1 { font-size: 30px; }
    .Hero { padding: 60px 0; }
    .Koraci li::before { margin-left: auto; margin-right: auto; }
    .Koraci { text-align: center; }
    /* Tabela se na uskom ekranu ne sabija u dve reči po redu nego se
       pomera bočno unutar svog okvira - telo stranice ostaje mirno. */
    .Tabela-Problem { min-width: 520px; }
    .Tabela-Problem tbody th { width: 45%; }
    .Tabela-Problem th, .Tabela-Problem td { padding: 12px; }
    .Kutija-Stanje { padding: 24px 20px; }
    .Spisak-Dolazi li { padding-left: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; }
    .Kartica-Usluge:hover { transform: none; }
}
