/* S-M Limited - продуктова страница (B3.3).
   Спецификация: makets/final/produkt-desktop.html, produkt-mobile.html, produkt-size-modal-desktop.html;
   design/dc/Продукт.dc.html. Woo default CSS не се зарежда тук (inc/card.php) - всичко е по макета. */

/* ---------- Мрежа: галерия 55 | дясна колона 45 ---------- */
.sm-pdp__top {
	max-width: var(--sm-container);
	margin: 0 auto;
	padding: 24px 20px 80px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 55fr 45fr;
	gap: 48px;
	align-items: start;
}

.sm-pdp__gallery {
	position: sticky;
	top: 88px;
	min-width: 0;
}

/* ---------- Галерия (Woo flexslider/zoom/photoswipe) ---------- */
.sm-pdp .woocommerce-product-gallery {
	position: relative;
	margin: 0;
}

.sm-pdp .woocommerce-product-gallery.sm-gallery--multi {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.sm-pdp .sm-gallery--multi > .woocommerce-product-gallery__wrapper,
.sm-pdp .sm-gallery--multi > .flex-viewport {
	grid-column: 2;
	grid-row: 1;
}

.sm-pdp .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.sm-pdp .flex-viewport {
	container-type: inline-size;
	border-radius: var(--sm-radius-s);
	background: var(--sm-img);
}

/* Flexslider слага ширината на слайдовете (inline px) кадър след обвивката 800% - дотогава
   слайдът е широк колкото прозореца, а не 8 пъти (иначе галерията за миг е 16 000px висока). */
.sm-pdp .flex-viewport .woocommerce-product-gallery__wrapper {
	display: flex;
	align-items: flex-start;
}

.sm-pdp .flex-viewport .woocommerce-product-gallery__image {
	flex: none;
	width: 100cqw;
}

.sm-pdp .woocommerce-product-gallery__image {
	position: relative;
	aspect-ratio: 3 / 4;
	background: var(--sm-img);
	border-radius: var(--sm-radius-s);
	overflow: hidden;
}

.sm-pdp .flex-viewport .woocommerce-product-gallery__image {
	border-radius: 0;
}

.sm-pdp .woocommerce-product-gallery__image > a {
	display: block;
	width: 100%;
	height: 100%;
}

.sm-pdp .woocommerce-product-gallery__image img.wp-post-image,
.sm-pdp .woocommerce-product-gallery__image > a > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	mix-blend-mode: multiply;
}

/* До инициализацията на flexslider се вижда само първата снимка (без скок на съдържанието). */
.sm-pdp .sm-gallery--multi:not(:has(.flex-active-slide)) .woocommerce-product-gallery__image:nth-child(n+2) {
	display: none;
}

/* Миниатюрите в колона отляво (flexslider controlNav: thumbnails). */
.sm-pdp .flex-control-thumbs {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sm-pdp .flex-control-thumbs li {
	aspect-ratio: 3 / 4;
	background: var(--sm-img);
	border-radius: var(--sm-radius-s);
	overflow: hidden;
	cursor: pointer;
	outline-offset: 2px;
}

.sm-pdp .flex-control-thumbs li:has(img.flex-active) {
	outline: 1.5px solid var(--sm-ink);
}

.sm-pdp .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
	cursor: pointer;
}

/* Лупата на lightbox-а (Woo я добавя с JS). */
.sm-pdp .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 9;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 22 22' fill='none' stroke='%231F1F1F' stroke-width='1.5'%3E%3Ccircle cx='10' cy='10' r='6.5'/%3E%3Cpath d='M15 15l4.5 4.5'/%3E%3C/svg%3E") center / 20px no-repeat;
	font-size: 0;
	color: transparent;
}

.sm-pdp .woocommerce-product-gallery__trigger span {
	display: none;
}

/* ---------- Дясна колона ---------- */
.sm-pdp__summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.sm-bc {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 13px;
	color: var(--sm-muted);
}

.sm-bc a {
	color: var(--sm-muted);
}

/* Последната трошица (категорията) е текст без линк - тъмна, по макета. */
.sm-bc__item:last-child {
	color: var(--sm-ink);
}

.sm-pdp__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sm-pdp .product_title {
	margin: 0;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.15;
	text-wrap: balance;
}

.sm-pdp__head .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	color: var(--sm-ink);
}

.sm-pdp .price ins {
	order: 1;
	color: var(--sm-sale);
	text-decoration: none;
}

.sm-pdp .price del {
	order: 2;
	font-size: 16px;
	font-weight: 400;
	color: var(--sm-muted);
}

