/* ========================================
   PROMINDUSTRY - Custom WooCommerce Styles
   Product Page Modifications
   ======================================== */

/* ========================================
   1. СТРЕЛКИ НАВИГАЦИИ СЛАЙДЕРА ТОВАРА
   ======================================== */
.woocommerce div.product div.images .flex-direction-nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
  box-sizing: border-box;
}

.woocommerce div.product div.images .flex-direction-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce div.product div.images .flex-direction-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--theme-color-bd_color);
  pointer-events: auto;
  opacity: 0;
  transition:
    opacity 0.3s ease,
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
  text-decoration: none;
  color: var(--theme-color-text_dark);
}

.woocommerce div.product div.images:hover .flex-direction-nav a {
  opacity: 1;
}

.woocommerce div.product div.images .flex-direction-nav a:hover {
  background: var(--theme-color-text_link);
  color: #fff;
  border-color: var(--theme-color-text_link);
}

.woocommerce div.product div.images .flex-direction-nav a .icon-arrow-left,
.woocommerce div.product div.images .flex-direction-nav a .icon-arrow-right {
  font-family: "fontello";
  font-size: 18px;
  line-height: 1;
}

/* ========================================
   2. ШИРИНА ГАЛЕРЕИ ТОВАРА (50% / 50%)
   (Overridden by Section 16 Block 1 below)
   ======================================== */

/* ========================================
   3. ВЕРТИКАЛЬНЫЕ ТАБЫ ТОВАРА (30% / 70%)
   ======================================== */
@media (min-width: 992px) {
  .single-product div.product .woocommerce-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs {
    flex: 0 0 30%;
    flex-direction: column;
    margin: 0;
    padding: 0 40px 0 0;
    box-sizing: border-box;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs::before {
    display: none;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li {
    width: 100%;
    margin: 0 0 5px 0;
    padding: 0;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li a {
    min-width: auto;
    width: 100%;
    text-align: left;
    padding: 15px 20px;
    border-left: 3px solid transparent;
    border-top: none;
    display: block;
    background: var(--theme-color-alter_bg_color);
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li.active a,
  .single-product div.product .woocommerce-tabs ul.wc-tabs li:not(.active) a:hover {
    border-left-color: var(--theme-color-text_link);
    background: transparent;
  }

  .single-product div.product .woocommerce-tabs .panel {
    flex: 0 0 70%;
    padding: 0 0 0 40px;
    border-left: 1px solid var(--theme-color-bd_color);
    margin: 0;
    box-sizing: border-box;
  }
}

/* ========================================
   4. МОБИЛЬНАЯ АДАПТАЦИЯ
   ======================================== */

/* Планшеты - табы горизонтальные */
@media (max-width: 991px) {
  .single-product div.product .woocommerce-tabs {
    display: block;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li a {
    min-width: auto;
    border-left: none;
    border-top: 2px solid transparent;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li.active a,
  .single-product div.product .woocommerce-tabs ul.wc-tabs li:not(.active) a:hover {
    border-left-color: transparent;
    border-top-color: var(--theme-color-text_link);
  }

  .single-product div.product .woocommerce-tabs .panel {
    width: 100%;
    padding: 20px 0;
    border-left: none;
  }
}

/* Мобильные - стрелки слайдера всегда видны */
@media (max-width: 767px) {
  .woocommerce div.product div.images .flex-direction-nav {
    left: 0;
    padding: 0 10px;
  }

  .woocommerce div.product div.images .flex-direction-nav a {
    width: 40px;
    height: 40px;
    opacity: 0.8;
  }

  .woocommerce div.product div.images .flex-direction-nav a .icon-arrow-left,
  .woocommerce div.product div.images .flex-direction-nav a .icon-arrow-right {
    font-size: 14px;
  }
}

/* Корректировка стрелок для разных размеров миниатюр */
@media (max-width: 1679px) {
  .woocommerce div.product div.images .flex-direction-nav {
    left: 0;
  }
}

@media (max-width: 1199px) {
  .woocommerce div.product div.images .flex-direction-nav {
    left: 110px;
  }
}

/* ========================================
   5. ИСПРАВЛЕНИЯ ДЛЯ МИНИАТЮР
   ======================================== */

/* Полностью скрыть скроллбар у миниатюр */
.woocommerce div.product div.images .flex-control-thumbs {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

/* Скрыть скроллбар в WebKit браузерах */
.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Квадратные миниатюры с object-fit */
.woocommerce div.product div.images .flex-control-thumbs li {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #fff;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Главное изображение - заполняет контейнер */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* FlexSlider viewport - квадратный контейнер */
.woocommerce div.product div.images .flex-viewport {
  aspect-ratio: 16/9;
  background: #fff;
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper {
  height: 100%;
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image {
  height: 100%;
  width: 100%;
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========================================
   6. СТРАНИЦА БРЕНДОВ (A-Z СПИСОК)
   ======================================== */

/* Алфавитный указатель */
#brands_a_z .brands_index {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 30px;
  padding: 0;
  list-style: none;
}

#brands_a_z .brands_index li {
  margin: 0;
}

#brands_a_z .brands_index li a,
#brands_a_z .brands_index li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--theme-color-bd_color);
  text-decoration: none;
  font-weight: 500;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

#brands_a_z .brands_index li a:hover {
  background: var(--theme-color-text_link);
  border-color: var(--theme-color-text_link);
  color: #fff;
}

#brands_a_z .brands_index li span {
  color: var(--theme-color-text_light);
  background: var(--theme-color-alter_bg_color);
}

/* Заголовок буквы */
#brands_a_z .brand-letter-heading {
  font-size: 24px;
  font-weight: 600;
  margin: 30px 0 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--theme-color-text_link);
  text-transform: uppercase;
}

/* Список брендов */
#brands_a_z .brands-list-custom {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

#brands_a_z .brands-list-custom .brand-item {
  margin: 0 0 15px;
  padding: 0;
}

#brands_a_z .brands-list-custom .brand-link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 0;
  background: transparent;
  border: none;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Лого бренда */
#brands_a_z .brands-list-custom .brand-thumbnail {
  flex-shrink: 0;
  width: 120px !important;
  height: auto !important;
  min-height: 60px !important;
  max-height: 80px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

#brands_a_z .brands-list-custom .brand-logo,
#brands_a_z .brands-list-custom .brand-thumbnail img {
  max-width: 100% !important;
  max-height: 80px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  /* Override HTML width/height attributes */
  aspect-ratio: auto !important;
}

#brands_a_z .brands-list-custom .brand-no-image {
  width: 100%;
  height: 100%;
  background: var(--theme-color-alter_bg_color);
  display: flex;
  align-items: center;
  justify-content: center;
}

#brands_a_z .brands-list-custom .brand-no-image::before {
  content: "";
  width: 40px;
  height: 40px;
  background: var(--theme-color-bd_color);
  border-radius: 50%;
}

/* Информация о бренде */
#brands_a_z .brands-list-custom .brand-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

#brands_a_z .brands-list-custom .brand-name {
  font-size: 18px;
  font-weight: 600;
  color: var(--theme-color-text_dark);
  transition: color 0.3s ease;
}

