/* ══════════════════════════════════════════════════════════════
   Green Flow — UX safety net
   Učitava se posljednji, popravlja rubne slučajeve na svim uređajima.
   Ne mijenja dizajn — samo sprječava poznate kvarove.
   ══════════════════════════════════════════════════════════════ */

/* ── 1. Horizontalni overflow ────────────────────────────────── */
html { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; max-width: 100%; }
img, picture, video, canvas, svg, iframe { max-width: 100%; }
pre, code { overflow-x: auto; max-width: 100%; }

/* Dugi nizovi (OIB, e-mail, URL) ne smiju razvući layout */
a[href^="mailto:"], a[href^="tel:"], .ft-contact-link { word-break: break-word; overflow-wrap: anywhere; }

/* ── 2. Tablice — vodoravni scroll umjesto razvlačenja ───────── */
table { max-width: 100%; }
@media (max-width: 720px) {
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
  table th, table td { white-space: normal; min-width: 120px; }
}

/* ── 3. Dodirne mete — minimalno 44×44 px na dodirnim uređajima ─ */
@media (hover: none) and (pointer: coarse) {
  button, [role="button"], input[type="submit"], input[type="button"],
  .gf-btn, .sh-btn, .pd-add, .ft-nl-btn, .cs-btn-primary, .cs-btn-ghost,
  .gfc-btn, .gfc-foot-btn, .sh-filter-btn, .gf-hamburger {
    min-height: 44px;
    min-width: 44px;
  }
  nav a, .ft-link, .ft-legal-link, .ln-link { min-height: 40px; display: inline-flex; align-items: center; }
  /* razmak da se susjedne mete ne dodiruju */
  .ft-links a + a { margin-top: 2px; }
}

/* ── 4. Čitljivost na malim zaslonima ────────────────────────── */
@media (max-width: 520px) {
  /* sitne oznake i badgevi — 9–10px je pretijesno na mobitelu */
  .ph-pill, .ft-cert, .fl-badge, .ph-tag, .pfs-eyebrow, .pfs-trust,
  .cert-p, .pf-l, .ticker-label, .sh-card-stock, .mkt-tag, .tl-year {
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }
  /* tijelo teksta ne ispod 15px */
  p, li { font-size: max(15px, 1em); }
}

/* ── 5. iOS: spriječi automatski zoom pri fokusu na polje ────── */
@media (max-width: 900px) {
  input, select, textarea { font-size: 16px !important; }
}

/* ── 6. Vidljiv fokus za tipkovnicu (WCAG 2.4.7) ─────────────── */
:focus-visible {
  outline: 3px solid #8cc63f;
  outline-offset: 2px;
  border-radius: 3px;
}
a:focus-visible, button:focus-visible { outline-offset: 3px; }
/* ne prikazuj obrub pri kliku mišem */
:focus:not(:focus-visible) { outline: none; }

/* Skip link — vidljiv tek pri fokusu, ali stvarno vidljiv */
.gf-skip-nav:focus { top: 0 !important; outline: 3px solid #8cc63f; }

/* ── 7. Smanjeno gibanje ─────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .rev, [class*="rev "] { opacity: 1 !important; transform: none !important; }
}

/* ── 8. Sprječavanje kumulativnog pomaka layouta (CLS) ───────── */
img[loading="lazy"] { background: #f4f6f4; }
.sh-card-img, .pd-img-main { contain: layout paint; }

/* ── 9. Tamni način — poštuj sistemsku postavku za pozadinu ──── */
@media (prefers-color-scheme: dark) {
  :root { color-scheme: light; } /* stranica je svijetla po dizajnu */
}

/* ── 10. Print ───────────────────────────────────────────────── */
@media print {
  header, footer, nav, .gf-hamburger, .gfc-banner, .gfc-overlay,
  .gf-totop, .gf-shop-cart, .ft-newsletter { display: none !important; }
  body { color: #000; background: #fff; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 10px; }
  .legal-content, main { max-width: 100%; padding: 0; }
}

/* ── 11. Vrlo uski zasloni (320–360 px) ──────────────────────── */
@media (max-width: 360px) {
  .cs-btn-primary, .cs-btn-ghost, .gf-btn, .sh-btn, .pd-add { width: 100%; }
  .hero-btns, .cs-cta-row, .gfc-btns { flex-direction: column; align-items: stretch; }
  h1 { letter-spacing: -1px !important; }
}

/* ── Footer: naslov podsekcije unutar stupca treba odmak ────── */
.ft-links + .ft-col-title,
.ft-col-title ~ .ft-col-title { margin-top: 30px !important; }
.ft-col-title { display:block; }
