/* =========================================================================
   PSIHOZOFIJA — main.css
   Sve vrednosti su izmerene iz PSD-a (canvas 1980 px, container 1543 px).
   Tipografija je 1:1 — dizajn nije skaliran.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. TOKENI
   ---------------------------------------------------------------------- */
:root{
	/* boje — očitane iz renderovanih piksela */
	--pz-plum:        #734061;
	--pz-plum-hov:    #5E3350;
	--pz-plum-deep:   #361C37;
	--pz-slate:       #52547C;
	--pz-slate-hov:   #43456B;
	--pz-slate-dark:  #4C4D70;
	--pz-rose:        #B9848C;
	--pz-cream:       #FDF5E1;
	--pz-text:        #414141;
	--pz-text-dark:   #242424;
	--pz-rule:        #E2E2E2;
	--pz-white:       #FFFFFF;

	/* tipografija */
	--pz-head: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--pz-body: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	/* mreža */
	--pz-container: 1544px;
	--pz-side:      290px;
	--pz-gap:       44px;
	--pz-sect:      110px;

	/* pokret — dva ižeženja za ceo sajt */
	--pz-ease-color: .28s ease;
	--pz-ease-move:  .5s cubic-bezier(.22,.61,.36,1);

	--pz-shadow: 0 18px 44px -18px rgba(54,28,55,.28);

	/* maske koje se koriste na više mesta */
	--pz-plus-mask: url('../img/ui/plus.png');
	--pz-logo-mask: url('../img/logo.png');
}

/* -------------------------------------------------------------------------
   2. OSNOVA
   ---------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
	margin:0;
	background:var(--pz-white);
	color:var(--pz-text);
	font-family:var(--pz-body);
	font-size:16px;
	line-height:27px;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }

a{ color:var(--pz-plum); }

h1,h2,h3,h4,h5,h6{
	font-family:var(--pz-head);
	font-weight:500;
	color:var(--pz-text);
	margin:0;
	line-height:1.2;
	text-wrap:balance;
}

p{ margin:0 0 18px; }
p:last-child{ margin-bottom:0; }

:focus-visible{
	outline:3px solid var(--pz-rose);
	outline-offset:3px;
	border-radius:3px;
}

.pz-container{
	width:min(92%, var(--pz-container));
	margin-inline:auto;
}

.pz-center{ text-align:center; }

.screen-reader-text{
	position:absolute!important; width:1px; height:1px;
	padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* zajednički naslovi sekcija */
.pz-sect-title{
	font-size:46px;
	text-align:center;
	margin:0 0 14px;
}
.pz-eyebrow{
	font-family:var(--pz-body);
	font-size:16px;
	font-weight:600;
	line-height:30px;
	text-transform:uppercase;
	color:var(--pz-rose);
	margin:0 0 34px;
}

/* -------------------------------------------------------------------------
   3. TALAS — jedan oblik iz PSD-a, koristi se na hero i baneru
   ---------------------------------------------------------------------- */
.pz-wave{
	position:absolute;
	left:0; right:0; bottom:-1px;
	line-height:0;
	pointer-events:none;
	z-index:3;
}
.pz-wave svg{
	display:block;
	width:100%;
	height:clamp(48px, 6.5vw, 128px);
}
.pz-wave path{ fill:var(--pz-white); }

/* -------------------------------------------------------------------------
   4. ZAGLAVLJE  (kao u dizajnu — ne lepi se pri skrolu)
   ---------------------------------------------------------------------- */
.pz-header{ position:relative; z-index:20; background:var(--pz-white); }

.pz-topbar-in{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	padding:50px 0;
}

.pz-logo{
	display:flex;
	align-items:center;
	gap:26px;
	text-decoration:none;
	flex:none;
}
.pz-logo img{
	width:171px;
	height:auto;
	transition:transform var(--pz-ease-move);
}
.pz-logo:hover img{ transform:scale(1.04); }
.pz-logo-name{
	display:block;
	font-family:var(--pz-head);
	font-size:50px;
	line-height:1;
	color:var(--pz-plum);
}
.pz-logo-sub{
	display:block;
	font-family:var(--pz-head);
	font-size:31px;
	line-height:1.15;
	color:var(--pz-plum-deep);
	margin-top:6px;
}

.pz-topinfo{
	display:flex;
	align-items:center;
	gap:56px;
	list-style:none;
	margin:0; padding:0;
}
.pz-topinfo li{
	display:flex;
	align-items:center;
	gap:10px;
}
.pz-ti-icon{
	width:63px; height:63px;
	flex:none;
	border-radius:50%;
	background:var(--pz-plum);
	display:grid;
	place-items:center;
	transition:background var(--pz-ease-color), transform var(--pz-ease-move);
}
.pz-topinfo li:hover .pz-ti-icon{ background:var(--pz-plum-hov); transform:translateY(-2px); }
.pz-ti-icon::after{
	content:"";
	width:27px; height:27px;
	background:var(--pz-white);
	-webkit-mask:var(--pz-mask) center/contain no-repeat;
	mask:var(--pz-mask) center/contain no-repeat;
}
.pz-ti-text{
	border-left:4px solid var(--pz-rule);
	padding-left:9px;
	line-height:25px;
}
.pz-ti-text b{
	display:block;
	font-size:18px;
	font-weight:600;
	text-transform:uppercase;
	color:var(--pz-text);
	letter-spacing:.01em;
}
.pz-ti-text span,
.pz-ti-text a{
	font-size:16px;
	font-weight:600;
	color:var(--pz-text);
	text-decoration:none;
	transition:color var(--pz-ease-color);
}
.pz-ti-text a:hover{ color:var(--pz-plum); }

