/* ==========================================================================
   Tokeni
   ========================================================================== */
:root{
  --pine:#1e2a23;          /* borova zelena — nosi brend umesto crne */
  --pine-2:#27362d;
  --pine-3:#34463a;
  --moss:#5d6a55;
  --cream:#f3ece0;         /* osnova */
  --cream-2:#e9dfcf;
  --cream-3:#ddd0bb;
  --linen:#faf6ef;
  --oak:#c38d52;           /* med-hrast — akcenat */
  --oak-deep:#9a6a36;
  --oak-soft:#e4c8a2;
  --text:#1f211d;
  --text-soft:#474a42;
  --muted:#6f6f63;
  --line:rgba(30,42,35,.14);
  --line-2:rgba(30,42,35,.26);
  --on-pine-soft:rgba(243,236,224,.74);
  --on-pine-line:rgba(243,236,224,.16);
  --err:#b4442c;
  --ok:#3c6b45;

  --f-display:"Gloock", "Iowan Old Style", Georgia, serif;
  --f-body:"Onest", "Avenir Next", sans-serif;

  --fs-h1:clamp(2.6rem, 1.5rem + 3.3vw, 4.6rem);
  --fs-h2:clamp(2.1rem, 1.35rem + 2.5vw, 4rem);
  --fs-h3:clamp(1.45rem, 1.2rem + .9vw, 2.1rem);
  --fs-lead:clamp(1.08rem, 1rem + .32vw, 1.28rem);

  --container:1440px;
  --gutter:clamp(16px, 3.4vw, 52px);
  --gap:clamp(14px, 1.8vw, 26px);
  --section:clamp(96px, 11vw, 168px);
  --inset:clamp(8px, 1.2vw, 18px);

  --r-xl:clamp(24px, 3vw, 40px);
  --r-l:clamp(18px, 2vw, 26px);
  --r-m:16px;
  --r-s:12px;

  --ease:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.32,.72,0,1);
  --shadow:0 1px 1px rgba(30,42,35,.04), 0 24px 48px -28px rgba(30,42,35,.35);
  --admin-bar:var(--wp-admin--admin-bar--height, 0px);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:100px; }
body{
  margin:0; background:var(--cream); color:var(--text);
  font-family:var(--f-body); font-size:1.0625rem; line-height:1.6; font-weight:380;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
::selection{ background:var(--oak); color:var(--pine); }
:focus-visible{ outline:2px solid var(--oak); outline-offset:3px; }
.screen-reader-text,.wpforms-screen-reader-element{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; margin:0; padding:0; border:0; }

body::after{ /* blago zrno — fiksni sloj */
  content:""; position:fixed; inset:0; pointer-events:none; z-index:90; opacity:.045; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }

h1,h2,h3{ font-family:var(--f-display); font-weight:400; margin:0; letter-spacing:-.012em; line-height:1.05; text-wrap:balance; }
h1{ font-size:var(--fs-h1); line-height:1.02; letter-spacing:-.018em; }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); line-height:1.12; }
p{ margin:0; }
.lead{ font-size:var(--fs-lead); line-height:1.55; max-width:44ch; }


/* ==========================================================================
   Dugmad — „ručka“: vertikalna crtica kao ručka na frontu
   Iste klase stilizuju i WPForms dugmad (.wpforms-submit, .wpforms-page-button)
   ========================================================================== */
