@charset "UTF-8";
/*
 * Cart (header dropdown and the "product added" layer). The theme's own blockcart.css is loaded after global.css,
 * so every rule here keeps an id in the selector (html body #header / html body #layer_cart) to win the cascade.
 * Same tokens as site-pp.css: rounded cards, red accents, no square corners.
 */

/* ---------- header dropdown ---------- */
html body #header .cart_block {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	left: auto;
	z-index: 1002;
	width: 360px;
	max-width: calc(100vw - 24px);
	height: auto;
	padding: 0;
	border: 1px solid var(--pp-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 24px 48px -18px rgba(16, 24, 40, .45);
	color: var(--pp-text);
	font-family: var(--pp-font);
}
html body #header .cart_block:before {
	content: "";
	position: absolute;
	top: -7px;
	right: 26px;
	width: 12px;
	height: 12px;
	border-top: 1px solid var(--pp-border);
	border-left: 1px solid var(--pp-border);
	border-radius: 2px 0 0 0;
	background: #fff;
	transform: rotate(45deg);
}
html body #header .cart_block .block_content {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 14px;
	overflow: hidden;
}
html body #header .cart_block dl.products {
	max-height: 330px;
	margin: 0;
	padding: 4px 0;
	overflow-y: auto;
}
html body #header .cart_block dt {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid #f1f2f4;
	background: none;
	font-weight: 400;
	overflow: visible;
}
html body #header .cart_block dl.products dt:last-of-type {
	border-bottom: 0;
}
html body #header .cart_block .cart-images {
	flex: 0 0 56px;
	float: none;
	width: 56px;
	margin: 0;
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}
html body #header .cart_block .cart-images img {
	display: block;
	width: 100%;
	height: auto;
}
html body #header .cart_block .cart-info {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 22px 0 0;
	overflow: visible;
}
html body #header .cart_block .cart-info .product-name {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0 0 4px;
	padding: 0;
}
html body #header .cart_block .cart_block_product_name {
	min-width: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--pp-ink);
	font: 600 13px/1.35 var(--pp-font);
}
html body #header .cart_block .cart_block_product_name:hover {
	color: var(--pp-red);
	text-decoration: none;
}
html body #header .cart_block .cart-info .quantity-formated {
	display: inline-block;
	padding: 0 6px 0 0;
	color: var(--pp-muted);
	font: 600 12px/1.3 var(--pp-font);
	text-transform: none;
}
html body #header .cart_block .cart-info .quantity-formated .quantity {
	font-size: 12px;
}
html body #header .cart_block .cart-info .price {
	color: var(--pp-red);
	font: 700 14px/1.3 var(--pp-font);
}
html body #header .cart_block .product-atributes {
	padding: 0 0 4px;
	font-size: 11.5px;
}
html body #header .cart_block .product-atributes a {
	color: var(--pp-muted);
}
html body #header .cart_block .cart_block_list .remove_link {
	position: absolute;
	top: 10px;
	right: 10px;
}
html body #header .cart_block .cart_block_list .remove_link a,
html body #header .cart_block .cart_block_list .ajax_cart_block_remove_link {
	color: #9ca3af;
	text-decoration: none;
}
html body #header .cart_block .cart_block_list .remove_link a:before,
html body #header .cart_block .cart_block_list .ajax_cart_block_remove_link:before {
	font-size: 16px;
	line-height: 16px;
}
html body #header .cart_block .cart_block_list .remove_link a:hover,
html body #header .cart_block .cart_block_list .ajax_cart_block_remove_link:hover {
	color: var(--pp-red);
}
html body #header .cart_block .cart_block_no_products {
	margin: 0;
	padding: 24px 16px;
	background: none;
	color: var(--pp-muted);
	font: 500 14px/1.4 var(--pp-font);
	text-align: center;
}
html body #header .cart_block .cart-prices {
	padding: 12px 14px;
	border: 0;
	border-top: 1px solid var(--pp-border);
	background: var(--pp-soft);
	font-weight: 400;
}
html body #header .cart_block .cart-prices .cart-prices-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 5px 0;
	border: 0;
	overflow: visible;
}
/* the markup prints the amount first and the label second */
html body #header .cart_block .cart-prices .cart-prices-line > span:first-child {
	order: 2;
}
html body #header .cart_block .cart-prices .cart-prices-line span {
	float: none;
	color: var(--pp-text);
	font: 500 13px/1.35 var(--pp-font);
}
html body #header .cart_block .cart-prices .cart-prices-line .price {
	/* owner 2026-09-21: всички цени червени. Този ред е „Общо продукти" в
	   падащата количка; последният ред (.last-line .price) вече беше червен. */
	color: var(--pp-red);
	font-weight: 700;
	white-space: nowrap;
}
html body #header .cart_block .cart-prices .cart-prices-line.last-line {
	margin-top: 4px;
	padding-top: 10px;
	border-top: 1px dashed #d8dbe0;
}
html body #header .cart_block .cart-prices .cart-prices-line.last-line span {
	color: var(--pp-ink);
	font: 800 15px/1.3 var(--pp-font);
}
html body #header .cart_block .cart-prices .cart-prices-line.last-line .price {
	color: var(--pp-red);
	font-size: 17px;
}
html body #header .cart_block .cart-prices > p {
	margin: 6px 0 0;
	color: var(--pp-muted);
	font-size: 11.5px;
}
html body #header .cart_block table.vouchers {
	width: auto;
	margin: 0;
	padding: 0 14px 6px;
	font-size: 12.5px;
}
html body #header .cart_block table.vouchers td.price {
	color: var(--pp-red);
	font-weight: 700;
}
html body #header .cart_block table.vouchers td.delete a {
	color: var(--pp-muted);
}
html body #header .cart_block table.vouchers td.delete a:hover {
	color: var(--pp-red);
}
html body #header .cart_block .cart-buttons {
	margin: 0;
	padding: 12px 14px;
	background: #fff;
	overflow: visible;
}
html body #header .cart_block .cart-buttons a#button_order_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	float: none;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 8px;
	background: var(--pp-red);
	color: #fff;
	font: 700 14px/1 var(--pp-font);
	text-align: center;
	text-transform: uppercase;
	transition: background-color .15s;
}
html body #header .cart_block .cart-buttons a#button_order_cart span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	color: #fff;
	font: inherit;
}
html body #header .cart_block .cart-buttons a#button_order_cart i {
	font-size: 12px;
}
html body #header .cart_block .cart-buttons a#button_order_cart:hover {
	background: var(--pp-red-dark);
	color: #fff;
}
html body #header .cart_block .cart-buttons a#button_order_cart:hover span {
	color: #fff;
}

