/* Coffee & Tea House: NEW site styling on top of Blocksy */

:root {
	--cth-red: #903b2a;
	--cth-brown: #4e3528;
	--cth-navy: #313846;
	--cth-light: #f5f5f5;
	--cth-border: #dddddd;
}

/* Top bar: language switcher and account links */
.cth-topbar-right {
	display: flex;
	align-items: center;
	gap: 28px;
	white-space: nowrap;
}

.cth-lang,
.cth-account-links {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.cth-lang a,
.cth-account-links a {
	color: inherit;
	text-decoration: none;
}

.cth-lang a:hover,
.cth-account-links a:hover {
	color: #fff;
	opacity: 0.8;
}

.cth-lang li.is-current a {
	font-weight: 700;
}

.cth-lang li + li {
	padding-inline-start: 16px;
	border-inline-start: 1px solid rgba(255, 255, 255, 0.25);
}

/* Mega menus (menu items with the classes cth-mega / cth-brands): full-width panels like NEW */
.ct-header [data-row="middle"] .ct-container {
	position: relative;
}

.ct-header .menu > li.cth-mega,
.ct-header .menu > li.cth-brands {
	position: static;
}

.ct-header .menu > li.cth-mega > .sub-menu,
.ct-header .menu > li.cth-brands > .sub-menu {
	left: 0;
	right: 0;
	width: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px 32px;
	padding: 28px 32px;
	border-top: 3px solid var(--cth-red);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.ct-header .menu > li.cth-brands > .sub-menu {
	grid-template-columns: repeat(5, 1fr);
}

/* Column headings (Кафе, Чай, ...) */
.ct-header .menu > li.cth-mega > .sub-menu > li > a,
.ct-header .menu > li.cth-brands > .sub-menu > li > a {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 14px;
	color: var(--cth-navy);
	border-bottom: 1px solid var(--cth-border);
	padding-bottom: 8px;
	margin-bottom: 6px;
}

/* Subcategories listed under their heading instead of flying out */
.ct-header .menu > li.cth-mega .sub-menu .sub-menu {
	position: static;
	opacity: 1;
	visibility: inherit;
	transform: none;
	box-shadow: none;
	border: 0;
	padding: 0;
	min-width: 0;
	background: transparent;
	pointer-events: inherit;
}

.ct-header .menu > li.cth-mega .sub-menu .sub-menu a {
	font-size: 14px;
	text-transform: none;
	padding-block: 4px;
}

.ct-header .menu > li.cth-mega > .sub-menu > li > a .ct-toggle-dropdown-desktop,
.ct-header .menu > li.cth-mega > .sub-menu > li > .ct-toggle-dropdown-desktop-ghost {
	display: none;
}

.ct-header .menu > li.cth-mega > .sub-menu > li,
.ct-header .menu > li.cth-brands > .sub-menu > li {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.ct-header .menu > li.cth-mega .sub-menu .sub-menu {
	width: 100%;
}

/* Tea has many subcategories: wider column split in two */
.ct-header .menu > li.cth-mega > .sub-menu {
	grid-template-columns: 1fr 2fr 1fr 1fr;
}

.ct-header .menu > li.cth-mega > .sub-menu > li:nth-child(2) > .sub-menu {
	columns: 2;
	column-gap: 24px;
}

.ct-header .menu > li.cth-mega > .sub-menu > li:nth-child(2) > .sub-menu > li {
	break-inside: avoid;
}

/* Brand logos in the brands mega menu */
.ct-header .menu > li.cth-brands > .sub-menu > li > a {
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
}

.cth-brand-logo img {
	display: block;
	width: 110px;
	height: 110px;
	object-fit: contain;
}

/* Footer (NEW: 30px/20px padding, centered contacts, red chevrons, darker copyright bar) */
.ct-footer [data-row="middle"] > .ct-container {
	padding-top: 30px;
	padding-bottom: 20px;
}
.ct-footer [data-row="bottom"] > .ct-container {
	padding-top: 20px;
	padding-bottom: 20px;
}
.ct-footer [data-row="bottom"] .ct-footer-copyright {
	color: #b6bbc6;
	font-size: 15px;
}
.ct-footer .widget-title {
	margin-bottom: 12px;
	color: #f5f5f5;
	font-size: 16px;
	font-weight: 700;
}
.ct-footer .widget_nav_menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ct-footer .widget_nav_menu li {
	margin: 0;
	padding: 0 0 7px;
}
.ct-footer .widget_nav_menu a {
	color: #e6e6e6;
	font-size: 14px;
}
.ct-footer .widget_nav_menu a::before {
	content: "›";
	margin-right: 7px;
	color: var(--cth-red);
	font-size: 18px;
	line-height: 1;
}
.ct-footer .widget_nav_menu a:hover {
	color: #fff;
}
.cth-footer-contacts {
	text-align: center;
	color: #fff;
	font-size: 15px;
}
.cth-footer-contacts img {
	display: block;
	max-width: 160px;
	height: auto;
	margin: 0 auto 12px;
}
.cth-footer-contacts p {
	margin: 0 0 8px;
}
.cth-footer-contacts a {
	color: #fff;
}
.cth-footer-contacts a.cth-footer-fb {
	display: inline-flex;
	color: var(--cth-red);
}
.cth-footer-contacts a.cth-footer-fb:hover {
	color: #fff;
}

/* Phones: only the language switcher in the top bar */
@media (max-width: 689.98px) {
	[data-device="mobile"] .cth-account-links {
		display: none;
	}

	[data-device="mobile"] .cth-topbar-right {
		justify-content: center;
		width: 100%;
	}
}

/* ===================== Homepage ===================== */

.home .entry-content > * + * {
	margin-top: 0;
}

/* Section titles: uppercase, centered, small red line under them */
.cth-section-title {
	text-transform: uppercase;
	text-align: center;
	color: var(--cth-navy);
	margin-bottom: 40px;
}

.cth-section-title::after {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	margin: 14px auto 0;
	background: var(--cth-red);
}

.cth-section {
	padding-block: 60px;
}

.cth-section-grey {
	background: var(--cth-light);
}

.cth-button,
.cth-slide-button .wp-block-button__link {
	display: inline-block;
	padding: 10px 22px;
	background: var(--cth-red);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0;
}

.cth-button:hover,
.cth-slide-button .wp-block-button__link:hover {
	background: var(--cth-brown);
	color: #fff;
}

/* 1. Slider: slides stacked, the active one visible, wave at the bottom like NEW */
.cth-slider {
	position: relative;
	display: grid;
}

.cth-slider > * {
	grid-area: 1 / 1;
	margin: 0 !important;
}

.cth-slider.is-ready > :not(.cth-slider-dots) {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0.8s;
}

.cth-slider.is-ready > .is-active {
	opacity: 1;
	visibility: visible;
}

.cth-slider:not(.cth-testimonials)::after {
	content: "";
	grid-area: 1 / 1;
	align-self: end;
	height: 60px;
	z-index: 2;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 40 Q 360 0 720 30 T 1440 20 V60 H0 Z' fill='%23fff'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}

.cth-slide .wp-block-cover__inner-container {
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin-inline: auto;
	padding-inline: 40px;
}

.cth-slide-title {
	max-width: 520px;
	font-size: clamp(32px, 4.5vw, 60px);
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.cth-slider-dots {
	grid-area: 1 / 1;
	align-self: end;
	justify-self: center;
	z-index: 3;
	display: flex;
	gap: 8px;
	margin-bottom: 70px !important;
}

.cth-slider-dots button {
	width: 11px;
	height: 11px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.cth-slider-dots button.is-active {
	background: #fff;
}

/* 2. Banners: Кафе tall on the left, 2 x 2 next to it */
.cth-banners {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 200px 200px;
	gap: 20px;
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 40px auto !important;
	padding-inline: 20px;
}

.cth-banners > :first-child {
	grid-row: span 2;
}

.cth-banner {
	min-height: 0 !important;
	height: 100%;
	align-items: flex-end;
	justify-content: flex-start;
	overflow: hidden;
}

.cth-banner .wp-block-cover__image-background {
	transition: transform 0.5s ease;
}

.cth-banner:hover .wp-block-cover__image-background {
	transform: scale(1.06);
}

.cth-banner-label a {
	display: inline-block;
	padding: 6px 14px;
	background: rgba(0, 0, 0, 0.75);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}

/* Whole banner clickable */
/* The cover's content box fills the square, so the label link's ::after covers all of it */
.cth-banner .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding: 1em;
}

.cth-banner-label {
	margin: 0;
}

.cth-banner-label a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

/* 3. Free delivery strip */
.cth-strip {
	margin: 0 !important;
	padding: 18px 20px;
	background: var(--cth-brown);
	color: #fff;
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.cth-strip::before {
	content: "🚚";
	margin-inline-end: 10px;
}

/* 4. Product tabs */
.cth-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--cth-border);
}

.cth-tab {
	padding: 12px 18px;
	border: 0;
	background: #fff;
	color: var(--cth-navy);
	font: 700 13px/1.2 inherit;
	cursor: pointer;
}

.cth-tab.is-active {
	background: #000;
	color: #fff;
}

.cth-tabs-all {
	margin-inline-start: auto;
	padding: 12px 18px;
	background: #fff;
	color: var(--cth-navy);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

/* 5. Espresso Academy */
.cth-academy .wp-block-cover__inner-container {
	max-width: 900px;
	margin-inline: auto;
}

.cth-academy .cth-section-title {
	color: #fff;
}

.cth-subtitle {
	font-weight: 700;
	font-size: 18px;
}

/* 6. Categories */
.cth-category-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.cth-category {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.cth-category h3 {
	font-size: 15px;
	margin-bottom: 10px;
}

.cth-category h3 a,
.cth-category li a {
	color: var(--cth-navy);
	text-decoration: none;
}

.cth-category ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.9;
}

.cth-category li::before {
	content: "›";
	color: var(--cth-red);
	margin-inline-end: 6px;
}

.cth-category li a:hover,
.cth-category h3 a:hover {
	color: var(--cth-red);
}

.cth-more {
	font-size: 13px;
	color: var(--cth-red);
}

.cth-category-image img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 50%;
}

/* 7. Blog */
.cth-posts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.cth-post {
	background: #fff;
	padding-bottom: 20px;
}

.cth-post > :not(.cth-post-image) {
	margin-inline: 18px;
}

.cth-post-image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 16px;
}

.cth-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cth-post-date {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 6px 10px;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	font-size: 11px;
	text-transform: uppercase;
	line-height: 1.2;
}

.cth-post-date b {
	font-size: 20px;
}

.cth-post h3 {
	font-size: 16px;
	line-height: 1.35;
}

.cth-post h3 a {
	color: var(--cth-navy);
	text-decoration: none;
}

.cth-post p {
	font-size: 14px;
}

/* 8. Brands */
div.cth-brands {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 40px 60px;
}

div.cth-brands img {
	width: 160px;
	height: 120px;
	object-fit: contain;
	transition: transform 0.3s ease;
}

div.cth-brands a:hover img {
	transform: scale(1.06);
}

/* 9. About + testimonials */
.cth-about {
	padding-block: 60px;
}

.cth-about .wp-block-cover__inner-container {
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin-inline: auto;
	color: var(--cth-text, #38444f);
}

.cth-about-box,
.cth-testimonials-box {
	background: #fff;
	padding: 30px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.cth-about h3 {
	color: var(--cth-navy);
	text-transform: uppercase;
}

.cth-about-text {
	font-size: 14px;
	display: -webkit-box;
	-webkit-line-clamp: 8;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cth-testimonials {
	text-align: center;
}

.cth-testimonial {
	border: 0 !important;
	padding: 0 20px !important;
	margin: 0 !important;
	font-style: italic;
}

.cth-testimonial::before {
	content: "“";
	display: block;
	font-size: 64px;
	line-height: 1;
	color: var(--cth-red);
	font-style: normal;
}

.cth-testimonial cite {
	display: block;
	margin-top: 12px;
	font-style: normal;
	font-weight: 700;
	color: var(--cth-navy);
}

.cth-testimonials .cth-slider-dots {
	grid-area: auto;
	margin: 20px auto 0 !important;
}

.cth-testimonials .cth-slider-dots button {
	border-color: var(--cth-red);
}

.cth-testimonials .cth-slider-dots button.is-active {
	background: var(--cth-red);
}

/* Homepage on tablets and phones */
@media (max-width: 999.98px) {
	.cth-category-grid,
	.cth-posts {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 689.98px) {
	.cth-slide {
		min-height: 380px !important;
	}

	.cth-banners {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none;
		grid-auto-rows: 150px;
	}

	.cth-banners > :first-child {
		grid-row: auto;
		grid-column: span 2;
	}

	.cth-category-grid,
	.cth-posts {
		grid-template-columns: 1fr;
	}

	.cth-tabs-all {
		margin-inline-start: 0;
	}
}

/* Slider: before the script starts, show only the first slide */
.cth-slider:not(.is-ready) > :not(:first-child) {
	opacity: 0;
	visibility: hidden;
}

@media (max-width: 689.98px) {
	/* Tabs: one swipeable row */
	.cth-tabs-nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.cth-tab,
	.cth-tabs-all {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	/* Products 2 per row on phones, like NEW */
	.cth-tab-panel ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px;
	}
}

/* ===================== Product cards (like NEW) ===================== */

:root {
	--cth-card-bar: #354564;
	--cth-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM5.2 4l.4 2H21l-2.4 8.4a2 2 0 0 1-1.9 1.6H8.4a2 2 0 0 1-2-1.6L4.4 4H2V2h3.6a1 1 0 0 1 1 .8z'/%3E%3C/svg%3E");
	--cth-icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.1 4.5 6 4.1c2.3-.2 4.1 1 6 3.1 1.9-2.1 3.7-3.3 6-3.1 3.9.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
	--cth-icon-compare: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 3l5 5-5 5v-3.5H9v-3h7zM8 11v3.5h7v3H8V21l-5-5z'/%3E%3C/svg%3E");
	--cth-icon-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.2 1.5 12c1.2 2.8 5 7 10.5 7s9.3-4.2 10.5-7C21.3 9.2 17.5 5 12 5zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");
	--cth-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2zm2 2v.5l8 5 8-5V7zm16 2.9-8 5-8-5V17h16z'/%3E%3C/svg%3E");
}

ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 7px;
	background: #fff;
	border: 1px solid var(--cth-border);
	border-radius: 2px;
	text-align: center;
}

ul.products li.product figure {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
}

/* "Ново" badge */
.cth-badge-new {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	padding: 3px 8px;
	background: var(--cth-red);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	border-radius: 10px;
}

/* Quick view: eye icon in the middle of the image, on hover */
.cth-quickview {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.cth-quickview a,
.cth-card-icon a {
	display: block;
	width: 36px;
	height: 36px;
	font-size: 0 !important;
	color: transparent !important;
	background: var(--cth-card-bar);
	border-radius: 0;
}

.cth-quickview a::before,
.cth-card-icon a::before,
.cth-card-cart::before,
.cth-card-ask::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	margin: 10px auto;
	background: #fff;
	-webkit-mask: var(--cth-icon) center / contain no-repeat;
	mask: var(--cth-icon) center / contain no-repeat;
}

.cth-quickview a::before {
	--cth-icon: var(--cth-icon-eye);
}

/* Navy bar at the bottom of the image: cart (wide) + wishlist + compare, on hover */
.cth-card-actions {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 0;
	background: var(--cth-card-bar);
	opacity: 0;
	transform: translateY(100%);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

ul.products li.product:hover .cth-card-actions,
ul.products li.product:focus-within .cth-card-actions {
	opacity: 1;
	transform: none;
}

ul.products li.product:hover .cth-quickview,
ul.products li.product:focus-within .cth-quickview {
	opacity: 1;
}

.cth-card-cart.button {
	flex: 0 0 118px;
	height: 36px;
	min-height: 0;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0 !important;
	color: transparent !important;
	background: var(--cth-red) !important;
	border-radius: 0 !important;
}

.cth-card-cart::before {
	--cth-icon: var(--cth-icon-cart);
}

.cth-card-cart.added::after,
.cth-card-actions .added_to_cart,
.cth-card-actions .screen-reader-text {
	display: none !important;
}

.cth-card-wishlist a::before {
	--cth-icon: var(--cth-icon-heart);
}

.cth-card-compare a::before {
	--cth-icon: var(--cth-icon-compare);
}

.cth-card-icon a:hover,
.cth-quickview a:hover {
	background: var(--cth-red);
}

.cth-card-wishlist .woosw-added::before {
	background: #e8b4a6;
}

/* Brand strip, name, price */
.cth-card-brand {
	display: block;
	min-height: 35px;
	padding: 7px;
	background: var(--cth-light);
	color: var(--cth-red) !important;
	font-size: 14px;
	text-decoration: none;
}

ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 10px 10px 5px;
	font-size: 14px !important;
	font-weight: 400;
	line-height: 1.4;
}

ul.products li.product .woocommerce-loop-product__title a {
	color: var(--cth-text, #38444f);
}

ul.products li.product .price {
	display: block;
	padding: 5px 0 8px;
	font-size: 15px;
	color: var(--cth-text, #38444f);
}

/* "Задай въпрос" at the bottom */
.cth-card-ask {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding: 6px 10px 2px;
	border-top: 1px solid var(--cth-border);
	color: #45525e !important;
	font-size: 12px;
	text-align: left;
	text-decoration: none;
}

.cth-card-ask::before {
	--cth-icon: var(--cth-icon-mail);
	width: 13px;
	height: 13px;
	margin: 0;
	background: currentColor;
}

/* Touch screens have no hover: show the bar (NEW does the same on phones) */
@media (hover: none) {
	.cth-card-actions {
		position: static;
		opacity: 1;
		transform: none;
	}
}

/* Blocksy uses the button's ::before for its loading spinner: keep our icon in place */
.cth-card-cart.button::before {
	position: static !important;
	opacity: 1 !important;
	transform: none !important;
	border: 0 !important;
	animation: none !important;
	filter: none !important;
	z-index: 1 !important;
}

.cth-card-cart.button.loading::before {
	opacity: 0.4 !important;
}

.cth-quickview a.woosq-btn {
	background: var(--cth-card-bar) !important;
}

.cth-quickview a.woosq-btn:hover {
	background: var(--cth-red) !important;
}

/* ---- Product card v2: closer to NEW (rounded card, shadow, one navy bar, outline icons) ---- */
:root {
	--cth-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h3l2.4 10.2a1.5 1.5 0 0 0 1.5 1.1h8.6a1.5 1.5 0 0 0 1.4-1L21 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3Cpath d='M11 4l2 3 4-5'/%3E%3C/svg%3E");
	--cth-icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.2-4.4-9.3-8.8C1.3 8.3 3 4.8 6.3 4.5c2.1-.2 3.9 1 5.7 3 1.8-2 3.6-3.2 5.7-3 3.3.3 5 3.8 3.6 6.7C19.2 15.6 12 20 12 20z'/%3E%3C/svg%3E");
	--cth-icon-compare: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M7.5 10h9l-2.5-2.5M16.5 14h-9l2.5 2.5'/%3E%3C/svg%3E");
}

ul.products li.product {
	padding: 0;
	border: 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12);
}

ul.products li.product figure {
	padding: 14px 14px 0;
}

/* One full-width navy bar: [cart + Купи] [heart] [compare] */
.cth-card-actions {
	left: 0;
	right: 0;
	height: 44px;
	gap: 26px;
	align-items: center;
	background: var(--cth-card-bar);
}

.cth-card-cart.button {
	flex: 0 0 auto;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	height: auto;
	background: transparent !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0;
	box-shadow: none !important;
}

.cth-card-cart.button::before {
	width: 22px;
	height: 22px;
	margin: 0;
}

.cth-card-icon a,
.cth-card-icon a:hover {
	width: 24px;
	height: 24px;
	background: transparent;
}

.cth-card-icon a::before {
	width: 22px;
	height: 22px;
	margin: 1px;
}

.cth-card-icon a:hover::before,
.cth-card-cart.button:hover::before {
	background: #e8b4a6;
}

.cth-card-cart.button:hover {
	color: #e8b4a6 !important;
}

/* Quick view: navy square with the eye, like NEW */
.cth-quickview a.woosq-btn {
	width: 36px;
	height: 36px;
}

.cth-quickview a::before {
	width: 20px;
	height: 20px;
	margin: 8px;
}

/* Name, short divider, price */
ul.products li.product .woocommerce-loop-product__title {
	padding: 14px 16px 0;
	font-size: 16px !important;
	font-weight: 400;
	line-height: 1.45;
}

ul.products li.product .woocommerce-loop-product__title::after {
	content: "";
	display: block;
	width: 80px;
	height: 1px;
	margin: 10px auto 0;
	background: var(--cth-border);
}

ul.products li.product .price {
	padding: 6px 0 18px;
	font-size: 16px;
	font-weight: 400;
}

ul.products li.product .price .amount,
ul.products li.product .price bdi {
	font-weight: 400;
}

.cth-card-brand {
	margin: 0 14px;
}

.cth-card-ask {
	padding: 12px 18px;
	border-top: 1px solid #dbe3ef;
	font-size: 13px;
	color: var(--cth-text, #38444f) !important;
}

.cth-card-ask::before {
	width: 15px;
	height: 15px;
}

/* Bar edge to edge: the padding goes on the image link, not on the figure */
ul.products li.product figure {
	padding: 0;
	margin: 0;
}

ul.products li.product figure > .ct-media-container {
	display: block;
	padding: 14px 14px 0;
}

/* Quick view like NEW: brick-red eye button, red label above it on hover */
.cth-quickview a.woosq-btn {
	background: var(--cth-red) !important;
}

.cth-quickview a.woosq-btn:hover {
	background: var(--cth-brown) !important;
}

.cth-quickview::before {
	content: attr(data-label);
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translate(-50%, 4px);
	padding: 4px 10px;
	background: var(--cth-red);
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	white-space: nowrap;
	border-radius: 4px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cth-quickview:hover::before {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* Quick view: exact 36x36 square, centered on the image (the image has 14px padding on top) */
.cth-quickview {
	top: calc(50% + 7px);
	display: block;
	width: 36px;
	height: 36px;
	line-height: 0;
}

.cth-quickview a.woosq-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0 !important;
}

.cth-quickview a.woosq-btn::before {
	margin: 0 !important;
}

/* ---------- Category pages (NEW's layout) ---------- */
.cth-title-band {
	padding: 22px 0 10px;
	text-align: center;
}
.cth-breadcrumbs {
	font-size: 12px;
	color: #777;
	margin-bottom: 12px;
}
.cth-breadcrumbs a {
	color: var(--cth-navy);
}
.cth-page-title {
	margin: 0;
	font-size: 34px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cth-navy);
}
.cth-title-band + * .ct-container,
.cth-title-band ~ [class*="ct-container"] {
	padding-top: 20px;
}

.cth-cat-desc {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.6;
}
.cth-cat-desc__text {
	max-height: 4.8em;
	overflow: hidden;
}
.cth-cat-desc__text p {
	margin: 0 0 .6em;
}
.cth-cat-desc.is-open .cth-cat-desc__text {
	max-height: none;
}
.cth-cat-desc__more {
	margin-top: 4px;
	padding: 3px 10px;
	border: 0;
	border-radius: 3px;
	background: var(--cth-red);
	color: #fff;
	font-size: 12px;
	cursor: pointer;
}

.cth-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
	margin-bottom: 20px;
	border-top: 1px solid var(--cth-border);
	border-bottom: 1px solid var(--cth-border);
	font-size: 13px;
}
.cth-view {
	display: flex;
	gap: 4px;
}
.cth-view button {
	width: 30px;
	height: 30px;
	padding: 7px;
	border: 0;
	background: none;
	cursor: pointer;
	opacity: .45;
}
.cth-view button.is-active {
	opacity: 1;
}
.cth-view button span {
	display: block;
	width: 16px;
	height: 16px;
}
.cth-view [data-view="grid"] span {
	background:
		linear-gradient(var(--cth-navy), var(--cth-navy)) 0 0 / 7px 7px no-repeat,
		linear-gradient(var(--cth-navy), var(--cth-navy)) 100% 0 / 7px 7px no-repeat,
		linear-gradient(var(--cth-navy), var(--cth-navy)) 0 100% / 7px 7px no-repeat,
		linear-gradient(var(--cth-navy), var(--cth-navy)) 100% 100% / 7px 7px no-repeat;
}
.cth-view [data-view="list"] span {
	background: repeating-linear-gradient(var(--cth-navy) 0 3px, transparent 3px 6.5px);
}
.cth-tb-compare a {
	color: var(--cth-red);
}
.cth-tb-form {
	display: flex;
	gap: 14px;
	margin-left: auto;
}
.cth-tb-form select {
	height: 30px;
	padding: 0 8px;
	min-width: 0;
	font-size: 13px;
}

/* list view: image left, text right */
.woocommerce ul.products.cth-list-view {
	grid-template-columns: 1fr !important;
}
.woocommerce ul.products.cth-list-view > li.product {
	display: grid;
	grid-template-columns: 220px 1fr;
	column-gap: 24px;
	align-items: start;
	text-align: left;
}
.woocommerce ul.products.cth-list-view > li.product > :first-child {
	grid-row: 1 / span 10;
}

/* sidebar */
.cth-side-box {
	margin-bottom: 26px;
}
.cth-side-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--cth-border);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cth-navy);
}
.cth-filter-clear {
	padding: 2px 8px;
	border-radius: 3px;
	background: var(--cth-red);
	color: #fff !important;
	font-size: 11px;
	font-weight: 400;
	text-transform: none;
}
.cth-cat-tree {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
}
.cth-cat-tree li {
	position: relative;
}
.cth-cat-tree a {
	display: block;
	padding: 6px 26px 6px 0;
	color: var(--cth-navy);
	font-weight: 700;
	text-transform: uppercase;
}
.cth-cat-tree .cth-cat-tree {
	display: none;
	padding-left: 12px;
}
.cth-cat-tree .cth-cat-tree a {
	font-weight: 400;
	text-transform: none;
}
.cth-cat-tree .cth-cat-tree a::before {
	content: "› ";
}
.cth-cat-tree li.is-open > .cth-cat-tree {
	display: block;
}
.cth-cat-tree li.is-current > a {
	color: var(--cth-red);
}
.cth-cat-toggle {
	position: absolute;
	top: 3px;
	right: 0;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--cth-navy);
	cursor: pointer;
}
.cth-cat-toggle::before {
	content: "+";
	font-size: 16px;
}
li.is-open > .cth-cat-toggle::before {
	content: "−";
}

.cth-filter {
	border-bottom: 1px solid var(--cth-border);
	font-size: 13px;
}
.cth-filter summary {
	padding: 9px 0;
	font-weight: 700;
	color: var(--cth-navy);
	cursor: pointer;
	list-style: none;
}
.cth-filter summary::-webkit-details-marker {
	display: none;
}
.cth-filter summary::before {
	content: "+";
	display: inline-block;
	width: 14px;
	color: var(--cth-red);
}
.cth-filter[open] summary::before {
	content: "−";
}
.cth-filter ul {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}
.cth-filter li {
	padding: 3px 0;
}
.cth-filter li a {
	color: var(--cth-navy);
}
.cth-filter li a::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	margin-right: 7px;
	vertical-align: -2px;
	border: 1px solid #bbb;
	border-radius: 2px;
}
.cth-filter li.chosen a::before {
	background: var(--cth-red);
	border-color: var(--cth-red);
}
.cth-filter .count {
	color: #999;
	font-size: 11px;
}
/* brands: logos only */
.widget_brand_nav ul,
.cth-filter ul:has(.cth-filter-logo) {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cth-filter li:has(.cth-filter-logo) a {
	display: block;
	width: 52px;
	padding: 3px;
	border: 1px solid var(--cth-border);
	font-size: 0;
}
.cth-filter li:has(.cth-filter-logo) a::before,
.cth-filter li:has(.cth-filter-logo) .count {
	display: none;
}
.cth-filter li.chosen:has(.cth-filter-logo) a {
	border-color: var(--cth-red);
}
.cth-filter-logo {
	display: block;
	width: 100%;
	height: auto;
}
.cth-filter .price_slider_wrapper {
	padding: 6px 2px 12px;
}
.cth-filter .ui-slider .ui-slider-range,
.cth-filter .ui-slider .ui-slider-handle {
	background: var(--cth-red);
}
.cth-filter .price_slider_amount .button {
	padding: 4px 12px;
	background: var(--cth-navy);
	font-size: 12px;
}
.cth-filter li:has(.cth-filter-logo) {
	position: relative;
	width: 54px;
	padding: 3px;
	border: 1px solid var(--cth-border);
}
.cth-filter li:has(.cth-filter-logo) a {
	position: absolute;
	inset: 0;
	width: auto;
	padding: 0;
	border: 0;
	z-index: 1;
}
.cth-filter li.chosen:has(.cth-filter-logo) {
	border-color: var(--cth-red);
}
.cth-tb-form label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	white-space: nowrap;
}
.cth-filter .price_slider {
	position: relative;
	height: 4px;
	margin: 8px 6px 18px;
	background: var(--cth-border);
	border-radius: 2px;
}
.cth-filter .ui-slider-range {
	position: absolute;
	top: 0;
	height: 100%;
}
.cth-filter .ui-slider-handle {
	position: absolute;
	top: -5px;
	width: 14px;
	height: 14px;
	margin-left: -7px;
	border-radius: 50%;
	outline: 0;
	cursor: ew-resize;
}
.cth-filter .price_slider_amount {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}
.cth-toolbar {
	width: 100%;
	grid-column: 1 / -1;
}
.cth-tb-form select[name="limit"] {
	min-width: 64px;
}
/* NEW's footer accents are a brighter red than the brand red */
.ct-footer .widget_nav_menu a {
	display: inline-flex;
	align-items: baseline;
}
.ct-footer .widget_nav_menu a::before,
.cth-footer-contacts a.cth-footer-fb {
	color: #c50f14;
}

/* ---------- Product page (NEW's layout) ---------- */
.single-product .cth-title-band + * {
	padding-top: 10px;
}
.cth-ptabs {
	margin-bottom: 18px;
}
.cth-ptabs__nav,
.cth-band__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	border-bottom: 1px solid var(--cth-border);
}
.cth-ptabs__nav .cth-tab,
.cth-band__nav .cth-tab {
	padding: 10px 16px;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	background: none;
	color: var(--cth-red);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.cth-ptabs__nav .cth-tab.is-active {
	border-bottom-color: var(--cth-navy);
	color: var(--cth-navy);
}
.cth-ptabs .cth-tab-panel {
	padding: 14px 0 0;
	font-size: 14px;
}
.cth-ptabs .cth-cat-desc {
	margin: 0;
}
.cth-ptabs .woocommerce-product-attributes {
	width: 100%;
	margin: 0;
	font-size: 13px;
}
.cth-ptabs .woocommerce-product-attributes th,
.cth-ptabs .woocommerce-product-attributes td {
	padding: 6px 10px;
	border-bottom: 1px solid var(--cth-border);
	text-align: left;
}
.cth-ptabs .woocommerce-product-attributes td p {
	margin: 0;
}
.cth-ptabs #reviews .woocommerce-Reviews-title {
	font-size: 16px;
}

.cth-pmeta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--cth-border);
	font-size: 14px;
}
.cth-pmeta ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.cth-pmeta li::before {
	content: "› ";
	color: var(--cth-red);
}
.cth-pmeta li a {
	color: var(--cth-navy);
}
.cth-pmeta__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: var(--cth-red);
	font-size: 13px;
}
.cth-pmeta__brand img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	border: 1px solid var(--cth-border);
}

