/* ============================================================
 * Nikita Garden — Single Product (Stitch design)
 * Все классы с префиксом .ng-stitch-* — не конфликтуют с темой.
 * !important используется, чтобы перебить WooCommerce-стили
 * (woocommerce-general.css имеет более высокую специфичность).
 * ============================================================ */

.ng-stitch-product {
	--ng-surface: #fdf9f2;
	--ng-surface-low: #f7f3ec;
	--ng-surface-lowest: #ffffff;
	--ng-surface-container: #f1ede6;
	--ng-card-ivory: #FDFBF7;
	--ng-border: #E5E0D8;
	--ng-text: #1c1c18;
	--ng-text-secondary: #6B6B6B;
	--ng-text-muted: #8A8A8A;
	--ng-primary: #154212;
	--ng-primary-hover: #2d5a27;
	--ng-on-primary: #ffffff;
	--ng-secondary: #8d4e23;
	--ng-secondary-container: #feab78;
	--ng-on-secondary-container: #783d13;
	--ng-tertiary: #4b3504;
	--ng-on-tertiary-container: #dfbe81;
	--ng-in-stock: #27AE60;
	--ng-soft-botanical: #F0F7EE;
	--ng-error: #ba1a1a;
	--ng-error-container: #ffdad6;
	--ng-on-error-container: #93000a;
	--ng-font-headline: 'EB Garamond', Georgia, serif;
	--ng-font-body: 'Inter', 'Plus Jakarta Sans', system-ui, sans-serif;
	background: var(--ng-surface) !important;
	color: var(--ng-text) !important;
	font-family: var(--ng-font-body) !important;
	font-size: 15px !important;
	line-height: 24px !important;
}

/* Секции */
.ng-stitch-product .ng-stitch-section {
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	box-sizing: border-box !important;
}
@media (min-width: 640px) {
	.ng-stitch-product .ng-stitch-section { padding-left: 2rem !important; padding-right: 2rem !important; }
}

/* ============================================================
 * BREADCRUMBS
 * ============================================================ */
.ng-stitch-product .ng-stitch-breadcrumbs-section { padding-top: 1.5rem !important; padding-bottom: 1rem !important; }
.ng-stitch-product .ng-stitch-breadcrumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	font-size: 11px !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--ng-text-secondary) !important;
}
.ng-stitch-product .ng-stitch-breadcrumbs a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color .2s !important;
}
.ng-stitch-product .ng-stitch-breadcrumbs a:hover { color: var(--ng-primary) !important; }
.ng-stitch-product .ng-stitch-breadcrumbs__sep { opacity: .5 !important; }
.ng-stitch-product .ng-stitch-breadcrumbs__current { color: var(--ng-primary) !important; font-weight: 600 !important; }
.ng-stitch-product .ng-stitch-breadcrumbs__cat a { color: var(--ng-text-secondary) !important; }

/* ============================================================
 * HERO GRID
 * ============================================================ */
.ng-stitch-product .ng-stitch-hero { padding-bottom: 4rem !important; }
.ng-stitch-product .ng-stitch-hero__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 2rem !important;
}
@media (min-width: 1024px) {
	.ng-stitch-product .ng-stitch-hero__grid {
		grid-template-columns: 7fr 5fr !important;
		gap: 3.5rem !important;
		align-items: start !important;
	}
}

/* ============================================================
 * GALLERY
 * ============================================================ */
.ng-stitch-product .ng-stitch-gallery { display: flex !important; flex-direction: column !important; gap: 1rem !important; }
.ng-stitch-product .ng-stitch-gallery__main {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 4 / 4.2 !important;
	background: var(--ng-surface-container) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
}
@media (min-width: 640px) {
	.ng-stitch-product .ng-stitch-gallery__main { aspect-ratio: 4 / 3.8 !important; }
}
.ng-stitch-product .ng-stitch-gallery__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform .7s ease !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ng-stitch-product .ng-stitch-gallery__main:hover .ng-stitch-gallery__img { transform: scale(1.05) !important; }
.ng-stitch-product .ng-stitch-badge {
	position: absolute !important;
	top: 1rem !important; left: 1rem !important;
	z-index: 2 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	padding: .375rem .75rem !important;
	border-radius: 999px !important;
}
.ng-stitch-product .ng-stitch-badge--sale { background: var(--ng-secondary-container) !important; color: var(--ng-on-secondary-container) !important; }
.ng-stitch-product .ng-stitch-gallery__zoom-hint {
	position: absolute !important;
	bottom: 1rem !important; right: 1rem !important;
	background: rgba(255,255,255,.9) !important;
	backdrop-filter: blur(8px) !important;
	color: var(--ng-text) !important;
	padding: .625rem !important;
	border-radius: 999px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
	pointer-events: none !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	opacity: 0 !important;
	transition: opacity .3s !important;
}
.ng-stitch-product .ng-stitch-gallery__main:hover .ng-stitch-gallery__zoom-hint { opacity: 1 !important; }
.ng-stitch-product .ng-stitch-gallery__zoom-hint .material-symbols-outlined { font-size: 20px !important; }

.ng-stitch-product .ng-stitch-gallery__thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: .75rem !important;
}
.ng-stitch-product .ng-stitch-thumb {
	position: relative !important;
	aspect-ratio: 1 / 1 !important;
	background: var(--ng-surface-container) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	padding: 2px !important;
	cursor: pointer !important;
	border: 2px solid transparent !important;
	transition: all .2s !important;
}
.ng-stitch-product .ng-stitch-thumb img {
	width: 100% !important; height: 100% !important;
	object-fit: cover !important;
	border-radius: 6px !important;
	display: block !important;
}
.ng-stitch-product .ng-stitch-thumb.is-active { border-color: var(--ng-primary) !important; }