.sm-pdp__materials {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	font-size: 14px;
	background: var(--sm-surface);
	border-radius: var(--sm-radius);
}

.sm-pdp__oeko {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1.5px solid var(--sm-ink);
	border-radius: 50%;
	font-size: 7px;
	font-weight: 800;
}

/* ---------- Вариации: мостри вместо селекти (product.js) ---------- */
.sm-pdp .variations_form {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0;
}

.sm-pdp table.variations,
.sm-pdp table.variations tbody,
.sm-pdp table.variations th,
.sm-pdp table.variations td {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left;
	font-weight: 400;
}

.sm-pdp table.variations {
	width: 100%;
	border-collapse: collapse;
}

.sm-pdp table.variations tbody {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sm-pdp table.variations tr {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Макетът: „Цвят" над „Възраст" (редът на атрибутите в продукта може да е обратен). */
.sm-pdp table.variations tr.sm-var--color {
	order: -1;
}

.sm-pdp table.variations th {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}

.sm-var__title {
	font-size: 14px;
}

.sm-var__guide {
	padding: 0;
	border: 0;
	background: transparent;
	font: 600 13px var(--sm-font);
	color: var(--sm-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.sm-pdp table.variations td.value {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

/* Селектът остава за Woo, скрит визуално (бутоните са контролата). */
.sm-pdp .sm-var__select {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

.sm-pdp .reset_variations {
	display: none;
}

.sm-var__note {
	font-size: 12px;
	color: var(--sm-muted);
}

.sm-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sm-swatches--color {
	gap: 10px;
}

.sm-swatch {
	position: relative;
	flex: none;
	padding: 0;
	overflow: hidden;
	cursor: pointer;
	font-family: var(--sm-font);
}

.sm-swatch--size {
	min-width: 40px;
	height: 40px;
	padding: 0 6px;
	box-sizing: border-box;
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius-s);
	background: #FFFFFF;
	color: var(--sm-ink);
	font-size: 13px;
	font-weight: 700;
}

.sm-swatch--size:hover:not(:disabled) {
	border-color: var(--sm-ink);
}

.sm-swatch--size.is-active {
	border-color: var(--sm-ink);
	background: var(--sm-ink);
	color: #FFFFFF;
}

.sm-swatch--size:disabled {
	color: #B5B5B5;
	cursor: not-allowed;
}

.sm-swatch__strike {
	display: none;
	position: absolute;
	left: -10%;
	top: 50%;
	width: 120%;
	height: 1px;
	background: #CFCFCF;
	transform: rotate(-45deg);
}

.sm-swatch.is-sold .sm-swatch__strike,
.sm-swatch.is-na .sm-swatch__strike {
	display: block;
}

.sm-swatch--color {
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	overflow: visible;
}

.sm-swatch__dot {
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1px #CFCFCF;
}

.sm-swatch__dot.is-none {
	background: #D6D6D6;
}

.sm-swatch--color:hover:not(:disabled) .sm-swatch__dot {
	box-shadow: inset 0 0 0 1px #CFCFCF, 0 0 0 2px #FFFFFF, 0 0 0 3.5px #CFCFCF;
}

.sm-swatch--color.is-active .sm-swatch__dot,
.sm-swatch--color.is-active:hover .sm-swatch__dot {
	box-shadow: inset 0 0 0 1px #CFCFCF, 0 0 0 2px #FFFFFF, 0 0 0 3.5px var(--sm-ink);
}

.sm-swatch--color:disabled {
	opacity: .35;
	cursor: not-allowed;
}

.sm-swatch:focus-visible {
	outline: 2px solid var(--sm-ink);
	outline-offset: 3px;
}

/* Данните за вариацията: цената е горе (product.js), тук остават само изчерпано/описание. */
.sm-pdp .woocommerce-variation-price,
.sm-pdp .woocommerce-variation-availability .in-stock {
	display: none;
}

.sm-pdp .woocommerce-variation-availability p,
.sm-pdp .woocommerce-variation-description p,
.sm-pdp .wc-no-matching-variations,
.sm-pdp .summary > .stock {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--sm-muted);
}

.sm-pdp .summary > .stock {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--sm-sale);
}

/* ---------- Бутон „Добави в количката" + сърце ---------- */
.sm-pdp .woocommerce-variation-add-to-cart,
.sm-pdp form.cart:not(.variations_form) {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 0;
}

/* Макетът е без поле за количество (1 бр.). Скрито визуално, не с display - Woo JS му слага
   inline `display` при избор на вариация. */
.sm-pdp form.cart .quantity {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.sm-pdp .single_add_to_cart_button {
	flex: 1 1 0%;
	min-width: 0;
	height: 52px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--sm-radius);
	background: var(--sm-ink);
	color: #FFFFFF;
	font: 700 16px var(--sm-font);
	cursor: pointer;
}

.sm-pdp .single_add_to_cart_button:hover {
	background: #000000;
}

.sm-pdp .single_add_to_cart_button.disabled {
	opacity: .5;
	cursor: not-allowed;
}

.sm-pdp .single_add_to_cart_button.disabled:hover {
	background: var(--sm-ink);
}

.sm-pdp .single_add_to_cart_button.loading {
	opacity: .7;
	cursor: progress;
}

.sm-pdp .added_to_cart {
	display: none;
}

.sm-pdp__wish {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	box-sizing: border-box;
	border: 1px solid var(--sm-ink);
	border-radius: var(--sm-radius);
	background: #FFFFFF;
	color: var(--sm-ink);
}

/* YITH 4 (React бутон) чете цветовете от CSS променливи - неутрализира се през тях, без !important. */
.sm-pdp__wish {
	--color-add-to-wishlist-background: transparent;
	--color-add-to-wishlist-text: var(--sm-ink);
	--color-add-to-wishlist-border: transparent;
	--color-add-to-wishlist-background-hover: transparent;
	--color-add-to-wishlist-text-hover: var(--sm-sale);
	--color-add-to-wishlist-border-hover: transparent;
	--rounded-corners-radius: var(--sm-radius);
}

.sm-pdp__wish .yith-wcwl-add-to-wishlist-button:hover {
	color: var(--sm-sale);
}

.sm-pdp__wish .yith-wcwl-icon-svg__wrapper {
	display: flex;
}

.sm-pdp__wish .yith-add-to-wishlist-button-block,
.sm-pdp__wish .yith-wcwl-add-to-wishlist-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	color: var(--sm-ink);
	cursor: pointer;
}

.sm-pdp__wish .yith-wcwl-add-to-wishlist-button__label,
.sm-pdp__wish .yith-wcwl-feedback-messages-container {
	display: none;
}

.sm-pdp__wish svg,
.sm-pdp__wish img {
	width: 22px;
	height: 22px;
	margin: 0;
}

/* ---------- Съобщения (Woo notices) ---------- */
.single-product .woocommerce-notices-wrapper:not(:empty) {
	max-width: var(--sm-container);
	margin: 16px auto 0;
	padding: 0 20px;
	box-sizing: border-box;
}

.sm-pdp__notice[hidden] {
	display: none;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .woocommerce-notices-wrapper .woocommerce-info,
.single-product .woocommerce-notices-wrapper .woocommerce-error,
.sm-pdp__notice .woocommerce-message,
.sm-pdp__notice .woocommerce-info,
.sm-pdp__notice .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 12px;
	margin: 0;
	padding: 12px 14px;
	list-style: none;
	font-size: 14px;
	line-height: 1.45;
	background: var(--sm-surface);
	border-radius: var(--sm-radius);
}

.single-product .woocommerce-notices-wrapper .woocommerce-error,
.sm-pdp__notice .woocommerce-error {
	flex-direction: column;
	color: var(--sm-sale);
}

.single-product .woocommerce-notices-wrapper .button,
.sm-pdp__notice .button {
	order: 2;
	flex: none;
	padding: 0;
	border: 0;
	background: none;
	font-weight: 700;
	color: var(--sm-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Доставка, кратко описание ---------- */
.sm-pdp__delivery {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
}

.sm-pdp__delivery-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--sm-mint);
	color: var(--sm-ink);
}

.sm-pdp .woocommerce-product-details__short-description {
	line-height: 1.55;
	text-wrap: pretty;
}

.sm-pdp .woocommerce-product-details__short-description > * {
	margin: 0;
}

.sm-pdp .woocommerce-product-details__short-description > * + * {
	margin-top: .8em;
}

/* ---------- Акордеони (tabs/tabs.php) ---------- */
.sm-acc {
	border-top: 1px solid var(--sm-line);
}

.sm-acc__item {
	border-bottom: 1px solid var(--sm-line);
}

.sm-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.sm-acc__head::-webkit-details-marker {
	display: none;
}

.sm-acc__chev {
	flex: none;
	transition: transform .2s;
}

.sm-acc__item[open] > .sm-acc__head .sm-acc__chev {
	transform: rotate(180deg);
}

.sm-acc__body {
	padding: 0 0 16px;
	font-size: 14px;
	line-height: 1.6;
}

.sm-acc__body > :first-child {
	margin-top: 0;
}

.sm-acc__body p {
	margin: 0 0 .8em;
}

.sm-acc__body > :last-child,
.sm-acc__body > :last-child > :last-child {
	margin-bottom: 0;
}

.sm-acc__body h2,
.sm-acc__body h3 {
	margin: 1em 0 .5em;
	font-size: 15px;
	font-weight: 700;
}

.sm-acc__body img {
	border-radius: var(--sm-radius-s);
}

.sm-pdp .product_meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 12px;
	font-size: 13px;
	color: var(--sm-muted);
}

.sm-pdp .product_meta a {
	color: var(--sm-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Отзиви (Woo single-product-reviews.php). */
.sm-pdp .woocommerce-Reviews-title {
	display: none;
}

.sm-pdp .woocommerce-noreviews {
	margin: 0 0 12px;
}

.sm-pdp .commentlist {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.sm-pdp .commentlist li {
	padding: 12px 0;
	border-bottom: 1px solid var(--sm-line);
}

.sm-pdp .comment_container {
	display: flex;
	gap: 12px;
}

.sm-pdp .comment_container .avatar {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
}

.sm-pdp .comment-text .meta {
	margin: 4px 0;
	font-size: 13px;
	color: var(--sm-muted);
}

.sm-pdp .comment-reply-title {
	display: block;
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
}

.sm-pdp #review_form p {
	margin: 0 0 12px;
}

.sm-pdp #review_form label {
	display: block;
	margin-bottom: 4px;
	font-size: 13px;
	font-weight: 600;
}

.sm-pdp #review_form input[type="text"],
.sm-pdp #review_form input[type="email"],
.sm-pdp #review_form textarea,
.sm-pdp #review_form select {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid var(--sm-line);
	border-radius: var(--sm-radius);
	font: 400 15px var(--sm-font);
	color: var(--sm-ink);
	background: #FFFFFF;
}

.sm-pdp #review_form textarea {
	min-height: 96px;
	resize: vertical;
}

