/* Patrick Bavasi Inventory Manager */
.pb-piece-grid-section {
	width: 100%;
	background: var(--pb-offwhite, #f5f3ee);
	padding: 38px 36px 70px;
}

.pb-piece-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 54px;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}

.pb-piece-card-wrap {
	position: relative;
	margin: 0;
	padding: 0;
}

.pb-piece-card {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.14;
	margin: 0;
	padding: 0;
	border: 0;
	background: #111;
	cursor: pointer;
	overflow: hidden;
	text-align: left;
	border-radius: 0;
	box-shadow: none;
}

.pb-piece-card img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms ease, filter 700ms ease;
}

.pb-piece-card:hover img {
	transform: scale(1.04);
	filter: brightness(0.85);
}

.pb-piece-card-shade {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(to bottom, rgba(0,0,0,0.02), rgba(0,0,0,0.55));
	pointer-events: none;
}

.pb-piece-card-title {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 28px;
	z-index: 3;
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-shadow: 0 1px 14px rgba(0,0,0,0.35);
}

.pb-piece-card-status {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 4;
	padding: 8px 10px;
	background: rgba(255,255,255,0.82);
	color: #111;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.pb-piece-grid-empty {
	width: 100%;
	min-height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: 1px solid rgba(0,0,0,0.12);
	background: #fff;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #777;
}

.pb-piece-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 28px;
}

.pb-piece-modal.is-open {
	display: flex;
}

.pb-piece-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.58);
}

.pb-piece-modal-dialog {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(320px, 0.92fr) minmax(420px, 1.18fr);
	gap: 54px;
	width: min(1180px, calc(100vw - 56px));
	height: min(650px, calc(100vh - 56px));
	background: #fff;
	color: #111;
	padding: 34px 58px 34px 34px;
	box-shadow: 0 18px 70px rgba(0,0,0,0.28);
}

.pb-piece-modal-close {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 5;
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: #111;
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.pb-piece-modal-info {
	overflow-y: auto;
	padding: 0 20px 0 0;
	scrollbar-width: thin;
}

.pb-piece-modal-info h2 {
	margin: 0 0 20px;
	font-size: 25px;
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.pb-piece-meta p {
	margin: 0 0 11px;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.5;
}

.pb-piece-price {
	margin: 20px 0 24px;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.2;
}

.pb-piece-enquire {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(220px, 100%);
	height: 42px;
	margin: 0 0 22px;
	border: 1px solid rgba(0,0,0,0.18);
	background: transparent;
	color: #111;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 250ms ease, color 250ms ease;
}

.pb-piece-enquire:hover {
	background: #111;
	color: #fff;
}

.pb-piece-thumbs {
	display: grid;
	grid-template-columns: repeat(6, 52px);
	gap: 8px;
	margin: 0 0 26px;
}

.pb-piece-thumb {
	position: relative;
	display: block;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(0,0,0,0.08);
	background: #f6f6f6;
	cursor: pointer;
	overflow: hidden;
}

.pb-piece-thumb.is-active {
	border-color: #111;
}

.pb-piece-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pb-piece-thumb-video span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 9px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #111;
}

.pb-piece-description,
.pb-piece-additional {
	border-top: 1px solid rgba(0,0,0,0.1);
	padding-top: 20px;
	margin-top: 12px;
}

.pb-piece-description-content {
	max-height: 118px;
	overflow: hidden;
	transition: max-height 450ms ease;
}

.pb-piece-description.is-expanded .pb-piece-description-content {
	max-height: 800px;
}

.pb-piece-description p,
.pb-piece-additional p {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.62;
}

.pb-piece-readmore {
	display: inline-block;
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
}

.pb-piece-share {
	margin-top: 24px;
}

.pb-piece-share-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	min-width: 138px;
	height: 44px;
	padding: 0 18px;
	border: 1px solid rgba(0,0,0,0.18);
	background: transparent;
	color: #111;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
}

.pb-piece-share-options {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 14px;
}

.pb-piece-share-options a,
.pb-piece-share-options button {
	border: 0;
	background: transparent;
	padding: 0;
	color: #111;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

.pb-piece-modal-media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f7f7f7;
	overflow: hidden;
}

.pb-piece-modal-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pb-piece-modal-media iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.pb-piece-video-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #111;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.pb-piece-modal-open {
	overflow: hidden !important;
}

@media (max-width: 1024px) {
	.pb-piece-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px;
	}

	.pb-piece-modal-dialog {
		grid-template-columns: 1fr;
		overflow-y: auto;
		height: min(780px, calc(100vh - 40px));
		padding: 28px;
		gap: 28px;
	}

	.pb-piece-modal-info {
		order: 2;
		overflow: visible;
		padding-right: 0;
	}

	.pb-piece-modal-media {
		order: 1;
		min-height: 360px;
	}
}

@media (max-width: 767px) {
	.pb-piece-grid-section {
		padding: 24px 18px 46px;
	}

	.pb-piece-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.pb-piece-modal {
		padding: 14px;
	}

	.pb-piece-modal-dialog {
		width: calc(100vw - 28px);
		height: calc(100vh - 28px);
		padding: 24px 20px;
	}

	.pb-piece-modal-close {
		top: 14px;
		right: 14px;
	}

	.pb-piece-modal-info h2 {
		font-size: 21px;
		padding-right: 34px;
	}

	.pb-piece-modal-media {
		min-height: 300px;
	}

	.pb-piece-thumbs {
		grid-template-columns: repeat(5, 48px);
	}

	.pb-piece-thumb {
		width: 48px;
		height: 48px;
	}
}

/* v0.3 refinements: product card hover details and modal layout */
.pb-piece-card-content {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 28px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	color: #fff;
	text-align: left;
	transition: transform 700ms ease;
	pointer-events: none;
}

.pb-piece-card .pb-piece-card-title {
	position: static;
	left: auto;
	right: auto;
	bottom: auto;
	z-index: auto;
	display: block;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-shadow: 0 1px 14px rgba(0,0,0,0.35);
	text-align: left;
	transition: letter-spacing 700ms ease;
}

.pb-piece-card-dimensions {
	display: block;
	width: 100%;
	max-height: 0;
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(18px);
	color: #fff;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.45;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: left;
	white-space: pre-line;
	transition: max-height 750ms ease, opacity 550ms ease, transform 750ms ease, margin-top 750ms ease, padding-top 750ms ease;
}

.pb-piece-card:hover .pb-piece-card-content {
	transform: translateY(-4px);
}

.pb-piece-card:hover .pb-piece-card-dimensions {
	max-height: 150px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.36);
	opacity: 1;
	transform: translateY(0);
}

.pb-piece-card:hover .pb-piece-card-title {
	letter-spacing: 0.045em;
}

.pb-piece-modal {
	z-index: 2147483000 !important;
	padding: 5vh 5vw !important;
}

.pb-piece-modal-backdrop {
	z-index: 1 !important;
	background: rgba(0,0,0,0.58) !important;
}

.pb-piece-modal-dialog {
	z-index: 2 !important;
	width: 90vw !important;
	height: 90vh !important;
	max-width: 1500px !important;
	max-height: 90vh !important;
	grid-template-columns: minmax(340px, 0.82fr) minmax(520px, 1.18fr) !important;
	gap: 58px !important;
	padding: 34px 70px 34px 34px !important;
	margin: auto !important;
}

.pb-piece-modal-info,
.pb-piece-modal-info *,
.pb-piece-meta,
.pb-piece-meta *,
.pb-piece-description,
.pb-piece-description *,
.pb-piece-additional,
.pb-piece-additional * {
	text-align: left !important;
}

.pb-piece-modal-info {
	padding: 0 26px 0 0 !important;
}

.pb-piece-modal-info h2 {
	font-weight: 400 !important;
	font-size: 24px !important;
	line-height: 1.28 !important;
	letter-spacing: 0.02em !important;
	text-align: left !important;
}

.pb-piece-meta p,
.pb-piece-description p,
.pb-piece-additional p {
	text-align: left !important;
}

.pb-piece-price {
	text-align: left !important;
}

.pb-piece-enquire {
	justify-content: center !important;
}

.pb-piece-modal-media-wrap {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
}

.pb-piece-modal-controls {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 5;
	display: flex;
	gap: 4px;
}

.pb-piece-media-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 0;
	background: rgba(0,0,0,0.34);
	color: #fff;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	transition: background 250ms ease;
}

.pb-piece-media-control:hover {
	background: rgba(0,0,0,0.62);
}