@media (min-width: 768px) {
	html body#order-opc #center_column #opc_new_account .address_fields,
	html body#order-opc #center_column #opc_new_account .account_fields {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 16px;
	}
	html body#order-opc #center_column #opc_new_account .address_fields > p,
	html body#order-opc #center_column #opc_new_account .account_fields > p {
		margin: 0 0 12px;
	}
	html body#order-opc #center_column #opc_new_account .address_fields > p.textarea,
	html body#order-opc #center_column #opc_new_account .address_fields > p.checkbox,
	html body#order-opc #center_column #opc_new_account .account_fields > p.checkbox,
	html body#order-opc #center_column #opc_new_account .address-type-header,
	html body#order-opc #center_column #opc_new_account .error {
		grid-column: 1 / -1;
	}
	/* the module puts a 120px label next to a 205px input; stack them and use the full column */
	html body#order-opc #opc_checkout #opc_new_account p.text label,
	html body#order-opc #opc_checkout #opc_new_account p.password label,
	html body#order-opc #opc_checkout #opc_new_account p.select label,
	html body#order-opc #opc_checkout #opc_new_account p.textarea label {
		display: block;
		float: none;
		width: auto;
		margin: 0 0 6px;
		padding: 0;
		color: var(--pp-ink);
		font: 600 13px/1.3 var(--pp-font);
		text-align: left;
	}
	html body#order-opc #opc_checkout #opc_new_account p.text input,
	html body#order-opc #opc_checkout #opc_new_account p.password input,
	html body#order-opc #opc_checkout #opc_new_account p.select select,
	html body#order-opc #opc_checkout #opc_new_account p.textarea textarea {
		width: 100%;
		margin-left: 0;
	}
}