.sm-pdp #review_form input:focus,
.sm-pdp #review_form textarea:focus {
	border-color: var(--sm-ink);
	outline: 0;
}

.sm-pdp #review_form .comment-form-cookies-consent {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.sm-pdp #review_form .comment-form-cookies-consent label {
	font-weight: 400;
}

.sm-pdp #review_form .submit {
	height: 48px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--sm-radius);
	background: var(--sm-ink);
	color: #FFFFFF;
	font: 700 15px var(--sm-font);
	cursor: pointer;
}

.sm-pdp .star-rating {
	position: relative;
	display: inline-block;
	width: 5.5em;
	height: 1.2em;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: .1em;
}

.sm-pdp .star-rating::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	color: #D6D6D6;
}

.sm-pdp .star-rating span {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	overflow: hidden;
	padding-top: 1.5em;
}

.sm-pdp .star-rating span::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--sm-accent);
}

.sm-pdp p.stars span {
	display: inline-flex;
	gap: 2px;
}

.sm-pdp p.stars a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	font-size: 0;
	color: transparent;
	text-decoration: none;
}

.sm-pdp p.stars a::before {
	content: "★";
	font-size: 22px;
	color: #D6D6D6;
}

.sm-pdp p.stars.selected a::before {
	color: var(--sm-accent);
}

