/* =========================================================
   Peptishop — фармацевтична визия
   1. База
   2. Типография и помощни класове
   3. Хедър и навигация
   4. Бутони и форми
   5. Секции и карти (patterns)
   6. WooCommerce — каталог
   7. WooCommerce — продукт
   8. WooCommerce — количка, каса, профил
   9. Футър
   10. Отзивчивост
   ========================================================= */

/* ---------- 1. База ---------- */

:root {
	--ps-radius: 10px;
	--ps-radius-lg: 16px;
	--ps-line: var(--wp--preset--color--line, #e2e9ec);
	--ps-ink: var(--wp--preset--color--ink, #0a1d23);
	--ps-muted: var(--wp--preset--color--muted, #5e7178);
	--ps-primary: var(--wp--preset--color--primary, #0e6e7c);
	--ps-primary-strong: var(--wp--preset--color--primary-strong, #0a525c);
	--ps-surface: var(--wp--preset--color--surface, #f5f8f9);
	--ps-tint: var(--wp--preset--color--tint, #e7f1f2);
	--ps-transition: 160ms cubic-bezier(.4, 0, .2, 1);
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	font-feature-settings: "cv11", "ss01";
	font-variant-numeric: tabular-nums;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
}

::selection {
	background: var(--ps-tint);
	color: var(--ps-ink);
}

:where(a, button, .wp-block-button__link, input, select, textarea):focus-visible {
	outline: 2px solid var(--ps-primary);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---------- 2. Типография и помощни класове ---------- */

.ps-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ps-primary);
	margin: 0 0 1rem;
}

.ps-eyebrow::before {
	content: "";
	inline-size: 22px;
	block-size: 1px;
	background: currentColor;
	opacity: .6;
}

.ps-lead {
	font-size: 1.1875rem;
	line-height: 1.6;
	color: var(--ps-muted);
	max-inline-size: 58ch;
}

.ps-muted { color: var(--ps-muted); }

.ps-balance { text-wrap: balance; }

.ps-divider {
	border: 0;
	border-block-start: 1px solid var(--ps-line);
	margin: 0;
}

/* ---------- 3. Хедър и навигация ---------- */

.ps-topbar {
	background: var(--ps-ink);
	color: #cfe0e3;
	font-size: .8125rem;
	letter-spacing: .01em;
}

.ps-topbar p { margin: 0; }

.ps-topbar strong { color: #fff; font-weight: 600; }

.ps-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: transparent;
	border-block-end: 1px solid var(--ps-line);
}

/* Замъгляването е на псевдоелемент, а не на самия хедър:
   backdrop-filter върху родител прави от него containing block
   за position: fixed и чупи мобилния overlay на менюто. */
.ps-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, .90);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
}

.ps-header .wp-block-site-title a {
	color: var(--ps-ink);
	text-decoration: none;
	letter-spacing: -.03em;
}

.ps-header .wp-block-site-logo img { display: block; }

.ps-nav .wp-block-navigation-item__content {
	font-size: .9375rem;
	font-weight: 500;
	color: var(--ps-ink);
	padding-block: .35rem;
	border-block-end: 1px solid transparent;
	transition: color var(--ps-transition), border-color var(--ps-transition);
}

.ps-nav .wp-block-navigation-item__content:hover,
.ps-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--ps-primary);
	text-decoration: none;
	border-block-end-color: var(--ps-primary);
}

.ps-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius);
	box-shadow: 0 12px 32px rgba(10, 29, 35, .10);
	padding-block: .35rem;
	background: #fff;
}

.ps-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border: 0;
	padding-inline: 1rem;
	padding-block: .55rem;
}

/* Иконка количка в хедъра */
.ps-cart-link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--ps-ink);
	text-decoration: none;
	padding: .55rem .9rem;
	border: 1px solid var(--ps-line);
	border-radius: 999px;
	transition: border-color var(--ps-transition), background var(--ps-transition);
}

.ps-cart-link:hover {
	border-color: var(--ps-primary);
	background: var(--ps-tint);
	text-decoration: none;
}

.ps-cart-link .ps-cart-count {
	min-inline-size: 1.35rem;
	block-size: 1.35rem;
	display: inline-grid;
	place-items: center;
	border-radius: 999px;
	background: var(--ps-primary);
	color: #fff;
	font-size: .75rem;
	padding-inline: .35rem;
}

/* ---------- 4. Бутони и форми ---------- */

.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .woocommerce-message a.button {
	border-radius: 8px;
	font-weight: 600;
	font-size: .9375rem;
	line-height: 1.2;
	letter-spacing: .01em;
	padding: .95rem 1.6rem;
	background: var(--ps-primary);
	color: #fff;
	border: 1px solid var(--ps-primary);
	transition: background var(--ps-transition), border-color var(--ps-transition), transform var(--ps-transition);
}

.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--ps-primary-strong);
	border-color: var(--ps-primary-strong);
	color: #fff;
}

.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
	opacity: .45;
}

.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ps-ink);
	border: 1px solid var(--ps-line);
}

.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--ps-tint);
	border-color: var(--ps-primary);
	color: var(--ps-primary-strong);
}

.woocommerce .button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--ps-primary);
	border-color: var(--ps-primary);
	color: #fff;
}

.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--ps-primary-strong);
	border-color: var(--ps-primary-strong);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
	inline-size: 100%;
	padding: .8rem 1rem;
	font-size: .9375rem;
	font-family: inherit;
	color: var(--ps-ink);
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: 8px;
	transition: border-color var(--ps-transition), box-shadow var(--ps-transition);
}

input:focus,
select:focus,
textarea:focus,
.woocommerce form .form-row input.input-text:focus {
	border-color: var(--ps-primary);
	box-shadow: 0 0 0 3px rgba(14, 110, 124, .12);
	outline: none;
}

.woocommerce form .form-row label {
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--ps-ink);
	margin-block-end: .4rem;
	display: block;
}

/* ---------- 5. Секции и карти ---------- */

.ps-section { padding-block: clamp(3.5rem, 7vw, 6rem); }

.ps-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }

.ps-section--surface { background: var(--ps-surface); }

.ps-section--ink {
	background: var(--ps-ink);
	color: #d5e3e6;
}

.ps-section--ink :where(h1, h2, h3, h4, h5, h6) { color: #fff; }

/* Hero */
.ps-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 88% 6%, #e9f4f5 0%, rgba(233, 244, 245, 0) 62%),
		linear-gradient(180deg, #fbfdfd 0%, #ffffff 100%);
}

.ps-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	padding-block: clamp(3rem, 7vw, 5.5rem);
}

.ps-hero h1 {
	margin: 0 0 1.25rem;
	text-wrap: balance;
}

.ps-hero__media img {
	inline-size: 100%;
	border-radius: var(--ps-radius-lg);
	box-shadow: 0 2px 4px rgba(10, 29, 35, .05), 0 24px 60px rgba(10, 29, 35, .10);
}

/* Ред с гаранции под хероя */
.ps-trustbar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--ps-line);
	border-block: 1px solid var(--ps-line);
}

.ps-trustbar > div {
	background: #fff;
	padding: 1.35rem 1.25rem;
}

.ps-trustbar strong {
	display: block;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--ps-ink);
	margin-block-end: .2rem;
}

.ps-trustbar span {
	font-size: .8125rem;
	color: var(--ps-muted);
	line-height: 1.5;
}