#brands_a_z .brands-list-custom .brand-link:hover .brand-name {
  color: var(--theme-color-text_link);
}

#brands_a_z .brands-list-custom .brand-description {
  font-size: 14px;
  color: var(--theme-color-text);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Кнопка "Наверх" - скрыта */
#brands_a_z a.top {
  display: none;
}

/* Мобильная адаптация брендов */
@media (max-width: 767px) {
  #brands_a_z .brands_index li a,
  #brands_a_z .brands_index li span {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  #brands_a_z .brand-letter-heading {
    font-size: 20px;
    margin: 20px 0 10px;
  }

  #brands_a_z .brands-list-custom .brand-link {
    gap: 15px;
    padding: 12px 0; /* только вертикальные отступы */
  }

  #brands_a_z .brands-list-custom .brand-thumbnail {
    width: 80px !important;
    height: auto !important;
    min-height: 40px !important;
    max-height: 60px !important;
  }

  #brands_a_z .brands-list-custom .brand-logo,
  #brands_a_z .brands-list-custom .brand-thumbnail img {
    max-height: 60px !important;
  }

  #brands_a_z .brands-list-custom .brand-name {
    font-size: 16px;
  }

  #brands_a_z .brands-list-custom .brand-description {
    font-size: 13px;
    -webkit-line-clamp: 2;
  }
}

/* ========================================
   7. ПОПАП ТОВАРА (Product Inquiry Popup)
   Стиль как у попапа шапки
   ======================================== */

/* Контейнер попапа */
.sc_layouts_popup .sc_layouts_popup_content,
.elementor-popup-modal .dialog-widget-content {
  padding: 50px 60px !important;
  border-radius: 0 !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
  max-width: 500px !important;
  background: #fff !important;
}

/* Убираем лишние фоны внутри попапа */
.sc_layouts_popup .sc_layouts_popup_content > *,
.sc_layouts_popup .elementor-widget-container,
.sc_layouts_popup .elementor-section,
.sc_layouts_popup .elementor-column,
.sc_layouts_popup .e-con,
.sc_layouts_popup .e-con-inner {
  background: transparent !important;
  border-radius: 0 !important;
}

/* Кнопка закрытия */
.sc_layouts_popup .sc_layouts_popup_close,
.elementor-popup-modal .dialog-close-button {
  top: 15px !important;
  right: 20px !important;
  font-size: 32px !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 1 !important;
  color: #333 !important;
  background: none !important;
  border: none !important;
  opacity: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.3s ease !important;
}

.sc_layouts_popup .sc_layouts_popup_close:hover,
.elementor-popup-modal .dialog-close-button:hover {
  color: var(--theme-color-text_link) !important;
}

/* Главный заголовок "Замовлення" */
.sc_layouts_popup .sc_layouts_popup_content h2:first-of-type,
.sc_layouts_popup .sc_layouts_popup_content h3:first-of-type,
.sc_layouts_popup .sc_layouts_popup_content .elementor-heading-title:first-of-type,
.sc_layouts_popup .sc_layouts_popup_content .popup_title,
.elementor-popup-modal .elementor-widget-heading:first-of-type .elementor-heading-title {
  font-size: 28px !important;
  font-weight: 600 !important;
  margin: 0 0 25px !important;
  padding: 0 !important;
  text-align: left !important;
  color: #333 !important;
  background: transparent !important;
}

/* Информационные блоки: Товар и Артикул */
.sc_layouts_popup .product-info-block,
.sc_layouts_popup .sku_wrapper,
.sc_layouts_popup [class*="product-name"],
.sc_layouts_popup [class*="product-sku"],
.sc_layouts_popup .elementor-widget-text-editor:not(:has(.wpcf7)) {
  padding: 15px 20px !important;
  margin-bottom: 15px !important;
  font-size: 14px !important;
  border: none !important;
  border-radius: 0 !important;
  color: #333 !important;
}

/* Лейблы внутри инфо-блоков */
.sc_layouts_popup .product-info-block strong,
.sc_layouts_popup .sku_wrapper strong,
.sc_layouts_popup [class*="product-name"] strong,
.sc_layouts_popup [class*="product-sku"] strong {
  color: #666 !important;
  font-weight: 500 !important;
}

/* Форма Contact Form 7 внутри попапа */
.sc_layouts_popup .wpcf7-form,
.elementor-popup-modal .wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin-top: 10px !important;
}

.sc_layouts_popup .wpcf7-form p,
.elementor-popup-modal .wpcf7-form p {
  margin: 0 !important;
  background: transparent !important;
}

.sc_layouts_popup .wpcf7-form-control-wrap {
  display: block !important;
  position: relative !important;
}

