/* =========================================================================
   DecantQ Shop
   The shop page and the category / brand / tag archives. Cards, buttons and
   the drawn vial come from catalog.css; tokens from tokens.css.
   Scoped to .dq-shop.
   ====================================================================== */

/* Hello boxes archives at 1140px; the page sets its own width below. */
body.dq-shop-page #content.site-main,
body.dq-shop-page .site-main {
	max-width: none;
}
body.dq-shop-page {
	overflow-x: clip;
}

.dq-shop {
	--dq-gutter: clamp(16px, 3vw, 32px);
	box-sizing: border-box;
	max-width: 1240px;
	margin-inline: auto;
	padding: clamp(20px, 3vw, 40px) var(--dq-gutter) clamp(56px, 8vw, 104px);
	color: var(--dq-ink);
	font-size: 16px;
	line-height: 1.55;
}

/* ---------- Header ---------- */

.dq-shop .woocommerce-products-header {
	margin: 0 0 clamp(22px, 3vw, 34px);
	padding: 0;
	text-align: start;
}
.dq-shop.dq-shop .woocommerce-products-header__title,
.dq-shop.dq-shop .woocommerce-products-header .page-title {
	margin: 0;
	padding: 0;
	font-family: var(--dq-display);
	font-size: clamp(2rem, 1.3rem + 2.2vw, 3.1rem);
	font-weight: 500;
	line-height: 1.06;
	color: var(--dq-ink);
	text-wrap: balance;
}
html:not([dir="rtl"]) .dq-shop.dq-shop .woocommerce-products-header__title {
	letter-spacing: -0.015em;
}
.dq-shop.dq-shop .dq-shop__lead,
.dq-shop.dq-shop .term-description p,
.dq-shop.dq-shop .taxonomy-description p {
	max-width: 60ch;
	margin: 16px 0 0;
	font-size: clamp(15.5px, 0.95rem + 0.2vw, 17px);
	line-height: 1.65;
	color: var(--dq-muted);
}
.dq-shop .term-description > :last-child,
.dq-shop .taxonomy-description > :last-child {
	margin-bottom: 0;
}

/* ---------- Filter pills ---------- */