html body#order-opc #opc_checkout #opc_new_account p.text,
html body#order-opc #opc_checkout #opc_new_account p.password,
html body#order-opc #opc_checkout #opc_new_account p.select {
	position: relative;
}
html body#order-opc #opc_checkout #opc_new_account span.validity {
	position: absolute;
	right: 12px;
	bottom: 11px;
}
@media (min-width: 768px) {
	html body#order-opc #opc_checkout #opc_new_account p.text,
	html body#order-opc #opc_checkout #opc_new_account p.password,
	html body#order-opc #opc_checkout #opc_new_account p.select {
		max-width: 460px;
	}
	html body#order-opc #opc_checkout #opc_new_account p.text input,
	html body#order-opc #opc_checkout #opc_new_account p.password input,
	html body#order-opc #opc_checkout #opc_new_account p.select select {
		width: 100%;
		max-width: none;
		padding-right: 34px;
	}
}
/* phones: labels left, fields use the whole width they have */
@media (max-width: 767px) {
	html body#order-opc #opc_checkout #opc_new_account p.text label,
	html body#order-opc #opc_checkout #opc_new_account p.password label,
	html body#order-opc #opc_checkout #opc_new_account p.select label,
	html body#order-opc #opc_checkout #opc_new_account p.textarea label {
		display: block;
		float: none;
		width: auto;
		margin: 0 0 6px;
		padding: 0;
		color: var(--pp-ink);
		font: 600 13px/1.3 var(--pp-font);
		text-align: left;
	}
	html body#order-opc #opc_checkout #opc_new_account p.text input,
	html body#order-opc #opc_checkout #opc_new_account p.password input,
	html body#order-opc #opc_checkout #opc_new_account p.select select,
	html body#order-opc #opc_checkout #opc_new_account p.textarea textarea {
		width: 100%;
		max-width: none;
		margin-left: 0;
		padding-right: 34px;
	}
	html body#order-opc #opc_checkout #opc_new_account p.text,
	html body#order-opc #opc_checkout #opc_new_account p.password,
	html body#order-opc #opc_checkout #opc_new_account p.select {
		max-width: none;
	}
}

