/* ===== IrisFotoArt — soft golden-amber system (dominantna boja iz loga #f0c050, H≈42°) ===== */
:root{
  /* core palette (izvedena iz logotipa po HSL pravilima) */
  --bg:#f0d79e;        /* pozadina = brand zlatna, svjetlija i mekša */
  --ink:#3b2e12;       /* naslovi */
  --ink-2:#3b2e12;
  --slate:#706243;     /* tekst */
  --slate-2:#706243;
  --brand:#c19225;     /* akcent — eyebrow, linkovi, aktivno */
  --brand-light:#f3d690;
  --accent:#c19225;
  /* derived */
  --hairline:#f1e7d0;
  --line:#e7d8b6;
  --panel-border:rgba(240,214,144,.55);
  --panel-shadow:rgba(89,71,28,.22);
  --panel-radius:30px;
  --grad-btn:linear-gradient(180deg,#f6d78d,#e9b43a);
  --grad-card:linear-gradient(165deg,#d8af4f,#ab8326);
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Onest',-apple-system,sans-serif;}
img{display:block;}
a{text-decoration:none;color:inherit;}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* Presentation deck: svaka sekcija je fiksni slide (1360x860) uniformno
   skaliran na viewport (scaleSlides() u app.js). */
html{scroll-behavior:smooth;}

.field{
  position:relative;
  z-index:0;
  min-height:100vh;
  background:var(--bg);
  padding:0;
}
/* viewport-fiksna topla podloga iza svih slajdova (med → maslac) */
.field::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:radial-gradient(125% 85% at 50% -8%, #f8e7be 0%, #f0d79e 45%, #e7c984 100%);
}
/* ===== Božje zrake — u SVAKOM panelu: iznad podloge, ISPOD teksta i slika =====
   ::before s negativnim z-indexom slika se iznad pozadine panela, a ispod
   sadržaja (panel ima z-index:0 pa je stacking context; overflow:hidden reže). */
@keyframes raysSway{
  0%{transform:rotate(-1.3deg);opacity:.65;}
  50%{transform:rotate(1.1deg);opacity:1;}
  100%{transform:rotate(-1.3deg);opacity:.65;}
}
.panel::before,
.legal-card::before{
  content:"";
  position:absolute;
  left:-30%;top:-30%;
  width:160%;height:160%;
  z-index:-1;
  pointer-events:none;
  transform-origin:19% 19%;
  animation:raysSway 16s ease-in-out infinite;
  /* lepeza zlatnih zraka: izvor u gornjem lijevom kutu panela, smjer dolje-desno */
  background:
    radial-gradient(30% 30% at 19% 19%, rgba(238,180,64,.5) 0%, rgba(238,180,64,0) 70%),
    conic-gradient(from 0deg at 19% 19%,
      rgba(234,172,52,0) 0deg 99deg,
      rgba(234,172,52,.42) 103deg,
      rgba(234,172,52,0) 108deg,
      rgba(228,163,40,0) 112deg,
      rgba(228,163,40,.28) 116deg,
      rgba(228,163,40,0) 121deg,
      rgba(234,172,52,0) 126deg,
      rgba(234,172,52,.38) 130deg,
      rgba(234,172,52,0) 136deg,
      rgba(228,163,40,0) 141deg,
      rgba(228,163,40,.24) 145deg,
      rgba(228,163,40,0) 150deg,
      rgba(234,172,52,0) 154deg,
      rgba(234,172,52,.33) 158deg,
      rgba(234,172,52,0) 163deg 360deg);
  -webkit-mask-image:radial-gradient(120% 120% at 19% 19%, #000 0%, rgba(0,0,0,.65) 45%, transparent 76%);
  mask-image:radial-gradient(120% 120% at 19% 19%, #000 0%, rgba(0,0,0,.65) 45%, transparent 76%);
}
/* tamna tema: svjetlije zlatne zrake na tamnim panelima */
html.dark .panel::before,
html.dark .legal-card::before{
  background:
    radial-gradient(30% 30% at 19% 19%, rgba(255,214,130,.24) 0%, rgba(255,214,130,0) 70%),
    conic-gradient(from 0deg at 19% 19%,
      rgba(255,220,140,0) 0deg 99deg,
      rgba(255,220,140,.2) 103deg,
      rgba(255,220,140,0) 108deg,
      rgba(255,204,110,0) 112deg,
      rgba(255,204,110,.13) 116deg,
      rgba(255,204,110,0) 121deg,
      rgba(255,220,140,0) 126deg,
      rgba(255,220,140,.18) 130deg,
      rgba(255,220,140,0) 136deg,
      rgba(255,204,110,0) 141deg,
      rgba(255,204,110,.11) 145deg,
      rgba(255,204,110,0) 150deg,
      rgba(255,220,140,0) 154deg,
      rgba(255,220,140,.15) 158deg,
      rgba(255,220,140,0) 163deg 360deg);
}
@media (prefers-reduced-motion:reduce){
  .panel::before,.legal-card::before{animation:none;}
}

.deck{display:flex;flex-direction:column;}
.slide-wrap{
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* visoki panel: sadržaj diktira visinu (spojene sekcije), širina i zoom ostaju isti */
.slide-wrap-tall{height:auto;padding:22px 0;}
.panel.panel-tall{height:auto;min-height:860px;}

.panel{
  width:1360px;
  height:860px;
  flex:none;
  border-radius:var(--panel-radius);
  border:1.5px solid var(--panel-border);
  box-shadow:0 18px 44px var(--panel-shadow);
  overflow:hidden;
  position:relative;
  z-index:0; /* stacking context da zrake (::before, z-index:-1) ostanu iznad podloge panela */
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* ---------- shared buttons / typography ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  border:none;font-family:inherit;font-size:15px;font-weight:600;border-radius:40px;
}
.btn-primary{
  padding:14px 26px 14px 16px;background:var(--grad-btn);color:var(--ink);
  box-shadow:0 12px 26px rgba(233,180,58,.5);
}
.btn-bubble{
  display:inline-flex;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.55);align-items:center;justify-content:center;font-size:14px;
}
.btn-secondary{
  padding:13px 22px;background:#fff;border:1.5px solid var(--line);color:var(--ink);
}

.eyebrow{font-size:13px;letter-spacing:.14em;font-weight:600;color:var(--accent);}
.eyebrow.on-dark{color:rgba(255,255,255,.85);}

.section-head{text-align:center;}
.section-title{margin:10px 0 0;font-size:50px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);}
.section-lead{margin:14px auto 0;max-width:560px;font-size:16px;line-height:1.55;color:var(--slate);}
.center-cta{text-align:center;margin-top:40px;}

/* ---------- nav (na svakoj stranici) ---------- */
.nav{display:flex;align-items:flex-start;position:relative;height:54px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-logo{height:44px;width:44px;display:block;}
.brand-name{font-size:24px;font-weight:800;letter-spacing:-0.02em;color:var(--ink);line-height:1;}
.brand-name span{color:var(--brand);}
.nav-links{
  position:absolute;left:50%;top:8px;transform:translateX(-50%);
  display:flex;gap:26px;font-size:15px;color:var(--ink);font-weight:400;
}
.nav-links a{cursor:pointer;white-space:nowrap;}
.nav-links a.current{color:var(--brand);font-weight:600;}
.nav-contact{margin-left:auto;font-size:15px;color:var(--ink-2);font-weight:500;cursor:pointer;padding-top:8px;}
.nav-burger{display:none;}

/* ---------- fullscreen mobilni izbornik ---------- */
.mob-menu{
  position:fixed;inset:0;z-index:950;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:radial-gradient(125% 85% at 50% -8%, #f8e7be 0%, #f0d79e 45%, #e7c984 100%);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
  overflow-y:auto;
  padding:calc(70px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));
}
.mob-menu.open{opacity:1;pointer-events:auto;}
/* font se skalira s visinom ekrana (vh) da svih 7 linkova + switch uvijek stanu */
.mob-menu a{font-size:clamp(16px,3.4vh,22px);font-weight:300;letter-spacing:0;color:var(--ink);padding:clamp(5px,1.1vh,9px) 0;}
.mob-menu a.current{color:var(--brand);font-weight:500;}
.mob-menu .theme-toggle{margin:clamp(14px,2.6vh,26px) 0 0;display:block;flex:none;}
.mob-close{
  position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:12px;
  border:1.5px solid var(--line);background:#fff;font-size:26px;line-height:1;
  color:var(--ink);cursor:pointer;font-family:inherit;
}
body.menu-open{overflow:hidden;}
html.dark .mob-menu{background:radial-gradient(125% 85% at 50% -8%, #161412 0%, #0E0E0E 45%, #0A0A0A 100%);}
html.dark .mob-close{background:#221E1B;border-color:#332E29;}

/* ================= HERO (naslovnica) ================= */
.hero{background:#fff;box-shadow:0 22px 55px var(--panel-shadow);padding:34px 46px 0;justify-content:flex-start;}
.hero-body{position:relative;flex:1;min-height:540px;}
.hero-title{
  position:absolute;left:6px;top:140px;width:700px;margin:0;z-index:2;
  font-size:58px;line-height:1.0;font-weight:800;letter-spacing:-0.02em;color:var(--ink);
}
.hero-quote-by{position:absolute;left:10px;top:270px;z-index:2;font-size:18px;font-weight:600;color:var(--brand);letter-spacing:.02em;}
.hero-lead{position:absolute;left:8px;top:440px;width:350px;margin:0;z-index:2;font-size:16px;line-height:1.5;color:var(--slate);}
.hero-photo{
  position:absolute;left:470px;top:120px;width:500px;height:480px;z-index:1;
  border-radius:24px;object-fit:cover;object-position:center;
  box-shadow:0 24px 55px rgba(89,71,28,.3);
  /* ista lagana lebdeća animacija kao zub na baltic/tadić verziji */
  animation:floaty 7s ease-in-out infinite;
}
.hero-cta-block{position:absolute;right:6px;top:330px;width:360px;z-index:2;}
.hero-sub{font-size:44px;line-height:1.04;font-weight:700;letter-spacing:-0.02em;color:var(--ink);}
.hero-cta-block .btn{margin-top:22px;}
.hero-watermark{
  position:absolute;left:0;bottom:-6px;width:100%;z-index:0;
  font-size:92px;font-weight:800;letter-spacing:-0.02em;color:rgba(118,92,30,.08);
  white-space:nowrap;overflow:hidden;pointer-events:none;
}

/* ============ ABOUT + STATS ============ */
.about{border-color:var(--panel-border);display:flex;flex-direction:row;}
.about-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.about-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(51,39,10,.93) 0%,rgba(72,56,20,.72) 48%,rgba(96,75,26,.58) 100%);}
.about-inner{position:relative;flex:1;display:flex;flex-direction:column;padding:54px 56px;color:#fff;}
.about-eyebrow{position:absolute;right:56px;top:54px;}
.about-title{margin:0;width:680px;font-size:48px;line-height:1.06;font-weight:700;letter-spacing:-0.02em;}
.about-lead{margin:26px 0 0;width:560px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.9);}
.about-more{margin-top:20px;align-self:flex-start;}
.stats{margin-top:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:40px;}
.stat{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(6px);border-radius:14px;padding:22px;
}
.stat-num{font-size:46px;font-weight:700;line-height:1;}
.stat-label{margin-top:8px;font-size:15px;color:rgba(255,255,255,.82);}

/* ================= TEGOBE (chips + ograda) ================= */
.tegobe{background:#fff;box-shadow:0 22px 55px var(--panel-shadow);padding:54px 60px 46px;}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:38px auto 0;max-width:980px;}
.chip{
  padding:13px 24px;border-radius:40px;border:1.5px solid var(--line);
  font-size:15.5px;font-weight:600;color:var(--ink);background:#fff;
  transition:border-color .22s ease,color .22s ease,transform .22s ease;
}
.chip:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);}
.note-box{
  margin:38px auto 0;max-width:900px;border-radius:18px;padding:22px 28px;
  background:var(--hairline);border:1.5px solid var(--line);
  font-size:14.5px;line-height:1.6;color:var(--slate);text-align:center;
}
.note-box strong{color:var(--ink);}

/* ================= KORACI (kako radim) — kao about: mutna foto pozadina + frosted boxovi ================= */
.steps{border-color:var(--panel-border);padding:54px 46px 50px;justify-content:flex-start;}
/* slika je predblurana u assetu (koraci-bg.jpg) — runtime blur filter se lomi u kombinaciji s CSS zoomom */
.steps-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.steps-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(51,39,10,.9) 0%,rgba(72,56,20,.74) 48%,rgba(96,75,26,.62) 100%);}
.steps-inner{position:relative;display:flex;flex-direction:column;flex:1;color:#fff;}
.steps .section-title{color:#fff;}
.steps .section-lead{color:rgba(255,255,255,.88);}
/* auto-margine iznad kartica i ispod gumba centriraju blok u prostoru ispod naslova */
.step-row{display:flex;gap:16px;margin-top:auto;padding-top:20px;}
.step-card{
  flex:1;min-width:0;border-radius:14px;padding:24px 22px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:transform .3s ease,background .3s ease;
}
.step-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.2);}
.step-num{
  width:40px;height:40px;border-radius:50%;background:var(--grad-btn);color:#3b2e12;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;
}
.step-title{margin-top:16px;font-size:18px;font-weight:700;color:#fff;}
.step-desc{margin-top:8px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.82);}
.steps .center-cta{margin-top:34px;margin-bottom:auto;}

/* ================= ISKUSTVA (citati) ================= */
.quotes{background:#fff;box-shadow:0 22px 55px var(--panel-shadow);padding:54px 46px 46px;}
.quote-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px;}
.quote-card{
  border-radius:18px;padding:30px 28px;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fdf6e8,#f8ebce);border:1.5px solid var(--line);
}
.quote-mark{font-size:52px;line-height:.6;color:var(--brand);font-weight:800;font-family:Georgia,serif;}
.quote-text{margin-top:16px;font-size:14.5px;line-height:1.62;color:var(--slate);flex:1;}
.quote-name{margin-top:20px;font-size:15px;font-weight:700;color:var(--ink);}
.quotes .micro{margin:30px auto 0;max-width:720px;text-align:center;font-size:12.5px;color:var(--slate);opacity:.8;}

/* ================= PODSTRANICE: zaglavni panel ================= */
.page-hero{background:#fff;box-shadow:0 22px 55px var(--panel-shadow);padding:34px 46px 44px;justify-content:flex-start;}
.page-head{margin-top:44px;text-align:center;}
.page-title{margin:10px 0 0;font-size:52px;font-weight:800;letter-spacing:-0.02em;color:var(--ink);}
.page-lead{margin:14px auto 0;max-width:640px;font-size:16px;line-height:1.55;color:var(--slate);text-align:center;}
.page-body{flex:1;display:flex;flex-direction:column;min-height:0;}
.page-head-followup{margin-top:64px;}

/* ---- o meni: priča + portret ---- */
.story-grid{display:grid;grid-template-columns:1fr 430px;gap:46px;margin-top:40px;align-items:start;flex:1;min-height:0;}
.story-text{font-size:15.5px;line-height:1.7;color:var(--slate);}
.story-text p{margin:0 0 16px;}
.story-text .lead-in{font-size:18px;color:var(--ink);font-weight:600;}
.story-photo{width:100%;height:520px;border-radius:24px;object-fit:cover;object-position:12% 18%;box-shadow:0 24px 55px rgba(89,71,28,.3);}
.story-cols{columns:2;column-gap:46px;margin-top:40px;font-size:15px;line-height:1.68;color:var(--slate);}
.story-cols p{margin:0 0 15px;break-inside:avoid;}
.story-sign{margin-top:10px;font-size:17px;font-weight:700;color:var(--ink);}

/* ---- galerija ---- */
.gal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:36px;flex:1;min-height:0;align-content:start;}
.gal-item{
  border-radius:14px;overflow:hidden;cursor:zoom-in;height:138px;
  transition:transform .25s ease,box-shadow .25s ease;
}
.gal-item:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 30px rgba(89,71,28,.28);}
.gal-item img{width:100%;height:100%;object-fit:cover;}

.gal-home{grid-template-columns:repeat(3,1fr);flex:none;}
.gal-home .gal-item{height:205px;}

/* ---- priznanja ---- */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:38px auto 0;max-width:1120px;align-items:start;}
.cert-card{border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fdf6e8,#f8ebce);border:1.5px solid var(--line);}
.cert-card img{width:100%;height:310px;object-fit:cover;object-position:top;cursor:zoom-in;transition:opacity .22s ease;}
.cert-card img:hover{opacity:.88;}
.cert-caption{padding:16px 18px;font-size:13px;line-height:1.5;color:var(--slate);}
.cert-caption strong{color:var(--ink);display:block;margin-bottom:4px;font-size:14px;}

/* ================= NALAZI ================= */
.nalaz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;}
.nalaz-card{
  border-radius:18px;overflow:hidden;position:relative;cursor:zoom-in;
  background:linear-gradient(180deg,#fdf6e8,#f8ebce);border:1.5px solid var(--line);
  display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.nalaz-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(89,71,28,.25);}
.nalaz-card img{width:100%;height:168px;object-fit:cover;object-position:top;background:#fff;}
.nalaz-body{padding:13px 16px 15px;}
.nalaz-title{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35;}
.nalaz-desc{margin-top:6px;font-size:12px;line-height:1.45;color:var(--slate);}
.nalaz-count{
  position:absolute;top:10px;right:10px;z-index:1;
  background:rgba(30,23,4,.72);color:#fff;font-size:11.5px;font-weight:700;
  padding:5px 11px;border-radius:999px;letter-spacing:.04em;
}

/* ---- iz medija ---- */
.med-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;align-content:start;}
.med-card{
  border-radius:18px;padding:22px 24px;background:linear-gradient(180deg,#fdf6e8,#f8ebce);
  border:1.5px solid var(--line);display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.med-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(89,71,28,.2);}
.med-src{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--brand);}
.med-title{margin-top:8px;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.3;}
.med-desc{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--slate);flex:1;}
.med-link{margin-top:12px;font-size:13.5px;font-weight:700;color:var(--brand);}
.med-badge{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:20px;background:var(--grad-btn);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.06em;}
.clip-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-top:36px;flex:1;min-height:0;align-content:start;}
.clip-item{border-radius:12px;overflow:hidden;cursor:zoom-in;height:108px;border:1.5px solid var(--line);background:#fff;transition:transform .25s ease,box-shadow .25s ease;}
.clip-item:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(89,71,28,.25);}
.clip-item img{width:100%;height:100%;object-fit:cover;object-position:top;}

/* ---- kontakt ---- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.contact-card{
  border-radius:18px;padding:24px;background:linear-gradient(180deg,#fdf6e8,#f8ebce);
  border:1.5px solid var(--line);
}
.contact-icon{font-size:24px;}
.contact-label{margin-top:10px;font-size:12.5px;letter-spacing:.1em;font-weight:700;color:var(--brand);}
.contact-value{margin-top:6px;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.35;}
.contact-value a:hover{color:var(--brand);}
.contact-sub{margin-top:4px;font-size:13px;color:var(--slate);line-height:1.45;}

/* ---- faq ---- */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;align-content:start;}
.faq-card{border-radius:18px;padding:22px 26px;background:linear-gradient(180deg,#fdf6e8,#f8ebce);border:1.5px solid var(--line);}
.faq-q{font-size:16px;font-weight:700;color:var(--ink);}
.faq-a{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--slate);}

/* ================= FOOTER ================= */
.footer{border-color:var(--panel-border);background:linear-gradient(135deg,#b2892a,#6c5114);padding:56px 56px;}
/* footer je kompaktan — ne zauzima cijeli slajd kao ostale sekcije */
.panel.footer{height:auto;min-height:0;}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:20px;}
.footer-brand{display:flex;align-items:center;gap:16px;}
.footer-logo{height:52px;width:52px;display:block;}
.footer-name{font-size:26px;font-weight:800;letter-spacing:-0.02em;color:#fff;}
.footer-name span{color:#f6d78d;}
.footer-links{display:flex;gap:26px;font-size:15px;color:rgba(255,255,255,.85);flex-wrap:wrap;justify-content:center;}
.footer-links a{cursor:pointer;}
.footer-contact{display:flex;gap:12px;font-size:15px;color:rgba(255,255,255,.85);flex-wrap:wrap;justify-content:center;}
.footer-contact a{cursor:pointer;}
.footer-note{max-width:760px;text-align:center;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.62);}
.footer-copy{font-size:13px;color:rgba(255,255,255,.6);text-align:center;}
.footer-copy a{color:rgba(255,255,255,.75);}

/* ================= PRAVNE STRANICE (dokument) ================= */
.legal-wrap{max-width:820px;margin:0 auto;padding:46px 22px 70px;}
.legal-wrap .brand{margin-bottom:34px;display:inline-flex;}
.legal-wrap h1{font-size:38px;letter-spacing:-0.02em;color:var(--ink);margin:0 0 8px;}
.legal-updated{font-size:13.5px;color:var(--slate);margin-bottom:30px;}
.legal-wrap h2{font-size:22px;color:var(--ink);margin:34px 0 10px;}
.legal-wrap p,.legal-wrap li{font-size:15px;line-height:1.7;color:var(--slate);}
.legal-wrap a{color:var(--brand);font-weight:600;}
.legal-wrap a:hover{text-decoration:underline;}
.legal-back{display:inline-block;margin-top:40px;font-weight:700;color:var(--brand);}
body.legal{background:var(--bg);}
body.legal::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(125% 85% at 50% -8%, #f8e7be 0%, #f0d79e 45%, #e7c984 100%);}
.legal-card{background:#fff;border:1.5px solid var(--panel-border);border-radius:var(--panel-radius);box-shadow:0 18px 44px var(--panel-shadow);padding:50px 56px;margin-top:26px;position:relative;z-index:0;overflow:hidden;}

/* ================= LIGHTBOX ================= */
.lightbox{
  position:fixed;inset:0;z-index:1100;background:rgba(30,23,4,.82);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:30px;
  opacity:0;pointer-events:none;transition:opacity .3s ease;cursor:zoom-out;
}
.lightbox.show{opacity:1;pointer-events:auto;}
.lightbox img{max-width:92vw;max-height:92vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lb-prev,.lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(30,23,4,.6);color:#fff;font-size:34px;line-height:1;
  border:1px solid rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;padding:0 0 4px;
  transition:background .2s ease;
}
.lb-prev:hover,.lb-next:hover{background:rgba(30,23,4,.85);}
.lb-prev{left:22px;}
.lb-next{right:22px;}
.lb-count{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  color:#fff;font-size:14px;font-weight:600;letter-spacing:.08em;
  background:rgba(0,0,0,.45);padding:7px 16px;border-radius:999px;
}


/* ================= CJENIK ================= */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;}
.price-card{
  border-radius:18px;padding:24px 26px;background:linear-gradient(180deg,#fdf6e8,#f8ebce);
  border:1.5px solid var(--line);
  transition:transform .25s ease,box-shadow .25s ease;
}
.price-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(89,71,28,.2);}
.price-card.wide{grid-column:1 / -1;}
.price-name{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:.03em;}
.price-table{width:100%;border-collapse:collapse;margin-top:12px;}
.price-table th{
  font-size:12.5px;letter-spacing:.05em;color:var(--brand);font-weight:800;
  text-align:right;padding:7px 0;border-bottom:1.5px solid var(--line);white-space:nowrap;
}
.price-table th:first-child{text-align:left;}
.price-table th small{display:block;font-weight:600;font-size:11px;color:var(--slate);letter-spacing:0;}
.price-table td{font-size:14px;color:var(--slate);padding:9px 0;border-bottom:1px solid var(--hairline);text-align:right;white-space:nowrap;}
.price-table td:first-child{text-align:left;font-weight:600;color:var(--ink);white-space:normal;}
.price-table tr:last-child td{border-bottom:none;}
html.dark .price-card{background:linear-gradient(180deg,#221E1B,#1D1A17);}

/* ================= RESPONSIVE FALLBACK ================= */
@media (max-width:1100px){
  .field{padding:14px;}
  .deck{gap:16px;}
  .slide-wrap{height:auto;display:block;}
  .panel{width:auto;height:auto;min-height:0;display:block;zoom:1 !important;}
  .hero,.tegobe,.steps,.quotes,.page-hero{padding:36px 22px 40px;}
  .about{display:flex;flex-direction:column;}
  .nav-links{display:none;}
  .nav-contact{display:none;}
  /* logo lijevo (smanjen koliko treba), hamburger desno; switch seli u fullscreen izbornik */
  .nav{height:auto;align-items:center;flex-wrap:nowrap;}
  .brand{flex:1;min-width:0;width:auto;margin-right:14px;}
  .brand-logo{height:38px;width:38px;}
  .brand-name{font-size:20px;}
  .nav .theme-toggle{display:none;}
  .nav-burger{
    display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
    width:46px;height:46px;border-radius:12px;border:1.5px solid var(--line);
    background:#fff;cursor:pointer;padding:0 11px;flex-shrink:0;
  }
  .nav-burger span{display:block;height:2.5px;border-radius:2px;background:var(--ink);}
  html.dark .nav-burger{background:#221E1B;border-color:#332E29;}
  .hero-body{height:auto;flex:none;min-height:0;display:flex;flex-direction:column;gap:20px;padding-bottom:8px;}
  .hero-title,.hero-lead,.hero-photo,.hero-cta-block,.hero-watermark{position:static;width:auto;}
  .hero-title{font-size:34px;line-height:1.08;margin-top:26px;}
  .hero-title br{display:none;}
  .hero-sub{font-size:28px;}
  .hero-photo{width:100%;max-width:420px;height:auto;aspect-ratio:1/1;margin:0 auto;}
  .hero-watermark{display:none;}
  .btn{font-size:14px;white-space:nowrap;}
  .about-inner{padding:36px 22px 40px;}
  .about-title,.about-lead{width:auto;}
  .about-title{margin-top:0;font-size:29px;}
  .about-lead{margin:18px 0 0;font-size:15px;}
  .about-more{margin-top:24px;}
  .about-eyebrow{position:static;margin-bottom:14px;}
  /* svijetla foto pozadina na visokom mobilnom panelu djeluje zbrkano — ujednaceni tamni overlay */
  .about-overlay{background:linear-gradient(180deg,rgba(51,39,10,.92) 0%,rgba(60,47,16,.88) 55%,rgba(72,56,20,.85) 100%);}
  .stats{grid-template-columns:1fr;gap:12px;padding-top:32px;}
  .stat{padding:16px;}
  .stat-num{font-size:30px;overflow-wrap:break-word;}
  .stat-label{font-size:13px;}
  .section-title{font-size:29px;}
  .section-lead{font-size:15px;}
  .chips{gap:10px;}
  .chip{padding:10px 18px;font-size:14px;}
  .note-box{padding:18px 20px;font-size:13.5px;}
  .step-row{flex-direction:column;}
  .quote-row{grid-template-columns:1fr;}
  .page-title{font-size:32px;}
  .price-grid{grid-template-columns:1fr;}
  .price-table th,.price-table td{font-size:12.5px;}
  .hero-quote-by{position:static;margin-top:-8px;}
  .page-head{margin-top:22px;}
  .story-grid{grid-template-columns:1fr;gap:26px;}
  .story-photo{height:380px;}
  .story-cols{columns:1;}
  .gal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .gal-item{height:130px;}
  .gal-home{grid-template-columns:1fr;gap:14px;}
  .gal-home .gal-item{height:250px;}
  .cert-grid{grid-template-columns:1fr;gap:14px;}
  .cert-card img{height:300px;}
  .nalaz-grid{grid-template-columns:1fr;gap:14px;}
  .nalaz-card img{height:210px;}
  .lb-prev,.lb-next{width:44px;height:44px;font-size:28px;}
  .lb-prev{left:10px;}
  .lb-next{right:10px;}
  .med-cards{grid-template-columns:1fr;}
  .clip-grid{grid-template-columns:repeat(3,1fr);gap:10px;}
  .clip-item{height:120px;}
  .contact-grid{grid-template-columns:1fr;}
  .faq-grid{grid-template-columns:1fr;}
  .footer{padding:48px 22px;}
  .footer-links{gap:14px 18px;}
  .footer-contact{flex-direction:column;gap:6px;align-items:center;text-align:center;}
  .footer-contact .sep{display:none;}
  .legal-card{padding:32px 22px;}
}

/* ===== GDPR privola (cookie consent popup) ===== */
.consent-backdrop{
  position:fixed;inset:0;z-index:1000;
  background:rgba(58,48,18,.45);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  display:flex;align-items:center;justify-content:center;padding:22px;
  opacity:0;transition:opacity .4s ease;
}
.consent-backdrop.show{opacity:1;}
.consent-card{
  background:#fff;border:1px solid var(--panel-border);border-radius:28px;
  box-shadow:0 40px 90px -30px var(--panel-shadow);
  max-width:520px;width:100%;padding:38px 40px 34px;text-align:center;
  transform:translateY(16px) scale(.97);
  transition:transform .45s cubic-bezier(.2,.8,.3,1);
}
.consent-backdrop.show .consent-card{transform:none;}
.consent-icon{display:block;height:34px;width:auto;margin:0 auto 16px;}
.consent-title{color:var(--ink);font-size:22px;font-weight:800;margin:0 0 10px;}
.consent-text{color:var(--slate);font-size:14.5px;line-height:1.65;margin:0 0 22px;}
.consent-text a{color:var(--brand);font-weight:600;}
.consent-text a:hover{text-decoration:underline;}
.consent-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.consent-actions .btn-primary{padding:14px 26px;}
@media (max-width:640px){
  .consent-card{padding:30px 24px 26px;border-radius:22px;}
  .consent-title{font-size:19px;}
  .consent-actions{flex-direction:column;}
  .consent-actions .btn{justify-content:center;}
}

/* ===== Animacije linkova i gumba (hover/klik) ===== */
a{transition:color .22s ease,opacity .22s ease;}
a:active{opacity:.55;}
.nav-links a,.footer-links a,.footer-contact a,.footer-copy a{position:relative;}
.nav-links a::after,.footer-links a::after,.footer-contact a::after,.footer-copy a::after{
  content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1.5px;
  background:currentColor;border-radius:2px;
  transform:scaleX(0);transform-origin:left center;
  transition:transform .28s cubic-bezier(.2,.8,.3,1);
}
.nav-links a:hover::after,.footer-links a:hover::after,.footer-contact a:hover::after,.footer-copy a:hover::after{
  transform:scaleX(1);
}
.nav-links a:hover,.nav-contact:hover{color:var(--brand);}
.footer-links a:hover,.footer-contact a:hover,.footer-copy a:hover{color:var(--brand-light);}
.nav-contact{transition:color .22s ease,opacity .22s ease;}
.brand{transition:opacity .22s ease;}
.brand:hover{opacity:.75;}
.btn{transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s ease,border-color .22s ease,color .22s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0) scale(.965);opacity:1;}
.btn-primary:hover{box-shadow:0 16px 32px rgba(233,180,58,.6);}
.btn-secondary:hover{border-color:var(--brand);color:var(--brand);}

/* ===== Svijetla/tamna tema ===== */
.theme-toggle{
  width:38px;height:20px;border-radius:999px;border:1.5px solid var(--line);
  background:#fff;cursor:pointer;position:relative;padding:0;flex-shrink:0;margin-left:18px;margin-top:6px;
  transition:background .25s ease,border-color .25s ease;
}
.theme-toggle .knob{
  position:absolute;top:1.5px;left:2px;width:14px;height:14px;border-radius:50%;
  background:var(--grad-btn);display:flex;align-items:center;justify-content:center;
  font-size:8px;line-height:1;transition:left .25s cubic-bezier(.2,.8,.3,1);
}
.theme-toggle .knob::after{content:"🌙";}
html.dark .theme-toggle{background:#221E1B;border-color:#332E29;}
html.dark .theme-toggle .knob{left:19px;}
html.dark .theme-toggle .knob::after{content:"☀️";}

html.dark{
  --bg:#0E0E0E;
  --ink:#F4EFE7; --ink-2:#F4EFE7;
  --slate:#b9b0a4; --slate-2:#b9b0a4;
  --brand:#C8A45D; --accent:#C8A45D;
  --iris:#1E8A8A;
  --hairline:#221E1B; --line:#332E29;
  --panel-border:rgba(200,164,93,.22);
  --panel-shadow:rgba(0,0,0,.55);
  --grad-btn:linear-gradient(180deg,#DFC084,#C8A45D);
}
html.dark body{background:var(--bg);}
html.dark .field::before,
html.dark body.legal::before{
  background:radial-gradient(125% 85% at 50% -8%, #3c2f10 0%, #231a06 45%, #1a1404 100%);
}
html.dark .hero,
html.dark .tegobe,
html.dark .steps,
html.dark .quotes,
html.dark .page-hero{background:#1A1715;}
html.dark .btn-secondary{background:#221E1B;}
html.dark .btn-primary{color:#141210;}
html.dark .consent-card,html.dark .legal-card{background:#1A1715;}
html.dark .consent-backdrop{background:rgba(0,0,0,.55);}
html.dark .hero-watermark{color:rgba(200,164,93,.07);}
html.dark .chip{background:#1A1715;}
html.dark .quote-card,
html.dark .med-card,
html.dark .cert-card,
html.dark .nalaz-card,
html.dark .contact-card,
html.dark .faq-card{background:linear-gradient(180deg,#221E1B,#1D1A17);}
html.dark .note-box{background:#221E1B;}
html.dark .clip-item{background:#221E1B;}

/* ===== Plutajući CTA gumb (poziv) ===== */
.cta-fab{
  position:fixed;right:26px;bottom:26px;z-index:900;
  width:60px;height:60px;border-radius:50%;
  background:var(--grad-btn);
  box-shadow:0 12px 26px rgba(233,180,58,.5);
  display:flex;align-items:center;justify-content:center;
  transform:translate(30px,90px) scale(.35);opacity:0;pointer-events:none;
  transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease,box-shadow .22s ease;
}
.cta-fab .btn-bubble{width:34px;height:34px;font-size:17px;}
html.cta-floating .cta-fab{transform:none;opacity:1;pointer-events:auto;}
html.cta-floating .cta-fab:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(233,180,58,.65);}
html.cta-floating .cta-fab:active{transform:scale(.92);opacity:1;}
html.dark .cta-fab{box-shadow:0 12px 26px rgba(0,0,0,.5);}
/* ---- dark: sekcijski footer i foto-overlayi u neutralnoj toploj tamnoj (ne smeđoj) ---- */
html.dark .footer{background:linear-gradient(135deg,#1A1715,#141210);}
html.dark .footer-name span{color:#C8A45D;}
html.dark .about-overlay{background:linear-gradient(120deg,rgba(10,10,10,.94) 0%,rgba(20,18,16,.84) 48%,rgba(26,23,21,.72) 100%);}
html.dark .steps-overlay{background:linear-gradient(120deg,rgba(10,10,10,.92) 0%,rgba(20,18,16,.82) 48%,rgba(26,23,21,.72) 100%);}
/* ---- dark: iris akcent (teal) na sekcijskim natpisima ---- */
html.dark .eyebrow{color:var(--iris);}
html.dark .eyebrow.on-dark{color:var(--iris);}
html.dark .step-num{color:#141210;}
html.dark .btn-primary{box-shadow:0 12px 26px rgba(200,164,93,.32);}
html.dark .btn-primary:hover{box-shadow:0 16px 32px rgba(200,164,93,.42);}
@media (max-width:640px){
  .cta-fab{right:18px;bottom:18px;width:54px;height:54px;}
}
