/* Detailing-Market fixes on top of the bono theme. Kept in a plugin so theme updates don't wipe them. */

:root {
	--dmst-accent: #8b5cf6;
	--dmst-blue: #6a3df0; /* brand violet (logo); the name stayed from the old blue */
	--dmst-blue-dark: #5530d6;
	--dmst-grad: linear-gradient(135deg, #8b5cf6 0%, #6a3df0 55%, #5530d6 100%);
	--dmst-footer-bg: #14161c;
	--dmst-footer-text: #c9ccd6;
	--dmst-footer-muted: #8a8f9c;
}

/* ---------- Prices: never split "4 300 000 UZS" across lines ---------- */

.price .amount,
.price bdi {
	white-space: nowrap;
}

.shop-item__price .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 8px;
	row-gap: 2px;
}

.shop-item__price .price ins {
	order: 1;
}

.shop-item__price .price del {
	order: 2;
	font-size: 0.85em;
}

/* ---------- Scroll-to-top: left, the chat button sits bottom-right ---------- */

.scrolltop {
	left: 20px !important;
	right: auto !important;
}

/* ---------- Checkout note ---------- */

.dmst-checkout-note {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-left: 3px solid var(--dmst-blue);
	background: #f5f1ff;
	font-size: 14px;
	line-height: 1.5;
}

/* ---------- Language switcher (header) ---------- */

.trp-language-switcher.trp-floating-switcher {
	display: none !important; /* replaced by .dmst-lang */
}

.dmst-lang {
	display: inline-flex;
	align-items: center;
	margin-left: 16px;
	padding: 3px;
	border-radius: 999px;
	background: #f1f2f6;
	vertical-align: middle;
	flex-shrink: 0;
}

.dmst-lang a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
	color: #5b6170 !important;
	text-decoration: none !important;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.dmst-lang .dmst-flag {
	width: 21px;
	height: 14px;
	margin-right: 6px;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(20, 22, 28, 0.12);
	flex-shrink: 0;
}

.dmst-lang a:not(.is-active) .dmst-flag {
	opacity: 0.75;
}

.dmst-lang a:hover .dmst-flag {
	opacity: 1;
}

.dmst-lang a:hover {
	color: #1b1f24 !important;
}

.dmst-lang a.is-active {
	background: #fff;
	color: #1b1f24 !important;
	box-shadow: 0 1px 3px rgba(20, 22, 28, 0.15);
	pointer-events: none;
}

.dmst-lang a:focus-visible {
	outline: 2px solid var(--dmst-blue);
	outline-offset: 1px;
}

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

@media (max-width: 767px) {
	/* iOS zooms into inputs under 16px. */
	input[type="text"],
	input[type="search"],
	input[type="tel"],
	input[type="email"],
	input[type="number"],
	input[type="password"],
	select,
	textarea {
		font-size: 16px !important;
	}

	/* Header: one compact row — menu · search | logo | phone · cart. */
	.site-header-inner {
		min-height: 64px;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.site-header .site-logotype img {
		width: 48px !important;
		height: 48px !important;
	}

	.site-header .social-links,
	.site-header .header-phone__item small,
	.site-header .header-phone__item br,
	.site-header .header-mobile-item:has(.header-compare) {
		display: none !important;
	}

	.site-header .humburger {
		top: 32px !important;
		left: 16px !important;
		transform: translateY(-50%);
	}

	.site-header .header-mobile-items-container {
		position: absolute;
		left: 58px;
		top: 32px;
		transform: translateY(-50%);
		margin: 0 !important;
		width: auto !important;
		gap: 6px;
	}

	.site-header .header-mobile-items-container > div {
		margin: 0 !important;
		min-width: 40px;
		min-height: 40px;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	.site-header .header-phone {
		position: absolute;
		right: 60px;
		top: 32px;
		transform: translateY(-50%);
		margin: 0 !important;
		width: auto !important;
	}

	.site-header .header-phone__item a {
		display: block !important;
		width: 40px !important;
		height: 40px !important;
		font-size: 0 !important;
		line-height: 0 !important;
		padding: 0 !important;
		color: transparent;
		background: center / 22px 22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1f24' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
	}

	.site-header .header-phone__item a::before,
	.site-header .header-phone__item a::after {
		display: none !important;
	}

	/* Centre the 44px cart icon on the 64px header row with top, not transform: a transformed
	   ancestor traps the theme's position:fixed cart drawer inside the 44px box (a thin strip). */
	.site-header .header-cart {
		top: 10px !important;
		right: 12px !important;
	}

	.site-header .header-cart > a,
	.site-header .header-cart .header-cart__link {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
	}

	/* The home slider is switched off for phones in the theme settings
	   ("disable on mobile"); that check now happens here, not in PHP. */
	.home .card-slider-container {
		display: none !important;
	}

	/* Product page: bigger quantity steppers. */
	.quantity .quantity-minus,
	.quantity .quantity-plus {
		min-width: 40px;
		min-height: 44px;
	}

	/* Header row on phones: ☰ 🔍 RU|UZ … logo … 📞 🛒 (account lives in the menu and footer). */
	.site-header .header-mobile-item:has(.header-customer-account) {
		display: none !important;
	}

	/* Phones: flags only; logo moves left next to the menu to make room. */
	.site-header .dmst-lang {
		position: absolute;
		right: 194px; /* left of 🔍 ♡ (mobile items, right: 104px, 2×46px) */
		top: 32px;
		transform: translateY(-50%);
		margin-left: 0;
		padding: 2px;
	}

	.site-header .dmst-lang a {
		min-width: 36px;
		height: 32px;
		padding: 0 7px;
	}

	.site-header .dmst-lang .dmst-flag {
		width: 22px;
		height: 15px;
		margin-right: 0;
	}

	.site-header .dmst-lang .dmst-lang-code {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.site-header .site-branding {
		justify-content: flex-start !important;
		padding-left: 40px;
		flex: 0 0 auto !important;
		max-width: none !important; /* the theme's 70px squeezed the logo to a 6px sliver */
	}

	.site-header .site-logotype {
		flex-shrink: 0;
	}

	.site-header .site-logotype img {
		max-width: none !important;
	}

	.site-header .header-mobile-items-container {
		left: auto !important;
		right: 104px;
	}

	/* Header bar spacing. */
	.site-header {
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}

	/* Product photo: leave room for title, price and the buy button. */
	.single-product .product-images .woocommerce-product-gallery__image img {
		max-height: 280px;
		width: auto !important;
		margin: 0 auto;
		object-fit: contain;
	}

	.single-product .product-images .woocommerce-product-gallery,
	.single-product .product-images {
		height: auto !important;
	}
}

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

.site-footer.site-footer--style-gray {
	background: var(--dmst-footer-bg) !important;
	color: var(--dmst-footer-text);
	padding-top: 48px;
}

.site-footer .footer-widgets {
	display: grid !important;
	grid-template-columns: 1.4fr repeat(4, 1fr);
	gap: 32px;
}

.site-footer .footer-widget {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: none !important;
}

.site-footer .footer-widget:empty {
	display: none;
}

.site-footer .widget-header {
	margin: 0 0 14px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	color: #fff !important;
	text-transform: none !important;
}

.site-footer .widget ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.site-footer .widget li {
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.45;
}

.site-footer .widget li::before {
	display: none !important;
}

.site-footer a {
	color: var(--dmst-footer-text) !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: #fff !important;
	text-decoration: underline !important;
}

.dmst-footer-brand img {
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: #fff;
	padding: 4px;
	display: block;
	margin-bottom: 14px;
}

.dmst-footer-brand p,
.dmst-footer-text {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--dmst-footer-muted);
}

.dmst-footer-phone {
	display: inline-block;
	font-size: 18px;
	font-weight: 600;
	color: #fff !important;
	margin-bottom: 4px;
}

.dmst-footer-social {
	display: flex;
	gap: 10px;
	margin-top: 14px;
}

.dmst-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #232733;
}

.dmst-footer-social a:hover {
	background: var(--dmst-accent);
	text-decoration: none !important;
}

.dmst-footer-social svg {
	width: 22px;
	height: 22px;
	fill: #fff;
}

.site-footer .footer-bottom {
	margin-top: 36px;
	padding: 20px 0 24px;
	border-top: 1px solid #262a35;
	color: var(--dmst-footer-muted);
	font-size: 13px;
}

@media (max-width: 991px) {
	.site-footer .footer-widgets {
		grid-template-columns: 1fr 1fr;
		gap: 28px 24px;
	}

	.site-footer .footer-widget:first-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 480px) {
	.site-footer.site-footer--style-gray {
		padding-top: 36px;
	}

	.site-footer .footer-widgets {
		gap: 24px 16px;
	}

	/* Delivery and contacts read better full width. */
	.site-footer .footer-widget:nth-child(4),
	.site-footer .footer-widget:nth-child(5) {
		grid-column: 1 / -1;
	}

	/* Room for the chat button at the very bottom. */
	.site-footer .footer-bottom {
		padding-bottom: 96px;
	}
}

/* ======================================================================
   Selling blocks (v1.1)
   ====================================================================== */

.dmst-ico {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	color: var(--dmst-blue);
}

.dmst-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	border: 2px solid transparent;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.dmst-btn--primary {
	background: var(--dmst-blue);
	color: #fff !important;
}

.dmst-btn--primary:hover {
	background: #5530d6;
}

.dmst-btn--ghost {
	background: #fff;
	color: var(--dmst-blue) !important;
	border-color: #d8defe;
}

.dmst-btn--ghost:hover {
	border-color: var(--dmst-blue);
}

/* ---------- Top bar: one line ---------- */

.super-header,
.super-header * {
	white-space: nowrap;
}

/* ---------- Home hero + benefits ---------- */

.dmst-hero {
	background: linear-gradient(180deg, #f6f4ff 0%, #fff 100%);
	padding: 28px 0 8px;
}

.dmst-hero-inner {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 20px;
}

.dmst-hero-title {
	margin: 0 0 8px !important;
	font-size: 30px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	color: #14161c;
	max-width: 860px;
}

.dmst-hero-sub {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.5;
	color: #4b5160;
	max-width: 760px;
}

.dmst-hero-img {
	display: block;
	width: 100%;
	max-width: 460px;
	height: auto;
	max-height: 200px;
	object-fit: contain;
	margin: 4px auto 18px;
}

@media (min-width: 992px) {
	/* Left: title, rating, subtitle, buttons; right: the bottles; benefits strip full width below. */
	.dmst-hero-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 460px;
		column-gap: 32px;
		align-items: center;
	}

	.dmst-hero-inner > .dmst-hero-img {
		max-height: 260px;
		margin: 0;
	}

	.dmst-hero-inner > .dmst-benefits {
		grid-column: 1 / -1;
	}
}

.dmst-hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 22px;
}

.dmst-benefits {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.dmst-benefits li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0 !important;
	padding: 14px 16px !important;
	background: #fff;
	border: 1px solid #ebe8f7;
	border-radius: 14px;
}

.dmst-benefits li::before {
	display: none !important;
}

.dmst-benefits span {
	font-size: 13px;
	line-height: 1.4;
	color: #5b6170;
}

.dmst-benefits b {
	display: block;
	font-size: 14px;
	color: #14161c;
	margin-bottom: 2px;
}

@media (max-width: 991px) {
	.dmst-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.dmst-hero {
		padding: 18px 0 4px;
	}

	.dmst-hero-inner {
		padding: 0 16px;
	}

	.dmst-hero-title {
		font-size: 22px !important;
	}

	.dmst-hero-sub {
		font-size: 14px;
		margin-bottom: 14px;
	}

	.dmst-hero-cta .dmst-btn {
		flex: 1 1 100%;
	}

	.dmst-benefits {
		gap: 8px;
	}

	.dmst-benefits li {
		flex-direction: column;
		gap: 6px;
		padding: 12px !important;
	}
}

/* ---------- Product cards: button under the price ---------- */

.dmst-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.dmst-card > .shop-item__buttons {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	margin-top: auto !important;
	padding-top: 12px;
	width: 100%;
	display: block !important;
}

.dmst-card > .shop-item__buttons .button {
	width: 100%;
	justify-content: center;
	margin: 0 !important;
}

.dmst-card > .shop-item__buttons .added_to_cart {
	display: block;
	text-align: center;
	margin-top: 6px;
	font-size: 13px;
}

/* ---------- Product page ---------- */

.dmst-buyinfo {
	margin: 18px 0 0 !important;
	padding: 14px 16px !important;
	list-style: none !important;
	background: #f7f8fc;
	border-radius: 14px;
	display: grid;
	gap: 10px;
}

.dmst-buyinfo li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.45;
	color: #3d4250;
}

.dmst-buyinfo li::before {
	display: none !important;
}

.dmst-buyinfo b {
	color: #14161c;
}

