/**
 * QSNet child-theme design layer.
 * Keep parent Onsus styles intact and override only brand/system details here.
 */

.qsnet-woo-enabled .woocommerce ul.products li.product,
.qsnet-woo-enabled .woocommerce-page ul.products li.product {
  border: 1px solid var(--qsnet-border-color);
  border-radius: var(--qsnet-radius-md);
  background: var(--qsnet-surface);
  padding: var(--qsnet-space-4);
}

.qsnet-woo-enabled .woocommerce ul.products li.product .price {
  color: var(--qsnet-text-strong);
  font-weight: 600;
}

.qsnet-woo-enabled .woocommerce ul.products li.product .onsale {
  border-radius: var(--qsnet-radius-md);
  padding: 0.125rem 0.5rem;
}

.qsnet-woo-enabled .woocommerce .qsnet-breadcrumb {
  margin: var(--qsnet-space-5) 0;
  color: var(--qsnet-text-muted);
}

.qsnet-woo-enabled .woocommerce .qsnet-breadcrumb-sep {
  margin: 0 var(--qsnet-space-2);
  opacity: 0.6;
}

.qsnet-woo-enabled .woocommerce div.product .product_title {
  margin-bottom: var(--qsnet-space-3);
}

.qsnet-woo-enabled .woocommerce .related.products {
  margin-top: var(--qsnet-space-6);
}

/* Topbar menu: keep items inline with horizontal spacing (mx). */
.themesflat-top #topbar-menu #menu-topbar {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--qsnet-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.themesflat-top #topbar-menu #menu-topbar > li {
  display: inline-flex;
  align-items: center;
  margin: 0 var(--qsnet-space-2);
}

.themesflat-top #topbar-menu #menu-topbar > li > a {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
}

body.qsnet-menu-layout-topbar-vertical
  .themesflat-top
  #topbar-menu
  #menu-topbar,
.themesflat-top #topbar-menu #menu-topbar.qsnet-menu-layout-vertical {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--qsnet-space-2);
}

body.qsnet-menu-layout-topbar-vertical
  .themesflat-top
  #topbar-menu
  #menu-topbar
  > li,
.themesflat-top #topbar-menu #menu-topbar.qsnet-menu-layout-vertical > li {
  margin: 0;
  width: 100%;
}

body.qsnet-menu-layout-topbar-horizontal
  .themesflat-top
  #topbar-menu
  #menu-topbar,
.themesflat-top #topbar-menu #menu-topbar.qsnet-menu-layout-horizontal {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
}

/* Parent theme sets this toggle arrow to white in secondary/modal menu.
   Override to readable dark color in QSNet. */
.modal-menu__body
  #mainnav-secondary
  .menu
  .menu-item-has-children
  > span.icon-monal-arrow-right-2,
