/* ------------------------------------------------------------------------ */
/* Kastor Shop                                                                */
/*   Visual styling on top of WooCommerce + Blocksy. Brand colors mirror the  */
/*   kastor-machines palette so the catalog and shop feel like one product.   */
/* ------------------------------------------------------------------------ */

.woocommerce {
	--kastor-c-primary:     #38B6FF;
	--kastor-c-primary-alt: #33A7E2;
	--kastor-c-dark:        #216192;
	--kastor-c-darker:      #175585;
	--kastor-c-bg-light:    #F5F5F5;
}

/* ------------------------------------------------------------------------ */
/* Page background — soft gray so white product/category images pop          */
/* ------------------------------------------------------------------------ */

body.woocommerce,
body.woocommerce-page,
body.archive.woocommerce-shop,
body.tax-product_cat,
body.single-product {
	background: var(--kastor-c-bg-light);
}


/* ------------------------------------------------------------------------ */
/* Category page banner title                                                 */
/*   Match the machines-archive banner: uppercase, single line, scales down  */
/*   when the title is long.                                                  */
/* ------------------------------------------------------------------------ */

.woocommerce-products-header__title,
.ct-banner-title,
.tax-product_cat .entry-title,
.tax-product_cat .ct-page-title,
.tax-product_cat .ct-page-title-wrapper h1,
.archive.woocommerce .entry-title,
.archive.woocommerce .page-title,
.archive.woocommerce h1.entry-title {
	font-family: 'Poppins', sans-serif !important;
	font-size: 3.2rem !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	text-align: center !important;
	overflow: visible !important;
}

