/* ══════════════════════════════════════════
   FN COOKIE CONSENT — Futura Natura
   Vidljivost se NIKAD ne oslanja na [hidden]:
   sve ide preko klase .is-open, pa nijedan
   tuđi CSS ne može ostaviti nevidljiv sloj
   preko stranice.
══════════════════════════════════════════ */
.fnc-banner,
.fnc-modal {
  display: none;                 /* zadano: nema ga */
  pointer-events: none;
}
.fnc-banner.is-open { display: block; pointer-events: auto; }
.fnc-modal.is-open  { display: flex;  pointer-events: auto; }

/* Tijekom zatvaranja (is-open bez is-in) sloj više ne smije
   hvatati klikove, iako je još u DOM-u zbog animacije. */
.fnc-modal.is-open:not(.is-in) { pointer-events: none; }
.fnc-modal.is-open:not(.is-in) .fnc-modal__backdrop { pointer-events: none; }

.fnc-banner, .fnc-modal {
  --c-green:#1C4030; --c-mid:#2B5C3E; --c-light:#c8e6c0;
  --c-amber:#F0A93B; --c-cream:#FBF9F2;
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  box-sizing:border-box;
}
.fnc-banner *, .fnc-modal * { box-sizing:border-box; }

/* ── BANNER ── */
.fnc-banner {
  position:fixed; left:0; right:0; bottom:0;
  z-index:2147483000;
  background:rgba(10,16,13,.97);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-top:2px solid var(--c-light);
  padding:20px 28px;
  box-shadow:0 -8px 40px rgba(0,0,0,.4);
  transform:translateY(110%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
}
.fnc-banner.is-in { transform:translateY(0); }

.fnc-banner__inner {
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:28px; flex-wrap:wrap;
}
.fnc-banner__text { flex:1; min-width:260px; }
.fnc-banner__title {
  font-size:11px; font-weight:500; letter-spacing:2.6px;
  text-transform:uppercase; color:var(--c-light); margin:0 0 6px;
}
.fnc-banner__text p:last-child {
  font-size:13.5px; line-height:1.65;
  color:rgba(245,244,240,.72); margin:0; max-width:74ch;
}
.fnc-banner__text a { color:var(--c-light); text-decoration:underline; }
.fnc-banner__text a:hover { color:#fff; }
.fnc-banner__actions {
  display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0;
  position:relative; z-index:2;
}

/* ── GUMBI ── */
.fnc-btn {
  font-family:inherit; font-size:11.5px; font-weight:500;
  letter-spacing:1.8px; text-transform:uppercase;
  padding:13px 24px; border-radius:0; cursor:pointer;
  white-space:nowrap; pointer-events:auto;
  transition:background .22s, color .22s, border-color .22s;
}
.fnc-btn--solid { background:var(--c-mid); border:1px solid var(--c-light); color:#fff; }
.fnc-btn--solid:hover { background:var(--c-amber); border-color:var(--c-amber); color:#14211b; }
.fnc-btn--ghost { background:transparent; border:1px solid rgba(200,230,192,.3); color:rgba(245,244,240,.8); }
.fnc-btn--ghost:hover { border-color:var(--c-light); color:var(--c-light); }
.fnc-btn:focus-visible { outline:2px solid var(--c-amber); outline-offset:2px; }

/* ── MODAL ── */
.fnc-modal {
  position:fixed; inset:0; z-index:2147483001;
  align-items:center; justify-content:center; padding:20px;
  opacity:0; transition:opacity .28s ease;
}
.fnc-modal.is-in { opacity:1; }
.fnc-modal__backdrop {
  position:absolute; inset:0;
  background:rgba(8,12,10,.76);
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.fnc-modal__box {
  position:relative; background:var(--c-cream);
  max-width:560px; width:100%; max-height:86vh; overflow-y:auto;
  padding:38px 36px 30px; border-top:3px solid var(--c-green);
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  transform:translateY(14px); transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.fnc-modal.is-in .fnc-modal__box { transform:translateY(0); }
.fnc-modal__x {
  position:absolute; top:14px; right:16px;
  background:none; border:none; font-size:26px; line-height:1;
  color:#8b998f; cursor:pointer; padding:4px 8px;
}
.fnc-modal__x:hover { color:var(--c-green); }
.fnc-modal__title {
  font-family:'Bebas Neue',sans-serif; font-size:30px;
  letter-spacing:1.5px; color:var(--c-green); margin:0 0 10px;
}
.fnc-modal__lede { font-size:14px; line-height:1.7; color:#5a6b61; margin:0 0 26px; }

/* ── KATEGORIJE ── */
.fnc-cat { border-top:1px solid rgba(28,64,48,.14); padding:18px 0; }
.fnc-cat__head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:7px; }
.fnc-cat__name { font-size:14.5px; font-weight:500; color:#14211b; }
.fnc-cat__always {
  font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--c-mid); background:#e6f0e8; padding:5px 10px;
}
.fnc-cat__desc { font-size:13px; line-height:1.65; color:#6b7a71; margin:0; max-width:52ch; }

/* ── PREKIDAČ ── */
.fnc-switch { flex-shrink:0; cursor:pointer; }
.fnc-switch input { position:absolute; opacity:0; width:0; height:0; }
.fnc-switch__track {
  display:block; width:46px; height:26px; background:#cdd6d0;
  border-radius:13px; position:relative; transition:background .24s;
}
.fnc-switch__dot {
  position:absolute; top:3px; left:3px; width:20px; height:20px;
  background:#fff; border-radius:50%; transition:transform .24s;
  box-shadow:0 1px 4px rgba(0,0,0,.22);
}
.fnc-switch input:checked + .fnc-switch__track { background:var(--c-mid); }
.fnc-switch input:checked + .fnc-switch__track .fnc-switch__dot { transform:translateX(20px); }
.fnc-switch input:focus-visible + .fnc-switch__track { outline:2px solid var(--c-amber); outline-offset:2px; }

.fnc-modal__actions {
  display:flex; gap:8px; margin-top:24px; padding-top:22px;
  border-top:1px solid rgba(28,64,48,.14);
}
.fnc-modal__actions .fnc-btn { flex:1; }
.fnc-modal__actions .fnc-btn--ghost { border-color:rgba(28,64,48,.22); color:#5a6b61; }
.fnc-modal__actions .fnc-btn--ghost:hover { border-color:var(--c-green); color:var(--c-green); }
.fnc-modal__foot { margin:18px 0 0; font-size:12px; color:#9aa8a0; text-align:center; }
.fnc-modal__foot a { color:var(--c-mid); text-decoration:none; }
.fnc-modal__foot a:hover { text-decoration:underline; }
.fnc-modal__foot span { margin:0 8px; }

/* ── Ne zaklanjaj "scroll to top" gumb teme ── */
body.fnc-open #ast-scroll-top,
body.fnc-open .ast-scroll-top-icon,
body.fnc-open .ast-scroll-to-top-right,
body.fnc-open #scroll-to-top,
body.fnc-open .back-to-top {
  bottom:170px !important; transition:bottom .38s cubic-bezier(.4,0,.2,1);
}
@media (max-width:860px){
  body.fnc-open #ast-scroll-top,
  body.fnc-open .ast-scroll-top-icon,
  body.fnc-open .ast-scroll-to-top-right,
  body.fnc-open #scroll-to-top,
  body.fnc-open .back-to-top { bottom:270px !important; }
}

@media (max-width:860px){
  .fnc-banner { padding:18px 18px 20px; }
  .fnc-banner__inner { flex-direction:column; align-items:stretch; gap:16px; }
  .fnc-banner__actions { width:100%; }
  .fnc-banner__actions .fnc-btn { flex:1; padding:14px 10px; font-size:11px; letter-spacing:1.2px; }
}
@media (max-width:480px){
  .fnc-banner__actions { flex-direction:column; }
  .fnc-modal__box { padding:30px 22px 24px; }
  .fnc-modal__actions { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){
  .fnc-banner,.fnc-modal,.fnc-modal__box,.fnc-switch__track,.fnc-switch__dot { transition:none !important; }
}

/* ── Istaknuti gumb prihvaćanja ── */
.fnc-btn--hero {
  padding: 15px 42px;
  font-size: 12.5px;
  letter-spacing: 2.2px;
  box-shadow: 0 6px 22px rgba(43,92,62,.45);
}
.fnc-banner .fnc-btn--hero { min-width: 190px; }

/* Odbijanje u modalu — jedan klik, ali bez vizualne težine */
.fnc-modal__reject { margin: 14px 0 0; text-align: center; }
.fnc-link {
  background: none; border: none; padding: 6px 4px;
  font-family: inherit; font-size: 12.5px; color: #8b998f;
  text-decoration: underline; cursor: pointer;
}
.fnc-link:hover { color: var(--c-green); }
.fnc-link:focus-visible { outline: 2px solid var(--c-amber); outline-offset: 2px; }

@media (max-width: 860px) {
  .fnc-banner .fnc-btn--hero { min-width: 0; order: -1; }
}