/* nav traka */
.pz-nav{ background:var(--pz-plum); }
.pz-menu{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	list-style:none;
	margin:0; padding:0;
}
.pz-menu > li{ position:relative; }
.pz-menu > li > a{
	display:flex;
	align-items:center;
	height:66px;
	padding:0 4px;
	font-family:var(--pz-head);
	font-size:18px;
	line-height:1;
	text-transform:uppercase;
	color:var(--pz-white);
	text-decoration:none;
	white-space:nowrap;
	transition:color var(--pz-ease-color);
}
.pz-menu > li > a:hover{ color:var(--pz-cream); }

/* aktivna stavka — tanka roze traka tačno iznad nav bara (PSD: #F7E7E7, ~6 px) */
.pz-menu > li::before{
	content:"";
	position:absolute;
	left:-22px; right:-22px;
	bottom:100%;
	height:6px;
	background:#F7E7E7;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .3s cubic-bezier(.22,.61,.36,1);
	pointer-events:none;
}
.pz-menu > li:hover::before,
.pz-menu > li.current-menu-item::before,
.pz-menu > li.current-menu-ancestor::before,
.pz-menu > li.current-menu-parent::before,
.pz-menu > li.current_page_parent::before{ transform:scaleX(1); }

/* podmeni */
.pz-menu .sub-menu{
	position:absolute;
	top:100%; left:-22px;
	min-width:260px;
	background:var(--pz-plum);
	list-style:none;
	margin:0; padding:8px 0;
	box-shadow:var(--pz-shadow);
	opacity:0; visibility:hidden;
	transform:translateY(-8px);
	transition:opacity var(--pz-ease-color), transform var(--pz-ease-color), visibility var(--pz-ease-color);
	z-index:30;
}
.pz-menu > li:hover > .sub-menu,
.pz-menu > li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:none; }
.pz-menu .sub-menu a{
	display:block;
	padding:11px 22px;
	font-family:var(--pz-body);
	font-size:15px;
	color:var(--pz-white);
	text-decoration:none;
	transition:background var(--pz-ease-color), padding-left var(--pz-ease-color);
}
.pz-menu .sub-menu a:hover{ background:rgba(255,255,255,.1); padding-left:28px; }

/* hamburger */
.pz-burger{
	display:none;
	width:48px; height:48px;
	flex-direction:column; justify-content:center; gap:5px;
	padding:12px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.2);
	border-radius:10px;
	cursor:pointer;
}
.pz-burger span{
	display:block; height:2.5px; width:100%;
	background:var(--pz-white); border-radius:2px;
	transition:transform .3s ease, opacity .3s ease;
}
.pz-burger.is-open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.pz-burger.is-open span:nth-child(2){ opacity:0; }
.pz-burger.is-open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* -------------------------------------------------------------------------
   5. DUGMAD
   ---------------------------------------------------------------------- */
.pz-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:248px;
	min-height:65px;
	padding:0 34px;
	border:none;
	border-radius:999px;
	background:var(--pz-plum);
	color:var(--pz-white);
	font-family:var(--pz-body);
	font-size:14px;
	font-weight:600;
	line-height:1;
	letter-spacing:.05em;
	text-transform:uppercase;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	position:relative;
	overflow:hidden;
	transition:background var(--pz-ease-color), transform var(--pz-ease-move), box-shadow var(--pz-ease-move);
}
/* sjaj koji prelazi preko dugmeta */
.pz-btn::before{
	content:"";
	position:absolute;
	top:0; left:-80%;
	width:50%; height:100%;
	background:linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent);
	transform:skewX(-20deg);
	transition:left .55s ease;
	pointer-events:none;
}
.pz-btn:hover::before{ left:130%; }
.pz-btn:hover{
	background:var(--pz-plum-hov);
	transform:translateY(-3px);
	box-shadow:0 14px 28px -10px rgba(115,64,97,.55);
}
.pz-btn--slate{ background:var(--pz-slate); }
.pz-btn--slate:hover{ background:var(--pz-slate-hov); box-shadow:0 14px 28px -10px rgba(82,84,124,.55); }
.pz-btn--ghost{ background:transparent; border:2px solid rgba(255,255,255,.8); }
.pz-btn--ghost:hover{ background:var(--pz-white); color:var(--pz-plum); }

.pz-btnrow{ display:flex; flex-wrap:wrap; gap:24px; }

/* -------------------------------------------------------------------------
   6. HERO (naslovna)
   ---------------------------------------------------------------------- */
/* Slika heroja je izvučena iz PSD sloja „Rectangle 4" — obrada (leva polovina
   obezbojena i posvetljena, desna u punoj boji) je već u njoj, pa preko nje
   NE ide nikakav preliv. Ranije sam stavljao beli preliv i slika je izgledala
   isprano; dizajn to rešava prelazom iz sive u boju unutar same fotografije. */
.pz-hero{
	position:relative;
	min-height:639px;
	display:flex;
	align-items:center;
	background:#EDEDED top center/cover no-repeat;
	background-image:var(--pz-hero);
	padding:176px 0 228px;
	isolation:isolate;
}
.pz-hero .pz-container{ position:relative; z-index:2; }
.pz-hero-title{
	font-size:60px;
	line-height:1.12;
	max-width:830px;   /* dva reda, kao u PSD-u */
	margin:0 0 36px;
}

