/*
Theme Name: Shoptimizer Child
Theme URI: https://siluette.com.ua
Description: Дочерняя тема Shoptimizer для siluette.com.ua — все кастомизации
             внешнего вида магазина. Родительская тема не редактируется
             (обновления её перезапишут), всё своё — здесь и в наших плагинах.
Author: Siluette Dev
Author URI: https://siluette.com.ua
Template: shoptimizer
Version: 1.2.23
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shoptimizer-child
*/

/* ————————————————————————————————
   Свои стили — сюда, под этот комментарий.
   Порядок загрузки: после всех стилей родителя
   (functions.php подключает этот файл с приоритетом 999).
   ———————————————————————————————— */

/* ═══ Совместимость с 2.9.5: возврат вида, настроенного владельцем ═══
   Тема 2.9.5 добавила собственные мобильные правила, перекрывающие
   типографику и поведение списков. Здесь они нейтрализуются до вида
   версии 2.7.3 (как требовал владелец 18.08.2026). Если редизайн
   захочется позже — просто удалить блок ниже. */

/* 1. Заголовки карточек товара на мобильных: тема режет до 13-14px
      (clamp в .m-grid-2), возвращаем значение настройки владельца
      «Typography → Product listings title» = 18px. */
@media (max-width: 770px) {
	.m-grid-2 ul.products li.product .woocommerce-loop-product__title {
		font-size: 18px;
	}
}

/* 2. Похожие/допродажи/перекрёстные товары на мобильных: тема 2.9.5
      превращает их в горизонтальную карусель (product-carousel.css:
      flex + overflow-x на списке, min/max-width:320px на карточках),
      в 2.7.3 была обычная сетка. Первый фикс возвращал сетку только
      на список — карточки оставались шириной 320px и наползали друг
      на друга. Правильный фикс (18.08.2026): перенести на эти блоки
      мобильную сетку ЦЕЛИКОМ — ровно те правила, которые тема сама
      применяет ко всем ul.products в product-grid.css, — и снять
      КАЖДОЕ карусельное переопределение со списка и карточек.
      Скоуп .m-grid-2 — как у самих мобильных правил темы. */
@media (max-width: 992px) {
	.m-grid-2 .related.products ul.products,
	.m-grid-2 .upsells.products ul.products,
	.m-grid-2 .cross-sells ul.products {
		/* сетка — как у всех ul.products в product-grid.css */
		display: grid;
		grid-template-columns: repeat(2, minmax(10px, 1fr));
		column-gap: 20px;
		row-gap: 30px;
		width: 100%;
		margin-left: 0;
		/* снятие карусельных переопределений product-carousel.css */
		flex-wrap: wrap;
		overflow-x: visible;
		padding: 0;
		scroll-snap-type: none;
		overscroll-behavior-x: auto;
		-webkit-overflow-scrolling: auto;
	}
	.m-grid-2 .related.products ul.products li.product,
	.m-grid-2 .upsells.products ul.products li.product,
	.m-grid-2 .cross-sells ul.products li.product {
		/* сеточный вид карточки; 320px из карусельного правила сняты */
		min-width: 0;
		max-width: none;
		width: 100%;
		scroll-snap-align: auto;
	}
	.m-grid-2 .related.products ul.products li.product .woocommerce-card__header,
	.m-grid-2 .upsells.products ul.products li.product .woocommerce-card__header,
	.m-grid-2 .cross-sells ul.products li.product .woocommerce-card__header {
		/* тень и padding 15px — только карусельный декор; в сетке
		   шапка карточки имеет лишь базовый padding-top (product-card.css) */
		box-shadow: none;
		padding: 0.75rem 0 0;
	}
}

/* 3. Переключатель языков Polylang в secondary-navigation (шапка, справа):
      тема 2.9.5 прячет ВСЕ .sub-menu в этой навигации (display:none
      от 993px) и раскрывает только свои подменю — через обёртку
      .sub-menu-wrapper, которую тема ставит вокруг них. Polylang
      вставляет пункт-переключатель БЕЗ обёртки (ul.sub-menu прямо
      в li), поэтому после обновления темы 2.7.3 → 2.9.5 список языков
      перестал раскрываться (на проде со старой темой работал).
      Возвращаем классическое поведение 2.7.3: absolute-подменю под
      пунктом, раскрытие по :hover и :focus-within (для клавиатуры).
      Ниже 993px вся secondary-navigation скрыта темой — мобильных
      касаний нет, поэтому media только десктопная. */