.single-product .entry-summary .price {
	font-size: 30px;
	font-weight: 700;
	color: var(--cth-navy);
}
.cth-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 4px 0;
}
.cth-pills button {
	padding: 5px 10px;
	border: 1px solid #c9d6ec;
	border-radius: 3px;
	background: #eef3fb;
	color: var(--cth-navy);
	font-size: 13px;
	cursor: pointer;
}
.cth-pills button.is-active {
	border-color: var(--cth-navy);
	background: var(--cth-navy);
	color: #fff;
}
.cth-pills button:disabled {
	opacity: .4;
	cursor: not-allowed;
	text-decoration: line-through;
}
select.cth-pills-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0;
	pointer-events: none;
}
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .cth-one-click,
.single-product form.cart .cth-ask {
	min-height: 44px;
	padding: 0 18px;
	border-radius: 3px;
	font-size: 14px;
	text-transform: none;
}
.single-product form.cart .single_add_to_cart_button {
	background: var(--cth-navy);
}
.single-product form.cart .cth-one-click {
	background: var(--cth-navy);
	color: #fff;
}
.single-product form.cart .cth-ask {
	background: var(--cth-brown);
	color: #fff;
}
.single-product form.cart .button:hover {
	background: var(--cth-red);
}
.cth-pactions {
	display: flex;
	gap: 20px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--cth-border);
	font-size: 13px;
}
.cth-pactions a {
	color: var(--cth-navy);
}