.btn,
.rdj-form .wpforms-submit,
.rdj-form .wpforms-page-button{
  --bg:var(--pine); --fg:var(--cream); --hd:var(--oak);
  position:relative; display:inline-flex; align-items:center; gap:14px;
  min-height:54px; padding:0 26px 0 20px; border:0; border-radius:12px;
  background:var(--bg); color:var(--fg); font-weight:500; font-size:1rem; line-height:1.2; cursor:pointer; white-space:nowrap;
  transition:background-color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease-soft);
}
.btn::before,
.rdj-form .wpforms-submit::before,
.rdj-form .wpforms-page-button::before{
  content:""; flex:0 0 4px; width:4px; height:20px; border-radius:4px; background:var(--hd);
  transition:transform .6s var(--ease-soft);
}
.btn:hover::before,
.rdj-form .wpforms-submit:hover::before,
.rdj-form .wpforms-page-button:hover::before{ transform:scaleY(1.45); }
.btn:hover,.rdj-form .wpforms-submit:hover,.rdj-form .wpforms-page-next:hover{ --bg:var(--pine-3); }
.btn:active,.rdj-form .wpforms-submit:active,.rdj-form .wpforms-page-button:active{ transform:translateY(1px); }
.btn--oak{ --bg:var(--oak); --fg:var(--pine); --hd:var(--pine); }
.btn--oak:hover{ --bg:#d29c60; }
.btn--ghost,
.rdj-form .wpforms-page-prev{ --bg:transparent; --fg:currentColor; --hd:var(--oak); box-shadow:inset 0 0 0 1.5px var(--line-2); }
.hero .btn--ghost,.on-pine .btn--ghost{ box-shadow:inset 0 0 0 1.5px var(--on-pine-line); }
.btn--ghost:hover,.rdj-form .wpforms-page-prev:hover{ --bg:transparent; box-shadow:inset 0 0 0 1.5px currentColor; }
.btn--sm{ min-height:46px; padding:0 20px 0 16px; font-size:.94rem; gap:12px; }
.btn--sm::before{ height:16px; }

.txt-link{ display:inline-flex; align-items:center; gap:8px; font-weight:500; padding-bottom:3px; background:linear-gradient(var(--oak),var(--oak)) 0 100%/100% 1.5px no-repeat; transition:background-size .5s var(--ease); }
.txt-link:hover{ background-size:30% 1.5px; }

/* ==========================================================================
   Header — logo u sredini, meni podeljen levo/desno
   WP: register_nav_menus( ['meni-levo' => ..., 'meni-desno' => ...] )
   ========================================================================== */
.hdr{
  position:sticky; top:var(--admin-bar); z-index:40;
  background:rgba(243,236,224,.92); backdrop-filter:blur(14px) saturate(1.15); -webkit-backdrop-filter:blur(14px) saturate(1.15);
  transition:transform .6s var(--ease-soft), box-shadow .4s var(--ease);
}
.hdr.is-scrolled{ box-shadow:0 1px 0 var(--line); }
.hdr.is-hidden{ transform:translateY(-100%); }
.hdr__in{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; min-height:74px; }

.logo{ display:flex; flex-direction:column; align-items:center; line-height:1; text-align:center; }
.logo__name{ font-family:var(--f-display); font-size:clamp(1.45rem, 1.2rem + .6vw, 1.8rem); color:var(--pine); letter-spacing:-.01em; display:flex; align-items:center; gap:10px; }
.logo__name::before,.logo__name::after{ content:""; width:3px; height:18px; border-radius:3px; background:var(--oak); }
.logo__sub{ font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:5px; }

.menu{ display:none; }
.menu ul{ display:flex; align-items:center; gap:clamp(14px,1.6vw,28px); list-style:none; margin:0; padding:0; }
.menu a{ position:relative; font-size:.94rem; color:var(--text-soft); padding:6px 0; transition:color .3s var(--ease); }
.menu a::after{ content:""; position:absolute; left:50%; bottom:-2px; width:4px; height:4px; border-radius:50%; background:var(--oak); transform:translateX(-50%) scale(0); transition:transform .45s var(--ease-soft); }
.menu a:hover,.menu .current-menu-item > a{ color:var(--pine); }
.menu a:hover::after,.menu .current-menu-item > a::after{ transform:translateX(-50%) scale(1); }
.menu--left{ justify-self:start; }
.hdr__right{ justify-self:end; display:flex; align-items:center; gap:clamp(14px,1.6vw,28px); }

.menu-btn{
  justify-self:start; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 14px 0 10px;
  border:0; border-radius:10px; background:transparent; box-shadow:inset 0 0 0 1.5px var(--line-2); cursor:pointer; font-weight:500; font-size:.92rem;
}
.menu-btn i{ position:relative; width:18px; height:10px; }
.menu-btn i::before,.menu-btn i::after{ content:""; position:absolute; left:0; right:0; height:1.6px; border-radius:2px; background:var(--pine); transition:transform .5s var(--ease-soft), top .5s var(--ease-soft); }
.menu-btn i::before{ top:0; } .menu-btn i::after{ top:8px; }
.menu-open .menu-btn i::before{ top:4px; transform:rotate(45deg); }
.menu-open .menu-btn i::after{ top:4px; transform:rotate(-45deg); }
.hdr__call{ justify-self:end; width:44px; height:44px; border-radius:10px; background:var(--pine); color:var(--cream); display:grid; place-items:center; }
.hdr__call svg{ width:18px; height:18px; }

@media (min-width:1100px){
  .menu{ display:block; }
  .menu-btn,.hdr__call{ display:none; }
}
@media (max-width:1099px){ .hdr__right .menu,.hdr__right .btn{ display:none; } }

.mnav{
  position:fixed; inset:0; z-index:35; background:var(--pine); color:var(--cream);
  padding:calc(96px + var(--admin-bar)) var(--gutter) calc(28px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:28px;
  clip-path:inset(0 0 100% 0); visibility:hidden; transition:clip-path .8s var(--ease-soft), visibility 0s .8s;
}
.menu-open .mnav{ clip-path:inset(0 0 0 0); visibility:visible; transition:clip-path .8s var(--ease-soft); }
.menu-open .hdr{ background:var(--cream); }
.mnav{ overflow-y:auto; }
.mnav__group{ display:grid; gap:10px; }
.mnav__label{ font-size:.78rem; letter-spacing:.06em; color:var(--on-pine-soft); }
.mnav ul{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.mnav li{ overflow:hidden; }
.mnav a:not(.btn):not(.map-link){ display:block; font-family:var(--f-display); font-size:clamp(1.8rem, 7vw, 2.5rem); line-height:1.22; transform:translateY(105%); transition:transform .8s var(--ease-soft); }
.mnav__small a:not(.btn){ font-size:clamp(1.3rem, 5vw, 1.6rem)!important; }
.menu-open .mnav a{ transform:none!important; }
.mnav li:nth-child(2) a{ transition-delay:.05s } .mnav li:nth-child(3) a{ transition-delay:.1s } .mnav li:nth-child(4) a{ transition-delay:.15s }
.mnav__foot{ margin-top:auto; display:grid; gap:14px; color:var(--on-pine-soft); }
.mnav__foot .btn{ justify-self:start; }
body.menu-open{ overflow:hidden; }

/* ==========================================================================
   Reveal
   ========================================================================== */
.rv{ opacity:0; transform:translateY(24px); transition:opacity 1s var(--ease), transform 1.1s var(--ease); transition-delay:var(--d,0ms); }
.rv.in{ opacity:1; transform:none; }
.no-js .rv{ opacity:1; transform:none; }
.photo-note{
  position:absolute; z-index:3; left:14px; bottom:14px; padding:5px 11px; border-radius:999px;
  background:rgba(250,246,239,.9); color:var(--text-soft); font-size:.7rem; font-weight:500; letter-spacing:.02em;
}
.ph{ position:relative; overflow:hidden; background:var(--cream-3); border-radius:var(--r-l); }
.ph img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }

/* ==========================================================================
   01 Hero — fotografija kao niz frontova
   ========================================================================== */
.hero{ margin:6px var(--inset) 0; background:var(--pine); color:var(--cream); border-radius:var(--r-xl); overflow:hidden; }
.hero__in{ display:grid; gap:44px; padding-block:clamp(40px,5.5vw,76px); }
.hero__text{ display:flex; flex-direction:column; gap:26px; }
.hero h1 em{ font-style:normal; color:var(--oak-soft); }
.hero .lead{ color:var(--on-pine-soft); }
.hero__ctas{ display:flex; flex-wrap:wrap; gap:10px; }
.hero__phone{ display:flex; flex-wrap:wrap; gap:4px 18px; color:var(--on-pine-soft); font-size:.93rem; }
.hero__phone a{ color:var(--cream); font-weight:500; font-variant-numeric:tabular-nums; }
.hero__services{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:22px 0 0; border-top:1px solid var(--on-pine-line); }
.hero__services a{ display:block; padding:7px 14px; border-radius:999px; background:var(--pine-2); color:var(--on-pine-soft); font-size:.88rem; transition:background-color .35s var(--ease), color .35s var(--ease); }
.hero__services a:hover{ background:var(--pine-3); color:var(--cream); }

.fronts{ --g:10px; position:relative; height:min(125vw, 540px); display:grid; grid-template-columns:repeat(3,1fr); gap:var(--g); container-type:size; }
.front{ position:relative; overflow:hidden; border-radius:var(--r-m); background:var(--pine-3); animation:frontIn 1.3s var(--ease-soft) both; animation-delay:calc(var(--i) * 130ms + 200ms); }
@keyframes frontIn{ from{ clip-path:inset(100% 0 0 0); } to{ clip-path:inset(0 0 0 0); } }
.front img{
  position:absolute; top:0; height:100cqh; width:100cqw; max-width:none; object-fit:cover;
  left:calc(var(--i) * ((100cqw - 2 * var(--g)) / 3 + var(--g)) * -1);
  transform:scale(1.08); animation:settle 2.4s var(--ease) both; animation-delay:calc(var(--i) * 130ms + 200ms);
}
@keyframes settle{ to{ transform:scale(1); } }
.front::after{ content:""; position:absolute; top:44%; width:5px; height:64px; border-radius:6px; background:linear-gradient(90deg,#eadfcb,#bda380); box-shadow:0 2px 6px rgba(0,0,0,.35); }
.front:nth-child(1)::after{ right:12px; }
.front:nth-child(2)::after,.front:nth-child(3)::after{ left:12px; }
.fronts__cap{ position:absolute; z-index:3; right:10px; bottom:10px; max-width:260px; background:var(--cream); color:var(--text); border-radius:var(--r-m); padding:15px 17px; box-shadow:var(--shadow); font-size:.87rem; line-height:1.45; }
.fronts__cap strong{ display:block; font-family:var(--f-display); font-weight:400; font-size:1.18rem; color:var(--pine); margin-bottom:3px; }

@media (min-width:980px){
  .hero__in{ grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gap); min-height:clamp(620px, calc(100dvh - 110px), 860px); }
  .hero__text{ grid-column:1 / span 5; padding-top:12px; }
  .hero__services{ margin-top:auto; }
  .fronts{ grid-column:6 / -1; height:auto; min-height:540px; }
}

/* ==========================================================================
   Sekcije
   ========================================================================== */
.sec{ padding-block:var(--section); }
.sec__head{ display:grid; gap:22px; margin-bottom:clamp(48px,6vw,84px); max-width:960px; }
.sec__head p{ color:var(--muted); max-width:52ch; font-size:var(--fs-lead); line-height:1.5; }
.on-pine{ background:var(--pine); color:var(--cream); }
.on-pine .sec__head p{ color:var(--on-pine-soft); }

/* 02 Proces — četiri fronta koja rastu */
.run{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.unit{ position:relative; border-radius:var(--r-l); padding:30px 26px 28px; display:flex; flex-direction:column; gap:14px; background:var(--c); color:var(--fg,var(--text)); min-height:300px; }
.unit::before{ content:""; position:absolute; top:26px; right:26px; width:54px; height:5px; border-radius:6px; background:var(--h,rgba(30,42,35,.22)); }
.unit__n{ font-family:var(--f-display); font-size:clamp(3.4rem, 2.6rem + 2.4vw, 5rem); line-height:.85; color:var(--nc,var(--oak-deep)); }
.unit h3{ font-size:clamp(1.4rem,1.2rem + .6vw,1.8rem); }
.unit p{ font-size:.97rem; color:var(--pc,var(--text-soft)); max-width:34ch; }
.unit__get{ margin-top:auto; padding-top:16px; border-top:1px solid var(--lc,var(--line)); font-size:.9rem; }
.unit__get b{ display:block; font-weight:500; font-size:.76rem; letter-spacing:.04em; color:var(--pc,var(--muted)); margin-bottom:2px; }
.unit--1{ --c:var(--linen); box-shadow:inset 0 0 0 1px var(--line); }
.unit--2{ --c:var(--cream-2); }
.unit--3{ --c:var(--oak-soft); --nc:var(--pine); --h:rgba(30,42,35,.3); --lc:rgba(30,42,35,.2); }
.unit--4{ --c:var(--pine); --fg:var(--cream); --nc:var(--oak); --pc:var(--on-pine-soft); --h:var(--oak); --lc:var(--on-pine-line); }
@media (min-width:900px){
  .run{ grid-template-columns:repeat(4,1fr); align-items:end; }
  .unit--1{ min-height:370px; } .unit--2{ min-height:420px; } .unit--3{ min-height:470px; } .unit--4{ min-height:520px; }
}
.note{ margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; padding:18px 22px; border-radius:var(--r-m); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); }
.note p{ flex:1 1 380px; color:var(--text-soft); }
.note strong{ font-weight:500; color:var(--pine); }

/* 03 Radovi — kartice koje se slažu */
.stack{ display:grid; gap:18px; }
.proj{ position:relative; border-radius:var(--r-xl); padding:clamp(14px,1.6vw,22px); background:var(--c); color:var(--fg,var(--text)); display:grid; gap:clamp(22px,3vw,40px); box-shadow:0 -18px 40px -30px rgba(20,28,23,.45); }
.proj--1{ --c:var(--cream-2); }
.proj--2{ --c:var(--pine-2); --fg:var(--cream); --mc:var(--on-pine-soft); --lc:var(--on-pine-line); }
.proj--3{ --c:var(--oak-soft); --lc:rgba(30,42,35,.2); }
.proj__ph{ aspect-ratio:4/3; cursor:zoom-in; border-radius:calc(var(--r-xl) - 10px); }
.proj__ph:hover img{ transform:scale(1.03); }
.proj__count{ position:absolute; z-index:3; top:14px; right:14px; padding:6px 12px; border-radius:999px; background:rgba(250,246,239,.92); color:var(--pine); font-size:.8rem; font-weight:500; }
.proj__body{ display:flex; flex-direction:column; gap:20px; padding:4px clamp(6px,1.4vw,22px) clamp(10px,1.4vw,18px); }
.proj__meta{ display:flex; flex-wrap:wrap; gap:6px; }
.proj__meta span{ padding:5px 12px; border-radius:999px; font-size:.8rem; background:rgba(30,42,35,.07); }
.proj--2 .proj__meta span{ background:rgba(243,236,224,.1); }
.proj__meta span:first-child{ background:var(--pine); color:var(--cream); }
.proj--2 .proj__meta span:first-child{ background:var(--oak); color:var(--pine); }
.proj h3{ font-size:clamp(1.8rem,1.3rem + 1.6vw,2.9rem); max-width:16ch; }
.proj dl{ margin:0; display:grid; }
.proj dl div{ padding:14px 0; border-top:1px solid var(--lc,var(--line)); display:grid; gap:4px; }
.proj dt{ font-size:.78rem; font-weight:500; letter-spacing:.04em; color:var(--mc,var(--muted)); }
.proj dd{ margin:0; max-width:46ch; }
.proj__foot{ margin-top:auto; display:flex; flex-wrap:wrap; gap:10px; }
.proj--2 .btn--ghost{ box-shadow:inset 0 0 0 1.5px var(--on-pine-line); }
@media (min-width:900px){
  .proj{ grid-template-columns:repeat(12,minmax(0,1fr)); min-height:560px; }
  .proj__ph{ grid-column:1 / span 7; aspect-ratio:auto; min-height:100%; }
  .proj__body{ grid-column:8 / -1; padding-top:clamp(12px,2vw,28px); }
  .proj--2 .proj__ph{ grid-column:6 / -1; grid-row:1; }
  .proj--2 .proj__body{ grid-column:1 / span 5; grid-row:1; }
}
/* slaganje samo kad cela kartica staje u ekran; između kartica ostaje prostor
   za skrol, pa se svaka vidi do kraja pre nego što je sledeća prekrije */
@media (min-width:900px) and (min-height:720px){
  .stack{ gap:0; }
  .proj{ --top:calc(96px + var(--admin-bar)); position:sticky; top:var(--top); min-height:0; height:min(640px, calc(100dvh - var(--top) - 28px)); margin-bottom:34vh; }
  .proj:nth-child(2){ --top:calc(112px + var(--admin-bar)); }
  .proj:nth-child(3){ --top:calc(128px + var(--admin-bar)); margin-bottom:0; }
  .proj__ph{ min-height:0; height:100%; }
  .proj__body{ overflow:hidden; }
}

/* 04 Kategorije — trake koje se šire */
.strips{ display:grid; gap:12px; }
.strip{ position:relative; overflow:hidden; border-radius:var(--r-l); min-height:380px; color:var(--cream); background:var(--pine-3); display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; }
.strip img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.4s var(--ease); }
.strip::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(20,28,23,.08) 30%, rgba(20,28,23,.84)); }
.strip__in{ padding:clamp(20px,2.2vw,32px); display:grid; gap:10px; }
.strip__n{ font-family:var(--f-display); font-size:1.1rem; color:var(--oak-soft); }
.strip h3{ font-size:clamp(1.9rem,1.4rem + 1.4vw,2.8rem); }
.strip__more{ display:grid; gap:14px; justify-items:start; }
.strip p{ color:rgba(243,236,224,.84); max-width:40ch; font-size:.98rem; }
.strip .txt-link{ color:var(--cream); }
.strip:hover img{ transform:scale(1.04); }
@media (min-width:900px){
  .strips{ display:flex; height:clamp(540px, 48vw, 660px); }
  .strip{ flex:1 1 0; min-width:0; min-height:0; transition:flex-grow .9s var(--ease-soft); }
  .strip.is-open{ flex-grow:3.2; }
  .strip__in{ width:min(520px, 44vw); }
  .strip__more{ opacity:0; transform:translateY(12px); transition:opacity .45s var(--ease), transform .7s var(--ease); }
  .strip.is-open .strip__more{ opacity:1; transform:none; transition-delay:.25s; }
  .strip:not(.is-open) h3{ font-size:clamp(1.4rem,1.1rem + .8vw,1.9rem); max-width:8ch; }
}