/* -------------------------------------------------------------------------
   7. BANER unutrašnjih strana
   ---------------------------------------------------------------------- */
.pz-banner{
	position:relative;
	background:var(--pz-slate) center/cover no-repeat;
	background-image:var(--pz-banner);
	padding:96px 0 160px;
	isolation:isolate;
}
.pz-banner::after{
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(90deg, rgba(54,28,55,.55) 0%, rgba(54,28,55,.22) 55%, rgba(54,28,55,0) 85%);
	z-index:1;
}
.pz-banner-in{ position:relative; z-index:2; }
.pz-banner-title{
	font-size:45px;
	color:var(--pz-white);
	margin:0 0 14px;
}

.pz-crumbs{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	font-size:18px;
	font-weight:600;
	color:var(--pz-white);
}
.pz-crumbs a{ color:var(--pz-white); text-decoration:none; transition:color var(--pz-ease-color); }
.pz-crumbs a:hover{ color:var(--pz-cream); }
.pz-crumbs-lead{ opacity:.9; }
.pz-crumb-sep{
	width:21px; height:21px;
	flex:none;
	border-radius:50%;
	background:var(--pz-plum);
	position:relative;
}
.pz-crumb-sep::after{
	content:"";
	position:absolute; inset:0; margin:auto;
	width:9px; height:9px;
	background:var(--pz-white);
	-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>') center/contain no-repeat;
	mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>') center/contain no-repeat;
}

/* -------------------------------------------------------------------------
   8. RASPORED unutrašnjih strana: bočni meni + sadržaj
   ---------------------------------------------------------------------- */
.pz-layout{
	display:grid;
	grid-template-columns:var(--pz-side) minmax(0,1fr);
	gap:var(--pz-gap);
	align-items:start;
	padding:56px 0 var(--pz-sect);
}

.pz-side-head{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:38px;
}
.pz-side-mark{
	width:44px; height:44px;
	flex:none;
	border-radius:50%;
	border:1px solid var(--pz-rose);
	background:var(--pz-cream);
	position:relative;
}
.pz-side-mark::after{
	content:"";
	position:absolute; inset:0; margin:auto;
	width:26px; height:26px;
	background:var(--pz-plum);
	-webkit-mask:var(--pz-logo-mask) center/contain no-repeat;
	mask:var(--pz-logo-mask) center/contain no-repeat;
}
.pz-side-title{ font-size:45px; line-height:1; }

.pz-side-menu,
.pz-side-sub{ list-style:none; margin:0; padding:0; }

.pz-side-menu > li > a{
	display:flex;
	align-items:center;
	min-height:51px;
	padding:12px 0;
	border-bottom:1px solid var(--pz-rule);
	font-size:18px;
	font-weight:500;
	color:var(--pz-text-dark);
	text-decoration:none;
	transition:color var(--pz-ease-color), padding-left var(--pz-ease-color);
}
.pz-side-menu > li > a:hover{ color:var(--pz-plum); padding-left:8px; }

.pz-side-menu > li.is-current > a,
.pz-side-menu > li.is-open > a{
	color:var(--pz-plum);
	padding-left:34px;
	position:relative;
}
.pz-side-menu > li.is-current > a::before,
.pz-side-menu > li.is-open > a::before{
	content:"";
	position:absolute;
	left:0; top:50%;
	transform:translateY(-50%);
	width:21px; height:21px;
	border-radius:50%;
	background:var(--pz-plum) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="white" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>') center/9px no-repeat;
}

.pz-side-sub > li > a{
	display:flex;
	align-items:center;
	min-height:51px;
	padding:11px 0 11px 24px;
	border-bottom:1px solid var(--pz-rule);
	font-size:15px;
	font-weight:400;
	color:var(--pz-text-dark);
	text-decoration:none;
	transition:color var(--pz-ease-color), padding-left var(--pz-ease-color);
}
.pz-side-sub > li > a:hover{ color:var(--pz-plum); padding-left:30px; }
.pz-side-sub > li.is-current > a{ color:var(--pz-plum); font-weight:500; }

/* -------------------------------------------------------------------------
   9. SADRŽAJ strane
   ---------------------------------------------------------------------- */
.pz-content h1{ font-size:40px; margin:0 0 26px; }
.pz-content h2{ font-size:30px; margin:44px 0 16px; }
.pz-content h3{ font-size:25px; margin:34px 0 14px; }
.pz-content h2:first-child,
.pz-content h1:first-child{ margin-top:0; }
.pz-content p{ margin:0 0 22px; }
.pz-content > img,
.pz-content figure img{ border-radius:7px 34px 34px 7px; margin-bottom:30px; }
/* :not(.pz-btn) — inače bi ovo pregazilo belu boju teksta na dugmadima */
.pz-content a:not(.pz-btn){ color:var(--pz-plum); text-underline-offset:3px; }

.pz-content ul{ list-style:none; margin:0 0 24px; padding:0; }
.pz-content ul li{
	position:relative;
	padding-left:26px;
	margin-bottom:9px;
}
.pz-content ul li::before{
	content:"";
	position:absolute;
	left:0; top:9px;
	width:13px; height:13px;
	border-radius:50%;
	background:var(--pz-plum) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="white" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>') center/6px no-repeat;
}
.pz-content ol{ padding-left:22px; margin:0 0 24px; }
.pz-content ol li::marker{ color:var(--pz-plum); font-weight:600; }

.pz-content-foot{
	margin-top:46px;
	padding-top:34px;
	border-top:1px solid var(--pz-rule);
}

/* potpis */
.pz-signature{ max-width:330px; margin:38px 0 0; }

