/*!
Theme Name: Japan Piano Center - Hazel Child
Theme URI: https://japanpianocenter.com/
Description: Versioned customizations for the Japan Piano Center website.
Author: Japan Piano Center
Version: 1.1.170
Template: hazel
Text Domain: jpc-hazel-child
*/

/* Hide Hazel jump-to-top (short pages; overlaps AxiaChat). */
#back-top,
.link-to-top {
	display: none !important;
}

/*
 * Footer — patterns from Yamaha (gray social bar), Hartman (clear columns + map),
 * Thomann (dense dark legal strip). Piano-black, not a clone of any one brand.
 */
#big_footer {
	background: #161616 !important;
	color: rgba(255, 255, 255, 0.78);
}

#big_footer #primary_footer > .no-fcontainer,
#big_footer #primary_footer > .container {
	padding: 2.5rem 1.75rem 2rem !important;
}

#primary_footer .footer_sidebar > h4,
#primary_footer .footer_sidebar .widget > h4 {
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	margin: 0 0 0.85rem !important;
	padding: 0 !important;
	text-transform: uppercase !important;
}

#primary_footer .footer_sidebar > hr,
#primary_footer .footer_sidebar hr {
	display: none !important;
	margin: 0 !important;
}

#primary_footer .footer_sidebar .textwidget {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
	line-height: 1.55;
}

#primary_footer .footer_sidebar .textwidget p {
	margin: 0 0 0.55rem !important;
	padding: 0 !important;
}

#primary_footer .footer_sidebar .textwidget p:last-child {
	margin-bottom: 0 !important;
}

#primary_footer .footer_sidebar .textwidget a {
	color: rgba(255, 255, 255, 0.78) !important;
	line-height: 1.55;
	text-decoration: none !important;
	transition: color 0.15s ease;
}

#primary_footer .footer_sidebar .textwidget a:hover,
#primary_footer .footer_sidebar .textwidget a:focus {
	color: #fff !important;
}

#primary_footer .footer_sidebar .textwidget strong {
	color: rgba(255, 255, 255, 0.95);
	font-weight: 600;
}

/* Logo removed from dark footer — brand already in header. */
#primary_footer .footer_sidebar > img.image,
#primary_footer .footer_sidebar > a > img.image,
#primary_footer .footer_logo {
	display: none !important;
}

#primary_footer .footer_sidebar .textwidget img {
	height: auto;
	max-width: 100%;
}

#primary_footer .footer_sidebar .textwidget img[src*="mapa-japiano"] {
	border: 1px solid rgba(255, 255, 255, 0.12);
	display: block;
	max-height: 220px;
	object-fit: cover;
	object-position: center;
	opacity: 0.95;
	transition: opacity 0.15s ease;
	width: 100%;
}

#primary_footer .footer_sidebar .textwidget a:hover img[src*="mapa-japiano"] {
	opacity: 1;
}

/* Yamaha-style mid-gray social bar + dark legal strip */
#secondary_footer {
	background: transparent !important;
	padding: 0 !important;
}

#secondary_footer > .container {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

#secondary_footer .social-icons-fa {
	background: #3a3a3a !important;
	margin: 0 !important;
	padding: 1.35rem 1rem 1.45rem !important;
	text-align: center;
	width: 100%;
}

#secondary_footer .social-icons-fa::before {
	color: #fff;
	content: "Sledite nam";
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-bottom: 0.85rem;
	text-transform: uppercase;
}

#secondary_footer .social-icons-fa ul {
	display: inline-flex !important;
	align-items: center;
	gap: 1.75rem;
	justify-content: center;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

#secondary_footer .social-icons-fa ul li {
	display: inline-flex !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#secondary_footer .social-icons-fa ul li a {
	align-items: center;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 1.85rem !important;
	height: auto !important;
	justify-content: center;
	line-height: 1 !important;
	opacity: 1 !important;
	transition: opacity 0.15s ease, transform 0.15s ease;
	width: auto !important;
}

#secondary_footer .social-icons-fa ul li a:hover,
#secondary_footer .social-icons-fa ul li a:focus {
	opacity: 0.75 !important;
	transform: translateY(-1px);
}

#secondary_footer .social-icons-fa ul li a i,
#secondary_footer .social-icons-fa ul li a i:before,
#secondary_footer .social-icons-fa ul li a .fab,
#secondary_footer .social-icons-fa ul li a .fa {
	color: inherit !important;
	font-size: inherit !important;
	line-height: 1 !important;
	opacity: 1 !important;
}

#secondary_footer .footer_custom_text {
	background: #0f0f0f !important;
	margin: 0 !important;
	padding: 0.7rem 1.25rem !important;
	text-align: center;
	width: 100%;
}

#secondary_footer .footer_custom_text p,
#secondary_footer .footer_custom_text {
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.02em;
	line-height: 1.45 !important;
	margin: 0 !important;
}

#secondary_footer .footer_custom_text a {
	color: rgba(255, 255, 255, 0.7) !important;
	margin: 0 0.35rem;
	text-decoration: none !important;
}

#secondary_footer .footer_custom_text a:hover,
#secondary_footer .footer_custom_text a:focus {
	color: #fff !important;
}

@media (max-width: 991px) {
	#big_footer #primary_footer > .no-fcontainer,
	#big_footer #primary_footer > .container {
		padding: 1.85rem 1.15rem 1.25rem !important;
	}

	#primary_footer .footer_sidebar {
		margin-bottom: 1.5rem !important;
	}

	#primary_footer .footer_sidebar:last-child {
		margin-bottom: 0 !important;
	}

	#primary_footer .footer_sidebar .textwidget img[src*="mapa-japiano"] {
		max-height: 200px;
	}

	#secondary_footer .social-icons-fa {
		padding: 1.15rem 0.75rem 1.25rem !important;
	}

	#secondary_footer .social-icons-fa ul {
		gap: 1.5rem;
	}

	#secondary_footer .social-icons-fa ul li a {
		font-size: 1.7rem !important;
	}
}

/*
 * Homepage "Kategorije izdelkov" — denser than full-bleed 5×2.
 * Keep two WPBakery rows; constrain width; 2 columns on mobile.
 * Do not require body.home (SR7 may strip it). Match data-src for LiteSpeed lazy-load.
 */
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) {
	margin-left: auto;
	margin-right: auto;
	max-width: 1120px;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_empty_space {
	height: 0.5rem !important;
	margin: 0 !important;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_empty_space:first-child {
	height: 0.15rem !important;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_inner.vc_row-fluid {
	column-gap: 1.15rem;
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-bottom: 1.35rem !important;
	row-gap: 1.35rem;
	width: 100% !important;
}

/* Bootstrap/VC clearfix pseudos steal grid tracks. */
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_inner.vc_row-fluid::before,
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_inner.vc_row-fluid::after {
	content: none !important;
	display: none !important;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_inner > .wpb_column {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: auto !important;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .wpb_single_image,
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_figure,
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_single_image-wrapper {
	display: block;
	margin: 0 auto;
	text-align: center;
	width: 100%;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_single_image-wrapper img,
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) img.vc_single_image-img {
	aspect-ratio: 1;
	display: block;
	height: auto !important;
	margin: 0 auto;
	max-height: 160px;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.22s ease;
	width: auto !important;
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_single_image-wrapper:hover img,
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_single_image-wrapper:focus-visible img {
	transform: scale(1.04);
}

/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) h6,
/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .wpb_wrapper > h6 {
	font-size: 0.72rem !important;
	letter-spacing: 0.06em !important;
	line-height: 1.3 !important;
	margin: 0.55rem 0 0 !important;
	text-align: center !important;
	text-transform: uppercase;
}

@media (max-width: 991px) {
	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) {
		max-width: 720px;
	}

	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_inner.vc_row-fluid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_single_image-wrapper img,
	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) img.vc_single_image-img {
		max-height: 132px;
	}
}

@media (max-width: 767px) {
	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) {
		max-width: none;
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) > .vc_inner.vc_row-fluid {
		column-gap: 0.7rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 0.85rem !important;
		row-gap: 1rem;
	}

	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .vc_single_image-wrapper img,
	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) img.vc_single_image-img {
		max-height: 108px;
	}

	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) h6,
	/* Match data-src too: LiteSpeed lazy-load uses placeholder src until JS runs. */
.wpb_wrapper:has(> .vc_inner img[data-src*="kategorije-pianini"], > .vc_inner img[src*="kategorije-pianini"]) .wpb_wrapper > h6 {
		font-size: 0.65rem !important;
		letter-spacing: 0.04em !important;
		margin-top: 0.4rem !important;
	}
}

/*
 * Homepage brand logos (Nord / Yamaha / Casio) — WPBakery 3× vc_col-sm-4.
 * Fingerprint: /2026/05/2-2.png (Nord). Avoid body.home — SR strips it.
 * Match src + data-src (LiteSpeed lazy-load).
 */
.vc_row:has(img[src*="/2026/05/2-2.png"]),
.vc_row:has(img[data-src*="/2026/05/2-2.png"]),
.vc_row:has(.vc_inner img[src*="/2026/05/2-2.png"]),
.vc_row:has(.vc_inner img[data-src*="/2026/05/2-2.png"]) {
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	padding-bottom: 0.75rem !important;
	padding-top: 0.5rem !important;
}

/* Benefits strip (Hitra dostava / Varna plačila / Garancija) — trim excess padding.
 * Prefer .vc_custom_* / :has() — Slider Revolution strips body.home. */
.vc_custom_1480792812297,
.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) {
	padding-top: 1.5rem !important;
	padding-bottom: 1rem !important;
}

.vc_custom_1480792812297 .vc_inner.vc_custom_1462898611266,
.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .vc_inner {
	margin-bottom: 0 !important;
}

.vc_custom_1480792812297 .aio-icon-box.square_box-icon,
.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .aio-icon-box.square_box-icon {
	margin-bottom: 0 !important;
	padding: 1.15rem 1rem 0.95rem !important;
}

.vc_custom_1480792812297 .aio-icon-box.square_box-icon .aio-icon-header h3.aio-icon-title,
.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .aio-icon-box.square_box-icon .aio-icon-header h3.aio-icon-title {
	margin: 1.35rem 0 0.45rem !important;
}

.vc_custom_1480792812297 .aio-icon-box.square_box-icon .aio-icon-description,
.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .aio-icon-box.square_box-icon .aio-icon-description {
	margin-top: 0.35rem !important;
	padding-bottom: 0.35rem !important;
}

.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]),
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) {
	align-items: center !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
	justify-content: space-evenly !important;
	margin: 0 auto !important;
	max-width: 52rem;
	padding: 0 1rem !important;
	width: 100%;
}

.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) > .wpb_column,
.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) > .vc_column_container,
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) > .wpb_column,
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) > .vc_column_container {
	float: none !important;
	flex: 1 1 0 !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: auto !important;
}

.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) .vc_column-inner,
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) .vc_column-inner {
	display: flex !important;
	justify-content: center !important;
	padding: 0 !important;
	width: 100% !important;
}

.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) .wpb_single_image,
.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) .wpb_content_element,
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) .wpb_single_image,
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) .wpb_content_element {
	margin: 0 !important;
}

.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) img,
.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) img {
	display: block !important;
	height: auto !important;
	margin: 0 auto !important;
	max-height: 64px !important;
	max-width: 180px !important;
	object-fit: contain;
	width: auto !important;
}

@media (max-width: 767px) {
	.vc_row:has(.vc_inner img[src*="/2026/05/2-2.png"]),
	.vc_row:has(.vc_inner img[data-src*="/2026/05/2-2.png"]),
	.vc_row:has(img[src*="/2026/05/2-2.png"]),
	.vc_row:has(img[data-src*="/2026/05/2-2.png"]) {
		padding-bottom: 0.55rem !important;
		padding-top: 0.35rem !important;
	}

	.vc_custom_1480792812297,
	.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) {
		padding-bottom: 0.65rem !important;
		padding-top: 0.85rem !important;
	}

	/* Ultimate mobile spacers between stacked benefit cards (40px each). */
	.vc_custom_1480792812297 .ult-spacer,
	.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .ult-spacer {
		height: 0.85rem !important;
		max-height: 0.85rem !important;
		margin: 0 !important;
	}

	.vc_custom_1480792812297 .wpb_column > .vc_column-inner,
	.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .wpb_column > .vc_column-inner {
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
	}

	.vc_custom_1480792812297 .aio-icon-box.square_box-icon,
	.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .aio-icon-box.square_box-icon {
		padding: 0.85rem 0.85rem 0.7rem !important;
	}

	.vc_custom_1480792812297 .aio-icon-box.square_box-icon .aio-icon-header h3.aio-icon-title,
	.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .aio-icon-box.square_box-icon .aio-icon-header h3.aio-icon-title {
		font-size: 1.05rem !important;
		margin: 1.2rem 0 0.35rem !important;
	}

	.vc_custom_1480792812297 .aio-icon-box.square_box-icon .aio-icon-description,
	.vc_row:has(.aio-icon-box.square_box-icon .Defaults-truck) .aio-icon-box.square_box-icon .aio-icon-description {
		font-size: 0.9rem !important;
		line-height: 1.45 !important;
		margin-top: 0.25rem !important;
		padding-bottom: 0.2rem !important;
	}

	.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]),
	.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) {
		gap: 0.75rem !important;
		max-width: 100%;
		padding-left: 0.85rem !important;
		padding-right: 0.85rem !important;
	}

	.vc_row .vc_inner.vc_row-fluid:has(img[src*="/2026/05/2-2.png"]) img,
	.vc_row .vc_inner.vc_row-fluid:has(img[data-src*="/2026/05/2-2.png"]) img {
		max-height: 36px !important;
		max-width: 96px !important;
	}
}

/* Compact page-title banners on all subpages (Hazel present-container). */
.fullwidth-container .present-container,
.present-container {
	padding-top: 48px !important;
	padding-bottom: 40px !important;
}

/*
 * Typekit kit (josefin-sans / Josefin-Sans) lacks Latin Extended — Č/Š/Ž
 * fall back to a heavier system glyph. Prefer Google "Josefin Sans".
 * Must beat Hazel inline rules like `.woocommerce-page .present-container h1.page_title`.
 */
h1.page_title,
.present-container h1.page_title,
.woocommerce-page .present-container h1.page_title,
.woocommerce-account .present-container h1.page_title,
body.woocommerce-page .present-container h1.page_title,
body.woocommerce-account .present-container h1.page_title,
body .apply_newfonts_addons h1,
body .apply_newfonts_addons h1.aio-icon-title,
body .apply_newfonts_addons .uvc-main-heading h1,
body .apply_newfonts_addons h1.ultb3-title,
body .apply_newfonts_addons h1.ult-new-ib-title,
body .apply_newfonts_addons h1.ult-ih-heading,
body .apply_newfonts_addons h1.flipbox_heading,
body .apply_newfonts_addons h1.price-heading,
body .apply_newfonts_addons h1.price-subheading,
body .apply_newfonts_addons h1.ult-team-member-name,
body .apply_newfonts_addons h1.ult-timeline-title {
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
}

.present-container h1.page_title {
	letter-spacing: 0.12em !important;
	margin-bottom: 0.25em;
}

.present-container .breadcrumb,
.present-container .page_title_breadcrumbs,
.present-container h2.secondaryTitle {
	margin-top: 0.15em;
}

/*
 * Subpage WPBakery photo banners (Ultimate bg_override=ex-full).
 * Same full-bleed width everywhere; compact vertical size (~240–280px vs ~500px).
 * Guideline: banner copy is centered.
 */
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) {
	padding-top: clamp(3rem, 5.5vw, 4.25rem) !important;
	padding-bottom: clamp(2.75rem, 5vw, 3.75rem) !important;
	min-height: 0 !important;
	text-align: center !important;
}

body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .vc_column-inner,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .wpb_wrapper,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .ultimate-heading,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .ult-mainheading {
	text-align: center !important;
}

body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .vc_custom_heading,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) h1,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) h2,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) h3,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) h5,
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) p {
	line-height: 1.2 !important;
	margin-bottom: 0.65rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .vc_empty_space {
	height: 12px !important;
}

/* Kontakt-style banners use Ultimate Spacer instead of row padding. */
body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) .ult-spacer {
	max-height: 4.25rem !important;
}

@media (max-width: 768px) {
	.fullwidth-container .present-container,
	.present-container {
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	body:not(.home) .vc_row.vc_row-has-fill:has(> .upb_row_bg) {
		padding-top: 2.75rem !important;
		padding-bottom: 2.5rem !important;
	}
}

/* Ultimate Buttons: nested <button> inside <a> can eat clicks — pass through to link. */
a.ubtn-link .ubtn {
	pointer-events: none;
}

/* AxiaChat: stay pinned to viewport bottom-right (theme transforms break fixed). */
.aichat-widget.is-global,
.aichat-widget.is-global.is-superminimized,
.aichat-widget.is-global.is-maximized {
	position: fixed !important;
	right: max(12px, env(safe-area-inset-right, 0px)) !important;
	bottom: max(20px, env(safe-area-inset-bottom, 0px)) !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	z-index: 999999 !important;
}

.aichat-widget.is-global.is-superminimized {
	bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
}

/*
 * Chatbot launcher: only the round mark — no square plate/shadow.
 * box-shadow on <img> paints a rectangle; use drop-shadow (alpha-aware).
 */
.aichat-widget.is-superminimized,
.aichat-widget.is-superminimized .aichat-inner,
.aichat-super-avatar,
.aichat-widget.is-superminimized .aichat-super-avatar {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.aichat-super-avatar,
.aichat-widget.is-superminimized .aichat-super-avatar {
	border-radius: 0 !important;
	overflow: visible !important;
}

.aichat-super-avatar > img,
.aichat-widget.is-superminimized .aichat-super-avatar > img {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block !important;
	filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.28));
	height: 100% !important;
	object-fit: contain !important;
	width: 100% !important;
}