/* 05 Materijali */
.mat{ border-radius:var(--r-xl); margin-inline:var(--inset); }
.mat__head{ display:grid; gap:24px; margin-bottom:clamp(44px,5vw,72px); }
.mat__head .sec__head{ margin:0; }
.mat__notice{ display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border-radius:var(--r-m); background:var(--pine-2); color:var(--on-pine-soft); font-size:.93rem; max-width:48ch; }
.mat__notice i{ flex:0 0 22px; height:22px; border-radius:50%; background:var(--oak); color:var(--pine); display:grid; place-items:center; font-style:normal; font-weight:600; font-size:.8rem; }
@media (min-width:980px){ .mat__head{ grid-template-columns:1.15fr .85fr; align-items:end; column-gap:var(--gap); } .mat__notice{ justify-self:end; } }
.details{ list-style:none; margin:0; padding:0; display:grid; gap:36px 14px; }
.detail{ display:grid; gap:12px; align-content:start; }
.detail .ph{ aspect-ratio:3/4; cursor:zoom-in; background:var(--pine-3); }
.detail:hover img{ transform:scale(1.04); }
.detail h3{ font-size:1.5rem; margin-top:4px; }
.detail p{ color:var(--on-pine-soft); font-size:.95rem; max-width:32ch; }
.detail small{ justify-self:start; font-size:.72rem; letter-spacing:.03em; padding:4px 10px; border-radius:999px; border:1px dashed rgba(243,236,224,.3); color:var(--on-pine-soft); }
@media (min-width:640px){ .details{ grid-template-columns:1fr 1fr; } }
@media (min-width:1080px){
  .details{ grid-template-columns:repeat(4,1fr); }
  .detail:nth-child(2){ margin-top:64px; } .detail:nth-child(3){ margin-top:24px; } .detail:nth-child(4){ margin-top:96px; }
}
.shop{ margin:clamp(64px,8vw,120px) 0 0; display:grid; gap:16px; }
.shop .ph{ aspect-ratio:21/9; min-height:260px; border-radius:var(--r-xl); }
.shop__cap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; color:var(--on-pine-soft); font-size:.93rem; padding-inline:6px; }
.shop__cap b{ color:var(--cream); font-weight:500; }

/* 06 Upit */
.inq{ display:grid; gap:44px; }
.inq__side{ display:grid; gap:22px; align-content:start; }
.inq__side h2{ max-width:14ch; }
.inq__side > p{ color:var(--muted); max-width:44ch; font-size:var(--fs-lead); line-height:1.5; }
.contact-list{ display:grid; gap:8px; margin-top:6px; }
.contact-list a,.contact-list button{ width:100%; border:0; font:inherit; color:inherit; cursor:pointer; text-align:left; }
.contact-list a,.contact-list button{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; border-radius:var(--r-m); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); transition:background-color .35s var(--ease), transform .5s var(--ease-soft); }
.contact-list a:hover,.contact-list button:hover{ background:var(--cream-2); transform:translateX(4px); }
.contact-list small{ color:var(--muted); font-size:.8rem; }
.contact-list strong{ font-weight:500; color:var(--pine); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; text-align:right; }
.addr{ color:var(--muted); font-size:.93rem; }
.copy-mail--plain{ border:0; padding:0; background:none; font:inherit; color:inherit; cursor:pointer; text-align:left; }
.copy-mail--plain:hover{ color:var(--oak-soft); }
.copy-mail.is-copied small,.copy-mail--plain.is-copied{ color:var(--ok); }
.ftr .copy-mail--plain.is-copied{ color:var(--oak-soft); }
/* adresa — uvek Google Maps u novom tabu */
.map-link{ background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat; padding-bottom:1px; transition:color .3s var(--ease); }
.map-link::after{ content:" ↗"; font-size:.85em; opacity:.7; }
.map-link:hover{ color:var(--oak-deep); }
.on-pine .map-link:hover,.ftr .map-link:hover,.mnav .map-link:hover{ color:var(--oak-soft); }
@media (min-width:980px){
  .inq{ grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gap); }
  .inq__side{ grid-column:1 / span 5; position:sticky; top:calc(120px + var(--admin-bar)); }
  .inq__main{ grid-column:7 / -1; }
}
.preview{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:14px; font-size:.8rem; color:var(--muted); }
.preview__seg{ display:flex; flex-wrap:wrap; gap:4px; padding:4px; border-radius:14px; background:var(--cream-2); }
.preview__seg button{ border:0; background:transparent; padding:6px 12px; border-radius:10px; font-size:.78rem; color:var(--text-soft); cursor:pointer; }
.preview__seg button[aria-pressed="true"]{ background:var(--pine); color:var(--cream); }