.dmst-ask-chat:not(.dmst-btn) {
	padding: 0;
	border: 0;
	background: none;
	color: var(--dmst-blue);
	font: inherit;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

.single-product form.cart .single_add_to_cart_button {
	min-height: 48px;
	padding-left: 32px;
	padding-right: 32px;
	font-size: 16px;
	border-radius: 12px;
}

.dmst-buybar {
	display: none;
}

@media (max-width: 767px) {
	.dmst-buybar:not([hidden]) {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 8500;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -4px 18px rgba(20, 22, 28, 0.12);
	}

	.dmst-buybar-price {
		font-size: 18px;
		font-weight: 700;
		white-space: nowrap;
		color: #14161c;
	}

	.dmst-buybar-btn {
		flex: 1;
		min-height: 48px;
		border: 0;
		border-radius: 12px;
		background: var(--dmst-blue);
		color: #fff;
		font-size: 16px;
		font-weight: 600;
	}

	/* Keep the chat button above the bar. */
	.dmst-buybar-on #dmac-widget:not(.dmac-open) {
		bottom: calc(84px + env(safe-area-inset-bottom)) !important;
	}

	.single-product form.cart .single_add_to_cart_button {
		width: 100%;
	}
}

/* ---------- Free shipping progress ---------- */

.dmst-freeship {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 12px;
	background: #f5f1ff;
	font-size: 14px;
	line-height: 1.4;
	color: #2d3240;
}

.dmst-freeship.is-done {
	background: #edf9f0;
	color: #16653a;
}

.dmst-freeship.is-done .dmst-ico {
	color: #1f9d55;
}

.dmst-freeship b {
	white-space: nowrap;
}

.dmst-freeship-bar {
	flex: 1 1 100%;
	height: 6px;
	border-radius: 3px;
	background: #dfe4fb;
	overflow: hidden;
	font-style: normal;
}

.dmst-freeship-bar > i {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: var(--dmst-blue);
	transition: width 0.3s ease;
}

.dmst-freeship.is-done .dmst-freeship-bar > i {
	background: #1f9d55;
}

/* ---------- Checkout ---------- */

.woocommerce-checkout #billing_country_field,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .create-account {
	display: none !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	border-radius: 10px;
	min-height: 48px;
}

.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 54px;
	font-size: 17px;
	font-weight: 600;
	border-radius: 12px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th {
	text-transform: none !important;
	color: #3d4250 !important;
	font-weight: 600;
}

/* The slider tucks under the menu with a negative margin; after the hero block it overlapped the benefits. */
.dmst-hero ~ .site-content .card-slider-container {
	margin-top: 0 !important;
}

.dmst-hero {
	padding-bottom: 24px;
}

/* Product cards on phones: one-line button, titles capped at 3 lines. */
@media (max-width: 767px) {
	.dmst-card > .shop-item__buttons .button {
		font-size: 14px !important;
		padding: 10px 8px !important;
		white-space: nowrap;
		min-height: 44px;
	}

	.dmst-card > .shop-item__buttons .button::before {
		display: none !important;
	}

	.dmst-card .shop-item__title a {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}

/* With the buy bar showing, the chat launcher shrinks to an icon. */
@media (max-width: 767px) {
	.dmst-buybar-on #dmac-widget:not(.dmac-open) .dmac-launcher-label {
		display: none;
	}

	.dmst-buybar-on #dmac-widget:not(.dmac-open) #dmac-launcher {
		width: 56px;
		padding: 0;
		justify-content: center;
	}
}

/* ---------- Order through the assistant ---------- */

.dmst-order-alt {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
	width: 100%;
}

.dmst-order-chat,
.dmst-order-tg {
	flex: 1 1 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 16px;
	border-radius: 12px;
	border: 2px solid #d8defe;
	background: #fff;
	color: var(--dmst-blue) !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dmst-order-tg {
	border-color: #cde8f6;
	color: #1a8ad0 !important;
}

.dmst-order-tg .dmst-ico {
	color: #229ed9;
}

.dmst-order-chat:hover,
.dmst-order-tg:hover {
	border-color: currentColor;
	background: #f7f9ff;
}

/* ---------- Bought-together blocks ---------- */

.dmst-xsell {
	clear: both;
	margin: 32px 0 8px;
}

.dmst-xsell-title {
	margin: 0 0 16px !important;
	font-size: 22px !important;
	line-height: 1.3 !important;
}

.dmst-xsell--cart {
	margin-top: 24px;
}

@media (max-width: 767px) {
	.dmst-xsell-title {
		font-size: 19px !important;
	}
}

/* ---------- Instagram reels ---------- */

.dmst-reels {
	clear: both;
	margin: 32px 0 8px;
}

.dmst-reels-row {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 6px;
}

.dmst-reel {
	position: relative;
	flex: 0 0 240px;
	aspect-ratio: 9 / 16;
	max-height: 430px;
	border: 0;
	border-radius: 16px;
	overflow: hidden;
	background: #14161c;
	padding: 0;
	cursor: pointer;
	scroll-snap-align: start;
}

.dmst-reel--open {
	flex-basis: 320px;
	aspect-ratio: auto;
	max-height: none;
	height: 560px;
	cursor: default;
	background: #fff;
}

.dmst-reel--open iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.dmst-reel-poster {
	position: absolute;
	inset: 0;
	background: #f3f4f8 center / 70% no-repeat;
	opacity: 0.55;
}

.dmst-reel::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 22, 28, 0) 40%, rgba(20, 22, 28, 0.75) 100%);
}

.dmst-reel--open::after {
	display: none;
}

.dmst-reel-play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
	z-index: 1;
}

.dmst-reel-play::before {
	content: "";
	position: absolute;
	left: 26px;
	top: 20px;
	border-style: solid;
	border-width: 12px 0 12px 19px;
	border-color: transparent transparent transparent var(--dmst-blue);
}

.dmst-reel-label {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	z-index: 1;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
}

@media (max-width: 767px) {
	.dmst-reel {
		flex-basis: 70%;
	}

	.dmst-reel--open {
		flex-basis: 88%;
	}
}

/* The theme lays form.cart out as a flex row; keep the alternatives under the main button. */
.single-product form.cart .dmst-order-alt {
	order: 99;
	flex-basis: 100%;
}

.dmst-reel.has-cover .dmst-reel-poster {
	background-size: cover;
	opacity: 1;
}

/* ======================================================================
   v1.4 — modern product cards, home blocks, calmer section backgrounds
   ====================================================================== */

:root {
	--dmst-ink: #14161c;
	--dmst-muted: #5b6170;
	--dmst-line: #eceef3;
	--dmst-soft: #f4f6fb;
	--dmst-sale: #e5383b;
	--dmst-radius: 16px;
}

/* ---------- Section backgrounds: one soft tone instead of patterns/gradients ---------- */

.section-preset--bgi-1,
.section-preset--bgc-1,
.section-preset--bgc-3,
.section-preset--gradient-2,
.sidebar-none .section-preset--bgi-1:before,
.sidebar-none .section-preset--bgc-1:before,
.sidebar-none .section-preset--bgc-3:before,
.sidebar-none .section-preset--gradient-2:before {
	background: var(--dmst-soft) !important;
	background-image: none !important;
}

.section-block__title {
	font-size: 28px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	color: var(--dmst-ink);
}

@media (max-width: 767px) {
	.section-block__title {
		font-size: 22px !important;
	}
}

/* ---------- Product cards ---------- */

.shop-item .shop-item-inner {
	background: #fff;
	border: 1px solid var(--dmst-line);
	border-radius: var(--dmst-radius);
	padding: 12px 12px 14px;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	box-shadow: none !important;
}

@media (hover: hover) {
	.shop-item .shop-item-inner:hover {
		border-color: #dfe3ee;
		box-shadow: 0 12px 32px rgba(20, 22, 28, 0.08) !important;
		transform: translateY(-2px);
	}
}

.shop-item .shop-item__image {
	background: #f6f7fa;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 12px;
}

.shop-item .shop-item__image img {
	mix-blend-mode: multiply; /* white product shots sit on the soft tile */
	object-fit: contain;
}

.shop-item .shop-item__icons-compare {
	display: none !important;
}

.shop-item .shop-item__icons-favorite {
	background: #fff !important;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(20, 22, 28, 0.08);
}

.shop-item .shop-item__badge {
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1.2 !important;
	box-shadow: none !important;
}

.shop-item .onsale.shop-item__badge {
	background: var(--dmst-sale) !important;
}

.shop-item .shop-item__title,
.shop-item .shop-item__title a {
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: var(--dmst-ink) !important;
}

.shop-item .shop-item__title a {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.shop-item .shop-item__price {
	margin-top: 8px;
}

.shop-item .shop-item__price .price,
.shop-item .shop-item__price .price ins {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--dmst-ink) !important;
	text-decoration: none;
}

.shop-item.sale .shop-item__price .price ins {
	color: var(--dmst-sale) !important;
}

.shop-item .shop-item__price .price del {
	font-size: 13px !important;
	font-weight: 400 !important;
	color: #8a8f9c !important;
}

.shop-item .shop-item__price .price del::after,
.shop-item .shop-item__price .price del::before,
.price del::after,
.price del::before,
del.dm-old::after {
	display: none !important; /* the theme's red slash, everywhere (product page size price too); a plain strike-through is cleaner */
}

.dmst-card > .shop-item__buttons .button {
	border-radius: 12px !important;
	min-height: 44px;
	font-weight: 600 !important;
	background: var(--dmst-blue) !important;
	box-shadow: none !important;
}

.dmst-card > .shop-item__buttons .button:hover {
	background: var(--dmst-grad) !important;
}

/* ---------- Hero trust line ---------- */

.dmst-trust {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-top: 14px;
	font-size: 14px;
	color: var(--dmst-muted) !important;
	text-decoration: none !important;
}

.dmst-trust b {
	color: var(--dmst-ink);
}

.dmst-trust-stars {
	color: #f5a524;
	letter-spacing: 1px;
}

.dmst-trust:hover span:last-child {
	text-decoration: underline;
}

/* ---------- Task tiles ---------- */

.dm-tasks {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.dm-task {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px 10px 10px;
	background: #fff;
	border: 1px solid var(--dmst-line);
	border-radius: var(--dmst-radius);
	text-decoration: none !important;
	color: var(--dmst-ink) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dm-task:hover {
	border-color: #cfd6f7;
	box-shadow: 0 8px 24px rgba(59, 91, 253, 0.08);
}

.dm-task-img {
	flex: 0 0 64px;
	height: 64px;
	border-radius: 12px;
	background: #f6f7fa;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dm-task-img img {
	max-width: 56px;
	max-height: 56px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.dm-task-text b {
	display: block;
	font-size: 15px;
	line-height: 1.3;
}

.dm-task-text small {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: var(--dmst-muted);
}

@media (max-width: 991px) {
	.dm-tasks {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.dm-tasks {
		gap: 8px;
	}

	.dm-task {
		gap: 8px;
		padding: 6px 8px 6px 6px;
		border-radius: 12px;
	}

	.dm-task-img {
		flex-basis: 44px;
		height: 44px;
		border-radius: 10px;
	}

	.dm-task-img img {
		max-width: 38px;
		max-height: 38px;
	}

	.dm-task-text b {
		font-size: 13px;
		line-height: 1.25;
	}

	.dm-task-text small {
		display: none;
	}
}

/* ---------- Bundles ---------- */

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

.dm-bundle {
	display: flex;
	flex-direction: column;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--dmst-line);
	border-radius: var(--dmst-radius);
}

.dm-bundle-imgs {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 12px;
}

.dm-bundle-imgs a {
	flex: 0 1 96px;
	aspect-ratio: 1;
	border-radius: 12px;
	background: #f6f7fa;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dm-bundle-imgs img {
	max-width: 86%;
	max-height: 86%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.dm-bundle-plus {
	color: #a0a6b4;
	font-size: 20px;
	font-weight: 600;
}

.dm-bundle-title {
	margin: 0 0 4px !important;
	font-size: 19px !important;
	line-height: 1.3 !important;
	color: var(--dmst-ink);
}

.dm-bundle-desc {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--dmst-muted);
}

.dm-bundle-list {
	margin: 0 0 14px !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 13px;
	line-height: 1.45;
}

.dm-bundle-list li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 5px 0 !important;
	margin: 0 !important;
	border-bottom: 1px dashed var(--dmst-line);
}

.dm-bundle-list li::before {
	display: none !important;
}

.dm-bundle-list a {
	color: var(--dmst-ink) !important;
	text-decoration: none !important;
}

.dm-bundle-list span {
	white-space: nowrap;
	color: var(--dmst-muted);
}

.dm-bundle-foot {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.dm-bundle-sum {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	color: var(--dmst-muted);
}

.dm-bundle-sum b {
	font-size: 20px;
	color: var(--dmst-ink);
}

.dm-bundle-sum em {
	font-style: normal;
	font-size: 12px;
	color: #16653a;
}

.dm-bundle-error {
	flex-basis: 100%;
	font-size: 13px;
	color: var(--dmst-sale);
}

@media (max-width: 767px) {
	/* Phones: kits as a swipeable row instead of four tall cards. */
	.dm-bundles {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 12px;
		margin-right: -16px;
		padding: 0 16px 8px 0;
		scrollbar-width: none;
	}

	.dm-bundles::-webkit-scrollbar {
		display: none;
	}

	.dm-bundle {
		flex: 0 0 86%;
		scroll-snap-align: start;
		padding: 14px;
	}

	.dm-bundle-desc {
		display: none;
	}

	.dm-bundle-foot .dmst-btn {
		flex: 1 1 100%;
	}
}

/* ---------- Reels on home ---------- */

.dm-reel-card {
	flex: 0 0 220px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	scroll-snap-align: start;
}

.dm-reel-card .dmst-reel {
	flex: none;
	width: 100%;
}

.dm-reel-card .dmst-reel--open {
	height: 520px;
}

.dm-reel-product {
	font-size: 13px;
	line-height: 1.35;
	color: var(--dmst-ink) !important;
	text-decoration: none !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------- FAQ ---------- */

.dm-faq {
	max-width: 860px;
	display: grid;
	gap: 10px;
}

.dm-faq-item {
	background: #fff;
	border: 1px solid var(--dmst-line);
	border-radius: 14px;
	padding: 0 18px;
}

.dm-faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 16px 28px 16px 0;
	position: relative;
	font-size: 16px;
	font-weight: 600;
	color: var(--dmst-ink);
}

.dm-faq-item summary::-webkit-details-marker {
	display: none;
}

.dm-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	color: var(--dmst-blue);
}

.dm-faq-item[open] summary::after {
	content: "−";
}

.dm-faq-item p {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--dmst-muted);
}

/* ---------- CTA band ---------- */

.dm-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 28px;
	padding: 28px 32px;
	border-radius: 20px;
	background: var(--dmst-grad);
	color: #fff;
}