.cth-share {
	display: flex;
	justify-content: center;
	gap: 4px;
	margin: 14px 0 0;
}
.cth-share a {
	display: inline-flex;
	padding: 5px;
	border-radius: 4px;
	color: #fff;
}
.cth-share--facebook { background: #1877f2; }
.cth-share--x { background: #000; }
.cth-share--pinterest { background: #e60023; }
.cth-share--whatsapp { background: #25d366; }
.cth-share--email { background: #888; }

.cth-also {
	margin-top: 28px;
}
.cth-also__title {
	margin: 0 0 10px;
	font-size: 15px;
	color: var(--cth-navy);
}
.cth-mini {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(220px, 1fr);
	gap: 10px;
	overflow-x: auto;
	padding-bottom: 6px;
	scroll-snap-type: x mandatory;
}
.cth-mini__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--cth-border);
	scroll-snap-align: start;
}
.cth-mini__item img {
	flex: none;
	width: 60px;
	height: 60px;
	object-fit: contain;
}
.cth-mini__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--cth-red);
	font-size: 13px;
	line-height: 1.35;
}
.cth-mini__price {
	display: block;
	margin-top: 3px;
	color: var(--cth-navy);
	font-size: 12px;
}

.cth-band {
	margin-top: 50px;
	padding: 24px 0 30px;
	background: #3a3a3a;
}
.cth-band__nav {
	margin-bottom: 16px;
	border-bottom-color: #555;
}
.cth-band__nav .cth-tab {
	color: #ddd;
}
.cth-band__nav .cth-tab.is-active {
	border-bottom-color: var(--cth-red);
	color: #fff;
}

.cth-modal {
	width: min(420px, calc(100% - 32px));
	padding: 26px;
	border: 0;
	border-radius: 4px;
}
.cth-modal::backdrop {
	background: rgba(0, 0, 0, .6);
}
.cth-modal h3 {
	margin: 0 0 10px;
	color: var(--cth-navy);
}
.cth-modal__close {
	position: absolute;
	top: 6px;
	right: 10px;
}
.cth-modal__close button {
	border: 0;
	background: none;
	font-size: 26px;
	cursor: pointer;
}
.cth-one-click-form label {
	display: block;
	margin-bottom: 10px;
	font-size: 14px;
}
.cth-one-click-form input {
	width: 100%;
}
.cth-one-click-form .cth-hp {
	position: absolute;
	left: -9999px;
}
.cth-one-click-msg {
	margin: 10px 0 0;
	color: #2e7d32;
}
.cth-one-click-msg.is-error {
	color: var(--cth-red);
}
/* the label comes from the wrapper; the WPC link covers it and keeps its click handling */
.cth-pactions span[data-label] {
	position: relative;
	color: var(--cth-navy);
}
.cth-pactions span[data-label]::after {
	content: attr(data-label);
}
.cth-pactions__wishlist::before {
	content: "♡ ";
	color: var(--cth-red);
}
.cth-pactions__compare::before {
	content: "⇄ ";
	color: var(--cth-red);
}
.cth-pactions span[data-label] a {
	position: absolute;
	inset: 0;
	overflow: hidden;
	font-size: 0;
}
.single-product form.cart .single_add_to_cart_button {
	white-space: nowrap;
}
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
	gap: 8px;
}
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .cth-one-click,
.single-product form.cart .cth-ask {
	padding: 0 14px;
}
/* the bottom band runs straight into the footer, as on NEW */
.single-product .ct-container-full[data-vertical-spacing] {
	padding-bottom: 0;
}
.single-product .cth-band {
	margin-bottom: 0;
}

