@charset "UTF-8";
/*
 * Shared components (sitewide): rounded product cards, list toolbar and pagination, breadcrumb, headings, forms,
 * buttons, boxes, the "Разгледани продукти" carousel, the manufacturers block and the simple pages
 * (search, manufacturers, sitemap, contact, authentication, cart, 404). Same tokens as site-pp.css.
 * Pages with their own redesign (index, product, category) keep their scoped rules, which are more specific.
 */

/* ---------- breadcrumb ---------- */
#columns .breadcrumb {
	display: block;
	min-height: 0;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	overflow: visible;
	color: var(--pp-ink);
	font: 500 13px/1.6 var(--pp-font);
}
#columns .breadcrumb a {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--pp-muted);
	font-weight: 400;
}
#columns .breadcrumb a:before,
#columns .breadcrumb a:after {
	display: none !important;
}
#columns .breadcrumb a:hover {
	color: var(--pp-red);
	text-decoration: none;
}
#columns .breadcrumb a.home {
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	color: var(--pp-red);
	font-size: 17px;
	line-height: 1;
	vertical-align: -2px;
}
#columns .breadcrumb .navigation-pipe {
	display: inline-block;
	width: auto;
	margin: 0 7px;
	font-size: 0;
	text-indent: 0;
	vertical-align: 0;
}
#columns .breadcrumb .navigation-pipe:before {
	content: "\203A";
	color: #9ca3af;
	font-size: 16px;
	line-height: 1;
}

/* ---------- headings ---------- */
body:not(#category) #columns .page-heading,
#columns #cart_title {
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 12px;
	border: 0;
	border-bottom: 1px solid var(--pp-border);
	border-radius: 0;
	background: none;
	box-shadow: none;
	overflow: visible;
	color: var(--pp-ink);
	font: 800 24px/1.25 var(--pp-font);
	letter-spacing: -.01em;
	text-shadow: none;
	text-transform: none;
}
body:not(#category) #columns .page-heading:after,
#columns #cart_title:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: var(--pp-red);
}
body:not(#category) #columns .page-heading.product-listing {
	margin-bottom: 18px;
}
body:not(#category) #columns .page-heading span.heading-counter {
	float: right;
	margin: 0;
	color: var(--pp-muted);
	font: 500 13px/32px var(--pp-font);
	letter-spacing: 0;
	text-transform: none;
}
body:not(#category) #columns .page-heading span.lighter {
	color: var(--pp-muted);
}
body:not(#category):not(#product) #columns .page-subheading {
	margin: 0 0 16px;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid var(--pp-border);
	color: var(--pp-ink);
	font: 800 17px/1.3 var(--pp-font);
	text-transform: none;
}
body:not(#category):not(#product) #columns .page-subheading:first-letter {
	text-transform: uppercase;
}

/* step headings of the standard checkout: the number becomes a badge instead of overlapping the text */
body:not(#category) #columns .page-heading.step-num {
	display: flex;
	align-items: center;
	gap: 10px;
}
body:not(#category) #columns .page-heading.step-num > span {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pp-red);
	color: #fff;
	font: 800 14px/1 var(--pp-font);
	text-indent: 0;
	text-shadow: none;
}

/* ---------- boxes, alerts ---------- */
body:not(#product) #center_column .box {
	margin: 0 0 20px;
	padding: 24px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}
#center_column .alert,
#center_column p.warning {
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid #fcd9a0;
	border-radius: 10px;
	background: #fff8eb;
	box-shadow: none;
	color: #92400e;
	font: 500 14px/1.45 var(--pp-font);
	text-shadow: none;
}
#center_column .alert:before {
	display: none;
}
#center_column .alert-danger {
	border-color: #fecaca;
	background: #fef2f2;
	color: #991b1b;
}
#center_column .alert-success {
	border-color: #bfe3c6;
	background: #ecf7ee;
	color: #1f6b2c;
}
#center_column .alert-info {
	border-color: #bfdbfe;
	background: #eff6ff;
	color: #1e3a8a;
}

/* ---------- forms ---------- */
body:not(#product) #center_column .form-control {
	height: 42px;
	padding: 8px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: var(--pp-ink);
	font: 400 14px/1.4 var(--pp-font);
}
body:not(#product) #center_column textarea.form-control {
	height: auto;
	min-height: 160px;
}
body:not(#product) #center_column .form-control:focus {
	border-color: var(--pp-red);
	box-shadow: 0 0 0 3px rgba(215, 25, 32, .12);
	outline: 0;
}
body:not(#product) #center_column .form-group > label,
body:not(#product) #center_column .form-group p > label {
	margin: 0 0 6px;
	color: var(--pp-ink);
	font: 600 13.5px/1.3 var(--pp-font);
}

/* uniform selects and file inputs */
#columns div.selector {
	float: none;
	height: 40px;
	padding: 0 0 0 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	line-height: 38px;
}
#columns div.selector span {
	height: 38px;
	padding-right: 34px;
	color: var(--pp-ink);
	font: 500 13.5px/38px var(--pp-font);
	text-shadow: none;
}
#columns div.selector span:after {
	content: "";
	top: 50%;
	right: 13px;
	width: 8px;
	height: 8px;
	border: 0;
	border-right: 2px solid #6b7280;
	border-bottom: 2px solid #6b7280;
	background: none;
	line-height: 0;
	transform: translateY(-70%) rotate(45deg);
}
#columns div.selector select {
	height: 40px;
}
#columns div.selector.focus,
#columns div.selector.hover {
	border-color: #9ca3af;
}
#columns div.selector.focus {
	border-color: var(--pp-red);
}
#center_column div.uploader {
	display: flex;
	width: 100% !important;
	height: 42px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	cursor: pointer;
}
#center_column div.uploader span.filename {
	flex: 1 1 auto;
	float: none;
	width: auto !important;
	height: 40px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	background: none;
	color: var(--pp-muted);
	font: 400 13px/40px var(--pp-font);
}
#center_column div.uploader span.action {
	flex: 0 0 auto;
	float: none;
	width: auto !important;
	height: 40px;
	margin: 0;
	padding: 0 14px;
	border: 0;
	border-left: 1px solid #d1d5db;
	background: var(--pp-soft);
	color: var(--pp-ink);
	font: 600 13px/40px var(--pp-font);
	text-shadow: none;
}
#center_column div.uploader input {
	width: 100%;
	height: 42px;
	cursor: pointer;
}