/* ==========================================================================
   WPForms — stil teme preko WPForms klasa
   U WPForms: Settings › General › Include Form Styling = „Base styling only“
   Formi dodati CSS klasu „rdj-form“ (Form › Settings › Advanced)
   ========================================================================== */
.rdj-form{ background:var(--linen); border-radius:var(--r-xl); box-shadow:0 0 0 1px var(--line), var(--shadow); overflow:hidden; }
.rdj-form .wpforms-form{ padding:clamp(20px,2.4vw,32px); display:grid; gap:22px; }

/* indikator stranica (Page Break › Progress Indicator: Progress Bar) */
.rdj-form .wpforms-page-indicator{ display:grid; grid-template-columns:1fr auto; gap:10px 16px; align-items:baseline; margin:0; }
.rdj-form .wpforms-page-indicator-page-title{ font-weight:500; color:var(--pine); }
.rdj-form .wpforms-page-indicator-page-title-sep{ display:none; }
.rdj-form .wpforms-page-indicator-steps{ font-size:.84rem; color:var(--muted); }
.rdj-form .wpforms-page-indicator-page-progress-wrap{ grid-column:1 / -1; height:6px; border-radius:6px; background:var(--cream-3); overflow:hidden; }
.rdj-form .wpforms-page-indicator-page-progress{ height:100%; border-radius:6px; background:var(--pine); transition:width .7s var(--ease-soft); }

.rdj-form .wpforms-field-container{ display:grid; }
.rdj-form .wpforms-page{ display:none; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px 14px; }
.rdj-form .wpforms-page.is-active{ display:grid; animation:paneIn .6s var(--ease) both; }
@keyframes paneIn{ from{ opacity:0; transform:translateX(14px); } to{ opacity:1; transform:none; } }
.rdj-form .wpforms-field{ grid-column:1 / -1; display:grid; gap:8px; min-width:0; padding:0; }
.rdj-form .wpforms-one-half{ grid-column:span 6; }
.rdj-form .wpforms-one-third{ grid-column:span 2; }
@media (min-width:620px){ .rdj-form .wpforms-one-half{ grid-column:span 3; } }

