/* ==========================================================================
   Pomirishi — dizajn sistem
   Učitava se samo na temi-kontrolisanim stranicama (naslovna, arhive, proizvod).
   ========================================================================== */

:root {
	--pm-bg: #FFFFFF;
	--pm-surface: #F5F6F3;
	--pm-ink: #1B1D19;
	--pm-forest: #455335;
	--pm-leaf: #41813A; /* svetlo zelena (kao pomirishi.rs #539B40, malo dublja zbog kontrasta belog teksta ≥ 4.5:1) */
	--pm-leaf-dark: #376F31;
	--pm-star: #F6B819;
	--pm-moss: #56683F;
	--pm-sage: #6E7F5C;
	--pm-sage-light: #A9B597;
	--pm-cream: #F2F4EE;
	--pm-cream-dim: #C9D0BE;
	--pm-border: #E6E8E3;
	--pm-border-strong: #CDD1C7;
	--pm-muted: #555A51;
	--pm-muted-2: #686D64;
	--pm-muted-3: #6B7066;
	--pm-muted-price: #6F746A;
	--pm-dark-border: #56653F;
	--pm-dark-border-2: #66764F;
	--pm-footer-text: #D6DBCE;
	--pm-footer-muted: #A7B19A;
	--pm-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--pm-radius: 20px;
	--pm-container: 1320px;
}

/* --------------------------------------------------------------------------
   Baza
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body.pm-page {
	margin: 0;
	padding: 0;
	background: var(--pm-bg);
	color: var(--pm-ink);
	font-family: var(--pm-font);
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
	line-height: 1.5;
	overflow-x: hidden; /* sigurnosna mreža — sadržaj koji greškom prelije širinu ne otvara horizontalni skrol cele stranice */
}

/* :where() daje nultu specifičnost — svaka komponentna boja linka (footer,
   breadcrumb, chip...) pobeđuje ovaj globalni default. */
:where(body.pm-page) a {
	color: #455335;
	text-decoration: none;
}

:where(body.pm-page) a:hover {
	color: var(--pm-sage);
}

body.pm-page ::selection {
	background: var(--pm-sage);
	color: var(--pm-bg);
}

/* :where() = nulta specifičnost — svaka komponenta koja zada visinu slike
   (logo, maskote, zastavice) pobeđuje ovaj globalni default. */
:where(body.pm-page) img {
	max-width: 100%;
	height: auto;
}

/* Akcenat u naslovima: samo kontrast debelo/tanko (bez italic/serif fonta) —
   naslov je 800, akcentovana reč pada na 400 unutar istog fonta. */
body.pm-page h1 em,
body.pm-page h2 em,
body.pm-page h3 em {
	font-style: normal;
	font-weight: 400;
}

.pm-container {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding-left: 32px;
	padding-right: 32px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* Dugmad */
.pm-btn {
	display: inline-block;
	background: var(--pm-forest);
	color: var(--pm-surface) !important;
	font-family: var(--pm-font);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 17px 34px;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.pm-btn:hover {
	background: var(--pm-moss);
	color: var(--pm-bg) !important;
}

.pm-btn--outline {
	background: none;
	border: 1.5px solid var(--pm-forest);
	color: var(--pm-forest) !important;
}

.pm-btn--outline:hover {
	background: var(--pm-forest);
	color: var(--pm-surface) !important;
}

/* --------------------------------------------------------------------------
   Announcement bar + header
   -------------------------------------------------------------------------- */

.pm-announce {
	background: var(--pm-forest);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	text-align: center;
	gap: 24px;
	padding: 11px 24px;
}

/* Header kao na pomirishi.rs (v1.23) */
.pm-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #FFFFFF;
}

.pm-header__inner {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 22px 40px;
}

.pm-header__logo {
	flex-shrink: 0;
}

.pm-header__logo img {
	height: 31px;
	width: auto;
	display: block;
}

.pm-nav {
	flex: 1;
}

.pm-nav__extra {
	display: none;
}

.pm-nav-list {
	display: flex;
	justify-content: space-evenly;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
}

.pm-nav-list a {
	color: var(--pm-forest);
}

.pm-nav-list a:hover {
	color: var(--pm-sage);
}

.pm-nav-list .is-current > a,
.pm-nav-list .current-menu-item > a {
	color: var(--pm-forest);
	box-shadow: inset 0 -2px 0 var(--pm-forest);
	padding-bottom: 4px;
}

/* Padajući meniji (Kategorije, Info) — beo zaobljen panel kao na pomirishi.rs */
.pm-nav-list > li {
	position: relative;
}

.pm-nav-list > li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	margin-left: 10px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid currentColor;
	transform: translateY(-2px);
	transition: transform 0.15s ease;
}

.pm-nav-list > li.menu-item-has-children:hover > a::after {
	transform: translateY(-2px) rotate(180deg);
}

/* nevidljivi most preko razmaka do panela, da hover ne "ispadne" */
.pm-nav-list > li.menu-item-has-children::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 30px;
	display: none;
}

.pm-nav-list .sub-menu {
	position: absolute;
	top: calc(100% + 26px);
	left: -28px;
	min-width: 160px;
	background: #FFFFFF;
	border-radius: 0 0 20px 20px;
	box-shadow: 0 16px 30px rgba(20, 22, 18, 0.08);
	padding: 6px 0 12px;
	margin: 0;
	list-style: none;
	display: none;
	flex-direction: column;
	z-index: 60;
}

.pm-nav-list > li:hover > .sub-menu,
.pm-nav-list > li:focus-within > .sub-menu,
.pm-nav-list > li.is-open > .sub-menu {
	display: flex;
}

.pm-nav-list > li:hover::after,
.pm-nav-list > li.is-open::after {
	display: block;
}

.pm-nav-list .sub-menu li {
	position: static;
}

.pm-nav-list .sub-menu a {
	display: block;
	padding: 12px 28px;
	font-size: 13px;
	font-weight: 700;
	color: var(--pm-forest);
	white-space: nowrap;
	box-shadow: none;
}

.pm-nav-list .sub-menu a:hover {
	color: var(--pm-sage);
}

.pm-header__actions {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-shrink: 0;
}

.pm-header__account {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--pm-forest) !important;
}

.pm-header__account:hover {
	color: var(--pm-sage) !important;
}

/* WPML izbor jezika — zastavica + strelica */
.pm-lang {
	position: relative;
}

.pm-lang__current {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--pm-font);
	font-size: 12px;
	font-weight: 700;
	color: var(--pm-forest);
	background: none;
	border: 0;
	padding: 6px 0;
	cursor: pointer;
}

.pm-lang__current::after {
	content: '';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid currentColor;
}

.pm-lang__flag {
	display: block;
	width: 18px;
	height: 12px;
	object-fit: cover;
}

.pm-lang__list {
	position: absolute;
	top: calc(100% + 18px);
	right: -16px;
	min-width: 170px;
	background: #FFFFFF;
	border-radius: 0 0 16px 16px;
	box-shadow: 0 16px 30px rgba(20, 22, 18, 0.08);
	padding: 6px 0 10px;
	margin: 0;
	list-style: none;
	display: none;
	z-index: 60;
}

.pm-lang.is-open .pm-lang__list {
	display: block;
}

.pm-lang__list a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pm-forest) !important;
	white-space: nowrap;
}

.pm-lang__list a:hover {
	color: var(--pm-sage) !important;
}

.pm-header__toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px 0 8px 8px;
}

.pm-header__toggle-bar {
	display: block;
	width: 30px;
	height: 3px;
	border-radius: 2px;
	background: var(--pm-forest);
	margin: 6px 0;
	transition: transform 0.2s ease;
}

@media (max-width: 1240px) {
	.pm-header__inner {
		padding: 20px 28px;
	}

	.pm-nav-list {
		font-size: 14px;
	}
}

/* Telefon i tablet: logo, ikonica naloga i hamburger; meni je beli spisak
   preko cele širine (kao na pomirishi.rs), podmeniji uvučeni ispod stavke. */