/* -------------------------------------------------------------------------
   10. TRAKA SA ŠEST OBLASTI
   ---------------------------------------------------------------------- */
.pz-cats{
	background:var(--pz-slate);
	padding:72px 0 86px;
	color:var(--pz-white);
}
.pz-cats-title{
	font-size:46px;
	color:var(--pz-white);
	text-align:center;
	margin:0 0 12px;
}
.pz-cats-sub{
	font-size:16px;
	font-weight:400;
	line-height:30px;
	text-transform:uppercase;
	text-align:center;
	color:var(--pz-white);
	margin:0 0 76px;
}
.pz-cats-list{
	display:grid;
	grid-template-columns:repeat(6,1fr);
	list-style:none;
	margin:0; padding:0;
}
.pz-cats-list > li{ position:relative; }
.pz-cats-list > li + li::before{
	content:"";
	position:absolute;
	left:0; top:9px;
	width:4px; height:96px;
	background:rgba(255,255,255,.16);
}
.pz-cats-list a{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:18px;
	text-decoration:none;
	padding:0 10px;
}
.pz-cat-ico{
	width:105px; height:105px;
	display:grid;
	place-items:center;
	position:relative;
	transition:transform var(--pz-ease-move);
}
.pz-cat-ico::before{
	content:"";
	position:absolute; inset:0;
	border-radius:50%;
	background:radial-gradient(circle, rgba(255,255,255,.10) 40%, rgba(255,255,255,0) 72%);
	transition:background var(--pz-ease-color);
}
.pz-cat-ico::after{
	content:"";
	position:relative;
	width:90px; height:90px;
	background:var(--pz-cream);
	-webkit-mask:var(--pz-mask) center/contain no-repeat;
	mask:var(--pz-mask) center/contain no-repeat;
}
.pz-cats-list a:hover .pz-cat-ico{ transform:translateY(-6px); }
.pz-cats-list a:hover .pz-cat-ico::before{ background:radial-gradient(circle, rgba(255,255,255,.20) 40%, rgba(255,255,255,0) 72%); }
.pz-cat-name{
	font-family:var(--pz-head);
	font-size:18px;
	line-height:1.2;
	text-transform:uppercase;
	text-align:center;
	color:var(--pz-white);
	transition:color var(--pz-ease-color);
}
.pz-cats-list a:hover .pz-cat-name{ color:var(--pz-cream); }

/* pregled strane Psihoterapija — iste ikonice, ali kao kartice na beloj */
.pz-catgrid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:26px;
	list-style:none;
	margin:0; padding:0;
}
.pz-catgrid a{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:16px;
	padding:38px 24px;
	border:1px solid var(--pz-rule);
	border-radius:7px 34px 34px 7px;
	text-decoration:none;
	background:var(--pz-white);
	transition:transform var(--pz-ease-move), box-shadow var(--pz-ease-move), border-color var(--pz-ease-color);
}
.pz-catgrid a:hover{
	transform:translateY(-6px);
	box-shadow:var(--pz-shadow);
	border-color:transparent;
}
.pz-catgrid .pz-cat-ico::before{ background:radial-gradient(circle, rgba(115,64,97,.09) 40%, rgba(115,64,97,0) 72%); }
.pz-catgrid .pz-cat-ico::after{ background:var(--pz-plum); }
.pz-catgrid .pz-cat-name{ color:var(--pz-text); font-size:22px; text-transform:none; }
.pz-catgrid a:hover .pz-cat-name{ color:var(--pz-plum); }

/* -------------------------------------------------------------------------
   11. KARTICE ČLANAKA
   ---------------------------------------------------------------------- */
.pz-blogstrip{ padding:var(--pz-sect) 0; }

.pz-cardgrid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 46px;
}

.pz-card-thumb{
	display:block;
	position:relative;
	border-radius:7px 34px 34px 7px;
	overflow:hidden;
	aspect-ratio:380/240;
	background:var(--pz-slate);
}
.pz-card-thumb img{
	width:100%; height:100%;
	object-fit:cover;
	filter:grayscale(1);
	transition:transform .55s cubic-bezier(.22,.61,.36,1), filter var(--pz-ease-move);
}
.pz-card-thumb::after{
	content:"";
	position:absolute; inset:0;
	background:var(--pz-slate);
	mix-blend-mode:multiply;
	opacity:.55;
	transition:opacity var(--pz-ease-move);
	pointer-events:none;
}
.pz-card:hover .pz-card-thumb img{ transform:scale(1.06); }
.pz-card:hover .pz-card-thumb::after{ opacity:.3; }

/* beli krug sa "+" */
.pz-plus{
	position:absolute;
	right:8px; bottom:10px;
	width:52px; height:52px;
	border-radius:50%;
	background:var(--pz-white);
	display:grid;
	place-items:center;
	z-index:2;
	transition:transform var(--pz-ease-move), background var(--pz-ease-color);
}
.pz-plus::after{
	content:"";
	width:32px; height:32px;
	background:var(--pz-plum);
	-webkit-mask:var(--pz-plus-mask) center/contain no-repeat;
	mask:var(--pz-plus-mask) center/contain no-repeat;
	transition:background var(--pz-ease-color);
}
.pz-card:hover .pz-plus{ transform:rotate(90deg) scale(1.08); background:var(--pz-plum); }
.pz-card:hover .pz-plus::after{ background:var(--pz-white); }