/* ===================== NEW match pass (product page screenshots) ===================== */

/* Header: black top bar, grey main bar, bold white top links, no counters or menu arrows */
#header [data-row="top"] {
	background: #111 !important;
}
#header [data-row="middle"] {
	background: #3d3d3d !important;
}
#header [data-row="top"] a,
.cth-account-links,
.cth-account-links a {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}
.cth-account-links [data-count]::after,
.cth-account-links [class*="count"] {
	display: none !important;
}
#header [data-device="desktop"] .ct-toggle-dropdown-desktop {
	display: none;
}
#header .menu > li.cth-mega > a {
	position: relative;
}
#header .menu > li.cth-mega > a::before {
	content: "Ново";
	position: absolute;
	top: calc(50% - 30px);
	left: 50%;
	transform: translateX(-50%);
	padding: 1px 6px;
	border-radius: 2px;
	background: var(--cth-red);
	color: #fff;
	font-size: 9px;
	font-weight: 400;
	line-height: 1.5;
	text-transform: none;
}
html[lang^="en"] #header .menu > li.cth-mega > a::before {
	content: "New";
}
#header [data-device="desktop"] .ct-header-search svg,
#header [data-device="desktop"] .ct-header-cart svg {
	width: 26px;
	height: 26px;
}

/* Language: flag + current language, others on hover */
.cth-lang {
	position: relative;
	display: block;
}
.cth-lang a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #fff;
	font-weight: 700;
}
.cth-lang img {
	width: 16px;
	height: 11px;
}
.cth-lang__current a::after {
	content: "";
	margin-left: 2px;
	border: 4px solid transparent;
	border-top-color: currentColor;
	border-bottom: 0;
}
.cth-lang__list {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	display: none;
	min-width: 100%;
	margin: 0;
	padding: 6px 10px;
	list-style: none;
	background: #111;
}
.cth-lang:hover .cth-lang__list,
.cth-lang:focus-within .cth-lang__list {
	display: block;
}

