/* === GRID для ul.products — гарантированный сброс всех Astra/WC float/clear === */
.woocommerce ul.products,
ul.products.sl-hits-grid,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}
@media (min-width: 640px) {
  .woocommerce ul.products,
  ul.products.sl-hits-grid,
  ul.products { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
}
@media (min-width: 1024px) {
  .woocommerce ul.products,
  ul.products.sl-hits-grid,
  ul.products { grid-template-columns: repeat(4, 1fr) !important; gap: 16px !important; }
}
@media (min-width: 1280px) {
  .woocommerce ul.products,
  ul.products.sl-hits-grid,
  ul.products { grid-template-columns: repeat(5, 1fr) !important; }
}

/* Сброс всех WC/Astra-классов первого/последнего/чётного элемента */
.woocommerce ul.products li.product,
.woocommerce ul.products li.sl-card,
ul.products li.product,
ul.products li.sl-card,
ul.products > li,
ul.products > li.first,
ul.products > li.last,
ul.products > li.alpha,
ul.products > li.omega {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column-start: auto !important;
  grid-column-end: auto !important;
}

/* Сетка хитов главной: 5 колонок на больших, ровный старт */
.sl-hits-grid > li:first-child,
ul.products > li:first-child {
  grid-column-start: 1 !important; /* первая колонка ровно — без пустых ячеек */
}

/* === Чипы размеров === */
.sl-card__var-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  height: 26px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  font-family: inherit !important;
  outline: none !important;
  transition: background .15s, border-color .15s, color .15s !important;
  text-decoration: none !important;
}
.sl-card__var-chip:hover:not(:disabled):not(.is-oos) {
  border-color: #d76c9d !important;
  color: #d76c9d !important;
  background: rgba(215, 108, 157, 0.12) !important;
}
.sl-card__var-chip.is-selected {
  background: linear-gradient(135deg, #d76c9d 0%, #843faf 55%, #280052 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
}
.sl-card__var-chip.is-oos,
.sl-card__var-chip:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
}
.sl-card__vars {
  display: block !important;
  padding: 8px 12px 4px !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  /* Резервируем минимум для одного ряда чипов + label, но не обрезаем */
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  padding: 4px 0 6px !important;
}
.sl-card__vars-label {
  display: block !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #8a6a9a !important;
  margin-bottom: 4px !important;
  font-weight: 600 !important;
}
.sl-card__vars-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
}

/* Спрятать "Просмотр" ссылку которую WC ставит после AJAX-добавления */
.sl-card .added_to_cart,
.sl-card .button.wc-forward { display: none !important; }