.pz-card-body{ padding-top:22px; }
.pz-date{
	display:block;
	font-size:14px;
	font-weight:600;
	text-transform:uppercase;
	color:var(--pz-rose);
	margin-bottom:8px;
}
.pz-card-title{
	font-size:25px;
	line-height:1.35;
	margin:0 0 14px;
}
.pz-card-title a{
	color:var(--pz-text);
	text-decoration:none;
	transition:color var(--pz-ease-color);
}
.pz-card-title a:hover{ color:var(--pz-plum); }
.pz-card-excerpt p{ font-size:16px; line-height:30px; margin:0; }

/* horizontalna kartica — lista bloga */
.pz-postlist{ display:flex; flex-direction:column; gap:58px; }
.pz-post{
	display:grid;
	grid-template-columns:290px minmax(0,1fr);
	gap:32px;
	align-items:start;
}
.pz-post .pz-card-thumb{ aspect-ratio:290/260; }
.pz-post .pz-card-body{ padding-top:0; }
.pz-post .pz-btn{ min-width:0; min-height:52px; padding:0 28px; margin-top:6px; }

/* paginacija */
.pz-pagination{
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:64px;
}
.pz-pagination .page-numbers{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:46px; height:46px;
	padding:0 10px;
	border-radius:50%;
	color:var(--pz-text);
	font-weight:600;
	text-decoration:none;
	transition:background var(--pz-ease-color), color var(--pz-ease-color);
}
.pz-pagination .page-numbers:hover,
.pz-pagination .page-numbers.current{ background:var(--pz-plum); color:var(--pz-white); }

/* -------------------------------------------------------------------------
   12. KARTICA "Partnerski odnosi" (naslovna)
   ---------------------------------------------------------------------- */
.pz-split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:80px;
	align-items:center;
	padding:var(--pz-sect) 0;
}
.pz-split-title{ font-size:46px; margin:0 0 14px; }

/* uvodna sekcija naslovne — uži portret, širi tekst (kao u PSD-u) */
.pz-split--intro{ grid-template-columns:minmax(0,430px) minmax(0,1fr); gap:120px; }

.pz-portrait{ position:relative; }
.pz-portrait img{ border-radius:34px 7px 7px 34px; width:100%; }
.pz-portrait-badge{
	position:absolute;
	right:-74px; bottom:-42px;
	width:207px; height:207px;
	border-radius:50%;
	background:var(--pz-cream);
	border:1px solid var(--pz-rose);
	display:grid;
	place-items:center;
	transition:transform var(--pz-ease-move);
}
.pz-portrait:hover .pz-portrait-badge{ transform:scale(1.04) rotate(-3deg); }
.pz-portrait-badge::after{
	content:"";
	width:142px; height:104px;
	background:var(--pz-plum);
	-webkit-mask:var(--pz-logo-mask) center/contain no-repeat;
	mask:var(--pz-logo-mask) center/contain no-repeat;
}

.pz-feature{
	position:relative;
	display:block;
	border-radius:34px;
	overflow:hidden;
	aspect-ratio:792/414;
	text-decoration:none;
}
.pz-feature img{
	width:100%; height:100%;
	object-fit:cover;
	transition:transform .6s cubic-bezier(.22,.61,.36,1);
}
.pz-feature::after{
	content:"";
	position:absolute; inset:0;
	background:var(--pz-slate);
	opacity:.62;
	transition:opacity var(--pz-ease-move);
}
.pz-feature:hover img{ transform:scale(1.05); }
.pz-feature:hover::after{ opacity:.45; }
.pz-feature-label{
	position:absolute;
	left:38px; bottom:34px;
	z-index:2;
	font-family:var(--pz-head);
	font-size:30px;
	color:var(--pz-white);
}
.pz-feature .pz-plus{
	right:24px; bottom:26px;
	width:57px; height:57px;
}

/* -------------------------------------------------------------------------
   13. CTA traka "Zakažite posetu"
   ---------------------------------------------------------------------- */
.pz-cta{
	position:relative;
	background:var(--pz-slate) center/cover no-repeat;
	background-image:var(--pz-cta);
	padding:64px 0;
	isolation:isolate;
	color:var(--pz-white);
}
.pz-cta::after{
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(90deg, var(--pz-slate) 0%, var(--pz-slate) 52%, rgba(82,84,124,.86) 100%);
	z-index:1;
}
.pz-cta-in{
	position:relative; z-index:2;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:48px;
}
.pz-cta-title{ font-size:46px; color:var(--pz-white); margin:0 0 12px; }
.pz-cta p{ font-size:16px; line-height:30px; margin:0; max-width:76ch; }

/* -------------------------------------------------------------------------
   14. FUTER
   ---------------------------------------------------------------------- */
.pz-footer{ position:relative; color:var(--pz-white); }

.pz-foot-social{
	background:var(--pz-slate);
	padding:26px 0;
}
.pz-foot-social ul{
	display:flex;
	justify-content:center;
	gap:30px;
	list-style:none;
	margin:0; padding:0;
}
.pz-foot-social a{
	display:grid;
	place-items:center;
	width:57px; height:57px;
	border-radius:50%;
	background:var(--pz-white);
	transition:transform var(--pz-ease-move), background var(--pz-ease-color);
}
.pz-foot-social a::after{
	content:"";
	width:57px; height:57px;
	background:var(--pz-slate);
	-webkit-mask:var(--pz-mask) center/contain no-repeat;
	mask:var(--pz-mask) center/contain no-repeat;
	transition:background var(--pz-ease-color);
}
.pz-foot-social a:hover{ transform:translateY(-4px); background:var(--pz-cream); }
.pz-foot-social a:hover::after{ background:var(--pz-plum); }