@media (max-width: 1024px) {
	.pm-header__inner {
		position: relative;
		justify-content: space-between;
		padding: 16px 20px;
	}

	.pm-header__logo img {
		height: 28px;
	}

	.pm-header__toggle {
		display: block;
	}

	.pm-header__actions {
		gap: 14px;
	}

	.pm-header__account span,
	.pm-header__actions > .pm-lang {
		display: none;
	}

	.pm-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100svh - 80px);
		overflow-y: auto;
		overscroll-behavior: contain;
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		border-radius: 0 0 24px 24px;
		box-shadow: 0 20px 30px rgba(20, 22, 18, 0.12);
		padding: 6px 20px 20px;
	}

	/* Dok je meni otvoren stranica ispod se ne skroluje */
	html.pm-nav-locked,
	html.pm-nav-locked body {
		overflow: hidden;
	}

	/* Hamburger → X */
	.pm-header__toggle.is-open .pm-header__toggle-bar:nth-last-child(2) {
		transform: translateY(4.5px) rotate(45deg);
	}

	.pm-header__toggle.is-open .pm-header__toggle-bar:last-child {
		transform: translateY(-4.5px) rotate(-45deg);
	}

	.pm-nav.is-open {
		display: block;
	}

	.pm-nav-list {
		flex-direction: column;
		gap: 0;
		font-size: 15px;
	}

	.pm-nav-list > li > a {
		display: block;
		padding: 12px 0;
	}

	.pm-nav-list .is-current > a,
	.pm-nav-list .current-menu-item > a {
		box-shadow: none;
		padding-bottom: 13px;
		color: var(--pm-sage);
	}

	/* Podmeniji sklopljeni, otvaraju se dodirom na stavku (main.js) */
	.pm-nav-list .sub-menu {
		position: static;
		display: none;
		box-shadow: none;
		border-radius: 0;
		background: none;
		padding: 0 0 6px 18px;
		min-width: 0;
	}

	.pm-nav-list > li:hover > .sub-menu,
	.pm-nav-list > li:focus-within > .sub-menu {
		display: none;
	}

	.pm-nav-list > li.is-open > .sub-menu {
		display: flex;
	}

	.pm-nav-list > li.menu-item-has-children:hover > a::after {
		transform: translateY(-2px);
	}

	.pm-nav-list > li.menu-item-has-children.is-open > a::after {
		transform: translateY(-2px) rotate(180deg);
	}

	.pm-nav-list .sub-menu a {
		padding: 11px 0;
		font-size: 14px;
	}

	.pm-nav-list > li.menu-item-has-children::after {
		display: none;
	}

	.pm-nav__extra {
		display: block;
		border-top: 1px solid var(--pm-border);
		margin-top: 8px;
		padding-top: 8px;
	}

	.pm-nav__account {
		display: block;
		padding: 13px 0;
		font-size: 15px;
		font-weight: 600;
		text-transform: uppercase;
		color: var(--pm-forest) !important;
	}

	.pm-lang--inline {
		display: flex;
		gap: 22px;
		list-style: none;
		margin: 6px 0 0;
		padding: 0;
	}

	.pm-lang--inline a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 13px;
		font-weight: 700;
		color: var(--pm-muted-2) !important;
	}

	.pm-lang--inline a.is-active {
		color: var(--pm-forest) !important;
	}
}

@media (max-width: 760px) {
	.pm-announce {
		gap: 12px;
		font-size: 10px;
		line-height: 1.35;
		padding: 9px 12px;
	}
}

/* --------------------------------------------------------------------------
   Kartica proizvoda
   -------------------------------------------------------------------------- */

.pm-card {
	display: block;
	min-width: 0; /* grid stavka ne sme da raširi kolonu preko ekrana */
	color: var(--pm-ink);
}

.pm-card__media {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 14px;
	background: var(--pm-surface);
}

.pm-card__media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.pm-card:hover .pm-card__media img {
	transform: scale(1.05);
}

.pm-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
}

.pm-badge--sale {
	background: var(--pm-forest);
	color: var(--pm-cream);
}

.pm-badge--new {
	background: var(--pm-bg);
	color: var(--pm-forest);
}

.pm-card__name {
	font-size: 15px;
	font-weight: 700;
	color: var(--pm-ink);
	margin-bottom: 5px;
}

.pm-card__prices {
	display: flex;
	gap: 8px;
	align-items: baseline;
	margin-bottom: 8px;
}

.pm-card__old {
	font-size: 13px;
	color: var(--pm-muted-price);
	text-decoration: line-through;
}

.pm-card__old .woocommerce-Price-amount {
	color: inherit;
}

.pm-card__price {
	font-size: 16px;
	font-weight: 700;
	color: var(--pm-moss);
}

.pm-card__dots {
	display: flex;
	gap: 5px;
	align-items: center;
}

.pm-dot {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	border: 1px solid #D3D6CF;
	display: inline-block;
}

.pm-card__more {
	font-size: 11px;
	color: var(--pm-muted-3);
}

/* Kartica u arhivi: izbor boje i veličine + „Dodaj u korpu" (v1.22) */
.pm-card--shop {
	display: flex;
	flex-direction: column;
}

.pm-card--shop .pm-card__media {
	display: block;
}

.pm-card--shop .pm-card__name {
	display: block;
}

.pm-card__swatches,
.pm-card__sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.pm-swatch {
	position: relative;
	width: 24px;
	height: 24px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #D3D6CF;
	background: var(--pm-swatch, #D3D6CF);
	box-shadow: inset 0 0 0 2px #FFFFFF;
	cursor: pointer;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.pm-swatch:hover {
	border-color: var(--pm-ink);
}

.pm-swatch.is-selected {
	border-color: var(--pm-forest);
	box-shadow: inset 0 0 0 2px #FFFFFF, 0 0 0 1.5px var(--pm-forest);
}

.pm-size {
	min-width: 34px;
	height: 30px;
	padding: 0 7px;
	border-radius: 8px;
	border: 1px solid var(--pm-border-strong);
	background: #FFFFFF;
	font-family: var(--pm-font);
	font-size: 12px;
	font-weight: 600;
	color: var(--pm-ink);
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pm-size:hover {
	border-color: var(--pm-ink);
}

.pm-size.is-selected {
	background: var(--pm-forest);
	border-color: var(--pm-forest);
	color: #FFFFFF;
}

/* Nema na stanju (globalno ili u preseku sa izabranom boju/veličinom) — precrtano */
.pm-swatch.is-out,
.pm-size.is-out {
	opacity: 0.45;
}

.pm-swatch.is-out::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -3px;
	right: -3px;
	height: 1.5px;
	background: var(--pm-ink);
	box-shadow: 0 0 0 1px #FFFFFF; /* vidljivo i preko crne boje */
	transform: rotate(-45deg);
}

.pm-size.is-out {
	text-decoration: line-through;
}

.pm-swatch:disabled,
.pm-size:disabled {
	cursor: not-allowed;
}

.pm-card__add {
	display: block;
	margin-top: auto;
	width: 100%;
	box-sizing: border-box;
	padding: 11px 10px;
	border-radius: 999px;
	background: var(--pm-leaf);
	font-family: var(--pm-font);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color: #FFFFFF !important;
	cursor: pointer;
	transition: background 0.15s ease;
}

.pm-card__add:hover {
	background: var(--pm-leaf-dark);
	color: #FFFFFF !important;
}

.pm-card__add.is-ready {
	background: var(--pm-forest);
}

.pm-card__add.is-ready:hover {
	background: var(--pm-moss);
}

.pm-card__add.is-out {
	background: var(--pm-border);
	color: var(--pm-muted-2) !important;
	cursor: not-allowed;
}

.pm-card__add.is-added {
	background: var(--pm-sage);
}

/* Delimičan izbor — red koji još treba izabrati kratko „zatrese" */
@keyframes pm-nudge {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-4px); }
	75% { transform: translateX(4px); }
}

.pm-card__swatches.is-needed,
.pm-card__sizes.is-needed {
	animation: pm-nudge 0.3s ease 2;
}

.pm-card__sizes.is-needed .pm-size:not(.is-out) {
	border-color: var(--pm-forest);
}

.pm-card__swatches.is-needed .pm-swatch:not(.is-out) {
	border-color: var(--pm-forest);
}

/* Beskonačno učitavanje — klasična paginacija se ne prikazuje (ostaje u HTML-u
   za pretraživače); bez JS-a radi link „Učitaj još proizvoda". */
.pm-archive .pm-pagination {
	display: none;
}

.pm-infinite {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
	margin-top: 32px;
}

.pm-infinite__spinner {
	display: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2.5px solid var(--pm-border);
	border-top-color: var(--pm-forest);
	animation: pm-spin 0.8s linear infinite;
}

@keyframes pm-spin {
	to { transform: rotate(360deg); }
}

.pm-infinite__more {
	font-size: 14px;
	font-weight: 700;
	color: var(--pm-forest) !important;
	border: 1.5px solid var(--pm-forest);
	border-radius: 999px;
	padding: 12px 24px;
}

.pm-infinite.is-auto .pm-infinite__more {
	display: none;
}

.pm-infinite.is-loading .pm-infinite__spinner {
	display: block;
}

.pm-infinite.is-failed .pm-infinite__more {
	display: inline-block;
}

@media (max-width: 760px) {
	.pm-swatch {
		width: 22px;
		height: 22px;
	}

	.pm-size {
		min-width: 30px;
		height: 28px;
		padding: 0 5px;
		font-size: 11px;
	}

	.pm-card__add {
		font-size: 12px;
		padding: 11px 6px;
	}
}

/* --------------------------------------------------------------------------
   Naslovna
   -------------------------------------------------------------------------- */

/* Hero — slika preko cele širine, tekst preko slike (v1.21). Desktop:
   vodoravna fotografija, tekst levo preko sive uzglavlje-pozadine; telefon:
   uspravna fotografija, tekst dole preko blagog tamnog gradijenta. */