.dq-shop__filters {
	display: grid;
	gap: 10px;
	margin: 26px 0 0;
}
.dq-shop .dq-shop__filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.dq-shop.dq-shop .dq-pill {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	padding: 9px 16px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	background: #fff;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--dq-ink);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.dq-shop.dq-shop .dq-pill:hover {
	border-color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-pill.is-current {
	border-color: var(--dq-amber);
	background: var(--dq-amber);
	color: #fff;
}
.dq-shop .dq-pill:focus-visible {
	outline: 3px solid var(--dq-amber);
	outline-offset: 3px;
}
.dq-shop.dq-shop .dq-pill__count {
	font-size: 12px;
	font-weight: 500;
	color: var(--dq-muted);
	font-variant-numeric: tabular-nums;
}
.dq-shop.dq-shop .dq-pill.is-current .dq-pill__count {
	color: rgba(255, 255, 255, 0.75);
}

/* ---------- Toolbar ---------- */

.dq-shop .dq-shop__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin: clamp(26px, 3vw, 38px) 0 clamp(20px, 2.5vw, 28px);
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dq-line);
}
.dq-shop.dq-shop .dq-shop__count {
	margin: 0;
	font-size: 14.5px;
	color: var(--dq-muted);
	font-variant-numeric: tabular-nums;
}
.dq-shop .dq-shop__sort {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.dq-shop.dq-shop .dq-shop__sort-label {
	font-size: 14.5px;
	color: var(--dq-muted);
	white-space: nowrap;
}
.dq-shop .dq-shop__sort form.woocommerce-ordering {
	margin: 0;
	float: none;
}
/* Beat the kit's input/select rule (0,2,0) and WooCommerce's own select styling. */
.dq-shop.dq-shop .woocommerce-ordering select.orderby {
	height: 44px;
	margin: 0;
	padding: 0 38px 0 14px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b211b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	background-size: 15px 15px;
	box-shadow: none;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	color: var(--dq-ink);
	text-transform: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.dq-shop.dq-shop .woocommerce-ordering select.orderby option {
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
}
html[dir="rtl"] .dq-shop.dq-shop .woocommerce-ordering select.orderby {
	padding: 0 14px 0 38px;
	background-position: left 13px center;
}
.dq-shop.dq-shop .woocommerce-ordering select.orderby:focus {
	border-color: var(--dq-ink);
	outline: none;
}
.dq-shop.dq-shop .woocommerce-ordering select.orderby:focus-visible {
	outline: 3px solid var(--dq-amber);
	outline-offset: 2px;
}

/* ---------- Grid ----------
   WooCommerce's layout stylesheet floats "ul.products li.product" at 22.05%.
   The grid owns the layout, so those four declarations are overridden outright.
*/
.dq-shop ul.products.dq-grid {
	clear: both;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* WooCommerce adds ::before/::after to ul.products as an old clearfix. Inside a grid those
   become two empty grid cells, which pushed the first row one column to the right. */
.dq-shop ul.products.dq-grid::before,
.dq-shop ul.products.dq-grid::after {
	content: none;
	display: none;
}
.dq-shop ul.products.dq-grid > li.product,
.dq-shop ul.products.dq-grid > li.dq-card {
	float: none !important;
	clear: none !important;
	width: auto !important;
	margin: 0 !important;
}
.dq-shop ul.products.dq-grid > li.product::before,
.dq-shop ul.products.dq-grid > li.product::after {
	content: none;
}
/* WooCommerce hides prices on some loop states; ours is the card's own line. */
.dq-shop .dq-card .price {
	display: none;
}

/* ---------- Pagination ---------- */

.dq-shop .woocommerce-pagination {
	margin: clamp(40px, 5vw, 64px) 0 0;
	padding: 0;
	text-align: center;
}
.dq-shop .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}
.dq-shop .woocommerce-pagination ul.page-numbers li {
	margin: 0;
	border: 0;
	overflow: visible;
}
.dq-shop.dq-shop .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: var(--dq-ink);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.dq-shop.dq-shop .woocommerce-pagination a.page-numbers:hover {
	border-color: var(--dq-ink);
	background: #fff;
	color: var(--dq-ink);
}
.dq-shop.dq-shop .woocommerce-pagination .page-numbers.current {
	border-color: var(--dq-amber);
	background: var(--dq-amber);
	color: #fff;
}
.dq-shop.dq-shop .woocommerce-pagination .page-numbers.dots {
	min-width: 28px;
	padding: 0;
	border-color: transparent;
	background: none;
	color: var(--dq-muted);
}
.dq-shop .woocommerce-pagination .page-numbers:focus-visible {
	outline: 3px solid var(--dq-amber);
	outline-offset: 2px;
}

/* ---------- Empty state ---------- */

.dq-shop__empty {
	max-width: 520px;
	margin: 0 auto;
	padding: clamp(32px, 6vw, 72px) 0 clamp(16px, 3vw, 32px);
	text-align: center;
}
.dq-shop .dq-shop__empty-vial {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 92px;
}
.dq-shop.dq-shop .dq-shop__empty-title {
	margin: 24px 0 10px;
	font-family: var(--dq-display);
	font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.5rem);
	font-weight: 500;
	line-height: 1.08;
	color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-shop__empty-text {
	max-width: 44ch;
	margin: 0 auto 28px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--dq-muted);
}

/* WooCommerce reprints "No products were found matching your selection." as a notice. */
.dq-shop .woocommerce-info.woocommerce-no-products-found {
	display: none;
}
.dq-shop .woocommerce-notices-wrapper:empty {
	display: none;
}

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

@media (max-width: 599px) {
	.dq-shop .dq-shop__bar {
		align-items: flex-start;
	}
	.dq-shop .dq-shop__sort {
		width: 100%;
	}
	/* The label keeps its line; the dropdown takes the rest of the row. */
	.dq-shop .dq-shop__sort form.woocommerce-ordering {
		flex: 1;
		min-width: 0;
	}
	.dq-shop.dq-shop .woocommerce-ordering select.orderby {
		width: 100%;
	}
	.dq-shop .dq-shop__filter ul {
		gap: 6px;
	}
	.dq-shop.dq-shop .dq-pill {
		padding: 8px 13px;
		font-size: 13.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dq-shop * {
		transition: none !important;
	}
}

/* =========================================================================
   Filters v2.5: category tabs + brand picker (replaces the pill rows)
   ====================================================================== */

/* ---------- Category tabs ---------- */

.dq-shop .dq-tabs {
	margin: clamp(18px, 2.5vw, 28px) 0 0;
	border-bottom: 1px solid var(--dq-line);
}
.dq-shop .dq-tabs__list {
	display: flex;
	gap: clamp(20px, 3vw, 36px);
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}
.dq-shop .dq-tabs__list::-webkit-scrollbar {
	display: none;
}
.dq-shop .dq-tabs__list li {
	flex: none;
	margin: 0;
}
.dq-shop.dq-shop .dq-tabs__tab {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 2px;
	font-size: 16px;
	font-weight: 500;
	color: var(--dq-muted);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}
.dq-shop.dq-shop .dq-tabs__tab:hover {
	color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-tabs__tab.is-current {
	font-weight: 600;
	color: var(--dq-ink);
}
.dq-shop .dq-tabs__tab.is-current::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: -1px;
	height: 2px;
	border-radius: 2px;
	background: var(--dq-amber);
}
.dq-shop .dq-tabs__tab:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 4px;
	border-radius: 4px;
}

/* ---------- Toolbar: brand, active filter, count | sort ---------- */

.dq-shop .dq-shop__bar {
	border-bottom: 0;
	padding-bottom: 0;
	margin-top: clamp(16px, 2vw, 22px);
}
.dq-shop .dq-shop__bar-start {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	min-width: 0;
}

/* ---------- Brand picker ---------- */

.dq-shop .dq-picker {
	position: relative;
}
.dq-shop.dq-shop .dq-picker__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 16px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	background: #fff;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--dq-ink);
	list-style: none;
	cursor: pointer;
	user-select: none;
	transition: border-color 0.2s ease;
}
.dq-shop .dq-picker__button::-webkit-details-marker {
	display: none;
}
.dq-shop.dq-shop .dq-picker__button:hover,
.dq-shop .dq-picker[open] > .dq-picker__button {
	border-color: var(--dq-ink);
}
.dq-shop .dq-picker__button svg {
	transition: transform 0.2s ease;
}
.dq-shop .dq-picker[open] > .dq-picker__button svg {
	transform: rotate(180deg);
}
.dq-shop .dq-picker.is-active > .dq-picker__button {
	border-color: var(--dq-amber);
	background: var(--dq-amber-tint);
	color: var(--dq-amber);
}
.dq-shop .dq-picker__button:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 2px;
}