.sm-pdp p.stars.selected a.active ~ a::before {
	color: #D6D6D6;
}

.sm-pdp p.stars:hover a::before {
	color: var(--sm-accent);
}

.sm-pdp p.stars a:hover ~ a::before {
	color: #D6D6D6;
}

/* ---------- „Подходящи към него" (related.php) + up-sells ---------- */
.sm-related,
.sm-pdp .up-sells {
	max-width: var(--sm-container);
	margin: 0 auto;
	padding: 0 20px 80px;
	box-sizing: border-box;
}

.sm-related__title,
.sm-pdp .up-sells > h2 {
	margin: 0 0 24px;
	font-size: 28px;
	font-weight: 800;
}

.sm-related__grid,
.sm-pdp .up-sells ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sm-related__item {
	min-width: 0;
}

/* Резервата на related.php, докато картата (B3.4) липсва. */
.sm-related__fallback {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
}

.sm-related__img {
	display: block;
	aspect-ratio: 3 / 4;
	background: var(--sm-img);
	border-radius: var(--sm-radius-s);
	overflow: hidden;
}

.sm-related__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

/* ---------- Модал „Таблица с размери" (dialog) ---------- */
.sm-size {
	width: calc(100% - 32px);
	max-width: 520px;
	padding: 24px;
	box-sizing: border-box;
	border: 0;
	border-radius: var(--sm-radius);
	background: #FFFFFF;
	color: var(--sm-ink);
	font-family: var(--sm-font);
}