.pm-hero {
	position: relative;
	overflow: hidden;
	background: #2A2C28;
	color: #FFFFFF;
	min-height: min(88vh, 860px);
	display: flex;
	align-items: center;
}

.pm-hero__bg,
.pm-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	display: block;
}

.pm-hero__img {
	object-fit: cover;
	object-position: 62% 42%;
}

.pm-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(18, 20, 16, 0.62) 0%, rgba(18, 20, 16, 0.38) 34%, rgba(18, 20, 16, 0) 62%);
	pointer-events: none;
}

.pm-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 96px 32px;
}

.pm-hero__content {
	max-width: 560px;
}

.pm-hero__eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.86);
	margin-bottom: 22px;
}

.pm-hero h1 {
	font-size: clamp(44px, 5.6vw, 80px);
	line-height: 1.02;
	font-weight: 800;
	letter-spacing: -0.03em;
	margin: 0 0 20px;
	color: #FFFFFF;
	text-wrap: balance;
}

.pm-hero__lead {
	font-size: 20px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
	margin: 0 0 36px;
	max-width: 32ch;
}

.pm-hero__ctas {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* Svetlo zeleno dugme (kao na pomirishi.rs) */
.pm-btn--leaf {
	background: var(--pm-leaf);
	color: #FFFFFF !important;
}

.pm-btn--leaf:hover {
	background: var(--pm-leaf-dark);
	color: #FFFFFF !important;
}

/* Dugmad preko fotografije */
.pm-btn--light {
	background: #FFFFFF;
	color: var(--pm-forest) !important;
}

.pm-btn--light:hover {
	background: var(--pm-cream);
	color: var(--pm-forest) !important;
}

.pm-btn--ghost {
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, 0.85);
	color: #FFFFFF !important;
}

.pm-btn--ghost:hover {
	background: #FFFFFF;
	color: var(--pm-forest) !important;
}

/* Traka sa brojevima ispod hero-a, uz brendove bambus maskote */
.pm-trust {
	border-bottom: 1px solid var(--pm-border);
}

.pm-trust__inner {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 36px 32px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.pm-trust__item {
	display: flex;
	align-items: center;
	gap: 18px;
	color: var(--pm-ink) !important;
}

.pm-trust__item + .pm-trust__item {
	border-left: 1px solid var(--pm-border);
	padding-left: 32px;
}

/* Specifičnost mora da pobedi globalno `body.pm-page img { height: auto }`. */
body.pm-page img.pm-mascot {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: 56px;
	max-width: none;
	transition: transform 0.25s ease;
}

body.pm-page .pm-feature__icon img.pm-mascot,
body.pm-page .pm-reviews__score img.pm-mascot {
	height: 64px;
}

a.pm-trust__item:hover .pm-mascot,
.pm-reviews__score:hover .pm-mascot {
	transform: translateY(-2px);
}

.pm-stat__num {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.pm-stat__num .pm-stars {
	color: var(--pm-star);
	font-size: 16px;
	vertical-align: 3px;
}

.pm-stat__label {
	font-size: 13px;
	color: var(--pm-muted-2);
	margin-top: 4px;
}

@media (max-width: 760px) {
	/* Telefon (v1.23.3): slika preko cele širine (isečena tako da je veš u
	   centru pažnje, bez zida i stopala), tekst ISPOD slike na belom — preko
	   slike bi pokrivao veš. */
	.pm-hero {
		display: block;
		min-height: 0;
		background: #FFFFFF;
		color: var(--pm-ink);
	}

	.pm-hero::after {
		content: none;
	}

	/* Visina slike prati visinu ekrana (v1.24.6): header + traka (~117px) +
	   tekst sa dugmetom (~185px) moraju stati u prvi ekran, pa slika dobija
	   ostatak — najmanje 240px, najviše prirodnih 422px (bez sečenja sa strane). */
	.pm-hero__bg {
		position: relative;
		inset: auto;
		aspect-ratio: auto;
		height: clamp(240px, calc(100svh - 320px), 422px) !important;
	}

	.pm-hero__img {
		object-position: 50% 45%;
	}

	.pm-hero__inner {
		box-sizing: border-box; /* širina 100% uključuje padding — inače 40px van ekrana */
		padding: 16px 20px 20px;
	}

	.pm-hero__eyebrow {
		font-size: 10px;
		color: var(--pm-forest);
		margin-bottom: 8px;
	}

	.pm-hero h1 {
		font-size: clamp(26px, 8vw, 32px);
		line-height: 1.08;
		color: var(--pm-ink);
		margin-bottom: 6px;
	}

	.pm-hero__lead {
		font-size: 15px;
		color: var(--pm-muted);
		margin-bottom: 14px;
	}

	.pm-hero__ctas {
		flex-wrap: nowrap;
		gap: 10px;
	}

	.pm-hero__ctas .pm-btn {
		flex: 1 1 0;
		text-align: center;
		font-size: 15px;
		letter-spacing: 0.01em;
		padding: 14px 10px;
		white-space: nowrap;
	}

	.pm-trust__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding: 8px 20px;
	}

	.pm-trust__item {
		padding: 18px 0;
	}

	.pm-trust__item + .pm-trust__item {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid var(--pm-border);
	}

	body.pm-page .pm-trust img.pm-mascot {
		height: 48px;
	}
}

/* „Sve što očekuješ" — raspored kao na pomirishi.rs (v1.23): naslov u
   uokvirenom polju sa pečatom, lista osobina sa linijama levo, jedna
   fotografija desno (samo desktop). */
.pm-expect__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border: 1.5px solid var(--pm-border-strong);
	border-radius: 24px;
	padding: 22px 32px;
	margin-bottom: 40px;
}

.pm-expect__head h2 {
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
}

.pm-expect__seal {
	width: 82px;
	height: auto;
	flex-shrink: 0;
}

.pm-expect__body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	align-items: center;
}

.pm-expect__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pm-expect__item {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 26px 0;
	border-bottom: 1px solid var(--pm-border-strong);
}

.pm-expect__item:first-child {
	padding-top: 0;
}

.pm-expect__item:last-child {
	border-bottom: 0;
}

.pm-expect__icon {
	width: 44px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	color: var(--pm-forest);
}

body.pm-page .pm-expect__icon img.pm-mascot {
	height: 44px;
}

.pm-expect__icon svg {
	height: 36px;
	width: auto;
}

.pm-expect__item h3 {
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--pm-forest);
	margin: 4px 0 8px;
}

.pm-expect__item p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--pm-muted);
	margin: 0;
}

body.pm-page .pm-expect__media {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 24px;
	display: block;
}

/* Recenzije — karusel */
.pm-reviews__carousel {
	position: relative;
}

.pm-reviews__carousel .pm-reviews__grid {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 72px) / 4);
	grid-template-columns: none;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}

.pm-reviews__carousel .pm-reviews__grid::-webkit-scrollbar {
	display: none;
}

.pm-reviews__carousel .pm-review {
	scroll-snap-align: start;
}

.pm-carousel__btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border-radius: 50%;
	border: 0;
	background: var(--pm-ink);
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.pm-carousel__btn::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.pm-carousel__btn--prev {
	left: -22px;
}

.pm-carousel__btn--prev::before {
	border-right: 8px solid #FFFFFF;
	transform: translate(-60%, -50%);
}

.pm-carousel__btn--next {
	right: -22px;
}

.pm-carousel__btn--next::before {
	border-left: 8px solid #FFFFFF;
	transform: translate(-40%, -50%);
}

.pm-carousel__btn:disabled {
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 1080px) {
	.pm-expect__body {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pm-page .pm-expect__media {
		display: none;
	}

	.pm-reviews__carousel .pm-reviews__grid {
		grid-auto-columns: calc((100% - 24px) / 2);
	}
}

@media (max-width: 760px) {
	.pm-expect__head {
		padding: 16px 20px;
		margin-bottom: 24px;
	}

	.pm-expect__seal {
		width: 60px;
	}

	.pm-expect__item {
		padding: 20px 0;
	}

	.pm-expect__item h3 {
		font-size: 17px;
	}

	.pm-expect__item p {
		font-size: 14px;
	}

	.pm-reviews__carousel .pm-reviews__grid {
		grid-auto-columns: 84%;
		gap: 14px;
	}

	.pm-carousel__btn {
		width: 38px;
		height: 38px;
		margin-top: -19px;
	}

	.pm-carousel__btn--prev {
		left: -10px;
	}

	.pm-carousel__btn--next {
		right: -10px;
	}
}

/* Sekcije */
.pm-section {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 96px 32px;
}

.pm-section--tight-top {
	padding-top: 24px;
}

.pm-section-head {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
	align-items: end;
	margin-bottom: 56px;
}

.pm-section-head h2,
.pm-h2 {
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: 0;
}

.pm-section-head p {
	font-size: 17px;
	line-height: 1.6;
	color: var(--pm-muted);
	margin: 0;
	justify-self: end;
	max-width: 44ch;
}

.pm-section-head p a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pm-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 24px;
}