.pb-piece-modal-media {
	width: 100%;
	height: 100%;
	min-height: 0;
}

.pb-piece-modal-media img {
	transition: transform 350ms ease;
	transform-origin: center center;
}

.pb-piece-modal-media-wrap.is-zoomed .pb-piece-modal-media {
	overflow: auto;
	cursor: zoom-out;
}

.pb-piece-modal-media-wrap.is-zoomed .pb-piece-modal-media img {
	width: auto;
	height: auto;
	max-width: none;
	max-height: none;
	min-width: 100%;
	min-height: 100%;
	transform: scale(1.35);
}

.pb-piece-modal-media:fullscreen {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.pb-piece-modal-media:fullscreen img,
.pb-piece-modal-media:-webkit-full-screen img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.pb-piece-modal {
		padding: 20px !important;
	}

	.pb-piece-modal-dialog {
		width: calc(100vw - 40px) !important;
		height: calc(100vh - 40px) !important;
		max-height: calc(100vh - 40px) !important;
		grid-template-columns: 1fr !important;
		overflow-y: auto !important;
		padding: 28px !important;
		gap: 28px !important;
	}

	.pb-piece-modal-media-wrap {
		order: 1;
		height: 48vh;
		min-height: 340px;
	}

	.pb-piece-modal-info {
		order: 2;
		overflow: visible !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 767px) {
	.pb-piece-card-content {
		left: 24px;
		right: 24px;
		bottom: 24px;
	}

	.pb-piece-card-dimensions {
		max-height: 140px;
		margin-top: 14px;
		padding-top: 14px;
		border-top: 1px solid rgba(255,255,255,0.36);
		opacity: 1;
		transform: none;
	}

	.pb-piece-modal {
		padding: 14px !important;
	}

	.pb-piece-modal-dialog {
		width: calc(100vw - 28px) !important;
		height: calc(100vh - 28px) !important;
		max-height: calc(100vh - 28px) !important;
		padding: 24px 20px !important;
	}

	.pb-piece-modal-info h2 {
		font-size: 21px !important;
		padding-right: 34px !important;
	}

	.pb-piece-modal-media-wrap {
		height: 42vh;
		min-height: 300px;
	}
}

/* v0.4 refinements: larger modal, enquiry form, share menu, fullscreen icon */
.pb-piece-modal {
	z-index: 2147483646 !important;
	padding: 2vh 2vw !important;
}

.pb-piece-modal.is-open {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.pb-piece-modal-backdrop {
	z-index: 2147483644 !important;
	background: rgba(0, 0, 0, 0.58) !important;
}

.pb-piece-modal-dialog {
	z-index: 2147483645 !important;
	width: 96vw !important;
	height: 96vh !important;
	max-width: none !important;
	max-height: 96vh !important;
	grid-template-columns: minmax(360px, 0.82fr) minmax(520px, 1.18fr) !important;
	gap: 58px !important;
	padding: 34px 74px 34px 34px !important;
	margin: auto !important;
	background: #ffffff !important;
}

.pb-piece-modal-info,
.pb-piece-modal-info *,
.pb-piece-modal-info h2,
.pb-piece-meta,
.pb-piece-meta *,
.pb-piece-description,
.pb-piece-description *,
.pb-piece-additional,
.pb-piece-additional *,
.pb-piece-price {
	color: #444444 !important;
	font-weight: 400 !important;
	text-align: left !important;
}

.pb-piece-modal-info h2 {
	font-weight: 400 !important;
	font-size: 24px !important;
	line-height: 1.28 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

.pb-piece-modal-info p,
.pb-piece-meta p,
.pb-piece-description p,
.pb-piece-additional p {
	font-weight: 400 !important;
	color: #444444 !important;
}

.pb-piece-enquire {
	appearance: none !important;
	-webkit-appearance: none !important;
	border-radius: 0 !important;
	font-weight: 400 !important;
	color: #444444 !important;
	background: transparent !important;
}

.pb-piece-enquire:hover {
	background: #111111 !important;
	color: #ffffff !important;
}

.pb-piece-modal-media,
.pb-piece-modal-media:fullscreen,
.pb-piece-modal-media:-webkit-full-screen,
.pb-piece-modal-media img:fullscreen,
.pb-piece-modal-media img:-webkit-full-screen {
	background: #ffffff !important;
}

.pb-piece-media-control-fullscreen svg {
	display: block !important;
	width: 15px !important;
	height: 15px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.7 !important;
	stroke-linecap: square !important;
	stroke-linejoin: miter !important;
}

.pb-piece-modal-media img:fullscreen,
.pb-piece-modal-media img:-webkit-full-screen {
	width: 100vw !important;
	height: 100vh !important;
	object-fit: contain !important;
	padding: 24px !important;
}

/* Share button expanded menu */
.pb-piece-share {
	width: 168px !important;
	margin-top: 26px !important;
	border: 1px solid rgba(0, 0, 0, 0.22) !important;
	background: #ffffff !important;
}

.pb-piece-share-toggle {
	width: 100% !important;
	min-width: 0 !important;
	height: 48px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	color: #444444 !important;
	font-weight: 400 !important;
	letter-spacing: 0.16em !important;
	justify-content: space-between !important;
}

.pb-piece-share-options:not([hidden]) {
	display: block !important;
}

.pb-piece-share-options {
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid rgba(0, 0, 0, 0.22) !important;
}

.pb-piece-share-options a,
.pb-piece-share-options button {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 16px !important;
	width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.22) !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	color: #444444 !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.17em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.pb-piece-share-options a:last-child,
.pb-piece-share-options button:last-child {
	border-bottom: 0 !important;
}

.pb-piece-share-options a:hover,
.pb-piece-share-options button:hover {
	background: #f5f3ee !important;
	color: #111111 !important;
}

.pb-piece-share-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 16px !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* Enquiry popup */
.pb-piece-enquiry-layer {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 28px !important;
}

.pb-piece-enquiry-layer.is-open {
	display: flex !important;
}

.pb-piece-enquiry-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.5) !important;
}

.pb-piece-enquiry-dialog {
	position: relative !important;
	z-index: 2 !important;
	width: min(620px, calc(100vw - 56px)) !important;
	max-height: calc(100vh - 56px) !important;
	overflow-y: auto !important;
	background: #ffffff !important;
	color: #444444 !important;
	padding: 34px 36px 34px !important;
	box-shadow: 0 18px 70px rgba(0, 0, 0, 0.32) !important;
}

.pb-piece-enquiry-close {
	position: absolute !important;
	top: 24px !important;
	right: 26px !important;
	width: 28px !important;
	height: 28px !important;
	border: 0 !important;
	background: transparent !important;
	color: #444444 !important;
	font-size: 30px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.pb-piece-enquiry-dialog h3 {
	margin: 0 42px 26px 0 !important;
	padding: 0 !important;
	color: #111111 !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}

.pb-piece-enquiry-summary {
	display: grid !important;
	grid-template-columns: 96px 1fr !important;
	gap: 18px !important;
	align-items: center !important;
	margin: 0 0 24px !important;
	padding: 14px !important;
	border: 1px solid rgba(0, 0, 0, 0.14) !important;
	background: #ffffff !important;
}

.pb-piece-enquiry-summary img {
	display: block !important;
	width: 96px !important;
	height: 78px !important;
	object-fit: contain !important;
	background: #f8f8f8 !important;
}

.pb-piece-enquiry-summary strong {
	display: block !important;
	margin: 0 0 6px !important;
	color: #111111 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}

.pb-piece-enquiry-summary span {
	display: block !important;
	color: #444444 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

.pb-piece-enquiry-form label {
	display: grid !important;
	grid-template-columns: 96px 1fr !important;
	gap: 18px !important;
	align-items: start !important;
	margin: 0 0 14px !important;
	color: #111111 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}

.pb-piece-enquiry-form label > span {
	padding-top: 12px !important;
}

.pb-piece-enquiry-form input,
.pb-piece-enquiry-form textarea {
	width: 100% !important;
	border: 1px solid rgba(0, 0, 0, 0.22) !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	color: #444444 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	outline: none !important;
}

.pb-piece-enquiry-form input {
	height: 46px !important;
	padding: 0 12px !important;
}

.pb-piece-enquiry-form textarea {
	min-height: 132px !important;
	padding: 10px 12px !important;
	resize: vertical !important;
}

.pb-piece-enquiry-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 48px !important;
	margin: 0 0 20px 114px !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #111111 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
}

.pb-piece-enquiry-note {
	margin-left: 114px !important;
	padding-top: 18px !important;
	border-top: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.pb-piece-enquiry-note p {
	margin: 0 0 8px !important;
	color: #666666 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

body.pb-piece-enquiry-open {
	overflow: hidden !important;
}

@media (max-width: 1024px) {
	.pb-piece-modal-dialog {
		width: 96vw !important;
		height: 96vh !important;
		max-height: 96vh !important;
	}
}

@media (max-width: 767px) {
	.pb-piece-modal {
		padding: 2vh 2vw !important;
	}

	.pb-piece-modal-dialog {
		width: 96vw !important;
		height: 96vh !important;
		max-height: 96vh !important;
		padding: 24px 20px !important;
	}

	.pb-piece-enquiry-dialog {
		width: calc(100vw - 28px) !important;
		max-height: calc(100vh - 28px) !important;
		padding: 28px 22px !important;
	}

	.pb-piece-enquiry-dialog h3 {
		font-size: 22px !important;
	}

	.pb-piece-enquiry-summary {
		grid-template-columns: 78px 1fr !important;
		gap: 14px !important;
	}

	.pb-piece-enquiry-summary img {
		width: 78px !important;
		height: 66px !important;
	}

	.pb-piece-enquiry-form label {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}

	.pb-piece-enquiry-form label > span {
		padding-top: 0 !important;
	}

	.pb-piece-enquiry-submit,
	.pb-piece-enquiry-note {
		margin-left: 0 !important;
	}
}

/* v0.5 gallery, video, and direct piece URL refinements */
.pb-piece-modal {
	z-index: 2147483647 !important;
}

.pb-piece-modal-dialog {
	width: 96vw !important;
	height: 96vh !important;
	max-width: 96vw !important;
	max-height: 96vh !important;
}

.pb-piece-modal-info,
.pb-piece-modal-info *,
.pb-piece-modal-info h2,
.pb-piece-meta,
.pb-piece-meta *,
.pb-piece-description,
.pb-piece-description *,
.pb-piece-additional,
.pb-piece-additional *,
.pb-piece-price {
	font-weight: 400 !important;
	color: #444444 !important;
	text-align: left !important;
}

.pb-piece-modal-info h2 {
	font-weight: 400 !important;
}

.pb-piece-modal-media,
.pb-piece-modal-media:fullscreen,
.pb-piece-modal-media:-webkit-full-screen {
	background: #ffffff !important;
}

.pb-piece-thumbs {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 9px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
}

.pb-piece-thumb {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	min-height: 66px !important;
}

.pb-piece-thumb img,
.pb-piece-thumb video {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.pb-piece-thumb-video {
	background: #e8e8e8 !important;
}

.pb-piece-thumb-video span {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	background: rgba(0, 0, 0, 0.48) !important;
	color: transparent !important;
	font-size: 0 !important;
	transform: translate(-50%, -50%) !important;
}

.pb-piece-thumb-video span::before {
	content: '' !important;
	display: block !important;
	width: 0 !important;
	height: 0 !important;
	margin-left: 2px !important;
	border-top: 6px solid transparent !important;
	border-bottom: 6px solid transparent !important;
	border-left: 9px solid #ffffff !important;
}

.pb-piece-main-video,
.pb-piece-modal-media video {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	background: #ffffff !important;
}

.pb-piece-modal-media:fullscreen,
.pb-piece-modal-media:-webkit-full-screen {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100vw !important;
	height: 100vh !important;
	padding: 24px !important;
	background: #ffffff !important;
}

.pb-piece-modal-media:fullscreen img,
.pb-piece-modal-media:-webkit-full-screen img,
.pb-piece-modal-media:fullscreen video,
.pb-piece-modal-media:-webkit-full-screen video {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	background: #ffffff !important;
}

/* Direct piece permalink should use the same editorial product display, not the default blog layout */
.pb-piece-single-page {
	width: 100% !important;
	margin: 0 !important;
	padding: 34px 0 64px !important;
	background: var(--pb-offwhite, #f5f3ee) !important;
}

.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode {
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;
	display: flex !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
}

.pb-piece-single-page .pb-piece-modal-dialog {
	position: relative !important;
	z-index: 1 !important;
	width: 96vw !important;
	height: 86vh !important;
	max-width: 96vw !important;
	max-height: 86vh !important;
	margin: 0 auto !important;
	box-shadow: none !important;
}

.pb-piece-single-page .pb-piece-modal-backdrop,
.pb-piece-single-page .pb-piece-modal-close {
	display: none !important;
}

.pb-piece-media-control-fullscreen svg {
	display: block !important;
	width: 16px !important;
	height: 16px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.5 !important;
	stroke-linecap: square !important;
	stroke-linejoin: miter !important;
}

@media (max-width: 900px) {
	.pb-piece-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.pb-piece-thumb {
		min-height: 64px !important;
	}

	.pb-piece-single-page .pb-piece-modal-dialog {
		height: auto !important;
		max-height: none !important;
	}
}

/* v0.7: Direct product permalinks should open in the same modal-style presentation */
.pb-piece-single-page {
	width: 100% !important;
	min-height: 72vh !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100vw !important;
	height: 100vh !important;
	min-height: 100vh !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-backdrop {
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background: rgba(0, 0, 0, 0.62) !important;
}

.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-dialog {
	position: relative !important;
	z-index: 2 !important;
	width: 96vw !important;
	height: 96vh !important;
	max-width: 96vw !important;
	max-height: 96vh !important;
	margin: 0 auto !important;
	box-shadow: 0 20px 80px rgba(0, 0, 0, 0.24) !important;
}

.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-close {
	display: inline-flex !important;
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	z-index: 12 !important;
}

@media (max-width: 900px) {
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-dialog {
		width: calc(100vw - 24px) !important;
		height: calc(100vh - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100vh - 24px) !important;
	}
}

/* v0.8 enquiry success confirmation */
.pb-piece-enquiry-success-layer {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 28px !important;
}

.pb-piece-enquiry-success-layer.is-open {
	display: flex !important;
}

.pb-piece-enquiry-success-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.5) !important;
}

.pb-piece-enquiry-success-dialog {
	position: relative !important;
	z-index: 2 !important;
	width: min(520px, calc(100vw - 56px)) !important;
	background: #ffffff !important;
	color: #444444 !important;
	padding: 44px 42px 40px !important;
	box-shadow: 0 18px 70px rgba(0, 0, 0, 0.32) !important;
	text-align: center !important;
}

.pb-piece-enquiry-success-close {
	position: absolute !important;
	top: 18px !important;
	right: 20px !important;
	width: 28px !important;
	height: 28px !important;
	border: 0 !important;
	background: transparent !important;
	color: #444444 !important;
	font-size: 30px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.pb-piece-enquiry-success-kicker {
	margin: 0 0 16px !important;
	color: #777777 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}

.pb-piece-enquiry-success-dialog h3 {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #111111 !important;
	font-size: 30px !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.pb-piece-enquiry-success-dialog p {
	max-width: 360px !important;
	margin: 0 auto 28px !important;
	color: #444444 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
}

.pb-piece-enquiry-success-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 48px !important;
	padding: 0 30px !important;
	border: 1px solid rgba(0, 0, 0, 0.18) !important;
	border-radius: 0 !important;
	background: #111111 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
}

.pb-piece-enquiry-submit:disabled {
	opacity: 0.55 !important;
	cursor: wait !important;
}

@media (max-width: 767px) {
	.pb-piece-enquiry-success-dialog {
		padding: 38px 26px 32px !important;
	}

	.pb-piece-enquiry-success-dialog h3 {
		font-size: 24px !important;
	}
}

/* v1.2: category/product grid heading */
.pb-piece-grid-heading {
	width: 100% !important;
	max-width: 1500px !important;
	margin: 0 auto 38px !important;
	padding: 0 !important;
	text-align: left !important;
}

.pb-piece-grid-back {
	display: inline-block !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #666666 !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.pb-piece-grid-back:hover {
	color: #d8af44 !important;
}

.pb-piece-grid-heading h1 {
	margin: 0 !important;
	padding: 0 !important;
	color: #171717 !important;
	font-size: 40px !important;
	font-weight: 300 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

/* v1.2: stronger mobile modal reset to prevent horizontal/off-canvas layout */
@media (max-width: 767px) {
	html,
	body {
		overflow-x: hidden !important;
	}

	.pb-piece-modal,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode {
		position: fixed !important;
		inset: 0 !important;
		display: none !important;
		align-items: flex-start !important;
		justify-content: center !important;
		width: 100vw !important;
		height: 100vh !important;
		min-height: 100vh !important;
		padding: 12px !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}

	.pb-piece-modal.is-open,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode.is-open {
		display: flex !important;
	}

	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode {
		display: flex !important;
	}

	.pb-piece-modal-dialog,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-dialog {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 auto !important;
		padding: 52px 16px 26px !important;
		gap: 24px !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	.pb-piece-modal-close,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-close {
		top: 14px !important;
		right: 14px !important;
		z-index: 50 !important;
	}

	.pb-piece-modal-media-wrap,
	.pb-piece-modal-info {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.pb-piece-modal-media-wrap {
		order: 1 !important;
	}

	.pb-piece-modal-info {
		order: 2 !important;
		overflow: visible !important;
		max-height: none !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.pb-piece-modal-media {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		background: #ffffff !important;
	}

	.pb-piece-modal-media img,
	.pb-piece-modal-media video,
	.pb-piece-modal-media iframe {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		object-fit: contain !important;
	}

	.pb-piece-modal-controls {
		top: 8px !important;
		left: 8px !important;
		z-index: 20 !important;
	}

	.pb-piece-modal-info h2 {
		padding-right: 0 !important;
		font-size: 22px !important;
		line-height: 1.25 !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	.pb-piece-thumbs {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.pb-piece-thumb {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		min-height: 0 !important;
	}

	.pb-piece-enquire,
	.pb-piece-share-toggle {
		width: 100% !important;
		max-width: 100% !important;
	}

	.pb-piece-grid-heading {
		margin-bottom: 28px !important;
	}

	.pb-piece-grid-heading h1 {
		font-size: 34px !important;
		letter-spacing: 0.1em !important;
	}
}

/* v1.3: mobile product layout and category heading font refinements */
.pb-piece-mobile-main-media {
	display: none !important;
}

.pb-piece-grid-heading h1,
.pb-piece-grid-heading .pb-piece-grid-title {
	font-family: var(--pb-font, 'Otto', 'Source Sans 3', sans-serif) !important;
}

@media (max-width: 767px) {
	.pb-piece-modal,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode {
		align-items: flex-start !important;
		padding: 10px !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}

	.pb-piece-modal-dialog,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-dialog {
		display: block !important;
		width: calc(100vw - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 auto 18px !important;
		padding: 58px 18px 28px !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	.pb-piece-modal-info {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	.pb-piece-modal-info h2 {
		margin-top: 0 !important;
		padding-right: 38px !important;
		font-size: 21px !important;
		line-height: 1.25 !important;
		letter-spacing: 0.04em !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	.pb-piece-modal-media-wrap {
		display: none !important;
	}

	.pb-piece-mobile-main-media {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		aspect-ratio: 1 / 1 !important;
		margin: 0 0 14px !important;
		padding: 0 !important;
		background: #ffffff !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.pb-piece-mobile-main-media img,
	.pb-piece-mobile-main-media video,
	.pb-piece-mobile-main-media iframe {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		object-fit: contain !important;
		background: #ffffff !important;
		border: 0 !important;
	}

	.pb-piece-thumbs {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
		margin-top: 0 !important;
		margin-bottom: 24px !important;
	}

	.pb-piece-enquire {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 16px !important;
	}

	.pb-piece-share {
		width: 100% !important;
	}

	.pb-piece-modal-close,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-close {
		top: 16px !important;
		right: 16px !important;
	}

	.pb-piece-grid-heading h1,
	.pb-piece-grid-heading .pb-piece-grid-title {
		font-family: var(--pb-font, 'Otto', 'Source Sans 3', sans-serif) !important;
		font-weight: 300 !important;
	}
}

/* v1.4: mobile modal open-state correction
   Forces newly opened product modals to start at the top and keeps the modal content
   inside the popup instead of allowing the page behind to peek through. */
@media (max-width: 767px) {
	body.pb-piece-modal-open {
		overflow: hidden !important;
	}

	.pb-piece-modal,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		padding: 10px !important;
		overflow: hidden !important;
		align-items: flex-start !important;
		justify-content: center !important;
		background: transparent !important;
		box-sizing: border-box !important;
	}

	.pb-piece-modal-backdrop {
		position: fixed !important;
		inset: 0 !important;
	}

	.pb-piece-modal-dialog,
	.pb-piece-single-page .pb-piece-modal.pb-piece-single-mode .pb-piece-modal-dialog {
		display: block !important;
		width: calc(100vw - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		min-width: 0 !important;
		height: calc(100vh - 20px) !important;
		height: calc(100dvh - 20px) !important;
		max-height: calc(100vh - 20px) !important;
		max-height: calc(100dvh - 20px) !important;
		min-height: 0 !important;
		margin: 0 auto !important;
		padding: 58px 18px 30px !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		box-sizing: border-box !important;
	}

	.pb-piece-modal-info {
		overflow: visible !important;
		max-height: none !important;
	}

	.pb-piece-modal-info h2 {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.pb-piece-mobile-main-media {
		margin-top: 0 !important;
	}
}

/* v1.7 Tearsheets */
.pb-piece-primary-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	max-width: 460px;
	margin: 0 0 22px;
}

.pb-piece-primary-actions .pb-piece-enquire,
.pb-piece-primary-actions .pb-piece-tearsheet {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 42px !important;
	margin: 0 !important;
	border: 1px solid rgba(0,0,0,0.18) !important;
	background: transparent !important;
	color: #444444 !important;
	font-family: inherit !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background 250ms ease, color 250ms ease, border-color 250ms ease !important;
}

.pb-piece-primary-actions .pb-piece-enquire:hover,
.pb-piece-primary-actions .pb-piece-tearsheet:hover {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.pb-piece-primary-actions {
		grid-template-columns: 1fr;
		gap: 10px;
		max-width: none;
	}
}

/* v1.8 category card zoom and title extra refinements */
.pb-piece-card img {
	transform: scale(1) !important;
	transform-origin: center center !important;
	transition: transform 1100ms cubic-bezier(.22,.61,.36,1), filter 1100ms cubic-bezier(.22,.61,.36,1) !important;
	will-change: transform, filter !important;
}

.pb-piece-card:hover img,
.pb-piece-card:focus img,
.pb-piece-card:focus-visible img {
	transform: scale(1.13) !important;
	filter: brightness(0.78) !important;
}

.pb-piece-card-title-extra {
	display: block !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 300 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.045em !important;
	text-shadow: 0 1px 14px rgba(0,0,0,0.35) !important;
	text-align: left !important;
}

.pb-piece-title-extra {
	margin: -10px 0 20px !important;
	padding: 0 !important;
	color: #444444 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase !important;
	text-align: left !important;
}

.pb-piece-card:hover .pb-piece-card-content,
.pb-piece-card:focus .pb-piece-card-content,
.pb-piece-card:focus-visible .pb-piece-card-content {
	transform: translateY(-4px) !important;
}

.pb-piece-card:hover .pb-piece-card-dimensions,
.pb-piece-card:focus .pb-piece-card-dimensions,
.pb-piece-card:focus-visible .pb-piece-card-dimensions {
	max-height: 150px !important;
	margin-top: 18px !important;
	padding-top: 16px !important;
	border-top: 1px solid rgba(255,255,255,0.36) !important;
	opacity: 1 !important;
	transform: translateY(0) !important;
}

@media (max-width: 767px) {
	.pb-piece-card img {
		transition: transform 1100ms cubic-bezier(.22,.61,.36,1), filter 1100ms cubic-bezier(.22,.61,.36,1) !important;
	}

	.pb-piece-card:hover img,
	.pb-piece-card:focus img,
	.pb-piece-card:focus-visible img {
		transform: scale(1.13) !important;
		filter: brightness(0.78) !important;
	}

	.pb-piece-card-dimensions {
		max-height: 0 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		border-top: 0 !important;
		overflow: hidden !important;
		opacity: 0 !important;
		transform: translateY(18px) !important;
		transition: max-height 750ms ease, opacity 550ms ease, transform 750ms ease, margin-top 750ms ease, padding-top 750ms ease !important;
	}

	.pb-piece-card:hover .pb-piece-card-dimensions,
	.pb-piece-card:focus .pb-piece-card-dimensions,
	.pb-piece-card:focus-visible .pb-piece-card-dimensions {
		max-height: 150px !important;
		margin-top: 16px !important;
		padding-top: 14px !important;
		border-top: 1px solid rgba(255,255,255,0.36) !important;
		opacity: 1 !important;
		transform: translateY(0) !important;
	}

	.pb-piece-card-title-extra {
		font-size: 12px !important;
		line-height: 1.35 !important;
	}
}

/* v1.9 category card zoom timing refinement
   Matches the reference behavior more closely: linear motion, no ease-out snap. */
.pb-piece-card img {
	transform: scale(1) !important;
	transform-origin: center center !important;
	transition:
		transform 2600ms linear,
		filter 2600ms linear !important;
	will-change: transform, filter !important;
}

.pb-piece-card:hover img,
.pb-piece-card:focus img,
.pb-piece-card:focus-visible img {
	transform: scale(1.13) !important;
	filter: brightness(0.78) !important;
}

@media (max-width: 767px) {
	.pb-piece-card img {
		transition:
			transform 2600ms linear,
			filter 2600ms linear !important;
	}
}


/* v2.0 Collection landing mobile tap-to-open support
   Enables the existing Collection landing tiles to animate reliably on touch devices. */
@media (max-width: 767px) {
	body .pb-collection-card-content {
		left: 24px !important;
		right: 24px !important;
		bottom: 42px !important;
		transform: none !important;
		transition: transform 700ms ease !important;
	}

	body .pb-collection-card-title,
	body .pb-collection-card:hover .pb-collection-card-title {
		position: static !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		font-size: 25px !important;
		letter-spacing: 0.16em !important;
		transform: none !important;
	}

	body .pb-collection-card-nav,
	body .pb-collection-card:hover .pb-collection-card-nav {
		position: static !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		width: 100% !important;
		max-height: 0 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		border-top: 0 !important;
		overflow: hidden !important;
		opacity: 0 !important;
		transform: translateY(18px) !important;
		pointer-events: none !important;
		transition:
			max-height 750ms ease,
			opacity 550ms ease,
			transform 750ms ease,
			margin-top 750ms ease,
			padding-top 750ms ease !important;
	}

	body .pb-collection-card.is-touch-open .pb-collection-card-content {
		transform: translateY(-4px) !important;
	}

	body .pb-collection-card.is-touch-open .pb-collection-card-nav {
		max-height: 280px !important;
		margin-top: 18px !important;
		padding-top: 16px !important;
		border-top: 1px solid rgba(255, 255, 255, 0.36) !important;
		opacity: 1 !important;
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}

	body .pb-collection-card.is-touch-open .pb-collection-card-nav a,
	body .pb-collection-card.is-touch-open .pb-collection-card-nav span {
		pointer-events: auto !important;
	}

	body .pb-collection-card {
		cursor: pointer !important;
	}
}

/* v2.1 Product modal editorial order / Batch 1 updates */
.pb-piece-modal-dialog {
	position: relative !important;
}

.pb-piece-stock-no {
	position: absolute !important;
	top: 58px !important;
	right: 78px !important;
	z-index: 7 !important;
	color: #8a8a8a !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.08em !important;
	text-transform: none !important;
	white-space: nowrap !important;
}

.pb-piece-modal-info h2 {
	margin: 0 0 8px !important;
	color: #171717 !important;
	font-size: 25px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-align: left !important;
}

.pb-piece-title-extra {
	margin: 0 0 24px !important;
	padding: 0 !important;
	color: #8a8a8a !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-align: left !important;
}

.pb-piece-meta p,
.pb-piece-price,
.pb-piece-description p,
.pb-piece-additional p,
.pb-piece-additional li {
	color: #444444 !important;
	font-weight: 400 !important;
	text-align: left !important;
}

.pb-piece-price {
	margin: 20px 0 24px !important;
	font-size: 20px !important;
	line-height: 1.2 !important;
	letter-spacing: 0.08em !important;
}

.pb-piece-thumbs {
	margin-bottom: 28px !important;
}

.pb-piece-description,
.pb-piece-additional {
	border-top: 1px solid rgba(0,0,0,0.12) !important;
	padding-top: 22px !important;
	margin-top: 22px !important;
}

.pb-piece-section-label {
	margin: 0 0 14px !important;
	color: #444444 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	text-align: left !important;
}

.pb-piece-description a,
.pb-piece-additional a {
	color: #444444 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

.pb-piece-description em,
.pb-piece-additional em,
.pb-piece-description i,
.pb-piece-additional i {
	font-style: italic !important;
}

.pb-piece-lower-actions {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 460px !important;
	margin: 28px 0 0 !important;
	align-items: start !important;
}

.pb-piece-lower-actions .pb-piece-enquire,
.pb-piece-lower-actions .pb-piece-share-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 44px !important;
	margin: 0 !important;
	font-family: inherit !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
}

.pb-piece-lower-actions .pb-piece-enquire {
	border: 1px solid #333333 !important;
	background: #333333 !important;
	color: #ffffff !important;
}

.pb-piece-lower-actions .pb-piece-enquire:hover {
	background: #171717 !important;
	border-color: #171717 !important;
	color: #ffffff !important;
}

.pb-piece-lower-actions .pb-piece-share {
	position: relative !important;
	margin: 0 !important;
	width: 100% !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle {
	justify-content: space-between !important;
	gap: 20px !important;
	padding: 0 18px !important;
	border: 1px solid rgba(0,0,0,0.18) !important;
	background: transparent !important;
	color: #444444 !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle:hover {
	border-color: #333333 !important;
	color: #171717 !important;
}

.pb-piece-lower-actions .pb-piece-share-options {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid rgba(0,0,0,0.18) !important;
	border-top: 0 !important;
	background: #ffffff !important;
}

.pb-piece-lower-actions .pb-piece-share-options[hidden] {
	display: none !important;
}

.pb-piece-lower-actions .pb-piece-share-options a,
.pb-piece-lower-actions .pb-piece-share-options button {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	min-height: 42px !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-top: 1px solid rgba(0,0,0,0.12) !important;
	background: transparent !important;
	color: #444444 !important;
	font-family: inherit !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	text-align: left !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.pb-piece-lower-actions .pb-piece-share-options a:first-child,
.pb-piece-lower-actions .pb-piece-share-options button:first-child {
	border-top: 0 !important;
}

.pb-piece-lower-actions .pb-piece-share-options a:hover,
.pb-piece-lower-actions .pb-piece-share-options button:hover {
	background: #f5f3ee !important;
	color: #171717 !important;
}

.pb-piece-lower-actions .pb-piece-share-icon {
	min-width: 18px !important;
	font-size: 10px !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

@media (max-width: 767px) {
	.pb-piece-stock-no {
		position: static !important;
		margin: 0 0 18px !important;
		text-align: left !important;
		white-space: normal !important;
	}

	.pb-piece-modal-info h2 {
		font-size: 22px !important;
	}

	.pb-piece-title-extra {
		font-size: 16px !important;
		margin-bottom: 20px !important;
	}

	.pb-piece-lower-actions {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		max-width: none !important;
	}
}

/* v2.2 Product modal image navigation / viewer controls */
.pb-piece-modal-close {
	width: 40px !important;
	height: 40px !important;
	top: 18px !important;
	right: 18px !important;
	font-size: 42px !important;
	font-weight: 300 !important;
	line-height: 0.8 !important;
	color: #171717 !important;
	z-index: 30 !important;
}

.pb-piece-modal-product-nav {
	position: absolute !important;
	top: 50% !important;
	z-index: 26 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 64px !important;
	margin-top: -32px !important;
	border: 0 !important;
	background: rgba(255,255,255,0.76) !important;
	color: #171717 !important;
	font-size: 46px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: background 220ms ease, color 220ms ease, opacity 220ms ease !important;
}

.pb-piece-modal-product-nav:hover {
	background: #171717 !important;
	color: #ffffff !important;
}

.pb-piece-modal-product-nav[disabled] {
	display: none !important;
}

.pb-piece-modal-product-prev {
	left: 16px !important;
}

.pb-piece-modal-product-next {
	right: 16px !important;
}

.pb-piece-modal-media,
.pb-piece-mobile-main-media {
	cursor: pointer !important;
}

.pb-piece-media-control[data-pb-toggle-zoom] {
	font-size: 0 !important;
}

.pb-piece-media-control[data-pb-toggle-zoom]::before {
	content: '+' !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.pb-piece-image-viewer {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483647 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 54px 72px 62px !important;
	background: rgba(255,255,255,0.98) !important;
	color: #171717 !important;
	box-sizing: border-box !important;
}

.pb-piece-image-viewer.is-open {
	display: flex !important;
}

.pb-piece-image-viewer-media {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

.pb-piece-image-viewer-media img,
.pb-piece-image-viewer-media video,
.pb-piece-image-viewer-media iframe {
	display: block !important;
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	background: #ffffff !important;
	border: 0 !important;
}

.pb-piece-image-viewer-media iframe {
	width: min(1200px, 86vw) !important;
	height: min(675px, 62vw) !important;
}

.pb-piece-image-viewer-close {
	position: fixed !important;
	top: 20px !important;
	right: 26px !important;
	z-index: 5 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	border: 0 !important;
	background: transparent !important;
	color: #171717 !important;
	font-size: 42px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.pb-piece-image-viewer-arrow {
	position: fixed !important;
	top: 50% !important;
	z-index: 5 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 54px !important;
	height: 74px !important;
	margin-top: -37px !important;
	border: 0 !important;
	background: transparent !important;
	color: #171717 !important;
	font-size: 56px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: opacity 200ms ease !important;
}

.pb-piece-image-viewer-arrow:hover {
	opacity: .52 !important;
}

.pb-piece-image-viewer-prev {
	left: 20px !important;
}

.pb-piece-image-viewer-next {
	right: 20px !important;
}

.pb-piece-image-viewer-counter {
	position: fixed !important;
	left: 50% !important;
	bottom: 26px !important;
	z-index: 5 !important;
	transform: translateX(-50%) !important;
	color: #444444 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
}

body.pb-piece-viewer-open {
	overflow: hidden !important;
}

@media (max-width: 1024px) {
	.pb-piece-modal-product-nav {
		width: 42px !important;
		height: 58px !important;
		font-size: 42px !important;
	}

	.pb-piece-modal-product-prev {
		left: 10px !important;
	}

	.pb-piece-modal-product-next {
		right: 10px !important;
	}
}

@media (max-width: 767px) {
	.pb-piece-modal-close {
		top: 10px !important;
		right: 10px !important;
		width: 40px !important;
		height: 40px !important;
		font-size: 40px !important;
	}

	.pb-piece-modal-product-nav {
		top: 44vh !important;
		width: 38px !important;
		height: 54px !important;
		margin-top: -27px !important;
		background: rgba(255,255,255,0.82) !important;
		font-size: 38px !important;
	}

	.pb-piece-modal-product-prev {
		left: 4px !important;
	}

	.pb-piece-modal-product-next {
		right: 4px !important;
	}

	.pb-piece-modal-controls {
		display: none !important;
	}

	.pb-piece-image-viewer {
		padding: 50px 0 54px !important;
		background: #ffffff !important;
	}

	.pb-piece-image-viewer-media {
		width: 100vw !important;
		height: calc(100vh - 104px) !important;
		height: calc(100dvh - 104px) !important;
	}

	.pb-piece-image-viewer-media img,
	.pb-piece-image-viewer-media video,
	.pb-piece-image-viewer-media iframe {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
	}

	.pb-piece-image-viewer-close {
		top: 8px !important;
		right: 12px !important;
		width: 40px !important;
		height: 40px !important;
		font-size: 40px !important;
	}

	.pb-piece-image-viewer-arrow {
		width: 44px !important;
		height: 62px !important;
		font-size: 46px !important;
		background: rgba(255,255,255,0.72) !important;
	}

	.pb-piece-image-viewer-prev {
		left: 4px !important;
	}

	.pb-piece-image-viewer-next {
		right: 4px !important;
	}

	.pb-piece-image-viewer-counter {
		bottom: 22px !important;
		font-size: 11px !important;
	}
}

/* v2.3 Literature / Reference editorial formatting */
.pb-piece-description sup,
.pb-piece-additional sup,
.pb-tearsheet-copy sup {
  font-size: 0.68em !important;
  line-height: 0 !important;
  vertical-align: super !important;
}

.pb-piece-additional a,
.pb-piece-description a,
.pb-tearsheet-copy a {
  color: #444444 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.pb-piece-additional a:hover,
.pb-piece-description a:hover,
.pb-tearsheet-copy a:hover {
  color: #171717 !important;
}

.pb-piece-additional em,
.pb-piece-additional i,
.pb-piece-description em,
.pb-piece-description i,
.pb-tearsheet-copy em,
.pb-tearsheet-copy i {
  font-style: italic !important;
}

.pb-tearsheet-section-label {
  margin: 18px 0 8px !important;
  color: var(--pb-black) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

/* Contact page enquiry form */
.pb-contact-enquiry {
  width: min(760px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  color: #444444 !important;
  font-family: Otto, "Source Sans 3", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 300 !important;
}

.pb-contact-enquiry-header {
  margin: 0 0 34px !important;
  text-align: center !important;
}

.pb-contact-enquiry-header h1 {
  margin: 0 !important;
  color: #171717 !important;
  font-size: clamp(30px, 4.2vw, 48px) !important;
  line-height: 1.1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
}

.pb-contact-enquiry-success,
.pb-contact-enquiry-error {
  margin: 0 0 28px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  background: #ffffff !important;
  color: #444444 !important;
  text-align: center !important;
}

.pb-contact-enquiry-success-kicker {
  margin: 0 0 8px !important;
  color: #171717 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.pb-contact-enquiry-success p,
.pb-contact-enquiry-error {
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.pb-contact-enquiry-form {
  width: 100% !important;
}

.pb-contact-enquiry-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
}

.pb-contact-enquiry-form label {
  display: block !important;
  margin: 0 !important;
}

.pb-contact-enquiry-grid > label {
  width: 100% !important;
  max-width: none !important;
}

.pb-contact-enquiry-form label > span {
  display: block !important;
  margin: 0 0 8px !important;
  color: #444444 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.pb-contact-enquiry-form input,
.pb-contact-enquiry-form textarea {
  display: block !important;
  width: 100% !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #171717 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.45 !important;
  outline: none !important;
  box-shadow: none !important;
}

.pb-contact-enquiry-form input {
  height: 42px !important;
  padding: 0 12px !important;
}

.pb-contact-enquiry-form textarea {
  min-height: 164px !important;
  padding: 12px !important;
  resize: vertical !important;
}

.pb-contact-enquiry-form .pb-contact-enquiry-message {
  display: block !important;
  margin: 0 0 30px !important;
}

.pb-contact-enquiry-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 220px !important;
  max-width: 100% !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 1px solid #333333 !important;
  border-radius: 0 !important;
  background: #333333 !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 250ms ease, border-color 250ms ease, color 250ms ease !important;
}

.pb-contact-enquiry-submit:hover {
  background: #171717 !important;
  border-color: #171717 !important;
  color: #ffffff !important;
}

.pb-contact-enquiry-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

@media (max-width: 767px) {
  .pb-contact-enquiry {
    width: calc(100% - 34px) !important;
  }

  .pb-contact-enquiry-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .pb-contact-enquiry-submit {
    width: 100% !important;
  }
}

/* v2.9 Refined share icons and mobile swipe gallery */
.pb-piece-lower-actions .pb-piece-share-options a,
.pb-piece-lower-actions .pb-piece-share-options button {
	min-height: 56px !important;
	gap: 20px !important;
	padding: 0 18px !important;
}

.pb-piece-lower-actions .pb-piece-share-icon {
	flex: 0 0 26px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	min-width: 26px !important;
	color: #171717 !important;
}

.pb-piece-lower-actions .pb-piece-share-icon svg {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.75 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

@media (max-width: 767px) {
	/* Product-to-product arrows are replaced by swipe navigation through gallery media. */
	.pb-piece-modal-product-nav {
		display: none !important;
	}

	.pb-piece-mobile-main-media,
	.pb-piece-modal-media {
		touch-action: pan-y pinch-zoom !important;
		-webkit-user-select: none !important;
		user-select: none !important;
	}
}


/* v3.0 Mobile full-width gallery and lightbox viewer */
@media (max-width: 767px) {
	/* Let the primary product image use the full modal width while keeping text padded. */
	.pb-piece-mobile-main-media {
		position: relative !important;
		left: 50% !important;
		width: calc(100vw - 20px) !important;
		max-width: none !important;
		aspect-ratio: auto !important;
		min-height: 0 !important;
		margin: 22px 0 12px !important;
		transform: translateX(-50%) !important;
		background: #f4f4f2 !important;
		overflow: hidden !important;
	}

	.pb-piece-mobile-main-media img,
	.pb-piece-mobile-main-media video,
	.pb-piece-mobile-main-media iframe {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		object-fit: contain !important;
		background: #f4f4f2 !important;
	}

	/* Keep thumbnails immediately below the enlarged image and span the same width. */
	.pb-piece-thumbs {
		position: relative !important;
		left: 50% !important;
		width: calc(100vw - 20px) !important;
		max-width: none !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
		margin: 0 0 26px !important;
		transform: translateX(-50%) !important;
	}

	.pb-piece-thumb {
		aspect-ratio: 1 / 1 !important;
		min-height: 0 !important;
	}

	/* Mobile lightbox treatment: dark top control bar, image centered below it. */
	.pb-piece-image-viewer {
		display: none !important;
		align-items: stretch !important;
		justify-content: stretch !important;
		padding: 0 !important;
		background: rgba(9, 9, 9, 0.92) !important;
	}

	.pb-piece-image-viewer.is-open {
		display: block !important;
	}

	.pb-piece-image-viewer::before {
		content: "" !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		height: 54px !important;
		z-index: 6 !important;
		background: rgba(24, 24, 24, 0.94) !important;
		pointer-events: none !important;
	}

	.pb-piece-image-viewer-media {
		position: fixed !important;
		top: 54px !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: calc(100dvh - 54px) !important;
		padding: 0 !important;
		background: rgba(9, 9, 9, 0.92) !important;
		touch-action: pan-y pinch-zoom !important;
	}

	.pb-piece-image-viewer-media img,
	.pb-piece-image-viewer-media video,
	.pb-piece-image-viewer-media iframe {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		background: transparent !important;
	}

	.pb-piece-image-viewer-close {
		top: 4px !important;
		right: 6px !important;
		z-index: 8 !important;
		width: 46px !important;
		height: 46px !important;
		color: #ffffff !important;
		font-size: 34px !important;
	}

	/* Move previous/next controls into the top counter bar instead of over the image. */
	.pb-piece-image-viewer-arrow {
		top: 0 !important;
		bottom: auto !important;
		z-index: 8 !important;
		width: 42px !important;
		height: 54px !important;
		margin: 0 !important;
		background: transparent !important;
		color: #ffffff !important;
		font-size: 30px !important;
	}

	.pb-piece-image-viewer-prev {
		left: 6px !important;
	}

	.pb-piece-image-viewer-next {
		left: 116px !important;
		right: auto !important;
	}

	.pb-piece-image-viewer-counter {
		top: 0 !important;
		left: 48px !important;
		bottom: auto !important;
		z-index: 8 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 68px !important;
		height: 54px !important;
		transform: none !important;
		color: #ffffff !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		letter-spacing: 0.12em !important;
	}
}

/* v3.1 Mobile gallery side spacing aligned with product copy/actions */
@media (max-width: 767px) {
	.pb-piece-mobile-main-media {
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 22px 0 12px !important;
		transform: none !important;
	}

	.pb-piece-thumbs {
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 26px !important;
		transform: none !important;
	}
}

/* v3.3 Product modal stock spacing and navigation arrow inset */
.pb-piece-stock-no {
	position: static !important;
	top: auto !important;
	right: auto !important;
	display: block !important;
	margin: 2px 0 24px !important;
	padding: 0 !important;
	color: #8a8a8a !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.08em !important;
	text-transform: none !important;
	white-space: normal !important;
	text-align: left !important;
}

.pb-piece-title-extra + .pb-piece-stock-no {
	margin-top: -14px !important;
}

.pb-piece-modal-product-prev {
	left: -24px !important;
}

.pb-piece-modal-product-next {
	right: -24px !important;
}

.pb-piece-modal-product-nav {
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: 0 3px 18px rgba(0, 0, 0, 0.18) !important;
}

@media (max-width: 1180px) and (min-width: 768px) {
	.pb-piece-modal-product-prev {
		left: -16px !important;
	}

	.pb-piece-modal-product-next {
		right: -16px !important;
	}

	.pb-piece-modal-product-nav {
		width: 40px !important;
	}
}

/* v3.6 Client product-page refinements */
.pb-piece-modal-product-nav {
	width: 54px !important;
	height: 86px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #a2a2a2 !important;
	opacity: 1 !important;
}

.pb-piece-modal-product-nav svg {
	display: block !important;
	width: 30px !important;
	height: 48px !important;
	margin: 0 auto !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.15 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.pb-piece-modal-product-nav:hover {
	background: transparent !important;
	box-shadow: none !important;
	color: #222222 !important;
}

.pb-piece-modal-product-prev {
	left: 18px !important;
}

.pb-piece-modal-product-next {
	right: 18px !important;
}

.pb-piece-modal-info {
	padding-left: 84px !important;
}

.pb-piece-modal-media-wrap {
	padding-right: 84px !important;
}

.pb-piece-stock-no {
	margin: 8px 0 24px !important;
	color: #8a8a8a !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	letter-spacing: 0.08em !important;
}

.pb-piece-title-extra + .pb-piece-stock-no {
	margin-top: 8px !important;
}

.pb-piece-title-extra p,
.pb-piece-enquiry-title-extra p {
	margin: 0 !important;
}

.pb-piece-lower-actions .pb-piece-enquire,
.pb-piece-lower-actions .pb-piece-share-toggle,
.pb-piece-enquiry-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 132px !important;
	min-width: 132px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.13em !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.pb-piece-lower-actions .pb-piece-enquire,
.pb-piece-enquiry-submit {
	background: #171717 !important;
	color: #ffffff !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle {
	position: relative !important;
	background: #eceae5 !important;
	color: #171717 !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle > span:first-child {
	width: 100% !important;
	text-align: center !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle > span:last-child {
	position: absolute !important;
	right: 15px !important;
}

.pb-piece-lower-actions .pb-piece-share {
	position: relative !important;
}

.pb-piece-lower-actions .pb-piece-share-options {
	position: absolute !important;
	left: 0 !important;
	right: auto !important;
	top: auto !important;
	bottom: calc(100% + 8px) !important;
	z-index: 80 !important;
	width: 220px !important;
	margin: 0 !important;
	background: #ffffff !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15) !important;
}

.pb-piece-enquiry-dialog > h3 {
	display: none !important;
}

.pb-piece-enquiry-summary {
	align-items: flex-start !important;
	gap: 18px !important;
	margin-bottom: 26px !important;
}

.pb-piece-enquiry-summary-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 6px !important;
	min-width: 0 !important;
}

.pb-piece-enquiry-summary-copy strong,
.pb-piece-enquiry-summary-copy span {
	display: block !important;
	margin: 0 !important;
	line-height: 1.45 !important;
}

.pb-piece-enquiry-note {
	display: none !important;
}

/* Standard internal title area: 15/16 inch = 90 CSS px. */
.pb-collection-heading,
.pb-about-hero,
.pb-contact-heading,
.pb-fairs-heading,
.pb-fe-page-header,
.pb-piece-search-heading {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 90px !important;
	padding-top: 18px !important;
	padding-bottom: 18px !important;
	text-align: center !important;
}

@media (max-width: 1180px) and (min-width: 768px) {
	.pb-piece-modal-product-prev {
		left: 10px !important;
	}

	.pb-piece-modal-product-next {
		right: 10px !important;
	}

	.pb-piece-modal-info {
		padding-left: 66px !important;
	}

	.pb-piece-modal-media-wrap {
		padding-right: 66px !important;
	}
}

@media (max-width: 767px) {
	.pb-piece-modal-info,
	.pb-piece-modal-media-wrap {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}

	.pb-piece-modal-product-nav {
		display: none !important;
	}

	.pb-piece-lower-actions .pb-piece-enquire,
	.pb-piece-lower-actions .pb-piece-share-toggle,
	.pb-piece-enquiry-submit {
		width: 132px !important;
		min-width: 132px !important;
	}

	.pb-piece-lower-actions .pb-piece-share-options {
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
}

/* v3.8 final Share and product-enquiry layout corrections */
.pb-piece-card-title-extra p,
.pb-piece-card-title-extra > p,
.pb-piece-title-extra p,
.pb-piece-enquiry-title-extra p {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pb-piece-lower-actions {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: auto !important;
	max-width: none !important;
}

.pb-piece-lower-actions .pb-piece-enquire,
.pb-piece-lower-actions .pb-piece-share,
.pb-piece-lower-actions .pb-piece-share-toggle {
	box-sizing: border-box !important;
	flex: 0 0 132px !important;
	width: 132px !important;
	min-width: 132px !important;
	max-width: 132px !important;
	margin: 0 !important;
}

.pb-piece-lower-actions .pb-piece-share {
	position: relative !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 34px 0 18px !important;
	border: 1px solid rgba(0, 0, 0, 0.18) !important;
	background: #eceae5 !important;
	color: #171717 !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle > span:first-child {
	display: block !important;
	width: auto !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.pb-piece-lower-actions .pb-piece-share-toggle > span:last-child {
	position: absolute !important;
	right: 15px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

.pb-piece-lower-actions .pb-piece-share-options {
	left: 0 !important;
	right: auto !important;
	top: auto !important;
	bottom: calc(100% + 8px) !important;
	box-sizing: border-box !important;
	width: 220px !important;
	min-width: 220px !important;
	margin: 0 !important;
	border: 1px solid rgba(0, 0, 0, 0.18) !important;
	background: #ffffff !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15) !important;
	z-index: 100 !important;
}

.pb-piece-lower-actions .pb-piece-share-icon svg {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.8 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.pb-piece-lower-actions .pb-piece-share-icon-link svg {
	transform: rotate(-45deg) !important;
	transform-origin: center !important;
}

.pb-piece-enquiry-dialog {
	padding: 22px 36px 34px !important;
}

.pb-piece-enquiry-close-row {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: 100% !important;
	height: 28px !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

.pb-piece-enquiry-close {
	position: static !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 -4px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 28px !important;
	line-height: 1 !important;
	z-index: auto !important;
}

.pb-piece-enquiry-summary {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 26px !important;
}

.pb-piece-enquiry-form {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pb-piece-enquiry-form label {
	display: grid !important;
	grid-template-columns: 70px minmax(0, 1fr) !important;
	column-gap: 14px !important;
	align-items: start !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	text-align: left !important;
}

.pb-piece-enquiry-form label > span {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 13px 0 0 !important;
	text-align: left !important;
}

.pb-piece-enquiry-form input,
.pb-piece-enquiry-form textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.pb-piece-enquiry-submit {
	margin: 0 0 0 84px !important;
}

@media (max-width: 767px) {
	.pb-piece-lower-actions {
		gap: 10px !important;
	}

	.pb-piece-enquiry-dialog {
		padding: 18px 22px 28px !important;
	}

	.pb-piece-enquiry-close-row {
		margin-bottom: 10px !important;
	}

	.pb-piece-enquiry-form label {
		grid-template-columns: 1fr !important;
		row-gap: 7px !important;
	}

	.pb-piece-enquiry-form label > span {
		padding-top: 0 !important;
	}

	.pb-piece-enquiry-submit {
		margin-left: 0 !important;
	}
}



/* v3.9 Search results and single-product navigation */
.pb-piece-single-mode .pb-piece-modal-product-nav {
	display: inline-flex !important;
}

@media (max-width: 767px) {
	.pb-piece-single-mode .pb-piece-modal-product-nav {
		display: none !important;
	}
}


/* v4.0 Product modal control refinements */
.pb-piece-media-controls,
.pb-piece-media-control,
.pb-piece-media-control-fullscreen {
	display: none !important;
}

.pb-piece-modal-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #a2a2a2 !important;
	font-size: 0 !important;
	line-height: 1 !important;
}

.pb-piece-modal-close svg {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.15 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.pb-piece-modal-close:hover,
.pb-piece-modal-close:focus-visible {
	color: #222222 !important;
	background: transparent !important;
}

@media (max-width: 767px) {
	.pb-piece-modal-close {
		width: 40px !important;
		height: 40px !important;
	}

	.pb-piece-modal-close svg {
		width: 24px !important;
		height: 24px !important;
	}
}


/* v4.7 Product Title Extra spacing correction */
.pb-piece-modal-info > h2 {
    margin: 0 0 8px !important;
}

.pb-piece-modal-info > .pb-piece-title-extra {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.pb-piece-modal-info > .pb-piece-title-extra p,
.pb-piece-modal-info > .pb-piece-title-extra > p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

.pb-piece-modal-info > .pb-piece-meta {
    margin: 0 !important;
    padding: 0 !important;
}

.pb-piece-modal-info > .pb-piece-meta p {
    margin: 0 0 10px !important;
    padding: 0 !important;
}

.pb-piece-modal-info > .pb-piece-meta p:first-child {
    margin-top: 0 !important;
}

/* v4.14 Enquiry summary and search result refinements */
.pb-piece-enquiry-summary {
	grid-template-columns: 158px minmax(0, 1fr) !important;
	gap: 30px !important;
	align-items: center !important;
	margin: 0 0 30px !important;
	padding: 28px !important;
}

.pb-piece-enquiry-summary img {
	width: 158px !important;
	height: 158px !important;
	object-fit: contain !important;
}

.pb-piece-enquiry-summary-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 5px !important;
	min-width: 0 !important;
	text-align: left !important;
}

.pb-piece-enquiry-summary strong,
.pb-piece-enquiry-summary span {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.pb-piece-enquiry-summary strong {
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.22 !important;
	letter-spacing: .13em !important;
}

.pb-piece-enquiry-summary span {
	font-size: 14px !important;
	line-height: 1.25 !important;
	letter-spacing: .06em !important;
}

.pb-piece-enquiry-summary .pb-piece-enquiry-summary-price {
	margin-top: 2px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .04em !important;
}

.pb-search-piece-result-wrap {
	width: 100% !important;
	margin: 0 0 18px !important;
}

.pb-search-piece-result {
	display: grid !important;
	grid-template-columns: 158px minmax(0, 1fr) !important;
	gap: 30px !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 190px !important;
	margin: 0 !important;
	padding: 28px !important;
	border: 1px solid rgba(0,0,0,.16) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #171717 !important;
	font-family: 'Otto','Source Sans 3',sans-serif !important;
	text-align: left !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

.pb-search-piece-result:hover,
.pb-search-piece-result:focus-visible {
	background: #faf9f6 !important;
	outline: none !important;
}

.pb-search-piece-result-image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 158px !important;
	height: 158px !important;
	overflow: hidden !important;
	background: #f7f7f7 !important;
}

.pb-search-piece-result-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

.pb-search-piece-result-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 7px !important;
	min-width: 0 !important;
	text-align: left !important;
}

.pb-search-piece-result-copy strong,
.pb-search-piece-result-copy span {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.pb-search-piece-result-copy strong {
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: .13em !important;
	text-transform: uppercase !important;
}

.pb-search-piece-result-copy span {
	color: #4a4a4a !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	letter-spacing: .08em !important;
}

@media (max-width: 767px) {
	.pb-piece-enquiry-summary,
	.pb-search-piece-result {
		grid-template-columns: 92px minmax(0, 1fr) !important;
		gap: 16px !important;
		padding: 16px !important;
	}

	.pb-piece-enquiry-summary img,
	.pb-search-piece-result-image {
		width: 92px !important;
		height: 112px !important;
	}

	.pb-piece-enquiry-summary strong,
	.pb-search-piece-result-copy strong {
		font-size: 12px !important;
		letter-spacing: .1em !important;
	}

	.pb-piece-enquiry-summary span,
	.pb-search-piece-result-copy span {
		font-size: 11px !important;
		letter-spacing: .05em !important;
	}

	.pb-search-piece-result {
		min-height: 0 !important;
	}
}


/* v4.14.3 Enquiry image cleanup and compact summary refinements */
.pb-piece-enquiry-summary {
	grid-template-columns: 124px minmax(0, 1fr) !important;
	gap: 26px !important;
	align-items: center !important;
	padding: 20px 28px !important;
}

.pb-piece-enquiry-summary img {
	width: 124px !important;
	height: 124px !important;
	object-fit: contain !important;
	background: transparent !important;
}

.pb-piece-enquiry-summary-copy {
	gap: 4px !important;
	text-align: left !important;
}

.pb-piece-enquiry-summary-copy strong,
.pb-piece-enquiry-summary-copy span,
.pb-piece-enquiry-summary strong,
.pb-piece-enquiry-summary span {
	text-align: left !important;
}

.pb-search-piece-result,
.pb-search-piece-result-copy,
.pb-search-piece-result-copy strong,
.pb-search-piece-result-copy span,
.pb-search-results,
.pb-search-results * {
	text-align: left !important;
}

@media (max-width: 767px) {
	.pb-piece-enquiry-summary {
		grid-template-columns: 86px minmax(0, 1fr) !important;
		gap: 14px !important;
		padding: 14px !important;
	}

	.pb-piece-enquiry-summary img {
		width: 86px !important;
		height: 100px !important;
		background: transparent !important;
	}
}