/* ============================================================
 * SUMMARY
 * ============================================================ */
.ng-stitch-product .ng-stitch-summary { display: flex !important; flex-direction: column !important; }
.ng-stitch-product .ng-stitch-summary__top {
	display: flex !important; align-items: center !important; justify-content: space-between !important;
	gap: 1rem !important; padding-bottom: .5rem !important;
}
.ng-stitch-product .ng-stitch-summary__sku {
	font-size: 11px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	color: var(--ng-text-secondary) !important;
}
.ng-stitch-product .ng-stitch-summary__sku strong { color: var(--ng-text) !important; font-weight: 600 !important; }
.ng-stitch-product .ng-stitch-summary__stock {
	display: inline-flex !important; align-items: center !important; gap: .375rem !important;
	padding: .25rem .625rem !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
}
.ng-stitch-product .ng-stitch-summary__stock.is-in-stock {
	background: var(--ng-soft-botanical) !important;
	color: var(--ng-primary) !important;
}
.ng-stitch-product .ng-stitch-summary__stock.is-out {
	background: var(--ng-error-container) !important;
	color: var(--ng-on-error-container) !important;
}
.ng-stitch-product .ng-stitch-summary__stock-dot {
	display: inline-block !important;
	width: 6px !important; height: 6px !important;
	border-radius: 50% !important;
	background: var(--ng-in-stock) !important;
}

/* ЗАГОЛОВОК — перебиваем тему */
.ng-stitch-product .ng-stitch-summary__title {
	font-family: var(--ng-font-headline) !important;
	font-size: 40px !important;
	line-height: 48px !important;
	letter-spacing: -.01em !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	margin: .25rem 0 .5rem !important;
	padding: 0 !important;
}
@media (max-width: 640px) {
	.ng-stitch-product .ng-stitch-summary__title { font-size: 30px !important; line-height: 38px !important; }
}
.ng-stitch-product .ng-stitch-summary__rating {
	display: flex !important; align-items: center !important; gap: .75rem !important;
	padding-bottom: 1rem !important;
	flex-wrap: wrap !important;
}
.ng-stitch-product .ng-stitch-stars {
	display: flex !important; align-items: center !important;
	color: var(--ng-on-tertiary-container) !important;
}
.ng-stitch-product .ng-stitch-stars .material-symbols-outlined { font-size: 20px !important; }
.ng-stitch-product .ng-stitch-summary__rating-num { font-weight: 600 !important; font-size: 14px !important; }
.ng-stitch-product .ng-stitch-summary__rating-link {
	font-size: 13px !important;
	color: var(--ng-text-secondary) !important;
	text-decoration: underline !important;
}

/* EXCERPT — фон карточки */
.ng-stitch-product .ng-stitch-summary__excerpt {
	background: var(--ng-card-ivory) !important;
	padding: 1rem !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
	margin-bottom: 1.5rem !important;
	line-height: 1.7 !important;
	color: var(--ng-text) !important;
	font-size: 15px !important;
}
.ng-stitch-product .ng-stitch-summary__excerpt p { margin: 0 0 .75rem !important; }
.ng-stitch-product .ng-stitch-summary__excerpt p:last-child { margin-bottom: 0 !important; }

/* PRICE BOX — фон блока с ценой */
.ng-stitch-product .ng-stitch-summary__price-box {
	background: var(--ng-surface-container) !important;
	padding: 1rem !important;
	border-radius: 12px !important;
	margin-bottom: 1.5rem !important;
	display: flex !important; flex-wrap: wrap !important; align-items: flex-end !important;
	justify-content: space-between !important; gap: 1rem !important;
	border: 0 !important;
}
.ng-stitch-product .ng-stitch-summary__price-label {
	display: block !important;
	font-size: 11px !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	color: var(--ng-text-secondary) !important;
	margin-bottom: .25rem !important;
}
.ng-stitch-product .ng-stitch-summary__price {
	font-family: var(--ng-font-headline) !important;
	font-size: 40px !important;
	line-height: 1 !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	display: flex !important; align-items: baseline !important; gap: .75rem !important; flex-wrap: wrap !important;
}
.ng-stitch-product .ng-stitch-summary__price .woocommerce-Price-amount,
.ng-stitch-product .ng-stitch-summary__price ins,
.ng-stitch-product .ng-stitch-summary__price bdi {
	color: var(--ng-primary) !important;
	font-family: var(--ng-font-headline) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
.ng-stitch-product .ng-stitch-summary__price del,
.ng-stitch-product .ng-stitch-summary__price del .woocommerce-Price-amount {
	font-size: 16px !important; color: var(--ng-text-secondary) !important;
	font-family: var(--ng-font-body) !important;
	opacity: 0.7 !important;
}

/* ACTIONS — кнопка «В корзину» + избранное */
.ng-stitch-product .ng-stitch-summary__actions {
	display: flex !important; align-items: stretch !important; gap: .75rem !important;
	margin-bottom: 1.5rem !important;
}
.ng-stitch-product .ng-stitch-summary__cart { flex: 1 !important; min-width: 0 !important; }
.ng-stitch-product .ng-stitch-summary__cart form.cart {
	display: flex !important; gap: .5rem !important; flex-wrap: wrap !important;
	align-items: stretch !important;
	margin: 0 !important; padding: 0 !important;
	border: 0 !important;
}

/* QTY — блок количества */
.ng-stitch-product .ng-stitch-summary__cart .quantity {
	display: inline-flex !important; align-items: center !important;
	background: var(--ng-surface-lowest) !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
	padding: 4px !important;
	margin: 0 !important;
	border: 0 !important;
}
.ng-stitch-product .ng-stitch-summary__cart .quantity input.qty {
	width: 60px !important;
	text-align: center !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--ng-font-headline) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	padding: 0 !important;
	height: auto !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
}
.ng-stitch-product .ng-stitch-summary__cart .quantity input.qty::-webkit-outer-spin-button,
.ng-stitch-product .ng-stitch-summary__cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* КНОПКА «В КОРЗИНУ» — главное, что перебиваем от WooCommerce */
.ng-stitch-product .ng-stitch-summary__cart .single_add_to_cart_button,
.ng-stitch-product .ng-stitch-summary__cart button.single_add_to_cart_button,
.ng-stitch-product .ng-stitch-summary__cart button.button.alt,
.ng-stitch-product .ng-stitch-summary__cart .button.alt {
	flex: 1 !important;
	min-height: 48px !important;
	background-color: var(--ng-primary) !important;
	background: var(--ng-primary) !important;
	color: var(--ng-on-primary) !important;
	font-family: var(--ng-font-body) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 0 1.25rem !important;
	cursor: pointer !important;
	transition: background .2s, transform .1s !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: .5rem !important;
	box-shadow: 0 2px 6px rgba(21,66,18,.15) !important;
	text-decoration: none !important;
	line-height: 1 !important;
	min-width: 0 !important;
}
.ng-stitch-product .ng-stitch-summary__cart .single_add_to_cart_button:hover,
.ng-stitch-product .ng-stitch-summary__cart button.single_add_to_cart_button:hover,
.ng-stitch-product .ng-stitch-summary__cart button.button.alt:hover,
.ng-stitch-product .ng-stitch-summary__cart .button.alt:hover {
	background-color: var(--ng-primary-hover) !important;
	background: var(--ng-primary-hover) !important;
	color: var(--ng-on-primary) !important;
}
.ng-stitch-product .ng-stitch-summary__cart .single_add_to_cart_button:active { transform: scale(.99) !important; }
.ng-stitch-product .ng-stitch-summary__cart .single_add_to_cart_button.disabled,
.ng-stitch-product .ng-stitch-summary__cart .single_add_to_cart_button[disabled] {
	opacity: .5 !important; cursor: not-allowed !important;
	background-color: var(--ng-text-muted) !important;
	background: var(--ng-text-muted) !important;
}
.ng-stitch-product .ng-stitch-summary__cart .stock.out-of-stock {
	color: var(--ng-error) !important;
	font-weight: 600 !important;
	padding: .75rem 0 !important;
	display: block !important;
}