/* Breadcrumb strip and low-poly title band */
.cth-bc-strip {
	position: relative;
	z-index: 1;
	background: #fff;
	box-shadow: 0 6px 10px -6px rgba(0, 0, 0, .25);
}
.cth-bc-strip .cth-breadcrumbs {
	margin: 0 auto;
	padding: 12px 0;
	font-size: 13px;
	color: var(--cth-navy);
	text-align: center;
}
.cth-bc-strip a {
	color: #c50f14;
	text-decoration: underline;
}
.cth-bc-strip a:first-child {
	text-decoration: none;
}
.cth-bc-strip svg {
	vertical-align: -1px;
}
.cth-bc-sep {
	margin: 0 9px;
	color: #bbb;
}
.cth-title-band {
	padding: 30px 20px;
	background: #eee url(../../../uploads/cth/low-poly.jpg) center / cover;
	text-align: center;
}
.cth-page-title {
	font-size: 32px;
	line-height: 1.05;
	color: #313846;
}
.cth-page-title::after {
	content: "";
	display: block;
	width: 70px;
	height: 3px;
	margin: 15px auto 0;
	background: #111;
}

/* Product area: light grey box on white */
body.single-product {
	background: #fff;
}
.single-product .ct-container-full[data-vertical-spacing] {
	padding-top: 0;
}
.single-product .product-entry-wrapper {
	padding: 20px;
	background: #f5f5f5;
}

/* Gallery: square white box, whole image */
.single-product .woocommerce-product-gallery {
	position: relative;
}
.single-product .woocommerce-product-gallery .ct-media-container {
	aspect-ratio: 1 / 1;
	background: #fff;
}
.single-product .woocommerce-product-gallery .ct-media-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.single-product .woocommerce-product-gallery .cth-badge-new {
	top: 10px;
	right: 10px;
	font-size: 13px;
}

/* Tabs: grey boxes, the active one white and joined to a white panel */
.cth-ptabs__nav {
	gap: 0;
	border-bottom: 0;
}
.cth-ptabs__nav .cth-tab {
	margin: 0;
	padding: 12px 15px;
	border: 0;
	background: #f5f5f5;
	color: #c50f14;
	font-size: 15px;
	font-weight: 700;
}
.cth-ptabs__nav .cth-tab.is-active {
	background: #fff;
	color: #555;
}
.cth-ptabs .cth-tab-panel {
	padding: 15px;
	background: #fff;
	font-size: 16px;
}

/* Description: faded preview with the button over it */
.cth-cat-desc {
	position: relative;
}
.cth-cat-desc:not(.is-open) .cth-cat-desc__text {
	-webkit-mask-image: linear-gradient(#000 40%, transparent);
	mask-image: linear-gradient(#000 40%, transparent);
}
.cth-cat-desc:not(.is-open) .cth-cat-desc__more {
	position: absolute;
	bottom: 4px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
}
.cth-cat-desc__more {
	padding: 2px 7px 3px;
	border-radius: 2px;
	font-size: 12px;
}
.cth-cat-desc__more::before {
	content: "▾ ";
}
.cth-cat-desc.is-open .cth-cat-desc__more::before {
	content: "▴ ";
}

/* Model / SKU and brand */
.cth-pmeta {
	margin-bottom: 15px;
	font-size: 16px;
}
.cth-pmeta li::before {
	content: "›";
	margin-right: 6px;
	color: var(--cth-navy);
	font-weight: 700;
}
.cth-pmeta__brand {
	font-size: 17px;
	color: #c50f14;
}
.cth-pmeta__brand img {
	background: #fff;
}

/* Price, options and buttons separated by lines */
.single-product .entry-summary .price {
	margin: 0 0 15px;
	padding: 10px 0 20px;
	border-bottom: 1px solid var(--cth-border);
	font-size: 32px;
}
.single-product .variations_form table.variations {
	margin-bottom: 15px;
	border-bottom: 1px solid var(--cth-border);
}
.single-product .variations_form table.variations th,
.single-product .variations_form table.variations td {
	display: block;
	padding: 0;
	border: 0;
}
.single-product .variations_form table.variations label {
	padding: 7px 0 5px;
	font-size: 13px;
	font-weight: 400;
}
.single-product .variations_form table.variations label::after {
	content: " *";
	color: #c50f14;
}
.single-product .variations_form table.variations td {
	padding-bottom: 20px;
}
.single-product .variations_form select:not(.cth-pills-select) {
	width: 335px;
	max-width: 100%;
	height: 34px;
	padding: 6px 12px;
	border: 1px solid #ddd;
	border-radius: 2px;
	background-color: #fff;
	color: #555;
	font-size: 14px;
}
.single-product .reset_variations {
	display: none !important;
}
.single-product form.cart .quantity {
	display: none !important;
}
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
	gap: 10px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--cth-border);
}
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .cth-one-click,
.single-product form.cart .cth-ask {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 47px;
	padding: 0 20px;
	border-radius: 2px;
	font-size: 13px;
	font-weight: 400;
	opacity: 1 !important;
}
.single-product form.cart .single_add_to_cart_button::before,
.single-product form.cart .cth-ask::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--cth-icon) center / contain no-repeat;
	mask: var(--cth-icon) center / contain no-repeat;
}
.single-product form.cart .single_add_to_cart_button {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 4h3l2.4 10.2a1 1 0 0 0 1 .8h9.2a1 1 0 0 0 1-.7L21 8H7' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='19' r='1.6'/%3E%3Ccircle cx='17' cy='19' r='1.6'/%3E%3C/svg%3E");
}
.single-product form.cart .cth-ask {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
}