/* Карти */
.ps-cards {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ps-card {
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	padding: 1.75rem;
	transition: border-color var(--ps-transition), box-shadow var(--ps-transition), transform var(--ps-transition);
}

.ps-card:hover {
	border-color: #cfdde1;
	box-shadow: 0 2px 4px rgba(10, 29, 35, .04), 0 16px 36px rgba(10, 29, 35, .07);
}

.ps-card h3 {
	font-size: 1.0625rem;
	margin: 0 0 .5rem;
}

.ps-card p {
	margin: 0;
	font-size: .9375rem;
	color: var(--ps-muted);
	line-height: 1.6;
}

.ps-card__num {
	display: inline-grid;
	place-items: center;
	inline-size: 2.25rem;
	block-size: 2.25rem;
	border-radius: 8px;
	background: var(--ps-tint);
	color: var(--ps-primary-strong);
	font-size: .875rem;
	font-weight: 700;
	margin-block-end: 1rem;
}

/* Статистики */
.ps-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1px;
	background: var(--ps-line);
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	overflow: hidden;
}

.ps-stat {
	background: #fff;
	padding: 1.75rem;
}

.ps-stat b {
	display: block;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -.03em;
	color: var(--ps-ink);
	line-height: 1.1;
	margin-block-end: .35rem;
}

.ps-stat span {
	font-size: .875rem;
	color: var(--ps-muted);
}

/* Категории */
.ps-catgrid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.ps-cat {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-block-size: 220px;
	padding: 1.5rem;
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	background: var(--ps-surface);
	overflow: hidden;
	text-decoration: none;
	transition: border-color var(--ps-transition), transform var(--ps-transition), box-shadow var(--ps-transition);
}

.ps-cat:hover {
	border-color: var(--ps-primary);
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(10, 29, 35, .04), 0 16px 36px rgba(10, 29, 35, .08);
}

.ps-cat img {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	opacity: .95;
}

.ps-cat__body {
	position: relative;
	z-index: 1;
}

.ps-cat strong {
	display: block;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--ps-ink);
	margin-block-end: .2rem;
}

.ps-cat span {
	font-size: .8125rem;
	color: var(--ps-muted);
}

/* Стъпки */
.ps-steps {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	counter-reset: ps-step;
}

/* Бележка / съответствие */
.ps-note {
	border: 1px solid var(--ps-line);
	border-inline-start: 3px solid var(--ps-primary);
	border-radius: var(--ps-radius);
	background: var(--ps-surface);
	padding: 1.25rem 1.5rem;
	font-size: .9375rem;
	line-height: 1.65;
	color: var(--ps-muted);
}

.ps-note strong { color: var(--ps-ink); }

/* FAQ */
.ps-faq .wp-block-details {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius);
	padding: 1.1rem 1.35rem;
	background: #fff;
	margin-block-end: .75rem;
}

.ps-faq .wp-block-details summary {
	font-weight: 600;
	font-size: 1rem;
	color: var(--ps-ink);
	cursor: pointer;
	list-style: none;
}

.ps-faq .wp-block-details summary::-webkit-details-marker { display: none; }

.ps-faq .wp-block-details summary::after {
	content: "+";
	float: inline-end;
	color: var(--ps-primary);
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 1;
}

.ps-faq .wp-block-details[open] summary::after { content: "–"; }

.ps-faq .wp-block-details p {
	margin-block: .85rem 0;
	font-size: .9375rem;
	color: var(--ps-muted);
	line-height: 1.7;
}

/* ---------- 6. WooCommerce — каталог ---------- */

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
	font-size: .875rem;
	color: var(--ps-muted);
}

.ps-breadcrumb {
	font-size: .8125rem;
	color: var(--ps-muted);
	margin-block-end: 1.5rem;
}

.ps-breadcrumb a { color: var(--ps-muted); }
.ps-breadcrumb a:hover { color: var(--ps-primary); }
.ps-crumb-sep { opacity: .5; padding-inline: .35rem; }

/* Класически цикъл + блоков цикъл */
.woocommerce ul.products,
.wp-block-woocommerce-product-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products li.product,
.wc-block-product-template__responsive .wc-block-product,
.wp-block-woocommerce-product-template li {
	position: relative;
	display: flex;
	flex-direction: column;
	inline-size: 100% !important;
	margin: 0 !important;
	padding: 0;
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	overflow: hidden;
	transition: border-color var(--ps-transition), box-shadow var(--ps-transition);
}

.woocommerce ul.products li.product:hover,
.wp-block-woocommerce-product-template li:hover {
	border-color: #cfdde1;
	box-shadow: 0 2px 4px rgba(10, 29, 35, .04), 0 16px 36px rgba(10, 29, 35, .07);
}

.woocommerce ul.products li.product a img,
.wp-block-woocommerce-product-template li img {
	display: block;
	inline-size: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	background: var(--ps-surface);
	border-block-end: 1px solid var(--ps-line);
	border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wp-block-woocommerce-product-template .wp-block-post-title {
	font-size: .9375rem !important;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -.01em;
	color: var(--ps-ink);
	padding: 1.1rem 1.15rem 0;
	margin: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.wp-block-woocommerce-product-template .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product .price,
.wp-block-woocommerce-product-template .wc-block-components-product-price {
	display: block;
	padding: .5rem 1.15rem 0;
	margin: 0;
	font-size: 1.0625rem !important;
	font-weight: 600;
	color: var(--ps-ink);
}

.woocommerce ul.products li.product .price del {
	color: var(--ps-muted);
	font-weight: 400;
	font-size: .875rem;
	opacity: .8;
	margin-inline-end: .4rem;
}

.woocommerce ul.products li.product .price ins {
	background: transparent;
	text-decoration: none;
	color: var(--ps-primary-strong);
}

.woocommerce ul.products li.product .star-rating {
	margin: .6rem 1.15rem 0;
	font-size: .75rem;
	color: #d8a13a;
}

.woocommerce ul.products li.product .button,
.wp-block-woocommerce-product-template .wp-block-button__link {
	margin: 1rem 1.15rem 1.15rem;
	margin-block-start: auto;
	text-align: center;
	background: #fff;
	color: var(--ps-primary-strong);
	border: 1px solid var(--ps-line);
	padding: .7rem 1rem;
	font-size: .875rem;
}

.woocommerce ul.products li.product .button:hover,
.wp-block-woocommerce-product-template .wp-block-button__link:hover {
	background: var(--ps-primary);
	border-color: var(--ps-primary);
	color: #fff;
}

.woocommerce ul.products li.product .added_to_cart {
	display: block;
	margin: 0 1.15rem 1.15rem;
	font-size: .8125rem;
	text-align: center;
}

/* Промо етикет */
.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	position: absolute;
	inset-block-start: .85rem;
	inset-inline-start: .85rem;
	inset-inline-end: auto;
	z-index: 2;
	min-block-size: 0;
	min-inline-size: 0;
	line-height: 1;
	padding: .4rem .6rem;
	border-radius: 6px;
	background: var(--ps-ink);
	color: #fff;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin: 0;
}

/* Изчерпан */
.woocommerce ul.products li.product.outofstock::after {
	content: "Изчерпан";
	position: absolute;
	inset-block-start: .85rem;
	inset-inline-end: .85rem;
	padding: .4rem .6rem;
	border-radius: 6px;
	background: #fff;
	border: 1px solid var(--ps-line);
	color: var(--ps-muted);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Пагинация */
.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: .4rem;
	justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-inline-size: 2.5rem;
	padding: .6rem .75rem;
	border: 1px solid var(--ps-line);
	border-radius: 8px;
	font-size: .875rem;
	color: var(--ps-ink);
	background: #fff;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--ps-primary);
	border-color: var(--ps-primary);
	color: #fff;
}

/* ---------- 7. WooCommerce — продукт ---------- */

.woocommerce div.product .product_title {
	font-size: clamp(1.75rem, 3.2vw, 2.25rem);
	letter-spacing: -.028em;
	margin-block: .25rem .75rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--ps-ink);
	letter-spacing: -.02em;
	margin-block-end: 1.25rem;
}