/* ---------- buttons (content area) ---------- */
body:not(#product):not(#index) #center_column .button.button-medium,
body:not(#product):not(#index) #center_column .button.button-small,
body:not(#product):not(#index) #center_column .button.exclusive-medium,
body:not(#product):not(#index) #center_column .btn.btn-default.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 8px;
	background: var(--pp-red);
	box-shadow: none;
	color: #fff;
	font: 700 14px/1 var(--pp-font);
	text-shadow: none;
	text-transform: none;
	transition: background-color .15s, color .15s;
}
body:not(#product):not(#index) #center_column .button.button-small {
	min-height: 38px;
	padding: 0 16px;
	font-size: 13px;
}
body:not(#product):not(#index) #center_column .button.button-medium span,
body:not(#product):not(#index) #center_column .button.button-small span,
body:not(#product):not(#index) #center_column .button.exclusive-medium span,
body:not(#product):not(#index) #center_column .btn.btn-default.button span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-shadow: none;
}
body:not(#product):not(#index) #center_column .button i,
body:not(#product):not(#index) #center_column .button span i {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-size: 12px;
	line-height: 1;
}
body:not(#product):not(#index) #center_column .button.button-medium:hover,
body:not(#product):not(#index) #center_column .button.button-small:hover,
body:not(#product):not(#index) #center_column .button.exclusive-medium:hover,
body:not(#product):not(#index) #center_column .btn.btn-default.button:hover {
	background: var(--pp-red-dark);
	color: #fff;
}
body:not(#product):not(#index) #center_column .footer_links .button,
body:not(#product):not(#index) #center_column .footer_links .btn.btn-default.button {
	border: 1.5px solid var(--pp-border);
	background: #fff;
	color: var(--pp-ink);
}
body:not(#product):not(#index) #center_column .footer_links .button:hover {
	border-color: var(--pp-red);
	background: #fff;
	color: var(--pp-red);
}

/* ---------- product list toolbar ---------- */
#center_column .content_sortPagiBar .sortPagiBar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: var(--pp-soft);
}
#center_column .content_sortPagiBar .sortPagiBar:before,
#center_column .content_sortPagiBar .sortPagiBar:after,
#center_column .content_sortPagiBar .sortPagiBar .clearfix:before,
#center_column .content_sortPagiBar .sortPagiBar .clearfix:after {
	display: none;
}
#center_column .content_sortPagiBar .sortPagiBar form,
#center_column .content_sortPagiBar .sortPagiBar #productsSortForm,
#center_column .content_sortPagiBar .sortPagiBar .nbrItemPage {
	float: none;
	margin: 0;
}
#center_column .content_sortPagiBar .sortPagiBar .selector1 {
	display: flex;
	align-items: center;
	gap: 8px;
	float: none;
	margin: 0;
}
#center_column .content_sortPagiBar .sortPagiBar label,
#center_column .content_sortPagiBar .sortPagiBar .nbrItemPage .clearfix > span {
	float: none;
	margin: 0;
	padding: 0;
	color: var(--pp-muted);
	font: 600 13px/1.2 var(--pp-font);
	white-space: nowrap;
}
#center_column .content_sortPagiBar .sortPagiBar .nbrItemPage .clearfix > span {
	font-weight: 400;
}
#center_column .content_sortPagiBar .sortPagiBar div.selector {
	float: none;
}
#center_column .content_sortPagiBar #uniform-selectProductSort {
	width: 230px !important;
}
#center_column .content_sortPagiBar #uniform-selectProductSort span {
	width: 100% !important;
}
#center_column .content_sortPagiBar #uniform-nb_item {
	width: 76px !important;
}
#center_column .content_sortPagiBar #uniform-nb_item span {
	width: 100% !important;
}

/* ---------- pagination ---------- */
#center_column .top-pagination-content,
#center_column .bottom-pagination-content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}
#center_column .bottom-pagination-content {
	margin: 22px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--pp-border);
}
#center_column .top-pagination-content:before,
#center_column .top-pagination-content:after,
#center_column .bottom-pagination-content:before,
#center_column .bottom-pagination-content:after,
#center_column div.pagination:before,
#center_column div.pagination:after {
	display: none;
}
#center_column .top-pagination-content .product-count,
#center_column .bottom-pagination-content .product-count {
	order: 1;
	float: none;
	margin: 0;
	padding: 0;
	color: var(--pp-muted);
	font: 400 13.5px/1.3 var(--pp-font);
}
#center_column div.pagination {
	order: 2;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
#center_column ul.pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	float: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
}
#center_column ul.pagination > li {
	display: block;
	float: none;
	margin: 0 !important;
	padding: 0;
}
#center_column ul.pagination > li > a,
#center_column ul.pagination > li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	float: none;
	min-width: 38px;
	height: 38px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	background: #fff;
	color: var(--pp-ink);
	font: 600 14px/1 var(--pp-font);
	text-decoration: none;
	transition: border-color .15s, color .15s;
}
#center_column ul.pagination > li > a > span,
#center_column ul.pagination > li > span > span,
#center_column ul.pagination > li b {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
}
#center_column ul.pagination > li i {
	font-size: 11px;
}
#center_column ul.pagination > li > a:hover {
	border-color: var(--pp-red);
	background: #fff;
	color: var(--pp-red);
}
#center_column ul.pagination > li.active > span,
#center_column ul.pagination > li.active > span > span {
	border-color: var(--pp-red);
	background: var(--pp-red);
	color: #fff;
}
#center_column ul.pagination > li.disabled > span {
	background: var(--pp-soft);
	color: #b3b8bf;
}
#center_column ul.pagination > li.truncate > span {
	min-width: 20px;
	padding: 0 2px;
	border-color: transparent;
	background: none;
}