@media (min-width: 993px) {
	.secondary-navigation ul li:hover > ul.sub-menu,
	.secondary-navigation ul li:focus-within > ul.sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 30;
		margin: 0;
		padding: 10px 15px 8px;
		background: #fff;
		box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.15);
		min-width: 140px;
	}
	.secondary-navigation ul li:hover > ul.sub-menu > li,
	.secondary-navigation ul li:focus-within > ul.sub-menu > li {
		/* рамка и горизонтальные паддинги пунктов меню в выпадашке не нужны */
		display: block;
		padding: 2px 0;
		border-left: 0;
	}
}

/* ═══ ГЛАВНОЕ МЕНЮ: современный рестайлинг (E-11, 19.08.2026) ═══
   Направление выбрал владелец из трёх вариантов: синюю полосу
   сохраняем, наводим порядок — наборный регистр с разрядкой,
   hover/активная категория — линия-акцент снизу, выпадашки —
   скруглённые панели с «воздухом» и hover-чипом. Только десктоп
   (≥993px): на мобильных меню — drawer темы, его не трогаем.
   Цвет полосы/ссылок остаётся настройками темы
   (shoptimizer_navigation_bg_color и др.), здесь только вид.
   Селекторы с префиксом body — чтобы перекрыть inline-CSS
   кастомайзера и main.min.css без !important. */

@media (min-width: 993px) {
	/* 1. Верхний уровень: типографика и ритм */
	body .main-navigation ul.menu > li > a {
		display: inline-block;
		position: relative;
		padding: 0 15px;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0.4px;
		text-transform: uppercase;
	}

	/* 2. Hover/активная категория: линия-акцент (scale-анимация) */
	body .main-navigation ul.menu > li > a::after {
		content: "";
		position: absolute;
		left: 15px;
		right: 15px;
		bottom: 0;
		height: 3px;
		border-radius: 3px 3px 0 0;
		background: rgba(255, 255, 255, 0.92);
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.25s ease;
	}
	body .main-navigation ul.menu > li:hover > a::after,
	body .main-navigation ul.menu > li:focus-within > a::after,
	body .main-navigation ul.menu > li.current-menu-item > a::after,
	body .main-navigation ul.menu > li.current-menu-parent > a::after,
	body .main-navigation ul.menu > li.current-product-ancestor > a::after,
	body .main-navigation ul.menu > li.current-product-parent > a::after {
		transform: scaleX(1);
	}

	/* 3. Выпадашка: появление — мягкий fade+slide вместо scale */
	body .main-navigation ul.menu > li:not(.full-width) > .sub-menu-wrapper {
		transform: translateY(10px);
		transition: transform 0.2s ease, opacity 0.2s ease;
	}
	body .main-navigation ul.menu > li:not(.full-width):hover > .sub-menu-wrapper,
	body .main-navigation ul.menu > li:not(.full-width):focus-within > .sub-menu-wrapper {
		transform: translateY(0);
	}
	/* сама панель: скругления; рамка 10% + двухслойная тень
	   (ближняя даёт чёткий край, дальняя — глубину), чтобы белый
	   край не сливался с белым фоном страницы (владелец, 19.08) */
	.main-navigation ul.menu > li:not(.full-width) ul.sub-menu {
		box-sizing: border-box;
		width: auto;
		min-width: 230px;
		padding: 12px;
		border: 1px solid rgba(2, 32, 71, 0.14);
		border-radius: 12px;
		box-shadow:
			0 4px 12px -2px rgba(2, 32, 71, 0.12),
			0 16px 40px -12px rgba(2, 32, 71, 0.22);
	}

	/* 4. Строки выпадашки: просторные, hover — светлый чип */
	.main-navigation ul.menu > li:not(.full-width) ul.sub-menu li > a {
		display: block;
		padding: 8px 12px;
		border-radius: 8px;
		line-height: 1.35;
	}
	.main-navigation ul.menu > li:not(.full-width) ul.sub-menu li > a:hover {
		background: #f1f4f8;
	}
}