.sm-size::backdrop {
	background: rgba(31, 31, 31, .45);
}

.sm-size__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.sm-size__title {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
}

.sm-size__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: -10px -10px -10px 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--sm-ink);
	cursor: pointer;
}

.sm-size__table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 14px;
}

.sm-size__table th,
.sm-size__table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--sm-line);
	text-align: left;
	font-weight: 400;
}

.sm-size__table thead th {
	border-bottom-color: var(--sm-ink);
	font-weight: 700;
}

.sm-size__table tbody th {
	font-weight: 600;
}

.sm-size__note {
	margin: 14px 0 0;
	font-size: 13px;
	color: var(--sm-muted);
}

/* ---------- Мобилна лента (само ≤767px) ---------- */
.sm-pdp-bar {
	display: none;
}

/* ---------- 768-1279: related в 3 колони (общото правило за мрежите) ---------- */
@media (min-width: 768px) and (max-width: 1279px) {
	.sm-related__grid,
	.sm-pdp .up-sells ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sm-related__item:nth-child(n+4) {
		display: none;
	}
}

/* ---------- Мобилно (390) ---------- */
@media (max-width: 767px) {
	.sm-pdp__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		padding: 0 16px 48px;
	}

	.sm-pdp__gallery {
		position: static;
		margin: 0 -16px;
	}

	.sm-pdp .woocommerce-product-gallery.sm-gallery--multi {
		display: block;
	}

	/* Място за точките до инициализацията (без скок). */
	.sm-pdp .sm-gallery--multi:not(:has(.flex-control-nav)) {
		padding-bottom: 22px;
	}

	.sm-pdp .woocommerce-product-gallery__image,
	.sm-pdp .flex-viewport {
		border-radius: 0;
	}

	/* Миниатюрите → точки 6px, активната 18px. */
	.sm-pdp .flex-control-thumbs {
		flex-direction: row;
		justify-content: center;
		gap: 6px;
		padding: 12px 0 4px;
	}

	.sm-pdp .flex-control-thumbs li {
		width: 6px;
		height: 6px;
		aspect-ratio: auto;
		border-radius: 3px;
		background: #D6D6D6;
		outline: 0;
	}

	.sm-pdp .flex-control-thumbs li:has(img.flex-active) {
		width: 18px;
		background: var(--sm-ink);
		outline: 0;
	}

	.sm-pdp .flex-control-thumbs img {
		opacity: 0;
	}

	.sm-pdp .product_title {
		font-size: 24px;
	}

	.sm-swatch--size {
		min-width: 44px;
		height: 44px;
	}

	.sm-related,
	.sm-pdp .up-sells {
		padding: 0 16px 48px;
	}

	.sm-related__title,
	.sm-pdp .up-sells > h2 {
		font-size: 22px;
	}

	.sm-related__grid,
	.sm-pdp .up-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
	}

	.single-product .woocommerce-notices-wrapper:not(:empty) {
		padding: 0 16px;
	}

	/* Като в макета: sticky bottom:0 след футъра - стои долу при скрол, а накрая застава под
	   футъра и не покрива съдържанието му. */
	.sm-pdp-bar {
		position: sticky;
		bottom: 0;
		z-index: 40;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		background: #FFFFFF;
		border-top: 1px solid var(--sm-line);
		visibility: hidden;
		opacity: 0;
		transition: opacity .2s, visibility .2s;
	}

	.sm-pdp-bar.is-visible {
		visibility: visible;
		opacity: 1;
	}

	.sm-pdp-bar__info {
		display: flex;
		flex-direction: column;
		min-width: 0;
		line-height: 1.2;
	}

	.sm-pdp-bar__price {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0 6px;
		font-size: 17px;
	}

	.sm-pdp-bar__price ins {
		order: 1;
		color: var(--sm-sale);
		text-decoration: none;
	}

	.sm-pdp-bar__price del {
		order: 2;
		font-size: 12px;
		font-weight: 400;
		color: var(--sm-muted);
	}

	.sm-pdp-bar__sel {
		font-size: 12px;
		color: var(--sm-muted);
	}

	.sm-pdp-bar__sel:empty {
		display: none;
	}

	.sm-pdp-bar__btn {
		flex: 1 1 0%;
		height: 52px;
		padding: 0 12px;
		border: 0;
		border-radius: var(--sm-radius);
		background: var(--sm-ink);
		color: #FFFFFF;
		font: 700 15px var(--sm-font);
		cursor: pointer;
	}
}