/* Wishlist / compare: small grey links with outline icons */
.cth-pactions {
	gap: 22px;
	margin-top: 0;
	padding-top: 12px;
	border-top: 0;
	font-size: 12px;
}
.cth-pactions span[data-label] {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #45525e;
}
.cth-pactions__wishlist::before,
.cth-pactions__compare::before {
	content: "" !important;
	width: 18px;
	height: 18px;
	background: var(--cth-navy);
	-webkit-mask: var(--cth-icon) center / contain no-repeat;
	mask: var(--cth-icon) center / contain no-repeat;
}
.cth-pactions__wishlist {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7.5-4.6-9.2-9.4C1.6 7.2 4 4 7.3 4c2 0 3.5 1.1 4.7 2.7C13.2 5.1 14.7 4 16.7 4 20 4 22.4 7.2 21.2 10.6 19.5 15.4 12 20 12 20z' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
}
.cth-pactions__compare {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M7 10h9l-2.5-2.5M17 14H8l2.5 2.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.cth-pactions__compare::before {
	background: #c50f14;
}

/* Share: AddToAny-sized squares, "+" first */
.cth-share {
	gap: 4px;
	margin-top: 20px;
}
.cth-share a,
.cth-share button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
}
.cth-share--more { background: #0166ff; }
.cth-share--more.is-copied { background: #2e7d32; }
.cth-share--facebook { background: #0866ff; }
.cth-share--whatsapp { background: #12af0a; }

/* "Сравни с" / "Често купувани" */
.cth-also {
	margin-top: 60px;
}
.cth-also__nav {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
	border-bottom: 1px solid #903b2a;
}
.cth-also__nav .cth-tab {
	margin-bottom: -1px;
	padding: 5px 10px 10px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: none;
	color: var(--cth-navy);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.cth-also__nav .cth-tab.is-active {
	border-bottom-color: #903b2a;
}
.cth-arrows {
	display: flex;
	gap: 2px;
	margin-left: auto;
}
.cth-arrows button {
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	background: #c50f14;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.cth-arrows button:first-child {
	opacity: .6;
}
.cth-also .cth-mini {
	grid-auto-columns: calc((100% - 20px) / 3);
	scrollbar-width: none;
}
.cth-mini__item {
	align-items: flex-start;
	padding: 10px;
	border: 0;
}
.cth-mini__name {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
	color: #c50f14;
}
.cth-also .cth-mini__item {
	min-height: 150px;
}

/* Bottom band: white bold tabs, five white cards */
.cth-band {
	margin-top: 0;
	padding: 30px 0 40px;
}
.cth-band__nav {
	margin-bottom: 15px;
	border-bottom-color: #bbc6dd;
}
.cth-band__nav .cth-tab {
	padding: 10px;
	color: #bbc6dd;
	font-size: 16px;
	font-weight: 700;
}
.cth-band__nav .cth-tab.is-active {
	border-bottom-color: #bbc6dd;
	color: #fff;
}
.cth-band .cth-mini {
	grid-auto-columns: calc((100% - 40px) / 5);
	scrollbar-width: none;
}
.cth-band .cth-mini__item {
	min-height: 112px;
}
.cth-band .cth-mini__item img {
	width: 75px;
	height: 56px;
	object-fit: cover;
}
@media (max-width: 999px) {
	.cth-band .cth-mini,
	.cth-also .cth-mini {
		grid-auto-columns: minmax(220px, 1fr);
	}
}
/* Blocksy uses button ::before for a blurred shadow behind the button */
.single-product form.cart .single_add_to_cart_button::before,
.single-product form.cart .cth-ask::before {
	display: block !important;
	filter: none !important;
	z-index: auto !important;
	flex: none;
	position: static !important;
	opacity: 1 !important;
	border: 0 !important;
	animation: none !important;
}
.cth-mini__text {
	min-width: 0;
	overflow-wrap: anywhere;
}
@media (max-width: 1299px) {
	.cth-also .cth-mini {
		grid-auto-columns: calc((100% - 10px) / 2);
	}
}
@media (max-width: 689.98px) {
	.cth-page-title {
		font-size: 22px;
	}
	.cth-title-band {
		padding: 20px 16px;
	}
	.single-product .product-entry-wrapper {
		padding: 16px;
	}
}

/* ---------- Footer pages: sitemap, brands, forms ---------- */
.cth-sitemap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px 40px;
}
.cth-sitemap ul {
	margin: 0;
	padding-left: 18px;
}
.cth-sitemap a {
	color: var(--cth-navy);
}
.cth-brand-letters a {
	display: inline-block;
	margin: 0 6px;
	font-weight: 700;
	color: #c50f14;
}
.cth-brand-letter {
	margin: 30px 0 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--cth-border);
	font-size: 22px;
}
.cth-brand-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 14px;
}
.cth-brand-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--cth-border);
	color: var(--cth-navy);
	text-align: center;
}
.cth-brand-tile img {
	width: 100px;
	height: 100px;
	object-fit: contain;
}
.cth-request-form {
	max-width: 640px;
}
.cth-request-form h3 {
	margin: 24px 0 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--cth-border);
	font-size: 17px;
}
.cth-request-form label,
.cth-request-form fieldset {
	display: block;
	margin: 0 0 14px;
	font-size: 14px;
}
.cth-request-form fieldset {
	padding: 0;
	border: 0;
}
.cth-request-form legend {
	margin-bottom: 4px;
}
.cth-request-form input:not([type="radio"]):not([type="checkbox"]),
.cth-request-form textarea {
	display: block;
	width: 100%;
	margin-top: 4px;
}
.cth-request-form .cth-choice {
	display: block;
	margin: 3px 0;
}
.cth-request-form .required {
	color: #c50f14;
}
.cth-request-form .cth-hp {
	position: absolute;
	left: -9999px;
}
.cth-request-msg {
	margin: 10px 0 0;
	color: #2e7d32;
}
.cth-request-msg.is-error {
	color: var(--cth-red);
}

/* ===================== Mega menus like NEW (class-cth-mega.php) ===================== */
/* Desktop: the generated panel replaces the plain sub-menu; mobile keeps the plain items */
#header [data-device="desktop"] .menu > li.cth-mega > .sub-menu,
#header [data-device="desktop"] .menu > li.cth-brands > .sub-menu,
#offcanvas .cth-panel,
[data-device="mobile"] .cth-panel {
	display: none !important;
}
#header [data-device="desktop"] .menu > li.cth-mega:hover > a,
#header [data-device="desktop"] .menu > li.cth-brands:hover > a {
	background: #000;
	color: #fff;
}
.cth-panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 50;
	display: flex;
	gap: 24px;
	padding: 20px 20px 24px;
	background: #fff;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .15);
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease, visibility .15s;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	cursor: default;
}
#header .menu > li:hover > .cth-panel,
#header .menu > li:focus-within > .cth-panel {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}
.cth-panel__grid {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 30px;
	align-content: start;
}
.cth-panel--brands .cth-panel__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cth-panel__heading {
	display: block;
	margin-bottom: 12px;
	padding: 0 0 8px !important;
	border-bottom: 1px solid var(--cth-border);
	color: #313846 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	height: auto !important;
}
.cth-panel__body {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.cth-panel__body > div {
	flex: 1;
	min-width: 0;
}
.cth-panel__img {
	flex: none;
	width: 110px;
	padding: 0 !important;
	height: auto !important;
}
.cth-panel__img img {
	display: block;
	width: 110px;
	height: 110px;
	object-fit: contain;
}
.cth-panel__links {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.cth-panel__links li {
	margin: 0;
	padding: 0;
}
.cth-panel__links a {
	display: block !important;
	height: auto !important;
	padding: 3px 0 !important;
	overflow: hidden;
	color: #c50f14 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.6;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.cth-panel__links a::before {
	content: "›";
	margin-right: 6px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}
.cth-panel__links a:hover {
	color: var(--cth-navy) !important;
}
.cth-panel__more {
	display: inline-block !important;
	height: auto !important;
	margin-top: 2px;
	padding: 0 0 0 14px !important;
	color: #45525e !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-decoration: underline;
}
.cth-panel__promo {
	flex: none;
	align-self: flex-start;
	padding: 0 0 0 24px !important;
	height: auto !important;
	border-left: 1px solid var(--cth-border);
}
.cth-panel__promo img {
	display: block;
	width: 260px;
	height: auto;
}

/* "Най-Продавани" carousel in the brands panel */
.cth-panel__best {
	position: relative;
	flex: none;
	width: 33%;
}
.cth-panel__best .cth-also__nav {
	margin-bottom: 18px;
}
.cth-panel__best .cth-tab {
	color: #313846;
	font-size: 16px;
	cursor: default;
}
.cth-panel__best .cth-tab-panel {
	position: relative;
}
.cth-mega-cards {
	grid-auto-columns: calc((100% - 20px) / 2) !important;
	gap: 20px !important;
	scrollbar-width: none;
}
.cth-mega-card {
	display: flex;
	flex-direction: column;
	padding: 18px;
	border: 1px solid var(--cth-border);
	background: #fff;
	scroll-snap-align: start;
}
.cth-mega-card__img {
	position: relative;
	display: block !important;
	height: auto !important;
	padding: 0 !important;
}
.cth-mega-card__img img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
}
.cth-mega-card .cth-badge-new {
	top: 0;
	right: 0;
	font-size: 13px;
}
.cth-mega-card__name {
	display: block !important;
	height: auto !important;
	margin-top: 14px;
	padding: 0 !important;
	overflow: hidden;
	color: #c50f14 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.cth-mega-card__price {
	margin: 6px 0 12px;
	color: #45525e;
	font-size: 13px;
}
.cth-mega-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--cth-border);
}
.cth-mega-buy {
	display: inline-block !important;
	height: auto !important;
	padding: 2px 8px !important;
	border-radius: 2px;
	background: var(--cth-red);
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}
.cth-mega-card__icons {
	display: flex;
	gap: 8px;
}
.cth-mega-card__icons a {
	display: inline-block !important;
	width: 18px;
	height: 18px !important;
	padding: 0 !important;
	overflow: hidden;
	font-size: 0 !important;
	background: var(--cth-navy);
	-webkit-mask: var(--cth-icon) center / contain no-repeat;
	mask: var(--cth-icon) center / contain no-repeat;
}
.cth-mega-card__icons .woosw-btn {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7.5-4.6-9.2-9.4C1.6 7.2 4 4 7.3 4c2 0 3.5 1.1 4.7 2.7C13.2 5.1 14.7 4 16.7 4 20 4 22.4 7.2 21.2 10.6 19.5 15.4 12 20 12 20z' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
}
.cth-mega-card__icons .woosc-btn {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M7 10h9l-2.5-2.5M17 14H8l2.5 2.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.cth-panel__best .cth-arrows {
	position: absolute;
	top: 35%;
	left: -28px;
	right: -28px;
	display: flex;
	justify-content: space-between;
	margin: 0;
	pointer-events: none;
}
.cth-panel__best .cth-arrows button {
	width: 56px;
	height: 56px;
	background: var(--cth-navy);
	font-size: 26px;
	pointer-events: auto;
}
.cth-panel__best .cth-arrows button:first-child {
	background: #ccc;
	opacity: .8;
}
/* NEW's panel is wider than the content container */
.cth-panel {
	left: 50%;
	right: auto;
	width: min(1510px, calc(100vw - 40px));
	transform: translateX(-50%);
}
.cth-panel__img,
.cth-panel__img img {
	width: 100px;
}
.cth-panel__img img {
	height: 100px;
}
.cth-panel__more {
	white-space: nowrap;
}

/* ===================== Phone menu like NEW (class-cth-mobile.php) ===================== */
#offcanvas .ct-panel-inner {
	background: #fff;
}
#offcanvas .ct-panel-actions {
	position: relative;
	min-height: 56px;
	padding: 0 16px;
	background: #3d3d3d;
	align-items: center;
}
#offcanvas .ct-panel-heading {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	text-transform: uppercase;
}
html[lang^="en"] #offcanvas .cth-menu-label {
	font-size: 0;
}
html[lang^="en"] #offcanvas .cth-menu-label::before {
	content: "Menu";
	font-size: 22px;
}
/* language switcher sits in the dark bar, centred like NEW */
#offcanvas .ct-panel-content {
	position: static;
}
#offcanvas .cth-offcanvas-lang {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	height: 56px;
	transform: translateX(-50%);
}
#offcanvas .cth-offcanvas-lang .cth-lang a {
	font-size: 13px;
}
#offcanvas .cth-offcanvas-lang .cth-lang__list {
	background: #3d3d3d;
}
#offcanvas .ct-panel-content-inner {
	padding: 14px 16px 30px;
}