/* ═══ ХЭДЕР: мобильный drawer + верхняя панель (E-14, 19.08.2026) ═══
   Мобильное меню: цельные строки касания 48px, разделители-волоски,
   акцент активной категории, аккуратные подменю и низ drawer
   («Полезные ссылки», флажки языков). Механику темы не трогаем —
   только вид. Ширина drawer 270px оставлена родной: кнопка закрытия
   позиционируется темой с фиксированным отступом.
   Верхняя панель (десктоп): иконка+текст в строку вместо «труб»-
   разделителей, hover-подсветка чипом, поиск — пилюля с фокус-рингом.
   Мобильный поиск и виджет Polylang в drawer включены НАСТРОЙКАМИ
   (shoptimizer_search_mobile=enable/toggle + виджет в Mobile Extra),
   здесь только стили поверх. */

@media (max-width: 992px) {
	/* пункты верхнего уровня: высота касания 48px */
	body .main-navigation ul.menu > li > a {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 12px 10px 12px 22px;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: 0.2px;
	}
	body .main-navigation ul.menu > li + li {
		border-top: 1px solid #eef1f6;
	}
	body .main-navigation ul.menu > li.current-menu-item > a,
	body .main-navigation ul.menu > li.current-menu-parent > a,
	body .main-navigation ul.menu > li.current-product-ancestor > a {
		color: #3399ff;
	}
	/* каретка: полноценная зона касания 44px */
	body .main-navigation ul.menu > li.menu-item-has-children > span.caret {
		width: 44px;
		align-self: stretch;
	}
	/* подменю: мельче, просторнее, с отступом слева */
	body .main-navigation ul.menu ul.sub-menu a {
		padding: 11px 12px 11px 16px;
		font-size: 14px;
		font-weight: 500;
		color: #4b5563;
	}
	body .main-navigation ul.menu ul.sub-menu li.current-menu-item > a {
		color: #3399ff;
	}
	/* низ drawer: «Полезные ссылки» и флажки языков */
	body .mobile-extra .widget {
		padding: 18px 22px 4px;
	}
	body .mobile-extra h4 {
		margin: 0 0 4px;
		font-size: 11px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.08em;
		color: #98a2b3;
	}
	body .mobile-extra ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	body .mobile-extra ul li a {
		display: block;
		padding: 9px 0;
		font-size: 14px;
		font-weight: 500;
		color: #3a4454;
	}
	/* виджет Polylang в drawer: ряд (вид — пилюли кодов, см. E-15) */
	body .mobile-extra .widget_polylang ul {
		display: flex;
		column-gap: 10px;
	}
}

@media (min-width: 993px) {
	/* верхняя панель: без «труб», иконка слева от текста, hover-чип */
	body .secondary-navigation ul.menu {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		column-gap: 4px;
	}
	body .secondary-navigation .menu-item {
		border-left: 0;
		padding: 0;
	}
	/* ссылки: только мягкий hover-чип и типографика. Раскладку и размер
	   иконок НЕ трогаем — у темы фирменный вид верхней панели: иконка
	   28×28 абсолютно спозиционирована сверху по центру ссылки, текст
	   под ней (padding-top:35px). Свои inline-иконки убраны — владелец
	   просил вернуть исходный масштаб (E-15). */
	body .secondary-navigation .menu li.menu-item > a {
		border-radius: 10px;
		font-size: 13px;
		font-weight: 500;
		color: #4b5563;
		transition: color 0.15s ease, background-color 0.15s ease;
	}
	body .secondary-navigation .menu li.menu-item > a:hover {
		color: #1f2937;
		background: #f2f4f8;
	}
	/* поиск: пилюля + фокус-ринг акцентом */
	body .site-search input.search-field,
	body .site-search input[type="search"] {
		border-radius: 24px;
		transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	}
	body .site-search input.search-field:focus,
	body .site-search input[type="search"]:focus {
		background-color: #fff;
		border-color: rgba(51, 153, 255, 0.45);
		box-shadow: 0 0 0 3px rgba(51, 153, 255, 0.12);
	}
}

/* ═══ ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКОВ RU/UA + ЧЁТКИЕ КРАЯ (E-15, 19.08.2026) ═══
   Флажки заменены кодами на HTML-уровне (functions.php:
   sil_child_lang_code_switcher — фильтр pll_the_languages), здесь
   только вид: «пилюля» текущего языка в верхней панели (десктоп),
   строки «код + название» в выпадашке, сегмент-пилюли в мобильном
   drawer (текущий язык — акцентным). Владельцу нравится чётко
   очерченный стиль Flowbite — края всех выпадашек с видимой рамкой. */