/* Поля ввода */
.sc_layouts_popup input[type="text"],
.sc_layouts_popup input[type="email"],
.sc_layouts_popup input[type="tel"],
.sc_layouts_popup textarea,
.elementor-popup-modal input[type="text"],
.elementor-popup-modal input[type="email"],
.elementor-popup-modal input[type="tel"],
.elementor-popup-modal textarea {
  width: 100% !important;
  padding: 15px 20px 15px 50px !important;
  border: none !important;
  border-bottom: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.3s ease !important;
}

.sc_layouts_popup input[type="text"]:focus,
.sc_layouts_popup input[type="email"]:focus,
.sc_layouts_popup input[type="tel"]:focus,
.sc_layouts_popup textarea:focus,
.elementor-popup-modal input[type="text"]:focus,
.elementor-popup-modal input[type="email"]:focus,
.elementor-popup-modal input[type="tel"]:focus,
.elementor-popup-modal textarea:focus {
  border-bottom-color: var(--theme-color-text_link) !important;
}

.sc_layouts_popup textarea,
.elementor-popup-modal textarea {
  min-height: 80px !important;
  resize: vertical !important;
}

/* Кнопка отправки */
.sc_layouts_popup input[type="submit"],
.sc_layouts_popup .wpcf7-submit,
.sc_layouts_popup button[type="submit"],
.elementor-popup-modal input[type="submit"],
.elementor-popup-modal .wpcf7-submit,
.elementor-popup-modal button[type="submit"] {
  width: 100% !important;
  padding: 18px 30px !important;
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  margin-top: 10px !important;
}

.sc_layouts_popup input[type="submit"]:hover,
.sc_layouts_popup .wpcf7-submit:hover,
.sc_layouts_popup button[type="submit"]:hover,
.elementor-popup-modal input[type="submit"]:hover,
.elementor-popup-modal .wpcf7-submit:hover,
.elementor-popup-modal button[type="submit"]:hover {
  background: var(--theme-color-text_link) !important;
}

/* Скрытые поля */
.sc_layouts_popup input[type="hidden"],
.sc_layouts_popup .wpcf7-response-output:empty {
  display: none !important;
}

/* Мобильная адаптация попапа */
@media (max-width: 767px) {
  .sc_layouts_popup .sc_layouts_popup_content,
  .elementor-popup-modal .dialog-widget-content {
    padding: 40px 30px !important;
  }

  .sc_layouts_popup .sc_layouts_popup_content h2:first-of-type,
  .sc_layouts_popup .sc_layouts_popup_content h3:first-of-type,
  .elementor-popup-modal .elementor-widget-heading:first-of-type .elementor-heading-title {
    font-size: 24px !important;
  }

  .sc_layouts_popup .product-info-block,
  .sc_layouts_popup .sku_wrapper,
  .sc_layouts_popup [class*="product-name"],
  .sc_layouts_popup [class*="product-sku"] {
    padding: 12px 15px !important;
    font-size: 13px !important;
  }
}

/* ========================================
   8. BREADCRUMBS — overflow behaviour
   ======================================== */

/* Desktop: single line, no wrap, ellipsis at end */
.sc_layouts_title_breadcrumbs .breadcrumbs,
.breadcrumbs {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Items must be inline so the parent container ellipsis fires */
.sc_layouts_title_breadcrumbs .breadcrumbs_item,
.sc_layouts_title_breadcrumbs .breadcrumbs_delimiter,
.breadcrumbs .breadcrumbs_item,
.breadcrumbs .breadcrumbs_delimiter {
  display: inline;
}

/* Mobile: allow up to 2 lines, ellipsis after line 2 */
@media (max-width: 767px) {
  .sc_layouts_title_breadcrumbs,
  .breadcrumbs {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3em;
    line-height: 1.5;
  }

  .sc_layouts_title_breadcrumbs .breadcrumbs,
  .sc_layouts_title_breadcrumbs .breadcrumbs_item,
  .sc_layouts_title_breadcrumbs .breadcrumbs_delimiter,
  .breadcrumbs .breadcrumbs_item,
  .breadcrumbs .breadcrumbs_delimiter {
    display: inline;
    white-space: normal;
  }
}

/* ========================================
   9. ГАЛЕРЕЯ ТОВАРА - Мобильная адаптация
   ======================================== */

@media (max-width: 767px) {
  /* Стрелки слайдера - по центру на мобильных (без смещения под миниатюры) */
  .woocommerce div.product div.images .flex-direction-nav {
    left: 0 !important;
    right: 0;
    padding: 0 10px;
  }

  /* Стрелки меньше на мобильных и всегда видимые */
  .woocommerce div.product div.images .flex-direction-nav a {
    width: 40px;
    height: 40px;
    opacity: 0.9;
  }

  .woocommerce div.product div.images .flex-direction-nav a .icon-arrow-left,
  .woocommerce div.product div.images .flex-direction-nav a .icon-arrow-right {
    font-size: 14px;
  }

  /* Миниатюры - один горизонтальный ряд с прокруткой */
  .woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 8px;
    padding-bottom: 5px;
    -webkit-overflow-scrolling: touch; /* плавная прокрутка на iOS */
  }

  /* Фиксированный размер миниатюр на мобильных */
  .woocommerce div.product div.images .flex-control-thumbs li {
    flex: 0 0 70px !important;
    width: 70px !important;
    height: 70px !important;
    margin: 0 !important;
  }
}

/* ========================================
   10. REDESIGN КАРТОК ТОВАРІВ (Catalog/Archive)
   ======================================== */

/* --- Equal-height card grid via flexbox with 20px gap --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 20px;
  margin-right: 0 !important;
  padding-bottom: 20px !important;
}

.woocommerce ul.products li.product:not(.product-category),
.woocommerce-page ul.products li.product:not(.product-category) {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: calc(25% - 15px) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product:not(.product-category) .post_item.post_layout_thumbs {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  box-sizing: border-box;
}

.woocommerce ul.products li.product:not(.product-category) .post_data {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px;
}

.woocommerce ul.products li.product:not(.product-category) .post_data_inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* --- 16:12 image aspect ratio with contained image --- */
.woocommerce ul.products li.product:not(.product-category) .post_featured {
  aspect-ratio: 4/3;
  overflow: hidden;
  margin-bottom: 0;
  flex-shrink: 0;
  position: relative;
  padding-top: 20px;
}