#mainnav-secondary
  .menu
  .menu-item-has-children
  > span.icon-monal-arrow-right-2 {
  color: var(--qsnet-text-strong, #1f2937);
}

.header-02 .menu-item-has-children i {
  color: var(--theme-primary-color, #ec0606) !important;
}

/* QSNet Mega Menu (per-menu-item, top-level). */
#mainnav ul.menu.qsnet-mega-enabled > li.qsnet-mega-menu {
  position: static;
}

#mainnav ul.menu.qsnet-mega-enabled > li.qsnet-mega-menu > ul.sub-menu {
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 14px 22px;
  width: min(1400px, 94vw);
  max-width: calc(100vw - 20px);
  min-width: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 20px 24px;
  border: 1px solid #ebeff5;
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(11, 18, 34, 0.1);
  background: #fff;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-open
  > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%);
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-width-container
  > ul.sub-menu {
  width: min(1180px, calc(100vw - 24px));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-width-wide
  > ul.sub-menu {
  width: min(1400px, 94vw);
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-width-full
  > ul.sub-menu {
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 0;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card {
  grid-column: span 2;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo.qsnet-mega-cols-2
  > ul.sub-menu
  > li.qsnet-mega-promo-card {
  grid-column: span 2;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo.qsnet-mega-cols-3
  > ul.sub-menu
  > li.qsnet-mega-promo-card {
  grid-column: span 2;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__inner {
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #dbe4ef;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__media {
  min-height: 120px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__body {
  padding: 12px;
  display: grid;
  gap: 8px;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__title {
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  color: #0f172a;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__text {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #475569;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--theme-accent-color, #ec0606);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  width: max-content;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__cta:hover {
  opacity: 0.92;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-promo
  > ul.sub-menu
  > li.qsnet-mega-promo-card
  .qsnet-mega-promo-card__cta:focus-visible {
  outline: 2px solid #0f172a;
  outline-offset: 2px;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-cols-2
  > ul.sub-menu {
  grid-template-columns: repeat(2, minmax(170px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-cols-3
  > ul.sub-menu {
  grid-template-columns: repeat(3, minmax(170px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-cols-4
  > ul.sub-menu {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-cols-5
  > ul.sub-menu {
  grid-template-columns: repeat(5, minmax(160px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-cols-6
  > ul.sub-menu {
  grid-template-columns: repeat(6, minmax(140px, 1fr));
}

#mainnav ul.menu.qsnet-mega-enabled > li.qsnet-mega-menu > ul.sub-menu > li {
  width: 100%;
  float: none;
  padding: 0;
  margin: 0;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li
  > a {
  display: block;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.35;
  margin-bottom: 10px;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li
  > ul.sub-menu {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  min-width: 0;
  width: auto;
  display: block;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li
  > ul.sub-menu
  > li {
  display: block;
  padding: 0;
  margin: 0 0 7px;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li
  > ul.sub-menu
  > li:last-child {
  margin-bottom: 0;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li
  > ul.sub-menu
  > li
  > a {
  font-size: 13px;
  line-height: 1.4;
  color: #5d6471;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li
  > ul.sub-menu
  > li
  > a:hover {
  color: var(--theme-accent-color, #ec0606);
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu.qsnet-mega-layout-builder
  > ul.sub-menu {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li.qsnet-mega-builder-column {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-builder-column__media {
  display: block;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-builder-column__media
  img {
  display: block;
  width: 100%;
  height: auto;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-builder-column__title {
  margin: 10px 12px 6px;
  font-size: 14px;
  line-height: 1.35;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-builder-column__text {
  margin: 0 12px 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #4b5563;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  > ul.sub-menu
  > li.qsnet-mega-custom {
  grid-column: 1 / -1;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-custom-grid {
  display: grid;
  gap: 14px;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-custom-grid-products {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-custom-grid-categories {
  grid-template-columns: repeat(5, minmax(130px, 1fr));
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-product-card__image
  img,
#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-cat-card__image
  img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-product-card__title {
  margin: 8px 0 4px;
  font-size: 13px;
  line-height: 1.35;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-product-card__price {
  font-size: 12px;
  color: #1f2937;
}

#mainnav ul.menu.qsnet-mega-enabled > li.qsnet-mega-menu .qsnet-mega-cat-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-cat-card__name {
  font-size: 12px;
  color: #111827;
}

#mainnav
  ul.menu.qsnet-mega-enabled
  > li.qsnet-mega-menu
  .qsnet-mega-custom-html__content {
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 1199px) {
  #mainnav ul.menu.qsnet-mega-enabled > li.qsnet-mega-menu > ul.sub-menu {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
  }
}

@media (max-width: 1024px) {
  #mainnav ul.menu.qsnet-mega-enabled > li.qsnet-mega-menu > ul.sub-menu {
    display: block;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    left: 0;
    transform: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #mainnav
    ul.menu.qsnet-mega-enabled
    > li.qsnet-mega-menu
    > ul.sub-menu
    > li
    > a {
    margin-bottom: 0;
  }

  #mainnav
    ul.menu.qsnet-mega-enabled
    > li.qsnet-mega-menu
    > ul.sub-menu
    > li
    > ul.sub-menu {
    display: none;
    padding-left: 12px;
  }

  #mainnav
    ul.menu.qsnet-mega-enabled
    > li.qsnet-mega-menu
    > ul.sub-menu
    > li:hover
    > ul.sub-menu {
    display: block;
  }
}

/* Menu icons (category/primary/topbar). */
.qsnet-menu-item-content,
.nav-wrap-category .category-menu .qsnet-cat-menu-item-content {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.qsnet-menu-item-icon-wrap,
.nav-wrap-category .category-menu .qsnet-cat-menu-item-icon-wrap {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
}

.qsnet-menu-item-icon-wrap--font,
.nav-wrap-category .category-menu .qsnet-cat-menu-item-icon-wrap--font {
  background: transparent;
}

.qsnet-menu-item-content .qsnet-cat-menu-item-icon,
.nav-wrap-category .category-menu .qsnet-cat-menu-item-icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.qsnet-menu-item-label,
.nav-wrap-category .category-menu .qsnet-cat-menu-item-label {
  font-family: inherit !important;
  font-size: inherit !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qsnet-menu-item-icon-font,
.nav-wrap-category .category-menu .qsnet-menu-item-icon-font {
  font-size: 14px;
  line-height: 1;
  width: 1em;
  text-align: center;
  color: currentColor;
}

/* Primary menu layout switch (Customizer). */
body.qsnet-menu-layout-primary-vertical #mainnav > ul,
#mainnav ul.menu.qsnet-menu-layout-vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

body.qsnet-menu-layout-primary-vertical #mainnav > ul > li,
#mainnav ul.menu.qsnet-menu-layout-vertical > li {
  width: 100%;
  display: block;
}

body.qsnet-menu-layout-primary-horizontal #mainnav > ul,
#mainnav ul.menu.qsnet-menu-layout-horizontal {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
}

/* Category menu top-level layout switch (Customizer). */
body.qsnet-menu-layout-category-horizontal
  .nav-wrap-category
  .category-menu
  > ul,
.nav-wrap-category .category-menu > ul.menu.qsnet-menu-layout-horizontal {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
}

body.qsnet-menu-layout-category-horizontal
  .nav-wrap-category
  .category-menu
  > ul
  > li,
.nav-wrap-category .category-menu > ul.menu.qsnet-menu-layout-horizontal > li {
  box-shadow: none;
  border-right: 1px solid #eceff3;
  padding-top: 0;
  padding-bottom: 0;
}

body.qsnet-menu-layout-category-horizontal
  .nav-wrap-category
  .category-menu
  > ul
  > li:last-child,
.nav-wrap-category
  .category-menu
  > ul.menu.qsnet-menu-layout-horizontal
  > li:last-child {
  border-right: 0;
}

body.qsnet-menu-layout-category-horizontal
  .nav-wrap-category
  .category-menu
  > ul
  > li
  > a,
.nav-wrap-category
  .category-menu
  > ul.menu.qsnet-menu-layout-horizontal
  > li
  > a {
  padding: 12px 14px;
  white-space: nowrap;
}

body.qsnet-menu-layout-category-horizontal
  .nav-wrap-category
  .category-menu
  ul
  .sub-menu,
.nav-wrap-category
  .category-menu
  > ul.menu.qsnet-menu-layout-horizontal
  .sub-menu {
  left: 0;
  top: calc(100% + 2px);
  min-width: 360px;
  min-height: 0;
}

/* Elementor utility classes (use in Advanced -> CSS Classes). */
.thc-full-height,
.thc-full-height.elementor-element {
  height: 100%;
}

.thc-full-height > .elementor-container,
.thc-full-height > .elementor-widget-wrap,
.thc-full-height > .elementor-widget-container,
.thc-full-height > .elementor-element-populated,
.thc-full-height > .e-con,
.thc-full-height > .e-con-inner {
  height: 100%;
}

.thc-min-vh-100 {
  min-height: 100vh;
}

/* QSNet Woo filter widget */
.widget_qsnet_woo_filters .qsnet-woo-filter-widget {
  display: grid;
  gap: var(--qsnet-space-4);
}

.widget_qsnet_woo_filters .qsnet-filter-group {
  padding: 12px;
  border: 1px solid #eceff3;
  border-radius: 10px;
  background: #fff;
}

.widget_qsnet_woo_filters .qsnet-filter-group h4 {
  margin: 0 0 var(--qsnet-space-2);
  font-size: 0.95rem;
}

.widget_qsnet_woo_filters .qsnet-filter-list {
  max-height: 240px;
  overflow: auto;
  display: grid;
  gap: 0.35rem;
}

.widget_qsnet_woo_filters .qsnet-filter-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  width: 100%;
}

.widget_qsnet_woo_filters .qsnet-filter-item small {
  opacity: 0.7;
}

.widget_qsnet_woo_filters .qsnet-filter-tree {
  margin: 0;
  padding-left: 1rem;
  list-style: none;
}

.widget_qsnet_woo_filters .qsnet-filter-tree > li {
  margin: 0.2rem 0;
}

.widget_qsnet_woo_filters .qsnet-filter-price-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.widget_qsnet_woo_filters .qsnet-price-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.82rem;
  line-height: 1.25;
  border: 1px solid #e6eaf0;
  border-radius: 999px;
  padding: 0.2rem 0.6rem;
  background: #f8fafc;
}

.widget_qsnet_woo_filters .qsnet-price-slider {
  position: relative;
  height: 34px;
}

.widget_qsnet_woo_filters .qsnet-price-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 6px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: #e8ecf2;
  overflow: hidden;
}

.widget_qsnet_woo_filters .qsnet-price-track-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--theme-accent-color, #ec0606);
}

.widget_qsnet_woo_filters .qsnet-price-thumb {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  margin: 0;
  transform: translateY(-50%);
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
}

.widget_qsnet_woo_filters .qsnet-price-thumb::-webkit-slider-runnable-track {
  height: 6px;
  background: transparent;
}

.widget_qsnet_woo_filters .qsnet-price-thumb::-moz-range-track {
  height: 6px;
  background: transparent;
  border: 0;
}

.widget_qsnet_woo_filters .qsnet-price-thumb::-webkit-slider-thumb {
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--theme-accent-color, #ec0606);
  background: #fff;
  margin-top: -6px;
  cursor: pointer;
  -webkit-appearance: none;
}

.widget_qsnet_woo_filters .qsnet-price-thumb::-moz-range-thumb {
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--theme-accent-color, #ec0606);
  background: #fff;
  cursor: pointer;
}

.widget_qsnet_woo_filters .qsnet-price-slider.is-disabled {
  opacity: 0.6;
}

.widget_qsnet_woo_filters .qsnet-filter-actions {
  display: flex;
  align-items: center;
  gap: var(--qsnet-space-3);
}

html.qsnet-theme-ready
  .widget_qsnet_woo_filters
  .qsnet-woo-filter-widget[data-auto-submit="1"]
  .qsnet-filter-actions
  .button {
  display: none;
}

.widget_qsnet_woo_filters .qsnet-filter-actions .qsnet-reset {
  font-size: 0.9rem;
  text-decoration: underline;
}

.widget_qsnet_woo_filters .qsnet-woo-filter-widget.is-submitting {
  opacity: 0.65;
  pointer-events: none;
}

body.qsnet-shop-filter-loading .content-woocommerce {
  opacity: 0.55;
  transition: opacity 0.18s ease;
  pointer-events: none;
}

#secondary.qsnet-archive-sidebar-scroll {
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

/* QSNet: keep Elementor section overflow clipped site-wide. */
section.elementor-top-section {
  margin: 0 0 25px;
}

section.elementor-section,
.elementor-widget-image {
  overflow: hidden;
}

#footer {
  padding: 25px 0;
}
.qsnet-tf-google-maps-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 16px;
  align-items: start;
}

.qsnet-tf-google-maps-native {
  min-width: 0;
}

.qsnet-tf-google-maps-native iframe {
  width: 100%;
  min-height: 280px;
  border-radius: 10px;
  border: 0;
  display: block;
}

.qsnet-tf-google-maps-store-list {
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  padding: 14px;
}

.qsnet-tf-google-maps-store-list h4 {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.35;
}

.qsnet-tf-google-maps-store-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.qsnet-tf-google-maps-store-list a {
  display: inline-flex;
  align-items: center;
  color: var(--qsnet-color-secondary, #343434);
  text-decoration: none;
  font-size: 14px;
}

.qsnet-tf-google-maps-store-list a:hover {
  color: var(--qsnet-color-primary, #ec0606);
}

@media (max-width: 767px) {
  .qsnet-tf-google-maps-layout {
    grid-template-columns: 1fr;
  }
}

.form-popup .content-popup .des {
  margin-top: 15vh;
  font-size: var(--qsnet-popup-text-size, 14px);
}

#tf_form_popup .modal-dialog.qsnet-popup-size-sm {
  --qsnet-popup-max-width: 420px;
  max-width: var(--qsnet-popup-max-width);
}

#tf_form_popup .modal-dialog.qsnet-popup-size-md {
  --qsnet-popup-max-width: 560px;
  max-width: var(--qsnet-popup-max-width);
}

#tf_form_popup .modal-dialog.qsnet-popup-size-lg {
  --qsnet-popup-max-width: 760px;
  max-width: var(--qsnet-popup-max-width);
}

#tf_form_popup .modal-dialog.qsnet-popup-size-xl {
  --qsnet-popup-max-width: 980px;
  max-width: var(--qsnet-popup-max-width);
}

#tf_form_popup .modal-dialog.qsnet-popup-size-full {
  --qsnet-popup-max-width: 1235px;
  max-width: var(--qsnet-popup-max-width);
}

@media (max-width: 1300px) {
  #tf_form_popup .modal-dialog.qsnet-popup-size-sm,
  #tf_form_popup .modal-dialog.qsnet-popup-size-md,
  #tf_form_popup .modal-dialog.qsnet-popup-size-lg,
  #tf_form_popup .modal-dialog.qsnet-popup-size-xl,
  #tf_form_popup .modal-dialog.qsnet-popup-size-full {
    max-width: min(85vw, var(--qsnet-popup-max-width));
  }
}

.qsnet-brand-index-toolbar {
  display: grid;
  gap: 14px;
  margin: 0 0 24px;
}

.qsnet-brand-index-search {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #d7dde5;
  border-radius: 14px;
  background: #fff;
}

.qsnet-brand-index-letters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.qsnet-brand-letter {
  min-width: 42px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid #d7dde5;
  border-radius: 999px;
  background: #fff;
  color: var(--qsnet-color-secondary, #343434);
  font-weight: 600;
  transition: 0.2s ease;
}

.qsnet-brand-letter.is-active,
.qsnet-brand-letter:hover {
  border-color: var(--qsnet-color-primary, #ec0606);
  background: var(--qsnet-color-primary, #ec0606);
  color: #fff;
}

.qsnet-brand-index-list .qsnet-brand-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.qsnet-brand-index-list .qsnet-brand-card {
  margin: 0;
}

.qsnet-brand-card-count {
  margin-top: 6px;
  font-size: 13px;
  color: #6b7280;
}

.qsnet-brand-card-badge {
  display: inline-flex;
  margin-top: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(236, 6, 6, 0.1);
  color: var(--qsnet-color-primary, #ec0606);
  font-size: 12px;
  font-weight: 700;
}

.qsnet-brand-card.is-featured .thumb::before {
  border-color: rgba(236, 6, 6, 0.25);
}

.woocommerce-pagination ul {
  text-align: center;
}

@media (max-width: 1199px) {
  .qsnet-brand-index-list .qsnet-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .qsnet-brand-index-list .qsnet-brand-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .qsnet-brand-index-list .qsnet-brand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 479px) {
  .qsnet-brand-index-list .qsnet-brand-grid {
    grid-template-columns: 1fr;
  }
}
.qsnet-archive-term-strip .item.active,
.qsnet-archive-term-strip .item.is-current {
  border-color: var(--theme-accent-color, #ec0606);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.qsnet-archive-term-strip .item.active .thumb::before,
.qsnet-archive-term-strip .item.is-current .thumb::before {
  opacity: 1;
}

.qsnet-archive-term-strip .item.active .title a,
.qsnet-archive-term-strip .item.is-current .title a {
  color: var(--theme-accent-color, #ec0606);
}

.wrap-product-category.qsnet-archive-term-strip .owl-carousel .owl-stage-outer {
  display: flex;
  justify-content: center;
}

.wrap-product-category.qsnet-archive-term-strip .owl-carousel .owl-stage {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.wrap-product-category.qsnet-archive-term-strip .owl-item {
  display: flex;
}

.wrap-product-category.qsnet-archive-term-strip .item {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.wrap-product-category.qsnet-archive-term-strip .thumb,
.wrap-product-category.qsnet-archive-term-strip .title {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.wrap-product-category .item {
  border-left: 1px solid rgba(0, 0, 0, 0.08);
}
.qsnet-primary-heading {
  scroll-margin-top: 96px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
.toggle-products-layout-button:focus-visible,
.filter-button:focus-visible,
.filter-close:focus-visible,
.minicart-close:focus-visible,
.btn-search:focus-visible,
.woosc-btn:focus-visible,
.tf-call-quickview:focus-visible,
.add_to_cart.button:focus-visible,
.single_add_to_cart_button:focus-visible,
.yith-wcwl-add-to-wishlist a:focus-visible {
  outline: 3px solid #0b57d0;
  outline-offset: 3px;
  box-shadow: none;
}

.content-woocommerce .woocommerce-result-count,
.qsnet-brand-index-header .term-description,
.header-cart-wrapper .text,
.header-wishlist-wrapper .text,
.footer-shop .text,
.products .price,
.products .star-rating + .price,
.filter-active,
.label-toggle-products-layout,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.term-description,
.entry-summary .price,
.product_meta,
.posted_in,
.tagged_as,
.stock,
.woocommerce-breadcrumb,
.woocommerce-product-details__short-description,
.search-form-inner .select-category select,
.search-form-inner .input-search {
  color: #343434;
}

.woocommerce-breadcrumb a,
.product_meta a,
.posted_in a,
.tagged_as a,
.qsnet-brand-index-toolbar button,
.qsnet-brand-index-toolbar input,
.woocommerce-page
  .content-woocommerce
  .wrap-toggle-products-layout
  .toggle-products-layout-button,
.woocommerce-page .content-woocommerce .filter-button,
.search-form-inner .search-submit,
.search-form-inner .clear-input {
  color: #343434;
}

#header .header-wrap .search-form-inner .select-category,
#header-fixed-wrap .header-wrap .search-form-inner .select-category {
  width: calc(33% - 44px);
}

#header .header-wrap .search-form-inner label {
  width: calc(70% - 0px);
  position: unset !important;
}

.search-form-inner .select-category > * {
  width: 100% !important;
  max-width: 100%;
}

.woocommerce-breadcrumb a:hover,
.product_meta a:hover,
.posted_in a:hover,
.tagged_as a:hover,
.qsnet-brand-index-toolbar button:hover,
.qsnet-brand-index-toolbar button.is-active {
  color: #ec0606;
}

.header-cart-wrapper .shopping-cart-items-count,
.header-wishlist-wrapper .wishlist-items-count,
.footer-shop .header-cart-wrapper .shopping-cart-items-count,
.footer-shop .header-wishlist-wrapper .wishlist-items-count {
  color: #ffffff;
  background-color: #ec0606;
}

.filter-button,
.toggle-products-layout-button,
.btn-search,
.minicart-close,
.filter-close {
  min-height: 40px;
  min-width: 40px;
}

.yith-wcwl-add-to-wishlist a,
.woosc-btn,
.tf-call-quickview,
.add_to_cart.button,
.single_add_to_cart_button {
  position: relative;
}

.qsnet-a11y-action,
.wrap-btn-action .tf-call-quickview,
.wrap-btn-action .woosc-btn,
.wrap-btn-action .add_to_cart.button,
.wrap-btn-action .single_add_to_cart_button,
.wrap-btn-action .yith-wcwl-add-to-wishlist a,
.product-tab-single .tf-call-quickview,
.product-tab-single .woosc-btn,
.product-tab-single .yith-wcwl-add-to-wishlist a {
  min-width: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.search-form-inner .search-submit,
.search-form-inner .clear-input,
.woocommerce-page .content-woocommerce .filter-button,
.woocommerce-page .content-woocommerce .toggle-products-layout-button,
.qsnet-brand-index-toolbar button {
  border-color: rgba(52, 52, 52, 0.18);
}

.woocommerce-page
  .content-woocommerce
  .wrap-toggle-products-layout
  .toggle-products-layout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
.themesflat-top .content-left ul li.phone .qsnet-topbar-phone-list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}

.themesflat-top .content-left ul li.phone .qsnet-topbar-phone-link {
  color: inherit;
  text-decoration: none;
}

.themesflat-top .content-left ul li.phone .qsnet-topbar-phone-link:hover,
.themesflat-top .content-left ul li.phone .qsnet-topbar-phone-link:focus {
  text-decoration: underline;
}

.themesflat-top .content-left ul li.phone .qsnet-topbar-phone-separator {
  opacity: 0.7;
}

.qsnet-socials .qsnet-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.qsnet-socials .qsnet-social-icon svg,
.qsnet-socials .qsnet-social-icon i {
  width: 1em;
  height: 1em;
  display: block;
  line-height: 1;
}

.themesflat-top .qsnet-socials .qsnet-social-icon,
.qsnet-footer-socials .qsnet-socials .qsnet-social-icon {
  font-size: 14px;
}

.bottom .container-inside.qsnet-bottom-has-socials .content-right {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.bottom .qsnet-footer-socials .themesflat-socials {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.bottom .qsnet-footer-socials .themesflat-socials li {
  margin: 0;
}

.bottom .qsnet-footer-socials .themesflat-socials li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#tf_search_popup {
  display: none;
}

#tf_search_popup.show {
  display: block;
}

button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.button,
a.button,
button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button,
.add_to_cart.button {
  background: var(--theme-accent-color, #ec0606);
  background-color: var(--theme-accent-color, #ec0606);
  border-color: var(--theme-accent-color, #ec0606);
  color: #fff;
}

button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
.button:hover,
.button:focus,
a.button:hover,
a.button:focus,
button.button:hover,
button.button:focus,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus,
.add_to_cart.button:hover,
.add_to_cart.button:focus {
  background: var(--theme-accent-color, #ec0606);
  background-color: var(--theme-accent-color, #ec0606);
  border-color: var(--theme-accent-color, #ec0606);
  color: #fff;
  filter: brightness(0.96);
}

#tf_form_popup .close,
#tf_search_popup .close {
  background: none;
  background-color: transparent;
}

#tf_form_popup .form-popup .image {
  overflow: hidden;
}

#tf_form_popup .form-popup .image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}

/* Woo single quantity: keep equal horizontal spacing around the counter wrapper. */
.woo-single-post-class .summary .cart .quantity .inner-quantity {
  margin-left: 16px;
  margin-right: 16px;
}

.single_add_to_cart_button {
  min-width: 240px;
}

/* Product action tooltips:
 * 1) keep compare icon visible even when .woosc-btn (class "button") overlay is styled,
 * 2) enforce white icons for tooltip actions except wishlist.
 */
.wrap-btn-action .tf-btn-compare .compare-button > svg,
.product-tab-single .tf-btn-compare .compare-button > svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  pointer-events: none;
}

.wrap-btn-action .tf-btn-compare .compare-button .woosc-btn,
.product-tab-single .tf-btn-compare .compare-button .woosc-btn {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  z-index: 2;
}

.wrap-btn-action .tf-btn-compare .compare-button,
.product-tab-single .tf-btn-compare .compare-button {
  background: var(--theme-accent-color, #ec0606) !important;
  background-color: var(--theme-accent-color, #ec0606) !important;
}

.wrap-btn-action
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  path,
.product-tab-single
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  path,
.wrap-btn-action
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  circle,
.product-tab-single
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  circle,
.wrap-btn-action
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  rect,
.product-tab-single
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  rect,
.wrap-btn-action
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  line,
.product-tab-single
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  line,
.wrap-btn-action
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  polyline,
.product-tab-single
  .tf-tooltip:not(.tf-btn-wishlist):not(.tf-btn-wishlish)
  svg
  polyline {
  fill: #fff !important;
  stroke: #fff !important;
}

.search-form-inner .search-submit,
.search-form-inner .search-submit i,
.search-form-inner .search-submit svg {
  color: #fff !important;
}

.search-form-inner .search-submit svg path,
.search-form-inner .search-submit svg circle,
.search-form-inner .search-submit svg rect,
.search-form-inner .search-submit svg line,
.search-form-inner .search-submit svg polyline {
  fill: #fff !important;
  stroke: #fff !important;
}

.products li .product-info .added_to_cart,
.products li .product-info .added_to_cart:hover,
.products li .product-info .added_to_cart:focus {
  color: var(--theme-primary-color, #ec0606) !important;
}