/* items: uppercase navy with icons, NEW's order (products, brands, academy, contact, about, blog) */
#offcanvas .mobile-menu > ul {
	display: flex;
	flex-direction: column;
}
#offcanvas .mobile-menu > ul > li.cth-mega { order: 1; }
#offcanvas .mobile-menu > ul > li.cth-brands { order: 2; }
#offcanvas .mobile-menu > ul > li.cth-ico-academy { order: 3; }
#offcanvas .mobile-menu > ul > li.cth-ico-contact { order: 4; }
#offcanvas .mobile-menu > ul > li.cth-ico-about { order: 5; }
#offcanvas .mobile-menu > ul > li.cth-ico-blog { order: 6; }
#offcanvas .mobile-menu > ul > li > a,
#offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	color: #313846;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}
#offcanvas .mobile-menu > ul > li > a::before,
#offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > a::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	background: #313846;
	-webkit-mask: var(--cth-icon) center / contain no-repeat;
	mask: var(--cth-icon) center / contain no-repeat;
}
#offcanvas li.cth-mega {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9h18l-2 11H5zM8 9l4-6 4 6'/%3E%3C/svg%3E");
}
#offcanvas li.cth-brands {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12V4a1 1 0 0 1 1-1h8l9 9-9 9zm5-5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
#offcanvas li.cth-ico-academy {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 2h14v20h-5v-4h-4v4H5zm3 3v2h2V5zm6 0v2h2V5zM8 9v2h2V9zm6 0v2h2V9zm-6 4v2h2v-2zm6 0v2h2v-2z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
#offcanvas li.cth-ico-contact {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a9 9 0 0 0-9 9v5a3 3 0 0 0 3 3h2v-7H5v-1a7 7 0 0 1 14 0v1h-3v7h2.5A2.5 2.5 0 0 1 16 21h-3v2h3a4.5 4.5 0 0 0 4.4-3.5A3 3 0 0 0 21 18v-7a9 9 0 0 0-9-9z'/%3E%3C/svg%3E");
}
#offcanvas li.cth-ico-about {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 4a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7zm0 14a8 8 0 0 1-6-2.7c.9-2 3.3-3.3 6-3.3s5.1 1.3 6 3.3A8 8 0 0 1 12 20z'/%3E%3C/svg%3E");
}
#offcanvas li.cth-ico-blog {
	--cth-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h18v14H7l-4 4zm4 4v2h10V7zm0 4v2h7v-2z' fill-rule='evenodd'/%3E%3C/svg%3E");
}
/* "Ново" next to the products item */
#offcanvas li.cth-mega > .ct-sub-menu-parent > a::after {
	content: "Ново";
	padding: 1px 5px;
	border-radius: 2px;
	background: var(--cth-brown);
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	text-transform: none;
}
html[lang^="en"] #offcanvas li.cth-mega > .ct-sub-menu-parent > a::after {
	content: "New";
}
/* sub items: "›" and normal weight; circle toggles */
#offcanvas .mobile-menu .sub-menu a {
	padding: 8px 0 8px 22px;
	color: #45525e;
	font-size: 15px;
	font-weight: 400;
	text-transform: none;
}
#offcanvas .mobile-menu .sub-menu a::before {
	content: "›";
	margin-right: 10px;
	font-size: 18px;
}
#offcanvas .mobile-menu .sub-menu .sub-menu a {
	padding-left: 40px;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
	--toggle-button-size: 26px;
	--toggle-button-shape-color: transparent;
	--toggle-button-border-color: #313846;
	color: #313846;
	border: 1.5px solid #313846;
	border-radius: 50%;
}

/* Fixed bottom bar on phones */
.cth-bbar {
	display: none;
}
@media (max-width: 689.98px) {
	.cth-bbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		display: flex;
		background: #3d3d3d;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, .2);
	}
	.cth-bbar a {
		position: relative;
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
		padding: 8px 2px 7px;
		color: #bbc6dd;
		font-size: 11px;
		line-height: 1.2;
		text-align: center;
	}
	.cth-bbar a + a {
		border-left: 1px solid rgba(255, 255, 255, .12);
	}
	.cth-bbar__count {
		position: absolute;
		top: 4px;
		left: calc(50% + 6px);
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 8px;
		background: #111;
		color: #fff;
		font-size: 10px;
		line-height: 16px;
	}
	.cth-bbar__count[data-count="0"] {
		display: none;
	}
	body {
		padding-bottom: 56px;
	}
}
/* NEW's ⊕ / ⊖ toggles */
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
	position: relative;
	width: 24px;
	height: 24px;
	padding: 0;
	background: none;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg {
	display: none;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile::before,
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 1.5px;
	background: currentColor;
	transform: translate(-50%, -50%);
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"]::after {
	display: none;
}
#offcanvas .mobile-menu .sub-menu a {
	display: inline-flex !important;
	align-items: center;
	padding-left: 18px !important;
}
#offcanvas .mobile-menu .sub-menu .sub-menu a {
	padding-left: 34px !important;
}
#offcanvas .mobile-menu .sub-menu a::before {
	content: "›" !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin-right: 10px;
	background: none !important;
	opacity: 1 !important;
	transform: none !important;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
	border: 1.5px solid #313846 !important;
	border-radius: 50% !important;
}

/* Phone menu: "Производители" opens NEW's brand blocks (heading, big logo, products, "Виж всичко от марката") */
#offcanvas .ct-panel-actions {
	background: #384350;
}
#offcanvas li.cth-brands > .sub-menu {
	display: none !important;
}
#offcanvas li.cth-brands > .ct-sub-menu-parent {
	flex-wrap: wrap;
}
#offcanvas li.cth-brands.dropdown-active > .ct-sub-menu-parent > .cth-panel {
	position: static;
	order: 3;
	display: block !important;
	width: 100%;
	margin: 6px 0 10px;
	padding: 0 10px;
	transform: none;
	box-shadow: none;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}
#offcanvas .cth-panel--brands .cth-panel__best {
	display: none;
}
#offcanvas .cth-panel--brands .cth-panel__grid {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 30px 40px;
}
#offcanvas .cth-panel--brands .cth-panel__heading {
	margin-bottom: 14px;
	font-size: 20px !important;
	text-transform: none;
}
#offcanvas .cth-panel--brands .cth-panel__heading::before {
	display: none;
}
#offcanvas .cth-panel--brands .cth-panel__body {
	flex-direction: column;
	align-items: stretch;
}
#offcanvas .cth-panel--brands .cth-panel__img,
#offcanvas .cth-panel--brands .cth-panel__img img {
	width: 100%;
	height: auto;
}
#offcanvas .cth-panel--brands .cth-panel__img {
	display: flex !important;
	justify-content: center;
	padding: 20px 0 !important;
}
#offcanvas .cth-panel--brands .cth-panel__img img {
	max-width: 260px;
	aspect-ratio: 1;
	object-fit: contain;
}
#offcanvas .cth-panel--brands .cth-panel__links a {
	display: block !important;
	padding: 6px 0 !important;
	font-size: 16px !important;
	text-transform: none;
}
#offcanvas .cth-panel--brands .cth-panel__links a::before {
	content: "›" !important;
	position: static !important;
	display: inline !important;
	width: auto !important;
	height: auto !important;
	margin-right: 6px;
	background: none !important;
	-webkit-mask: none !important;
	mask: none !important;
}
#offcanvas .cth-panel--brands .cth-panel__more {
	display: inline-block !important;
	padding: 10px 0 0 14px !important;
	font-size: 16px !important;
	text-transform: none;
}
#offcanvas .cth-panel--brands .cth-panel__more::before,
#offcanvas .cth-panel--brands .cth-panel__heading::after {
	display: none !important;
}
#offcanvas li.cth-brands > .ct-sub-menu-parent > a {
	flex: 1;
}
#offcanvas .cth-panel--brands .cth-panel__more {
	text-decoration: underline !important;
}
/* NEW: the main price changes with the chosen size; no second price or "Налични" line */
.single-product .woocommerce-variation-price,
.single-product .woocommerce-variation-availability .stock.in-stock {
	display: none;
}