.woocommerce ul.products li.product:not(.product-category) .post_featured img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
}

/* --- 2-line title clamp with consistent height --- */
.woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__title,
.woocommerce ul.products li.product:not(.product-category) h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  align-items: center;
  /* min-height: 4.2em; */
      font-size: 18px;
    font-weight: 600;
  line-height: 1.4;
  margin-bottom: 8px;
}

/* --- Prominent price --- */
.woocommerce ul.products li.product:not(.product-category) .price {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
}

/* --- Button pushed to bottom, full-width orange --- */
.woocommerce ul.products li.product:not(.product-category) .add_to_cart_wrap {
  margin-top: auto;
}

.woocommerce ul.products li.product:not(.product-category) .add_to_cart_wrap .button {
  display: block !important;
  width: 100%;
  text-align: center;
  background-color: var(--theme-color-text_link) !important;
  color: #fff !important;
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: background-color 0.2s ease;
  border: none !important;
  border-radius: 4px;
  box-sizing: border-box;
}

.woocommerce ul.products li.product:not(.product-category) .add_to_cart_wrap .button:hover {
  background-color: #d93a1e !important;
  color: #fff !important;
}

/* --- Out-of-stock badge --- */
.woocommerce ul.products li.product:not(.product-category).outofstock .outofstock_label {
  display: block;
  background-color: #555;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 12px;
  position: absolute;
  left: 0;
  top: 12px;
  z-index: 5;
  line-height: 1.8;
}

/* ========================================
   VARIANT A: Shadow Card (active)
   Subtle shadow always; deepens + lifts on hover
   ======================================== */
ul.products li.product:not(.product-category) .post_item.post_layout_thumbs {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

ul.products li.product:not(.product-category) .post_item.post_layout_thumbs:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  transform: translateY(-3px);
}

/* ========================================
   VARIANT B: Border Card (inactive — uncomment to activate,
   comment out Variant A above)
   Light border; border turns orange on hover
   ======================================== */
/*
.woocommerce ul.products li.product .post_item.post_layout_thumbs {
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: none;
    transition: border-color 0.25s ease;
}
.woocommerce ul.products li.product .post_item.post_layout_thumbs:hover {
    border-color: var(--theme-color-text_link);
    transform: none;
}
.woocommerce ul.products li.product .add_to_cart_wrap .button {
    background-color: transparent !important;
    color: var(--theme-color-text_link) !important;
    border: 2px solid var(--theme-color-text_link) !important;
}
.woocommerce ul.products li.product .add_to_cart_wrap .button:hover {
    background-color: var(--theme-color-text_link) !important;
    color: #fff !important;
}
*/

/* ========================================
   VARIANT C: Top Accent Bar (inactive — uncomment to activate,
   comment out Variant A above)
   3px orange bar appears at top on hover
   ======================================== */
/*
.woocommerce ul.products li.product .post_item.post_layout_thumbs {
    background: #fff;
    border-top: 3px solid transparent;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.woocommerce ul.products li.product .post_item.post_layout_thumbs:hover {
    border-top-color: var(--theme-color-text_link);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    transform: none;
}
*/

/* ========================================
   Responsive: 4-col → 2-col → 1-col
   ======================================== */
@media (max-width: 992px) {
  .woocommerce ul.products li.product:not(.product-category),
  .woocommerce-page ul.products li.product:not(.product-category) {
    width: calc(50% - 10px) !important;
  }
}

@media (max-width: 576px) {
  .woocommerce ul.products li.product:not(.product-category),
  .woocommerce-page ul.products li.product:not(.product-category) {
    width: 100% !important;
  }

  .woocommerce ul.products li.product:not(.product-category) .post_featured {
    aspect-ratio: 4 / 3;
  }
}

/* ========================================
   13. ГАЛЕРЕЯ — вертикальне центрування зображень (Task 8)
   ======================================== */

/* Ensure the gallery wrapper fills the viewport height */
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper {
  height: 100%;
  display: flex;
  align-items: stretch;
}

/* Each slide: flex container for vertical centering.
   Uses !important to override FlexSlider's li { display: block } rule */
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

/* Image fills the slide and centers content via object-fit */
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