/* ---------- "product added to cart" layer ---------- */
html body .layer_cart_overlay {
	/* the cookie bar is fixed at z-index 9999, so the overlay and the modal go above it */
	z-index: 10000;
	background-color: #111827;
	opacity: .5;
}
/* ajax-cart.js writes an inline top (page scroll), so the centering needs !important */
html body #layer_cart {
	position: fixed !important;
	top: 50% !important;
	right: auto;
	bottom: auto;
	left: 50% !important;
	z-index: 10001;
	width: 760px;
	max-width: calc(100% - 28px);
	max-height: 88vh;
	margin: 0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 30px 60px -20px rgba(16, 24, 40, .6);
	color: var(--pp-text);
	font-family: var(--pp-font);
	overflow: auto;
	transform: translate(-50%, -50%);
}
html body #layer_cart > .clearfix {
	display: flex;
	flex-wrap: wrap;
}
html body #layer_cart > .clearfix:before,
html body #layer_cart > .clearfix:after {
	display: none;
}
html body #layer_cart .layer_cart_product {
	flex: 1 1 56%;
	float: none;
	width: auto;
	min-width: 0;
	padding: 22px 22px 20px;
}
html body #layer_cart .layer_cart_product h2 {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 18px;
	padding: 0 34px 0 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #1f7a2e;
	font: 800 19px/1.3 var(--pp-font);
	text-shadow: none;
	text-transform: none;
}
html body #layer_cart .layer_cart_product h2 i {
	float: none;
	padding: 0;
	font-size: 21px;
	line-height: 1.2;
}
html body #layer_cart .layer_cart_product .product-image-container {
	float: left;
	width: 132px;
	max-width: 132px;
	margin: 0 16px 0 0;
	padding: 6px;
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	background: #fff;
}
html body #layer_cart .layer_cart_product .product-image-container img {
	display: block;
	width: 100%;
	height: auto;
}
html body #layer_cart .layer_cart_product .layer_cart_product_info {
	padding: 2px 0 0;
	overflow: hidden;
}
html body #layer_cart .layer_cart_product .layer_cart_product_info #layer_cart_product_title {
	display: block;
	padding: 0 0 10px;
	color: var(--pp-ink);
	font: 700 15px/1.35 var(--pp-font);
}
html body #layer_cart .layer_cart_product .layer_cart_product_info > div {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 0 0 6px;
	font: 500 13.5px/1.4 var(--pp-font);
}
html body #layer_cart .layer_cart_product .layer_cart_product_info > div strong {
	padding: 0;
	color: var(--pp-muted);
	font-weight: 600;
}
html body #layer_cart .layer_cart_product .layer_cart_product_info > div:last-child span {
	color: var(--pp-red);
	font: 800 16px/1.3 var(--pp-font);
}
html body #layer_cart .layer_cart_cart {
	flex: 1 1 40%;
	float: none;
	width: auto;
	min-width: 0;
	min-height: 0;
	padding: 22px;
	border: 0;
	border-left: 1px solid var(--pp-border);
	border-radius: 0 16px 16px 0;
	background: var(--pp-soft);
}
html body #layer_cart .layer_cart_cart h2 {
	margin: 0 0 14px;
	padding: 0 0 12px;
	border: 0;
	border-bottom: 1px solid var(--pp-border);
	background: none;
	box-shadow: none;
	color: var(--pp-ink);
	font: 800 16px/1.35 var(--pp-font);
	text-shadow: none;
	text-transform: none;
}
html body #layer_cart .layer_cart_cart .layer_cart_row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 8px;
	font: 500 13.5px/1.4 var(--pp-font);
}
html body #layer_cart .layer_cart_cart .layer_cart_row strong {
	color: var(--pp-text);
	font-weight: 600;
}
html body #layer_cart .layer_cart_cart .layer_cart_row span {
	/* owner 2026-09-21: всички цени червени. Това е „Общо продукти" в прозорчето
	   „добавено в количката"; последният му ред вече беше червен (виж :nth-last-child(2)).
	   Това е третото място със същия шаблон — хедър, каса и това прозорче. */
	color: var(--pp-red);
	font-weight: 700;
	white-space: nowrap;
}
html body #layer_cart .layer_cart_cart .layer_cart_row:nth-last-child(2) {
	margin-top: 4px;
	padding-top: 10px;
	border-top: 1px dashed #d8dbe0;
}
html body #layer_cart .layer_cart_cart .layer_cart_row:nth-last-child(2) strong {
	color: var(--pp-ink);
	font-size: 15px;
	font-weight: 800;
}
html body #layer_cart .layer_cart_cart .layer_cart_row:nth-last-child(2) span {
	color: var(--pp-red);
	font: 800 18px/1.3 var(--pp-font);
}
html body #layer_cart .layer_cart_cart .button-container {
	position: static;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: auto;
	margin: 18px 0 0;
	padding: 0;
}
html body #layer_cart .layer_cart_cart .button-container .continue,
html body #layer_cart .layer_cart_cart .button-container a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	font: 700 13.5px/1 var(--pp-font);
	text-align: center;
	text-shadow: none;
	text-transform: none;
	cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