.woocommerce div.product p.price del { font-size: 1.125rem; color: var(--ps-muted); font-weight: 400; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--ps-primary-strong); }

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ps-muted);
	margin-block-end: 1.5rem;
}

.woocommerce div.product div.images img {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	background: var(--ps-surface);
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	align-items: stretch;
	margin-block: 1.5rem;
}

.woocommerce div.product form.cart .quantity input.qty {
	inline-size: 5.25rem;
	block-size: 100%;
	text-align: center;
	padding: .95rem .5rem;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1 1 14rem;
	padding-block: .95rem;
}

.woocommerce div.product .product_meta {
	font-size: .8125rem;
	color: var(--ps-muted);
	border-block-start: 1px solid var(--ps-line);
	padding-block-start: 1.25rem;
	margin-block-start: 1.5rem;
}

.woocommerce div.product .product_meta > span { display: block; margin-block-end: .35rem; }


/* Гаранции под цената */
.ps-assurance {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 1.25rem 0 0;
	border-block-start: 1px solid var(--ps-line);
	display: grid;
	gap: .85rem;
}

.ps-assurance li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .1rem .75rem;
	padding-inline-start: 1.6rem;
	position: relative;
}

.ps-assurance li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: .3rem;
	inline-size: 1rem;
	block-size: 1rem;
	border-radius: 50%;
	background: var(--ps-tint);
	box-shadow: inset 0 0 0 1px rgba(14, 110, 124, .25);
}

.ps-assurance li::after {
	content: "";
	position: absolute;
	inset-inline-start: .3rem;
	inset-block-start: .58rem;
	inline-size: .4rem;
	block-size: .2rem;
	border-inline-start: 1.5px solid var(--ps-primary-strong);
	border-block-end: 1.5px solid var(--ps-primary-strong);
	transform: rotate(-45deg);
}

.ps-assurance__label {
	grid-column: 1 / -1;
	font-size: .875rem;
	font-weight: 600;
	color: var(--ps-ink);
}

.ps-assurance__note {
	grid-column: 1 / -1;
	font-size: .8125rem;
	color: var(--ps-muted);
}

.ps-research-notice {
	margin-block-start: 1.5rem;
	padding: .95rem 1.1rem;
	border: 1px solid var(--ps-line);
	border-inline-start: 3px solid var(--ps-primary);
	border-radius: var(--ps-radius);
	background: var(--ps-surface);
	font-size: .8125rem;
	line-height: 1.6;
	color: var(--ps-muted);
}

.ps-research-notice strong { color: var(--ps-ink); }

/* Табове */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 2rem;
	border-block-end: 1px solid var(--ps-line);
	display: flex;
	gap: 1.75rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: .85rem 0;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--ps-muted);
	border-block-end: 2px solid transparent;
	margin-block-end: -1px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--ps-ink);
	border-block-end-color: var(--ps-primary);
}

.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.25rem; }

.woocommerce table.shop_attributes {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border: 0;
	border-block-end: 1px solid var(--ps-line);
	padding: .85rem 1.1rem;
	font-size: .875rem;
	font-style: normal;
	background: #fff;
}

.woocommerce table.shop_attributes th {
	inline-size: 40%;
	font-weight: 600;
	color: var(--ps-ink);
	background: var(--ps-surface);
}

.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td { border-block-end: 0; }

/* Свързани продукти */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
	font-size: 1.375rem;
	margin-block-end: 1.5rem;
}

/* ---------- 8. Количка, каса, профил ---------- */

.woocommerce table.shop_table {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce table.shop_table th {
	background: var(--ps-surface);
	font-size: .75rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ps-muted);
	padding: 1rem 1.15rem;
	border-block-end: 1px solid var(--ps-line);
}

.woocommerce table.shop_table td {
	padding: 1.15rem;
	border-block-end: 1px solid var(--ps-line);
	font-size: .9375rem;
}

.woocommerce table.shop_table tbody tr:last-child td { border-block-end: 0; }

.woocommerce table.cart img { inline-size: 68px; border-radius: 8px; border: 1px solid var(--ps-line); }

.woocommerce .cart_totals h2,
.woocommerce-checkout h3 {
	font-size: 1.125rem;
	letter-spacing: -.01em;
	margin-block-end: 1rem;
}

.woocommerce-checkout #order_review,
.woocommerce .cart-collaterals .cart_totals {
	background: var(--ps-surface);
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	padding: 1.5rem;
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-block-end: 1px solid var(--ps-line);
	padding: 0 0 1rem;
}

.woocommerce-checkout #payment div.form-row { padding: 1rem 0 0; }

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-block-start: 0;
	border: 1px solid var(--ps-line);
	border-inline-start: 3px solid var(--ps-primary);
	border-radius: var(--ps-radius);
	background: var(--ps-surface);
	font-size: .9375rem;
	padding: 1rem 1.25rem;
}

