/* ==========================================================================
   Золотой век — глобальный визуальный override сайта
   Подключается после style.css. Не трогает PHP / корзину / checkout /api.
   Токены совпадают с приложением (src/theme.ts).
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Manrope:wght@400;500;600;700&display=swap");

:root {
  --zv-bg: #0f0d0b;
  --zv-bg-elevated: #161310;
  --zv-surface: #1c1814;
  --zv-surface-2: #26201a;
  --zv-surface-3: #322a22;
  --zv-text: #f7f1e6;
  --zv-text-muted: #a89b88;
  --zv-text-dim: #6f6558;
  --zv-gold: #d4af37;
  --zv-gold-soft: #e8d5a3;
  --zv-gold-deep: #b8860b;
  --zv-gold-dim: rgba(212, 175, 55, 0.16);
  --zv-border: rgba(232, 213, 163, 0.12);
  --zv-border-strong: rgba(232, 213, 163, 0.28);
  --zv-discount: #e85d4c;
  --zv-success: #7dcea0;
  --zv-overlay: rgba(8, 6, 4, 0.72);
  --zv-radius-sm: 10px;
  --zv-radius-md: 14px;
  --zv-radius-lg: 20px;
  --zv-font: "Manrope", system-ui, -apple-system, sans-serif;
  --zv-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  /* Единая сетка: хедер / слайдер / промо / категории (шире, ближе к full-bleed) */
  --zv-content-max: 1480px;
}

/* —— Base —— */
html {
  background: var(--zv-bg);
}

body {
  font-family: var(--zv-font) !important;
  color: var(--zv-text) !important;
  background:
    radial-gradient(900px 420px at 12% -10%, rgba(212, 175, 55, 0.08), transparent 55%),
    radial-gradient(700px 380px at 92% 8%, rgba(232, 213, 163, 0.05), transparent 50%),
    var(--zv-bg) !important;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--zv-gold-soft);
  transition: color 0.2s ease;
}

a:hover,
a:focus {
  color: var(--zv-gold);
}

.wrappage {
  background: transparent;
  min-height: 100vh;
}

.wrappage h1,
.wrappage h2,
.wrappage h3,
.wrappage h4,
.heading-v2,
.product-title,
.footer-title,
.single-product-detail .product-title {
  font-family: var(--zv-serif) !important;
  color: var(--zv-text) !important;
  letter-spacing: 0.01em;
}

.heading-v2 {
  font-size: clamp(26px, 3.2vw, 36px) !important;
  font-weight: 600 !important;
  margin-bottom: 36px !important;
  padding-bottom: 14px !important;
}

.heading-v2:before,
.heading:before {
  border-bottom-color: var(--zv-gold) !important;
  width: 48px !important;
  border-bottom-width: 2px !important;
}

/* —— Header / topbar / nav —— */
#header.header-v4,
.header-v4,
.header-v4 .topbar,
.home-clean .topbar,
.fixed-header,
.fixed-header.fadeInDown {
  background: #0f0d0b !important;
  background-color: #0f0d0b !important;
  border-bottom-color: var(--zv-border) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.header-v4 .topbar {
  border-bottom-color: var(--zv-border) !important;
  padding-bottom: 16px !important;
}

/*
  Anti-jump sticky header
  style.css + main.js: при scrollTop>90 на .topbar вешается .fixed-header
  (position:fixed) → #header схлопывается (~138→0) → контент прыгает на высоту шапки.
  body{overflow:auto} ломает sticky на потомках, поэтому:
  1) overflow у body/html чиним для viewport-scroll
  2) sticky вешаем на #header целиком
  3) .fixed-header на .topbar нейтрализуем (оставляем в потоке)
  Полоска contacts остаётся видимой — без hide/компенсации.
*/
html {
  overflow-y: auto;
}

body {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

@media (min-width: 1200px) {
  #header.header-v4 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    overflow: visible;
    background: #0f0d0b !important;
    background-color: #0f0d0b !important;
  }

  #header.header-v4 .topbar,
  #header.header-v4 .topbar.fixed-header,
  #header.header-v4 .topbar.fixed-header.fadeInDown,
  .header-v4 .topbar.fixed-header,
  .home-clean .topbar.fixed-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    padding: 0 0 16px 0 !important;
    margin: 0 !important;
    animation: none !important;
    -webkit-animation: none !important;
    transform: none !important;
  }
}

@media (max-width: 1024px) {
  .home-clean .topbar {
    background: #0f0d0b !important;
    background-color: #0f0d0b !important;
  }
}

.top-contacts-wrap {
  background: var(--zv-bg-elevated) !important;
  border-bottom: 1px solid var(--zv-border);
}

.top-contacts-wrap .top-contacts,
.topbar .top-contacts-wrap .top-contacts .phone a,
.topbar .top-contacts-wrap .top-contacts .email a {
  color: var(--zv-gold) !important;
  font-family: var(--zv-font);
  font-size: clamp(14px, 2.4vw, 20px) !important;
  font-weight: 600 !important;
}

.header-v4 .js-menubar > li > a,
.header-v4.home-clean .topbar-center .js-menubar > li > a,
.navbar-nav > li > a {
  color: var(--zv-text-muted) !important;
  font-family: var(--zv-font) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.03em;
  text-transform: none;
}

.header-v4.home-clean .topbar-center .js-menubar > li > a:hover,
.navbar-nav > li > a:hover {
  color: var(--zv-gold) !important;
}