/* ---------- product cards (all product lists except the homepage track) ---------- */
body:not(#index):not(#product) ul.product_list.grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}
body.hide-left-column:not(#index):not(#product) ul.product_list.grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
body:not(#index):not(#product) ul.product_list.grid:before,
body:not(#index):not(#product) ul.product_list.grid:after,
body:not(#index):not(#product) ul.product_list.grid > div[style*="clear"] {
	display: none;
}
body:not(#index):not(#product) ul.product_list.grid > li {
	float: none;
	clear: none !important;
	width: auto !important;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	transition: none;
}
body:not(#index):not(#product) ul.product_list.grid > li .product-container {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 12px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	transition: border-color .2s, box-shadow .2s;
}
body:not(#index):not(#product) ul.product_list.grid > li .product-container:hover {
	border-color: #d1d5db;
	box-shadow: 0 12px 26px -14px rgba(16, 24, 40, .28);
}
body:not(#index):not(#product) ul.product_list.grid .left-block {
	position: relative;
	float: none;
	width: auto;
	padding: 0;
}
/* manufacturer logo (inline-styled red square in the markup) as a small chip */
body:not(#index):not(#product) ul.product_list.grid .left-block > img {
	position: absolute !important;
	top: 0;
	right: 0;
	z-index: 2;
	width: 58px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 3px;
	border: 1px solid var(--pp-border);
	border-radius: 6px;
	background: #fff !important;
	object-fit: contain;
}
body:not(#index):not(#product) ul.product_list.grid .product-image-container {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	max-width: none;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}
body:not(#index):not(#product) ul.product_list.grid .product_img_link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
body:not(#index):not(#product) ul.product_list.grid .product_img_link img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	transition: transform .25s;
}
body:not(#index):not(#product) ul.product_list.grid .product-container:hover .product_img_link img {
	transform: scale(1.03);
}
body:not(#index):not(#product) ul.product_list.grid .sale-box,
body:not(#index):not(#product) ul.product_list.grid .new-box,
body:not(#index):not(#product) ul.product_list.grid .quick-view,
body:not(#index):not(#product) ul.product_list.grid .product-flags {
	display: none;
}
body:not(#index):not(#product) ul.product_list.grid .right-block {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	float: none;
	width: auto;
	padding: 0;
}
/* DNRM-FIX 2026-09-18: dual selector on purpose. itemprop="dnrm" is not a
   schema.org property, only a CSS hook, and it is being removed together with the
   rest of the microdata. Matching BOTH the old attribute and the new .pp-dnrm class
   keeps list cards styled during the transition, so removing the attribute is a
   no-op instead of a cliff. The attribute half can be deleted once the microdata
   strip is verified. */
body:not(#index):not(#product) ul.product_list.grid .right-block > div[itemprop="dnrm"],
body:not(#index):not(#product) ul.product_list.grid .right-block > div.pp-dnrm {
	height: auto !important;
	margin: 0 0 10px;
	overflow: visible !important;
}
body:not(#index):not(#product) ul.product_list.grid h5 {
	min-height: 38px;
	margin: 0 0 6px;
	padding: 0;
}
body:not(#index):not(#product) ul.product_list.grid .product-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--pp-ink);
	font: 600 14px/1.35 var(--pp-font);
	text-transform: none;
}
body:not(#index):not(#product) ul.product_list.grid .product-name:hover {
	color: var(--pp-red);
	text-decoration: none;
}
body:not(#index):not(#product) ul.product_list.grid .product-name .list-name,
body:not(#index):not(#product) ul.product_list.grid .product-desc .list-desc {
	display: none;
}
body:not(#index):not(#product) ul.product_list.grid .product-desc {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin: 0;
	overflow: hidden;
	color: var(--pp-muted);
	font: 400 12.5px/1.4 var(--pp-font);
}
body:not(#index):not(#product) ul.product_list.grid .content_price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: auto 0 10px;
	padding: 0;
	line-height: 1.1;
}
body:not(#index):not(#product) ul.product_list.grid .content_price .price {
	margin: 0;
	color: var(--pp-red);
	font: 800 20px/1.1 var(--pp-font);
}
body:not(#index):not(#product) ul.product_list.grid .content_price .old-price {
	margin: 0;
	color: #6b7280;
	font: 400 13px/1.1 var(--pp-font);
	text-decoration: line-through;
}
body:not(#index):not(#product) ul.product_list.grid .price-percent-reduction {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	margin: 0;
	padding: 5px 8px;
	border: 0;
	border-radius: 6px;
	background: var(--pp-red);
	color: #fff;
	font: 700 12.5px/1 var(--pp-font);
}
body:not(#index):not(#product) ul.product_list.grid .availability {
	display: block;
	margin: 0;
	padding: 0;
}
body:not(#index):not(#product) ul.product_list.grid .availability > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 5px 10px;
	border: 0;
	border-radius: 999px;
	background: #ecf7ee;
	color: #1f7a2e;
	font: 600 12px/1.2 var(--pp-font);
	text-shadow: none;
}
body:not(#index):not(#product) ul.product_list.grid .availability > span:before {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}
body:not(#index):not(#product) ul.product_list.grid .availability > span.out-of-stock,
body:not(#index):not(#product) ul.product_list.grid .availability > span.available-dif {
	background: #fff4e5;
	color: #b45309;
}
body:not(#index):not(#product) ul.product_list.grid .functional-buttons {
	margin: 0;
	padding: 0;
	background: none;
}
body:not(#index):not(#product) ul.product_list.grid .functional-buttons div {
	float: none;
	width: auto;
	padding: 8px 0 0;
	text-align: left;
}

/* "Купи" button on every product card (product-list.tpl) and in the viewed-products carousel */
.pp-buy-row {
	margin: 10px 0 0;
}
a.pp-buy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: 8px;
	background: var(--pp-green);
	color: #fff;
	font: 700 12.5px/1 var(--pp-font);
	letter-spacing: .02em;
	text-align: center;
	text-transform: uppercase;
	transition: background-color .15s, color .15s, border-color .15s;
}
a.pp-buy:hover,
a.pp-buy:focus-visible {
	background: var(--pp-green-dark);
	color: #fff;
	text-decoration: none;
}
a.pp-buy svg {
	flex: 0 0 auto;
}
a.pp-buy.disabled,
a.pp-buy[disabled] {
	opacity: .55;
	pointer-events: none;
}
a.pp-buy--view {
	border: 1.5px solid var(--pp-border);
	background: #fff;
	color: var(--pp-ink);
}
a.pp-buy--view:hover {
	border-color: var(--pp-red);
	background: #fff;
	color: var(--pp-red);
}
/* owner 2026-09-18: a pre-order card CTA reads "Поръчай" and is RED with white
   text, exactly like the button on the product page - the in-stock "Купи" is green.
   Declared after a.pp-buy/--view so it wins at equal specificity. */
a.pp-buy.pp-buy--order,
a.pp-buy.pp-buy--order span {
	background: var(--pp-red);
	color: #fff;
}
a.pp-buy.pp-buy--order span {
	background: none;
}
a.pp-buy.pp-buy--order:hover,
a.pp-buy.pp-buy--order:focus-visible {
	background: var(--pp-red-dark);
	color: #fff;
	text-decoration: none;
}
#columns #left_column .pp-viewed a.pp-buy--sm,
#columns #left_column .pp-viewed a.pp-buy {
	display: flex;
	justify-content: center;
	width: 100%;
	text-align: center;
	padding-top: 10px;
}
/* the manufacturers block is not wanted on the product page */
body#product #columns #left_column #manufacturers_block_left {
	display: none;
}
a.pp-buy--sm {
	min-height: 34px;
	margin: 8px 0 0;
	padding: 0 10px;
	font-size: 12px;
}

/* "Не намирате ли..." request link after the last page of results */
body:not(#index) ul.product_list #link_to_controller_search {
	grid-column: 1 / -1;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin: 8px 0 0 !important;
	padding: 24px 20px !important;
	border: 1px dashed #cbd0d6 !important;
	border-radius: 12px !important;
	background: var(--pp-soft) !important;
	color: var(--pp-ink) !important;
	font: 700 17px/1.4 var(--pp-font) !important;
	text-align: center;
	text-decoration: none;
	transition: border-color .15s;
}
body:not(#index) ul.product_list #link_to_controller_search br {
	display: none;
}
body:not(#index) ul.product_list #link_to_controller_search span {
	display: inline-flex;
	align-items: center;
	margin-top: 10px;
	padding: 11px 20px;
	border-radius: 8px;
	background: var(--pp-red);
	color: #fff !important;
	font: 700 14px/1 var(--pp-font) !important;
	transition: background-color .15s;
}
body:not(#index) ul.product_list #link_to_controller_search:hover {
	border-color: var(--pp-red) !important;
}
body:not(#index) ul.product_list #link_to_controller_search:hover span {
	background: var(--pp-red-dark);
}

/* ---------- left column: generic block cards (filters and categories are in category-pp.css) ---------- */
#columns #left_column .block .list-block {
	margin: 0;
	padding: 0 12px 12px;
}
#columns #left_column .block .list-block li {
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #f1f2f4;
}
#columns #left_column .block .list-block li:last-child {
	border-bottom: 0;
}
#columns #left_column .block .list-block li a {
	display: block;
	padding: 8px 4px;
	color: var(--pp-text);
	font: 400 14px/1.3 var(--pp-font);
	text-transform: none;
}
#columns #left_column .block .list-block li a:before {
	display: none;
}
#columns #left_column .block .list-block li a:hover {
	color: var(--pp-red);
	text-decoration: none;
}

/* ---------- "Разгледани продукти" carousel ---------- */
#columns #left_column .pp-viewed {
	position: relative;
}
#columns #left_column .pp-viewed .title_block {
	padding-right: 96px;
}
.pp-viewed .pp-viewed__nav {
	position: absolute;
	top: 9px;
	right: 10px;
	z-index: 3;
	display: flex;
	gap: 6px;
}
.pp-viewed .pp-viewed__nav[hidden] {
	display: none;
}
.pp-viewed .pp-viewed__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	background: #fff;
	color: var(--pp-ink);
	cursor: pointer;
	transition: border-color .15s, color .15s, opacity .15s;
}
.pp-viewed .pp-viewed__btn:hover:not(:disabled),
.pp-viewed .pp-viewed__btn:focus-visible {
	border-color: var(--pp-red);
	color: var(--pp-red);
}
.pp-viewed .pp-viewed__btn:disabled {
	opacity: .4;
	cursor: default;
}
#columns #left_column .pp-viewed .block_content {
	margin: 0;
	padding: 0 12px 14px;
}
#columns #left_column .pp-viewed .pp-viewed__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 150px;
	gap: 10px;
	margin: 0;
	padding: 2px 2px 8px;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}