.rdj-form .wpforms-field-divider h3{ font-size:clamp(1.5rem,1.25rem + .8vw,2rem); color:var(--pine); }
.rdj-form .wpforms-field-divider .wpforms-field-description{ margin-top:6px; }
.rdj-form .wpforms-field-label{ display:block; font-size:.93rem; font-weight:500; margin:0; }
.rdj-form .wpforms-required-label{ color:var(--err); font-weight:500; margin-left:2px; }
.rdj-form .wpforms-field-sublabel{ font-size:.8rem; color:var(--muted); }
.rdj-form .wpforms-field-description{ font-size:.84rem; color:var(--muted); }
.rdj-form input[type=text],.rdj-form input[type=tel],.rdj-form input[type=email],.rdj-form input[type=number],.rdj-form select,.rdj-form textarea{
  width:100%; max-width:none; min-height:54px; padding:14px 18px; border-radius:var(--r-s); border:0;
  background:#fff; box-shadow:inset 0 0 0 1px var(--line-2); font-size:1rem; appearance:none; -webkit-appearance:none;
  transition:box-shadow .3s var(--ease);
}
.rdj-form input[type=number]{ -moz-appearance:textfield; text-align:center; font-variant-numeric:tabular-nums; }
.rdj-form input::-webkit-outer-spin-button,.rdj-form input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.rdj-form ::placeholder{ color:#9a978b; }
.rdj-form input:hover,.rdj-form select:hover,.rdj-form textarea:hover{ box-shadow:inset 0 0 0 1px var(--moss); }
.rdj-form input:focus,.rdj-form select:focus,.rdj-form textarea:focus{ outline:none; box-shadow:inset 0 0 0 2px var(--pine), 0 0 0 4px rgba(195,141,82,.22); }
.rdj-form select{ background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%231e2a23' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 18px center; padding-right:44px; }
.rdj-form textarea{ min-height:110px; resize:vertical; }

/* greške (WPForms: .wpforms-has-error, input.wpforms-error, em.wpforms-error) */
.rdj-form em.wpforms-error{ display:block; font-style:normal; font-size:.86rem; color:var(--err); }
.rdj-form .wpforms-has-error input,.rdj-form .wpforms-has-error select,.rdj-form input.wpforms-error{ box-shadow:inset 0 0 0 2px var(--err); background-color:#fdf5f2; }
.rdj-form .wpforms-has-error .wpforms-icon-choices{ border-radius:var(--r-m); box-shadow:0 0 0 2px var(--err); }
.rdj-form .wpforms-error-container{ padding:12px 16px; border-radius:var(--r-s); background:#fdf0ec; color:#7c2e1d; font-size:.92rem; }
.rdj-form .wpforms-error-container[hidden]{ display:none; }

/* Icon Choices (Multiple Choice › Use icon choices) */
.rdj-form .wpforms-icon-choices{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
@media (min-width:620px){ .rdj-form .wpforms-icon-choices{ grid-template-columns:repeat(3,1fr); } }
.rdj-form .wpforms-icon-choices-item{ position:relative; margin:0; }
.rdj-form .wpforms-icon-choices-item label{
  display:grid; gap:10px; justify-items:start; align-content:space-between; padding:16px; min-height:108px; border-radius:var(--r-m);
  background:#fff; box-shadow:inset 0 0 0 1px var(--line-2); font-weight:500; font-size:.95rem; line-height:1.3; cursor:pointer;
  transition:background-color .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease), transform .45s var(--ease-soft);
}
.rdj-form .wpforms-icon-choices-icon svg{ width:30px; height:30px; color:var(--oak-deep); display:block; transition:color .35s var(--ease); }
.rdj-form .wpforms-icon-choices-item label:hover{ box-shadow:inset 0 0 0 1px var(--pine); }
.rdj-form .wpforms-icon-choices-item.wpforms-selected label{ background:var(--pine); color:var(--cream); box-shadow:none; }
.rdj-form .wpforms-icon-choices-item.wpforms-selected svg{ color:var(--oak); }
.rdj-form .wpforms-icon-choices-item label:active{ transform:scale(.98); }
.rdj-form .wpforms-icon-choices-item input:focus-visible + .wpforms-icon-choices-label{ outline:2px solid var(--oak); outline-offset:4px; border-radius:4px; }

/* File Upload — Modern style (Dropzone) */
.rdj-form .wpforms-uploader{
  position:relative; display:grid; justify-items:center; text-align:center; gap:6px; padding:24px 16px; border-radius:var(--r-m);
  background:#fff; border:1.5px dashed var(--line-2); cursor:pointer; transition:border-color .3s var(--ease), background-color .3s var(--ease);
}
.rdj-form .wpforms-uploader:hover,.rdj-form .wpforms-uploader.dz-drag-hover{ border-color:var(--pine); background:#fbf8f2; }
.rdj-form .wpforms-uploader input[type=file]{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.rdj-form .dz-message{ display:grid; justify-items:center; gap:6px; }
.rdj-form .dz-message svg{ width:44px; height:44px; padding:12px; border-radius:50%; background:var(--cream-2); color:var(--oak-deep); }
.rdj-form .modern-title{ font-weight:500; }
.rdj-form .modern-title u{ text-decoration-color:var(--oak); text-underline-offset:3px; text-decoration-thickness:1.5px; }
.rdj-form .modern-hint{ font-size:.84rem; color:var(--muted); }
.rdj-form .dz-previews{ display:grid; gap:6px; }
.rdj-form .dz-preview{ display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:12px; padding:8px 8px 8px 12px; border-radius:var(--r-s); background:#fff; box-shadow:inset 0 0 0 1px var(--line); font-size:.9rem; }
.rdj-form .dz-ext{ font-size:.66rem; font-weight:600; letter-spacing:.04em; padding:4px 7px; border-radius:6px; background:var(--cream-2); color:var(--pine); }
.rdj-form .dz-filename{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rdj-form .dz-size{ font-size:.8rem; color:var(--muted); }
.rdj-form .dz-remove{ width:32px; height:32px; border:0; border-radius:50%; background:transparent; cursor:pointer; color:var(--muted); display:grid; place-items:center; }
.rdj-form .dz-remove:hover{ background:#fdf0ec; color:var(--err); }
.rdj-form .dz-preview.dz-error{ box-shadow:inset 0 0 0 1.5px var(--err); background:#fdf5f2; }
.rdj-form .dz-preview.dz-error .dz-size{ color:var(--err); }

/* navigacija stranica i slanje */
.rdj-form .wpforms-field-pagebreak,.rdj-form .wpforms-submit-container{ grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; padding-top:18px; border-top:1px solid var(--line); margin-top:6px; }
.rdj-form .wpforms-page-prev{ margin-right:auto; }
.rdj-form .wpforms-submit-container{ align-items:center; }
.rdj-form .wpforms-submit-container[hidden]{ display:none; }
.rdj-form .wpforms-submit[disabled]{ pointer-events:none; opacity:.85; }
.rdj-form .wpforms-submit[disabled]::before{ animation:handle 1s var(--ease-soft) infinite alternate; }
@keyframes handle{ from{ transform:scaleY(.6); } to{ transform:scaleY(1.6); } }
.rdj-form .wpforms-submit-spinner{ display:none; }
.rdj-form .rdj-form__fine{ font-size:.84rem; color:var(--muted); width:100%; order:3; }
.rdj-form .rdj-form__fine a{ color:var(--pine); font-weight:500; white-space:nowrap; }

/* potvrda (Confirmation Type: Message) */
.rdj-form .wpforms-confirmation-container-full{ display:grid; gap:14px; justify-items:start; padding:clamp(28px,4vw,48px) clamp(20px,2.4vw,32px); background:transparent; border:0; }
.rdj-form .wpforms-confirmation-container-full[hidden]{ display:none; }
.rdj-form .rdj-ok{ width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:#e3eee2; color:var(--ok); }
.rdj-form .rdj-ok svg{ width:26px; height:26px; }
.rdj-form .wpforms-confirmation-container-full h3{ font-size:clamp(1.7rem,1.3rem + 1.2vw,2.4rem); color:var(--pine); max-width:18ch; }
.rdj-form .wpforms-confirmation-container-full p{ color:var(--text-soft); max-width:50ch; }
.rdj-form.is-sent .wpforms-form{ display:none; }

/* ==========================================================================
   Footer
   ========================================================================== */
.ftr{ margin:0 var(--inset); padding:clamp(72px,9vw,120px) 0 calc(28px + env(safe-area-inset-bottom)); background:var(--pine); color:var(--cream); border-radius:var(--r-xl) var(--r-xl) 0 0; }
.ftr__grid{ display:grid; gap:44px; padding-bottom:clamp(48px,6vw,80px); }
.ftr__lead{ display:grid; gap:24px; align-content:start; }
.ftr__claim{ font-family:var(--f-display); font-size:clamp(1.9rem,1.3rem + 1.9vw,3rem); line-height:1.1; max-width:17ch; }
.ftr__lead .btn{ justify-self:start; }
.ftr__cols{ display:grid; grid-template-columns:1fr 1fr; gap:32px 20px; }
.ftr__cols .ftr__h{ font-family:var(--f-body); letter-spacing:.04em; line-height:1.4;  margin:0 0 12px; font-size:.8rem; font-weight:500; letter-spacing:.04em; color:var(--on-pine-soft); }
.ftr__cols ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.ftr__cols a{ transition:color .3s var(--ease); }
.ftr__cols a:hover{ color:var(--oak-soft); }
.ftr__bot{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-top:22px; border-top:1px solid var(--on-pine-line); font-size:.84rem; color:var(--on-pine-soft); }
@media (min-width:980px){
  .ftr__grid{ grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gap); }
  .ftr__lead{ grid-column:1 / span 5; }
  .ftr__cols{ grid-column:7 / -1; grid-template-columns:repeat(3,1fr); }
}

/* mobilni poziv */
.callbar{
  position:fixed; z-index:38; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom));
  display:grid; grid-template-columns:auto 1fr; gap:6px; padding:6px; border-radius:18px;
  background:rgba(30,42,35,.95); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 40px -16px rgba(20,28,23,.6); transition:transform .6s var(--ease-soft), opacity .4s var(--ease);
}
.callbar.is-hidden{ transform:translateY(140%); opacity:0; }
.callbar a{ display:flex; align-items:center; justify-content:center; gap:10px; min-height:50px; border-radius:12px; font-weight:500; }
.callbar .call{ padding:0 18px; color:var(--cream); background:var(--pine-3); }
.callbar .call svg{ width:18px; height:18px; color:var(--oak); }
.callbar .go{ background:var(--oak); color:var(--pine); }
.callbar .go::before{ content:""; width:4px; height:16px; border-radius:4px; background:var(--pine); }
@media (min-width:768px){ .callbar{ display:none; } }
@media (max-width:767px){ .ftr{ padding-bottom:calc(104px + env(safe-area-inset-bottom)); } }

/* lightbox (ACF Gallery) */
.lb{ border:0; padding:0; margin:0; width:100vw; height:100dvh; max-width:none; max-height:none; background:#161e19; color:var(--cream); }
.lb::backdrop{ background:rgba(22,30,25,.6); }
.lb[open]{ display:grid; grid-template-rows:auto 1fr auto; animation:paneIn .4s var(--ease); }
.lb__top,.lb__bot{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px var(--gutter); }
.lb__stage{ display:grid; place-items:center; padding:0 var(--gutter); min-height:0; }
.lb__stage{ overflow:hidden; }
.lb__stage img{ display:block; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 170px); object-fit:contain; border-radius:var(--r-m); }
.lb button{ width:48px; height:48px; border:0; border-radius:12px; background:rgba(243,236,224,.1); color:var(--cream); cursor:pointer; display:grid; place-items:center; transition:background-color .3s var(--ease); }
.lb button:hover{ background:var(--oak); color:var(--pine); }
.lb button svg{ width:18px; height:18px; }
.lb__nav{ display:flex; align-items:center; gap:8px; }
.lb__count{ margin-right:8px; color:var(--on-pine-soft); font-variant-numeric:tabular-nums; }
.lb__cap{ color:var(--on-pine-soft); font-size:.93rem; max-width:60ch; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-delay:0s!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .rv{ opacity:1; transform:none; }
}

/* ==========================================================================
   Unutrašnje stranice — zajedničko
   ========================================================================== */
/* Yoast breadcrumbs: yoast_breadcrumb('<nav class="breadcrumbs" aria-label="Putanja"><p id="breadcrumbs">','</p></nav>') */
.breadcrumbs{ font-size:.86rem; }
.breadcrumbs p{ margin:0; display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; }
.breadcrumbs a{ color:var(--on-pine-soft); transition:color .3s var(--ease); }
.breadcrumbs a:hover{ color:var(--cream); }
.breadcrumbs .sep{ color:var(--oak); }
.breadcrumbs .breadcrumb_last{ color:var(--cream); }
.breadcrumbs--light a{ color:var(--muted); } .breadcrumbs--light a:hover{ color:var(--pine); }
.breadcrumbs--light .breadcrumb_last{ color:var(--pine); }

.phero__facts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:14px 22px; margin:0; padding-top:22px; border-top:1px solid var(--on-pine-line); }
.phero__facts dt{ font-size:.78rem; color:var(--on-pine-soft); letter-spacing:.03em; }
.phero__facts dd{ margin:2px 0 0; font-weight:500; }

.todo{ display:inline-block; padding:2px 9px; border-radius:999px; border:1px dashed var(--oak-deep); color:var(--oak-deep); font-size:.8em; font-weight:500; background:rgba(195,141,82,.08); }
.on-pine .todo,.hero .todo{ border-color:var(--oak-soft); color:var(--oak-soft); }

.split{ display:grid; gap:36px; }
@media (min-width:980px){
  .split{ grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gap); }
  .split__aside{ grid-column:1 / span 4; position:sticky; top:calc(120px + var(--admin-bar)); align-self:start; }
  .split__main{ grid-column:6 / -1; }
}
.split__aside{ display:grid; gap:20px; }
.split__aside p{ color:var(--muted); font-size:var(--fs-lead); line-height:1.5; max-width:40ch; }

/* ko su klijenti — lista sa velikim naslovima */
.who{ list-style:none; margin:0; padding:0; display:grid; }
.who li{ display:grid; gap:10px; padding:26px 0; border-top:1px solid var(--line-2); }
.who li:last-child{ border-bottom:1px solid var(--line-2); }
.who h3{ display:flex; align-items:baseline; gap:14px; }
.who h3 span{ font-family:var(--f-body); font-size:.8rem; color:var(--oak-deep); font-weight:500; }
.who p{ color:var(--text-soft); max-width:56ch; }
@media (min-width:760px){ .who li{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); column-gap:32px; align-items:baseline; } }

/* problem → rešenje */
.fixes{ border-radius:var(--r-xl); background:var(--cream-2); padding:clamp(8px,1.2vw,14px); display:grid; gap:6px; }
.fix{ display:grid; gap:12px; padding:clamp(20px,2.4vw,30px); border-radius:calc(var(--r-xl) - 8px); background:var(--linen); }
.fix__n{ font-family:var(--f-display); font-size:1.1rem; color:var(--oak-deep); }
.fix h3{ font-size:clamp(1.35rem,1.15rem + .6vw,1.75rem); }
.fix p{ color:var(--text-soft); max-width:52ch; }
.fix p b{ font-weight:500; color:var(--pine); }
@media (min-width:860px){
  .fix{ grid-template-columns:48px minmax(0,1fr) minmax(0,1.15fr); align-items:baseline; column-gap:28px; }
}

/* galerija radova — asimetrična */
.gal{ display:grid; gap:12px; grid-template-columns:1fr 1fr; }
.gal .ph{ cursor:zoom-in; aspect-ratio:1/1; }
.gal .ph:hover img{ transform:scale(1.03); }
.gal .ph:first-child{ grid-column:1 / -1; aspect-ratio:4/3; }
@media (min-width:900px){
  .gal{ grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:clamp(140px,14vw,200px); }
  .gal .ph{ aspect-ratio:auto; }
  .gal .ph:nth-child(1){ grid-column:1 / span 7; grid-row:span 3; }
  .gal .ph:nth-child(2){ grid-column:8 / -1; grid-row:span 2; }
  .gal .ph:nth-child(3){ grid-column:8 / -1; grid-row:span 1; }
  .gal .ph:nth-child(4){ grid-column:1 / span 4; grid-row:span 2; }
  .gal .ph:nth-child(5){ grid-column:5 / -1; grid-row:span 2; }
}
.gal-foot{ margin-top:22px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px; }
.gal-foot p{ color:var(--muted); }

/* kratki koraci */
.mini{ list-style:none; margin:0; padding:0; display:grid; gap:10px; counter-reset:m; }
.mini li{ display:grid; grid-template-columns:auto 1fr; gap:4px 16px; padding:18px 20px; border-radius:var(--r-m); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); }
.mini li::before{ counter-increment:m; content:counter(m); grid-row:span 2; font-family:var(--f-display); font-size:2rem; line-height:1; color:var(--oak-deep); }
.mini b{ font-weight:500; color:var(--pine); }
.mini span{ color:var(--text-soft); font-size:.95rem; }
@media (min-width:900px){ .mini{ grid-template-columns:repeat(4,1fr); } }

/* FAQ — Yoast FAQ blok (.schema-faq), JS pretvara pitanja u dugmad */
.schema-faq{ display:grid; border-top:1px solid var(--line-2); }
.schema-faq-section{ border-bottom:1px solid var(--line-2); }
.schema-faq-question{ display:block; font-weight:500; }
.faq-btn{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border:0; background:none; cursor:pointer; text-align:left; font-family:var(--f-display); font-weight:400; font-size:clamp(1.25rem,1.1rem + .5vw,1.6rem); line-height:1.25; color:var(--pine); }
.faq-btn i{ position:relative; flex:0 0 36px; height:36px; border-radius:10px; background:var(--cream-2); transition:background-color .35s var(--ease); }
.faq-btn i::before,.faq-btn i::after{ content:""; position:absolute; left:11px; right:11px; top:17px; height:1.6px; border-radius:2px; background:var(--pine); transition:transform .5s var(--ease-soft); }
.faq-btn i::after{ transform:rotate(90deg); }
.schema-faq-section.is-open .faq-btn i{ background:var(--oak-soft); }
.schema-faq-section.is-open .faq-btn i::after{ transform:rotate(0); }
.schema-faq-answer{ margin:0; color:var(--text-soft); max-width:62ch; }
.js .schema-faq-answer{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--ease-soft), padding .6s var(--ease-soft); }
.js .schema-faq-answer > span{ overflow:hidden; min-height:0; }
.js .schema-faq-section.is-open .schema-faq-answer{ grid-template-rows:1fr; padding-bottom:24px; }

/* CTA traka */
.cta-band{ margin-inline:var(--inset); border-radius:var(--r-xl); background:var(--pine); color:var(--cream); padding:clamp(40px,6vw,88px) 0; }
.cta-band__in{ display:grid; gap:24px; }
.cta-band h2{ max-width:16ch; }
.cta-band p{ color:var(--on-pine-soft); max-width:48ch; font-size:var(--fs-lead); line-height:1.5; }
.cta-band__act{ display:grid; gap:12px; width:100%; max-width:460px; }
.cta-band__act .btn{ justify-content:center; min-height:58px; }
.cta-or{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; font-size:.84rem; color:var(--on-pine-soft); }
.cta-or::before,.cta-or::after{ content:""; height:1px; background:var(--on-pine-line); }
.phones{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.phone-chip{ display:flex; align-items:center; gap:12px; min-height:58px; padding:6px 14px 6px 6px; border-radius:12px; box-shadow:inset 0 0 0 1.5px var(--on-pine-line); transition:background-color .35s var(--ease), box-shadow .35s var(--ease); }
.phone-chip:hover{ background:var(--pine-2); box-shadow:inset 0 0 0 1.5px transparent; }
.phone-chip i{ flex:0 0 44px; height:44px; border-radius:10px; background:var(--pine-3); color:var(--oak); display:grid; place-items:center; }
.phone-chip svg{ width:18px; height:18px; }
.phone-chip small{ display:block; font-size:.72rem; color:var(--on-pine-soft); line-height:1.2; }
.phone-chip b{ display:block; font-weight:500; font-size:1rem; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--cream); }
@media (max-width:420px){ .phones{ grid-template-columns:1fr; } }
@media (min-width:980px){ .cta-band__in{ grid-template-columns:1.1fr .9fr; align-items:center; column-gap:var(--gap); } .cta-band__act{ justify-self:end; } }
/* varijanta med-hrast — kad je sledeći blok zeleni footer */
.cta-band--oak{ background:var(--oak-soft); color:var(--pine); }
.cta-band--oak p{ color:var(--text-soft); }
.cta-band--oak .cta-or{ color:var(--text-soft); }
.cta-band--oak .cta-or::before,.cta-band--oak .cta-or::after{ background:rgba(30,42,35,.22); }
.cta-band--oak .btn--oak{ --bg:var(--pine); --fg:var(--cream); --hd:var(--oak); }
.cta-band--oak .btn--oak:hover{ --bg:var(--pine-3); }
.cta-band--oak .phone-chip{ box-shadow:inset 0 0 0 1.5px rgba(30,42,35,.22); }
.cta-band--oak .phone-chip:hover{ background:rgba(255,255,255,.35); }
.cta-band--oak .phone-chip i{ background:var(--pine); }
.cta-band--oak .phone-chip small{ color:var(--text-soft); }
.cta-band--oak .phone-chip b{ color:var(--pine); }

/* ostale usluge */
.others{ display:grid; gap:10px; }
.other{ display:grid; grid-template-columns:88px 1fr auto; align-items:center; gap:16px; padding:10px 18px 10px 10px; border-radius:var(--r-l); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); transition:background-color .35s var(--ease), transform .5s var(--ease-soft); }
.other:hover{ background:var(--cream-2); transform:translateY(-2px); }
.other img{ width:88px; height:88px; object-fit:cover; border-radius:var(--r-m); }
.other b{ display:block; font-family:var(--f-display); font-weight:400; font-size:1.35rem; color:var(--pine); line-height:1.1; }
.other small{ color:var(--muted); font-size:.88rem; }
.other svg{ width:18px; height:18px; color:var(--oak-deep); transition:transform .5s var(--ease-soft); }
.other:hover svg{ transform:translateX(4px); }
@media (min-width:900px){ .others{ grid-template-columns:repeat(3,1fr); } }

/* ==========================================================================
   O nama
   ========================================================================== */
.phero--cream{ background:var(--cream-2); color:var(--text); }
.phero--cream .lead{ color:var(--text-soft); }
.phero--cream .phero__facts{ border-color:var(--line-2); }
.phero--cream .phero__facts dt{ color:var(--muted); }
.mosaic{ display:grid; grid-template-columns:1fr 1fr; gap:10px; min-height:420px; }
.mosaic .ph{ border-radius:var(--r-l); }
.mosaic .ph:first-child{ grid-row:span 2; }
@media (min-width:980px){ .mosaic{ grid-column:6 / -1; min-height:560px; } }
.story{ display:grid; gap:20px; font-size:var(--fs-lead); line-height:1.6; color:var(--text-soft); max-width:60ch; }
.story strong{ color:var(--pine); font-weight:500; }
.prep{ display:grid; gap:12px; }
.prep__item{ border-radius:var(--r-l); padding:clamp(22px,2.6vw,34px); background:var(--c,var(--linen)); color:var(--fg,var(--text)); display:grid; gap:16px; align-content:start; }
.prep__item h3{ font-size:clamp(1.4rem,1.2rem + .6vw,1.8rem); }
.prep__item ul{ margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.prep__item li{ display:grid; grid-template-columns:4px 1fr; gap:14px; align-items:start; color:var(--pc,var(--text-soft)); }
.prep__item li::before{ content:""; height:16px; margin-top:5px; border-radius:4px; background:var(--oak); }
.prep__item--1{ box-shadow:inset 0 0 0 1px var(--line); }
.prep__item--2{ --c:var(--cream-2); }
.prep__item--3{ --c:var(--pine); --fg:var(--cream); --pc:var(--on-pine-soft); }
@media (min-width:900px){ .prep{ grid-template-columns:repeat(3,1fr); } .prep__item--2{ margin-top:40px; } .prep__item--3{ margin-top:80px; } }

/* ==========================================================================
   Kontakt
   ========================================================================== */
.cinfo{ display:grid; gap:10px; }
.ccard{ display:grid; gap:4px; padding:18px 20px; border-radius:var(--r-m); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); }
.ccard small{ color:var(--muted); font-size:.8rem; letter-spacing:.02em; }
.ccard .big{ font-family:var(--f-display); font-size:clamp(1.4rem,1.2rem + .6vw,1.8rem); color:var(--pine); line-height:1.2; font-variant-numeric:tabular-nums; }
.ccard .copy-mail--plain{ font-family:var(--f-display); font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem); color:var(--pine); overflow-wrap:anywhere; }
.ccard .copy-mail--plain.is-copied{ color:var(--ok); }
.ccard .hint{ font-size:.82rem; color:var(--muted); }
.ccard--row{ grid-template-columns:1fr 1fr; gap:14px; }
.map{ position:relative; overflow:hidden; border-radius:var(--r-l); aspect-ratio:4/3; background:var(--cream-3); }
.map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.map__ph{ position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:14px; padding:24px; text-align:center;
  background:
    linear-gradient(0deg, rgba(221,208,187,.6), rgba(221,208,187,.6)),
    repeating-linear-gradient(35deg, transparent 0 38px, rgba(30,42,35,.06) 38px 40px),
    repeating-linear-gradient(-55deg, transparent 0 54px, rgba(30,42,35,.05) 54px 56px), var(--cream-2); }
.map__pin{ width:48px; height:48px; border-radius:50% 50% 50% 4px; transform:rotate(-45deg); background:var(--pine); display:grid; place-items:center; }
.map__pin::after{ content:""; width:14px; height:14px; border-radius:50%; background:var(--oak); }
.map__ph p{ color:var(--text-soft); font-size:.9rem; max-width:34ch; }

/* ==========================================================================
   Hvala
   ========================================================================== */
.thanks{ min-height:calc(100dvh - 90px); display:grid; align-items:center; padding-block:clamp(48px,8vw,120px); }
.thanks__card{ margin-inline:var(--inset); border-radius:var(--r-xl); background:var(--cream-2); color:var(--text); padding:clamp(36px,6vw,88px) 0; }
.thanks__in{ display:grid; gap:26px; }
.thanks__ok{ width:64px; height:64px; border-radius:50%; background:var(--pine); color:var(--oak); display:grid; place-items:center; }
.thanks__ok svg{ width:28px; height:28px; }
.thanks .lead{ color:var(--text-soft); }
.thanks__next{ list-style:none; margin:0; padding:0; display:grid; gap:10px; counter-reset:t; }
.thanks__next li{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:baseline; padding:16px 18px; border-radius:var(--r-m); background:var(--linen); color:var(--text-soft); box-shadow:inset 0 0 0 1px var(--line); }
.thanks__next li::before{ counter-increment:t; content:counter(t); font-family:var(--f-display); font-size:1.6rem; color:var(--oak-deep); line-height:1; }
.thanks__next b{ color:var(--pine); font-weight:500; }
@media (min-width:980px){ .thanks__in{ grid-template-columns:1fr 1fr; column-gap:var(--gap); align-items:start; } .thanks__next{ margin-top:8px; } }

/* dopune: svetli hero, hvala, kontakt kartice */
.phero--cream h1 em{ color:var(--oak-deep); }
.phero--cream .btn--ghost{ box-shadow:inset 0 0 0 1.5px var(--line-2); }
.phero--cream .btn--ghost:hover{ box-shadow:inset 0 0 0 1.5px var(--pine); }
.thanks .btn--ghost{ box-shadow:inset 0 0 0 1.5px var(--line-2); }
.ccard--row > div{ display:grid; gap:4px; }
.ccard a.big{ display:inline-block; }
.ccard .map-link.big{ background-size:100% 1.5px; }
.phero--cream .todo{ border-color:var(--oak-deep); color:var(--oak-deep); }
.sec__head .breadcrumbs p{ font-size:.86rem; line-height:1.4; max-width:none; }
.split__aside h2{ font-size:clamp(2rem, 1.3rem + 1.9vw, 3.2rem); }


.ftr__credit{ color:var(--cream); background:linear-gradient(var(--oak),var(--oak)) 0 100%/100% 1px no-repeat; padding-bottom:1px; transition:color .3s var(--ease); }
.ftr__credit:hover{ color:var(--oak-soft); }
.cta-band__in > div:first-child{ display:grid; gap:16px; }

/* prečice u heroju */
.hero__services a{ display:inline-flex; align-items:center; gap:8px; }
.hero__services svg{ width:13px; height:13px; color:var(--oak); transition:transform .5s var(--ease-soft); }
.hero__services a:hover svg{ transform:translateX(3px); }

/* kartica projekta na početnoj — cela kartica je link */
.proj__link::after{ content:""; position:absolute; inset:0; z-index:4; border-radius:var(--r-xl); }
.proj__link:focus-visible{ outline:none; }
.proj:has(.proj__link:focus-visible){ outline:2px solid var(--oak); outline-offset:4px; }
.proj:hover .proj__ph img{ transform:scale(1.03); }
.proj:hover .proj__foot .btn::before{ transform:scaleY(1.45); }
.proj__ph{ cursor:pointer; }

/* ==========================================================================
   Kartice projekata (arhiva, stranice usluga)
   ========================================================================== */

.pfilter{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:clamp(28px,3vw,44px); }
.pfilter__item{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border-radius:12px; background:var(--linen); box-shadow:inset 0 0 0 1px var(--line-2); font-size:.94rem; font-weight:500; transition:background-color .35s var(--ease), color .35s var(--ease); }
.pfilter__item span{ font-size:.76rem; padding:2px 8px; border-radius:999px; background:var(--cream-2); color:var(--muted); }
.pfilter__item:hover{ background:var(--cream-2); }
.pfilter__item[aria-current="page"]{ background:var(--pine); color:var(--cream); box-shadow:none; }
.pfilter__item[aria-current="page"] span{ background:var(--pine-3); color:var(--oak-soft); }

.pempty{ display:grid; gap:14px; justify-items:start; padding:clamp(28px,4vw,48px); border-radius:var(--r-xl); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); border:1.5px dashed var(--line-2); max-width:720px; }
.pempty__ic{ width:56px; height:56px; border-radius:14px; background:var(--cream-2); color:var(--oak-deep); display:grid; place-items:center; }
.pempty__ic svg{ width:28px; height:28px; }
.pempty h3{ color:var(--pine); }
.pempty p{ color:var(--text-soft); max-width:52ch; }