.pm-feature {
	background: var(--pm-bg);
	border: 1px solid var(--pm-border);
	border-radius: var(--pm-radius);
	padding: 36px 32px;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-feature:hover {
	transform: translateY(-4px);
}

.pm-feature__icon {
	height: 64px;
	display: flex;
	align-items: flex-end;
	margin-bottom: 24px;
	color: var(--pm-forest);
}

.pm-feature__icon svg {
	width: auto;
	height: 52px;
}

.pm-feature h3 {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 12px;
}

.pm-feature p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--pm-muted);
	margin: 0;
}

.pm-photo-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pm-photo-grid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 24px;
	display: block;
}

/* Kategorije */
.pm-cats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pm-cat-card {
	position: relative;
	display: block;
	border-radius: 24px;
	overflow: hidden;
}

.pm-cat-card img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.pm-cat-card:hover img {
	transform: scale(1.04);
}

.pm-cat-card__label {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 20px;
	background: var(--pm-forest);
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: center;
	padding: 18px 24px;
	border-radius: 999px;
	transition: background 0.2s ease;
}

.pm-cat-card:hover .pm-cat-card__label {
	background: var(--pm-leaf);
}

/* Kolekcija (tabovi) */
.pm-collection {
	background: var(--pm-bg);
	border-top: 1px solid var(--pm-border);
	padding: 96px 0;
}

.pm-collection__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 40px;
}

.pm-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pm-tab {
	font-family: var(--pm-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 7px 14px;
	border-radius: 999px;
	border: 1.5px solid var(--pm-forest);
	cursor: pointer;
	background: transparent;
	color: var(--pm-forest);
	transition: background 0.15s ease, color 0.15s ease;
}

.pm-tab.is-active {
	background: var(--pm-forest);
	color: var(--pm-surface);
}

.pm-collection__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.pm-collection__grid .pm-card__name {
	font-size: 16px;
	margin-bottom: 6px;
}

.pm-collection__grid .pm-card__price {
	font-size: 17px;
}

.pm-collection__cta {
	text-align: center;
	margin-top: 52px;
}

.pm-card.is-hidden {
	display: none;
}

/* Recenzije */
.pm-reviews__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 44px;
}

.pm-reviews__score {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--pm-ink) !important;
}

.pm-reviews__num {
	font-size: 40px;
	font-weight: 800;
}

.pm-stars {
	color: var(--pm-star);
	letter-spacing: 2px;
}

.pm-reviews__meta {
	font-size: 13px;
	color: var(--pm-muted-2);
}

.pm-reviews__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.pm-review {
	border: 1px solid var(--pm-border);
	border-radius: 20px;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pm-review p {
	font-size: 15px;
	line-height: 1.6;
	color: #3A3E37;
	margin: 0;
	flex: 1;
}

.pm-review__author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pm-review__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--pm-sage);
	color: var(--pm-bg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 14px;
	flex-shrink: 0;
}

.pm-review__avatar {
	position: relative;
	overflow: hidden;
}

body.pm-page .pm-review__avatar img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.pm-review__name {
	font-size: 14px;
	font-weight: 600;
}

/* Tamna sekcija prednosti */
.pm-dark {
	background: var(--pm-forest);
	color: var(--pm-cream);
	padding: 96px 0;
}

.pm-dark .pm-h2 {
	margin-bottom: 56px;
	max-width: 20ch;
	line-height: 1.1;
}

.pm-perks {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px 40px;
}

.pm-perk {
	border-top: 1px solid var(--pm-dark-border-2);
	padding-top: 24px;
}

.pm-perk__num {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--pm-footer-text);
	margin-bottom: 14px;
}

.pm-perk h3 {
	font-size: 19px;
	font-weight: 700;
	margin: 0 0 10px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.pm-perk p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--pm-cream-dim);
	margin: 0;
}

/* Brandmark — giant faint wordmark sa parallax pomeranjem (JS: main.js) */
.pm-brandmark {
	position: relative;
	overflow: hidden;
	background: var(--pm-bg);
	border-top: 1px solid var(--pm-border);
	padding: 120px 0;
	min-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pm-brandmark__word {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(1320px, 94vw);
	transform: translate3d(-50%, -50%, 0);
	pointer-events: none;
	user-select: none;
	will-change: transform;
}

.pm-brandmark__word img {
	display: block;
	width: 100%;
	height: auto;
}

.pm-brandmark__content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 0 32px;
}

.pm-brandmark__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin-bottom: 18px;
}

.pm-brandmark__quote {
	font-weight: 500;
	white-space: nowrap;
	font-size: clamp(19px, 3.4vw, 42px);
	line-height: 1.25;
	color: var(--pm-forest);
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	.pm-brandmark__word {
		transform: translate3d(-50%, -50%, 0) !important;
	}
}

@media (max-width: 760px) {
	.pm-brandmark {
		padding: 80px 0;
		min-height: 240px;
	}

	.pm-brandmark__word {
		width: 94vw;
	}
}

/* Blog */
.pm-blog__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 44px;
	flex-wrap: wrap;
}

.pm-blog__all {
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.pm-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pm-post {
	display: block;
}

.pm-post__media {
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 18px;
	background: var(--pm-surface);
}

.pm-post__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.pm-post:hover .pm-post__media img {
	transform: scale(1.04);
}

.pm-post__meta {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin-bottom: 10px;
}

.pm-post h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	color: var(--pm-ink);
	text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   Arhiva (kategorija / prodavnica)
   -------------------------------------------------------------------------- */

.pm-archive-hero {
	background: var(--pm-bg);
	border-bottom: 1px solid var(--pm-border);
}

.pm-archive-hero__inner {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 48px 32px 40px;
}

.pm-breadcrumb {
	font-size: 13px;
	color: var(--pm-muted-3);
	margin-bottom: 18px;
}

.pm-breadcrumb a {
	color: var(--pm-muted-3);
}

.pm-breadcrumb a:hover {
	color: var(--pm-moss);
}

.pm-breadcrumb__sep {
	margin: 0 8px;
}

.pm-breadcrumb__current {
	color: var(--pm-ink);
	font-weight: 600;
}

.pm-archive-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.pm-archive-hero h1 {
	font-size: clamp(40px, 5vw, 64px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	margin: 0;
}

.pm-archive-hero__desc {
	font-size: 16px;
	line-height: 1.6;
	color: var(--pm-muted);
	margin: 0;
	max-width: none;
}

.pm-archive {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 40px 32px 96px;
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.pm-filters {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Kompaktniji čipovi u filterima (v1.23) */
.pm-filters .pm-chiprow {
	gap: 6px;
}

.pm-filters .pm-chip {
	font-size: 12px;
	padding: 5px 10px;
	gap: 6px;
}

.pm-filters .pm-chip .pm-dot {
	width: 11px;
	height: 11px;
}

.pm-filters .pm-size-chip {
	min-width: 36px;
	font-size: 12px;
	padding: 6px 5px;
	border-radius: 8px;
}

.pm-filters .pm-filter-check {
	font-size: 13px;
}

.pm-filters-backdrop {
	display: none;
}

.pm-filters__head {
	display: none;
}

.pm-filters__apply {
	display: none;
}

.pm-filters__close {
	display: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: none;
	background: none;
	color: #FFFFFF;
	font-size: 22px;
	cursor: pointer;
}

/* Traka kategorija sa ikonicama + „Filter | Sortiranje" (kao na pomirishi.rs).
   Vidljive samo do 1080px — na desktopu je sve u bočnoj koloni. */
.pm-catbar,
.pm-filterbar {
	display: none;
}

.pm-catbar {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-bottom: 1px solid var(--pm-border-strong);
}

.pm-catbar__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 11px 4px 10px;
	color: var(--pm-ink) !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: center;
}

.pm-catbar__item + .pm-catbar__item {
	border-left: 1px solid var(--pm-border-strong);
}

.pm-catbar__item svg {
	width: 30px;
	height: 30px;
}

.pm-catbar__item.is-active {
	color: var(--pm-forest) !important;
	background: var(--pm-surface);
	box-shadow: inset 0 -3px 0 var(--pm-forest);
}

.pm-filterbar {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 1px solid var(--pm-ink);
}

.pm-filterbar__btn,
.pm-filterbar__sort {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 8px;
	font-family: var(--pm-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pm-forest);
	background: none;
	border: 0;
	cursor: pointer;
}

.pm-filterbar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--pm-forest);
	color: #FFFFFF;
	font-size: 11px;
	letter-spacing: 0;
}

/* Nevidljiv native <select> preko natpisa „Sortiranje" — na telefonu otvara
   sistemski izbor, a promenu hvata isti AJAX handler kao i toolbar. */
.pm-orderby-form--overlay {
	position: absolute;
	inset: 0;
	margin: 0;
}

.pm-orderby-form--overlay select.pm-orderby {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	border: 0;
}

/* Kategorije u filterima: ikonica + naziv, potkategorije na „+" */
.pm-fcats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.pm-fcat__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.pm-fcat__link {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 0;
	font-size: 15px;
	font-weight: 500;
	color: var(--pm-ink) !important;
}

.pm-fcat__link.is-active {
	color: var(--pm-forest) !important;
	font-weight: 700;
}

.pm-fcat__icon {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--pm-ink);
}

