/*
Theme Name:  SIXTYNINE Purple Tag
Description: Дочерняя тема Flatsome для sixtynine.com.ua. Концепт «Purple Tag»: тёмный editorial streetwear, фирменный фиолетовый #641d71, кнопки-бирки, крупная типографика Unbounded.
Author:      SIXTYNINE
Template:    flatsome
Version:     1.0.0
*/

/* ============================================================
   0. ДИЗАЙН-ТОКЕНЫ
   ============================================================ */
:root {
  --sn-bg: #09080b;
  --sn-bg-2: #100e14;
  --sn-surface: #16131c;
  --sn-line: rgba(242, 240, 237, .09);
  --sn-text: #f2f0ed;
  --sn-muted: #928a9c;
  --sn-brand-900: #3d1046;
  --sn-brand-700: #641d71;   /* фирменный, с бирок */
  --sn-brand-500: #8f2ba3;
  --sn-brand-400: #ab3fc2;
  --sn-brand-300: #c56ad9;
  --sn-brand-100: #efd9f5;
  --sn-font-display: 'Unbounded', sans-serif;
  --sn-font-body: 'Inter', sans-serif;
}

/* ============================================================
   1. БАЗА: фон, текст, типографика
   ============================================================ */
body {
  background: var(--sn-bg);
  color: var(--sn-text);
  font-family: var(--sn-font-body);
}

#wrapper,
#main,
#main.dark,
.page-wrapper {
  background-color: var(--sn-bg);
}

h1, h2, h3, h4, h5, h6,
.heading-font,
.banner h1, .banner h2, .banner h3,
.section-title span {
  font-family: var(--sn-font-display) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
  color: var(--sn-text);
}

p, li, .box-text {
  color: var(--sn-text);
}

.section-title-normal {
  border-bottom: 1px solid var(--sn-line);
}
.section-title-normal span {
  border-bottom: 2px solid var(--sn-brand-400);
}

a {
  color: var(--sn-brand-300);
}
a:hover {
  color: var(--sn-brand-100);
}

::selection {
  background: var(--sn-brand-700);
  color: #fff;
}

hr, .divider {
  background-color: var(--sn-line);
}

/* ============================================================
   2. ШАПКА
   ============================================================ */
.header,
.header-wrapper,
.header-main,
.header-bottom,
.header-top {
  background-color: rgba(9, 8, 11, .85) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.header-bottom {
  border-top: 1px solid var(--sn-line);
}

.header-wrapper {
  border-bottom: 1px solid var(--sn-line);
}

/* Текстовый логотип: site_logo='' в модах → Flatsome печатает bloginfo(name).
   Когда владелец зальёт свой светлый логотип-картинку — этот блок безвреден.
   (Готовый белый PNG из текущего wordmark: /root/redesign/logo/sixtynine-logo-white.png) */
#logo { width: auto !important; }
#logo a {
  font-family: var(--sn-font-display);
  font-weight: 900;
  font-size: 26px;
  letter-spacing: .04em;
  line-height: 1;
  color: var(--sn-text);
  text-transform: uppercase;
}
#logo a:hover { color: var(--sn-brand-300); }

/* Страховка от legacy-фонов старого дизайна (моды чистятся пакетом,
   CSS — второй пояс): светлая текстура-слой поверх шапки и фон html. */
.header-bg-image { background-image: none !important; }
html { background-image: none !important; background-color: var(--sn-bg); }

.stuck .header-main {
  box-shadow: 0 10px 40px -18px rgba(0, 0, 0, .9);
}

/* пункты меню */
.nav > li > a {
  font-family: var(--sn-font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--sn-muted);
}
.nav > li > a:hover,
.nav > li.active > a,
.nav > li.current-menu-item > a {
  color: var(--sn-text);
}

/* подчёркивание при hover */
.nav-line-bottom > li > a:before,
.nav-line > li > a:before {
  background-color: var(--sn-brand-400);
}

/* пункт Sale — акцентный */
.nav > li.menu-item-sale > a,
.nav > li a[href*="sale"] {
  color: var(--sn-brand-300);
}

/* иконки шапки */
.header .icon-search,
.header .icon-user,
.header .icon-shopping-basket,
.header-button .icon-menu {
  color: var(--sn-text);
}

/* счётчик корзины */
.cart-icon strong {
  border-color: var(--sn-text);
  color: var(--sn-text);
}
.cart-icon strong:after {
  border-top-color: var(--sn-text);
}
.header-cart-link .cart-icon strong:hover {
  background-color: var(--sn-brand-700);
  border-color: var(--sn-brand-700);
}

/* выпадающие меню */
.nav-dropdown {
  background-color: var(--sn-surface);
  border: 1px solid var(--sn-line);
  box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .8);
}
.nav-dropdown li a {
  color: var(--sn-muted);
}
.nav-dropdown li a:hover {
  color: var(--sn-text);
}

/* верхняя полоса (announcement в header-top) */
.header-top {
  background-color: var(--sn-brand-700) !important;
  min-height: 32px;
}
.header-top .nav > li > a,
.header-top p {
  color: #fff;
}

/* мобильное меню */
.mobile-sidebar-levels-1 .nav > li > a,
.off-canvas .nav-vertical > li > a {
  font-family: var(--sn-font-display);
  letter-spacing: .1em;
}
.off-canvas-left .mfp-content,
.off-canvas-right .mfp-content,
.off-canvas .off-canvas-inner {
  background-color: var(--sn-bg-2) !important;
  color: var(--sn-text);
}

/* ============================================================
   3. КНОПКИ-БИРКИ (ключевой элемент концепта)
   ============================================================ */
.button:not(.icon),
button.button,
input[type="submit"],
.single_add_to_cart_button,
.add-to-cart-button .button,
.checkout-button {
  position: relative;
  font-family: var(--sn-font-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 2px;
  transition: transform .25s, box-shadow .25s, background .25s;
}

.button.primary:not(.is-outline),
button.button.primary,
input[type="submit"].button,
.single_add_to_cart_button.button,
.checkout-button {
  background-color: var(--sn-brand-700) !important;
  color: #fff;
  padding-left: 2.4em;
}

/* «отверстие» бирки */
.button.primary:not(.is-outline):before,
.single_add_to_cart_button.button:before,
.checkout-button:before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sn-bg);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .35);
}

/* «стежок» по периметру */
.button.primary:not(.is-outline):after,
.single_add_to_cart_button.button:after,
.checkout-button:after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px dashed rgba(255, 255, 255, .38);
  border-radius: 1px;
  pointer-events: none;
}

.button.primary:not(.is-outline):hover,
.single_add_to_cart_button.button:hover,
.checkout-button:hover {
  background-color: var(--sn-brand-500) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 34px -8px rgba(139, 43, 163, .55);
}

/* вторичная кнопка — «призрак» */
.button.secondary:not(.is-outline),
.button.is-outline {
  background: transparent;
  color: var(--sn-text) !important;
  border: 1px solid var(--sn-line) !important;
}
.button.secondary:not(.is-outline):hover,
.button.is-outline:hover {
  background: rgba(139, 43, 163, .12) !important;
  border-color: var(--sn-brand-500) !important;
  color: var(--sn-text) !important;
}