/* ==========================================================================
   Pojedinačni projekat (single-projekat.php)
   ========================================================================== */
.chapters{ display:grid; gap:clamp(56px,8vw,120px); }
.chapter{ display:grid; gap:28px; align-items:center; }
.chapter__text{ display:grid; gap:16px; align-content:start; }
.chapter__n{ font-family:var(--f-display); font-size:clamp(3.4rem,2.4rem + 3vw,5.6rem); line-height:.8; color:var(--oak); }
.chapter h2{ font-size:clamp(2rem,1.4rem + 1.8vw,3.2rem); }
.chapter__lead{ font-size:var(--fs-lead); line-height:1.55; color:var(--text-soft); max-width:44ch; }
.chapter__list{ list-style:none; margin:6px 0 0; padding:16px 0 0; display:grid; gap:10px; border-top:1px solid var(--line-2); }
.chapter__list li{ display:grid; grid-template-columns:4px 1fr; gap:14px; color:var(--text-soft); }
.chapter__list li::before{ content:""; height:16px; margin-top:5px; border-radius:4px; background:var(--oak); }
.chapter__img{ margin:0; aspect-ratio:4/3; border-radius:var(--r-xl); cursor:zoom-in; }
.chapter__img:hover img{ transform:scale(1.03); }
@media (min-width:900px){
  .chapter{ grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gap); }
  .chapter__text{ grid-column:1 / span 5; }
  .chapter__img{ grid-column:7 / -1; aspect-ratio:5/4; }
  .chapter--rev .chapter__text{ grid-column:8 / -1; grid-row:1; }
  .chapter--rev .chapter__img{ grid-column:1 / span 6; grid-row:1; }
}
.spec-row{ margin:clamp(40px,5vw,64px) 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-radius:var(--r-l); background:var(--linen); box-shadow:inset 0 0 0 1px var(--line); overflow:hidden; }
.spec-row div{ display:grid; gap:6px; padding:18px 20px; box-shadow:inset -1px -1px 0 var(--line); }
.spec-row dt{ font-size:.8rem; color:var(--muted); }
.spec-row dd{ margin:0; font-weight:500; color:var(--pine); }
@media (min-width:900px){ .spec-row{ grid-template-columns:repeat(4,1fr); } }
.pnext{ position:relative; display:grid; overflow:hidden; border-radius:var(--r-xl); min-height:clamp(300px,34vw,440px); isolation:isolate; color:var(--cream); }
.pnext__img{ position:absolute; inset:0; z-index:-2; }
.pnext__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.pnext::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(20,28,23,.85), rgba(20,28,23,.2) 70%); }
.pnext:hover .pnext__img img{ transform:scale(1.04); }
.pnext__body{ align-self:end; display:grid; gap:10px; padding:clamp(24px,3.4vw,48px); max-width:640px; }
.pnext small{ font-size:.86rem; color:var(--oak-soft); }
.pnext b{ font-family:var(--f-display); font-weight:400; font-size:clamp(2rem,1.4rem + 2vw,3.4rem); line-height:1.05; }
.pnext__go{ width:52px; height:52px; border-radius:14px; background:var(--oak); color:var(--pine); display:grid; place-items:center; margin-top:8px; transition:transform .6s var(--ease-soft); }
.pnext__go svg{ width:20px; height:20px; }
.pnext:hover .pnext__go{ transform:translateX(6px); }
.pnext__all{ margin-top:20px; }