.pm-fcat__icon svg {
	max-width: 24px;
	max-height: 24px;
	width: auto;
	height: auto;
}

/* Plus/minus dugme (kategorije i sekcije filtera) */
.pm-fold-btn {
	position: relative;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border: 0;
	background: none;
	cursor: pointer;
	color: var(--pm-ink);
}

.pm-fold-btn::before,
.pm-fold-btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2.5px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.pm-fold-btn::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.is-open > .pm-fcat__row .pm-fold-btn::after,
.pm-facet.is-open .pm-fold-btn::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.pm-fcat__sub {
	display: none;
	list-style: none;
	margin: 0 0 8px;
	padding: 0 0 0 36px;
}

.pm-fcat.is-open .pm-fcat__sub {
	display: block;
}

.pm-subcat {
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	font-size: 15px;
	border-radius: 10px;
	padding: 8px 12px;
	margin-left: -12px;
	color: var(--pm-muted) !important;
	font-weight: 500;
}

.pm-subcat:hover {
	background: var(--pm-surface);
	color: var(--pm-ink) !important;
}

.pm-subcat.is-active {
	background: var(--pm-forest);
	color: #FFFFFF !important;
	font-weight: 700;
}

.pm-subcat__count {
	font-size: 12px;
	opacity: 0.6;
}

/* Sekcije filtera (Boje, Veličine, Cena) */
.pm-facet {
	border-top: 1px solid var(--pm-border);
}

.pm-facet__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 11px 0;
	font-family: var(--pm-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pm-forest);
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
}

.pm-facet__body {
	display: none;
	padding-bottom: 14px;
}

.pm-facet.is-open .pm-facet__body {
	display: block;
}

@media (min-width: 1081px) {
	.pm-facet__body {
		display: block;
	}

	.pm-facet__head {
		cursor: default;
		pointer-events: none;
	}

	.pm-facet__head .pm-fold-btn {
		display: none;
	}
}

.pm-chiprow {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pm-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 600;
	border-radius: 999px;
	padding: 7px 12px;
	border: 1.5px solid var(--pm-border);
	background: transparent;
	color: var(--pm-ink) !important;
	cursor: pointer;
}

.pm-chip:hover {
	border-color: var(--pm-border-strong);
}

.pm-chip.is-active {
	border-color: var(--pm-forest);
	background: var(--pm-surface);
}

.pm-chip .pm-dot {
	width: 13px;
	height: 13px;
	border: 1px solid var(--pm-border-strong);
}

.pm-size-chip {
	min-width: 42px;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	border-radius: 10px;
	padding: 8px 6px;
	border: 1.5px solid var(--pm-border-strong);
	background: transparent;
	color: var(--pm-forest) !important;
	cursor: pointer;
}

.pm-size-chip.is-active {
	border-color: var(--pm-forest);
	background: var(--pm-forest);
	color: var(--pm-surface) !important;
}

.pm-filter-check {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: var(--pm-ink) !important;
}

.pm-filter-check input {
	width: 18px;
	height: 18px;
	accent-color: var(--pm-forest);
	pointer-events: none;
}

.pm-filter-reset {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	border: 1.5px solid var(--pm-forest);
	background: none;
	color: var(--pm-forest) !important;
	border-radius: 999px;
	padding: 11px 18px;
	cursor: pointer;
}

.pm-filter-reset:hover {
	background: var(--pm-forest);
	color: var(--pm-surface) !important;
}

.pm-filter-banners {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pm-filter-banners img {
	width: 100%;
	border-radius: 14px;
	display: block;
}

.pm-archive__toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	gap: 16px;
	flex-wrap: wrap;
}

.pm-archive__count {
	font-size: 14px;
	color: var(--pm-muted-2);
}

.pm-orderby-form--toolbar select.pm-orderby {
	font-family: var(--pm-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--pm-ink);
	border: 1.5px solid var(--pm-border-strong);
	border-radius: 999px;
	padding: 10px 16px;
	background: var(--pm-bg);
	cursor: pointer;
}

.pm-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 20px;
}

.pm-archive__empty {
	text-align: center;
	padding: 80px 24px;
	border: 1.5px dashed var(--pm-border-strong);
	border-radius: 20px;
}

.pm-archive__empty-title {
	font-weight: 700;
	font-size: 26px;
	color: var(--pm-moss);
	margin-bottom: 10px;
}

.pm-archive__empty a {
	font-size: 14px;
	font-weight: 700;
	color: var(--pm-forest);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Dodatni opis kategorije — ispod grida/paginacije */
.pm-archive__second-desc {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--pm-border);
}

.pm-pagination {
	margin-top: 48px;
	text-align: center;
}

.pm-pagination .page-numbers {
	display: inline-flex;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pm-pagination .page-numbers li a,
.pm-pagination .page-numbers li span {
	display: inline-block;
	min-width: 42px;
	padding: 10px 12px;
	border-radius: 999px;
	border: 1.5px solid var(--pm-border-strong);
	font-size: 14px;
	font-weight: 700;
	color: var(--pm-forest);
	text-align: center;
}

.pm-pagination .page-numbers li span.current {
	background: var(--pm-forest);
	border-color: var(--pm-forest);
	color: var(--pm-surface);
}

/* Tamna traka na dnu arhive */
.pm-dark-band {
	background: var(--pm-forest);
	color: var(--pm-cream);
	padding: 72px 0;
}

.pm-dark-band__inner {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 0 32px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	align-items: center;
}

.pm-dark-band h2 {
	font-size: clamp(28px, 3.5vw, 38px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
}

.pm-dark-band p {
	font-size: 16px;
	line-height: 1.65;
	color: var(--pm-cream-dim);
	margin: 0;
}

.pm-dark-band p strong,
.pm-dark-band p.pm-strong {
	color: var(--pm-cream);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */

.pm-product {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 28px 32px 96px;
}

.pm-product__layout {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 64px;
	align-items: start;
}

.pm-gallery {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 16px;
	position: sticky;
	top: 110px;
	align-self: start;
	min-width: 0; /* .pm-gallery je i sam grid stavka kad .pm-product__layout postane 1 kolona */
}

/* Kolona thumbova visoka koliko i glavna slika; višak se skroluje.
   min-width:0 je bitan: grid stavke po default-u ne mogu da se skupe ispod
   min-content širine sadržaja, pa bi bez ovoga horizontalni red thumbova na
   mobilnom "izgurao" ceo grid (i stranicu) šire od viewporta umesto da se
   sam skroluje unutar svoje kolone. */
.pm-gallery__thumbswrap {
	position: relative;
	min-height: 0;
	min-width: 0;
}

.pm-gallery__thumbs {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: absolute;
	inset: 0;
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
}

.pm-gallery__thumbs::-webkit-scrollbar {
	display: none;
}

.pm-gallery__nav {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1.5px solid var(--pm-border-strong);
	background: var(--pm-bg);
	color: var(--pm-forest);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(34, 43, 28, 0.14);
	transition: background 0.15s ease, color 0.15s ease;
}

.pm-gallery__nav:hover {
	background: var(--pm-forest);
	color: var(--pm-surface);
}

.pm-gallery__nav--up {
	top: 6px;
}

.pm-gallery__nav--down {
	bottom: 6px;
}

.pm-gallery__nav[hidden] {
	display: none;
}

.pm-gallery__thumb {
	padding: 0;
	border-radius: 14px;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 2px solid transparent;
	flex-shrink: 0; /* thumbovi zadržavaju punu veličinu — višak se skroluje, ne sabija */
}

.pm-gallery__thumb.is-active {
	border-color: var(--pm-forest);
}

.pm-gallery__thumb img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
}

.pm-gallery__main {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	background: var(--pm-surface);
}

.pm-gallery__main img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}

.pm-gallery__badge {
	position: absolute;
	top: 18px;
	left: 18px;
	background: var(--pm-forest);
	color: var(--pm-cream);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 9px 18px;
	border-radius: 999px;
}

.pm-product__cat {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin-bottom: 14px;
}

.pm-product__title {
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: 0 0 16px;
}

.pm-product__rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	font-size: 13px;
	color: var(--pm-muted-2);
}

.pm-product__pricing {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 24px;
}

.pm-product__old-price {
	font-size: 20px;
	color: var(--pm-muted-price);
	text-decoration: line-through;
}

.pm-product__old-price .woocommerce-Price-amount {
	color: inherit;
}