/* ============================================================
   4. КАРТОЧКИ ТОВАРОВ
   ============================================================ */
.product-small.box,
.product-small .box {
  background: var(--sn-surface);
  border: 1px solid var(--sn-line);
  border-radius: 3px;
  overflow: hidden;
  transition: transform .3s, border-color .3s, box-shadow .3s;
}
.product-small.box:hover,
.product-small .box:hover {
  transform: translateY(-6px);
  border-color: rgba(171, 63, 194, .5);
  box-shadow: 0 24px 60px -18px rgba(100, 29, 113, .4);
}

.product-small .box-text {
  background: transparent;
  padding: 14px 16px 18px;
}

/* Фоны фото бимодальные: 82% почти белые (#ebebeb–#f5f5f5), 16% почти чёрные.
   Лёгкий фильтр гасит глянец светлых, градиент растворяет стык фото/текст. */
.product-small .box-image {
  position: relative;
  background: #1a1721;
}
.product-small .box-image img {
  filter: brightness(.94) contrast(1.03);
  transition: filter .35s ease;
}
.product-small .box:hover .box-image img {
  filter: none; /* фото «загорается» на ховере */
}
.product-small .box-image::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 22%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top,
      rgba(22, 19, 28, .80) 0%,
      rgba(22, 19, 28, .42) 45%,
      rgba(22, 19, 28, 0)  100%);
  transition: opacity .35s ease;
}
.product-small .box:hover .box-image::after { opacity: .4; }
/* инструменты Flatsome внутри .box-image — над градиентом */
.product-small .box-image .image-tools,
.product-small .box-image .add-to-cart-button { z-index: 2; }
/* на мобильных ховера нет — фото без фильтра */
@media (max-width: 549px) {
  .product-small .box-image img { filter: none; }
  .product-small .box-image::after { height: 16%; }
}

/* название товара */
.product-small .name a,
.product-title a {
  font-family: var(--sn-font-body);
  font-weight: 600;
  font-size: 14.5px;
  color: var(--sn-text);
}
.product-small .name a:hover {
  color: var(--sn-brand-300);
}

/* цена */
.price,
.product-small .price {
  font-family: var(--sn-font-display);
  font-weight: 700;
  color: var(--sn-text) !important;
}
.price del,
.price del .amount {
  color: var(--sn-muted) !important;
  font-weight: 400;
}
.price ins,
.price ins .amount {
  color: var(--sn-brand-300) !important;
}
.woocommerce-Price-currencySymbol {
  color: var(--sn-brand-300);
  font-size: .8em;
}

/* рейтинг */
.star-rating span:before,
.star-rating:before {
  color: var(--sn-brand-300);
}

/* бейдж скидки → стиль бирки */
.badge-inner,
.callout.badge .badge-inner {
  background-color: var(--sn-brand-700) !important;
  color: #fff;
  font-family: var(--sn-font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .08em;
  border-radius: 2px;
  border: 0;
}
.badge.callout .badge-inner {
  background-color: var(--sn-brand-400) !important;
}

/* кастомные бейджи из functions.php */
.sn-badge {
  position: absolute;
  top: 12px;
  left: 0;
  z-index: 9;
  background: var(--sn-brand-700);
  color: #fff;
  font-family: var(--sn-font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 13px 6px 19px;
}
.sn-badge:before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--sn-surface);
  box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .4);
}
.sn-badge--hot { background: var(--sn-brand-400); }

/* штатный бейдж скидки Flatsome — вправо, чтобы не наезжал на sn-badge слева */
.product-small .badge-container {
  left: auto !important;
  right: 8px;
  margin: 8px 0 0 0 !important;
}

/* Бейдж печатается в .box-text; чтобы он лёг на фото, снимаем
   position:relative с обычного .box-text — якорем становится .box
   (position:relative в flatsome.css). Overlay/shade-стили не трогаем. */
.product-small.box:not(.box-overlay):not(.box-shade) .box-text,
.product-small .box:not(.box-overlay):not(.box-shade) .box-text {
  position: static;
}

/* кнопка быстрого добавления поверх фото (Flatsome add-to-cart on hover) */
.product-small .add-to-cart-button .button {
  background: rgba(9, 8, 11, .85) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, .18);
  color: #fff !important;
}
.product-small .add-to-cart-button .button:hover {
  background: var(--sn-brand-700) !important;
  border-color: var(--sn-brand-700);
}

/* ============================================================
   5. СТРАНИЦА ТОВАРА
   ============================================================ */
.product-info .product-title,
.product-title.entry-title {
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.1;
}

.product-info .price {
  font-size: 24px;
}

/* свотчи размеров.
   На сайте свотчи рендерит плагин Product Variations Swatches (vi-wpvs),
   встроенных .ux-swatch во Flatsome 3.5.3 нет — оставлены на будущее. */
.variations .ux-swatch,
.ux-swatches .ux-swatch,
.vi-wpvs-option-wrap .vi-wpvs-option {
  background: var(--sn-surface);
  border: 1px solid var(--sn-line);
  color: var(--sn-text);
  border-radius: 2px;
  transition: .2s;
}
.variations .ux-swatch:hover,
.ux-swatches .ux-swatch:hover,
.vi-wpvs-option-wrap .vi-wpvs-option:hover {
  border-color: var(--sn-brand-400);
}
.variations .ux-swatch.selected,
.ux-swatches .ux-swatch.selected,
.vi-wpvs-option-wrap .vi-wpvs-option.vi-wpvs-option-selected,
.vi-wpvs-option-wrap .vi-wpvs-option.selected {
  background: var(--sn-brand-700) !important;
  border-color: var(--sn-brand-700) !important;
  color: #fff !important;
  box-shadow: none;
}
.vi-wpvs-option-wrap .vi-wpvs-option .vi-wpvs-option-text {
  color: inherit;
}

/* табы описания */
.nav-tabs > li > a {
  font-family: var(--sn-font-display);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--sn-muted);
}
.nav-tabs > li.active > a {
  color: var(--sn-text);
  border-bottom-color: var(--sn-brand-400) !important;
}

/* блок «в наличии» */
.stock.in-stock { color: #7fd99a; }
.stock.out-of-stock { color: var(--sn-brand-300); }

/* галерея */
.product-gallery .flickity-page-dots .dot {
  background: var(--sn-muted);
}
.product-gallery .flickity-page-dots .dot.is-selected {
  background: var(--sn-brand-400);
}

/* ============================================================
   6. КАТАЛОГ / АРХИВ
   ============================================================ */
.shop-page-title.category-page-title,
.page-title {
  background-color: var(--sn-bg-2);
  border-bottom: 1px solid var(--sn-line);
}
.shop-page-title .page-title-inner .entry-title,
.category-page-title .entry-title {
  font-size: clamp(28px, 4vw, 48px);
}

.woocommerce-ordering select,
select, .select2-container .select2-selection {
  background-color: var(--sn-surface);
  border: 1px solid var(--sn-line);
  color: var(--sn-text);
  border-radius: 2px;
}

/* пагинация */
.page-number,
.page-numbers > li > a,
.page-numbers > li > span {
  border-color: var(--sn-line);
  color: var(--sn-muted);
  border-radius: 2px;
}
.page-number.current,
.page-numbers > li > span.current,
.page-numbers > li > a:hover {
  background-color: var(--sn-brand-700);
  border-color: var(--sn-brand-700);
  color: #fff;
}

/* сайдбар-фильтры */
.widget-title,
.sidebar .widget-title {
  font-family: var(--sn-font-display);
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--sn-brand-300);
  border-bottom: 1px solid var(--sn-line);
}
.widget a { color: var(--sn-muted); }
.widget a:hover { color: var(--sn-text); }

