.dc-wallpaper-library {
	--dcwl-ink: #25211c;
	--dcwl-muted: #706a60;
	--dcwl-line: #ded4c3;
	--dcwl-paper: #f8f2e6;
	--dcwl-panel: #efe5d3;
	--dcwl-cream: #fbf7ee;
	--dcwl-charcoal: #181714;
	--dcwl-gold: #b9914b;
	--dcwl-gold-dark: #8d6931;
	--dcwl-green: var(--dcwl-gold-dark);
	--dcwl-green-dark: var(--dcwl-charcoal);
	box-sizing: border-box;
	color: var(--dcwl-ink);
	font-family: "Open Sans", Arial, sans-serif;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: break-word;
}

.dc-wallpaper-library *,
.dc-wallpaper-library *::before,
.dc-wallpaper-library *::after {
	box-sizing: inherit;
}

.dc-wallpaper-library a {
	color: inherit;
}

.dc-wallpaper-library img {
	display: block;
	height: auto;
	max-width: 100%;
}

.dc-wallpaper-library.dcwl-catalogue-app {
	display: grid;
	gap: 1.25rem;
}

.dc-wallpaper-library .dcwl-app-toolbar {
	display: grid;
	gap: 1rem;
}

.dc-wallpaper-library.dcwl-filter-shell,
.dc-wallpaper-library.dcwl-search,
.dc-wallpaper-library.dcwl-grid-wrap {
	margin-bottom: 1.1rem;
}

.dc-wallpaper-library .dcwl-filter-panel {
	background: linear-gradient(180deg, var(--dcwl-cream), var(--dcwl-paper));
	border: 1px solid var(--dcwl-line);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(24, 23, 20, 0.08);
	overflow: hidden;
}

.dc-wallpaper-library .dcwl-filter-panel summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	list-style: none;
	min-width: 0;
	padding: 1.1rem 1.25rem;
}

.dc-wallpaper-library .dcwl-filter-panel summary::-webkit-details-marker {
	display: none;
}

.dc-wallpaper-library .dcwl-filter-panel summary::after {
	border-bottom: 2px solid var(--dcwl-gold-dark);
	border-right: 2px solid var(--dcwl-gold-dark);
	content: "";
	height: 0.55rem;
	transform: rotate(45deg);
	width: 0.55rem;
}

.dc-wallpaper-library .dcwl-filter-panel[open] summary::after {
	transform: rotate(225deg);
}

.dc-wallpaper-library .dcwl-mobile-filter-backdrop {
	display: none;
}

.dc-wallpaper-library .dcwl-mobile-filter-backdrop[hidden] {
	display: none;
}

.dc-wallpaper-library .dcwl-filter-panel summary span {
	color: var(--dcwl-charcoal);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.45rem;
	font-weight: 600;
	line-height: 1.05;
	min-width: 0;
}

.dc-wallpaper-library .dcwl-filter-panel summary small {
	color: var(--dcwl-gold-dark);
	display: none;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	min-width: 0;
	text-align: right;
	text-transform: uppercase;
}

