html {
  --mespi-module-title-heading: #342943;
  --mespi-module-title-primary: #6f42c1;
  --mespi-module-title-accent: #e85f8e;
  --mespi-action-primary: #7f3fff;
  --mespi-action-primary-dark: #6430d2;
  --mespi-action-accent: #e85f8e;
  --mespi-tab-text: #554966;
  --mespi-tab-primary: #6f42c1;
  --mespi-tab-primary-dark: #55309d;
  --mespi-tab-accent: #e85f8e;
  --mespi-tab-bg: #f8f6fb;
  --mespi-tab-border: #eee8f6;
  --mespi-tab-hover-border: #eadff6;
  --mespi-card-border: #eee8f6;
  --mespi-card-border-hover: #e2d4f6;
  --mespi-card-soft: #fbf9fd;
  --mespi-card-text: #211a2d;
  --mespi-card-muted: #6d6477;
  --mespi-card-shadow: 0 10px 26px rgba(33, 23, 50, .055);
  --mespi-card-shadow-hover: 0 16px 34px rgba(33, 23, 50, .095);
}

.mespi-home-showcase__cta,
.product-bundle-offer-btn.btn-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  background: linear-gradient(135deg, var(--mespi-action-primary) 0%, var(--mespi-action-primary-dark) 62%, var(--mespi-action-accent) 100%) !important;
  box-shadow: 0 10px 22px rgba(111, 66, 193, .18) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.mespi-home-showcase__cta::before,
.mespi-home-showcase__cta::after,
.product-bundle-offer-btn.btn-cart::before,
.product-bundle-offer-btn.btn-cart::after {
  display: none !important;
  content: none !important;
}

.desktop .mespi-home-showcase__cta:hover,
.desktop .product-bundle-offer-btn.btn-cart:hover,
.mespi-home-showcase__cta:focus,
.product-bundle-offer-btn.btn-cart:focus {
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(111, 66, 193, .22) !important;
  filter: saturate(1.03);
}

html .tabs-container::after,
html .product-sorter .tabs-container::after {
  display: none !important;
  content: none !important;
}

html .tabs-container > .nav-tabs,
html .product-sorter .tabs-container > .nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  max-width: 100%;
  gap: 3px;
  margin: 0 auto 10px !important;
  padding: 4px !important;
  border: 1px solid var(--mespi-tab-border) !important;
  border-radius: 999px;
  background: linear-gradient(180deg, #fbf9fd 0%, var(--mespi-tab-bg) 100%);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

html .tabs-container > .nav-tabs::-webkit-scrollbar,
html .product-sorter .tabs-container > .nav-tabs::-webkit-scrollbar {
  display: none;
}

html .tabs-container > .nav-tabs > li,
html .product-sorter .tabs-container > .nav-tabs > li,
html .product-sorter .tabs-container > .nav-tabs > li:first-child,
html .product-sorter .tabs-container > .nav-tabs > li:last-child {
  flex: 0 0 auto;
  margin: 0 !important;
  margin-right: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
}

html .product-sorter .tabs-container > .nav-tabs > li:not(:last-child) {
  margin-right: 0 !important;
}

html .tabs-container > .nav-tabs > li.active,
html .product-sorter .tabs-container > .nav-tabs > li.active,
html .product-sorter .tabs-container > .nav-tabs > li.active:first-child {
  border: 0 !important;
  border-color: transparent !important;
  margin-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html .product-sorter .tabs-container > .nav-tabs > li.active::after {
  display: none !important;
  content: none !important;
}

html .tabs-container > .nav-tabs > li > a,
html .product-sorter .tabs-container > .nav-tabs > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--mespi-tab-text) !important;
  font-size: 14px;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  white-space: nowrap;
}

html .tabs-container > .nav-tabs > li > a::before,
html .product-sorter .tabs-container > .nav-tabs > li > a::before {
  display: none !important;
  content: none !important;
}

html .tabs-container > .nav-tabs > li > a:empty::after,
html .product-sorter .tabs-container > .nav-tabs > li > a:empty::after {
  content: attr(aria-label);
}