/* ============================================================
   7. КОРЗИНА / ОФОРМЛЕНИЕ
   ============================================================ */
.cart-sidebar .cart-sidebar-content,
.off-canvas-cart .off-canvas-inner,
.off-canvas-cart .mfp-content,
#cart-popup .cart-popup-inner,
.cart-popup-inner {
  background: var(--sn-bg-2);
}

.widget_shopping_cart .mini_cart_item {
  border-bottom: 1px solid var(--sn-line);
}

/* Кнопки мини-корзины: иерархия действий.
   «Оформити покупку» — главная CTA, светлая и контрастная;
   «Переглянути корзину» — второстепенная, «призрак». */
.widget_shopping_cart .buttons a.button:not(.checkout) {
  background: transparent !important;
  border: 1px solid var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.widget_shopping_cart .buttons a.button:not(.checkout):hover {
  border-color: var(--sn-brand-400) !important;
}
.widget_shopping_cart .buttons a.button.checkout {
  background: var(--sn-text) !important;
  color: var(--sn-bg) !important;
  border: 0 !important;
  font-weight: 700;
}
.widget_shopping_cart .buttons a.button.checkout:hover {
  background: #ffffff !important;
  color: var(--sn-bg) !important;
}

/* ЧЕКАУТ: читаемость на тёмном фоне.
   flatsome.css задаёт label{color:#000} — на тёмном фоне подписи полей
   («Ім'я», «Телефон», способы оплаты) становились невидимыми. */
label,
.woocommerce form .form-row label,
.woocommerce-checkout label {
  color: var(--sn-text) !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table .product-name,
.cart_totals th, .cart_totals td,
.shop_table th, .shop_table td {
  color: var(--sn-text) !important;
}
.woocommerce-checkout-review-order-table .product-name .variation,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  color: var(--sn-muted) !important;
}
/* способы оплаты */
.wc_payment_methods .wc_payment_method > label {
  color: var(--sn-text) !important;
  font-weight: 600;
}
.wc_payment_methods .payment_box {
  color: var(--sn-muted) !important;
  background: var(--sn-surface) !important;
}
/* лого платёжки (LiqPay) — компактная плашка, а не белый блок */
.wc_payment_method label img {
  max-height: 26px;
  width: auto;
  vertical-align: middle;
  background: #fff;
  border-radius: 3px;
  padding: 2px 6px;
  margin-left: 8px;
}
/* шаги чекаута: Кошик / Деталі / Завершено */
.checkout-breadcrumbs a { color: var(--sn-muted); }
.checkout-breadcrumbs a.current,
.checkout-breadcrumbs .current a { color: var(--sn-text); }

.shop_table,
.shop_table td,
.shop_table th,
.woocommerce-checkout-review-order-table {
  border-color: var(--sn-line) !important;
}

input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], textarea {
  background-color: var(--sn-surface);
  border: 1px solid var(--sn-line);
  color: var(--sn-text);
  border-radius: 2px;
  box-shadow: none;
}
input:focus, textarea:focus {
  border-color: var(--sn-brand-400);
  box-shadow: 0 0 0 3px rgba(171, 63, 194, .15);
}

/* прогресс-бар бесплатной доставки (из functions.php) */
.sn-shipbar {
  padding: 14px 16px;
  background: var(--sn-surface);
  border: 1px solid var(--sn-line);
  border-radius: 3px;
  margin-bottom: 14px;
  font-size: 12.5px;
  color: var(--sn-muted);
}
.sn-shipbar strong { color: var(--sn-brand-300); }
.sn-shipbar__track {
  margin-top: 9px;
  height: 5px;
  border-radius: 3px;
  background: rgba(255, 255, 255, .08);
  overflow: hidden;
}
.sn-shipbar__fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--sn-brand-700), var(--sn-brand-400));
  transition: width .4s;
}

/* ============================================================
   8. БЕГУЩАЯ СТРОКА [sn_marquee]
   ============================================================ */
.sn-marquee {
  background: var(--sn-text);
  color: var(--sn-bg);
  overflow: hidden;
  white-space: nowrap;
  border-top: 3px solid var(--sn-brand-700);
  border-bottom: 3px solid var(--sn-brand-700);
  transform: rotate(-1.2deg) scale(1.02);
  position: relative;
  z-index: 5;
}
.sn-marquee--flat { transform: none; }
.sn-marquee__track {
  display: inline-flex;
  animation: sn-marq 22s linear infinite;
}
.sn-marquee__item {
  font-family: var(--sn-font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 12px 0;
}
.sn-marquee__item i {
  font-style: normal;
  color: var(--sn-brand-500);
  padding: 0 20px;
}
@keyframes sn-marq {
  to { transform: translateX(-50%); }
}

/* ============================================================
   9. МЕТКА-БИРКА НАД ЗАГОЛОВКАМИ [sn_tag_label]
   ============================================================ */
.sn-tag-label {
  display: inline-flex;
  align-items: center;
  font-family: var(--sn-font-display);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--sn-brand-300);
  padding: 7px 14px 7px 22px;
  position: relative;
  border: 1px solid rgba(139, 43, 163, .35);
  border-radius: 1px;
  background: rgba(100, 29, 113, .12);
  margin-bottom: 14px;
}
.sn-tag-label:before {
  content: "";
  position: absolute;
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  box-shadow: 0 0 0 1.5px var(--sn-brand-300);
}

/* ============================================================
   10. ФУТЕР
   ============================================================ */
.footer-wrapper,
.footer,
.footer-primary,
.footer-secondary,
.absolute-footer {
  background-color: var(--sn-bg-2) !important;
  color: var(--sn-muted);
}
.footer-wrapper {
  border-top: 1px solid var(--sn-line);
}
.absolute-footer {
  border-top: 1px solid var(--sn-line);
  font-size: 12.5px;
}
.footer .widget-title {
  color: var(--sn-brand-300);
}
.footer a { color: var(--sn-muted); }
.footer a:hover { color: var(--sn-text); }

/* большой контурный логотип в футере (вставить [sn_big_logo] в блок футера) */
.sn-big-logo {
  font-family: var(--sn-font-display);
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
  font-size: clamp(56px, 11vw, 160px);
  line-height: .9;
  color: transparent;
  -webkit-text-stroke: 1px rgba(242, 240, 237, .12);
  user-select: none;
  padding: 20px 0 0;
}