.dq-shop .dq-picker__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 50;
	display: flex;
	flex-direction: column;
	width: 300px;
	max-height: min(430px, 70vh);
	padding: 10px;
	border: 1px solid var(--dq-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(43, 33, 27, 0.16);
}
.dq-shop .dq-picker__head {
	display: none; /* the sheet header is for phones */
}
.dq-shop .dq-picker__search {
	position: relative;
	display: block;
	margin: 0 0 8px;
}
.dq-shop .dq-picker__search svg {
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
	color: var(--dq-muted);
	pointer-events: none;
}
.dq-shop.dq-shop .dq-picker__search input[type="search"] {
	width: 100%;
	height: 42px;
	margin: 0;
	padding: 0 12px 0 36px;
	border: 1px solid var(--dq-line);
	border-radius: 10px;
	background: var(--dq-panel);
	box-shadow: none;
	font-family: inherit;
	font-size: 14.5px;
	color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-picker__search input[type="search"]:focus {
	border-color: var(--dq-ink);
	background: #fff;
	outline: none;
}
.dq-shop .dq-picker__list {
	flex: 1;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
	overscroll-behavior: contain;
}
.dq-shop .dq-picker__list li {
	margin: 0;
}
.dq-shop .dq-picker__list li[hidden] {
	display: none;
}
.dq-shop.dq-shop .dq-picker__option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 42px;
	padding: 0 12px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 500;
	color: var(--dq-ink);
	text-decoration: none;
}
.dq-shop.dq-shop .dq-picker__option:hover {
	background: var(--dq-panel);
}
.dq-shop.dq-shop .dq-picker__option.is-current {
	background: var(--dq-amber-tint);
	font-weight: 600;
	color: var(--dq-amber);
}
.dq-shop.dq-shop .dq-picker__count {
	font-size: 12.5px;
	font-weight: 500;
	color: var(--dq-muted);
	font-variant-numeric: tabular-nums;
}
.dq-shop .dq-picker__option:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: -2px;
}
.dq-shop.dq-shop .dq-picker__empty {
	margin: 8px 12px;
	font-size: 14px;
	color: var(--dq-muted);
}

/* Active filter chip */
.dq-shop.dq-shop .dq-chip-remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--dq-ink);
	font-size: 13.5px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
}
.dq-shop.dq-shop .dq-chip-remove:hover {
	background: #000;
	color: #fff;
}
.dq-shop .dq-chip-remove:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 2px;
}

/* ---------- Phones: tabs scroll, the toolbar is two equal buttons, brands open as a bottom sheet ---------- */