.dm-cta h2 {
	margin: 0 0 6px !important;
	font-size: 26px !important;
	color: #fff !important;
}

.dm-cta p {
	margin: 0;
	font-size: 16px;
	opacity: 0.92;
}

.dm-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

.dm-cta .dmst-btn--primary {
	background: #fff;
	color: var(--dmst-blue) !important;
}

.dm-cta .dmst-btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.6);
	color: #fff !important;
}

.dm-cta-phone {
	color: #fff !important;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.dm-cta {
		padding: 22px 18px;
	}

	.dm-cta h2 {
		font-size: 21px !important;
	}

	.dm-cta-actions .dmst-btn {
		flex: 1 1 100%;
	}
}

/* ---------- Kits v2: 3 per row, numbered steps, "all kits" ---------- */

@media (min-width: 992px) {
	.dm-bundles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dm-bundles-product .dm-bundles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.dm-bundle-list {
	counter-reset: dmstep;
}

.dm-bundle-list li {
	counter-increment: dmstep;
	justify-content: flex-start !important;
}

.dm-bundle-list li a {
	flex: 1;
}

.dm-bundle-list li::before {
	content: counter(dmstep) !important;
	display: inline-flex !important;
	flex: 0 0 20px;
	height: 20px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f1ebff;
	color: var(--dmst-blue);
	font-size: 11px;
	font-weight: 700;
	position: static !important;
	margin: 0 !important;
}

.dm-bundles-more {
	margin: 20px 0 0 !important;
	text-align: center;
}

@media (min-width: 768px) {
	.dm-bundles--all {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		display: grid;
	}
}

@media (max-width: 767px) {
	/* The all-kits page lists them vertically. */
	.dm-bundles--all {
		display: grid !important;
		grid-template-columns: 1fr;
		overflow: visible;
		margin-right: 0;
		padding-right: 0;
	}

	.dm-bundles--all .dm-bundle-desc {
		display: block;
	}
}

/* ---------- Home slider (desktop): text on the left, no white boxes ---------- */

@media (min-width: 768px) {
	/* Banner art keeps the products in the right ~45%; text lives in the left half. */
	.card-slider-container .card-slider__body {
		align-items: center !important;
		justify-content: flex-start !important;
	}

	.card-slider-container .card-slider__body-inner {
		width: 46% !important;
		max-width: 46% !important;
		margin: 0 !important;
		padding: 0 0 0 max(90px, calc((100vw - 1300px) / 2)) !important;
		text-align: left;
	}

	.card-slider-container .card-slider {
		min-height: 300px;
	}

	.card-slider-container .card-slider__title,
	.card-slider-container .card-slider__title span,
	.card-slider-container .card-slider__excerpt,
	.card-slider-container .card-slider__excerpt span {
		background: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		-webkit-box-decoration-break: initial;
		box-decoration-break: initial;
	}

	.card-slider-container .card-slider__title span {
		font-size: clamp(26px, 2.3vw, 40px) !important;
		line-height: 1.15 !important;
		font-weight: 700 !important;
		letter-spacing: -0.01em;
		color: #14161c !important;
	}

	.card-slider-container .card-slider__excerpt {
		margin-top: 14px !important;
	}

	.card-slider-container .card-slider__excerpt span {
		font-size: clamp(14px, 1.05vw, 18px) !important;
		line-height: 1.5 !important;
		color: #4b5160 !important;
	}

	.card-slider-container .card-slider__button,
	.card-slider-container .card-slider__body .btn {
		display: inline-flex !important;
		align-items: center;
		margin-top: 22px !important;
		min-height: 50px;
		padding: 0 28px !important;
		border-radius: 12px !important;
		background: var(--dmst-blue) !important;
		color: #fff !important;
		font-size: 16px !important;
		font-weight: 600 !important;
		border: 0 !important;
		box-shadow: 0 8px 20px rgba(59, 91, 253, 0.25) !important;
	}

	.card-slider-container .swiper-pagination-bullet-active {
		background: var(--dmst-blue) !important;
	}
}

/* ---------- Kits page: full width, no sidebar ---------- */

body.page-template-default:has(.dm-bundles--all) .content-area,
body.page-template-default:has(.dm-art) .content-area,
body.page-template-default:has(.dm-stores) .content-area {
	max-width: 100% !important;
	width: 100% !important;
	flex: 1 1 100% !important;
}

body.page-template-default:has(.dm-art) #secondary,
body.page-template-default:has(.dm-stores) #secondary,
body.page-template-default:has(.dm-stores) .widget-area,
body.page-template-default:has(.dm-bundles--all) #secondary,
body.page-template-default:has(.dm-bundles--all) .widget-area {
	display: none !important;
}

body.page-template-default:has(.dm-bundles--all) .entry-content > p:first-child {
	max-width: 760px;
	margin: 0 auto 24px;
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
	color: var(--dmst-muted);
}

/* ---------- Breadcrumbs: one consistent look everywhere ---------- */

.breadcrumb,
.woocommerce-breadcrumb {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	width: 100%;
	margin: 0 0 14px !important;
	padding: 0 !important;
	text-align: left !important;
	justify-content: flex-start !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: #8a8f9c !important;
}

.article-meta {
	text-align: left !important;
}

.breadcrumb a,
.woocommerce-breadcrumb a {
	color: #5b6170 !important;
	text-decoration: none !important;
}

.breadcrumb a:hover,
.woocommerce-breadcrumb a:hover {
	color: var(--dmst-blue) !important;
	text-decoration: underline !important;
}

.breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.breadcrumb-separator,
.woocommerce-breadcrumb .breadcrumb-separator {
	color: #c0c4ce !important;
}

@media (max-width: 767px) {
	.breadcrumb,
	.woocommerce-breadcrumb {
		font-size: 12px !important;
		margin-bottom: 10px !important;
	}
}

.breadcrumb .breadcrumb_last,
.woocommerce-breadcrumb > span:last-child:not(.breadcrumb-separator) {
	color: #14161c !important;
}

[data-dm-shuffle] [hidden],
[data-dm-shuffle] > [hidden] {
	display: none !important;
}

/* Slider height: room for title + text + button; art is right-anchored so cropping eats the empty left. */
@media (min-width: 768px) {
	.card-slider-container .card-slider,
	.card-slider-container .card-slider__image {
		min-height: clamp(320px, 22vw, 420px) !important;
		height: clamp(320px, 22vw, 420px) !important;
	}

	.card-slider-container .card-slider__image {
		background-size: cover !important;
		background-position: right center !important;
	}
}

@media (min-width: 768px) {
	.card-slider-container.swiper-container {
		min-height: 0 !important;
		height: auto !important;
		padding-bottom: 28px !important;
	}

	.card-slider-container .swiper-pagination {
		bottom: 6px !important;
	}
}

/* ---------- Reviews from other stores ---------- */

.dmst-reviews {
	clear: both;
	margin: 32px 0 8px;
}

.dmst-reviews-note {
	margin: -6px 0 16px;
	font-size: 14px;
	color: var(--dmst-muted);
}

.dmst-reviews-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.dmst-review {
	margin: 0 !important;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #fff;
	border: 1px solid var(--dmst-line);
	border-radius: var(--dmst-radius);
}

.dmst-review blockquote {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	font-style: normal !important;
	color: var(--dmst-ink);
}

.dmst-review blockquote::before {
	content: "“";
	display: block;
	height: 18px;
	font-size: 40px;
	line-height: 1;
	color: #d8c9ff;
}

.dmst-review figcaption {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 13px;
	color: var(--dmst-muted);
}

.dmst-review figcaption b {
	color: var(--dmst-ink);
	font-size: 14px;
}

.dmst-review figcaption a {
	color: var(--dmst-blue) !important;
}

.dmst-review figcaption em {
	font-style: normal;
	font-size: 12px;
	color: #8a8f9c;
}

@media (max-width: 991px) {
	.dmst-reviews-row {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 6px;
	}

	.dmst-review {
		flex: 0 0 82%;
		scroll-snap-align: start;
	}
}

/* WooCommerce hides the gallery (opacity:0) until its script runs; if any script on
   the page fails (seen for logged-in users), the main photo never appeared. */
.woocommerce-product-gallery {
	opacity: 1 !important;
}

/* ---------- Deals strip ---------- */

.dm-deals .shop-grid {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 4px 2px 10px;
	margin: 0 !important;
}

.dm-deals .shop-grid::-webkit-scrollbar {
	display: none;
}

.dm-deals .shop-grid > .shop-item {
	flex: 0 0 calc((100% - 48px) / 4) !important;
	max-width: none !important;
	width: auto !important;
	margin: 0 !important;
	scroll-snap-align: start;
}

@media (max-width: 991px) {
	.dm-deals .shop-grid > .shop-item {
		flex-basis: calc((100% - 16px) / 2) !important;
	}
}

@media (max-width: 480px) {
	.dm-deals .shop-grid > .shop-item {
		flex-basis: 70% !important;
	}
}

/* ---------- Home reels: swipeable strip with every reel ---------- */

.dm-reels-strip {
	position: relative;
}

.dm-home-reels {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 4px;
}

.dm-home-reels::-webkit-scrollbar {
	display: none;
}

.dm-home-reels .dm-reel-card {
	flex: 0 0 calc((100% - 60px) / 6);
	min-width: 0;
	scroll-snap-align: start;
}

.dm-home-reels .dm-reel-card[hidden] {
	display: none;
}

.dm-reels-nav {
	position: absolute;
	top: 40%;
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 6px 18px rgba(20, 20, 50, 0.25);
	color: var(--dmst-blue);
	font-size: 28px;
	line-height: 44px;
	cursor: pointer;
}

.dm-reels-prev {
	left: -18px;
}

.dm-reels-next {
	right: -18px;
}

@media (max-width: 1024px) {
	.dm-home-reels .dm-reel-card {
		flex-basis: calc((100% - 36px) / 4);
	}
}

/* Phones: no arrows, swipe; the next card peeks out so it's obvious the row scrolls. */
@media (max-width: 767px) {
	.dm-reels-nav {
		display: none;
	}
	.dm-home-reels .dm-reel-card {
		flex-basis: 42%;
	}
}

.dm-home-reels .dmst-reel {
	width: 100%;
	max-height: none;
}

.dm-home-reels .dmst-reel--open {
	height: auto;
	aspect-ratio: 9 / 16;
}

.dm-reel-likes {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 8px;
	border-radius: 999px;
	background: rgba(20, 22, 28, 0.55);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	backdrop-filter: blur(4px);
}

.dm-reel-likes svg {
	width: 13px;
	height: 13px;
	color: #ff5a79;
}

.dm-reel-product {
	display: flex !important;
	flex-direction: column;
	gap: 2px;
	-webkit-line-clamp: initial !important;
}

.dm-reel-product span {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dm-reel-product b {
	font-size: 14px;
	color: var(--dmst-ink);
}

@media (max-width: 991px) {
	.dm-home-reels {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.dm-home-reels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* ---------- Card chips (reviews / videos / brand) ---------- */

.dm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 6px 0 2px;
}

.dm-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #f1f3f8;
	color: #5b6170;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

.dm-chip svg {
	width: 12px;
	height: 12px;
}

.dm-chip--rev {
	background: #fff6e5;
	color: #9a5b00;
}

.dm-chip--rev svg {
	color: #f5a524;
}

.dm-chip--vid {
	background: #f1ebff;
	color: var(--dmst-blue);
}

/* ---------- Stock level ---------- */

.dm-stock {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin: 4px 0 0;
	font-size: 12px;
	font-weight: 600;
	color: #5b6170;
}

.dm-stock i {
	display: inline-block;
	width: 6px;
	height: 12px;
	border-radius: 2px;
	background: #dfe3ec;
}

.dm-stock i:last-of-type {
	margin-right: 4px;
}

.dm-stock--high i {
	background: #1f9d55;
}

.dm-stock--high {
	color: #16653a;
}

.dm-stock--mid i:nth-of-type(-n+2) {
	background: var(--dmst-blue);
}

.dm-stock--low i:first-of-type {
	background: #e5383b;
}

.dm-stock--low {
	color: #b42324;
}

.dm-stock--big {
	display: flex;
	margin: 6px 0 14px;
	font-size: 14px;
}

.dm-stock--big i {
	width: 8px;
	height: 16px;
}

/* ---------- Variation picker ---------- */

.dm-picker-select {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	width: 1px !important;
	height: 1px !important;
}

.variations_form table.variations,
.variations_form table.variations tbody,
.variations_form table.variations tr,
.variations_form table.variations th,
.variations_form table.variations td {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
	padding: 0 !important;
	background: none !important;
}

.variations_form table.variations th label {
	display: block;
	margin: 4px 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dmst-ink);
}

.variations_form .reset_variations {
	display: none !important;
}

.dm-picker {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.dm-pick {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 110px;
	padding: 10px 14px;
	border: 2px solid var(--dmst-line);
	border-radius: 12px;
	background: #fff;
	color: var(--dmst-ink);
	font-size: 15px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dm-pick small {
	font-size: 12px;
	font-weight: 400;
	color: var(--dmst-muted);
}

.dm-pick em {
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	color: #16653a;
	background: #e6f6ec;
	border-radius: 6px;
	padding: 1px 6px;
	margin-top: 2px;
}

.dm-pick:hover {
	border-color: #d8c9ff;
}

.dm-pick.is-on {
	border-color: var(--dmst-blue);
	background: #f5f1ff;
}

.dm-pick:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* ---------- Category buying guide ---------- */

.dm-cat-guide {
	/* Full content width so its edges line up with the product grid. */
	max-width: none;
	margin: 48px 0 10px;
	padding: 24px 28px;
	background: var(--dmst-soft);
	border-radius: var(--dmst-radius);
	font-size: 15px;
	line-height: 1.65;
	color: #3d4250;
}

.dm-cat-guide h2 {
	margin: 18px 0 10px !important;
	font-size: 20px !important;
	color: var(--dmst-ink);
}

.dm-cat-guide p {
	margin: 0 0 12px;
}

.dm-cat-guide ul {
	margin: 0 0 12px 18px;
}

@media (max-width: 767px) {
	.dm-cat-guide {
		padding: 18px 16px;
		font-size: 14px;
	}
}

/* Chips sit on the photo (bottom-left), like marketplace badges. */
.shop-item__image {
	position: relative;
}

.shop-item__image .dm-chips {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	z-index: 3;
	margin: 0;
	gap: 4px;
	pointer-events: none;
}

.shop-item__image .dm-chip {
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 1px 4px rgba(20, 24, 40, 0.12);
}

.shop-item__image .dm-chip--rev {
	background: #fff6e5;
}

.dm-chip--var {
	background: #1f2a44 !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.shop-item__image .dm-chip {
		font-size: 11px;
		padding: 2px 7px;
	}
}

.dm-pick.is-na {
	opacity: 0.5;
	border-style: dashed;
}

/* ---------- Reel player window ---------- */

.dm-reel-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(12, 16, 28, 0.78);
}

.dm-reel-modal[hidden] {
	display: none;
}

.dm-reel-modal__win {
	position: relative;
	width: min(400px, 100%);
	height: min(720px, calc(100dvh - 32px));
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.dm-reel-modal__win iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.dm-reel-modal__x {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 24, 40, 0.75);
	color: #fff;
	font-size: 26px;
	line-height: 40px;
	cursor: pointer;
}

.dm-reel-modal__win {
	padding-bottom: 44px;
}

.dm-reel-modal__win {
	padding-bottom: 60px;
}
.dm-reel-modal__win video {
	display: none;
	width: 100%;
	height: 100%;
	background: #000;
	object-fit: contain;
}
.dm-reel-modal.is-native .dm-reel-modal__win video {
	display: block;
}
.dm-reel-modal.is-native .dm-reel-modal__win iframe {
	display: none;
}
.dm-reel-modal__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 60px;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px;
	background: #fff;
}
.dm-reel-modal__buy {
	flex: 1;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--dmst-grad, #6a3df0);
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
}
.dm-reel-modal__buy[hidden] {
	display: none;
}
.dm-reel-modal__ig {
	flex: 0 0 auto;
	height: 44px;
	padding: 0 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #f5f1ff;
	color: var(--dmst-blue);
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
}
.dm-reel-modal__buy[hidden] + .dm-reel-modal__ig {
	flex: 1;
}
html[data-theme="dark"] .dm-reel-modal__bar {
	background: var(--dk-surface);
}
html[data-theme="dark"] .dm-reel-modal__ig {
	background: var(--dk-surface-2);
}

/* Kit item with a size choice */
.dm-bundle-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.dm-bundle-opt {
	align-self: flex-start;
	max-width: 100%;
	padding: 3px 26px 3px 8px !important;
	height: auto !important;
	min-height: 0 !important;
	border: 1px solid #d8c9ff !important;
	border-radius: 8px !important;
	background-color: #f5f1ff !important;
	color: var(--dmst-blue) !important;
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1.4 !important;
	cursor: pointer;
}

.dm-bundle-price {
	white-space: nowrap;
	color: var(--dmst-muted);
}

/* Kit number + share */
.dm-bundle-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 12px 0 6px;
}