.woocommerce-message { border-inline-start-color: var(--wp--preset--color--success, #2f7d5f); }
.woocommerce-error { border-inline-start-color: #b3453a; }

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before { display: none; }

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	overflow: hidden;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: .85rem 1.15rem;
	font-size: .9375rem;
	color: var(--ps-ink);
	border-block-end: 1px solid var(--ps-line);
	text-decoration: none;
}

.woocommerce-MyAccount-navigation li:last-child a { border-block-end: 0; }

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	background: var(--ps-tint);
	color: var(--ps-primary-strong);
}

/* ---------- 9. Футър ---------- */

.ps-footer {
	background: var(--ps-ink);
	color: #a9c1c6;
	font-size: .9375rem;
}

.ps-footer :where(h2, h3, h4, strong) { color: #fff; }

.ps-footer a { color: #cfe0e3; text-decoration: none; }
.ps-footer a:hover { color: #fff; text-decoration: underline; }

.ps-footer .wp-block-site-title a { color: #fff; }

.ps-footer__cols {
	display: grid;
	grid-template-columns: 1.6fr repeat(3, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	padding-block: clamp(3rem, 6vw, 4.5rem);
}

.ps-footer__heading {
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #7f9ba1;
	margin: 0 0 1rem;
	font-weight: 600;
}

.ps-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .6rem;
}

.ps-footer__bar {
	border-block-start: 1px solid rgba(255, 255, 255, .10);
	padding-block: 1.5rem;
	font-size: .8125rem;
	color: #7f9ba1;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
}

.ps-footer__disclaimer {
	border-block-start: 1px solid rgba(255, 255, 255, .10);
	padding-block: 1.5rem;
	font-size: .75rem;
	line-height: 1.7;
	color: #7f9ba1;
	max-inline-size: 90ch;
}

/* ---------- 10. Отзивчивост ---------- */

@media (max-width: 1024px) {
	.ps-footer__cols { grid-template-columns: 1fr 1fr; }
	.ps-trustbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.ps-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	/* На телефон посланието е първо, снимката — след бутоните. */
	.ps-hero__media { order: 0; }
}

@media (max-width: 782px) {
	.woocommerce ul.products,
	.wp-block-woocommerce-product-template {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
		gap: 1rem;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		gap: 1.25rem;
		overflow-x: auto;
		white-space: nowrap;
	}
}

@media (max-width: 600px) {
	.ps-footer__cols { grid-template-columns: 1fr; }
	.ps-trustbar { grid-template-columns: 1fr; }
	.ps-cart-link { padding: .5rem .75rem; }
	.ps-header .wp-block-site-title { font-size: 1.0625rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* =========================================================
   11. Корекции за класическите WooCommerce шаблони
   ========================================================= */

.ps-shop .woocommerce-products-header,
.ps-shop .page-title,
.ps-shop h1.woocommerce-products-header__title {
	margin-block: 0 .5rem;
}

.ps-shop .term-description {
	max-inline-size: 62ch;
	color: var(--ps-muted);
	font-size: 1rem;
	margin-block-end: 2rem;
}

/* Лента с брой резултати и сортиране */
.woocommerce .woocommerce-result-count {
	float: left;
	margin: 0;
	padding-block: .7rem;
	font-size: .875rem;
	color: var(--ps-muted);
}

.woocommerce .woocommerce-ordering {
	float: right;
	margin: 0;
}

.woocommerce .woocommerce-ordering select {
	inline-size: auto;
	padding: .6rem 2.25rem .6rem .9rem;
	font-size: .875rem;
	border: 1px solid var(--ps-line);
	border-radius: 8px;
	background-color: #fff;
}

.woocommerce ul.products {
	clear: both;
	padding-block-start: 1.75rem;
	margin-block-start: 1rem;
	border-block-start: 1px solid var(--ps-line);
}

/* Съдържанието на картата подравнено вляво */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product * {
	text-align: left;
}

.woocommerce ul.products li.product .star-rating { margin-inline-start: 1.15rem; }

/* Двуколонен изглед на продуктовата страница */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
	column-gap: clamp(2rem, 4.5vw, 4.5rem);
	row-gap: 3.5rem;
	align-items: start;
}

.woocommerce div.product > div.images,
.woocommerce div.product > .woocommerce-product-gallery {
	grid-column: 1;
	float: none !important;
	inline-size: auto !important;
	margin: 0 !important;
	position: relative;
}

.woocommerce div.product > div.summary {
	grid-column: 2;
	float: none !important;
	inline-size: auto !important;
	margin: 0 !important;
}

.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells,
.woocommerce div.product > .up-sells {
	grid-column: 1 / -1;
	inline-size: 100%;
	float: none !important;
	margin: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper { margin: 0; }

.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: .6rem;
	margin-block-start: .75rem;
	padding: 0;
}

.woocommerce div.product .flex-control-thumbs li { inline-size: auto; margin: 0; }

.woocommerce div.product .stock {
	font-size: .875rem;
	font-weight: 600;
	color: var(--wp--preset--color--success, #2f7d5f);
	margin-block-end: .75rem;
}

.woocommerce div.product .stock.out-of-stock { color: #b3453a; }

/* Свързани продукти в мрежа */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
	border-block-start: 0;
	padding-block-start: 0;
	margin-block-start: 0;
}

/* Количка и каса — двуколонен изглед на широк екран */
@media (min-width: 900px) {
	.woocommerce-checkout .woocommerce form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
		gap: 3rem;
		align-items: start;
	}
	.woocommerce-checkout .woocommerce form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout .woocommerce form.checkout h3#order_review_heading { grid-column: 2; grid-row: 1; margin-block-start: 0; }
	.woocommerce-checkout .woocommerce form.checkout #order_review { grid-column: 2; grid-row: 2; }
	.woocommerce-checkout .woocommerce form.checkout .col2-set .col-1,
	.woocommerce-checkout .woocommerce form.checkout .col2-set .col-2 {
		float: none;
		inline-size: 100%;
	}
}

@media (max-width: 900px) {
	.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 2rem;
	}
	.woocommerce div.product > div.summary,
	.woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; }
}

/* Мини количка и профил в хедъра */
.ps-header .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem .9rem;
	border: 1px solid var(--ps-line);
	border-radius: 999px;
	font-size: .875rem;
	font-weight: 600;
	color: var(--ps-ink);
	background: #fff;
	transition: border-color var(--ps-transition), background var(--ps-transition);
}

.ps-header .wc-block-mini-cart__button:hover {
	border-color: var(--ps-primary);
	background: var(--ps-tint);
}

.ps-header .wc-block-customer-account {
	display: inline-flex;
	align-items: center;
}

.ps-header .wc-block-customer-account__account-icon { color: var(--ps-ink); }

/* Клиърфикс псевдоелементите на WooCommerce не трябва да са grid клетки */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce div.product::before,
.woocommerce div.product::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

/* Промо етикетът остава горе вляво и не се реже */
.woocommerce ul.products li.product span.onsale,
.woocommerce span.onsale {
	inset-block-start: .85rem !important;
	inset-inline-start: .85rem !important;
	inset-inline-end: auto !important;
	inset-block-end: auto !important;
	right: auto !important;
	left: .85rem !important;
	top: .85rem !important;
}

/* Контурен бутон върху тъмна секция */
.ps-section--ink .wp-block-button.is-style-outline .wp-block-button__link {
	color: #ffffff;
	border-color: rgba(255, 255, 255, .35);
	background: transparent;
}

.ps-section--ink .wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--ps-ink);
	background: #ffffff;
	border-color: #ffffff;
}

.ps-section--ink .ps-eyebrow { color: #7fd3d8; }

/* Пет категории в един ред на широк екран */
@media (min-width: 1100px) {
	.ps-catgrid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* =========================================================
   12. Форма за контакт и допълнения по съдържанието
   ========================================================= */

.ps-product-intro {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--ps-muted);
}

.wpcf7 {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	background: #fff;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: 0 1px 2px rgba(10, 29, 35, .04), 0 8px 24px rgba(10, 29, 35, .05);
}

.wpcf7 p { margin-block: 0 1.15rem; }

.wpcf7 label {
	display: block;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--ps-ink);
}

.wpcf7 label br { display: none; }

.wpcf7 .wpcf7-form-control-wrap { display: block; margin-block-start: .4rem; }

.ps-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0 1.25rem;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }

.wpcf7 .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	font-weight: 400;
	font-size: .875rem;
	color: var(--ps-muted);
	line-height: 1.6;
}

.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
	inline-size: auto;
	margin-block-start: .2rem;
	accent-color: var(--ps-primary);
}

.wpcf7 .wpcf7-submit {
	inline-size: auto;
	background: var(--ps-primary);
	color: #fff;
	border: 1px solid var(--ps-primary);
	border-radius: 8px;
	padding: .95rem 1.75rem;
	font-size: .9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--ps-transition);
}

.wpcf7 .wpcf7-submit:hover { background: var(--ps-primary-strong); }

.wpcf7 .wpcf7-not-valid-tip {
	font-size: .8125rem;
	color: #b3453a;
	margin-block-start: .35rem;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: .95rem 1.15rem;
	border: 1px solid var(--ps-line);
	border-inline-start: 3px solid var(--ps-primary);
	border-radius: var(--ps-radius);
	background: var(--ps-surface);
	font-size: .9375rem;
}