.home-clean .topbar-center .js-menubar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.home-clean .topbar-center .js-menubar > li > a {
  padding-left: 10px;
  padding-right: 10px;
  white-space: nowrap;
}

.home-clean .topbar-option > *:before {
  border-left-color: var(--zv-border) !important;
}

.topbar-wishlist a,
.topbar-account,
.customer-icon,
.topbar-search a,
.topbar-search .search-button,
.topbar-search .search-button span,
.topbar-cart a,
.topbar-cart .icon-cart,
.header-v4 .topbar-option a,
.header-v4 .topbar-option i {
  color: var(--zv-gold-soft) !important;
}

.topbar-wishlist .count,
.wishlist-count,
#favorites-products {
  background: var(--zv-gold) !important;
  color: #1a140a !important;
  border: none !important;
  font-weight: 700 !important;
}

.dropdown-menu.customer-menu {
  background: var(--zv-surface) !important;
  border: 1px solid var(--zv-border-strong) !important;
  border-radius: var(--zv-radius-md) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
  padding: 8px 0 !important;
}

.dropdown-menu.customer-menu .dropdown-item,
.dropdown-menu.customer-menu .customer-name {
  color: var(--zv-text) !important;
  font-family: var(--zv-font);
}

.dropdown-menu.customer-menu .dropdown-item:hover {
  background: var(--zv-gold-dim) !important;
  color: var(--zv-gold-soft) !important;
}

.navbar-toggler {
  background: var(--zv-surface-2) !important;
  border: 1px solid var(--zv-border-strong) !important;
  color: var(--zv-gold) !important;
  border-radius: 8px !important;
}

/* Mobile offcanvas / push menu */
.pushmenu,
.side-menu,
#menu {
  background: var(--zv-bg-elevated) !important;
  color: var(--zv-text);
}

.pushmenu a,
.side-menu a {
  color: var(--zv-text-muted) !important;
}

.pushmenu a:hover,
.side-menu a:hover {
  color: var(--zv-gold) !important;
}

/* —— Categories —— */
.product-category {
  padding: 12px 0 8px;
}

/* gap ~14px между плитками (owl без margin) */
.product-category .js-owl-category .owl-item {
  padding-left: 7px;
  padding-right: 7px;
  box-sizing: border-box;
}