@media (max-width: 700px) {
	.woocommerce-products-header__title,
	.ct-banner-title,
	.tax-product_cat .entry-title,
	.tax-product_cat .ct-page-title,
	.tax-product_cat .ct-page-title-wrapper h1,
	.archive.woocommerce .entry-title,
	.archive.woocommerce .page-title,
	.archive.woocommerce h1.entry-title {
		white-space: normal !important;
		font-size: 2rem !important;
		line-height: 1.3 !important;
	}

	/* Compact the archive banner on mobile so it doesn't take half the screen. */
	.archive.woocommerce [class*="ct-banner"],
	.archive.woocommerce [class*="ct-page-title"],
	.archive.woocommerce [class*="ct-hero"],
	.archive.woocommerce header.entry-header,
	.tax-product_cat [class*="ct-banner"],
	.tax-product_cat [class*="ct-page-title"],
	.tax-product_cat [class*="ct-hero"],
	.tax-product_cat header.entry-header {
		min-height: 170px !important;
		max-height: 230px !important;
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	/* The link is naturally smaller on mobile too. */
	.kastor-shop__back-home {
		font-size: 0.95rem !important;
	}
}

/* The "Начало" link + title group — injected by shop.js                     */

.kastor-shop__title-group {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.kastor-shop__title-group h1 {
	margin: 0 !important;
}

/* "Части за" prefix above the category title (product-category pages only) */

.kastor-shop__title-prefix {
	display: inline-block;
	font-family: 'Poppins', sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	color: var(--kastor-c-primary) !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

@media (max-width: 700px) {
	.kastor-shop__title-prefix {
		font-size: 1rem !important;
	}
}

.kastor-shop__back-home {
	display: inline-block;
	margin: 0 !important;
	color: var(--kastor-c-primary) !important;
	text-decoration: none !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	transition: color 0.15s ease !important;
}

.kastor-shop__back-home:hover,
.kastor-shop__back-home:focus {
	color: #fff !important;
	text-decoration: none !important;
}


/* ------------------------------------------------------------------------ */
/* Intro line above the category grid                                         */
/* ------------------------------------------------------------------------ */

.kastor-shop__intro {
	margin: 0 0 32px;
	font-size: 1.1rem;
	color: #555;
	text-align: center;
	font-style: italic;
}


/* ------------------------------------------------------------------------ */
/* Live filter input above the products grid                                  */
/* ------------------------------------------------------------------------ */

.kastor-shop__filter {
	position: relative;
	max-width: 460px;
	margin: 0 0 24px;
}

.kastor-shop__filter-icon {
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: #888;
	pointer-events: none;
	transition: color 0.15s ease;
	z-index: 1;
}

.kastor-shop__filter-input {
	width: 100%;
	padding: 11px 18px 11px 52px !important;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 16px !important;
	font-size: 0.95rem;
	color: #222;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}

.kastor-shop__filter-input::placeholder {
	color: #999;
}

.kastor-shop__filter-input:focus {
	outline: none;
	border-color: var(--kastor-c-primary);
	box-shadow: 0 0 0 3px rgba(56, 182, 255, 0.18);
}

.kastor-shop__filter:focus-within .kastor-shop__filter-icon {
	color: var(--kastor-c-primary);
}

.kastor-shop__filter-empty {
	margin: 16px 0 0;
	padding: 14px 18px;
	background: #fff;
	border: 1px dashed #ddd;
	border-radius: 8px;
	color: #777;
	font-style: italic;
	text-align: center;
}


/* ------------------------------------------------------------------------ */
/* Sidebar layout — sidebar left, products right (stacks on mobile)           */
/* ------------------------------------------------------------------------ */

.kastor-shop__layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	margin-top: 16px;
}

@media (max-width: 900px) {
	.kastor-shop__layout {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

.kastor-shop__sidebar {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 10px;
	padding: 22px;
	position: sticky;
	/* Clear the sticky Blocksy header (~100px) so the top of the sidebar
	   isn't hidden underneath it when the page scrolls. */
	top: 150px;
	align-self: start;
}

@media (max-width: 900px) {
	.kastor-shop__sidebar {
		position: static;
	}
}

.kastor-shop__main {
	min-width: 0;
}


/* ------------------------------------------------------------------------ */
/* Filter groups inside the sidebar                                           */
/* ------------------------------------------------------------------------ */

.kastor-shop__filter-group {
	margin: 0 0 22px;
	padding: 0 0 22px;
	border-bottom: 1px solid #ececec;
}

.kastor-shop__filter-group:last-of-type {
	border-bottom: none;
}

.kastor-shop__filter-title {
	margin: 0 0 12px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--kastor-c-dark);
	font-family: inherit;
	text-transform: none;
	letter-spacing: 0;
}

/* Price inputs (от / до) */

.kastor-shop__price-inputs {
	display: flex;
	gap: 10px;
}

.kastor-shop__price-inputs label {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 0.75rem;
	color: #777;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.kastor-shop__price-inputs input {
	width: 100%;
	padding: 9px 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 0.95rem;
	color: #222;
	box-sizing: border-box;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;

	/* Hide number-input spinner buttons; they get in the way visually. */
	-moz-appearance: textfield;
}

.kastor-shop__price-inputs input::-webkit-outer-spin-button,
.kastor-shop__price-inputs input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.kastor-shop__price-inputs input:focus {
	outline: none;
	border-color: var(--kastor-c-primary);
	box-shadow: 0 0 0 3px rgba(56, 182, 255, 0.18);
}

/* Type checkbox list */

.kastor-shop__filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kastor-shop__filter-list li {
	margin: 0 0 10px;
}

.kastor-shop__filter-list li:last-child {
	margin-bottom: 0;
}

.kastor-shop__filter-list label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 0.95rem;
	color: #333;
	line-height: 1.35;
	padding: 4px 0;
	transition: color 0.15s ease;
}

.kastor-shop__filter-list label:hover {
	color: var(--kastor-c-dark);
}

.kastor-shop__filter-list input[type="checkbox"] {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	accent-color: var(--kastor-c-primary);
	cursor: pointer;
	margin: 0;
}

/* Reset button */

.kastor-shop__filter-reset {
	display: block;
	width: 100%;
	padding: 10px 16px;
	background: transparent;
	border: 1px solid #ddd;
	border-radius: 8px;
	color: #555;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.kastor-shop__filter-reset:hover,
.kastor-shop__filter-reset:focus {
	background: var(--kastor-c-bg-light);
	color: var(--kastor-c-dark);
	border-color: #cfcfcf;
	outline: none;
}


/* ------------------------------------------------------------------------ */
/* Text filter inside the main column                                         */
/*   Override the earlier 460px max-width so it spans the available main      */
/*   column width when nested under the layout.                               */
/* ------------------------------------------------------------------------ */

.kastor-shop__main .kastor-shop__filter {
	max-width: none;
}


/* ------------------------------------------------------------------------ */
/* Category / product grid                                                    */
/*   Override Blocksy / WooCommerce defaults to 3 columns of large cards.    */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

@media (max-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}

@media (max-width: 560px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

/* Reset Blocksy / WooCommerce per-card widths and floats. */

.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product,
.woocommerce-page ul.products li.product-category {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
	list-style: none !important;
}


/* ------------------------------------------------------------------------ */
/* Card — applies to both product categories and products                     */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 10px;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product-category:hover {
	transform: translateY(-3px);
	border-color: var(--kastor-c-primary);
	box-shadow: 0 10px 26px rgba(33, 97, 146, 0.12);
}

/* The whole card is one big link — pull the anchor into block layout. */

.woocommerce ul.products li.product > a,
.woocommerce ul.products li.product-category > a {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product > a:hover,
.woocommerce ul.products li.product-category > a:hover {
	color: inherit;
	text-decoration: none;
}


/* ------------------------------------------------------------------------ */
/* Card image — fixed 4:3 frame, white background to blend with product PNGs */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products li.product img,
.woocommerce ul.products li.product-category img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	background: #fff;
	padding: 14px;
	box-sizing: border-box;
	margin: 0 !important;
	border-radius: 0;
	transition: transform 0.25s ease;
}

.woocommerce ul.products li.product:hover img,
.woocommerce ul.products li.product-category:hover img {
	transform: scale(1.03);
}

/* WooCommerce placeholder image (when a product/category has no image). */

.woocommerce ul.products li.product .wp-post-image[src*="placeholder"],
.woocommerce ul.products li.product-category .wp-post-image[src*="placeholder"] {
	object-fit: scale-down;
	opacity: 0.55;
}


/* ------------------------------------------------------------------------ */
/* Card text — title, price, count                                            */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	margin: 0 !important;
	padding: 12px 20px 4px;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #222 !important;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	transition: color 0.15s ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product:hover h2,
.woocommerce ul.products li.product-category:hover h2,
.woocommerce ul.products li.product-category:hover .woocommerce-loop-category__title {
	color: var(--kastor-c-dark) !important;
}

/* Category count "(33)" — push to its own line and style as a soft badge. */

.woocommerce ul.products li.product-category .count {
	display: block;
	width: fit-content;
	margin: 2px auto 14px;
	padding: 3px 10px;
	background: var(--kastor-c-bg-light);
	color: var(--kastor-c-dark);
	font-size: 0.78rem;
	font-weight: 600;
	border-radius: 12px;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.woocommerce ul.products li.product-category mark.count {
	background: var(--kastor-c-bg-light) !important;
	color: var(--kastor-c-dark) !important;
}

/* Strip the parentheses around the count number so the badge reads cleaner.  */

.woocommerce ul.products li.product-category mark.count {
	font-variant-numeric: tabular-nums;
}


/* ------------------------------------------------------------------------ */
/* Price                                                                      */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products li.product .price {
	margin: 0 !important;
	padding: 0 20px 18px;
	color: var(--kastor-c-dark) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

.woocommerce ul.products li.product .price del {
	color: #999 !important;
	font-weight: 500 !important;
	margin-right: 6px;
}

.woocommerce ul.products li.product .price ins {
	background: transparent !important;
	color: var(--kastor-c-dark) !important;
	font-weight: 700 !important;
}


/* ------------------------------------------------------------------------ */
/* Sale badge                                                                 */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	background: var(--kastor-c-primary) !important;
	color: #fff !important;
	border-radius: 14px !important;
	padding: 4px 12px !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase;
	border: none !important;
	box-shadow: 0 2px 6px rgba(56, 182, 255, 0.3);
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: 1 !important;
}


/* ------------------------------------------------------------------------ */
/* "Add to cart" / "Read more" / "View products" button on cards              */
/* ------------------------------------------------------------------------ */

.woocommerce ul.products li.product .button {
	margin: auto 20px 18px !important; /* sticks to the bottom of the card */
	padding: 10px 16px !important;
	background: var(--kastor-c-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 32px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.02em;
	text-transform: none !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25);
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus {
	background: var(--kastor-c-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.3);
}

.woocommerce ul.products li.product .button:active {
	background: var(--kastor-c-darker) !important;
	transform: translateY(0);
}

.woocommerce ul.products li.product .button.added::after {
	color: #fff !important;
}


/* ------------------------------------------------------------------------ */
/* Cart + wishlist actions row (TI WooCommerce Wishlist integration)          */
/* ------------------------------------------------------------------------ */

.kastor-shop__card-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	margin: auto 20px 18px !important;
	width: auto !important;
	text-align: center !important;
}

/* After AJAX add-to-cart: WooCommerce adds `.added` to the cart button and
   appends a `.added_to_cart` ("Преглед на количката") link right after it.
   We hide the original button and style the View Cart link so it slots
   into the cart button's spot. */

.kastor-shop__card-actions .button.added_to_cart_button.added,
.kastor-shop__card-actions .button.added,
.woocommerce ul.products li.product .button.added,
ul.products li.product .button.added {
	display: none !important;
}

/* Reliable swap: whenever the actions row contains a View Cart link, hide
   the original cart button — even if WC didn't apply the `.added` class to
   it (Blocksy or another plugin can interfere with that). */

.kastor-shop__card-actions.kastor-shop__has-added a.button.add_to_cart_button,
.kastor-shop__card-actions.kastor-shop__has-added a.button.product_type_simple,
.kastor-shop__card-actions.kastor-shop__has-added .add_to_cart_button {
	display: none !important;
}

.kastor-shop__card-actions a.added_to_cart,
.woocommerce ul.products li.product a.added_to_cart,
ul.products li.product a.added_to_cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 42px !important;
	min-height: 0 !important;
	padding: 0 18px !important;
	margin: 0 !important;
	background: var(--kastor-c-darker) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 32px !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	white-space: nowrap !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	box-shadow: 0 2px 8px rgba(23, 85, 133, 0.30) !important;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}

.kastor-shop__card-actions a.added_to_cart:hover,
.woocommerce ul.products li.product a.added_to_cart:hover,
ul.products li.product a.added_to_cart:hover {
	background: #0f3d61 !important;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(15, 61, 97, 0.40) !important;
}

.kastor-shop__card-actions a.added_to_cart:active,
.woocommerce ul.products li.product a.added_to_cart:active,
ul.products li.product a.added_to_cart:active {
	background: var(--kastor-c-darker) !important;
	transform: translateY(0);
}

.kastor-shop__card-actions .tinv-wishlist {
	display: inline-flex !important;
	align-items: center !important;
}

/* Both action buttons share the exact same fixed height — no flex-stretch    */
/* cascade, no surprises from text length or icon font metrics.               */

.kastor-shop__card-actions .button,
.kastor-shop__card-actions .tinv-wishlist .tinvwl_add_to_wishlist_button,
.tinv-wishlist .tinvwl_add_to_wishlist_button {
	height: 42px !important;
	min-height: 0 !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
}

.kastor-shop__card-actions .button,
.woocommerce ul.products li.product .kastor-shop__card-actions .button,
.woocommerce ul.products li.product .kastor-shop__card-actions a.button,
.woocommerce ul.products li.product .kastor-shop__card-actions .add_to_cart_button,
ul.products li.product .kastor-shop__card-actions .button,
ul.products li.product .kastor-shop__card-actions a.button,
ul.products li.product .kastor-shop__card-actions .add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 42px !important;
	padding: 0 18px !important;
	margin: 0 !important;
	min-width: 0 !important;
	max-width: none !important;
	width: auto !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

.kastor-shop__card-actions .button {
	margin: 0 !important;
}

/* Pressed-state feedback: darken the add-to-cart button the moment the user
   clicks it (before AJAX completes). Provides immediate visual confirmation. */

.kastor-shop__card-actions a.button.add_to_cart_button:active,
.kastor-shop__card-actions .add_to_cart_button:active,
.kastor-shop__card-actions a.button:active,
.kastor-shop__card-actions a.added_to_cart:active,
body.single-product form.cart .single_add_to_cart_button:active {
	background: #175585 !important;
	color: #ffffff !important;
	transform: translateY(1px) !important;
	box-shadow: 0 1px 3px rgba(23, 85, 133, 0.4) !important;
	transition: background 0.05s ease, transform 0.05s ease !important;
}


/* ========================================================================== */
/* ADD-TO-CART FEEDBACK ANIMATIONS                                             */
/*   Three pure-CSS effects fired via JS (shop.js -> flashCartFeedback):       */
/*   - .kastor-shop__flash       — "Added ✓" green pulse on the button row     */
/*   - .kastor-shop__cart-bounce — header cart icon scale-up bounce            */
/*   - .kastor-shop__card-glow   — brand-blue ring around the product card     */
/* ========================================================================== */

/* --- 2. Green "Added ✓" flash on the button row -------------------------- */

@keyframes kastor-shop-added-flash {
	0%   { background: #38B6FF; transform: scale(1); }
	30%  { background: #2db26b; transform: scale(1.05); }
	70%  { background: #2db26b; transform: scale(1.02); }
	100% { background: #38B6FF; transform: scale(1); }
}

.kastor-shop__card-actions.kastor-shop__flash a.added_to_cart,
.kastor-shop__card-actions.kastor-shop__flash a.button {
	animation: kastor-shop-added-flash 0.9s ease-out !important;
	position: relative;
}

/* Tiny checkmark icon sliding in from the right edge during the flash. */
.kastor-shop__card-actions.kastor-shop__flash a.added_to_cart::after {
	content: "✓";
	display: inline-block;
	margin-left: 6px;
	font-weight: 900;
	color: #ffffff;
	animation: kastor-shop-check-pop 0.6s ease-out;
}

@keyframes kastor-shop-check-pop {
	0%   { opacity: 0; transform: scale(0.5); }
	60%  { opacity: 1; transform: scale(1.3); }
	100% { opacity: 1; transform: scale(1); }
}

/* --- 3. Cart icon bounce in the header ----------------------------------- */

@keyframes kastor-shop-cart-bounce {
	0%   { transform: scale(1)   translateY(0); }
	30%  { transform: scale(1.3) translateY(-4px); }
	60%  { transform: scale(0.95) translateY(2px); }
	100% { transform: scale(1)   translateY(0); }
}

.kastor-shop__cart-bounce {
	animation: kastor-shop-cart-bounce 0.7s cubic-bezier(0.28, 1.5, 0.4, 1) !important;
	display: inline-block;
	transform-origin: center center;
}

/* --- 4. Card glow around the product li ---------------------------------- */

@keyframes kastor-shop-card-glow {
	0%   { box-shadow: 0 0 0 0   rgba(56, 182, 255, 0); }
	30%  { box-shadow: 0 0 0 6px rgba(56, 182, 255, 0.35); }
	100% { box-shadow: 0 0 0 0   rgba(56, 182, 255, 0); }
}

.kastor-shop__card-glow {
	animation: kastor-shop-card-glow 0.7s ease-out !important;
	border-radius: 12px;
	position: relative;
	z-index: 1;
}

.kastor-shop__card-actions .tinv-wishlist {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	display: inline-flex;
}

/* The wishlist button itself — gray pill, icon only */

.kastor-shop__card-actions .tinv-wishlist .tinvwl_add_to_wishlist_button,
.tinv-wishlist .tinvwl_add_to_wishlist_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 24px !important;
	background: #d8d8d8 !important;
	color: #333 !important;
	border: none !important;
	border-radius: 32px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
	line-height: 1 !important;
	min-height: 0 !important;
	min-width: 70px !important;            /* clearly pill-shaped, not circular */
	box-sizing: border-box !important;
	text-decoration: none !important;
	cursor: pointer;
}

.kastor-shop__card-actions .tinv-wishlist .tinvwl_add_to_wishlist_button:hover,
.kastor-shop__card-actions .tinv-wishlist .tinvwl_add_to_wishlist_button:focus,
.tinv-wishlist .tinvwl_add_to_wishlist_button:hover,
.tinv-wishlist .tinvwl_add_to_wishlist_button:focus {
	background: #bfbfbf !important;
	color: #111 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.kastor-shop__card-actions .tinv-wishlist .tinvwl_add_to_wishlist_button:active,
.tinv-wishlist .tinvwl_add_to_wishlist_button:active {
	transform: translateY(0);
}

/* Hide the wishlist text — heart only */

.tinv-wishlist .tinvwl_add_to_wishlist-text,
.tinv-wishlist .tinvwl-loop-button-wrapper > span:not([class*="ftinvwl"]):not(.tinvwl-icon-heart) {
	display: none !important;
}

/* The heart icon */

.tinv-wishlist .ftinvwl,
.tinv-wishlist [class*="ftinvwl-"],
.tinv-wishlist [class*="tinvwl-icon-"] {
	font-size: 18px !important;
	line-height: 1 !important;
	margin: 0 !important;
	color: inherit !important;
}

/* When the product is already in the wishlist, fill the heart with brand blue */

.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover {
	background: #d6efff !important;
	color: var(--kastor-c-primary) !important;
}

.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list .ftinvwl,
.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list [class*="ftinvwl-"] {
	color: var(--kastor-c-primary) !important;
}


/* ------------------------------------------------------------------------ */
/* Pagination                                                                 */
/* ------------------------------------------------------------------------ */

.woocommerce nav.woocommerce-pagination {
	margin-top: 40px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	padding: 8px 14px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	color: var(--kastor-c-dark) !important;
	border: 1px solid #e5e5e5 !important;
	background: #fff !important;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--kastor-c-primary) !important;
	color: #fff !important;
	border-color: var(--kastor-c-primary) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--kastor-c-dark) !important;
	color: #fff !important;
	border-color: var(--kastor-c-dark) !important;
}


/* ========================================================================== */
/* SINGLE PRODUCT PAGE                                                         */
/* ========================================================================== */

/* Blocksy constrains single-product content to a narrow reading column.
   Force the page container wide so our 2-column hero has room to breathe.
   Multiple selectors + a CSS-var override so it works across Blocksy/Pro
   variants that name the wrapper differently.                                */

body.single-product {
	--container-max-width: 1280px !important;
	--maxWidth: 1280px !important;
	--content-block-max-width: 1280px !important;
}

/* SCOPED to main so we don't accidentally widen header/footer containers
   (Blocksy reuses `.ct-container` etc. in the header — un-scoping our rule
   pushed the cart icon off-screen). */

body.single-product main,
body.single-product main > div,
body.single-product main .entry-content,
body.single-product main .ct-container,
body.single-product main .ct-container-narrow,
body.single-product main .ct-main,
body.single-product main .ct-main-content,
body.single-product main .ct-page-wrapper,
body.single-product main article.product,
body.single-product main article.type-product,
body.single-product main [class*="ct-container"],
body.single-product main .product-entry-wrapper,
body.single-product main .product-entry-wrapper.is-width-constrained {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ----- Hero layout: image left, summary right (stacks on mobile) -----
   Blocksy wraps the gallery + summary inside `.product-entry-wrapper`, so
   the grid lives on the wrapper (not on `div.product` itself). The outer
   `div.product` is just a centered max-width block.                          */

body.single-product div.product {
	display: block !important;
	max-width: 1280px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 24px 20px 60px !important;
	box-sizing: border-box !important;
}

body.single-product .product-entry-wrapper,
body.single-product .product-entry-wrapper.is-width-constrained {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 40px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 900px) {
	body.single-product .product-entry-wrapper,
	body.single-product .product-entry-wrapper.is-width-constrained {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}

/* ----- Image area ----- */

body.single-product .woocommerce-product-gallery {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.04);
}

body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image img {
	border-radius: 8px;
}

body.single-product .woocommerce-product-gallery img {
	width: 100% !important;
	height: auto !important;
}

/* Trigger button (zoom icon) — restyled */

body.single-product .woocommerce-product-gallery__trigger {
	top: 12px !important;
	right: 12px !important;
	background: rgba(255, 255, 255, 0.92) !important;
	color: var(--kastor-c-dark) !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-indent: -9999px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

body.single-product .woocommerce-product-gallery__trigger::before {
	content: '';
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-radius: 50%;
	position: absolute;
	top: 8px;
	left: 8px;
}

body.single-product .woocommerce-product-gallery__trigger::after {
	content: '';
	width: 6px;
	height: 2px;
	background: currentColor;
	position: absolute;
	bottom: 10px;
	right: 8px;
	transform: rotate(45deg);
}

/* ----- Summary (right column) ----- */

body.single-product div.product .summary,
body.single-product .product-entry-wrapper .summary,
body.single-product .summary.entry-summary {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 8px 0 !important;
}

/* Kill Blocksy's built-in sticky behaviour on the entry-summary.
   Blocksy ships this inside an @media (min-width: 1000px) block at high
   specificity, so we match the same media query to be sure we win.        */

@media (min-width: 1000px) {
	body.single-product .sticky-summary .entry-summary,
	body.single-product.sticky-summary .entry-summary,
	body.single-product .summary.entry-summary,
	body.single-product .ct-order-review,
	body.single-product .sticky-gallery .woocommerce-product-gallery {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

/* Title */

body.single-product .product_title {
	margin: 0 0 12px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 2.2rem !important;
	font-weight: 700 !important;
	color: #222 !important;
	line-height: 1.2 !important;
}

/* Price */

body.single-product .summary .price {
	margin: 0 0 20px !important;
	font-size: 1.8rem !important;
	font-weight: 700 !important;
	color: var(--kastor-c-dark) !important;
}

body.single-product .summary .price del {
	color: #999 !important;
	font-weight: 500 !important;
	margin-right: 10px;
	font-size: 1.2rem !important;
}

body.single-product .summary .price ins {
	background: transparent !important;
	color: var(--kastor-c-dark) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

/* Short description */

body.single-product .woocommerce-product-details__short-description {
	margin: 0 0 24px !important;
	padding: 0 0 24px !important;
	border-bottom: 1px solid #ececec;
	font-size: 1rem;
	line-height: 1.6;
	color: #444;
}

body.single-product .woocommerce-product-details__short-description p {
	margin: 0 0 10px;
}

body.single-product .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* ----- Cart form: quantity + Add to cart + Buy Now ----- */

body.single-product form.cart {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	margin: 0 0 24px !important;
}

body.single-product form.cart .quantity {
	display: inline-flex !important;
	align-items: center;
}

/* Quantity input — fixed 90×48, Blocksy's +/- buttons positioned cleanly
   inside.  Override the `--quantity-height` CSS var Blocksy uses to size the
   absolute-positioned + / − buttons.                                         */

body.single-product form.cart .ct-cart-actions > .quantity {
	--quantity-height: 48px !important;
	position: relative !important;
	width: 90px !important;
	height: 48px !important;
	display: block !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

body.single-product form.cart .quantity input.qty {
	width: 100% !important;
	height: 100% !important;
	padding: 0 26px !important;        /* leave room for +/− */
	border: 1px solid #ddd !important;
	border-radius: 32px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	background: #fff !important;
	box-sizing: border-box !important;
}

body.single-product form.cart .quantity input.qty:focus {
	outline: none !important;
	border-color: var(--kastor-c-primary) !important;
	box-shadow: 0 0 0 3px rgba(56, 182, 255, 0.18) !important;
}

/* Pin the +/− buttons to the input's left/right edges. */

body.single-product form.cart .quantity .ct-increase,
body.single-product form.cart .quantity .ct-decrease {
	position: absolute !important;
	top: 50% !important;
	width: 22px !important;
	height: 22px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	color: #555 !important;
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	user-select: none;
	z-index: 2;
	transform: translateY(-50%) !important;
}

body.single-product form.cart .quantity .ct-decrease {
	left: 4px !important;
	right: auto !important;
	inset-inline-start: 4px !important;
	inset-inline-end: auto !important;
}

body.single-product form.cart .quantity .ct-increase {
	right: 4px !important;
	left: auto !important;
	inset-inline-end: 4px !important;
	inset-inline-start: auto !important;
}

body.single-product form.cart .quantity .ct-increase:hover,
body.single-product form.cart .quantity .ct-decrease:hover {
	color: var(--kastor-c-primary) !important;
}

/* Cart + Buy Now row */

body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart .kastor-shop__buy-now {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 48px !important;
	padding: 0 24px !important;
	border-radius: 32px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	border: none !important;
	cursor: pointer !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
	margin: 0 !important;
	flex: 1 1 auto !important;
}

body.single-product form.cart .single_add_to_cart_button {
	background: var(--kastor-c-primary) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
}

body.single-product form.cart .single_add_to_cart_button:hover {
	background: var(--kastor-c-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.30) !important;
}

body.single-product form.cart .kastor-shop__buy-now {
	background: var(--kastor-c-dark) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(33, 97, 146, 0.30) !important;
}

body.single-product form.cart .kastor-shop__buy-now:hover {
	background: var(--kastor-c-darker) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(23, 85, 133, 0.35) !important;
}

/* Blocksy wraps the real controls in `.ct-cart-actions` and pads the form
   with ::before / ::after pseudo-decorations. Kill the decorations and put
   the grid on the inner wrapper, where qty + cart + Buy Now actually live. */

body.single-product form.cart {
	display: block !important;
	margin: 0 0 24px !important;
}

body.single-product form.cart::before,
body.single-product form.cart::after {
	display: none !important;
	content: none !important;
}

/* 2x2 grid:
     Row 1: [qty 90px] [Добавяне в количката]
     Row 2: [wishlist] [Купи сега]
   The wishlist heart is moved into .ct-cart-actions by shop.js so it can
   participate in this grid.                                                 */

body.single-product form.cart .ct-cart-actions,
body.single-product div.product form.cart .ct-cart-actions,
body.single-product article.product form.cart .ct-cart-actions {
	display: grid !important;
	grid-template-columns: 90px minmax(0, 1fr) !important;
	grid-template-areas:
		"qty cart"
		"wish buy" !important;
	gap: 12px !important;
	align-items: center !important;            /* center each cell vertically */
	flex-direction: unset !important;
	margin: 0 !important;
}

body.single-product form.cart .ct-cart-actions > .quantity {
	grid-area: qty !important;
	margin: 0 !important;
}

body.single-product form.cart .ct-cart-actions > .single_add_to_cart_button {
	grid-area: cart !important;
}

body.single-product form.cart .ct-cart-actions > .kastor-shop__buy-now {
	grid-area: buy !important;
}

body.single-product form.cart .ct-cart-actions > .tinv-wishlist,
body.single-product form.cart .ct-cart-actions > [class*="tinvwl"] {
	grid-area: wish !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
}

/* Force the wishlist heart inside the grid to fill its 90px cell, matching
   the quantity input's footprint. */

body.single-product form.cart .ct-cart-actions .tinvwl_add_to_wishlist_button,
body.single-product form.cart .ct-cart-actions [class*="tinvwl_add_to_wishlist"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 48px !important;
	padding: 0 !important;
	background: #d8d8d8 !important;
	color: #333 !important;
	border: none !important;
	border-radius: 32px !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
	min-height: 0 !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

body.single-product form.cart .ct-cart-actions .tinvwl_add_to_wishlist_button:hover {
	background: #bfbfbf !important;
	color: #111 !important;
	transform: translateY(-1px);
}

body.single-product form.cart .ct-cart-actions .tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
body.single-product form.cart .ct-cart-actions .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover {
	background: #d6efff !important;
	color: var(--kastor-c-primary) !important;
}

/* Hide the wishlist text label inside the grid — icon only fits the 90px cell. */

body.single-product form.cart .ct-cart-actions .tinvwl_add_to_wishlist-text {
	display: none !important;
}

@media (max-width: 600px) {
	body.single-product form.cart .ct-cart-actions {
		grid-template-columns: 90px minmax(0, 1fr) !important;
		grid-template-areas:
			"qty cart"
			"wish buy" !important;
	}
}

/* Hide Blocksy's auto-injected `.ct-product-divider` — we already separate
   the description from the cart area with our own border on the
   short-description. */

body.single-product .ct-product-divider {
	display: none !important;
}

/* ----- Wishlist heart on single product (TI Wishlist) -----
   SCOPED to `.summary` only — otherwise these rules bleed into the related
   products grid below and override its gray-pill card styling.            */

body.single-product .summary .tinv-wishlist {
	margin: 0 0 24px !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
}

body.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist_button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 8px 16px !important;
	height: auto !important;
	background: transparent !important;
	color: #555 !important;
	border: 1px solid #ddd !important;
	border-radius: 32px !important;
	box-shadow: none !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

body.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist_button:hover {
	background: #fafafa !important;
	border-color: var(--kastor-c-primary) !important;
	color: var(--kastor-c-dark) !important;
}

body.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist-text {
	display: inline !important;          /* show the label on single product */
	font-size: 0.9rem !important;
}

body.single-product .summary .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
	background: #d6efff !important;
	border-color: var(--kastor-c-primary) !important;
	color: var(--kastor-c-dark) !important;
}

/* ----- Delivery info panel ----- */

.kastor-shop__delivery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	background: var(--kastor-c-bg-light);
	border-radius: 10px;
	border: 1px solid #ececec;
	margin: 0 0 24px;
}

.kastor-shop__delivery-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: #333;
	line-height: 1.4;
}

.kastor-shop__delivery-item svg {
	flex-shrink: 0;
	color: var(--kastor-c-primary);
	margin-top: 2px;
}

.kastor-shop__delivery-item strong {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	color: #222;
	margin-bottom: 2px;
}

.kastor-shop__delivery-item span {
	font-size: 0.85rem;
	color: #555;
}

/* ----- Hide express-checkout buttons (Google Pay / PayPal Smart) ----- */

body.single-product .wc-stripe-payment-request-button-element,
body.single-product .wc-stripe-payment-request-wrapper,
body.single-product #ppc-button-ppcp-gateway,
body.single-product .ppc-button-wrapper,
body.single-product .gpay-button,
body.single-product .gpay-card-info-iframe {
	display: none !important;
}

/* ----- Tabs (Description / Additional info / Reviews) ----- */

body.single-product .woocommerce-tabs {
	max-width: none;
	width: 100%;
	margin: 40px 0 60px !important;
	padding: 0;
	clear: both;
}

/* Override Blocksy's centered content-width constraint so the accordion
   heading + content span the full hero width (".is-width-constrained" caps it
   to the content width; ".is-layout-constrained > *" caps the inner blocks). */
body.single-product .woocommerce-tabs .is-width-constrained {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

body.single-product .woocommerce-tabs .is-layout-constrained,
body.single-product .woocommerce-tabs .is-layout-constrained > * {
	width: 100% !important;
	max-width: none !important;
}

body.single-product .woocommerce-tabs ul.tabs {
	display: flex !important;
	gap: 0 !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	border-bottom: 2px solid #ececec !important;
	list-style: none !important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after {
	display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 24px !important;
	font-weight: 600 !important;
	color: #666 !important;
	text-decoration: none !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: -2px !important;
	transition: color 0.15s ease, border-color 0.15s ease !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--kastor-c-dark) !important;
	border-bottom-color: var(--kastor-c-primary) !important;
}

body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .wc-tab {
	font-size: 1rem;
	line-height: 1.6;
	color: #333;
}

/* ----- Related products grid at the bottom ----- */

body.single-product .related.products,
body.single-product .upsells.products {
	max-width: 1200px;
	margin: 40px auto 60px !important;
	padding: 32px 20px 0;
	border-top: 1px solid #ececec;
	clear: both;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
	font-family: 'Poppins', sans-serif !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: var(--kastor-c-dark) !important;
	margin: 0 0 24px !important;
	text-align: left;
}

body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	padding: 0 !important;
	margin: 0 !important;
}

@media (max-width: 900px) {
	body.single-product .related.products ul.products,
	body.single-product .upsells.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 560px) {
	body.single-product .related.products ul.products,
	body.single-product .upsells.products ul.products {
		grid-template-columns: 1fr !important;
	}
}


/* ------------------------------------------------------------------------ */
/* PhotoSwipe lightbox — flip the WC zoom overlay from dark to white so      */
/* product photos on white backgrounds blend in.                              */
/* ------------------------------------------------------------------------ */

.pswp__bg {
	background: #ffffff !important;
	/* Let PhotoSwipe animate opacity 1 → 0 on close (don't force it). */
	transition: opacity 0.3s ease !important;
}

.pswp__container,
.pswp__zoom-wrap {
	background: #ffffff !important;
}

/* Top toolbar — light translucent so the close / share buttons stay legible. */

.pswp__top-bar,
.pswp__caption,
.pswp__caption__center {
	background: rgba(255, 255, 255, 0.92) !important;
	color: #222 !important;
}

.pswp__caption__center {
	border-top: 1px solid #ececec !important;
}

/* Make the toolbar/control icons dark so they're visible on white. */

.pswp__button,
.pswp__button--arrow--left,
.pswp__button--arrow--right,
.pswp__button--fs,
.pswp__button--zoom,
.pswp__button--share {
	color: #333 !important;
}

.pswp__button:hover {
	color: var(--kastor-c-primary) !important;
}

/* Prominent close (X) button — a clear circular control in the corner,
   using a CSS-drawn X so it's visible regardless of the PhotoSwipe sprite. */

.pswp__button--close {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: rgba(0, 0, 0, 0.06) !important;
	color: #222 !important;
	opacity: 1 !important;
	cursor: pointer !important;
	transition: background 0.15s ease, transform 0.15s ease, color 0.15s ease !important;
	z-index: 1700 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	background-image: none !important;
	text-indent: -9999px;
}

.pswp__button--close::before,
.pswp__button--close::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	pointer-events: none;
}

.pswp__button--close::before { transform: translate(-50%, -50%) rotate(45deg); }
.pswp__button--close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

.pswp__button--close:hover {
	background: var(--kastor-c-primary) !important;
	color: #fff !important;
	transform: scale(1.05);
}

.pswp__counter {
	color: #555 !important;
	font-weight: 500;
}

/* Pre-loader spinner on white — make it a brand-color accent instead of    */
/* the default invisible-on-white gray.                                       */

.pswp__preloader__icn,
.pswp__preloader__cut,
.pswp__preloader__donut {
	border-color: var(--kastor-c-primary) !important;
}


/* ========================================================================== */
/* MINI-CART DROPDOWN (header)                                                 */
/*   Flip Blocksy's default dark gradient panel to a soft gray card matching   */
/*   the rest of the shop, with rounded brand-colored action buttons.          */
/* ========================================================================== */

/* Blocksy drives the mini-cart from CSS variables on .ct-cart-content.
   Override those vars at the source AND set explicit background/color so
   any older Blocksy fallbacks also get caught.                            */

.ct-cart-content,
.ct-mini-cart-content,
.widget_shopping_cart,
.widget_shopping_cart_content,
[data-id*="cart"] .ct-toggle-dropdown,
.ct-header-cart-content {
	--mini-cart-background-color: #95d8ff !important;
	--mini-cart-text-color: #ffffff !important;
	--theme-text-color: #ffffff !important;
	--theme-link-initial-color: #ffffff !important;
	--theme-link-hover-color: #ffffff !important;
	background: #216192 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	overflow: hidden;
}

/* Force EVERY text node inside the dropdown to be white. */

.ct-cart-content,
.ct-cart-content *,
.widget_shopping_cart_content,
.widget_shopping_cart_content *,
.ct-cart-content a,
.ct-cart-content strong,
.ct-cart-content span,
.ct-cart-content p,
.widget_shopping_cart_content a,
.widget_shopping_cart_content strong,
.widget_shopping_cart_content span,
.widget_shopping_cart_content p,
.widget_shopping_cart_content .quantity,
.widget_shopping_cart_content .amount,
.widget_shopping_cart_content .woocommerce-Price-amount,
.widget_shopping_cart_content .total,
.widget_shopping_cart_content .total strong,
.widget_shopping_cart_content .total .amount {
	color: #ffffff !important;
}

/* List of items inside the dropdown */

.widget_shopping_cart_content .cart_list,
.widget_shopping_cart_content .product_list_widget {
	background: transparent !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	max-height: 360px;
	overflow-y: auto;
}

/* Each item is now its own white card sitting on the blue panel,
   so product photos stay clearly on white and aren't lost in the blue. */

.widget_shopping_cart_content li.mini_cart_item,
.widget_shopping_cart_content .cart_list li {
	background: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	color: #1a1a1a !important;
	padding: 10px 12px !important;
	margin: 0 0 8px 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
}

.widget_shopping_cart_content li.mini_cart_item:last-child {
	margin-bottom: 0 !important;
}

/* Inside an item card, text goes back to dark for readability on white. */

.widget_shopping_cart_content li.mini_cart_item,
.widget_shopping_cart_content li.mini_cart_item *,
.widget_shopping_cart_content li.mini_cart_item a,
.widget_shopping_cart_content li.mini_cart_item a:not(.remove),
.widget_shopping_cart_content li.mini_cart_item span,
.widget_shopping_cart_content li.mini_cart_item strong {
	color: #1a1a1a !important;
}

.widget_shopping_cart_content li.mini_cart_item a:not(.remove):hover {
	color: #95d8ff !important;
}

.widget_shopping_cart_content li.mini_cart_item .quantity,
.widget_shopping_cart_content li.mini_cart_item .quantity .amount,
.widget_shopping_cart_content li.mini_cart_item .quantity .woocommerce-Price-amount {
	color: #95d8ff !important;
	font-weight: 700 !important;
}

.widget_shopping_cart_content li.mini_cart_item a.remove {
	color: #b32d2e !important;
}

/* Product image inside the row — ANY img inside the cart dropdown gets a
   white card behind it so product photos pop against the blue panel.        */

.ct-cart-content img,
.widget_shopping_cart img,
.widget_shopping_cart_content img,
.widget_shopping_cart_content li.mini_cart_item img,
.widget_shopping_cart_content .cart_list li img,
.widget_shopping_cart_content .mini_cart_item a img,
.woocommerce-mini-cart img {
	width: 52px !important;
	height: 52px !important;
	max-width: 52px !important;
	background: #ffffff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 8px !important;
	padding: 4px !important;
	object-fit: contain !important;
	margin: 0 !important;
	float: none !important;
	box-sizing: border-box !important;
}

/* Product title link */

.widget_shopping_cart_content li.mini_cart_item a:not(.remove),
.widget_shopping_cart_content .cart_list li a:not(.remove) {
	color: #222 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-block !important;
	padding: 0 !important;
}

.widget_shopping_cart_content li.mini_cart_item a:not(.remove):hover {
	color: var(--kastor-c-dark) !important;
}

/* "1 × 20,00 €" quantity-price line */

.widget_shopping_cart_content .quantity,
.widget_shopping_cart_content .mini_cart_item .quantity,
.widget_shopping_cart_content .quantity .woocommerce-Price-amount,
.widget_shopping_cart_content .quantity .amount {
	display: block !important;
	color: #1a1a1a !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	margin-top: 2px !important;
	opacity: 1 !important;
}

/* Remove (×) button per item */

.widget_shopping_cart_content a.remove,
.widget_shopping_cart_content a.remove_from_cart_button {
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #b32d2e !important;
	font-size: 16px !important;
	line-height: 22px !important;
	text-align: center !important;
	text-decoration: none !important;
	flex-shrink: 0;
	transition: background 0.15s ease, color 0.15s ease;
	box-shadow: none !important;
	border: none !important;
	opacity: 1 !important;
	position: static !important;
	margin-left: auto !important;
}

.widget_shopping_cart_content a.remove:hover {
	background: #fcebec !important;
	color: #b32d2e !important;
}

/* Subtotal row — translucent strip on the blue panel */

.widget_shopping_cart_content p.total,
.widget_shopping_cart_content .total {
	background: rgba(255, 255, 255, 0.10) !important;
	color: #ffffff !important;
	border: none !important;
	border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
	margin: 0 !important;
	padding: 16px 18px !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	opacity: 1 !important;
}

.widget_shopping_cart_content .total strong,
.widget_shopping_cart_content p.total strong {
	color: #ffffff !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.widget_shopping_cart_content .total .amount,
.widget_shopping_cart_content .total .woocommerce-Price-amount,
.widget_shopping_cart_content p.total .amount {
	color: #ffffff !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	opacity: 1 !important;
}

/* Action buttons (View Cart / Checkout)
   Maxed-out specificity to win against Blocksy's cart-panel button rules. */

.widget_shopping_cart_content .buttons,
.widget_shopping_cart_content p.buttons,
.widget_shopping_cart .buttons {
	display: flex !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 16px 16px !important;
	background: transparent !important;
	border-top: none !important;
}

/* Override Blocksy's button-radius CSS variables at the dropdown scope so any
   theme rule that uses `border-radius: var(--theme-button-border-radius)`
   etc. picks up our fully-rounded value.                                    */

.ct-cart-content,
.widget_shopping_cart,
.widget_shopping_cart_content {
	--theme-button-border-radius: 999px !important;
	--button-border-radius: 999px !important;
	--buttonBorderRadius: 999px !important;
}

/* Brute-force pill shape on every possible button selector Blocksy/WC uses.
   `min-width: 0` lets buttons shrink inside Blocksy's grid columns;
   `white-space` allowed to wrap so long Bulgarian labels don't overflow.   */

.ct-cart-content a.button,
.ct-cart-content .button,
.ct-cart-content .wc-forward,
.ct-cart-content a.wc-forward,
.ct-cart-content .buttons a,
.ct-cart-content .buttons > a,
.ct-cart-content .buttons .button,
.ct-cart-content p.buttons a,
.ct-cart-content p.buttons .button,
.widget_shopping_cart a.button,
.widget_shopping_cart .button,
.widget_shopping_cart .buttons a,
.widget_shopping_cart .buttons .button,
.widget_shopping_cart_content a.button,
.widget_shopping_cart_content .button,
.widget_shopping_cart_content .wc-forward,
.widget_shopping_cart_content .buttons a,
.widget_shopping_cart_content .buttons .button,
.widget_shopping_cart_content .buttons a.button,
.widget_shopping_cart_content .buttons a.wc-forward,
.widget_shopping_cart_content p.buttons a,
.widget_shopping_cart_content p.buttons .button,
.widget_shopping_cart_content p.buttons a.wc-forward {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 38px !important;
	padding: 8px 10px !important;
	border-radius: 999px !important;
	-webkit-border-radius: 999px !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	white-space: normal !important;       /* allow wrap so labels don't overflow */
	line-height: 1.2 !important;
	text-align: center !important;
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
	border: 1.5px solid rgba(255, 255, 255, 0.55) !important;
	box-shadow: none !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease, border-color 0.15s ease !important;
	box-sizing: border-box !important;
}

/* Tighten the gap Blocksy puts between the two buttons. */

.widget_shopping_cart_content p.buttons,
.widget_shopping_cart_content .buttons,
.ct-cart-content .buttons {
	grid-column-gap: 8px !important;
	gap: 8px !important;
	column-gap: 8px !important;
}

.widget_shopping_cart_content .buttons a:hover,
.widget_shopping_cart_content .buttons .button:hover,
.widget_shopping_cart .buttons a:hover {
	background: rgba(255, 255, 255, 0.25) !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Primary checkout button — solid brand blue, white text */

/* Primary checkout button (Поръчка) — solid white pill with blue text */

.widget_shopping_cart_content .buttons .button.checkout,
.widget_shopping_cart_content .buttons a.checkout,
.widget_shopping_cart_content .buttons a.wc-forward.checkout,
.widget_shopping_cart_content p.buttons .button.checkout,
.widget_shopping_cart_content p.buttons a.checkout,
.widget_shopping_cart .buttons .button.checkout,
.widget_shopping_cart .buttons a.checkout {
	background: #ffffff !important;
	color: #95d8ff !important;
	border: 1.5px solid #ffffff !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18) !important;
}

.widget_shopping_cart_content .buttons .button.checkout:hover,
.widget_shopping_cart_content .buttons a.checkout:hover,
.widget_shopping_cart .buttons a.checkout:hover {
	background: #f0f4ff !important;
	color: #2d5fd7 !important;
	border-color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 16px rgba(0, 0, 0, 0.22) !important;
}

/* Empty cart message */

.widget_shopping_cart_content .woocommerce-mini-cart__empty-message,
.widget_shopping_cart_content p.woocommerce-mini-cart__empty-message {
	background: transparent !important;
	color: #777 !important;
	text-align: center !important;
	padding: 24px 16px !important;
	font-style: italic;
	margin: 0 !important;
}


/* ========================================================================== */
/* BGN secondary price (1 EUR = 1.95583 BGN)                                   */
/*   Rendered server-side as " (39,12 лв)" right after the EUR amount.        */
/* ========================================================================== */

.kastor-shop__price-bgn {
	color: #999 !important;
	font-weight: 400 !important;
	font-size: 0.85em !important;
	margin-left: 4px;
	white-space: nowrap;
}

.kastor-shop__price-bgn-amount {
	font-variant-numeric: tabular-nums;
}

.kastor-shop__price-bgn-suffix {
	margin-left: 2px;
}

/* On product cards in grids, the price line is bold and brand-colored —
   keep the BGN block subdued (override the parent's color). */

.woocommerce ul.products li.product .price .kastor-shop__price-bgn,
body.single-product .summary .price .kastor-shop__price-bgn {
	color: #999 !important;
	font-weight: 400 !important;
}

/* "с ДДС" note — same size/colour/weight as the euro price amount. */
body.single-product .summary .price .kastor-shop__price-vat {
	color: var(--kastor-c-dark) !important;
	font-size: 1.8rem !important;
	font-weight: 700 !important;
}


/* ========================================================================== */
/* EMPTY CART PAGE (Cart Block)                                                */
/*   Brand-colored sad face icon + rounded white-text recommendation buttons. */
/* ========================================================================== */

/* The big sad face SVG icon shown when the cart is empty. */

.wp-block-woocommerce-empty-cart-block svg,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__icon,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__icon svg,
.wc-block-cart__empty-cart__icon,
.wc-block-cart__empty-cart__icon svg,
.wc-empty-cart-icon,
.wc-empty-cart-message + svg,
.cart-empty + svg,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block svg {
	color: var(--kastor-c-primary) !important;
	fill: var(--kastor-c-primary) !important;
}

.wp-block-woocommerce-empty-cart-block svg * {
	stroke: var(--kastor-c-primary) !important;
}

/* Recommendation product cards on the empty-cart page — match the same
   solid-blue pill with white text used everywhere else in the shop.
   Body-class scope catches the products whether they live inside the empty
   cart block, the "New in store" block, or a regular shortcode loop.       */

body.woocommerce-cart ul.products li.product .button,
body.woocommerce-cart ul.products li.product a.button,
body.woocommerce-cart ul.products li.product .add_to_cart_button,
body.woocommerce-cart ul.products li.product a.add_to_cart_button,
body.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
body.woocommerce-cart .wc-block-grid__product .button,
body.woocommerce-cart .wc-block-grid__product a.button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #38B6FF !important;
	background-color: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 32px !important;
	-webkit-border-radius: 32px !important;
	padding: 12px 22px !important;
	height: auto !important;
	min-height: 0 !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	text-transform: none !important;
	text-decoration: none !important;
	letter-spacing: 0.02em !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
	box-sizing: border-box !important;
	opacity: 1 !important;
}

body.woocommerce-cart ul.products li.product .button:hover,
body.woocommerce-cart .wc-block-grid__product .button:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button:hover {
	background: #216192 !important;
	background-color: #216192 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.30) !important;
}

/* Belt-and-suspenders: any nested span/text inside the button stays white. */

body.woocommerce-cart ul.products li.product .button *,
body.woocommerce-cart .wc-block-grid__product .button *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button * {
	color: #ffffff !important;
}

/* Center the empty-cart message + face. */

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading {
	text-align: center !important;
	color: #222 !important;
	font-weight: 700 !important;
}


/* ========================================================================== */
/* CART PAGE (Cart Block) — final polish                                       */
/*   - Round the "Спестяваш" save badge                                        */
/*   - Hide the Stripe "Плати с link" express button                           */
/*   - Round + whiten the "Към плащане" checkout button                        */
/* ========================================================================== */

/* Save badge — rounded pill, brand-colored background, dark-blue text.
   Only target the inner component, NOT the outer wrapper (cart-item__sale-badge
   nests an empty .wc-block-components-sale-badge — styling both produces an
   empty pill next to the real one). */

body.woocommerce-cart .wc-block-components-sale-badge {
	border-radius: 999px !important;
	padding: 5px 6px !important;
	background: #e8f6ff !important;
	color: #175585 !important;
	font-weight: 600 !important;
	font-size: 0.85em !important;
	border: 1px solid #95d8ff !important;
	display: inline-block !important;
	line-height: 1.2 !important;
}

/* Make sure the outer wrapper around the badge stays invisible. */
body.woocommerce-cart .wc-block-cart-item__sale-badge {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Make sure the parent wrapper stays plain — undo any inherited rounding /
   background that might leak from earlier rules. */

body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
body.woocommerce-cart [class*="total-price-and-sale-badge-wrapper"] {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* Hide product short-description in cart rows — the cart should stay scannable
   (image / name / price / qty), the description belongs on the product page. */

body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-cart-item__short-description,
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart [class*="cart-item__short-description"],
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > div:not(.wc-block-components-product-name):not(.wc-block-components-product-variation-data) {
	display: none !important;
}

/* Quantity selector — rounder outer pill, brand-blue +/- buttons with white
   symbols. Targets the Cart Block component. */

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart [class*="quantity-selector"]:not([class*="__button"]):not([class*="__input"]) {
	border-radius: 999px !important;
	overflow: hidden !important;
	border: 1px solid #d6e8f5 !important;
	background: #ffffff !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-quantity-selector__button--minus,
body.woocommerce-cart .wc-block-components-quantity-selector__button--plus,
body.woocommerce-cart [class*="quantity-selector__button"] {
	background: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	font-weight: 700 !important;
	transition: background 0.15s ease !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart [class*="quantity-selector__button"]:hover {
	background: #216192 !important;
	color: #ffffff !important;
}

/* Force the +/- glyph (whether rendered as text content or via ::before/SVG)
   to white. */

body.woocommerce-cart [class*="quantity-selector__button"] *,
body.woocommerce-cart [class*="quantity-selector__button"] svg,
body.woocommerce-cart [class*="quantity-selector__button"]::before,
body.woocommerce-cart [class*="quantity-selector__button"]::after {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

/* Keep the number input itself clean — no border, centered, transparent so
   the outer pill's white background shows through. */

body.woocommerce-cart .wc-block-components-quantity-selector__input,
body.woocommerce-cart [class*="quantity-selector__input"] {
	border: none !important;
	background: transparent !important;
	text-align: center !important;
	font-weight: 600 !important;
	color: #222 !important;
	height: 32px !important;
	padding: 0 !important;
	min-width: 36px !important;
	width: 36px !important;
}

/* Shrink the overall quantity pill height. */

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart [class*="quantity-selector"]:not([class*="__button"]):not([class*="__input"]) {
	height: 34px !important;
	min-height: 34px !important;
	max-width: 120px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart [class*="quantity-selector__button"] {
	height: 32px !important;
	min-height: 32px !important;
	min-width: 32px !important;
	width: 32px !important;
	padding: 0 !important;
	font-size: 1.05rem !important;
	line-height: 1 !important;
}

/* Product name — slightly larger, brand dark-blue, bold. */

body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name a {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #216192 !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-cart .wc-block-components-product-name a:hover {
	color: #38B6FF !important;
}

/* ----- Mobile cart fix --------------------------------------------------
 * On narrow viewports the Cart Block's 3-column row (image | product info |
 * total) pushes the total off-screen because the BGN-suffixed prices are
 * wider than the right column was sized for. Constrain the price column to
 * a sensible width, allow the BGN block to wrap onto its own line, and
 * shrink the per-row totals slightly so everything fits without horizontal
 * scroll. */

/* Override Blocksy's global `table { border-collapse: collapse }` for the
   cart-block table so its rows can render with proper spacing/separate borders
   (collapse forces adjacent cell borders to merge, which the Cart Block's
   design doesn't expect). */
body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart .wp-block-woocommerce-cart table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

@media (max-width: 781px) {
	body.woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__total,
	body.woocommerce-cart .wc-block-cart-items [class*="cart-item__total"] {
		width: auto !important;
		min-width: 0 !important;
		max-width: 35vw !important;
		text-align: right !important;
		padding-right: 4px !important;
		white-space: normal !important;
	}

	/* Stack the per-line EUR + BGN amounts vertically on mobile. */
	body.woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__total .kastor-shop__price-bgn,
	body.woocommerce-cart .wc-block-cart-items [class*="cart-item__total"] .kastor-shop__price-bgn {
		display: block !important;
		margin-left: 0 !important;
		text-align: right !important;
		font-size: 0.75em !important;
	}

	/* Same vertical stacking for the sale "Спестяваш N €" badge. */
	body.woocommerce-cart .wc-block-cart-items [class*="cart-item__total"] .wc-block-components-sale-badge {
		margin-top: 4px !important;
		font-size: 0.75em !important;
		white-space: normal !important;
	}

	/* Give the middle product column more breathing room. */
	body.woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__product {
		min-width: 0 !important;
		padding-right: 8px !important;
	}

	/* Shrink the image column so it doesn't dominate. */
	body.woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__image,
	body.woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__image img {
		width: 64px !important;
		max-width: 64px !important;
	}

	/* Kill all horizontal padding/margin on the cart wrapper chain so the
	 * cart uses the full viewport width on phones. Targets every common
	 * Blocksy/WC container that adds horizontal space. */
	body.woocommerce-cart .ct-container,
	body.woocommerce-cart .ct-container-fluid,
	body.woocommerce-cart .entry-content,
	body.woocommerce-cart .ct-main-content,
	body.woocommerce-cart .wc-block-cart,
	body.woocommerce-cart .wp-block-woocommerce-cart,
	body.woocommerce-cart .wc-block-components-sidebar-layout,
	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .wc-block-cart-items,
	body.woocommerce-cart .wp-block-woocommerce-cart-items-block {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	/* Reclaim the row's inner padding too — only keep a tiny gutter. */
	body.woocommerce-cart .wc-block-cart-items td {
		padding-left: 4px !important;
		padding-right: 4px !important;
	}

	/* Cart totals panel (right side on desktop) — stack the BGN below the EUR
	 * here too, so the "Очаквана сума 80,00 € (156,47 лв)" line doesn't run off. */
	body.woocommerce-cart .wc-block-components-totals-item__value .kastor-shop__price-bgn {
		display: block !important;
		margin-left: 0 !important;
		text-align: right !important;
		font-size: 0.8em !important;
	}
}

/* Hide the Stripe Link express button on the cart page.  Link is an Apple-style
   one-click checkout; we don't want it competing with our primary CTA.       */

body.woocommerce-cart .wc-stripe-link-payment-method,
body.woocommerce-cart .wc-stripe-link-button,
body.woocommerce-cart .wcpay-stripe-link-button,
body.woocommerce-cart [class*="stripe-link"],
body.woocommerce-cart button[aria-label*="Link" i],
body.woocommerce-cart button[aria-label*="link" i]:not([aria-label*="checkout" i]):not([aria-label*="плащане" i]) {
	display: none !important;
}

/* Checkout CTA "Към плащане" — rounded pill, brand blue, white text. */

body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-checkout-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-checkout-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block button {
	background: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 14px 32px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
	transition: background 0.15s ease, transform 0.1s ease !important;
}

body.woocommerce-cart .wc-block-components-checkout-button *,
body.woocommerce-cart .wc-block-cart__submit-button *,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a *,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block button * {
	color: #ffffff !important;
}

body.woocommerce-cart .wc-block-components-checkout-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block button:hover {
	background: #216192 !important;
	transform: translateY(-1px);
}


/* ========================================================================== */
/* MY ACCOUNT — hide the menu (Поръчки / За акаунта / Адрес / Излез) when    */
/* the visitor isn't logged in. The account page is built with Kadence Blocks */
/* columns rather than WC's native nav, and lives at /accountpage/ (no        */
/* .woocommerce-account body class). The login form is rendered inside        */
/* .ct-woo-unauthorized — its presence is a reliable "not logged in" signal. */
/* ========================================================================== */

/* Stock WC nav (in case it's also used elsewhere). */
body:not(.logged-in) .woocommerce-MyAccount-navigation,
body:not(.logged-in) .ct-account-page-menu,
body:not(.logged-in) [class*="account-page-menu"],
body:not(.logged-in) [class*="MyAccount-navigation"] {
	display: none !important;
}

/* Hide the four Kadence menu tiles when no user is logged in.
   The class hashes are page-id-stable for /accountpage/ (page 4827).
   If the page is rebuilt these hashes will change — update them here. */

body:not(.logged-in) .kadence-column4827_66ed6a-91,
body:not(.logged-in) .kadence-column4827_daf043-33,
body:not(.logged-in) .kadence-column4827_ed8d0e-16,
body:not(.logged-in) .kadence-column4827_b3d2e6-cf,
body:not(.logged-in) .kadence-column4827_169493-48 {
	display: none !important;
}


/* ========================================================================== */
/* MY ACCOUNT — login / register form styling                                  */
/*   Two-card layout on desktop, stacked on mobile. White cards with soft      */
/*   shadow, brand-blue accents, rounded inputs with focus ring.               */
/* ========================================================================== */

.woocommerce.ct-woo-unauthorized,
.woocommerce.ct-woo-unauthorized h2,
.woocommerce.ct-woo-unauthorized form,
.woocommerce.ct-woo-unauthorized form label,
.woocommerce.ct-woo-unauthorized form input,
.woocommerce.ct-woo-unauthorized form button,
.woocommerce.ct-woo-unauthorized form p,
.woocommerce.ct-woo-unauthorized a {
	font-family: 'Poppins', sans-serif !important;
}

.woocommerce.ct-woo-unauthorized {
	max-width: 1000px;
	margin: 40px auto !important;
	padding: 0 16px;
	background: transparent !important;
}

.woocommerce.ct-woo-unauthorized .u-columns.col2-set {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 24px !important;
	float: none !important;
	width: 100% !important;
}

.woocommerce.ct-woo-unauthorized .u-columns.col2-set::before,
.woocommerce.ct-woo-unauthorized .u-columns.col2-set::after {
	display: none !important;
}

.woocommerce.ct-woo-unauthorized .u-column1,
.woocommerce.ct-woo-unauthorized .u-column2 {
	width: 100% !important;
	float: none !important;
	background: #ffffff !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 14px !important;
	padding: 28px 26px !important;
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.06) !important;
}

.woocommerce.ct-woo-unauthorized h2 {
	color: #216192 !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	margin: 0 0 20px !important;
	padding-bottom: 12px !important;
	border-bottom: 2px solid #e6eef5 !important;
}

.woocommerce.ct-woo-unauthorized form .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

.woocommerce.ct-woo-unauthorized form label {
	display: block !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #444 !important;
	margin-bottom: 6px !important;
}

.woocommerce.ct-woo-unauthorized form label .required {
	color: #d63638 !important;
	text-decoration: none !important;
}

.woocommerce.ct-woo-unauthorized form input[type="text"],
.woocommerce.ct-woo-unauthorized form input[type="email"],
.woocommerce.ct-woo-unauthorized form input[type="password"] {
	width: 100% !important;
	padding: 11px 14px !important;
	border: 1px solid #d4dfe9 !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	font-size: 0.95rem !important;
	color: #222 !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
	box-sizing: border-box !important;
}

.woocommerce.ct-woo-unauthorized form input[type="text"]:focus,
.woocommerce.ct-woo-unauthorized form input[type="email"]:focus,
.woocommerce.ct-woo-unauthorized form input[type="password"]:focus {
	outline: none !important;
	border-color: #38B6FF !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(56, 182, 255, 0.18) !important;
}

.woocommerce.ct-woo-unauthorized .password-input {
	position: relative !important;
	display: block !important;
}

.woocommerce.ct-woo-unauthorized .show-password-input {
	right: 12px !important;
}

.woocommerce.ct-woo-unauthorized .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 0.9rem !important;
	color: #555 !important;
	cursor: pointer !important;
	margin: 14px 0 18px !important;
}

.woocommerce.ct-woo-unauthorized .woocommerce-form__input-checkbox {
	width: 16px !important;
	height: 16px !important;
	accent-color: #38B6FF !important;
}

.woocommerce.ct-woo-unauthorized .woocommerce-form-login__submit,
.woocommerce.ct-woo-unauthorized .woocommerce-form-register__submit,
.woocommerce.ct-woo-unauthorized button[type="submit"] {
	background: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 28px !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
	transition: background 0.15s ease, transform 0.1s ease !important;
}

.woocommerce.ct-woo-unauthorized .woocommerce-form-login__submit:hover,
.woocommerce.ct-woo-unauthorized .woocommerce-form-register__submit:hover,
.woocommerce.ct-woo-unauthorized button[type="submit"]:hover {
	background: #216192 !important;
	transform: translateY(-1px) !important;
}

.woocommerce.ct-woo-unauthorized .lost_password a,
.woocommerce.ct-woo-unauthorized .woocommerce-LostPassword a {
	color: #216192 !important;
	font-size: 0.88rem !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	transition: border-color 0.15s ease, color 0.15s ease !important;
}

.woocommerce.ct-woo-unauthorized .lost_password a:hover {
	color: #38B6FF !important;
	border-bottom-color: #38B6FF !important;
}

.woocommerce.ct-woo-unauthorized .woocommerce-privacy-policy-text,
.woocommerce.ct-woo-unauthorized form > p:not(.form-row):not(.lost_password) {
	font-size: 0.85rem !important;
	color: #666 !important;
	line-height: 1.5 !important;
	margin: 12px 0 !important;
}

.woocommerce.ct-woo-unauthorized .woocommerce-privacy-policy-text a {
	color: #216192 !important;
}

@media (max-width: 781px) {
	.woocommerce.ct-woo-unauthorized {
		margin: 20px auto !important;
		padding: 0 12px;
	}

	.woocommerce.ct-woo-unauthorized .u-columns.col2-set {
		grid-template-columns: 1fr !important;
	}

	.woocommerce.ct-woo-unauthorized .u-column1,
	.woocommerce.ct-woo-unauthorized .u-column2 {
		padding: 22px 18px !important;
	}
}


/* ========================================================================== */
/* MY ACCOUNT (logged in) — layout + full sub-page styling                     */
/*   Float-based layout (handles the asymmetric heights between the menu       */
/*   tiles and the WC content card without grid's row-stretching behavior).    */
/*   Kadence menu = quick links on the left; WC nav + content = right card.   */
/* ========================================================================== */

/* --- Layout container -----------------------------------------------------
 * Hide the four Kadence menu tiles when logged in — they duplicate what the
 * WC sidebar nav (rendered inside .ct-woo-account by Blocksy) already does.
 * The WC card then takes the full row width with a generous max-width.
 * ------------------------------------------------------------------------- */

body.logged-in .kadence-column4827_66ed6a-91,
body.logged-in .kadence-column4827_daf043-33,
body.logged-in .kadence-column4827_ed8d0e-16,
body.logged-in .kadence-column4827_b3d2e6-cf {
	display: none !important;
}

body.logged-in .woocommerce.ct-woo-account {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto 32px !important;
	padding: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.06) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	font-family: 'Poppins', sans-serif !important;
}

/* Center + brand-color the "Моят акаунт" page title. Wide selector net
   because the heading element varies (h1/h2) and lives in a Kadence column
   that can sit in slightly different places depending on the page. */
body.logged-in .kadence-column4827_169493-48,
body.logged-in .kadence-column4827_169493-48 h1,
body.logged-in .kadence-column4827_169493-48 h2,
body.logged-in .kadence-column4827_169493-48 h3,
body.logged-in .kadence-column4827_169493-48 p {
	text-align: center !important;
	color: #216192 !important;
}

body.logged-in .kadence-column4827_169493-48 h1,
body.logged-in .kadence-column4827_169493-48 h2,
body.logged-in .kadence-column4827_169493-48 h3 {
	font-family: 'Poppins', sans-serif !important;
	color: #216192 !important;
	font-weight: 700 !important;
	font-size: 2rem !important;
	margin: 30px 0 24px !important;
}

/* Belt-and-suspenders: target any title rendered before the WC card. */
body.logged-in .entry-content > .wp-block-kadence-column:first-child h1,
body.logged-in .entry-content > .wp-block-kadence-column:first-child h2,
body.logged-in .entry-content > .wp-block-kadence-column h1.wp-block-heading,
body.logged-in .entry-content > .wp-block-kadence-column h2.wp-block-heading {
	text-align: center !important;
	font-family: 'Poppins', sans-serif !important;
	color: #216192 !important;
	font-weight: 700 !important;
}

/* --- WC navigation (.ct-account-nav) — styled as horizontal tabs at the top
 *     of the right card.  Brand-blue active state, gray hover.               */

.woocommerce.ct-woo-account .ct-account-nav {
	margin: 0 !important;
	padding: 14px 22px !important;
	background: #f8fafc !important;
	border-bottom: 1px solid #e6eef5 !important;
	width: auto !important;
	border-radius: 14px 14px 0 0 !important;
}

/* Force display:block — an inline <style> on the edit-account page sets
   display:none on this nav, which would hide our entire tab bar. */
.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation,
body.logged-in .woocommerce-MyAccount-navigation,
body.logged-in nav.woocommerce-MyAccount-navigation {
	display: block !important;
	margin: 0 !important;
	visibility: visible !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	width: 100% !important;
	display: block !important;
}

/* The link/button fills the entire row width so the active state's
   background pill stretches edge-to-edge, not just around the text. */
.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation li a {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 10px 18px !important;
	border-radius: 10px !important;
	color: #555 !important;
	text-decoration: none !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	font-family: 'Poppins', sans-serif !important;
	border: none !important;
	background: transparent !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation li a:hover {
	background: #e8f6ff !important;
	color: #216192 !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
	background: #38B6FF !important;
	color: #ffffff !important;
	font-weight: 600 !important;
}

/* --- WC content area (.woocommerce-MyAccount-content) -------------------- */

.woocommerce.ct-woo-account .woocommerce-MyAccount-content {
	padding: 26px 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.95rem !important;
	color: #333 !important;
	line-height: 1.65 !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content p {
	margin: 0 0 14px !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content strong,
.woocommerce.ct-woo-account .woocommerce-MyAccount-content b {
	color: #216192 !important;
	font-weight: 700 !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content a {
	color: #216192 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	border-bottom: 1px solid transparent !important;
	transition: border-color 0.15s ease, color 0.15s ease !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content a:hover {
	color: #38B6FF !important;
	border-bottom-color: #38B6FF !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content h2,
.woocommerce.ct-woo-account .woocommerce-MyAccount-content h3 {
	font-family: 'Poppins', sans-serif !important;
	color: #216192 !important;
	font-weight: 700 !important;
	margin: 20px 0 12px !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content h2 {
	font-size: 1.35rem !important;
}

.woocommerce.ct-woo-account .woocommerce-MyAccount-content h3 {
	font-size: 1.1rem !important;
}

/* --- Notices (info, success, error) -------------------------------------- */

.woocommerce.ct-woo-account .woocommerce-message,
.woocommerce.ct-woo-account .woocommerce-info,
.woocommerce.ct-woo-account .woocommerce-notice--info,
.woocommerce.ct-woo-account .woocommerce-notice--success,
.woocommerce.ct-woo-account .woocommerce-notice {
	background: #e8f6ff !important;
	border: 1px solid #95d8ff !important;
	border-left: 4px solid #38B6FF !important;
	color: #175585 !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	font-size: 0.92rem !important;
	margin: 0 0 22px !important;
	line-height: 1.5 !important;
	font-family: 'Poppins', sans-serif !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
}

/* Kill Blocksy's notice icon entirely — the color + accent border already
   signal the notice type, and Blocksy positions the icon in a way that
   overlaps our text. */
.woocommerce.ct-woo-account .woocommerce-message::before,
.woocommerce.ct-woo-account .woocommerce-info::before,
.woocommerce.ct-woo-account .woocommerce-notice::before,
.woocommerce.ct-woo-account .woocommerce-notice--info::before,
.woocommerce.ct-woo-account .woocommerce-notice--success::before {
	display: none !important;
	content: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* The "Browse products" / "Add payment method" button sits on the right
   side of the notice; keep it from shrinking and aligned to its baseline. */
.woocommerce.ct-woo-account .woocommerce-info .button,
.woocommerce.ct-woo-account .woocommerce-message .button {
	flex: 0 0 auto !important;
	margin-left: auto !important;
}

.woocommerce.ct-woo-account .woocommerce-error {
	background: #fdecec !important;
	border: 1px solid #f5b3b3 !important;
	border-left: 4px solid #d63638 !important;
	color: #7d1f1f !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	font-size: 0.92rem !important;
	margin: 0 0 22px !important;
	font-family: 'Poppins', sans-serif !important;
}

/* --- Tables (orders, downloads) ------------------------------------------ */

.woocommerce.ct-woo-account table.shop_table,
.woocommerce.ct-woo-account table.woocommerce-orders-table,
.woocommerce.ct-woo-account table.account-orders-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid #e6eef5 !important;
	font-family: 'Poppins', sans-serif !important;
	margin: 0 0 18px !important;
}

.woocommerce.ct-woo-account table.shop_table thead {
	background: #f8fafc !important;
}

.woocommerce.ct-woo-account table.shop_table th {
	color: #216192 !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	padding: 12px 14px !important;
	text-align: left !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	border: none !important;
}

.woocommerce.ct-woo-account table.shop_table td {
	padding: 14px !important;
	border-top: 1px solid #e6eef5 !important;
	color: #333 !important;
	font-size: 0.92rem !important;
	background: #fff !important;
}

.woocommerce.ct-woo-account table.shop_table tr:hover td {
	background: #f8fafc !important;
}

/* --- Address cards (Addresses sub-page) ---------------------------------- */

.woocommerce.ct-woo-account .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 18px !important;
	margin: 0 0 24px !important;
}

.woocommerce.ct-woo-account .woocommerce-Address {
	background: #fff !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 10px !important;
	padding: 18px 20px !important;
	width: auto !important;
	float: none !important;
}

.woocommerce.ct-woo-account .woocommerce-Address-title {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin: 0 0 12px !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid #e6eef5 !important;
}

.woocommerce.ct-woo-account .woocommerce-Address-title h2,
.woocommerce.ct-woo-account .woocommerce-Address-title h3 {
	margin: 0 !important;
	font-size: 1.05rem !important;
	color: #216192 !important;
	font-weight: 700 !important;
}

.woocommerce.ct-woo-account .woocommerce-Address-title .edit {
	font-size: 0.85rem !important;
	color: #38B6FF !important;
	font-weight: 600 !important;
	border: 1px solid #38B6FF !important;
	padding: 4px 12px !important;
	border-radius: 999px !important;
	background: transparent !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}

.woocommerce.ct-woo-account .woocommerce-Address-title .edit:hover {
	background: #38B6FF !important;
	color: #fff !important;
	border-bottom-color: #38B6FF !important;
}

.woocommerce.ct-woo-account .woocommerce-Address address {
	font-style: normal !important;
	font-size: 0.92rem !important;
	color: #444 !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

/* --- Forms (account details, edit address) ------------------------------- */

.woocommerce.ct-woo-account form .woocommerce-FormRow,
.woocommerce.ct-woo-account form .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

.woocommerce.ct-woo-account form .form-row-first,
.woocommerce.ct-woo-account form .form-row-last,
.woocommerce.ct-woo-account form .woocommerce-FormRow--first,
.woocommerce.ct-woo-account form .woocommerce-FormRow--last {
	width: calc(50% - 8px) !important;
	display: inline-block !important;
	vertical-align: top !important;
}

.woocommerce.ct-woo-account form .form-row-first,
.woocommerce.ct-woo-account form .woocommerce-FormRow--first {
	margin-right: 12px !important;
}

.woocommerce.ct-woo-account form label {
	display: block !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: #444 !important;
	margin-bottom: 6px !important;
	font-family: 'Poppins', sans-serif !important;
}

.woocommerce.ct-woo-account form label .required {
	color: #d63638 !important;
	text-decoration: none !important;
}

.woocommerce.ct-woo-account form input[type="text"],
.woocommerce.ct-woo-account form input[type="email"],
.woocommerce.ct-woo-account form input[type="tel"],
.woocommerce.ct-woo-account form input[type="password"],
.woocommerce.ct-woo-account form input[type="number"],
.woocommerce.ct-woo-account form select,
.woocommerce.ct-woo-account form textarea {
	width: 100% !important;
	padding: 10px 14px !important;
	border: 1px solid #d4dfe9 !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	font-size: 0.94rem !important;
	color: #222 !important;
	font-family: 'Poppins', sans-serif !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
	box-sizing: border-box !important;
}

.woocommerce.ct-woo-account form input:focus,
.woocommerce.ct-woo-account form select:focus,
.woocommerce.ct-woo-account form textarea:focus {
	outline: none !important;
	border-color: #38B6FF !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(56, 182, 255, 0.18) !important;
}

.woocommerce.ct-woo-account form fieldset {
	border: 1px solid #e6eef5 !important;
	border-radius: 10px !important;
	padding: 18px 20px !important;
	margin: 20px 0 !important;
}

.woocommerce.ct-woo-account form fieldset legend {
	font-weight: 700 !important;
	color: #216192 !important;
	padding: 0 8px !important;
	font-size: 1rem !important;
}

/* --- Buttons inside the account area ------------------------------------- */

.woocommerce.ct-woo-account .button,
.woocommerce.ct-woo-account button[type="submit"],
.woocommerce.ct-woo-account input[type="submit"] {
	background: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 11px 26px !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	cursor: pointer !important;
	font-family: 'Poppins', sans-serif !important;
	text-decoration: none !important;
	display: inline-block !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
	transition: background 0.15s ease, transform 0.1s ease !important;
}

.woocommerce.ct-woo-account .button:hover,
.woocommerce.ct-woo-account button[type="submit"]:hover,
.woocommerce.ct-woo-account input[type="submit"]:hover {
	background: #216192 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	border-bottom-color: transparent !important;
}

/* "View" / "Pay" / "Cancel" action buttons inside the orders table — smaller. */
.woocommerce.ct-woo-account table .button,
.woocommerce.ct-woo-account .woocommerce-orders-table__cell-order-actions .button {
	font-size: 0.8rem !important;
	margin: 0 2px !important;
}

/* Force white text on every button anchor — fights the generic
   ".woocommerce-MyAccount-content a { color: #216192 }" rule which is
   slightly more specific and would otherwise color button labels blue. */
.woocommerce.ct-woo-account a.button,
.woocommerce.ct-woo-account .woocommerce-MyAccount-content a.button,
.woocommerce.ct-woo-account .woocommerce-info a.button,
.woocommerce.ct-woo-account .woocommerce-info .button,
.woocommerce.ct-woo-account .woocommerce-message a.button,
.woocommerce.ct-woo-account .woocommerce-message .button,
.woocommerce.ct-woo-account .woocommerce-Button,
.woocommerce.ct-woo-account a.woocommerce-Button {
	color: #ffffff !important;
	text-decoration: none !important;
	text-align: center !important;
	border-bottom: none !important;
}

.woocommerce.ct-woo-account a.button:hover,
.woocommerce.ct-woo-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce.ct-woo-account .woocommerce-info a.button:hover,
.woocommerce.ct-woo-account .woocommerce-message a.button:hover {
	color: #ffffff !important;
	border-bottom: none !important;
}

/* Center the action cell in the orders table so the button isn't hugging
   the left/right edge of its column. */
.woocommerce.ct-woo-account .woocommerce-orders-table__cell-order-actions,
.woocommerce.ct-woo-account table.shop_table td:last-child {
	text-align: center !important;
}

/* --- Pagination links (orders sub-page) ---------------------------------- */

.woocommerce.ct-woo-account .woocommerce-pagination {
	margin: 16px 0 !important;
	text-align: center !important;
}

.woocommerce.ct-woo-account .woocommerce-pagination a,
.woocommerce.ct-woo-account .woocommerce-pagination span {
	display: inline-block !important;
	padding: 6px 12px !important;
	margin: 0 3px !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	color: #216192 !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.woocommerce.ct-woo-account .woocommerce-pagination a:hover,
.woocommerce.ct-woo-account .woocommerce-pagination .current {
	background: #38B6FF !important;
	color: #ffffff !important;
}

/* ========================================================================== */
/* WISHLIST PAGE (TI WooCommerce Wishlist plugin)                              */
/*   Targets .tinv-wishlist and friends. Matches the orders-table aesthetic    */
/*   so the wishlist reads as just another My Account sub-page.                */
/* ========================================================================== */

.woocommerce.ct-woo-account .tinv-wishlist,
.tinv-wishlist {
	font-family: 'Poppins', sans-serif !important;
	color: #333 !important;
}

/* Outer wishlist table — same rounded card treatment as shop_table */

.tinv-wishlist table.tinvwl-table-manage-list {
	width: 100% !important;
	border-collapse: collapse !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid #e6eef5 !important;
	margin: 0 0 18px !important;
	background: #fff !important;
}

.tinv-wishlist table.tinvwl-table-manage-list thead {
	background: #f8fafc !important;
}

.tinv-wishlist table.tinvwl-table-manage-list thead th {
	color: #216192 !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	padding: 12px 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	border: none !important;
	background: transparent !important;
}

.tinv-wishlist table.tinvwl-table-manage-list tbody td {
	padding: 14px !important;
	border-top: 1px solid #e6eef5 !important;
	color: #333 !important;
	font-size: 0.92rem !important;
	background: #fff !important;
	vertical-align: middle !important;
}

.tinv-wishlist table.tinvwl-table-manage-list tbody tr:hover td {
	background: #f8fafc !important;
}

/* Product thumbnail — small rounded square. */
.tinv-wishlist td.product-thumbnail {
	width: 80px !important;
	padding: 8px !important;
}

.tinv-wishlist td.product-thumbnail img {
	width: 64px !important;
	height: 64px !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	border: 1px solid #e6eef5 !important;
	background: #fff !important;
	display: block !important;
}

/* Product name link */
.tinv-wishlist td.product-name a {
	color: #216192 !important;
	font-weight: 600 !important;
	font-size: 0.98rem !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	transition: color 0.15s ease, border-color 0.15s ease !important;
}

.tinv-wishlist td.product-name a:hover {
	color: #38B6FF !important;
	border-bottom-color: #38B6FF !important;
}

/* Price column — keep numeric tabular */
.tinv-wishlist td.product-price {
	font-weight: 600 !important;
	color: #216192 !important;
	font-variant-numeric: tabular-nums !important;
}

/* Stock pill — green for in-stock, gray for out */
.tinv-wishlist td.product-stock .stock,
.tinv-wishlist .stock.in-stock {
	display: inline-block !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	background: #e6f7ee !important;
	color: #1f7a4d !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
}

.tinv-wishlist .stock.out-of-stock {
	background: #f5e6e6 !important;
	color: #7d1f1f !important;
}

/* "Add to cart" button — brand pill (matches the rest of the site) */
.tinv-wishlist .product-action .button,
.tinv-wishlist .tinvwl-buttons-group .button {
	background: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
	transition: background 0.15s ease, transform 0.1s ease !important;
}

.tinv-wishlist .product-action .button:hover,
.tinv-wishlist .tinvwl-buttons-group .button:hover {
	background: #216192 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Remove-item button (× icon) — small, gray, hover red */
.tinv-wishlist button.product-remove,
.tinv-wishlist .product-remove button {
	background: transparent !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 50% !important;
	width: 28px !important;
	height: 28px !important;
	color: #888 !important;
	font-size: 1rem !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
}

.tinv-wishlist button.product-remove:hover,
.tinv-wishlist .product-remove button:hover {
	color: #d63638 !important;
	border-color: #d63638 !important;
	background: #fdecec !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Manage row at the bottom (per-row checkboxes + bulk actions) */
.tinv-wishlist .tinvwl-table-manage-item {
	background: #f8fafc !important;
	border-top: 1px solid #e6eef5 !important;
	padding: 12px 14px !important;
}

.tinv-wishlist .tinvwl-table-manage-item select {
	padding: 8px 12px !important;
	border: 1px solid #d4dfe9 !important;
	border-radius: 8px !important;
	background: #fff !important;
	font-size: 0.88rem !important;
	color: #333 !important;
	font-family: 'Poppins', sans-serif !important;
}

/* Hide the left-side bulk-action group only: "Действия" dropdown +
   "ПрилаганеДействие" button. The right-side group (Add selected / Add all
   to cart) lives in .tinvwl-to-right.look_in and stays visible. */
.tinv-wishlist .tinvwl-to-left.look_in {
	display: none !important;
}

/* Hide the secondary BGN price the wishlist plugin renders inline (the
   "/ 39,12 лв." after the EUR price) and any duplicate BGN spans my JS/PHP
   filters might add as a result.  Only the first kastor-shop__price-bgn
   stays — the one right after the EUR amount. */
.tinv-wishlist td.product-price .kastor-shop__price-bgn ~ .kastor-shop__price-bgn {
	display: none !important;
}

/* Strip the inline secondary BGN-equivalent text WC Wishlist adds between
   the EUR amount and our BGN appendage.  It's typically rendered as a
   second <bdi> / <span class="woocommerce-Price-amount"> inside the same
   .price wrapper, separated by "/". Hide every price-amount after the
   first within a wishlist price cell. */
.tinv-wishlist td.product-price .woocommerce-Price-amount ~ .woocommerce-Price-amount,
.tinv-wishlist td.product-price .price .woocommerce-Price-amount:not(:first-of-type),
.tinv-wishlist td.product-price bdi ~ bdi {
	display: none !important;
}

/* Round + brand-style the bulk-action buttons on the right (Add selected
   / Add all to cart) — they were rendering as flat rectangles. */
.tinv-wishlist .tinvwl-to-right .button,
.tinv-wishlist .tinvwl-to-right button,
.tinv-wishlist .tinvwl-buttons-group .button,
.tinv-wishlist button[name="tinvwl-bulkaction-apply"],
.tinv-wishlist button[name*="tinvwl-add"] {
	background: #38B6FF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 10px 22px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	font-family: 'Poppins', sans-serif !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(56, 182, 255, 0.25) !important;
	transition: background 0.15s ease, transform 0.1s ease !important;
	text-decoration: none !important;
}

.tinv-wishlist .tinvwl-to-right .button:hover,
.tinv-wishlist .tinvwl-to-right button:hover,
.tinv-wishlist .tinvwl-buttons-group .button:hover {
	background: #216192 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Title row above the wishlist */
.tinv-wishlist .tinvwl-header,
.tinv-wishlist .tinvwl-title {
	color: #216192 !important;
	font-weight: 700 !important;
	font-family: 'Poppins', sans-serif !important;
	margin: 0 0 14px !important;
}

/* Empty-state message */
.tinv-wishlist-empty,
.tinv-wishlist .tinv-wishlist-empty {
	text-align: center !important;
	padding: 40px 20px !important;
	background: #f8fafc !important;
	border-radius: 12px !important;
	color: #555 !important;
	font-size: 1rem !important;
	border: 1px dashed #d4dfe9 !important;
}

.tinv-wishlist-empty .button,
.tinv-wishlist .tinv-wishlist-empty a.button {
	margin-top: 14px !important;
	display: inline-block !important;
}

/* Social-share toolbar TI adds at the bottom of the wishlist — keep it
   muted so it doesn't compete with the product list. */
.tinv-wishlist .social-buttons,
.tinv-wishlist .tinvwl-to-right.look_in {
	margin: 16px 0 !important;
	padding-top: 14px !important;
	border-top: 1px solid #e6eef5 !important;
}

.tinv-wishlist .social-buttons li a {
	color: #888 !important;
	transition: color 0.15s ease !important;
}

.tinv-wishlist .social-buttons li a:hover {
	color: #38B6FF !important;
}

/* Mobile: stack the table cells vertically and shrink padding. */
@media (max-width: 600px) {
	.tinv-wishlist table.tinvwl-table-manage-list,
	.tinv-wishlist table.tinvwl-table-manage-list thead,
	.tinv-wishlist table.tinvwl-table-manage-list tbody {
		display: block !important;
	}

	.tinv-wishlist table.tinvwl-table-manage-list thead {
		display: none !important;
	}

	.tinv-wishlist table.tinvwl-table-manage-list tbody tr {
		display: block !important;
		border: 1px solid #e6eef5 !important;
		border-radius: 10px !important;
		margin-bottom: 10px !important;
		padding: 10px !important;
	}

	.tinv-wishlist table.tinvwl-table-manage-list tbody td {
		display: block !important;
		border: none !important;
		padding: 6px 4px !important;
	}

	.tinv-wishlist td.product-thumbnail {
		width: auto !important;
		text-align: center !important;
	}

	.tinv-wishlist td.product-thumbnail img {
		margin: 0 auto !important;
	}
}


/* --- Mobile: stack everything ------------------------------------------- */

@media (max-width: 781px) {
	body.logged-in .woocommerce.ct-woo-account {
		width: 100% !important;
		margin: 16px 0 24px !important;
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}

	.woocommerce.ct-woo-account .ct-account-nav {
		padding: 10px 14px !important;
	}

	.woocommerce.ct-woo-account .woocommerce-MyAccount-content {
		padding: 20px 16px !important;
	}

	.woocommerce.ct-woo-account .woocommerce-MyAccount-navigation li a {
		padding: 6px 10px !important;
		font-size: 0.85rem !important;
	}

	.woocommerce.ct-woo-account .woocommerce-Addresses {
		grid-template-columns: 1fr !important;
	}

	.woocommerce.ct-woo-account form .form-row-first,
	.woocommerce.ct-woo-account form .form-row-last,
	.woocommerce.ct-woo-account form .woocommerce-FormRow--first,
	.woocommerce.ct-woo-account form .woocommerce-FormRow--last {
		width: 100% !important;
		margin-right: 0 !important;
	}

	/* Make orders table horizontally scrollable on phones. */
	.woocommerce.ct-woo-account table.shop_table {
		display: block !important;
		overflow-x: auto !important;
	}
}

/* --- Menu tiles (Поръчки / За акаунта / Адрес / Излез) -------------------- */

body.logged-in .kadence-column4827_66ed6a-91,
body.logged-in .kadence-column4827_daf043-33,
body.logged-in .kadence-column4827_ed8d0e-16,
body.logged-in .kadence-column4827_b3d2e6-cf {
	background: #ffffff !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 12px !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	transition: border-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease !important;
	overflow: hidden !important;
	width: 100% !important;
	font-family: 'Poppins', sans-serif !important;
}

body.logged-in .kadence-column4827_66ed6a-91:hover,
body.logged-in .kadence-column4827_daf043-33:hover,
body.logged-in .kadence-column4827_ed8d0e-16:hover,
body.logged-in .kadence-column4827_b3d2e6-cf:hover {
	border-color: #38B6FF !important;
	box-shadow: 0 2px 10px rgba(56, 182, 255, 0.15) !important;
	transform: translateX(4px) !important;
}

/* Shrink the menu headings and brand-color them. The Kadence columns render
   the menu text as h1/h2/h3 depending on the editor settings. */

body.logged-in .kadence-column4827_66ed6a-91 h1,
body.logged-in .kadence-column4827_66ed6a-91 h2,
body.logged-in .kadence-column4827_66ed6a-91 h3,
body.logged-in .kadence-column4827_66ed6a-91 h4,
body.logged-in .kadence-column4827_daf043-33 h1,
body.logged-in .kadence-column4827_daf043-33 h2,
body.logged-in .kadence-column4827_daf043-33 h3,
body.logged-in .kadence-column4827_daf043-33 h4,
body.logged-in .kadence-column4827_ed8d0e-16 h1,
body.logged-in .kadence-column4827_ed8d0e-16 h2,
body.logged-in .kadence-column4827_ed8d0e-16 h3,
body.logged-in .kadence-column4827_ed8d0e-16 h4,
body.logged-in .kadence-column4827_b3d2e6-cf h1,
body.logged-in .kadence-column4827_b3d2e6-cf h2,
body.logged-in .kadence-column4827_b3d2e6-cf h3,
body.logged-in .kadence-column4827_b3d2e6-cf h4 {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #216192 !important;
	margin: 0 !important;
	padding: 14px 20px !important;
	font-family: 'Poppins', sans-serif !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* If the menu wraps its label in a link, make the whole tile clickable. */
body.logged-in .kadence-column4827_66ed6a-91 a,
body.logged-in .kadence-column4827_daf043-33 a,
body.logged-in .kadence-column4827_ed8d0e-16 a,
body.logged-in .kadence-column4827_b3d2e6-cf a {
	display: block !important;
	color: inherit !important;
	text-decoration: none !important;
	padding: 0 !important;
}

/* --- Dashboard notices (temporary password etc.) -------------------------- */

body.logged-in.woocommerce-page .woocommerce-message,
body.logged-in.woocommerce-page .woocommerce-info,
body.logged-in.woocommerce-page .woocommerce-notice--info,
body.logged-in.woocommerce-page .woocommerce-notice--success,
body.logged-in.woocommerce-page .woocommerce-notice {
	background: #e8f6ff !important;
	border: 1px solid #95d8ff !important;
	border-left: 4px solid #38B6FF !important;
	color: #175585 !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	font-size: 0.92rem !important;
	margin: 0 0 22px !important;
	line-height: 1.5 !important;
	font-family: 'Poppins', sans-serif !important;
	box-shadow: none !important;
}

body.logged-in.woocommerce-page .woocommerce-error {
	background: #fdecec !important;
	border: 1px solid #f5b3b3 !important;
	border-left: 4px solid #d63638 !important;
	color: #7d1f1f !important;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	font-size: 0.92rem !important;
	margin: 0 0 22px !important;
	line-height: 1.5 !important;
	font-family: 'Poppins', sans-serif !important;
}

/* --- Dashboard welcome text + general WC content typography --------------- */

body.logged-in.woocommerce-page .woocommerce-MyAccount-content,
body.logged-in.woocommerce-page .woocommerce-MyAccount-content p,
body.logged-in.woocommerce-page .woocommerce-account-fields p {
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.95rem !important;
	color: #333 !important;
	line-height: 1.65 !important;
}

body.logged-in.woocommerce-page .woocommerce-MyAccount-content strong,
body.logged-in.woocommerce-page .woocommerce-MyAccount-content b {
	color: #216192 !important;
	font-weight: 700 !important;
}

body.logged-in.woocommerce-page .woocommerce-MyAccount-content a {
	color: #216192 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	border-bottom: 1px solid transparent !important;
	transition: border-color 0.15s ease, color 0.15s ease !important;
}

body.logged-in.woocommerce-page .woocommerce-MyAccount-content a:hover {
	color: #38B6FF !important;
	border-bottom-color: #38B6FF !important;
}

/* --- Mobile: shrink menu tiles further ----------------------------------- */

@media (max-width: 781px) {
	body.logged-in .kadence-column4827_66ed6a-91,
	body.logged-in .kadence-column4827_daf043-33,
	body.logged-in .kadence-column4827_ed8d0e-16,
	body.logged-in .kadence-column4827_b3d2e6-cf {
		max-width: 100% !important;
		margin-bottom: 8px !important;
	}

}


/* ========================================================================== */
/* Header: GTranslate language switcher repositioned to the right group.       */
/*   The JS moves the <li> from the main nav into the header's right column;   */
/*   this CSS makes sure it sits visually inline with the search/account/cart  */
/*   icons rather than rendering as a stretched menu item.                     */
/* ========================================================================== */

/* ========================================================================== */
/* GTranslate language switcher — visually positioned next to the search icon  */
/* Without moving it in the DOM (which broke its dropdown). Absolutely         */
/* positions the menu <li> at a fixed offset from the right edge of the        */
/* header so it sits just left of the Search/Account/Cart group.               */
/* ========================================================================== */

header li.menu-item-gtranslate,
header li[class*="menu-item-gtranslate"] {
	position: absolute !important;
	right: 150px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 100 !important;
}

/* Make sure the header container is positioned so our absolute child has a
   reference frame. Blocksy usually has position:relative on these already. */
header [data-row="middle"],
header .ct-container-fluid {
	position: relative !important;
}

@media (max-width: 999px) {
	/* Mobile: hide the absolute positioning, let it flow naturally. */
	header li.menu-item-gtranslate,
	header li[class*="menu-item-gtranslate"] {
		position: static !important;
		transform: none !important;
		right: auto !important;
		top: auto !important;
	}
}


/* ========================================================================== */
/* ORDER RECEIVED / "Thank you" page                                           */
/*   Shown after a customer completes checkout. WC's stock layout is bare —    */
/*   restyled with brand cards, Poppins, brand-blue accents.                   */
/* ========================================================================== */

body.woocommerce-order-received .woocommerce-order,
.woocommerce-order {
	max-width: 1000px !important;
	margin: 40px auto !important;
	padding: 0 16px !important;
	font-family: 'Poppins', sans-serif !important;
	color: #333 !important;
}

/* --- Thank-you banner ---------------------------------------------------- */
/* Blocksy renders ::before as position: absolute with inset-inline-start: 18px */
/* and reserves padding-inline-start: 55px on the parent. Work WITH that. */

.woocommerce-order .woocommerce-notice,
.woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce-order p.woocommerce-notice {
	background: #e8f6ff !important;
	border: 1px solid #95d8ff !important;
	border-left: 4px solid #38B6FF !important;
	color: #175585 !important;
	padding: 20px 22px 20px 64px !important;
	border-radius: 12px !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	margin: 0 0 28px !important;
	font-family: 'Poppins', sans-serif !important;
	box-shadow: none !important;
	position: relative !important;
	display: block !important;
	min-height: 0 !important;
}

/* Blue circle with white check icon, positioned over the reserved left padding. */
.woocommerce-order .woocommerce-notice::before,
.woocommerce-order .woocommerce-thankyou-order-received::before,
.woocommerce-order p.woocommerce-notice::before {
	content: "" !important;
	position: absolute !important;
	left: 18px !important;
	inset-inline-start: 18px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	background-color: #38B6FF !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 18px 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	color: transparent !important;
	font-family: inherit !important;
	font-size: 0 !important;
	line-height: 0 !important;
	opacity: 1 !important;
	box-shadow: 0 2px 6px rgba(56, 182, 255, 0.4) !important;
}

/* --- Order overview list (Order # / Date / Total / Payment method) ------- */
/* Scoped to .woocommerce-order-overview only — .order_details is also on the */
/* BACS bank-details <ul>, which gets its own treatment further down. */

.woocommerce-order ul.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: 14px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 28px !important;
	border: 1px solid #e6eef5 !important;
	background: #ffffff !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.06) !important;
	overflow: hidden !important;
}

.woocommerce-order ul.woocommerce-order-overview li {
	padding: 18px 22px !important;
	margin: 0 !important;
	border: none !important;
	border-right: 1px solid #e6eef5 !important;
	text-transform: none !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: #888 !important;
	letter-spacing: 0.04em !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	font-family: 'Poppins', sans-serif !important;
}

.woocommerce-order ul.woocommerce-order-overview li:last-child {
	border-right: none !important;
}

.woocommerce-order ul.woocommerce-order-overview li strong {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #216192 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* --- BACS (bank transfer) details --------------------------------------- */

.woocommerce-order .woocommerce-bacs-bank-details {
	background: #ffffff !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.06) !important;
	padding: 22px 26px !important;
	margin: 0 0 28px !important;
}

.woocommerce-order .woocommerce-bacs-bank-details h2,
.woocommerce-order h2.wc-bacs-bank-details-heading {
	color: #216192 !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.25rem !important;
	margin: 0 0 16px !important;
	padding-bottom: 12px !important;
	border-bottom: 2px solid #e6eef5 !important;
}

.woocommerce-order .woocommerce-bacs-bank-details h3,
.woocommerce-order h3.wc-bacs-bank-details-account-name {
	color: #216192 !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 1.05rem !important;
	margin: 14px 0 10px !important;
}

/* --- BACS bank details list (<ul class="wc-bacs-bank-details">) --------- */
/* Each <li> is "Label: <strong>Value</strong>". Render all fields in one row */
/* (4-up grid); IBAN wraps to multiple lines inside its own cell. */

.woocommerce-order ul.wc-bacs-bank-details,
.woocommerce-order .woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid !important;
	/* IBAN gets a wider track so its value fits on one line. */
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr) !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	border: none !important;
	background: transparent !important;
	overflow: visible !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	align-items: stretch !important;
}

.woocommerce-order ul.wc-bacs-bank-details li,
.woocommerce-order .woocommerce-bacs-bank-details ul.wc-bacs-bank-details li {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
	padding: 12px 14px !important;
	margin: 0 !important;
	background: #f8fafc !important;
	border: none !important;
	border-right: none !important;
	border-radius: 10px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.75rem !important;
	color: #888 !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	word-break: break-all !important;
	overflow-wrap: anywhere !important;
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

.woocommerce-order ul.wc-bacs-bank-details li strong,
.woocommerce-order .woocommerce-bacs-bank-details ul.wc-bacs-bank-details li strong {
	display: block !important;
	width: 100% !important;
	color: #216192 !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	min-width: 0 !important;
	max-width: 100% !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	word-break: break-all !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
	line-height: 1.35 !important;
}

/* Tablet: 2 cells per row so IBAN gets more breathing room. */
@media (max-width: 980px) {
	.woocommerce-order ul.wc-bacs-bank-details,
	.woocommerce-order .woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Mobile: single column. */
@media (max-width: 600px) {
	.woocommerce-order ul.wc-bacs-bank-details,
	.woocommerce-order .woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
		grid-template-columns: 1fr !important;
	}
}

/* --- Order details table (Product / Subtotal / Total etc.) -------------- */

.woocommerce-order h2.woocommerce-order-details__title,
.woocommerce-order h2.woocommerce-column__title {
	color: #216192 !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.3rem !important;
	margin: 24px 0 14px !important;
}

.woocommerce-order table.woocommerce-table,
.woocommerce-order table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	margin: 0 0 24px !important;
	background: #ffffff !important;
	font-family: 'Poppins', sans-serif !important;
}

.woocommerce-order table.woocommerce-table thead th,
.woocommerce-order table.shop_table thead th {
	background: #f8fafc !important;
	color: #216192 !important;
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	padding: 14px 18px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	text-align: left !important;
	border: none !important;
}

.woocommerce-order table.woocommerce-table tbody td,
.woocommerce-order table.shop_table tbody td,
.woocommerce-order table.woocommerce-table tfoot td,
.woocommerce-order table.woocommerce-table tfoot th,
.woocommerce-order table.shop_table tfoot td,
.woocommerce-order table.shop_table tfoot th {
	padding: 14px 18px !important;
	border-top: 1px solid #e6eef5 !important;
	color: #333 !important;
	font-size: 0.95rem !important;
	background: #ffffff !important;
	vertical-align: middle !important;
}

.woocommerce-order table.shop_table tfoot tr:last-child td,
.woocommerce-order table.shop_table tfoot tr:last-child th {
	font-weight: 700 !important;
	color: #216192 !important;
	font-size: 1.05rem !important;
	background: #f8fafc !important;
}

/* --- Customer details (Billing + Shipping address cards) ---------------- */

.woocommerce-order .woocommerce-customer-details {
	margin: 0 0 28px !important;
}

.woocommerce-order .woocommerce-customer-details .col2-set,
.woocommerce-order section.woocommerce-customer-details > .col2-set {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
}

.woocommerce-order .woocommerce-customer-details .col-1,
.woocommerce-order .woocommerce-customer-details .col-2,
.woocommerce-order .woocommerce-customer-details .woocommerce-column {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	background: #ffffff !important;
	border: 1px solid #e6eef5 !important;
	border-radius: 12px !important;
	padding: 22px 26px !important;
	box-shadow: 0 4px 14px rgba(33, 97, 146, 0.06) !important;
}

.woocommerce-order .woocommerce-customer-details address {
	font-style: normal !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.95rem !important;
	line-height: 1.7 !important;
	color: #333 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

.woocommerce-order .woocommerce-customer-details p.woocommerce-customer-details--email,
.woocommerce-order .woocommerce-customer-details p.woocommerce-customer-details--phone {
	color: #216192 !important;
	font-weight: 600 !important;
	margin: 8px 0 0 !important;
}

/* --- Mobile -------------------------------------------------------------- */

@media (max-width: 781px) {
	.woocommerce-order {
		margin: 20px auto !important;
		padding: 0 12px !important;
	}

	.woocommerce-order ul.woocommerce-order-overview,
	.woocommerce-order ul.order_details {
		grid-template-columns: 1fr 1fr !important;
	}

	.woocommerce-order ul.woocommerce-order-overview li,
	.woocommerce-order ul.order_details li {
		border-right: none !important;
		border-bottom: 1px solid #e6eef5 !important;
	}

	.woocommerce-order .woocommerce-customer-details .col2-set,
	.woocommerce-order section.woocommerce-customer-details > .col2-set {
		grid-template-columns: 1fr !important;
	}
}

/* ------------------------------------------------------------------------ */
/* Cart page (mobile): the totals/sidebar (coupon, totals, checkout button)   */
/* runs edge-to-edge once the cart block stacks. Add horizontal breathing      */
/* room so its contents aren't flush against the screen edges. The items       */
/* column is intentionally left untouched.                                     */
/* ------------------------------------------------------------------------ */

@media (max-width: 700px) {
	body.woocommerce-cart .wc-block-cart__sidebar {
		padding-left: 20px !important;
		padding-right: 20px !important;
		box-sizing: border-box !important;
	}
}

/* ------------------------------------------------------------------------ */
/* Cart coupon: round the "Въведете код" input and the "Прилагане" button to  */
/* match the rounded CTAs elsewhere.                                          */
/* ------------------------------------------------------------------------ */

body.woocommerce-cart .wc-block-components-totals-coupon__input,
body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-cart .wc-block-components-totals-coupon__button {
	border-radius: 32px !important;
}

/* ------------------------------------------------------------------------ */
/* Single product: small "цена на брой" note under the price.                 */
/* ------------------------------------------------------------------------ */

.kastor-shop__price-note {
	display: block;
	margin: 2px 0 0 !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.85rem;
	font-weight: 500;
	color: #6b7785;
}