.pm-product__price {
	font-size: 34px;
	font-weight: 800;
	color: var(--pm-forest);
}

.pm-product__excerpt {
	font-size: 16px;
	line-height: 1.6;
	color: #4E534A;
	margin: 0 0 24px;
	max-width: 52ch;
}

.pm-product__specs {
	display: flex;
	gap: 24px;
	font-size: 14px;
	color: #4E534A;
	margin-bottom: 28px;
	flex-wrap: wrap;
}

.pm-loyalty {
	background: var(--pm-surface);
	border-radius: 16px;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: #3A3E37;
	margin-bottom: 32px;
}

.pm-loyalty img {
	width: 26px;
	height: 26px;
}

/* Pack builder */
.pm-pack-section {
	margin-bottom: 24px;
}

.pm-pack-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.pm-pack-label span {
	color: var(--pm-moss);
}

.pm-packs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pm-pack {
	font-family: var(--pm-font);
	border-radius: 16px;
	cursor: pointer;
	padding: 16px 12px;
	text-align: center;
	border: 2px solid var(--pm-border);
	background: transparent;
}

.pm-pack.is-active {
	border-color: var(--pm-forest);
	background: var(--pm-surface);
}

.pm-pack__title {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pm-ink);
}

.pm-pack__range {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-top: 3px;
	color: var(--pm-muted-3);
}

.pm-pack__per {
	font-size: 14px;
	margin-top: 6px;
	color: var(--pm-ink);
}

.pm-pack__per strong {
	color: var(--pm-moss);
}

.pm-pack__per span {
	color: var(--pm-muted-3);
}

.pm-pack__disc {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-top: 6px;
	color: var(--pm-moss);
	min-height: 1em;
}

.pm-pack__disc:empty::before {
	content: '\00a0';
}

.pm-mix-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	gap: 12px;
}

.pm-sizetable-toggle {
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--pm-font);
	font-size: 13px;
	font-weight: 600;
	color: var(--pm-moss);
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: 0;
}

.pm-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pm-row {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1.5px solid var(--pm-border);
	border-radius: 14px;
	padding: 9px 12px;
}

.pm-row__swatch {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid var(--pm-border);
	display: inline-block;
	flex-shrink: 0;
}

.pm-row select {
	font-family: var(--pm-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--pm-ink);
	border: 1px solid var(--pm-border-strong);
	border-radius: 10px;
	padding: 9px 10px;
	background: var(--pm-bg);
	cursor: pointer;
}

.pm-row__color {
	flex: 1;
	min-width: 0;
}

.pm-row__size {
	width: 82px;
}

.pm-row__qty {
	display: flex;
	align-items: center;
	gap: 4px;
}

.pm-row__step {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1.5px solid var(--pm-forest);
	background: none;
	cursor: pointer;
	font-size: 15px;
	color: var(--pm-forest);
	line-height: 1;
}

.pm-row__num {
	min-width: 26px;
	text-align: center;
	font-size: 15px;
	font-weight: 700;
}

.pm-row__remove {
	width: 28px;
	height: 28px;
	border: none;
	background: none;
	cursor: pointer;
	font-size: 16px;
	color: var(--pm-muted-price);
}

/* Kombinacija bez zaliha */
.pm-row.is-unavailable {
	border-color: #B03A2E;
	background: rgba(176, 58, 46, 0.04);
	flex-wrap: wrap;
}

.pm-row__note {
	flex: 1 1 100%;
	font-size: 12px;
	font-weight: 600;
	color: #B03A2E;
	padding-left: 32px;
}

.pm-row select option:disabled,
.pm-row select option.is-out {
	color: #B03A2E;
	text-decoration: line-through;
}

.pm-tier-hint {
	margin-top: 10px;
	border-radius: 12px;
	padding: 9px 12px;
	background: var(--pm-surface);
	font-size: 13px;
	font-weight: 600;
	color: var(--pm-moss);
}

.pm-tier-hint[hidden] {
	display: none;
}

/* Info o zatečenoj količini u korpi — neutralno, da upsell ostane istaknut */
.pm-tier-hint--cart {
	background: none;
	border: 1px dashed var(--pm-border-strong);
	color: var(--pm-muted-3);
	font-weight: 600;
}

.pm-addrow {
	border: 1.5px dashed var(--pm-border-strong);
	background: none;
	border-radius: 14px;
	padding: 12px;
	cursor: pointer;
	font-family: var(--pm-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--pm-moss);
}

.pm-addrow:hover {
	border-color: var(--pm-moss);
	background: var(--pm-surface);
}

.pm-sizetable {
	margin: 16px 0 28px;
	border: 1px solid var(--pm-border);
	border-radius: 16px;
	padding: 20px 24px;
	overflow-x: auto;
}

.pm-sizetable[hidden] {
	display: none;
}

.pm-sizetable__title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.pm-sizetable table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	text-align: center;
}

.pm-sizetable th {
	font-weight: 700;
	padding: 4px 8px;
}

.pm-sizetable td {
	color: var(--pm-muted-2);
	padding: 4px 8px;
}

.pm-cart-btn {
	width: 100%;
	background: var(--pm-forest);
	color: var(--pm-surface);
	font-family: var(--pm-font);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	padding: 18px 34px;
	margin-bottom: 20px;
	transition: background 0.2s ease;
}

.pm-cart-btn:hover {
	background: var(--pm-moss);
}

.pm-cart-btn[disabled] {
	opacity: 0.7;
	cursor: default;
}

.pm-cart-btn.is-added {
	background: var(--pm-moss);
}

.pm-usps {
	display: flex;
	gap: 26px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pm-muted-2);
	flex-wrap: wrap;
}

/* Standardna add-to-cart forma (simple proizvodi) */
.pm-simple-cart form.cart {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.pm-simple-cart .quantity input {
	width: 74px;
	font-family: var(--pm-font);
	font-size: 15px;
	font-weight: 700;
	border: 1.5px solid var(--pm-border-strong);
	border-radius: 999px;
	padding: 14px 8px 14px 18px;
	background: var(--pm-bg);
}

.pm-simple-cart .single_add_to_cart_button {
	flex: 1;
	background: var(--pm-forest);
	color: var(--pm-surface);
	font-family: var(--pm-font);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	padding: 18px 34px;
}

.pm-simple-cart .single_add_to_cart_button:hover {
	background: var(--pm-moss);
}

.pm-simple-cart table.variations select {
	font-family: var(--pm-font);
	font-size: 14px;
	font-weight: 600;
	border: 1px solid var(--pm-border-strong);
	border-radius: 10px;
	padding: 9px 10px;
	background: var(--pm-bg);
}

/* Detalji — akordeoni */
.pm-details {
	max-width: 880px;
	margin: 72px auto 0;
}

.pm-details__title {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 8px;
}

.pm-acc {
	border-top: 1px solid var(--pm-border);
}

.pm-acc:last-child {
	border-bottom: 1px solid var(--pm-border);
}

.pm-acc__toggle {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 20px 0;
	font-family: var(--pm-font);
	font-size: 16px;
	font-weight: 700;
	color: var(--pm-ink);
	text-align: left;
	gap: 16px;
}

.pm-acc__icon {
	color: var(--pm-sage);
	font-size: 18px;
	flex-shrink: 0;
}

.pm-acc__body {
	padding: 0 0 20px;
	font-size: 15px;
	line-height: 1.7;
	color: #4E534A;
}

.pm-acc__body > *:first-child {
	margin-top: 0;
}

.pm-acc__body > *:last-child {
	margin-bottom: 0;
}

.pm-acc__body ul {
	margin: 0;
	padding-left: 20px;
}

/* FAQ */
.pm-faq {
	max-width: 880px;
	margin: 0 auto;
	padding: 48px 32px 96px;
}

.pm-faq-group {
	margin-bottom: 48px;
}

.pm-faq-group:last-child {
	margin-bottom: 0;
}

.pm-faq-group__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin-bottom: 8px;
}

.pm-faq-q {
	display: flex;
	align-items: baseline;
	gap: 14px;
}

.pm-faq-num {
	font-weight: 800;
	color: var(--pm-sage);
	flex-shrink: 0;
}

.pm-acc[data-open="false"] .pm-acc__body {
	display: none;
}

/* Preporučeni proizvodi */
.pm-related {
	background: var(--pm-bg);
	border-top: 1px solid var(--pm-border);
	padding: 88px 0;
}

.pm-related__inner {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 0 32px;
}

.pm-related h2 {
	font-size: clamp(30px, 3.5vw, 40px);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 40px;
}

.pm-related__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

/* --------------------------------------------------------------------------
   Sadržajne stranice (o nama, loyalty, kontakt, prodajna mesta, blog)
   -------------------------------------------------------------------------- */

.pm-story {
	max-width: 880px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.75;
	color: #4E534A;
}

.pm-story p {
	margin: 0 0 20px;
}