/* ============================================================
   11. ПРОЧЕЕ
   ============================================================ */
/* стрелки/точки слайдеров */
.flickity-prev-next-button {
  background: var(--sn-surface);
  border: 1px solid var(--sn-line);
  color: var(--sn-text);
}
.flickity-prev-next-button:hover {
  background: var(--sn-brand-700);
  border-color: var(--sn-brand-700);
}
.flickity-page-dots .dot {
  background: var(--sn-muted);
}
.flickity-page-dots .dot.is-selected {
  background: var(--sn-brand-400);
}

/* back to top */
.back-to-top.active {
  background-color: var(--sn-brand-700) !important;
  border-color: var(--sn-brand-700);
}

/* сообщения WooCommerce */
.woocommerce-message,
.message-wrapper .message-container {
  background-color: var(--sn-surface);
  border-color: var(--sn-brand-700);
  color: var(--sn-text);
}

/* тонкий скроллбар */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--sn-bg); }
::-webkit-scrollbar-thumb {
  background: #2a2433;
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover { background: var(--sn-brand-700); }

/* появление секций (добавь класс sn-reveal секции в UX Builder) */
.sn-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s, transform .7s;
}
.sn-reveal.sn-in {
  opacity: 1;
  transform: none;
}

/* лёгкий наклон картинок hero и манифеста
   (в 3.5.3 у [ux_image] нет rotate — наклоняем через класс секции) */
.sn-hero .col:last-child .img,
.sn-manifest .col:last-child .img {
  transform: rotate(2deg);
}

/* бирка «Limited 069/100» на hero-фото — [sn_limited] */
.sn-hero .col:last-child .col-inner {
  position: relative;
}
.sn-limited {
  position: absolute;
  top: 22px;
  right: -8px;
  z-index: 5;
  background: var(--sn-brand-700);
  color: #fff;
  font-family: var(--sn-font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 10px 16px 10px 24px;
  border-radius: 2px;
  transform: rotate(2deg);
  box-shadow: 0 14px 40px -12px rgba(100, 29, 113, .6);
}
.sn-limited:before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sn-bg);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .35);
}
.sn-limited small {
  display: block;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .2em;
  color: rgba(255, 255, 255, .82);
  margin-top: 2px;
}