html body #layer_cart .layer_cart_cart .button-container .continue {
	border: 1.5px solid var(--pp-border);
	background: #fff;
	color: var(--pp-ink);
}
html body #layer_cart .layer_cart_cart .button-container .continue:hover {
	border-color: var(--pp-red);
	color: var(--pp-red);
}
html body #layer_cart .layer_cart_cart .button-container a.button {
	background: var(--pp-red);
	color: #fff;
}
html body #layer_cart .layer_cart_cart .button-container a.button:hover {
	background: var(--pp-red-dark);
	color: #fff;
}
html body #layer_cart .layer_cart_cart .button-container span span,
html body #layer_cart .layer_cart_cart .button-container a span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-shadow: none;
}
html body #layer_cart .layer_cart_cart .button-container i {
	padding: 0;
	color: inherit;
	font-size: 12px;
}
html body #layer_cart .cross {
	top: 14px;
	right: 16px;
	width: 26px;
	height: 26px;
	color: #9ca3af;
}
html body #layer_cart .cross:before {
	font-size: 24px;
	line-height: 26px;
}
html body #layer_cart .cross:hover {
	color: var(--pp-red);
}
html body #layer_cart .crossseling .crossseling-content {
	padding: 18px 22px 22px;
	border-top: 1px solid var(--pp-border);
}
html body #layer_cart .crossseling h2 {
	margin: 0 0 14px;
	color: var(--pp-ink);
	font: 800 16px/1.35 var(--pp-font);
	text-transform: none;
}
html body #layer_cart .crossseling #blockcart_list ul li .product-image-container {
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	overflow: hidden;
}
html body #layer_cart .crossseling #blockcart_list ul li .product-name a {
	color: var(--pp-ink);
	font: 600 13px/1.35 var(--pp-font);
}