.dm-bundle-num {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	background: #1f2a44;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.dm-bundle-share {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 4px 10px;
	border: 1px solid var(--dmst-line);
	border-radius: 999px;
	background: #fff;
	color: var(--dmst-blue);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.dm-bundle-share svg {
	width: 16px;
	height: 16px;
}

.dm-bundle-share:hover {
	border-color: #d8c9ff;
	background: #f5f1ff;
}

.dm-bundle.is-target {
	border-color: var(--dmst-blue);
	box-shadow: 0 0 0 3px rgba(106, 61, 240, 0.18);
}

/* Category bar under the header: 11 items on one line, spread across the container. */
@media (min-width: 1024px) {
	#header_menu {
		justify-content: space-between;
	}

	#header_menu > li > a {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	#header_menu > li:first-child > a {
		padding-left: 0 !important;
	}

	#header_menu > li:last-child > a {
		padding-right: 0 !important;
	}
}

/* Share sits next to "add the kit" in a calmer green, so the two never look alike. */
.dm-bundle-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.dm-bundle-head {
	margin: 12px 0 6px;
}

.dm-bundle-foot .dm-bundle-share {
	min-height: 44px;
	padding: 0 14px;
	border: 0;
	border-radius: 12px;
	background: #e7f6ec;
	color: #15803d;
	font-size: 14px;
}

.dm-bundle-foot .dm-bundle-share:hover {
	background: #d3efdd;
	border: 0;
}

/* Icon-only square next to the main button; the label stays for screen readers and the copy notice. */
.dm-bundle-actions {
	flex-wrap: nowrap;
}

.dm-bundle-foot .dm-bundle-share {
	position: relative;
	flex: 0 0 44px;
	width: 44px;
	padding: 0;
	justify-content: center;
}

.dm-bundle-foot .dm-bundle-share svg {
	width: 20px;
	height: 20px;
}

.dm-bundle-foot .dm-bundle-share span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.dm-bundle-copied {
	flex-basis: 100%;
	font-size: 13px;
	color: #15803d;
}

/* ---------- Favourites ---------- */

/* bono turns the heart white on its white circle on hover; keep it visible and red when chosen. */
.shop-item__icons-favorite:hover,
.shop-item__icons-favorite:focus-visible {
	color: #e5484d !important;
	background-color: #fff !important;
}

.shop-item__icons-favorite.in-favorite,
.js-product-favorite.in-favorite {
	color: #e5484d !important;
}

.dm-fav-share {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: -10px auto 24px;
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 12px;
	background: #e7f6ec;
	color: #15803d;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.dm-fav-share svg {
	width: 18px;
	height: 18px;
}

.dm-fav-share:hover {
	background: #d3efdd;
}

/* Product comparison is switched off (owner, 2026-10-29). */
.js-shop-item-compare,
.js-product-compare,
.js-header-compare,
.shop-item__icons-compare,
.product-compare {
	display: none !important;
}

/* Narrow phones (320–374px): no room for the call icon — the phone number is in the menu and footer. */
@media (max-width: 374px) {
	.site-header .header-phone {
		display: none !important;
	}

	.site-header .header-mobile-items-container {
		right: 58px;
	}

	.site-header .dmst-lang {
		right: 146px;
	}

	.site-header .dmst-lang a {
		min-width: 32px;
		padding: 0 5px;
	}
}

/* ---------- Catalogue sidebar ---------- */

.widget-area .widget {
	margin-bottom: 18px;
}

.dm-catnav,
.widget-area .wp-block-woocommerce-filter-wrapper,
.widget-area .wc-blocks-filter-wrapper {
	padding: 14px 10px 10px;
	background: #fff;
	border: 1px solid var(--dmst-line);
	border-radius: 16px;
}

.dm-catnav__title,
.widget-area .wp-block-woocommerce-filter-wrapper > h3,
.widget-area .wc-blocks-filter-wrapper > h3 {
	margin: 0 6px 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--dmst-muted);
}

.dm-catnav ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.dm-catnav li {
	margin: 0 !important;
	padding: 0 !important;
}

.dm-catnav li::before {
	display: none !important;
}

.dm-catnav__row {
	display: flex;
	align-items: center;
	gap: 2px;
}

.dm-catnav__link {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 40px;
	padding: 6px 10px;
	border-radius: 10px;
	color: var(--dmst-ink) !important;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background-color 0.15s ease;
}

.dm-catnav__link em {
	flex: none;
	min-width: 24px;
	padding: 1px 7px;
	border-radius: 999px;
	background: #f1f3f8;
	color: var(--dmst-muted);
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	text-align: center;
}

.dm-catnav__link:hover {
	background: #f5f1ff;
}

.dm-catnav__link.is-current {
	background: #f1ebff;
	color: var(--dmst-blue) !important;
	font-weight: 700;
}

.dm-catnav__link.is-current em {
	background: var(--dmst-blue);
	color: #fff;
}

.dm-catnav__link--kits {
	margin-bottom: 4px;
	background: #fff6e5;
	color: #9a5b00 !important;
	font-weight: 700;
}

.dm-catnav__link--kits:hover {
	background: #ffefcc;
}

.dm-catnav__toggle {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--dmst-muted);
	cursor: pointer;
}

.dm-catnav__toggle:hover {
	background: #f5f1ff;
	color: var(--dmst-blue);
}

.dm-catnav__toggle svg {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
}

.dm-catnav__item.is-open .dm-catnav__toggle svg {
	transform: rotate(180deg);
}

.dm-catnav__sub {
	display: none;
	margin: 2px 0 6px 14px !important;
	padding-left: 8px !important;
	border-left: 2px solid var(--dmst-line);
}

.dm-catnav__item.is-open > .dm-catnav__sub {
	display: block;
}

.dm-catnav__sub .dm-catnav__link {
	min-height: 34px;
	font-size: 13.5px;
	font-weight: 400;
	color: #3d4250 !important;
}

/* "Назначение" filter as chips instead of a checkbox column. */
.widget-area .wc-block-checkbox-list,
.widget-area .wc-block-attribute-filter-list {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 4px !important;
	padding: 0 !important;
}

.widget-area .wc-block-checkbox-list li,
.widget-area .wc-block-attribute-filter-list li {
	margin: 0 !important;
	padding: 0 !important;
}

.widget-area .wc-block-checkbox-list li::before {
	display: none !important;
}

.widget-area .wc-block-components-checkbox {
	margin: 0 !important;
}

.widget-area .wc-block-components-checkbox label {
	display: inline-flex !important;
	align-items: center;
	min-height: 34px;
	padding: 4px 12px !important;
	border: 1px solid var(--dmst-line);
	border-radius: 999px;
	background: #fff;
	font-size: 13.5px;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.widget-area .wc-block-components-checkbox label:hover {
	border-color: #d8c9ff;
}

.widget-area .wc-block-components-checkbox input,
.widget-area .wc-block-components-checkbox svg {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
}

.widget-area .wc-block-components-checkbox__label {
	margin: 0 !important;
	padding: 0 !important;
}

.widget-area .wc-block-components-checkbox label:has(input:checked) {
	border-color: var(--dmst-blue);
	background: #f1ebff;
	color: var(--dmst-blue);
	font-weight: 600;
}

.widget-area .wc-block-components-checkbox input:focus-visible + svg + span,
.widget-area .wc-block-components-checkbox label:has(input:focus-visible) {
	outline: 2px solid var(--dmst-blue);
	outline-offset: 2px;
}

/* The filter block nests two wrappers: one card is enough. */
.widget-area .wp-block-woocommerce-filter-wrapper .wc-blocks-filter-wrapper {
	padding: 0;
	border: 0;
	border-radius: 0;
}

/* Cart: "bigger size is cheaper per litre" offer under an item. */
.dm-upsize {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-top: 6px;
	padding: 6px 10px;
	border-radius: 10px;
	background: #e7f6ec;
	color: #15803d;
	font-size: 13px;
	font-weight: 600;
}

.dm-upsize__btn {
	padding: 3px 10px;
	border-radius: 8px;
	background: #15803d;
	color: #fff !important;
	font-size: 12.5px;
	text-decoration: none !important;
}

.dm-upsize__btn:hover {
	background: #116a32;
}

/* ---------- Cart: save for later / discount opt-in ---------- */

.dm-save-cart {
	margin: 20px 0;
	padding: 18px 20px;
	border: 1px dashed #d8c9ff;
	border-radius: 16px;
	background: #f8f5ff;
}

.dm-save-cart__title {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	color: var(--dmst-ink);
}

.dm-save-cart__text {
	margin: 0 0 12px;
	color: var(--dmst-muted);
	font-size: 14px;
}

.dm-save-cart__form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.dm-save-cart__form input[type="tel"] {
	flex: 1 1 200px;
	max-width: 260px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--dmst-line);
	border-radius: 12px;
	font-size: 16px;
	background: #fff;
}