/* код языка — общий элемент */
.siltr-lang-code {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
}
.siltr-lang-name {
	font-size: 13px;
	font-weight: 500;
	color: #4b5563;
	line-height: 1;
}

@media (min-width: 993px) {
	/* пилюля текущего языка: только код + стрелка вниз */
	body .secondary-navigation .menu li.pll-parent-menu-item.menu-item > a {
		display: inline-flex;
		align-items: center;
		column-gap: 7px;
		padding: 7px 12px;
		background: #f2f4f8;
		border: 1px solid rgba(2, 32, 71, 0.1);
		border-radius: 8px;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.06em;
		color: #3a4454;
	}
	body .secondary-navigation .menu li.pll-parent-menu-item.menu-item > a:hover {
		background: #e9edf3;
		color: #1f2937;
	}
	body .secondary-navigation .menu li.pll-parent-menu-item.menu-item > a .siltr-lang-name {
		display: none; /* в пилюле — только код */
	}
	body .secondary-navigation .menu li.pll-parent-menu-item.menu-item > a::after {
		content: "";
		width: 0;
		height: 0;
		border-left: 3.5px solid transparent;
		border-right: 3.5px solid transparent;
		border-top: 4.5px solid #8a94a6;
	}
	/* панель выпадашки языков — в общем стиле с меню (чёткий край).
	   ВАЖНО (грабли №30): вид НЕ привязан к :hover/:focus-within.
	   Показ панели живёт на обоих состояниях (E-10), а стили раньше
	   висели только на :hover — у нижнего края курсор выходил из
	   :hover, фокус от клика держал панель в «старом» виде С ДРУГОЙ
	   геометрией: панель меняла размер под курсором и осциллировала
	   («дрыгалась»). Здесь одна геометрия для всех состояний. */
	body .secondary-navigation .menu li.pll-parent-menu-item > ul.sub-menu {
		padding: 12px;
		border: 1px solid rgba(2, 32, 71, 0.14);
		border-radius: 12px;
		box-shadow:
			0 4px 12px -2px rgba(2, 32, 71, 0.12),
			0 16px 40px -12px rgba(2, 32, 71, 0.22);
	}
	/* строки выпадашки: код-акцент + название, hover-чип */
	body .secondary-navigation .menu li.pll-parent-menu-item > ul.sub-menu > li {
		padding: 0;
		border-left: 0;
	}
	body .secondary-navigation .menu li.pll-parent-menu-item > ul.sub-menu > li > a {
		display: inline-flex;
		align-items: center;
		column-gap: 10px;
		padding: 8px 12px;
		border-radius: 8px;
	}
	body .secondary-navigation .menu li.pll-parent-menu-item > ul.sub-menu > li > a:hover {
		background: #f2f4f8;
	}
	body .secondary-navigation .menu li.pll-parent-menu-item > ul.sub-menu .siltr-lang-code {
		color: #3399ff;
	}
}

@media (max-width: 992px) {
	/* мобильный drawer: сегмент-пилюли, текущий язык — акцентный */
	body .mobile-extra .widget_polylang li {
		display: inline-flex;
	}
	body .mobile-extra .widget_polylang li a {
		display: inline-flex;
		align-items: center;
		padding: 10px 16px;
		background: #f2f4f8;
		border: 1px solid rgba(2, 32, 71, 0.1);
		border-radius: 8px;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.06em;
		color: #3a4454;
	}
	body .mobile-extra .widget_polylang li.current-lang a {
		background: #3399ff;
		border-color: #3399ff;
		color: #fff;
	}
	body .mobile-extra .widget_polylang .siltr-lang-name {
		display: none; /* на мобильном компактно: только код */
	}
}

/* ═══ БЕЙДЖ «РАСПРОДАЖА» НА СТРАНИЦЕ ТОВАРА (E-17, 19.08.2026) ═══
   Владелец: над заголовком товара «Распродажа!» — вписать в небольшой
   современный бейдж-пилюлю и убрать восклицательный знак (сам знак
   срезается фильтром в functions.php). Стиль — bordered pill (Flowbite):
   мягкая заливка тоном акцента + полупрозрачная рамка + радиус-капсула.
   Скоуп .summary .onsale — только бейдж над заголовком; процентные
   бейджи −60% на картинках/в каталоге не задеты. */