/* ---------- checkout (quick-order): forms on the left, order summary and confirm on the right ---------- */
html body#order-opc #center_column #opc_checkout .cart_last_product,
html body#order-opc #center_column #opc_checkout > .clearfix {
	display: none;
}
html body#order-opc #center_column .pp-ck-side {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
/* the 6-column summary table cannot fit a side column, so it is laid out as blocks: one line per product, one per total */
html body#order-opc #center_column .pp-ck-side table#cart_summary,
html body#order-opc #center_column .pp-ck-side table#cart_summary tbody,
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot,
html body#order-opc #center_column .pp-ck-side table#cart_summary tr,
html body#order-opc #center_column .pp-ck-side table#cart_summary td {
	display: block;
	width: auto;
	border-collapse: collapse;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary thead,
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_ref,
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_unit {
	display: none;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tbody tr {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto auto;
	gap: 4px 10px;
	align-items: center;
	padding: 12px;
	border: 0;
	border-bottom: 1px solid var(--pp-border);
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tbody td {
	padding: 0;
	border: 0;
	text-align: left;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_product {
	grid-column: 1;
	grid-row: 1;
	width: 52px;
	min-width: 52px;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_product img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--pp-border);
	border-radius: 8px;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_description {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	color: var(--pp-ink);
	font: 600 13px/1.35 var(--pp-font);
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity {
	grid-column: 3;
	grid-row: 1;
}
/* compact quantity stepper: small input with the arrows beside it */
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_button {
	display: flex;
	align-items: center;
	gap: 2px;
	top: auto;
	white-space: nowrap;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity input.cart_quantity_input {
	width: 34px;
	height: 28px;
	padding: 2px !important;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 13px;
	line-height: 24px;
	text-align: center;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_up,
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_down {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	background: #fff none;
	box-shadow: none;
	color: var(--pp-ink);
	font: 700 15px/1 var(--pp-font);
	text-decoration: none;
	text-indent: 0;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_up:before {
	content: "+";
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_down:before {
	content: "\2212";
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_up:hover,
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_down:hover {
	border-color: var(--pp-red);
	color: var(--pp-red);
}
/* the theme floats the stepper; keep it in the grid cell */
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_button {
	float: none !important;
}
/* order: minus, number, plus */
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_down {
	order: 1;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity input.cart_quantity_input {
	order: 2;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_quantity .cart_quantity_up {
	order: 3;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_total .cart_quantity_delete {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin: 0 0 4px;
	color: #9ca3af;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_total .cart_quantity_delete:hover {
	color: var(--pp-red);
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_total br {
	display: none;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	grid-column: 4;
	grid-row: 1;
	color: var(--pp-red);
	font: 800 15px/1.3 var(--pp-font);
	text-align: right;
	white-space: nowrap;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_voucher_block {
	display: block;
	padding: 12px;
	border-bottom: 1px solid var(--pp-border);
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_voucher {
	display: block;
	padding: 0;
	border: 0;
	text-align: left;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_voucher form#voucher fieldset {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_voucher h4 {
	flex: 0 0 100%;
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--pp-muted);
	font: 700 11.5px/1.2 var(--pp-font);
	letter-spacing: .04em;
	text-shadow: none;
	text-transform: uppercase;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_voucher form#voucher fieldset {
	flex-wrap: wrap;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_voucher input.discount_name {
	flex: 1 1 140px;
	width: auto;
	min-width: 0;
	max-width: none;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary td.cart_voucher input.button {
	flex: 0 0 auto;
}
/* zero-value rows the shop never uses (no vouchers, no gift wrapping) */
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_total_voucher,
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_total_wrapping {
	display: none;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 12px;
	border: 0;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr:first-child {
	padding-top: 12px;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot td {
	padding: 0;
	border: 0;
	color: var(--pp-text);
	font: 500 13.5px/1.4 var(--pp-font);
	text-align: right;
	white-space: nowrap;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot td:first-child {
	color: var(--pp-muted);
	text-align: left;
	white-space: normal;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_final_price {
	margin-top: 4px;
	padding-bottom: 14px;
	border-top: 1px dashed #d8dbe0;
	padding-top: 12px;
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_final_price td {
	color: var(--pp-ink);
	/* owner 2026-09-21: и двете „Общо" трябва да са по-голям шрифт от редовите цени
	   горе, а те са 18px. Затова етикетът на финалния ред става 20px, а самата сума
	   24px — измерено, не на око. */
	font: 800 20px/1.3 var(--pp-font);
}
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_final_price td.total_price_container,
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_final_price #total_price {
	color: var(--pp-red);
	font: 800 24px/1.25 var(--pp-font);
}
html body#order-opc #center_column .pp-ck-side #order-detail-content,
html body#order-opc #center_column .pp-ck-side .confirm_button_div,
html body#order-opc #center_column .pp-ck-side .cart_navigation_extra,
html body#order-opc #center_column #tos_moved {
	margin: 0;
}
@media (min-width: 992px) {
	html body#order-opc #center_column #opc_checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
		gap: 20px;
		align-items: start;
	}
	html body#order-opc #center_column #opc_checkout > * {
		min-width: 0;
	}
	/* the module's two-column stylesheet floats the account block and pushes the rest with margin-left */
	html body#order-opc #center_column #opc_new_account,
	html body#order-opc #center_column #shipping-payment-block,
	html body#order-opc #center_column #opc_payment_methods-content,
	html body#order-opc #center_column #payments_section,
	html body#order-opc #center_column form#carriers_section,
	html body#order-opc #center_column #offer_password {
		float: none;
		width: auto;
		margin-left: 0;
		margin-right: 0;
	}
	html body#order-opc #center_column #opc_new_account,
	html body#order-opc #center_column #shipping-payment-block,
	html body#order-opc #center_column #opc_payment_methods-content {
		grid-column: 1;
	}
	html body#order-opc #center_column .pp-ck-side {
		position: sticky;
		top: 16px;
		grid-column: 2;
		grid-row: 1 / span 4;
	}
}

@media (max-width: 767px) {
	html body #header .cart_block {
		width: 320px;
	}
	html body #layer_cart {
		/* a little above centre so the buttons stay clear of the fixed cookie bar */
		top: 46% !important;
		width: calc(100% - 20px) !important;
		max-width: calc(100% - 20px) !important;
		max-height: 84vh;
	}
	html body #layer_cart .layer_cart_product,
	html body #layer_cart .layer_cart_cart {
		flex: 1 1 100%;
		padding: 18px 16px;
	}
	html body #layer_cart .layer_cart_product h2 {
		margin-bottom: 14px;
		font-size: 17px;
	}
	html body #layer_cart .layer_cart_product .product-image-container {
		width: 96px;
		max-width: 96px;
		margin-right: 12px;
	}
	html body #layer_cart .layer_cart_cart {
		border-top: 1px solid var(--pp-border);
		border-left: 0;
		border-radius: 0 0 16px 16px;
	}
}


/* ---------- checkout finishing pass ---------- */

/* "Вече сте регистрирани?" was centred while "Нов клиент" is left aligned
   (#order-opc #login_form fieldset h3 is centred in both base.css and base-custom.css) */
html body#order-opc #login_form fieldset h3 {
	text-align: left;
}

/* the terms row: the module highlights the label with a yellow wash and an orange
   underline, and the validity mark fell onto its own line */
html body#order-opc #opc_checkout p.checkbox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 7px;
}
html body#order-opc #opc_checkout p.checkbox > label {
	margin: 0;
}
html body#order-opc #opc_checkout p.checkbox #cgv ~ label,
html body#order-opc #opc_checkout p.checkbox #uniform-cgv ~ label {
	max-width: none;
	padding: 0;
	border-bottom: 0;
	background: none;
	font-weight: 400;
}

/* Econt prints its address fields as a two column table, which left the inputs
   half width on a phone; stack label over input and let them fill the row.
   Rows the module hides carry an inline display:none, which still wins here. */
@media (max-width: 767px) {
	html body#order-opc table.econt_shipping,
	html body#order-opc table.econt_shipping tbody,
	html body#order-opc table.econt_shipping tr,
	html body#order-opc table.econt_shipping td {
		display: block;
		width: 100%;
	}
	html body#order-opc table.econt_shipping tr {
		margin-bottom: 10px;
	}
	html body#order-opc table.econt_shipping td {
		padding: 0;
	}
	html body#order-opc table.econt_shipping td > label {
		display: block;
		margin: 0 0 4px;
	}
	html body#order-opc table.econt_shipping input[type="text"],
	html body#order-opc table.econt_shipping select {
		width: 100% !important;
		max-width: 100%;
	}
}