#columns #left_column .pp-viewed .pp-viewed__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 10px;
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	background: #fff;
	scroll-snap-align: start;
	transition: border-color .15s, box-shadow .15s;
}
#columns #left_column .pp-viewed .pp-viewed__item:hover {
	border-color: #d1d5db;
	box-shadow: 0 8px 18px -12px rgba(16, 24, 40, .3);
}
#columns #left_column .pp-viewed .products-block-image {
	display: flex;
	align-items: center;
	justify-content: center;
	float: none;
	width: auto;
	height: 106px;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: #fff;
}
#columns #left_column .pp-viewed .products-block-image img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}
#columns #left_column .pp-viewed .product-content {
	overflow: visible;
}
#columns #left_column .pp-viewed .product-content h5 {
	margin: 0 0 4px;
}
#columns #left_column .pp-viewed .product-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	min-height: 35px;
	overflow: hidden;
	color: var(--pp-ink);
	font: 600 13px/1.35 var(--pp-font);
	text-transform: none;
}
#columns #left_column .pp-viewed .product-name:hover {
	color: var(--pp-red);
	text-decoration: none;
}
#columns #left_column .pp-viewed .product-description {
	margin: 0;
	overflow: hidden;
	color: var(--pp-muted);
	font: 400 12px/1.35 var(--pp-font);
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* ---------- "Производители" block ---------- */
#columns #left_column .pp-manu .block_content {
	margin: 0;
	padding: 0 12px 14px;
}
#columns #left_column .pp-manu .pp-manu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
#columns #left_column .pp-manu .pp-manu__list li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 9px 4px;
	font-weight: 500;
}
#columns #left_column .pp-manu .pp-manu__list li a:after {
	content: "\203A";
	color: #9ca3af;
	font-size: 18px;
	line-height: 1;
}
#columns #left_column .pp-manu .pp-manu__list li a:hover:after {
	color: var(--pp-red);
}
#columns #left_column .pp-manu .pp-manu__form {
	margin: 10px 0 0;
}
#columns #left_column .pp-manu .form-group {
	margin: 0;
	padding: 0;
	border: 0;
}
#columns #left_column .pp-manu .pp-manu__label {
	display: block;
	margin: 0 0 6px;
	color: var(--pp-muted);
	font: 700 11.5px/1.2 var(--pp-font);
	letter-spacing: .04em;
	text-transform: uppercase;
}
#columns #left_column .pp-manu div.selector,
#columns #left_column .pp-manu div.selector span {
	width: 100% !important;
	max-width: none;
}
#columns #left_column .pp-manu select.form-control {
	width: 100%;
	max-width: none;
}
#columns #left_column .pp-manu .pp-manu__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 40px;
	margin: 12px 0 0;
	border: 1.5px solid var(--pp-red);
	border-radius: 8px;
	color: var(--pp-red);
	font: 700 13px/1 var(--pp-font);
	letter-spacing: .02em;
	text-transform: uppercase;
	transition: background-color .15s, color .15s;
}
#columns #left_column .pp-manu .pp-manu__all:hover,
#columns #left_column .pp-manu .pp-manu__all:focus-visible {
	background: var(--pp-red);
	color: #fff;
	text-decoration: none;
}

/* ---------- mobile filters toggle (listing pages other than category) ---------- */
.pp-filter-toggle {
	display: none;
}

/* ---------- long descriptions collapsed behind "Покажи още" ---------- */
.pp-clamp {
	position: relative;
	overflow: hidden;
}
.pp-clamp:not(.pp-open):after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 48px;
	background: linear-gradient(rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}
body#manufacturer .description_box.pp-clamp:not(.pp-open):after,
body#supplier .description_box.pp-clamp:not(.pp-open):after {
	background: linear-gradient(rgba(246, 247, 249, 0), var(--pp-soft));
}
.pp-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--pp-red);
	font: 700 13px/1.2 var(--pp-font);
	cursor: pointer;
}
.pp-more:hover {
	color: var(--pp-red-dark);
	text-decoration: underline;
}

/* ---------- manufacturers / suppliers list ---------- */
#center_column #manufacturers_list,
#center_column #suppliers_list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}
#center_column #manufacturers_list:before,
#center_column #manufacturers_list:after,
#center_column #suppliers_list:before,
#center_column #suppliers_list:after,
#center_column #manufacturers_list .mansup-container > .row:before,
#center_column #manufacturers_list .mansup-container > .row:after,
#center_column #suppliers_list .mansup-container > .row:before,
#center_column #suppliers_list .mansup-container > .row:after {
	display: none;
}
#center_column #manufacturers_list > li,
#center_column #suppliers_list > li {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
}
#center_column #manufacturers_list .mansup-container,
#center_column #suppliers_list .mansup-container {
	margin: 0;
	padding: 18px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	transition: border-color .2s, box-shadow .2s;
}
#center_column #manufacturers_list .mansup-container:hover,
#center_column #suppliers_list .mansup-container:hover {
	border-color: #d1d5db;
	box-shadow: 0 12px 26px -16px rgba(16, 24, 40, .28);
}
#center_column #manufacturers_list .mansup-container > .row,
#center_column #suppliers_list .mansup-container > .row {
	display: flex;
	align-items: flex-start;
	margin: 0;
}
#center_column #manufacturers_list .left-side,
#center_column #suppliers_list .left-side {
	flex: 0 0 150px;
	width: auto;
	padding: 0;
}
#center_column #manufacturers_list .logo,
#center_column #suppliers_list .logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 112px;
	padding: 8px;
	border: 1px solid #f1f2f4;
	border-radius: 10px;
	background: #fff;
}
#center_column #manufacturers_list .logo a,
#center_column #suppliers_list .logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
#center_column #manufacturers_list .logo img,
#center_column #suppliers_list .logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
#center_column #manufacturers_list .middle-side,
#center_column #suppliers_list .middle-side {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	padding: 0 22px;
	border: 0;
}
#center_column #manufacturers_list .middle-side h3,
#center_column #suppliers_list .middle-side h3 {
	margin: 2px 0 8px;
	padding: 0;
	color: var(--pp-ink);
	font: 800 18px/1.25 var(--pp-font);
	text-transform: none;
}
#center_column #manufacturers_list .middle-side h3 a,
#center_column #suppliers_list .middle-side h3 a {
	color: inherit;
}
#center_column #manufacturers_list .middle-side h3 a:hover,
#center_column #suppliers_list .middle-side h3 a:hover {
	color: var(--pp-red);
	text-decoration: none;
}
#center_column #manufacturers_list .description,
#center_column #suppliers_list .description {
	color: var(--pp-text);
	font: 400 13.5px/1.55 var(--pp-font);
}
#center_column #manufacturers_list .description h1,
#center_column #manufacturers_list .description h2,
#center_column #manufacturers_list .description h3,
#center_column #manufacturers_list .description h4,
#center_column #suppliers_list .description h1,
#center_column #suppliers_list .description h2,
#center_column #suppliers_list .description h3 {
	margin: 10px 0 4px;
	color: var(--pp-ink);
	font: 700 15px/1.35 var(--pp-font);
	text-transform: none;
}
#center_column #manufacturers_list .description p,
#center_column #suppliers_list .description p {
	margin: 0 0 6px;
}
#center_column #manufacturers_list .right-side,
#center_column #suppliers_list .right-side {
	flex: 0 0 250px;
	width: auto;
	padding: 0;
}
#center_column #manufacturers_list .right-side-content,
#center_column #suppliers_list .right-side-content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	min-height: 0;
	margin: 0;
	padding: 4px 0 4px 20px;
	border: 0;
	border-left: 1px solid var(--pp-border);
}
#center_column #manufacturers_list .product-counter,
#center_column #suppliers_list .product-counter {
	margin: 0;
	color: var(--pp-muted);
	font: 600 13px/1.3 var(--pp-font);
}
#center_column #manufacturers_list .product-counter a,
#center_column #suppliers_list .product-counter a {
	color: var(--pp-ink);
	font-weight: 700;
}