/* Кнопка «В избранное» */
.ng-stitch-product .ng-stitch-summary__fav {
	flex-shrink: 0 !important;
	width: 48px !important; height: 48px !important;
	background-color: var(--ng-surface-lowest) !important;
	background: var(--ng-surface-lowest) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
	cursor: pointer !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	color: var(--ng-text-secondary) !important;
	transition: color .2s, background .2s !important;
	padding: 0 !important;
}
.ng-stitch-product .ng-stitch-summary__fav:hover {
	background-color: var(--ng-surface-container) !important;
	background: var(--ng-surface-container) !important;
	color: var(--ng-error) !important;
}
.ng-stitch-product .ng-stitch-summary__fav.is-active { color: var(--ng-error) !important; }
.ng-stitch-product .ng-stitch-summary__fav .material-symbols-outlined {
	font-size: 22px !important; pointer-events: none !important;
}

/* Кнопка «Купить в 1 клик» */
.ng-stitch-product .ng-stitch-summary__one-click {
	width: 100% !important;
	min-height: 44px !important;
	background-color: var(--ng-surface-container) !important;
	background: var(--ng-surface-container) !important;
	color: var(--ng-primary) !important;
	font-family: var(--ng-font-body) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: .04em !important;
	border: 0 !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: .5rem !important;
	margin-bottom: 1.5rem !important;
	transition: background .2s !important;
	padding: 0 1rem !important;
	text-transform: none !important;
}
.ng-stitch-product .ng-stitch-summary__one-click:hover {
	background-color: #e6e2db !important;
	background: #e6e2db !important;
}
.ng-stitch-product .ng-stitch-summary__one-click[disabled] { opacity: .6 !important; cursor: wait !important; }
.ng-stitch-product .ng-stitch-summary__one-click .material-symbols-outlined {
	font-size: 18px !important; pointer-events: none !important;
}