body .summary .onsale,
body .product-details-wrapper .onsale {
	display: inline-flex;
	align-items: center;
	position: static;
	min-width: 0;
	margin: 0 0 6px;
	padding: 3px 10px;
	background: rgba(221, 51, 51, 0.08);
	border: 1px solid rgba(221, 51, 51, 0.3);
	border-radius: 999px;
	color: #dd3333;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-transform: none;
}

/* ═══ ИКОНКА КОРЗИНЫ НА КНОПКЕ «КУПИТЬ» (E-19, 19.08.2026) ═══
   Замена плагину woo-custom-add-to-cart-button (Kestrel/Barn2, удалён
   со stage по решению владельца): он реально давал только иконку.
   Наша — Bootstrap Icons «cart3» (вариант C со страницы-превью
   siluette-ui/preview/icons.html). Маска + currentColor: иконка всегда
   в цвет текста кнопки. Только кнопка товара (single): в каталоге
   иконки и раньше не было — вид не меняется. */
.single_add_to_cart_button::before {
	content: "";
	display: inline-block;
	width: 0.9em;   /* масштаб привязан к кеглю кнопки: рисунок ≈ по высоте заглавной буквы (владелец, E-21) */
	height: 0.9em;
	margin-right: 0.45em;
	vertical-align: -0.14em;
	/* «жирним» под вес 600 надписи: 4 микро-тени расширяют рисунок
	   на ~1.4px ≈ 70% толщины штрихов шрифта (владелец, E-22) */
	filter:
		drop-shadow(0.7px 0 0 currentColor)
		drop-shadow(-0.7px 0 0 currentColor)
		drop-shadow(0 0.7px 0 currentColor)
		drop-shadow(0 -0.7px 0 currentColor);
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5M3.102 4l.84 4.479 9.144-.459L13.89 4zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2m7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5M3.102 4l.84 4.479 9.144-.459L13.89 4zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2m7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/></svg>") center / contain no-repeat;
}

/* ═══ Миграция YellowPencil (Сессия B, 18.08.2026) ═══
   Все стили, исторически сделанные через Yellow Pencil, перенесены
   сюда из двух источников (сверено prod↔stage, других live-источников
   YP нет — per-page мета и прочие файлы проверены и пусты):
   1) сниппет Code Snippets №18 «Custom CSS from Yellow Pencil» —
      печатал <style id="custom-css-from-yellow-pencil"> на всех
      страницах; перенесён ниже ДОСЛОВНО, разделы 1–8;
   2) файл uploads/yellow-pencil/custom-45.css (правки шаблона
      товара, плагин печатал как <style id="yellow-pencil">) —
      последние 3 правила, скоуп body.single-product.
   Сниппет №18 и плагин waspthemes-yellow-pencil на stage отключены.
   НА ПРОДЕ 22.08.2026 УБРАНО ПОЛНОСТЬЮ: сниппет №18 деактивирован,
   плагин удалён, папка uploads/yellow-pencil/ удалена, опции yp_* и
   wt_product_css удалены (9 шт.). Правила ниже — единственный живой
   источник этих стилей. */

/* ===============================================
   1. Навигация и панель главного меню
   =============================================== */

/* Скрываем цену товаров в основном меню */
.shoptimizer-primary-navigation li .woocommerce-Price-amount {
    display: none;
}

/* ===============================================
   2. Корзина WooCommerce
   =============================================== */

/* Скрываем блоки кнопок + и - возле поля количества */
.cart .buttons_added div {
    display: none;
}
/* Скрываем само поле количества (текстовое input) */
.cart .buttons_added input[type=text] {
    display: none;
}

/* ===============================================
   3. Верхний блок сайта (header)
   =============================================== */

/* Меняем фон виджета в header на красный */
#page .header-widget-region {
    background-color: #e82626;
}

/* ===============================================
   4. Мини-корзина (мини-итог в шапке)
   =============================================== */

/* Скрываем итоговую сумму в мини-корзине */
.shoptimizer-mini-cart-wrap .widget .total {
    transform: translatex(0px) translatey(0px);
    display: none;
}