.dm-save-cart__form .button {
	min-height: 44px;
	border-radius: 12px !important;
}

.dm-save-cart__sub {
	flex-basis: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
}

.dm-save-cart__sub input {
	width: 18px;
	height: 18px;
}

.dm-save-cart__msg {
	flex-basis: 100%;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
}

.dm-save-cart__msg.ok {
	color: #15803d;
}

.dm-save-cart__msg.err {
	color: #b32d2e;
}

.dm-save-cart__tg {
	flex-basis: 100%;
	font-size: 14px;
	font-weight: 600;
	color: var(--dmst-blue) !important;
}


/* =========================================================
   Brand look (owner's pick, 2026-10-29): logo violet, Onest, gradient buy buttons.
   ========================================================= */

html:root {
	--dmac-blue: #6a3df0; /* chat widget */
	--dmac-blue-dark: #5530d6;
}

body,
h1, h2, h3, h4, h5, h6,
p, a, li, span, b, strong, em, small, label, td, th, dt, dd,
button, input, select, textarea, .button {
	font-family: "Onest", "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;
}

body,
.site-header,
.site-content {
	font-weight: 400;
}

.super-header {
	background: var(--dmst-grad) !important;
}

/* Every "buy" action shares one gradient. */
.dmst-card > .shop-item__buttons .button,
.single-product form.cart .single_add_to_cart_button,
.dmst-btn--primary,
.dm-bundle-add,
.dm-save-cart__go,
.woocommerce a.checkout-button,
.woocommerce #place_order,
.woocommerce .wc-proceed-to-checkout a,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background: var(--dmst-grad) !important;
	border-color: transparent !important;
	color: #fff !important;
	transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.dmst-card > .shop-item__buttons .button:hover,
.single-product form.cart .single_add_to_cart_button:hover,
.dmst-btn--primary:hover,
.dm-bundle-add:hover,
.dm-save-cart__go:hover,
.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce .wc-proceed-to-checkout a:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	filter: brightness(1.08);
	box-shadow: 0 6px 18px rgba(106, 61, 240, 0.32) !important;
}

.dmst-card > .shop-item__buttons .button:active,
.single-product form.cart .single_add_to_cart_button:active {
	transform: scale(0.98);
}

/* Card buttons stay one line: a narrow card drops the cart icon instead of wrapping the text. */
.dmst-card {
	container-type: inline-size;
}

.dmst-card > .shop-item__buttons .button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	padding: 10px 10px !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dmst-card > .shop-item__buttons .button::before {
	position: static !important;
	margin: 0 !important;
	flex: none;
}

@container (max-width: 200px) {
	.dmst-card > .shop-item__buttons .button::before {
		display: none !important;
	}

	.dmst-card > .shop-item__buttons .button {
		font-size: 13.5px !important;
		padding: 10px 6px !important;
	}
}

/* Prices in the brand ink, a touch bolder. */
.shop-item__price .amount {
	font-weight: 700;
}

.single-product .summary .price .amount,
.single-product .woocommerce-variation-price .amount {
	font-weight: 700;
	color: var(--dmst-ink, #14161c);
}

#dmac-launcher,
.dmac-launcher {
	background: var(--dmst-grad) !important;
}

/* Old price: a plain strike-through (the theme's red slash is switched off above). */
.price del,
.price del .amount,
.price del bdi {
	text-decoration: line-through !important;
	text-decoration-thickness: 1.5px;
	text-decoration-color: currentColor;
	color: #8a90a0 !important;
	font-weight: 500 !important;
}

/* ---------- Theme toggle ---------- */

.dm-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}

.dm-theme-toggle svg {
	width: 20px;
	height: 20px;
}

.dm-theme-toggle .sun,
html[data-theme="dark"] .dm-theme-toggle .moon {
	display: none;
}

html[data-theme="dark"] .dm-theme-toggle .sun {
	display: inline;
}

.dm-theme-toggle--header {
	width: 40px;
	height: 40px;
	margin-left: 8px;
	border-radius: 50%;
}

.dm-theme-toggle--header:hover {
	background: rgba(106, 61, 240, 0.1);
}

.dm-theme-footer {
	margin-top: 12px;
}

.dm-theme-toggle--footer {
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	color: var(--dmst-footer-text) !important;
	font-size: 14px;
}

@media (max-width: 767px) {
	.dm-theme-toggle--header {
		display: none;
	}
}

/* =========================================================
   Dark theme (html[data-theme="dark"], set by inc/dark.php)
   ========================================================= */