.box-category-item .box-category {
  background: var(--zv-surface) !important;
  background-color: var(--zv-surface) !important;
  border: 1px solid var(--zv-border) !important;
  border-radius: var(--zv-radius-md);
  padding: 14px 10px 12px;
  margin: 0 0 12px 0 !important;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.box-category-item .box-category:hover {
  border-color: var(--zv-border-strong) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.box-category-name,
.box-category-name a {
  color: var(--zv-text) !important;
  font-family: var(--zv-serif) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-top: 8px;
}

/* —— Product cards (home / shop / lists) — как ProductCard в app —— */
.wrapper-product {
  padding-bottom: 24px;
}

.product-item-wrap .product-item,
.product-item-wrap .product,
.product-item-wrap .item,
.product-item,
.product-related .product-item,
.owl-carousel .product-item {
  display: flex !important;
  flex-direction: column !important;
  background: var(--zv-surface) !important;
  background-color: var(--zv-surface) !important;
  border: 1px solid var(--zv-border) !important;
  border-radius: var(--zv-radius-lg) !important;
  overflow: hidden;
  margin-bottom: 18px !important;
  padding: 8px !important;
  padding-bottom: 12px !important;
  transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease !important;
}

.product-item-wrap .product-item:hover,
.product-related .product-item:hover,
.owl-carousel .product-item:hover {
  border-color: var(--zv-border-strong) !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.35) !important;
  transform: translateY(-3px);
}

/* CMS зумит img на hover — в app нет */
.product-item-wrap .product-item:hover img,
.product-item-wrap .product:hover img,
.product-item-wrap .item:hover img,
.product-item:hover img {
  transform: none !important;
}

/* Сетка ближе к app gap: 10 */
.wrapper-product .product-item-wrap,
.product-standard .product-item-wrap,
.product-grid .product-item-wrap {
  padding-left: 5px !important;
  padding-right: 5px !important;
  margin-bottom: 0 !important;
}

.wrapper-product .row,
.product-standard .row,
.product-grid .row {
  margin-left: -5px !important;
  margin-right: -5px !important;
}

.product-item-wrap .product-item,
.product-item-wrap .product,
.product-item-wrap .item {
  margin-bottom: 10px !important;
}

/* Блок фото: колонка = квадрат фото + цена под ним (как в app)
   CMS style.css: padding 20% 5% + img 80% — обязательно обнулить */
.product-item .product-images,
.product-item-wrap .product .product-images,
.product-item-wrap .item .product-images,
.product-item-wrap .product-item .product-images,
.product-related .product-item .product-images {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: transparent !important;
  background-color: transparent !important;
  overflow: visible !important;
  flex: 0 0 auto;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.product-item .hover-images.effect,
.product-item .hover-images,
.product-item-wrap .product-item .hover-images,
.product-related .product-item .hover-images {
  display: block !important;
  position: relative !important;
  z-index: 1;
  order: 1;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1;
  border-radius: var(--zv-radius-md) !important;
  overflow: hidden !important;
  background: var(--zv-surface-2) !important;
  background-color: var(--zv-surface-2) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.product-item .product-images img,
.product-item-wrap .product-item .product-images img,
.product-item .hover-images img,
.product-item-wrap .product-item .hover-images img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  transform: none !important;
}

/* Цена под фото — не оверлей, без градиента и «бантика» */
.product-item .ribbon-price,
.product-related .product-item .ribbon-price,
.owl-carousel .product-item .ribbon-price,
.wrapper-product .ribbon-price {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  display: block !important;
  order: 2;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.25 !important;
  margin: 10px 0 0 !important;
  padding: 0 2px !important;
  text-align: left !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.product-item .ribbon-price span,
.product-related .product-item .ribbon-price span,
.owl-carousel .product-item .ribbon-price span,
.wrapper-product .ribbon-price span {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: 1.25 !important;
}

.product-item .ribbon-price span b,
.product-related .product-item .ribbon-price span b,
.owl-carousel .product-item .ribbon-price span b,
.wrapper-product .ribbon-price span b {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  display: block !important;
  order: 1;
  color: var(--zv-gold-soft) !important;
  font-family: var(--zv-font) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.01em;
  line-height: 1.3 !important;
  white-space: nowrap;
}

.product-item .ribbon-price span b.price-old,
.product-related .product-item .ribbon-price span b.price-old,
.wrapper-product .ribbon-price span b.price-old {
  position: static !important;
  top: auto !important;
  left: auto !important;
  order: 2 !important;
  color: var(--zv-text-dim) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  text-decoration-color: var(--zv-text-dim) !important;
  min-height: 16px;
}

.product-item .ribbon-price span b.price-new,
.product-related .product-item .ribbon-price span b.price-new,
.wrapper-product .ribbon-price span b.price-new {
  position: static !important;
  top: auto !important;
  left: auto !important;
  order: 1 !important;
  color: var(--zv-gold-soft) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* Убрать жёлто-чёрный треугольный декор у цены */
.product-item .ribbon-price span:before,
.product-item .ribbon-price span:after,
.product-item .ribbon-price:before,
.product-item .ribbon-price:after,
.product-related .product-item .ribbon-price span:before,
.product-related .product-item .ribbon-price span:after,
.wrapper-product .ribbon-price span:before,
.wrapper-product .ribbon-price span:after,
.owl-carousel .product-item .ribbon-price span:before,
.owl-carousel .product-item .ribbon-price span:after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Badges −% / NEW — сверху слева на фото (как в app) */
.product-item .ribbon-wrap,
.product-related .product-item .ribbon-wrap {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  pointer-events: none;
}

.product-item .ribbon-sale,
.product-item .ribbon-wrap .ribbon-hit,
.product-item .ribbon-wrap .ribbon-new,
.product-item-wrap .ribbon-wrap .ribbon-sale,
.product-item-wrap .ribbon-wrap .ribbon-new,
.product-item-wrap .ribbon-wrap .ribbon-hit,
.ribbon-wrap .ribbon-hit,
.ribbon-wrap .ribbon-new,
.ribbon-wrap .ribbon-sale {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  float: none !important;
  border-radius: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-item .ribbon-wrap .ribbon-sale,
.ribbon-wrap .ribbon-sale {
  order: 1;
  background: var(--zv-discount) !important;
}

.product-item .ribbon-wrap .ribbon-new,
.ribbon-wrap .ribbon-new {
  order: 2;
  background: var(--zv-success) !important;
}

/* HIT нет в app ProductCard — не показываем на витрине */
.product-item .ribbon-wrap .ribbon-hit,
.ribbon-wrap .ribbon-hit {
  display: none !important;
}

.product-item .ribbon-wrap .ribbon-sale span,
.product-item .ribbon-wrap .ribbon-hit span,
.ribbon-wrap .ribbon-sale span,
.ribbon-wrap .ribbon-hit span {
  position: static !important;
  color: #fff !important;
  font-family: var(--zv-font) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.02em;
  line-height: 1 !important;
}

.product-item .ribbon-wrap .ribbon-new span,
.ribbon-wrap .ribbon-new span {
  position: static !important;
  color: #0a0908 !important;
  font-family: var(--zv-font) !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: 0.04em;
  line-height: 1 !important;
  text-transform: uppercase;
}

.product-item .ribbon-wrap .ribbon-sale span:before,
.product-item .ribbon-wrap .ribbon-sale span:after,
.product-item .ribbon-wrap .ribbon-new span:before,
.product-item .ribbon-wrap .ribbon-new span:after,
.product-item .ribbon-wrap .ribbon-hit span:before,
.product-item .ribbon-wrap .ribbon-hit span:after {
  content: none !important;
  display: none !important;
}

/* Избранное — сверху справа на фото (32×32 glass circle как в app) */
.product-item .wish-wrap,
.product-item .wish-wrap.list-items,
.product-item-wrap .product-item .wish-wrap,
.product-item-wrap .product-item .wish-wrap.list-items {
  position: absolute !important;
  top: 8px !important;
  left: auto !important;
  right: 8px !important;
  bottom: auto !important;
  z-index: 6 !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.product-item .wish-wrap .wish,
.product-item .wish-wrap a,
.wish-wrap .wish,
.wish-wrap a {
  color: #fff !important;
  background: rgba(10, 9, 8, 0.45) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.product-item .wish-wrap .wish .icon-heart-empty,
.product-item .wish-wrap .wish .icon-heart-full,
.product-item .wish-wrap .wish .icon,
.wish-wrap .wish .icon-heart-empty,
.wish-wrap .wish .icon-heart-full {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  filter: brightness(0) invert(1);
  opacity: 0.95;
  transform: none !important;
  background-size: contain !important;
}

.product-item .wish-wrap .wish.full .icon-heart-full,
.product-item .wish-wrap .wish:not(.empty) .icon-heart-full,
.wish-wrap .wish.full .icon-heart-full {
  filter: none;
}

.wish-wrap .wish:hover,
.wish-wrap a:hover,
.wish-wrap .wish.active,
.wish-wrap a.active,
.wish-wrap .wish.full,
.wish-wrap .wish:not(.empty) {
  color: var(--zv-discount) !important;
}

.wish-wrap .wish:hover .icon-heart-empty,
.wish-wrap .wish:hover .icon-heart-full {
  transform: none !important;
}

.product-info-ver2 {
  flex: 1 1 auto;
  padding: 4px 2px 0 !important;
  background: transparent !important;
  border-top: 0 !important;
}

.product-item .product-title,
.product-item-wrap .product-item .product-title,
.product-info-ver2 .product-title {
  margin: 4px 0 0 !important;
  text-align: left !important;
  width: auto !important;
  max-width: none !important;
  min-height: 36px !important;
  font-family: var(--zv-font) !important; /* не serif из .wrappage h3 */
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--zv-text) !important;
  line-height: 18px !important;
}

.product-item .product-title a,
.product-item-wrap .product-item .product-title a,
.product-info-ver2 .product-title a {
  font-family: var(--zv-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--zv-text) !important;
  line-height: 18px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.product-item .product-title a:hover,
.product-item-wrap .product-item .product-title a:hover {
  color: var(--zv-gold-soft) !important;
}

/* В app кода товара на карточке нет — прячем CMS-хлам */
.product-item .product-articul,
.product-item-wrap .product-item .product-articul,
.product-info-ver2 .product-articul,
.product-related .product-item .product-articul {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* —— Buttons —— */
.btn-loadmore,
a.btn-loadmore,
button.btn-loadmore,
.add-cart,
.order-button,
.btn-primary {
  font-family: var(--zv-font) !important;
  font-weight: 700 !important;
  border-radius: var(--zv-radius-md) !important;
  border: 1px solid rgba(255, 236, 180, 0.35) !important;
  background: linear-gradient(180deg, #f0d78c 0%, var(--zv-gold) 55%, var(--zv-gold-deep) 100%) !important;
  color: #1a140a !important;
  box-shadow: 0 10px 22px rgba(184, 134, 11, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
  text-decoration: none !important;
}

.btn-loadmore:hover,
a.btn-loadmore:hover,
button.btn-loadmore:hover,
.add-cart:hover,
.order-button:hover,
.btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  color: #1a140a !important;
  box-shadow: 0 14px 28px rgba(184, 134, 11, 0.34);
}

.single-product-info .add-cart,
.single-product-info .order-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 22px !important;
  margin: 8px 0 !important;
  width: auto !important;
  line-height: 1 !important;
}

.order-button {
  background: transparent !important;
  color: var(--zv-gold-soft) !important;
  border: 1px solid var(--zv-border-strong) !important;
  box-shadow: none !important;
}

.order-button:hover {
  background: var(--zv-gold-dim) !important;
  color: #fff !important;
  border-color: var(--zv-gold) !important;
  filter: none;
}

/* —— Filters / sorting / pagination —— */
.filter-product,
#filters-wrap .filter-product,
.product-standard.filter-product {
  background: var(--zv-surface) !important;
  background-color: var(--zv-surface) !important;
  border: 1px solid var(--zv-border) !important;
  border-radius: var(--zv-radius-lg);
  padding: 8px 4px 12px;
  overflow: hidden;
}

.filter-product .filter-title {
  color: var(--zv-text) !important;
  font-family: var(--zv-serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--zv-border);
  background: var(--zv-surface-2) !important;
  background-color: var(--zv-surface-2) !important;
  display: block;
}

.filter-product .filtertitle,
.filter-product h3.filtertitle {
  color: var(--zv-gold-soft) !important;
  font-family: var(--zv-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 16px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--zv-border);
  cursor: pointer;
}

.filter-product .filter-content {
  border-bottom-color: var(--zv-border) !important;
  background: var(--zv-bg-elevated);
  padding: 10px 14px !important;
}

.filter-product .filter-content > li > a,
.filters-block-item-txt,
.filters-block-item-txt-loc,
.filter-counts-items {
  color: var(--zv-text-muted) !important;
  font-family: var(--zv-font) !important;
}

.filters-block-item {
  padding: 4px 0;
}

.filters-refresh {
  color: var(--zv-gold) !important;
}

.list-settings-wrap,
.sorting,
.wrap-filter-sorting {
  color: var(--zv-text-muted);
}

.list-settings-wrap select,
.sorting select,
.form-select {
  background: var(--zv-surface-2) !important;
  color: var(--zv-text) !important;
  border: 1px solid var(--zv-border-strong) !important;
  border-radius: var(--zv-radius-sm) !important;
  font-family: var(--zv-font) !important;
}

.pagination-container .pagination .page-link,
.pagination .page-item .page-link,
.pagination-container a,
.button-v.v6 a {
  background: var(--zv-surface) !important;
  color: var(--zv-text-muted) !important;
  border: 1px solid var(--zv-border) !important;
  border-radius: 8px !important;
  font-family: var(--zv-font) !important;
}

.pagination-container .pagination .page-item.active .page-link,
.pagination .page-item.active .page-link,
.pagination-container a.active {
  background: var(--zv-gold) !important;
  color: #1a140a !important;
  border-color: var(--zv-gold) !important;
}

/* —— Breadcrumbs —— */
.breadcrumb {
  background: transparent !important;
  padding: 12px 0 !important;
}

.breadcrumb a,
.breadcrumb li,
.breadcrumb-item,
.breadcrumb-item a {
  color: var(--zv-text-muted) !important;
  font-family: var(--zv-font) !important;
  font-size: 13px !important;
}

.breadcrumb .active,
.breadcrumb-item.active {
  color: var(--zv-gold-soft) !important;
}

/* —— Product detail —— */
.single-product-detail {
  background: var(--zv-surface);
  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);
  padding: 20px 16px 28px;
  margin: 16px 0 28px;
}

.single-product-detail .product-title {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 600 !important;
  margin-bottom: 18px !important;
  text-align: left !important;
  width: auto !important;
}

.product-wrap {
  background: var(--zv-bg-elevated) !important;
  border-radius: var(--zv-radius-md);
  overflow: hidden;
  position: relative;
}

.product-price {
  color: var(--zv-gold) !important;
  font-family: var(--zv-font) !important;
  font-weight: 700 !important;
}

.product-price .price-old {
  color: var(--zv-text-dim) !important;
}

.product-price .price-new {
  color: var(--zv-gold-soft) !important;
}

.product-options-title {
  font-family: var(--zv-serif) !important;
  color: var(--zv-text) !important;
  font-size: 22px !important;
}

.single-product-info .product-options ul li {
  color: var(--zv-text-muted) !important;
  border-bottom: 1px solid var(--zv-border);
  font-family: var(--zv-font) !important;
}

.single-product-info .product-options ul li span {
  color: var(--zv-text-dim) !important;
}

.single-product-tab .nav-tabs {
  border-bottom: 1px solid var(--zv-border) !important;
}

.single-product-tab .nav-link {
  color: var(--zv-text-muted) !important;
  font-family: var(--zv-font) !important;
  border: none !important;
  border-radius: var(--zv-radius-sm) var(--zv-radius-sm) 0 0 !important;
}

.single-product-tab .nav-link.active {
  color: var(--zv-gold) !important;
  background: transparent !important;
  border-bottom: 2px solid var(--zv-gold) !important;
}

/* Наличие в магазинах — CMS даёт #eee на .location-city (светлый текст на белом) */
.single-product-tab .location-city-wrap,
.location-city-wrap {
  background: var(--zv-surface) !important;
  border: 1px solid var(--zv-border) !important;
  border-radius: var(--zv-radius-md) !important;
  overflow: hidden;
  margin-top: 12px;
}

.single-product-tab .location-city-wrap .location-city,
.location-city-wrap .location-city,
.location-city {
  color: var(--zv-gold-soft) !important;
  font-family: var(--zv-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: var(--zv-surface-2) !important;
  background-color: var(--zv-surface-2) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--zv-border) !important;
  border-top: 0 !important;
  letter-spacing: 0.02em;
}

.single-product-tab .location-city-wrap .location-city:first-child,
.location-city-wrap .location-city:first-child {
  border-top: 0 !important;
}

.single-product-tab .location-city-wrap .location-item,
.location-city-wrap .location-item,
.location-item {
  background: var(--zv-surface) !important;
  background-color: var(--zv-surface) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--zv-border) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  align-items: center !important;
}

.single-product-tab .location-city-wrap .location-item:hover,
.location-city-wrap .location-item:hover {
  border: 0 !important;
  border-bottom: 1px solid var(--zv-border-strong) !important;
  background: var(--zv-surface-2) !important;
}

.single-product-tab .location-city-wrap .location-item .location-item-name,
.location-item-name {
  color: var(--zv-text) !important;
  font-family: var(--zv-font) !important;
  font-size: 14px !important;
  text-align: left !important;
  padding: 0 !important;
}

.single-product-tab .location-city-wrap .location-item .size-item-wrap .size-item-exist,
.size-item-exist {
  color: var(--zv-success) !important;
  font-family: var(--zv-font) !important;
  font-weight: 600 !important;
  text-align: right !important;
}

.single-product-tab .location-city-wrap .location-item .size-item-wrap table,
.single-product-tab .location-city-wrap .location-item .size-item-wrap table td,
.single-product-tab .location-city-wrap .location-item .size-item-wrap table .size-name,
.single-product-tab .location-city-wrap .location-item .size-item-wrap table .size-count {
  color: var(--zv-text-muted) !important;
  border-color: var(--zv-border) !important;
  background: transparent !important;
}

/* Селекты / фильтры на PDP */
.single-product-detail select,
.single-product-info select,
.single-product-tab select,
.product-options select,
.location-city-wrap select {
  background: var(--zv-surface-2) !important;
  background-color: var(--zv-surface-2) !important;
  color: var(--zv-gold-soft) !important;
  border: 1px solid var(--zv-border-strong) !important;
  border-radius: var(--zv-radius-sm) !important;
  padding: 10px 12px !important;
  font-family: var(--zv-font) !important;
  -webkit-appearance: none;
  appearance: none;
}

.single-product-detail select option,
.single-product-info select option,
.single-product-tab select option {
  background: var(--zv-surface) !important;
  color: var(--zv-text) !important;
}

.share-social span,
.rating-star label {
  color: var(--zv-text-muted) !important;
}

.share-social a {
  color: var(--zv-gold-soft) !important;
}

/* —— Cart / checkout —— */
.cart-wrap {
  background: var(--zv-surface);
  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);
  padding: 12px 16px 8px;
}

.cart-wrap .cart-row {
  border-top-color: var(--zv-border) !important;
  align-items: center;
}

.cart-wrap .cart-row:last-child {
  border-bottom-color: var(--zv-border) !important;
}

.cart-wrap .product-name,
.cart-wrap .product-price span,
.total-price span,
.total-price-title {
  color: var(--zv-text) !important;
  font-family: var(--zv-font) !important;
}

.cart-wrap .product-name {
  font-family: var(--zv-serif) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
}

.cart-wrap .product-cart-info,
.cart-wrap .product-cart-info span {
  color: var(--zv-text-dim) !important;
}

.cart-wrap .product-price .remove {
  color: var(--zv-discount) !important;
  font-size: 28px !important;
  line-height: 1;
}

.cart-wrap .product-photo {
  background: var(--zv-bg-elevated) !important;
  border-radius: var(--zv-radius-sm);
  overflow: hidden;
  padding: 4px;
}

.form-checkout,
.form-customer {
  background: var(--zv-surface);
  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);
  padding: 22px 18px 10px;
  max-width: 640px;
  margin: 0 auto 24px;
}

.form-checkout label,
.form-customer label,
.form-group label {
  color: var(--zv-text-muted) !important;
  font-family: var(--zv-font) !important;
  font-weight: 500 !important;
  margin-bottom: 6px;
}

.form-checkout label span,
.form-customer label span {
  color: var(--zv-gold) !important;
}

.form-control,
.form-account,
.form-select,
input.form-control,
textarea.form-control,
select.form-control {
  background: var(--zv-bg-elevated) !important;
  color: var(--zv-text) !important;
  border: 1px solid var(--zv-border-strong) !important;
  border-radius: var(--zv-radius-sm) !important;
  font-family: var(--zv-font) !important;
  min-height: 44px;
  box-shadow: none !important;
}

.form-control:focus,
.form-account:focus,
.form-select:focus {
  border-color: var(--zv-gold) !important;
  box-shadow: 0 0 0 3px var(--zv-gold-dim) !important;
  outline: none !important;
  background: var(--zv-surface-2) !important;
  color: var(--zv-text) !important;
}

.form-control::placeholder {
  color: var(--zv-text-dim) !important;
}

.error-message {
  color: var(--zv-discount) !important;
}

/* —— Modals —— */
.modal-content {
  background: var(--zv-surface) !important;
  color: var(--zv-text) !important;
  border: 1px solid var(--zv-border-strong) !important;
  border-radius: var(--zv-radius-lg) !important;
}

.modal-header,
.modal-footer {
  border-color: var(--zv-border) !important;
}

.modal-title {
  font-family: var(--zv-serif) !important;
  color: var(--zv-text) !important;
}

.btn-close {
  filter: invert(1) brightness(1.4);
}

/* —— Reviews / informers (карточки как surface app) —— */
.reviews,
.review-item,
.informer,
.cms-reviews {
  color: var(--zv-text-muted);
}

.blog-home {
  padding: 8px 0 28px !important;
}

.blog-home .blog-post-item-v2 {
  padding: 6px 8px !important;
}

.blog-home .blog-post-item.item-grid,
.blog-home .blog-post-item,
.reviews .blog-post-item,
.cms-reviews .blog-post-item {
  background: #1c1814 !important;
  background-color: #1c1814 !important;
  border: 1px solid var(--zv-border) !important;
  border-radius: var(--zv-radius-lg) !important;
  padding: 18px 18px 16px !important;
  margin: 0 !important;
  min-height: 168px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.blog-home .blog-post-item:hover,
.reviews .blog-post-item:hover {
  border-color: var(--zv-border-strong) !important;
  transform: translateY(-2px);
}

.blog-home .blog-post-info,
.blog-home .blog-post-info.space-v2,
.blog-home .blog-post-info .post-info {
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  background: transparent !important;
}

.blog-home .blog-post-info > * {
  float: none !important;
  width: 100% !important;
}

.blog-home .post-info .post-name,
.blog-home .blog-post-info .post-info .post-name,
.reviews h3.post-name,
.reviews .post-name {
  font-family: var(--zv-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--zv-text) !important;
  text-align: left !important;
  margin: 0 0 6px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.blog-home .post-info .post-date-main,
.blog-home .blog-post-info .post-info .post-date-main,
.reviews .post-date-main {
  font-family: var(--zv-font) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--zv-text-dim) !important;
  text-align: left !important;
  margin: 0 0 10px !important;
  letter-spacing: 0.02em;
}

.blog-home .post-info p,
.blog-home .blog-post-info .post-info p,
.reviews .post-info p {
  font-family: var(--zv-font) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--zv-text-muted) !important;
  text-align: left !important;
  margin: 0 0 14px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.blog-home .post-info .blog-readmore,
.blog-home .blog-post-info .post-info .blog-readmore,
.reviews .blog-readmore {
  font-family: var(--zv-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--zv-gold-soft) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}

.blog-home .post-info .blog-readmore:hover,
.reviews .blog-readmore:hover {
  color: var(--zv-gold) !important;
}

.blog-home .post-info .blog-readmore:after,
.reviews .blog-readmore:after {
  content: "→" !important;
  color: inherit !important;
  border: 0 !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  position: static !important;
}

/* Стрелки слайдера отзывов */
.blog-home .owl-theme .owl-nav [class*="owl-"],
.blog-home .owl-nav > div,
.reviews .owl-theme .owl-nav [class*="owl-"],
.reviews .owl-nav > div {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--zv-surface-2) !important;
  background-color: var(--zv-surface-2) !important;
  border: 1px solid var(--zv-border-strong) !important;
  color: var(--zv-gold-soft) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35) !important;
  opacity: 1 !important;
  margin-top: -18px !important;
}

.blog-home .owl-theme .owl-nav [class*="owl-"]:hover,
.blog-home .owl-nav > div:hover,
.reviews .owl-nav > div:hover {
  background: var(--zv-surface-3) !important;
  border-color: var(--zv-gold) !important;
  color: var(--zv-gold) !important;
}

/* —— Footer —— */
footer {
  background:
    radial-gradient(520px 220px at 80% 0%, rgba(212, 175, 55, 0.12), transparent 60%),
    linear-gradient(180deg, #161310 0%, #0c0a08 100%) !important;
  border-top: 1px solid var(--zv-border-strong) !important;
  margin-top: 40px !important;
  padding-top: 12px;
  color: var(--zv-text-muted) !important;
}

footer .footer-title {
  color: var(--zv-gold-soft) !important;
  font-family: var(--zv-serif) !important;
  font-size: 18px !important;
  letter-spacing: 0.08em !important;
}

footer .menu-footer ul li a {
  color: var(--zv-text-muted) !important;
  font-family: var(--zv-font) !important;
  font-weight: 500 !important;
}

footer .menu-footer ul li a:hover {
  color: var(--zv-gold) !important;
}

footer .social .socnet-wrap a,
footer .social a {
  color: var(--zv-gold-soft) !important;
  transition: color 0.2s ease;
}

footer .social .socnet-wrap a:hover,
footer .social a:hover {
  color: var(--zv-gold) !important;
}

footer .newletter-form .form-control {
  border-bottom: 1px solid var(--zv-border-strong) !important;
  color: var(--zv-text) !important;
}

footer .newletter-form .btn-submit {
  color: var(--zv-gold) !important;
}

.footer-end {
  border-top: 1px solid var(--zv-border);
  margin-top: 8px;
  padding: 16px 12px 20px;
  color: var(--zv-text-dim) !important;
  font-size: 13px;
}

/* —— Misc —— */
.scroll_top {
  color: var(--zv-gold) !important;
}

.loader-wrap {
  background: var(--zv-overlay) !important;
}

/* —— Content grid alignment —— */
.header-v4 .container.container-40,
.top-contacts-wrap .container,
.zv-home-hero .container.container-42,
.slider-homesimple .container.container-42,
.zv-app-promo .container,
.product-category .container.container-42,
.wrapper-product .container.container-42,
.wrapper-product .container,
footer .container,
.reviews .container,
.wrapper-review .container {
  max-width: var(--zv-content-max) !important;
  margin-left: auto;
  margin-right: auto;
}

/* Bootstrap-контейнеры темы — тоже шире */
.container.container-42,
.container.container-40 {
  max-width: var(--zv-content-max) !important;
}

/* —— Home hero slider (колонка в zv-home-hero; мягкий slide без белых вспышек) —— */
.slider-homesimple,
.zv-home-hero__banners.slider-homesimple {
  background-color: transparent !important;
  background-image: none !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden; /* не светить соседний слайд до ready */
  padding: 0 !important;
  margin: 0 !important;
}

.slider-homesimple .js-homesimple-slider {
  margin: 0;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto !important;
  border-radius: var(--zv-radius-md);
  border: 1px solid var(--zv-border);
  background: var(--zv-bg-elevated);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

/* FOUC: до init Slick все .slider-img — соседи в DOM; показываем только первый */
.slider-homesimple .js-homesimple-slider:not(.slick-initialized) {
  overflow: hidden;
  width: 100%;
}

.slider-homesimple .js-homesimple-slider:not(.slick-initialized) > .slider-img {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.slider-homesimple .js-homesimple-slider:not(.slick-initialized) > .slider-img:not(:first-child) {
  position: absolute;
  left: 0;
  top: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

.slider-homesimple .slick-list {
  overflow: hidden !important;
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
  border-radius: var(--zv-radius-md);
  background: var(--zv-bg-elevated) !important;
}

.slider-homesimple .slick-track {
  background: var(--zv-bg-elevated) !important;
  height: auto !important;
}

.slider-homesimple .slick-slide {
  height: auto !important;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background: var(--zv-bg-elevated) !important;
  outline: none;
}

.slider-homesimple .slick-slide > div {
  width: 100%;
  background: var(--zv-bg-elevated);
}

.slider-homesimple .slider-img {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto;
  padding-bottom: 0 !important;
  background: var(--zv-bg-elevated) !important;
  overflow: hidden;
  line-height: 0;
}

/* весь баннер влезает — без обрезки низа («ШИРОКИЙ / ГАРАНТИЯ / …») */
.slider-homesimple .slider-img img,
.slider-homesimple .slider-img .img-responsive {
  position: static !important;
  inset: auto;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center;
  display: block;
  margin: 0;
  background: var(--zv-bg-elevated);
}

.slider-homesimple .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slider-homesimple .slick-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  bottom: 10px;
  background-color: transparent !important;
  z-index: 10;
}

.slider-homesimple .slick-dots li {
  margin: 0 !important;
  background-color: rgba(22, 19, 16, 0.55) !important;
  border-radius: 2px;
  height: 6px !important;
  flex: 1 1 0;
  max-width: 48px;
}

.slider-homesimple .slick-dots li:hover {
  background-color: var(--zv-gold-soft) !important;
}

.slider-homesimple .slick-dots .slick-active {
  background-color: var(--zv-gold) !important;
}

.slider-homesimple .slick-prev,
.slider-homesimple .slick-next {
  background: rgba(22, 19, 16, 0.55) !important;
  border-radius: 50% !important;
  color: transparent !important;
  width: 40px !important;
  height: 40px !important;
  z-index: 5;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

.slider-homesimple .slick-prev {
  left: 10px !important;
}

.slider-homesimple .slick-next {
  right: 10px !important;
}

.slider-homesimple .slick-prev:before,
.slider-homesimple .slick-next:before {
  opacity: 1;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

/* Owl category arrows only (не трогаем slick homesimple) */
.owl-theme .owl-nav [class*=owl-] {
  background: var(--zv-surface-2) !important;
  color: var(--zv-gold) !important;
  border-radius: 50% !important;
}

/* Promo title font sync with site theme */
.wrappage .zv-app-promo h2.zv-app-promo__title,
.zv-app-promo h2.zv-app-promo__title {
  font-family: var(--zv-serif) !important;
}

/* —— Mobile —— */
@media (max-width: 1199px) {
  /* на <1200 arrows:false в main.js */
  .slider-homesimple .slick-prev,
  .slider-homesimple .slick-next {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .slider-homesimple .slick-list,
  .slider-homesimple .js-homesimple-slider {
    border-radius: var(--zv-radius-sm);
  }

  .header-v4 .container.container-40,
  .zv-home-hero .container.container-42,
  .zv-app-promo .container,
  .product-category .container.container-42 {
    padding-left: 16px;
    padding-right: 16px;
  }

  .top-contacts-wrap .top-contacts {
    font-size: 13px !important;
    height: auto !important;
    line-height: 1.4 !important;
    padding: 8px 12px !important;
    flex-wrap: wrap;
    gap: 4px 12px;
    justify-content: center;
  }

  .product-item .product-title a,
  .product-info-ver2 .product-title a {
    font-size: 12px !important;
    line-height: 16px !important;
    min-height: 32px;
  }

  .product-item .ribbon-price,
  .wrapper-product .ribbon-price {
    margin-top: 8px !important;
    padding: 0 !important;
  }

  .product-item .ribbon-price span b,
  .wrapper-product .ribbon-price span b,
  .product-item .ribbon-price span b.price-new,
  .wrapper-product .ribbon-price span b.price-new {
    font-size: 16px !important;
  }

  .product-item .ribbon-price span b.price-old,
  .wrapper-product .ribbon-price span b.price-old {
    font-size: 12px !important;
  }

  .product-item .wish-wrap,
  .product-item .wish-wrap.list-items {
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
  }

  .product-item .ribbon-wrap,
  .product-related .product-item .ribbon-wrap {
    top: 8px !important;
    left: 8px !important;
  }

  /* CMS @media 576px раздувает ribbons — держим app-size */
  .product-item .ribbon-wrap .ribbon-sale,
  .product-item .ribbon-wrap .ribbon-new,
  .product-item .ribbon-wrap .ribbon-hit,
  .ribbon-wrap .ribbon-sale,
  .ribbon-wrap .ribbon-new,
  .ribbon-wrap .ribbon-hit {
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    padding: 3px 7px !important;
    float: none !important;
  }

  .product-item .ribbon-wrap .ribbon-sale span,
  .product-item .ribbon-wrap .ribbon-new span,
  .product-item .ribbon-wrap .ribbon-hit span {
    font-size: 11px !important;
  }

  .product-item .ribbon-wrap .ribbon-new span {
    font-size: 10px !important;
  }

  .product-item-wrap .product-item .product-images,
  .product-item .product-images {
    padding: 0 !important;
  }

  .single-product-detail {
    padding: 14px 10px 20px;
    margin: 10px 0 20px;
  }

  .form-checkout,
  .form-customer,
  .cart-wrap {
    border-radius: var(--zv-radius-md);
    padding-left: 12px;
    padding-right: 12px;
  }

  .filter-product {
    margin-bottom: 16px;
  }

  footer .menu-footer ul li {
    display: block;
    line-height: 36px;
  }

  footer .menu-footer ul li a {
    margin: 0 !important;
  }
}

@media (max-width: 480px) {
  .product-item-wrap.col-xs-6,
  .product-item-wrap.col-6 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .heading-v2 {
    margin-bottom: 24px !important;
  }
}

/* —— ProductCard nuclear overrides (после media, против CMS style.css) —— */
.product-item-wrap .product-item .product-images,
.product-item-wrap .product .product-images,
.product-item-wrap .item .product-images,
.product-item .product-images {
  padding: 0 !important;
  margin: 0 !important;
}

.product-item-wrap .product-item .product-images img,
.product-item-wrap .product-item .hover-images img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
}

.product-item .product-articul,
.product-item-wrap .product-item .product-articul {
  display: none !important;
}

.product-item .ribbon-wrap .ribbon-hit {
  display: none !important;
}

.product-item .wish-wrap.list-items {
  top: 8px !important;
  right: 8px !important;
  bottom: auto !important;
}

/* PDP наличие / reviews — добивка против style.css */
.single-product-tab .location-city-wrap .location-city {
  background: var(--zv-surface-2) !important;
  background-color: var(--zv-surface-2) !important;
  color: var(--zv-gold-soft) !important;
  border-color: var(--zv-border) !important;
}

.single-product-tab .location-city-wrap .location-item {
  background: var(--zv-surface) !important;
  border-color: var(--zv-border) !important;
}

.blog-home .blog-post-item.item-grid {
  background: #1c1814 !important;
}