/* TRUST — блок «Доставка/Самовывоз/Почта» */
.ng-stitch-product .ng-stitch-summary__trust {
	background-color: var(--ng-surface-low) !important;
	background: var(--ng-surface-low) !important;
	padding: 1rem !important;
	border-radius: 12px !important;
	display: flex !important; flex-direction: column !important; gap: .875rem !important;
}
.ng-stitch-product .ng-stitch-trust-item {
	display: flex !important; align-items: flex-start !important; gap: .75rem !important;
}
.ng-stitch-product .ng-stitch-trust-item > .material-symbols-outlined {
	color: var(--ng-primary) !important;
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}
.ng-stitch-product .ng-stitch-trust-item__title {
	font-family: var(--ng-font-body) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	margin: 0 0 .15rem !important;
	color: var(--ng-text) !important;
	line-height: 1.3 !important;
}
.ng-stitch-product .ng-stitch-trust-item__desc {
	font-size: 13px !important;
	color: var(--ng-text-secondary) !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

/* ============================================================
 * TABS
 * ============================================================ */
.ng-stitch-product .ng-stitch-tabs-section { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.ng-stitch-product .ng-stitch-tabs {
	display: flex !important; gap: .5rem !important;
	border-bottom: 1px solid var(--ng-border) !important;
	padding-bottom: 1rem !important;
	overflow-x: auto !important;
	margin-bottom: 2rem !important;
}
@media (min-width: 640px) {
	.ng-stitch-product .ng-stitch-tabs { gap: 1.5rem !important; }
}
.ng-stitch-product .ng-stitch-tab-btn {
	background: none !important; border: 0 !important; padding: .5rem 0 !important;
	font-family: var(--ng-font-headline) !important;
	font-size: 22px !important; line-height: 28px !important; font-weight: 600 !important;
	color: var(--ng-text-secondary) !important;
	cursor: pointer !important;
	position: relative !important;
	flex-shrink: 0 !important;
	transition: color .2s !important;
}
.ng-stitch-product .ng-stitch-tab-btn:hover { color: var(--ng-text) !important; }
.ng-stitch-product .ng-stitch-tab-btn.is-active { color: var(--ng-primary) !important; }
.ng-stitch-product .ng-stitch-tab-btn.is-active::after {
	content: '' !important;
	position: absolute !important;
	bottom: -1px !important; left: 0 !important; right: 0 !important;
	height: 2px !important;
	background: var(--ng-primary) !important;
	border-radius: 2px !important;
}
.ng-stitch-product .ng-stitch-tab-pane { display: none !important; padding-top: 1rem !important; }
.ng-stitch-product .ng-stitch-tab-pane.is-active { display: block !important; }
.ng-stitch-product .ng-stitch-tab-content {
	max-width: 64rem !important;
	line-height: 1.7 !important;
	font-size: 15px !important;
	color: var(--ng-text) !important;
}
.ng-stitch-product .ng-stitch-tab-content p { margin: 0 0 1rem !important; }
.ng-stitch-product .ng-stitch-tab-content--specs {
	max-width: 48rem !important;
	background-color: var(--ng-surface-lowest) !important;
	background: var(--ng-surface-lowest) !important;
	padding: 1.5rem !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
}
.ng-stitch-product .ng-stitch-specs__row {
	display: flex !important; justify-content: space-between !important; gap: 1rem !important;
	padding: .5rem 0 !important;
	border-bottom: 1px solid var(--ng-surface-container) !important;
	font-size: 15px !important;
}
.ng-stitch-product .ng-stitch-specs__row:last-child { border-bottom: 0 !important; }
.ng-stitch-product .ng-stitch-specs__name { color: var(--ng-text-secondary) !important; }
.ng-stitch-product .ng-stitch-specs__value { font-weight: 500 !important; text-align: right !important; color: var(--ng-text) !important; }
.ng-stitch-product .ng-stitch-empty { color: var(--ng-text-secondary) !important; }

.ng-stitch-product .ng-stitch-reviews {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 2rem !important;
}
@media (min-width: 1024px) {
	.ng-stitch-product .ng-stitch-reviews { grid-template-columns: 4fr 8fr !important; align-items: start !important; }
}
.ng-stitch-product .ng-stitch-reviews__summary {
	background-color: var(--ng-surface-low) !important;
	background: var(--ng-surface-low) !important;
	padding: 1.5rem !important;
	border-radius: 12px !important;
	display: flex !important; flex-direction: column !important; gap: 1.5rem !important;
}
.ng-stitch-product .ng-stitch-reviews__label {
	font-size: 11px !important; letter-spacing: .1em !important;
	text-transform: uppercase !important; color: var(--ng-text-secondary) !important;
}
.ng-stitch-product .ng-stitch-reviews__rating-row {
	display: flex !important; align-items: baseline !important; gap: .75rem !important;
	margin: .5rem 0 !important;
}
.ng-stitch-product .ng-stitch-reviews__rating {
	font-family: var(--ng-font-headline) !important;
	font-size: 48px !important; font-weight: 600 !important;
	color: var(--ng-primary) !important;
	line-height: 1 !important;
}
.ng-stitch-product .ng-stitch-reviews__rating-out { color: var(--ng-text-secondary) !important; }
.ng-stitch-product .ng-stitch-reviews__count { font-size: 13px !important; color: var(--ng-text-secondary) !important; margin: 0 !important; }

/* WooCommerce reviews внутри таба — стилизация */
.ng-stitch-product .ng-stitch-reviews__list .woocommerce-Reviews-title,
.ng-stitch-product .ng-stitch-reviews__list #review_form_wrapper h3,
.ng-stitch-product .ng-stitch-reviews__list .comment-reply-title {
	font-family: var(--ng-font-headline) !important;
	color: var(--ng-primary) !important;
	font-size: 22px !important;
}
.ng-stitch-product .ng-stitch-reviews__list .commentlist {
	list-style: none !important; padding: 0 !important; margin: 0 !important;
	display: flex !important; flex-direction: column !important; gap: 1rem !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment_container {
	background-color: var(--ng-surface-lowest) !important;
	background: var(--ng-surface-lowest) !important;
	padding: 1.25rem !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
}
.ng-stitch-product .ng-stitch-reviews__list .star-rating { color: var(--ng-on-tertiary-container) !important; }
.ng-stitch-product .ng-stitch-reviews__list .comment-form-rating select {
	padding: .5rem !important; border-radius: 8px !important;
	border: 1px solid var(--ng-border) !important;
}
.ng-stitch-product .ng-stitch-reviews__list textarea,
.ng-stitch-product .ng-stitch-reviews__list input[type="text"],
.ng-stitch-product .ng-stitch-reviews__list input[type="email"] {
	width: 100% !important;
	background: var(--ng-surface-lowest) !important;
	border: 1px solid var(--ng-border) !important;
	border-radius: 8px !important;
	padding: .625rem .75rem !important;
	font-family: var(--ng-font-body) !important;
	font-size: 14px !important;
	color: var(--ng-text) !important;
	box-shadow: none !important;
}
.ng-stitch-product .ng-stitch-reviews__list .submit input[type="submit"],
.ng-stitch-product .ng-stitch-reviews__list button[type="submit"] {
	background-color: var(--ng-primary) !important;
	background: var(--ng-primary) !important;
	color: var(--ng-on-primary) !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: .75rem 1.5rem !important;
	font-family: var(--ng-font-body) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
}
.ng-stitch-product .ng-stitch-reviews__list .submit input[type="submit"]:hover,
.ng-stitch-product .ng-stitch-reviews__list button[type="submit"]:hover {
	background-color: var(--ng-primary-hover) !important;
	background: var(--ng-primary-hover) !important;
}

/* ============================================================
 * RELATED
 * ============================================================ */
.ng-stitch-product .ng-stitch-related-section {
	background-color: var(--ng-surface-low) !important;
	background: var(--ng-surface-low) !important;
	padding-top: 4rem !important; padding-bottom: 4rem !important;
	max-width: none !important;
}
.ng-stitch-product .ng-stitch-related__head { max-width: 1320px !important; margin: 0 auto 2rem !important; padding: 0 1rem !important; }
@media (min-width: 640px) {
	.ng-stitch-product .ng-stitch-related__head { padding: 0 2rem !important; }
}
.ng-stitch-product .ng-stitch-related__label {
	font-size: 11px !important; letter-spacing: .1em !important;
	text-transform: uppercase !important; color: var(--ng-text-secondary) !important;
	display: block !important; margin-bottom: .5rem !important;
}
.ng-stitch-product .ng-stitch-related__title {
	font-family: var(--ng-font-headline) !important;
	font-size: 30px !important; line-height: 38px !important;
	font-weight: 500 !important;
	color: var(--ng-primary) !important;
	margin: 0 !important;
}
.ng-stitch-product .ng-stitch-related__grid {
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 0 1rem !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
}
@media (min-width: 640px) {
	.ng-stitch-product .ng-stitch-related__grid { grid-template-columns: repeat(2, 1fr) !important; padding: 0 2rem !important; }
}
@media (min-width: 1024px) {
	.ng-stitch-product .ng-stitch-related__grid { grid-template-columns: repeat(4, 1fr) !important; }
}

.ng-stitch-product .ng-stitch-related-card {
	background-color: var(--ng-surface-lowest) !important;
	background: var(--ng-surface-lowest) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	border: 1px solid var(--ng-border) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
	display: flex !important; flex-direction: column !important;
	transition: box-shadow .3s !important;
}
.ng-stitch-product .ng-stitch-related-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08) !important; }
.ng-stitch-product .ng-stitch-related-card__img-wrap {
	display: block !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background-color: var(--ng-surface-container) !important;
	background: var(--ng-surface-container) !important;
}
.ng-stitch-product .ng-stitch-related-card__img,
.ng-stitch-product .ng-stitch-related-card__img-wrap img {
	width: 100% !important; height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform .5s !important;
	margin: 0 !important;
}
.ng-stitch-product .ng-stitch-related-card:hover .ng-stitch-related-card__img,
.ng-stitch-product .ng-stitch-related-card:hover .ng-stitch-related-card__img-wrap img { transform: scale(1.05) !important; }
.ng-stitch-product .ng-stitch-related-card__body {
	padding: 1.25rem !important;
	flex: 1 !important;
	display: flex !important; flex-direction: column !important; justify-content: space-between !important; gap: 1rem !important;
}
.ng-stitch-product .ng-stitch-related-card__title {
	font-family: var(--ng-font-headline) !important;
	font-size: 18px !important; line-height: 24px !important;
	font-weight: 500 !important;
	margin: 0 0 .5rem !important;
	color: var(--ng-primary) !important;
}
.ng-stitch-product .ng-stitch-related-card__title a { color: inherit !important; text-decoration: none !important; }
.ng-stitch-product .ng-stitch-related-card__title a:hover { color: var(--ng-secondary) !important; }
.ng-stitch-product .ng-stitch-related-card__price,
.ng-stitch-product .ng-stitch-related-card__price .woocommerce-Price-amount {
	font-family: var(--ng-font-headline) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	text-decoration: none !important;
}
.ng-stitch-product .ng-stitch-related-card__btn {
	display: inline-flex !important; align-items: center !important; gap: .5rem !important;
	padding: .625rem 1rem !important;
	background-color: var(--ng-primary) !important;
	background: var(--ng-primary) !important;
	color: var(--ng-on-primary) !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	transition: background .2s !important;
	width: fit-content !important;
}
.ng-stitch-product .ng-stitch-related-card__btn:hover {
	background-color: var(--ng-primary-hover) !important;
	background: var(--ng-primary-hover) !important;
	color: var(--ng-on-primary) !important;
}
.ng-stitch-product .ng-stitch-related-card__btn .material-symbols-outlined { font-size: 18px !important; }

/* ============================================================
 * LIGHTBOX
 * ============================================================ */
.ng-stitch-lightbox {
	position: fixed !important;
	inset: 0 !important;
	top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
	z-index: 999999 !important;
	background: rgba(0,0,0,.92) !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 2rem !important;
}
.ng-stitch-lightbox.is-open { display: flex !important; }
.ng-stitch-lightbox__stage {
	max-width: 90vw !important;
	max-height: 90vh !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
}
.ng-stitch-lightbox__img {
	max-width: 90vw !important;
	max-height: 90vh !important;
	object-fit: contain !important;
	border-radius: 8px !important;
	box-shadow: 0 20px 60px rgba(0,0,0,.5) !important;
}
.ng-stitch-lightbox__close,
.ng-stitch-lightbox__nav {
	position: absolute !important;
	background: rgba(255,255,255,.1) !important;
	border: 0 !important;
	color: #fff !important;
	width: 48px !important; height: 48px !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	transition: background .2s !important;
	backdrop-filter: blur(6px) !important;
	padding: 0 !important;
}
.ng-stitch-lightbox__close:hover,
.ng-stitch-lightbox__nav:hover { background: rgba(255,255,255,.25) !important; }
.ng-stitch-lightbox__close { top: 1.5rem !important; right: 1.5rem !important; }
.ng-stitch-lightbox__nav--prev { left: 1.5rem !important; top: 50% !important; transform: translateY(-50%) !important; }
.ng-stitch-lightbox__nav--next { right: 1.5rem !important; top: 50% !important; transform: translateY(-50%) !important; }
.ng-stitch-lightbox__counter {
	position: absolute !important;
	bottom: 1.5rem !important;
	left: 50% !important; transform: translateX(-50%) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	background: rgba(0,0,0,.5) !important;
	padding: .375rem .875rem !important;
	border-radius: 999px !important;
}
@media (max-width: 640px) {
	.ng-stitch-lightbox__close { top: .75rem !important; right: .75rem !important; width: 40px !important; height: 40px !important; }
	.ng-stitch-lightbox__nav--prev { left: .5rem !important; }
	.ng-stitch-lightbox__nav--next { right: .5rem !important; }
}
/* ============================================================
 * ДОПОЛНЕНИЯ — точная посадка под макет
 * ============================================================ */

/* --- 1. Шрифт цены во ВСЕХ местах --- */
.ng-stitch-product .ng-stitch-summary__price,
.ng-stitch-product .ng-stitch-summary__price .woocommerce-Price-amount,
.ng-stitch-product .ng-stitch-summary__price bdi,
.ng-stitch-product .ng-stitch-summary__price .woocommerce-Price-currencySymbol,
.ng-stitch-product .ng-stitch-related-card__price,
.ng-stitch-product .ng-stitch-related-card__price .woocommerce-Price-amount,
.ng-stitch-product .ng-stitch-related-card__price bdi,
.ng-stitch-product .ng-stitch-related-card__price .woocommerce-Price-currencySymbol {
	font-family: var(--ng-font-headline) !important;
	color: var(--ng-primary) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
.ng-stitch-product .ng-stitch-summary__price del,
.ng-stitch-product .ng-stitch-summary__price del bdi,
.ng-stitch-product .ng-stitch-summary__price del .woocommerce-Price-amount,
.ng-stitch-product .ng-stitch-related-card__price del,
.ng-stitch-product .ng-stitch-related-card__price del bdi {
	font-family: var(--ng-font-body) !important;
	color: var(--ng-text-secondary) !important;
	font-size: 14px !important;
	opacity: .65 !important;
	font-weight: 400 !important;
}

/* --- 2. Заголовок блока related: слева заголовок, справа ссылка --- */
.ng-stitch-product .ng-stitch-related__head {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	margin-bottom: 2rem !important;
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1rem !important;
}
@media (min-width: 640px) {
	.ng-stitch-product .ng-stitch-related__head {
		flex-direction: row !important;
		align-items: flex-end !important;
		padding: 0 2rem !important;
	}
}
.ng-stitch-product .ng-stitch-related__all-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: .25rem !important;
	color: var(--ng-primary) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .01em !important;
	transition: color .2s !important;
	flex-shrink: 0 !important;
}
.ng-stitch-product .ng-stitch-related__all-link:hover { color: var(--ng-secondary) !important; }
.ng-stitch-product .ng-stitch-related__all-link .material-symbols-outlined { font-size: 18px !important; }

/* --- 3. Карточка related --- */
.ng-stitch-product .ng-stitch-related-card {
	background: var(--ng-surface-lowest) !important;
	border-radius: 16px !important;
	border: 1px solid var(--ng-border) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	transition: box-shadow .3s, transform .3s !important;
}
.ng-stitch-product .ng-stitch-related-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}