html[data-theme="dark"] {
	color-scheme: dark;
	--dmst-ink: #e9ebf3;
	--dmst-muted: #a0a7b8;
	--dmst-line: #2a2f3e;
	--dmst-soft: #171b26;
	--dk-bg: #0e1118;
	--dk-surface: #161a24;
	--dk-surface-2: #1e2331;
	--dk-text: #d9dce6;
	--dk-tile: radial-gradient(circle at 50% 45%, #343a4d 0%, #232735 60%, #1b1f2b 100%); /* backgrounds are cut out */
}

html[data-theme="dark"] body,
html[data-theme="dark"] .site,
html[data-theme="dark"] .site-content,
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-header-inner,
html[data-theme="dark"] .main-navigation,
html[data-theme="dark"] #site-navigation,
html[data-theme="dark"] .site-navigation-fixed,
html[data-theme="dark"] .section-block,
html[data-theme="dark"] .home-constructor,
html[data-theme="dark"] .container {
	background-color: var(--dk-bg) !important;
	color: var(--dk-text);
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] .page-title,
html[data-theme="dark"] .shop-item__title,
html[data-theme="dark"] .shop-item__title a,
html[data-theme="dark"] .product_title,
html[data-theme="dark"] .price,
html[data-theme="dark"] .amount,
html[data-theme="dark"] b,
html[data-theme="dark"] strong {
	color: var(--dmst-ink) !important;
}

html[data-theme="dark"] a {
	color: #b9a6ff;
}

html[data-theme="dark"] .main-navigation a,
html[data-theme="dark"] #header_menu a,
html[data-theme="dark"] #top-menu a,
html[data-theme="dark"] .header-phone,
html[data-theme="dark"] .header-phone a,
html[data-theme="dark"] .site-header a,
html[data-theme="dark"] .woocommerce-breadcrumb,
html[data-theme="dark"] .breadcrumb,
html[data-theme="dark"] .breadcrumbs a {
	color: var(--dk-text) !important;
}

/* Header icons are drawn by the theme's icon font in black. */
html[data-theme="dark"] .site-header [class*="ico"]::before,
html[data-theme="dark"] .site-header [class*="icon"]::before,
html[data-theme="dark"] .header-search,
html[data-theme="dark"] .header-search *,
html[data-theme="dark"] .js-humburger span,
html[data-theme="dark"] .humburger span {
	color: var(--dk-text) !important;
}

html[data-theme="dark"] .js-humburger span,
html[data-theme="dark"] .humburger span {
	background: var(--dk-text) !important;
}

html[data-theme="dark"] .site-branding img,
html[data-theme="dark"] .custom-logo {
	background: #fff;
	border-radius: 14px;
	padding: 3px;
}

/* Surfaces: cards, boxes, dropdowns, inputs. */
html[data-theme="dark"] .shop-item-inner,
html[data-theme="dark"] .dmst-card,
html[data-theme="dark"] .dm-bundle,
html[data-theme="dark"] .dm-catnav,
html[data-theme="dark"] .widget-area .wp-block-woocommerce-filter-wrapper,
html[data-theme="dark"] .dm-save-cart,
html[data-theme="dark"] .dmst-buyinfo,
html[data-theme="dark"] .dm-cat-guide,
html[data-theme="dark"] .dm-pick,
html[data-theme="dark"] .sub-menu,
html[data-theme="dark"] .site-header-cart-hidden,
html[data-theme="dark"] .widget_shopping_cart_content,
html[data-theme="dark"] .woocommerce-tabs,
html[data-theme="dark"] .woocommerce-cart-form,
html[data-theme="dark"] .cart_totals,
html[data-theme="dark"] .woocommerce-checkout-review-order,
html[data-theme="dark"] #order_review,
html[data-theme="dark"] .dm-fav-share,
html[data-theme="dark"] .dmst-trust,
html[data-theme="dark"] .dm-faq details,
html[data-theme="dark"] .dm-task,
html[data-theme="dark"] .dm-tasks a,
html[data-theme="dark"] .dmst-xsell,
html[data-theme="dark"] .dm-reviews,
html[data-theme="dark"] .dm-review {
	background-color: var(--dk-surface) !important;
	border-color: var(--dmst-line) !important;
	color: var(--dk-text);
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .select2-selection,
html[data-theme="dark"] .quantity .qty,
html[data-theme="dark"] .quantity {
	background-color: var(--dk-surface-2) !important;
	border-color: var(--dmst-line) !important;
	color: var(--dmst-ink) !important;
}

html[data-theme="dark"] table,
html[data-theme="dark"] th,
html[data-theme="dark"] td {
	border-color: var(--dmst-line) !important;
	color: var(--dk-text);
}

/* Product photos keep a light tile. */
html[data-theme="dark"] .shop-item__image,
html[data-theme="dark"] .dm-bundle-imgs a,
html[data-theme="dark"] .woocommerce-product-gallery__image,
html[data-theme="dark"] .flex-control-thumbs li,
html[data-theme="dark"] .product-thumbnail img,
html[data-theme="dark"] .woocommerce-mini-cart-item img {
	background: var(--dk-tile) !important;
	border-radius: 12px;
}

/* Light lavender section backgrounds → dark surfaces. */
html[data-theme="dark"] .dmst-hero,
html[data-theme="dark"] .dm-home-hero,
html[data-theme="dark"] .section-html,
html[data-theme="dark"] .dm-deals,
html[data-theme="dark"] .dm-home-reels {
	background-color: var(--dk-bg) !important;
}

/* Chips and pills keep their tint but darker. */
html[data-theme="dark"] .dm-chip {
	background: rgba(22, 26, 36, 0.92) !important;
	color: var(--dk-text) !important;
}

html[data-theme="dark"] .dm-chip--rev {
	background: rgba(60, 44, 10, 0.92) !important;
	color: #ffcf73 !important;
}

html[data-theme="dark"] .dm-pick.is-on,
html[data-theme="dark"] .dm-catnav__link.is-current {
	background: rgba(106, 61, 240, 0.22) !important;
	color: #d6c9ff !important;
}

html[data-theme="dark"] .dm-catnav__link:hover,
html[data-theme="dark"] .dm-catnav__toggle:hover {
	background: rgba(106, 61, 240, 0.14);
}

html[data-theme="dark"] .dm-catnav__link em,
html[data-theme="dark"] .dm-bundle-opt {
	background: var(--dk-surface-2) !important;
	color: var(--dk-text) !important;
}

html[data-theme="dark"] .dm-catnav__link--kits {
	background: rgba(245, 165, 36, 0.14) !important;
	color: #ffcf73 !important;
}

html[data-theme="dark"] .dm-upsize,
html[data-theme="dark"] .dm-pick em,
html[data-theme="dark"] .dm-bundle-foot .dm-bundle-share {
	background: rgba(21, 128, 61, 0.2) !important;
	color: #7fd3a1 !important;
}

html[data-theme="dark"] .dm-lang,
html[data-theme="dark"] .dmst-lang {
	background: var(--dk-surface-2) !important;
}

html[data-theme="dark"] .dmst-lang a.is-active,
html[data-theme="dark"] .dmst-lang .is-current {
	background: var(--dk-surface) !important;
}

html[data-theme="dark"] .dm-theme-toggle--header:hover {
	background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .price del,
html[data-theme="dark"] .price del .amount {
	color: #7d8496 !important;
}

html[data-theme="dark"] ::placeholder {
	color: #7d8496;
}

html[data-theme="dark"] .dmst-hero {
	background: linear-gradient(180deg, #1a1433 0%, var(--dk-bg) 100%) !important;
}

html[data-theme="dark"] .dmst-hero li,
html[data-theme="dark"] .dmst-btn--ghost,
html[data-theme="dark"] .block-after-site {
	background-color: var(--dk-surface) !important;
	border-color: var(--dmst-line) !important;
}

html[data-theme="dark"] .dmst-btn--ghost {
	color: #c9b8ff !important;
	border-color: rgba(139, 92, 246, 0.45) !important;
}

html[data-theme="dark"] .wc-blocks-filter-wrapper,
html[data-theme="dark"] .wc-block-attribute-filter,
html[data-theme="dark"] .wc-block-checkbox-list,
html[data-theme="dark"] .wc-block-components-checkbox {
	background: transparent !important;
}

html[data-theme="dark"] .widget-area .wc-block-components-checkbox label {
	background: var(--dk-surface-2) !important;
	border-color: var(--dmst-line) !important;
	color: var(--dk-text) !important;
}

html[data-theme="dark"] .widget-area .wc-block-components-checkbox label:has(input:checked) {
	background: rgba(106, 61, 240, 0.25) !important;
	border-color: #8b5cf6 !important;
	color: #e3dbff !important;
}

html[data-theme="dark"] .removed-link,
html[data-theme="dark"] .menu .current-menu-item > a,
html[data-theme="dark"] .menu .current-menu-item > span {
	color: #c9b8ff !important;
}

html[data-theme="dark"] .dm-task-img {
	background: var(--dk-tile) !important;
}

html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] .dmst-hero-sub,
html[data-theme="dark"] .dmst-hero p,
html[data-theme="dark"] .dmst-hero small,
html[data-theme="dark"] .dmst-hero span,
html[data-theme="dark"] .dm-bundle-desc,
html[data-theme="dark"] .woocommerce-result-count,
html[data-theme="dark"] .dmst-trust {
	color: #b9bfcd;
}

html[data-theme="dark"] .header-mobile-item a,
html[data-theme="dark"] .header-mobile-item a::before,
html[data-theme="dark"] .header-phone::before,
html[data-theme="dark"] .header-phone a::before,
html[data-theme="dark"] .js-header-favorite,
html[data-theme="dark"] .js-header-favorite::before,
html[data-theme="dark"] .header-favorite::before {
	color: var(--dk-text) !important;
}

html[data-theme="dark"] .header-social a,
html[data-theme="dark"] .social-links a,
html[data-theme="dark"] .social-buttons a,
html[data-theme="dark"] [class*="social"] a {
	background-color: var(--dk-surface-2) !important;
	border-radius: 10px;
}

html[data-theme="dark"] .dm-bundle-sum em,
html[data-theme="dark"] .dm-stock--high,
html[data-theme="dark"] .dm-save-cart__msg.ok {
	color: #7fd3a1 !important;
}

html[data-theme="dark"] .dm-bundle-num {
	background: rgba(106, 61, 240, 0.35) !important;
	color: #e3dbff !important;
}

html[data-theme="dark"] .dm-bundle-list li {
	border-color: var(--dmst-line) !important;
}

html[data-theme="dark"] .dmst-order-chat,
html[data-theme="dark"] .dmst-order-tg {
	background: var(--dk-surface) !important;
	border-color: rgba(139, 92, 246, 0.45) !important;
	color: #c9b8ff !important;
}

html[data-theme="dark"] .dmst-order-tg {
	border-color: rgba(42, 171, 238, 0.45) !important;
	color: #7cc9f2 !important;
}

.footer-bottom .dm-theme-footer {
	margin: 0 0 0 auto;
}

.footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

@media (max-width: 767px) {
	html[data-theme="dark"] .site-header .header-phone__item a {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9dce6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") !important;
	}
}

.dm-theme-toggle .to-light,
html[data-theme="dark"] .dm-theme-toggle .to-dark {
	display: none;
}

html[data-theme="dark"] .dm-theme-toggle .to-light {
	display: inline;
}

/* Theme switch in the footer: Авто · Светлая · Тёмная */
.dm-theme-seg {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.dm-theme-seg button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 0 14px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #a9afbf;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
}

.dm-theme-seg button svg {
	width: 15px;
	height: 15px;
}

.dm-theme-seg button:hover {
	color: #fff;
}

.dm-theme-seg button[aria-checked="true"] {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

/* Pages without a sidebar: the theme still reserves 70px on the right — content looked off-centre. */
.site-content-inner:not(:has(#secondary)) .content-area {
	padding-right: 0 !important;
}

/* Violet CTA banner: white primary button, outlined secondary — in both themes. */
.dm-cta .dmst-btn--primary,
html[data-theme="dark"] .dm-cta .dmst-btn--primary {
	background: #fff !important;
	color: #5530d6 !important;
	box-shadow: none !important;
}

.dm-cta .dmst-btn--ghost,
html[data-theme="dark"] .dm-cta .dmst-btn--ghost {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: rgba(255, 255, 255, 0.6) !important;
	color: #fff !important;
}

/* Category guide: text column of readable width; collapsed to a teaser until "Подробнее". */
.dm-cat-guide > * {
	max-width: 960px;
}
.dm-cat-guide.is-collapsed {
	max-height: 190px;
	overflow: hidden;
	position: relative;
}
.dm-cat-guide.is-collapsed::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 90px;
	background: linear-gradient(rgba(244, 245, 249, 0), #f4f5f9 75%);
	pointer-events: none;
}
html[data-theme="dark"] .dm-cat-guide.is-collapsed::after {
	background: linear-gradient(rgba(22, 26, 36, 0), #161a24 75%);
}
.dm-cat-guide__more {
	display: block;
	margin: -6px 0 10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dmst-blue);
	font-weight: 600;
	cursor: pointer;
}

/* Dark theme: cut-out bottles get a faint halo so dark labels (Black Hole) stay readable;
   photos still on white become rounded white cards inside the tile. */
html[data-theme="dark"] .shop-item__image img:not(.dm-solid),
html[data-theme="dark"] .woocommerce-product-gallery__image img:not(.dm-solid) {
	filter: drop-shadow(0 0 14px rgba(190, 200, 255, 0.16));
}
/* The light theme multiplies photos into their tile; on a dark tile that blacks them out. */
html[data-theme="dark"] .shop-item__image img,
html[data-theme="dark"] .dm-bundle-imgs img,
html[data-theme="dark"] .woocommerce-product-gallery__image img,
html[data-theme="dark"] .flex-control-thumbs img,
html[data-theme="dark"] .product-thumbnail img,
html[data-theme="dark"] .woocommerce-mini-cart-item img,
html[data-theme="dark"] .dm-task-img img {
	mix-blend-mode: normal !important;
}
html[data-theme="dark"] img.dm-solid {
	border-radius: 10px;
	background: #fff;
}

/* Our own videos: full-window, buy button floats over the bottom of the video. */
.dm-reel-modal.is-native .dm-reel-modal__win {
	padding-bottom: 0;
	background: #000;
}
.dm-reel-modal.is-native .dm-reel-modal__win video {
	object-fit: cover;
	cursor: pointer;
}
.dm-reel-modal.is-native .dm-reel-modal__bar {
	padding: 40px 12px 14px;
	height: auto;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6)) !important;
	pointer-events: none;
}
.dm-reel-modal.is-native .dm-reel-modal__bar a {
	pointer-events: auto;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}
.dm-reel-modal.is-native .dm-reel-modal__ig {
	background: rgba(255, 255, 255, 0.18) !important;
	color: #fff;
	backdrop-filter: blur(6px);
}
.dm-reel-modal__paused {
	display: none;
}
.dm-reel-modal.is-native.is-paused .dm-reel-modal__paused {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 72px;
	height: 72px;
	margin: -36px 0 0 -36px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / 40px no-repeat;
	pointer-events: none;
}

/* Reel covers are inline background images: only tint the colour behind them. */
html[data-theme="dark"] .dmst-reel-poster {
	background-color: #1b1f2b !important;
}

/* ---------- «Для детейлинг-студий» ---------- */
.dm-studio-hero {
	padding: 28px;
	border-radius: 20px;
	background: linear-gradient(135deg, #f3eeff, #e9f0ff);
	margin-bottom: 36px;
}
.dm-studio-hero h2 {
	margin: 0 0 12px !important;
}
.dm-studio-hero ul {
	margin: 0 0 20px 18px;
}
.dm-studio-hero li {
	margin-bottom: 6px;
}
.dm-studio-hero .dmst-btn {
	margin: 4px 8px 4px 0;
}
.dm-studio-hero--end {
	margin-top: 40px;
}
.dm-studio-sec {
	margin-bottom: 40px;
}
.dm-studio-sub {
	color: var(--dmst-muted, #667);
	margin: -4px 0 16px;
}
.dm-studio-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 14px;
}
.dm-studio-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 16px;
	background: #fff;
	color: inherit !important;
	text-decoration: none !important;
	transition: box-shadow 0.2s, transform 0.2s;
}
.dm-studio-tile:hover {
	box-shadow: 0 10px 28px rgba(40, 30, 90, 0.12);
	transform: translateY(-2px);
}
.dm-studio-img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	border-radius: 12px;
	background: #f4f5f9;
	margin-bottom: 6px;
}
.dm-studio-img img {
	max-width: 88%;
	max-height: 88%;
	object-fit: contain;
}
.dm-studio-name {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
}
.dm-studio-price {
	font-size: 16px;
}
.dm-studio-litre {
	color: #1f9d55;
	font-weight: 600;
}
@media (max-width: 600px) {
	.dm-studio-hero {
		padding: 20px 16px;
	}
	.dm-studio-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}
html[data-theme="dark"] .dm-studio-hero {
	background: linear-gradient(135deg, #221c3d, #18203a);
}
html[data-theme="dark"] .dm-studio-tile {
	background: var(--dk-surface);
	border-color: var(--dmst-line);
}
html[data-theme="dark"] .dm-studio-img {
	background: var(--dk-tile);
}
html[data-theme="dark"] .dm-studio-litre {
	color: #5fd38d;
}

/* Pre-order («под заказ») */
.dm-preorder {
	margin: 16px 0;
	padding: 16px 18px;
	border-radius: 14px;
	background: #fff7e6;
	border: 1px solid #ffe2a8;
}
.dm-preorder p {
	margin: 0 0 12px;
}
html[data-theme="dark"] .dm-preorder {
	background: #2a2416;
	border-color: #5a4a22;
}

/* ---------- /artdeshine/ ---------- */
.dm-art-pre {
	margin: 12px 0 0;
	padding: 10px 14px;
	border-radius: 12px;
	background: #fff7e6;
}
.dm-art-pick {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 12px;
}
.dm-art-pickcard {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 14px;
	background: #fff;
	color: inherit !important;
	text-decoration: none !important;
}
.dm-art-pickcard:hover {
	border-color: var(--dmst-blue);
}
.dm-art-life {
	color: var(--dmst-blue);
	font-weight: 700;
}
.dm-art-pickcard small {
	color: var(--dmst-muted, #667);
	line-height: 1.35;
}
.dm-art-tablewrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.dm-art-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	font-size: 14px;
}
.dm-art-table th,
.dm-art-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--dmst-line, #e6e8ef);
	text-align: left;
	vertical-align: top;
}
.dm-art-table thead th {
	font-size: 12px;
	text-transform: uppercase;
	color: var(--dmst-muted, #667);
}
.dm-dots {
	color: var(--dmst-blue);
	letter-spacing: 2px;
}
.dm-dots i {
	font-style: normal;
	opacity: 0.2;
}
.dm-art-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
}
.dm-art-card {
	display: flex;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 18px;
	background: #fff;
	scroll-margin-top: 90px;
}
.dm-art-img {
	flex: 0 0 120px;
}
.dm-art-img img {
	width: 120px;
	height: auto;
	border-radius: 12px;
}
.dm-art-body {
	flex: 1;
	min-width: 0;
}
.dm-art-body h3 {
	margin: 0 0 4px !important;
	font-size: 18px !important;
}
.dm-art-for {
	margin: 0 0 10px;
	color: var(--dmst-muted, #667);
	font-size: 14px;
}
.dm-art-specs {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	font-size: 14px;
}
.dm-art-specs li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 4px 0;
	border-bottom: 1px dashed var(--dmst-line, #e6e8ef);
}
.dm-art-specs span {
	color: var(--dmst-muted, #667);
}
.dm-art-specs b {
	text-align: right;
}
.dm-art-comp {
	margin-bottom: 10px;
	font-size: 13px;
}
.dm-art-comp summary {
	cursor: pointer;
	color: var(--dmst-blue);
	font-weight: 600;
}
.dm-art-buy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.dm-art-price {
	font-size: 18px;
	font-weight: 800;
}
.dm-art-price del {
	font-size: 13px;
	font-weight: 400;
	color: var(--dmst-muted, #889);
}
.dm-art-more {
	font-size: 14px;
}
@media (max-width: 600px) {
	.dm-art-card {
		flex-direction: column;
	}
	.dm-art-img {
		flex-basis: auto;
		text-align: center;
	}
	.dm-art-img img {
		width: 160px;
	}
	.dm-art-cards {
		grid-template-columns: 1fr;
	}
}
html[data-theme="dark"] .dm-art-pickcard,
html[data-theme="dark"] .dm-art-card {
	background: var(--dk-surface);
	border-color: var(--dmst-line);
}
html[data-theme="dark"] .dm-art-pre {
	background: #2a2416;
}

/* Dark theme: theme section headings use a fixed dark colour. */
html[data-theme="dark"] .section-block__title,
html[data-theme="dark"] .section-block__subtitle,
html[data-theme="dark"] .section-block__description {
	color: var(--dmst-ink) !important;
}
html[data-theme="dark"] .dm-art-life,
html[data-theme="dark"] .dm-dots,
html[data-theme="dark"] .dm-art-comp summary {
	color: #b9a4ff;
}
html[data-theme="dark"] .dm-art-table,
html[data-theme="dark"] .dm-art-table tr,
html[data-theme="dark"] .dm-art-table th,
html[data-theme="dark"] .dm-art-table td {
	background: transparent !important;
	color: var(--dk-text);
}
html[data-theme="dark"] .dm-art-table a {
	color: #c9b8ff;
}
html[data-theme="dark"] .woocommerce-info,
html[data-theme="dark"] .woocommerce-message,
html[data-theme="dark"] .cart-empty {
	background: var(--dk-surface) !important;
	color: var(--dk-text) !important;
	border-color: var(--dmst-line) !important;
}
html[data-theme="dark"] .dm-cta .dmst-btn--ghost {
	background: transparent !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.6) !important;
}
html[data-theme="dark"] .dm-stock--low {
	color: #ff8a8a !important;
}

/* Artdeshine: video hero + manufacturer videos */
.dm-art-hero {
	position: relative;
	overflow: hidden;
	background: #0d1220 !important;
	color: #fff;
	min-height: 320px;
	display: flex;
	align-items: flex-end;
}
.dm-art-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
}
.dm-art-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(13, 18, 32, 0.1), rgba(13, 18, 32, 0.85));
}
.dm-art-hero-in {
	position: relative;
	z-index: 1;
	max-width: 760px;
}
.dm-art-hero h2,
.dm-art-hero p {
	color: #fff !important;
}
.dm-art-hero .dm-art-pre {
	background: rgba(255, 247, 230, 0.95);
	color: #3a2a00 !important;
}
.dm-yt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.dm-yt {
	margin: 0;
}
.dm-yt-play,
.dm-yt iframe {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	padding: 0;
	background: #000;
	cursor: pointer;
}
.dm-yt-play img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.9;
}
.dm-yt figcaption {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 8px;
	font-size: 14px;
}
.dm-yt figcaption small {
	color: var(--dmst-muted, #778);
}

/* Home: big Artdeshine banner */
.dm-art-banner {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	min-height: 440px;
	margin: 0 0 32px;
	padding: 40px;
	border-radius: 24px;
	background: #0d1220;
	color: #fff;
}
.dm-art-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(10, 14, 28, 0.92) 0%, rgba(10, 14, 28, 0.55) 55%, rgba(10, 14, 28, 0.15) 100%);
}
.dm-art-banner .dm-art-bg {
	opacity: 1;
}
.dm-art-banner-in {
	position: relative;
	z-index: 1;
	max-width: 620px;
}
.dm-art-banner-kicker {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(84, 214, 230, 0.18);
	color: #7fe6f2;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.dm-art-banner h2 {
	margin: 0 0 12px !important;
	color: #fff !important;
	font-size: clamp(28px, 4vw, 44px) !important;
	line-height: 1.1 !important;
}
.dm-art-banner p {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.86) !important;
	font-size: 17px;
}
.dm-art-banner-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}
.dm-art-banner-chips span {
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(6px);
	font-size: 14px;
}
.dm-art-banner-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.dm-art-banner-ghost {
	background: transparent !important;
	border: 1.5px solid rgba(255, 255, 255, 0.7) !important;
	color: #fff !important;
	box-shadow: none !important;
}
@media (max-width: 767px) {
	.dm-art-banner {
		min-height: 560px;
		padding: 24px 18px;
		border-radius: 18px;
	}
	.dm-art-banner::after {
		background: linear-gradient(180deg, rgba(10, 14, 28, 0.1) 0%, rgba(10, 14, 28, 0.75) 45%, rgba(10, 14, 28, 0.95) 100%);
	}
	.dm-art-banner p {
		font-size: 15px;
	}
	.dm-art-banner-cta .dmst-btn {
		flex: 1 1 100%;
		text-align: center;
	}
}

