/* css/dodaci.css — dodaci za sve stranice (ubacuje ga alat za sinhronizaciju iz panela) */

/* ── Ćirilica: DM Sans nema ćirilična slova → za njih Inter (OFL, fonts/inter-cyrillic-*.woff) ── */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/inter-cyrillic-400.woff) format('woff'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/inter-cyrillic-500.woff) format('woff'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/inter-cyrillic-600.woff) format('woff'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/inter-cyrillic-700.woff) format('woff'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }

/* ── Pristupačnost ─────────────────────────────────────────────────────── */
.preskoci {
  position: absolute; left: 12px; top: -60px; z-index: 10000;
  background: var(--charcoal, #002D62); color: #fff; font-weight: 700; text-decoration: none;
  padding: .7rem 1.1rem; border-radius: .6rem; transition: top .15s ease;
}
.preskoci:focus { top: 12px; outline: 3px solid #fff; outline-offset: 2px; }
#sadrzaj:focus { outline: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--red, #E30613); outline-offset: 2px; box-shadow: 0 0 0 5px rgba(255,255,255,.9); border-radius: 4px;
}

/* ── Početna: sledeća akcija (ispod dugmadi u naslovnoj sekciji) ─────── */
.sledeca-akcija {
  display: inline-flex; align-items: center; gap: .65rem; flex-wrap: wrap; justify-content: center;
  margin: -1.75rem auto 2.25rem; padding: .55rem .6rem .55rem 1rem; border-radius: 2rem;
  background: rgba(255,255,255,.85); border: 1px solid var(--border, #e5e0dc); color: var(--charcoal, #002D62);
  text-decoration: none; font-size: .95rem; box-shadow: 0 4px 18px rgba(0,45,98,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.sledeca-akcija:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,45,98,.12); }
.sledeca-akcija b { color: var(--red, #E30613); }
.sa-tacka { width: 9px; height: 9px; border-radius: 50%; background: var(--red, #E30613); box-shadow: 0 0 0 0 rgba(227,6,19,.5); animation: saPuls 2s infinite; flex: none; }
.sa-link { background: var(--red, #E30613); color: #fff; font-weight: 700; font-size: .85rem; padding: .35rem .8rem; border-radius: 2rem; white-space: nowrap; }
@keyframes saPuls { 0% { box-shadow: 0 0 0 0 rgba(227,6,19,.5); } 70% { box-shadow: 0 0 0 9px rgba(227,6,19,0); } 100% { box-shadow: 0 0 0 0 rgba(227,6,19,0); } }
/* na tamnoj pozadini videa */
.hero-new.hero-video-aktivan .sledeca-akcija { background: rgba(0,32,72,.45); border-color: rgba(255,255,255,.28); color: #fff; backdrop-filter: blur(8px); box-shadow: none; }
.hero-new.hero-video-aktivan .sledeca-akcija b { color: #ff7a82; }
@media (max-width: 767px) {
  .sledeca-akcija { margin: -1.25rem auto 1.75rem; font-size: .9rem; border-radius: 1rem; padding: .7rem .9rem; gap: .5rem .6rem; }
  .sledeca-akcija .sa-tacka { display: none; }
  .sledeca-akcija .sa-tekst { flex: 1 1 100%; text-align: center; }
}

/* ── Traka „Sledeća akcija“ na dnu ekrana (samo telefon) ──────────────── */
.cta-traka { display: none; }
@media (max-width: 767px) {
  .cta-traka {
    display: flex; align-items: center; gap: .6rem;
    position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 900;
    background: var(--charcoal, #002D62); color: #fff; border-radius: 1rem; padding: .55rem .5rem .55rem .9rem;
    box-shadow: 0 10px 30px rgba(0,20,50,.35);
    transform: translateY(140%); opacity: 0; pointer-events: none; transition: transform .3s ease, opacity .3s ease;
  }
  .cta-traka.vidljiva { transform: none; opacity: 1; pointer-events: auto; }
  .cta-traka-tekst { flex: 1; min-width: 0; line-height: 1.2; }
  .cta-traka-tekst small { display: block; font-size: .72rem; opacity: .75; }
  .cta-traka-tekst b { display: block; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .cta-traka-dugme { background: var(--red, #E30613); color: #fff; font-weight: 700; font-size: .88rem; text-decoration: none; padding: .6rem .85rem; border-radius: .7rem; white-space: nowrap; }
  .cta-traka-x { color: rgba(255,255,255,.7); font-size: 1.4rem; line-height: 1; width: 34px; height: 34px; border-radius: 50%; flex: none; }
  .cta-traka-x:hover { background: rgba(255,255,255,.1); color: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  .sa-tacka { animation: none; }
  .cta-traka, .sledeca-akcija { transition: none; }
}

/* ── Akcije: filteri po gradu u arhivi ─────────────────────────────────── */
.grad-filteri { display: flex; flex-wrap: wrap; gap: .4rem; flex-basis: 100%; }
.grad-filter {
  display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .8rem; border-radius: 2rem;
  border: 1px solid var(--border, #e5e0dc); background: #fff; color: var(--charcoal, #002D62);
  font-size: .82rem; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
.grad-filter span { font-size: .72rem; font-weight: 700; color: var(--gray-fig, #6b7280); }
.grad-filter:hover { border-color: var(--red, #E30613); color: var(--red, #E30613); }
.grad-filter.aktivan { background: var(--red, #E30613); border-color: var(--red, #E30613); color: #fff; }
.grad-filter.aktivan span { color: rgba(255,255,255,.85); }

/* ── Akcija: galerija — velika prva fotografija uvek tačno visine dve male (bez praznina desno) ── */
.foto-grid.fg-3 .foto-tile:first-child { position: relative; min-height: 0; }
.foto-grid.fg-3 .foto-tile:first-child img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.foto-tile img { object-position: 50% 35%; }

/* ── Podrži nas (podrzi-nas.html) ──────────────────────────────────────── */
.podrzi { max-width: 1100px; margin: 0 auto; }
.podrzi-uvod { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.podrzi-uvod h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; line-height: 1.1; margin: .5rem 0 1rem; }
.podrzi-uvod h1 span { color: var(--red, #E30613); }
.podrzi-lead { font-size: 1.08rem; line-height: 1.75; color: var(--gray-fig, #5b6475); }
.podrzi-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.25rem; margin-bottom: 3rem; }
.podrzi-kartica { background: #fff; border: 1px solid var(--border, #e5e0dc); border-radius: 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); }
.podrzi-kartica h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.podrzi-podaci { display: grid; grid-template-columns: auto 1fr; gap: .7rem 1.25rem; align-items: baseline; margin: 0; }
.podrzi-podaci dt { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--gray-fig, #5b6475); }
.podrzi-podaci dd { margin: 0; font-weight: 600; }
.podrzi-podaci small { display: block; font-weight: 400; color: var(--gray-fig, #5b6475); font-size: .8rem; }
.podrzi-racun { font-size: 1.2rem; letter-spacing: .02em; white-space: nowrap; }
.podrzi-kopiraj { margin-left: .4rem; font-size: .8rem; font-weight: 700; color: var(--red, #E30613); border: 1px solid var(--border, #e5e0dc); border-radius: 2rem; padding: .25rem .8rem; background: #fff; cursor: pointer; }
.podrzi-napomena { margin-top: 1.25rem; font-size: .9rem; color: var(--gray-fig, #5b6475); }
.podrzi-napomena a { color: var(--red, #E30613); }
.podrzi-qr-kartica { text-align: center; }
.podrzi-mali { font-size: .9rem; color: var(--gray-fig, #5b6475); line-height: 1.6; }
.podrzi-iznosi { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; margin: 1rem 0 .6rem; }
.podrzi-iznosi button { padding: .45rem .95rem; border-radius: 2rem; border: 1px solid var(--border, #e5e0dc); background: #fff; font-weight: 700; font-size: .88rem; color: var(--charcoal, #002D62); cursor: pointer; }
.podrzi-iznosi button.aktivan { background: var(--red, #E30613); border-color: var(--red, #E30613); color: #fff; }
.podrzi-drugi { font-size: .88rem; color: var(--gray-fig, #5b6475); }
.podrzi-drugi input { width: 110px; padding: .35rem .5rem; border: 1px solid var(--border, #e5e0dc); border-radius: .5rem; font: inherit; margin: 0 .25rem; }
.podrzi-qr { display: flex; justify-content: center; margin: 1rem 0 .5rem; min-height: 220px; }
.podrzi-qr svg { border-radius: .75rem; box-shadow: 0 6px 24px rgba(0,45,98,.1); }
.podrzi-nacini h2 { text-align: center; font-size: 1.6rem; margin-bottom: 1.25rem; }
.podrzi-nacini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.podrzi-nacin { display: flex; flex-direction: column; gap: .35rem; background: #fff; border: 1px solid var(--border, #e5e0dc); border-radius: 1rem; padding: 1.25rem; color: inherit; text-decoration: none; transition: transform .2s, border-color .2s; }
.podrzi-nacin:hover { transform: translateY(-2px); border-color: var(--red, #E30613); }
.podrzi-nacin span { font-size: 1.6rem; }
.podrzi-nacin small { color: var(--gray-fig, #5b6475); line-height: 1.5; }
@media (max-width: 900px) { .podrzi-grid { grid-template-columns: 1fr; } .podrzi-nacini-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .podrzi-nacini-grid { grid-template-columns: 1fr; } .podrzi-podaci { grid-template-columns: 1fr; gap: .2rem; } .podrzi-podaci dd { margin-bottom: .6rem; } }

/* ── Akcije: pretplata na kalendar ─────────────────────────────────────── */
.kal-pretplata { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: -1.25rem 0 2rem; font-size: .9rem; color: var(--gray-fig, #5b6475); }
.kal-pretplata a, .kal-pretplata button { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .9rem; border-radius: 2rem; border: 1px solid var(--border, #e5e0dc); background: #fff; color: var(--charcoal, #002D62); font-weight: 600; font-size: .85rem; text-decoration: none; cursor: pointer; }
.kal-pretplata a:hover, .kal-pretplata button:hover { border-color: var(--red, #E30613); color: var(--red, #E30613); }
.kal-pomoc { flex-basis: 100%; background: #fff; border: 1px solid var(--border, #e5e0dc); border-left: 3px solid var(--red, #E30613); border-radius: .75rem; padding: .8rem 1rem; font-size: .86rem; line-height: 1.6; color: var(--charcoal, #002D62); }
.kal-pomoc[hidden] { display: none; }
.kal-pretplata .kal-pomoc a { display: inline; padding: 0; border: 0; background: none; color: var(--red, #E30613); font-weight: 700; margin-left: .25rem; }
.kal-pomoc small { display: block; margin-top: .35rem; color: var(--gray-fig, #5b6475); }

.podrzi-telefon { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border, #e5e0dc); }
.podrzi-telefon-dugmad { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: .6rem; }
.podrzi-telefon-dugmad button { padding: .55rem 1rem; border-radius: .7rem; border: 1px solid var(--border, #e5e0dc); background: #fff; font-weight: 700; font-size: .88rem; color: var(--charcoal, #002D62); cursor: pointer; }
.podrzi-telefon-dugmad button:first-child { background: var(--red, #E30613); border-color: var(--red, #E30613); color: #fff; }

.podrzi-upit { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(1.25rem, 4vw, 3rem); align-items: start; background: var(--cream, #faf6f2); border-radius: 1.5rem; padding: clamp(1.25rem, 4vw, 2.75rem); margin-bottom: 3rem; scroll-margin-top: 90px; }
.podrzi-upit h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; line-height: 1.15; margin: .4rem 0 .8rem; }
.podrzi-upit h2 span { color: var(--red, #E30613); }
.podrzi-upit-lista { list-style: none; padding: 0; margin: 1rem 0 1.25rem; display: grid; gap: .55rem; }
.podrzi-upit-lista li { position: relative; padding-left: 1.6rem; font-size: .93rem; font-weight: 500; }
.podrzi-upit-lista li::before { content: "✓"; position: absolute; left: 0; color: var(--red, #E30613); font-weight: 800; }
.podrzi-upit-info a { color: var(--red, #E30613); font-weight: 600; }
.podrzi-upit-forma .form-group { margin-bottom: .75rem; }
@media (max-width: 900px) { .podrzi-upit { grid-template-columns: 1fr; } }
.podrzi-forma-red { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 560px) { .podrzi-forma-red { grid-template-columns: 1fr; gap: 0; } }

/* ── Video u naslovnoj sekciji na telefonu ──────────────────────────────────────
   Sekcija je na telefonu vrlo visoka (~1500px), pa je „cover“ prikazivao samo ~15% širine kadra.
   Video (4:5) sada zauzima vrh sekcije u punoj širini i meko prelazi u teget ispod. */
@media (max-width: 767px) {
  .hero-new.hero-video-aktivan .hero-video { --hv-h: min(125vw, 78vh); background-size: 100% var(--hv-h); background-position: center top; background-repeat: no-repeat; }
  .hero-new.hero-video-aktivan .hero-video video { bottom: auto; height: var(--hv-h); object-position: center top; }
  .hero-new.hero-video-aktivan .hero-video-sloj { background:
    linear-gradient(180deg, rgba(13,37,71,0) 0, rgba(13,37,71,0) calc(var(--hv-h) * .55), #0d2547 var(--hv-h), #0d2547 100%),
    linear-gradient(180deg, rgba(0,32,72,.40) 0, rgba(0,32,72,.28) calc(var(--hv-h) * .5), rgba(0,32,72,.45) var(--hv-h)); }
}

/* ── Priče (price.html) — priče ljudi kojima je krv pomogla ───────────────────── */
.np-uvod { text-align: center; max-width: 780px; margin: 0 auto; }
.np-uvod h1 { font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 900; line-height: 1.1; margin: .5rem 0 1rem; }
.np-uvod h1 span { color: var(--red, #E30613); }
.np-lead { font-size: 1.08rem; line-height: 1.75; color: var(--gray-fig, #5b6475); }
.np-lista { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.np-kartica { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--border, #e5e0dc); border-radius: 1.25rem; overflow: hidden; color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.np-kartica:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0,45,98,.1); border-color: var(--red, #E30613); }
.np-k-slika { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: #f6eeea; }
.np-bez-slike { display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--red, #E30613); background: linear-gradient(135deg, #fdf0ee, #f7e3df); }
.np-k-telo { padding: 1.1rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.np-k-telo h3 { font-size: 1.18rem; line-height: 1.3; margin: 0; }
.np-k-telo p { margin: 0; color: var(--gray-fig, #5b6475); line-height: 1.6; font-size: .95rem; }
.np-k-ko { margin-top: auto; padding-top: .6rem; display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; font-size: .85rem; font-weight: 600; color: var(--charcoal, #002D62); }
.np-k-ko span { color: var(--red, #E30613); }
.np-prazno { grid-column: 1 / -1; text-align: center; background: #fff; border: 1px dashed var(--border, #e5e0dc); border-radius: 1.25rem; padding: 2.5rem 1.5rem; color: var(--gray-fig, #5b6475); line-height: 1.7; }
.np-prazno p:first-child { font-size: 1.15rem; font-weight: 700; color: var(--charcoal, #002D62); margin: 0 0 .4rem; }
.np-prazno a { color: var(--red, #E30613); font-weight: 600; }
.np-p-omot { max-width: 760px; margin: 0 auto; }
.np-prica header h1 { font-size: clamp(1.9rem, 4.2vw, 3rem); font-weight: 900; line-height: 1.12; margin: .4rem 0 .8rem; }
.np-p-meta { color: var(--gray-fig, #5b6475); font-size: .95rem; margin-bottom: 1rem; }
.np-p-meta b { color: var(--charcoal, #002D62); }
.np-p-uvod { font-size: 1.2rem; line-height: 1.7; color: var(--charcoal, #002D62); margin: 0 0 1.75rem; }
.np-p-slika { margin: 0 0 2rem; }
.np-p-slika img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 1.25rem; display: block; }
.np-p-slika figcaption { font-size: .85rem; color: var(--gray-fig, #5b6475); margin-top: .5rem; text-align: center; }
.np-citat { margin: 0 0 2rem; padding: 1.25rem 1.5rem; border-left: 4px solid var(--red, #E30613); background: #fdf3f1; border-radius: 0 1rem 1rem 0; font-family: var(--font-display, Georgia, serif); font-size: clamp(1.25rem, 2.6vw, 1.6rem); line-height: 1.45; color: var(--charcoal, #002D62); }
.np-tekst p { font-size: 1.07rem; line-height: 1.85; }
.np-jos-h { font-size: 1.5rem; font-weight: 900; margin: 0 0 1.25rem; }
.np-cta { max-width: 1100px; margin: 0 auto; display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--charcoal, #002D62); color: #fff; border-radius: 1.5rem; padding: clamp(1.5rem, 4vw, 2.5rem); }
.np-cta h2 { color: #fff; font-size: clamp(1.3rem, 2.8vw, 1.8rem); margin: 0 0 .35rem; }
.np-cta p { margin: 0; color: rgba(255,255,255,.75); }
.np-cta-dugmad { display: flex; gap: .6rem; flex-wrap: wrap; }
.np-cta .btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.np-cta .btn-outline:hover { background: rgba(255,255,255,.1); color: #fff; border-color: #fff; }
@media (max-width: 560px) { .np-lista { grid-template-columns: 1fr; } .np-cta-dugmad .btn { width: 100%; justify-content: center; } }

/* ── Kontrast sitnog crvenog teksta (slabovidi): tamnija nijansa iste crvene, odnos ≥ 5:1 ── */
.eyebrow { color: #C00612; }
.status-upcoming { color: #A8040E; }
.how-footer-btn { color: #C00612; }
.year-tab:not(.active) .badge, body .partner-tag, .how-footer-btn { color: #A8040E; }
body .timeline-year, .podrzi-upit-info a { color: #C00612; }
.tag { color: oklch(0.46 0.13 248); }

/* ── Opis fotografije u uvećanom prikazu (isti tekst čita i čitač ekrana) ── */
.lb-opis { position: absolute; left: 50%; bottom: .9rem; transform: translateX(-50%); max-width: min(90%, 720px); background: rgba(0,0,0,.62); color: #fff; font-size: .9rem; line-height: 1.45; padding: .45rem .9rem; border-radius: .6rem; text-align: center; pointer-events: none; }
.lb-opis[hidden] { display: none; }

/* ── Akcija: organizator, podrška i učesnici ── */
.akcija-partneri { margin: 1.5rem 0 0; padding: 1rem 1.15rem; border: 1px solid var(--border, #e5e0dc); border-radius: 1rem; background: #fff; display: grid; gap: .65rem; }
.akcija-partneri-red { display: grid; grid-template-columns: 110px 1fr; gap: .75rem; align-items: baseline; }
.akcija-partneri-red > span { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--gray-fig, #5b6475); }
.akcija-partneri-red > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.akcija-partner { display: inline-block; padding: .25rem .7rem; border-radius: 2rem; background: #f4f1ee; color: var(--charcoal, #002D62); font-size: .88rem; font-weight: 600; text-decoration: none; border: 1px solid transparent; }
.akcija-partner:hover { border-color: var(--red, #E30613); color: #C00612; }
@media (max-width: 480px) { .akcija-partneri-red { grid-template-columns: 1fr; gap: .3rem; } }
/* Partneri: istaknuta kartica kad se dođe sa stranice akcije (partneri.html?p=…) */
.partner-card.istaknut { outline: 3px solid var(--red, #E30613); outline-offset: 3px; }

/* ── Početna, traka „Sledeća akcija“ ispod statistike: na telefonu mesto i datum idu u novi red, ništa ne ispada ── */
@media (max-width: 767px) {
  .hero-akcija-naziv { flex: 1 1 100%; min-width: 0; }
  .hero-akcija-meta { flex: 1 1 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
}
.hero-akcija-meta .ham-deo { white-space: nowrap; }
@media (max-width: 767px) { .hero-akcija-meta .ham-deo { white-space: normal; } .hero-akcija-meta .ham-deo + .ham-deo { display: inline-block; white-space: nowrap; } }

/* ── Hitan apel (dodaci.js, odeljak 9) ──────────────────────────────────── */
.apel { padding: clamp(1rem, 3vw, 2rem) clamp(1rem, 4vw, 2.5rem) 0; scroll-margin-top: 90px; }
.apel-in { max-width: 1100px; margin: 0 auto; border-radius: 1.25rem; overflow: hidden; background: #fff; box-shadow: 0 10px 34px rgba(192,6,18,.18); border: 2px solid #E30613; }
.apel-glava { background: linear-gradient(135deg, #C00612, #E30613); color: #fff; padding: clamp(1.1rem, 3vw, 1.6rem) clamp(1.1rem, 3.5vw, 2rem); }
.apel-oznaka, .apel-oznaka-mala { display: inline-flex; align-items: center; gap: .5rem; font-size: .82rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.apel-puls { width: .65rem; height: .65rem; border-radius: 50%; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: apelPuls 1.6s infinite; flex: none; }
@keyframes apelPuls { 70% { box-shadow: 0 0 0 .55rem rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.apel-glava h2 { color: #fff; margin: .55rem 0 0; font-size: clamp(1.4rem, 3.4vw, 2.1rem); line-height: 1.2; }
.apel-cipovi { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .9rem; }
.apel-cip { background: #fff; color: #A8040E; font-weight: 800; font-size: 1.05rem; padding: .3rem .8rem; border-radius: 2rem; }
.apel-cip-vrsta { background: rgba(255,255,255,.18); color: #fff; border: 1px solid rgba(255,255,255,.55); }
.apel-telo { padding: clamp(1.1rem, 3.5vw, 1.8rem) clamp(1.1rem, 3.5vw, 2rem); }
.apel-tekst p { font-size: clamp(1.05rem, 2vw, 1.18rem); line-height: 1.65; color: #1b2a4a; margin: 0 0 .9rem; }
.apel-tekst a { color: #A8040E; font-weight: 700; }
.apel-info { margin: .4rem 0 1.2rem; display: grid; gap: .7rem; background: #fdf2f2; border-radius: .9rem; padding: .9rem 1.1rem; }
.apel-info dt { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #A8040E; }
.apel-info dd { margin: .15rem 0 0; font-size: 1.08rem; font-weight: 600; color: #1b2a4a; }
.apel-info a { color: inherit; text-decoration: underline; text-decoration-color: rgba(192,6,18,.45); text-underline-offset: 3px; }
.apel-dugmad { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.apel-poruka { font-size: .9rem; color: #1b6b3a; font-weight: 600; word-break: break-all; }
.apel-datum { margin: 1rem 0 0; font-size: .85rem; color: #5b6475; }
.apel-traka { display: flex; align-items: stretch; background: #C00612; color: #fff; }
.apel-traka a { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem; padding: .65rem 1rem .65rem clamp(1rem, 4vw, 2.5rem); color: #fff; text-decoration: none; font-size: .95rem; }
.apel-traka-tekst { font-weight: 600; }
.apel-traka-vise { margin-left: auto; font-weight: 800; white-space: nowrap; }
.apel-traka a:hover .apel-traka-vise, .apel-traka a:focus-visible .apel-traka-vise { text-decoration: underline; }
.apel-traka button { background: transparent; border: 0; color: #fff; font-size: 1.5rem; line-height: 1; padding: 0 1rem; cursor: pointer; }
.apel-traka a:focus-visible, .apel-traka button:focus-visible, .apel a:focus-visible, .apel button:focus-visible { outline: 3px solid #1b2a4a; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .apel-puls { animation: none; } }

/* ── Zalihe krvi: veći i čitljiviji prikaz; prikazuju se samo grupe kojih ima malo ili su hitno potrebne ── */
.zalihe-naslov { font-size: clamp(1.3rem, 2.6vw, 1.6rem); line-height: 1.25; }
.zalihe-lista { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); }
.zalihe-lista li { padding: .9rem .4rem; }
.zalihe-lista b { font-size: 1.45rem; }
.zalihe-lista small { font-size: .9rem; font-weight: 700; }
.zalihe-napomena { margin: 1rem 0 0; font-size: 1.05rem; line-height: 1.6; color: #1b2a4a; }
.zalihe-nap { font-size: .9rem; }
@media (max-width: 760px) { .zalihe-lista { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); } }
.apel-tel .apel-prikazi { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: #A8040E; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