/* Thumbnail navigation: square containers with centered images */
.woocommerce div.product div.images .flex-control-thumbs li {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* ========================================
   11. ХЛЕБНІ КРОШКИ — без обмеження довжини
   ======================================== */

/* ========================================
   12. СУПУТНІ ТОВАРИ — 4 колонки (Task 5)
   ======================================== */

/* Desktop: 4 columns for related products (accounting for 20px gap from Section 10) */
.single-product .related ul.products.columns-4 li.product {
  width: calc(25% - 15px) !important;
}

/* Tablet: 2 columns */
@media (max-width: 992px) {
  .single-product .related ul.products.columns-4 li.product {
    width: calc(50% - 10px) !important;
  }
}

/* Mobile: 1 column */
/* @media (max-width: 576px) {
  .single-product .related ul.products.columns-4 li.product {
    width: 100% !important;
  }
} */

/* ========================================
   15. ОДНЕ ФОТО — без слайдера, full-width (Task 7)
   ======================================== */

/* Square bounding box matching the FlexSlider viewport; no thumbnail offset */
.woocommerce-product-gallery--single-image {
  padding-left: 0 !important;
  aspect-ratio: 16 / 9;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Image block: flex container filling the square.
   width !important overrides WC core rule:
   div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) { width: 25% }
   (fires because WC JS inserts .woocommerce-product-gallery__trigger before this element) */
.woocommerce-product-gallery--single-image .woocommerce-product-gallery__image {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100%;
}

/* Anchor fills the block */
.woocommerce-product-gallery--single-image .woocommerce-product-gallery__image > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* Image fills the anchor with object-fit; !important overrides higher-specificity rule at line ~237 */
.woocommerce-product-gallery--single-image .woocommerce-product-gallery__image > a > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

/* ========================================
   16. СТОРІНКА ТОВАРУ — redesign (Task 3, Option B)
   Clean Open Layout: gallery 50%, summary 50%, underline tabs
   ======================================== */

/* --- Block 1: Gallery 50% / Summary 50%, flex layout for vertical alignment --- */
.single-product.woocommerce.sidebar_hide div.product > .product,
.single-product.woocommerce-page.sidebar_hide div.product > .product,
.single-product.woocommerce.sidebar_hide div.product,
.single-product.woocommerce-page.sidebar_hide div.product {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.woocommerce.sidebar_hide div.product div.images,
.woocommerce-page.sidebar_hide div.product div.images {
  width: 50%;
  float: none;
  margin-bottom: 0;
}

.woocommerce.sidebar_hide #content div.product div.summary,
.woocommerce.sidebar_hide div.product div.summary,
.woocommerce-page.sidebar_hide #content div.product div.summary,
.woocommerce-page.sidebar_hide div.product div.summary {
  width: 50%;
  float: none;
  padding-left: 40px;
  box-sizing: border-box;
  margin-bottom: 0;
}

/* Full-width elements after the gallery+summary row */
.woocommerce.sidebar_hide div.product .woocommerce-tabs,
.woocommerce.sidebar_hide div.product .related,
.woocommerce.sidebar_hide div.product .upsells,
.woocommerce-page.sidebar_hide div.product .woocommerce-tabs,
.woocommerce-page.sidebar_hide div.product .related,
.woocommerce-page.sidebar_hide div.product .upsells {
  width: 100%;
}

/* --- Block 1 MOBILE: Stack vertically on tablets and below --- */
@media (max-width: 1023px) {
  .woocommerce.sidebar_hide div.product div.images,
  .woocommerce-page.sidebar_hide div.product div.images {
    width: 100% !important;
    float: none;
    margin-bottom: 2em;
  }
  .woocommerce.sidebar_hide div.product div.summary,
  .woocommerce.sidebar_hide #content div.product div.summary,
  .woocommerce-page.sidebar_hide div.product div.summary,
  .woocommerce-page.sidebar_hide #content div.product div.summary {
    width: 100% !important;
    padding-left: 0 !important;
    float: none;
  }
}

/* --- Block 2: Title (use theme defaults) --- */

/* --- Block 3: Price --- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 28px;
  font-weight: 700;
  margin: 18px 0;
}

/* --- Block 4: Short description --- */
.woocommerce div.product .woocommerce-product-details__short-description {
  margin-bottom: 20px;
  padding-bottom: 0;
  border-bottom: none;
}

/* --- Block 5: Add-to-cart form (stacked: quantity row, then full-width button) --- */
.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
}

.woocommerce div.product form.cart .quantity {
  display: flex;
  align-items: center;
  gap: 8px;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  background-color: var(--theme-color-text_link) !important;
  color: #fff !important;
  width: 100%;
  display: block;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  border: none !important;
  text-align: center;
  letter-spacing: 0.3px;
  transition: background-color 0.2s ease;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background-color: #d93a1e !important;
}

/* --- Block 5b: Remove decorative line under stock status --- */
.woocommerce div.product .summary .stock::after {
  display: none !important;
}

/* --- Block 6: Product meta (muted) --- */
.woocommerce div.product .product_meta {
  font-size: 13px;
  color: #888;
  margin-top: 20px;
  line-height: 1.8;
}

body.single-product .woocommerce div.product .product_meta a,
body.single-product .woocommerce div.product .product_meta span a,
body.single-product .woocommerce div.product .product_meta span > a,
body.single-product .woocommerce div.product .product_meta .posted_in a,
body.single-product .woocommerce div.product .product_meta .tagged_as a {
  color: #888 !important;
  text-decoration: none !important;
}
body.single-product .woocommerce div.product .product_meta a:link,
body.single-product .woocommerce div.product .product_meta a:visited,
body.single-product .woocommerce div.product .product_meta a:focus,
body.single-product .woocommerce div.product .product_meta a:active {
  color: #888 !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
}
body.single-product .woocommerce div.product .product_meta a:hover {
  color: #666 !important;
  text-decoration: none !important;
}