.pm-quoteband {
	background: var(--pm-bg);
	border-top: 1px solid var(--pm-border);
	padding: 72px 0;
}

.pm-quoteband p {
	font-weight: 400;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.35;
	color: var(--pm-moss);
	margin: 0;
	max-width: 32ch;
}

.pm-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.pm-checklist__item {
	background: var(--pm-surface);
	border-radius: 16px;
	padding: 20px 24px 20px 52px;
	font-size: 15px;
	line-height: 1.55;
	color: #3A3E37;
	position: relative;
}

.pm-checklist__item::before {
	content: '✓';
	position: absolute;
	left: 22px;
	top: 19px;
	color: var(--pm-moss);
	font-weight: 700;
}

/* Kontakt */
.pm-contact {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 48px 32px 96px;
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 48px;
	align-items: start;
}

.pm-contact__info {
	display: grid;
	gap: 16px;
}

.pm-contact-card {
	border: 1px solid var(--pm-border);
	border-radius: 20px;
	padding: 24px;
}

.pm-contact-card__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin-bottom: 8px;
}

.pm-contact-card__value {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: var(--pm-ink) !important;
}

a.pm-contact-card__value:hover {
	color: var(--pm-moss) !important;
}

.pm-contact-card__note {
	font-size: 13px;
	color: var(--pm-muted-2);
	margin-top: 6px;
}

.pm-contact-card__links {
	display: flex;
	gap: 16px;
	font-size: 15px;
	font-weight: 600;
}

.pm-contact__form h2 {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0 0 24px;
}

/* Generička forma teme */
.pm-form p {
	margin: 0 0 16px;
}

.pm-form label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
}

.pm-form input[type="text"],
.pm-form input[type="email"],
.pm-form input[type="tel"],
.pm-form textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--pm-font);
	font-size: 15px;
	border: 1.5px solid var(--pm-border-strong);
	border-radius: 12px;
	padding: 12px 14px;
	background: var(--pm-bg);
	color: var(--pm-ink);
}

.pm-form input:focus,
.pm-form textarea:focus {
	border-color: var(--pm-moss);
	outline: none;
	box-shadow: 0 0 0 3px rgba(86, 101, 63, 0.12);
}

.pm-form textarea {
	resize: vertical;
}

.pm-form__row--2col {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.pm-form__row--2col p {
	margin: 0;
}

.pm-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.pm-form-status {
	border-radius: 14px;
	padding: 14px 18px;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 20px;
}

.pm-form-status--ok {
	background: var(--pm-surface);
	color: var(--pm-forest);
	border: 1px solid var(--pm-sage-light);
}

.pm-form-status--err {
	background: rgba(176, 58, 46, 0.06);
	color: #B03A2E;
	border: 1px solid rgba(176, 58, 46, 0.3);
}

/* Kolaboracije */
.pm-collabs {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 48px 32px 96px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.pm-collab-card {
	border: 1px solid var(--pm-border);
	border-radius: 24px;
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.pm-collab-card__logo {
	height: 56px;
	display: flex;
	align-items: center;
}

.pm-collab-card__logo img {
	max-height: 100%;
	max-width: 180px;
	width: auto;
	object-fit: contain;
}

.pm-collab-card__body h2 {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0 0 10px;
}

.pm-collab-card__body p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--pm-muted);
	margin: 0 0 22px;
}

/* Prodajna mesta */
.pm-stores {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 48px 32px 96px;
}

.pm-map {
	height: 560px;
	border-radius: 24px;
	overflow: hidden;
	background: var(--pm-surface);
	border: 1px solid var(--pm-border);
}

.pm-map-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-family: var(--pm-font);
	padding: 4px 2px;
	max-width: 240px;
}

.pm-map-info strong {
	font-size: 15px;
	color: var(--pm-ink);
}

.pm-map-info span {
	font-size: 13px;
	color: var(--pm-muted-2);
}