/* Artdeshine page: bigger, brighter video hero */
.dm-art-hero {
	min-height: 460px;
}
.dm-art-hero .dm-art-bg {
	opacity: 1;
}
.dm-art-hero::after {
	background: linear-gradient(90deg, rgba(10, 14, 28, 0.82) 0%, rgba(10, 14, 28, 0.35) 55%, rgba(10, 14, 28, 0) 100%);
}
.dm-art-hero h2 {
	font-size: clamp(26px, 3.6vw, 40px) !important;
	line-height: 1.12 !important;
}
.dm-art-hero p {
	font-size: 17px;
}
@media (max-width: 767px) {
	.dm-art-hero {
		min-height: 520px;
	}
	.dm-art-hero::after {
		background: linear-gradient(180deg, rgba(10, 14, 28, 0) 25%, rgba(10, 14, 28, 0.85) 75%);
	}
}

/* NGC+ — flagship */
.dm-art-lead {
	align-self: flex-start;
	display: inline-block;
	margin-bottom: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	background: linear-gradient(90deg, #f7c948, #f59e0b);
	color: #3a2600;
	font-size: 12px;
	font-weight: 800;
}
.dm-art-pickcard.is-lead {
	border: 2px solid #f5b524;
	background: linear-gradient(160deg, #fffaf0, #fff);
	box-shadow: 0 10px 28px rgba(245, 158, 11, 0.18);
	transform: translateY(-4px);
}
.dm-art-table tr.is-lead th,
.dm-art-table tr.is-lead td {
	background: #fff8e6 !important;
	font-weight: 600;
}
.dm-art-card.is-lead {
	position: relative;
	border: 2px solid #f5b524;
	box-shadow: 0 12px 32px rgba(245, 158, 11, 0.16);
}
html[data-theme="dark"] .dm-art-pickcard.is-lead {
	background: linear-gradient(160deg, #2a2312, var(--dk-surface));
}
html[data-theme="dark"] .dm-art-table tr.is-lead th,
html[data-theme="dark"] .dm-art-table tr.is-lead td {
	background: #2a2312 !important;
}

/* Header: Telegram/Instagram icons side by side and never squeezed; on narrower screens the menu
   needs the room, so they hide there (they are in the footer and contacts anyway). */
.site-header-inner .social-links {
	flex: 0 0 auto;
}
.site-header-inner .social-links .social-buttons {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
}
@media (max-width: 1399px) {
	.site-header-inner .social-links {
		display: none !important;
	}
}

/* Header fits 1100–1440 px after «Для студий» and «Artdeshine» joined the menu:
   no «Главная» item (the logo goes home), tighter menu, account shows only its icon. */
.site-header-inner .menu-item-2841 {
	display: none !important;
}
@media (max-width: 1439px) {
	.site-header-inner .main-navigation .menu > li > a,
	.site-header-inner .main-navigation .menu > li > span {
		padding-left: 9px !important;
		padding-right: 9px !important;
	}
	.header-customer-account__text {
		display: none !important;
	}
}
/* 960 px header container (theme, < 1200 px): the phone block doesn't fit next to the menu — it hides
   there (number stays in the footer, contacts and the chat). */
@media (min-width: 992px) and (max-width: 1199px) {
	.site-header-inner .header-phone {
		display: none !important;
	}
}
.site-header-inner .site-branding {
	flex-shrink: 0;
	min-width: 60px;
}
.site-header-inner .site-branding {
	flex: 0 0 70px;
	max-width: 70px;
}

/* Size picker: price per 100 ml readable (was faint grey, digits run together) */
.dm-pick small {
	color: #3d4352 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}
html[data-theme="dark"] .dm-pick small {
	color: #c9cedb !important;
}

/* Dark theme: favourite heart on a translucent dark disc instead of a bright white circle. */
html[data-theme="dark"] .shop-item .shop-item__icons-favorite,
html[data-theme="dark"] .shop-item__icons-favorite:hover,
html[data-theme="dark"] .shop-item__icons-favorite:focus-visible {
	background: rgba(14, 17, 24, 0.55) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22) !important;
	color: #e9ebf2 !important;
	backdrop-filter: blur(4px);
}
html[data-theme="dark"] .shop-item__icons-favorite:hover {
	color: #ff6b70 !important;
}
html[data-theme="dark"] .shop-item__icons-favorite.in-favorite {
	color: #ff5a60 !important;
}

/* ======================================================================
   Very narrow windows (iPhone SE, link previews in ChatGPT/Telegram ~200–360px):
   nothing may stick out past the right edge — body clips it.
   ====================================================================== */

.woocommerce-ordering select.orderby {
	max-width: 100%;
}

.dm-bundles--all .dm-bundle {
	min-width: 0;
}

@media (max-width: 359px) {
	.site-footer .footer-widgets {
		grid-template-columns: minmax(0, 1fr);
	}

	.site-footer .footer-widget {
		min-width: 0;
	}

	.footer-bottom .dm-theme-footer {
		margin: 0;
		max-width: 100%;
	}

	.dm-theme-footer {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.single-product p.price {
		display: flex;
		flex-wrap: wrap;
		gap: 0 8px;
		max-width: 100%;
	}

	.dm-bundles-product .dm-bundle {
		flex-basis: 92%;
	}

	.dm-theme-seg {
		flex-wrap: wrap;
		max-width: 100%;
		border-radius: 16px;
	}

	.dm-bundle-actions {
		flex-wrap: wrap;
	}
}

@media (max-width: 359px) {
	/* No room for the logo between ☰ and the language pill. */
	.site-header .site-logotype {
		display: none;
	}
}

@media (max-width: 299px) {
	/* The pill is placed from the right edge; on a ~200px window that pushes it under the menu button. */
	.site-header .dmst-lang {
		right: auto;
		left: 48px;
	}
}

/* ======================================================================
   Label perks (inc/perks.php): sun or shade · easy by hand · gentle formula
   ====================================================================== */

.dm-chip--sun {
	background: #fff4d6;
	color: #8a5a00;
}

.dm-chip--sun svg {
	color: #f0a000;
}

.dm-perks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 16px !important;
	padding: 0 !important;
	list-style: none;
}

.dm-perk {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 8px 12px;
	border-radius: 12px;
	background: #f4f5f9;
	color: #262a33;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.dm-perk svg,
.dm-why-list svg {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

.dm-perk--s svg {
	color: #f0a000;
}

.dm-perk--h svg {
	color: var(--dmst-blue);
}

.dm-perk--f svg {
	color: #1a9d6b;
}

.dm-perks-src {
	flex-basis: 100%;
	margin: 0 !important;
	color: var(--dmst-muted, #8a90a0);
	font-size: 12px;
	list-style: none;
}

.dm-perk-intro {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 14px;
	background: #fff8e6;
	color: #4a3a12;
	font-size: 15px;
	line-height: 1.5;
}

.dm-perk-intro svg {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	color: #f0a000;
}

.dm-perk-intro p {
	margin: 0;
}

.dm-why {
	padding: 8px 0 24px;
}

.dm-why-inner {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 20px;
}

.dm-why-title {
	margin: 0 0 14px !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
}

.dm-why-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 12px !important;
	padding: 0 !important;
	list-style: none;
}

.dm-why-list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0 !important;
	padding: 16px;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 16px;
	background: #fff;
}

.dm-why-list svg {
	width: 26px;
	height: 26px;
	margin-top: 1px;
}

.dm-why-list b {
	display: block;
	margin-bottom: 4px;
	font-size: 16px;
}

.dm-why-list span {
	display: block;
	color: #5b6170;
	font-size: 14px;
	line-height: 1.5;
}

.dm-why-link {
	font-weight: 600;
	color: var(--dmst-blue) !important;
}

@media (max-width: 767px) {
	.dm-why-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.dm-why-title {
		font-size: 19px !important;
	}
}

html[data-theme="dark"] .dm-chip--sun {
	background: rgba(240, 160, 0, 0.16);
	color: #ffcf66;
}

html[data-theme="dark"] .dm-perk,
html[data-theme="dark"] .dm-why-list li {
	background: var(--dk-surface-2);
	border-color: var(--dk-line, #2a2f3e);
	color: var(--dmst-ink);
}

html[data-theme="dark"] .dm-why-list span {
	color: var(--dmst-muted);
}

html[data-theme="dark"] .dm-perk-intro {
	background: rgba(240, 160, 0, 0.12);
	color: var(--dmst-ink);
}

/* ======================================================================
   Concentrates: how to dilute + calculator (inc/dilution.php)
   ====================================================================== */

.dm-dil {
	margin: 20px 0;
	padding: 18px;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 16px;
	background: #f7fbff;
}

.dm-dil-title {
	margin: 0 0 4px !important;
	font-size: 19px !important;
	line-height: 1.3 !important;
}

.dm-dil-lead {
	margin: 0 0 14px;
	color: #3a4150;
	font-size: 15px;
}

.dm-dil-label {
	margin: 10px 0 6px;
	color: #5b6170;
	font-size: 13px;
	font-weight: 600;
}

.dm-dil-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dm-dil-chips button {
	min-height: 40px;
	padding: 6px 12px;
	border: 1px solid #d5dbe8;
	border-radius: 999px;
	background: #fff;
	color: #262a33;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
}

.dm-dil-chips button small {
	color: #7a8090;
	font-size: 12px;
}

.dm-dil-chips button.is-on {
	border-color: var(--dmst-blue);
	background: var(--dmst-blue);
	color: #fff;
}

.dm-dil-chips button.is-on small {
	color: rgba(255, 255, 255, 0.8);
}

.dm-dil-own input {
	width: 110px;
	min-height: 40px;
	padding: 6px 12px !important;
	border: 1px solid #d5dbe8 !important;
	border-radius: 999px !important;
	font-size: 16px !important;
}

.dm-dil-out {
	margin: 16px 0 8px;
	font-size: 18px;
	line-height: 1.4;
}

.dm-dil-out b {
	font-size: 22px;
}

.dm-dil-out span {
	color: #5b6170;
	font-size: 14px;
}

.dm-dil-bar {
	height: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, #cfe6ff, #b6d8ff);
	overflow: hidden;
}

.dm-dil-bar i {
	display: block;
	height: 100%;
	background: var(--dmst-blue);
	transition: width 0.25s ease;
}

.dm-dil-cost {
	margin: 10px 0 0;
	color: #1a7a4f;
	font-size: 14px;
	font-weight: 600;
}

.dm-dil-table {
	width: 100%;
	margin: 16px 0 0 !important;
	border-collapse: collapse;
	font-size: 14px;
}

.dm-dil-table th,
.dm-dil-table td {
	padding: 8px 6px !important;
	border: 0 !important;
	border-bottom: 1px solid #e3e8f1 !important;
	background: transparent !important;
	text-align: left;
}

.dm-dil-table th {
	color: #5b6170;
	font-size: 12px;
	font-weight: 600;
}

.dm-dil-doses {
	display: grid;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.dm-dil-doses li {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	align-items: baseline;
	margin: 0 !important;
	padding: 10px 12px;
	border-radius: 12px;
	background: #fff;
}

.dm-dil-doses b {
	font-size: 17px;
}

.dm-dil-doses em {
	margin-left: auto;
	color: #1a7a4f;
	font-style: normal;
	font-weight: 600;
}

.dm-dil-src {
	margin: 12px 0 0;
	color: #7a8090;
	font-size: 12px;
}

@media (max-width: 480px) {
	.dm-dil {
		padding: 14px;
	}

	.dm-dil-table {
		font-size: 13px;
	}
}

html[data-theme="dark"] .dm-dil {
	background: var(--dk-surface);
	border-color: var(--dk-line, #2a2f3e);
}

html[data-theme="dark"] .dm-dil-lead,
html[data-theme="dark"] .dm-dil-out {
	color: var(--dmst-ink);
}

html[data-theme="dark"] .dm-dil-chips button,
html[data-theme="dark"] .dm-dil-own input,
html[data-theme="dark"] .dm-dil-doses li {
	background: var(--dk-surface-2) !important;
	border-color: var(--dk-line, #2a2f3e) !important;
	color: var(--dmst-ink);
}

html[data-theme="dark"] .dm-dil-chips button.is-on {
	background: var(--dmst-blue) !important;
	color: #fff;
}

html[data-theme="dark"] .dm-dil-table th,
html[data-theme="dark"] .dm-dil-table td {
	border-bottom-color: var(--dk-line, #2a2f3e) !important;
}

html[data-theme="dark"] .dm-dil-cost,
html[data-theme="dark"] .dm-dil-doses em {
	color: #5fd39a;
}

html[data-theme="dark"] .dm-dil-bar {
	background: #23324a;
}

/* ======================================================================
   Catalogue icons (inc/catalog-nav.php) + full-width sidebar on phones
   ====================================================================== */

.dm-catnav__ico {
	display: inline-flex;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	color: var(--dmst-blue);
}

.dm-catnav__ico svg {
	width: 100%;
	height: 100%;
}

.dm-catnav__ico + span {
	flex: 1;
	min-width: 0;
}

.dm-catnav__link--kits .dm-catnav__ico {
	color: #b06a00;
}

.widget-area .wc-block-components-checkbox label::before {
	content: "";
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-right: 6px;
	background: currentColor;
	-webkit-mask: none center / contain no-repeat;
	mask: none center / contain no-repeat;
	color: var(--dmst-blue);
}

.widget-area .wc-block-components-checkbox label:not(:has(input[value^="dlya-"]))::before {
	display: none;
}

.widget-area .wc-block-components-checkbox label:has(input:checked)::before {
	color: currentColor;
}

@media (max-width: 991px) {
	.widget-area.widget-area--desktop,
	.widget-area {
		width: 100% !important;
		max-width: none !important;
		flex-basis: auto !important;
	}
}

/* ======================================================================
   Phone menu (☰): categories as a 2-column icon grid, pages as compact rows.
   The same #header_menu is the category bar on desktop — scoped to the mobile nav.
   ====================================================================== */

#site-navigation-mobile #header_menu {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 4px 16px 24px !important;
}

#site-navigation-mobile #header_menu > li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

#site-navigation-mobile #header_menu > li:not(.only-hamburger) {
	order: 1;
}

#site-navigation-mobile #header_menu > li:not(.only-hamburger) > a {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 8px 12px !important;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 14px;
	background: #fff;
	color: var(--dmst-ink) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

#site-navigation-mobile #header_menu > li:not(.only-hamburger) > a::before {
	content: "";
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	background: var(--dmst-blue);
	-webkit-mask: none center / contain no-repeat;
	mask: none center / contain no-repeat;
}

#site-navigation-mobile #header_menu > li:not(.only-hamburger) > a[href$="/nabory/"] {
	background: #fff6e5;
	border-color: #ffe2a8;
}

#site-navigation-mobile #header_menu > li:not(.only-hamburger) > a[href$="/nabory/"]::before {
	background: #b06a00;
}

/* Pages: full-width compact rows under the tiles. */
#site-navigation-mobile #header_menu > li.only-hamburger {
	order: 2;
	grid-column: 1 / -1;
}

#site-navigation-mobile #header_menu > li.only-hamburger:nth-child(4) {
	margin-top: 8px !important;
}

#site-navigation-mobile #header_menu > li.only-hamburger > a {
	display: flex !important;
	align-items: center;
	min-height: 44px;
	padding: 10px 4px !important;
	border-bottom: 1px solid var(--dmst-line, #e6e8ef) !important;
	font-size: 16px !important;
}

/* Home = the logo; "Наборы" is already a tile; the shop's sub-list repeats the tiles. */
#site-navigation-mobile #header_menu > li.menu-item-home,
#site-navigation-mobile #header_menu > li.only-hamburger:has(> a[href$="/shop/"]),
#site-navigation-mobile #header_menu > li.only-hamburger:has(> a[href$="/nabory/"]),
#site-navigation-mobile #header_menu > li.only-hamburger > .sub-menu,
#site-navigation-mobile #header_menu > li.only-hamburger > .menu-item-has-children-toggle,
#site-navigation-mobile #header_menu > li.only-hamburger > .js-menu-toggle,
#site-navigation-mobile #header_menu > li.only-hamburger > button {
	display: none !important;
}

#site-navigation-mobile #header_menu > li.only-hamburger > a::after {
	display: none !important;
}