/* ---------- manufacturer / supplier page description ---------- */
body#manufacturer .description_box,
body#supplier .description_box {
	margin: 0 0 20px;
	padding: 20px 22px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: var(--pp-soft);
	color: var(--pp-text);
	font: 400 14px/1.6 var(--pp-font);
}
body#manufacturer .description_box h1,
body#supplier .description_box h1 {
	margin: 0 0 10px;
	color: var(--pp-ink);
	font: 800 22px/1.3 var(--pp-font);
}
body#manufacturer .description_box h2,
body#manufacturer .description_box h3,
body#supplier .description_box h2,
body#supplier .description_box h3 {
	margin: 16px 0 6px;
	color: var(--pp-ink);
	font: 700 17px/1.35 var(--pp-font);
}
body#manufacturer .description_box p,
body#supplier .description_box p {
	margin: 0 0 8px;
}
body#manufacturer .description_box + .pp-more,
body#supplier .description_box + .pp-more {
	margin: -8px 0 20px;
}

/* ---------- sitemap ---------- */
body#sitemap #sitemap_content .sitemap_block,
body#sitemap #listpage_content .categTree {
	padding: 22px 24px;
}
body#sitemap .sitemap_block li a,
body#sitemap .categTree .tree li a,
body#sitemap .categTree .tree_top a {
	color: var(--pp-text);
	font: 400 14px/1.5 var(--pp-font);
}
body#sitemap .sitemap_block li a:hover,
body#sitemap .categTree .tree li a:hover {
	color: var(--pp-red);
	text-decoration: none;
}
body#sitemap .sitemap_block li a:before {
	color: var(--pp-red);
}
body#sitemap .categTree .tree_top a {
	color: var(--pp-red);
}

/* ---------- contact ---------- */
body#contact .contact-form-box {
	margin: 0 0 20px;
	padding: 24px 24px 20px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}
body#contact .contact-form-box:before,
body#contact .contact-form-box:after {
	display: none;
}
body#contact .contact-form-box fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	background: none !important;
	box-shadow: none;
}
body#contact .contact-form-box .submit {
	margin-top: 8px;
}
body#contact #desc_contact0,
body#contact .desc_contact {
	color: var(--pp-muted);
	font: 400 13px/1.4 var(--pp-font);
}

/* ---------- authentication ---------- */
body#authentication #center_column .box,
body#password #center_column .box {
	min-height: 0;
}
body#authentication #center_column .lost_password a,
body#password #center_column .lost_password a {
	color: var(--pp-red);
	text-decoration: none;
}
body#authentication #center_column .lost_password a:hover {
	text-decoration: underline;
}
@media (min-width: 768px) {
	body#authentication #center_column > .row {
		display: flex;
		flex-wrap: wrap;
	}
	body#authentication #center_column > .row:before,
	body#authentication #center_column > .row:after {
		display: none;
	}
	body#authentication #center_column > .row > [class*="col-"] {
		display: flex;
		float: none;
	}
	body#authentication #center_column > .row > [class*="col-"] > .box {
		flex: 1 1 auto;
	}
}

/* ---------- 404 ---------- */
body#pagenotfound .pagenotfound {
	max-width: 720px;
	margin: 10px auto 20px;
	padding: 32px 28px 28px;
	border: 1px solid var(--pp-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
	text-align: center;
}
body#pagenotfound .pagenotfound .img-404 {
	margin: 0 0 8px;
}
body#pagenotfound .pagenotfound .img-404 img {
	width: 200px;
	max-width: 60%;
	height: auto;
}
body#pagenotfound .pagenotfound h1 {
	margin: 10px 0 8px;
	padding: 0;
	color: var(--pp-ink);
	font: 800 28px/1.2 var(--pp-font);
	text-transform: none;
}
body#pagenotfound .pagenotfound p {
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--pp-border);
	color: var(--pp-muted);
	font: 500 15px/1.5 var(--pp-font);
	text-transform: none;
}
body#pagenotfound .pagenotfound h3 {
	margin: 0 0 12px;
	color: var(--pp-ink);
	font: 600 14.5px/1.4 var(--pp-font);
	text-transform: none;
}
body#pagenotfound .pagenotfound fieldset > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
body#pagenotfound .pagenotfound fieldset label {
	flex: 0 0 100%;
	margin: 0;
	color: var(--pp-muted);
	font: 500 13px/1.3 var(--pp-font);
}
body#pagenotfound .pagenotfound #search_query {
	flex: 1 1 240px;
	width: auto;
	max-width: 380px;
	margin: 0;
}
body#pagenotfound .pagenotfound .buttons {
	margin: 22px 0 0;
}
body#pagenotfound .pagenotfound .buttons .button {
	border: 1.5px solid var(--pp-border);
	background: #fff;
	color: var(--pp-ink);
}
body#pagenotfound .pagenotfound .buttons .button:hover {
	border-color: var(--pp-red);
	background: #fff;
	color: var(--pp-red);
}

/* ---------- CMS content ---------- */
body#cms #center_column .rte {
	color: var(--pp-text);
	font: 400 14.5px/1.65 var(--pp-font);
}
body#cms #center_column .rte h1,
body#cms #center_column .rte h2,
body#cms #center_column .rte h3 {
	color: var(--pp-ink);
	font-family: var(--pp-font);
	font-weight: 800;
	text-transform: none;
}

