/*
Theme Name: Divi INFINITA
Theme URI: https://infinita.si
Description: INFINITA child tema za Divi — barve in tipografija znamke
Author: INFINITA d.o.o.
Template: Divi
Version: 1.0.0
*/

:root {
  --infinita-blue: #4FA8DA;
  --infinita-blue-deep: #2E86B8;
  --infinita-blue-soft: #BFE0F2;
  --infinita-green: #D2E000;
  --infinita-ink: #0F172A;
  --infinita-indigo: #6366F1;
  --infinita-violet: #8B5CF6;
  --fg-body: #334155;
  --fg-muted: #94A3B8;
  --bg-page: #F8FAFC;
  --border-light: #E2E8F0;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--fg-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--infinita-ink);
  font-weight: 800;
  letter-spacing: -0.02em;
}

a { color: var(--infinita-blue-deep); }
a:hover { color: var(--infinita-blue); }

/* Gumbi v slogu obstoječe strani */
.et_pb_button {
  border-radius: 9999px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ── Feed widget (razpisi / novice / politike) ─────────────── */
.inf-feed { display: grid; gap: 14px; }
.inf-feed-card {
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: 14px;
  padding: 18px 20px;
  transition: box-shadow .2s, transform .2s;
}
.inf-feed-card:hover { box-shadow: 0 8px 30px rgba(15,23,42,.08); transform: translateY(-1px); }
.inf-feed-card h4 { margin: 0 0 6px; font-size: 16px; line-height: 1.35; }
.inf-feed-card h4 a { color: var(--infinita-ink); text-decoration: none; }
.inf-feed-card h4 a:hover { color: var(--infinita-blue-deep); }
.inf-feed-meta { font-size: 12px; color: var(--fg-muted); display: flex; gap: 10px; flex-wrap: wrap; }
.inf-feed-badge {
  display: inline-block; padding: 2px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 700;
  background: var(--infinita-blue-soft); color: var(--infinita-blue-deep);
}
.inf-feed-badge.deadline-soon { background: #FEF2F2; color: #991B1B; }
.inf-feed-desc { font-size: 13px; color: var(--fg-body); margin: 6px 0 0; }
.inf-feed-more { text-align: center; margin-top: 10px; }
.inf-feed-loading { color: var(--fg-muted); font-size: 14px; padding: 20px; text-align: center; }

/* ── MOST za piksel-identične sekcije originala v Divi ─────────────
   .inf-raw sekcije nosijo surov HTML originala; Divi ovoji ne smejo
   dodati NIČ razmikov ali omejitev širine. */
.inf-raw, .inf-raw .et_pb_row, .inf-raw .et_pb_column, .inf-raw .et_pb_code {
  padding: 0 !important;
  margin: 0 !important;
}
.inf-raw .et_pb_row { max-width: 100% !important; width: 100% !important; }
.inf-raw { background: transparent !important; }
/* Blank predloga: brez Divi glave/noge; original nav je sticky */
.page-template-page-template-blank #et-boc { margin: 0; }

/* ── LEPLJIVI HEADER: original ima .nav-wrap sticky znotraj celostranskega
   #app; v Divi je nav v svoji (nizki) sekciji, zato sticky ne prime.
   Rešitev: lepljiva je CELA nav sekcija — obnašanje identično originalu. */
.inf-raw:has(.nav-wrap) {
  position: sticky !important;
  top: 14px; /* enako kot original .nav-wrap{top:14px} */
  z-index: 90;
}
.inf-raw:has(.nav-wrap) .nav-wrap { position: static; }
/* pod lepljivim nav-om ne sme biti Divi overflow pasti */
#page-container, #et-boc, .et-l, .et_builder_inner_content { overflow: visible !important; }

/* ── Povezana polja (links.json) — identično CmsBridge stilu: BREZ podčrtaja na živi strani ── */
[data-cms-link] {
  cursor: pointer;
  text-decoration: none;
}
[data-cms-link]:hover {
  opacity: 0.92;
}


/* ── PRAVNE STRANI (page-legal.php): vsebina v dizajnu nove strani ── */
body.inf-legal-page { background: var(--page, #F8FAFC); margin: 0; }
.legal-main { min-height: 60vh; }
.legal-main .container { max-width: 860px; margin: 0 auto; padding: 0 22px; }
.legal-head { padding: 64px 0 8px; }
.legal-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  color: var(--accent); display: inline-flex; align-items: center; gap: 10px; }
.legal-eyebrow::before { content: ''; width: 22px; height: 1px; background: var(--accent); opacity: .7; }
.legal-title { font-size: clamp(30px, 4.5vw, 44px); font-weight: 800; letter-spacing: -0.02em;
  color: var(--ink); margin: 10px 0 6px; line-height: 1.12; }
.legal-prose { padding: 8px 0 80px; color: var(--ink-dim, var(--ink)); font-size: 15.5px; line-height: 1.75; }
.legal-prose h2 { font-size: 21px; font-weight: 800; letter-spacing: -0.01em; color: var(--ink);
  margin: 40px 0 12px; padding-top: 22px; border-top: 1px solid var(--line, rgba(15,23,42,.08)); }
.legal-prose h2:first-child { border-top: 0; padding-top: 0; margin-top: 18px; }
.legal-prose p { margin: 0 0 14px; }
.legal-prose ul, .legal-prose ol { margin: 0 0 14px; padding-left: 22px; }
.legal-prose li { margin: 4px 0; }
.legal-prose strong { color: var(--ink); }
.legal-prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }

/* ── Cookie Compliance (Hu-manity) ──────────────────────────────────────────
   1) POGOVORNO OKNO za sprejem piškotkov → na SREDINO okna.
   2) Modri "fingerprint" gumbek (ponovno odpiranje) → LEVO spodaj (desno bi
      prekrival gumb ↑ nazaj na vrh).
   Widget se izriše iz oblaka (app.hu-manity.co); ciljamo znane selektorje. */

/* 1) Pogovorno okno — #hu pozicionira samo okno (gumbek je ločen fiksni element) */
#hu {
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

/* 2) Fingerprint gumbek → levo spodaj (širok nabor znanih selektorjev widgeta) */
#hu-reopen, .hu-reopen, #hu-badge, .hu-badge,
[id*="reopen" i], [class*="reopen" i],
[class*="hu-widget" i], [class*="cookie-widget" i], [class*="cc-widget" i],
#cn-revoke-cookie, .cn-revoke-cookie {
  left: 18px !important;
  right: auto !important;
  bottom: 18px !important;
  top: auto !important;
}