/* Free delivery note above the cart and the checkout */
.cth-free-delivery {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 24px;
	padding: 14px 18px;
	border-left: 4px solid var(--cth-red);
	background: #f5f5f5;
	color: var(--cth-navy);
	font-size: 15px;
}
.cth-free-delivery > svg {
	flex: none;
	color: var(--cth-red);
}
.cth-free-delivery > div {
	flex: 1;
}
.cth-free-delivery p {
	margin: 0 0 8px;
}
.cth-free-delivery__bar {
	display: block;
	height: 6px;
	border-radius: 3px;
	background: #ddd;
	overflow: hidden;
}
.cth-free-delivery__bar span {
	display: block;
	height: 100%;
	background: var(--cth-red);
}
.cth-free-delivery.is-free {
	border-left-color: #2e7d32;
}
.cth-free-delivery.is-free > svg {
	color: #2e7d32;
}
.cth-free-delivery.is-free .cth-free-delivery__bar span {
	background: #2e7d32;
}

/* ===================== Dropdown cart like NEW ===================== */
#header .ct-header-cart .ct-cart-content {
	--theme-text-color: #38444f;
	width: 350px;
	padding: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .18) !important;
	color: #38444f;
	font-size: 13px;
	text-align: left;
}
#header .ct-header-cart .ct-cart-content::before {
	content: "";
	position: absolute;
	top: -8px;
	right: 18px;
	border: 8px solid transparent;
	border-top: 0;
	border-bottom-color: #fff;
}
#header .ct-cart-content .woocommerce-mini-cart {
	max-height: 320px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
}
#header .ct-cart-content .woocommerce-mini-cart-item {
	position: relative;
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 8px 34px 8px 8px !important;
	border-bottom: 1px solid #ddd !important;
}
#header .ct-cart-content .woocommerce-mini-cart-item .ct-media-container {
	flex: none;
	width: 55px !important;
	height: 55px;
	margin: 0 !important;
}
#header .ct-cart-content .woocommerce-mini-cart-item img {
	width: 55px !important;
	height: 55px !important;
	border-radius: 0 !important;
	object-fit: contain;
}
#header .ct-cart-content .product-data {
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 2px 10px;
	flex: 1;
	min-width: 0;
}
#header .ct-cart-content .product-title {
	grid-column: 1;
	color: #c50f14 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4;
}
#header .ct-cart-content dl.variation {
	grid-column: 1;
	display: flex;
	gap: 4px;
	margin: 0;
	font-size: 13px;
}
#header .ct-cart-content dl.variation dt {
	margin: 0;
	font-weight: 400;
}
#header .ct-cart-content dl.variation dt::after {
	content: " ·";
}
#header .ct-cart-content dl.variation dt:has(+ dd)::after {
	content: "";
}
#header .ct-cart-content dl.variation dd {
	margin: 0;
	font-size: 11px;
}
#header .ct-cart-content dl.variation dd p {
	margin: 0;
}
#header .ct-cart-content .quantity {
	grid-column: 2;
	grid-row: 1 / span 2;
	color: #38444f !important;
	font-size: 13px !important;
	white-space: nowrap;
}
#header .ct-cart-content .remove_from_cart_button {
	position: absolute !important;
	top: 50%;
	right: 10px;
	left: auto !important;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	color: #000 !important;
	background: none !important;
	opacity: 1 !important;
}
#header .ct-cart-content .remove_from_cart_button svg {
	display: none;
}
#header .ct-cart-content .remove_from_cart_button::before,
#header .ct-cart-content .remove_from_cart_button::after {
	content: "";
	position: absolute;
	top: 7px;
	left: 1px;
	width: 14px;
	height: 2px;
	background: currentColor;
	transform: rotate(45deg);
}
#header .ct-cart-content .remove_from_cart_button::after {
	transform: rotate(-45deg);
}
#header .ct-cart-content .woocommerce-mini-cart__total {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.cth-mini-total {
	display: flex;
	justify-content: flex-end;
	gap: 40px;
	padding: 12px;
	border-bottom: 1px solid #fff;
	background: #edf2fe;
	color: #38444f;
	font-size: 13px;
	font-weight: 400;
	text-transform: none;
}
.cth-mini-total span:last-child {
	min-width: 60px;
	text-align: right;
}
#header .ct-cart-content .woocommerce-mini-cart__buttons {
	display: flex !important;
	justify-content: center;
	gap: 10px;
	margin: 0 !important;
	padding: 12px !important;
	background: #edf2fe;
}
#header .ct-cart-content .woocommerce-mini-cart__buttons .button {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	align-items: center;
	gap: 6px;
	width: auto !important;
	min-height: 33px !important;
	height: auto;
	margin: 0 !important;
	padding: 0 10px !important;
	border-radius: 2px !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
#header .ct-cart-content .cth-mini-cart-btn {
	background: #313846 !important;
}
#header .ct-cart-content .cth-mini-checkout-btn {
	background: #4e3528 !important;
}
#header .ct-cart-content .woocommerce-mini-cart__buttons .button:hover {
	background: #c50f14 !important;
}
#header .ct-cart-content .woocommerce-mini-cart__empty-message {
	margin: 0;
	padding: 20px;
	text-align: center;
}
#header .ct-header-cart {
	position: relative;
}
#header .ct-header-cart .ct-cart-content {
	position: absolute !important;
	top: calc(100% + 12px) !important;
	right: -10px !important;
	left: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: -10px !important;
}
#header .ct-cart-content .cth-mini-qty {
	margin-right: 14px;
}

/* Blog (CTH_Blog): NEW's three-column cards with comments/views, posts with the featured image and date badge */
body.cth-has-band .hero-section {
	display: none;
}
.cth-blog {
	padding-block: 40px 60px;
}
.cth-posts--blog {
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
.cth-posts--blog .cth-post {
	box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
	text-align: center;
}
.cth-posts--blog .cth-post-image {
	margin-bottom: 0;
}
.cth-post h2 {
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.35;
}
.cth-post h2 a {
	color: var(--cth-navy);
	text-decoration: none;
}
.cth-post-meta {
	display: flex;
	justify-content: center;
	gap: 14px;
	padding-block: 10px;
	border-bottom: 1px solid #eee;
	font-size: 12px;
	color: #777;
}
.cth-post-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.cth-post-hero {
	position: relative;
	margin-bottom: 0;
}
.cth-post-hero img {
	display: block;
	width: 100%;
	max-height: 520px;
	object-fit: cover;
}
.single-post .entry-content > .cth-post-meta {
	justify-content: flex-start;
	margin-bottom: 24px;
}
.cth-blog .nav-links {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 40px;
}
@media (max-width: 999px) {
	.cth-posts--blog {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 689px) {
	.cth-posts--blog {
		grid-template-columns: 1fr;
	}
}

/* Category pages: NEW's subcategory tiles under the text, Промоции under the category tree */
.cth-subcats {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 16px) / 5);
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	margin: 0 0 30px;
	padding-bottom: 6px;
}
.cth-subcat {
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: #c50f14;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}
.cth-subcat img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	transition: transform .3s ease;
}
.cth-subcat:hover img {
	transform: scale(1.05);
}
.cth-cat-tree--extra {
	margin-top: 0;
	border-top: 1px solid #eee;
}
@media (max-width: 689px) {
	.cth-subcats {
		grid-auto-columns: 40%;
	}
}

/* Contact page like NEW: dark phone/email boxes, the form in an airmail-striped box */
/* NEW: the boxes in a 384px column left of the form (stacked under 1000px) */
.cth-contact {
	display: grid;
	grid-template-columns: 384px 1fr;
	align-items: start;
	gap: 20px;
}
.cth-contact-info {
	display: grid;
	background: #38444f;
}
.cth-contact-info a {
	min-height: 101px;
}
@media (max-width: 999px) {
	.cth-contact {
		grid-template-columns: 1fr;
	}
	.cth-contact-info {
		grid-template-columns: 1fr 1fr;
	}
	.cth-contact-info a {
		min-height: 0;
	}
}
.cth-contact-info a {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 24px;
	color: #fff;
	text-decoration: none;
}
.cth-contact-info a + a {
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.cth-contact-info span {
	display: flex;
	flex-direction: column;
	font-size: 13px;
	color: #d6d9de;
}
.cth-contact-info b {
	font-size: 15px;
	color: #fff;
}
.cth-airmail {
	padding: 24px;
	border: 8px solid transparent;
	background:
		linear-gradient(#f4f6fb, #f4f6fb) padding-box,
		repeating-linear-gradient(-45deg, #c50f14 0 12px, transparent 12px 24px, #2c4a8a 24px 36px, transparent 36px 48px) border-box;
}
.cth-airmail__title {
	margin: 0 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--cth-border);
	font-size: 15px;
	text-transform: uppercase;
}
.cth-airmail .cth-request-form {
	max-width: none;
}
@media (max-width: 689px) {
	.cth-contact-info {
		grid-template-columns: 1fr;
	}
	.cth-airmail {
		padding: 16px;
	}
}

/* Contact form like NEW: labels in a 180px column beside the fields, button on the right */
.cth-request-form--contact > label:not(.cth-choice) {
	display: grid;
	grid-template-columns: 180px 1fr;
	align-items: center;
	gap: 0 15px;
}
.cth-request-form--contact > label:not(.cth-choice) textarea {
	align-self: start;
}
.cth-request-form--contact > label:has(textarea) {
	align-items: start;
}
.cth-request-form--contact .cth-choice {
	margin-top: 10px;
}
.cth-request-form--contact button[type="submit"] {
	display: block;
	margin-left: auto;
}
@media (max-width: 689px) {
	.cth-request-form--contact > label:not(.cth-choice) {
		grid-template-columns: 1fr;
	}
}