/* manufacturers list: theme list-view rules (centered text, offsets) */
#center_column #manufacturers_list .mansup-container,
#center_column #suppliers_list .mansup-container {
	text-align: left;
}
#center_column #manufacturers_list .right-side-content .product-counter,
#center_column #suppliers_list .right-side-content .product-counter {
	position: static;
	top: auto;
	margin: 0;
}
body:not(#product) #center_column #manufacturers_list .right-side .button.exclusive-medium,
body:not(#product) #center_column #suppliers_list .right-side .button.exclusive-medium {
	width: 100%;
	padding: 0 14px;
	font-size: 12.5px;
	letter-spacing: .02em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* checkout (onepagecheckout module): its grey gradient bars become plain headings */
body#order-opc #center_column h2,
body#order-opc #center_column form.std h3,
body#order-opc #center_column #new_account_form.std h3,
body#order-opc #center_column #payments_section h3 {
	position: relative;
	margin: 0 0 18px;
	padding: 0 0 12px;
	border: 0;
	border-bottom: 1px solid var(--pp-border);
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--pp-ink);
	font: 800 20px/1.3 var(--pp-font);
	text-shadow: none;
	text-transform: none;
	filter: none;
}
body#order-opc #center_column #opc_checkout > h2 {
	font-size: 24px;
}
body#order-opc #center_column h2:after,
body#order-opc #center_column form.std h3:after,
body#order-opc #center_column #payments_section h3:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 48px;
	height: 3px;
	border-radius: 2px;
	background: var(--pp-red);
}
body#order-opc #center_column #cart_summary th {
	border-color: var(--pp-border);
	background: var(--pp-soft);
	color: var(--pp-ink);
	font: 700 13px/1.3 var(--pp-font);
	text-shadow: none;
	filter: none;
}
body#order-opc #center_column form.std fieldset {
	margin: 0 0 16px;
	padding: 18px 18px 12px;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}
body#order-opc #center_column #cart_summary form#voucher fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
}
body#order-opc #center_column #login_form h3 a {
	color: var(--pp-ink);
}
body#order-opc #center_column #opc_checkout .address-type-header {
	margin: 14px 0 12px;
	padding: 9px 12px;
	border: 0;
	border-radius: 8px;
	background: var(--pp-soft);
	color: var(--pp-ink);
	font: 700 13px/1.3 var(--pp-font);
}
body#order-opc #opc_checkout #opc_new_account p.text input,
body#order-opc #opc_checkout #opc_new_account p.password input,
body#order-opc #opc_checkout #opc_new_account p.select select,
body#order-opc #opc_checkout #opc_new_account p.textarea textarea,
body#order-opc #opc_checkout #login_form input.text,
body#order-opc textarea#message,
body#order-opc input.discount_name {
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: var(--pp-ink);
	font: 400 14px/1.3 var(--pp-font);
}
body#order-opc #opc_checkout #opc_new_account p.text input:hover,
body#order-opc #opc_checkout #opc_new_account p.select select:hover,
body#order-opc #opc_checkout #opc_new_account p.textarea textarea:hover,
body#order-opc textarea#message:hover,
body#order-opc input.discount_name:hover {
	box-shadow: 0 0 0 3px rgba(17, 24, 39, .05);
}
body#order-opc #opc_checkout #opc_new_account p.text input:focus,
body#order-opc #opc_checkout #opc_new_account p.select select:focus,
body#order-opc #opc_checkout #opc_new_account p.textarea textarea:focus,
body#order-opc textarea#message:focus,
body#order-opc input.discount_name:focus {
	border-color: var(--pp-red);
	box-shadow: 0 0 0 3px rgba(215, 25, 32, .12);
}
body#order-opc #center_column #carrierTable,
body#order-opc #center_column #paymentMethodsTable {
	border: 1px solid var(--pp-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 10px;
	overflow: hidden;
}
body#order-opc #center_column #econt_form,
body#order-opc #center_column .econt_delivery_options {
	border-radius: 10px;
}
body#order-opc #center_column table#cart_summary {
	border: 1px solid var(--pp-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	box-shadow: none;
	overflow: hidden;
}
body#order-opc #center_column table#cart_summary td {
	border-color: var(--pp-border);
}
body#order-opc #center_column table#cart_summary .cart_quantity_input {
	border: 1px solid #d1d5db;
	border-radius: 8px;
}
body#order-opc #center_column table#cart_summary #total_price_container,
body#order-opc #center_column table#cart_summary #total_price {
	color: var(--pp-red);
	font: 800 20px/1.2 var(--pp-font);
}
body#order-opc #center_column #voucher input.button {
	min-height: 40px;
	padding: 0 16px;
	border: 1.5px solid var(--pp-red) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--pp-red) !important;
	font: 700 13px/1 var(--pp-font) !important;
	text-shadow: none !important;
	filter: none;
}
body#order-opc #center_column #voucher input.button:hover {
	background: var(--pp-red) !important;
	color: #fff !important;
}
body#order-opc #center_column .confirm_button_div {
	text-align: center;
}
body#order-opc #center_column #cart_summary input.discount_name {
	height: 40px;
	min-height: 0;
}
body#order-opc #center_column .confirm_button_div input.confirm_button {
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	height: auto;
	min-height: 56px;
	display: block;
	margin: 0 auto;
	padding: 14px 24px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--pp-red) !important;
	box-shadow: 0 12px 24px -14px rgba(215, 25, 32, .7) !important;
	color: #fff !important;
	font: 800 18px/1.25 var(--pp-font) !important;
	text-shadow: none !important;
	white-space: normal;
	filter: none;
	cursor: pointer;
}
body#order-opc #center_column .confirm_button_div input.confirm_button:hover {
	background: var(--pp-red-dark) !important;
}