/* уважение к reduced motion */
@media (prefers-reduced-motion: reduce) {
  .sn-marquee__track { animation: none; }
  .sn-reveal { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   12. ПЕРЕНЕСЕНО ИЗ СТАРОЙ CHILD-ТЕМЫ (не удалять)
   ============================================================ */
.widget_price_filter .price_label {
  display: inline-block;
  float: left;
}
ul#shipping_method li {
  float: right;
  width: 100px;
}
.box-text {
  font-size: 1.05em;
}
/* «Доставка в …» в корзине — скрыто (в старой теме правило было с опечаткой) */
p.woocommerce-shipping-destination {
  display: none !important;
}

/* ============================================================
   13. ТЁМНЫЕ ФИКСЫ СТОРОННИХ ПЛАГИНОВ И ЯДРА FLATSOME
   ------------------------------------------------------------
   ПОРЯДОК ЗАГРУЗКИ (проверено на проде, product-live.html):
     flatsome.css → flatsome-shop.css → flatsome-child/style.css
     → [woo-custom-stock-status inline] → [custom-css / Theme Options]
     → wcff jquery-ui.css / spectrum.css / wcff-client.css
   Т.е. inline-стиль woo-custom-stock-status и ВСЕ стили wc-fields-factory
   грузятся ПОСЛЕ темы → для них обязателен !important (и иногда #wrapper).
   vi-wpvs-inline грузится ДО темы, но у него специфичность 0,4,0 → тоже
   нужны !important / равная специфичность.
   Палитра: фон #09080b / #100e14, поверхность #16131c,
   границы rgba(242,240,237,.09), текст #f2f0ed, приглушённый #928a9c,
   фиолет #641d71 / #ab3fc2 / #c56ad9.
   ============================================================ */

/* ------------------------------------------------------------
   13.1 НОВА ПОШТА — wc-ukr-shipping (виджеты на /checkout/)
   Плагин рисует свои селекты компонентом zen-ui-select с ЖЁСТКО
   белым фоном (#fff) и текстом #333. Выпадающий список
   ТЕЛЕПОРТИРУЕТСЯ в <body> (Vue Teleport) — он лежит ВНЕ формы
   чекаута, поэтому селекторы обязаны быть без вложенности
   в .woocommerce-checkout / #order_review.
   ------------------------------------------------------------ */
.zen-ui-select__value {
  background: var(--sn-surface) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
  border-radius: 2px;
}
.zen-ui-select__value:hover { background: #1c1824 !important; }
.zen-ui-select__value.disabled {
  background: var(--sn-bg-2) !important;
  color: var(--sn-muted) !important;
}
.zen-ui-select__value > svg,
.zen-ui-select__value.disabled > svg { fill: var(--sn-muted); }

/* дропдаун живёт прямо в <body> */
.zen-ui-select__dropdown {
  background: var(--sn-surface) !important;
  box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .85) !important;
}
.zen-ui-select__search {
  background: var(--sn-surface);
  border-color: var(--sn-line);
}
.zen-ui-select__search-input {
  background: var(--sn-bg-2) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.zen-ui-select__search-input::placeholder { color: var(--sn-muted); }
.zen-ui-select__options {
  background: var(--sn-surface);
  border-color: var(--sn-line);
}
.zen-ui-select__option { color: var(--sn-text); }
.zen-ui-select__option--current { background: rgba(100, 29, 113, .45) !important; color: #fff; }
.zen-ui-select__option:not(.zen-ui-select__option--disabled):not(.zen-ui-select__option--current):hover {
  background: rgba(171, 63, 194, .16) !important;
}
.zen-ui-select__option--loading,
.zen-ui-select__option--more,
.zen-ui-select__option--disabled { color: var(--sn-muted); }
.zen-ui-select__option--error { color: #e88a86; }

/* белая «шторка» загрузки поверх блока полей НП */
.wcus-state-loading:before { background: rgba(9, 8, 11, .72) !important; }
.wcus-state-loading:after {
  border-color: rgba(242, 240, 237, .18);
  border-left-color: var(--sn-brand-400);
}
.wc-ukr-shipping-np-fields h3,
.wc-ukr-shipping-np-fields label { color: var(--sn-text); }

/* ------------------------------------------------------------
   13.2 СВОТЧИ — product-variations-swatches (vi-wpvs)
   Плагин печатает inline-CSS из своих настроек:
     .vi-wpvs-option-wrap-default { color:rgba(33,33,33,1); background:#ffffff; }
     .vi-wpvs-option-wrap-default { box-shadow: 0 0 0 1px #cccccc inset; }
   Фон висит на ОБЁРТКЕ (.vi-wpvs-option-wrap), а секция 5 темы красит
   только внутренний .vi-wpvs-option → вокруг тёмной плашки белый ободок.
   Плюс имена классов состояний в теме были неверные: реально
   .vi-wpvs-option-wrap-selected / -hover (на обёртке), а не
   .vi-wpvs-option-selected.
   Цвето-/фото-свотчи НЕ трогаем — там фон это сам цвет.
   ------------------------------------------------------------ */
.vi-wpvs-variation-wrap:not(.vi-wpvs-variation-wrap-color):not(.vi-wpvs-variation-wrap-image):not(.vi-wpvs-variation-wrap-variation_img) .vi-wpvs-option-wrap,
.vi-wpvs-variation-wrap:not(.vi-wpvs-variation-wrap-color):not(.vi-wpvs-variation-wrap-image):not(.vi-wpvs-variation-wrap-variation_img) .vi-wpvs-option-wrap.vi-wpvs-option-wrap-default {
  background: var(--sn-surface) !important;
  color: var(--sn-text) !important;
  box-shadow: 0 0 0 1px var(--sn-line) inset !important;
  border-radius: 2px !important;
}
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-default .vi-wpvs-option {
  color: var(--sn-text) !important;
}
.vi-wpvs-variation-wrap:not(.vi-wpvs-variation-wrap-color):not(.vi-wpvs-variation-wrap-image):not(.vi-wpvs-variation-wrap-variation_img) .vi-wpvs-option-wrap.vi-wpvs-option-wrap-hover {
  background: rgba(171, 63, 194, .18) !important;
  box-shadow: 0 0 0 1px var(--sn-brand-400) inset !important;
  color: var(--sn-text) !important;
}
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-hover .vi-wpvs-option { color: var(--sn-text) !important; }
.vi-wpvs-variation-wrap:not(.vi-wpvs-variation-wrap-color):not(.vi-wpvs-variation-wrap-image):not(.vi-wpvs-variation-wrap-variation_img) .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected {
  background: var(--sn-brand-700) !important;
  box-shadow: 0 0 0 1px var(--sn-brand-400) inset !important;
  color: #fff !important;
}
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected .vi-wpvs-option { color: #fff !important; }
/* цвето-свотчи: белая «тень-подложка» rgba(238,238,238,1) из настроек */
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-color .vi-wpvs-option-wrap.vi-wpvs-option-wrap-default,
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-color .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-default {
  box-shadow: 0 0 0 1px var(--sn-line) !important;
}
/* режим «выпадающий список» плагина */
.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select {
  background: var(--sn-surface) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select::after { border-top-color: var(--sn-muted) !important; }
.vi-wpvs-variation-wrap-option-available .vi-wpvs-variation-wrap-option {
  background: var(--sn-surface) !important;
  border-color: var(--sn-line) !important;
}
.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar-track { background: var(--sn-bg-2); }
.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar-thumb { background: #2a2433; }
.vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-wrap-option::-webkit-scrollbar-thumb:hover { background: var(--sn-brand-700); }
/* «+N» на карточке в каталоге (если включат свотчи в лупе) */
.vi_variation_container .vi-wpvs-option-wrap.vi-wpvs-product-link {
  background: var(--sn-bg-2) !important;
  box-shadow: 0 0 0 1px var(--sn-line) !important;
  color: var(--sn-muted) !important;
}
/* тултип (сейчас display:none в настройках, но включат — будет белый) */
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip {
  background: var(--sn-bg-2);
  color: var(--sn-text);
  border: 1px solid var(--sn-line);
  border-radius: 2px;
}
/* красный крест на недоступном варианте — в палитру */
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::before,
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap.vi-wpvs-option-wrap-disable::after { background: var(--sn-brand-400); }

/* ------------------------------------------------------------
   13.3 КАСТОМНЫЕ ПОЛЯ ТОВАРА — wc-fields-factory (wcff)
   ВНИМАНИЕ: wcff-client.css + jquery-ui.css + spectrum.css грузятся
   ПОСЛЕ style.css темы → без !important фиксы не сработают.
   ------------------------------------------------------------ */
table.wccpf_fields_table,
table.wccpf_fields_table td,
table.wccpf_fields_table td.wccpf_label label,
.wccpf-fields-group h4 { color: var(--sn-text) !important; }
table.wccpf_fields_table td.wccpf_value input[type=text],
table.wccpf_fields_table td.wccpf_value input[type=number],
table.wccpf_fields_table td.wccpf_value input[type=email],
table.wccpf_fields_table td.wccpf_value input[type=password],
table.wccpf_fields_table td.wccpf_value textarea,
table.wccpf_fields_table td.wccpf_value select {
  background: var(--sn-surface) !important;
  border: 1px solid var(--sn-line) !important;
  color: var(--sn-text) !important;
}
/* текстовые «чипсы» выбора (размер/принт) — были #efefef / #E3924D */
.wccpf-text-radio-btn-wrapper span {
  background: var(--sn-surface) !important;
  color: var(--sn-text) !important;
  box-shadow: inset 0 0 0 1px var(--sn-line);
}
.wccpf-text-radio-btn-wrapper.active span {
  background: var(--sn-brand-700) !important;
  color: #fff !important;
}
.wccpf-text-radio-btn-wrapper:hover,
.wccpf-image-radio-btn-wrapper:hover,
.wccpf-color-radio-btn-wrapper:hover { border-color: var(--sn-brand-400) !important; }
.wccpf-color-radio-btn-wrapper.active,
.wccpf-image-radio-btn-wrapper.active { border-color: var(--sn-brand-400) !important; }
.wccpf-color-radio-btn-wrapper span { box-shadow: 0 0 0 1px var(--sn-line) !important; }
/* всплывающий редактор поля в корзине — был чисто белый блок */
div.wccpf-cart-edit-wrapper {
  background: var(--sn-surface) !important;
  border: 1px solid var(--sn-line) !important;
  color: var(--sn-text) !important;
  box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .85) !important;
  border-radius: 3px;
}
ul.wccpf-cart-editor-ul.wccpf-is-editable-yes:hover .wcff_cart_editor_field { outline-color: var(--sn-brand-400) !important; }
/* bootstrap-подобные алерты плагина */
.wcff-label-info    { color: #9fd8f0 !important; background: rgba(49, 112, 143, .18) !important; border-color: rgba(49, 112, 143, .45) !important; }
.wcff-label-success { color: #7fd99a !important; background: rgba(60, 118, 61, .18) !important; border-color: rgba(60, 118, 61, .45) !important; }
.wcff-label-warning { color: #e5c07b !important; background: rgba(138, 109, 59, .18) !important; border-color: rgba(138, 109, 59, .45) !important; }
.wcff-label-danger  { color: #e88a86 !important; background: rgba(169, 68, 66, .18) !important; border-color: rgba(169, 68, 66, .45) !important; }
.wcff-dock-loader { background-color: rgba(9, 8, 11, .7) !important; }
/* spectrum (color picker), тянется wcff на всех страницах */
.sp-container { background: var(--sn-surface) !important; border: 1px solid var(--sn-line) !important; }
.sp-replacer  { background: var(--sn-surface) !important; border-color: var(--sn-line) !important; }
.sp-palette .sp-thumb-el { box-shadow: 0 0 0 1px var(--sn-line) !important; }
/* jQuery UI (datepicker) — грузится wcff на всех страницах фронта */
.ui-widget-content { background: var(--sn-surface) !important; border-color: var(--sn-line) !important; color: var(--sn-text) !important; }
.ui-widget-header  { background: var(--sn-bg-2) !important;  border-color: var(--sn-line) !important; color: var(--sn-text) !important; }
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button {
  background: var(--sn-bg-2) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover,
.ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
  background: rgba(171, 63, 194, .18) !important;
  border-color: var(--sn-brand-400) !important;
  color: var(--sn-text) !important;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
  background: var(--sn-brand-700) !important;
  border-color: var(--sn-brand-700) !important;
  color: #fff !important;
}
.ui-state-highlight, .ui-widget-content .ui-state-highlight { background: rgba(197, 106, 217, .16) !important; border-color: var(--sn-brand-400) !important; color: var(--sn-text) !important; }
.ui-state-error, .ui-widget-content .ui-state-error { background: rgba(169, 68, 66, .2) !important; border-color: rgba(169, 68, 66, .5) !important; color: #e88a86 !important; }
.ui-icon-background, .ui-state-active .ui-icon-background { background-color: transparent !important; }

/* ------------------------------------------------------------
   13.4 СТАТУС НАЛИЧИЯ — woo-custom-stock-status
   Плагин печатает <style id="woo-custom-stock-status"> ПОСЛЕ темы,
   каждое правило с !important и специфичностью до 0,3,1
   (.woocommerce div.product .woo-custom-stock-status.in_stock_color).
   Перебиваем через #wrapper (1,x,x).
   ------------------------------------------------------------ */
#wrapper .in_stock_color,
#wrapper .s_in_stock_color,
#wrapper .only_s_left_in_stock_color,
#wrapper .can_be_backordered_color,
#wrapper .available_on_backorder_color,
#wrapper .grouped_product_stock_status_color { color: #7fd99a !important; }
#wrapper .out_of_stock_color { color: var(--sn-brand-300) !important; }
#wrapper .woo-custom-stock-status { font-family: var(--sn-font-body); }

/* ------------------------------------------------------------
   13.5 WPCode-сниппет sn-quick-buy-button (post 72178)
   Свой <style> печатается В BODY (после всех css) — там светлая
   тема целиком: #sn-qb-modal{background:#fff}, .sn-opt{background:#fff;
   border:#eee}, #sn-qb-trigger{background:#111}, тексты #111/#888/#999/#bbb.
   У иконок .sn-ic фон задан ИНЛАЙНОМ (#E6F4FD / #F0EBF8) — бьётся
   только !important.
   ------------------------------------------------------------ */
#sn-qb-trigger {
  background: var(--sn-brand-700) !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-family: var(--sn-font-display) !important;
  text-transform: uppercase;
  letter-spacing: .1em;
}
#sn-qb-trigger:hover { background: var(--sn-brand-500) !important; }
#sn-qb-sub { color: rgba(255, 255, 255, .7) !important; }
#sn-qb-overlay { background: rgba(9, 8, 11, .8) !important; backdrop-filter: blur(6px); }
#sn-qb-modal {
  background: var(--sn-surface) !important;
  border: 1px solid var(--sn-line) !important;
  border-radius: 6px !important;
  color: var(--sn-text) !important;
}
#sn-qb-modal h3 { color: var(--sn-text) !important; font-family: var(--sn-font-display) !important; }
#sn-qb-modal > p { color: var(--sn-muted) !important; }
#sn-qb-close { color: var(--sn-muted) !important; }
#sn-qb-close:hover { color: var(--sn-text) !important; }
#sn-qb-modal .sn-opt {
  background: var(--sn-bg-2) !important;
  border: 1px solid var(--sn-line) !important;
  border-radius: 3px !important;
}
#sn-qb-modal .sn-opt:hover {
  background: rgba(171, 63, 194, .14) !important;
  border-color: var(--sn-brand-500) !important;
}
#sn-qb-modal .sn-ic { background: rgba(242, 240, 237, .07) !important; }
#sn-qb-modal .sn-opt-label strong { color: var(--sn-text) !important; }
#sn-qb-modal .sn-opt-label em { color: var(--sn-muted) !important; }
#sn-qb-modal hr { border-top-color: var(--sn-line) !important; }
#sn-qb-modal p { color: var(--sn-text) !important; }
#sn-phone {
  background: var(--sn-bg-2) !important;
  border: 1px solid var(--sn-line) !important;
  color: var(--sn-text) !important;
  border-radius: 2px !important;
}
#sn-phone::placeholder { color: var(--sn-muted); }
#sn-phone-send {
  background: var(--sn-brand-700) !important;
  color: #fff !important;
  border-radius: 2px !important;
}
#sn-phone-send:hover { background: var(--sn-brand-500) !important; }
#sn-product-ref { color: var(--sn-muted) !important; border-top-color: var(--sn-line) !important; }
#sn-phone-error { color: #e88a86 !important; }

/* ------------------------------------------------------------
   13.6 SELECT2 (ядро WooCommerce, assets/css/select2.css)
   Страна/область на чекауте, поиск в фильтрах и т.д.
   .select2-container--default .select2-selection--single (0,3,0)
   с background-color:#fff бьёт правило темы (0,2,0) из секции 6.
   Дропдаун вставляется в конец <body>.
   ------------------------------------------------------------ */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container--classic .select2-selection--single,
.select2-container--classic .select2-selection--multiple,
.select2-container .select2-choice,
.select2-container .select2-selection {
  background: var(--sn-surface) !important;
  background-image: none !important;
  border-color: var(--sn-line) !important;
  border-radius: 2px !important;
  color: var(--sn-text) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--classic .select2-selection--single .select2-selection__rendered { color: var(--sn-text); }
.select2-container--default .select2-selection--single .select2-selection__placeholder,
.select2-container--classic .select2-selection--single .select2-selection__placeholder { color: var(--sn-muted); }
.select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container--classic .select2-selection--single .select2-selection__arrow b { border-top-color: var(--sn-muted); }
.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background: transparent !important;
  background-image: none !important;
  border-left-color: var(--sn-line);
}
.select2-dropdown {
  background-color: var(--sn-surface) !important;
  color: var(--sn-text) !important;
  border-color: var(--sn-line) !important;
  border-radius: 2px;
  box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .85);
}
.select2-container--default .select2-search--dropdown .select2-search__field,
.select2-container--classic .select2-search--dropdown .select2-search__field {
  background: var(--sn-bg-2) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] { background-color: rgba(100, 29, 113, .45); color: var(--sn-text); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container--classic .select2-results__option--highlighted[aria-selected],
.select2-container--classic .select2-results__option--highlighted[data-selected] { background-color: var(--sn-brand-700); color: #fff; }
.select2-container--default .select2-results__option[aria-disabled=true] { color: var(--sn-muted); }
.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple { background-color: var(--sn-bg-2) !important; }
.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: rgba(100, 29, 113, .35);
  border-color: var(--sn-brand-700);
  color: var(--sn-text);
}
.select2-close-mask { background-color: transparent !important; }

/* родная стрелка <select> у Flatsome — тёмный PNG, на тёмном фоне не виден */
select,
.woocommerce-ordering select,
.form-flat select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--sn-muted) 50%),
    linear-gradient(135deg, var(--sn-muted) 50%, transparent 50%) !important;
  background-position: calc(100% - 15px) calc(50% - 2px), calc(100% - 11px) calc(50% - 2px) !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
}
select option { background: var(--sn-surface); color: var(--sn-text); }

/* ------------------------------------------------------------
   13.7 ЯДРО FLATSOME 3.5.3 — «белые дыры», которые тема не закрыла
   ------------------------------------------------------------ */

/* 13.7.1 Кнопки-«формы»: минус/плюс количества (product, cart).
   .is-form { background:#f9f9f9; color:#666; border:1px solid #ddd;
   text-shadow:1px 1px 1px #fff } — две белые плитки у «Додати в кошик». */
.is-form,
button.is-form,
input[type='button'].is-form,
input[type='submit'].is-form,
input[type='reset'].is-form,
.quantity .minus,
.quantity .plus {
  background-color: var(--sn-surface) !important;
  color: var(--sn-text) !important;
  border: 1px solid var(--sn-line) !important;
  text-shadow: none !important;
}
.button.is-form:hover,
.quantity .minus:hover,
.quantity .plus:hover {
  background-color: var(--sn-brand-700) !important;
  border-color: var(--sn-brand-700) !important;
  color: #fff !important;
}
.quantity input[type="number"] {
  background-color: var(--sn-surface) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
/* .button.is-underline/.is-link на hover уезжали в #333 */
.button.is-underline:hover,
.button.is-link:hover { color: var(--sn-brand-300); }

/* 13.7.2 Поп-ап входа в аккаунт и быстрый просмотр товара.
   #login-form-popup.lightbox-content { background:#fff } — белый лист
   на весь экран, есть на КАЖДОЙ странице (в mfp-hide). */
.lightbox-content,
#login-form-popup.lightbox-content {
  background-color: var(--sn-surface) !important;
  color: var(--sn-text);
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .85);
}
.mfp-bg.off-canvas-center:not(.dark) { background-color: var(--sn-bg) !important; opacity: .95; }
.mfp-figure:after { background: var(--sn-bg-2); }
.account-container,
.account-login-inner,
.account-register-inner { color: var(--sn-text); }

/* 13.7.3 Живой поиск в шапке (есть на всех страницах). */
.col .live-search-results,
.header-block .live-search-results,
.header .search-form .live-search-results {
  background-color: rgba(22, 19, 28, .97) !important;
  color: var(--sn-text) !important;
  border: 1px solid var(--sn-line);
  box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .8);
}
.live-search-results a,
.live-search-results .search-name,
.live-search-results li { color: var(--sn-text); }
.live-search-results li:hover,
.live-search-results li.active { background-color: rgba(171, 63, 194, .14); }