/* --- Block 7: Tabs — top-accent style (desktop) --- */
@media (min-width: 992px) {
  .single-product div.product .woocommerce-tabs {
    display: block !important;
    margin-top: 48px;
    border: none !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs {
    flex: none !important;
    flex-direction: row !important;
    padding: 0 !important;
    margin: 0;
    border-top: none !important;
    border-bottom: none !important;
    display: flex;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs::before {
    display: none !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li {
    width: auto !important;
    margin: 0 !important;
    flex: 1;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li a {
    width: 100% !important;
    padding: 18px 24px !important;
    background: #fff !important;
    border: none !important;
    border-top: 2px solid transparent !important;
    color: var(--theme-color-text_dark, #1a1a2e);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    text-align: center;
    display: block;
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li.active a {
    border-top: 2px solid var(--theme-color-text_dark, #1a1a2e) !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li:not(.active) a:hover {
    background: #f5f5f5 !important;
  }

  .single-product div.product .woocommerce-tabs .panel {
    flex: none !important;
    width: 100% !important;
    padding: 32px 0 !important;
    border: none !important;
    margin-top: 0 !important;
    box-sizing: border-box;
  }
}

/* --- Block 8: Tabs — top-accent style (mobile) --- */
@media (max-width: 991px) {
  .single-product div.product .woocommerce-tabs ul.wc-tabs {
    border-top: none !important;
    border-bottom: none !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li {
    flex: 1;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li a {
    border: none !important;
    border-top: 2px solid transparent !important;
    background: #fff !important;
    padding: 14px 12px !important;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    color: var(--theme-color-text_dark, #1a1a2e);
    transition:
      color 0.2s ease,
      background-color 0.2s ease;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li.active a {
    border-top: 2px solid var(--theme-color-text_dark, #1a1a2e) !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li:not(.active) a:hover {
    background: #f5f5f5 !important;
  }
}

/* ========================================
   17. СТОРІНКА ТОВАРУ — приховати кількість
   ======================================== */

/* Hide quantity wrapper; input[name=quantity] still submits value=1 with the form */
.woocommerce div.product form.cart .quantity {
  display: none !important;
}

/* ========================================
   18. HEADER — force normal flow on WooCommerce pages
   ======================================== */

/* CSS fallback: if body still carries header_position_over on a WooCommerce page
   (e.g. served from full-page cache), force the header into normal document flow
   with a solid background so it never overlaps the product content. */
body.woocommerce.header_position_over .top_panel,
body.single-product.header_position_over .top_panel {
  position: relative !important;
  z-index: auto;
}
body.woocommerce.header_position_over .top_panel .sc_layouts_row[class*="scheme_"],
body.single-product.header_position_over .top_panel .sc_layouts_row[class*="scheme_"] {
  background-color: var(--theme-color-bg_color) !important;
}

/* ========================================
   19. BREADCRUMBS — remove blue link highlight
   ======================================== */

/* Theme breadcrumbs (title area) */
.sc_layouts_title_breadcrumbs .breadcrumbs a,
.sc_layouts_title_breadcrumbs .breadcrumbs a:link,
.sc_layouts_title_breadcrumbs .breadcrumbs a:visited,
.sc_layouts_title_breadcrumbs .breadcrumbs a:focus,
.sc_layouts_title_breadcrumbs .breadcrumbs a:active {
  color: var(--theme-color-text_dark) !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.sc_layouts_title_breadcrumbs .breadcrumbs a:hover {
  color: var(--theme-color-text_hover) !important;
  text-decoration: none !important;
}

/* WooCommerce breadcrumb (product summary area) */
body.single-product .woocommerce-breadcrumb a,
body.single-product .woocommerce-breadcrumb a:link,
body.single-product .woocommerce-breadcrumb a:visited,
body.single-product .woocommerce-breadcrumb a:focus,
body.single-product .woocommerce-breadcrumb a:active,
body.woocommerce .woocommerce-breadcrumb a,
body.woocommerce .woocommerce-breadcrumb a:link,
body.woocommerce .woocommerce-breadcrumb a:visited,
body.woocommerce .woocommerce-breadcrumb a:focus,
body.woocommerce .woocommerce-breadcrumb a:active {
  color: var(--theme-color-text) !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
body.single-product .woocommerce-breadcrumb a:hover,
body.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--theme-color-text_dark) !important;
  text-decoration: none !important;
}

/* ========================================
   20. CATEGORY PAGE FULL-WIDTH LAYOUT
   ======================================== */
/* body.tax-product_cat .page_content_wrap > .content_wrap {
  width: 100%;
  max-width: 100%;
}

body.tax-product_cat [data-elementor-type="product-archive"] {
  display: flex;
  flex-direction: column;
  align-items: center;
} */

/* ========================================
   21. MOBILE GLOBAL PADDING
   ======================================== */
/* @media (max-width: 767px) {
  body:not(.tax-product_cat) .page_content_wrap > .content_wrap {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
  .page_content_wrap .elementor-section > .elementor-container {
    padding-left: 16px;
    padding-right: 16px;
  }
} */

/* ========================================
   22. CATEGORY ARCHIVE MOBILE FIXES
   ======================================== */
/* body.tax-product_cat [data-elementor-type="product-archive"] {
  display: block !important;
  width: 100%;
  max-width: 100%;
} */

/* body.tax-product_cat [data-elementor-type="product-archive"] > .elementor-section,
body.tax-product_cat [data-elementor-type="product-archive"] .elementor-container,
body.tax-product_cat [data-elementor-type="product-archive"] .elementor-column,
body.tax-product_cat [data-elementor-type="product-archive"] .elementor-widget-wrap,
body.tax-product_cat [data-elementor-type="product-archive"] .elementor-widget,
body.tax-product_cat [data-elementor-type="product-archive"] .trx-stretch-width-wrap,
body.tax-product_cat [data-elementor-type="product-archive"] .trx-stretch-width,
body.tax-product_cat [data-elementor-type="product-archive"] .elementor-section.elementor-section-stretched,
body.tax-product_cat [data-elementor-type="product-archive"] .slider_outer,
body.tax-product_cat [data-elementor-type="product-archive"] .slider_container,
body.tax-product_cat [data-elementor-type="product-archive"] .slider_swiper,
body.tax-product_cat [data-elementor-type="product-archive"] .swiper {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
} */
/* 
@media (max-width: 767px) {
  body.tax-product_cat {
    overflow-x: clip;
  }

  body.tax-product_cat .page_content_wrap,
  body.tax-product_cat .page_content_wrap > .content_wrap,
  body.tax-product_cat [data-elementor-type="product-archive"],
  body.tax-product_cat [data-elementor-type="product-archive"] > .elementor-section,
  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-container,
  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-column,
  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-widget-wrap,
  body.tax-product_cat [data-elementor-type="product-archive"] .trx-stretch-width-wrap,
  body.tax-product_cat [data-elementor-type="product-archive"] .trx-stretch-width,
  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-section.elementor-section-stretched {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-widget-wrap {
    flex-wrap: wrap;
  }

  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-button,
  body.tax-product_cat [data-elementor-type="product-archive"] .sc_button,
  body.tax-product_cat [data-elementor-type="product-archive"] .trx_addons_hover_content {
    max-width: 100%;
    min-width: 0;
  }

  body.tax-product_cat [data-elementor-type="product-archive"] .elementor-button {
    white-space: normal;
  }
} */

/* ========================================
   23. PRODUCT PAGE TYPOGRAPHY & TABS
   ======================================== */
.single-product .woocommerce div.product .product_title,
.single-product div.product .product_title {
  font-size: var(--theme-font-h2_font-size) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.single-product div.product .woocommerce-tabs {
  display: block !important;
  margin-top: 64px !important;
  border: none !important;
}

.single-product div.product .trx-stretch-width .woocommerce-tabs {
  padding-top: 0 !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs,
.single-product div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 0;
  margin: 0 0 40px !important;
  padding: 0 !important;
  border: none !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs li,
.single-product div.product .woocommerce-tabs ul.tabs li {
  flex: 1 1 0;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs li::before,
.single-product div.product .woocommerce-tabs ul.wc-tabs li::after,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs li a,
.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  padding: 20px 24px !important;
  background: #f5f5f5 !important;
  border: none !important;
  border-top: 2px solid transparent !important;
  color: var(--theme-color-text_dark) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: 0 !important;
  text-align: center;
  text-transform: uppercase !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs li.active a,
.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  background: #ffffff !important;
  border-top-color: var(--theme-color-text_dark) !important;
}

.single-product div.product .woocommerce-tabs ul.wc-tabs li:not(.active) a:hover,
.single-product div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
  background: #f5f5f5 !important;
}

.single-product div.product .woocommerce-tabs .panel {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.single-product div.product .trx-stretch-width .woocommerce-tabs .panel {
  padding-top: 0 !important;
}

.single-product div.product .woocommerce-tabs h2,
.single-product div.product .woocommerce-tabs .woocommerce-Reviews-title,
.single-product div.product .woocommerce-tabs #reply-title,
.single-product div.product .woocommerce-tabs .comment-reply-title {
  margin: 25px 0 25px !important;
  font-size: var(--theme-font-h4_font-size) !important;
  font-weight: 700 !important;
}

.single-product .related > h2,
.single-product .upsells > h2 {
  margin-top: 0 !important;
  margin-bottom: 25px !important;
  margin-left: -1px !important;
  text-align: left !important;
  text-transform: uppercase !important;
  font-size: var(--theme-font-h2_font-size) !important;
  font-weight: 700 !important;
}

.single-product .related ul.products,
.single-product .upsells ul.products {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .single-product .woocommerce div.product .product_title,
  .single-product div.product .product_title {
    font-size: var(--theme-font-h4_font-size) !important;
  }

  .single-product div.product .woocommerce-tabs {
    margin-top: 40px !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs,
  .single-product div.product .woocommerce-tabs ul.tabs {
    margin: 0 0 40px !important;
  }

  .single-product div.product .woocommerce-tabs ul.wc-tabs li a,
  .single-product div.product .woocommerce-tabs ul.tabs li a {
    min-width: 0 !important;
    padding: 14px 12px !important;
    font-size: 16px !important;
  }

  .single-product div.product .woocommerce-tabs #reviews,
  .single-product #reviews {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px;
    margin: 0 !important;
  }

  .single-product div.product .woocommerce-tabs #reviews #comments,
  .single-product #reviews #comments,
  .single-product div.product .woocommerce-tabs #reviews #review_form_wrapper,
  .single-product #reviews #review_form_wrapper {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .single-product div.product .woocommerce-tabs #reviews #comments,
  .single-product #reviews #comments {
    order: 1;
  }

  .single-product div.product .woocommerce-tabs #reviews #review_form_wrapper,
  .single-product #reviews #review_form_wrapper {
    order: 2;
  }

  .single-product .related > h2,
  .single-product .upsells > h2 {
    font-size: var(--theme-font-h4_font-size) !important;
  }


}


.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  width: 100% !important;
  height: 100% !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  opacity: .8 !important;
}

/* ========================================
   Product Category Archive: force 2-column mobile grid
   Only for the actual products widget on taxonomy archives
   ======================================== */
@media (max-width: 767px) {
  body.tax-product_cat .elementor-widget-wc-archive-products ul.products.elementor-grid,
  body.tax-product_cat .elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid,
  body.tax-product_cat .elementor-widget-wc-archive-products .woocommerce-page ul.products.elementor-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.tax-product_cat .elementor-widget-wc-archive-products ul.products.elementor-grid > li.product,
  body.tax-product_cat .elementor-widget-wc-archive-products .woocommerce ul.products.elementor-grid > li.product,
  body.tax-product_cat .elementor-widget-wc-archive-products .woocommerce-page ul.products.elementor-grid > li.product {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: initial !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

.woocommerce div.product div.images .flex-control-thumbs li {
  background: transparent !important;
}

.post_item_single.post_type_product {
  padding: 0 15px !important;
}

.woocommerce table.shop_attributes td {
  text-align: right !important;
}

.woocommerce table.shop_attributes th {
  width: unset !important;
}

table th {
    color:black  !important;
    background: white  !important;
    text-align: left  !important;
 
}

table td {
    text-align: right  !important;
}

table td {
    font-style: italic;
    padding: 0;
    border-top: 0;
    border-bottom: 1px dotted rgba(0, 0, 0, .1);
    margin: 0;
    line-height: 1.5;
}

/* ========================================
   24. PRODUCT DESCRIPTION AS LINEAR CONTENT
   ======================================== */
.single-product div.product .woocommerce-tabs {
  display: none !important;
}

.single-product div.product .fabrica-product-description {
  margin-top: 64px;
  color: var(--theme-color-text);
  width: 100%;
}

.single-product div.product .fabrica-product-description > :first-child {
  margin-top: 0;
}

.single-product div.product .fabrica-product-description > :last-child {
  margin-bottom: 0;
}

.single-product div.product .fabrica-product-description h2 {
  margin: 0 0 24px;
  color: var(--theme-color-text_dark);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.single-product div.product .fabrica-product-description h2:not(:first-child) {
  margin-top: 56px;
}

.single-product div.product .fabrica-product-description p,
.single-product div.product .fabrica-product-description ul,
.single-product div.product .fabrica-product-description ol,
.single-product div.product .fabrica-product-description table,
.single-product div.product .fabrica-product-description .wp-block-table,
.single-product div.product .fabrica-product-description .wp-block-buttons,
.single-product div.product .fabrica-product-description .wp-block-columns {
  margin-bottom: 24px;
}

.single-product div.product .fabrica-product-description ul,
.single-product div.product .fabrica-product-description ol {
  padding-left: 1.3em;
}

.single-product div.product .fabrica-product-description table {
/*   width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--theme-color-bd_color);
  display: flex; */
  overflow: auto;
}

.single-product div.product .fabrica-product-description table th,
.single-product div.product .fabrica-product-description table td {
  padding: 0.8em 1em !important;
  border: 1px solid var(--theme-color-bd_color) !important;
  font-size: 16px;
  font-style: normal !important;
  text-align: left !important;
  text-transform: none !important;
}

.single-product div.product .fabrica-product-description table th {
  color: var(--theme-color-text_dark) !important;
  background-color: var(--theme-color-alter_bg_color_04) !important;
  font-size: 17px;
  font-weight: 500 !important;
}

.single-product div.product .fabrica-product-description table tr:nth-child(2n + 1) > * {
  background-color: var(--theme-color-alter_bg_color_04) !important;
}

.single-product div.product .fabrica-product-description table tr:nth-child(2n) > *,
.single-product div.product .fabrica-product-description table tr.alt > * {
  background-color: var(--theme-color-alter_bg_color_02) !important;
}

.single-product div.product .fabrica-product-description a {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .single-product div.product .fabrica-product-description {
    margin-top: 40px;
  }

  .single-product div.product .fabrica-product-description h2 {
    font-size: 16px;
  }

  .single-product div.product .fabrica-product-description h2:not(:first-child) {
    margin-top: 40px;
  }
}

/* ========================================
   25. SINGLE PRODUCT TOP SECTION CLEANUP
   ======================================== */
.single-product div.product .summary .product_meta.product_meta--clean {
  margin-top: 24px;
  color: var(--theme-color-text);
  font-size: 16px;
  line-height: 1.5;
}

.single-product div.product .summary .product_meta.product_meta--clean .sku_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35em;
}

.single-product div.product .summary .product_meta.product_meta--clean .sku_label {
  color: var(--theme-color-text_dark);
  font-weight: 700;
}

.single-product div.product .summary .product_meta .posted_in,
.single-product div.product .summary .product_meta .tagged_as,
.single-product div.product .summary .product_meta .product_id,
.single-product div.product .summary .product_meta > span:not(.sku_wrapper) {
  display: none !important;
}

.single-product div.product div.images {
  padding-left: 0 !important;
}

.single-product div.product div.images .flex-viewport {
  aspect-ratio: 16 / 9;
  background: #ffffff;
}

.single-product div.product div.images .woocommerce-product-gallery__image {
  aspect-ratio: 16 / 9;
  background: #ffffff;
}

.single-product div.product div.images .zoomImg {
  display: none !important;
}

.single-product div.product div.images .woocommerce-product-gallery__wrapper,
.single-product div.product div.images .woocommerce-product-gallery__image a {
  cursor: default !important;
}

.single-product div.product div.images .flex-control-thumbs {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  z-index: 2;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  width: 100% !important;
  height: auto !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.single-product div.product div.images .flex-control-thumbs::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.single-product div.product div.images .flex-control-thumbs li {
  float: none !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  max-width: none !important;
  aspect-ratio: 16 / 9;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid var(--theme-color-bd_color);
  background: #ffffff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.single-product div.product div.images .flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  opacity: 1 !important;
  transition: none !important;
}

.single-product div.product div.images .flex-control-thumbs li:has(img.flex-active) {
  border-color: var(--theme-color-text_dark);
  box-shadow: inset 0 0 0 1px var(--theme-color-text_dark);
}

.single-product div.product div.images .flex-control-thumbs li:hover {
  border-color: var(--theme-color-text_dark);
}

.single-product div.product div.images .flex-control-thumbs li:hover img,
.single-product div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1 !important;
}

.single-product div.product div.images .flex-direction-nav {
  left: 0 !important;
  right: 0 !important;
  padding: 0 16px;
  pointer-events: none;
}

.single-product div.product div.images .flex-direction-nav a {
  pointer-events: auto;
}

@supports not selector(:has(*)) {
  .single-product div.product div.images .flex-control-thumbs li img.flex-active {
    outline: 1px solid var(--theme-color-text_dark);
    outline-offset: -1px;
  }
}

@media (max-width: 767px) {
  .single-product div.product .summary .product_meta.product_meta--clean {
    margin-top: 20px;
    font-size: 15px;
  }

  .single-product div.product div.images .flex-control-thumbs {
    gap: 10px;
    margin-top: 14px !important;
  }

  .single-product div.product div.images .flex-control-thumbs li {
    flex-basis: 80px !important;
    width: 80px !important;
  }
}

/* ========================================
   26. PRODUCT CATEGORY ARCHIVES: SHOW PRODUCTS ONLY ON LEAF CATEGORIES
   ======================================== */
body.post-type-archive-product .elementor-widget-wc-archive-products,
body.tax-product_cat.product-cat-has-children .elementor-widget-wc-archive-products {
  display: none !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering,
body.post-type-archive-product nav.woocommerce-pagination,
body.tax-product_cat.product-cat-has-children .woocommerce-result-count,
body.tax-product_cat.product-cat-has-children .woocommerce-ordering,
body.tax-product_cat.product-cat-has-children nav.woocommerce-pagination {
  display: none !important;
}

/* ========================================
   27. Category card styles are centralized in custom-global.css
   ======================================== */

   .post-type-archive.post-type-archive-product #header-lower {
 display: none !important;
   }