/* ==========================================================================
   PRICES-RED 2026-09-21 — собственикът: всички цени в касата да са червени,
   а двете „Общо" — с по-голям шрифт от редовите цени над тях.

   Измерено ПРЕДИ промяната в дясния панел на /quick-order:
     редова цена  #total_product_price_*  18px   / 800 / rgb(119,119,119) сиво
     Общо         #total_product          13.5px / 500 / --pp-text
     ОБЩО         #total_price            19px   / 800 / --pp-red

   Тоест „Общо" беше ПО-МАЛКО от редовите цени. Селекторите повтарят формата на
   съществуващите в този файл, за да бият base-custom.css на модула
   (OPC_USE_CUSTOM_STYLING = 1, тоест base-custom.css е живият).
   ========================================================================== */

/* редовите цени: бяха сиви */
html body#order-opc #center_column .pp-ck-side table#cart_summary td[id^="total_product_price_"],
html body#order-opc #center_column .pp-ck-side table#cart_summary span[id^="total_product_price_"],
html body#order-opc #center_column .pp-ck-side table#cart_summary td[id^="product_price_"],
html body#order-opc #center_column .pp-ck-side table#cart_summary span[id^="product_price_"] {
	color: var(--pp-red);
}

/* междинните суми: само стойностите, НЕ етикетите — етикетът остава --pp-muted */
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot #total_product,
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot #total_wrapping,
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot #total_discount {
	color: var(--pp-red);
}

/* „Общо" (междинната сума) — по-голямо от редовите 18px */
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot tr.cart_total_products td,
html body#order-opc #center_column .pp-ck-side table#cart_summary tfoot #total_product {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

/* „Безплатна доставка!" НЕ се прави червено — това е текст, не цена, и в червено
   се чете като предупреждение. Ако трябва и то, селекторът е #total_shipping. */