/* 13.7.4 Панели табов на странице товара (описание/отзывы). */
.nav-tabs + .tab-panels {
  background-color: var(--sn-surface);
  border-color: var(--sn-line);
}
.nav-vertical + .tab-panels { border-left-color: var(--sn-line); }
.nav-tabs > li.active > a { background-color: var(--sn-surface); border-color: var(--sn-line); }

/* 13.7.5 AJAX-оверлей корзины/чекаута — был `background-color:white!important`.
   Виден каждый раз при пересчёте корзины и смене отделения НП. */
.blockUI.blockOverlay,
.widget_shopping_cart_content .blockUI.blockOverlay,
.woocommerce-checkout-review-order .blockUI.blockOverlay {
  background-color: var(--sn-bg) !important;
  opacity: .65 !important;
}
.widget_shopping_cart_content .blockUI.blockOverlay::before,
.woocommerce-checkout-review-order .blockUI.blockOverlay::before {
  border-top-color: rgba(242, 240, 237, .15) !important;
  border-right-color: rgba(242, 240, 237, .15) !important;
  border-bottom-color: rgba(242, 240, 237, .15) !important;
  border-left-color: var(--sn-brand-400) !important;
}
.processing:before, .loading-spin { border-left-color: var(--sn-brand-400) !important; }