/* contact: company card (inline-styled div after the heading) */
body#contact #center_column h1.page-heading + div[style] {
	margin: 0 0 20px !important;
	padding: 20px 22px !important;
	border: 1px solid var(--pp-border) !important;
	border-radius: 12px !important;
	background: var(--pp-soft) !important;
	color: var(--pp-text) !important;
	font: 400 14px/1.6 var(--pp-font);
}
body#contact #center_column h1.page-heading + div[style] > span {
	font-size: 14px !important;
}
body#contact #center_column h1.page-heading + div[style] > span:first-child {
	display: inline-block;
	margin-bottom: 2px;
	color: var(--pp-ink);
	font: 800 20px/1.3 var(--pp-font) !important;
}

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
	body:not(#index):not(#product) ul.product_list.grid,
	body.hide-left-column:not(#index):not(#product) ul.product_list.grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	#center_column #manufacturers_list .right-side,
	#center_column #suppliers_list .right-side {
		flex-basis: 230px;
	}
}
@media (max-width: 991px) {
	body:not(#index):not(#product):not(.hide-left-column) ul.product_list.grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#center_column #manufacturers_list .mansup-container > .row,
	#center_column #suppliers_list .mansup-container > .row {
		flex-wrap: wrap;
	}
	#center_column #manufacturers_list .middle-side,
	#center_column #suppliers_list .middle-side {
		flex-basis: calc(100% - 150px);
		padding-right: 0;
	}
	#center_column #manufacturers_list .right-side,
	#center_column #suppliers_list .right-side {
		flex-basis: 100%;
		margin-top: 14px;
	}
	#center_column #manufacturers_list .right-side-content,
	#center_column #suppliers_list .right-side-content {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		padding: 14px 0 0;
		border-top: 1px solid var(--pp-border);
		border-left: 0;
	}
}
@media (max-width: 767px) {
	body:not(#category) #columns .page-heading,
	#columns #cart_title {
		font-size: 20px;
	}
	body:not(#category) #columns .page-heading span.heading-counter {
		display: block;
		float: none;
		line-height: 1.4;
		padding-top: 4px;
	}
	#center_column .content_sortPagiBar .sortPagiBar {
		gap: 10px;
		padding: 10px;
	}
	#center_column .content_sortPagiBar .sortPagiBar #productsSortForm {
		flex: 1 1 100%;
	}
	#center_column .content_sortPagiBar #uniform-selectProductSort {
		flex: 1 1 auto;
		width: auto !important;
	}
	#center_column .top-pagination-content,
	#center_column .bottom-pagination-content {
		justify-content: center;
	}
	#center_column .top-pagination-content .product-count,
	#center_column .bottom-pagination-content .product-count {
		flex: 1 1 100%;
		text-align: center;
	}
	#center_column ul.pagination {
		justify-content: center;
	}
	#center_column ul.pagination > li > a,
	#center_column ul.pagination > li > span {
		min-width: 36px;
		height: 36px;
		padding: 0 10px;
	}
	#center_column ul.pagination > li#pagination_previous b,
	#center_column ul.pagination > li#pagination_next b,
	#center_column ul.pagination > li#pagination_previous_bottom b,
	#center_column ul.pagination > li#pagination_next_bottom b {
		display: none;
	}
	body:not(#index):not(#product) ul.product_list.grid,
	body.hide-left-column:not(#index):not(#product) ul.product_list.grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	body:not(#index):not(#product) ul.product_list.grid > li .product-container {
		padding: 9px;
		border-radius: 10px;
	}
	body:not(#index):not(#product) ul.product_list.grid .product-image-container {
		height: 130px;
		margin-bottom: 8px;
	}
	body:not(#index):not(#product) ul.product_list.grid .left-block > img {
		width: 44px !important;
		height: 28px !important;
		padding: 2px;
	}
	body:not(#index):not(#product) ul.product_list.grid h5 {
		min-height: 34px;
	}
	body:not(#index):not(#product) ul.product_list.grid .product-name {
		font-size: 13px;
	}
	body:not(#index):not(#product) ul.product_list.grid .product-desc {
		font-size: 11.5px;
	}
	body:not(#index):not(#product) ul.product_list.grid .content_price .price {
		font-size: 17px;
	}
	body:not(#index):not(#product) ul.product_list.grid .price-percent-reduction {
		top: 9px;
		left: 9px;
		padding: 4px 6px;
		font-size: 11.5px;
	}
	body:not(#index):not(#product) ul.product_list.grid .availability > span {
		padding: 4px 8px;
		font-size: 11px;
		white-space: normal;
	}
	body:not(#index) ul.product_list #link_to_controller_search {
		padding: 18px 14px !important;
		font-size: 15px !important;
	}
	.pp-filter-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: calc(100% - 30px);
		min-height: 46px;
		margin: 0 15px 12px;
		border: 1px solid var(--pp-border);
		border-radius: 8px;
		background: #fff;
		color: var(--pp-ink);
		font: 700 14px/1 var(--pp-font);
		text-transform: uppercase;
	}
	.pp-filter-toggle[aria-expanded="true"] {
		border-color: var(--pp-red);
		color: var(--pp-red);
	}
	body.pp-has-toggle #left_column {
		display: none;
	}
	body.pp-has-toggle #left_column.cp-open {
		display: block;
	}
	#center_column #manufacturers_list .mansup-container,
	#center_column #suppliers_list .mansup-container {
		padding: 14px;
	}
	#center_column #manufacturers_list .left-side,
	#center_column #suppliers_list .left-side {
		flex-basis: 96px;
	}
	#center_column #manufacturers_list .logo,
	#center_column #suppliers_list .logo {
		height: 72px;
		padding: 6px;
	}
	#center_column #manufacturers_list .middle-side,
	#center_column #suppliers_list .middle-side {
		flex-basis: calc(100% - 96px);
		padding-left: 14px;
	}
	#center_column #manufacturers_list .middle-side h3,
	#center_column #suppliers_list .middle-side h3 {
		font-size: 16px;
	}
	body#manufacturer .description_box,
	body#supplier .description_box {
		padding: 16px;
	}
	body#manufacturer .description_box h1,
	body#supplier .description_box h1 {
		font-size: 19px;
	}
	body:not(#product) #center_column .box {
		padding: 18px 16px;
	}
	body#pagenotfound .pagenotfound {
		padding: 24px 16px;
	}
	body#pagenotfound .pagenotfound h1 {
		font-size: 22px;
	}
}
@media (prefers-reduced-motion: reduce) {
	body:not(#index):not(#product) ul.product_list.grid > li .product-container,
	body:not(#index):not(#product) ul.product_list.grid .product_img_link img,
	#center_column #manufacturers_list .mansup-container,
	.pp-viewed .pp-viewed__btn {
		transition: none;
	}
	body:not(#index):not(#product) ul.product_list.grid .product-container:hover .product_img_link img {
		transform: none;
	}
}


/* ---------- filter criteria: a small icon on every row (owner, 2026-09-17) ----------
   pm_advancedsearch4 renders each criterion as a label.PM_ASLabelCheckbox inside a
   div.radio or p.checkbox. There is no theme override of that template, so the icon is
   added here in CSS only - nothing in the module is touched. */
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > .radio > label.PM_ASLabelCheckbox,
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > p.checkbox > label.PM_ASLabelCheckbox {
	display: flex;
	align-items: center;
	gap: 8px;
}
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > .radio > label.PM_ASLabelCheckbox:before,
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > p.checkbox > label.PM_ASLabelCheckbox:before {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	/* owner 2026-09-17: each filter group gets an icon that MEANS its label. site-pp.js sets
	   --pp-ico per row from the label text; painting through a mask keeps the colour in CSS,
	   so the selected state stays a single background-color swap. White strokes in the SVG so
	   the mask reads the same whether the engine treats it as alpha or as luminance. */
	background-color: #6b7280;
	-webkit-mask: var(--pp-ico, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.9.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.9 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.9.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.9-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.9V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E")) no-repeat center / 16px 16px;
	mask: var(--pp-ico, url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.9.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.9 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.9l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.9.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.9-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.9V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E")) no-repeat center / 16px 16px;
	opacity: .85;
}
/* the selected row gets the icon in the brand red */
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > .radio > label.PM_ASLabelCheckboxSelected:before,
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > p.checkbox > label.PM_ASLabelCheckboxSelected:before {
	background-color: var(--pp-red);
	opacity: 1;
}


/* owner 2026-09-17: filter values that ARE brands show the real manufacturer logo.
   site-pp.js sets --pp-logo and .pp-has-logo only when /img/m/<id>-small.jpg exists,
   so rows without a logo keep the masked icon. mask:none is required because the
   base rule paints through a mask, which would tint the logo a flat grey. */
/* LOGO-SPECIFICITY-FIX 2026-09-18: the base icon rule at ~1948 is
   "#columns #left_column .PM_ASCriterionGroupCheckbox > li > .radio|p.checkbox >
   label.PM_ASLabelCheckbox:before" - 2 ids + 3 classes + 4 elements. The single-class
   selector below lost the cascade, so the logo rows still rendered 16x16 with the SVG
   mask applied (measured in-browser: 87 labels, all 16px, --pp-logo resolved but
   unused). Mirroring that selector shape and appending .pp-has-logo adds one class, so
   these win on specificity - no !important needed. The bare selector is kept last as a
   fallback for any markup outside that structure. */
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > .radio > label.PM_ASLabelCheckbox.pp-has-logo:before,
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > p.checkbox > label.PM_ASLabelCheckbox.pp-has-logo:before,
html body #columns #left_column label.PM_ASLabelCheckbox.pp-has-logo:before {
	/* owner 2026-09-18: 16px was too small to recognise a brand - the logos on
	   /manufacturers are the same files, just shown at a usable size. */
	width: 34px;
	height: 20px;
	background: transparent var(--pp-logo) no-repeat center / contain;
	-webkit-mask: none;
	mask: none;
	opacity: 1;
}

/* ---------- why an add-to-cart was refused (owner, 2026-09-17) ---------- */
.pp-add-error {
	margin: 8px 0 0;
	padding: 8px 11px;
	border: 1px solid #f3c2c4;
	border-radius: 8px;
	background: #fdecec;
	color: #9b1c22;
	font: 600 12.5px/1.35 var(--pp-font);
	text-align: left;
}
.pp-add-error--float {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 10002;
	max-width: 320px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}

/* PP-OPC-CLEANUP 2026-09-18 (owner) ------------------------------------------------------
   1. The voucher row on /quick-order is not wanted. It is hidden rather than removed from
      shopping-cart.tpl:267, because themes/theme1005/js/cart-summary.js:19 writes into
      #discount_name and would throw if the input disappeared.
   2. The green tick / red cross next to every field are background images from the module
      (base.css:68/72 and base-custom.css:69/73, both declaring field_success.png /
      field_error.png). Both files must be beaten, hence the !important, and the padding is
      zeroed too so no empty indent is left where the 16px image used to sit. */
body#order-opc tr.cart_voucher_block,
body#order-opc #cart_voucher {
	display: none !important;
}
body#order-opc span.valid_ok,
body#order-opc span.valid_nok,
body#order-opc span.valid_warn,
body#order-opc span.valid_loading,
html body span.valid_ok,
html body span.valid_nok,
html body span.valid_warn,
html body span.valid_loading {
	background: none !important;
	padding-left: 0 !important;
	width: 0 !important;
	min-width: 0 !important;
}

/* PP-BRANDROW 2026-09-18: give the brand rows room for a 34px logo and keep the label
   aligned with it, so the Производител list reads like the /manufacturers page. */
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > p.checkbox > label.PM_ASLabelCheckbox.pp-has-logo,
html body #columns #left_column .PM_ASCriterionGroupCheckbox > li > .radio > label.PM_ASLabelCheckbox.pp-has-logo {
	gap: 10px;
	min-height: 26px;
}

/* ==========================================================================
   PP-OC 2026-09-18 — страница „Поръчката е приета" (order-confirmation.tpl)
   Шаблонът беше преработен по-рано днес и излъчваше 14 pp-oc класа, за които
   нямаше НИТО ЕДНО правило (намерено и от одита, находка 20). Стиловете ползват
   само токени, които наистина съществуват в site-pp.css.
   ========================================================================== */
body#order-confirmation .pp-oc {
	max-width: 760px;
	margin: 0 auto 28px;
	padding: 0 16px;
	font-family: var(--pp-font);
}
body#order-confirmation .pp-oc__card {
	position: relative;
	padding: 34px 28px 28px;
	border: 1px solid var(--pp-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(17, 24, 39, .06);
	text-align: center;
}
body#order-confirmation .pp-oc__tick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin: 0 0 14px;
	border-radius: 50%;
	background: rgba(46, 158, 62, .1);
	color: var(--pp-green);
}
body#order-confirmation .pp-oc__title {
	margin: 0 0 10px;
	color: var(--pp-ink);
	font: 700 26px/1.25 var(--pp-font);
	text-transform: none;
}
body#order-confirmation .pp-oc__order {
	margin: 0 0 18px;
	color: var(--pp-muted);
	font-size: 14px;
}
body#order-confirmation .pp-oc__order-label {
	margin-right: 6px;
}
body#order-confirmation .pp-oc__order-num {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 6px;
	background: var(--pp-soft);
	color: var(--pp-ink);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .3px;
}
body#order-confirmation .pp-oc__msg {
	margin: 0 0 22px;
	padding: 14px 16px;
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	background: var(--pp-soft);
	color: var(--pp-text);
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}
body#order-confirmation .pp-oc__msg p:last-child {
	margin-bottom: 0;
}
body#order-confirmation .pp-oc__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	text-align: left;
}
body#order-confirmation .pp-oc__steps li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 14px;
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	background: #fff;
	color: var(--pp-text);
	font-size: 13px;
	line-height: 1.4;
}
body#order-confirmation .pp-oc__steps li svg {
	flex: 0 0 22px;
	color: var(--pp-red);
}
body#order-confirmation .pp-oc__steps li strong {
	display: block;
	margin-bottom: 2px;
	color: var(--pp-ink);
	font-size: 13.5px;
}
body#order-confirmation .pp-oc__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}
body#order-confirmation .pp-oc__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: 8px;
	font: 700 14px/1 var(--pp-font);
	text-align: center;
	text-decoration: none;
	transition: background .15s, border-color .15s, color .15s;
}
body#order-confirmation .pp-oc__btn--primary,
body#order-confirmation a.pp-oc__btn--primary {
	background: var(--pp-red);
	color: #fff !important;
}
body#order-confirmation .pp-oc__btn--primary:hover,
body#order-confirmation .pp-oc__btn--primary:focus {
	background: var(--pp-red-dark);
	color: #fff !important;
	text-decoration: none;
}
body#order-confirmation .pp-oc__btn--ghost,
body#order-confirmation a.pp-oc__btn--ghost {
	border-color: var(--pp-border);
	background: #fff;
	color: var(--pp-ink) !important;
}
body#order-confirmation .pp-oc__btn--ghost:hover,
body#order-confirmation .pp-oc__btn--ghost:focus {
	border-color: var(--pp-ink);
	background: var(--pp-soft);
	color: var(--pp-ink) !important;
	text-decoration: none;
}
body#order-confirmation .pp-oc__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
body#order-confirmation .pp-oc__trust li {
	display: flex;
	gap: 8px;
	align-items: center;
	color: var(--pp-muted);
	font-size: 13px;
}
body#order-confirmation .pp-oc__trust li svg {
	flex: 0 0 26px;
	color: var(--pp-green);
}
@media (max-width: 767px) {
	body#order-confirmation .pp-oc__card {
		padding: 26px 16px 22px;
	}
	body#order-confirmation .pp-oc__title {
		font-size: 21px;
	}
	body#order-confirmation .pp-oc__steps {
		grid-template-columns: 1fr;
	}
	body#order-confirmation .pp-oc__btn {
		width: 100%;
		min-width: 0;
	}
}