/* ===============================================
   5. Кнопки и интерфейс авторизации
   =============================================== */

/* Делает видимым текст "Показать пароль" вместо иконки */
button.show-password-input::after {
    content: "Показать пароль";
    font-size: 13px;
    color: #444;
    font-weight: 500;
}
/* Кастомизация кнопки показывать/скрывать пароль */
#account_password_field .woocommerce-input-wrapper button {
    color: #ffffff;
    margin-top: 15px;
    height: 45px;
    width: 160px;
}

/* ===============================================
   6. Страница товара (Product Page)
   =============================================== */


/* Старая цена (мелкая, серая, перечёркнутая) */
.entry-summary del bdi {
    font-size: 21px;
    color: #7f8c8d;
}

/* Рейтинг товара, увеличить размер, сделать inline*/
.product-details-wrapper .entry-summary .woocommerce-product-rating {
    font-size: 22px;
    transform: translatex(0px) translatey(0px);
    display: inline-block;
}
/* Ссылка на отзывы — немного крупнее и выше */
.entry-summary .woocommerce-product-rating a {
    top: -9px;
    font-weight: 600;
    font-size: 14px;
}


/* Отступы у общей цены. Было padding-bottom:20px (наследие YellowPencil,
   старая вёрстка) — теперь просвет задаёт ЕДИНЫЙ ритм карточки 12px
   (базовое правило .siltr в плагине siluette-triggers), внутренний
   паддинг убран: без него «воздух» под ценой был двойной. */
.product-details-wrapper .entry-summary .price {
	padding-bottom: 0;
	margin-bottom: 12px;
}

/* Мини-корзина: убрать смещения/тени */
#page .shoptimizer-mini-cart-wrap {
    transform: translatex(0px) translatey(0px);
}
.shoptimizer-mini-cart-wrap .widget .total {
    transform: translatex(0px) translatey(0px);
}

/* ===============================================
   8. ИСПРАВЛЕНИЕ СЧЕТЧИКА ОТЗЫВОВ (ТОЧНАЯ НАСТРОЙКА)
   =============================================== */

/*
 * Счётчик отзывов рядом со звёздами (наследие YellowPencil).
 * Раньше сдвигал ссылку вниз (margin-top 9px) под старые глифовые
 * звёзды; с SVG-звёздами (1.2.7) это ломает центрирование —
 * нейтрализуем, стили шрифта задаёт блок про SVG-звёзды ниже.
 */
.entry-summary .woocommerce-product-rating a.woocommerce-review-link {
    display: inline-block !important;
    margin-top: 0 !important;
}

/* — Product Template: из custom-45.css YellowPencil (правки
      шаблона товара, см. заголовок блока миграции) — */
body.single-product .entry-summary .cart .single_add_to_cart_button {
    font-size: 26px;
}
body.single-product .entry-summary ins bdi {
    font-weight: 700;
    font-size: 33px;
}


/* ═══ Звёзды рейтинга: SVG, Amazon-стиль (functions.php: sil_child_stars_html).
   Ряды на <i> — WooCommerce перекрывает span'ы внутри .star-rating своими
   правилами (absolute/overflow) и ломал вёрстку; <i> он не трогает. ═══ */
.star-rating.sil-stars {
	position: relative;
	display: inline-block;
	/* фикс: 5 звёзд × 18px — контейнер не должен зависеть от внешних
	   правил ширины, которые могут прийти из блока отзывов */
	width: 90px;
	height: 18px;
	line-height: 1;
	overflow: hidden;
	font-size: 0;
}
.star-rating.sil-stars i {
	font-style: normal;
	/* ОБА ряда — абсолютные в (0,0): контур и заливка совпадают
	   пиксель-в-пиксель в любом контексте (карточка, каталог, отзывы),
	   что бы ни делали внешние контейнеры с шириной/центрированием */
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	white-space: nowrap;
}
.star-rating.sil-stars svg {
	width: 18px;
	height: 18px;
	max-width: none !important;
	display: block;
	/* ГЛАВНОЕ: без flex:none слой заливки (контейнер уже контурного,
	   ширина = % рейтинга) сжимает svg с 18px до ~17.6px — последняя,
	   частично залитая звезда «двоится» (владелец, 19.08.2026). */
	flex: none;
}
.star-rating.sil-stars .sil-stars-bg path {
	fill: none;
	stroke: #f59e00;
	stroke-width: 1.7;
	stroke-linejoin: round;
}
.star-rating.sil-stars .sil-stars-fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	height: 100%; /* от контейнера: 18px в карточке товара, 14px в каталоге */
}
.star-rating.sil-stars .sil-stars-fill path {
	fill: #f59e00;
	stroke: #f59e00;
	stroke-width: 1.7;
	stroke-linejoin: round;
}