.pm-map-info a {
	font-size: 13px;
	font-weight: 700;
	color: var(--pm-moss);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pm-stores__group {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 48px 0 20px;
}

.pm-store-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.pm-store-card {
	border: 1px solid var(--pm-border);
	border-radius: 20px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pm-store-card h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.pm-store-card__address {
	font-size: 14px;
	color: var(--pm-muted-2);
	flex: 1;
}

.pm-store-card__hours {
	font-size: 13px;
	font-weight: 600;
	color: var(--pm-moss);
}

.pm-store-card__ctas {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.pm-store-card__pin {
	font-family: var(--pm-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	border: 1.5px solid var(--pm-forest);
	background: none;
	color: var(--pm-forest);
	border-radius: 999px;
	padding: 9px 16px;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.pm-store-card__pin:hover {
	background: var(--pm-forest);
	color: var(--pm-surface);
}

.pm-store-card__ctas a {
	font-size: 13px;
	font-weight: 700;
	color: var(--pm-moss);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Blog arhiva + članak */
.pm-blog-archive {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 48px 32px 96px;
}

.pm-article {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 28px 32px 24px;
}

/* Politika privatnosti / Uslovi korišćenja */
.pm-legal {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 48px 32px 96px;
}

.pm-article__head {
	margin-bottom: 32px;
}

.pm-article__meta {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin: 18px 0 14px;
}

.pm-article__dot {
	margin: 0 6px;
	opacity: 0.6;
}

.pm-article__head h1 {
	font-size: clamp(32px, 4.5vw, 52px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.08;
	margin: 0;
	text-wrap: balance;
}

.pm-article__hero {
	border-radius: 24px;
	overflow: hidden;
	margin-bottom: 40px;
	background: var(--pm-bg);
	border-top: 1px solid var(--pm-border);
}

.pm-article__hero img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}

/* Sadržaj članka — obična (nesticky) kutija, uvek na vrhu teksta.
   Namerno bez position:sticky/fixed: baš to je pravilo bag na Elementor TOC
   widgetu, koji je bio dizajniran za širi layout sa sajdbarom i lomio se u
   ovoj uskoj prose koloni. */
.pm-toc {
	border: 1px solid var(--pm-border);
	border-radius: 20px;
	padding: 24px 28px;
	margin-bottom: 40px;
}

.pm-toc__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pm-sage);
	margin-bottom: 14px;
}

.pm-toc__list {
	margin: 0;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pm-toc__list li {
	font-size: 14px;
	line-height: 1.5;
}

.pm-toc__list a {
	color: var(--pm-ink);
	font-weight: 600;
}

.pm-toc__list a:hover {
	color: var(--pm-moss);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pm-prose {
	font-size: 17px;
	line-height: 1.75;
	color: #3A3E37;
}

/* Neki stariji sadržaj (Elementor) ponavlja naslov stranice kao h1 unutar
   sadržaja — hero iznad već prikazuje naslov, pa se ovaj duplikat sakriva. */
.pm-prose h1 {
	display: none;
}

.pm-prose p {
	margin: 0 0 20px;
}

.pm-prose h2 {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 40px 0 16px;
	color: var(--pm-ink);
	scroll-margin-top: 100px; /* da sticky header ne pokrije naslov posle klika iz Sadržaja */
}

.pm-prose h3 {
	font-size: 21px;
	font-weight: 700;
	margin: 32px 0 12px;
	color: var(--pm-ink);
}

.pm-prose ul,
.pm-prose ol {
	margin: 0 0 20px;
	padding-left: 24px;
}

.pm-prose li {
	margin-bottom: 8px;
}

.pm-prose img {
	border-radius: 18px;
	height: auto;
}

.pm-prose a {
	color: var(--pm-moss);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pm-prose blockquote {
	font-weight: 400;
	font-size: 22px;
	line-height: 1.45;
	color: var(--pm-moss);
	border-left: 3px solid var(--pm-sage-light);
	margin: 28px 0;
	padding: 4px 0 4px 24px;
}

/* CTA dugme unutar teksta članka (iz Elementor button widgeta) */
.pm-prose__btn {
	display: block;
	width: fit-content;
	margin: 8px 0 28px;
}

.pm-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 24px;
	font-size: 15px;
}

/* Na telefonu široka tabela ima sopstveni horizontalni skrol — ne sme da
   raširi kolonu (i mrežu proizvoda iznad) preko ekrana. */
@media (max-width: 760px) {
	.pm-prose table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		font-size: 14px;
	}

	.pm-prose table th,
	.pm-prose table td {
		min-width: 110px;
	}
}

.pm-prose {
	min-width: 0;
	overflow-wrap: break-word;
}

.pm-prose table th,
.pm-prose table td {
	border: 1px solid var(--pm-border);
	padding: 10px 12px;
	text-align: left;
}

.pm-prose table th {
	background: var(--pm-surface);
}

/* [su_note] — obojena kutija sa napomenom u tekstu članka */
.pm-note {
	border-radius: 18px;
	padding: 24px 28px;
	margin: 28px 0;
}

.pm-note p,
.pm-note ul {
	margin: 0 0 12px;
}

.pm-note p:last-child,
.pm-note ul:last-child {
	margin-bottom: 0;
}

.pm-note ul {
	padding-left: 22px;
}

.pm-note li {
	margin-bottom: 6px;
}

.pm-note li:last-child {
	margin-bottom: 0;
}

/* Link nasleđuje boju teksta kutije (koja je već izabrana da bude čitljiva
   na pozadini) umesto sajt-wide zelene — na tamnoj note_color pozadini bi
   inače zelen link bio nevidljiv (zeleno na zelenom). Podvlačenje ostaje
   jedini signal da je link. */
.pm-note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.pm-note a:hover {
	opacity: 0.8;
}

/* --------------------------------------------------------------------------
   Odbrana od tuđih stilova / elemenata na stranicama teme
   -------------------------------------------------------------------------- */

/* YITH Quick View modal i YITH points poruke (tema ima svoj loyalty box) */
body.pm-page #yith-quick-view-modal,
body.pm-page .yith-par-message,
body.pm-page .yith-par-message-product,
body.pm-page .yith-par-message-variation {
	display: none !important;
}

/* Variation Swatches ubacuje klase/dimenzije na slike galerije */
body.pm-page .pm-gallery__thumb {
	background: none !important;
	padding: 0 !important;
}

body.pm-page .pm-gallery__thumb img {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Sadržaj iz kratkog opisa: naslovi umereno, ne kao page heading */
.pm-product__excerpt h1,
.pm-product__excerpt h2,
.pm-product__excerpt h3,
.pm-product__excerpt h4 {
	font-family: var(--pm-font);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 10px;
	color: var(--pm-ink);
}

.pm-product__excerpt p {
	margin: 0 0 12px;
}

.pm-product__excerpt p:last-child {
	margin-bottom: 0;
}

/* Stanje učitavanja AJAX filtera */
.pm-collection__grid.is-loading,
[data-pm-results].is-loading {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1080px) {
	.pm-dark-band__inner,
	.pm-product__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.pm-section-head {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.pm-section-head p {
		justify-self: start;
	}

	.pm-feature-grid,
	.pm-photo-grid,
	.pm-cats,
	.pm-blog__grid,
	.pm-perks {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pm-collection__grid,
	.pm-reviews__grid,
	.pm-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pm-archive {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Filteri kao fioka (drawer) do 1080px — otvara je „Filter" u traci
	   ispod kategorija; zeleno zaglavlje i sekcije na „+" kao na pomirishi.rs. */
	.pm-catbar,
	.pm-filterbar {
		display: grid;
	}

	.pm-archive__toolbar .pm-orderby-form--toolbar {
		display: none;
	}

	.pm-filters {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(100vw, 420px);
		box-sizing: border-box;
		background: var(--pm-bg);
		z-index: 210;
		padding: 0 20px 32px;
		overflow-y: auto;
		transform: translateX(-100%);
		visibility: hidden;
		transition: transform 0.28s ease, visibility 0s linear 0.28s;
		gap: 0;
	}

	.pm-filters.is-open {
		transform: translateX(0);
		visibility: visible;
		transition: transform 0.28s ease;
		box-shadow: 0 0 40px rgba(34, 43, 28, 0.25);
	}

	.pm-filters > .pm-fcats {
		padding: 12px 0 16px;
	}

	.pm-filters > .pm-filter-check,
	.pm-filters > .pm-filter-reset,
	.pm-filters > .pm-filter-banners {
		margin-top: 20px;
	}

	.pm-filters-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(20, 22, 18, 0.45);
		z-index: 200;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.28s ease;
	}

	.pm-filters-backdrop.is-open {
		opacity: 1;
		pointer-events: auto;
	}

	.pm-filters__head {
		position: sticky;
		top: 0;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 -20px;
		padding: 18px 16px 18px 20px;
		background: var(--pm-forest);
		color: #FFFFFF;
		font-size: 20px;
		font-weight: 800;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	.pm-filters__close {
		display: flex;
	}

	.pm-filters__apply {
		display: block;
		position: sticky;
		bottom: 0;
		z-index: 1;
		width: 100%;
		margin-top: 24px;
		padding: 16px 20px;
		border: 0;
		border-radius: 999px;
		background: var(--pm-forest);
		color: #FFFFFF;
		font-family: var(--pm-font);
		font-size: 15px;
		font-weight: 700;
		letter-spacing: 0.02em;
		cursor: pointer;
		box-shadow: 0 0 0 14px #FFFFFF;
	}

	body.pm-filters-locked {
		overflow: hidden;
	}

	.pm-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pm-gallery {
		position: static;
	}
}

@media (max-width: 760px) {
	.pm-section {
		padding: 64px 20px;
	}

	.pm-container,
	.pm-archive-hero__inner,
	.pm-archive,
	.pm-product,
	.pm-related__inner,
	.pm-dark-band__inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.pm-feature-grid,
	.pm-photo-grid,
	.pm-cats,
	.pm-blog__grid,
	.pm-perks,
	.pm-reviews__grid,
	.pm-related__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pm-collection__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 12px;
	}

	.pm-collection__grid .pm-card__name {
		font-size: 14px;
	}

	.pm-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
	}

	.pm-packs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}


	.pm-gallery {
		grid-template-columns: minmax(0, 1fr);
	}

	.pm-gallery__thumbswrap {
		order: 2;
	}

	.pm-gallery__thumbs {
		position: static;
		flex-direction: row;
		overflow-x: auto;
		overflow-y: hidden;
	}

	.pm-gallery__nav {
		display: none !important;
	}

	.pm-gallery__thumb {
		width: 72px;
		flex-shrink: 0;
	}

	.pm-row {
		flex-wrap: wrap;
	}

	.pm-row__color {
		flex: 1 1 100%;
	}

	.pm-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pm-footer__bottom {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}

	.pm-checklist,
	.pm-form__row--2col {
		grid-template-columns: minmax(0, 1fr);
	}

	.pm-contact,
	.pm-blog-archive,
	.pm-stores,
	.pm-article,
	.pm-collabs,
	.pm-faq,
	.pm-legal {
		padding-left: 20px;
		padding-right: 20px;
	}

	.pm-map {
		height: 420px;
	}
}

@media (max-width: 1080px) {
	.pm-contact {
		grid-template-columns: minmax(0, 1fr);
	}

	.pm-store-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.pm-store-grid,
	.pm-collabs {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.pm-footer {
	background: var(--pm-ink);
	color: var(--pm-footer-text);
}

.pm-footer__grid {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: 72px 32px 0;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 48px;
}

.pm-footer__logo {
	width: min(172px, 100%);
	height: auto;
	display: block;
	margin-bottom: 22px;
}

.pm-footer__brand p {
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 20px;
	max-width: 40ch;
}

.pm-footer__cards {
	width: min(390px, 100%);
	height: auto;
	display: block;
}

.pm-footer__title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pm-footer-muted);
	margin-bottom: 18px;
}

.pm-footer__links {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 14px;
}

.pm-footer__links a {
	color: var(--pm-cream);
}

.pm-footer__links a:hover {
	color: var(--pm-sage-light);
}

.pm-footer__muted {
	color: var(--pm-footer-muted);
}

.pm-footer__bottom {
	max-width: var(--pm-container);
	margin: 32px auto 0;
	padding: 24px 32px;
	border-top: 1px solid var(--pm-dark-border);
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--pm-footer-muted);
	gap: 8px;
}

@media (max-width: 1080px) {
	.pm-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --------------------------------------------------------------------------
   Naslovna — razmaci između sekcija (v1.24.5)
   -------------------------------------------------------------------------- */

.pm-cats__title {
	margin-bottom: 40px;
}

/* Telefon: ujednačen, manji razmak — svaka sekcija 48px gore/dole; dve bele
   sekcije zaredom ne sabiraju razmak; naslov → sadržaj uvek 28px. */
@media (max-width: 760px) {
	body.home .pm-section,
	body.home .pm-collection,
	body.home .pm-dark {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	body.home .pm-section + .pm-section,
	body.home .pm-collection + .pm-section,
	body.home .pm-brandmark + .pm-section {
		padding-top: 0;
	}

	body.home .pm-trust__inner {
		padding-bottom: 0;
	}

	body.home .pm-trust__item:last-child {
		padding-bottom: 8px;
	}

	body.home .pm-expect__item:last-child {
		padding-bottom: 0;
	}

	body.home .pm-brandmark {
		padding: 48px 0;
		min-height: 0;
	}

	body.home .pm-cats__title,
	body.home .pm-collection__head,
	body.home .pm-reviews__head,
	body.home .pm-blog__head,
	body.home .pm-expect__head,
	body.home .pm-dark .pm-h2 {
		margin-bottom: 28px;
	}

	body.home .pm-collection__cta {
		margin-top: 32px;
	}

	body.home .pm-perks {
		gap: 28px;
	}

	body.home .pm-perk {
		padding-top: 18px;
	}
}