/* --- 4. Превью карточки + избранное --- */
.ng-stitch-product .ng-stitch-related-card__img-wrap {
	position: relative !important;
	display: block !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: var(--ng-surface-container) !important;
}
.ng-stitch-product .ng-stitch-related-card__img-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}
.ng-stitch-product .ng-stitch-related-card__img,
.ng-stitch-product .ng-stitch-related-card__img-wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform .5s !important;
}
.ng-stitch-product .ng-stitch-related-card:hover .ng-stitch-related-card__img,
.ng-stitch-product .ng-stitch-related-card:hover .ng-stitch-related-card__img-wrap img { transform: scale(1.05) !important; }

/* Иконка избранного на превью — как в макете */
.ng-stitch-product .ng-stitch-related-card__fav {
	position: absolute !important;
	top: .75rem !important;
	right: .75rem !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.92) !important;
	backdrop-filter: blur(8px) !important;
	border: 0 !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--ng-text-secondary) !important;
	padding: 0 !important;
	transition: color .2s, background .2s !important;
}
.ng-stitch-product .ng-stitch-related-card__fav:hover { color: var(--ng-error) !important; }
.ng-stitch-product .ng-stitch-related-card__fav.is-active { color: var(--ng-error) !important; }
.ng-stitch-product .ng-stitch-related-card__fav .material-symbols-outlined {
	font-size: 18px !important;
	pointer-events: none !important;
}