.pz-foot-main{
	position:relative;
	background:var(--pz-plum) center/cover no-repeat;
	background-image:var(--pz-foot);
	padding:76px 0 70px;
	isolation:isolate;
}
.pz-foot-main::after{
	content:"";
	position:absolute; inset:0;
	background:var(--pz-plum);
	opacity:.9;
	z-index:1;
}
.pz-foot-grid{
	position:relative; z-index:2;
	display:grid;
	grid-template-columns:1fr 1.15fr 1fr;
	gap:60px;
	align-items:start;
}
.pz-foot-title{
	font-size:25px;
	color:var(--pz-white);
	margin:0 0 26px;
}
.pz-foot-mid{ text-align:center; }
.pz-foot-mid img{ width:150px; margin:0 auto 14px; }
.pz-foot-name{ display:block; font-family:var(--pz-head); font-size:45px; line-height:1; }
.pz-foot-sub{ display:block; font-family:var(--pz-head); font-size:28px; line-height:1.2; margin-top:4px; }
.pz-foot-mid p{ font-size:14px; line-height:25px; font-weight:600; margin:24px 0 0; }

.pz-foot-contact{ list-style:none; margin:0; padding:0; }
.pz-foot-contact li{
	display:flex;
	align-items:center;
	gap:22px;
	margin-bottom:26px;
	font-size:14px;
}
.pz-foot-contact a{ color:var(--pz-white); text-decoration:none; transition:color var(--pz-ease-color); }
.pz-foot-contact a:hover{ color:var(--pz-cream); text-decoration:underline; text-underline-offset:3px; }
.pz-fi{
	width:40px; height:40px;
	flex:none;
	position:relative;
}
.pz-fi::after{
	content:"";
	position:absolute; inset:0;
	background:var(--pz-white);
	-webkit-mask:var(--pz-mask) center/contain no-repeat;
	mask:var(--pz-mask) center/contain no-repeat;
}

.pz-foot-links{ list-style:none; margin:0; padding:0; text-align:right; }
.pz-foot-links li{ margin-bottom:19px; }
.pz-foot-links a{
	font-size:14px;
	font-weight:600;
	color:var(--pz-white);
	text-decoration:none;
	transition:color var(--pz-ease-color);
}
.pz-foot-links a:hover{ color:var(--pz-cream); }

.pz-foot-bottom{
	background:var(--pz-slate-dark);
	padding:16px 0;
	text-align:center;
	font-size:14px;
	text-transform:uppercase;
	letter-spacing:.02em;
}
.pz-foot-bottom a{ color:var(--pz-white); text-decoration:none; }
.pz-foot-bottom a:hover{ text-decoration:underline; text-underline-offset:3px; }

/* -------------------------------------------------------------------------
   15. KONTAKT
   ---------------------------------------------------------------------- */
.pz-contact-row{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:26px;
	margin:0 0 44px;
}
.pz-ci{
	display:flex;
	align-items:center;
	gap:18px;
}
.pz-ci-badge{
	width:82px; height:82px;
	flex:none;
	border-radius:15px;
	background:var(--pz-plum);
	display:grid;
	place-items:center;
	transition:background var(--pz-ease-color), transform var(--pz-ease-move);
}
.pz-ci:hover .pz-ci-badge{ background:var(--pz-slate); transform:translateY(-3px); }
.pz-ci-badge::after{
	content:"";
	width:38px; height:38px;
	background:var(--pz-white);
	-webkit-mask:var(--pz-mask) center/contain no-repeat;
	mask:var(--pz-mask) center/contain no-repeat;
}
.pz-ci-text b{
	display:block;
	font-size:18px;
	font-weight:600;
	color:var(--pz-text);
	margin-bottom:2px;
}
.pz-ci-text,
.pz-ci-text a{
	font-size:14px;
	line-height:25px;
	color:var(--pz-text);
	text-decoration:none;
}
.pz-ci-text a:hover{ color:var(--pz-plum); }

.pz-map{
	border-radius:20px;
	overflow:hidden;
	margin:0 0 56px;
	line-height:0;
}
.pz-map iframe{
	width:100%;
	height:480px;
	border:0;
	filter:saturate(0) contrast(1.05);
	transition:filter var(--pz-ease-move);
}
.pz-map:hover iframe{ filter:saturate(1) contrast(1); }

/* forma — WPForms, stilizovana da prati dizajn */
.pz-form-title{ font-size:30px; margin:0 0 26px; }

/* WPForms „modern" markup se najčistije preuzima preko njegovih promenljivih. */
.wpforms-container.wpforms-render-modern{
	--wpforms-field-border-radius: 18px;
	--wpforms-field-border-size: 1px;
	--wpforms-field-border-style: solid;
	--wpforms-field-background-color: #FFFFFF;
	--wpforms-field-border-color: var(--pz-rule);
	--wpforms-field-text-color: var(--pz-text);
	--wpforms-label-color: var(--pz-text);
	--wpforms-label-sublabel-color: #8A8A8A;
	--wpforms-label-error-color: #A6404C;
	--wpforms-button-border-radius: 999px;
	--wpforms-button-background-color: var(--pz-plum);
	--wpforms-button-text-color: #FFFFFF;
	--wpforms-field-size-input-height: 59px;
	--wpforms-field-size-input-spacing: 20px;
	--wpforms-field-size-font-size: 16px;
	--wpforms-field-size-line-height: 27px;
	--wpforms-field-size-padding-h: 20px;
	--wpforms-field-size-checkbox-size: 20px;
	--wpforms-field-size-input-max-width: 100%;
	--wpforms-button-size-font-size: 14px;
	--wpforms-button-size-height: 65px;
	--wpforms-button-size-padding-h: 34px;
	--wpforms-button-size-margin-top: 8px;

	margin:0;
	font-family:var(--pz-body);
}