/* 13.7.6 Галерея товара: зум и миниатюры. */
.easyzoom-flyout { background: var(--sn-bg-2); }
.product-thumbnails a { background-color: #1a1721; border-color: var(--sn-line); }
.product-thumbnails .active a { border-color: var(--sn-brand-400); }
.box-image .out-of-stock-label {
  background: rgba(9, 8, 11, .85) !important;
  color: var(--sn-text) !important;
}

/* 13.7.7 span.amount вне .price красится флэтсомом в #111 → невидимо.
   Это итоги корзины, мини-корзина, стоимость доставки, детали заказа. */
span.amount,
.cart_totals .amount,
.order-total .amount,
.shop_table .amount,
.widget_shopping_cart .amount,
.woocommerce-mini-cart__total .amount,
.mini_cart_item .amount,
.cart-price .amount,
.woocommerce-Price-amount { color: var(--sn-text); }
.cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--sn-brand-300); }

/* 13.7.8 ФОКУС ПОЛЯ: у Flatsome `input[type='text']:focus{background:#fff;color:#333}`
   (0,2,1) бьёт `input:focus` темы (0,1,1) → поле белеет при клике. */
input[type='email']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='tel']:focus,
input[type='text']:focus,
input[type='url']:focus,
input[type='password']:focus,
textarea:focus,
select:focus {
  background-color: var(--sn-surface) !important;
  color: var(--sn-text) !important;
  border-color: var(--sn-brand-400) !important;
  box-shadow: 0 0 0 3px rgba(171, 63, 194, .15) !important;
}
input::placeholder, textarea::placeholder { color: var(--sn-muted); }
/* автозаполнение Chrome/Safari даёт жёлто-белый фон поверх всего */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: var(--sn-text) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--sn-surface) inset !important;
  caret-color: var(--sn-text);
}

/* 13.7.9 Плоские формы в шапке / оф-канвасе (.form-flat).
   Правило `.form-flat input:not([type=submit])` (0,2,1) бьёт правило
   темы `input[type=text]` (0,1,1), border-color rgba(0,0,0,.09) не виден. */