/* --- 5. Тело карточки --- */
.ng-stitch-product .ng-stitch-related-card__body {
	padding: 1.25rem 1.25rem .75rem !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: .35rem !important;
}
.ng-stitch-product .ng-stitch-related-card__cat {
	font-size: 10px !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: var(--ng-text-secondary) !important;
	font-weight: 600 !important;
	margin-bottom: .25rem !important;
}
.ng-stitch-product .ng-stitch-related-card__title {
	font-family: var(--ng-font-headline) !important;
	font-size: 20px !important;
	line-height: 26px !important;
	font-weight: 500 !important;
	color: var(--ng-primary) !important;
	margin: 0 0 .25rem !important;
}
.ng-stitch-product .ng-stitch-related-card__title a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color .2s !important;
}
.ng-stitch-product .ng-stitch-related-card__title a:hover { color: var(--ng-secondary) !important; }

/* Звёзды + рейтинг */
.ng-stitch-product .ng-stitch-related-card__rating {
	display: flex !important;
	align-items: center !important;
	gap: .375rem !important;
	margin: .25rem 0 .5rem !important;
}
.ng-stitch-product .ng-stitch-related-card__stars {
	display: inline-flex !important;
	align-items: center !important;
	color: var(--ng-on-tertiary-container) !important;
}
.ng-stitch-product .ng-stitch-related-card__stars .material-symbols-outlined {
	font-size: 15px !important;
}
.ng-stitch-product .ng-stitch-related-card__rating-num {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ng-text) !important;
}
.ng-stitch-product .ng-stitch-related-card__rating-count {
	font-size: 11px !important;
	color: var(--ng-text-secondary) !important;
}