/* Блокови количка и каса — дребни изравнявания с темата */
.wc-block-components-title,
.wc-block-cart__totals-title {
	font-family: inherit;
	letter-spacing: -.01em;
}

.wc-block-components-button:not(.is-link) {
	border-radius: 8px;
	font-weight: 600;
	background: var(--ps-primary);
	color: #fff;
}

.wc-block-components-button:not(.is-link):hover { background: var(--ps-primary-strong); }

.wc-block-cart, .wc-block-checkout { --wp--preset--color--primary: #0e6e7c; }

/* Таблици в съдържанието */
.wp-block-table table {
	border: 1px solid var(--ps-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--ps-radius);
	overflow: hidden;
}

.wp-block-table th,
.wp-block-table td {
	border: 0;
	border-block-end: 1px solid var(--ps-line);
	padding: .85rem 1.1rem;
	font-size: .9375rem;
	text-align: left;
}

.wp-block-table th {
	background: var(--ps-surface);
	font-weight: 600;
	font-size: .8125rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ps-muted);
}

.wp-block-table tbody tr:last-child td { border-block-end: 0; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: #fbfcfd; }
.wp-block-table.is-style-stripes { border-bottom: 0; }

/* Иконки в хедъра */
.ps-header .wp-block-shortcode { margin: 0; }

.ps-cart-link__icon { flex: none; }

.ps-cart-link__total { font-variant-numeric: tabular-nums; }

.ps-account-link {
	display: inline-grid;
	place-items: center;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	border: 1px solid var(--ps-line);
	border-radius: 999px;
	color: var(--ps-ink);
	background: #fff;
	transition: border-color var(--ps-transition), background var(--ps-transition);
}

.ps-account-link:hover {
	border-color: var(--ps-primary);
	background: var(--ps-tint);
	color: var(--ps-primary-strong);
}

.screen-reader-text {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Минимален хедър на касата */
.ps-header--checkout { position: static; background: #fff; }
.ps-secure-note { color: var(--ps-muted); margin: 0; }
.ps-secure-note a { color: var(--ps-primary); }

/* Шорткодовете в хедъра се увиват в <p> от wpautop */
.ps-header .wp-block-group > p {
	margin: 0;
	display: flex;
	align-items: center;
}

/* =========================================================
   13. Мобилни корекции
   ========================================================= */

@media (max-width: 782px) {
	.woocommerce ul.products,
	.wp-block-woocommerce-product-template {
		grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
		gap: .75rem;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding: .85rem .85rem 0;
		font-size: .875rem !important;
	}

	.woocommerce ul.products li.product .price {
		padding: .35rem .85rem 0;
		font-size: 1rem !important;
	}

	.woocommerce ul.products li.product .button {
		margin: .75rem .85rem .85rem;
		padding: .6rem .75rem;
		font-size: .8125rem;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
		display: block;
		inline-size: 100%;
		margin: 0;
	}

	.woocommerce .woocommerce-ordering { margin-block-start: .75rem; }
	.woocommerce .woocommerce-ordering select { inline-size: 100%; }
	.woocommerce ul.products { margin-block-start: 1.25rem; }

	.ps-topbar p { font-size: .75rem !important; line-height: 1.55; }

	.ps-hero__media img { max-block-size: 62vh; object-fit: contain; }
}

@media (max-width: 620px) {
	.ps-cart-link__total { display: none; }
	.ps-cart-link { gap: .4rem; padding: .5rem .7rem; }
	.ps-header .wp-block-group.is-nowrap { gap: .5rem !important; }
	.ps-stats { grid-template-columns: 1fr 1fr; }
	.ps-catgrid { grid-template-columns: 1fr 1fr; gap: .75rem; }
	.ps-cat { min-block-size: 170px; padding: 1rem; }
	.ps-cat strong { font-size: .9375rem; }
	.ps-cat span { font-size: .75rem; }
}

@media (max-width: 420px) {
	.ps-catgrid { grid-template-columns: 1fr; }
	.ps-stats { grid-template-columns: 1fr; }
}

/* Никога хоризонтален скрол.
   overflow-x: clip вместо hidden — hidden прави от body скрол-контейнер
   и убива position: sticky на хедъра. */
html { max-inline-size: 100%; }
body { max-inline-size: 100%; overflow-x: clip; }

/* Търсачка */
.wp-block-search__inside-wrapper { gap: .6rem; max-inline-size: 34rem; }
.wp-block-search .wp-block-search__input {
	border: 1px solid var(--ps-line);
	border-radius: 8px;
	padding: .85rem 1rem;
}
.wp-block-search .wp-block-search__button {
	border-radius: 8px;
	background: var(--ps-primary);
	border: 1px solid var(--ps-primary);
	color: #fff;
	padding: .85rem 1.5rem;
	font-weight: 600;
	font-size: .9375rem;
}
.wp-block-search .wp-block-search__button:hover { background: var(--ps-primary-strong); }

/* Миниатюри в продуктовата галерия */
.woocommerce div.product .flex-control-thumbs {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	margin-block-start: .75rem;
	padding: 0;
}

.woocommerce div.product .flex-control-thumbs li {
	inline-size: 100% !important;
	margin: 0 !important;
	list-style: none;
}

.woocommerce div.product .flex-control-thumbs img {
	display: block;
	inline-size: 100% !important;
	block-size: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid var(--ps-line);
	border-radius: 8px;
	opacity: .7;
	cursor: pointer;
	transition: opacity var(--ps-transition), border-color var(--ps-transition);
}

.woocommerce div.product .flex-control-thumbs img:hover { opacity: 1; }

.woocommerce div.product .flex-control-thumbs img.flex-active {
	opacity: 1;
	border-color: var(--ps-primary);
}

/* Иконка за увеличение */
.woocommerce div.product .woocommerce-product-gallery__trigger {
	inset-block-start: 1rem;
	inset-inline-end: 1rem;
	z-index: 3;
}

/* =========================================================
   14. Ред „количество + добави в количката“
   ========================================================= */

.woocommerce div.product form.cart {
	align-items: center;
	gap: .75rem;
}

.woocommerce div.product form.cart .quantity {
	flex: 0 0 auto;
	margin: 0;
	display: block;
}

.woocommerce div.product form.cart .quantity input.qty {
	inline-size: 6rem;
	block-size: 3.25rem;
	padding: 0 .25rem 0 .75rem;
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	border-radius: 8px;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1 1 15rem;
	block-size: 3.25rem;
	padding-block: 0;
	padding-inline: 1.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
}

/* Същото подравняване и в количката */
.woocommerce table.cart td.product-quantity .quantity input.qty {
	inline-size: 5.5rem;
	block-size: 2.75rem;
	padding: 0 .25rem 0 .6rem;
	text-align: center;
	font-weight: 600;
}

@media (max-width: 480px) {
	.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 100%; }
}

/* Полето за количество да мери височината си като бутона */
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce table.cart td.product-quantity .quantity input.qty,
.woocommerce div.product form.cart .single_add_to_cart_button {
	box-sizing: border-box;
}

/* Галерията: по-големи миниатюри и по-ясно активно състояние */
.woocommerce div.product .flex-control-thumbs img {
	border-width: 2px;
	border-radius: 10px;
	background: var(--ps-surface);
}

.woocommerce div.product .flex-control-thumbs img.flex-active {
	box-shadow: 0 0 0 1px var(--ps-primary);
}

@media (max-width: 900px) {
	.woocommerce div.product .flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: .5rem;
	}
}

/* =========================================================
   15. Галерията никога да не излиза извън контейнера
   ========================================================= */

.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > div.images {
	max-inline-size: 100%;
	min-inline-size: 0;
	overflow: hidden;
}

.woocommerce div.product .flex-viewport,
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery__image {
	max-inline-size: 100%;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
	inline-size: 100%;
	block-size: auto;
}

.woocommerce div.product > div.summary { min-inline-size: 0; }

/* Лупата на галерията е мишка-базирана — на тъч устройства само пречи */
@media (max-width: 900px) {
	.woocommerce div.product .zoomImg { display: none !important; }
}

.woocommerce div.product .woocommerce-product-gallery__image { overflow: hidden; }

/* Хероят на телефон */
@media (max-width: 900px) {
	.ps-hero__grid { padding-block: 2.5rem 3rem; }
	.ps-hero__media img { max-block-size: 46vh; object-fit: contain; }
}

/* =========================================================
   16. Мобилно меню (overlay)
   ========================================================= */

.wp-block-navigation__responsive-container.is-menu-open {
	background: #ffffff;
	padding: 1.5rem clamp(1.25rem, 5vw, 3rem) 3rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-block-start: 1rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0;
	inline-size: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	inline-size: 100%;
	border-block-end: 1px solid var(--ps-line);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	inline-size: 100%;
	padding-block: 1.05rem;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--ps-ink);
	border: 0;
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	color: var(--ps-ink);
	padding: .35rem;
}