/* tri polja u redu, poruka i saglasnost preko cele širine */
.wpforms-container .wpforms-field-container{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px 30px;
	align-items:start;
}
.wpforms-container .wpforms-field{ padding:0; width:auto; max-width:none; }
.wpforms-container .wpforms-field-textarea,
.wpforms-container .wpforms-field-checkbox{ grid-column:1 / -1; }

.wpforms-container .wpforms-field-label{
	font-family:var(--pz-body);
	font-size:14px;
	font-weight:600;
	color:var(--pz-text);
	margin:0 0 8px;
}
.wpforms-container .wpforms-required-label{ color:var(--pz-rose); }

.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container input[type=number],
.wpforms-container select,
.wpforms-container textarea{
	width:100%;
	max-width:100%;
	min-height:59px;
	padding:14px 20px;
	background:var(--pz-white);
	border:1px solid var(--pz-rule);
	border-radius:18px;
	font-family:var(--pz-body);
	font-size:16px;
	line-height:27px;
	color:var(--pz-text);
	box-shadow:none;
	transition:border-color var(--pz-ease-color), box-shadow var(--pz-ease-color);
}
.wpforms-container textarea{ min-height:180px; resize:vertical; }
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus{
	outline:none;
	border-color:var(--pz-plum);
	box-shadow:0 0 0 3px rgba(115,64,97,.14);
}
.wpforms-container ::placeholder{ color:#9A9A9A; opacity:1; }

/* saglasnost */
.wpforms-container .wpforms-field-checkbox ul{ list-style:none; margin:0; padding:0; }
.wpforms-container .wpforms-field-checkbox li{ display:flex; align-items:flex-start; gap:12px; }
.wpforms-container .wpforms-field-checkbox input[type=checkbox]{
	width:20px; height:20px;
	min-height:0;
	margin:4px 0 0;
	flex:none;
	accent-color:var(--pz-plum);
}
.wpforms-container .wpforms-field-label-inline{
	font-size:14px;
	line-height:24px;
	font-weight:400;
	color:var(--pz-text);
	margin:0;
}

/* dugme */
.wpforms-container .wpforms-submit-container{ margin-top:30px; }
.wpforms-container button.wpforms-submit,
.wpforms-container input[type=submit].wpforms-submit{
	min-width:248px;
	height:65px;
	padding:0 34px;
	border:none;
	border-radius:999px;
	background:var(--pz-plum);
	color:var(--pz-white);
	font-family:var(--pz-body);
	font-size:14px;
	font-weight:600;
	letter-spacing:.05em;
	text-transform:uppercase;
	cursor:pointer;
	box-shadow:none;
	transition:background var(--pz-ease-color), transform var(--pz-ease-move), box-shadow var(--pz-ease-move);
}
.wpforms-container button.wpforms-submit:hover,
.wpforms-container input[type=submit].wpforms-submit:hover{
	background:var(--pz-plum-hov);
	transform:translateY(-3px);
	box-shadow:0 14px 28px -10px rgba(115,64,97,.55);
}

/* greške i potvrda */
.wpforms-container label.wpforms-error,
.wpforms-container em.wpforms-error{
	color:#A6404C;
	font-size:13px;
	font-style:normal;
	margin-top:6px;
	display:block;
}
.wpforms-container .wpforms-field-large.wpforms-error,
.wpforms-container .wpforms-error{ border-color:#A6404C; }
.wpforms-confirmation-container-full{
	background:var(--pz-cream);
	border:1px solid var(--pz-rose);
	border-radius:18px;
	padding:22px 26px;
	color:var(--pz-text);
	margin:0;
}

/* -------------------------------------------------------------------------
   16. OTKRIVANJE PRI SKROLU  (isti rečnik kao Beculax)
   ---------------------------------------------------------------------- */
body.pz-js .pz-reveal{
	opacity:0;
	transform:translateX(-46px);
	transition:opacity .75s ease, transform .75s cubic-bezier(.22,.61,.36,1);
	transition-delay:var(--pz-delay, 0s);
	will-change:opacity, transform;
}
body.pz-js .pz-reveal.pz-in{
	opacity:1;
	transform:translateX(0);
}

/* -------------------------------------------------------------------------
   17. RESPONZIVNO  (dizajna za mobilni nema — prelomi su moja procena)
   ---------------------------------------------------------------------- */
@media (max-width:1400px){
	:root{ --pz-sect:88px; }
	.pz-hero-title{ font-size:clamp(38px,4.4vw,60px); }
	.pz-sect-title,
	.pz-cats-title,
	.pz-split-title,
	.pz-cta-title{ font-size:clamp(32px,3.6vw,46px); }
	.pz-logo-name{ font-size:clamp(34px,3.6vw,50px); }
	.pz-logo-sub{ font-size:clamp(21px,2.2vw,31px); }
	.pz-logo img{ width:clamp(112px,11vw,171px); }
	.pz-topinfo{ gap:32px; }
	.pz-menu > li > a{ font-size:clamp(14px,1.25vw,18px); }
}

@media (max-width:1200px){
	.pz-cats-list{ grid-template-columns:repeat(3,1fr); gap:44px 0; }
	.pz-cats-list > li:nth-child(3n+1)::before{ display:none; }
	.pz-catgrid{ grid-template-columns:repeat(2,1fr); }
	.pz-split{ gap:48px; }
	.pz-cta-in{ flex-direction:column; align-items:flex-start; }
}

@media (max-width:1024px){
	:root{ --pz-sect:70px; }

	/* zaglavlje: logo levo, hamburger desno, kontakt info se sklanja */
	.pz-topbar-in{ padding:26px 0; }
	.pz-topinfo{ display:none; }
	.pz-nav .pz-container{
		display:flex;
		align-items:center;
		justify-content:flex-end;
		position:relative;
	}
	.pz-burger{ display:flex; margin:9px 0; }
	.pz-menu{
		position:absolute;
		top:calc(100% + 9px); right:0;
		flex-direction:column;
		align-items:stretch;
		min-width:280px;
		background:var(--pz-plum);
		border-radius:14px;
		padding:10px 0;
		box-shadow:0 24px 54px -18px rgba(54,28,55,.6);
		opacity:0; visibility:hidden;
		transform:translateY(-8px);
		transition:opacity var(--pz-ease-color), transform var(--pz-ease-color), visibility var(--pz-ease-color);
		z-index:40;
	}
	.pz-menu.is-open{ opacity:1; visibility:visible; transform:none; }
	.pz-menu > li::before{ display:none; }
	.pz-menu > li > a{ height:auto; padding:13px 24px; }
	.pz-menu > li.current-menu-item > a{ color:var(--pz-cream); }
	.pz-menu .sub-menu{
		position:static;
		opacity:1; visibility:visible; transform:none;
		box-shadow:none;
		background:rgba(0,0,0,.12);
		padding:4px 0;
		min-width:0;
	}

	/* raspored: bočni meni ide ispod sadržaja */
	.pz-layout{ grid-template-columns:1fr; gap:52px; }
	.pz-side{ order:2; }

	.pz-split,
	.pz-split--intro{ grid-template-columns:1fr; gap:38px; }
	.pz-portrait{ max-width:430px; }
	.pz-cardgrid{ grid-template-columns:repeat(2,1fr); gap:44px 32px; }
	.pz-contact-row{ grid-template-columns:1fr; gap:22px; }
	.pz-foot-grid{ grid-template-columns:1fr; gap:46px; text-align:center; }
	.pz-foot-links{ text-align:center; }
	.pz-foot-contact li{ justify-content:center; }
	.pz-map iframe{ height:340px; }
	.wpforms-container .wpforms-field-container{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px){
	body{ font-size:15.5px; line-height:26px; }

	.pz-banner{ padding:64px 0 110px; }
	.pz-banner-title{ font-size:clamp(28px,7vw,45px); }
	.pz-crumbs{ font-size:15px; }

	/* Na uskom ekranu se vidi samo sredina slike, pa naslov ume da padne na
	   šareni deo — tek tu dodajemo blagi beli veo radi čitljivosti. */
	.pz-hero{ min-height:0; padding:64px 0 120px; background-position:left center; }
	.pz-hero::after{
		content:"";
		position:absolute; inset:0;
		background:linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.62) 55%, rgba(255,255,255,.25) 100%);
		z-index:1;
	}

	.pz-content h1{ font-size:29px; }
	.pz-content h2{ font-size:24px; margin-top:34px; }
	.pz-content h3{ font-size:20px; }

	.pz-cats-list{ grid-template-columns:repeat(2,1fr); }
	.pz-cats-list > li::before{ display:none!important; }
	.pz-cat-ico{ width:88px; height:88px; }
	.pz-cat-ico::after{ width:74px; height:74px; }
	.pz-catgrid{ grid-template-columns:1fr; }

	.pz-cardgrid{ grid-template-columns:1fr; gap:44px; }
	.pz-post{ grid-template-columns:1fr; gap:20px; }
	.pz-post .pz-card-thumb{ aspect-ratio:16/9; }

	.pz-btn{ min-width:0; width:100%; }
	.pz-btnrow{ gap:14px; width:100%; }

	/* medaljon sa leptirom se smanjuje i ulazi u okvir slike */
	.pz-portrait-badge{ width:132px; height:132px; right:0; bottom:-26px; }
	.pz-portrait-badge::after{ width:90px; height:66px; }
	.pz-feature-label{ left:24px; bottom:24px; font-size:23px; }

	.wpforms-container .wpforms-field-container{ grid-template-columns:1fr; }
	.wpforms-container button.wpforms-submit{ width:100%; min-width:0; }
	.pz-side-title{ font-size:34px; }
}

@media (max-width:560px){
	.pz-logo{ gap:14px; }
	.pz-logo-name{ font-size:30px; }
	.pz-logo-sub{ font-size:18px; }
	.pz-foot-name{ font-size:32px; }
	.pz-foot-sub{ font-size:21px; }
}

/* -------------------------------------------------------------------------
   18. SMANJEN POKRET
   ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
	html{ scroll-behavior:auto; }
	body.pz-js .pz-reveal{ opacity:1; transform:none; transition:none; }
	*,*::before,*::after{
		animation-duration:.001ms!important;
		animation-iteration-count:1!important;
		transition-duration:.001ms!important;
	}
}

/* -------------------------------------------------------------------------
   19. ELEMENTOR — neutralizacija, stil je naš
   ---------------------------------------------------------------------- */
.elementor-section.elementor-section-boxed > .elementor-container{ max-width:var(--pz-container); }
.elementor-widget:not(:last-child){ margin-block-end:0; }