.aichat-avatar-badge {
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.aichat-avatar-badge img {
	background: transparent !important;
	box-shadow: none !important;
	display: block !important;
	height: 100% !important;
	object-fit: contain !important;
	width: 100% !important;
}


/* ==========================================================================
 * Blog index — card grid (Hartman / Thomann inspired, JPC brand)
 * ========================================================================== */
body.blog:not(.single-post) .fullwidth-container,
body.blog:not(.single-post) .sidebar,
body.archive.category .fullwidth-container,
body.archive.category .sidebar,
body.archive.tag .fullwidth-container,
body.archive.tag .sidebar {
	display: none !important;
}

/*
 * Blog index/archive hero — full-bleed banner (matches Storitve compact heroes).
 * Body classes are often stripped — prefer .jpc-blog-hero fingerprint.
 */
.jpc-blog-hero {
	--jpc-blog-hero-image: none;
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 0;
	overflow: hidden;
	padding: clamp(2.25rem, 4vw, 3rem) 1.25rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.jpc-blog-hero__media,
.jpc-blog-hero__overlay {
	inset: 0;
	position: absolute;
}

.jpc-blog-hero__media {
	background-color: #1a1a1a;
	background-image: var(--jpc-blog-hero-image);
	background-position: center;
	background-size: cover;
	transform: scale(1.02);
}

.jpc-blog-hero__overlay {
	background: rgba(0, 0, 0, 0.78);
}

.jpc-blog-hero__inner {
	max-width: 42rem;
	position: relative;
	z-index: 1;
}

.jpc-blog-hero__eyebrow {
	color: #bfbfbf !important;
	font-family: Hind, Arial, sans-serif !important;
	font-size: clamp(0.8rem, 1.4vw, 0.95rem) !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	line-height: 1.3 !important;
	margin: 0 0 0.65rem !important;
	text-transform: uppercase !important;
}

.jpc-blog-hero__title {
	color: #f4f4f4 !important;
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-size: clamp(1.65rem, 3.2vw, 2.35rem) !important;
	font-weight: 300 !important;
	letter-spacing: 0.2em !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

.jpc-blog-hero__lead {
	color: rgba(255, 255, 255, 0.9) !important;
	font-family: Mulish, Arial, sans-serif !important;
	font-size: clamp(0.9rem, 1.4vw, 1rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.01em !important;
	line-height: 1.5 !important;
	margin: 0.85rem auto 0 !important;
	max-width: 34rem;
}

/* Shop archive: compact Hazel page-title banner (title + subtitle restored via jpc-core). */
body.jpc-shop-banner .fullwidth-container .present-container h1.page_title {
	color: #f4f4f4 !important;
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-size: clamp(1.65rem, 3.2vw, 2.35rem) !important;
	font-weight: 300 !important;
	letter-spacing: 0.2em !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
}

body.jpc-shop-banner .fullwidth-container .present-container h2.secondaryTitle {
	color: rgba(255, 255, 255, 0.9) !important;
	font-family: Mulish, Arial, sans-serif !important;
	font-size: clamp(0.9rem, 1.4vw, 1rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.01em !important;
	line-height: 1.5 !important;
	max-width: 34rem;
	text-transform: none !important;
}

body.jpc-shop-banner .fullwidth-container .hazel_breadcrumbs,
body.jpc-shop-banner .fullwidth-container .hazel_breadcrumbs a,
body.jpc-shop-banner .fullwidth-container .hazel_breadcrumbs span,
body.jpc-shop-banner .fullwidth-container .page_title_breadcrumbs,
body.jpc-shop-banner .fullwidth-container .page_title_breadcrumbs a,
body.jpc-shop-banner .fullwidth-container .page_title_breadcrumbs span,
body.jpc-shop-landing .fullwidth-container .hazel_breadcrumbs,
body.jpc-shop-landing .fullwidth-container .hazel_breadcrumbs a,
body.jpc-shop-landing .fullwidth-container .hazel_breadcrumbs span,
body.jpc-shop-child-cats .fullwidth-container .hazel_breadcrumbs,
body.jpc-shop-child-cats .fullwidth-container .hazel_breadcrumbs a,
body.jpc-shop-child-cats .fullwidth-container .hazel_breadcrumbs span,
body.tax-product_cat .fullwidth-container .hazel_breadcrumbs,
body.tax-product_cat .fullwidth-container .hazel_breadcrumbs a,
body.tax-product_cat .fullwidth-container .hazel_breadcrumbs span {
	color: rgba(255, 255, 255, 0.75) !important;
	font-family: Mulish, Arial, sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.06em !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
}

.jpc-blog {
	--jpc-blog-ink: #161616;
	--jpc-blog-muted: #6a6a6a;
	--jpc-blog-line: #e6e6e6;
	--jpc-blog-surface: #ffffff;
	--jpc-blog-canvas: #f2f2f2;
	--jpc-blog-accent: #e32934;
	/* Match site body (Mulish) + headings (Hind). */
	--jpc-blog-font-body: Mulish, Arial, sans-serif;
	--jpc-blog-font-heading: Hind, Arial, sans-serif;
	background: var(--jpc-blog-canvas);
	font-family: var(--jpc-blog-font-body);
	padding: clamp(1.5rem, 3.5vw, 2.75rem) 1.25rem 1.5rem;
}

.jpc-blog__inner {
	margin: 0 auto;
	max-width: 1180px;
}

.jpc-blog-cats {
	border-bottom: 1px solid var(--jpc-blog-line);
	margin: 0 0 1.35rem;
	padding: 0 0 0.85rem;
}

.jpc-blog-cats__row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.15rem;
	justify-content: center;
	row-gap: 0.35rem;
}

.jpc-blog-cats__link {
	border-bottom: 2px solid transparent;
	color: var(--jpc-blog-muted) !important;
	display: inline-block;
	flex: 0 0 auto;
	font-family: var(--jpc-blog-font-heading);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	padding: 0.15rem 0 0.35rem;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: color 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
}

.jpc-blog-cats__link:hover,
.jpc-blog-cats__link:focus-visible {
	color: var(--jpc-blog-ink) !important;
}

.jpc-blog-cats__link.is-active {
	border-bottom-color: var(--jpc-blog-ink);
	color: var(--jpc-blog-ink) !important;
}

.jpc-blog__header {
	margin: 0 0 2rem;
	position: static !important;
	text-align: center;
	width: auto !important;
}

.jpc-blog__title {
	color: var(--jpc-blog-ink);
	font-family: var(--jpc-blog-font-heading) !important;
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	font-weight: 300 !important;
	letter-spacing: 0.22em !important;
	line-height: 1.2 !important;
	margin: 0;
	position: static !important;
	text-transform: uppercase !important;
	width: auto !important;
}

.jpc-blog__grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

.jpc-blog,
.jpc-blog__inner {
	overflow: visible !important;
}

.jpc-blog-card {
	background: var(--jpc-blog-surface);
	border: 1px solid var(--jpc-blog-line);
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	padding: 0 !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.jpc-blog-card:hover,
.jpc-blog-card:focus-within {
	border-color: #d0d0d0;
	box-shadow: 0 10px 28px rgba(22, 22, 22, 0.08);
	transform: translateY(-2px);
}

.jpc-blog-card__media {
	background: #ebebeb;
	display: block;
	overflow: hidden;
	padding-top: 62%;
	position: relative;
}

.jpc-blog-card__media--empty {
	background:
		linear-gradient(135deg, #ececec 0%, #dedede 100%);
}

.jpc-blog-card__img {
	display: block !important;
	height: 100% !important;
	left: 0;
	margin: 0 !important;
	max-width: none !important;
	object-fit: cover;
	position: absolute;
	top: 0;
	transition: transform 0.35s ease;
	width: 100% !important;
}

.jpc-blog-card:hover .jpc-blog-card__img {
	transform: scale(1.04);
}

.jpc-blog-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.65rem;
	padding: 1.1rem 1.15rem 1.25rem;
}

.jpc-blog-card__date {
	color: var(--jpc-blog-muted);
	font-family: var(--jpc-blog-font-body) !important;
	font-size: 0.8rem;
	letter-spacing: 0.01em !important;
	line-height: 1.3;
}

.jpc-blog-card__title {
	font-family: var(--jpc-blog-font-heading) !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	text-align: left !important;
	text-transform: none !important;
}

.jpc-blog-card__title a {
	color: var(--jpc-blog-ink) !important;
	font-family: var(--jpc-blog-font-heading) !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.jpc-blog-card__title a:hover,
.jpc-blog-card__title a:focus-visible {
	color: var(--jpc-blog-accent) !important;
}

.jpc-blog-card__excerpt {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: #333;
	display: -webkit-box;
	font-family: var(--jpc-blog-font-body) !important;
	font-size: 0.92rem;
	letter-spacing: normal !important;
	line-height: 1.55;
	overflow: hidden;
	text-align: left;
}

.jpc-blog-card__more {
	align-self: flex-start;
	background: var(--jpc-blog-ink);
	border-radius: 4px;
	color: #fff !important;
	display: inline-block;
	font-family: var(--jpc-blog-font-heading) !important;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-top: auto;
	padding: 0.7rem 1rem;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background 0.2s ease;
}

.jpc-blog-card__more:hover,
.jpc-blog-card__more:focus-visible {
	background: var(--jpc-blog-accent);
	color: #fff !important;
}

.jpc-blog__pagination {
	margin-top: 1.5rem;
	text-align: center;
}

.jpc-blog__pagination:empty {
	display: none !important;
	margin: 0 !important;
}

.jpc-blog__pagination .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
}

.jpc-blog__pagination a,
.jpc-blog__pagination span {
	background: var(--jpc-blog-surface);
	border: 1px solid var(--jpc-blog-line);
	border-radius: 4px;
	color: var(--jpc-blog-ink);
	display: inline-block;
	font-size: 0.85rem;
	line-height: 1;
	min-width: 2.25rem;
	padding: 0.65rem 0.75rem;
	text-decoration: none;
}

.jpc-blog__pagination .current {
	background: var(--jpc-blog-ink);
	border-color: var(--jpc-blog-ink);
	color: #fff;
}

.jpc-blog__empty {
	color: var(--jpc-blog-muted);
	margin: 2rem 0;
	text-align: center;
}

@media (max-width: 991px) {
	/* Fixed compact header overlays #main; keep BLOG title below the bar. */
	.jpc-blog-hero {
		padding-bottom: 0.85rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		padding-top: calc(56px + 0.75rem) !important;
	}

	.jpc-blog-hero__title {
		font-size: 1.35rem !important;
		letter-spacing: 0.16em !important;
	}

	.jpc-blog-hero__lead {
		font-size: 0.88rem !important;
		margin-top: 0.5rem !important;
	}

	.jpc-blog {
		padding-bottom: 0.85rem;
		padding-top: 1.1rem;
	}

	.jpc-blog-cats {
		margin-bottom: 1rem;
		padding-bottom: 0.65rem;
	}

	.jpc-blog-cats__row {
		gap: 0.3rem 0.95rem;
	}

	.jpc-blog-cats__link {
		font-size: 0.72rem;
		letter-spacing: 0.08em;
	}

	.jpc-blog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.jpc-blog {
		padding-left: 0.85rem;
		padding-right: 0.85rem;
	}

	.jpc-blog__grid {
		gap: 1rem;
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jpc-blog-card,
	.jpc-blog-card__img,
	.jpc-blog-card__more {
		transition: none;
	}

	.jpc-blog-card:hover,
	.jpc-blog-card:focus-within {
		transform: none;
	}

	.jpc-blog-card:hover .jpc-blog-card__img {
		transform: none;
	}
}

/* Single post: use Hazel full-width layout. Do not set max-width on
 * .blog-default / .master_container — that created a narrow white column
 * with the page-title background image leaking on both sides. */
body.single-post .sidebar {
	display: none !important;
}

body.single-post .page_content img {
	display: block;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

body.single-post .post-content,
body.single-post .post-content p,
body.single-post .blog-default p {
	font-family: Mulish, Arial, sans-serif !important;
}

/* Header shop search — FiboSearch bar (Hartman / Thomann style) */
.jpc-header-search {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	height: 40px;
	justify-content: center;
	margin: 0;
	max-width: 420px;
	min-height: 40px;
	min-width: 0;
	width: 100%;
}

.jpc-header-search .dgwt-wcas-search-wrapp,
.jpc-header-search .dgwt-wcas-sf-wrapp {
	height: 40px !important;
	max-width: none !important;
	min-height: 40px !important;
	position: relative !important;
	width: 100% !important;
}

.jpc-header-search .dgwt-wcas-sf-wrapp {
	align-items: center !important;
	display: flex !important;
}

.jpc-header-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
.jpc-header-search input[type="search"] {
	background: #f7f6f3 !important;
	border: 1px solid #d8d4cc !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #161616 !important;
	font-size: 0.9rem !important;
	height: 40px !important;
	min-height: 40px !important;
	padding: 0 1.25rem !important;
	width: 100% !important;
}

.jpc-header-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::placeholder,
.jpc-header-search input[type="search"]::placeholder {
	color: #8a867e !important;
	opacity: 1;
}

.jpc-header-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus,
.jpc-header-search input[type="search"]:focus {
	background: #fff !important;
	border-color: #161616 !important;
	outline: none !important;
}

/* No lupa inside the bar — Enter submits; placeholder already signals search. */
.jpc-header-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
.jpc-header-search .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit,
.jpc-header-search .dgwt-wcas-ico-magnifier,
.jpc-header-search svg.dgwt-wcas-ico-magnifier,
.jpc-header-search .dgwt-wcas-search-icon,
.jpc-header-search .dgwt-wcas-search-icon-handler {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
	width: 0 !important;
}

.jpc-header-account {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	position: relative;
}

.jpc-header-account__link {
	align-items: center;
	color: inherit;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	width: 40px;
}

.jpc-header-account__link:hover,
.jpc-header-account__link:focus {
	opacity: 0.75;
	text-decoration: none;
}

.jpc-header-account__link i,
.jpc-header-account__link i::before {
	/* Match cart (mi-shopping-cart); FA glyphs read smaller optically. */
	font-size: 1.85rem !important;
	line-height: 1 !important;
}

/* Account icon dropdown (logged-in). */
.jpc-header-account__menu {
	background: #fff;
	border: 1px solid #e5e5e5;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	display: none;
	list-style: none;
	margin: 0;
	min-width: 220px;
	padding: 0.4rem 0;
	position: absolute;
	right: 0;
	top: calc(100% - 2px);
	z-index: 1200;
}

.jpc-header-account__menu::before {
	/* Hover bridge so the menu stays open while moving the pointer. */
	content: "";
	height: 10px;
	left: 0;
	position: absolute;
	right: 0;
	top: -8px;
}

.jpc-header-account--menu:hover .jpc-header-account__menu,
.jpc-header-account--menu:focus-within .jpc-header-account__menu {
	display: block;
}

.jpc-header-account__item {
	margin: 0;
	padding: 0;
}

.jpc-header-account__item-link {
	color: #222 !important;
	display: block !important;
	font-size: 0.92rem !important;
	font-weight: 500;
	height: auto !important;
	line-height: 1.35 !important;
	padding: 0.55rem 1rem !important;
	text-decoration: none !important;
	white-space: nowrap;
	width: auto !important;
}

.jpc-header-account__item-link:hover,
.jpc-header-account__item-link:focus-visible {
	background: #f5f5f5;
	color: #e32934 !important;
	opacity: 1;
}

.jpc-header-account__item--logout {
	border-top: 1px solid #eee;
	margin-top: 0.25rem;
	padding-top: 0.25rem;
}

.jpc-header-account__item--logout .jpc-header-account__item-link {
	color: #666 !important;
}

/* Top bar: socials left, phone/mail/lang far right. */
header .top-bar,
header .top-bar .top-bar-bg,
header .top-bar .top-bar-bg > div,
header .top-bar .slidedown,
header .top-bar .slidedown > [class*="col-"] {
	align-items: center !important;
	box-sizing: border-box;
	display: flex !important;
	min-height: 38px;
	width: 100% !important;
	max-width: 100%;
}

header .top-bar .slidedown > [class*="col-"] {
	flex: 1 1 auto;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

header .top-bar .social-icons-fa {
	align-items: center;
	display: flex !important;
	flex: 0 0 auto;
	float: none !important;
	margin: 0 auto 0 0 !important;
	padding: 0 !important;
}

header .top-bar .social-icons-fa ul {
	align-items: center;
	display: flex !important;
	float: none !important;
	gap: 0.55rem;
	margin: 0 !important;
	padding: 0 !important;
}

header .top-bar .social-icons-fa ul li {
	align-items: center;
	display: inline-flex !important;
	float: none !important;
	line-height: 1;
	margin: 0 !important;
	padding: 0 !important;
}

header .top-bar .social-icons-fa ul li a {
	align-items: center;
	display: inline-flex !important;
	line-height: 1;
}

header .top-bar .phone-mail {
	align-items: center;
	display: flex !important;
	flex: 0 0 auto;
	float: none !important;
	flex-wrap: nowrap;
	gap: 0.85rem;
	margin: 0 0 0 auto !important;
	opacity: 1;
	padding: 0 !important;
}

header .top-bar .phone-mail > li {
	align-items: center;
	display: inline-flex !important;
	float: none !important;
	font-size: 13px;
	gap: 0.35rem;
	line-height: 1;
	margin: 0 !important;
	padding: 0 !important;
}

header .top-bar .phone-mail > li i {
	line-height: 1;
	margin: 0 !important;
	padding: 0 0.35rem 0 0 !important;
	position: static !important;
	top: auto !important;
}

header .top-bar .phone-mail > li.jpc-topbar-lang {
	margin-left: 0.35rem !important;
}

header .top-bar .phone-mail > li.jpc-topbar-lang .jpc-lang-switcher {
	align-items: center;
	display: inline-flex;
	line-height: 1;
}

header.navbar.style3 .nav-container {
	position: relative !important;
}

.hazel_right_header_icons {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
}

header.navbar.style3 .hazel_right_header_icons > *,
header.style3 .hazel_right_header_icons > * {
	align-items: center;
	display: flex !important;
	float: none !important;
	height: auto !important;
	line-height: 1;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
	right: auto !important;
	top: auto !important;
	vertical-align: middle;
}

header.navbar.style3 .hazel_cart_header,
header.style3 .hazel_cart_header {
	min-height: 24px;
	min-width: 24px;
	position: relative !important;
	right: auto !important;
	top: auto !important;
	width: auto !important;
}

header.style3 .hazel_little_shopping_bag_wrapper {
	position: relative !important;
	top: 0 !important;
}

header.navbar.style3 .hazel_little_shopping_bag,
header.navbar.style3 .hazel_little_shopping_bag .title,
header.navbar.style3 .hazel_little_shopping_bag .title i {
	align-items: center;
	display: flex;
	line-height: 1;
	margin: 0;
	position: relative;
	top: 0 !important;
}

header.navbar.style3 .hazel_little_shopping_bag .title i {
	font-size: 1.75rem !important;
}

.jpc-header-cart-hit {
	inset: -8px;
	position: absolute;
	z-index: 20;
}

/* Cart badge: black when empty, brand red when items are in the cart. */
body.jpc-cart-has-items .hazel_little_shopping_bag .overview span.minicart_items,
body.jpc-cart-has-items .hazel_little_shopping_bag_wrapper_mobiles span,
.light body.jpc-cart-has-items .hazel_little_shopping_bag .overview span.minicart_items,
body.light.jpc-cart-has-items .hazel_little_shopping_bag .overview span.minicart_items,
.jpc-cart-has-items.hazel_cart_header .overview span.minicart_items,
span.minicart_items.jpc-cart-has-items {
	background: #e32934 !important;
	color: #fff !important;
}

/* Let the cart hit-link receive clicks (Hazel bag is a non-link div). */
.hazel_cart_header .hazel_dynamic_shopping_bag,
.hazel_cart_header .hazel_little_shopping_bag,
.hazel_cart_header .hazel_little_shopping_bag .title,
.hazel_cart_header .hazel_little_shopping_bag .title i,
.hazel_cart_header .overview {
	pointer-events: none;
}

.jpc-header-search,
.jpc-header-account,
.hazel_cart_header {
	min-height: 24px;
}

/*
 * Desktop style3 header (Hartman / Thomann):
 * - Row 1: logo | centered search | account + cart (equal side columns)
 * - Row 2: primary menu centered
 * Hazel always marks headerclone with .header_after_scroll, so clone must keep the tall layout.
 */
@media (min-width: 992px) {
	header.navbar.style3:not(.header_after_scroll) .nav-container,
	header.navbar.style3.headerclone .nav-container,
	header.navbar.style3.header_after_scroll:not(.headerclone) .nav-container {
		align-items: center;
		column-gap: 1.5rem;
		display: grid !important;
		grid-template-columns: 1fr minmax(260px, 400px) 1fr;
		grid-template-rows: auto auto;
		justify-content: stretch;
		padding: 0.35rem 1.5rem 0.15rem;
		position: relative !important;
		row-gap: 0.15rem;
		width: 100%;
	}

	header.navbar.style3:not(.header_after_scroll) .navbar-header,
	header.navbar.style3.headerclone .navbar-header,
	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-header {
		align-items: center;
		display: flex !important;
		float: none;
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		margin: 0 !important;
		min-height: 56px;
		padding: 0 !important;
		text-align: left;
		width: auto !important;
	}

	header.navbar.style3:not(.header_after_scroll) .navbar-header .navbar-brand,
	header.navbar.style3.headerclone .navbar-header .navbar-brand,
	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-header .navbar-brand {
		align-items: center;
		display: flex !important;
		float: none;
		height: auto !important;
		line-height: 1 !important;
		margin: 0 !important;
		min-height: 0 !important;
		padding: 0 !important;
		text-align: left;
	}

	/* Do NOT force display on all brand imgs — Hazel toggles normal/retina/after_scroll. */
	header.navbar.style3 .navbar-header .navbar-brand img {
		line-height: 1 !important;
		margin: 0 !important;
		position: relative !important;
		top: 0 !important;
	}

	header.navbar.style3:not(.header_after_scroll) .jpc-header-search,
	header.navbar.style3.headerclone .jpc-header-search,
	header.navbar.style3.header_after_scroll:not(.headerclone) .jpc-header-search {
		align-self: center;
		grid-column: 2;
		grid-row: 1;
		justify-self: stretch;
		max-width: none;
		width: 100%;
		z-index: 30;
	}

	header.navbar.style3:not(.header_after_scroll) .hazel_right_header_icons,
	header.navbar.style3.headerclone .hazel_right_header_icons,
	header.navbar.style3.header_after_scroll:not(.headerclone) .hazel_right_header_icons {
		align-items: center;
		align-self: center;
		bottom: auto !important;
		display: flex !important;
		gap: 0.35rem;
		grid-column: 3;
		grid-row: 1;
		height: 40px !important;
		justify-content: flex-end;
		justify-self: end;
		margin: 0 !important;
		min-height: 40px;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		z-index: 40;
	}

	header.navbar.style3:not(.header_after_scroll) .hazel_right_header_icons > *,
	header.navbar.style3.headerclone .hazel_right_header_icons > *,
	header.navbar.style3.header_after_scroll:not(.headerclone) .hazel_right_header_icons > * {
		align-items: center;
		display: inline-flex !important;
		height: 40px;
		justify-content: center;
		min-height: 40px;
		min-width: 40px;
	}

	header.navbar.style3:not(.header_after_scroll) .navbar-collapse,
	header.navbar.style3.headerclone .navbar-collapse,
	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-collapse {
		align-items: center !important;
		display: flex !important;
		float: none !important;
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: center;
		padding-bottom: 0.2rem;
		position: relative;
		width: 100% !important;
	}

	/*
	 * Scrolled sticky bar: logo + icons span both rows (search + menu)
	 * so they sit on the visual vertical middle of the whole header.
	 * Middle column must be 1fr (not capped at 400px) so menu labels
	 * like "Najem učilnic" stay on one line.
	 */
	header.navbar.style3.header_after_scroll:not(.headerclone) .nav-container {
		align-items: center;
		grid-template-columns: auto 1fr auto;
		padding-bottom: 0.25rem;
		padding-top: 0.25rem;
		row-gap: 0;
	}

	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-header {
		align-self: center;
		grid-column: 1;
		grid-row: 1 / -1;
		height: auto !important;
		min-height: 0 !important;
	}

	header.navbar.style3.header_after_scroll:not(.headerclone) .jpc-header-search {
		align-self: end;
		grid-column: 2;
		grid-row: 1;
		/* Keep search from stretching edge-to-edge in the wider middle column */
		justify-self: center;
		max-width: 400px;
		width: 100%;
	}

	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-collapse {
		grid-column: 2;
		grid-row: 2;
		justify-content: center;
		padding-bottom: 0;
		width: 100% !important;
	}

	header.navbar.style3.header_after_scroll:not(.headerclone) .hazel_right_header_icons {
		align-self: center;
		grid-column: 3;
		grid-row: 1 / -1;
		height: auto !important;
		min-height: 0;
	}

	header.navbar.style3:not(.header_after_scroll) .navbar-collapse .navbar-nav,
	header.navbar.style3.headerclone .navbar-collapse .navbar-nav,
	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-collapse .navbar-nav {
		align-items: center;
		display: flex !important;
		flex-wrap: nowrap;
		float: none !important;
		justify-content: center;
		margin: 0 auto;
		width: auto;
	}

	header.navbar.style3:not(.header_after_scroll) .navbar-nav > li,
	header.navbar.style3.headerclone .navbar-nav > li,
	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-nav > li {
		flex-shrink: 0;
	}

	header.navbar.style3:not(.header_after_scroll) .jpc-header-account__link,
	header.navbar.style3.headerclone .jpc-header-account__link,
	header.navbar.style3.header_after_scroll:not(.headerclone) .jpc-header-account__link {
		align-items: center;
		display: inline-flex !important;
		height: 40px !important;
		justify-content: center;
		line-height: 1 !important;
		padding: 0 !important;
		width: 40px !important;
	}

	header.navbar.style3:not(.header_after_scroll) .navbar-nav > li > a,
	header.navbar.style3.headerclone .navbar-nav > li > a,
	header.navbar.style3.header_after_scroll:not(.headerclone) .navbar-nav > li > a {
		align-items: center;
		display: inline-flex !important;
		white-space: nowrap;
	}

	header.navbar.style3 .hazel_cart_header,
	header.style3 .hazel_cart_header {
		align-items: center;
		display: inline-flex !important;
		height: 40px;
		justify-content: center;
		min-height: 40px;
		min-width: 40px;
	}

	/* Hide social strip in the main header row — search owns the center. */
	header.navbar.style3 .header_social_icons {
		display: none !important;
	}

	header.navbar.style3 #dl-menu {
		display: none !important;
	}

	/*
	 * Nested shop flyouts: leaf lists (Dodatna oprema) may scroll; any panel
	 * that opens a further flyout must stay overflow:visible so the next
	 * level (Yamaha → CLP / Nord → Stage 4) is not clipped.
	 * jpc-nav-flyout-fit JS shifts panels up when they would leave the viewport.
	 */
	header.navbar .navbar-collapse li:not(.hazel_mega_menu) > ul.dropdown-menu {
		overflow: visible;
	}

	header.navbar .navbar-collapse li:not(.hazel_mega_menu) ul.dropdown-menu ul.dropdown-menu,
	header.navbar .navbar-collapse li:not(.hazel_mega_menu) .dropdown-menu.menu-depth-1 ul.menu-depth-2 {
		max-height: min(75vh, 42rem);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	header.navbar .navbar-collapse li:not(.hazel_mega_menu) ul.dropdown-menu:has(> .menu-item-has-children > ul.dropdown-menu) {
		max-height: none;
		overflow: visible;
	}

	header.navbar .navbar-collapse li:not(.hazel_mega_menu) ul.dropdown-menu ul.dropdown-menu ul.dropdown-menu {
		left: 100%;
		top: 0;
		z-index: 1002;
		max-height: min(75vh, 42rem);
		overflow-x: hidden;
		overflow-y: auto;
	}

	header.navbar .navbar-collapse li:not(.hazel_mega_menu) ul.dropdown-menu > li.menu-item-has-children {
		position: relative;
		width: 100%;
	}
}

/* Tablet / mobile header: ☰ | logo | account+cart (single compact row). */
@media (max-width: 991px) {
	header.navbar.style3:not(.headerclone) .nav-container {
		align-items: center !important;
		box-sizing: border-box !important;
		column-gap: 0.5rem !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 0.5rem !important;
		/* Explicit height: #dl-menu scrollHeight (~575) otherwise inflates the row. */
		height: 56px !important;
		justify-content: flex-start !important;
		max-height: 56px !important;
		min-height: 56px !important;
		overflow: visible !important;
		padding: 0.35rem 0.7rem !important;
		width: 100% !important;
	}

	/* 1 — hamburger (left). Keep wrapper short so flex row stays ~56px.
	 * Open class is on inner .dl-menu, NOT on #dl-menu — use :has().
	 * perspective:none so fixed/absolute panel is not trapped in 44px CB.
	 * Do NOT set transform:none on the panel (breaks dlmenu animation). */
	header.navbar.style3:not(.headerclone) #dl-menu {
		align-self: center !important;
		flex: 0 0 auto !important;
		float: none !important;
		height: 44px !important;
		left: auto !important;
		margin: 0 !important;
		max-height: 44px !important;
		min-height: 44px !important;
		order: 1 !important;
		overflow: hidden !important;
		perspective: none !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		width: 44px !important;
		z-index: 30 !important;
	}

	header.navbar.style3:not(.headerclone) #dl-menu.dl-menuopen,
	header.navbar.style3:not(.headerclone) #dl-menu:has(.dl-menuopen) {
		overflow: visible !important;
		z-index: 200 !important;
	}

	/*
	 * Open panel: full width, starts BELOW the header bar so the
	 * hamburger→X close control does not sit on top of "Domov".
	 * Fixed CB is the transformed header → top:100% = under nav row.
	 */
	header.navbar.style3:not(.headerclone) #dl-menu .dl-menu.dl-menuopen {
		box-sizing: border-box !important;
		left: 0 !important;
		margin-left: 0 !important;
		max-width: none !important;
		min-width: 0 !important;
		position: fixed !important;
		right: 0 !important;
		top: 100% !important;
		width: 100% !important;
		z-index: 200 !important;
	}

	/*
	 * Hazel component.css caps .dl-menuopen at 230px — Trgovina children
	 * (kitare, Novo, …) sat below the fold. Raise the cap and keep scroll.
	 */
	header.navbar.style3:not(.headerclone) #dl-menu .dl-menu.dl-menuopen,
	header.navbar.style3:not(.headerclone) #dl-menu .dl-menu.dl-menuopen ul {
		max-height: min(70vh, 32rem) !important;
	}

	header.navbar.style3:not(.headerclone) #dl-menu .dl-menu.dl-menuopen {
		-webkit-overflow-scrolling: touch;
		overflow-y: auto !important;
	}

	header.navbar.style3:not(.headerclone) #dl-menu .dl-menu.dl-menuopen.dl-subview {
		overflow-y: visible !important;
	}

	header.navbar.style3:not(.headerclone) #dl-menu .dl-menu.dl-menuopen li.dl-subviewopen > ul {
		-webkit-overflow-scrolling: touch;
		max-height: min(70vh, 32rem) !important;
		overflow-y: auto !important;
	}

	/* Keep close (X) in the header row, above the panel. */
	header.navbar.style3:not(.headerclone) #dl-menu .dl-trigger {
		position: relative !important;
		z-index: 201 !important;
	}

	/* 2 — logo */
	header.navbar.style3:not(.headerclone) .navbar-header {
		flex: 1 1 auto !important;
		float: none !important;
		max-width: none !important;
		min-width: 0 !important;
		order: 2 !important;
		width: auto !important;
	}

	header.navbar.style3:not(.headerclone) .navbar-brand {
		display: inline-flex !important;
		max-width: 100%;
		padding: 0 !important;
		vertical-align: middle;
	}

	/* Hide full search bar on mobile — catalog search stays in shop / menu. */
	header.navbar.style3:not(.headerclone) .jpc-header-search {
		display: none !important;
	}

	/* 3 — account + cart (right). Fixed height so absolute minicart
	 * does not inflate the flex row (~110px empty chrome). */
	header.navbar.style3:not(.headerclone) .hazel_right_header_icons {
		align-items: center !important;
		align-self: center !important;
		flex: 0 0 auto !important;
		gap: 0.55rem !important;
		height: 44px !important;
		margin: 0 0 0 auto !important;
		max-height: 44px !important;
		min-height: 44px !important;
		order: 3 !important;
		/* visible: overflow:hidden clipped the cart count badge (top:-3px / right:-4px).
		 * Minicart drawer is display:none below, so it cannot inflate the flex row. */
		overflow: visible !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
	}

	header.navbar.style3:not(.headerclone) .hazel_minicart_wrapper {
		/* Mobile: no hover drawer — keeps flex row from inflating to ~110px. */
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}

	header.navbar.style3:not(.headerclone) .jpc-header-cart-hit {
		height: 44px !important;
		top: 0 !important;
	}

	header.navbar.style3:not(.headerclone) .hazel_minicart,
	header.navbar.style3:not(.headerclone) .hazel_little_shopping_bag,
	header.navbar.style3:not(.headerclone) .hazel_little_shopping_bag_wrapper {
		height: auto !important;
		max-height: 44px !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	/* Keep the count badge fully inside the icon (Hazel default top:-3px / right:-4px). */
	header.navbar.style3:not(.headerclone) .hazel_little_shopping_bag .overview span.minicart_items {
		right: 0 !important;
		top: 0 !important;
		z-index: 5 !important;
	}

	header.navbar.style3:not(.headerclone) .header_social_icons {
		display: none !important;
	}

	header.navbar.style3:not(.headerclone) .navbar-collapse {
		display: none !important;
	}
}

/* Slim homepage category rail removed — categories: Trgovina menu + visual grid */
body.home .jpc-product-discovery,
body.home .jpc-home-rail,
body.home .jpc-category-rail {
	display: none;
}

/* Compact one-line HashBar — match dark top-bar height (38px). */
.hashbar-announcement-bars-container,
.hashbar-announcement-bar-wrapper {
	height: auto !important;
	min-height: 0 !important;
}

.hashbar-announcement-bar {
	align-items: center !important;
	box-sizing: border-box !important;
	display: flex !important;
	font-size: 0.78rem !important;
	height: 38px !important;
	justify-content: center;
	line-height: 1.25 !important;
	min-height: 38px !important;
	max-height: 38px !important;
	padding: 0 2.25rem 0 1rem !important;
	position: relative !important;
}

/*
 * Beat Hazel `p { font-size:15px !important }` (5× :not() → ~0,5,4).
 * Need ≥6 classes in the chain so both bars stay on 0.78rem / 38px.
 */
html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-content .hashbar-announcement-message p,
html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-content .hashbar-announcement-message p.hashbar-no-emoji-convert,
html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-content .hashbar-announcement-message a,
html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-message .hashbar-no-emoji-convert,
html body div.hashbar-announcement-bars-container div.hashbar-announcement-bar-wrapper div.hashbar-announcement-bar div.hashbar-announcement-content div.hashbar-announcement-message p.hashbar-no-emoji-convert {
	font-size: 0.78rem !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 400 !important;
}

html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-close,
html body .hashbar-announcement-bars-container button.hashbar-announcement-close {
	align-items: center !important;
	background: transparent !important;
	bottom: auto !important;
	box-sizing: border-box !important;
	color: #fff !important;
	display: inline-flex !important;
	font-family: system-ui, -apple-system, sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 500 !important;
	height: 1.25rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	position: absolute !important;
	right: 0.75rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 1.25rem !important;
}

/*
 * HashBar inline z-index (100001) sits above #wpadminbar (99999) and
 * blocks WP admin dropdowns (Vtičniki, Teme, …) when logged in.
 */
body.admin-bar .hashbar-announcement-bars-container,
body.admin-bar .hashbar-announcement-bar-wrapper,
body.admin-bar .hashbar-announcement-bar {
	z-index: 100 !important;
}

body.admin-bar #wpadminbar {
	z-index: 999999 !important;
}

/* Sticky light header — brand-forward at top, compact on scroll */
header.navbar.navbar-fixed-top.style3.light {
	background-color: #fff !important;
	border-bottom: 1px solid #e8e8e8;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.25s ease, min-height 0.25s ease;
}

header.navbar.style3.light .navbar-header {
	padding-top: 0.15rem;
	padding-bottom: 0.15rem;
	transition: padding 0.25s ease;
}

header.navbar.style3.light .navbar-brand img {
	height: auto;
	max-height: 56px;
	width: auto;
	transition: max-height 0.28s ease;
}