.dc-wallpaper-library .dcwl-filters {
	border-top: 1px solid var(--dcwl-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	margin: 0;
	max-width: 100%;
	min-width: 0;
	padding: 1.2rem 1.25rem 1.25rem;
}

.dc-wallpaper-library .dcwl-filters label,
.dc-wallpaper-library.dcwl-search .dcwl-search-inner,
.dc-wallpaper-library .dcwl-search-inner {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
}

.dc-wallpaper-library .dcwl-filters label span,
.dc-wallpaper-library.dcwl-search label,
.dc-wallpaper-library .dcwl-search label {
	color: var(--dcwl-gold-dark);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dc-wallpaper-library.dcwl-search,
.dc-wallpaper-library .dcwl-search {
	background: var(--dcwl-charcoal);
	border: 1px solid var(--dcwl-line);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(24, 23, 20, 0.1);
	display: grid;
	margin-top: 1rem;
	max-width: 100%;
	min-width: 0;
	padding: 1.2rem 1.25rem;
}

.dc-wallpaper-library.dcwl-search label,
.dc-wallpaper-library .dcwl-search label {
	color: var(--dcwl-gold);
}

.dc-wallpaper-library .dcwl-search-row {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
	min-width: 0;
}

.dc-wallpaper-library input[type="search"],
.dc-wallpaper-library select {
	appearance: none;
	background: #fff;
	border: 1px solid rgba(185, 145, 75, 0.42);
	border-radius: 4px;
	color: var(--dcwl-ink);
	font: inherit;
	line-height: 1.25;
	min-height: 3rem;
	min-width: 0;
	padding: 0.78rem 0.95rem;
	width: 100%;
}

.dc-wallpaper-library select {
	background-image:
		linear-gradient(45deg, transparent 50%, var(--dcwl-gold-dark) 50%),
		linear-gradient(135deg, var(--dcwl-gold-dark) 50%, transparent 50%);
	background-position:
		calc(100% - 1.05rem) 50%,
		calc(100% - 0.7rem) 50%;
	background-repeat: no-repeat;
	background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
	padding-right: 2.2rem;
}

.dc-wallpaper-library input[type="search"]:focus,
.dc-wallpaper-library select:focus {
	border-color: var(--dcwl-gold);
	outline: 2px solid rgba(185, 145, 75, 0.2);
	outline-offset: 1px;
}

.dc-wallpaper-library .dcwl-filter-actions {
	align-items: center;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
}

.dc-wallpaper-library .dcwl-filter-slot {
	min-width: 0;
}

.dc-wallpaper-library .dcwl-button,
.dc-wallpaper-library button {
	align-items: center;
	background: var(--dcwl-gold);
	border: 1px solid var(--dcwl-gold);
	border-radius: 4px;
	color: var(--dcwl-charcoal);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1.2;
	min-height: 3rem;
	padding: 0.78rem 1.2rem;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.dc-wallpaper-library .dcwl-button:hover,
.dc-wallpaper-library button:hover {
	background: var(--dcwl-gold-dark);
	border-color: var(--dcwl-gold-dark);
	color: #fff;
}

.dc-wallpaper-library .dcwl-button-secondary,
.dc-wallpaper-library .dcwl-reset-link {
	background: transparent;
	border: 1px solid var(--dcwl-line);
	color: var(--dcwl-charcoal);
}

.dc-wallpaper-library .dcwl-button-secondary:hover,
.dc-wallpaper-library .dcwl-reset-link:hover {
	background: #fff;
	border-color: var(--dcwl-gold);
	color: var(--dcwl-charcoal);
}

.dc-wallpaper-library .dcwl-reset-link {
	align-items: center;
	border-radius: 4px;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 3rem;
	padding: 0.78rem 1rem;
	text-decoration: none;
}

.dc-wallpaper-library .dcwl-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
	max-width: 100%;
	min-width: 0;
}

.dc-wallpaper-library .dcwl-card {
	background: #fff;
	border: 1px solid var(--dcwl-line);
	border-radius: 6px;
	box-shadow: 0 18px 46px rgba(24, 23, 20, 0.08);
	display: grid;
	min-width: 0;
	overflow: hidden;
}

.dc-wallpaper-library .dcwl-card-image {
	align-items: center;
	aspect-ratio: 1 / 1.05;
	background: var(--dcwl-panel);
	color: var(--dcwl-muted);
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	width: 100%;
}

.dc-wallpaper-library .dcwl-card-image img {
	height: 100%;
	object-fit: cover;
	transition: opacity 180ms ease, transform 180ms ease;
	width: 100%;
}

.dc-wallpaper-library .dcwl-card:hover .dcwl-card-image img {
	transform: scale(1.035);
}

.dc-wallpaper-library .dcwl-card.is-changing .dcwl-card-image img {
	opacity: 0.62;
	transform: scale(1.02);
}

.dc-wallpaper-library .dcwl-status-pill {
	background: rgba(248, 242, 230, 0.94);
	border: 1px solid rgba(185, 145, 75, 0.42);
	border-radius: 999px;
	color: var(--dcwl-charcoal);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 0.5rem 0.7rem;
	position: absolute;
	right: 0.75rem;
	top: 0.75rem;
	text-transform: uppercase;
}

.dc-wallpaper-library .dcwl-card-body {
	display: grid;
	gap: 0.7rem;
	padding: 1.05rem;
}

.dc-wallpaper-library .dcwl-card-brand,
.dc-wallpaper-library .dcwl-kicker {
	color: var(--dcwl-gold);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0;
	text-transform: uppercase;
}

.dc-wallpaper-library .dcwl-card-title {
	color: var(--dcwl-charcoal);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.34rem;
	font-weight: 600;
	line-height: 1.15;
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-card-title a {
	text-decoration: none;
}

.dc-wallpaper-library .dcwl-card-title a:hover {
	color: var(--dcwl-gold-dark);
}

.dc-wallpaper-library .dcwl-card-subtitle {
	color: var(--dcwl-muted);
	font-size: 0.94rem;
	line-height: 1.45;
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-card-price {
	color: var(--dcwl-green);
	font-weight: 800;
	margin: 0;
}

.dc-wallpaper-library .dcwl-card-swatches {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.38rem;
	min-height: 1.05rem;
}

.dc-wallpaper-library .dcwl-card-swatch {
	background: var(--dcwl-panel);
	border: 1px solid rgba(112, 106, 96, 0.22);
	display: block;
	height: 0.92rem;
	overflow: hidden;
	padding: 0;
	text-decoration: none;
	width: 0.92rem;
}

.dc-wallpaper-library button.dcwl-card-swatch {
	appearance: none;
	cursor: pointer;
}

.dc-wallpaper-library .dcwl-card-swatch.is-active {
	border-color: var(--dcwl-black);
	box-shadow: 0 0 0 1px var(--dcwl-black);
}

.dc-wallpaper-library .dcwl-card-swatch img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dc-wallpaper-library .dcwl-card-swatch-more {
	color: var(--dcwl-muted);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
}

.dc-wallpaper-library .dcwl-card-meta,
.dc-wallpaper-library .dcwl-details {
	display: grid;
	gap: 0.45rem;
	margin: 0;
}

.dc-wallpaper-library .dcwl-card-meta {
	border-top: 1px solid var(--dcwl-line);
	padding-top: 0.75rem;
}

.dc-wallpaper-library .dcwl-card-meta div,
.dc-wallpaper-library .dcwl-details div {
	display: grid;
	gap: 0.12rem;
	margin: 0;
	min-width: 0;
}

.dc-wallpaper-library .dcwl-card-meta dt,
.dc-wallpaper-library .dcwl-details dt {
	color: var(--dcwl-muted);
	font-size: 0.74rem;
	font-weight: 800;
	text-transform: uppercase;
}

.dc-wallpaper-library .dcwl-card-meta dd,
.dc-wallpaper-library .dcwl-details dd {
	color: var(--dcwl-ink);
	margin: 0;
}

.dc-wallpaper-library .dcwl-empty {
	background: var(--dcwl-paper);
	border: 1px solid var(--dcwl-line);
	border-radius: 8px;
	display: grid;
	gap: 0.75rem;
	padding: 1.25rem;
	text-align: left;
}

.dc-wallpaper-library .dcwl-state {
	background: var(--dcwl-paper);
	border: 1px solid var(--dcwl-line);
	border-radius: 8px;
	color: var(--dcwl-muted);
	padding: 1rem;
}

.dc-wallpaper-library .dcwl-state-error {
	background: #fff8f4;
	border-color: #e5b8a4;
	color: #7a3017;
}

.dc-wallpaper-library .dcwl-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

.dc-wallpaper-library .dcwl-page-summary {
	color: var(--dcwl-muted);
	font-weight: 700;
}

.dc-wallpaper-library .dcwl-page-button[disabled],
.dc-wallpaper-library .dcwl-page-button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.45;
}

.dc-wallpaper-library .dcwl-empty h2 {
	font-size: 1.35rem;
	line-height: 1.2;
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-empty p {
	color: var(--dcwl-muted);
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library.dcwl-single {
	margin: 0 auto;
	max-width: 1240px;
	padding: 1.25rem 0 2rem;
	width: min(100% - 2rem, 1240px);
}

.dc-wallpaper-library.dcwl-archive {
	margin: 0 auto;
	max-width: 1240px;
	padding: 1.25rem 0 2rem;
	width: min(100% - 2rem, 1240px);
}

.dc-wallpaper-library .dcwl-archive-hero {
	background: var(--dcwl-charcoal);
	border: 1px solid var(--dcwl-line);
	border-radius: 6px;
	display: grid;
	gap: 0.65rem;
	margin-bottom: 1rem;
	padding: 1.25rem;
}

.dc-wallpaper-library .dcwl-archive-hero h1 {
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.25rem;
	font-weight: 600;
	line-height: 1.08;
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-archive-hero p {
	margin: 0;
	overflow-wrap: anywhere;
	padding: 0;
	white-space: normal;
}

.dc-wallpaper-library .dcwl-archive-hero p:not(.dcwl-kicker) {
	color: rgba(255, 255, 255, 0.78);
	max-width: 44rem;
}

.dc-wallpaper-library .dcwl-single-showroom {
	display: grid;
	gap: 1.25rem;
}

.dc-wallpaper-library .dcwl-single-hero {
	background: var(--dcwl-paper);
	border: 1px solid var(--dcwl-line);
	border-radius: 6px;
	display: grid;
	gap: 0;
	overflow: hidden;
	transition: opacity 140ms ease, transform 140ms ease;
}

.dc-wallpaper-library .dcwl-single-hero-image {
	background: var(--dcwl-panel);
	min-width: 0;
	position: relative;
}

.dc-wallpaper-library .dcwl-single-hero-image img,
.dc-wallpaper-library .dcwl-image-placeholder {
	aspect-ratio: 4 / 5;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dc-wallpaper-library .dcwl-gallery-viewport {
	overflow: hidden;
	touch-action: pan-y;
	width: 100%;
}

.dc-wallpaper-library .dcwl-gallery-track {
	display: flex;
	transform: translate3d(0, 0, 0);
	transition: transform 280ms ease;
	will-change: transform;
}

.dc-wallpaper-library .dcwl-single-gallery.is-dragging .dcwl-gallery-track {
	transition: none;
}

.dc-wallpaper-library .dcwl-gallery-slide {
	flex: 0 0 100%;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-gallery-slide img {
	display: block;
}

.dc-wallpaper-library .dcwl-single-gallery.is-changing .dcwl-gallery-slide img {
	animation: dcwl-gallery-focus 260ms ease;
}

.dc-wallpaper-library .dcwl-gallery-controls {
	align-items: center;
	bottom: 0.75rem;
	display: flex;
	gap: 0.65rem;
	justify-content: center;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	z-index: 2;
}

.dc-wallpaper-library .dcwl-gallery-button,
.dc-wallpaper-library .dcwl-gallery-dot {
	appearance: none;
	border: 0;
	cursor: pointer;
	pointer-events: auto;
}

.dc-wallpaper-library .dcwl-gallery-button {
	align-items: center;
	background: rgba(248, 242, 230, 0.9);
	border: 1px solid rgba(59, 57, 52, 0.14);
	border-radius: 999px;
	color: var(--dcwl-charcoal);
	display: flex;
	font-size: 1.55rem;
	height: 2rem;
	justify-content: center;
	line-height: 1;
	width: 2rem;
}

.dc-wallpaper-library .dcwl-gallery-dots {
	align-items: center;
	background: rgba(248, 242, 230, 0.78);
	border-radius: 999px;
	display: flex;
	gap: 0.38rem;
	padding: 0.42rem 0.55rem;
	pointer-events: auto;
}

.dc-wallpaper-library .dcwl-gallery-dot {
	background: rgba(59, 57, 52, 0.35);
	border-radius: 999px;
	height: 0.42rem;
	padding: 0;
	width: 0.42rem;
}

.dc-wallpaper-library .dcwl-gallery-dot.is-active {
	background: var(--dcwl-charcoal);
}

@keyframes dcwl-gallery-focus {
	from {
		opacity: 0.72;
		transform: scale(1.015);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.dc-wallpaper-library .dcwl-image-placeholder {
	align-items: center;
	color: var(--dcwl-muted);
	display: flex;
	justify-content: center;
	min-height: 18rem;
}

.dc-wallpaper-library .dcwl-single-hero-copy {
	align-content: center;
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.dc-wallpaper-library .dcwl-single-hero-copy h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 600;
	font-size: 2rem;
	line-height: 1.08;
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-breadcrumbs {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.dc-wallpaper-library .dcwl-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.dc-wallpaper-library .dcwl-breadcrumbs a:hover {
	color: var(--dcwl-gold-dark);
	text-decoration: underline;
}

.dc-wallpaper-library .dcwl-single-colourway {
	color: var(--dcwl-muted);
	font-size: 1.1rem;
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-variation-selector {
	display: grid;
	gap: 0.55rem;
}

.dc-wallpaper-library .dcwl-variation-selector p {
	color: var(--dcwl-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.dc-wallpaper-library .dcwl-variation-selector > div {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.dc-wallpaper-library .dcwl-variation-swatch {
	align-items: center;
	background: var(--dcwl-panel);
	border: 1px solid rgba(112, 106, 96, 0.24);
	color: var(--dcwl-black);
	display: flex;
	height: 2rem;
	justify-content: center;
	overflow: hidden;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	width: 2rem;
}

.dc-wallpaper-library .dcwl-variation-swatch:hover {
	transform: translateY(-1px);
}

.dc-wallpaper-library .dcwl-variation-swatch.is-active {
	border-color: var(--dcwl-black);
	box-shadow: 0 0 0 1px var(--dcwl-black);
}

.dc-wallpaper-library .dcwl-variation-swatch img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dc-wallpaper-library .dcwl-single-showroom.is-variation-changing .dcwl-single-hero {
	opacity: 0.72;
	transform: translateY(4px);
	transition: opacity 140ms ease, transform 140ms ease;
}

.dc-wallpaper-library .dcwl-excerpt p,
.dc-wallpaper-library .dcwl-entry-content p,
.dc-wallpaper-library .dcwl-enquiry p,
.dc-wallpaper-library .dcwl-panel p,
.dc-wallpaper-library .dcwl-section-heading p {
	margin: 0;
	padding: 0;
}

.dc-wallpaper-library .dcwl-hero-actions {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
}

.dc-wallpaper-library .dcwl-support-strip {
	border-top: 1px solid var(--dcwl-line);
	display: grid;
	gap: 0.45rem;
	padding-top: 1rem;
}

.dc-wallpaper-library .dcwl-support-strip span {
	color: var(--dcwl-muted);
	font-size: 0.9rem;
}

.dc-wallpaper-library .dcwl-support-strip span::before {
	color: var(--dcwl-gold);
	content: "";
	display: inline-block;
	height: 0.45rem;
	margin-right: 0.5rem;
	width: 0.45rem;
	background: currentColor;
	border-radius: 999px;
}

.dc-wallpaper-library .dcwl-single-panels,
.dc-wallpaper-library .dcwl-related-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	min-width: 0;
}

.dc-wallpaper-library .dcwl-panel,
.dc-wallpaper-library .dcwl-related,
.dc-wallpaper-library .dcwl-enquiry {
	background: #fff;
	border: 1px solid var(--dcwl-line);
	border-radius: 6px;
	padding: 1.1rem;
}

.dc-wallpaper-library .dcwl-panel h2,
.dc-wallpaper-library .dcwl-related h2,
.dc-wallpaper-library .dcwl-enquiry h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1.2;
	margin: 0 0 0.85rem;
	padding: 0;
}

.dc-wallpaper-library .dcwl-panel-copy {
	background: var(--dcwl-paper);
	color: var(--dcwl-muted);
	display: grid;
	gap: 0.85rem;
}

.dc-wallpaper-library .dcwl-section-heading {
	display: grid;
	gap: 0.3rem;
	margin-bottom: 1rem;
}

.dc-wallpaper-library .dcwl-section-heading p {
	color: var(--dcwl-muted);
}

.dc-wallpaper-library .dcwl-enquiry {
	align-items: center;
	background: var(--dcwl-charcoal);
	border-color: var(--dcwl-charcoal);
	color: #fff;
	display: grid;
	gap: 1rem;
}

.dc-wallpaper-library .dcwl-enquiry h2,
.dc-wallpaper-library .dcwl-enquiry p {
	color: #fff;
}

.dc-wallpaper-library .dcwl-enquiry .dcwl-button {
	background: #fff;
	border-color: #fff;
	color: var(--dcwl-green);
}

.dc-wallpaper-library .dcwl-enquiry .dcwl-button:hover {
	background: var(--dcwl-paper);
	border-color: var(--dcwl-paper);
	color: var(--dcwl-green-dark);
}

@media (max-width: 639px) {
	html.dcwl-filter-lock,
	html.dcwl-filter-lock body {
		overflow: hidden;
	}

	.dc-wallpaper-library {
		-webkit-tap-highlight-color: transparent;
	}

	.dc-wallpaper-library.dcwl-archive,
	.dc-wallpaper-library.dcwl-single {
		margin-left: 1rem;
		margin-right: 1rem;
		max-width: none;
		width: auto;
	}

	.dc-wallpaper-library.dcwl-filter-shell,
	.dc-wallpaper-library.dcwl-search,
	.dc-wallpaper-library.dcwl-grid-wrap {
		margin-left: 0;
		margin-right: 0;
		max-width: 100%;
		width: 100%;
	}

	.dc-wallpaper-library.dcwl-catalogue-app,
	.dc-wallpaper-library.dcwl-grid-wrap {
		padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
	}

	.dc-wallpaper-library .dcwl-app-toolbar {
		gap: 0.7rem;
	}

	.dc-wallpaper-library .dcwl-archive-hero p:not(.dcwl-kicker) {
		max-width: 18rem;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-backdrop {
		background: rgba(8, 8, 7, 0.48);
		border: 0;
		border-radius: 0;
		bottom: 0;
		cursor: pointer;
		display: block;
		height: auto;
		left: 0;
		min-height: 0;
		padding: 0;
		position: fixed;
		right: 0;
		top: 0;
		width: auto;
		z-index: 9998;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel > summary {
		align-items: center;
		background: #050505;
		border: 1px solid var(--dcwl-gold);
		border-bottom: 0;
		border-radius: 6px 6px 0 0;
		bottom: 0;
		box-shadow: 0 -12px 34px rgba(0, 0, 0, 0.22);
		color: #fff;
		display: flex;
		gap: 0.7rem;
		justify-content: center;
		left: 0;
		min-height: calc(4rem + env(safe-area-inset-bottom));
		padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		z-index: 10000;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel > summary::before {
		border: 2px solid currentColor;
		border-top: 0;
		content: "";
		height: 0.72rem;
		transform: rotate(45deg);
		width: 0.72rem;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel > summary::after {
		display: none;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel > summary span {
		color: #fff;
		font-family: "Open Sans", Arial, sans-serif;
		font-size: 0.86rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		line-height: 1;
		text-transform: uppercase;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel > summary small {
		background: var(--dcwl-gold);
		border-radius: 999px;
		color: #050505;
		display: inline-flex;
		font-size: 0.64rem;
		letter-spacing: 0.04em;
		line-height: 1;
		padding: 0.35rem 0.5rem;
		text-align: center;
		text-transform: uppercase;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel[open] {
		background: var(--dcwl-cream);
		border: 1px solid var(--dcwl-line);
		border-radius: 18px 18px 0 0;
		bottom: 0;
		box-shadow: 0 -24px 60px rgba(8, 8, 7, 0.28);
		left: 0;
		max-height: min(82vh, 42rem);
		overflow: auto;
		position: fixed;
		right: 0;
		z-index: 10001;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel[open] > summary {
		background: var(--dcwl-cream);
		border: 0;
		border-bottom: 1px solid var(--dcwl-line);
		border-radius: 18px 18px 0 0;
		box-shadow: none;
		color: var(--dcwl-charcoal);
		min-height: 4rem;
		padding: 1.1rem 1.2rem;
		position: sticky;
		top: 0;
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel[open] > summary span {
		color: var(--dcwl-charcoal);
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel[open] > summary small {
		background: rgba(185, 145, 75, 0.14);
		color: var(--dcwl-gold-dark);
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel .dcwl-filters {
		box-sizing: border-box;
		border-top: 0;
		gap: 0.85rem;
		padding: 1rem 1rem calc(1.15rem + env(safe-area-inset-bottom));
	}

	.dc-wallpaper-library .dcwl-mobile-filter-panel label,
	.dc-wallpaper-library .dcwl-mobile-filter-panel select,
	.dc-wallpaper-library .dcwl-mobile-filter-panel input {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.dc-wallpaper-library.dcwl-search,
	.dc-wallpaper-library .dcwl-search {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		margin: 0;
		padding: 0.2rem 0 0.55rem;
	}

	.dc-wallpaper-library.dcwl-search label,
	.dc-wallpaper-library .dcwl-search label {
		color: var(--dcwl-muted);
		font-size: 0.68rem;
		letter-spacing: 0;
		text-transform: none;
	}

	.dc-wallpaper-library .dcwl-search-row {
		align-items: end;
		gap: 0.65rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.dc-wallpaper-library input[type="search"] {
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgba(112, 106, 96, 0.42);
		border-radius: 0;
		font-size: 1rem;
		min-height: 2.8rem;
		padding: 0.65rem 0;
	}

	.dc-wallpaper-library input[type="search"]:focus {
		border-color: var(--dcwl-charcoal);
		outline: 0;
	}

	.dc-wallpaper-library .dcwl-search-row button {
		background: var(--dcwl-charcoal);
		border-color: var(--dcwl-charcoal);
		border-radius: 999px;
		color: #fff;
		font-size: 0.78rem;
		min-height: 2.55rem;
		padding: 0.65rem 0.95rem;
		width: auto;
	}

	.dc-wallpaper-library .dcwl-grid,
	.dc-wallpaper-library .dcwl-related-grid {
		gap: 1.6rem 0.95rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dc-wallpaper-library .dcwl-card {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	.dc-wallpaper-library .dcwl-card-image {
		aspect-ratio: 3 / 4;
		background: #eee5d4;
		border-radius: 0;
	}

	.dc-wallpaper-library .dcwl-card-body {
		gap: 0.35rem;
		padding: 0.72rem 0.15rem 0;
		text-align: center;
	}

	.dc-wallpaper-library .dcwl-card-brand,
	.dc-wallpaper-library .dcwl-card-meta,
	.dc-wallpaper-library .dcwl-card-price,
	.dc-wallpaper-library .dcwl-card .dcwl-button {
		display: none;
	}

	.dc-wallpaper-library .dcwl-status-pill {
		background: rgba(255, 255, 255, 0.84);
		border-color: rgba(185, 145, 75, 0.32);
		font-size: 0.54rem;
		left: 0.45rem;
		letter-spacing: 0.04em;
		max-width: calc(100% - 0.9rem);
		overflow: hidden;
		padding: 0.38rem 0.46rem;
		right: auto;
		text-overflow: ellipsis;
		top: 0.45rem;
		white-space: nowrap;
	}

	.dc-wallpaper-library .dcwl-card-title {
		font-family: "Open Sans", Arial, sans-serif;
		font-size: 0.93rem;
		font-weight: 800;
		letter-spacing: 0.07em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.dc-wallpaper-library .dcwl-card-subtitle {
		color: var(--dcwl-muted);
		font-size: 0.82rem;
		line-height: 1.25;
	}

	.dc-wallpaper-library .dcwl-card-swatches {
		gap: 0.34rem;
		justify-content: center;
		margin-top: 0.15rem;
	}

	.dc-wallpaper-library .dcwl-card-swatch {
		height: 0.82rem;
		width: 0.82rem;
	}

	.dc-wallpaper-library .dcwl-card-swatch-more {
		font-size: 0.72rem;
	}

	.dc-wallpaper-library .dcwl-pagination {
		padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
	}
}

@media (max-width: 979px) {
	.dc-wallpaper-library.dcwl-filter-shell,
	.dc-wallpaper-library.dcwl-search,
	.dc-wallpaper-library.dcwl-grid-wrap {
		margin-left: 0;
		margin-right: 0;
		max-width: 100%;
		width: 100%;
	}
}

@media (min-width: 640px) {
	.dc-wallpaper-library .dcwl-filter-panel summary small {
		display: block;
	}

	.dc-wallpaper-library .dcwl-search-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.dc-wallpaper-library .dcwl-filter-actions,
	.dc-wallpaper-library .dcwl-hero-actions {
		grid-template-columns: auto auto;
		justify-content: start;
	}

	.dc-wallpaper-library .dcwl-button,
	.dc-wallpaper-library button {
		width: auto;
	}

	.dc-wallpaper-library .dcwl-page-button {
		width: auto;
	}

	.dc-wallpaper-library .dcwl-grid,
	.dc-wallpaper-library .dcwl-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 760px) {
	.dc-wallpaper-library .dcwl-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 980px) {
	.dc-wallpaper-library .dcwl-filter-panel summary {
		cursor: default;
	}

	.dc-wallpaper-library .dcwl-filter-panel summary::after {
		display: none;
	}

	.dc-wallpaper-library .dcwl-filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dc-wallpaper-library .dcwl-filter-actions {
		align-self: end;
		grid-column: span 3;
	}

	.dc-wallpaper-library .dcwl-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dc-wallpaper-library .dcwl-single-hero {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	}

	.dc-wallpaper-library .dcwl-single-hero-image img,
	.dc-wallpaper-library .dcwl-image-placeholder {
		aspect-ratio: 5 / 6;
	}

	.dc-wallpaper-library .dcwl-single-hero-copy {
		padding: 2rem;
	}

	.dc-wallpaper-library .dcwl-single-hero-copy h1 {
		font-size: 3.1rem;
	}

	.dc-wallpaper-library .dcwl-archive-hero {
		padding: 2rem;
	}

	.dc-wallpaper-library .dcwl-archive-hero h1 {
		font-size: 3.1rem;
	}

	.dc-wallpaper-library .dcwl-single-panels {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
	}

	.dc-wallpaper-library .dcwl-enquiry {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 1180px) {
	.dc-wallpaper-library .dcwl-filters {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.dc-wallpaper-library .dcwl-filter-actions {
		grid-column: span 6;
	}
}