@media (max-width: 719px) {
	.dq-shop .dq-tabs {
		margin-inline: calc(-1 * var(--dq-gutter, 16px));
		padding-inline: var(--dq-gutter, 16px);
	}
	.dq-shop.dq-shop .dq-tabs__tab {
		font-size: 15px;
	}
	.dq-shop .dq-shop__bar {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 10px;
	}
	.dq-shop .dq-shop__bar-start {
		display: contents; /* its children join the grid */
	}
	.dq-shop .dq-picker {
		grid-column: 1;
		grid-row: 1;
	}
	.dq-shop .dq-shop__sort {
		grid-column: 2;
		grid-row: 1;
		width: auto;
	}
	.dq-shop.dq-shop .dq-shop__sort-label {
		display: none;
	}
	.dq-shop.dq-shop .dq-picker__button,
	.dq-shop.dq-shop .woocommerce-ordering select.orderby {
		justify-content: center;
		width: 100%;
		height: 46px;
		font-size: 14.5px;
	}
	.dq-shop .dq-chip-remove,
	.dq-shop .dq-shop__count {
		grid-row: 2;
	}
	.dq-shop .dq-chip-remove {
		grid-column: 1;
		justify-self: start;
	}
	.dq-shop .dq-shop__count {
		grid-column: 1 / -1;
		justify-self: end;
	}
	.dq-shop .dq-chip-remove + .dq-shop__count {
		grid-column: 2;
	}

	/* bottom sheet */
	.dq-shop .dq-picker[open]::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 100004;
		background: rgba(43, 33, 27, 0.45);
	}
	.dq-shop .dq-picker__panel {
		position: fixed;
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100005;
		width: auto;
		max-height: 78vh;
		padding: 8px 16px calc(16px + env(safe-area-inset-bottom));
		border: 0;
		border-radius: 22px 22px 0 0;
		box-shadow: 0 -16px 40px rgba(43, 33, 27, 0.2);
		animation: dq-sheet-up 0.26s cubic-bezier(0.2, 0.8, 0.2, 1);
	}
	.dq-shop .dq-picker__panel::before {
		content: "";
		align-self: center;
		width: 40px;
		height: 4px;
		margin: 4px 0 10px;
		border-radius: 4px;
		background: var(--dq-line);
	}
	.dq-shop .dq-picker__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 0 10px;
	}
	.dq-shop.dq-shop .dq-picker__title {
		margin: 0;
		font-family: var(--dq-display);
		font-size: 1.3rem;
		font-weight: 500;
		color: var(--dq-ink);
	}
	.dq-shop.dq-shop .dq-picker__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		margin-inline-end: -8px;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: var(--dq-ink);
	}
	.dq-shop.dq-shop .dq-picker__option {
		min-height: 48px; /* comfortable thumb target */
		font-size: 15.5px;
	}
	html.dq-sheet-open,
	html.dq-sheet-open body {
		overflow: hidden;
	}
}
@keyframes dq-sheet-up {
	from {
		transform: translateY(100%);
	}
	to {
		transform: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.dq-shop .dq-picker__panel {
		animation: none;
	}
}

/* =========================================================================
   v2.7: segmented categories, scent chips, sticky control bar
   ====================================================================== */

/* The v2.5 underline tabs are replaced by the segmented control */
.dq-shop .dq-tabs {
	display: none;
}

/* ---------- Segmented control ---------- */

.dq-shop .dq-seg {
	margin: clamp(20px, 2.6vw, 30px) 0 0;
}
.dq-shop .dq-seg__list {
	display: inline-flex;
	gap: 4px;
	margin: 0;
	padding: 5px;
	border-radius: 999px;
	background: var(--dq-panel);
	list-style: none;
}
.dq-shop .dq-seg__list li {
	margin: 0;
}
.dq-shop.dq-shop .dq-seg__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 0 20px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 500;
	color: var(--dq-muted);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.dq-shop.dq-shop .dq-seg__item:hover {
	color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-seg__item.is-current {
	background: #fff;
	box-shadow: 0 1px 2px rgba(43, 33, 27, 0.08), 0 6px 16px -8px rgba(43, 33, 27, 0.35);
	font-weight: 600;
	color: var(--dq-ink);
}
.dq-shop .dq-seg__item.is-current .dq-seg__icon {
	color: var(--dq-amber);
}
.dq-shop .dq-seg__item:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 2px;
}

/* ---------- Scent chips ---------- */

.dq-shop .tone-amber { --t-bg: #f4e3cf; --t-dot: #b8611f; --t-ink: #7a3713; }
.dq-shop .tone-rose  { --t-bg: #f6e4df; --t-dot: #b35a73; --t-ink: #803f55; }
.dq-shop .tone-sand  { --t-bg: #efe6da; --t-dot: #9a7552; --t-ink: #5b4230; }
.dq-shop .tone-gold  { --t-bg: #f4ebd4; --t-dot: #b88a2e; --t-ink: #74551a; }
.dq-shop .tone-sage  { --t-bg: #e7ebe0; --t-dot: #6b8a5c; --t-ink: #3f5436; }
.dq-shop .tone-ink   { --t-bg: #e9e4df; --t-dot: #2b211b; --t-ink: #2b211b; }

.dq-shop .dq-scents {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 16px 0 0;
}
.dq-shop.dq-shop .dq-scents__label {
	flex: none;
	font-size: 13px;
	font-weight: 600;
	color: var(--dq-muted);
}
.dq-shop .dq-scents__list {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 2px;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}
.dq-shop .dq-scents__list::-webkit-scrollbar {
	display: none;
}
.dq-shop .dq-scents__list li {
	flex: none;
	margin: 0;
}
.dq-shop.dq-shop .dq-scent {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 15px 0 12px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	color: var(--dq-ink);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.dq-shop.dq-shop .dq-scent:hover {
	border-color: var(--t-dot);
	background: var(--t-bg);
}
.dq-shop.dq-shop .dq-scent.is-on {
	border-color: var(--t-dot);
	background: var(--t-bg);
	font-weight: 600;
	color: var(--t-ink);
}
.dq-scent__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--t-dot);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--t-dot) 18%, transparent);
}
.dq-shop .dq-scent:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 2px;
}

/* ---------- Sticky control bar ---------- */

.dq-shop .dq-shop__bar-sentinel {
	display: block;
	height: 1px;
	margin-top: clamp(14px, 2vw, 20px);
}
.dq-shop .dq-shop__bar {
	position: sticky;
	top: calc(var(--dq-hd-height, 76px) + var(--wp-admin--admin-bar--height, 0px));
	z-index: 40;
	margin: 0 calc(-1 * var(--dq-gutter, 24px)) clamp(18px, 2.5vw, 26px);
	padding: 10px var(--dq-gutter, 24px);
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	transition: box-shadow 0.25s ease;
}
.dq-shop .dq-shop__bar.is-stuck {
	box-shadow: 0 10px 24px -18px rgba(43, 33, 27, 0.55);
}
.dq-shop.dq-shop .dq-shop__count {
	font-size: 14px;
}
.dq-shop .dq-shop__sort-label {
	font-size: 14px;
}

@media (max-width: 719px) {
	.dq-shop .dq-seg__list {
		display: flex;
		width: 100%;
	}
	.dq-shop .dq-seg__list li {
		flex: 1;
	}
	.dq-shop.dq-shop .dq-seg__item {
		width: 100%;
		min-height: 40px;
		padding: 0 6px;
		gap: 5px;
		font-size: 14px;
	}
	.dq-shop .dq-scents {
		margin-inline: calc(-1 * var(--dq-gutter, 16px));
		padding-inline-start: var(--dq-gutter, 16px);
	}
	.dq-shop.dq-shop .dq-scents__label {
		display: none;
	}
	.dq-shop .dq-scents__list {
		padding-inline-end: var(--dq-gutter, 16px);
	}
	.dq-shop .dq-shop__bar {
		top: calc(var(--dq-hd-height, 64px) + var(--wp-admin--admin-bar--height, 0px));
		padding-block: 8px;
	}
	.dq-shop.dq-shop .dq-picker__button,
	.dq-shop.dq-shop .woocommerce-ordering select.orderby {
		height: 42px;
	}
}

@media (max-width: 719px) {
	/* while stuck, keep the bar to one row: the count is already known */
	.dq-shop .dq-shop__bar.is-stuck .dq-shop__count {
		display: none;
	}
	.dq-shop.dq-shop .woocommerce-ordering select.orderby {
		text-align: center;
		text-align-last: center;
		padding-inline: 34px;
	}
}

/* =========================================================================
   v3.1: header band, one sticky row on phones, tiles, "Show more"
   ====================================================================== */

/* ---------- Header band ---------- */

.dq-shop .woocommerce-products-header {
	--b-bg: var(--dq-panel);
	--b-glow: rgba(200, 156, 76, 0.22);
	--b-ink: var(--dq-ink);
	--b-muted: var(--dq-muted);
	--b-eyebrow: var(--dq-amber);
	position: relative;
	display: flex;
	flex-direction: column;
	margin: clamp(10px, 1.5vw, 16px) 0 0;
	padding: clamp(24px, 3.5vw, 44px) clamp(22px, 3.5vw, 48px);
	overflow: hidden;
	border-radius: clamp(20px, 2.4vw, 28px);
	background:
		radial-gradient(55% 90% at 88% 100%, var(--b-glow), transparent 70%),
		var(--b-bg);
}
body.dq-band-sand  .dq-shop .woocommerce-products-header { --b-bg: #efe6da; --b-glow: rgba(170, 130, 90, 0.35); --b-eyebrow: #7a5a3c; }
body.dq-band-rose  .dq-shop .woocommerce-products-header { --b-bg: #f6e4df; --b-glow: rgba(196, 110, 120, 0.3); --b-eyebrow: #9a4a64; }
body.dq-band-gold  .dq-shop .woocommerce-products-header { --b-bg: #f4ebd4; --b-glow: rgba(200, 156, 76, 0.45); --b-eyebrow: #8a661f; }
body.dq-band-sage  .dq-shop .woocommerce-products-header { --b-bg: #e7ebe0; --b-glow: rgba(110, 140, 100, 0.32); --b-eyebrow: #4d6841; }
body.dq-band-amber .dq-shop .woocommerce-products-header { --b-bg: #f4e3cf; --b-glow: rgba(200, 120, 50, 0.38); --b-eyebrow: #93461a; }
body.dq-band-ink   .dq-shop .woocommerce-products-header {
	--b-bg: #2b211b;
	--b-glow: rgba(200, 156, 76, 0.34);
	--b-ink: #f3e6d4;
	--b-muted: rgba(243, 230, 212, 0.72);
	--b-eyebrow: #c89c4c;
}
.dq-shop.dq-shop .woocommerce-products-header .dq-band__eyebrow {
	order: -1;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--b-eyebrow);
}
.dq-shop.dq-shop .woocommerce-products-header .page-title,
.dq-shop.dq-shop .woocommerce-products-header h1 {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--b-ink);
}
.dq-shop.dq-shop .woocommerce-products-header .dq-band__meta {
	position: relative;
	z-index: 1;
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--b-muted);
}
.dq-shop.dq-shop .woocommerce-products-header :is(.dq-shop__lead, .term-description, .term-description p) {
	position: relative;
	z-index: 1;
	max-width: 52ch;
	color: var(--b-muted);
}
.dq-shop .dq-band__art {
	position: absolute;
	right: clamp(24px, 5vw, 72px);
	bottom: -6px;
	display: flex;
	align-items: flex-end;
	gap: 14px;
	opacity: 0.95;
	pointer-events: none;
}
body.dq-band-ink .dq-shop .dq-band__art {
	opacity: 0.8;
}

/* ---------- Navigation under the band ---------- */

.dq-shop .dq-shop__nav {
	margin: clamp(16px, 2vw, 22px) 0 0;
}
.dq-shop .dq-shop__nav .dq-seg {
	margin: 0;
}
.dq-shop .dq-bar-scents {
	display: none;
}

/* ---------- Tiles inside the grid ---------- */

.dq-shop ul.products.dq-grid > li.dq-tile {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
	margin: 0 !important;
	padding: clamp(22px, 3vw, 34px) clamp(22px, 3vw, 40px);
	overflow: hidden;
	border-radius: 22px;
	list-style: none;
}
.dq-shop ul.products.dq-grid > li.dq-tile::before {
	content: none;
}
.dq-tile--sizes {
	background:
		radial-gradient(50% 120% at 85% 100%, rgba(200, 156, 76, 0.3), transparent 70%),
		var(--dq-panel);
}
.dq-tile--help {
	background:
		radial-gradient(45% 120% at 90% 0%, rgba(200, 156, 76, 0.28), transparent 70%),
		#2b211b;
	color: #f3e6d4;
}
.dq-shop.dq-shop .dq-tile__title {
	margin: 0 0 6px;
	font-family: var(--dq-display);
	font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.9rem);
	font-weight: 500;
	line-height: 1.15;
	color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-tile--help .dq-tile__title {
	color: #f3e6d4;
}
.dq-shop.dq-shop .dq-tile__body {
	max-width: 46ch;
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--dq-muted);
}
.dq-shop.dq-shop .dq-tile--help .dq-tile__body {
	color: rgba(243, 230, 212, 0.75);
}
.dq-shop.dq-shop .dq-tile__link {
	display: inline-block;
	margin-top: 12px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--dq-amber);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.dq-tile__vials {
	display: flex;
	flex: none;
	align-items: flex-end;
	gap: 16px;
}
.dq-shop.dq-shop .dq-tile__btn {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	background: #c89c4c;
	font-size: 15px;
	font-weight: 600;
	color: #2b211b;
	text-decoration: none;
}
.dq-shop.dq-shop .dq-tile__btn:hover {
	background: #e8cd93;
}
.dq-shop .dq-tile__btn .dq-icon {
	width: 18px;
	height: 18px;
}

/* ---------- Show more ---------- */

.dq-shop .dq-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: clamp(32px, 5vw, 52px) 0 0;
}
.dq-shop.dq-shop .dq-more__status {
	margin: 0;
	font-size: 14px;
	color: var(--dq-muted);
	font-variant-numeric: tabular-nums;
}
.dq-shop .dq-more__track {
	display: block;
	width: 180px;
	height: 3px;
	overflow: hidden;
	border-radius: 3px;
	background: var(--dq-line);
}
.dq-shop .dq-more__fill {
	display: block;
	width: 0;
	height: 100%;
	background: var(--dq-amber);
	transition: width 0.4s ease;
}
.dq-shop.dq-shop .dq-more__btn {
	min-height: 48px;
	margin-top: 6px;
	padding: 0 34px;
	border: 1px solid var(--dq-ink);
	border-radius: 999px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	color: var(--dq-ink);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.dq-shop.dq-shop .dq-more__btn:hover {
	background: var(--dq-ink);
	color: #fff;
}
.dq-shop.dq-shop .dq-more__btn.is-loading {
	opacity: 0.6;
}
.dq-shop .dq-more__btn:focus-visible {
	outline: 2px solid var(--dq-amber);
	outline-offset: 3px;
}

/* ---------- Phones ---------- */

@media (max-width: 719px) {
	.dq-shop .woocommerce-products-header {
		padding: 20px 20px 22px;
	}
	.dq-shop.dq-shop .woocommerce-products-header h1 {
		font-size: 2.1rem;
	}
	/* the band already says what this is: the generic lead line stays on larger screens */
	.dq-shop .woocommerce-products-header .dq-shop__lead {
		display: none;
	}
	.dq-shop .woocommerce-products-header :is(.dq-shop__lead--collection, .term-description) {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		margin-top: 8px;
		font-size: 14px;
	}
	.dq-shop .dq-band__art {
		right: 16px;
		transform: scale(0.62);
		transform-origin: 100% 100%;
	}
	.dq-shop .woocommerce-products-header :is(h1, .dq-band__meta, .dq-band__eyebrow) {
		max-width: 68%;
	}

	/* one sticky row: sort, brand, then the scent families, scrolling sideways */
	.dq-shop .dq-shop__nav-scents {
		display: none;
	}
	.dq-shop .dq-shop__bar {
		display: flex !important;
		align-items: center;
		gap: 8px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		background: #fff;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.dq-shop .dq-shop__bar::-webkit-scrollbar {
		display: none;
	}
	.dq-shop .dq-shop__bar-start,
	.dq-shop .dq-bar-scents,
	.dq-shop .dq-bar-scents .dq-scents,
	.dq-shop .dq-bar-scents .dq-scents__list {
		display: contents;
	}
	.dq-shop .dq-bar-scents .dq-scents__label {
		display: none;
	}
	.dq-shop .dq-shop__bar .dq-shop__count {
		display: none;
	}
	.dq-shop .dq-shop__sort {
		order: -2;
		flex: none;
	}
	.dq-shop .dq-shop__bar .dq-picker {
		order: -1;
		flex: none;
	}
	.dq-shop .dq-shop__bar :is(.dq-chip-remove, .dq-scents__list li) {
		flex: none;
	}
	.dq-shop.dq-shop .dq-shop__bar .dq-picker__button,
	.dq-shop.dq-shop .dq-shop__bar .woocommerce-ordering select.orderby,
	.dq-shop.dq-shop .dq-shop__bar .dq-scent {
		width: auto;
		height: 38px;
		min-height: 0;
		font-size: 14px;
	}
	.dq-shop.dq-shop .dq-shop__bar .dq-picker__button {
		padding: 0 14px;
	}
	.dq-shop.dq-shop .dq-shop__bar .woocommerce-ordering select.orderby {
		min-width: 0;
		max-width: 150px;
		padding: 0 30px 0 14px;
		text-align: left;
		text-align-last: left;
		background-position: right 10px center;
	}

	.dq-shop ul.products.dq-grid > li.dq-tile {
		flex-direction: column;
		align-items: flex-start;
		padding: 22px;
	}
	.dq-tile__vials {
		align-self: stretch;
		justify-content: space-around;
		transform: scale(0.8);
		transform-origin: 50% 100%;
	}
	.dq-shop.dq-shop .dq-tile__btn {
		align-self: stretch;
		justify-content: center;
	}
}
@media (max-width: 719px) {
	.dq-shop .dq-shop__bar {
		flex-wrap: nowrap !important;
		justify-content: flex-start;
	}
}
@media (max-width: 719px) {
	/* keep every line of the band clear of the vials on the right */
	.dq-shop .woocommerce-products-header :is(.dq-shop__lead--collection, .term-description) {
		max-width: 68%;
	}
}
@media (max-width: 719px) {
	.dq-shop.dq-shop .woocommerce-products-header :is(.dq-shop__lead, .dq-shop__lead--collection, .term-description) {
		max-width: 66%;
	}
}
@media (max-width: 719px) {
	.dq-shop.dq-shop .woocommerce-products-header :is(p.dq-shop__lead, .term-description p) {
		max-width: 66%;
	}
}
.dq-shop.dq-shop .dq-more__btn,
.dq-shop.dq-shop .dq-more__status {
	text-transform: none;
	letter-spacing: normal;
	font-family: inherit;
}

/* =========================================================================
   v4.2.2: brands on phones and tablets — the phone's own list, like the sort list.
   The floating brand panel stays on desktop.
   ====================================================================== */

.dq-shop .dq-brand-select {
	display: none;
}
.dq-shop.dq-shop .dq-brand-select select {
	height: 44px;
	max-width: 180px;
	margin: 0;
	padding: 0 38px 0 14px;
	border: 1px solid var(--dq-line);
	border-radius: 999px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b211b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	background-size: 15px 15px;
	box-shadow: none;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	text-overflow: ellipsis;
	color: var(--dq-ink);
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.dq-shop.dq-shop .dq-brand-select.is-active select {
	border-color: var(--dq-amber);
	background-color: var(--dq-amber-tint);
	color: var(--dq-amber);
}
.dq-shop.dq-shop .dq-brand-select select option {
	font-weight: 400;
	color: var(--dq-ink);
}
.dq-shop.dq-shop .dq-brand-select select:focus-visible {
	outline: 3px solid var(--dq-amber);
	outline-offset: 2px;
}
@media (max-width: 959px) {
	.dq-shop .dq-shop__bar .dq-picker,
	.dq-shop .dq-picker {
		display: none;
	}
	.dq-shop .dq-brand-select {
		display: inline-flex;
		flex: none;
		order: -1;
	}
}
@media (max-width: 719px) {
	.dq-shop.dq-shop .dq-brand-select select {
		height: 38px;
		max-width: 160px;
		font-size: 14px;
	}
}

/* =========================================================================
   v4.8: a brand page with a header photo. Computers and tablets: the photo fills the far half of the band and
   fades into it (its dark side meets the dark "house" band). Phones: the photo on top, the text below.
   The photo is never flipped in Arabic (it has labels); it only changes side with the text.
   ====================================================================== */
.dq-shop .dq-band__photo {
	display: block;
}
.dq-shop .dq-band__photo img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}
@media (min-width: 720px) {
	body.dq-band-photo .dq-shop .woocommerce-products-header {
		justify-content: center;
		min-height: clamp(300px, 30vw, 420px);
		padding-inline-end: 52%;
	}
	body.dq-band-photo .dq-shop .dq-band__photo {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 58%;
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%);
		mask-image: linear-gradient(to right, transparent 0, #000 22%);
	}
}
@media (max-width: 719px) {
	body.dq-band-photo .dq-shop .woocommerce-products-header {
		padding-top: 0;
	}
	body.dq-band-photo .dq-shop .dq-band__photo {
		order: -1;
		aspect-ratio: 3 / 2;
		margin: 0 calc(-1 * clamp(22px, 3.5vw, 48px)) 18px;
		-webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
	}
}
@media (max-width: 719px) {
	/* the photo comes before everything, "Fragrance house" stays with the title under it */
	body.dq-band-photo .dq-shop .dq-band__photo {
		order: -2;
	}
}

/* v5.0: the text under the products of a house, a category or the shop (what the page is, in searched words). */
.dq-shop .dq-seo-text {
	max-width: 760px;
	margin: 48px auto 8px;
	padding: 24px 0 0;
	border-top: 1px solid var(--dq-line, #e6e0da);
	text-align: start;
}
.dq-shop .dq-seo-text__title {
	margin: 0 0 10px;
	font-family: var(--dq-display, Georgia), serif;
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.4rem);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dq-ink, #2b211b);
}
.dq-shop .dq-seo-text p {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.75;
	color: var(--dq-muted, #6e6258);
}