.wp-block-navigation__responsive-close {
	max-inline-size: 100%;
}

.wp-block-navigation__responsive-container-close {
	inset-block-start: 1.25rem;
	inset-inline-end: clamp(1.25rem, 5vw, 3rem);
}

/* Отстъпи в мобилното меню (ядрото налага padding: 0 на контейнера) */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem 0 3rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-inline: clamp(1.25rem, 5vw, 3rem);
	inline-size: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:first-child {
	border-block-start: 1px solid var(--ps-line);
}

.wp-block-navigation__responsive-container-close {
	inset-inline-end: clamp(1.25rem, 5vw, 3rem) !important;
	inset-block-start: 1.1rem !important;
}

/* =========================================================
   17. Количка и каса на телефон
   ========================================================= */

.woocommerce .cart-collaterals,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce table.shop_table,
.woocommerce form.checkout,
.woocommerce .woocommerce-cart-form {
	box-sizing: border-box;
	max-inline-size: 100%;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells {
	inline-size: 100%;
	float: none;
}

@media (min-width: 900px) {
	.woocommerce .cart-collaterals { display: flex; justify-content: flex-end; }
	.woocommerce .cart-collaterals .cart_totals { inline-size: min(26rem, 100%); }
}

.woocommerce table.shop_table,
.woocommerce table.cart,
.woocommerce-checkout table.shop_table {
	inline-size: 100%;
	table-layout: auto;
}

@media (max-width: 782px) {
	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		text-align: right;
	}

	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.shop_table_responsive tr td::before {
		font-size: .75rem;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--ps-muted);
		font-weight: 600;
	}

	.woocommerce table.cart img { inline-size: 56px; }

	.woocommerce .actions .coupon { inline-size: 100%; }
	.woocommerce .actions .coupon input.input-text { inline-size: 100%; margin-block-end: .6rem; }
	.woocommerce .actions .button { inline-size: 100%; }

	/* По-удобни за пръст бутони в каталога */
	.woocommerce ul.products li.product .button {
		min-block-size: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.woocommerce-checkout #order_review,
	.woocommerce .cart-collaterals .cart_totals {
		padding: 1.15rem;
	}

	.woocommerce #respond input#submit,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button {
		min-block-size: 44px;
	}
}

/* Таблицата с общата сума не бива да разпъва страницата на телефон */
@media (max-width: 782px) {
	.woocommerce .cart_totals table.shop_table,
	.woocommerce-checkout #order_review table.shop_table {
		table-layout: fixed;
		inline-size: 100%;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: .7rem .8rem;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.woocommerce .cart_totals table.shop_table th,
	.woocommerce-checkout #order_review table.shop_table th {
		inline-size: 38%;
	}

	.woocommerce ul#shipping_method,
	.woocommerce-checkout ul#shipping_method {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.woocommerce ul#shipping_method li {
		margin: 0 0 .5rem;
		display: flex;
		align-items: flex-start;
		gap: .5rem;
	}

	.woocommerce ul#shipping_method li label {
		font-size: .875rem;
		line-height: 1.45;
		word-break: break-word;
	}

	.woocommerce-shipping-destination,
	.woocommerce-shipping-calculator { font-size: .8125rem; }
}

/* Ред с действия в количката на телефон */
@media (max-width: 782px) {
	.woocommerce .cart .actions {
		display: grid;
		gap: .6rem;
		padding: 1rem;
	}

	.woocommerce .cart .actions .coupon {
		display: grid;
		gap: .5rem;
		float: none;
		inline-size: 100%;
		padding: 0;
	}

	.woocommerce .cart .actions .coupon input.input-text,
	.woocommerce .cart .actions .coupon .button,
	.woocommerce .cart .actions > .button {
		inline-size: 100%;
		float: none;
		margin: 0;
		white-space: normal;
	}

	/* Снимката на продукта е полезна — показваме я вместо празен ред */
	.woocommerce table.shop_table_responsive tr td.product-thumbnail {
		display: flex !important;
		justify-content: flex-start;
	}

	.woocommerce table.shop_table_responsive tr td.product-thumbnail::before,
	.woocommerce table.shop_table_responsive tr td.product-remove::before {
		content: "" !important;
		display: none;
	}

	.woocommerce table.shop_table_responsive tr td.product-remove {
		justify-content: flex-end;
		padding-block: .6rem;
	}

	.woocommerce table.cart td.product-thumbnail img {
		inline-size: 72px;
		border-radius: 8px;
		border: 1px solid var(--ps-line);
	}

	.woocommerce table.shop_table_responsive tr td.product-name {
		text-align: right;
	}
}

/* Клетката с действията не е двуколонен ред, а блок */
@media (max-width: 782px) {
	.woocommerce table.shop_table_responsive tr td.actions,
	.woocommerce-page table.shop_table_responsive tr td.actions {
		display: block !important;
		text-align: left;
	}

	.woocommerce .cart .actions .coupon input.input-text,
	.woocommerce .cart .actions .coupon .button,
	.woocommerce .cart .actions > .button,
	.woocommerce .cart .actions input.button {
		inline-size: 100% !important;
		max-inline-size: 100%;
		box-sizing: border-box;
	}

	/* Без вътрешни вертикални линии в отзивчивата таблица */
	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		border-inline: 0 !important;
	}

	.woocommerce table.shop_table_responsive tr td.product-thumbnail {
		padding-block: .85rem;
	}
}