/* „Svi radovi“ kao dugme u redu sa naslovom */
.sec__head .sec__btn{ justify-self:start; }
@media (min-width:980px){
  .sec__head:has(.sec__btn){ max-width:none; grid-template-columns:minmax(0,1fr) auto; column-gap:40px; align-items:end; }
  .sec__head:has(.sec__btn) h2{ grid-column:1; grid-row:1; max-width:24ch; }
  .sec__head .sec__btn{ grid-column:2; grid-row:1; justify-self:end; }
}

/* ==========================================================================
   Kartica projekta — bez kutije: fotografija kao front sa ručkom, tekst ispod
   ========================================================================== */
.pgrid{ display:grid; gap:clamp(40px,5vw,64px) var(--gap); }
.pcard{ position:relative; display:grid; gap:20px; align-content:start; }
.pcard[hidden]{ display:none; }
.pcard__media{ aspect-ratio:4/3; border-radius:var(--r-xl); }
.pcard__media::before{ /* ručka fronta */
  content:""; position:absolute; z-index:3; right:18px; top:50%; width:5px; height:64px; margin-top:-32px; border-radius:6px;
  background:linear-gradient(90deg,#eadfcb,#bda380); box-shadow:0 2px 8px rgba(0,0,0,.35); transition:transform .7s var(--ease-soft);
}
.pcard:hover .pcard__media::before{ transform:scaleY(1.35); }
.pcard:hover .pcard__media img{ transform:scale(1.04); }
.pcard__count{ position:absolute; z-index:3; top:14px; right:14px; padding:6px 12px; border-radius:999px; background:rgba(250,246,239,.92); color:var(--pine); font-size:.78rem; font-weight:500; }
.pcard__body{ display:grid; grid-template-columns:1fr auto; gap:10px 20px; align-items:start; }
.pcard__meta{ grid-column:1 / -1; display:flex; align-items:center; gap:10px; margin:0; font-size:.86rem; color:var(--muted); }
.pcard__meta b{ font-weight:500; color:var(--oak-deep); }
.pcard__meta i{ width:4px; height:4px; border-radius:50%; background:var(--oak); }
.pcard h3{ font-size:clamp(1.6rem,1.25rem + 1vw,2.3rem); line-height:1.08; color:var(--pine); }
.pcard h3 span{ background:linear-gradient(var(--oak),var(--oak)) 0 100%/0 2px no-repeat; transition:background-size .7s var(--ease-soft); }
.pcard:hover h3 span{ background-size:100% 2px; }
.pcard__arrow{ width:52px; height:52px; border-radius:14px; background:var(--pine); color:var(--cream); display:grid; place-items:center; transition:background-color .4s var(--ease), color .4s var(--ease), transform .6s var(--ease-soft); }
.pcard__arrow svg{ width:20px; height:20px; }
.pcard:hover .pcard__arrow{ background:var(--oak); color:var(--pine); transform:translateX(4px); }
.pcard__lead{ grid-column:1 / -1; color:var(--text-soft); max-width:52ch; }
.pcard:focus-visible{ outline:none; }
.pcard:focus-visible .pcard__media{ outline:2px solid var(--oak); outline-offset:4px; }

/* arhiva: smenjuju se šira i uža kartica, uža malo spuštena */
@media (min-width:860px){
  .pgrid--archive{ grid-template-columns:repeat(12,minmax(0,1fr)); }
  .pgrid--archive .pcard:nth-child(4n+1){ grid-column:1 / span 7; }
  .pgrid--archive .pcard:nth-child(4n+2){ grid-column:9 / -1; margin-top:clamp(60px,9vw,140px); }
  .pgrid--archive .pcard:nth-child(4n+3){ grid-column:1 / span 5; }
  .pgrid--archive .pcard:nth-child(4n+4){ grid-column:7 / -1; margin-top:clamp(60px,9vw,140px); }
  .pgrid--archive .pcard:nth-child(4n+2) .pcard__media,.pgrid--archive .pcard:nth-child(4n+3) .pcard__media{ aspect-ratio:4/5; }
  /* posle filtriranja nema praznih rupa: sve kartice u 2 jednake kolone */
  .pgrid--archive.is-filtered .pcard{ grid-column:span 6!important; margin-top:0!important; }
  .pgrid--archive.is-filtered .pcard .pcard__media{ aspect-ratio:4/3!important; }
}
/* ==========================================================================
   Slider fotografija (single projekat) + lightbox na klik
   ========================================================================== */
.pslider__head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:18px 24px; margin-bottom:28px; }
.pslider__head p{ color:var(--muted); margin-top:10px; }
.pslider__ctrl{ display:flex; align-items:center; gap:8px; }
.pslider__ctrl button{ width:52px; height:52px; border:0; border-radius:14px; background:var(--pine); color:var(--cream); cursor:pointer; display:grid; place-items:center; transition:background-color .35s var(--ease), opacity .35s var(--ease), transform .4s var(--ease-soft); }
.pslider__ctrl button:hover{ background:var(--oak); color:var(--pine); }
.pslider__ctrl button:active{ transform:scale(.96); }
.pslider__ctrl button:disabled{ opacity:.3; pointer-events:none; }
.pslider__ctrl svg{ width:18px; height:18px; }
.pslider__count{ min-width:64px; text-align:center; font-variant-numeric:tabular-nums; color:var(--text-soft); font-weight:500; }
.pslider{ --pad:max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));
  display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:4px var(--pad) 4px; scroll-padding-inline:var(--pad); scrollbar-width:none; overscroll-behavior-x:contain; }