/* Цена */
.ng-stitch-product .ng-stitch-related-card__price {
	font-family: var(--ng-font-headline) !important;
	font-size: 24px !important;
	line-height: 1 !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	margin-top: auto !important;
	padding-top: .5rem !important;
}
.ng-stitch-product .ng-stitch-related-card__price ins {
	text-decoration: none !important;
}

/* --- 6. Кнопки в карточке --- */
.ng-stitch-product .ng-stitch-related-card__actions {
	padding: 0 1.25rem 1.25rem !important;
	display: flex !important;
	align-items: center !important;
	gap: .5rem !important;
}
.ng-stitch-product .ng-stitch-related-card__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .5rem !important;
	width: 100% !important;
	min-height: 42px !important;
	padding: .625rem 1rem !important;
	border-radius: 12px !important;
	font-family: var(--ng-font-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .01em !important;
	text-decoration: none !important;
	cursor: pointer !important;
	border: 0 !important;
	transition: background .2s !important;
}
.ng-stitch-product .ng-stitch-related-card__btn--cart {
	background: var(--ng-primary) !important;
	color: var(--ng-on-primary) !important;
}
.ng-stitch-product .ng-stitch-related-card__btn--cart:hover {
	background: var(--ng-primary-hover) !important;
	color: var(--ng-on-primary) !important;
}
.ng-stitch-product .ng-stitch-related-card__btn--out {
	background: var(--ng-surface-container) !important;
	color: var(--ng-text-muted) !important;
	cursor: not-allowed !important;
}
.ng-stitch-product .ng-stitch-related-card__btn .material-symbols-outlined { font-size: 18px !important; }

/* --- 7. ОТЗЫВЫ: современная карточка --- */
.ng-stitch-product .ng-stitch-reviews__list .woocommerce-Reviews-title,
.ng-stitch-product .ng-stitch-reviews__list .comment-reply-title,
.ng-stitch-product .ng-stitch-reviews__list #review_form_wrapper h3 {
	font-family: var(--ng-font-headline) !important;
	color: var(--ng-primary) !important;
	font-size: 26px !important;
	font-weight: 500 !important;
	margin: 0 0 1rem !important;
	display: block !important;
}
.ng-stitch-product .ng-stitch-reviews__list .woocommerce-noreviews {
	color: var(--ng-text-secondary) !important;
	font-size: 14px !important;
}