html[data-theme="dark"] #site-navigation-mobile #header_menu > li:not(.only-hamburger) > a {
	background: var(--dk-surface-2);
	border-color: var(--dk-line, #2a2f3e);
}

html[data-theme="dark"] #site-navigation-mobile #header_menu > li:not(.only-hamburger) > a[href$="/nabory/"] {
	background: rgba(240, 160, 0, 0.14);
	border-color: rgba(240, 160, 0, 0.3);
}

/* ======================================================================
   Hero, variant B (owner's pick 2026-10-30): rating under the title,
   benefits as one thin strip, calmer "easy to apply" block.
   ====================================================================== */

.dmst-hero .dmst-trust {
	margin: 0 0 10px;
	font-size: 14px;
}

.dmst-hero .dmst-benefits {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px 18px !important;
	margin: 16px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px solid #ece9f7;
}

.dmst-hero .dmst-benefits li {
	align-items: center !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.dmst-hero .dmst-benefits li span {
	font-size: 12.5px;
	line-height: 1.35;
	color: #6b7280;
}

.dmst-hero .dmst-benefits li span b {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--dmst-ink);
}

@media (max-width: 767px) {
	.dmst-hero .dmst-benefits {
		grid-template-columns: 1fr 1fr;
	}

	.dmst-hero .dmst-benefits li {
		flex-direction: column;
		text-align: center;
		gap: 4px;
	}
}

.dm-why {
	padding: 0 0 18px;
}

.dm-why-title {
	margin-bottom: 8px !important;
	font-size: 18px !important;
}

.dm-why-list li {
	padding: 12px 14px;
	border: 0;
	background: #f7f5ff;
}

.dm-why-list span {
	font-size: 13.5px;
}

html[data-theme="dark"] .dmst-hero .dmst-benefits {
	border-top-color: var(--dk-line, #2a2f3e);
}

html[data-theme="dark"] .dmst-hero .dmst-benefits li span {
	color: var(--dmst-muted);
}

html[data-theme="dark"] .dmst-hero .dmst-benefits li {
	background: none !important;
	border: 0 !important;
}

/* ======================================================================
   «Где купить» (inc/stores.php)
   ====================================================================== */

.dm-stores {
	max-width: 1100px;
	margin: 0 auto;
}

.dm-stores-lead {
	margin: 0 auto 16px;
	max-width: 760px;
	text-align: center;
	color: #4b5160;
}

.dm-stores-map {
	display: block;
	width: 100%;
	height: 440px;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--dmst-line, #e6e8ef);
	z-index: 0;
}

.dm-stores-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.dm-stores-list .dm-store {
	padding: 16px;
	border: 1px solid var(--dmst-line, #e6e8ef);
	border-radius: 16px;
	background: #fff;
	cursor: pointer;
}

.dm-store-name {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 17px;
}

.dm-store-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #1e88f5;
	color: #fff;
	font-size: 14px;
}

.dm-store-kind {
	display: inline-block;
	margin: 4px 0 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f1ebff;
	color: var(--dmst-blue);
	font-size: 12px;
	font-weight: 600;
}

.dm-store-meta {
	margin: 0 0 10px !important;
	padding: 0 !important;
	list-style: none;
	font-size: 14px;
	line-height: 1.6;
}

.dm-store-meta li {
	margin: 0 !important;
}

.dm-store-meta a {
	font-weight: 600;
}

.dm-store-route {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dm-store-route a {
	padding: 7px 12px;
	border-radius: 10px;
	background: var(--dmst-blue);
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.dm-store-route a + a {
	background: #f1ebff;
	color: var(--dmst-blue) !important;
}

.dm-store--pop .dm-store-name {
	font-size: 15px;
}

@media (max-width: 767px) {
	.dm-stores-map {
		height: 320px;
	}

	.dm-stores-list {
		grid-template-columns: 1fr;
	}
}

html[data-theme="dark"] .dm-stores-list .dm-store {
	background: var(--dk-surface);
	border-color: var(--dk-line, #2a2f3e);
}

html[data-theme="dark"] .dm-stores-lead {
	color: var(--dmst-muted);
}

html[data-theme="dark"] .leaflet-popup-content-wrapper,
html[data-theme="dark"] .leaflet-popup-tip {
	background: var(--dk-surface-2);
	color: var(--dmst-ink);
}


/* "Продано N" under the price on the product page (inc/sold.php) */
.dm-sold {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: -4px 0 14px;
	color: #6b7280;
	font-size: 14px;
}

.dm-sold svg {
	width: 16px;
	height: 16px;
}

html[data-theme="dark"] .dm-sold {
	color: var(--dmst-muted);
}

/* Free-shipping progress in the dark theme (light box made the white amount invisible). */
html[data-theme="dark"] .dmst-freeship {
	background: #221d3a;
	color: var(--dk-text);
}

html[data-theme="dark"] .dmst-freeship.is-done {
	background: #12301f;
	color: #8fe0a8;
}

html[data-theme="dark"] .dmst-freeship-bar {
	background: var(--dmst-line);
}

/* Browser autofill paints fields yellow; in the dark theme keep the field dark and the text light. */
html[data-theme="dark"] input:-webkit-autofill,
html[data-theme="dark"] input:-webkit-autofill:hover,
html[data-theme="dark"] input:-webkit-autofill:focus,
html[data-theme="dark"] textarea:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #1e2331 inset !important;
	-webkit-text-fill-color: var(--dk-text) !important;
	caret-color: var(--dk-text);
}

/* Checkout in the dark theme: totals labels, the payment note, radios and the CLICK logo were
   dark-on-dark / light-on-light. */
html[data-theme="dark"] #order_review table th,
html[data-theme="dark"] .woocommerce-checkout-review-order-table tfoot th {
	color: var(--dmst-muted, #9aa1b4) !important;
}

html[data-theme="dark"] .dmst-checkout-note {
	background: #221d3a;
	color: var(--dk-text);
}

html[data-theme="dark"] #shipping_method input[type=radio],
html[data-theme="dark"] .wc_payment_methods input[type=radio] {
	accent-color: #7c5cff;
	color-scheme: dark;
}

html[data-theme="dark"] .wc_payment_methods label img {
	background: #fff;
	border-radius: 6px;
	padding: 2px 6px;
}

/* Mini-cart drawer: stacked full-width buttons, the line price on one line. */
.woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.woocommerce-mini-cart__buttons .dm-mc-btn {
	width: 100%;
	margin: 0 !important;
}

.woocommerce-mini-cart-item .quantity {
	white-space: nowrap;
}

.site-header-cart-hidden .header-cart__title,
.site-header-cart-hidden .header-cart__title:before {
	color: var(--dmst-blue);
}

/* Phone buy bar in the dark theme: it was a white strip on a dark page. */
html[data-theme="dark"] .dmst-buybar {
	background: var(--dk-surface);
	border-top: 1px solid var(--dmst-line);
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .dmst-buybar-price {
	color: var(--dk-text);
}