/* After scroll: smaller logo + denser bar (Hazel toggles .header_after_scroll) */
header.navbar.style3.light.header_after_scroll:not(.headerclone) {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .navbar-header {
	align-items: center !important;
	display: flex !important;
	height: auto !important;
	justify-content: flex-start;
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .navbar-header .navbar-brand {
	height: auto !important;
	line-height: 1 !important;
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .navbar-brand img.logo_after_scroll,
header.navbar.style3.light.header_after_scroll:not(.headerclone) .navbar-brand img {
	max-height: 40px;
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .jpc-header-search {
	height: 36px;
	min-height: 36px;
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .jpc-header-search .dgwt-wcas-search-wrapp,
header.navbar.style3.light.header_after_scroll:not(.headerclone) .jpc-header-search .dgwt-wcas-sf-wrapp {
	height: 36px !important;
	min-height: 36px !important;
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .jpc-header-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
header.navbar.style3.light.header_after_scroll:not(.headerclone) .jpc-header-search input[type="search"] {
	height: 36px !important;
	min-height: 36px !important;
}

header.navbar.style3.light.header_after_scroll:not(.headerclone) .hazel_right_header_icons {
	height: auto !important;
	min-height: 0;
}

/* Clone spacer must keep the tall logo so page titles clear the fixed header. */
header.navbar.style3.light.headerclone .navbar-brand img {
	max-height: 56px !important;
}

header.navbar.style3.light.headerclone .navbar-header {
	padding-top: 0.15rem !important;
	padding-bottom: 0.15rem !important;
}

body.home header.navbar.style3.light .navbar-nav > li > a {
	color: #161616;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
}

body.home header.navbar.navbar-fixed-top.style3.light .navbar-nav > li > a:hover,
body.home header.navbar.navbar-fixed-top.style3.light .navbar-nav > li > a:focus {
	color: #e32934;
}

/*
 * Homepage Slider Revolution (homev4):
 * Full-bleed out of Hazel .container. Do not override SR transforms
 * or internal heights — that breaks slide/bullet navigation.
 * #main uses overflow:hidden which clips 100vw breakouts — open it on home.
 */
body.home {
	overflow-x: clip;
}

body.home #main,
body.home .master_container,
body.home .page_content {
	overflow: visible !important;
}

/* Sticky shop filters need an unclipped ancestor chain (Hazel #main is overflow:hidden). */
body.jpc-shop-sidebar-layout #main,
body.jpc-shop-sidebar-layout .master_container,
body.jpc-shop-sidebar-layout .page_content,
body.jpc-shop-sidebar-layout .container {
	overflow: visible !important;
}

/*
 * WPBakery fadeInUp leaves transform:matrix(...) on .container — that creates a
 * containing block and kills position:sticky for the filter sidebar.
 */
body.jpc-shop-sidebar-layout .container.wpb_animate_when_almost_visible,
body.jpc-shop-sidebar-layout .container.animated,
body.jpc-shop-sidebar-layout .container.woo_four_cols,
body.jpc-shop-sidebar-layout .container.woo_three_cols {
	-webkit-animation: none !important;
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
	-webkit-transform: none !important;
}

/*
 * Hazel sets body { overflow-x: hidden } which computes overflow-y to auto and
 * breaks position:sticky. `clip` contains horizontal bleed without killing sticky.
 */
html:has(body.jpc-shop-sidebar-layout),
body.jpc-shop-sidebar-layout {
	overflow-x: clip !important;
	overflow-y: visible !important;
}

body.home .vc_row:has(#SR7_6_1),
body.home .vc_row:has(sr7-module[data-alias="homev4"]) {
	left: 50%;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	max-width: 100vw !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	position: relative;
	right: auto;
	width: 100vw !important;
}

body.home .vc_row:has(#SR7_6_1) > .wpb_column,
body.home .vc_row:has(sr7-module[data-alias="homev4"]) > .wpb_column,
body.home .vc_row:has(#SR7_6_1) .vc_column-inner,
body.home .vc_row:has(sr7-module[data-alias="homev4"]) .vc_column-inner,
body.home .vc_row:has(#SR7_6_1) .wpb_wrapper,
body.home .vc_row:has(sr7-module[data-alias="homev4"]) .wpb_wrapper {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.home #SR7_6_1,
body.home sr7-module[data-alias="homev4"] {
	display: block !important;
	left: 0 !important;
	max-width: none !important;
	position: relative !important;
	top: auto !important;
	width: 100% !important;
}

body.home #SR7_6_1 sr7-content,
body.home sr7-module[data-alias="homev4"] sr7-content,
body.home #SR7_6_1 sr7-slide,
body.home sr7-module[data-alias="homev4"] sr7-slide,
body.home #SR7_6_1 sr7-bg,
body.home sr7-module[data-alias="homev4"] sr7-bg {
	max-width: none !important;
	width: 100% !important;
}

/* Keep slide copy readable on bright piano photos */
body.home sr7-module[data-alias="homev4"] .sr7-layer,
body.home #SR7_6_1 .sr7-layer,
body.home sr7-module[data-alias="homev4"] rs-layer,
body.home #SR7_6_1 rs-layer {
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.65), 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Trust strip under hero */
.jpc-trust-bar {
	background: #fff;
	border-bottom: 1px solid #e8e8e8;
	margin: 0 0 1.25rem;
	padding: 0.85rem 0;
}

.jpc-trust-bar__list {
	display: grid;
	gap: 0.75rem 1.25rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0 auto;
	max-width: 1120px;
	padding: 0 1.2rem;
}

.jpc-trust-bar__item {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.jpc-trust-bar__label {
	color: #161616;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.jpc-trust-bar__hint {
	color: #666;
	font-size: 0.8rem;
	line-height: 1.3;
}

@media (max-width: 900px) {
	.jpc-trust-bar__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Keep 2 columns on phones (was 1fr below 520px → tall empty stack). */
@media (max-width: 520px) {
	.jpc-trust-bar__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem 0.85rem;
		padding: 0 0.85rem;
	}

	.jpc-trust-bar__label {
		font-size: 0.85rem;
	}

	.jpc-trust-bar__hint {
		font-size: 0.74rem;
	}
}

/*
 * Homepage testimonials — Hazel style1 (avatars + quote), after kids rental CTA.
 * Prefer .jpc-home-testimonials (body.home may be stripped by SR).
 */
.jpc-home-testimonials {
	background: #fff;
	border-bottom: 1px solid #e8e8e8;
	margin: 0 0 1.25rem;
	padding: 1.5rem 1.25rem 1.1rem;
	text-align: center;
}

.jpc-home-testimonials__inner {
	margin: 0 auto;
	max-width: 46rem;
}

.jpc-home-testimonials__title {
	color: #161616 !important;
	font-family: Hind, Arial, sans-serif !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	line-height: 1.3 !important;
	margin: 0 0 1.25rem !important;
	text-transform: uppercase !important;
}

.jpc-home-testimonials .testimonials,
.jpc-home-testimonials #testimonials-container-1,
.jpc-home-testimonials [id^="testimonials-container-"] {
	margin: 0 auto !important;
	max-width: 40rem;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Hazel style1 uses absolute slides + JS that double-counts author height → empty gap. */
.jpc-home-testimonials .testimonial-box {
	margin-bottom: 0 !important;
}

.jpc-home-testimonials .testimonials-content {
	height: auto !important;
	margin-bottom: 0 !important;
	min-height: 0 !important;
}

.jpc-home-testimonials .testimonials.style1 .testimonial {
	box-sizing: border-box;
	color: #333 !important;
	display: none !important;
	font-family: Mulish, Arial, sans-serif !important;
	font-size: 0.98rem !important;
	font-weight: 400 !important;
	left: auto !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	margin: 0 auto !important;
	position: relative !important;
	top: auto !important;
	width: 100% !important;
}

.jpc-home-testimonials .testimonials.style1 .testimonial.active {
	display: block !important;
}

.jpc-home-testimonials .testimonials p,
.jpc-home-testimonials .t-text,
.jpc-home-testimonials .testimonial-content {
	color: #333 !important;
	font-family: Mulish, Arial, sans-serif !important;
	font-size: 0.98rem !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	margin: 0 auto !important;
}

.jpc-home-testimonials .t-author-style1,
.jpc-home-testimonials .testimonial-author,
.jpc-home-testimonials .testimonials h4,
.jpc-home-testimonials .testimonials .author {
	color: #161616 !important;
	display: block !important;
	font-family: Hind, Arial, sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	margin: 0.65rem 0 0 !important;
	text-transform: uppercase !important;
}

.jpc-home-testimonials .testimonial-nav,
.jpc-home-testimonials .flex-control-nav,
.jpc-home-testimonials ul.testimonial-nav {
	display: flex !important;
	flex-wrap: wrap;
	float: none !important;
	gap: 0.45rem;
	justify-content: center;
	list-style: none !important;
	margin: 0 0 0.85rem !important;
	padding: 0 !important;
}

.jpc-home-testimonials .testimonial-nav li,
.jpc-home-testimonials ul.testimonial-nav li {
	float: none !important;
	height: auto !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.jpc-home-testimonials .testimonial-nav img,
.jpc-home-testimonials ul.testimonial-nav img {
	border-radius: 50%;
	display: block;
	height: 42px !important;
	object-fit: cover;
	opacity: 0.55;
	transition: opacity 0.2s ease;
	width: 42px !important;
}

.jpc-home-testimonials .testimonial-nav .flex-active img,
.jpc-home-testimonials .testimonial-nav li.flex-active img,
.jpc-home-testimonials .testimonial-nav a.flex-active img,
.jpc-home-testimonials .testimonial-nav a.active img {
	opacity: 1;
}

@media (max-width: 767px) {
	.jpc-home-testimonials {
		margin-bottom: 0.75rem;
		padding: 1rem 0.85rem 0.7rem;
	}

	.jpc-home-testimonials__title {
		font-size: 0.74rem !important;
		margin-bottom: 0.75rem !important;
	}

	.jpc-home-testimonials .testimonials.style1 .testimonial,
	.jpc-home-testimonials .testimonials p,
	.jpc-home-testimonials .t-text,
	.jpc-home-testimonials .testimonial-content {
		font-size: 0.9rem !important;
		line-height: 1.45 !important;
	}

	.jpc-home-testimonials .t-author-style1,
	.jpc-home-testimonials .testimonial-author,
	.jpc-home-testimonials .testimonials h4,
	.jpc-home-testimonials .testimonials .author {
		margin-top: 0.5rem !important;
	}

	.jpc-home-testimonials .testimonial-nav,
	.jpc-home-testimonials ul.testimonial-nav {
		margin-bottom: 0.65rem !important;
	}

	.jpc-home-testimonials .testimonial-nav img,
	.jpc-home-testimonials ul.testimonial-nav img {
		height: 36px !important;
		width: 36px !important;
	}
}

@media (max-width: 991px) {
	.jpc-trust-bar {
		margin-bottom: 0.85rem;
		padding: 0.75rem 0;
	}

	.jpc-trust-bar__list {
		gap: 0.85rem 1rem;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		padding: 0 1rem;
	}

	.jpc-trust-bar__label {
		font-size: 0.86rem;
	}

	.jpc-trust-bar__hint {
		font-size: 0.75rem;
	}
}

/* Discovery sits under trust bar on the homepage */
body.home .jpc-product-discovery {
	border-radius: 0;
	margin: 0 0 1.75rem;
}

/* Preserve the existing rental/service cards while making their full area tappable. */
.page-id-2105 .ult-new-ib,
.page-id-2123 .ult-new-ib {
	position: relative;
	min-height: 180px;
}

.page-id-2105 .ult-new-ib-link,
.page-id-2123 .ult-new-ib-link {
	display: block;
	height: 100%;
	inset: 0;
	position: absolute;
	touch-action: manipulation;
	width: 100%;
	z-index: 10;
}

.page-id-2105 .ult-new-ib-link:focus-visible,
.page-id-2123 .ult-new-ib-link:focus-visible {
	outline: 3px solid #e32934;
	outline-offset: -3px;
}

/* Inquiry forms */
.jpc-inquiry-trap {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

.jpc-inquiry-form {
	display: grid;
	gap: 0.85rem;
	margin: 1.5rem 0;
	max-width: 42rem;
}

.jpc-inquiry-form label {
	display: grid;
	gap: 0.35rem;
}

/* Consent row: checkbox aligned with first text line. */
.jpc-inquiry-form > p:has(input[type="checkbox"]) label,
.jpc-inquiry-form label:has(input[type="checkbox"]) {
	align-items: center;
	color: #161616;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	font-size: 0.92rem;
	font-weight: 500;
	gap: 0.55rem !important;
	line-height: 1.45;
}

.jpc-inquiry-form > p:has(input[type="checkbox"]) label a,
.jpc-inquiry-form label:has(input[type="checkbox"]) a {
	color: inherit !important;
	display: inline !important;
	font-size: inherit !important;
	font-weight: 600 !important;
	line-height: inherit !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: underline !important;
	text-underline-offset: 0.15em;
	white-space: normal !important;
}

.jpc-inquiry-form input[type="checkbox"] {
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
	display: inline-block !important;
	flex: 0 0 auto !important;
	float: none !important;
	height: 1.05rem !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	position: static !important;
	vertical-align: middle;
	width: 1.05rem !important;
}

.jpc-inquiry-form input[type="text"],
.jpc-inquiry-form input[type="email"],
.jpc-inquiry-form input[type="tel"],
.jpc-inquiry-form input[type="date"],
.jpc-inquiry-form input[type="time"],
.jpc-inquiry-form input[type="number"],
.jpc-inquiry-form input[type="file"],
.jpc-inquiry-form select,
.jpc-inquiry-form textarea {
	max-width: 100%;
	min-height: 44px;
	width: 100%;
}

.jpc-inquiry-form textarea {
	min-height: 120px;
}

.jpc-inquiry-form .jpc-inquiry-legend {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.jpc-inquiry-form .jpc-inquiry-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1.15rem;
}

.jpc-inquiry-form label.jpc-inquiry-radio {
	align-items: center;
	cursor: pointer;
	display: inline-flex !important;
	flex-direction: row !important;
	gap: 0.4rem !important;
	margin: 0;
}

.jpc-inquiry-form input[type="radio"] {
	appearance: auto !important;
	-webkit-appearance: radio !important;
	flex: 0 0 auto;
	height: 1.1rem !important;
	margin: 0 !important;
	width: 1.1rem !important;
}

.jpc-inquiry-form .button {
	justify-self: start;
	min-height: 44px;
}

/* Prefer JPC inquiry forms over legacy Contact Form 7 on the same page. */
body:has(.jpc-inquiry-form) .wpcf7 {
	display: none !important;
}

/* Storefront discovery — showroom catalogue toolbar */
/* —— Shop sticky filter sidebar —— */
.jpc-shop-layout {
	--jpc-shop-sidebar: 260px;
	/* Fallback; JS sets exact value from fixed header bottom. */
	--jpc-shop-sticky-top: 240px;
	align-items: start;
	display: grid;
	gap: 1.75rem;
	grid-template-columns: var(--jpc-shop-sidebar) minmax(0, 1fr);
	margin: 1.25rem 0 2.5rem;
	position: relative;
}

.jpc-shop-filters-toggle,
.jpc-shop-sidebar__close,
.jpc-shop-filters-backdrop {
	display: none;
}

.jpc-shop-sidebar {
	align-self: start;
	position: sticky;
	top: var(--jpc-shop-sticky-top);
	z-index: 6;
}

.jpc-shop-main {
	align-items: center;
	display: grid;
	gap: 0 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
	min-width: 0;
}

.jpc-shop-main .jpc-shop-filter-note {
	clear: both;
	color: #555;
	display: block;
	font-size: 0.95rem;
	grid-column: 1 / -1;
	line-height: 1.4;
	margin: 0 0 0.85rem !important;
	padding: 0;
	position: relative;
	width: 100%;
	z-index: 0;
}

/* Keep Woo sort/count floats below the filter notice (Hazel floats climb otherwise). */
.jpc-shop-main .woocommerce-notices-wrapper {
	clear: both;
	grid-column: 1 / -1;
	min-height: 0;
}

.jpc-shop-main .woocommerce-ordering {
	align-self: center;
	clear: none;
	float: none !important;
	grid-column: 2;
	justify-self: end;
	margin: 0 0 1rem !important;
	max-width: 13.5rem;
	position: relative !important;
	top: 0 !important;
	width: auto !important;
	z-index: 1;
}

.jpc-shop-main .woocommerce-result-count {
	align-self: center;
	clear: none;
	float: none !important;
	font-size: 0.88rem;
	grid-column: 1;
	line-height: 36px;
	margin: 0 0 1rem !important;
	max-width: none;
	min-height: 36px;
	padding: 0;
}

.jpc-shop-main .woocommerce-ordering select,
.jpc-shop-main .woocommerce-ordering .select2-container {
	font-size: 0.84rem !important;
	max-width: 100%;
	min-width: 0 !important;
	width: 13.5rem !important;
}

.jpc-shop-main .woocommerce-ordering .select2-container .select2-selection--single {
	height: 36px !important;
	min-height: 36px !important;
}

.jpc-shop-main .woocommerce-ordering .select2-container .select2-selection__rendered {
	font-size: 0.84rem !important;
	line-height: 34px !important;
	padding-right: 1.6rem !important;
}

.jpc-shop-main .woocommerce-ordering .select2-container .select2-selection__arrow {
	height: 34px !important;
}

.jpc-shop-main ul.products,
.jpc-shop-main .jpc-load-more,
.jpc-shop-main .woocommerce-pagination {
	clear: both;
	grid-column: 1 / -1;
}

.jpc-product-discovery {
	--jpc-disc-ink: #161616;
	--jpc-disc-muted: #6a6a6a;
	--jpc-disc-line: #e2e0dc;
	--jpc-disc-soft: #f3f1ed;
	--jpc-disc-white: #fff;
	--jpc-disc-accent: #e32934;
	background:
		linear-gradient(180deg, #faf9f7 0%, var(--jpc-disc-soft) 100%);
	border: 1px solid var(--jpc-disc-line);
	border-radius: 2px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
	color: var(--jpc-disc-ink);
	display: grid;
	gap: 1.15rem;
	margin: 0;
	padding: 1.15rem 1.1rem 1.25rem;
	position: relative;
}

.jpc-product-discovery::before {
	background: var(--jpc-disc-ink);
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/* Filters only (search lives in the header) */
.jpc-product-discovery--filters-only {
	gap: 0;
	padding: 1.15rem 1.1rem 1.25rem;
}

/* Sale badge — brand red, readable on catalogue + PDP */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.woocommerce div.product span.onsale,
.woocommerce-page div.product span.onsale {
	align-items: center;
	background: #e32934 !important;
	border-radius: 2px !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
	color: #fff !important;
	display: inline-flex;
	font-family: inherit;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	height: auto !important;
	justify-content: center;
	left: 10px !important;
	letter-spacing: 0.06em;
	line-height: 1.1 !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0.42rem 0.62rem !important;
	right: auto !important;
	text-transform: uppercase;
	top: 10px !important;
	width: auto !important;
	z-index: 9;
}

.woocommerce div.product span.onsale,
.woocommerce-page div.product span.onsale {
	font-size: 0.8rem !important;
	padding: 0.48rem 0.72rem !important;
}

/* NLB Buy&Go catalogue — keep badge + installment on one line */
.woocommerce ul.products li.product .nlb-bg-calculation,
.woocommerce-page ul.products li.product .nlb-bg-calculation {
	align-items: center;
	color: #230077 !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	font-family: inherit !important;
	font-size: 0.82rem !important;
	font-style: normal !important;
	gap: 0.3rem 0.4rem;
	line-height: 1.25;
	margin: 0.4rem 0 0.55rem;
	max-width: 100%;
	min-height: 1.5rem;
	white-space: nowrap;
}

/* Same NLB slot when a card has no installment line (e.g. C1). */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:not(:has(.nlb-bg-calculation))::after,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link:not(:has(.nlb-bg-calculation))::after {
	content: "";
	display: block;
	margin: 0.4rem 0 0.55rem;
	min-height: 1.5rem;
}

.woocommerce ul.products li.product .nlb-bg-calculation .nlb-bg-price,
.woocommerce-page ul.products li.product .nlb-bg-calculation .nlb-bg-price {
	color: #84c000 !important;
	font-weight: 700 !important;
	white-space: nowrap;
}

.jpc-product-discovery__head,
.jpc-product-discovery__title,
.jpc-product-discovery__lead {
	display: none;
}

.jpc-product-discovery__search {
	width: 100%;
}

.jpc-product-discovery__search .dgwt-wcas-search-wrapp,
.jpc-product-discovery__search .dgwt-wcas-sf-wrapp {
	max-width: none !important;
	width: 100% !important;
}

.jpc-product-discovery__search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
.jpc-product-discovery__search input[type="search"] {
	background: var(--jpc-disc-white) !important;
	border: 1px solid #cfcbc4 !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	color: var(--jpc-disc-ink) !important;
	font-size: 1rem !important;
	height: 48px !important;
	min-height: 48px !important;
	padding-left: 2.75rem !important;
	width: 100% !important;
}

.jpc-product-discovery__search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus,
.jpc-product-discovery__search input[type="search"]:focus {
	border-color: var(--jpc-disc-ink) !important;
	outline: none !important;
}

.jpc-product-filters {
	border-top: 0;
	margin: 0;
	padding-top: 0;
}

.jpc-product-filters__grid {
	align-items: stretch;
	display: grid;
	gap: 0.95rem;
	grid-template-columns: minmax(0, 1fr);
}

.jpc-product-filters__field {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
}

.jpc-product-filters__field--price {
	min-width: 0;
}

.jpc-product-filters__actions {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0.55rem;
	min-width: 0;
	padding-top: 0.15rem;
}

.jpc-product-filters__label {
	color: var(--jpc-disc-muted);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.jpc-product-filters__control {
	appearance: none;
	background-color: var(--jpc-disc-white);
	border: 1px solid #cfcbc4;
	border-radius: 2px;
	box-sizing: border-box;
	color: var(--jpc-disc-ink);
	font-size: 0.95rem;
	height: 44px;
	line-height: 1.2;
	margin: 0;
	max-width: 100%;
	min-height: 44px;
	padding: 0 0.85rem;
	width: 100%;
}

select.jpc-product-filters__control {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23161616' d='M1.2 1.3 6 6.1l4.8-4.8L12 2.5 6 8.5 0 2.5z'/%3E%3C/svg%3E");
	background-position: right 0.85rem center;
	background-repeat: no-repeat;
	background-size: 10px 7px;
	padding-right: 2rem;
}

.jpc-product-filters__control:focus {
	border-color: var(--jpc-disc-ink);
	outline: 2px solid transparent;
	outline-offset: 1px;
	box-shadow: 0 0 0 2px rgba(22, 22, 22, 0.12);
}

/* Hazel Select2 wraps filter selects — keep same field height/look */
.jpc-product-filters .select2-container {
	width: 100% !important;
}

.jpc-product-filters .select2-container .select2-selection--single {
	background-color: var(--jpc-disc-white) !important;
	border: 1px solid #cfcbc4 !important;
	border-radius: 2px !important;
	height: 44px !important;
	min-height: 44px !important;
}

.jpc-product-filters .select2-container .select2-selection__rendered {
	color: var(--jpc-disc-ink) !important;
	line-height: 42px !important;
	padding-left: 0.85rem !important;
	padding-right: 2rem !important;
}

.jpc-product-filters .select2-container .select2-selection__arrow {
	height: 42px !important;
	right: 0.45rem !important;
	top: 1px !important;
}

.jpc-product-filters .select2-container--default.select2-container--focus .select2-selection--single,
.jpc-product-filters .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--jpc-disc-ink) !important;
}

.jpc-product-filters__price {
	align-items: center;
	display: grid;
	gap: 0.4rem;
	grid-template-columns: 1fr auto 1fr;
}

.jpc-product-filters__price-sep {
	color: var(--jpc-disc-muted);
	font-size: 0.95rem;
	line-height: 1;
}

.jpc-product-filters__submit {
	appearance: none;
	background: var(--jpc-disc-ink);
	border: 1px solid var(--jpc-disc-ink);
	border-radius: 2px;
	color: #fff;
	cursor: pointer;
	flex: 0 0 auto;
	font-size: 0.78rem;
	font-weight: 700;
	height: 44px;
	letter-spacing: 0.08em;
	line-height: 1;
	min-height: 44px;
	min-width: 0;
	padding: 0 1.1rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
	width: 100%;
}

.jpc-product-filters__submit:hover,
.jpc-product-filters__submit:focus {
	background: var(--jpc-disc-accent);
	border-color: var(--jpc-disc-accent);
	color: #fff;
	outline: none;
}

.jpc-product-filters__reset {
	color: var(--jpc-disc-muted);
	font-size: 0.85rem;
	line-height: 1;
	padding: 0.35rem 0.15rem;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	white-space: nowrap;
}

.jpc-product-filters__reset:hover,
.jpc-product-filters__reset:focus {
	color: var(--jpc-disc-ink);
}

@media (prefers-reduced-motion: reduce) {
	.jpc-product-filters__submit {
		transition: none;
	}
}

/* Narrow desktop: slightly tighter sidebar so 4 product columns still fit. */
@media (max-width: 1200px) and (min-width: 992px) {
	.jpc-shop-layout {
		--jpc-shop-sidebar: 220px;
		gap: 1.1rem;
	}
}

/* Tablet/phone: filters become an off-canvas drawer. */
@media (max-width: 991px) {
	.jpc-shop-layout {
		display: block;
		margin: 0.75rem 0 1.5rem;
	}

	.jpc-shop-filters-toggle {
		align-items: center;
		background: #fff;
		border: 1px solid #e2e0dc;
		border-radius: 2px;
		color: #161616;
		cursor: pointer;
		display: flex;
		font-size: 0.78rem;
		font-weight: 700;
		justify-content: center;
		letter-spacing: 0.08em;
		margin: 0 0 0.85rem;
		min-height: 44px;
		padding: 0.75rem 1rem;
		text-transform: uppercase;
		width: 100%;
	}

	.jpc-shop-sidebar__close {
		align-items: center;
		background: transparent;
		border: 0;
		color: #161616;
		cursor: pointer;
		display: inline-flex;
		font-size: 1.5rem;
		height: 40px;
		justify-content: center;
		line-height: 1;
		padding: 0;
		position: absolute;
		right: 0.55rem;
		top: 0.45rem;
		width: 40px;
		z-index: 2;
	}

	.jpc-shop-filters-backdrop {
		background: rgba(22, 22, 22, 0.45);
		bottom: 0;
		display: block;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		right: 0;
		top: 0;
		transition: opacity 0.2s ease;
		z-index: 80;
	}

	.jpc-shop-layout.is-filters-open .jpc-shop-filters-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.jpc-shop-sidebar {
		background: #f7f6f4;
		bottom: 0;
		box-shadow: 8px 0 28px rgba(0, 0, 0, 0.18);
		left: 0;
		max-height: none;
		overflow-y: auto;
		padding: 0.75rem;
		position: fixed;
		top: 0;
		transform: translateX(-105%);
		transition: transform 0.22s ease;
		width: min(320px, 88vw);
		z-index: 90;
	}

	.jpc-shop-layout.is-filters-open .jpc-shop-sidebar {
		transform: translateX(0);
	}

	html.jpc-shop-filters-lock,
	html.jpc-shop-filters-lock body {
		overflow: hidden;
	}

	.jpc-product-discovery,
	.jpc-product-discovery--filters-only {
		gap: 0;
		margin: 0;
		padding: 2.4rem 0.85rem 1rem;
	}

	.jpc-product-filters__control {
		font-size: 0.9rem;
		height: 42px;
		min-height: 42px;
	}

	.jpc-product-filters .select2-container .select2-selection--single {
		height: 42px !important;
		min-height: 42px !important;
	}

	.jpc-product-filters .select2-container .select2-selection__rendered {
		line-height: 40px !important;
	}

	.jpc-product-filters__submit {
		font-size: 0.72rem;
		height: 42px;
		min-height: 42px;
	}
}

/* Shop catalogue: 4 products per row beside sticky filters. */
.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product,
.woocommerce-page.woocommerce-page:not(.single-product) .woo_four_cols ul.products li.product,
.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product,
.woocommerce-page.woocommerce-page:not(.single-product) .woo_three_cols ul.products li.product,
body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product {
	margin: 0 2.4% 2.5em 0 !important;
	width: 23.2% !important;
}

.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(3n+3),
.woocommerce-page.woocommerce-page:not(.single-product) .woo_three_cols ul.products li.product:nth-child(3n+3),
body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(3n+3) {
	margin-right: 2.4% !important;
}

.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(4n+4),
.woocommerce-page.woocommerce-page:not(.single-product) .woo_four_cols ul.products li.product:nth-child(4n+4),
.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(4n+4),
.woocommerce-page.woocommerce-page:not(.single-product) .woo_three_cols ul.products li.product:nth-child(4n+4),
body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(4n+4) {
	margin-right: 0 !important;
}

.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(4n+1),
.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(4n+1),
body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(4n+1) {
	clear: none !important;
}

.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(3n+1),
.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(3n+1),
body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(3n+1) {
	clear: none !important;
}

/* Equal-height product cards: flex row + CTA pinned to bottom. */
.woocommerce-page.woocommerce:not(.single-product) ul.products {
	align-items: stretch !important;
	display: flex !important;
	flex-wrap: wrap !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products::before,
.woocommerce-page.woocommerce:not(.single-product) ul.products::after {
	content: none !important;
	display: none !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product {
	clear: none !important;
	display: flex !important;
	float: none !important;
	flex-direction: column !important;
	height: auto !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .woo_hazel_thumb {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	width: 100%;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .woo_hazel_thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .woocommerce-loop-product__title,
body:has(.jpc-product-discovery) ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.3;
	min-height: 2.6em;
	overflow: hidden;
}

/* Catalogue prices — larger, sale strikethrough more visible. */
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .price,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product .price,
body:has(.jpc-product-discovery) ul.products li.product .price {
	color: #161616 !important;
	display: block;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0.35rem 0 0.45rem !important;
	min-height: 1.35em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .price del,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product .price del,
body:has(.jpc-product-discovery) ul.products li.product .price del {
	color: #8a8a8a !important;
	display: inline !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	margin-right: 0.35rem;
	opacity: 1 !important;
	text-decoration: line-through !important;
	text-decoration-color: #e32934 !important;
	text-decoration-thickness: 1.5px !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .price ins,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product .price ins,
body:has(.jpc-product-discovery) ul.products li.product .price ins {
	background: none !important;
	color: #e32934 !important;
	display: inline !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/*
 * Hazel hides loop add-to-cart until hover. Always show it (in-stock CTAs),
 * and pin enquiry / cart to the card footer.
 */
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.add_to_cart_button,
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.product_type_variable.add_to_cart_button,
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.product_type_grouped.add_to_cart_button,
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.product_type_external.add_to_cart_button,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.add_to_cart_button,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.product_type_variable.add_to_cart_button,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.product_type_grouped.add_to_cart_button,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.product_type_external.add_to_cart_button {
	align-items: center !important;
	animation: none !important;
	background: #161616 !important;
	border-radius: 0 !important;
	bottom: auto !important;
	color: #fff !important;
	display: flex !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	justify-content: center !important;
	left: auto !important;
	letter-spacing: 0.08em !important;
	line-height: 1.4 !important;
	margin: auto 0 0 !important;
	padding: 12px 20px !important;
	position: relative !important;
	text-align: center !important;
	text-transform: uppercase !important;
	width: 100% !important;
}

/* Loading ring + added check stay inside the button (Hazel 25px gif overflowed). */
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.add_to_cart_button.loading,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.add_to_cart_button.loading,
body:has(.jpc-product-discovery) ul.products li.product a.add_to_cart_button.loading {
	padding-right: 2.4rem !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.add_to_cart_button.loading::before,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.add_to_cart_button.loading::before,
body:has(.jpc-product-discovery) ul.products li.product a.add_to_cart_button.loading::before {
	display: none !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.add_to_cart_button.loading::after,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.add_to_cart_button.loading::after,
body:has(.jpc-product-discovery) ul.products li.product a.add_to_cart_button.loading::after {
	animation: jpc-cart-spin 0.7s linear infinite !important;
	background: none !important;
	background-image: none !important;
	border: 2px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 50% !important;
	border-top-color: #fff !important;
	bottom: auto !important;
	box-sizing: border-box !important;
	content: "" !important;
	display: block !important;
	font-size: 0 !important;
	height: 14px !important;
	left: auto !important;
	margin: 0 !important;
	position: absolute !important;
	right: 0.7rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	visibility: visible !important;
	width: 14px !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.add_to_cart_button.added::before,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.add_to_cart_button.added::before,
body:has(.jpc-product-discovery) ul.products li.product a.add_to_cart_button.added::before {
	bottom: auto !important;
	color: #fff !important;
	font-size: 14px !important;
	height: auto !important;
	line-height: 1 !important;
	right: 0.7rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: auto !important;
}

@keyframes jpc-cart-spin {
	to {
		transform: translateY(-50%) rotate(360deg);
	}
}

/* OOS “Preberi več” leftover from Woo — never show beside enquiry. */
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.product_type_simple:not(.add_to_cart_button),
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.product_type_simple:not(.add_to_cart_button) {
	display: none !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product:hover a.add_to_cart_button,
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product:hover a.product_type_variable.add_to_cart_button,
.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product:hover a.add_to_cart_button {
	bottom: auto !important;
	display: flex !important;
}

.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .product-enquiry-loop-button {
	align-items: center !important;
	background: #161616 !important;
	color: #fff !important;
	display: flex !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	justify-content: center !important;
	letter-spacing: 0.08em !important;
	margin-top: auto !important;
	padding: 12px 20px !important;
	text-transform: uppercase !important;
	width: 100% !important;
}

/* Keep product image readable — Hazel fades it on hover for overlay cart. */
.woocommerce-page.woocommerce:not(.single-product) ul.products li.product:hover img,
.woocommerce ul.products li.product:hover img {
	opacity: 1 !important;
}

@media (max-width: 1024px) {
	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product,
	.woocommerce-page.woocommerce-page:not(.single-product) .woo_four_cols ul.products li.product,
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product,
	.woocommerce-page.woocommerce-page:not(.single-product) .woo_three_cols ul.products li.product,
	body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product {
		margin: 0 2.4% 2.5em 0 !important;
		width: 23.2% !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(4n+4),
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(4n+4),
	body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(4n+4) {
		margin-right: 0 !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(3n+3),
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(3n+3),
	body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(3n+3) {
		margin-right: 2.4% !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(4n+1),
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(4n+1),
	body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(4n+1) {
		clear: none !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(3n+1),
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(3n+1),
	body.jpc-shop-sidebar-layout:not(.single-product) ul.products li.product:nth-child(3n+1) {
		clear: none !important;
	}
}

/* Mobile shop: 2 columns (match homepage product density).
 * SR7 strips body.woocommerce / .jpc-showroom-shop — scope with :has(.jpc-product-discovery). */
@media (max-width: 991px) {
	body:has(.jpc-product-discovery) ul.products {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0.75rem !important;
	}

	body:has(.jpc-product-discovery) ul.products::before,
	body:has(.jpc-product-discovery) ul.products::after {
		display: none !important;
	}

	body:has(.jpc-product-discovery) ul.products li.product,
	body:has(.jpc-product-discovery) .woo_four_cols ul.products li.product,
	body:has(.jpc-product-discovery) .woo_three_cols ul.products li.product,
	body:has(.jpc-product-discovery) .woocommerce.columns-4 ul.products li.product,
	body:has(.jpc-product-discovery) .woocommerce.columns-3 ul.products li.product {
		clear: none !important;
		float: none !important;
		margin: 0 !important;
		position: relative !important;
		width: calc((100% - 0.75rem) / 2) !important;
	}

	body:has(.jpc-product-discovery) ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.92rem;
		line-height: 1.3;
		min-height: 2.6em;
	}

	body:has(.jpc-product-discovery) ul.products li.product a.add_to_cart_button,
	body:has(.jpc-product-discovery) ul.products li.product a.product_type_variable.add_to_cart_button,
	body:has(.jpc-product-discovery) ul.products li.product .product-enquiry-loop-button {
		font-size: 11px !important;
		letter-spacing: 0.04em !important;
		padding: 10px 8px !important;
	}

	/* Duplicate H1 above filters (banner already shows Trgovina). */
	body:has(.jpc-product-discovery) .container > h1.page-title {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
	}
}

/* Legacy selectors kept for when body classes survive. */
@media (max-width: 680px) {
	.woocommerce-page.woocommerce:not(.single-product) ul.products {
		gap: 0.75rem !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product,
	.woocommerce-page.woocommerce-page:not(.single-product) .woo_four_cols ul.products li.product,
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product,
	.woocommerce-page.woocommerce-page:not(.single-product) .woo_three_cols ul.products li.product {
		margin: 0 !important;
		width: calc((100% - 0.75rem) / 2) !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) .woo_four_cols ul.products li.product:nth-child(n),
	.woocommerce-page.woocommerce:not(.single-product) .woo_three_cols ul.products li.product:nth-child(n) {
		clear: none !important;
		margin-right: 0 !important;
	}

	.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.92rem;
		line-height: 1.3;
		min-height: 2.6em;
	}

	.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.add_to_cart_button,
	.woocommerce-page.woocommerce:not(.single-product) ul.products li.product a.product_type_variable.add_to_cart_button,
	.woocommerce-page.woocommerce:not(.single-product) ul.products li.product .product-enquiry-loop-button,
	.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product a.add_to_cart_button,
	.woocommerce-page.woocommerce-page:not(.single-product) ul.products li.product .product-enquiry-loop-button {
		font-size: 11px !important;
		letter-spacing: 0.04em !important;
		padding: 10px 8px !important;
	}
}

/* Keep product media inside its content column on narrow viewports. */
.woocommerce div.product .woocommerce-Tabs-panel iframe,
.woocommerce div.product .wp-video,
.woocommerce div.product video,
.woocommerce div.product .video-container,
.woocommerce div.product .wpb_video_wrapper {
	max-width: 100%;
}

.woocommerce div.product .wpb_video_wrapper {
	height: auto;
	padding-top: 56.25%;
	position: relative;
}

.woocommerce div.product .wpb_video_wrapper iframe {
	border: 0;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

@supports (aspect-ratio: 16 / 9) {
	.woocommerce div.product .wpb_video_wrapper {
		aspect-ratio: 16 / 9;
		padding-top: 0;
	}
}

/* ==========================================================================
 * My Account — page-wide redesign (nav card, content card, notices, orders,
 * addresses, forms). Extends the same quiet "piano-key" hierarchy already
 * used below for the Rezervacije tab to the rest of WooCommerce My Account:
 * ink #161616, muted #666, accent #e32934, soft #f6f6f4, line #e5e5e5.
 * Scoped to .woocommerce-account so nothing leaks into cart/checkout/shop.
 * ========================================================================== */
.woocommerce-account {
	--jpc-acc-ink: #161616;
	--jpc-acc-muted: #666;
	--jpc-acc-red: #e32934;
	--jpc-acc-soft: #f6f6f4;
	--jpc-acc-line: #e5e5e5;
}

.woocommerce-account .woocommerce {
	color: var(--jpc-acc-ink);
}

/* Notices: temporary-password nag, save-changes confirmations, form errors.
 * Hazel sets `.woocommerce-error li { color:#fff !important }` for its dark
 * error boxes — keep ink on our soft light backgrounds. */
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error {
	background: var(--jpc-acc-soft) !important;
	border: none !important;
	border-left: 4px solid var(--jpc-acc-red) !important;
	border-radius: 0 4px 4px 0;
	color: var(--jpc-acc-ink) !important;
	font-size: 0.95rem;
	line-height: 1.55;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 1rem 1.15rem;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: #b3261e !important;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message li,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info li,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error a {
	color: var(--jpc-acc-ink) !important;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error li {
	margin: 0;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error li a {
	display: inline-block;
	margin-top: 0.35rem;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message a:hover,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info a:hover,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error a:hover,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message a:focus-visible,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info a:focus-visible,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error a:focus-visible {
	color: var(--jpc-acc-red) !important;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error::before {
	display: none;
}

.woocommerce-account .woocommerce-notices-wrapper .button {
	margin-top: 0.65rem;
}

/* Left navigation: soft card, red left rail on the active tab. */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--jpc-acc-soft);
	border: 1px solid var(--jpc-acc-line);
	border-radius: 8px;
	overflow: hidden;
	padding: 0.4rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid rgba(22, 22, 22, 0.06);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	border-left: 3px solid transparent;
	color: var(--jpc-acc-ink);
	display: block;
	font-family: Mulish, Arial, sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	padding: 0.85rem 1rem 0.85rem 0.85rem;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
	background: #fff;
	color: var(--jpc-acc-red);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #fff;
	border-left-color: var(--jpc-acc-red);
	color: var(--jpc-acc-red);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--jpc-acc-muted);
}

/* Right content: white card matching the Rezervacije cancellation-list style. */
.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--jpc-acc-line);
	border-radius: 8px;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.woocommerce-account .woocommerce-MyAccount-content > p {
	line-height: 1.6;
}

.woocommerce-account .woocommerce-MyAccount-content mark {
	background: none;
	color: var(--jpc-acc-red);
	font-weight: 700;
}

/* Orders — card list (replaces dense shop_table). */
.woocommerce-account .jpc-orders-list {
	display: grid;
	gap: 0.85rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .jpc-order-card {
	align-items: center;
	background: var(--jpc-acc-soft);
	border: 1px solid var(--jpc-acc-line);
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	padding: 1.1rem 1.25rem;
	transition: border-color 0.15s ease;
}

.woocommerce-account .jpc-order-card:hover {
	border-color: #ccc;
}

.woocommerce-account .jpc-order-card__main {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
}

.woocommerce-account .jpc-order-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.woocommerce-account .jpc-order-card__number {
	color: var(--jpc-acc-ink);
	font-family: "Josefin Sans", Hind, Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.woocommerce-account .jpc-order-card__number:hover,
.woocommerce-account .jpc-order-card__number:focus-visible {
	color: var(--jpc-acc-red);
}

.woocommerce-account .jpc-order-card__status {
	border-radius: 999px;
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	padding: 0.4rem 0.65rem;
	text-transform: uppercase;
}

.woocommerce-account .jpc-order-card__status--processing,
.woocommerce-account .jpc-order-card__status--completed {
	background: #e8f5ec;
	color: #1f7a3d;
}

.woocommerce-account .jpc-order-card__status--on-hold,
.woocommerce-account .jpc-order-card__status--pending {
	background: #f8f0d8;
	color: #9a6b00;
}

.woocommerce-account .jpc-order-card__status--cancelled,
.woocommerce-account .jpc-order-card__status--failed,
.woocommerce-account .jpc-order-card__status--refunded {
	background: #f8e8e9;
	color: var(--jpc-acc-red);
}

.woocommerce-account .jpc-order-card__details {
	color: var(--jpc-acc-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.92rem;
	gap: 0.35rem 1rem;
}

.woocommerce-account .jpc-order-card__total {
	color: var(--jpc-acc-ink);
	font-weight: 600;
}

.woocommerce-account .jpc-order-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.woocommerce-account .jpc-order-card__btn {
	background: var(--jpc-acc-ink) !important;
	border: 1px solid var(--jpc-acc-ink) !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	min-height: 40px;
	padding: 0 1rem !important;
	text-transform: uppercase;
}

.woocommerce-account .jpc-order-card__btn:hover,
.woocommerce-account .jpc-order-card__btn:focus-visible {
	background: var(--jpc-acc-red) !important;
	border-color: var(--jpc-acc-red) !important;
}

.woocommerce-account .jpc-order-card__btn--invoice,
.woocommerce-account .jpc-order-card__btn.invoice {
	background: #fff !important;
	border-color: var(--jpc-acc-ink) !important;
	color: var(--jpc-acc-ink) !important;
}

.woocommerce-account .jpc-order-card__btn--invoice:hover,
.woocommerce-account .jpc-order-card__btn.invoice:hover {
	background: var(--jpc-acc-ink) !important;
	color: #fff !important;
}

.woocommerce-account .jpc-orders-pagination {
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin-top: 1.25rem;
}

@media (max-width: 640px) {
	.woocommerce-account .jpc-order-card {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce-account .jpc-order-card__actions {
		width: 100%;
	}

	.woocommerce-account .jpc-order-card__btn {
		flex: 1 1 auto;
		text-align: center;
	}
}

/* Legacy table fallback (view-order / other WC tables on account). */
.woocommerce-account table.woocommerce-orders-table {
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-account table.woocommerce-orders-table thead th {
	border-bottom: 2px solid var(--jpc-acc-ink);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0 0 0.65rem;
	text-transform: uppercase;
}

.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell {
	border-bottom: 1px solid var(--jpc-acc-line);
	padding: 0.85rem 0.5rem;
}

/* Addresses — kill WooCommerce float columns (.col-1 / .col-2) that stagger the cards. */
.woocommerce-account .woocommerce-Addresses {
	display: grid !important;
	float: none !important;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100% !important;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	content: none !important;
	display: none !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2 {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.woocommerce-account .woocommerce-Address {
	background: var(--jpc-acc-soft);
	border-radius: 8px;
	box-sizing: border-box;
	padding: 1.25rem 1.4rem;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: 0.65rem;
}

.woocommerce-account .woocommerce-Address-title h2 {
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

.woocommerce-account .woocommerce-Address-title .edit {
	color: var(--jpc-acc-red);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-account .woocommerce-Address-title .edit:hover,
.woocommerce-account .woocommerce-Address-title .edit:focus-visible {
	text-decoration: underline;
}

.woocommerce-account .woocommerce-Address address {
	color: var(--jpc-acc-muted);
	font-style: normal;
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 767px) {
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

/* Forms: edit account, addresses, reset password. */
.woocommerce-account form .form-row label {
	color: var(--jpc-acc-ink);
	font-size: 0.88rem;
	font-weight: 600;
}

.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row select,
.woocommerce-account form .form-row textarea {
	border: 1px solid #ccc;
	border-radius: 4px;
	min-height: 46px;
	padding: 0 0.85rem;
}

.woocommerce-account form .form-row input.input-text:focus,
.woocommerce-account form .form-row select:focus,
.woocommerce-account form .form-row textarea:focus {
	border-color: var(--jpc-acc-red);
	outline: none;
}

.woocommerce-account form fieldset {
	border: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.woocommerce-account form fieldset legend {
	font-family: "Josefin Sans", Hind, Arial, sans-serif;
	font-size: 1rem;
	letter-spacing: 0.02em;
	margin-bottom: 0.75rem;
	padding: 0;
	text-transform: uppercase;
}

.woocommerce-account form button.woocommerce-Button {
	background: var(--jpc-acc-ink);
	border: 1px solid var(--jpc-acc-ink);
	border-radius: 4px;
	color: #fff;
	font-weight: 700;
	min-height: 46px;
	padding: 0 1.4rem;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.woocommerce-account form button.woocommerce-Button:hover {
	background: var(--jpc-acc-red);
	border-color: var(--jpc-acc-red);
}

/* ==========================================================================
 * Guest auth (Moj račun) — storefront-aligned, not SaaS.
 * Editorial Josefin tabs + red underline, flat white card on white page,
 * brand-red CTA, one Google button under the form.
 * ========================================================================== */
.woocommerce-account:not(.logged-in) .woocommerce {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
	max-width: 26rem;
	width: 100%;
	margin-bottom: 1rem;
}

.jpc-auth {
	--jpc-auth-ink: #161616;
	--jpc-auth-muted: #666;
	--jpc-auth-red: #e32934;
	--jpc-auth-line: #e5e5e5;
	width: 100%;
	max-width: 26rem;
	margin: 0 auto 2.5rem;
}

.jpc-auth__card {
	background: #fff;
	border: 1px solid var(--jpc-auth-line);
	border-radius: 0;
	box-shadow: none;
	padding: 2rem 1.75rem 1.75rem;
}

.jpc-auth__title {
	font-family: "Josefin Sans", Hind, Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin: 0 0 1.5rem;
	text-align: center;
	text-transform: uppercase;
}

.jpc-auth__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--jpc-auth-line);
	border-radius: 0;
	margin: 0 0 1.6rem;
	padding: 0;
}

.jpc-auth__tab {
	appearance: none;
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	color: var(--jpc-auth-muted);
	cursor: pointer;
	font-family: "Josefin Sans", Hind, Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin-bottom: -1px;
	min-height: 44px;
	padding: 0.65rem 0.5rem 0.85rem;
	text-transform: uppercase;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.jpc-auth__tab:hover,
.jpc-auth__tab:focus-visible {
	color: var(--jpc-auth-ink);
	outline: none;
}

.jpc-auth__tab:focus-visible {
	box-shadow: none;
	outline: 2px solid rgba(227, 41, 52, 0.35);
	outline-offset: 2px;
}

.jpc-auth__tab.is-active {
	background: transparent;
	border-bottom-color: var(--jpc-auth-red);
	box-shadow: none;
	color: var(--jpc-auth-ink);
}

.jpc-auth__panel[hidden] {
	display: none !important;
}

.jpc-auth form .form-row {
	margin: 0 0 1.05rem;
}

.jpc-auth form .form-row label {
	color: var(--jpc-auth-ink);
	display: block;
	font-family: Mulish, Arial, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	margin: 0 0 0.45rem;
}

.jpc-auth form .form-row input.input-text {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	box-sizing: border-box;
	color: var(--jpc-auth-ink);
	font-family: Mulish, Arial, sans-serif;
	font-size: 0.95rem;
	min-height: 48px;
	padding: 0 0.9rem;
	width: 100%;
}

.jpc-auth form .form-row input.input-text:focus {
	border-color: var(--jpc-auth-red);
	outline: none;
	box-shadow: none;
}

.jpc-auth .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.jpc-auth .password-input input.input-text {
	padding-right: 2.85rem;
}

/* WooCommerce show-password — was a collapsed grey stub without icon font. */
.jpc-auth .show-password-input,
.woocommerce-account .show-password-input {
	appearance: none;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23666' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 1.2rem 1.2rem !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	cursor: pointer;
	display: block !important;
	height: 2.25rem !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	position: absolute !important;
	right: 0.35rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.25rem !important;
}

.jpc-auth .show-password-input:hover,
.jpc-auth .show-password-input:focus-visible,
.woocommerce-account .show-password-input:hover,
.woocommerce-account .show-password-input:focus-visible {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23e32934' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
	outline: none;
}

.jpc-auth .show-password-input.display-password,
.woocommerce-account .show-password-input.display-password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23161616' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19M1 1l22 22'/%3E%3C/svg%3E") !important;
}

.jpc-auth .password-input .show-password-input ~ .show-password-input {
	display: none !important;
}

.jpc-auth__hint,
.jpc-auth .woocommerce-privacy-policy-text {
	color: var(--jpc-auth-muted);
	font-family: Mulish, Arial, sans-serif;
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.jpc-auth .woocommerce-privacy-policy-text a {
	color: var(--jpc-auth-ink);
	text-decoration: underline;
}

.jpc-auth__actions {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin-top: 0.35rem !important;
}

.jpc-auth__actions .woocommerce-form-login__rememberme {
	align-items: center !important;
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	font-weight: 400 !important;
	gap: 0.45rem !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	width: auto !important;
}

.jpc-auth__actions .woocommerce-form-login__rememberme input[type="checkbox"] {
	align-self: center !important;
	display: inline-block !important;
	float: none !important;
	flex: 0 0 16px;
	height: 16px !important;
	margin: 0 !important;
	position: static !important;
	vertical-align: middle;
	width: 16px !important;
}

.jpc-auth__actions .woocommerce-form-login__rememberme span {
	display: inline !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}

.jpc-auth .woocommerce-form-login__submit,
.jpc-auth .woocommerce-form-register__submit,
.jpc-auth button.woocommerce-Button,
.jpc-auth button.woocommerce-button {
	background: var(--jpc-auth-red) !important;
	border: 1px solid var(--jpc-auth-red) !important;
	border-radius: 0 !important;
	color: #fff !important;
	font-family: "Josefin Sans", Hind, Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600 !important;
	letter-spacing: 0.16em;
	min-height: 48px;
	padding: 0 1.5rem !important;
	text-transform: uppercase;
	transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
	width: 100%;
}

.jpc-auth .woocommerce-form-login__submit:hover,
.jpc-auth .woocommerce-form-register__submit:hover,
.jpc-auth button.woocommerce-Button:hover,
.jpc-auth button.woocommerce-button:hover {
	background: #c4121c !important;
	border-color: #c4121c !important;
}

.jpc-auth .lost_password {
	margin: 0.5rem 0 0;
	text-align: center;
}

.jpc-auth .lost_password a {
	color: var(--jpc-auth-muted) !important;
	font-size: 0.88rem;
	text-decoration: underline;
}

.jpc-auth .lost_password a:hover,
.jpc-auth .lost_password a:focus-visible {
	color: var(--jpc-auth-red);
}

.jpc-auth .jpc-nsl-woo {
	border-top: 1px solid var(--jpc-auth-line);
	margin-top: 1.5rem;
	padding-top: 1.25rem;
}

.jpc-auth .jpc-nsl-woo__sep {
	color: var(--jpc-auth-muted);
	font-family: Mulish, Arial, sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	text-transform: none;
}

.jpc-auth .jpc-nsl-woo__sep span {
	background: #fff;
}

.jpc-auth .jpc-nsl-woo .nsl-button {
	border-radius: 0 !important;
	max-width: 100%;
}

@media (max-width: 520px) {
	.jpc-auth__card {
		padding: 1.5rem 1.15rem 1.35rem;
	}
}

/* Unified customer account: quiet, piano-key inspired information hierarchy. */
.jpc-account-bookings {
	--jpc-ink: #161616;
	--jpc-muted: #666;
	--jpc-red: #e32934;
	--jpc-soft: #f6f6f4;
	color: var(--jpc-ink);
	position: relative;
	z-index: 5;
}

.jpc-cancellation-list {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	margin: 24px 0;
	padding: 20px;
}

.jpc-cancellation-list h3 {
	margin: 0 0 14px;
}

.jpc-cancellation-item {
	align-items: center;
	border-top: 1px solid #eee;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 14px 0;
}

.jpc-cancellation-item > div span {
	color: var(--jpc-muted);
	display: block;
	margin-top: 3px;
}

.jpc-cancellation-item form {
	margin: 0;
}

.jpc-cancellation-confirm {
	display: grid;
	gap: 10px;
	justify-items: end;
}

.jpc-cancel-booking.button {
	background: var(--jpc-red);
	border-color: var(--jpc-red);
	color: #fff;
	min-height: 44px;
}

.jpc-booking-credit-field {
	background: #f6f6f4;
	border-left: 4px solid #e32934;
	margin: 0 0 18px;
	padding: 14px 16px;
}

.jpc-booking-credit-field label {
	font-weight: 700;
}

.jpc-booking-credit-field .description {
	display: block;
	margin: 5px 0 0 24px;
}

/* The legacy theme intercepts BookingPress's native cancel control. */
.jpc-account-bookings .bpa-front-btn[aria-label="Prekliči rezervacijo"] {
	display: none !important;
}

/*
 * WooCommerce already provides the account nav. Hide BookingPress's duplicate
 * customer-panel sidebar / mobile profile menu (edit account, password, logout).
 */
.jpc-account-bookings .bpa-pro-mb-nav,
.jpc-account-bookings .bpa-front-cp-left-sidebar,
.jpc-account-bookings .bpa-front-cp-top-navbar,
.jpc-account-bookings .bpa-pro-mb-nav__desktop,
.jpc-account-bookings .bpa-cp-tn__right {
	display: none !important;
}

.jpc-account-bookings .bpa-front-cp-card,
.jpc-account-bookings .bpa-front-cp-body,
.jpc-account-bookings .bpa-pro-mb-nav + .bpa-front-cp-body,
.jpc-account-bookings .bpa-frontend-main-container {
	max-width: 100% !important;
	width: 100% !important;
}

.jpc-account-bookings > h2 {
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	letter-spacing: -0.025em;
	line-height: 1.15;
	margin-bottom: 0.55rem;
}

.jpc-account-bookings > h2 + p {
	color: var(--jpc-muted);
	font-size: 1rem;
	max-width: 68ch;
}

.jpc-booking-policy {
	background: var(--jpc-soft);
	border-left: 4px solid var(--jpc-red);
	display: grid;
	gap: 0.3rem;
	margin: 1.25rem 0;
	padding: 1rem 1.15rem;
}

.jpc-booking-policy strong {
	font-size: 1rem;
}

.jpc-booking-policy span {
	color: var(--jpc-muted);
	line-height: 1.55;
}

.jpc-credit-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
}

/* Shared chip size — credit label + CTA must match exactly. */
.jpc-account-bookings .jpc-credit-chip,
.woocommerce-account .jpc-credit-chip {
	align-items: center !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	height: 48px !important;
	justify-content: center !important;
	letter-spacing: normal !important;
	line-height: 1 !important;
	margin: 0 !important;
	max-height: 48px !important;
	min-height: 48px !important;
	padding: 0 1rem !important;
	text-decoration: none !important;
	text-transform: none !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

.jpc-account-bookings .jpc-credit-balance,
.woocommerce-account .jpc-credit-balance {
	border: 1px solid #dededb !important;
	border-radius: 0 !important;
	gap: 0.45rem !important;
	justify-content: flex-start !important;
}

.jpc-account-bookings .jpc-credit-balance strong,
.woocommerce-account .jpc-credit-balance strong {
	color: var(--jpc-red) !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.jpc-account-bookings .jpc-credit-balance span,
.woocommerce-account .jpc-credit-balance span {
	color: inherit !important;
	font-size: 1rem !important;
	line-height: 1 !important;
}

.jpc-account-bookings .jpc-new-booking-btn,
.woocommerce-account .jpc-new-booking-btn {
	background: var(--jpc-red) !important;
	border: 1px solid var(--jpc-red) !important;
	border-radius: 0 !important;
	color: #fff !important;
	font-weight: 600 !important;
}

.jpc-account-bookings .jpc-new-booking-btn:hover,
.jpc-account-bookings .jpc-new-booking-btn:focus,
.woocommerce-account .jpc-new-booking-btn:hover,
.woocommerce-account .jpc-new-booking-btn:focus {
	background: #c41f28 !important;
	border-color: #c41f28 !important;
	color: #fff !important;
}

/* BookingPress table: keep sort carets beside the label, not above/below. */
.jpc-account-bookings .el-table th > .cell {
	align-items: center;
	display: inline-flex !important;
	flex-wrap: nowrap;
	gap: 0.35rem;
	white-space: nowrap;
}

.jpc-account-bookings .el-table .caret-wrapper {
	display: inline-flex !important;
	flex-direction: column;
	flex-shrink: 0;
	height: 14px !important;
	justify-content: center;
	margin-left: 0 !important;
	position: relative !important;
	top: 0 !important;
	vertical-align: middle;
	width: 12px !important;
}

.jpc-account-bookings .el-table .sort-caret {
	left: 2px !important;
}

.jpc-account-bookings .el-table .sort-caret.ascending {
	top: -1px !important;
}

.jpc-account-bookings .el-table .sort-caret.descending {
	bottom: -1px !important;
}

.jpc-account-bookings table {
	min-width: 680px;
}

.jpc-account-bookings button,
.jpc-account-bookings input,
.jpc-account-bookings select {
	min-height: 44px;
}

@media (max-width: 767px) {
	.jpc-cancellation-item {
		align-items: stretch;
		flex-direction: column;
	}

	.jpc-cancel-booking.button {
		width: 100%;
	}

	.jpc-cancellation-confirm {
		justify-items: stretch;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		padding-bottom: 0.5rem;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		display: block;
		padding: 0.8rem 1rem;
		white-space: nowrap;
	}

	.jpc-account-bookings {
		overflow-x: auto;
	}

	.jpc-account-bookings > h2 {
		font-size: 1.65rem;
	}

	.jpc-booking-policy {
		padding: 0.9rem 1rem;
	}

	.jpc-credit-balance {
		display: inline-flex;
		width: 100%;
	}

	.jpc-credit-row {
		align-items: stretch;
		flex-direction: column;
	}

	.jpc-account-bookings .jpc-credit-chip,
	.woocommerce-account .jpc-credit-chip {
		justify-content: center !important;
		width: 100% !important;
	}

	.jpc-account-bookings .bpa-front-module-container,
	.jpc-account-bookings .bpa-front-dev,
	.jpc-account-bookings .el-table,
	.jpc-account-bookings .bpa-front-module-container .el-table__body-wrapper,
	.jpc-account-bookings .el-table__body-wrapper {
		max-width: 100%;
		overflow-x: auto;
	}

	/* Product builder videos / Ultimate Addons embeds must not overflow text. */
	.woocommerce div.product .wpb_wrapper iframe,
	.woocommerce div.product .ult_modal iframe,
	.woocommerce div.product .uvc-video-wrap,
	.woocommerce div.product .ultimate-video,
	.woocommerce div.product .wpb_video_widget,
	.woocommerce div.product .dt-video-container {
		display: block;
		max-width: 100% !important;
		width: 100% !important;
	}

	.woocommerce div.product .wpb_column,
	.woocommerce div.product .vc_column_container,
	.woocommerce div.product .wpb_text_column {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.woocommerce div.product .wpb_row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Homepage shop-first category rail */
.jpc-category-rail {
	margin: 0.25rem 0 0.5rem;
}

.jpc-category-rail__label {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 0 0 0.55rem;
	text-transform: uppercase;
}

.jpc-category-rail ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jpc-category-rail a {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	color: #161616;
	display: inline-block;
	font-size: 0.92rem;
	line-height: 1.2;
	min-height: 44px;
	padding: 0.65rem 0.85rem;
	text-decoration: none;
}

.jpc-category-rail a:hover,
.jpc-category-rail a:focus-visible {
	border-color: #e32934;
	color: #e32934;
}

.jpc-category-rail__all {
	font-weight: 700;
}

.jpc-booking-guide {
	align-items: center;
	background: linear-gradient(135deg, #faf7f5 0%, #f3eeea 100%);
	border: 1px solid #e6ddd6;
	border-left: 4px solid #e32934;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	justify-content: space-between;
	/* Match BookingPress .bpa-frontend-main-container (1140px, centered). */
	margin: 0 auto 1.25rem;
	max-width: 1140px;
	padding: 1rem 1.15rem;
	width: 100%;
}

.jpc-booking-guide__title {
	color: #161616;
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 0.2rem;
}

.jpc-booking-guide__desc {
	color: #444;
	margin: 0;
}

.jpc-booking-guide__btn {
	background: #e32934;
	border-radius: 2px;
	color: #fff !important;
	display: inline-block;
	font-weight: 700;
	padding: 0.7rem 1.15rem;
	text-decoration: none !important;
	white-space: nowrap;
}

.jpc-booking-guide__btn:hover,
.jpc-booking-guide__btn:focus {
	background: #c41f2a;
	color: #fff !important;
}

.jpc-booking-login-hint {
	background: #161616;
	bottom: 0;
	color: #fff;
	height: auto;
	left: 0;
	padding: 0.85rem 1rem;
	/* fixed (not sticky): sticky + bottom/left/right stretches the aside
	   over the full booking form and paints a black overlay. */
	position: fixed;
	right: 0;
	width: 100%;
	z-index: 40;
}

.jpc-booking-login-hint a {
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
}

.jpc-booking-thankyou,
.jpc-booking-checkout-notice,
.jpc-concert-rider,
.jpc-empty-filters {
	margin: 1rem 0;
}

.jpc-empty-filters {
	color: #666;
}

/* Nextend Social Login on WooCommerce My Account */
.jpc-nsl-woo {
	margin-top: 1.25rem;
	text-align: center;
}

.jpc-nsl-woo__sep {
	color: #666;
	font-size: 0.9rem;
	margin: 0 0 0.85rem;
	position: relative;
	text-transform: lowercase;
}

.jpc-nsl-woo__sep span {
	background: #fff;
	padding: 0 0.65rem;
	position: relative;
	z-index: 1;
}

.jpc-nsl-woo__sep::before {
	background: #ddd;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
}

.jpc-nsl-woo .nsl-container {
	justify-content: center;
}

.woocommerce-account .jpc-nsl-woo .nsl-button {
	max-width: 280px;
	width: 100%;
}

/*
 * BookingPress Vue3 form: let the service step grow with classroom cards
 * instead of a fixed 600px body + inner scrollbar.
 */
.bpa-frontend-vue3 .bpa-front-dc--body {
	height: auto !important;
	max-height: none !important;
	/* Plugin sets min-height: 600px — leaves a half-screen void on summary. */
	min-height: 0 !important;
	overflow: visible !important;
}

.bpa-frontend-vue3 .bpa-front-default-card,
.bpa-frontend-vue3 .bpa-front-tabs--panel-body,
.bpa-frontend-vue3 .bpa-front-tabs,
.bpa-frontend-vue3.bpa-frontend-main-container,
.bpa-frontend-vue3-root {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow: visible !important;
}

.bpa-frontend-vue3 .bpa-front-module--service-items-row,
.bpa-frontend-vue3 .bpa-front-module-container.bpa-front-module--service {
	height: auto !important;
	max-height: none !important;
}

/*
 * NLB Buy&Go installment picker: plugin uses a 45px <select> inside a 48px
 * #nlb-loan-term; Hazel Select2 + padded options clip "84", "72"…
 * Child theme re-inits Select2 with dropdownAutoWidth (see functions.php).
 */
#nlb-loan-term,
#nlb-calculation {
	width: auto !important;
	max-width: none !important;
	overflow: visible !important;
}

#nlb-loan-term .select2-container {
	width: 3.25rem !important;
	min-width: 3.25rem !important;
}

#nlb-loan-term .select2-selection--single {
	height: 22px !important;
	min-height: 22px !important;
	border: none !important;
	background-color: #84bf00 !important;
	border-radius: 5px !important;
}

#nlb-loan-term .select2-selection__rendered {
	color: #fff !important;
	line-height: 22px !important;
	padding-left: 0.35rem !important;
	padding-right: 1.1rem !important;
	text-align: center !important;
}

#nlb-loan-term .select2-selection__arrow {
	height: 20px !important;
	width: 16px !important;
	top: 1px !important;
}

#nlb-loan-term .select2-selection__arrow b {
	border-color: #fff transparent transparent transparent !important;
}

#nlb-caret {
	display: none !important;
}

.select2-dropdown:has(#select2-nlb-installments-results),
.select2-container--open:has(#select2-nlb-installments-results) {
	min-width: 4.5rem !important;
	width: auto !important;
	z-index: 100050 !important;
}

#select2-nlb-installments-results .select2-results__option {
	padding: 0.4rem 0.75rem !important;
	text-align: center !important;
	text-indent: 0 !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}

/* Checkout payment labels: Hazel forces white text on grey #payment panel. */
.woocommerce #payment ul.payment_methods li,
.woocommerce-page #payment ul.payment_methods li,
.woocommerce #payment ul.payment_methods li label,
.woocommerce-page #payment ul.payment_methods li label {
	color: #1a1a1a !important;
}

.woocommerce #payment ul.payment_methods li img,
.woocommerce-page #payment ul.payment_methods li img {
	max-height: 28px !important;
	height: auto !important;
	width: auto !important;
	max-width: 120px !important;
	object-fit: contain;
}

.woocommerce #payment ul.payment_methods li.payment_method_nlb-bg img,
.woocommerce-page #payment ul.payment_methods li.payment_method_nlb-bg img {
	max-height: 22px !important;
	max-width: 100px !important;
}

/* Compact payment footer + inline terms checkbox (Hazel pads #payment at 40–45px). */
.woocommerce #payment ul.payment_methods,
.woocommerce-page #payment ul.payment_methods {
	padding: 1rem 1.25rem !important;
}

.woocommerce #payment div.form-row,
.woocommerce-page #payment div.form-row {
	padding: 1rem 1.25rem !important;
}

.woocommerce #payment label.woocommerce-form__label-for-checkbox,
.woocommerce-page #payment label.woocommerce-form__label-for-checkbox {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

.woocommerce #payment label.woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-page #payment label.woocommerce-form__label-for-checkbox input[type="checkbox"],
html .woocommerce-form__label-for-checkbox input[type="checkbox"] {
	margin: 0 !important;
	float: none !important;
	flex: 0 0 16px;
	align-self: center;
	width: 16px !important;
	height: 16px !important;
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
}

/* Cart: center booking/product thumbnail frame.
 * Cart page uses WooCommerce Cart Blocks (.wc-block-cart-*), not classic table. */
.wc-block-cart-items__row .wc-block-cart-item__image,
.woocommerce-page .wc-block-cart-items__row .wc-block-cart-item__image {
	vertical-align: middle !important;
	text-align: center !important;
}

.wc-block-cart-item__image a,
.wc-block-cart-item__image img,
.woocommerce-page .wc-block-cart-item__image img {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	object-fit: cover !important;
}

.woocommerce-cart-form .product-thumbnail,
.woocommerce-page .woocommerce-cart-form .product-thumbnail,
.woocommerce table.shop_table td.product-thumbnail,
.woocommerce-page table.shop_table td.product-thumbnail {
	text-align: center !important;
	vertical-align: middle !important;
}

.woocommerce-cart-form .product-thumbnail a,
.woocommerce-cart-form .product-thumbnail .jpc-booking-cart-thumb,
.woocommerce table.shop_table td.product-thumbnail a,
.woocommerce table.shop_table td.product-thumbnail .jpc-booking-cart-thumb {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	width: 96px;
	height: 96px;
	overflow: hidden;
	background: #f3f3f3;
}

.woocommerce-cart-form .product-thumbnail img,
.woocommerce table.shop_table td.product-thumbnail img,
.jpc-booking-cart-thumb__img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 96px !important;
	max-height: 96px !important;
	object-fit: cover !important;
	margin: 0 auto !important;
}

.woocommerce table.shop_table.cart tr.jpc-cart-item--booking td.product-name {
	vertical-align: middle;
}

/* Empty cart: plain copy + two actions (no Hazel info strip). */
.woocommerce-cart .jpc-empty-cart,
.woocommerce-page.woocommerce-cart .jpc-empty-cart {
	color: #161616 !important;
	display: block !important;
	margin: 0 auto !important;
	max-width: 36rem;
	padding: 2.5rem 0 3.5rem !important;
	text-align: center;
	visibility: visible !important;
}

.woocommerce-cart .jpc-empty-cart__text,
.woocommerce-page.woocommerce-cart .jpc-empty-cart__text {
	color: #161616 !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	line-height: 1.45 !important;
	margin: 0 0 1.35rem !important;
}

.woocommerce-cart .jpc-empty-cart__actions,
.woocommerce-page.woocommerce-cart .jpc-empty-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

.woocommerce-cart .jpc-empty-cart__btn,
.woocommerce-page.woocommerce-cart .jpc-empty-cart__btn,
.woocommerce-cart .jpc-empty-cart a.button,
.woocommerce-page.woocommerce-cart .jpc-empty-cart a.button {
	background: #161616 !important;
	border: 1px solid #161616 !important;
	border-radius: 0 !important;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	justify-content: center;
	letter-spacing: 0.08em !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	min-width: 12rem;
	padding: 12px 20px !important;
	text-transform: uppercase !important;
}

.woocommerce-cart .jpc-empty-cart__btn--alt,
.woocommerce-page.woocommerce-cart .jpc-empty-cart__btn--alt {
	background: #fff !important;
	color: #161616 !important;
}

.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-page.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-cart .return-to-shop {
	display: none !important;
}

/* Homepage — Najem za otroke: photo-first, no white card (variant 1).
 * Avoid body.home — Slider Revolution strips body classes. */
.vc_row.jpc-home-kids-rental,
.jpc-home-kids-rental {
	align-items: center !important;
	display: flex !important;
	min-height: 26rem;
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

.jpc-home-kids-rental > .upb_row_bg {
	z-index: 0;
}

.jpc-home-kids-rental > .upb_row_bg::after {
	background: linear-gradient(
		90deg,
		rgba(16, 16, 16, 0.78) 0%,
		rgba(16, 16, 16, 0.52) 38%,
		rgba(16, 16, 16, 0.12) 68%,
		transparent 100%
	);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.jpc-home-kids-rental > .wpb_column {
	position: relative;
	z-index: 2;
}

.jpc-home-kids-rental .vc_column-inner,
.jpc-home-kids-rental .vc_column-inner.vc_custom_1476046236714 {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	max-width: 28rem;
	padding: 0 !important;
}

.jpc-home-kids-rental .vc_empty_space {
	display: none !important;
}

.jpc-home-kids-rental h1.vc_custom_heading,
.jpc-home-kids-rental .vc_custom_heading,
.jpc-home-kids-rental .wpb_wrapper > p,
.jpc-home-kids-rental .wpb_text_column,
.jpc-home-kids-rental .wpb_text_column p {
	color: #fff !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

.jpc-home-kids-rental h1.vc_custom_heading {
	font-size: clamp(1.75rem, 3.2vw, 2.35rem) !important;
	letter-spacing: 0.06em;
	line-height: 1.15 !important;
	margin: 0 0 0.85rem !important;
}

.jpc-home-kids-rental .wpb_wrapper > p.vc_custom_heading {
	color: rgba(255, 255, 255, 0.95) !important;
	font-size: 1.05rem !important;
	line-height: 1.55 !important;
	margin: 0 0 1.35rem !important;
	max-width: 26rem;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}

/* Drop the long second paragraph — one supporting sentence only. */
.jpc-home-kids-rental .wpb_wrapper > p.vc_custom_heading ~ p {
	display: none !important;
}

.jpc-home-kids-rental .vc_btn3-container {
	margin: 0 !important;
}

.jpc-home-kids-rental .vc_btn3 {
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #161616 !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	padding: 0.85rem 1.6rem !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.jpc-home-kids-rental .vc_btn3:hover,
.jpc-home-kids-rental .vc_btn3:focus {
	background: #e32934 !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.jpc-home-kids-rental {
		min-height: 22rem;
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	.jpc-home-kids-rental > .upb_row_bg::after {
		background: linear-gradient(
			180deg,
			rgba(16, 16, 16, 0.82) 0%,
			rgba(16, 16, 16, 0.68) 55%,
			rgba(16, 16, 16, 0.5) 100%
		);
	}

	.jpc-home-kids-rental .vc_column-inner {
		max-width: none;
	}
}

/*
 * Mobile: kids rental banner — less dead space after product rails,
 * kill VC 100px padding, stop left clip from nested -15px margins.
 * Selectors avoid body.home — some front-end scripts wipe body classes.
 */
@media (max-width: 991px) {
	.vc_row.jpc-home-rails-row {
		margin-bottom: 0.65rem !important;
		padding-bottom: 0.35rem !important;
	}

	.jpc-home-rails {
		margin-bottom: 0.75rem !important;
		padding-bottom: 0.5rem !important;
	}

	.vc_row.jpc-home-kids-rental,
	.vc_row.jpc-home-kids-rental.vc_custom_1778416821840,
	.jpc-home-kids-rental {
		box-sizing: border-box !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
		padding: 1.6rem 1.1rem !important;
		width: 100% !important;
	}

	.jpc-home-kids-rental .vc_inner.vc_row-fluid,
	.jpc-home-kids-rental .vc_row.vc_inner {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	/* Desktop uses 2× vc_col-sm-6 (text | empty). Stack + drop empty spacer. */
	.jpc-home-kids-rental > .wpb_column,
	.jpc-home-kids-rental > .vc_column_container {
		flex: 1 1 100% !important;
		float: none !important;
		margin: 0 !important;
		max-width: 100% !important;
		padding: 0 !important;
		position: relative;
		width: 100% !important;
		z-index: 2;
	}

	.jpc-home-kids-rental > .wpb_column:has(.wpb_wrapper:empty),
	.jpc-home-kids-rental > .wpb_column:not(:has(h1, p, .vc_btn3, a)) {
		display: none !important;
	}

	.jpc-home-kids-rental .vc_column-inner,
	.jpc-home-kids-rental .vc_column-inner.vc_custom_1476046236714 {
		align-items: center !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		max-width: none !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.jpc-home-kids-rental .wpb_wrapper {
		align-items: center !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: column !important;
		max-width: 100% !important;
		padding: 0 !important;
		text-align: center !important;
		width: 100% !important;
	}

	.jpc-home-kids-rental > .upb_row_bg::after {
		background: linear-gradient(
			180deg,
			rgba(16, 16, 16, 0.84) 0%,
			rgba(16, 16, 16, 0.7) 50%,
			rgba(16, 16, 16, 0.55) 100%
		) !important;
	}

	.jpc-home-kids-rental h1.vc_custom_heading,
	.jpc-home-kids-rental .vc_custom_heading,
	.jpc-home-kids-rental .wpb_wrapper > p,
	.jpc-home-kids-rental .wpb_text_column p {
		color: #fff !important;
		text-align: center !important;
		text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65) !important;
	}

	.jpc-home-kids-rental h1.vc_custom_heading {
		font-size: 1.4rem !important;
		letter-spacing: 0.04em !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		padding: 0 !important;
	}

	.jpc-home-kids-rental .wpb_wrapper > p.vc_custom_heading {
		color: rgba(255, 255, 255, 0.95) !important;
		font-size: 0.92rem !important;
		line-height: 1.45 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	.jpc-home-kids-rental .vc_btn3-container {
		display: flex !important;
		justify-content: center !important;
		margin: 0 !important;
		text-align: center !important;
	}

	.jpc-home-kids-rental .vc_btn3-container.vc_btn3-left,
	.jpc-home-kids-rental .vc_btn3-container.vc_btn3-inline {
		text-align: center !important;
	}
}

/*
 * Kontakt — Salon split
 * Compact photo strip + form | facts + map. page-id-396 / .jpc-contact-hero
 */
.page-id-396,
body:has(.jpc-contact-hero) {
	--jpc-contact-ink: #161616;
	--jpc-contact-muted: #6a6a6a;
	--jpc-contact-line: #e6e6e6;
	--jpc-contact-soft: #f5f5f5;
	--jpc-contact-accent: #e32934;
	--jpc-contact-font-display: Hind, Arial, sans-serif;
	--jpc-contact-font-body: Mulish, Arial, sans-serif;
}

.page-id-396 .jpc-contact-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg),
body:has(.jpc-contact-hero) .jpc-contact-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg) {
	margin-bottom: 0 !important;
	min-height: 0 !important;
	padding-bottom: clamp(1.35rem, 2.8vw, 1.85rem) !important;
	padding-top: clamp(1.5rem, 3vw, 2rem) !important;
}

.page-id-396 .jpc-contact-hero .vc_custom_heading h3,
.page-id-396 .jpc-contact-hero h3,
body:has(.jpc-contact-hero) .jpc-contact-hero h3 {
	font-family: var(--jpc-contact-font-display) !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	margin: 0 auto 0.45rem !important;
	opacity: 0.9;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-396 .jpc-contact-hero .vc_custom_heading h2,
.page-id-396 .jpc-contact-hero h2,
body:has(.jpc-contact-hero) .jpc-contact-hero h2 {
	font-family: var(--jpc-contact-font-display) !important;
	font-size: clamp(1.25rem, 2.4vw, 1.85rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.22 !important;
	margin: 0 auto !important;
	max-width: 22ch;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-396 .jpc-contact-split,
body:has(.jpc-contact-hero) .jpc-contact-split {
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	padding-bottom: clamp(1rem, 2.5vw, 1.75rem) !important;
	padding-top: clamp(1.5rem, 3.5vw, 2.5rem) !important;
}

.page-id-396 .jpc-contact-split .vc_custom_heading h6,
.page-id-396 .jpc-contact-split h6,
body:has(.jpc-contact-hero) .jpc-contact-split h6 {
	color: var(--jpc-contact-ink) !important;
	font-family: var(--jpc-contact-font-display) !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	margin: 0 0 0.55rem !important;
	text-transform: uppercase !important;
}

.page-id-396 .jpc-contact-facts,
body:has(.jpc-contact-hero) .jpc-contact-facts {
	display: grid;
	gap: 0.55rem;
	list-style: none;
	margin: 0 0 0.85rem !important;
	padding: 0 !important;
}

.page-id-396 .jpc-contact-facts li,
body:has(.jpc-contact-hero) .jpc-contact-facts li {
	border-bottom: 1px solid var(--jpc-contact-line);
	display: grid;
	gap: 0.15rem;
	list-style: none;
	margin: 0 !important;
	padding-bottom: 0.55rem;
	padding-left: 0 !important;
	padding-top: 0 !important;
}

.page-id-396 .jpc-contact-facts li:last-child,
body:has(.jpc-contact-hero) .jpc-contact-facts li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.page-id-396 .jpc-contact-facts__k,
body:has(.jpc-contact-hero) .jpc-contact-facts__k {
	color: var(--jpc-contact-muted);
	font-family: var(--jpc-contact-font-display);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.page-id-396 .jpc-contact-facts__v,
body:has(.jpc-contact-hero) .jpc-contact-facts__v {
	color: var(--jpc-contact-ink);
	font-family: var(--jpc-contact-font-body);
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.45;
}

.page-id-396 .jpc-contact-facts a,
body:has(.jpc-contact-hero) .jpc-contact-facts a {
	border-bottom: 1px solid transparent;
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.page-id-396 .jpc-contact-facts a:hover,
.page-id-396 .jpc-contact-facts a:focus,
body:has(.jpc-contact-hero) .jpc-contact-facts a:hover,
body:has(.jpc-contact-hero) .jpc-contact-facts a:focus {
	border-bottom-color: var(--jpc-contact-accent);
	color: var(--jpc-contact-accent);
}

.page-id-396 .jpc-contact-aside .wpb_gmaps_widget .wpb_wrapper,
.page-id-396 .jpc-contact-aside .wpb_map_wrapper,
.page-id-396 .jpc-contact-aside .wpb_map_wraper,
.page-id-396 .jpc-contact-aside iframe,
body:has(.jpc-contact-hero) .jpc-contact-aside .wpb_gmaps_widget .wpb_wrapper,
body:has(.jpc-contact-hero) .jpc-contact-aside iframe {
	border: 1px solid var(--jpc-contact-line) !important;
	display: block;
	height: 320px !important;
	min-height: 320px !important;
	width: 100% !important;
}

.page-id-396 .jpc-contact-aside .wpb_gmaps_widget,
body:has(.jpc-contact-hero) .jpc-contact-aside .wpb_gmaps_widget {
	margin-bottom: 0 !important;
}

/*
 * Contact form — match najem inquiry panels (soft panel, 52px fields, centered CTA).
 */
.page-id-396 .hazel-form-simple,
body:has(.jpc-contact-hero) .hazel-form-simple {
	background: var(--jpc-contact-soft) !important;
	border: 1px solid var(--jpc-contact-line) !important;
	box-sizing: border-box !important;
	display: grid !important;
	gap: 0.85rem 1rem !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin: 0 0 0.85rem !important;
	max-width: 56rem;
	padding: 1.35rem 1.15rem 1.5rem !important;
	width: 100% !important;
}

.page-id-396 .hazel-form-simple .f-name,
.page-id-396 .hazel-form-simple .f-email,
.page-id-396 .hazel-form-simple .f-subject,
.page-id-396 .hazel-form-simple .f-message,
.page-id-396 .hazel-form-simple .bt-contact,
body:has(.jpc-contact-hero) .hazel-form-simple .f-name,
body:has(.jpc-contact-hero) .hazel-form-simple .f-email,
body:has(.jpc-contact-hero) .hazel-form-simple .f-subject,
body:has(.jpc-contact-hero) .hazel-form-simple .f-message,
body:has(.jpc-contact-hero) .hazel-form-simple .bt-contact {
	box-sizing: border-box !important;
	clear: none !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/*
 * Parent theme: .wpcf7 form.wpcf7-form div:not(.hazel-multiple-fields) div
 * { margin-top:20px !important } — (0,3,3). Beat with higher specificity.
 */
html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple > div,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple > div,
html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple .f-name,
html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple .f-email,
html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple .f-subject,
html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple .f-message,
html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple .bt-contact,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple .f-name,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple .f-email,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple .f-subject,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple .f-message,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple .bt-contact {
	margin: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.page-id-396 .hazel-form-simple .f-subject,
.page-id-396 .hazel-form-simple .f-message,
.page-id-396 .hazel-form-simple .bt-contact,
body:has(.jpc-contact-hero) .hazel-form-simple .f-subject,
body:has(.jpc-contact-hero) .hazel-form-simple .f-message,
body:has(.jpc-contact-hero) .hazel-form-simple .bt-contact {
	grid-column: 1 / -1;
}

html body.page-id-396 .hazel-form-simple p,
html body:has(.jpc-contact-hero) .hazel-form-simple p {
	margin: 0 !important;
	padding: 0 !important;
}

.page-id-396 .hazel-form-simple .wpcf7-form-control-wrap,
body:has(.jpc-contact-hero) .hazel-form-simple .wpcf7-form-control-wrap {
	display: block !important;
	margin: 0 !important;
	width: 100% !important;
}

.page-id-396 .hazel-form-simple input:not([type="submit"]):not([type="checkbox"]),
.page-id-396 .hazel-form-simple textarea,
body:has(.jpc-contact-hero) .hazel-form-simple input:not([type="submit"]):not([type="checkbox"]),
body:has(.jpc-contact-hero) .hazel-form-simple textarea {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-contact-ink) !important;
	font-family: var(--jpc-contact-font-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	height: 52px !important;
	line-height: 1.25 !important;
	max-height: 52px !important;
	max-width: none !important;
	min-height: 52px !important;
	padding: 0.7rem 0.95rem !important;
	width: 100% !important;
}

.page-id-396 .hazel-form-simple textarea,
body:has(.jpc-contact-hero) .hazel-form-simple textarea {
	height: auto !important;
	max-height: none !important;
	min-height: 140px !important;
	resize: vertical;
}

html body.page-id-396 .hazel-form-simple textarea,
html body:has(.jpc-contact-hero) .hazel-form-simple textarea {
	height: 140px !important;
	max-height: 220px !important;
	min-height: 140px !important;
}

.page-id-396 .hazel-form-simple input:focus,
.page-id-396 .hazel-form-simple textarea:focus,
body:has(.jpc-contact-hero) .hazel-form-simple input:focus,
body:has(.jpc-contact-hero) .hazel-form-simple textarea:focus {
	border-color: var(--jpc-contact-ink) !important;
	outline: 2px solid var(--jpc-contact-ink);
	outline-offset: 1px;
}

.page-id-396 .hazel-form-simple .bt-contact,
.page-id-396 .hazel-form-simple .btn-contact-left,
body:has(.jpc-contact-hero) .hazel-form-simple .bt-contact,
body:has(.jpc-contact-hero) .hazel-form-simple .btn-contact-left {
	display: flex !important;
	float: none !important;
	justify-content: center !important;
	margin: 0.2rem 0 0 !important;
	padding: 0 !important;
	text-align: center !important;
	width: 100% !important;
}

html body.page-id-396 .wpcf7 form.wpcf7-form .hazel-form-simple .bt-contact p,
html body:has(.jpc-contact-hero) .wpcf7 form.wpcf7-form .hazel-form-simple .bt-contact p {
	display: flex !important;
	float: none !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
	width: 100% !important;
}

.page-id-396 .hazel-form-simple .btn-contact-left,
body:has(.jpc-contact-hero) .hazel-form-simple .btn-contact-left {
	display: inline-flex !important;
	float: none !important;
	justify-content: center !important;
	text-decoration: none !important;
	width: auto !important;
}

.page-id-396 .hazel-form-simple input[type="submit"],
.page-id-396 .hazel-form-simple .wpcf7-submit,
body:has(.jpc-contact-hero) .hazel-form-simple input[type="submit"],
body:has(.jpc-contact-hero) .hazel-form-simple .wpcf7-submit {
	appearance: none;
	background: var(--jpc-contact-ink) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	cursor: pointer;
	font-family: var(--jpc-contact-font-display) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	max-width: none !important;
	padding: 1.05rem 2.25rem !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease;
	width: auto !important;
}

.page-id-396 .hazel-form-simple input[type="submit"]:hover,
.page-id-396 .hazel-form-simple input[type="submit"]:focus,
.page-id-396 .hazel-form-simple .wpcf7-submit:hover,
.page-id-396 .hazel-form-simple .wpcf7-submit:focus,
body:has(.jpc-contact-hero) .hazel-form-simple input[type="submit"]:hover,
body:has(.jpc-contact-hero) .hazel-form-simple .wpcf7-submit:hover {
	background: var(--jpc-contact-accent) !important;
}

@media (max-width: 991px) {
	.page-id-396 .jpc-contact-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg),
	body:has(.jpc-contact-hero) .jpc-contact-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg) {
		padding-bottom: 0.55rem !important;
		padding-top: 0.65rem !important;
	}

	.page-id-396 .jpc-contact-hero h2,
	body:has(.jpc-contact-hero) .jpc-contact-hero h2 {
		font-size: 0.98rem !important;
		line-height: 1.18 !important;
		max-width: 18ch;
	}

	.page-id-396 .jpc-contact-hero h3,
	body:has(.jpc-contact-hero) .jpc-contact-hero h3 {
		font-size: 0.64rem !important;
		margin-bottom: 0.22rem !important;
	}

	.page-id-396 .jpc-contact-split,
	body:has(.jpc-contact-hero) .jpc-contact-split {
		padding-bottom: 0.5rem !important;
		padding-top: 0.85rem !important;
	}

	.page-id-396 .jpc-contact-split > .wpb_column > .vc_column-inner,
	body:has(.jpc-contact-hero) .jpc-contact-split > .wpb_column > .vc_column-inner {
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
	}

	.page-id-396 .jpc-contact-split h6,
	body:has(.jpc-contact-hero) .jpc-contact-split h6 {
		margin-bottom: 0.45rem !important;
	}

	.page-id-396 .jpc-contact-facts,
	body:has(.jpc-contact-hero) .jpc-contact-facts {
		gap: 0.45rem;
		margin-bottom: 0.65rem !important;
	}

	.page-id-396 .jpc-contact-facts li,
	body:has(.jpc-contact-hero) .jpc-contact-facts li {
		margin: 0 !important;
		padding-bottom: 0.45rem;
	}

	.page-id-396 .hazel-form-simple,
	body:has(.jpc-contact-hero) .hazel-form-simple {
		grid-template-columns: 1fr !important;
		margin-bottom: 0.65rem !important;
		padding: 1rem 0.85rem 1.15rem !important;
	}

	.page-id-396 .jpc-contact-aside .wpb_gmaps_widget .wpb_wrapper,
	.page-id-396 .jpc-contact-aside .wpb_map_wrapper,
	.page-id-396 .jpc-contact-aside .wpb_map_wraper,
	.page-id-396 .jpc-contact-aside iframe,
	body:has(.jpc-contact-hero) .jpc-contact-aside .wpb_gmaps_widget .wpb_wrapper,
	body:has(.jpc-contact-hero) .jpc-contact-aside iframe {
		height: 220px !important;
		min-height: 220px !important;
	}

	.page-id-396 .jpc-contact-aside .wpb_gmaps_widget,
	body:has(.jpc-contact-hero) .jpc-contact-aside .wpb_gmaps_widget {
		margin-top: 0 !important;
	}

	/* Chat clearance lives in the dark footer — don't leave a white band above it. */
	body:has(.jpc-contact-hero) .page_content {
		padding-bottom: 0 !important;
	}
}

@media (max-width: 767px) {
	.page-id-396 .hazel-form-simple {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.page-id-396 .jpc-contact-hero .vc_column-inner,
	.page-id-396 .jpc-contact-split > .wpb_column,
	body:has(.jpc-contact-hero) .jpc-contact-hero .vc_column-inner,
	body:has(.jpc-contact-hero) .jpc-contact-split > .wpb_column {
		animation: jpc-contact-rise 0.55s ease both;
	}

	.page-id-396 .jpc-contact-split > .wpb_column:nth-child(2),
	body:has(.jpc-contact-hero) .jpc-contact-split > .wpb_column:nth-child(2) {
		animation-delay: 0.08s;
	}
}

@keyframes jpc-contact-rise {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/*
 * Najem za dogodke — keep story 2x2, polish hero / catalog / form (page-id-2160)
 */
.page-id-2160 {
	--jpc-events-ink: #161616;
	--jpc-events-muted: #6a6a6a;
	--jpc-events-line: #e6e6e6;
	--jpc-events-soft: #f5f5f5;
	--jpc-events-accent: #e32934;
	--jpc-events-display: Hind, Arial, sans-serif;
	--jpc-events-body: Mulish, Arial, sans-serif;
}

/* Slider Revolution strips body.page-id-2160 — keep tokens via fingerprint. */
body:has(.jpc-events-catalog),
body:has(.jpc-events-hero) {
	--jpc-events-ink: #161616;
	--jpc-events-muted: #6a6a6a;
	--jpc-events-line: #e6e6e6;
	--jpc-events-soft: #f5f5f5;
	--jpc-events-accent: #e32934;
	--jpc-events-display: Hind, Arial, sans-serif;
	--jpc-events-body: Mulish, Arial, sans-serif;
}

/* Hero — match Storitve/Najem banner hierarchy (small gray label + large thin title + body). */
.page-id-2160 .jpc-events-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg) {
	margin-bottom: 0 !important;
	text-align: center !important;
}

.page-id-2160 .jpc-events-hero .ultimate-heading,
.page-id-2160 .jpc-events-hero .ult-mainheading,
.page-id-2160 .jpc-events-hero h5 {
	color: #bfbfbf !important;
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	line-height: 1.2 !important;
	margin: 0 auto !important;
	max-width: none;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-2160 .jpc-events-hero .uvc-type-wrap,
.page-id-2160 .jpc-events-hero .uvc-type-wrap h2,
.page-id-2160 .jpc-events-hero .ultimate-ft-wrap {
	color: #fff !important;
	text-align: center !important;
}

body.page.page-id-2160 .jpc-events-hero .uvc-type-wrap,
body.page.page-id-2160 .jpc-events-hero h2.uvc-type-wrap,
body.page.page-id-2160 .jpc-events-hero .uvc-type-wrap span {
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-weight: 300 !important;
	letter-spacing: 0.12em !important;
}

.page-id-2160 .jpc-events-hero .wpb_text_column,
.page-id-2160 .jpc-events-hero .wpb_text_column p,
.page-id-2160 .jpc-events-hero .wpb_text_column span {
	color: #fff !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

.page-id-2160 .jpc-events-hero .wpb_text_column p {
	margin: 0 auto !important;
	max-width: 52rem;
}

.page-id-2160 .jpc-events-hero .wpb_text_column span {
	display: inline;
}

/* Story 2x2 — tighter rows, copy vertically centered to image */
.page-id-2160 .jpc-events-story {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding-top: clamp(1.35rem, 2.8vw, 2rem) !important;
	padding-bottom: clamp(1.35rem, 2.8vw, 2rem) !important;
}

.page-id-2160 .jpc-events-story + .jpc-events-story {
	padding-top: clamp(0.75rem, 1.8vw, 1.15rem) !important;
}

.page-id-2160 .jpc-events-story > .wpb_column {
	align-self: stretch !important;
	display: flex !important;
}

.page-id-2160 .jpc-events-story > .wpb_column > .vc_column-inner {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	width: 100% !important;
}

.page-id-2160 .jpc-events-story > .wpb_column > .vc_column-inner > .wpb_wrapper {
	width: 100%;
}

.page-id-2160 .jpc-events-story .jpc-events-story__media .vc_single_image,
.page-id-2160 .jpc-events-story .jpc-events-story__media .vc_single_image .vc_single_image-wrapper,
.page-id-2160 .jpc-events-story .jpc-events-story__media img {
	display: block !important;
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

.page-id-2160 .jpc-events-story .jpc-events-story__media img {
	height: auto;
	object-fit: cover;
}

.page-id-2160 .jpc-events-story .jpc-events-story__copy .wpb_text_column,
.page-id-2160 .jpc-events-story .jpc-events-story__copy p,
.page-id-2160 .jpc-events-story .jpc-events-story__copy li {
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 1.08rem !important;
	line-height: 1.6 !important;
}

.page-id-2160 .jpc-events-story .jpc-events-story__copy strong {
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;
}

.page-id-2160 .jpc-events-story .jpc-events-story__copy .wpb_text_column > .wpb_wrapper {
	font-size: 1.08rem;
}

.page-id-2160 .jpc-events-story .jpc-events-story__copy ul {
	margin: 0.65rem 0 0.85rem !important;
	padding-left: 1.15rem !important;
}

.page-id-2160 .jpc-events-story .jpc-events-story__copy li {
	margin: 0.2rem 0 !important;
}

.page-id-2160 .jpc-events-story .vc_empty_space {
	height: 10px !important;
}

/* Catalog models — bold names, tighter rows, text vertically centered */
.page-id-2160 .jpc-events-catalog {
	margin: 0 !important;
	padding: 0 !important;
}

.page-id-2160 .jpc-events-catalog + .jpc-events-catalog {
	border-top: 1px solid var(--jpc-events-line);
}

.page-id-2160 .jpc-events-catalog .vc_separator {
	display: none !important;
}

.page-id-2160 .jpc-events-model {
	align-items: stretch !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	padding: 0.65rem 0 !important;
}

.page-id-2160 .jpc-events-model > .wpb_column,
.page-id-2160 .jpc-events-model > .vc_column_container,
.page-id-2160 .jpc-events-model > .vc_column_inner {
	align-self: stretch !important;
	display: flex !important;
	float: none !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* True 2-column row: image | text */
.page-id-2160 .jpc-events-model > .wpb_column:first-child,
.page-id-2160 .jpc-events-model > .vc_column_container:first-child,
.page-id-2160 .jpc-events-model > .wpb_column:last-child,
.page-id-2160 .jpc-events-model > .vc_column_container:last-child {
	flex: 0 0 50% !important;
	max-width: 50% !important;
	width: 50% !important;
}

.page-id-2160 .jpc-events-model > .wpb_column > .vc_column-inner,
.page-id-2160 .jpc-events-model > .vc_column_container > .vc_column-inner,
.page-id-2160 .jpc-events-model > .vc_column_inner > .vc_column-inner {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	justify-content: center !important;
	min-height: 100% !important;
	padding: 0 !important;
	width: 100% !important;
}

.page-id-2160 .jpc-events-model .vc_column-inner {
	align-items: center !important;
	display: flex !important;
	justify-content: center !important;
}

/* Col 1: image centered in half */
.page-id-2160 .jpc-events-model .vc_column-inner:has(.vc_single_image) {
	justify-content: center !important;
	text-align: center !important;
}

.page-id-2160 .jpc-events-model .vc_single_image,
.page-id-2160 .jpc-events-model .vc_single_image.vc_align_left,
.page-id-2160 .jpc-events-model .vc_single_image .wpb_wrapper,
.page-id-2160 .jpc-events-model .vc_single_image-wrapper,
.page-id-2160 .jpc-events-model .parallax-mousemove,
.page-id-2160 .jpc-events-model figure.vc_figure {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 220px !important;
	padding: 0 !important;
	text-align: center !important;
	width: auto !important;
}

.page-id-2160 .jpc-events-model img {
	background: transparent;
	display: block;
	height: auto;
	margin: 0 auto !important;
	max-height: 170px;
	max-width: 220px;
	object-fit: contain;
	width: auto;
}

/* Same caps when body.page-id-2160 is stripped. */
body:has(.jpc-events-catalog) .jpc-events-model {
	align-items: stretch !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	padding: 0.65rem 0 !important;
}

body:has(.jpc-events-catalog) .jpc-events-model > .wpb_column,
body:has(.jpc-events-catalog) .jpc-events-model > .vc_column_container {
	align-self: stretch !important;
	display: flex !important;
	float: none !important;
	flex: 0 0 50% !important;
	margin: 0 !important;
	max-width: 50% !important;
	min-height: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 50% !important;
}

body:has(.jpc-events-catalog) .jpc-events-model .vc_single_image,
body:has(.jpc-events-catalog) .jpc-events-model .vc_single_image-wrapper,
body:has(.jpc-events-catalog) .jpc-events-model figure.vc_figure {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 220px !important;
	padding: 0 !important;
	width: auto !important;
}

body:has(.jpc-events-catalog) .jpc-events-model img {
	background: transparent;
	display: block !important;
	height: auto !important;
	margin: 0 auto !important;
	max-height: 170px !important;
	max-width: 220px !important;
	object-fit: contain !important;
	width: auto !important;
}

.page-id-2160 .jpc-events-model h2,
.page-id-2160 .jpc-events-model h2.vc_custom_heading,
.page-id-2160 .jpc-events-model .vc_custom_heading,
.page-id-2160 .jpc-events-model h4,
.page-id-2160 .jpc-events-model h4.vc_custom_heading,
.page-id-2160 .jpc-events-model .wpb_text_column,
.page-id-2160 .jpc-events-model .wpb_text_column p,
.page-id-2160 .jpc-events-model .wpb_wrapper {
	text-align: left !important;
}

.page-id-2160 .jpc-events-model h2,
.page-id-2160 .jpc-events-model h2.vc_custom_heading,
.page-id-2160 .jpc-events-model .vc_custom_heading {
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-display) !important;
	font-size: clamp(1.5rem, 2.8vw, 2.05rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.15 !important;
	margin: 0 0 0.1rem !important;
	text-transform: uppercase !important;
}

/* Beat Hazel h2 { font-weight: 300 !important } (many :not() selectors).
 * Headings also get .custom_vc_font in page content to opt out of that rule. */
body.page.page-id-2160 .jpc-events-model h2.vc_custom_heading.vc_do_custom_heading,
body.page.page-id-2160 .jpc-events-model h2.vc_custom_heading,
body.page.page-id-2160 .jpc-events-model h2.custom_vc_font,
body.page.page-id-2160 .jpc-events-inquiry h2.vc_custom_heading.vc_do_custom_heading,
body.page.page-id-2160 .jpc-events-inquiry h2.vc_custom_heading,
body.page.page-id-2160 .jpc-events-inquiry h2.custom_vc_font,
body.page.page-id-2160 h2.custom_vc_font {
	font-weight: 700 !important;
}

.page-id-2160 .jpc-events-model h4,
.page-id-2160 .jpc-events-model h4.vc_custom_heading {
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	margin: 0 !important;
	opacity: 0.78;
	text-transform: none !important;
}

.page-id-2160 .jpc-events-model .wpb_text_column,
.page-id-2160 .jpc-events-model .wpb_text_column p {
	color: var(--jpc-events-muted) !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 0.98rem !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

/* Col 2: text left, vertically centered in half */
.page-id-2160 .jpc-events-model .vc_column-inner:not(:has(.vc_single_image)) {
	align-items: center !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
	text-align: left !important;
}

.page-id-2160 .jpc-events-model .vc_column-inner:not(:has(.vc_single_image)) > .wpb_wrapper {
	margin: 0 !important;
	text-align: left !important;
	width: 100% !important;
}

/* Inquiry — section title (not tall gray banner) + wider form */
.page-id-2160 .jpc-events-inquiry,
.page-id-2160 .jpc-inquiry-form {
	--jpc-inq-ink: var(--jpc-events-ink);
}

.page-id-2160 .jpc-events-inquiry {
	background: transparent;
	border-top: 1px solid var(--jpc-events-line);
	margin-top: 1.25rem !important;
	padding: clamp(1.5rem, 3vw, 2.1rem) 0 0.35rem !important;
}

.page-id-2160 .jpc-events-inquiry > .wpb_column > .vc_column-inner > .wpb_wrapper {
	margin: 0 auto;
	max-width: 68rem;
}

.page-id-2160 .jpc-events-inquiry .vc_empty_space {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
}

.page-id-2160 .jpc-events-inquiry h2,
.page-id-2160 .jpc-events-inquiry h2.vc_custom_heading,
.page-id-2160 .jpc-events-inquiry .wpb_text_column h2.vc_custom_heading {
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-display) !important;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.2 !important;
	margin: 0 0 0.35rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-2160 .jpc-concert-rider {
	color: var(--jpc-events-muted);
	font-family: var(--jpc-events-body);
	font-size: 0.95rem;
	font-style: italic;
	line-height: 1.45;
	margin: 0.15rem auto 1rem;
	max-width: 40rem;
	text-align: center;
}

.page-id-2160 .jpc-concert-rider a.button,
.page-id-2160 .jpc-concert-rider a {
	background: transparent !important;
	border: 1px solid var(--jpc-events-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--jpc-events-ink) !important;
	display: inline-block;
	font-family: var(--jpc-events-display) !important;
	font-size: 0.78rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	padding: 0.7rem 1.25rem !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.page-id-2160 .jpc-concert-rider a.button:hover,
.page-id-2160 .jpc-concert-rider a:hover {
	background: var(--jpc-events-ink) !important;
	color: #fff !important;
}

.page-id-2160 .jpc-inquiry-form {
	background: var(--jpc-events-soft);
	border: 1px solid var(--jpc-events-line);
	display: grid !important;
	gap: 1.05rem 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto 2rem;
	max-width: 68rem;
	padding: 2rem 1.85rem 2.1rem;
}

.page-id-2160 .jpc-inquiry-form > p {
	margin: 0 !important;
}

.page-id-2160 .jpc-inquiry-form > p:has(textarea),
.page-id-2160 .jpc-inquiry-form > p:has(input[type="checkbox"]),
.page-id-2160 .jpc-inquiry-form > p:has(.jpc-inquiry-radios),
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--client_name,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--full_name,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--how_found,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--pickup_datetime,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--performer,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--repertoire,
.page-id-2160 .jpc-inquiry-form > button,
.page-id-2160 .jpc-inquiry-form > .button {
	grid-column: 1 / -1;
}

.page-id-2160 .jpc-inquiry-form label,
.page-id-2160 .jpc-inquiry-form .jpc-inquiry-legend {
	color: var(--jpc-events-ink);
	display: block;
	font-family: var(--jpc-events-body);
	font-size: 0.95rem;
	font-weight: 600;
	gap: 0.25rem;
	line-height: 1.35;
	margin-bottom: 0.35rem;
}

.page-id-2160 .jpc-inquiry-form .jpc-inquiry-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.35rem;
}

.page-id-2160 .jpc-inquiry-form label.jpc-inquiry-radio {
	align-items: center;
	cursor: pointer;
	display: inline-flex !important;
	flex-direction: row !important;
	font-weight: 600;
	gap: 0.45rem !important;
	margin: 0;
}

.page-id-2160 .jpc-inquiry-form input[type="radio"] {
	accent-color: var(--jpc-events-ink);
	appearance: auto !important;
	-webkit-appearance: radio !important;
	cursor: pointer;
	flex: 0 0 auto;
	height: 1.15rem !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: 1.15rem !important;
}

.page-id-2160 .jpc-inquiry-form input[type="text"],
.page-id-2160 .jpc-inquiry-form input[type="email"],
.page-id-2160 .jpc-inquiry-form input[type="tel"],
.page-id-2160 .jpc-inquiry-form input[type="date"],
.page-id-2160 .jpc-inquiry-form input[type="time"],
.page-id-2160 .jpc-inquiry-form input[type="number"],
.page-id-2160 .jpc-inquiry-form select {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	height: 52px !important;
	line-height: 1.25 !important;
	max-height: 52px !important;
	min-height: 52px !important;
	padding: 0.7rem 0.95rem !important;
	width: 100% !important;
}

.page-id-2160 .jpc-inquiry-form input[type="date"],
.page-id-2160 .jpc-inquiry-form input[type="time"] {
	-webkit-appearance: none;
	appearance: none;
}

.page-id-2160 .jpc-inquiry-form textarea {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-events-ink) !important;
	font-family: var(--jpc-events-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	min-height: 110px;
	padding: 0.7rem 0.95rem !important;
	resize: vertical;
	width: 100% !important;
}

.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--instrument textarea,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--delivery_contact textarea,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--stage_access textarea,
.page-id-2160 .jpc-inquiry-form > p.jpc-inquiry-field--room_characteristics textarea {
	min-height: 130px;
}

.page-id-2160 .jpc-inquiry-form input:focus,
.page-id-2160 .jpc-inquiry-form select:focus,
.page-id-2160 .jpc-inquiry-form textarea:focus {
	border-color: var(--jpc-events-ink) !important;
	outline: 2px solid var(--jpc-events-ink);
	outline-offset: 1px;
}

/* Consent: checkbox + sentence on one flex row (link stays inline in text). */
body:has(.jpc-events-catalog) .jpc-inquiry-form > p:has(input[type="checkbox"]) label,
.page-id-2160 .jpc-inquiry-form > p:has(input[type="checkbox"]) label {
	align-items: center !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	font-weight: 500;
	gap: 0.55rem !important;
	line-height: 1.45;
}

body:has(.jpc-events-catalog) .jpc-inquiry-form > p:has(input[type="checkbox"]) label a,
.page-id-2160 .jpc-inquiry-form > p:has(input[type="checkbox"]) label a {
	display: inline !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: baseline !important;
	white-space: normal !important;
}

body:has(.jpc-events-catalog) .jpc-inquiry-form input[type="checkbox"],
.page-id-2160 .jpc-inquiry-form input[type="checkbox"] {
	display: inline-block !important;
	flex: 0 0 auto !important;
	height: 1.05rem !important;
	margin: 0 !important;
	max-height: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	vertical-align: middle;
	width: 1.05rem !important;
}

.page-id-2160 .jpc-inquiry-form .button,
.page-id-2160 .jpc-inquiry-form button[type="submit"] {
	background: var(--jpc-events-ink) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	cursor: pointer;
	font-family: var(--jpc-events-display) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	justify-self: center;
	letter-spacing: 0.12em !important;
	margin-top: 0.35rem;
	padding: 1.05rem 2.25rem !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease;
	width: auto !important;
}

.page-id-2160 .jpc-inquiry-form .button:hover,
.page-id-2160 .jpc-inquiry-form button[type="submit"]:hover {
	background: var(--jpc-events-accent) !important;
}

@media (max-width: 767px) {
	.page-id-2160 .jpc-events-story {
		padding-bottom: 1.15rem !important;
		padding-top: 1.15rem !important;
	}

	.page-id-2160 .jpc-events-story + .jpc-events-story {
		padding-top: 0.5rem !important;
	}

	.page-id-2160 .jpc-events-model {
		flex-wrap: wrap !important;
		padding: 0.85rem 0 !important;
	}

	.page-id-2160 .jpc-events-model > .wpb_column:first-child,
	.page-id-2160 .jpc-events-model > .vc_column_container:first-child,
	.page-id-2160 .jpc-events-model > .wpb_column:last-child,
	.page-id-2160 .jpc-events-model > .vc_column_container:last-child {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.page-id-2160 .jpc-events-model h2,
	.page-id-2160 .jpc-events-model h2.vc_custom_heading,
	.page-id-2160 .jpc-events-model .vc_custom_heading {
		font-size: 1.25rem !important;
	}

	.page-id-2160 .jpc-inquiry-form {
		grid-template-columns: 1fr;
		padding: 1.45rem 1.1rem 1.6rem;
	}
}

/*
 * Najem za dogodke — mobile (body classes often stripped by RevSlider).
 * Smaller images, compact stacked model cards, tighter story.
 */
@media (max-width: 991px) {
	body:has(.jpc-events-catalog) .jpc-events-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg),
	.page-id-2160 .jpc-events-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg) {
		min-height: 0 !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story,
	.page-id-2160 .jpc-events-story {
		/* Full-bleed media: no side padding on the row */
		padding: 0.55rem 0 0.35rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story + .jpc-events-story,
	.page-id-2160 .jpc-events-story + .jpc-events-story {
		padding-top: 0.25rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story > .wpb_column,
	.page-id-2160 .jpc-events-story > .wpb_column {
		width: 100% !important;
	}

	/* Edge-to-edge story photos */
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__media,
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__media > .vc_column-inner,
	.page-id-2160 .jpc-events-story .jpc-events-story__media,
	.page-id-2160 .jpc-events-story .jpc-events-story__media > .vc_column-inner {
		margin: 0 !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__media .vc_single_image,
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__media .vc_single_image-wrapper,
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__media figure.vc_figure,
	.page-id-2160 .jpc-events-story .jpc-events-story__media .vc_single_image {
		margin: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__media img,
	.page-id-2160 .jpc-events-story .jpc-events-story__media img {
		border-radius: 0 !important;
		display: block !important;
		height: auto !important;
		margin: 0 !important;
		max-height: none !important;
		max-width: 100% !important;
		object-fit: cover !important;
		width: 100% !important;
	}

	/* Keep copy readable with side padding */
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__copy > .vc_column-inner,
	.page-id-2160 .jpc-events-story .jpc-events-story__copy > .vc_column-inner {
		padding-left: 0.85rem !important;
		padding-right: 0.85rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__copy .wpb_text_column,
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__copy p,
	body:has(.jpc-events-catalog) .jpc-events-story .jpc-events-story__copy li,
	.page-id-2160 .jpc-events-story .jpc-events-story__copy p,
	.page-id-2160 .jpc-events-story .jpc-events-story__copy li {
		font-size: 0.95rem !important;
		line-height: 1.45 !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-story .vc_empty_space,
	body:has(.jpc-events-catalog) .jpc-events-catalog .vc_empty_space,
	body:has(.jpc-events-catalog) .jpc-events-catalog .vc_separator,
	body:has(.jpc-events-catalog) .jpc-events-inquiry .vc_empty_space,
	.page-id-2160 .jpc-events-story .vc_empty_space {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-catalog,
	.page-id-2160 .jpc-events-catalog {
		padding-left: 0.85rem !important;
		padding-right: 0.85rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model,
	.page-id-2160 .jpc-events-model {
		align-items: stretch !important;
		background: #fff !important;
		border: 1px solid #e8e6e2 !important;
		border-radius: 2px !important;
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0.35rem 0 !important;
		margin: 0 0 0.65rem !important;
		padding: 0.55rem 0.65rem 0.5rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model > .wpb_column,
	body:has(.jpc-events-catalog) .jpc-events-model > .vc_column_container,
	.page-id-2160 .jpc-events-model > .wpb_column,
	.page-id-2160 .jpc-events-model > .vc_column_container {
		flex: 1 1 100% !important;
		float: none !important;
		max-width: 100% !important;
		min-height: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model > .wpb_column > .vc_column-inner,
	body:has(.jpc-events-catalog) .jpc-events-model > .vc_column_container > .vc_column-inner,
	.page-id-2160 .jpc-events-model > .wpb_column > .vc_column-inner {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model .vc_single_image,
	body:has(.jpc-events-catalog) .jpc-events-model .vc_single_image .wpb_wrapper,
	body:has(.jpc-events-catalog) .jpc-events-model .vc_single_image-wrapper,
	body:has(.jpc-events-catalog) .jpc-events-model figure.vc_figure,
	.page-id-2160 .jpc-events-model .vc_single_image {
		margin: 0 auto !important;
		max-width: 160px !important;
		padding: 0 !important;
		width: auto !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model img,
	.page-id-2160 .jpc-events-model img {
		display: block !important;
		height: auto !important;
		margin: 0 auto !important;
		max-height: 130px !important;
		max-width: 160px !important;
		object-fit: contain !important;
		width: auto !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model h2,
	body:has(.jpc-events-catalog) .jpc-events-model h2.vc_custom_heading,
	body:has(.jpc-events-catalog) .jpc-events-model .vc_custom_heading,
	.page-id-2160 .jpc-events-model h2,
	.page-id-2160 .jpc-events-model h2.vc_custom_heading {
		color: var(--jpc-events-ink) !important;
		font-family: var(--jpc-events-display) !important;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.04em !important;
		line-height: 1.2 !important;
		margin: 0 !important;
		text-align: center !important;
		text-transform: uppercase !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model h4,
	body:has(.jpc-events-catalog) .jpc-events-model h4.vc_custom_heading,
	.page-id-2160 .jpc-events-model h4 {
		color: var(--jpc-events-muted) !important;
		font-family: var(--jpc-events-body) !important;
		font-size: 0.88rem !important;
		font-weight: 600 !important;
		letter-spacing: 0 !important;
		line-height: 1.25 !important;
		margin: 0.15rem 0 0 !important;
		text-align: center !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model .wpb_text_column,
	body:has(.jpc-events-catalog) .jpc-events-model .wpb_text_column p,
	.page-id-2160 .jpc-events-model .wpb_text_column p {
		color: var(--jpc-events-muted) !important;
		font-size: 0.88rem !important;
		line-height: 1.35 !important;
		margin: 0.15rem 0 0 !important;
		text-align: center !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-model .vc_column-inner:not(:has(.vc_single_image)) > .wpb_wrapper,
	.page-id-2160 .jpc-events-model .vc_column-inner:not(:has(.vc_single_image)) > .wpb_wrapper {
		display: flex !important;
		flex-direction: column !important;
		gap: 0.15rem !important;
		width: 100% !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-inquiry,
	.page-id-2160 .jpc-events-inquiry {
		/* Heading only here; form/rider are siblings — keep this block tight */
		margin-top: 0.75rem !important;
		padding: 0.85rem 0.85rem 0.25rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-events-inquiry h2,
	body:has(.jpc-events-catalog) .jpc-events-inquiry h2.vc_custom_heading,
	.page-id-2160 .jpc-events-inquiry h2 {
		margin: 0 0 0.35rem !important;
	}

	/* Dead CF7 shortcode left in the row — hide so it doesn't leave a void */
	body:has(.jpc-events-catalog) .jpc-events-inquiry .wpcf7 {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
	}

	body:has(.jpc-events-catalog) .jpc-concert-rider,
	.page-id-2160 .jpc-concert-rider {
		margin: 0.35rem 0.85rem 0.65rem !important;
		padding: 0 !important;
		text-align: center !important;
	}

	body:has(.jpc-events-catalog) .jpc-inquiry-form,
	.page-id-2160 .jpc-inquiry-form {
		grid-template-columns: 1fr !important;
		margin: 0 0.85rem 1.25rem !important;
		max-width: none;
		padding: 1.25rem 0.95rem 1.45rem !important;
	}

	body:has(.jpc-events-catalog) .jpc-inquiry-form textarea,
	.page-id-2160 .jpc-inquiry-form textarea {
		min-height: 100px;
	}

	body:has(.jpc-events-catalog) .jpc-inquiry-form .jpc-inquiry-radios,
	.page-id-2160 .jpc-inquiry-form .jpc-inquiry-radios {
		gap: 0.55rem 1.1rem;
	}

	/* Chat clearance on page, not on the inquiry heading row */
	body:has(.jpc-events-catalog) .page_content {
		padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	body:has(.jpc-events-catalog) .aichat-widget.is-global,
	body:has(.jpc-events-catalog) .aichat-widget.is-global.is-superminimized,
	body:has(.jpc-events-catalog) .aichat-widget.is-global.is-maximized {
		bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
	}
}

/*
 * Najem za dom — hero / story / catalog / inquiry (page-id-2155)
 */
.page-id-2155 {
	--jpc-home-ink: #161616;
	--jpc-home-muted: #6a6a6a;
	--jpc-home-line: #e6e6e6;
	--jpc-home-soft: #f5f5f5;
	--jpc-home-accent: #e32934;
	--jpc-home-display: Hind, Arial, sans-serif;
	--jpc-home-body: Mulish, Arial, sans-serif;
}

.page-id-2155 .jpc-home-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg) {
	align-items: center !important;
	display: flex !important;
	margin-bottom: 0 !important;
	min-height: clamp(22rem, 42vw, 28rem);
	text-align: center !important;
}

.page-id-2155 .jpc-home-hero > .wpb_column {
	width: 100%;
}

.page-id-2155 .jpc-home-hero .ultimate-heading,
.page-id-2155 .jpc-home-hero .ult-mainheading,
.page-id-2155 .jpc-home-hero h5 {
	color: #bfbfbf !important;
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	line-height: 1.2 !important;
	margin: 0 auto !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-2155 .jpc-home-hero .uvc-type-wrap,
.page-id-2155 .jpc-home-hero .uvc-type-wrap h2,
.page-id-2155 .jpc-home-hero .ultimate-ft-wrap {
	color: #fff !important;
	text-align: center !important;
}

body.page.page-id-2155 .jpc-home-hero .uvc-type-wrap,
body.page.page-id-2155 .jpc-home-hero h2.uvc-type-wrap,
body.page.page-id-2155 .jpc-home-hero .uvc-type-wrap span {
	font-family: "Josefin Sans", Hind, Arial, sans-serif !important;
	font-weight: 300 !important;
	letter-spacing: 0.12em !important;
}

.page-id-2155 .jpc-home-hero .wpb_text_column,
.page-id-2155 .jpc-home-hero .wpb_text_column p,
.page-id-2155 .jpc-home-hero .wpb_text_column span {
	color: #fff !important;
	font-family: var(--jpc-home-body) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

.page-id-2155 .jpc-home-hero .wpb_text_column p {
	margin: 0 auto !important;
	max-width: 52rem;
}

/* Story — copy vertically centered to image */
.page-id-2155 .jpc-home-story {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding-bottom: clamp(1.35rem, 2.8vw, 2rem) !important;
	padding-top: clamp(1.35rem, 2.8vw, 2rem) !important;
}

.page-id-2155 .jpc-home-story > .wpb_column {
	align-self: stretch !important;
	display: flex !important;
}

.page-id-2155 .jpc-home-story > .wpb_column > .vc_column-inner {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	width: 100% !important;
}

.page-id-2155 .jpc-home-story > .wpb_column > .vc_column-inner > .wpb_wrapper {
	width: 100%;
}

.page-id-2155 .jpc-home-story .jpc-home-story__media img {
	display: block;
	height: auto;
	width: 100%;
}

.page-id-2155 .jpc-home-story .jpc-home-story__copy .wpb_text_column,
.page-id-2155 .jpc-home-story .jpc-home-story__copy p,
.page-id-2155 .jpc-home-story .jpc-home-story__copy li,
.page-id-2155 .jpc-home-story .jpc-home-story__copy strong {
	color: var(--jpc-home-ink);
	font-family: var(--jpc-home-body);
	font-size: 1.05rem;
	line-height: 1.55;
}

.page-id-2155 .jpc-home-story .jpc-home-story__copy ul {
	margin: 0.75rem 0 1rem;
	padding-left: 1.15rem;
}

/* Catalog tabs + models — compact rows, smaller images, shared left edge */
.page-id-2155 .jpc-home-catalog {
	padding-top: clamp(0.5rem, 1.5vw, 0.9rem) !important;
}

.page-id-2155 .jpc-home-catalog .vc_tta-tabs-container {
	margin-bottom: 0.65rem !important;
}

.page-id-2155 .jpc-home-catalog .vc_tta-tab > a {
	border-radius: 0 !important;
	font-family: var(--jpc-home-display) !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	padding: 0.7rem 1rem !important;
	text-transform: uppercase !important;
}

.page-id-2155 .jpc-home-catalog .vc_tta-panel-body {
	padding: 0.75rem 1rem 0.35rem !important;
}

.page-id-2155 .jpc-home-catalog .vc_empty_space,
.page-id-2155 .jpc-home-catalog .vc_separator {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
}

.page-id-2155 .jpc-home-catalog .vc_tta-panel-body > .wpb_text_column,
.page-id-2155 .jpc-home-catalog .vc_row_inner:not(.jpc-home-model) {
	margin-bottom: 0.5rem !important;
}

.page-id-2155 .jpc-home-catalog .vc_tta-panel-body > .wpb_text_column p,
.page-id-2155 .jpc-home-catalog .vc_tta-panel-body > .wpb_text_column li {
	font-size: 0.95rem !important;
	line-height: 1.45 !important;
	margin: 0.15rem 0 !important;
}

.page-id-2155 .jpc-home-model {
	align-items: stretch !important;
	border-top: 1px solid var(--jpc-home-line);
	display: flex !important;
	flex-wrap: nowrap !important;
	margin: 0 !important;
	padding: 0.7rem 0 !important;
}

.page-id-2155 .jpc-home-model > .wpb_column,
.page-id-2155 .jpc-home-model > .vc_column_container {
	align-self: stretch !important;
	display: flex !important;
	float: none !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* True 2-column row: image | text (same as najem za dogodke) */
.page-id-2155 .jpc-home-model > .jpc-home-model__media,
.page-id-2155 .jpc-home-model > .jpc-home-model__copy {
	flex: 0 0 50% !important;
	max-width: 50% !important;
	width: 50% !important;
}

.page-id-2155 .jpc-home-model > .wpb_column > .vc_column-inner,
.page-id-2155 .jpc-home-model > .vc_column_container > .vc_column-inner {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	justify-content: center !important;
	min-height: 100% !important;
	padding: 0 !important;
	width: 100% !important;
}

.page-id-2155 .jpc-home-model > .jpc-home-model__media > .vc_column-inner {
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.page-id-2155 .jpc-home-model > .jpc-home-model__copy > .vc_column-inner {
	align-items: center !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
	text-align: left !important;
}

.page-id-2155 .jpc-home-model > .jpc-home-model__copy > .vc_column-inner > .wpb_wrapper {
	max-width: none;
	width: 100%;
}

.page-id-2155 .jpc-home-model .vc_single_image,
.page-id-2155 .jpc-home-model .vc_single_image.vc_align_left,
.page-id-2155 .jpc-home-model .vc_single_image .wpb_wrapper,
.page-id-2155 .jpc-home-model .vc_single_image .vc_single_image-wrapper,
.page-id-2155 .jpc-home-model .parallax-mousemove,
.page-id-2155 .jpc-home-model figure.vc_figure {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 220px !important;
	padding: 0 !important;
	text-align: center !important;
	width: auto !important;
}

.page-id-2155 .jpc-home-model__media img,
.page-id-2155 .jpc-home-model .vc_single_image img {
	display: block;
	height: auto !important;
	margin: 0 auto !important;
	max-height: 170px !important;
	max-width: 220px !important;
	object-fit: contain;
	width: auto !important;
}

.page-id-2155 .jpc-home-model h2,
.page-id-2155 .jpc-home-model h2.vc_custom_heading,
.page-id-2155 .jpc-home-model .vc_custom_heading {
	color: var(--jpc-home-ink) !important;
	font-family: var(--jpc-home-display) !important;
	font-size: clamp(1.5rem, 2.8vw, 2.05rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.15 !important;
	margin: 0 0 0.1rem !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

body.page.page-id-2155 .jpc-home-model h2.vc_custom_heading.vc_do_custom_heading,
body.page.page-id-2155 .jpc-home-model h2.vc_custom_heading,
body.page.page-id-2155 .jpc-home-inquiry h2.vc_custom_heading {
	font-weight: 700 !important;
}

.page-id-2155 .jpc-home-model h4,
.page-id-2155 .jpc-home-model h4.vc_custom_heading {
	color: var(--jpc-home-ink) !important;
	font-family: var(--jpc-home-body) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.35 !important;
	margin: 0 0 0.15rem !important;
	opacity: 0.78;
	text-align: left !important;
	text-transform: none !important;
}

.page-id-2155 .jpc-home-model .wpb_text_column,
.page-id-2155 .jpc-home-model .wpb_text_column p {
	color: var(--jpc-home-muted) !important;
	font-family: var(--jpc-home-body) !important;
	font-size: 0.98rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	text-align: left !important;
	text-transform: none !important;
}

.page-id-2155 .jpc-home-model .wpb_text_column {
	margin-bottom: 0 !important;
}

.page-id-2155 .jpc-home-model .wpb_text_column,
.page-id-2155 .jpc-home-model .wpb_content_element,
.page-id-2155 .jpc-home-model .wpb_wrapper {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.page-id-2155 .jpc-home-model .vc_btn3-container {
	clear: both !important;
	display: block !important;
	float: none !important;
	margin: 0.55rem 0 0 !important;
	text-align: left !important;
	width: 100% !important;
}

.page-id-2155 .jpc-home-model .vc_btn3-container + .vc_btn3-container {
	margin-top: 0.6rem !important;
}

.page-id-2155 .jpc-home-price .vc_btn3,
.page-id-2155 .jpc-home-price.vc_btn3-container .vc_btn3 {
	background: var(--jpc-home-ink) !important;
	border: 1px solid var(--jpc-home-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	display: inline-block !important;
	font-family: var(--jpc-home-display) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	margin: 0 !important;
	padding: 0.65rem 0.95rem !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.page-id-2155 .jpc-home-price .vc_btn3:hover,
.page-id-2155 .jpc-home-price.vc_btn3-container .vc_btn3:hover {
	background: var(--jpc-home-accent) !important;
	border-color: var(--jpc-home-accent) !important;
	color: #fff !important;
}

.page-id-2155 .jpc-home-price--silent .vc_btn3,
.page-id-2155 .jpc-home-price--silent.vc_btn3-container .vc_btn3 {
	background: transparent !important;
	color: var(--jpc-home-ink) !important;
}

.page-id-2155 .jpc-home-price--silent .vc_btn3:hover,
.page-id-2155 .jpc-home-price--silent.vc_btn3-container .vc_btn3:hover {
	background: var(--jpc-home-accent) !important;
	border-color: var(--jpc-home-accent) !important;
	color: #fff !important;
}

/* Inquiry — same language as najem za dogodke */
.page-id-2155 .jpc-home-inquiry {
	background: transparent;
	border-top: 1px solid var(--jpc-home-line);
	margin-top: 1.25rem !important;
	padding: clamp(1.5rem, 3vw, 2.1rem) 0 0.35rem !important;
}

.page-id-2155 .jpc-home-inquiry > .wpb_column > .vc_column-inner > .wpb_wrapper {
	margin: 0 auto;
	max-width: 56rem;
}

.page-id-2155 .jpc-home-inquiry .vc_empty_space {
	display: none !important;
	height: 0 !important;
}

.page-id-2155 .jpc-home-inquiry h2,
.page-id-2155 .jpc-home-inquiry h2.vc_custom_heading {
	color: var(--jpc-home-ink) !important;
	font-family: var(--jpc-home-display) !important;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.2 !important;
	margin: 0 0 1rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-2155 .jpc-inquiry-form {
	background: var(--jpc-home-soft);
	border: 1px solid var(--jpc-home-line);
	display: grid !important;
	gap: 0.95rem 1.1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto 2rem;
	max-width: 56rem;
	padding: 1.75rem 1.6rem 1.85rem;
}

.page-id-2155 .jpc-inquiry-form > p {
	margin: 0 !important;
}

.page-id-2155 .jpc-inquiry-form > p:has(textarea),
.page-id-2155 .jpc-inquiry-form > p:has(input[type="checkbox"]),
.page-id-2155 .jpc-inquiry-form > p:has(input[name="address"]),
.page-id-2155 .jpc-inquiry-form > p:has(input[name="delivery_address"]),
.page-id-2155 .jpc-inquiry-form > p:has(input[name="instrument"]),
.page-id-2155 .jpc-inquiry-form > button,
.page-id-2155 .jpc-inquiry-form > .button {
	grid-column: 1 / -1;
}

.page-id-2155 .jpc-inquiry-form label {
	color: var(--jpc-home-ink);
	font-family: var(--jpc-home-body);
	font-size: 0.95rem;
	font-weight: 600;
}

.page-id-2155 .jpc-inquiry-form input[type="text"],
.page-id-2155 .jpc-inquiry-form input[type="email"],
.page-id-2155 .jpc-inquiry-form input[type="tel"],
.page-id-2155 .jpc-inquiry-form select {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-home-ink) !important;
	font-family: var(--jpc-home-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	height: 52px !important;
	line-height: 1.25 !important;
	max-height: 52px !important;
	min-height: 52px !important;
	padding: 0.7rem 0.95rem !important;
	width: 100% !important;
}

.page-id-2155 .jpc-inquiry-form textarea {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-home-ink) !important;
	font-family: var(--jpc-home-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	min-height: 140px;
	padding: 0.7rem 0.95rem !important;
	resize: vertical;
	width: 100% !important;
}

.page-id-2155 .jpc-inquiry-form input:focus,
.page-id-2155 .jpc-inquiry-form textarea:focus {
	border-color: var(--jpc-home-ink) !important;
	outline: 2px solid var(--jpc-home-ink);
	outline-offset: 1px;
}

.page-id-2155 .jpc-inquiry-form > p:has(input[type="checkbox"]) label {
	align-items: flex-start;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	font-weight: 500;
	gap: 0.45rem 0.55rem;
	line-height: 1.45;
}

.page-id-2155 .jpc-inquiry-form > p:has(input[type="checkbox"]) label a {
	color: inherit !important;
	display: inline !important;
	font-size: inherit !important;
	font-weight: 600 !important;
	padding: 0 !important;
	text-decoration: underline !important;
	text-underline-offset: 0.15em;
	white-space: normal !important;
}

.page-id-2155 .jpc-inquiry-form input[type="checkbox"] {
	display: inline-block !important;
	flex: 0 0 auto !important;
	height: 1.1rem !important;
	margin: 0.15rem 0 0 !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	vertical-align: top;
	width: 1.1rem !important;
}

.page-id-2155 .jpc-inquiry-form .button,
.page-id-2155 .jpc-inquiry-form button[type="submit"] {
	background: var(--jpc-home-ink) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	cursor: pointer;
	font-family: var(--jpc-home-display) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	justify-self: center;
	letter-spacing: 0.12em !important;
	margin-top: 0.35rem;
	padding: 1.05rem 2.25rem !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease;
	width: auto !important;
}

.page-id-2155 .jpc-inquiry-form .button:hover,
.page-id-2155 .jpc-inquiry-form button[type="submit"]:hover {
	background: var(--jpc-home-accent) !important;
}

@media (max-width: 991px) {
	.page-id-2155 .jpc-home-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg),
	body:has(.jpc-home-catalog) .jpc-home-hero.vc_row.vc_row-has-fill:has(> .upb_row_bg) {
		min-height: 0;
	}

	.page-id-2155 .jpc-home-story,
	body:has(.jpc-home-catalog) .jpc-home-story {
		padding-bottom: 0.55rem !important;
		padding-left: 0.85rem !important;
		padding-right: 0.85rem !important;
		padding-top: 0.85rem !important;
	}

	.page-id-2155 .jpc-home-story .jpc-home-story__copy .wpb_text_column,
	.page-id-2155 .jpc-home-story .jpc-home-story__copy p,
	.page-id-2155 .jpc-home-story .jpc-home-story__copy li,
	body:has(.jpc-home-catalog) .jpc-home-story .jpc-home-story__copy p,
	body:has(.jpc-home-catalog) .jpc-home-story .jpc-home-story__copy li {
		font-size: 0.95rem !important;
		line-height: 1.45 !important;
		margin-bottom: 0.35rem !important;
	}

	body:has(.jpc-home-catalog) .jpc-home-story .jpc-home-story__copy ul {
		margin: 0.35rem 0 0.45rem !important;
	}

	body:has(.jpc-home-catalog) .jpc-home-story .vc_empty_space,
	body:has(.jpc-home-catalog) .jpc-home-story .ult-spacer {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
	}

	/*
	 * Catalog: category chips stacked full-width at top, then content.
	 * Beat VC accordion padding (!important ≤1024px) with higher specificity.
	 */
	.page-id-2155 .jpc-home-catalog,
	body:has(.jpc-home-catalog) .jpc-home-catalog {
		overflow-x: hidden !important;
		padding-left: 0.85rem !important;
		padding-right: 0.85rem !important;
		padding-top: 0.35rem !important;
	}

	.page-id-2155 .jpc-home-catalog .vc_tta.vc_general,
	body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta.vc_general {
		border: 0 !important;
	}

	.page-id-2155 .jpc-home-catalog .vc_tta-panels-container,
	body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panels-container {
		background: transparent !important;
		border: 0 !important;
	}

	.page-id-2155 .jpc-home-catalog .vc_tta-panels,
	body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panels {
		background: transparent !important;
		border: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 0.35rem !important;
	}

	.page-id-2155 .jpc-home-catalog .vc_tta-panel,
	body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel {
		border: 0 !important;
		display: contents !important;
		margin: 0 !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-heading,
	html body .page-id-2155 .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-heading {
		background: #f3f1ed !important;
		border: 1px solid #e2e0dc !important;
		border-radius: 2px !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
		max-width: 100% !important;
		min-width: 0 !important;
		order: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		position: relative !important;
		top: auto !important;
		width: 100% !important;
		z-index: auto !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-heading,
	html body .page-id-2155 .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-heading {
		background: #161616 !important;
		border-color: #161616 !important;
	}

	/* Title wrapper: no padding (padding lives on the link only). */
	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-title,
	html body .page-id-2155 .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-title {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		display: block !important;
		line-height: 1.2 !important;
		margin: 0 !important;
		min-height: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	/*
	 * Hazel ≤767px sets .master_container a:not(...) { font-size:15px !important }
	 * with dozens of :not() — beat it via .master_container + title-text span.
	 */
	html body:has(.jpc-home-catalog) .master_container .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-title > a,
	html body:has(.jpc-home-catalog) .page_content .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-title > a,
	html body .page-id-2155 .master_container .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-title > a {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		color: #161616 !important;
		display: block !important;
		font-family: Hind, Arial, sans-serif !important;
		font-size: 0.78rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.05em !important;
		line-height: 1.2 !important;
		max-width: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
		padding: 0.65rem 0.85rem !important;
		text-align: left !important;
		text-decoration: none !important;
		text-overflow: ellipsis !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		width: 100% !important;
	}

	html body:has(.jpc-home-catalog) .master_container .jpc-home-catalog .vc_tta-title-text,
	html body:has(.jpc-home-catalog) .page_content .jpc-home-catalog .vc_tta-title-text,
	html body .page-id-2155 .master_container .jpc-home-catalog .vc_tta-title-text {
		font-family: Hind, Arial, sans-serif !important;
		font-size: 0.78rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.05em !important;
		line-height: 1.2 !important;
	}

	html body:has(.jpc-home-catalog) .master_container .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a,
	html body:has(.jpc-home-catalog) .page_content .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a,
	html body .page-id-2155 .master_container .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a,
	html body:has(.jpc-home-catalog) .master_container .jpc-home-catalog .vc_tta-panel.vc_active .vc_tta-title-text {
		color: #fff !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-controls-icon,
	html body .page-id-2155 .jpc-home-catalog .vc_tta-controls-icon {
		display: none !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-body,
	html body .page-id-2155 .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel-body {
		background: #faf9f7 !important;
		border: 1px solid #e2e0dc !important;
		border-radius: 2px !important;
		flex: 0 0 auto !important;
		margin: 0.25rem 0 0 !important;
		max-width: 100% !important;
		order: 1 !important;
		overflow: hidden !important;
		padding: 0.75rem 0.85rem 0.5rem !important;
		width: 100% !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel:not(.vc_active) .vc_tta-panel-body,
	html body .page-id-2155 .jpc-home-catalog .vc_tta.vc_general .vc_tta-panel:not(.vc_active) .vc_tta-panel-body {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		visibility: hidden !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body > .wpb_text_column,
	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body > .vc_row:not(.jpc-home-model) {
		margin: 0 0 0.4rem !important;
	}

	/* VC/theme often pads text columns 30px — that was the empty band under copy. */
	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body .wpb_text_column,
	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body .wpb_content_element {
		margin-bottom: 0 !important;
		padding: 0 !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body .vc_column-inner {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body p,
	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body li {
		font-size: 0.9rem !important;
		line-height: 1.45 !important;
		margin: 0.15rem 0 !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body ul {
		margin: 0.25rem 0 0.4rem !important;
		padding-left: 1.1rem !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_tta-panel-body hr {
		border: 0 !important;
		border-top: 1px solid #e2e0dc !important;
		height: 0 !important;
		margin: 0.5rem 0 !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_empty_space,
	html body:has(.jpc-home-catalog) .jpc-home-catalog .vc_separator,
	html body:has(.jpc-home-catalog) .jpc-home-catalog .ult-spacer {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.page-id-2155 .jpc-home-model,
	body:has(.jpc-home-catalog) .jpc-home-model {
		background: #fff !important;
		border: 1px solid #e8e6e2 !important;
		border-radius: 2px !important;
		flex-wrap: wrap !important;
		gap: 0.35rem 0 !important;
		margin: 0 0 0.65rem !important;
		padding: 0.55rem 0.65rem 0.5rem !important;
	}

	.page-id-2155 .jpc-home-model > .jpc-home-model__media,
	.page-id-2155 .jpc-home-model > .jpc-home-model__copy,
	body:has(.jpc-home-catalog) .jpc-home-model > .jpc-home-model__media,
	body:has(.jpc-home-catalog) .jpc-home-model > .jpc-home-model__copy {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		width: 100% !important;
	}

	/* Kill desktop stretch (height:100%) that leaves voids around copy. */
	html body:has(.jpc-home-catalog) .jpc-home-model > .wpb_column > .vc_column-inner,
	html body:has(.jpc-home-catalog) .jpc-home-model > .vc_column_container > .vc_column-inner {
		align-items: stretch !important;
		display: block !important;
		height: auto !important;
		justify-content: flex-start !important;
		min-height: 0 !important;
		padding: 0 !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-model > .jpc-home-model__copy > .vc_column-inner > .wpb_wrapper {
		display: flex !important;
		flex-direction: column !important;
		gap: 0.2rem !important;
		width: 100% !important;
	}

	.page-id-2155 .jpc-home-model__media img,
	.page-id-2155 .jpc-home-model .vc_single_image img,
	body:has(.jpc-home-catalog) .jpc-home-model__media img,
	body:has(.jpc-home-catalog) .jpc-home-model .vc_single_image img {
		max-height: 140px !important;
		object-fit: contain !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-model .vc_single_image,
	html body:has(.jpc-home-catalog) .jpc-home-model .vc_single_image .wpb_wrapper,
	html body:has(.jpc-home-catalog) .jpc-home-model .vc_single_image .vc_single_image-wrapper,
	html body:has(.jpc-home-catalog) .jpc-home-model figure.vc_figure {
		margin: 0 auto !important;
		max-width: 180px !important;
		padding: 0 !important;
	}

	.page-id-2155 .jpc-home-model h2,
	.page-id-2155 .jpc-home-model h2.vc_custom_heading,
	body:has(.jpc-home-catalog) .jpc-home-model h2,
	body:has(.jpc-home-catalog) .jpc-home-model h2.vc_custom_heading {
		font-size: 1.05rem !important;
		letter-spacing: 0.04em !important;
		line-height: 1.2 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}

	.page-id-2155 .jpc-home-model h4,
	.page-id-2155 .jpc-home-model h4.vc_custom_heading,
	body:has(.jpc-home-catalog) .jpc-home-model h4 {
		font-size: 0.88rem !important;
		letter-spacing: 0 !important;
		line-height: 1.25 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}

	html body:has(.jpc-home-catalog) .jpc-home-model .wpb_text_column,
	html body:has(.jpc-home-catalog) .jpc-home-model .wpb_text_column p {
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}

	/* VC buttons ship with margin: 20px 0 — the big void under “Višina”. */
	html body:has(.jpc-home-catalog) .jpc-home-model .vc_btn3-container,
	html body:has(.jpc-home-catalog) .jpc-home-model .jpc-home-price {
		margin: 0.35rem 0 0 !important;
		padding: 0 !important;
	}

	html body:has(.jpc-home-catalog) .master_container .jpc-home-model .vc_btn3,
	html body:has(.jpc-home-catalog) .jpc-home-model .vc_btn3-container .vc_btn3,
	html body:has(.jpc-home-catalog) .jpc-home-model .jpc-home-price .vc_btn3 {
		display: block !important;
		font-size: 0.78rem !important;
		letter-spacing: 0.04em !important;
		margin: 0 !important;
		min-height: 0 !important;
		padding: 0.7rem 0.85rem !important;
		text-align: center !important;
		width: 100% !important;
	}

	.page-id-2155 .jpc-home-price .vc_btn3,
	.page-id-2155 .jpc-home-price.vc_btn3-container .vc_btn3,
	body:has(.jpc-home-catalog) .jpc-home-price .vc_btn3 {
		display: block !important;
		font-size: 0.78rem !important;
		letter-spacing: 0.04em !important;
		margin: 0 !important;
		min-height: 0 !important;
		padding: 0.7rem 0.85rem !important;
		text-align: center !important;
		width: 100% !important;
	}

	.page-id-2155 .jpc-inquiry-form,
	body:has(.jpc-home-catalog) .jpc-inquiry-form {
		grid-template-columns: 1fr;
		padding: 1.15rem 0.95rem 1.35rem;
	}

	.page-id-2155 .jpc-home-inquiry,
	body:has(.jpc-home-catalog) .jpc-home-inquiry,
	body:has(.jpc-home-catalog) .page_content {
		padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	body:has(.jpc-home-catalog) .aichat-widget.is-global,
	body:has(.jpc-home-catalog) .aichat-widget.is-global.is-superminimized,
	body:has(.jpc-home-catalog) .aichat-widget.is-global.is-maximized {
		bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
	}
}

/*
 * Storitve — Servis (2173) + Transport (2178) + Obnova inquiry (2183)
 * Compact inquiry like najem, tighter gaps; story text vertically aligned with images.
 */
.page-id-2173,
.page-id-2178,
.page-id-2183 {
	--jpc-svc-ink: #161616;
	--jpc-svc-muted: #6a6a6a;
	--jpc-svc-line: #e6e6e6;
	--jpc-svc-soft: #f5f5f5;
	--jpc-svc-accent: #e32934;
	--jpc-svc-display: Hind, Arial, sans-serif;
	--jpc-svc-body: Mulish, Arial, sans-serif;
}

.page-id-2173 .jpc-svc-story,
.page-id-2178 .jpc-svc-story,
body.page.page-id-2173 .vc_row.jpc-svc-story.vc_row-has-fill,
body.page.page-id-2178 .vc_row.jpc-svc-story.vc_row-has-fill,
body.page.page-id-2173 .vc_row.jpc-svc-story[class*="vc_custom_"],
body.page.page-id-2178 .vc_row.jpc-svc-story[class*="vc_custom_"] {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding-bottom: 0.55rem !important;
	padding-top: 0.55rem !important;
}

/* First story after hero — a bit more air, still tighter than VC 120px */
body.page.page-id-2173 .vc_row.jpc-svc-story.vc_row-has-fill:first-of-type,
body.page.page-id-2178 .vc_row.jpc-svc-story.vc_row-has-fill:first-of-type,
body.page.page-id-2173 .wpb-content-wrapper > .vc_row.jpc-svc-story:first-of-type,
body.page.page-id-2178 .wpb-content-wrapper > .vc_row.jpc-svc-story:first-of-type {
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem) !important;
	padding-bottom: 0.55rem !important;
}

body.page.page-id-2173 .jpc-svc-story + .jpc-svc-story,
body.page.page-id-2178 .jpc-svc-story + .jpc-svc-story {
	padding-top: 0.35rem !important;
}

/* Section title between intro and service blocks — more breathing room */
body.page.page-id-2173 .jpc-svc-story:has(+ .vc_row .vc_custom_heading) {
	padding-bottom: 1.1rem !important;
}

body.page.page-id-2173 .vc_row:not(.jpc-svc-story):not(.jpc-svc-inquiry):not(.vc_row-has-fill):has(> .wpb_column .vc_custom_heading) {
	padding-bottom: 1.5rem !important;
	padding-top: 1.75rem !important;
}

body.page.page-id-2173 .vc_row:not(.jpc-svc-story):not(.jpc-svc-inquiry):not(.vc_row-has-fill):has(> .wpb_column .vc_custom_heading) + .jpc-svc-story {
	padding-top: 1.1rem !important;
}

body.page.page-id-2173 .vc_row:not(.jpc-svc-story):not(.jpc-svc-inquiry):not(.vc_row-has-fill):has(> .wpb_column .vc_custom_heading) h2.vc_custom_heading {
	color: var(--jpc-svc-ink) !important;
	font-family: var(--jpc-svc-display) !important;
	letter-spacing: 0.12em !important;
	margin: 0 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.page-id-2173 .jpc-svc-story > .wpb_column,
.page-id-2178 .jpc-svc-story > .wpb_column {
	align-self: stretch !important;
	display: flex !important;
}

.page-id-2173 .jpc-svc-story > .wpb_column > .vc_column-inner,
.page-id-2178 .jpc-svc-story > .wpb_column > .vc_column-inner {
	align-items: center !important;
	display: flex !important;
	flex: 1 1 auto !important;
	width: 100% !important;
}

.page-id-2173 .jpc-svc-story > .wpb_column > .vc_column-inner > .wpb_wrapper,
.page-id-2178 .jpc-svc-story > .wpb_column > .vc_column-inner > .wpb_wrapper {
	width: 100%;
}

.page-id-2173 .jpc-svc-story .wpb_text_column,
.page-id-2173 .jpc-svc-story .wpb_text_column p,
.page-id-2173 .jpc-svc-story .wpb_text_column li,
.page-id-2173 .jpc-svc-story .wpb_text_column strong,
.page-id-2178 .jpc-svc-story .wpb_text_column,
.page-id-2178 .jpc-svc-story .wpb_text_column p,
.page-id-2178 .jpc-svc-story .wpb_text_column li,
.page-id-2178 .jpc-svc-story .wpb_text_column strong {
	color: var(--jpc-svc-ink);
	font-family: var(--jpc-svc-body);
	font-size: 1.02rem;
	line-height: 1.55;
}

.page-id-2173 .jpc-svc-story .vc_single_image img,
.page-id-2173 .jpc-svc-story .wpb_single_image img,
.page-id-2178 .jpc-svc-story .vc_single_image img,
.page-id-2178 .jpc-svc-story .wpb_single_image img {
	display: block;
	height: auto;
	width: 100%;
}

/* Transport: two images in one column → side by side, same size as half-column story images */
body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) > .wpb_column > .vc_column-inner {
	align-items: center !important;
	justify-content: center !important;
}

body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.85rem;
	justify-content: center;
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
}

body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) .wpb_single_image,
body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) .vc_single_image {
	flex: 1 1 calc(50% - 0.45rem);
	margin: 0 !important;
	max-width: calc(50% - 0.45rem);
}

body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) .wpb_single_image .vc_single_image-wrapper,
body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) .wpb_single_image img {
	display: block !important;
	height: auto !important;
	margin: 0 auto !important;
	max-height: none;
	object-fit: cover;
	width: 100% !important;
}

@media (max-width: 767px) {
	body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) .wpb_single_image,
	body.page.page-id-2178 .jpc-svc-story:has(.wpb_single_image + .wpb_single_image) .vc_single_image {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* Inquiry — Servis (2173), Obnova (2183), Transport (2178) */
:is(.page-id-2173, .page-id-2183) .jpc-svc-inquiry,
.page-id-2178 .jpc-svc-inquiry {
	background: transparent;
	border-top: 1px solid var(--jpc-svc-line);
	display: block !important;
	margin-top: 1.25rem !important;
	padding: clamp(1.5rem, 3vw, 2.1rem) 0 0.35rem !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-svc-inquiry > .wpb_column > .vc_column-inner > .wpb_wrapper,
.page-id-2178 .jpc-svc-inquiry > .wpb_column > .vc_column-inner > .wpb_wrapper {
	margin: 0 auto;
	max-width: 56rem;
	text-align: left !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-svc-inquiry .vc_empty_space,
.page-id-2178 .jpc-svc-inquiry .vc_empty_space {
	display: none !important;
	height: 0 !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-svc-inquiry h2,
:is(.page-id-2173, .page-id-2183) .jpc-svc-inquiry h2.vc_custom_heading,
.page-id-2178 .jpc-svc-inquiry h2,
.page-id-2178 .jpc-svc-inquiry h2.vc_custom_heading {
	color: var(--jpc-svc-ink) !important;
	font-family: var(--jpc-svc-display) !important;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.2 !important;
	margin: 0 0 1rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form,
.page-id-2178 .jpc-inquiry-form {
	background: var(--jpc-svc-soft);
	border: 1px solid var(--jpc-svc-line);
	display: grid !important;
	gap: 0.95rem 1.1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-items: stretch;
	margin: 0 auto 2rem;
	max-width: 56rem;
	padding: 1.75rem 1.6rem 1.85rem;
	text-align: left !important;
	width: 100%;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p,
.page-id-2178 .jpc-inquiry-form > p {
	margin: 0 !important;
	max-width: none !important;
	text-align: left !important;
	width: 100% !important;
}

/* Service: full-width for address / instrument type / notes / consent / submit */
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(textarea),
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(input[type="checkbox"]),
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(input[name="address"]),
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(input[name="instrument_type"]),
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(input[name="notes"]),
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > button,
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > .button,
/* Transport: long fields full-width */
.page-id-2178 .jpc-inquiry-form > p:has(textarea),
.page-id-2178 .jpc-inquiry-form > p:has(input[type="checkbox"]),
.page-id-2178 .jpc-inquiry-form > p:has(input[type="file"]),
.page-id-2178 .jpc-inquiry-form > p:has(input[name="instrument"]),
.page-id-2178 .jpc-inquiry-form > p:has(input[name="location_1"]),
.page-id-2178 .jpc-inquiry-form > p:has(input[name="location_2"]),
.page-id-2178 .jpc-inquiry-form > p:has(input[name="notes"]),
.page-id-2178 .jpc-inquiry-form > button,
.page-id-2178 .jpc-inquiry-form > .button {
	grid-column: 1 / -1;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form label,
.page-id-2178 .jpc-inquiry-form label {
	color: var(--jpc-svc-ink);
	display: grid !important;
	font-family: var(--jpc-svc-body);
	font-size: 0.95rem;
	font-weight: 600;
	gap: 0.25rem;
	text-align: left !important;
	width: 100% !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="text"],
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="email"],
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="tel"],
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="date"],
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="number"],
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="file"],
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form select,
.page-id-2178 .jpc-inquiry-form input[type="text"],
.page-id-2178 .jpc-inquiry-form input[type="email"],
.page-id-2178 .jpc-inquiry-form input[type="tel"],
.page-id-2178 .jpc-inquiry-form input[type="date"],
.page-id-2178 .jpc-inquiry-form input[type="number"],
.page-id-2178 .jpc-inquiry-form input[type="file"],
.page-id-2178 .jpc-inquiry-form select {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-svc-ink) !important;
	display: block !important;
	font-family: var(--jpc-svc-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	height: 52px !important;
	line-height: 1.25 !important;
	max-height: 52px !important;
	max-width: 100% !important;
	min-height: 52px !important;
	padding: 0.7rem 0.95rem !important;
	width: 100% !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="date"],
.page-id-2178 .jpc-inquiry-form input[type="date"] {
	-webkit-appearance: none;
	appearance: none;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="file"],
.page-id-2178 .jpc-inquiry-form input[type="file"] {
	height: auto !important;
	max-height: none !important;
	min-height: 52px !important;
	padding: 0.55rem 0.75rem !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form textarea,
.page-id-2178 .jpc-inquiry-form textarea {
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--jpc-svc-ink) !important;
	display: block !important;
	font-family: var(--jpc-svc-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	max-width: 100% !important;
	min-height: 140px;
	padding: 0.7rem 0.95rem !important;
	resize: vertical;
	width: 100% !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input:focus,
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form select:focus,
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form textarea:focus,
.page-id-2178 .jpc-inquiry-form input:focus,
.page-id-2178 .jpc-inquiry-form select:focus,
.page-id-2178 .jpc-inquiry-form textarea:focus {
	border-color: var(--jpc-svc-ink) !important;
	outline: 2px solid var(--jpc-svc-ink);
	outline-offset: 1px;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(input[type="checkbox"]) label,
.page-id-2178 .jpc-inquiry-form > p:has(input[type="checkbox"]) label {
	align-items: unset;
	display: block !important;
	font-weight: 500;
	gap: 0;
	line-height: 1.45;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form > p:has(input[type="checkbox"]) label a,
.page-id-2178 .jpc-inquiry-form > p:has(input[type="checkbox"]) label a {
	display: inline !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: baseline !important;
	white-space: normal !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form input[type="checkbox"],
.page-id-2178 .jpc-inquiry-form input[type="checkbox"] {
	display: inline-block !important;
	height: 1.05rem !important;
	margin: 0 0.45rem 0 0 !important;
	max-height: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	vertical-align: -0.12em;
	width: 1.05rem !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form .button,
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form button[type="submit"],
.page-id-2178 .jpc-inquiry-form .button,
.page-id-2178 .jpc-inquiry-form button[type="submit"] {
	background: var(--jpc-svc-ink) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	cursor: pointer;
	font-family: var(--jpc-svc-display) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	justify-self: center;
	letter-spacing: 0.12em !important;
	margin-top: 0.35rem;
	padding: 1.05rem 2.25rem !important;
	text-transform: uppercase !important;
	transition: background-color 0.2s ease;
	width: auto !important;
}

:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form .button:hover,
:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form button[type="submit"]:hover,
.page-id-2178 .jpc-inquiry-form .button:hover,
.page-id-2178 .jpc-inquiry-form button[type="submit"]:hover {
	background: var(--jpc-svc-accent) !important;
}

@media (max-width: 767px) {
	.page-id-2173 .jpc-svc-story,
	.page-id-2178 .jpc-svc-story,
	body.page.page-id-2173 .vc_row.jpc-svc-story.vc_row-has-fill,
	body.page.page-id-2178 .vc_row.jpc-svc-story.vc_row-has-fill {
		padding-bottom: 0.45rem !important;
		padding-top: 0.45rem !important;
	}

	:is(.page-id-2173, .page-id-2183) .jpc-inquiry-form,
	.page-id-2178 .jpc-inquiry-form {
		grid-template-columns: 1fr;
		padding: 1.35rem 1.1rem 1.5rem;
	}
}

/*
 * Obnova (2183): tighter zig-zag image/text rows.
 * Global banner padding (body:not(.home) .vc_row-has-fill:has(.upb_row_bg))
 * also hits white Ultimate bg_color rows — override here.
 * Same vertical gap above first row and below last row.
 * Text is vertically centered via WPBakery equal_height + content_placement.
 */
body.page.page-id-2183 .vc_row.vc_row-o-equal-height.vc_row-has-fill {
	padding-bottom: 1.25rem !important;
	padding-top: 1.25rem !important;
}

body.page.page-id-2183 .vc_row.vc_row-o-equal-height.vc_row-has-fill .wpb_text_column {
	text-align: left !important;
}

@media (max-width: 767px) {
	body.page.page-id-2183 .vc_row.vc_row-o-equal-height.vc_row-has-fill {
		padding-bottom: 1rem !important;
		padding-top: 1rem !important;
	}
}

/*
 * Snemanja (2139): tight equal gaps + text vertically centered to images/video.
 * Zig-zag lives in vc_row_inner.jpc-snemanja-story.
 */
body.page.page-id-2139 .vc_row.vc_custom_1778237630350.vc_row-has-fill,
body.page.page-id-2139 .vc_row.jpc-snemanja-reserve.vc_row-has-fill,
body.page.page-id-2139 .vc_row.vc_custom_jpc_snemanja_reserve.vc_row-has-fill {
	padding-bottom: 0.5rem !important;
	padding-top: 0.5rem !important;
}

/* No extra air between Primerno row and Rezervacija row */
body.page.page-id-2139 .vc_row.vc_custom_1778237630350.vc_row-has-fill {
	padding-bottom: 0 !important;
}

body.page.page-id-2139 .vc_row.jpc-snemanja-reserve.vc_row-has-fill,
body.page.page-id-2139 .vc_row.vc_custom_jpc_snemanja_reserve.vc_row-has-fill {
	padding-top: 0 !important;
}

body.page.page-id-2139 .jpc-snemanja-story.vc_inner,
body.page.page-id-2139 .vc_row_inner.jpc-snemanja-story {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	margin-bottom: 0 !important;
	padding-bottom: 0.5rem !important;
	padding-top: 0.5rem !important;
}

body.page.page-id-2139 .jpc-snemanja-story > .wpb_column > .vc_column_inner,
body.page.page-id-2139 .jpc-snemanja-story > .wpb_column > .vc_column-inner,
body.page.page-id-2139 .jpc-snemanja-story > .vc_column_container > .vc_column-inner {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

body.page.page-id-2139 .jpc-snemanja-story .wpb_text_column,
body.page.page-id-2139 .jpc-snemanja-story .wpb_text_column p,
body.page.page-id-2139 .jpc-snemanja-story .wpb_text_column h4 {
	text-align: center !important;
}

/* Centered list block with bullets glued to text (not floating left). */
body.page.page-id-2139 .jpc-snemanja-story .wpb_text_column ul {
	display: inline-block !important;
	list-style-position: outside !important;
	margin: 0.35rem auto !important;
	padding-left: 1.25em !important;
	text-align: left !important;
}

body.page.page-id-2139 .jpc-snemanja-story .wpb_text_column li {
	text-align: left !important;
}

/* Ultimate video in zig-zag — match image width feel */
body.page.page-id-2139 .jpc-snemanja-story .ultv-video,
body.page.page-id-2139 .jpc-snemanja-story .ultimate-video,
body.page.page-id-2139 .jpc-snemanja-story .uvc-video {
	margin: 0 auto !important;
	max-width: 100% !important;
	width: 100% !important;
}

@media (max-width: 767px) {
	body.page.page-id-2139 .jpc-snemanja-story.vc_inner,
	body.page.page-id-2139 .vc_row_inner.jpc-snemanja-story {
		padding-bottom: 0.85rem !important;
		padding-top: 0.85rem !important;
	}
}

/*
 * Checkout: put "Vaše naročilo" (shipping methods) beside billing on desktop.
 * Hazel stacks order review below the fold — users miss Pošta / osebni prevzem.
 */
@media (min-width: 992px) {
	.woocommerce-checkout form.checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
		column-gap: 2.5rem;
		align-items: start;
	}

	.woocommerce-checkout form.checkout #customer_details {
		grid-column: 1;
		grid-row: 1;
		width: 100% !important;
		float: none !important;
		display: block !important;
	}

	.woocommerce-checkout form.checkout #customer_details .col-1,
	.woocommerce-checkout form.checkout #customer_details .col-2 {
		width: 100% !important;
		float: none !important;
		clear: both !important;
		margin: 0 0 1.5rem !important;
		padding: 0 !important;
	}

	.woocommerce-checkout form.checkout #order_review_heading {
		grid-column: 2;
		grid-row: 1;
		margin: 0 0 0.75rem !important;
		position: sticky;
		top: 5.5rem;
		z-index: 2;
		background: #fff;
		padding-bottom: 0.35rem;
	}

	.woocommerce-checkout form.checkout #order_review {
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		float: none !important;
		margin-top: 2.75rem !important;
		position: sticky;
		top: 8rem;
	}
}

/* Make shipping method choice unmistakable */
.woocommerce-checkout #order_review tr.woocommerce-shipping-totals th {
	vertical-align: top !important;
	padding-top: 1rem !important;
	font-weight: 700 !important;
}

.woocommerce-checkout #order_review ul#shipping_method,
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
}

.woocommerce-checkout #order_review ul#shipping_method li,
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods li {
	margin: 0 !important;
	padding: 0.65rem 0.85rem !important;
	border: 1px solid #d0d0d0 !important;
	border-radius: 4px !important;
	background: #fafafa !important;
}

.woocommerce-checkout #order_review ul#shipping_method li label,
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods li label {
	color: #1a1a1a !important;
	display: inline !important;
	cursor: pointer !important;
}

.woocommerce-checkout #order_review ul#shipping_method input.shipping_method,
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input.shipping_method {
	margin-right: 0.45rem !important;
	accent-color: #1a1a1a;
}

/* Classic cart: same clear shipping method radios as checkout */
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods {
	list-style: none !important;
	margin: 0.35rem 0 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
	margin: 0 !important;
	padding: 0.65rem 0.85rem !important;
	border: 1px solid #d0d0d0 !important;
	border-radius: 4px !important;
	background: #fafafa !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li label,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li label {
	color: #1a1a1a !important;
	cursor: pointer !important;
}

.woocommerce-cart .cart_totals ul#shipping_method input.shipping_method,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods input.shipping_method {
	margin-right: 0.45rem !important;
	accent-color: #1a1a1a;
}

.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th {
	vertical-align: top !important;
	font-weight: 700 !important;
}

/*
 * Najem učilnic — equal-height cards (all viewports):
 * pin price buttons to one baseline when column copy lengths differ.
 * Fingerprint: pricing row .vc_custom_1481470976096.
 */
.vc_custom_1481470976096 .vc_inner.vc_row {
	align-items: stretch !important;
	display: flex !important;
	flex-wrap: wrap !important;
}

.vc_custom_1481470976096 .vc_inner.vc_row::before,
.vc_custom_1481470976096 .vc_inner.vc_row::after {
	content: none !important;
	display: none !important;
}

.vc_custom_1481470976096 .vc_inner.vc_row > .wpb_column {
	display: flex !important;
	float: none !important;
}

.vc_custom_1481470976096 .vc_inner.vc_row > .wpb_column > .vc_column-inner {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	width: 100% !important;
}

.vc_custom_1481470976096 .vc_inner.vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	height: 100% !important;
	width: 100% !important;
}

.vc_custom_1481470976096 .vc_inner.vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper > [class*="ubtn-ctn"] {
	margin-top: auto !important;
}

/* ==========================================================================
 * Mobile Val A (max-width: 991px ONLY — desktop rules above stay untouched)
 * - Larger dismiss hit targets on announcement bars
 * - Mobile header redesign: ☰ | logo | account+cart
 * - Booking login hint: compact + room for CTA / chatbot
 * ========================================================================== */
@media (max-width: 991px) {
	/* HashBar / NLB notice: 44px close target (bar height stays ~38px). */
	html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-close,
	html body .hashbar-announcement-bars-container button.hashbar-announcement-close {
		height: 44px !important;
		min-height: 44px !important;
		min-width: 44px !important;
		right: 0.25rem !important;
		width: 44px !important;
		font-size: 1rem !important;
	}

	.hashbar-announcement-bar {
		padding-right: 3rem !important;
		/* Keep below fixed header stacking; still above page content. */
		z-index: 100 !important;
	}

	/* Keep announcement rows single-line (no wrap → tall chrome). */
	html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-content,
	html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-message {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}

	html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-message p,
	html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar .hashbar-announcement-message p.hashbar-no-emoji-convert {
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	html body .hashbar-announcement-bars-container,
	html body .hashbar-announcement-bar-wrapper,
	html body .hashbar-announcement-bar {
		z-index: 100 !important;
	}

	/*
	 * Top bar is marked disable_hazel_topbar_mobile, but child CSS forces
	 * display:flex !important globally — that re-shows it and paints over the logo.
	 * Hide on mobile only; desktop top-bar unchanged.
	 */
	header .top-bar.disable_hazel_topbar_mobile,
	header.navbar .top-bar.disable_hazel_topbar_mobile,
	header.navbar.style3 .top-bar.disable_hazel_topbar_mobile {
		display: none !important;
		height: 0 !important;
		max-height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}

	/* Compact fixed header chrome. */
	header.navbar.style3.light:not(.headerclone) {
		min-height: 0 !important;
	}

	header.navbar.style3:not(.headerclone) .navbar-brand img.logo_normal,
	header.navbar.style3:not(.headerclone) .navbar-brand img.logo_retina,
	header.navbar.style3.light:not(.headerclone) .navbar-brand img {
		height: auto !important;
		max-height: 32px !important;
		max-width: min(190px, 48vw) !important;
		width: auto !important;
	}

	/*
	 * Hazel sticky clone still paints a second hamburger on mobile.
	 * Keep clone fully out of the way (desktop clone rules unchanged).
	 */
	header.navbar.style3.headerclone {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	/*
	 * Do NOT constrain #dl-menu width/transform — that breaks dlmenu panel
	 * (narrow strip + mirrored text). Only enlarge the trigger hit area.
	 */
	header.navbar.style3:not(.headerclone) #dl-menu .dl-trigger {
		align-items: center !important;
		display: inline-flex !important;
		height: 44px !important;
		justify-content: center !important;
		margin: 0 !important;
		min-height: 44px !important;
		min-width: 44px !important;
		padding: 0.5rem !important;
		position: relative !important;
		width: 44px !important;
		z-index: 201 !important;
	}

	header.navbar.style3:not(.headerclone) #dl-menu .hamburguer-line,
	header.navbar.style3:not(.headerclone) #dl-menu .hamburger-line-1,
	header.navbar.style3:not(.headerclone) #dl-menu .hamburger-line-2,
	header.navbar.style3:not(.headerclone) #dl-menu .hamburger-line-3 {
		height: 2px !important;
		opacity: 1 !important;
		width: 20px !important;
	}

	/*
	 * Fixed compact header overlays page start.
	 * Do NOT pad #main — header lives inside #main, so padding-top there
	 * becomes the fixed header's static top and creates a white gap under notices.
	 * Pad content siblings after the header:
	 * - .master_container (most pages)
	 * - .page_content (template-home pages e.g. Najem učilnic)
	 */
	body #main {
		padding-top: 0 !important;
	}

	body #main > .master_container,
	body #main > .page_content,
	body #main > section.page_content {
		padding-top: 56px !important;
	}

	/*
	 * Homepage SR7 (homev4) mobile:
	 * - Clip cube/3D bleed (black trapezoid)
	 * - Keep bullets inside the module
	 * - Do NOT force min-height — it left a white band under the slide
	 * Avoid body.home — some scripts wipe body classes.
	 */
	sr7-module[data-alias="homev4"],
	#SR7_6_1 {
		min-height: 0 !important;
		overflow: hidden !important;
	}

	sr7-module[data-alias="homev4"] sr7-content,
	#SR7_6_1 sr7-content,
	sr7-module[data-alias="homev4"] sr7-adjuster,
	#SR7_6_1 sr7-adjuster {
		min-height: 0 !important;
		overflow: hidden !important;
	}

	sr7-module[data-alias="homev4"] sr7-bg,
	#SR7_6_1 sr7-bg,
	sr7-module[data-alias="homev4"] sr7-mask,
	#SR7_6_1 sr7-mask {
		perspective: none !important;
		transform-style: flat !important;
	}

	/* Titles: less tracking + taller line-height so wrapped lines breathe. */
	sr7-module[data-alias="homev4"] sr7-txt[style*="font-weight: 700"],
	sr7-module[data-alias="homev4"] sr7-txt[style*="font-weight:700"],
	#SR7_6_1 sr7-txt[style*="font-weight: 700"],
	#SR7_6_1 sr7-txt[style*="font-weight:700"] {
		font-size: 1.35rem !important;
		letter-spacing: 0.08em !important;
		line-height: 1.45 !important;
	}

	/* Subtitles: more line-height; nudge block down for gap under title. */
	sr7-module[data-alias="homev4"] sr7-txt[style*="font-weight: 400"],
	sr7-module[data-alias="homev4"] sr7-txt[style*="font-weight:400"],
	#SR7_6_1 sr7-txt[style*="font-weight: 400"],
	#SR7_6_1 sr7-txt[style*="font-weight:400"] {
		line-height: 1.45 !important;
	}

	sr7-module[data-alias="homev4"] sr7-px:has(sr7-txt[style*="font-weight: 400"]),
	sr7-module[data-alias="homev4"] sr7-px:has(sr7-txt[style*="font-weight:400"]),
	#SR7_6_1 sr7-px:has(sr7-txt[style*="font-weight: 400"]),
	#SR7_6_1 sr7-px:has(sr7-txt[style*="font-weight:400"]) {
		transform: translateY(0.45rem) !important;
	}

	/* CTA buttons sit under subtitle — keep a lighter nudge. */
	sr7-module[data-alias="homev4"] sr7-px:has(sr7-btn),
	sr7-module[data-alias="homev4"] sr7-px:has(.sr7-btn),
	sr7-module[data-alias="homev4"] sr7-px:has(a.sr7-layer),
	#SR7_6_1 sr7-px:has(sr7-btn),
	#SR7_6_1 sr7-px:has(.sr7-btn),
	#SR7_6_1 sr7-px:has(a.sr7-layer) {
		transform: translateY(0.55rem) !important;
	}

	sr7-module[data-alias="homev4"] .sr7-bullets,
	#SR7_6_1 .sr7-bullets,
	sr7-module[data-alias="homev4"] sr7-bullets,
	#SR7_6_1 sr7-bullets {
		bottom: 0.4rem !important;
		left: 50% !important;
		right: auto !important;
		top: auto !important;
		transform: translateX(-50%) !important;
		z-index: 20 !important;
	}

	/* HashBar: leave room for close + avoid clipping first letter. */
	html body .hashbar-announcement-bars-container .hashbar-announcement-bar-wrapper .hashbar-announcement-bar {
		padding-left: 0.75rem !important;
		padding-right: 2.75rem !important;
	}

	/* Account / cart: consistent tap targets, no absolute offsets. */
	header.navbar.style3:not(.headerclone) .jpc-header-account__link,
	header.navbar.style3:not(.headerclone) .hazel_cart_header,
	header.navbar.style3:not(.headerclone) .hazel_little_shopping_bag_wrapper {
		align-items: center !important;
		display: inline-flex !important;
		height: 44px !important;
		justify-content: center !important;
		min-height: 44px !important;
		min-width: 40px !important;
	}

	/* Booking login hint: compact strip + safe-area; leave space for CTA. */
	.jpc-booking-login-hint {
		font-size: 0.82rem;
		line-height: 1.35;
		padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
		z-index: 60;
	}

	.jpc-booking-login-hint p {
		margin: 0;
	}

	body:has(.jpc-booking-login-hint) {
		padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	/* Keep chatbot above the booking hint strip. */
	body:has(.jpc-booking-login-hint) .aichat-widget.is-global,
	body:has(.jpc-booking-login-hint) .aichat-widget.is-global.is-superminimized,
	body:has(.jpc-booking-login-hint) .aichat-widget.is-global.is-maximized {
		bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	/* BookingPress primary CTA: avoid sitting under the fixed hint. */
	body:has(.jpc-booking-login-hint) .bpa-front-tabs--foot,
	body:has(.jpc-booking-login-hint) .bpa-front-btn--primary,
	body:has(.jpc-booking-login-hint) .bpa-tn__footer,
	body:has(.jpc-booking-login-hint) .bookingpress_booking_form .bpa-front-tabs--foot {
		margin-bottom: 0.5rem;
	}

	/*
	 * Najem učilnic: center Ultimate buttons + cut VC white space.
	 * Do NOT use .page-id-2131 — SR7 strips body classes to "rs-ISM …".
	 * Fingerprint: pricing row .vc_custom_1481470976096.
	 */
	html body:not(.home) .vc_row.wpb_row.vc_custom_1778438503740.vc_row-has-fill {
		padding-top: 1.75rem !important;
		padding-bottom: 1.5rem !important;
	}

	html body:not(.home) .vc_row.wpb_row.vc_custom_1481470976096.vc_row-has-fill {
		padding-top: 0.75rem !important;
		padding-bottom: 0.5rem !important;
	}

	.vc_custom_1481470976096 .vc_custom_1778737619070 {
		margin-bottom: 0 !important;
		padding-bottom: 0.35rem !important;
	}

	.vc_custom_1481470976096 .vc_empty_space,
	.vc_custom_1481470976096 .ult-spacer {
		height: 0.35rem !important;
		max-height: 0.35rem !important;
		margin: 0 !important;
	}

	.vc_custom_1481470976096 .wpb_text_column,
	.vc_custom_1481470976096 .wpb_text_column p,
	.vc_custom_1481470976096 .wpb_text_column h2,
	.vc_custom_1481470976096 .wpb_text_column h3,
	.vc_custom_1481470976096 .wpb_text_column h4,
	.vc_custom_1481470976096 .vc_custom_heading {
		margin-bottom: 0.45rem !important;
		text-align: center !important;
	}

	.vc_custom_1481470976096 .wpb_text_column p {
		margin-bottom: 0.55rem !important;
	}

	.vc_custom_1481470976096 .wpb_text_column h2 {
		margin-top: 0.15rem !important;
		margin-bottom: 0.35rem !important;
	}

	.vc_custom_1481470976096 [class*="ubtn-ctn"] {
		margin-bottom: 0.45rem !important;
		margin-top: 0 !important;
		text-align: center !important;
		width: 100% !important;
	}

	/*
	 * Price buttons use ubtn-left (content-sized). Forcing only the outer
	 * link to 100% leaves .ubtn / .ubtn-data shrink-wrapped on the left —
	 * looks left-aligned. Match the working REZERVIRAJ (ubtn-block) behavior.
	 */
	.vc_custom_1481470976096 .ubtn-ctn-left,
	.vc_custom_1481470976096 .ubtn-ctn-center {
		text-align: center !important;
	}

	.vc_custom_1481470976096 .ubtn-link,
	.vc_custom_1481470976096 .ubtn-link.ubtn-left,
	.vc_custom_1481470976096 .ubtn-link.ubtn-large,
	.vc_custom_1481470976096 .ubtn-link.ubtn-block,
	body:has(.vc_custom_1481470976096) .vc_row.vc_row-has-fill:has(.ubtn-ctn-center) .ubtn-link {
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		/* Ultimate leaves padding-right:~25px on ubtn-left links → button looks left-shifted. */
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	.vc_custom_1481470976096 .ubtn,
	.vc_custom_1481470976096 .ubtn.ubtn-left,
	.vc_custom_1481470976096 .ubtn.ubtn-large,
	.vc_custom_1481470976096 .ubtn.ubtn-block,
	body:has(.vc_custom_1481470976096) .vc_row.vc_row-has-fill:has(.ubtn-ctn-center) .ubtn {
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
		text-align: center !important;
		width: 100% !important;
	}

	.vc_custom_1481470976096 .ubtn .ubtn-data,
	.vc_custom_1481470976096 .ubtn .ubtn-text,
	.vc_custom_1481470976096 .ubtn [class*="btn-animate"],
	body:has(.vc_custom_1481470976096) .vc_row.vc_row-has-fill:has(.ubtn-ctn-center) .ubtn .ubtn-data,
	body:has(.vc_custom_1481470976096) .vc_row.vc_row-has-fill:has(.ubtn-ctn-center) .ubtn [class*="btn-animate"] {
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
		left: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		right: auto !important;
		text-align: center !important;
		width: 100% !important;
	}

	/* White CTA strip under discount — was 44/40px banner padding → huge gap. */
	body:has(.vc_custom_1481470976096) .vc_row.ult-vc-hide-row.vc_row-has-fill:has(.ubtn-ctn-center) {
		margin-top: 0 !important;
		min-height: 0 !important;
		padding-top: 0.5rem !important;
		padding-bottom: 0.75rem !important;
	}

	body:has(.vc_custom_1481470976096) .vc_row.ult-vc-hide-row.vc_row-has-fill:has(.ubtn-ctn-center) .vc_empty_space,
	body:has(.vc_custom_1481470976096) .vc_row.ult-vc-hide-row.vc_row-has-fill:has(.ubtn-ctn-center) .ult-spacer {
		display: none !important;
		height: 0 !important;
	}

	/*
	 * Rezervacija učilnice / one-page-template:
	 * Hazel sets .master_container { padding-right: 90px } — squeezes BookingPress
	 * into ~270px and leaves a white gutter. Banner already clears the fixed header,
	 * so the usual 56px master pad-top becomes a huge white gap under the title.
	 */
	body.page-template-one-page-template #main > .master_container,
	body:has(.bpa-frontend-vue3) #main > .master_container {
		padding-bottom: 1.25rem !important;
		padding-right: 0 !important;
		float: none !important;
		width: 100% !important;
	}

	body:has(.fullwidth-container .present-container):not(:has(.bpa-frontend-vue3)) #main > .master_container {
		padding-top: 0 !important;
	}

	/*
	 * Booking flow: drop the Hazel page-title banner on mobile (~180px under the
	 * fixed header). Wizard tabs already identify the step; the black/empty band
	 * just pushes the form down on every step.
	 */
	body:has(.bpa-frontend-vue3) #main > .fullwidth-container:has(.present-container) {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
	}

	/* Without the banner, content needs the fixed-header offset again. */
	html body:has(.bpa-frontend-vue3) #main > .master_container {
		padding-top: 56px !important;
	}

	/* VC row above BookingPress shortcode — was padding-top: 60px. */
	.vc_custom_1782884289978,
	body:has(.bpa-frontend-vue3) .page_content > .container > .vc_row:first-child {
		padding-top: 0.35rem !important;
		padding-bottom: 0.35rem !important;
	}

	/*
	 * BookingPress step tabs: fit 4 steps in one row, full-width card.
	 * Prefer :has(.bpa-frontend-vue3) over page-id — body classes can be wiped.
	 */
	body:has(.bpa-frontend-vue3) .container {
		max-width: 100% !important;
		width: 100% !important;
	}

	.bpa-frontend-vue3,
	.bpa-frontend-vue3 .bpa-front-tabs,
	.bpa-frontend-vue3 .bpa-front-tab-menu,
	.bpa-frontend-vue3 .bpa-front-tabs--panel-body,
	.bpa-frontend-vue3 .bpa-front-default-card {
		max-width: 100% !important;
		width: 100% !important;
	}

	.bpa-frontend-vue3 .bpa-front-tab-menu {
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 0 !important;
		justify-content: space-between !important;
		margin: 0 0 0.75rem !important;
		overflow: visible !important;
		padding: 0.5rem 0.25rem !important;
	}

	.bpa-frontend-vue3 .bpa-front-tab-menu--item {
		align-items: center !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex: 1 1 0 !important;
		flex-direction: column !important;
		gap: 0.2rem !important;
		justify-content: flex-start !important;
		margin: 0 !important;
		max-width: none !important;
		min-height: 4.25rem !important;
		min-width: 0 !important;
		padding: 0.35rem 0.15rem !important;
		text-align: center !important;
	}

	.bpa-frontend-vue3 .bpa-front-tm--item-icon {
		font-size: 1.25rem !important;
		height: 1.35rem !important;
		line-height: 1 !important;
		margin: 0 auto !important;
		width: 1.35rem !important;
	}

	.bpa-frontend-vue3 .bpa-front-tm--item-icon svg {
		display: block !important;
		height: 100% !important;
		width: 100% !important;
	}

	.bpa-frontend-vue3 .bpa-front-tm--item-label {
		font-size: 0.7rem !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		letter-spacing: 0 !important;
		line-height: 1.15 !important;
		max-height: 2.4em !important;
		overflow: hidden !important;
		overflow-wrap: normal !important;
		padding: 0 !important;
		text-overflow: ellipsis !important;
		white-space: normal !important;
		word-break: normal !important;
	}

	/*
	 * Classroom cards: no BookingPress service images uploaded (all NONE in
	 * servicesmeta). Plugin falls back to grey mountain SVG — hide on mobile.
	 * Real <img> stays visible if an image is added later.
	 */
	.bpa-frontend-vue3 .bpa-front-si-card__left:has(.bpa-front-si__default-img):not(:has(img)),
	.bpa-frontend-vue3 .bpa-front-si__default-img {
		display: none !important;
		height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		width: 0 !important;
	}

	/* myCred "Uporabi" — theme button rules can wash out text/background. */
	html body .bpa-frontend-vue3 button.bpa-fm--bs__mycred-apply {
		background: #e32934 !important;
		background-color: #e32934 !important;
		border: 0 !important;
		border-radius: 4px !important;
		color: #ffffff !important;
		font-size: 0.9rem !important;
		font-weight: 700 !important;
		height: 2.5rem !important;
		min-width: 5.75rem !important;
		opacity: 1 !important;
		padding: 0 1rem !important;
	}

	html body .bpa-frontend-vue3 .bpa-fm--bs__mycred-edit-row .el-input__wrapper {
		box-shadow: none !important;
	}
}

/* ==========================================================================
 * Single product (PDP) — mobile storefront redesign
 * Stack: full-bleed gallery → title/price/CTA → short copy → tabs → related.
 * SR7 strips body.single-product — scope with :has(div.product > .summary).
 * ========================================================================== */
@media (max-width: 991px) {
	body:has(div.product.type-product > .summary) .master_container,
	body:has(div.product.type-product > .summary) .page_content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body:has(div.product.type-product > .summary) .page_content {
		padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	/* Hazel .container can stay desktop-narrow when html.no-mobile. */
	body:has(div.product.type-product > .summary) .page_content > .container,
	body:has(div.product.type-product > .summary) .master_container .container:has(> div.product) {
		box-sizing: border-box !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) div.product.type-product {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		margin: 0 auto !important;
		max-width: 100% !important;
		padding: 0 1rem !important;
		width: 100% !important;
	}

	/* Gallery: one dominant image, thumbs as a compact strip. */
	body:has(div.product.type-product > .summary) div.product div.images,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery {
		float: none !important;
		margin: 0 0 1.1rem !important;
		max-width: 100% !important;
		order: 1;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-gallery__wrapper,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-viewport {
		margin: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-gallery__image,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery__image a,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery__image img,
	body:has(div.product.type-product > .summary) div.product div.images img {
		border-radius: 0 !important;
		box-shadow: none !important;
		display: block !important;
		float: none !important;
		height: auto !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-control-thumbs,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-control-nav {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 0.4rem !important;
		margin: 0.55rem 0 0 !important;
		overflow-x: auto !important;
		padding: 0 !important;
		-webkit-overflow-scrolling: touch;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-control-thumbs li,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-control-nav li {
		flex: 0 0 4.25rem !important;
		float: none !important;
		margin: 0 !important;
		width: 4.25rem !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-control-thumbs img,
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery .flex-control-nav img {
		border: 1px solid #e6e6e6 !important;
		height: 4.25rem !important;
		object-fit: cover !important;
		opacity: 1 !important;
		width: 4.25rem !important;
	}

	/*
	 * Zoom lupa: top-left so it never covers wishlist/compare (top-right).
	 * Related-card tools can escape without position:relative — fixed below.
	 */
	body:has(div.product.type-product > .summary) .woocommerce-product-gallery__trigger {
		bottom: auto !important;
		height: 2.25rem !important;
		left: 0.65rem !important;
		right: auto !important;
		top: 0.65rem !important;
		width: 2.25rem !important;
		z-index: 5 !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-gallery__trigger img.emoji {
		display: block !important;
		height: 1.35rem !important;
		margin: 0.45rem auto !important;
		width: 1.35rem !important;
	}

	/* Buy box */
	body:has(div.product.type-product > .summary) div.product div.summary,
	body:has(div.product.type-product > .summary) .summary.entry-summary {
		float: none !important;
		margin: 0 0 1.5rem !important;
		max-width: 100% !important;
		order: 2;
		padding: 0 !important;
		width: 100% !important;
	}

	html body:has(div.product.type-product > .summary) h1.product_title.entry-title,
	html body:has(div.product.type-product > .summary) div.product .product_title,
	html body:has(div.product.type-product > .summary) .summary .product_title {
		font-size: 1.55rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.01em !important;
		line-height: 1.2 !important;
		margin: 0 0 0.55rem !important;
		text-transform: none !important;
	}

	html body:has(div.product.type-product > .summary) div.product .entry-summary p.price,
	html body:has(div.product.type-product > .summary) div.product p.price,
	html body:has(div.product.type-product > .summary) .summary p.price {
		border-top: 1px solid #e8e8e8 !important;
		color: #111 !important;
		font-size: 1.35rem !important;
		font-weight: 700 !important;
		letter-spacing: 0 !important;
		margin: 0 0 1rem !important;
		padding: 0.85rem 0 0 !important;
	}

	body:has(div.product.type-product > .summary) div.product form.cart {
		align-items: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0.65rem !important;
		margin: 0 0 1rem !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .entry-summary .quantity,
	body:has(div.product.type-product > .summary) div.product form.cart .quantity {
		margin: 0 !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .summary.entry-summary .cart .single_add_to_cart_button,
	body:has(div.product.type-product > .summary) div.product form.cart .single_add_to_cart_button {
		background: #e32934 !important;
		border: 0 !important;
		color: #fff !important;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.04em !important;
		margin: 0 !important;
		min-height: 2.85rem !important;
		padding: 0.75rem 1rem !important;
		text-transform: uppercase !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .jpc-salon-cta,
	body:has(div.product.type-product > .summary) .jpc-salon-cta__btn,
	body:has(div.product.type-product > .summary) .product-enquiry-button,
	body:has(div.product.type-product > .summary) a.product-enquiry-button {
		box-sizing: border-box !important;
		color: #fff !important;
		display: block !important;
		font-size: 0.9rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.03em !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		min-height: 2.85rem !important;
		padding: 0.75rem 1rem !important;
		text-align: center !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) form.cart .quantity .qty,
	body:has(div.product.type-product > .summary) form.cart input.qty {
		box-sizing: border-box !important;
		font-size: 1rem !important;
		height: 2.85rem !important;
		max-width: 100% !important;
		min-height: 2.85rem !important;
		text-align: center !important;
		width: 100% !important;
	}

	/* Short description: tame desktop letter-spacing / oversized heads. */
	body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description {
		padding: 0.35rem 0 0 !important;
	}

	html body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description h3,
	html body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description h4,
	html body:has(div.product.type-product > .summary) .woocommerce-Tabs-panel h3,
	html body:has(div.product.type-product > .summary) .woocommerce-Tabs-panel h4 {
		font-size: 1.05rem !important;
		letter-spacing: 0.02em !important;
		line-height: 1.35 !important;
		margin: 0.85rem 0 0.45rem !important;
		text-transform: none !important;
	}

	html body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description h4 span,
	html body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description li h4,
	html body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description li h4 span {
		display: inline !important;
		font-size: 0.95rem !important;
		letter-spacing: 0.04em !important;
		line-height: 1.4 !important;
		text-transform: uppercase !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description p,
	body:has(div.product.type-product > .summary) .woocommerce-Tabs-panel p,
	body:has(div.product.type-product > .summary) .woocommerce-Tabs-panel li {
		font-size: 0.95rem !important;
		letter-spacing: 0 !important;
		line-height: 1.55 !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description ul {
		list-style: none !important;
		margin: 0.75rem 0 0 !important;
		padding: 0 !important;
	}

	body:has(div.product.type-product > .summary) .woocommerce-product-details__short-description ul li {
		border-left: 3px solid #e32934 !important;
		margin: 0 0 0.45rem !important;
		padding: 0.15rem 0 0.15rem 0.7rem !important;
	}

	/* Keep floating Ultimate / icon boxes from covering copy. */
	body:has(div.product.type-product > .summary) .aio-icon-component,
	body:has(div.product.type-product > .summary) .ult-just-icon-wrapper,
	body:has(div.product.type-product > .summary) .aio-icon,
	body:has(div.product.type-product > .summary) .vc_icon_element {
		float: none !important;
		margin: 0.75rem auto !important;
		max-width: 100% !important;
		position: static !important;
	}

	/* Tabs stacked, readable. */
	body:has(div.product.type-product > .summary) div.product .woocommerce-tabs {
		margin: 0 0 1.75rem !important;
		order: 3;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) div.product .woocommerce-tabs ul.tabs {
		display: flex !important;
		flex-direction: column !important;
		gap: 0.35rem !important;
		padding: 0 !important;
	}

	body:has(div.product.type-product > .summary) div.product .woocommerce-tabs ul.tabs li {
		margin: 0 !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) div.product .woocommerce-tabs .panel {
		padding: 0.85rem 0 0 !important;
	}

	/* Related products: same 2-col density as shop. */
	body:has(div.product.type-product > .summary) .related.products {
		margin: 0 0 1rem !important;
		order: 4;
		padding: 0 !important;
		width: 100% !important;
	}

	body:has(div.product.type-product > .summary) .related.products > h2 {
		font-size: 1.15rem !important;
		letter-spacing: 0.04em !important;
		margin: 0 0 0.85rem !important;
	}

	body:has(div.product.type-product > .summary) .related.products ul.products {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0.75rem !important;
	}

	body:has(div.product.type-product > .summary) .related.products ul.products li.product {
		clear: none !important;
		float: none !important;
		margin: 0 !important;
		position: relative !important;
		width: calc((100% - 0.75rem) / 2) !important;
	}

	/* Chat / tools clearance on PDP. */
	body:has(div.product.type-product > .summary) .aichat-widget.is-global,
	body:has(div.product.type-product > .summary) .aichat-widget.is-global.is-superminimized,
	body:has(div.product.type-product > .summary) .aichat-widget.is-global.is-maximized {
		bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
	}
}