/* Flash-эффекты кнопки "+" */
.sl-card__buy { transition: background .3s, box-shadow .3s, transform .15s !important; }
.sl-card__buy.sl-flash-success {
  background: linear-gradient(135deg, #34c759 0%, #22a043 100%) !important;
  box-shadow: 0 0 0 4px rgba(52, 199, 89, 0.3) !important;
}
.sl-card__buy.sl-flash-success svg { color: #fff !important; stroke: #fff !important; }
.sl-card__buy.sl-flash-error {
  background: linear-gradient(135deg, #ff3b30 0%, #d92e1f 100%) !important;
  box-shadow: 0 0 0 4px rgba(255, 59, 48, 0.3) !important;
}
.sl-card__buy.sl-flash-error svg { color: #fff !important; stroke: #fff !important; }

/* Бейдж счётчика корзины */
.sl-cart-count[hidden] { display: none !important; }

/* === Фикс layout страницы категорий ===
   Astra добавляет ast-no-sidebar / ast-plain-container и может сужать контейнер.
   Принудительно возвращаем full-width для нашего shop-блока */
.sl-shop {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* div#sl-shop (переименован с <main>) — убрать ast-woocommerce-container ограничения */
.woocommerce .ast-woocommerce-container,
.woocommerce-page .ast-woocommerce-container {
  padding: 0 !important;
}
/* Гарантируем grid в sl-shop__layout при наличии sidebar */
@media (min-width: 900px) {
  .sl-shop__layout {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    gap: 28px !important;
    align-items: start !important;
  }
}
@media (min-width: 1280px) {
  .sl-shop__layout {
    grid-template-columns: 280px 1fr !important;
  }
}
/* Sidebar — показать на десктопе */
@media (min-width: 900px) {
  .sl-shop__sidebar {
    display: block !important;
    position: sticky !important;
    top: 20px !important;
    max-height: calc(100vh - 40px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .sl-shop__sidebar::-webkit-scrollbar {
    display: none !important;
  }
}

/* Убиваем красную линию — outline на body от плагина */
html body {
  outline: none !important;
}

/* ── Страницы аккаунта — контейнер по центру ── */
.woocommerce-account .site-main > .woocommerce,
.woocommerce-account .entry-content > .woocommerce,
.woocommerce-account .entry-content.clear > .woocommerce,
.woocommerce-account div.woocommerce {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
}
/* Заголовок страницы тоже по центру */
.woocommerce-account .entry-header,
.woocommerce-account .page-header {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
}

/* Фикс: иконка и текст в сообщениях */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-MyAccount-content .woocommerce-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
}
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-Message::before,
.woocommerce-MyAccount-content .woocommerce-info::before {
  position: static !important;
  flex-shrink: 0 !important;
  transform: none !important;
  margin: 0 !important;
}
/* Кнопка "Выход" */
.sl-btn-logout:hover {
  background: rgba(255,100,100,.15) !important;
  border-color: rgba(255,100,100,.3) !important;
  color: #ff6b6b !important;
}
/* Кнопка "Отмена" и "Возврат" в заказах */
.woocommerce .button.cancel,
.woocommerce .button.return {
  background: rgba(255,100,100,.15) !important;
  border: 1px solid rgba(255,100,100,.3) !important;
  color: #ff6b6b !important;
}
.woocommerce .button.cancel:hover,
.woocommerce .button.return:hover {
  background: rgba(255,100,100,.25) !important;
}
.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-MyAccount-content .woocommerce-Message .button {
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

/* ── WooCommerce Account — тёмная тема (inline = высший приоритет) ── */
.woocommerce input.input-text,
.woocommerce input.woocommerce-Input,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account textarea,
.woocommerce-account select {
  background: rgba(255,255,255,.07) !important;
  background-color: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.15) !important;
  border-radius: 12px !important;
  color: #f0eeff !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  outline: none !important;
  box-shadow: none !important;
}
.woocommerce input:focus,
.woocommerce-account input:focus {
  border-color: #7c3aed !important;
  box-shadow: 0 0 0 3px rgba(124,58,237,.15) !important;
}
.woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content table.shop_table,
.woocommerce-MyAccount-content address {
  background: #0f0b1a !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 16px !important;
  color: #f0eeff !important;
  padding: 16px 20px !important;
}
.woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-MyAccount-content header.woocommerce-Address-title {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: #f0eeff !important;
}
.woocommerce-MyAccount-content .col-1,
.woocommerce-MyAccount-content .col-2 {
  background: #0f0b1a !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  color: #f0eeff !important;
  padding: 20px !important;
}
/* Сам div.woocommerce на страницах аккаунта — убираем белый фон */
.woocommerce-account .woocommerce,
.woocommerce-account .entry-content,
.woocommerce-account .entry-content .woocommerce,
.woocommerce-account div.woocommerce {
  background: transparent !important;
  background-color: transparent !important;
  color: #f0eeff !important;
}
/* Статус заказа — фиолетовый вместо жёлтого */
mark,
mark.order-status,
.woocommerce mark,
.woocommerce-page mark,
.woocommerce-MyAccount-content mark {
  background: rgba(124,58,237,.15) !important;
  background-color: rgba(124,58,237,.15) !important;
  color: #c4a8ff !important;
  border-radius: 6px !important;
  padding: 2px 8px !important;
}

/* Таблицы — перебиваем Astra .woocommerce-page table thead th */
.woocommerce-page table thead th,
.woocommerce-page table.shop_table thead th,
body.woocommerce-page table thead th,
body.woocommerce-account table thead th,
body table.shop_table thead th,
body table.woocommerce-table thead th,
.woocommerce table.order_details thead th {
  background: #1a1428 !important;
  background-color: #1a1428 !important;
  color: rgba(240,238,255,.7) !important;
  font-weight: 600 !important;
  border-color: rgba(255,255,255,.08) !important;
}
.woocommerce-page table td,
.woocommerce-page table.shop_table td,
body.woocommerce-page table td,
body.woocommerce-account table td,
body table.shop_table td,
body table.shop_table tbody td,
body table.woocommerce-table td {
  background: #0f0b1a !important;
  background-color: #0f0b1a !important;
  color: #f0eeff !important;
  border-color: rgba(255,255,255,.08) !important;
}
/* Вся таблица */
.woocommerce-page table.shop_table,
body.woocommerce-account table.shop_table,
body table.shop_table,
table.woocommerce-table {
  background: #0f0b1a !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
/* tfoot (итоги) */
.woocommerce-page table.shop_table tfoot td,
.woocommerce-page table.shop_table tfoot th,
body table.shop_table tfoot td,
body table.shop_table tfoot th {
  background: #0f0b1a !important;
  color: #f0eeff !important;
  border-color: rgba(255,255,255,.08) !important;
}

/* Заголовки секций заказа */
.woocommerce-column__title,
h2.woocommerce-column__title,
h2.woocommerce-order-details__title,
.woocommerce-order-details__title {
  background: transparent !important;
  background-color: transparent !important;
  color: #f0eeff !important;
  border: none !important;
  padding: 0 0 12px !important;
}

/* Секции деталей заказа */
section.woocommerce-order-details,
section.woocommerce-customer-details,
.woocommerce-columns--addresses {
  background: #0f0b1a !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  color: #f0eeff !important;
  margin-bottom: 24px !important;
}
section.woocommerce-customer-details address {
  background: transparent !important;
  color: #f0eeff !important;
  font-style: normal !important;
}

/* Кнопка "Редактировать" на странице адреса */
.woocommerce-Addresses .woocommerce-Address-title a,
.woocommerce-Address-title a,
a.edit {
  background: linear-gradient(135deg, #7c3aed, #db2777) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 8px 20px !important;
  text-decoration: none !important;
  display: inline-block !important;
  font-size: 13px !important;
  margin-top: 4px !important;
}
.woocommerce-Address-title a:hover,
a.edit:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(124,58,237,.35) !important;
}
.woocommerce-MyAccount-content address {
  background: transparent !important;
  color: #f0eeff !important;
  font-style: normal !important;
}
.woocommerce label {
  color: #f0eeff !important;
}
.woocommerce-MyAccount-navigation ul li {
  border: none !important;
  background: transparent !important;
  background-color: transparent !important;
  margin-bottom: 4px !important;
}
.woocommerce-MyAccount-navigation ul li::before,
.woocommerce-MyAccount-navigation ul li::after,
.woocommerce-MyAccount-navigation ul li a::before,
.woocommerce-MyAccount-navigation ul li a::after {
  display: none !important;
  content: none !important;
}
.woocommerce-MyAccount-navigation ul li a {
  color: rgba(240,238,255,.6) !important;
  text-decoration: none !important;
  padding: 10px 18px !important;
  display: block !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: background .2s, border-color .2s, color .2s !important;
}
.woocommerce-MyAccount-navigation ul li.is-active,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: rgba(124,58,237,.15) !important;
  background-color: rgba(124,58,237,.15) !important;
  border: 1px solid rgba(124,58,237,.4) !important;
  border-radius: 12px !important;
  color: #c4a8ff !important;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
}
/* Текст на страницах аккаунта */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content span:not(.slwl-item__stock),
.woocommerce-MyAccount-content a {
  color: #f0eeff !important;
}
.woocommerce button[type="submit"],
.woocommerce input[type="submit"],
.woocommerce .button,
.woocommerce a.button {
  background: linear-gradient(135deg, #7c3aed, #db2777) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
}
.woocommerce fieldset {
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
}
/* ── Корзина — сумма заказов ── */

/* ── Корзина и Оформление заказа — контейнер по центру ── */
.woocommerce-cart .site-main > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-cart .entry-content.clear > .woocommerce,
.woocommerce-cart div.woocommerce,
.woocommerce-checkout .site-main > .woocommerce,
.woocommerce-checkout .entry-content > .woocommerce,
.woocommerce-checkout .entry-content.clear > .woocommerce,
.woocommerce-checkout div.woocommerce {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
}
.woocommerce-cart .entry-header,
.woocommerce-cart .page-header,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .page-header {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
}

.cart_totals,
.cart-collaterals .cart_totals {
  background: #0f0b1a !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  padding: 20px !important;
  color: #f0eeff !important;
}
.cart_totals table,
.cart_totals th,
.cart_totals td {
  background: transparent !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #f0eeff !important;
}
.cart_totals h2 {
  color: #f0eeff !important;
}

/* Таблица корзины */
.woocommerce-cart-form table.shop_table,
.woocommerce-cart table.shop_table {
  background: #0f0b1a !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* ── Форма отзыва — кнопка Отправить ── */
#review_form .submit,
#review_form input[type="submit"],
.comment-form .submit,
.comment-form input[type="submit"] {
  background: linear-gradient(135deg, #7c3aed, #db2777) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 12px 24px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: transform .15s, box-shadow .15s !important;
}
#review_form .submit:hover,
#review_form input[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(124,58,237,.35) !important;
}
/* Textarea отзыва */
#review_form textarea,
.comment-form textarea {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.15) !important;
  border-radius: 12px !important;
  color: #f0eeff !important;
  padding: 12px 14px !important;
  min-height: 120px !important;
}
#review_form textarea:focus {
  border-color: #7c3aed !important;
  box-shadow: 0 0 0 3px rgba(124,58,237,.15) !important;
}

/* Звёздочки рейтинга — видимость */
.comment-form-rating .stars a {
  color: #c4a8ff !important;
}
.comment-form-rating .stars a:hover,
.comment-form-rating .stars a.active {
  color: #fbbf24 !important;
}

/* ── Все страницы: единый размер заголовков h1 ── */
.entry-title,
.page-title,
h1.entry-title,
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title,
.woocommerce-cart h1.entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-account .entry-title,
.woocommerce-account .page-title,
.woocommerce-account h1.entry-title {
  font-size: clamp(28px, 4vw, 42px) !important;
  margin-bottom: 16px !important;
  padding: 24px 0 0 !important;
}
/* Контейнер заголовка — ограничиваем ширину */
.entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}
/* Заголовок архива категории — тоже уменьшить */
.sl-shop__title {
  font-size: clamp(28px, 4vw, 48px) !important;
}

/* ── SWS поиск — принудительный dark стиль на ВСЕХ страницах ──
   Astra/WC могут перебивать стили SWS через input[type="search"], .search-field и т.д.
   Эти правила гарантируют единый вид на корзине, профиле, каталоге. ── */
.sws-wrapper .sws-input,
.sws-wrapper input[type="search"],
.sws-wrapper input[type="text"],
.sws-theme-dark .sws-input,
.sws-theme-dark input[type="search"],
.sws-theme-dark input[type="text"] {
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08) !important;
  outline: none !important;
  -webkit-appearance: none !important;
}
.sws-wrapper .sws-input:focus,
.sws-wrapper input[type="search"]:focus,
.sws-theme-dark .sws-input:focus,
.sws-theme-dark input[type="search"]:focus {
  background: rgba(255,255,255,.07) !important;
  box-shadow: 0 0 0 2px var(--sws-accent, #a78bfa), 0 0 0 4px rgba(167,139,250,.15) !important;
  border: none !important;
  outline: none !important;
}
.sws-wrapper .sws-input::placeholder,
.sws-theme-dark .sws-input::placeholder {
  color: rgba(255,255,255,.25) !important;
}
/* Убираем любые Astra border-bottom, outline, box-shadow на SWS поле */
.ast-search-box .sws-input,
.woocommerce .sws-input,
.woocommerce-page .sws-input,
.woocommerce-cart .sws-input,
.woocommerce-account .sws-input,
.woocommerce-checkout .sws-input {
  border: none !important;
  border-bottom: none !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
}

/* ── Избранное в хедере — выровнено по h-action (Корзина/Кабинет) ──
   Плагин sl-wishlist инжектит свой <a class="sl-wishlist-link"> через
   wp_footer JS; здесь приводим его геометрию и позицию к .h-action,
   чтобы кружок и иконка стояли одинаково с .sl-cart-link / профилем. */
.sl-wishlist-link {
  position: relative !important;
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--text) !important;
  border-radius: var(--r-md, 8px) !important;
  transition: background .15s, color .15s !important;
  font-size: 11px !important;
  text-decoration: none !important;
}
.sl-wishlist-link > span:not(.sl-wl-counter) {
  display: none !important;
  font-size: 11px !important;
  margin-top: 2px !important;
  color: var(--text) !important;
}
.sl-wishlist-link svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
.sl-wishlist-link:hover {
  background: var(--bg-elev, rgba(255,255,255,.06)) !important;
  color: var(--accent, #a78bfa) !important;
}
.sl-wishlist-link:hover svg {
  stroke: var(--accent, #a78bfa) !important;
}
@media (min-width: 1280px) {
  .sl-wishlist-link {
    width: auto !important;
    height: auto !important;
    padding: 6px 12px !important;
    gap: 0 !important;
  }
  .sl-wishlist-link > span:not(.sl-wl-counter) {
    display: block !important;
  }
}

/* ── Мобильное меню: SWS поиск внутри m-menu ── */
.m-menu__search-sws {
  padding: 0 !important;
}
.m-menu__search-sws .sws-wrapper {
  width: 100% !important;
}
.m-menu__search-sws .sws-input {
  width: 100% !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: var(--r-md, 8px) !important;
  color: #fff !important;
  padding: 12px 44px 12px 16px !important;
  font-size: 15px !important;
}
/* SWS overlay в мобильном меню — должен быть выше m-menu */
.sws-overlay {
  z-index: 10100 !important;
}

/* ── FDP кнопка «ФИЛЬТРЫ» — не должна перекрывать мобильное меню ── */
/* Прячем когда мобильное меню открыто (body получает class menu-locked) */
body.menu-locked .fdp-mobile-toggle,
body.menu-locked .fdp-floating-btn,
body.menu-locked .fdp-float-wrap,
body.menu-locked [class*="fdp-float"],
body.menu-locked .fdp-mobile-btn {
  display: none !important;
  visibility: hidden !important;
}
/* FDP кнопка фильтров — базовый z-index ниже bottom nav (40) и ниже мобильного меню */
.fdp-mobile-toggle,
.fdp-floating-btn,
.fdp-float-wrap,
.fdp-mobile-btn,
[class*="fdp-float"] {
  z-index: 35 !important;
}

/* ── Wishlist plugin header icon — скрыть на мобилке (есть в bottom nav) ── */
@media (max-width: 1023px) {
  .sl-wishlist-link {
    display: none !important;
  }
}

/* ── SWS mobile overlay — принудительный dark стиль ──
   --sws-header-bg/text вычисляются JS из цвета хедера страницы,
   но мы хотим тёмный overlay везде. ── */
.sws-mobile-overlay,
.sws-theme-dark.sws-mobile-overlay {
  --sws-header-bg: #16161f !important;
  --sws-header-border: rgba(255,255,255,.07) !important;
  --sws-header-text: #fff !important;
  --sws-header-icon-color: rgba(255,255,255,.4) !important;
  --sws-header-input-bg: rgba(255,255,255,.06) !important;
  --sws-header-input-focus-bg: rgba(255,255,255,.09) !important;
}
.sws-mobile-overlay .sws-mobile-header {
  background: #16161f !important;
  border-bottom-color: rgba(255,255,255,.07) !important;
}
.sws-mobile-overlay .sws-mobile-input {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
}
.sws-mobile-overlay .sws-mobile-input::placeholder {
  color: rgba(255,255,255,.35) !important;
}
.sws-mobile-overlay .sws-mobile-back,
.sws-mobile-overlay .sws-mobile-icon {
  color: rgba(255,255,255,.6) !important;
}

/* ══════════════════════════════════════════════
   SWS mobile overlay — dark стиль
   ══════════════════════════════════════════════ */
.sws-mobile-overlay {
  background: var(--bg, #0e0b1a) !important;
}
.sws-mobile-overlay .sws-mobile-header {
  background: var(--bg, #0e0b1a) !important;
  border-bottom-color: rgba(255,255,255,.07) !important;
  margin-top: 0 !important;
  padding-left: 12px !important;
}
.sws-mobile-overlay .sws-mobile-input {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 8px !important;
}
.sws-mobile-overlay .sws-mobile-input:focus {
  border-color: var(--accent, #a78bfa) !important;
}
.sws-mobile-overlay .sws-mobile-input::placeholder { color: rgba(255,255,255,.35) !important; }
.sws-mobile-overlay .sws-mobile-input::-webkit-search-cancel-button { display: none !important; -webkit-appearance: none !important; }
.sws-mobile-overlay .sws-mobile-back,
.sws-mobile-overlay .sws-mobile-icon { color: rgba(255,255,255,.5) !important; }
/* Контент */
.sws-mobile-overlay .sws-results,
.sws-mobile-overlay .sws-drop,
.sws-mobile-overlay .sws-drop__body,
.sws-mobile-overlay .sws-results__body,
.sws-mobile-overlay .sws-results__wrap { background: var(--bg, #0e0b1a) !important; color: var(--text, #e8e6f0) !important; }
.sws-mobile-overlay .sws-drop__footer,
.sws-mobile-overlay .sws-footer { background: var(--bg, #0e0b1a) !important; }
.sws-mobile-overlay::after { display: none !important; }
/* Цены — белые */
.sws-mobile-overlay .amount,
.sws-mobile-overlay .woocommerce-Price-amount { color: #fff !important; }
/* Чипы */
.sws-mobile-overlay .sws-chip,
.sws-mobile-overlay .sws-tag { background: rgba(255,255,255,.06) !important; color: var(--text, #e8e6f0) !important; border: 1px solid rgba(255,255,255,.1) !important; }
.sws-mobile-overlay .sws-section-title,
.sws-mobile-overlay .sws-drop__section-title { color: rgba(255,255,255,.5) !important; text-transform: uppercase !important; }
.sws-mobile-overlay a { color: var(--text, #e8e6f0) !important; }
/* Иконки: скрываем дубль лупы/крестика */
.sws-mobile-overlay .sws-mobile-icon--search { display: flex !important; }

/* ══════════════════════════════════════════════
   FDP кнопка ФИЛЬТРЫ — убрать огромный margin от JS
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .fdp-mobile-toggle { margin-top: 8px !important; }
}

/* ══════════════════════════════════════════════
/* ══════════════════════════════════════════════
   Перечёркнутые цены (старые) — светло-сиреневые, хорошо читаемые
   на тёмном фоне, но не привлекают внимание (главная — текущая цена).
   ══════════════════════════════════════════════ */
.sl-card__price-old,
.sl-prod__price-old,
del .amount,
del .woocommerce-Price-amount,
.woocommerce del .amount,
.woocommerce del,
.woocommerce p.price del,
.woocommerce span.price del,
.woocommerce-Price-amount.amount del {
  color: var(--text-sec, #c4a8d4) !important;
  opacity: 1 !important;
}

/* ══════════════════════════════════════════════
   Select вариаций — округлый, ширина = контейнер
   На мобильных Chrome нативный popup рисуется с прямыми углами и
   может быть чуть шире селекта — это поведение браузера, изменить
   нельзя. Минимизируем разницу: padding и box-sizing совпадают
   с popup, а сам селект имеет умеренный border-radius (10px),
   близкий к нативному popup.
   ══════════════════════════════════════════════ */
.woocommerce div.product .variations select,
.woocommerce .variations select,
table.variations select,
.woocommerce div.product select,
.variations td select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border-radius: 10px !important;
  padding: 12px 36px 12px 16px !important;
  background: var(--bg-elev, rgba(255,255,255,.05)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E") right 12px center no-repeat !important;
  background-size: 12px !important;
  color: var(--text, #e8e6f0) !important;
  border: 1px solid var(--border, rgba(255,255,255,.15)) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
/* Контейнер td.value тоже растягиваем на всю ширину строки */
.woocommerce div.product .variations td.value,
.woocommerce .variations td.value,
.variations td.value {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  padding: 0 !important;
}
.woocommerce div.product .variations,
.variations,
table.variations {
  width: 100% !important;
  display: block !important;
}
.woocommerce div.product .variations tr,
.variations tr {
  display: block !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}
.woocommerce div.product .variations td,
.variations td,
.variations th {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}
.woocommerce div.product .variations select:focus,
.variations td select:focus {
  border-color: var(--accent, #a78bfa) !important;
  outline: none !important;
}
.woocommerce div.product .variations select option {
  background: #1a1030 !important;
  color: #e8e6f0 !important;
}

/* ══════════════════════════════════════════════
   <option> в выпадающих списках (sort, filter, etc.)
   Браузер рендерит option в нативном стиле от ОС/темы — в dark-режиме
   текст становится серым на сером. Принудительно красим везде.
   ══════════════════════════════════════════════ */
select option,
.fdp-sort option,
.sl-shop__toolbar select option,
.woocommerce select option,
.woocommerce-ordering select option {
  background: #1a1030 !important;
  background-color: #1a1030 !important;
  color: #f0eeff !important;
}
select option:checked,
select option:hover,
.fdp-sort option:checked {
  background: linear-gradient(135deg, #7c3aed, #db2777) !important;
  background-color: #7c3aed !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════
   Scroll-to-top — выше bottom nav (bnav ~70px + safe-area)
   Astra использует разные ID/классы в разных версиях:
   #ast-scroll-top (старое), #ast-scroll-up (новое), плюс
   плагин Astra Pro. Покрываем все.
   ══════════════════════════════════════════════ */
@media (max-width: 1023px) {
  #ast-scroll-top,
  #ast-scroll-up,
  .ast-scroll-top,
  .ast-scroll-up-trigger,
  [class*="scroll-top"],
  [class*="scroll-up"],
  [id*="scroll-top"],
  [id*="scroll-up"] {
    bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;
    right: 16px !important;
    z-index: 39 !important;
  }
}

/* ══════════════════════════════════════════════
   Single product — мобильная версия
   ══════════════════════════════════════════════ */
@media (max-width: 767px) {
  .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
  }
  .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    order: -2 !important;
    margin-bottom: 16px !important;
  }
  /* НЕ перебиваем width на .woocommerce-product-gallery__wrapper — flexslider
     ставит ему inline style="width:600%; transform:translate3d(-Npx,0,0)" для
     прокрутки между слайдами. Override на width:100% даст пустой 2-й/3-й слайды. */
  .woocommerce-product-gallery img {
    height: auto !important;
  }
  .woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
    order: -1 !important;
    padding: 0 !important;
  }
  .woocommerce div.product .product_title {
    font-size: clamp(22px, 5vw, 32px) !important;
  }
}

/* ══════════════════════════════════════════════
   Унификация бейджей счётчиков (Избранное + Корзина)
   Плагин sl-wishlist инжектит inline-style в .sl-wl-counter — здесь
   мы перебиваем его с !important, чтобы оба бейджа совпадали по
   размеру, позиции и цвету. Цвет = --grad (как у h-action__badge).
   ══════════════════════════════════════════════ */
.h-action .sl-wl-counter,
.sl-wishlist-link .sl-wl-counter,
.h-action .sl-cart-count,
.h-action__badge {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  left: auto !important;
  bottom: auto !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  background: var(--grad) !important;
  color: #fff !important;
  border-radius: var(--r-pill, 999px) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--bg) !important;
  transform: none !important;
  box-shadow: none !important;
}
@media (min-width: 1280px) {
  .h-action .sl-wl-counter,
  .sl-wishlist-link .sl-wl-counter,
  .h-action .sl-cart-count,
  .h-action__badge {
    top: 0 !important;
    right: 0 !important;
  }
}
/* Скрываем плагиновый счётчик если значение пустое или 0 */
.sl-wl-counter:empty,
.sl-cart-count[hidden],
.sl-cart-count:empty {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   ФИНАЛЬНЫЙ override SWS-инпута поиска — после всех CSS темы
   и плагина. Высокая специфичность через body + класс +
   атрибут, чтобы перебить .woocommerce input[type="text"] и
   любые другие правила.
   ═══════════════════════════════════════════════════════════ */
body .search .sws-wrapper input.sws-input,
body .search input.sws-input,
body .sws-wrapper input.sws-input,
body input.sws-input[type="text"],
body input.sws-input[type="search"],
.woocommerce body .sws-input,
body.woocommerce .sws-input,
body.woocommerce-page .sws-input,
body.single-product .sws-input,
body.single .sws-input {
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background: rgba(255,255,255,.05) !important;
  background-color: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #f0eeff !important;
  font-family: 'Onest', 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  padding: 12px 48px 12px 20px !important;
  height: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
body .sws-input:focus,
body input.sws-input:focus {
  border-color: #7c3aed !important;
  box-shadow: 0 0 0 2px rgba(124,58,237,.15) !important;
  background: rgba(255,255,255,.07) !important;
}
/* ══════════════════════════════════════════════
   v2.0.15: Ссылки согласия / условий в корзине и чекауте —
   выделяем цветом, чтобы было видно что это гиперссылка,
   а не просто текст.
   ══════════════════════════════════════════════ */
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-privacy-policy-text a,
.woocommerce-form__label a,
.wc-terms-and-conditions a,
form.checkout .woocommerce-privacy-policy-text a,
form.woocommerce-cart-form ~ * .woocommerce-privacy-policy-text a {
  color: var(--accent, #d76c9d) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  transition: color .15s;
}
.woocommerce-terms-and-conditions-wrapper a:hover,
.woocommerce-privacy-policy-text a:hover,
.woocommerce-form__label a:hover,
.wc-terms-and-conditions a:hover {
  color: var(--accent-2, #843faf) !important;
}

/* ══════════════════════════════════════════════
   v2.0.25: Глобальная стилизация ВСЕХ уведомлений WooCommerce
   (корзина, чекаут, товар, любая страница). Три класса покрывают
   все сообщения: message (успех), info (инфо), error (ошибка).
   ══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.wc-block-components-notice-banner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  border-radius: var(--r-md, 12px) !important;
  background: var(--bg-elev, #1c0a37) !important;
  border: 1px solid var(--border, #3d1f5c) !important;
  border-left-width: 4px !important;
  color: var(--text, #fff) !important;
  font-size: 15px !important;
  box-shadow: none !important;
  list-style: none !important;
}
/* Успех — зелёный акцент слева */
.woocommerce-message,
.wc-block-components-notice-banner.is-success {
  border-left-color: #2ecc71 !important;
}
/* Инфо — фиолетовый акцент */
.woocommerce-info,
.wc-block-components-notice-banner.is-info {
  border-left-color: var(--accent, #d76c9d) !important;
}
/* Ошибка — красный акцент */
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-left-color: #e8185e !important;
}
.woocommerce-error { flex-direction: column; align-items: flex-start !important; }
.woocommerce-error li { list-style: none !important; margin: 2px 0 !important; }

/* Иконка ::before — не абсолютим, ставим в потоке flex */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  color: inherit !important;
  top: auto !important;
  left: auto !important;
}
/* Кнопка внутри уведомления (напр. «Просмотреть корзину») */
.woocommerce-message .button,
.woocommerce-info .button {
  margin-left: auto !important;
  flex-shrink: 0 !important;
  background: var(--grad, linear-gradient(135deg,#d76c9d,#843faf)) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--r-pill, 999px) !important;
  padding: 8px 18px !important;
}
/* Ссылка закрытия (×) у блочных уведомлений */
.wc-block-components-notice-banner__content { color: var(--text, #fff) !important; }

/* ══════════════════════════════════════════════
   v2.0.25: Поле количества в КАРТОЧКЕ ТОВАРА — как в корзине
   (шире, без спиннеров, помещает до 9999).
   ══════════════════════════════════════════════ */
.woocommerce div.product form.cart .quantity {
  display: inline-flex !important;
  align-items: center;
}
.woocommerce div.product form.cart .qty,
.woocommerce div.product form.cart input[type="number"].qty,
.single-product div.product form.cart input[type="number"] {
  width: auto !important;
  min-width: 72px !important;   /* до 9999 с запасом */
  max-width: 104px !important;
  height: 48px !important;
  padding: 0 12px !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
.woocommerce div.product form.cart input[type="number"].qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart input[type="number"].qty::-webkit-inner-spin-button,
.single-product div.product form.cart input[type="number"]::-webkit-outer-spin-button,
.single-product div.product form.cart input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════
   v2.0.25: Примечание к заказу (checkout) — под тёмную тему
   ══════════════════════════════════════════════ */
.woocommerce form .form-row textarea,
.woocommerce-checkout textarea,
#order_comments {
  background: var(--bg-elev, #1c0a37) !important;
  border: 1px solid var(--border, #3d1f5c) !important;
  color: var(--text, #fff) !important;
  border-radius: var(--r-md, 12px) !important;
  padding: 12px 14px !important;
  font-family: var(--f-body, "Onest", system-ui, sans-serif) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  min-height: 96px !important;
  resize: vertical !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.woocommerce-checkout textarea::placeholder,
#order_comments::placeholder {
  color: color-mix(in oklab, var(--text-sec, #c4a8d4) 60%, transparent) !important;
}
.woocommerce-checkout textarea:focus,
#order_comments:focus {
  outline: none !important;
  border-color: var(--accent, #d76c9d) !important;
  box-shadow: 0 0 0 3px var(--accent-glow, rgba(215,108,157,0.25)) !important;
}
/* Заголовок «Примечание к заказу» / «Детали» */
.woocommerce-additional-fields h3,
.woocommerce-additional-fields__field-wrapper label {
  color: var(--text, #fff) !important;
}

/* ══════════════════════════════════════════════
   ВКЛАДКА «ДЕТАЛИ» — таблица атрибутов товара (.shop_attributes)
   Стилизуем под сайт: единая скруглённая целостная таблица,
   фон у ячеек-заголовков, аккуратные разделители.
   ══════════════════════════════════════════════ */
.woocommerce table.shop_attributes,
table.woocommerce-product-attributes,
table.shop_attributes {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 0 8px;
  background: var(--bg-elev, #1c0a37);
  border: 1px solid var(--border, #3d1f5c);
  border-radius: var(--r-md, 12px);
  overflow: hidden;
}
.woocommerce table.shop_attributes tr,
table.woocommerce-product-attributes tr {
  background: transparent !important;
}
/* Скрываем «зебру» по умолчанию WC */
.woocommerce table.shop_attributes tr:nth-child(even) td,
.woocommerce table.shop_attributes tr:nth-child(even) th {
  background: transparent;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td,
table.woocommerce-product-attributes th,
table.woocommerce-product-attributes td {
  padding: 14px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-soft, #2a1245) !important;
  font-size: 15px;
  line-height: 1.4;
  vertical-align: middle;
}
/* Левый столбец — заголовок атрибута */
.woocommerce table.shop_attributes th,
table.woocommerce-product-attributes th {
  width: 38%;
  max-width: 220px;
  background: rgba(0, 0, 0, 0.28) !important;
  color: var(--accent, #d76c9d) !important;
  font-weight: 600;
  font-style: normal;
  border-right: 2px solid var(--border, #3d1f5c) !important;
  text-align: left;
}
.woocommerce table.shop_attributes td,
table.woocommerce-product-attributes td {
  color: var(--text, #fff) !important;
}
.woocommerce table.shop_attributes td p,
table.woocommerce-product-attributes td p { margin: 0; }
/* Последняя строка — без нижней границы (целостность скругления) */
.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td,
table.woocommerce-product-attributes tr:last-child th,
table.woocommerce-product-attributes tr:last-child td {
  border-bottom: 0 !important;
}
/* Мобильный: уменьшаем паддинги и долю левого столбца */
@media (max-width: 767px) {
  .woocommerce table.shop_attributes th,
  .woocommerce table.shop_attributes td,
  table.woocommerce-product-attributes th,
  table.woocommerce-product-attributes td {
    padding: 11px 13px !important;
    font-size: 14px;
  }
  .woocommerce table.shop_attributes th,
  table.woocommerce-product-attributes th { width: 42%; }
}

/* ──────────────────────────────────────────────────────────────
   SEO-описание раздела (.sl-cat-seo) — v2.0.48
   Приглушённый сворачиваемый блок под витриной каталога. Текст
   читаемый, но визуально второстепенный (как у DNS / Спортмастера):
   для SEO он есть в DOM, но не оттесняет товары вниз страницы.
   ВАЖНО: текст НЕ делаем невидимым (цвет = фон, height:0, off-screen
   и т.п.) — это «скрытый текст», за него поисковики штрафуют. Здесь
   только приглушение контраста + сворачивание раскрывающейся кнопкой,
   что полностью легально и индексируется.
   ────────────────────────────────────────────────────────────── */
.sl-cat-seo {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--border-soft);
}
.sl-cat-seo__body {
  color: var(--text-mute);
  font-size: 13px;
  line-height: 1.7;
  max-width: 1100px;
}
.sl-cat-seo__body :where(h1, h2, h3, h4) {
  color: var(--text-sec);
  font-size: 15px;
  font-weight: 600;
  margin: 1.2em 0 .5em;
}
.sl-cat-seo__body :where(p, ul, ol) {
  margin: 0 0 .8em;
}
.sl-cat-seo__body :where(ul, ol) {
  padding-left: 1.2em;
}
.sl-cat-seo__body a {
  color: var(--text-sec);
  text-decoration: underline;
}
/* Свёрнуто: показываем ~3 строки с плавным затуханием снизу */
.sl-cat-seo__body.sl-cat-seo--clamp {
  max-height: 4.8em;            /* ≈ 3 строки при line-height 1.7 */
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 45%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 45%, transparent 100%);
}
.sl-cat-seo.is-expanded .sl-cat-seo__body {
  max-height: none;
  -webkit-mask-image: none;
          mask-image: none;
}
.sl-cat-seo__more {
  margin-top: 10px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--text-sec);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.sl-cat-seo__more:hover {
  text-decoration: underline;
}

/* ──────────────────────────────────────────────────────────────
   Доставка: тёмная тема для блоков доп-информации перевозчиков — v2.0.51
   Плагины Почты РФ (.wc-russian-post-method-additional-info) и СДЭК/
   eDostavka (.wc-edostavka-method-additional-info) выводят блок срока
   доставки с фоном #fafafa. На тёмной теме текст (белый) сливался с белым
   фоном — получался «пустой» белый прямоугольник. Перекрашиваем обобщённо
   по совпадению класса *-method-additional-info, scoped к списку способов
   доставки (cart + checkout используют ul#shipping_method).
   ────────────────────────────────────────────────────────────── */
.woocommerce-shipping-methods [class*="method-additional-info"],
ul#shipping_method [class*="method-additional-info"] {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background-color: var(--bg-elev, #1c0a37) !important;
  border: 1px solid var(--border-soft, #2a1245) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  margin: 6px 0 8px !important;
}
.woocommerce-shipping-methods [class*="method-additional-info"] *,
ul#shipping_method [class*="method-additional-info"] * {
  color: var(--text, #ffffff) !important;
  background: transparent !important;
  overflow-wrap: anywhere !important;
}
.woocommerce-shipping-methods [class*="method-additional-info"] p,
ul#shipping_method [class*="method-additional-info"] p {
  margin: 0 0 4px !important;
}

/* ──────────────────────────────────────────────────────────────
   v2.0.54 — WC-уведомления в контейнере, а не во всю ширину монитора.
   Тема снимает дефолтную обёртку woocommerce_before_main_content, из-за
   чего .woocommerce-notices-wrapper на странице товара растягивается на
   весь экран. Ограничиваем шириной контейнера и центрируем.
   ────────────────────────────────────────────────────────────── */
.woocommerce-notices-wrapper {
  max-width: var(--container, 1440px) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 4vw, 40px) !important;
  padding-right: clamp(16px, 4vw, 40px) !important;
  box-sizing: border-box !important;
}

/* ──────────────────────────────────────────────────────────────
   v2.0.55 — вспышка кнопки «В корзину» на странице товара (AJAX-добавление
   без перезагрузки). Классы те же, что на карточках каталога
   (.sl-flash-success/error), но кнопка тут .single_add_to_cart_button.
   ────────────────────────────────────────────────────────────── */
.single_add_to_cart_button { transition: background .3s, box-shadow .3s, transform .15s !important; }
.single_add_to_cart_button.sl-flash-success {
  background: linear-gradient(135deg, #34c759 0%, #22a043 100%) !important;
  box-shadow: 0 0 0 4px rgba(52, 199, 89, .3) !important;
  color: #fff !important;
}
.single_add_to_cart_button.sl-flash-error {
  background: linear-gradient(135deg, #ff3b30 0%, #d92e1f 100%) !important;
  box-shadow: 0 0 0 4px rgba(255, 59, 48, .3) !important;
  color: #fff !important;
}

/* ──────────────────────────────────────────────────────────────
   v2.0.56 — общий стиль вспышки (не зависит от класса кнопки). Классы
   .sl-flash-success/error навешивает только наш JS и только на кнопки
   добавления, поэтому безопасно красить обобщённо.
   ────────────────────────────────────────────────────────────── */
.sl-flash-success {
  background: linear-gradient(135deg, #34c759 0%, #22a043 100%) !important;
  box-shadow: 0 0 0 4px rgba(52, 199, 89, .3) !important;
  color: #fff !important;
}
.sl-flash-error {
  background: linear-gradient(135deg, #ff3b30 0%, #d92e1f 100%) !important;
  box-shadow: 0 0 0 4px rgba(255, 59, 48, .3) !important;
  color: #fff !important;
}
.sl-flash-success *, .sl-flash-error * { color: #fff !important; }

/* ──────────────────────────────────────────────────────────────
   v2.0.56 — тёмная тема для select на оформлении/в корзине, включая
   select2 («Населённый пункт» был белым и бил по глазам).
   ────────────────────────────────────────────────────────────── */
.woocommerce-checkout select,
.woocommerce-cart select,
form.checkout select,
form.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce form .select2-container--default .select2-selection--single {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.15) !important;
  border-radius: 12px !important;
  color: #f0eeff !important;
  height: auto !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #f0eeff !important;
  line-height: 1.4 !important;
  padding: 0 !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #8a6ba0 !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #a78bfa transparent transparent !important;
}
/* выпадающая панель select2 (рендерится в body) */
.select2-dropdown {
  background: var(--bg-elev, #1c0a37) !important;
  border: 1px solid var(--border, #3d1f5c) !important;
  color: #f0eeff !important;
}
.select2-container--default .select2-results__option {
  background: transparent !important;
  color: #f0eeff !important;
}
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--accent-2, #843faf) !important;
  color: #fff !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid var(--border, #3d1f5c) !important;
  color: #f0eeff !important;
}

/* ──────────────────────────────────────────────────────────────
   v2.0.57 — вспышка кнопки на странице товара РЕАЛЬНО перебивает обычный
   градиент. Кнопку красит «.woocommerce .button:not(.fdp-apply-btn)»
   (специфичность 0,3,0 + !important), поэтому прошлые правила вспышки
   (0,1–0,2) проигрывали даже с !important. Поднимаем специфичность через
   собственные классы кнопки + html body.
   ────────────────────────────────────────────────────────────── */
html body button.single_add_to_cart_button.button.sl-flash-success,
html body .woocommerce button.button.sl-flash-success,
html body .woocommerce a.button.sl-flash-success,
html body .sl-card__buy.sl-flash-success {
  background: linear-gradient(135deg, #34c759 0%, #22a043 100%) !important;
  box-shadow: 0 0 0 4px rgba(52, 199, 89, .35) !important;
  color: #fff !important;
}
html body button.single_add_to_cart_button.button.sl-flash-error,
html body .woocommerce button.button.sl-flash-error,
html body .woocommerce a.button.sl-flash-error,
html body .sl-card__buy.sl-flash-error {
  background: linear-gradient(135deg, #ff3b30 0%, #d92e1f 100%) !important;
  box-shadow: 0 0 0 4px rgba(255, 59, 48, .35) !important;
  color: #fff !important;
}