/* ═══ Карточка: блок рейтинга — НАД ценой, а не справа от неё; счётчик
   «(N)» (шаблон woocommerce/single-product/rating.php) — некрупный,
   нежирный, по центру строки звёзд (1.2.4–1.2.7). ═══ */
.single-product .summary .woocommerce-product-rating {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	margin: 0 0 6px; /* 6px = пара «звёзды → строка отзывов» (12px — между остальными блоками, единый ритм) */
	float: none !important;
}
.single-product .summary .woocommerce-product-rating a.woocommerce-review-link {
	font-size: 13px !important;
	font-weight: 400;
	line-height: 18px;
}

/* ═══ КАТАЛОГ: звёзды в карточках — мелкие (как прежние глифы темы,
   71.7×14.3), в контейнере Shoptimizer со счётчиком «(N)» — опция
   «Display reviews count on catalog pages»; наш SVG-фильтр контейнер
   сохраняет (см. functions.php), здесь только размер. ═══ */
.woocommerce ul.products li.product .shoptimizer_ratingContainer .star-rating.sil-stars {
	width: 70px;
	height: 14px;
}
.woocommerce ul.products li.product .shoptimizer_ratingContainer .star-rating.sil-stars svg {
	width: 14px;
	height: 14px;
}

/* ═══ ДВОЕНИЕ ЗВЁЗД в карточках (владелец, 20.08.2026: up-sells «Похожие
   курсы» — серые звёзды на фоне). Причина: тема 2.9.5 рисует серый ряд
   ПСЕВДОЭЛЕМЕНТОМ .star-rating::before — background #ccc + маска-звезда,
   размеры в em. Наш font-size:0 его гасил, но в цикле карточек правило
   темы ul.products li.product .star-rating {font-size:.8em} специфичнее
   (0,3,2 > 0,2,0) — маска «оживает» (~71.7×14.3px) и двоится за SVG.
   В каталоге её не видно только потому, что заливка 70×14 закрывает.
   Гасим псевдоэлемент напрямую — действует во ВСЕХ контекстах, где
   наш фильтр выводит звёзды: каталог, похожие, апсейлы, кроссейлы,
   поиск, шорткоды, виджеты. ═══ */
.star-rating.sil-stars::before,
.star-rating.sil-stars::after {
	content: none !important;
	display: none !important;
	background: none !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

/* ═══ Карточки в цикле БЕЗ контейнера темы (страница товара: up-sells/
   related; корзина: cross-sells) — тот же компактный размер 70×14, что
   утверждён для каталога (E-9), чтобы карточка выглядела одинаково
   везде. Контейнера темы там нет: на is_product() его фильтр отключён
   самим Shoptimizer, счётчик «(N)» не выводится. ═══ */
.woocommerce .up-sells ul.products li.product .star-rating.sil-stars,
.woocommerce .related ul.products li.product .star-rating.sil-stars,
.woocommerce .cross-sells ul.products li.product .star-rating.sil-stars {
	width: 70px;
	height: 14px;
}
.woocommerce .up-sells ul.products li.product .star-rating.sil-stars svg,
.woocommerce .related ul.products li.product .star-rating.sil-stars svg,
.woocommerce .cross-sells ul.products li.product .star-rating.sil-stars svg {
	width: 14px;
	height: 14px;
}

/* ═══ КАТАЛОГ: круглый бейдж скидки. CommerceKit 2.5.0
   (compatibility/shoptimizer.css) двигает его на left:10px ВНУТРЬ
   картинки; возвращаем позицию темы и прода (2.7.3): бейдж торчит
   за левый верхний угол на -10px (владелец, 19.08.2026). ═══ */
body.theme-shoptimizer .woocommerce-image__wrapper .product-label.type-circle {
	left: -10px;
}