.pslider::-webkit-scrollbar{ display:none; }
.pslider:focus-visible{ outline:2px solid var(--oak); outline-offset:-2px; }
.pslide{ position:relative; flex:0 0 min(900px, 84vw); aspect-ratio:3/2; margin:0; border-radius:var(--r-xl); overflow:hidden; scroll-snap-align:start; cursor:zoom-in; background:var(--cream-3); }
.pslide img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.pslide:hover img{ transform:scale(1.03); }
.pslide figcaption{ position:absolute; left:16px; bottom:16px; z-index:2; padding:7px 13px; border-radius:999px; background:rgba(250,246,239,.92); color:var(--pine); font-size:.84rem; font-weight:500; }
.pslide__zoom{ position:absolute; right:16px; bottom:16px; z-index:2; width:44px; height:44px; border-radius:12px; background:rgba(250,246,239,.92); color:var(--pine); display:grid; place-items:center; transition:transform .5s var(--ease-soft); }
.pslide__zoom svg{ width:18px; height:18px; }
.pslide:hover .pslide__zoom{ transform:scale(1.08); }
.pslider__bar{ margin-top:22px; height:4px; border-radius:4px; background:var(--cream-3); overflow:hidden; }
.pslider__bar i{ display:block; height:100%; border-radius:4px; background:var(--pine); transition:width .6s var(--ease-soft); }

/* CTA pločica u praznom mestu rasporeda (stranice usluga sa neparnim brojem projekata) */
.pcard--cta{ align-content:end; gap:18px; padding:clamp(28px,3.4vw,48px); border-radius:var(--r-xl); background:var(--pine); color:var(--cream); min-height:clamp(340px,32vw,480px); }
.pcard--cta__k{ font-size:.84rem; color:var(--oak-soft); margin:0; }
.pcard--cta h3{ font-size:clamp(1.9rem,1.4rem + 1.4vw,2.8rem); color:var(--cream); max-width:14ch; }
.pcard--cta p:not(.pcard--cta__k){ color:var(--on-pine-soft); max-width:40ch; }
.pcard--cta__act{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; }
.pcard--cta__tel{ color:var(--cream); font-weight:500; font-variant-numeric:tabular-nums; background:linear-gradient(var(--oak),var(--oak)) 0 100%/100% 1.5px no-repeat; padding-bottom:2px; }