/* Всеки ред от количката като отделна карта — по-чисто от таблица на телефон */
@media (max-width: 782px) {
	.woocommerce table.shop_table_responsive,
	.woocommerce-page table.shop_table_responsive {
		border: 0;
		border-radius: 0;
		overflow: visible;
	}

	.woocommerce table.shop_table_responsive thead,
	.woocommerce-page table.shop_table_responsive thead { display: none; }

	.woocommerce table.shop_table_responsive tbody,
	.woocommerce-page table.shop_table_responsive tbody { display: block; }

	.woocommerce table.shop_table_responsive tbody tr,
	.woocommerce-page table.shop_table_responsive tbody tr {
		display: block;
		border: 1px solid var(--ps-line);
		border-radius: var(--ps-radius-lg);
		background: #fff;
		margin-block-end: .75rem;
		overflow: hidden;
	}

	.woocommerce table.shop_table_responsive tbody tr td,
	.woocommerce-page table.shop_table_responsive tbody tr td {
		border: 0 !important;
		border-block-end: 1px solid var(--ps-line) !important;
	}

	.woocommerce table.shop_table_responsive tbody tr td:last-child,
	.woocommerce-page table.shop_table_responsive tbody tr td:last-child {
		border-block-end: 0 !important;
	}

	.woocommerce table.shop_table_responsive tbody tr.cart_item td.product-remove {
		background: var(--ps-surface);
	}

	.woocommerce table.shop_table_responsive tbody tr td.actions {
		border: 0 !important;
		background: transparent;
	}

	/* Таблицата с общата сума остава класическа */
	.woocommerce .cart_totals table.shop_table tbody,
	.woocommerce-checkout #order_review table.shop_table tbody { display: table-row-group; }

	.woocommerce .cart_totals table.shop_table tbody tr,
	.woocommerce-checkout #order_review table.shop_table tbody tr {
		display: table-row;
		border: 0;
		border-radius: 0;
		margin: 0;
		background: transparent;
	}

	.woocommerce .cart_totals table.shop_table tbody tr td,
	.woocommerce .cart_totals table.shop_table tbody tr th,
	.woocommerce-checkout #order_review table.shop_table tbody tr td,
	.woocommerce-checkout #order_review table.shop_table tbody tr th {
		display: table-cell;
		border-block-end: 1px solid var(--ps-line) !important;
	}
}

/* Снимката и името в количката са един блок */
@media (max-width: 782px) {
	.woocommerce table.shop_table_responsive tbody tr td.product-thumbnail {
		border-block-end: 0 !important;
		padding-block-end: 0;
	}

	.woocommerce table.shop_table_responsive tbody tr td.product-thumbnail::after,
	.woocommerce table.shop_table_responsive tbody tr td.product-thumbnail::before {
		display: none !important;
		content: none !important;
	}

	.woocommerce table.shop_table_responsive tbody tr td.product-name {
		padding-block-start: .75rem;
	}
}

/* iOS Safari увеличава страницата при фокус в поле под 16px — избягваме го */
@media (max-width: 782px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	select,
	textarea,
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.select2-container--default .select2-selection--single,
	.select2-container--default .select2-search--dropdown .select2-search__field,
	.wpcf7 input,
	.wpcf7 textarea,
	.wpcf7 select {
		font-size: 16px;
	}
}

/* =========================================================
   18. Продуктова карта — подредена и с гаранции за качество
   ========================================================= */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: 14px;
	overflow: hidden;
	transition:
		border-color var(--ps-transition),
		box-shadow var(--ps-transition),
		transform var(--ps-transition);
}

.woocommerce ul.products li.product:hover {
	border-color: #c6d7dc;
	box-shadow: 0 2px 4px rgba(10, 29, 35, .05), 0 20px 40px rgba(10, 29, 35, .10);
	transform: translateY(-2px);
}

/* Снимката леко се приближава при посочване */
/* Връзката на WooCommerce обгражда снимка, име, гаранции и цена, но не и бутона.
   Фон върху нея оцветяваше картата само наполовина — затова е прозрачна. */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	position: relative;
	background: transparent;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > picture {
	display: block;
	overflow: hidden;
}

.woocommerce ul.products li.product a img {
	transition: transform 420ms cubic-bezier(.2, .6, .2, 1);
}

.woocommerce ul.products li.product:hover a img { transform: scale(1.035); }

/* Заглавието заема винаги два реда, за да са подравнени цените */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-block-size: 2.8em;
	padding: 1.1rem 1.15rem 0;
	margin: 0;
	font-size: .9375rem !important;
	font-weight: 600;
	line-height: 1.4;
}

/* Ленти с гаранции.
   Селекторът е нарочно дълъг: WooCommerce има .woocommerce .products ul,
   което е по-специфично от .ps-chips и нулира отстъпите. */
.woocommerce ul.products li.product ul.ps-chips,
.ps-chips {
	display: grid;
	gap: .32rem;
	justify-items: start;
	list-style: none;
	margin: .9rem 0 0;
	padding: 0 1.15rem;
}

.woocommerce ul.products li.product .ps-chips { text-align: left; }

.ps-chip {
	display: grid;
	grid-template-columns: .9rem 1fr;
	align-items: center;
	gap: .45rem;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--ps-muted);
	white-space: nowrap;
	line-height: 1.45;
}

.ps-chip::before {
	content: "";
	inline-size: .9rem;
	block-size: .9rem;
	flex: none;
	border-radius: 50%;
	background:
		linear-gradient(transparent, transparent),
		var(--ps-tint);
	box-shadow: inset 0 0 0 1px rgba(14, 110, 124, .3);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.3l2 2 4-4.4' fill='none' stroke='%230a525c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

/* Цена */
.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .5rem;
	padding: .75rem 1.15rem 0;
	margin: 0;
	font-size: 1.1875rem !important;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--ps-ink);
}

.woocommerce ul.products li.product .price del {
	order: 2;
	font-size: .875rem;
	font-weight: 500;
	color: var(--ps-muted);
	opacity: .85;
	margin: 0;
}

.woocommerce ul.products li.product .price ins {
	order: 1;
	background: transparent;
	text-decoration: none;
	color: var(--ps-ink);
}

/* Спестявате */
.ps-save {
	display: flex;
	align-items: baseline;
	gap: .3rem;
	flex-wrap: nowrap;
	margin: .35rem 0 1.25rem;
	padding: 0 1.15rem;
	font-size: .75rem;
	font-weight: 600;
	color: var(--wp--preset--color--success, #2f7d5f);
	letter-spacing: .01em;
}

.ps-save .woocommerce-Price-amount { font-weight: 700; }

.ps-save--single {
	padding: 0;
	margin-block: -.75rem 1.25rem;
	font-size: .875rem;
	display: flex;
	align-items: center;
	gap: .5rem;
}

.ps-save__pct {
	display: inline-flex;
	padding: .15rem .45rem;
	border-radius: 5px;
	background: var(--wp--preset--color--success, #2f7d5f);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .02em;
}

/* Бутон „Добави“ */
.woocommerce ul.products li.product .button {
	margin: auto 1.15rem 1.15rem;
	min-block-size: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ps-primary);
	color: #fff;
	border: 1px solid var(--ps-primary);
	border-radius: 8px;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .01em;
	padding: .55rem 1rem;
	box-shadow: none;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product .button:focus-visible {
	background: var(--ps-primary-strong);
	border-color: var(--ps-primary-strong);
	color: #fff;
	box-shadow: 0 3px 10px rgba(14, 110, 124, .22);
}

.woocommerce ul.products li.product .button.loading,
.woocommerce ul.products li.product .button.added {
	background: var(--ps-primary-strong);
	border-color: var(--ps-primary-strong);
	color: #fff;
}

/* Етикет с процент отстъпка */
.woocommerce span.onsale,
.woocommerce ul.products li.product span.onsale {
	padding: .38rem .58rem;
	border-radius: 7px;
	background: var(--ps-ink);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: none;
	box-shadow: 0 2px 10px rgba(10, 29, 35, .25);
}

@media (max-width: 782px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding: .85rem .85rem 0;
		min-block-size: 2.8em;
	}
	.woocommerce ul.products li.product ul.ps-chips,
	.ps-chips { padding-inline: .85rem; gap: .28rem; margin-block-start: .75rem; }
	.ps-chip { font-size: .6875rem; grid-template-columns: .8rem 1fr; gap: .38rem; }
	.ps-chip::before { inline-size: .8rem; block-size: .8rem; }
	.woocommerce ul.products li.product .price {
		padding: .6rem .85rem 0;
		font-size: 1rem !important;
		flex-wrap: nowrap;
		gap: .4rem;
	}

	.woocommerce ul.products li.product .price del { font-size: .75rem; }
	.woocommerce ul.products li.product .price .woocommerce-Price-amount { white-space: nowrap; }
	.ps-save { padding-inline: .85rem; font-size: .6875rem; }
	.woocommerce ul.products li.product .button {
		margin: auto .85rem .85rem;
		font-size: .875rem;
		min-block-size: 44px;
	}
}

/* Лента с гаранции над каталога */
.ps-assurance-bar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	background: var(--ps-line);
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	overflow: hidden;
	clear: both;
}