/* Список отзывов */
.ng-stitch-product .ng-stitch-reviews__list .commentlist {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1.5rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment_container {
	background: var(--ng-surface-lowest) !important;
	border: 1px solid var(--ng-border) !important;
	border-radius: 16px !important;
	padding: 1.25rem 1.25rem 1.25rem 1.5rem !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
	position: relative !important;
	display: block !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment_container .avatar {
	display: none !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-text {
	margin: 0 !important;
	border: 0 !important;
	padding: 0 !important;
	display: block !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-text .meta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: .5rem !important;
	margin: 0 0 .5rem !important;
	font-family: var(--ng-font-body) !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-text .meta strong {
	font-family: var(--ng-font-headline) !important;
	font-size: 18px !important;
	color: var(--ng-primary) !important;
	font-weight: 600 !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-text .meta time,
.ng-stitch-product .ng-stitch-reviews__list .comment-text .meta .woocommerce-review__published-date {
	font-size: 12px !important;
	color: var(--ng-text-secondary) !important;
}
.ng-stitch-product .ng-stitch-reviews__list .star-rating {
	float: right !important;
	color: var(--ng-on-tertiary-container) !important;
	font-size: 15px !important;
	margin: 0 0 .5rem !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-text p,
.ng-stitch-product .ng-stitch-reviews__list .comment-text .description {
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: var(--ng-text) !important;
	margin: .5rem 0 0 !important;
}

/* Форма «Добавить отзыв» */
.ng-stitch-product .ng-stitch-reviews__list #review_form_wrapper {
	margin-top: 2rem !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-form label {
	display: block !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
	color: var(--ng-text-secondary) !important;
	margin-bottom: .375rem !important;
	font-weight: 600 !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-form-rating {
	margin-bottom: 1rem !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-form-rating select {
	padding: .5rem .75rem !important;
	border-radius: 10px !important;
	border: 1px solid var(--ng-border) !important;
	background: var(--ng-surface-lowest) !important;
	font-family: var(--ng-font-body) !important;
	font-size: 14px !important;
	color: var(--ng-text) !important;
	min-width: 200px !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-form textarea,
.ng-stitch-product .ng-stitch-reviews__list .comment-form input[type="text"],
.ng-stitch-product .ng-stitch-reviews__list .comment-form input[type="email"] {
	width: 100% !important;
	background: var(--ng-surface-lowest) !important;
	border: 1px solid var(--ng-border) !important;
	border-radius: 12px !important;
	padding: .75rem 1rem !important;
	font-family: var(--ng-font-body) !important;
	font-size: 14px !important;
	color: var(--ng-text) !important;
	box-shadow: none !important;
	margin-bottom: 1rem !important;
}
.ng-stitch-product .ng-stitch-reviews__list .comment-form textarea:focus,
.ng-stitch-product .ng-stitch-reviews__list .comment-form input:focus {
	border-color: var(--ng-primary) !important;
	outline: 0 !important;
}
.ng-stitch-product .ng-stitch-reviews__list .form-submit {
	margin: 0 !important;
}
.ng-stitch-product .ng-stitch-reviews__list .form-submit input#submit,
.ng-stitch-product .ng-stitch-reviews__list button[type="submit"].submit {
	background: var(--ng-primary) !important;
	color: var(--ng-on-primary) !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: .875rem 2rem !important;
	font-family: var(--ng-font-body) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background .2s !important;
}
.ng-stitch-product .ng-stitch-reviews__list .form-submit input#submit:hover,
.ng-stitch-product .ng-stitch-reviews__list button[type="submit"].submit:hover {
	background: var(--ng-primary-hover) !important;
}
/* ============================================================
 * СВОЯ ФОРМА КОРЗИНЫ + СВОЯ ЦЕНА — точно как в макете
 * ============================================================ */

/* ---- Цена: EB Garamond зелёный, с зачёркнутой и бейджем ---- */
.ng-stitch-product .ng-stitch-summary__price {
	display: flex !important;
	align-items: baseline !important;
	flex-wrap: wrap !important;
	gap: .75rem !important;
	font-family: var(--ng-font-headline) !important;
}
.ng-stitch-product .ng-stitch-price__current {
	font-family: var(--ng-font-headline) !important;
	font-size: 40px !important;
	line-height: 1 !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	letter-spacing: -.01em !important;
}
.ng-stitch-product .ng-stitch-price__old {
	font-family: var(--ng-font-body) !important;
	font-size: 14px !important;
	color: var(--ng-text-secondary) !important;
	text-decoration: line-through !important;
	opacity: .7 !important;
	font-weight: 400 !important;
}
.ng-stitch-product .ng-stitch-price__badge {
	display: inline-flex !important;
	align-items: center !important;
	font-family: var(--ng-font-body) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	color: var(--ng-on-secondary-container) !important;
	background: var(--ng-secondary-container) !important;
	padding: .25rem .5rem !important;
	border-radius: 4px !important;
	line-height: 1.2 !important;
}

/* ---- Форма корзины (своя) ---- */
.ng-stitch-product .ng-stitch-cart {
	display: flex !important;
	align-items: stretch !important;
	gap: .75rem !important;
	flex: 1 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Количество: белая пилюля с «−» / цифра / «+» */
.ng-stitch-product .ng-stitch-cart__qty {
	display: inline-flex !important;
	align-items: center !important;
	background: #ffffff !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
	padding: 4px !important;
	flex-shrink: 0 !important;
}
.ng-stitch-product .ng-stitch-cart__qty-btn {
	width: 40px !important;
	height: 44px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	color: var(--ng-text) !important;
	padding: 0 !important;
	transition: background .2s !important;
}
.ng-stitch-product .ng-stitch-cart__qty-btn:hover {
	background: var(--ng-surface-container) !important;
}
.ng-stitch-product .ng-stitch-cart__qty-btn .material-symbols-outlined {
	font-size: 20px !important;
}
.ng-stitch-product .ng-stitch-cart__qty-input {
	width: 44px !important;
	height: auto !important;
	text-align: center !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--ng-font-headline) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--ng-primary) !important;
	padding: 0 !important;
	-moz-appearance: textfield !important;
	box-shadow: none !important;
}
.ng-stitch-product .ng-stitch-cart__qty-input::-webkit-outer-spin-button,
.ng-stitch-product .ng-stitch-cart__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Кнопка «Добавить в корзину» — с иконкой корзины, uppercase */
.ng-stitch-product .ng-stitch-cart__submit {
	flex: 1 !important;
	min-height: 52px !important;
	background-color: var(--ng-primary) !important;
	background: var(--ng-primary) !important;
	color: var(--ng-on-primary) !important;
	font-family: var(--ng-font-body) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 0 1.5rem !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .625rem !important;
	box-shadow: 0 2px 8px rgba(21,66,18,.2) !important;
	text-decoration: none !important;
	line-height: 1 !important;
	transition: background .2s, transform .1s !important;
	min-width: 0 !important;
}
.ng-stitch-product .ng-stitch-cart__submit:hover {
	background-color: var(--ng-primary-hover) !important;
	background: var(--ng-primary-hover) !important;
	color: var(--ng-on-primary) !important;
}
.ng-stitch-product .ng-stitch-cart__submit:active { transform: scale(.99) !important; }
.ng-stitch-product .ng-stitch-cart__submit .material-symbols-outlined {
	font-size: 22px !important;
	pointer-events: none !important;
}

.ng-stitch-product .ng-stitch-cart__out {
	background: var(--ng-surface-container) !important;
	color: var(--ng-error) !important;
	padding: .75rem 1rem !important;
	border-radius: 12px !important;
	font-weight: 600 !important;
	margin: 0 !important;
	flex: 1 !important;
}

/* Обёртка actions — растягивает cart + fav */
.ng-stitch-product .ng-stitch-summary__actions {
	display: flex !important;
	align-items: stretch !important;
	gap: .75rem !important;
	margin-bottom: 1.5rem !important;
}
.ng-stitch-product .ng-stitch-summary__fav {
	width: 52px !important;
	height: 52px !important;
}