.form-flat input:not([type="submit"]),
.form-flat textarea,
.form-flat select {
  background-color: rgba(242, 240, 237, .06) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.form-flat input::placeholder { color: var(--sn-muted) !important; }

/* 13.7.10 Разделители колонок (страница «Мій акаунт», row-divided). */
.row-divided > .col + .col:not(.large-12),
.row-divided.row-reverse > .col + .col:not(.large-12),
.col-divided,
.col.col-divided:not(.col-first):last-child { border-color: var(--sn-line); }
.is-divider { background-color: rgba(242, 240, 237, .18); }

/* 13.7.11 Выпадающие меню — border 2px #ddd и заголовки колонок #000. */
.nav-dropdown { border-color: var(--sn-line) !important; }
.nav-dropdown .menu-item-has-children > a,
.nav-dropdown .title > a,
.nav-dropdown .nav-dropdown-col > a { color: var(--sn-text); }
.nav-dropdown-default .nav-column li > a,
.nav-dropdown.nav-dropdown-default > li > a { border-bottom-color: var(--sn-line); }
.nav-dropdown.nav-dropdown-bold > li.nav-dropdown-col,
.nav-dropdown.nav-dropdown-simple > li.nav-dropdown-col { border-color: var(--sn-line); }
.nav-dropdown-bold .nav-column li > a:hover,
.nav-dropdown.nav-dropdown-bold > li > a:hover { background-color: var(--sn-brand-700) !important; }
.nav-dropdown-simple .nav-column li > a:hover,
.nav-dropdown.nav-dropdown-simple > li > a:hover { background-color: rgba(171, 63, 194, .14); }
.nav-dropdown-has-arrow li.has-dropdown:after { border-bottom-color: var(--sn-surface); }
.nav-dropdown-has-arrow li.has-dropdown:before { border-bottom-color: var(--sn-line); }

/* 13.7.12 Сайдбар каталога: фильтр цены и выбранные фильтры (#f1f1f1). */
.widget_price_filter .price_slider { background: #231d2b; }
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle,
.widget_price_filter .price_slider_amount .button { background-color: var(--sn-brand-700) !important; }
.wc-layered-nav-term.chosen > a:before,
.widget_layered_nav_filters ul li.chosen a {
  background-color: rgba(100, 29, 113, .35);
  border-color: var(--sn-line);
  color: var(--sn-text);
}

/* 13.7.13 «Мій акаунт»: плитки навигации (border #ddd, hover #333). */
.dashboard-links a {
  background-color: var(--sn-surface);
  border-color: var(--sn-line);
  color: var(--sn-text);
}
.dashboard-links a:hover {
  background-color: var(--sn-brand-700) !important;
  border-color: var(--sn-brand-700) !important;
  color: #fff !important;
}
.woocommerce-MyAccount-navigation ul li a { color: var(--sn-muted); }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--sn-text); }

/* 13.7.14 Чекаут: список методов оплаты и «пузырь» описания метода.
   (woocommerce.css у Flatsome отключён, поэтому — защитно.) */
.payment_methods li + li { border-top-color: var(--sn-line) !important; }
.woocommerce-checkout #payment,
.woocommerce-checkout #payment ul.payment_methods { background: transparent; }
.payment_box, div.payment_box {
  background: var(--sn-bg-2) !important;
  color: var(--sn-text) !important;
  border-radius: 2px;
}
.payment_box:before, div.payment_box:before { border-bottom-color: var(--sn-bg-2) !important; }
.woocommerce-checkout #payment div.form-row.place-order { background: transparent; }

/* 13.7.15 Прочие светлые блоки Flatsome. */
.message-box { background-color: var(--sn-surface); }
.pricing-table { background-color: var(--sn-surface); border-color: var(--sn-line); }
.sticky-section, .sticky-section-helper + div { background-color: var(--sn-bg); }
.has-transparent + main > .message-wrapper { background-color: var(--sn-bg-2) !important; box-shadow: 0 -10px 30px -12px rgba(0, 0, 0, .8); }
.message-wrapper + .login { background-color: var(--sn-surface); border: 1px solid var(--sn-line); }
.woocommerce-info, .woocommerce-error, .woocommerce-message {
  background-color: var(--sn-surface);
  border-color: var(--sn-brand-700);
  color: var(--sn-text);
}
.woocommerce-error .message-container { color: #e88a86; }

/* ------------------------------------------------------------
   13.8 WOOCOMMERCE BLOCKS (wc-blocks.css грузится на ВСЕХ страницах)
   ------------------------------------------------------------ */
.wc-block-components-notice-banner,
.wc-block-components-panel,
.wc-block-components-sidebar {
  background: var(--sn-surface) !important;
  color: var(--sn-text) !important;
  border-color: var(--sn-line) !important;
}
.wc-block-components-button:not(.is-link) { background: var(--sn-brand-700) !important; color: #fff !important; }
.wc-block-components-text-input input,
.wc-block-components-form input {
  background: var(--sn-surface) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}

/* ------------------------------------------------------------
   13.9 WOO DISCOUNT RULES (awdr) — плашка скидки и bulk-таблица.
   Фон .awdr_discount_bar задаётся ИНЛАЙНОМ из настроек плагина
   (Badge background color). Если он светлый — либо поменять
   в админке плагина, либо раскомментировать override ниже.
   ------------------------------------------------------------ */
.awdr_discount_bar { border-radius: 2px; }
/* .awdr_discount_bar { background-color: rgba(100,29,113,.28) !important; color: var(--sn-text) !important; } */
.awdr-bulk-customizable-table { color: var(--sn-text); }
table.wdr_bulk_table_msg,
table.wdr_bulk_table_msg td.wdr_bulk_table_td,
table.wdr_bulk_table_msg th.wdr_bulk_table_td,
table.wdr_bulk_table_msg tr.wdr_bulk_table_tr {
  background: var(--sn-surface);
  border-color: var(--sn-line) !important;
  color: var(--sn-text);
}
table.wdr_bulk_table_msg thead.wdr_bulk_table_thead th { background: var(--sn-bg-2); color: var(--sn-brand-300); }

/* ------------------------------------------------------------
   13.10 CHECKOUT FIELD EDITOR (thwcfd) — свои поля/секции на чекауте.
   Собственных цветов у плагина нет, но метки и radio-строки
   наследуют цвет от ядра — фиксируем явно.
   ------------------------------------------------------------ */
.thwcfd-field label,
.thwcfd-field-radio label.radio,
.thwcfd-field-checkboxgroup .woocommerce-multicheckbox-wrapper label,
.thwcfd-section-title,
.thwcfd-heading { color: var(--sn-text); }
.thwcfd-field input,
.thwcfd-field textarea,
.thwcfd-field select {
  background: var(--sn-surface) !important;
  border-color: var(--sn-line) !important;
  color: var(--sn-text) !important;
}
.thwcfd-optional .optional { color: var(--sn-muted); }

/* ------------------------------------------------------------
   13.11 QUIZ MAKER (quiz-maker-public.css грузится на ВСЕХ страницах,
   но собственный контейнер появляется только на страницах с квизом).
   Достаточно нейтрализовать белую подложку контейнера.
   ------------------------------------------------------------ */
.ays-quiz-container,
.ays_quiz_container,
.ays-quiz-container .step,
.ays_quiz_form { background-color: var(--sn-surface) !important; color: var(--sn-text) !important; }

/* ------------------------------------------------------------
   13.12 ГЛОБАЛЬНАЯ СТРАХОВКА (последней — «ловит» новые виджеты).
   Скроллбар и выделение уже в секции 11; здесь только цветовая
   схема формы для нативных контролов браузера.
   ------------------------------------------------------------ */
:root { color-scheme: dark; }