.ps-assurance-bar li {
	background: #fff;
	padding: 1rem 1.15rem;
	margin: 0;
	display: grid;
	gap: .2rem;
	align-content: start;
}

.ps-assurance-bar strong {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--ps-ink);
	line-height: 1.35;
}

.ps-assurance-bar strong::before {
	content: "";
	inline-size: 1rem;
	block-size: 1rem;
	flex: none;
	border-radius: 50%;
	background-color: var(--ps-tint);
	box-shadow: inset 0 0 0 1px rgba(14, 110, 124, .3);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.3l2 2 4-4.4' fill='none' stroke='%230a525c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.ps-assurance-bar span {
	font-size: .75rem;
	line-height: 1.5;
	color: var(--ps-muted);
}

@media (max-width: 1024px) {
	.ps-assurance-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.ps-assurance-bar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-block-end: 1.5rem;
	}
	.ps-assurance-bar li { padding: .7rem .8rem; }
	.ps-assurance-bar strong { font-size: .8125rem; gap: .35rem; align-items: flex-start; }
	.ps-assurance-bar strong::before { margin-block-start: .1rem; }
	/* Обяснителният ред отпада — на малък екран важно е самото твърдение. */
	.ps-assurance-bar span { display: none; }
}

/* Звезди за рейтинг — показват се само при истински отзиви */
.woocommerce .star-rating {
	color: #d8a13a;
	font-size: .8125rem;
	margin: .65rem 0 0;
	float: none;
}

.woocommerce ul.products li.product .star-rating {
	margin: .7rem 1.15rem 0;
}

.woocommerce .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin-block-end: 1rem;
}

.woocommerce .woocommerce-product-rating .woocommerce-review-link {
	font-size: .8125rem;
	color: var(--ps-muted);
}

.woocommerce #reviews #comments h2 { font-size: 1.25rem; }

.woocommerce #review_form_wrapper {
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius-lg);
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--ps-surface);
	margin-block-start: 1.5rem;
}

.woocommerce #review_form #respond p.stars a { color: #d8a13a; }

.woocommerce-noreviews {
	border: 1px solid var(--ps-line);
	border-inline-start: 3px solid var(--ps-primary);
	border-radius: var(--ps-radius);
	background: var(--ps-surface);
	padding: 1rem 1.25rem;
	font-size: .9375rem;
	color: var(--ps-muted);
}


/* =========================================================
   19. Плаващ бутон към WhatsApp
   ========================================================= */

.ps-whatsapp {
	position: fixed;
	inset-block-end: calc(1.25rem + env(safe-area-inset-bottom, 0px));
	inset-inline-end: calc(1.25rem + env(safe-area-inset-right, 0px));
	z-index: 60;
	display: inline-flex;
	align-items: center;
	padding: .5rem;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(10, 29, 35, .18), 0 12px 32px rgba(37, 211, 102, .35);
	transition:
		transform var(--ps-transition),
		box-shadow var(--ps-transition),
		background var(--ps-transition);
}

.ps-whatsapp:hover,
.ps-whatsapp:focus-visible {
	background: #1eb955;
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(10, 29, 35, .22), 0 16px 40px rgba(37, 211, 102, .45);
}

.ps-whatsapp__icon {
	display: grid;
	place-items: center;
	inline-size: 3rem;
	block-size: 3rem;
	flex: none;
	border-radius: 50%;
}

.ps-whatsapp__icon svg { display: block; }

.ps-whatsapp__label {
	max-inline-size: 0;
	overflow: hidden;
	white-space: nowrap;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .01em;
	opacity: 0;
	transition:
		max-inline-size 260ms cubic-bezier(.4, 0, .2, 1),
		opacity 200ms ease,
		padding 260ms cubic-bezier(.4, 0, .2, 1);
}

@media (hover: hover) and (min-width: 783px) {
	.ps-whatsapp:hover .ps-whatsapp__label,
	.ps-whatsapp:focus-visible .ps-whatsapp__label {
		max-inline-size: 15rem;
		opacity: 1;
		padding-inline: .9rem .35rem;
	}
}

@media (max-width: 782px), (hover: none) {
	.ps-whatsapp__label {
		position: absolute;
		inline-size: 1px;
		block-size: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.ps-whatsapp {
		inset-block-end: calc(1rem + env(safe-area-inset-bottom, 0px));
		inset-inline-end: calc(1rem + env(safe-area-inset-right, 0px));
	}

	.ps-whatsapp__icon { inline-size: 2.75rem; block-size: 2.75rem; }
}

@media (prefers-reduced-motion: no-preference) {
	.ps-whatsapp::before {
		content: "";
		position: absolute;
		inset: .5rem;
		border-radius: 50%;
		border: 2px solid rgba(37, 211, 102, .6);
		animation: ps-whatsapp-pulse 2.4s ease-out 3;
		pointer-events: none;
	}

	@keyframes ps-whatsapp-pulse {
		0%   { transform: scale(1);    opacity: .7; }
		70%  { transform: scale(1.55); opacity: 0; }
		100% { transform: scale(1.55); opacity: 0; }
	}
}

@media (max-width: 782px) {
	.woocommerce-checkout .ps-whatsapp { inset-block-end: calc(4.5rem + env(safe-area-inset-bottom, 0px)); }
}

/* Продукт без промоция — отстъпът идва от реда с цената */
.woocommerce ul.products li.product .price { margin-block-end: 1.25rem; }
.woocommerce ul.products li.product .price:has(+ .ps-save) { margin-block-end: 0; }

@media (max-width: 782px) {
	/* На тъч устройство целта остава 44 px */
	.woocommerce ul.products li.product .button { min-block-size: 44px; }
	.ps-save { margin-block-end: 1rem; }
	.woocommerce ul.products li.product .price { margin-block-end: 1rem; }
	.woocommerce ul.products li.product .price:has(+ .ps-save) { margin-block-end: 0; }
}

/* Бутонът в каталога мери височината си с подложката и рамката.
   Без това min-block-size се събира с padding-а и бутонът става 64 px. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	box-sizing: border-box;
}