html .tabs-container > .nav-tabs > li.active > a,
html .tabs-container > .nav-tabs > li.active > a:hover,
html .tabs-container > .nav-tabs > li.active > a:focus,
html .tabs-container > .nav-tabs > li.active > a:active,
html .product-sorter .tabs-container > .nav-tabs > li.active > a,
html .product-sorter .tabs-container > .nav-tabs > li.active > a:hover,
html .product-sorter .tabs-container > .nav-tabs > li.active > a:focus,
html .product-sorter .tabs-container > .nav-tabs > li.active > a:active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--mespi-tab-primary) 0%, var(--mespi-tab-primary-dark) 58%, var(--mespi-tab-accent) 100%) !important;
  box-shadow: 0 8px 18px rgba(111, 66, 193, .22) !important;
}

html .tabs-container > .nav-tabs > li:not(.active) > a:hover,
html .tabs-container > .nav-tabs > li:not(.active) > a:focus,
html .product-sorter .tabs-container > .nav-tabs > li:not(.active) > a:hover,
html .product-sorter .tabs-container > .nav-tabs > li:not(.active) > a:focus {
  color: var(--mespi-tab-primary-dark) !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px var(--mespi-tab-hover-border) !important;
}

.title.module-title,
.module-title.title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px !important;
  color: var(--mespi-module-title-heading) !important;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.title.module-title::before,
.module-title.title::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--mespi-module-title-primary) 0%, var(--mespi-module-title-accent) 100%);
}

.title.module-title::after,
.module-title.title::after {
  display: none !important;
  content: none !important;
}

.title.module-title > span,
.module-title.title > span {
  min-width: 0;
}

@media (max-width: 680px) {
  html .tabs-container > .nav-tabs,
  html .product-sorter .tabs-container > .nav-tabs {
    gap: 3px;
  }

  html .tabs-container > .nav-tabs > li > a,
  html .product-sorter .tabs-container > .nav-tabs > li > a {
    min-height: 34px;
    padding: 0 12px !important;
    font-size: 13px;
  }

  .title.module-title,
  .module-title.title {
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    gap: 7px;
    margin-bottom: 10px !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere;
  }

  .title.module-title::before,
  .module-title.title::before {
    flex-basis: 4px;
    width: 4px;
    height: 16px;
    margin-top: 2px;
  }

  .title.module-title > span,
  .module-title.title > span {
    flex: 1 1 auto;
    min-width: 0;
  }

  html.phone footer .links-menu .title.module-title,
  html.phone footer .links-menu .module-title.title {
    display: flex !important;
    align-items: flex-start !important;
    min-height: 0;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    color: var(--mespi-card-text) !important;
    background: transparent;
    box-shadow: none;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere;
  }

  html.phone footer .links-menu .title.module-title::before,
  html.phone footer .links-menu .module-title.title::before {
    content: "" !important;
    position: static;
    display: block !important;
    flex: 0 0 4px;
    width: 4px;
    height: 16px;
    margin: 2px 0 0;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--mespi-module-title-primary) 0%, var(--mespi-module-title-accent) 100%);
    font-size: 0;
    font-family: inherit;
    transform: none;
  }

  html.phone footer .links-menu .module-body {
    padding: 0 4px 12px;
  }

  html.phone footer .links-menu .menu-item a {
    min-height: 31px;
    color: var(--mespi-card-muted) !important;
    font-size: 14px;
    line-height: 1.35;
  }

  html.phone footer .links-menu .menu-item a:hover,
  html.phone footer .links-menu .menu-item a:focus {
    color: var(--mespi-action-primary-dark) !important;
  }
}

.main-products {
  border-top: 0 !important;
}

.main-products-wrapper {
  margin-top: 14px;
}

.route-product-category .page-title {
  margin-bottom: 14px !important;
  color: var(--mespi-card-text) !important;
  line-height: 1.12;
}

.route-product-category .category-description {
  position: relative;
  margin: 0 0 18px !important;
  padding: 18px;
  border: 1px solid var(--mespi-card-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(33, 23, 50, .045);
}

.route-product-category .category-description .category-text,
.route-product-category .category-description .category-text p {
  color: var(--mespi-card-text);
  font-size: 16px;
  line-height: 1.58;
}

.route-product-category .category-description .category-text a {
  color: var(--mespi-action-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.product-sorter {
  width: 100%;
  margin: 0 0 16px !important;
  padding: 10px;
  border: 1px solid var(--mespi-tab-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(33, 23, 50, .045);
}

.product-sorter .tabs-container {
  width: 100%;
  overflow: hidden;
}

.product-sorter .tabs-container > .nav-tabs {
  margin-bottom: 0 !important;
}
