/* Theme bindings and catalog/quote integration layer. */

/* Colour scheme (admin: Appearance → Color schemes). The `--shoper-*` variables come from the scheme on
   <html> (ColorSchemeResolver, chosen in partials/color-scheme-head); each falls back to the PartDo
   palette, so a shop without schemes looks as before. Bootstrap's link hover follows the scheme instead
   of its own blue. */
:root {
  --color-primary: var(--shoper-primary, #EF233C);
  --color-primary-dark: var(--shoper-btn-hover-bg, #D81D33);
  --color-primary-lighter: color-mix(in srgb, var(--color-primary) 7%, #fff);
  --color-primary-text: var(--shoper-accent-text, var(--color-primary));
  --color-on-primary: var(--shoper-btn-text, #fff);
  --color-secondary: var(--shoper-secondary, #3BC9DB);
  --color-secondary-dark: color-mix(in srgb, var(--color-secondary) 80%, #000);
  --color-secondary-lighter: color-mix(in srgb, var(--color-secondary) 12%, #fff);
  --color-link-hover: var(--shoper-link-hover, var(--color-primary));
  --color-sale: var(--shoper-sale, #F03E3E);
  --color-sale-dark: color-mix(in srgb, var(--color-sale) 82%, #000);
  --color-sale-lighter: color-mix(in srgb, var(--color-sale) 6%, #fff);
  --color-gradient-1: linear-gradient(45deg, var(--color-primary) 0%, #F47103 100%);
  --bs-link-color: var(--color-primary-text);
  --bs-link-hover-color: var(--color-link-hover);
  --bs-primary: var(--color-primary);
  --erp-primary: var(--color-primary);
  --erp-primary-hover: var(--color-primary-dark);
  --erp-text: var(--color-text-primary);
  --erp-border: var(--color-info);
  --color-border-light: var(--color-info-dark);
  --color-text-secondary: var(--color-text-description);
  --color-white: #fff;
}

html {
  scroll-behavior: smooth;
}

.scrollToTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  box-shadow: 0 0 5px rgb(0 0 0 / 17%);
  text-align: center;
  line-height: 50px;
  opacity: 0;
  z-index: 350;
}

.scrollToTop.button-show {
  opacity: 1;
}

.scrollToTop:hover {
  color: #777;
}

.scrollToTop::after {
  display: inline-block;
  font-size: 20px;
  content: "\e871";
  font-family: "shoper-icons";
}

@media screen and (max-width: 1024px) {
  /* Above the fixed bottom navigation (about 88px tall with its padding), not half under it. */
  .scrollToTop {
    right: 12px;
    bottom: calc(6rem + env(safe-area-inset-bottom));
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    line-height: 40px;
  }
}

button,
input,
select,
textarea {
  font: inherit;
}

button.quick-button-inner,
.shoper-site-close button,
.shoper-site-close a,
.product-views-buttons button,
.shoper-tabs .tabs button,
.shoper-modal-overlay {
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
}

.shoper-site-header .quick-button.login-button:focus-within .login-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.shoper-site-brand .brand-text {
  display: inline-flex;
  color: var(--color-text-primary);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.shoper-site-brand .brand-text span {
  color: var(--color-primary-text);
}

.shoper-site-header .shoper-header-main .shoper-site-brand img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 40px;
  height: auto;
}

.shoper-home-block .product .price,
.shoper-module[data-erp-home-section] .product .price {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;
}

.shoper-module-deals .shoper-countdown-wrapper {
  display: inline-flex;
  align-items: center;
}

.shoper-module-deals .shoper-countdown {
  align-items: center;
  gap: 0.25rem;
}

.shoper-module-deals .shoper-countdown .separator {
  flex: 0 0 auto;
  margin: 0;
  line-height: 1;
}

.shoper-module-deals .shoper-countdown .count-item {
  flex: 0 0 2.875rem;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 2.875rem;
  min-width: 2.875rem;
  height: 2.5rem;
  min-height: 2.5rem;
  gap: 0.125rem;
  padding: 0.25rem 0.375rem;
  text-align: center;
  line-height: 1;
}

.shoper-module-deals .shoper-countdown .count-item span {
  display: block;
  max-width: 100%;
  line-height: 1;
}

.shoper-module-deals .shoper-countdown .count-item span:first-child {
  font-size: 0.9375rem;
  font-weight: 600;
}

.shoper-module-deals .shoper-countdown .count-item span:not(:first-child) {
  font-size: 0.625rem;
  font-weight: 500;
  white-space: nowrap;
}

.shoper-add-to-cart-button:not(.shoper-single-add-to-cart-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.product .product-footer .shoper-add-to-cart-button i {
  font-size: 1rem;
  line-height: 1;
}

.shoper-site-header .shoper-menu-wrapper.primary .shoper-menu-item-has-children.mega-menu.torque-mega-menu > .sub-menu.torque-mega-menu__panel {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  align-items: start;
  gap: 1.25rem 1.5rem !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-mega-menu > .torque-mega-menu__panel > .torque-mega-menu__column {
  min-width: 0;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-mega-menu > .torque-mega-menu__panel > .torque-mega-menu__column > .torque-mega-menu__heading {
  display: flex !important;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  white-space: normal !important;
  line-height: 1.25;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-mega-menu .torque-mega-menu__heading span:not(.menu-icon) {
  min-width: 0;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-mega-menu .torque-mega-menu__links {
  min-width: 0;
  width: 100% !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-mega-menu .torque-mega-menu__links a {
  display: block !important;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers > a {
  color: var(--color-primary-text);
}

.shoper-site-header .shoper-menu-wrapper.primary .shoper-menu-item-has-children.mega-menu.torque-menu-offers > .sub-menu.torque-top-offers-menu {
  display: block !important;
  width: min(53.75rem, calc(100vw - 2rem)) !important;
  left: auto;
  right: 0;
  padding: 0 !important;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  overflow: hidden;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu,
.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu * {
  white-space: normal;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers > .torque-top-offers-menu > .torque-top-offers-menu__content {
  display: grid !important;
  grid-template-columns: minmax(16rem, 0.9fr) minmax(28rem, 1.65fr);
  gap: 1.5rem;
  width: 100%;
  padding: 1.5rem;
  background: #fff;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__intro {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  min-height: 20.125rem;
  padding: 1.25rem;
  border-radius: 0.375rem;
  background: #121b20;
  isolation: isolate;
  overflow: hidden;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__intro::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(10, 16, 20, 0.88) 0%, rgba(10, 16, 20, 0.66) 52%, rgba(10, 16, 20, 0.24) 100%);
  content: "";
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__banner-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__banner-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: min(100%, 13.75rem);
  min-width: 0;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 1.375rem;
  padding: 0 0.625rem;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-on-primary, #fff);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__intro h3 {
  margin: 0.75rem 0 0.375rem;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__intro p {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__view-all {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  width: auto !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__view-all:hover {
  color: var(--color-primary-text) !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.875rem 1rem;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__product {
  display: grid !important;
  grid-template-columns: 4.875rem minmax(0, 1fr);
  align-items: center;
  gap: 0.875rem;
  width: 100% !important;
  min-height: 5.5rem;
  padding: 0.625rem !important;
  border: 1px solid #eef0f3;
  border-radius: 0.5rem !important;
  background: #fff !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__product:hover {
  border-color: color-mix(in srgb, var(--color-primary) 24%, transparent);
  background: #fff8f9 !important;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.875rem;
  height: 4.875rem;
  border-radius: 0.375rem;
  background: #f7f8fa;
  overflow: hidden;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__thumb img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__details {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__title {
  display: -webkit-box;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.1;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__price del {
  color: var(--color-text-description);
  font-weight: 500;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__price ins {
  color: var(--color-primary-text);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
}

.shoper-site-header .shoper-menu-wrapper.primary .torque-menu-offers .torque-top-offers-menu__empty {
  grid-column: 1 / -1;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background: #f7f8fa;
  color: var(--color-text-description);
  font-size: 0.875rem;
}

#torque-top-offers {
  scroll-margin-top: 8.75rem;
}

@media screen and (max-width: 1199px) {
  /* The mobile logo stays inside the space between the menu button and the icons: a wide shop
     wordmark scales down (object-fit keeps its proportions) instead of overflowing the icons.
     The centre column gives the logo its full width (no side padding; the icon buttons carry
     their own inner space), so a logo that already fits, like Torque's, keeps its size. */
  .shoper-site-header .shoper-header-mobile .shoper-header-inner .column.center {
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .shoper-site-header .shoper-header-mobile .shoper-site-brand {
    min-width: 0;
    max-width: calc(100% - 0.5rem);
  }

  .shoper-site-header .shoper-header-mobile .shoper-site-brand img {
    width: auto;
    max-width: 100%;
    max-height: 36px;
    height: auto;
    object-fit: contain;
  }
}

.shoper-header-topbar .column.right {
  font-size: 0.75rem;
  color: var(--color-text-description);
}

.shoper-header-topbar .column.right a {
  color: var(--color-text-primary);
  font-weight: 600;
}

.shoper-site-header .torque-plp-promo-notify .shoper-header-inner {
  min-height: 2.625rem;
  gap: 1rem;
}

.shoper-site-header .torque-plp-promo-notify .column.right {
  gap: 0;
  white-space: nowrap;
}

.shoper-site-header .torque-plp-promo-notify .shoper-countdown-wrapper {
  display: inline-flex;
  align-items: center;
}

@media screen and (max-width: 991.98px) {
  .shoper-site-header .torque-plp-promo-notify .shoper-header-inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    text-align: center;
  }

  .shoper-site-header .torque-plp-promo-notify .shoper-header-notify-messages ul {
    justify-content: center;
    gap: 0.25rem 0.5rem;
  }

  .shoper-site-header .torque-plp-promo-notify .shoper-header-notify-messages ul li + li {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }

  .shoper-site-header .torque-plp-promo-notify .column.right {
    justify-content: center;
  }
}

@media screen and (max-width: 479.98px) {
  .shoper-site-header .torque-plp-promo-notify .shoper-header-notify-messages ul li {
    width: 100%;
  }
}

.shoper-modal-holder.is-open {
  display: flex;
  opacity: 1;
  visibility: visible;
}

.shoper-modal-holder:not(.is-open) {
  display: none;
}

.shoper-modal-holder.is-open .shoper-modal-inner {
  opacity: 1;
  transform: translateY(0);
}

.torque-finder-modal {
  align-items: center;
  justify-content: center;
  padding: 1rem;
  pointer-events: none;
}

.torque-finder-modal.is-open {
  pointer-events: auto;
}

.torque-finder-modal:not(.is-open),
.torque-finder-modal:not(.is-open) .shoper-modal-overlay {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.torque-finder-modal .shoper-modal-overlay {
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background-color: rgba(33, 37, 41, 0.5);
  transition: opacity 0.2s cubic-bezier(0.28, 0.12, 0.22, 1), visibility 0.2s cubic-bezier(0.28, 0.12, 0.22, 1);
}

.torque-finder-modal .shoper-modal-overlay:hover,
.torque-finder-modal .shoper-modal-overlay:focus,
.torque-finder-modal .shoper-modal-overlay:active {
  background-color: rgba(33, 37, 41, 0.5);
  outline: 0;
}

.torque-finder-modal.is-open .shoper-modal-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.modal-active {
  overflow: hidden;
}

.shoper-site-close button,
.shoper-site-close a,
.search-holder .container .search-holder-header a.shoper-site-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  width: 2.125rem;
  height: 2.125rem;
  color: var(--color-text-primary);
  background-color: var(--color-info-light);
  border-radius: var(--theme-theme-radius-small);
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.28, 0.12, 0.22, 1);
  cursor: pointer;
}

.search-holder .container .search-holder-header a.shoper-site-close {
  text-decoration: none;
}

.search-holder .container .search-holder-header a.shoper-site-close::before {
  content: "\ea1c";
  font-family: "shoper-icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  speak: never;
}

.shoper-site-close button:hover,
.shoper-site-close a:hover,
.shoper-site-close button:focus-visible,
.shoper-site-close a:focus-visible,
.search-holder .container .search-holder-header a.shoper-site-close:hover {
  background-color: var(--color-info);
}

.shoper-site-close button:active,
.shoper-site-close a:active,
.search-holder .container .search-holder-header a.shoper-site-close:active {
  transform: translateY(1px);
}

.shoper-site-drawer .shoper-site-brand img {
  width: auto;
  max-width: 100%;
  max-height: 36px;
  height: auto;
}

.shoper-site-drawer-row.shoper-site-drawer-header .shoper-site-close button,
.shoper-site-drawer-row.shoper-site-drawer-header .shoper-site-close a {
  font-size: 0.8125rem;
}

.service-search-modal .shoper-finder-select {
  width: 100%;
}

.service-search-modal .service-description[data-state="error"] {
  color: var(--color-danger);
}

.torque-finder-modal .shoper-modal-inner {
  max-width: min(32.5rem, calc(100vw - 2rem));
  position: relative;
  z-index: 1;
  overflow: visible;
  background-color: var(--color-body);
  border-radius: var(--theme-theme-radius-large);
  box-shadow: none;
}

.torque-finder-modal .shoper-modal-header {
  position: relative;
  justify-content: center;
  padding: 1.25rem 1.875rem 0.625rem;
  text-align: center;
}

.torque-finder-modal .shoper-modal-header .shoper-entry-title {
  max-width: 24rem;
  margin: 0 auto;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
}

.torque-finder-modal .shoper-site-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.torque-finder-modal .shoper-site-close button {
  position: relative;
  width: 2.125rem;
  height: 2.125rem;
  border-radius: var(--theme-theme-radius-small);
  line-height: 1;
}

.torque-finder-modal .shoper-site-close button i {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  line-height: 1;
}

.torque-finder-modal .shoper-modal-body {
  padding: 0.9375rem 1.875rem 0.9375rem;
}

.torque-finder-selector {
  display: grid;
  justify-items: center;
  text-align: center;
}






.torque-finder-selector .shoper-entry-description {
  max-width: 24rem;
  color: var(--color-text-description);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.torque-finder-form {
  width: 100%;
  margin-top: 0 !important;
}

.torque-finder-modal .torque-finder-form {
  display: grid !important;
  gap: 0.625rem;
  max-width: 26rem !important;
  margin-left: auto;
  margin-right: auto;
}

.torque-finder-form .form-column {
  min-width: 0;
  margin-bottom: 0;
}

/* A finder field the shop has no values for (no fitted years, no body styles) is left out. */
.torque-finder-form .form-column[hidden] {
  display: none !important;
}

.torque-finder-form .shoper-finder-select {
  appearance: none;
  width: 100%;
  height: 2.875rem;
  padding: 0 2.5rem 0 0.9375rem;
  color: var(--color-text-primary);
  background-color: var(--color-body);
  background-image: url("data:image/svg+xml;utf8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 9L12 15L18 9' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position: calc(100% - 8px) 50%;
  background-repeat: no-repeat;
  background-size: 22px 16px;
  border: 1px solid var(--color-form-border);
  border-radius: var(--theme-form-radius);
  box-shadow: 0 1px 2px 0 rgba(33, 37, 41, 0.09);
  font-size: var(--theme-form-font-size);
  font-weight: var(--theme-form-font-weight);
  line-height: 1;
}

.torque-finder-form .shoper-finder-select:disabled {
  color: var(--color-text-description);
  background-color: var(--color-info-light);
  cursor: not-allowed;
  opacity: 1;
}

.torque-finder-form .shoper-finder-select:focus {
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 0.1875rem color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.torque-finder-form .shoper-finder-select.select2-hidden-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.torque-finder-form .select2 .select2-selection {
  height: 2.875rem;
}

.torque-finder-form .select2.select2-container {
  width: 100% !important;
  max-width: 100%;
}

.torque-finder-form .select2 .select2-selection.select2-selection--single .select2-selection__arrow {
  top: 2px;
  pointer-events: none;
}

.torque-finder-select2-dropdown {
  z-index: 100200 !important;
}

.torque-finder-form .button-column button {
  width: 100%;
  height: 2.875rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  border-radius: var(--theme-form-radius);
  font-size: var(--theme-form-font-size);
  font-weight: 600;
}

.torque-finder-form .button-column button:hover,
.torque-finder-form .button-column button:focus {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.torque-finder-selector .service-description {
  max-width: 22rem;
  margin: 0.5rem auto 0;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  line-height: normal;
  text-align: center;
  min-height: 1.25rem;
}

.torque-finder-selector .service-description:empty {
  margin-top: 0;
  min-height: 0;
}

.torque-finder-sidebar {
  display: grid;
  gap: 0.875rem;
  padding: 1rem;
  background: var(--color-info-light);
  border-radius: var(--theme-form-radius);
}


.torque-finder-sidebar .shoper-widget-title,
.torque-finder-sidebar .shoper-entry-description p {
  margin-bottom: 0;
}

.torque-finder-sidebar__form {
  display: grid;
  gap: 0.625rem;
  width: 100%;
  max-width: 17.5rem;
  margin-left: auto;
  margin-right: auto;
}

.torque-finder-sidebar__form .button-column {
  margin-top: 0.625rem;
}

.torque-finder-sidebar .service-description {
  margin: 0;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  line-height: normal;
  text-align: center;
}

.torque-finder-sidebar .service-description[data-state="error"] {
  color: var(--color-primary-text);
}

.torque-finder-sidebar.is-filtered {
  background: #f4f6f8;
}



.torque-finder-sidebar.is-filtered .shoper-entry-description p {
  color: var(--color-text-description);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.torque-finder-sidebar.is-filtered:not(.is-editing) .service-description {
  display: none;
}

.torque-finder-active-state {
  display: grid;
  gap: 0.875rem;
}

.torque-finder-active-state[hidden] {
  display: none;
}

.torque-finder-active-state__pills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.torque-finder-pill {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2.375rem;
  padding: 0.5rem 0.625rem;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--theme-form-radius);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  gap: 0.5rem;
}

.torque-finder-pill:hover,
.torque-finder-pill:focus {
  color: var(--color-primary-text);
  border-color: var(--color-primary);
}

.torque-finder-pill i {
  flex: 0 0 auto;
  font-size: 0.625rem;
}

.torque-finder-active-state__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
}

.torque-finder-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.875rem;
  padding: 0 0.75rem;
  border-radius: var(--theme-form-radius);
  font-size: var(--theme-form-font-size);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.torque-finder-action--clear {
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
}

.torque-finder-action--clear:hover,
.torque-finder-action--clear:focus {
  color: var(--color-primary-text);
  border-color: var(--color-primary);
}

.torque-finder-sidebar .torque-finder-action--edit {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
}

.torque-finder-sidebar .torque-finder-action--edit:hover,
.torque-finder-sidebar .torque-finder-action--edit:focus {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.torque-finder-sidebar.is-editing .service-description {
  text-align: center;
}

.torque-category-filter-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-category-filter-list .cat-item {
  position: relative;
  display: block;
  margin-bottom: 0;
}

.torque-category-filter-list .cat-item + .cat-item {
  margin-top: 0.5rem;
}

.torque-category-filter-row {
  display: block;
  min-height: 1.125rem;
  padding-right: 1.25rem;
}

.torque-category-filter-row > a,
.torque-category-filter-list .children > li > a {
  display: inline;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
}

.torque-category-filter-list input[type="checkbox"] {
  display: none;
}

.torque-category-filter-list label {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  margin-bottom: 0;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: normal;
  cursor: pointer;
}

.torque-category-filter-list label > span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.125rem;
  width: 1.125rem;
  max-width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.9375rem;
  top: -1px;
  border-radius: var(--theme-theme-radius-xsmall);
  border: 1px solid var(--color-form-border);
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(33, 37, 41, 0.05);
}

.torque-category-filter-list label > span::before {
  position: relative;
  content: "\2713";
  font-size: 0.75rem;
  line-height: 1;
  left: 0.5px;
  text-shadow: 0 0 0;
  opacity: 0;
}

.torque-category-filter-list input[type="checkbox"]:checked + label,
.torque-category-filter-list .is-active > .torque-category-filter-row label,
.torque-category-filter-list .current-cat > a label {
  color: var(--color-primary-text);
  font-weight: 500;
}

.torque-category-filter-list input[type="checkbox"]:checked + label > span,
.torque-category-filter-list .is-active > .torque-category-filter-row label > span,
.torque-category-filter-list .current-cat > a label > span {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.torque-category-filter-list input[type="checkbox"]:checked + label > span::before,
.torque-category-filter-list .is-active > .torque-category-filter-row label > span::before,
.torque-category-filter-list .current-cat > a label > span::before {
  opacity: 1;
}

.torque-category-filter-list input[type="checkbox"]:disabled + label {
  opacity: 0.55;
  cursor: default;
}

.torque-category-filter-list a::after {
  display: none;
}

.torque-category-filter-expander {
  position: absolute;
  top: 0;
  right: 0;
  display: inline;
  width: auto;
  height: auto;
  padding: 0;
  color: var(--color-text);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
  cursor: pointer;
}

.torque-category-filter-expander::before {
  content: "+";
}

.torque-category-filter-expander.minus::before {
  content: "-";
}

.torque-category-filter-expander:hover,
.torque-category-filter-expander:focus {
  color: var(--color-primary-text);
  background: transparent;
  outline: 0;
}

.torque-category-family__panel {
  margin: 0.5rem 0 0;
  padding-left: 1.875rem !important;
}

.torque-category-family__panel[hidden] {
  display: none !important;
}

@media screen and (max-width: 575.98px) {
  .torque-finder-modal {
    align-items: flex-start;
    padding-top: 4.5rem;
  }

  .torque-finder-modal .shoper-modal-header {
    padding: 1.25rem 1.25rem 0.625rem;
  }

  .torque-finder-modal .shoper-modal-body {
    padding: 0.9375rem 1.25rem 0.625rem;
  }

}

@media screen and (min-width: 576px) and (max-width: 1023.98px) {
  .torque-finder-modal .shoper-modal-inner {
    max-width: min(31rem, calc(100vw - 2rem));
  }

  .torque-finder-modal .shoper-modal-body {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }


  .torque-finder-modal .torque-finder-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 28rem !important;
  }

  .torque-finder-modal .torque-finder-form .button-column {
    grid-column: 1 / -1;
    width: min(14rem, 100%);
    justify-self: center;
  }

  .torque-finder-modal .torque-finder-selector .service-description {
    margin-top: 0.75rem;
  }
}

:root {
  --torque-section-gap: 1.25rem;
  --torque-section-content-offset: 0.9375rem;
  --torque-section-stack-gap: 4.375rem;
}

.shoper-home-sections {
  padding-top: 0;
}

.shoper-home-sections > * {
  margin-bottom: var(--torque-section-stack-gap, 3.75rem);
}

.shoper-home-block {
  margin-top: var(--torque-section-gap, 1.25rem);
}

.shoper-home-block:not(.shoper-home-block--hero) {
  padding-top: var(--torque-section-content-offset, 0.9375rem);
}

.shoper-home-block--hero {
  margin-top: 0;
  padding-top: 0;
}

[data-erp-home-lead] {
  --bs-gutter-x: 1.875rem;
  --torque-home-lead-panel-height: 34.375rem;
}

[data-erp-home-lead] .shoper-module-slider {
  margin-top: 0 !important;
}

@media screen and (min-width: 1200px) {
  [data-erp-home-lead] > .col-xl-9 {
    display: flex;
    align-items: flex-end;
    min-height: var(--torque-home-lead-panel-height);
  }

  [data-erp-home-lead] .shoper-module-slider {
    width: 100%;
  }

  /* No category menu beside the slider (a shop without categories): keep the gap the menu row gives. */
  .torque-home-lead--no-menu {
    padding-top: 1.875rem;
  }
}

.shoper-banner .shoper-entry-media img,
.post .shoper-entry-media img,
.category-item .shoper-entry-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shoper-home-block--banner-group .shoper-banner {
  border-radius: var(--theme-theme-radius-small);
  isolation: isolate;
  overflow: hidden;
}

.shoper-home-block--banner-group .shoper-entry-wrapper,
.shoper-home-block--banner-group .shoper-entry-media,
.shoper-home-block--banner-group .shoper-entry-media img {
  border-radius: inherit;
}

.shoper-home-block--banner-group .shoper-entry-wrapper,
.shoper-home-block--banner-group .shoper-entry-media {
  overflow: hidden;
}

.shoper-home-block--banner-group[data-erp-banner-preset="primary-trio"] .shoper-entry-wrapper::before,
.shoper-home-block--banner-group[data-erp-banner-preset="middle-pair"] .shoper-entry-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(5, 10, 18, 0.42) 0%, rgba(5, 10, 18, 0.24) 42%, rgba(5, 10, 18, 0.04) 72%),
    linear-gradient(180deg, rgba(5, 10, 18, 0.12) 0%, rgba(5, 10, 18, 0.2) 100%);
  pointer-events: none;
}

.shoper-home-block--banner-group[data-erp-banner-preset="primary-trio"] .shoper-entry-inner,
.shoper-home-block--banner-group[data-erp-banner-preset="middle-pair"] .shoper-entry-inner {
  position: relative;
  z-index: 1;
}

.shoper-home-block--banner-group .shoper-entry-excerpt,
.shoper-home-block--text-banner .coupon-description {
  max-width: min(100%, 22rem);
}

.shoper-home-block--banner-group .shoper-entry-excerpt p,
.shoper-home-block--text-banner .coupon-description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.shoper-home-block--banner-group .shoper-entry-excerpt p {
  margin-bottom: 0;
}

@media screen and (max-width: 991.98px) {
  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-wrapper {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "sale copy code";
    gap: 1rem 1.25rem;
    align-items: center;
    min-height: 7rem;
    padding: 1rem 1.5rem;
    text-align: left;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-sale {
    grid-area: sale;
    margin: 0;
    font-size: clamp(2.25rem, 6vw, 3.25rem);
    white-space: nowrap;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .text-wrap {
    grid-area: copy;
    min-width: 0;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-description {
    max-width: 100%;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-code {
    grid-area: code;
    margin: 0;
    white-space: nowrap;
  }

  [data-erp-weekly-offer-carousel] {
    display: block;
    width: 100%;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  [data-erp-weekly-offer-carousel] > .slick-list {
    overflow: hidden;
  }

  [data-erp-weekly-offer-carousel] .slick-track {
    display: flex;
    align-items: flex-start;
  }

  [data-erp-weekly-offer-carousel] .slick-slide {
    height: auto;
    padding-right: 0;
    padding-left: 0;
  }

  [data-erp-weekly-offer-carousel] .shoper-banner.style-inner .shoper-entry-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  [data-erp-weekly-offer-carousel] .shoper-banner.style-inner .shoper-entry-media {
    position: relative;
    width: 100%;
    height: auto;
  }

  [data-erp-weekly-offer-carousel] .shoper-banner.style-inner .shoper-entry-media img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  [data-erp-weekly-offer-carousel] .slick-dots {
    display: flex !important;
    justify-content: center;
    gap: 0.375rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
  }

  [data-erp-weekly-offer-carousel] .slick-dots button {
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    overflow: hidden;
    color: transparent;
    background: var(--color-info-dark);
    border: 0;
    border-radius: 999px;
  }

  [data-erp-weekly-offer-carousel] .slick-dots .slick-active button {
    background: var(--color-primary);
  }
}

@media screen and (max-width: 575.98px) {
  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-wrapper {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "sale copy"
      "sale code";
    gap: 0.375rem 1rem;
    min-height: 0;
    padding: 1rem;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-sale {
    align-self: center;
    font-size: clamp(2rem, 11vw, 2.75rem);
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-title {
    font-size: 0.9375rem;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-description {
    font-size: 0.75rem;
  }

  .shoper-home-block--text-banner .shoper-coupon-banner.style-1 .coupon-code {
    justify-self: start;
    font-size: 1rem;
  }
}

@media screen and (max-width: 991.98px) {
  [data-erp-latest-blog-carousel] {
    display: block;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }

  [data-erp-latest-blog-carousel] .torque-latest-blog-slide {
    height: auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  [data-erp-latest-blog-carousel].slick-initialized .slick-list {
    overflow: hidden;
  }

  [data-erp-latest-blog-carousel].slick-initialized .slick-track {
    display: flex;
    align-items: stretch;
  }

  [data-erp-latest-blog-carousel].slick-initialized .slick-slide {
    height: auto;
  }

  [data-erp-latest-blog-carousel] .post {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
  }

  [data-erp-latest-blog-carousel] .slick-dots {
    display: flex !important;
    justify-content: center;
    gap: 0.375rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
  }

  [data-erp-latest-blog-carousel] .slick-dots button {
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    overflow: hidden;
    color: transparent;
    background: var(--color-info-dark);
    border: 0;
    border-radius: 999px;
  }

  [data-erp-latest-blog-carousel] .slick-dots .slick-active button {
    background: var(--color-primary);
  }
}

@media screen and (max-width: 767.98px) {
  [data-erp-weekly-offer-carousel] .shoper-banner.style-inner .shoper-entry-wrapper {
    padding: 1rem 1.25rem;
  }

  [data-erp-weekly-offer-carousel] .shoper-entry-excerpt p {
    -webkit-line-clamp: 1;
  }

  [data-erp-product-collection="category-products"] .products-column .products.gutter-0 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }

  [data-erp-product-collection="category-products"] .products-column .products.gutter-0 > .column-item.product {
    width: 100% !important;
    margin-bottom: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

.product .thumbnail-wrapper {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.product .thumbnail-wrapper .product-thumbnail,
.product .thumbnail-wrapper .product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-box-footer {
  display: grid;
  gap: 0.25rem;
  color: var(--color-text-description);
  font-size: 0.6875rem;
  line-height: 1.4;
}

.product-box-footer span {
  color: var(--color-text-primary);
  font-weight: 600;
}

.shoper-home-block .product .content-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 8.25rem;
}

.shoper-home-block .product.shoper-standard-card .content-wrapper {
  min-height: 9.6875rem;
}

.shoper-home-block .product .product-title {
  display: -webkit-box;
  min-height: 2.25rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.shoper-home-block .product .product-stock {
  align-self: flex-start;
  margin-top: auto;
}

.shoper-home-block .product .product-box-footer {
  display: none;
}

.shoper-home-block .products .product:hover.custom-hover {
  z-index: 20;
}

.shoper-home-block .product.custom-hover .product-footer {
  background-color: #fff;
}

.products:not(.large-list) .product.custom-hover .product-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.products:not(.large-list) .product.custom-hover .product-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover,
.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover {
  display: flex;
  height: 100%;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .content-wrapper,
.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .content-wrapper,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .content-wrapper {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .product-title,
.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .product-title,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .product-title {
  display: -webkit-box;
  min-height: 3.75rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .product-rating,
.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .product-rating,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .product-rating {
  min-height: 1.25rem;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .content-wrapper > .price,
.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .content-wrapper > .price,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .content-wrapper > .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  min-height: 1.875rem;
}

.product .torque-product-card-short-description {
  display: none;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.torque-omnibus-reference {
  display: block;
  margin: 0.3125rem 0 0;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.35;
}

.torque-omnibus-reference strong {
  color: var(--color-text-primary);
  font-weight: 600;
}

.product .product-cart-form .torque-omnibus-reference {
  flex-basis: 100%;
  order: 3;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .product-stock,
.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .product-stock,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .product-stock {
  min-height: 1.25rem;
}

.products:not(.large-list) .product.custom-hover .product-footer {
  position: relative;
  left: auto;
  right: auto;
  flex: 0 0 auto;
  margin-top: auto;
  min-height: 7.25rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s cubic-bezier(0.17, 0.62, 0.44, 0.99), visibility 0.15s cubic-bezier(0.17, 0.62, 0.44, 0.99);
}

.products:not(.large-list) .product.custom-hover:hover .product-footer,
.products:not(.large-list) .product.custom-hover:focus-within .product-footer {
  opacity: 1;
  visibility: visible;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .product-footer {
  opacity: 1;
  visibility: visible;
}

.products:not(.large-list) .product.custom-hover .product-footer .product-footer-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0.9375rem 0 0;
  padding: 0.9375rem 0 0;
  border-bottom: 1px solid var(--color-info);
}

.products:not(.large-list) .product.custom-hover .product-footer .product-footer-details {
  display: -webkit-box;
  min-height: 2.375rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.products:not(.large-list) .product.custom-hover .product-footer .product-footer-actions {
  margin-top: auto;
}

.products:not(.large-list) .product.custom-hover .product-content-fade {
  display: none;
}

.shop-page-wrapper .products:not(.large-list) .product.custom-hover .product-content-fade {
  display: none !important;
}

.products:not(.large-list) .product:hover.custom-hover {
  z-index: 1;
}

.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .product-footer,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .product-footer {
  opacity: 1;
  visibility: visible;
}

.shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .product-content-fade,
.shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .product-content-fade {
  display: none !important;
}

.product .product-footer .product-footer-actions,
.shoper-single-product-wrapper .product-detail .shoper-product-actions {
  display: grid;
  gap: 0.625rem;
}

/* Two columns only when the card shows both buttons; a lone "Cere ofertă" (quote-only shop) takes
   the whole row on one line. */
.product .product-footer .product-footer-actions:has(.shoper-quote-button):has(> :nth-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shoper-home-block .product .product-content-fade {
  bottom: -16.875rem;
}

.product .product-footer .shoper-add-to-cart-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  color: var(--color-text-primary);
  background-color: var(--color-info-light);
  border: 0;
  border-radius: var(--theme-form-radius);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.shoper-add-to-cart-button:not(.shoper-single-add-to-cart-button):hover,
.shoper-add-to-cart-button:not(.shoper-single-add-to-cart-button):focus-visible,
.shoper-add-to-cart-button:not(.shoper-single-add-to-cart-button):active {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
}

.product .product-cart-form .shoper-add-to-cart-button {
  color: var(--color-text-primary);
  background-color: var(--color-info-light);
  border: 0;
  border-radius: var(--theme-form-radius);
}

.product .product-cart-form .shoper-add-to-cart-button:hover,
.product .product-cart-form .shoper-add-to-cart-button:focus-visible,
.product .product-cart-form .shoper-add-to-cart-button:active {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
}

:is(.shoper-home-sections, .shoper-home-block) .products:not(.large-list) .product.custom-hover .product-footer {
  position: relative;
  left: auto;
  right: auto;
  min-height: auto;
  margin-top: 0.75rem;
  opacity: 1;
  visibility: visible;
}

:is(.shoper-home-sections, .shoper-home-block) .products:not(.large-list) .product.custom-hover .product-footer .product-footer-inner {
  min-height: auto;
  margin-top: 0;
  padding-top: 0.75rem;
}

:is(.shoper-home-sections, .shoper-home-block) .products:not(.large-list) .product.custom-hover .product-footer-details {
  display: none;
}

@media screen and (max-width: 991.98px) {
  :is(.shoper-home-sections, .shoper-home-block) .product .product-cart-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.625rem;
    align-items: stretch;
  }

  :is(.shoper-home-sections, .shoper-home-block) .product .product-cart-form .price {
    padding-right: 0;
  }

  :is(.shoper-home-sections, .shoper-home-block) .product .product-cart-form .shoper-add-to-cart-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    width: 100%;
    min-height: 2.625rem;
    margin-left: 0;
    padding: 0.625rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
  }

  :is(.shoper-home-sections, .shoper-home-block) .product .product-cart-form .shoper-add-to-cart-button i {
    font-size: 1rem;
  }

}

.shoper-single-product-wrapper .product-detail form .shoper-add-to-cart-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
  border: 0;
  border-radius: var(--theme-theme-radius-base);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.shoper-single-product-wrapper .product-detail form .shoper-add-to-cart-button:hover {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary-dark);
}

.product .product-footer .shoper-quote-button,
.shoper-single-product-wrapper .product-detail .shoper-quote-button {
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  color: var(--color-primary-text);
  background-color: #fff;
  border: 1px solid rgba(237, 23, 54, 0.24);
}

.product .product-footer .shoper-quote-button:hover,
.shoper-single-product-wrapper .product-detail .shoper-quote-button:hover,
.shoper-single-product-wrapper .product-detail .shoper-quote-button:focus-visible {
  color: var(--color-on-primary, #fff);
  background-color: var(--erp-primary-hover);
  border-color: var(--erp-primary-hover);
}

.shop-page-wrapper .term-description {
  max-width: 55rem;
  margin: 0 0 1.875rem;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.65;
}

.shop-page-wrapper .term-description > :last-child {
  margin-bottom: 0;
}

.shop-page-wrapper .torque-plp-hero-banner {
  height: 14rem;
  min-height: 14rem;
  overflow: hidden;
}

.shop-page-wrapper .torque-plp-hero-banner .shoper-entry-media,
.shop-page-wrapper .torque-plp-hero-banner .shoper-entry-media img {
  width: 100%;
  height: 100%;
  min-height: 14rem;
  object-fit: cover;
}

.shop-page-wrapper .torque-plp-hero-banner .shoper-entry-title {
  max-width: 36rem;
}

@media screen and (max-width: 767.98px) {
  .shop-page-wrapper .torque-plp-hero-banner {
    height: 15rem;
    min-height: 15rem;
  }

  .shop-page-wrapper .torque-plp-hero-banner > .shoper-entry-wrapper {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
  }

  .shop-page-wrapper .torque-plp-hero-banner > .shoper-entry-wrapper::before {
    inset: 0;
    border-radius: inherit;
  }

  .shop-page-wrapper .torque-plp-hero-banner .shoper-entry-media,
  .shop-page-wrapper .torque-plp-hero-banner .shoper-entry-media img {
    min-height: 15rem;
  }

  .shop-page-wrapper .torque-plp-hero-banner .shoper-entry-inner {
    width: 78%;
  }
}

.shop-page-wrapper .torque-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.875rem;
  margin: 0 0 1.875rem;
  padding: 0;
  list-style: none;
}

.shop-page-wrapper ul.torque-subcategory-grid.products .product.product-category {
  margin: 0;
  overflow: hidden;
  text-align: center;
  list-style: none;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-theme-radius-base);
}

.shop-page-wrapper ul.torque-subcategory-grid.products .product.product-category > a {
  display: block;
  color: var(--color-text-primary);
  text-decoration: none;
}

.shop-page-wrapper ul.torque-subcategory-grid.products .product.product-category > a > img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--color-info-light);
}

.shop-page-wrapper .torque-subcategory-grid .shoper-loop-category__title {
  margin: 0;
  padding: 1rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
}

.shop-page-wrapper .torque-subcategory-grid mark.count {
  color: var(--color-text-secondary);
  background: transparent;
  font-size: 0.8125rem;
  font-weight: 500;
}

@media screen and (max-width: 991.98px) {
  .shop-page-wrapper .torque-subcategory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 575.98px) {
  .shop-page-wrapper .torque-subcategory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9375rem;
  }
}

.filtered-sidebar .bb-product-form-filter > * {
  margin-bottom: 1.875rem;
}

.filtered-sidebar .shoper-shop-widgets {
  display: block;
  margin: 0 0 1.875rem;
  padding: 0;
  list-style: none;
}

.filtered-sidebar .shoper-shop-widgets > .widget {
  margin-bottom: 1.875rem;
  list-style: none;
}

.filtered-sidebar .shoper-shop-widgets > .widget:last-child {
  margin-bottom: 0;
}

.filtered-sidebar .shoper-shop-widgets > .widget.shoper-widget-price-filter {
  margin-top: 0;
  margin-bottom: 2.5rem;
  padding: 0;
  background-color: transparent;
  border: 0;
  border-radius: 0;
}

@media screen and (min-width: 1024px) {
  .shop-page-wrapper .filtered-sidebar > .shoper-site-scroll {
    margin-top: -1.875rem;
  }
}

.before-shop-loop .filter-button.hide-desktop {
  display: none;
}

@media screen and (min-width: 992px) {
  .before-shop-loop {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
  }

  .before-shop-loop .shoper-result-count {
    flex: 1 1 auto;
    margin-right: auto;
  }

  .before-shop-loop .sorting-products,
  .before-shop-loop .per-page-products {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 2rem;
  }

  .before-shop-loop .sorting-products form,
  .before-shop-loop .per-page-products form {
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }

  .before-shop-loop .sorting-products select.select2-hidden-accessible,
  .before-shop-loop .per-page-products select.select2-hidden-accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .before-shop-loop .sorting-products .select2-container,
  .before-shop-loop .per-page-products .select2-container {
    top: 0;
    width: auto !important;
    min-width: 4rem;
  }

  .before-shop-loop .sorting-products .select2-selection,
  .before-shop-loop .per-page-products .select2-selection {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding-right: 1.25rem;
  }

  .before-shop-loop .sorting-products .select2-selection .select2-selection__arrow,
  .before-shop-loop .per-page-products .select2-selection .select2-selection__arrow {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .before-shop-loop .product-views-buttons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 0.375rem;
    margin-left: 0;
  }

  .before-shop-loop .product-views-buttons > * {
    width: 2rem;
    height: 2rem;
    margin-left: 0 !important;
    line-height: 1;
  }

  .before-shop-loop .product-views-buttons i {
    display: block;
    line-height: 1;
  }
}

@media screen and (max-width: 991.98px) {
  .before-shop-loop {
    align-items: center;
    gap: 0.625rem 0.875rem;
  }

  .before-shop-loop .filter-button.hide-desktop {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    margin-right: 0;
  }

  .before-shop-loop .filter-button.hide-desktop a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 2.25rem;
    padding: 0.5rem 0.6875rem;
    color: var(--color-on-primary, #fff);
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: var(--theme-theme-radius-small);
    font-weight: 600;
    line-height: 1.15;
  }

  .before-shop-loop .filter-button.hide-desktop a:hover,
  .before-shop-loop .filter-button.hide-desktop a:focus-visible {
    color: var(--color-on-primary, #fff);
    background-color: var(--erp-primary-hover);
    border-color: var(--erp-primary-hover);
  }

  .before-shop-loop .sorting-products {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
    flex: 1 1 auto;
  }

  .before-shop-loop .sorting-products form,
  .before-shop-loop .sorting-products .select2-container {
    min-width: 0;
    width: auto !important;
  }

  .before-shop-loop .sorting-products .select2-selection {
    display: flex;
    align-items: center;
    min-height: 2rem;
    padding-right: 1rem;
  }

  .before-shop-loop .sorting-products .select2-selection .select2-selection__arrow {
    top: 50%;
    right: -0.125rem;
    width: 0.875rem;
    transform: translateY(-50%);
  }

  .before-shop-loop .sorting-products .select2-selection__rendered {
    max-width: 7.75rem;
    padding-right: 0.625rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .before-shop-loop .product-views-buttons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 0.25rem;
    margin-left: auto;
  }

  .before-shop-loop .product-views-buttons > * {
    width: 2rem;
    height: 2rem;
    margin-left: 0 !important;
    line-height: 1;
  }

  .before-shop-loop .product-views-buttons i {
    display: block;
    line-height: 1;
  }

  .before-shop-loop .remove-filter:empty {
    display: none;
  }
}

.torque-toolbar-select2-dropdown {
  min-width: 11.5rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: 0.5rem;
  box-shadow: 0 0.75rem 1.875rem rgba(33, 37, 41, 0.12);
}

.select2-container--open .torque-toolbar-select2-dropdown.select2-dropdown--below {
  margin-top: 0.375rem;
  border-top: 1px solid var(--color-info-dark);
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.torque-toolbar-select2-dropdown .select2-search--dropdown {
  display: none;
}

.torque-toolbar-select2-dropdown .select2-results__options {
  max-height: none;
  padding: 0.375rem;
}

.torque-toolbar-select2-dropdown .select2-results__option {
  min-height: 2rem;
  padding: 0.5rem 0.625rem;
  color: var(--color-text);
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.2;
}

.torque-toolbar-select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable,
.torque-toolbar-select2-dropdown .select2-results__option--selected {
  color: var(--color-primary-text);
  background-color: var(--color-primary-lighter);
}

.filtered-sidebar .shoper-widget-price-filter .bb-product-filter {
  min-height: 0;
  margin-bottom: 0;
  padding: 0 0 1.875rem;
  background-color: #fff;
}

.filtered-sidebar .bb-product-form-filter .btn,
.filtered-sidebar .bb-product-form-filter button[type="submit"] {
  width: 100%;
}

.filtered-sidebar .shoper-widget-price-filter .shoper-widget-title {
  margin: 0 0 1.25rem !important;
  padding: 0;
  color: var(--color-text);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.125rem;
}

.filtered-sidebar .shoper-widget-price-filter .price_slider_wrapper,
.filtered-sidebar .shoper-widget-price-filter .shoper-price-slider-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
}

.filtered-sidebar .shoper-widget-price-filter .price_slider_amount,
.filtered-sidebar .shoper-widget-price-filter .shoper-price-slider-amount {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.125rem;
}

.filtered-sidebar .shoper-widget-price-filter .price_label {
  flex: 1 1 auto;
  margin-right: 0;
  margin-bottom: 0;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}

.filtered-sidebar .shoper-widget-price-filter .price_label span {
  color: var(--color-text-primary);
}

.filtered-sidebar .shoper-widget-price-filter .button {
  width: auto !important;
  height: 2.375rem;
  min-width: 3.75rem;
  min-height: 2.375rem;
  padding: 0 1rem;
  color: var(--color-text-primary);
  background-color: #f0f2f4;
  border: 0;
  border-radius: 0.625rem;
  box-shadow: none;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 2.375rem;
  text-transform: uppercase;
}

.filtered-sidebar .shoper-widget-price-filter .button:hover,
.filtered-sidebar .shoper-widget-price-filter .button:focus-visible {
  color: var(--color-text-primary);
  background-color: #e8ebee;
  border-color: transparent;
  box-shadow: none;
}

.filtered-sidebar .shoper-widget-price-filter .shoper-price-slider.ui-widget-content {
  height: 2px;
  background-color: var(--color-info-light);
  border: 0;
  border-radius: 2px;
  margin: 0;
}

.filtered-sidebar .shoper-widget-price-filter .shoper-price-slider.ui-widget-content .ui-slider-range {
  height: 2px;
  background-color: var(--color-primary);
  border: 0;
}

.filtered-sidebar .shoper-widget-price-filter .shoper-price-slider.ui-widget-content .ui-slider-handle {
  width: 14px;
  height: 14px;
  top: -6px;
  margin: 0;
  background-color: var(--color-primary);
  border: 0;
  border-radius: 100%;
  box-shadow: none;
}

.filtered-sidebar .torque-category-filter-choice {
  flex: 1;
  color: var(--color-text);
  font-size: 0.8125rem;
}

.filtered-sidebar .torque-category-filter-choice input[type="checkbox"] {
  display: none;
}

.filtered-sidebar .torque-category-filter-choice input[type="checkbox"]:checked + label {
  color: var(--color-primary-text);
  font-weight: 500;
}

.filtered-sidebar .torque-category-filter-choice input[type="checkbox"]:checked + label span {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.filtered-sidebar .torque-category-filter-choice input[type="checkbox"]:checked + label span::before {
  opacity: 1;
}

.filtered-sidebar .torque-category-filter-choice label {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  margin-bottom: 0;
  font-size: 0.875rem;
  cursor: pointer;
}

.filtered-sidebar .torque-category-filter-choice label span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.125rem;
  width: 100%;
  max-width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.9375rem;
  top: -1px;
  border: 1px solid var(--color-form-border);
  border-radius: var(--theme-theme-radius-xsmall);
  box-shadow: 0 1px 2px 0 rgba(33, 37, 41, 0.05);
}

.filtered-sidebar .torque-category-filter-choice label span::before {
  position: relative;
  left: 0.5px;
  content: "✔";
  font-size: 0.75rem;
  line-height: 1;
  text-shadow: 0 0 0;
  opacity: 0;
}

.shoper-pagination {
  margin-top: 3rem;
  clear: both;
}

.shoper-pagination ul.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shoper-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.shoper-pagination ul.page-numbers li > .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: var(--color-text-primary);
  background-color: var(--color-info-light);
  border: 0;
  border-radius: 6px;
  box-shadow: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}

.shoper-pagination ul.page-numbers li > .page-numbers.current {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
}

.shoper-pagination ul.page-numbers li > .page-numbers.prev,
.shoper-pagination ul.page-numbers li > .page-numbers.next {
  color: var(--color-text-primary);
  background-color: transparent;
  font-size: 18px;
}

.shoper-pagination ul.page-numbers li > .page-numbers.prev {
  margin-right: 10px;
}

.shoper-pagination ul.page-numbers li > .page-numbers.next {
  margin-left: 10px;
}

.shoper-pagination ul.page-numbers li > .page-numbers:not(.current):hover,
.shoper-pagination ul.page-numbers li > .page-numbers:not(.current):focus-visible {
  color: var(--color-text-primary);
  background-color: var(--color-info);
  border: 0;
  box-shadow: none;
}

.shoper-pagination ul.page-numbers li > .page-numbers.prev:hover,
.shoper-pagination ul.page-numbers li > .page-numbers.prev:focus-visible,
.shoper-pagination ul.page-numbers li > .page-numbers.next:hover,
.shoper-pagination ul.page-numbers li > .page-numbers.next:focus-visible {
  background-color: transparent;
}

.filtered-sidebar .shoper-widget-brand-nav .shoper-widget-checkbox-list ul li a::before,
.filtered-sidebar .shoper-widget-brand-nav .shoper-widget-checkbox-list ul li a::after {
  display: none;
  content: none;
}

.shoper-single-product-wrapper .product-gallery img {
  max-width: 100%;
}

.shoper-single-product-wrapper .shoper-product-gallery__image {
  display: none;
}

.shoper-single-product-wrapper .shoper-product-gallery__image.is-active {
  display: block;
}

.shoper-single-product-wrapper .shoper-flexslider-thumbnail.horizontal {
  width: 100%;
  height: auto;
  margin-top: 0.625rem;
}

.shoper-single-product-wrapper .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.shoper-single-product-wrapper .flex-control-thumbs li {
  min-width: 0;
  margin: 0;
}

.shoper-single-product-wrapper .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-theme-radius-base);
  cursor: pointer;
}

.shoper-single-product-wrapper .flex-control-thumbs img.flex-active {
  border-color: var(--color-text-primary);
}

@media (min-width: 600px) and (max-width: 899.98px) {
  .shoper-single-product-wrapper .flex-control-thumbs {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.shoper-single-product-wrapper .product-detail .shoper-product-details__short-description {
  color: var(--color-text-description);
  margin: 0 0 1.25rem;
}

.shoper-single-product-wrapper .product-detail .summary > .torque-omnibus-reference {
  margin: -0.5rem 0 1.125rem;
  font-size: 0.875rem;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-contact {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-avatar {
  border-radius: var(--theme-theme-radius-base);
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a {
  margin-left: 0;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone {
  font-size: inherit;
  font-weight: inherit;
  color: var(--color-text-primary);
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone:hover,
.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone:focus-visible {
  color: var(--color-primary-text);
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-secondary);
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat:hover,
.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat:focus-visible {
  color: var(--color-primary-text);
}

.shoper-single-product-wrapper .product-detail .product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-bottom: 1.25rem;
}

.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes {
  width: 100%;
  border-collapse: collapse;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
}

.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes th,
.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes td {
  padding: 0.75rem 1rem;
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-info);
  vertical-align: middle;
}

.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes tr:last-child th,
.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes tr:last-child td {
  border-bottom: 0;
}

.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes th {
  width: 35%;
  font-weight: 600;
}

.shoper-single-product-wrapper .shoper-tabs .shoper-product-attributes p {
  margin: 0;
}

.shoper-single-product-wrapper .shoper-people-added {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  width: 100%;
  padding: 0.75rem 0.9375rem;
  margin-bottom: 0.9375rem;
  color: #f36507 !important;
  background-color: #fff1e6 !important;
  border-radius: calc(var(--theme-theme-radius-base) / 2);
  line-height: 1;
}

.shoper-single-product-wrapper .shoper-people-added i {
  font-size: 1.125rem;
}

.shoper-single-product-wrapper .shoper-people-added i.shoper-icon-shopping-bag::before {
  display: inline-block;
  font-family: "shoper-icons";
  font-style: normal;
  font-weight: normal;
  content: "\ea29";
}

.shoper-single-product-wrapper .shoper-people-added p {
  margin-bottom: 0;
  font-size: 0.8125rem;
}

.shoper-single-product-wrapper .shoper-people-added strong {
  margin-right: 5px;
}

.shoper-product-nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
}

.shoper-product-nav-wrapper .shoper-breadcrumb {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.shoper-products-nav {
  display: flex;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
}

.shoper-products-nav .shoper-back-btn,
.shoper-products-nav .product-btn > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 20px;
  color: var(--color-text-primary);
  text-decoration: none;
}

.shoper-products-nav .shoper-back-btn::after {
  font-size: 20px;
  content: "\f10e";
  font-family: "shoper-icons";
}

.shoper-products-nav .product-next > a span::before {
  content: "\e870";
  font-family: "shoper-icons";
}

.shoper-products-nav .product-prev > a span::before {
  content: "\e86f";
  font-family: "shoper-icons";
}

.shoper-products-nav .product-btn:hover > .wrapper-short,
.shoper-products-nav .product-btn:focus-within > .wrapper-short {
  visibility: visible;
  opacity: 1;
}

.shoper-products-nav .wrapper-short {
  position: absolute;
  top: 80%;
  right: 0;
  z-index: 350;
  visibility: hidden;
  min-width: 240px;
  opacity: 0;
}

.shoper-products-nav .product-short {
  display: flex;
  align-items: center;
  flex-direction: row;
  background-color: #fff;
  box-shadow: 0 0 3px rgb(0 0 0 / 15%);
}

.shoper-products-nav .product-short-description {
  padding: 10px 15px;
  margin-bottom: 0 !important;
}

.shoper-products-nav h3.product-title {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: .25rem;
}

.shoper-products-nav .product-short-description h3.product-title a {
  display: flex;
  display: -webkit-box;
  color: var(--color-text-primary);
  text-decoration: none;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all .2s cubic-bezier(.28, .12, .22, 1);
}

.shoper-products-nav .product-short-description h3.product-title a:hover,
.shoper-products-nav .product-short-description h3.product-title a:focus-visible {
  color: var(--color-primary-text);
}

.shoper-products-nav .product-short-description .price {
  display: block;
  font-size: 14px;
  line-height: 1.2;
  margin-bottom: 0 !important;
}

.shoper-products-nav .product-short-image img {
  max-width: 90px;
  height: auto;
}

@media (max-width: 575.98px) {
  .shoper-product-nav-wrapper {
    align-items: flex-start;
  }

  .shoper-products-nav .wrapper-short {
    right: 0;
    min-width: min(240px, calc(100vw - 2rem));
  }
}

/* Core floating preset: the same raised-center model used by the other
   supported storefront preset, with Torque actions and icon language. */
@media screen and (max-width: 991.98px) {
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating {
    right: 18px !important;
    bottom: 18px !important;
    left: 18px !important;
    width: auto !important;
    padding: 0 8px !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18) !important;
    overflow: visible !important;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .mobile-menu {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-row {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    height: 68px;
    margin: 0;
    padding: 0 12px;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-row > .shoper-menu-item {
    min-width: 0;
    max-width: none;
    padding: 0;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-slot-1 { grid-column: 1; }
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-slot-2 { grid-column: 2; }
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-slot-3 { grid-column: 3; }
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-slot-4 { grid-column: 4; }
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-slot-5 { grid-column: 5; }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-item-btn {
    display: flex;
    width: 100%;
    height: 68px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 12px 8px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #6b7280 !important;
    font-size: 12px;
    text-decoration: none;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-item-btn:hover,
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-item-btn:focus-visible {
    color: #111 !important;
    outline: 0;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-item-btn i {
    font-size: 1.375rem;
    line-height: 1;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-center {
    position: absolute;
    top: 9px;
    left: 50%;
    z-index: 2;
    width: 50px !important;
    height: 50px;
    padding: 0;
    transform: translateX(-50%);
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-center .tp-mobile-item-btn {
    width: 50px;
    height: 50px;
    padding: 0;
    border: 2px solid #d9d9d9 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .20);
    color: #111 !important;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-center .tp-mobile-item-btn span {
    display: none;
  }

  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-center .tp-mobile-item-btn:hover,
  .mobile-bottom-menu.shoper-mobile-bottom-menu--floating .tp-mobile-bottom-center .tp-mobile-item-btn:focus-visible {
    background: #fff !important;
    color: #111 !important;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .torque-order-tracking .ara-order-icon-specs {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .torque-order-tracking .ara-order-icon-specs-row:nth-last-child(-n + 2) {
    border-bottom: 1px solid #eef0f2;
  }

  .torque-order-tracking .ara-order-icon-specs-row:last-child {
    border-bottom: 0;
  }

  .torque-order-tracking .bb-order-product-card-content {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }

  .torque-order-tracking .bb-order-product-card-image {
    width: 80px;
  }

  .torque-order-tracking .bb-order-product-card-details {
    display: block;
    min-width: 0;
  }

  .torque-order-tracking .bb-order-product-card-info,
  .torque-order-tracking .bb-order-product-card-pricing {
    width: 100%;
  }
}

.shoper-single-product-wrapper .product-detail form.quote-form {
  display: block;
}

.shoper-single-product-wrapper .product-detail form.quote-form .shoper-single-add-to-cart-button {
  width: 100%;
  height: 3.125rem;
  background-color: var(--erp-primary) !important;
  border-color: var(--erp-primary) !important;
}

.shoper-single-product-wrapper .product-detail form.quote-form .shoper-single-add-to-cart-button:hover,
.shoper-single-product-wrapper .product-detail form.quote-form .shoper-single-add-to-cart-button:focus-visible {
  background-color: var(--erp-primary-hover) !important;
  border-color: var(--erp-primary-hover) !important;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity {
  margin: 0;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity .quantity-button,
.shoper-product-bottom-popup-cart .quantity .quantity-button {
  box-sizing: border-box;
  width: 2rem;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  color: var(--color-text-primary);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
  appearance: none;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity .quantity-button:hover,
.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity .quantity-button:focus-visible,
.shoper-product-bottom-popup-cart .quantity .quantity-button:hover,
.shoper-product-bottom-popup-cart .quantity .quantity-button:focus-visible {
  color: var(--color-primary-text);
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity .qty,
.shoper-product-bottom-popup-cart .quantity .qty {
  appearance: textfield;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity .qty::-webkit-outer-spin-button,
.shoper-single-product-wrapper .product-detail .shoper-purchase-form .quantity .qty::-webkit-inner-spin-button,
.shoper-product-bottom-popup-cart .quantity .qty::-webkit-outer-spin-button,
.shoper-product-bottom-popup-cart .quantity .qty::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .shoper-single-add-to-cart-button {
  display: inline-flex !important;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  width: 10.5rem;
  min-width: 10.5rem;
  height: 2.75rem;
  min-height: 2.75rem;
  padding-right: 1.75rem !important;
  padding-left: 1.75rem !important;
  color: #fff !important;
  background-color: var(--color-success) !important;
  border-color: var(--color-success) !important;
  border-radius: var(--theme-theme-radius-base) !important;
  box-shadow: none !important;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.1;
}

.shoper-single-product-wrapper .product-detail .shoper-purchase-form .shoper-single-add-to-cart-button:hover,
.shoper-single-product-wrapper .product-detail .shoper-purchase-form .shoper-single-add-to-cart-button:focus-visible {
  color: #fff !important;
  background-color: var(--color-success-dark) !important;
  border-color: var(--color-success-dark) !important;
}

@media (max-width: 575.98px) {
  .shoper-single-product-wrapper .product-detail .shoper-purchase-form {
    gap: 0.75rem;
  }

  .shoper-single-product-wrapper .product-detail .shoper-purchase-form .shoper-single-add-to-cart-button {
    height: 3rem;
    min-height: 3rem;
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
}

.shoper-single-product-wrapper .product-detail .product-iconboxes .iconbox {
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  width: 100%;
}

.shoper-single-product-wrapper .product-detail .product-iconboxes .iconbox .icon {
  flex: 0 0 2.5rem;
}

.shoper-single-product-wrapper .product-detail .product-iconboxes .iconbox .detail {
  flex: 1 1 auto;
  min-width: 0;
}

/* PDP layout: two independent columns, the gallery then the description on the left and the buying
   details then reviews and specifications on the right; each keeps its natural height, so a short
   gallery leaves no gap. The base wrapper is already a flex row from 992px. */
.shoper-single-product .torque-pdp-layout__primary,
.shoper-single-product .torque-pdp-layout__secondary {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  min-width: 0;
}

.shoper-single-product .torque-pdp-content-main,
.shoper-single-product .torque-pdp-content-aside {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  min-height: 0;
}

.shoper-single-product .torque-pdp-content-after {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 2.5rem 0;
}

@media (min-width: 992px) {
  .shoper-single-product .torque-pdp-layout {
    flex-wrap: nowrap;
    column-gap: 1.875rem;
  }

  /* Same split as the former gallery/detail row: the buying column starts where it did; the gallery
     and the cards under it share the left column's full width. */
  .shoper-single-product .torque-pdp-layout__primary {
    flex: 0 0 auto;
    width: calc(58.3333% - 3.75rem);
  }

  .shoper-single-product .torque-pdp-layout__secondary {
    flex: 1 1 0;
  }

  .shoper-single-product .torque-pdp-layout .product-gallery {
    padding-right: 0;
  }

  .shoper-single-product .torque-pdp-layout .product-detail {
    flex: 0 0 auto;
    margin-left: 0;
  }
}

.shoper-single-product .torque-pdp-content-card {
  min-width: 0;
  max-width: 100%;
  padding: 1.875rem;
  background-color: #fff;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
  box-shadow: 0 1px 2px rgba(33, 37, 41, 0.04);
}

.shoper-single-product .torque-pdp-content-card--reviews {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  scrollbar-width: none;
}

.shoper-single-product .torque-pdp-content-card--reviews::-webkit-scrollbar {
  display: none;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-container {
  gap: 1rem !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-form-column:not(.is-compose-active) {
  display: none !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-form-column.is-compose-active {
  display: block;
}

@media (min-width: 992px) {
  .shoper-single-product .torque-pdp-content-card--reviews .review-form-column.is-compose-active textarea[name="comment"] {
    min-height: 216px;
  }
}

.shoper-single-product .torque-pdp-content-card--reviews .review-form-column:not(.is-compose-active) > h4,
.shoper-single-product .torque-pdp-content-card--reviews .review-form-column:not(.is-compose-active) > p,
.shoper-single-product .torque-pdp-content-card--reviews .review-form-column:not(.is-compose-active) > form,
.shoper-single-product .torque-pdp-content-card--reviews .review-form-column > .review-summary-panel,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container.is-compose-active .review-summary-panel,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container.is-compose-active .review-list-container,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container.is-compose-active .review-compose-toggle,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container.is-compose-active .review-compose-helper {
  display: none !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-list {
  max-height: 27rem;
  padding-top: 20px;
  overflow-y: auto;
  overflow-x: hidden;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-list-container {
  width: calc(100% + 60px);
  margin-left: -30px;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-list {
  padding-right: 30px;
  padding-left: 30px;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-compose-toggle {
  align-self: flex-start;
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 14px;
  line-height: 21px;
  color: var(--color-text-primary);
  background-color: var(--color-info-light);
  border: 0;
  border-radius: var(--theme-form-radius);
}

.shoper-single-product .torque-pdp-content-card--reviews .review-compose-action {
  display: flex;
  align-items: center;
  align-self: flex-start;
  gap: 1rem;
  max-width: 100%;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-compose-helper {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 14px;
  line-height: 21px;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-compose-helper span {
  display: block;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-form-actions button {
  margin: 0;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-form-actions button[type="submit"]:disabled {
  color: var(--color-text-primary);
  background-color: var(--color-info);
  border-color: var(--color-info);
  opacity: 1;
  cursor: not-allowed;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-edit-btn {
  color: var(--color-text-secondary);
  background: transparent;
  border: 0;
}

@media (max-width: 575.98px) {
  .shoper-single-product .torque-pdp-content-card--reviews .review-compose-action {
    align-items: flex-start;
    flex-wrap: wrap;
    row-gap: 0.75rem;
  }

  .shoper-single-product .torque-pdp-content-card--reviews .review-compose-helper {
    flex: 1 1 100%;
    width: 100%;
  }
}

.shoper-single-product .torque-pdp-content-card--reviews .review-compose-toggle:hover,
.shoper-single-product .torque-pdp-content-card--reviews .review-compose-toggle:focus-visible,
.shoper-single-product .torque-pdp-content-card--reviews .review-compose-toggle:active {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
}

.shoper-single-product .torque-pdp-content-card--reviews .review-list-container > h4,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-controls,
.shoper-single-product .torque-pdp-content-card--reviews .review-search-container,
.shoper-single-product .torque-pdp-content-card--reviews .review-filter-container,
.shoper-single-product .torque-pdp-content-card--reviews .review-sort-container {
  display: none !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-list .review-item img.rounded-circle {
  width: 60px;
  height: 60px;
  border-radius: 0.5rem !important;
  object-fit: cover;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-item__media {
  width: 60px;
  padding: 0;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-item__media .review-item__rating {
  width: 60px;
  margin-top: 0.5rem;
  margin-bottom: 0 !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-item__media .bb-product-rating {
  --bb-rating-size: 60px !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .review-item__body {
  font-size: 14px;
  line-height: 1.45;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-number {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  column-gap: 1.25rem;
  border: 0;
  border-bottom: 1px solid var(--color-info);
  border-radius: 0;
  margin-top: 0 !important;
  padding: 0 1.5rem 0.5rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-number-title {
  grid-column: 1;
  margin-bottom: 0.625rem;
  font-size: 1rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-summary {
  grid-column: 1;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-summary-rating {
  align-items: flex-start;
  flex-direction: column;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-summary-rating p {
  margin-inline-start: 0;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-summary-value span {
  font-size: 3rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-progress {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 0;
  gap: 0.125rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-progress-bar {
  min-height: 1.5rem;
  padding: 0 !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-progress-bar-title {
  width: 3.5rem;
  min-width: 3.5rem;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-progress-bar-value {
  flex: 1 1 auto;
  width: auto;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-progress-bar-percent {
  width: 2.5rem;
  text-align: right;
}

@media (max-width: 575.98px) {
  .shoper-single-product .torque-pdp-content-card--reviews .product-review-number {
    grid-template-columns: 1fr;
    padding: 1rem 1.125rem 0.5rem;
  }

  .shoper-single-product .torque-pdp-content-card--reviews .product-review-number-title {
    margin-bottom: 0.375rem;
    font-size: 0.9375rem;
  }

  .shoper-single-product .torque-pdp-content-card--reviews .product-review-summary-value span {
    font-size: 2.25rem;
  }

  .shoper-single-product .torque-pdp-content-card--reviews .product-review-progress-bar {
    min-height: 1.5rem;
  }

  .shoper-single-product .torque-pdp-content-card--reviews .product-review-progress {
    grid-column: 1;
    grid-row: auto;
    grid-template-columns: 1fr;
  }
}

.shoper-single-product .torque-pdp-content-card--description {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.shoper-single-product .torque-pdp-content-card--description .ck-content {
  min-height: 0;
}

.shoper-single-product .torque-pdp-content-card--description .ck-content,
.shoper-single-product .torque-pdp-content-card--description .ck-content p,
.shoper-single-product .torque-pdp-content-card--description .ck-content li {
  font-size: 14px;
  line-height: 21px;
}

.shoper-single-product .torque-pdp-content-card > .shoper-entry-title {
  margin: 0 0 1.25rem;
  color: var(--color-text-primary);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.shoper-single-product .torque-pdp-content-card .ck-content > :last-child,
.shoper-single-product .torque-pdp-content-card .commentlist,
.shoper-single-product .torque-pdp-content-card .comment-form {
  margin-bottom: 0;
}

.shoper-single-product .torque-pdp-content-card--fitment {
  flex: 0 0 auto;
  padding: 0;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes {
  margin: 0;
  width: 100%;
  padding: 0;
  overflow: hidden;
  max-height: 25.5rem;
  overflow-y: auto;
  border: 1px solid var(--color-info);
  border-radius: 0.625rem;
  border-collapse: separate;
  border-spacing: 0;
  background-color: var(--color-white);
  box-shadow: 0 1px 2px rgba(33, 37, 41, 0.04);
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes th,
.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes td {
  font-size: 14px;
  line-height: 21px;
}

.shoper-single-product .torque-pdp-content-card--specification .torque-pdp-specification-table {
  display: block;
}

.shoper-single-product .torque-pdp-content-card--specification .torque-pdp-specification-table tbody {
  display: table;
  width: 100%;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes th,
.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes td {
  padding: 0.75rem 1rem;
  color: var(--color-text-primary);
  border: 0;
  border-bottom: 1px solid var(--color-info);
  vertical-align: middle;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes td {
  border-left: 1px solid var(--color-info);
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:first-child th:first-child {
  border-top-left-radius: 0.5625rem;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:first-child td:last-child {
  border-top-right-radius: 0.5625rem;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:nth-child(even) th,
.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:nth-child(even) td {
  background-color: var(--color-info);
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:last-child th,
.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:last-child td {
  border-bottom: 0;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:last-child th:first-child {
  border-bottom-left-radius: 0.5625rem;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes tr:last-child td:last-child {
  border-bottom-right-radius: 0.5625rem;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes th {
  width: 35%;
  font-weight: 600;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes p {
  margin: 0;
}

.shoper-single-product .torque-pdp-service-list {
  margin: 0;
  padding-left: 1.25rem;
}

.shoper-single-product .torque-pdp-service-list li + li {
  margin-top: 0.5rem;
}

.shoper-single-product .torque-pdp-delivery-return-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 2.5rem;
}

.shoper-single-product .torque-pdp-delivery-return-group {
  min-width: 0;
}

.shoper-single-product .torque-pdp-delivery-return-group h3 {
  margin: 0 0 0.75rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 700;
}

.shoper-single-product .torque-pdp-content-card--delivery-return .torque-pdp-service-list,
.shoper-single-product .torque-pdp-content-card--delivery-return .torque-pdp-service-list li {
  font-size: 14px;
  line-height: 21px;
}

.shoper-single-product .torque-pdp-content-card--fitment .product-extra-details {
  width: 100%;
  border: 0;
  border-radius: inherit;
  box-shadow: none;
}

@media (max-width: 991.98px) {
  .shoper-single-product .torque-pdp-content-card--description .ck-content {
    max-height: none;
    overflow: visible;
  }

  .shoper-single-product .torque-pdp-delivery-return-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

}

.shoper-single-product-wrapper .product-detail form.quote-form .shoper-quote-button {
  color: var(--color-primary-text) !important;
  background-color: #fff !important;
  border: 1px solid rgba(237, 23, 54, 0.24) !important;
}

.shoper-single-product-wrapper .product-detail form.quote-form .shoper-quote-button:hover,
.shoper-single-product-wrapper .product-detail form.quote-form .shoper-quote-button:focus-visible {
  color: var(--color-on-primary, #fff) !important;
  background-color: var(--erp-primary-hover) !important;
  border-color: var(--erp-primary-hover) !important;
}

.shoper-product-bottom-popup-cart[data-erp-sticky-single-cart] {
  position: fixed;
  bottom: 0;
  z-index: 102;
  width: 100%;
  max-width: 100%;
  padding: 10px 0;
  background: #fff;
  box-shadow: -2px 2px 45px -20px rgb(0 0 0 / 30%);
  opacity: 0;
  transform: translateY(100%);
  will-change: transform;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.shoper-product-bottom-popup-cart[data-erp-sticky-single-cart].active {
  opacity: 1;
  transform: translateY(0);
}

.torque-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 20rem;
  padding: 2rem;
  text-align: center;
  background: #f7f8fa;
  border: 1px solid #e3e7ec;
  border-radius: 8px;
}

.torque-empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: var(--color-text-primary);
  background: #fff;
  border: 1px solid #dce1e7;
  border-radius: 8px;
}

.torque-empty-state__icon i {
  font-size: 1.5rem;
}

.torque-empty-state__title {
  margin: 0.75rem 0 0;
  color: var(--color-text-primary);
  font-size: 1.25rem;
  font-weight: 600;
}

.torque-empty-state__description {
  max-width: 30rem;
  margin: 0.35rem 0 0;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
}

.shoper-blog-single .shoper-post-comments,
.shoper-single-post .shoper-post-comments {
  margin-top: var(--torque-section-gap);
  padding-top: 2rem;
  border-top: 1px solid var(--color-info);
}

.shoper-blog-single .shoper-post-comments .blog-comments,
.shoper-single-post .shoper-post-comments .blog-comments {
  display: grid;
  gap: 1.5rem;
}

.shoper-blog-single .shoper-post-comments .blog-comments__title,
.shoper-blog-single .shoper-post-comments .blog-comments__form-title,
.shoper-single-post .shoper-post-comments .blog-comments__title,
.shoper-single-post .shoper-post-comments .blog-comments__form-title {
  margin: 0;
  color: var(--color-text-primary);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

.shoper-blog-single .shoper-post-comments .blog-comments__empty,
.shoper-blog-single .shoper-post-comments .blog-comments__moderation-note,
.shoper-single-post .shoper-post-comments .blog-comments__empty,
.shoper-single-post .shoper-post-comments .blog-comments__moderation-note {
  color: var(--color-text-description);
  font-size: 0.875rem;
  line-height: 1.55;
}

.shoper-blog-single .shoper-post-comments .blog-comments__list,
.shoper-single-post .shoper-post-comments .blog-comments__list {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
}

.shoper-blog-single .shoper-post-comments .blog-comments__item,
.shoper-single-post .shoper-post-comments .blog-comments__item {
  padding: 1.25rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
  background: #fff;
}

.shoper-blog-single .shoper-post-comments .blog-comments__meta,
.shoper-single-post .shoper-post-comments .blog-comments__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.75rem;
  align-items: center;
  margin-bottom: 0.625rem;
}

.shoper-blog-single .shoper-post-comments .blog-comments__author,
.shoper-single-post .shoper-post-comments .blog-comments__author {
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 700;
}

.shoper-blog-single .shoper-post-comments .blog-comments__date,
.shoper-single-post .shoper-post-comments .blog-comments__date {
  color: var(--color-text-light);
  font-size: 0.8125rem;
  font-weight: 500;
}

.shoper-blog-single .shoper-post-comments .blog-comments__body,
.shoper-single-post .shoper-post-comments .blog-comments__body {
  color: var(--color-text-description);
  font-size: 0.875rem;
  line-height: 1.6;
}

.shoper-blog-single .shoper-post-comments .blog-comments__replies,
.shoper-single-post .shoper-post-comments .blog-comments__replies {
  display: grid;
  gap: 0.875rem;
  margin: 1rem 0 0;
  padding: 0 0 0 1.25rem;
  border-left: 2px solid var(--color-info);
}

.shoper-blog-single .shoper-post-comments .blog-comments__item--reply,
.shoper-single-post .shoper-post-comments .blog-comments__item--reply {
  padding: 1rem;
  background: var(--color-info-light);
}

.shoper-blog-single .shoper-post-comments .blog-comments__form-wrapper,
.shoper-single-post .shoper-post-comments .blog-comments__form-wrapper {
  padding: 1.5rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
  background: #fff;
}

.shoper-blog-single .shoper-post-comments .blog-comments__form-title,
.shoper-single-post .shoper-post-comments .blog-comments__form-title {
  margin-bottom: 1rem;
}

.shoper-blog-single .shoper-post-comments .blog-comments__form .form-label,
.shoper-single-post .shoper-post-comments .blog-comments__form .form-label {
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
}

.shoper-blog-single .shoper-post-comments .blog-comments__form .form-control,
.shoper-single-post .shoper-post-comments .blog-comments__form .form-control {
  min-height: 2.875rem;
  border-color: var(--color-info-dark);
  border-radius: var(--theme-form-radius);
  color: var(--color-text-primary);
  font-size: 0.875rem;
}

.shoper-blog-single .shoper-post-comments .blog-comments__form textarea.form-control,
.shoper-single-post .shoper-post-comments .blog-comments__form textarea.form-control {
  min-height: 8rem;
}

.shoper-blog-single .shoper-post-comments .blog-comments__form .form-control:focus,
.shoper-single-post .shoper-post-comments .blog-comments__form .form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.shoper-blog-single .shoper-post-comments .blog-comments__submit,
.shoper-single-post .shoper-post-comments .blog-comments__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.875rem;
  padding: 0 1.75rem;
  border: 0;
  border-radius: var(--theme-form-radius);
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 700;
}

.shoper-blog-single .shoper-post-comments .blog-comments__submit:hover,
.shoper-blog-single .shoper-post-comments .blog-comments__submit:focus-visible,
.shoper-single-post .shoper-post-comments .blog-comments__submit:hover,
.shoper-single-post .shoper-post-comments .blog-comments__submit:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary-dark);
}

@media (max-width: 767.98px) {
  .shoper-blog-single .shoper-post-comments,
  .shoper-single-post .shoper-post-comments {
    padding-top: 1.5rem;
  }

  .shoper-blog-single .shoper-post-comments .blog-comments__item,
  .shoper-blog-single .shoper-post-comments .blog-comments__form-wrapper,
  .shoper-single-post .shoper-post-comments .blog-comments__item,
  .shoper-single-post .shoper-post-comments .blog-comments__form-wrapper {
    padding: 1rem;
  }
}

.shoper-single-sticky-titles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--color-info);
  box-shadow: 0 2px 11px rgb(0 0 0 / 7%);
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 0.25s ease, transform 0.25s ease;
  will-change: transform;
}

.shoper-single-sticky-titles.active {
  z-index: 99;
  opacity: 1;
  transform: translateY(0);
}

body.show-admin-bar .shoper-single-sticky-titles {
  top: 40px;
}

/* BUG #13 (owner): with the Botble admin bar visible (logged-in admins only),
   the fixed off-canvas drawer started at top:0 and overlapped the 40px admin
   bar, so its close button sat on top of the "Adaugă nou" admin-bar control and
   clicking close also triggered that control. Offset the drawer below the admin
   bar so the close button never overlaps admin-bar links. Real visitors have no
   admin bar, so this is a no-op for them. */
body.show-admin-bar .shoper-site-drawer {
  top: 40px;
  height: calc(100% - 40px);
}

.shoper-single-sticky-titles .container {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.shoper-single-sticky-titles .container::-webkit-scrollbar {
  display: none;
}

.shoper-single-sticky-titles a {
  position: relative;
  flex: 0 0 auto;
  height: 2.5rem;
  padding-right: 1.125rem;
  padding-left: 1.125rem;
  border-radius: 2.5rem;
  color: #212529;
  font-size: 15px;
  font-weight: 600;
  line-height: 2.5rem;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.15s cubic-bezier(0.28, 0.12, 0.22, 1);
}

.shoper-single-sticky-titles a:first-child {
  padding-left: 0;
}

.shoper-single-sticky-titles a:hover,
.shoper-single-sticky-titles a:focus {
  color: var(--color-primary-text);
}

.shoper-single-product .shoper-product-bottom-popup-cart .row,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart .row {
  align-items: center;
}

.shoper-single-product .shoper-product-bottom-popup-cart .shoper-product-bottom-details,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart .shoper-product-bottom-details {
  display: flex;
  align-items: center;
  height: 100%;
}

.shoper-single-product .shoper-product-bottom-popup-cart .shoper-product-bottom-details img,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart .shoper-product-bottom-details img {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  margin-right: 20px;
  object-fit: contain;
}

.shoper-product-bottom-popup-cart .shoper-product-bottom-title h1 {
  margin-bottom: 0;
  color: var(--color-text-primary);
  font-size: 1rem;
  line-height: 1.25;
}

.shoper-single-product .shoper-product-bottom-popup-cart span.price,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart span.price {
  display: block;
  margin-top: 0.25rem;
  margin-bottom: 0;
}

.shoper-single-product .shoper-product-bottom-popup-cart .product-bottom-action,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart .product-bottom-action {
  text-align: end;
}

.shoper-single-product .shoper-product-bottom-popup-cart form,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  margin: 0;
  gap: 0.625rem;
}

.shoper-single-product .shoper-product-bottom-popup-cart p.stock,
.shoper-single-product .shoper-product-bottom-popup-cart .product-low-stock,
.shoper-single-product .shoper-product-bottom-popup-cart .product-stock.stock.in-stock,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart p.stock,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart .product-low-stock,
.shoper-single-product-wrapper .shoper-product-bottom-popup-cart .product-stock.stock.in-stock {
  display: none;
}

.shoper-product-bottom-popup-cart .shoper-single-add-to-cart-button {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 3.125rem;
  min-height: 3.125rem;
  margin-right: 7px;
  color: #fff;
  background-color: var(--color-success);
  border: 1px solid var(--color-success);
  font-size: 0.9375rem;
  font-weight: 600;
}

.shoper-product-bottom-popup-cart .shoper-single-add-to-cart-button:hover,
.shoper-product-bottom-popup-cart .shoper-single-add-to-cart-button:focus-visible {
  color: #fff;
  background-color: var(--color-success-dark);
  border-color: var(--color-success-dark);
}

@media (max-width: 64rem) {
  .shoper-single-sticky-titles {
    display: none;
  }
}

.product-extra-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-top: 1rem;
}

.product-extra-buttons a {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 500;
}

.shoper-tabs .tabs button {
  cursor: pointer;
}

.shoper-Tabs-panel {
  display: none;
}

.shoper-Tabs-panel.is-active {
  display: block;
}

.shoper-site-footer > .footer-row > .container {
  width: 100%;
  max-width: var(--theme-container);
}

.mobile-bottom-menu {
  background: transparent;
  border-top: 0;
}

.mobile-bottom-menu .mobile-menu {
  padding: 0.25rem;
  background: var(--color-body);
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-theme-radius-small);
  box-shadow: 0 0.5rem 1.5rem rgba(33, 37, 41, 0.12);
}

.mobile-bottom-menu ul li a {
  min-height: 3.25rem;
  padding: 0.3125rem 0.125rem;
  border-radius: calc(var(--theme-theme-radius-small) - 0.125rem);
  transition: color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.mobile-bottom-menu ul li.active > a,
html.erp-site-drawer-open .mobile-bottom-menu a.categories,
body.search-active .mobile-bottom-menu a.search-button {
  color: var(--color-primary-text);
  background-color: var(--color-primary-lighter);
  transform: translateY(-0.0625rem);
}

.mobile-bottom-menu ul li.active > a i,
html.erp-site-drawer-open .mobile-bottom-menu a.categories i,
body.search-active .mobile-bottom-menu a.search-button i {
  color: currentColor;
}

@media screen and (max-width: 767.98px) {
  .shoper-mobile-bottom-menu--classic {
    padding-right: 0;
    padding-left: 0;
  }

  .shoper-mobile-bottom-menu--classic .mobile-menu {
    max-width: none;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .mobile-bottom-menu {
    right: 0;
    display: flex;
    justify-content: center;
    padding-right: max(1rem, env(safe-area-inset-right));
    padding-left: max(1rem, env(safe-area-inset-left));
  }

  .mobile-bottom-menu .mobile-menu {
    width: 100%;
    max-width: 26rem;
  }

  .mobile-bottom-menu ul {
    justify-content: center;
    gap: 0;
  }

  .mobile-bottom-menu ul li {
    flex: 1 1 20%;
    max-width: 5rem;
    text-align: center;
  }

  .mobile-bottom-menu ul li a {
    justify-content: center;
    width: 100%;
  }

  [data-erp-latest-blog-carousel] {
    margin-right: 0;
    margin-left: 0;
  }

  [data-erp-latest-blog-carousel] .torque-latest-blog-slide {
    padding-right: 0;
    padding-left: 0;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widgets-column .row {
    display: flex;
    flex-wrap: wrap;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .shoper-widget-title,
  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .company-phone,
  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .company-works,
  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .company-mail {
    align-self: stretch;
    width: 100%;
    text-align: left;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .company-works p {
    margin-right: 0;
    margin-left: 0;
    text-align: inherit;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-menu-card {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-menu-card .widget {
    margin-bottom: 1.5rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-menu-card .shoper-widget-title {
    font-size: 0.875rem;
    line-height: 1.25;
  }

  .shoper-site-footer .footer-copyright .mobile-app-content {
    justify-content: center;
    width: 100%;
    text-align: center;
  }

  .shoper-site-footer .footer-copyright .mobile-app-content span,
  .shoper-site-footer .footer-copyright .mobile-app-content .buttons {
    flex: 0 0 100%;
    width: 100%;
  }

  .shoper-site-footer .footer-copyright .mobile-app-content .buttons {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
  }
}

@media screen and (max-width: 767.98px) {
  .shoper-mobile-bottom-menu--classic {
    padding-right: 0;
    padding-left: 0;
  }

  .shoper-mobile-bottom-menu--classic .mobile-menu {
    max-width: none;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .shoper-site-footer .shoper-newsletter {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    column-gap: 1.5rem;
    row-gap: 0.375rem;
    align-items: start;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .shoper-site-footer .shoper-newsletter > .column,
  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text,
  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body {
    display: contents;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-icon {
    display: none;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body .shoper-entry-subtitle,
  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body .shoper-entry-title {
    grid-column: 1;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body .shoper-entry-subtitle {
    grid-row: 1;
    margin-bottom: 0.25rem;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body .shoper-entry-title {
    grid-row: 2;
    max-width: none;
    margin-bottom: 0;
    font-size: 1.375rem;
    line-height: 1.2;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body .shoper-entry-description {
    grid-column: 1;
    grid-row: 3;
    align-self: center;
    max-width: none;
    margin-top: 0.25rem;
    margin-bottom: 0;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-text .text-body .shoper-entry-description p {
    margin-bottom: 0;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-form {
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
    width: 100%;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-form form {
    max-width: none;
  }

  .shoper-site-footer .shoper-newsletter .shoper-newsletter-form .privacy-policy {
    margin-top: 0.375rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar {
    align-items: flex-start;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widgets-column .row {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-right: 0;
    margin-left: 0;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar > .widgets-column {
    width: 100%;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widgets-column .row > .col {
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-menu-card {
    flex: initial;
    max-width: none;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact,
  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-menu-card .widget {
    margin-bottom: 0 !important;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .shoper-widget-title {
    margin-bottom: 0.5rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widget_nav_menu .menu li {
    margin-bottom: 0.25rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .widget_nav_menu .menu li a,
  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .textwidget,
  .shoper-site-footer .footer-widgets .footer-sidebar .widget_contact .company-works {
    line-height: 1.25;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar > .custom-column {
    display: none;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-tablet-logo {
    display: block;
    margin-top: 0.5rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-tablet-logo img {
    width: 8.75rem;
    height: auto;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-tablet-about {
    display: block;
    margin-top: 0.5rem;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-tablet-about .shoper-entry-title {
    margin: 0 0 0.3125rem;
    color: var(--color-text-primary);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .shoper-site-footer .footer-widgets .footer-sidebar .torque-footer-tablet-about p {
    margin: 0;
    color: var(--color-text-description);
    font-size: 0.78125rem;
    line-height: 1.35;
  }

  .shoper-site-footer .subfooter .sub-banners ul {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
  }

  .shoper-site-footer .subfooter .sub-banners ul li {
    width: auto;
    min-width: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    white-space: nowrap;
  }

  .shoper-site-footer .subfooter .sub-banners ul li + li {
    margin-left: 1.5rem;
    padding-left: 1.5rem;
    border-top: 0;
    border-left: 1px solid;
  }

  .shoper-site-footer .footer-copyright .copyright-row:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
  }

  .shoper-site-footer .footer-copyright .copyright-row:nth-child(2) {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0;
  }

  .shoper-site-footer .footer-copyright .copyright-row:nth-child(2) .column {
    flex: 1 1 0;
    max-width: none;
  }

  .shoper-site-footer .footer-copyright .copyright-row:nth-child(2) .column:nth-child(2) {
    display: flex;
    justify-content: flex-end;
  }

  .shoper-site-footer .footer-copyright .shoper-site-copyright p {
    margin-bottom: 0;
  }

  .shoper-site-footer .footer-copyright .copyright-row:nth-child(3) {
    grid-column: 1 / -1;
    grid-row: 3;
    align-items: center;
    justify-content: center;
    margin-top: 0 !important;
  }

  .shoper-site-footer .footer-copyright .footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.25rem;
    align-items: center;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .shoper-site-footer .footer-copyright .mobile-app-content {
    justify-content: center;
    margin-top: 0;
  }

  .shoper-site-footer .footer-copyright .mobile-app-content span {
    margin-right: 0.625rem;
    margin-bottom: 0;
  }

  .shoper-site-footer .footer-copyright .footer-menu,
  .shoper-site-footer .footer-copyright .footer-menu ul {
    width: 100%;
  }

  .shoper-site-footer .footer-copyright .footer-menu ul {
    align-items: center;
    justify-content: center;
    gap: 0.875rem 1.25rem;
  }

  .shoper-site-footer .footer-copyright .footer-menu ul li {
    display: inline-flex;
    align-items: center;
    margin-right: 0;
  }
}

.torque-footer-tablet-logo,
.torque-footer-tablet-about {
  display: none;
}

.shoper-notices-wrapper {
  width: 100%;
}

.shoper-notices-wrapper .shoper-message,
.shoper-notices-wrapper .shoper-error > li {
  position: relative;
  padding-right: 3rem;
}

.shoper-notice-close {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: currentColor;
  background: transparent;
  border: 0;
  transform: translateY(-50%);
}

.shoper-notice-close:hover,
.shoper-notice-close:focus-visible {
  color: var(--color-primary-text);
  background: transparent;
}

/*
 * Checkout (reference: PartDo checkout). The page uses the storefront header/footer; above the form sit
 * the account prompt, the coupon bar and the free-shipping meter; the form is two columns from 1024px
 * (fields left, the 25rem order card right) as laid out by .shoper-cart-wrapper in the base stylesheet.
 * The field markup comes from the checkout partials shared with other themes, so it is restyled here in
 * place: labels move above the inputs and paired fields sit side by side from 768px.
 */
.torque-checkout .shoper-form-login-toggle .shoper-info {
  margin-top: 0;
}

.torque-checkout .shoper-form-login-toggle .shoper-info a {
  font-weight: 500;
  text-decoration: underline;
}

/* The cart page turns .shoper-cart-wrapper into a grid from 1200px; the checkout keeps the base flex row
   (free-shipping meter on its own line, then fields and order card). */
@media screen and (min-width: 1200px) {
  .torque-checkout .shoper-cart-wrapper {
    display: flex;
    gap: 0;
  }
}

/* Coupon bar (reference .woocommerce-form-coupon-toggle) and the coupon form it opens. */
.torque-checkout .checkout-discount-section {
  position: relative;
  margin-bottom: 1.875rem;
  padding: 20px 20px 20px 35px;
  font-size: 0.895rem;
  line-height: 1.5;
  background-color: #f7f7f7;
  border-radius: var(--theme-theme-radius-base);
}

.torque-checkout .checkout-discount-section::before {
  position: absolute;
  top: 48%;
  left: 15px;
  width: 1em;
  color: var(--color-primary-text);
  font-family: "shoper-icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1em;
  text-align: center;
  content: "\f097";
  transform: translateY(-50%);
}

.torque-checkout .checkout-discount-section .btn-open-coupon-form {
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-checkout .coupon-wrapper {
  margin: -1rem 0 1.875rem !important;
}

.torque-checkout .coupon-wrapper .btn-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.torque-checkout .coupon-wrapper .coupon-code {
  width: 100%;
  height: var(--theme-form-height);
  border-radius: var(--theme-form-radius) !important;
}

.torque-checkout .coupon-wrapper .apply-coupon-code,
.torque-checkout .coupon-wrapper .remove-coupon-code {
  height: var(--theme-form-height);
  margin: 0;
  border: 1px solid transparent;
  border-radius: var(--theme-form-radius) !important;
}

.torque-checkout .coupon-error-msg .text-danger:empty {
  display: none;
}

.torque-checkout .checkout__coupon-section {
  margin-bottom: 1.875rem;
}

.torque-checkout .btn-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  border: 2px solid;
  border-right-color: transparent;
  border-radius: 50%;
  animation: torque-checkout-spin 0.6s linear infinite;
}

@keyframes torque-checkout-spin {
  to {
    transform: rotate(1turn);
  }
}

/* Free-shipping meter (reference .klbth-free-shipping): full row above the two columns. */
.torque-checkout .shoper-checkout-free-shipping {
  flex: 0 0 100%;
  max-width: 100%;
  margin-bottom: 0.75rem;
  padding: 0.9375rem;
  background-color: var(--color-info-light);
  border-radius: var(--theme-theme-radius-base);
}

.torque-checkout .shoper-checkout-free-shipping .free-shipping-notice {
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
}

.torque-checkout .shoper-checkout-free-shipping .free-shipping-notice .amount {
  color: var(--color-sale);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: normal;
}

.torque-checkout .shoper-checkout-free-shipping .shipping-progress {
  position: relative;
  display: block;
  width: 100%;
  height: 0.25rem;
  background-color: #fff;
  border-radius: 0.9375rem;
}

.torque-checkout .shoper-checkout-free-shipping .shipping-progress span {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--color-sale);
  border-radius: 0.9375rem;
}

/* The same message inside the order summary would repeat the meter above. */
.torque-checkout .ecolet-free-shipping-message {
  display: none !important;
}

/* Fields: flat grid with 10px gutters; the shared partial's .row wrappers do not take part in it, which
   also removes the row's negative margin that made the county and city fields stick out. */
.torque-checkout #customer_details .checkout-login-prompt {
  display: none;
}

.torque-checkout #customer_details .address-form-wrapper,
.torque-checkout #customer_details .billing-address-form-wrapper,
.torque-checkout #customer_details .tax-information-form-wrapper:not([style*="none"]) {
  display: flex;
  flex-flow: row wrap;
  margin-right: -10px;
  margin-left: -10px;
}

.torque-checkout #customer_details .address-form-wrapper > .row,
.torque-checkout #customer_details .billing-address-form-wrapper > .row,
.torque-checkout #customer_details .password-group > .row {
  display: contents;
}

.torque-checkout #customer_details .address-form-wrapper > *,
.torque-checkout #customer_details .address-form-wrapper > .row > *,
.torque-checkout #customer_details .billing-address-form-wrapper > *,
.torque-checkout #customer_details .billing-address-form-wrapper > .row > *,
.torque-checkout #customer_details .tax-information-form-wrapper > * {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}

@media screen and (min-width: 768px) {
  .torque-checkout #customer_details .checkout-contact-row > .checkout-field,
  .torque-checkout #customer_details .checkout-location-row > .checkout-field,
  .torque-checkout #customer_details .billing-address-form-wrapper > .row > * {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
}

.torque-checkout #customer_details .form-group {
  margin-bottom: 1rem !important;
}

.torque-checkout #customer_details .form-input-wrapper,
.torque-checkout #customer_details .phone-input-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
}

.torque-checkout #customer_details .form-input-wrapper > label,
.torque-checkout #customer_details .phone-input-wrapper > label,
.torque-checkout #customer_details .shoper-additional-fields label {
  position: static;
  order: -1;
  margin: 0 0 6px;
  padding: 0;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: normal;
  background: none;
  transform: none;
  pointer-events: auto;
}

.torque-checkout #customer_details .form-input-wrapper > .form-control:required + label::after {
  content: "\00a0*";
}

.torque-checkout #customer_details .form-control {
  height: 2.875rem;
  padding: 1px 0.9375rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid var(--color-form-border);
  border-radius: var(--theme-form-radius);
}

.torque-checkout #customer_details select.form-control {
  height: var(--theme-form-height);
  padding-right: 30px;
  color: #444;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-position: right 15px center;
  background-repeat: no-repeat;
  background-size: 10px 10px;
  appearance: none;
}

.torque-checkout #customer_details .select--arrow > svg,
.torque-checkout #customer_details .select--arrow > .icon {
  display: none;
}

.torque-checkout #customer_details textarea.form-control {
  height: auto;
  min-height: 120px;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  resize: none;
}

.torque-checkout #customer_details .phone-input-wrapper .iti {
  display: block;
  width: 100%;
}

.torque-checkout #customer_details .shoper-billing-same-note {
  margin-bottom: 1rem;
  font-size: 0.8125rem;
}

/* Checkboxes as in the reference: native control, 13px medium label. */
.torque-checkout .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
  min-height: 0;
  margin: 0;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
}

.torque-checkout .form-check .form-check-input,
.torque-checkout input[type="checkbox"] {
  float: none;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  margin: 2px 3px 0 0;
  border-radius: 2px;
  appearance: auto;
}

.torque-checkout #register-an-account-wrapper > .mb-3,
.torque-checkout .customer-tax-information-form > .form-group:first-child,
.torque-checkout .customer-billing-address-form > .form-group:first-child {
  margin-bottom: 1rem !important;
}

/* Order card. */
.torque-checkout .order-review-wrapper .shoper-shop-table {
  margin-bottom: 0;
}

.torque-checkout .order-review-wrapper .shoper-shop-table thead th {
  padding-top: 0.5rem;
}

.torque-checkout .order-review-wrapper .shoper-shop-table tbody td {
  padding: 0.75rem 0.25rem;
  vertical-align: middle;
}

.torque-checkout .order-review-wrapper .shoper-shop-table tbody td:first-child {
  padding-left: 0.25rem;
}

.torque-checkout .order-review-wrapper .shoper-shop-table .product-attributes {
  display: block;
  color: var(--color-text-description);
  font-size: 0.75rem;
}

/* Totals: the summary rows (re-rendered by the checkout script) and the delivery choice are laid out as
   the reference's table rows; the delivery row is ordered right after the subtotal. */
.torque-checkout .shoper-checkout-review-totals {
  display: flex;
  flex-direction: column;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper,
.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper > .mt-2 {
  display: contents;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row,
.torque-checkout .shoper-checkout-review-totals .shoper-shipping-totals {
  order: 4;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0.75rem 0;
  font-size: 0.8125rem;
  border-top: 1px solid var(--color-info-dark);
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row:has(.sub-total-text) {
  order: 1;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row.coupon-information {
  order: 2;
}

.torque-checkout .shoper-checkout-review-totals .shoper-shipping-totals {
  order: 3;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row:has(.raw-total-text) {
  order: 5;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row.tax-included-row {
  order: 6;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row > * {
  flex: 1 1 50%;
  width: auto;
  max-width: none;
  padding: 0;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row p {
  margin: 0;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row > :first-child,
.torque-checkout .shoper-shipping-totals__label {
  color: var(--color-text-light);
  font-weight: 600;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row > :first-child strong {
  font-weight: 600;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row > :last-child p {
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  text-align: right;
}

.torque-checkout .shoper-checkout-review-totals .cart-item-wrapper .row .raw-total-text {
  font-size: 1.25rem !important;
  font-weight: 600;
}

.torque-checkout .shoper-shipping-totals__label {
  flex: 0 0 50%;
}

.torque-checkout .shoper-shipping-totals__methods {
  position: relative;
  flex: 0 0 50%;
  min-width: 0;
}

.torque-checkout .shoper-shipping-totals .list_payment_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-checkout .shoper-shipping-totals .list-group-item {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 7px;
  margin: 0 0 10px;
  padding: 0;
  text-align: right;
  background: none;
  border: 0;
}

.torque-checkout .shoper-shipping-totals .list-group-item:last-child {
  margin-bottom: 0;
}

.torque-checkout .shoper-shipping-totals .list-group-item > label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
}

.torque-checkout .shoper-shipping-totals .list-group-item > label::before,
.torque-checkout .shoper-shipping-totals .list-group-item > label::after,
.torque-checkout #payment .list-group-item > label::before,
.torque-checkout #payment .list-group-item > label::after {
  display: none !important;
}

.torque-checkout .shoper-shipping-totals .list-group-item small {
  display: block;
  font-size: 0.75rem;
}

/* Native radios as in the reference (the shared partials mark them up for a custom radio). */
.torque-checkout .shoper-shipping-totals .magic-radio,
.torque-checkout #payment .magic-radio {
  position: static;
  display: inline-block;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  margin: 3px 0 0;
  opacity: 1;
  pointer-events: auto;
  appearance: auto;
}

/* Payment methods. */
.torque-checkout .order-review-wrapper .shoper-checkout-payment {
  padding-top: 0.9375rem;
  border-top: 1px solid var(--color-info-dark);
}

.torque-checkout #payment .checkout-payment-title {
  display: none;
}

.torque-checkout #payment [data-bb-toggle="checkout-payment-methods-area"] > .position-relative {
  margin-bottom: 0 !important;
}

.torque-checkout #payment .list_payment_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-checkout #payment .list-group-item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 0 0.9375rem;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.torque-checkout #payment .list-group-item > label {
  flex: 1 1 0;
  display: block;
  margin: 0 0 0 1.25rem;
  padding: 0 4.5rem 0 0;
  color: var(--color-primary-text);
  font-size: 0.875rem;
  font-weight: 600 !important;
  line-height: normal;
  cursor: pointer;
}

.torque-checkout #payment .payment_collapse_wrap {
  flex: 0 0 100%;
  margin-top: 0.375rem !important;
}

.torque-checkout #payment .payment_collapse_wrap p,
.torque-checkout #payment .payment_collapse_wrap .text-muted {
  margin: 0;
  padding: 0;
  color: var(--color-text-light) !important;
  font-size: 0.75rem;
  line-height: 1.6;
}

.torque-checkout #payment .payment-method-logo {
  top: 0;
  right: 0;
  width: 4rem;
}

.torque-checkout #payment .payment-method-logo img {
  max-height: 20px;
}

.torque-checkout #payment .form-row.place-order {
  margin: 0;
  padding: 0;
}

.torque-checkout .shoper-privacy-policy-text p {
  margin: 0 0 1rem;
  font-size: 0.75rem;
  line-height: 1.6;
}

.torque-checkout .shoper-privacy-policy-text p a,
.torque-checkout .shoper-checkout-terms a {
  color: var(--color-danger);
  font-weight: 500;
  text-decoration: underline;
}

.torque-checkout .shoper-checkout-terms {
  margin: 0 0 1.25rem;
}

.torque-checkout .shoper-checkout-terms .shoper-form__label {
  display: inline-flex;
  align-items: flex-start;
  font-size: 0.75rem;
  font-weight: 500;
}

.torque-checkout .shoper-checkout-terms .shoper-terms-and-conditions-checkbox-text {
  padding-left: 0.625rem;
  line-height: 1.5;
}

/* Place order: the reference's full-width red button; the label text is the legally required one. */
.torque-checkout #payment .payment-checkout-btn,
.torque-checkout #payment .payment-checkout-btn-step {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto;
  min-height: 3rem !important;
  padding: 0.375rem 1.25rem;
  color: #fff !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  line-height: 1.3;
  background-color: var(--color-sale) !important;
  border: 1px solid transparent !important;
  border-radius: var(--theme-form-radius) !important;
}

.torque-checkout #payment .payment-checkout-btn:hover,
.torque-checkout #payment .payment-checkout-btn:focus-visible {
  background-color: var(--color-sale-dark) !important;
}

.torque-checkout #payment .payment-checkout-btn-step.disabled {
  opacity: 0.6;
}

.torque-checkout .invalid-feedback {
  display: block;
  font-size: 0.75rem;
}

.shoper-checkout-empty {
  margin: 0 0 1.875rem;
}

@media screen and (max-width: 767.98px) {
  .torque-checkout .order-review-wrapper {
    margin-top: 1.25rem;
  }
}

.shoper-cart-form .product-quantity {
  text-align: center;
}

.shoper-cart-form .product-quantity .quantity {
  display: inline-flex !important;
  align-items: stretch;
  justify-content: center;
  width: 6rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #fff;
  border: 1px solid #d9e0e8;
  border-radius: 0.75rem;
  box-shadow: 0 0.125rem 0.375rem rgba(15, 23, 42, 0.06);
}

.shoper-cart-form .product-quantity .quantity-button {
  display: inline-flex;
  flex: 0 0 2.0625rem;
  align-items: center;
  justify-content: center;
  width: 2.0625rem !important;
  height: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0;
  color: var(--color-text-primary);
  background: #f5f7fa;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0;
  font-weight: 700;
  line-height: 0;
}

.shoper-cart-form .product-quantity .quantity .minus::after,
.shoper-cart-form .product-quantity .quantity .plus::after {
  top: 50%;
  left: 50%;
  right: auto;
  width: 0.625rem;
  height: 0.125rem;
  transform: translate(-50%, -50%);
}

.shoper-cart-form .product-quantity .quantity .plus::before {
  top: 50%;
  left: 50%;
  width: 0.125rem;
  height: 0.625rem;
  transform: translate(-50%, -50%);
}

.shoper-cart-form .product-quantity .quantity-button:hover,
.shoper-cart-form .product-quantity .quantity-button:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
}

.shoper-cart-form .product-quantity .quantity .qty {
  flex: 0 0 1.875rem;
  width: 1.875rem !important;
  height: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--color-text-primary);
  background: #fff;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  appearance: textfield;
}

.shoper-cart-form .product-quantity .quantity .qty::-webkit-outer-spin-button,
.shoper-cart-form .product-quantity .quantity .qty::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.shoper-cart-free-shipping {
  margin-bottom: 1.875rem;
  padding: 1.125rem 1.375rem;
  color: var(--color-text-primary);
  background: #f3f4f6;
  border-radius: 0.5rem;
}

.shoper-cart-free-shipping p {
  margin: 0 0 0.625rem;
  font-size: 0.875rem;
  line-height: 1.35;
}

.shoper-cart-free-shipping strong {
  color: var(--color-primary-text);
  font-weight: 700;
}

.shoper-cart-free-shipping__meter {
  position: relative;
  width: 100%;
  height: 0.25rem;
  overflow: hidden;
  background: #fff;
  border-radius: 999px;
}

.shoper-cart-free-shipping__meter span {
  display: block;
  height: 100%;
  background: var(--color-primary);
  border-radius: inherit;
  transition: width 0.2s ease;
}

.shoper-cart-free-shipping--achieved {
  background: #f1fbf5;
}

.shoper-cart-free-shipping--achieved .shoper-cart-free-shipping__meter span {
  background: #10b981;
}

.shop-container.shop-page-wrapper[data-bb-toggle="cart-content"] > .container {
  padding-top: 2rem;
}

@media screen and (min-width: 1200px) {
  .shoper-cart-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 0 1.875rem;
    align-items: start;
  }

  .shoper-cart-wrapper .shoper-cart-main {
    grid-column: 1;
    min-width: 0;
  }

  .shoper-cart-wrapper .shoper-cart-collaterals {
    grid-column: 2;
    grid-row: 1;
    max-width: none;
    margin-left: 0;
  }

  .shoper-cart-wrapper .shoper-cart-main > .shoper-cart-free-shipping {
    margin-bottom: 1rem;
  }

  .shoper-cart-wrapper .shoper-cart-form {
    max-width: none;
    margin-top: 0;
  }

  .shoper-cart-wrapper .shoper-cart-form .shoper-shop-table {
    margin-top: 0;
  }
}

.shoper-cart-collaterals .shoper-cart-totals {
  padding: 1.25rem 1.25rem 1.375rem;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.shoper-cart-collaterals .shoper-cart-totals > h2 {
  margin: 0 0 1rem;
  padding: 0 0 0.9375rem;
  color: var(--color-text-primary);
  border-bottom: 1px solid #e5e9ef;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
}

.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table {
  width: 100%;
  margin: 0;
  border: 0;
}

.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table th,
.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table td {
  padding: 0.625rem 0;
  color: var(--color-text-primary);
  border: 0;
  font-size: 0.875rem;
  line-height: 1.35;
  vertical-align: top;
}

.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table td {
  text-align: right;
}

.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .tax-total th,
.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .tax-total td,
.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .shoper-cart-discount th,
.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .shoper-cart-discount td {
  padding: 0.5rem 0;
  color: var(--color-text-primary);
  border-top: 1px solid #e5e9ef;
}

.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .order-total th,
.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .order-total td {
  padding: 1rem 0 0.75rem;
  border-top: 1px solid #e5e9ef;
  font-size: 0.875rem;
}

.shoper-cart-collaterals .shoper-cart-totals .shoper-shop-table .order-total .amount {
  color: var(--color-text-primary);
  font-size: 1.25rem;
  font-weight: 800;
}

.shoper-cart-shipping-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.1875rem;
  margin: 0.25rem 0 1rem;
  padding: 0.875rem 0;
  border-top: 1px solid #e5e9ef;
  border-bottom: 1px solid #e5e9ef;
  text-align: right;
}

.shoper-cart-shipping-note span {
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 700;
  text-align: left;
}

.shoper-cart-shipping-note strong {
  color: var(--color-primary-text);
  font-size: 0.8125rem;
  font-weight: 600;
}

.shoper-cart-collaterals .shoper-proceed-to-checkout {
  margin: 0;
}

.shoper-cart-actions-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.625rem;
  align-items: stretch;
  margin-top: 1rem;
}

.shoper-cart-actions-row .shoper-proceed-to-checkout,
.shoper-cart-actions-row .shoper-cart-continue-shopping {
  min-width: 0;
}

.shoper-cart-actions-row .shoper-proceed-to-checkout {
  display: flex;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.shoper-cart-collaterals .shoper-proceed-to-checkout .checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
  border-radius: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.shoper-cart-collaterals .shoper-proceed-to-checkout .checkout-button:hover,
.shoper-cart-collaterals .shoper-proceed-to-checkout .checkout-button:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary-dark);
}

.shoper-cart-continue-shopping {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  margin-top: 0;
  padding: 0.625rem 1rem;
  color: var(--color-text-primary);
  background: #e9edf2;
  border-radius: 0.625rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.shoper-cart-continue-shopping:hover,
.shoper-cart-continue-shopping:focus-visible {
  color: var(--color-text-primary);
  background: #dde3ea;
}

@media screen and (min-width: 576px) and (max-width: 1199.98px) {
  .shoper-cart-actions-row {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
  }

  .shoper-cart-actions-row .shoper-proceed-to-checkout,
  .shoper-cart-actions-row .shoper-cart-continue-shopping {
    height: 3rem;
  }

  .shoper-cart-collaterals .shoper-proceed-to-checkout .checkout-button,
  .shoper-cart-actions-row .shoper-cart-continue-shopping {
    height: 3rem;
    min-height: 3rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.15;
  }
}

@media screen and (max-width: 575.98px) {
  .shoper-cart-actions-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }

  .shoper-cart-collaterals .shoper-proceed-to-checkout .checkout-button,
  .shoper-cart-actions-row .shoper-cart-continue-shopping {
    min-height: 2.875rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.15;
    text-align: center;
  }
}

.shoper-cart-form .actions-wrapper {
  gap: 0.625rem;
  padding: 1.125rem 0 !important;
}

.shoper-cart-form .actions-wrapper .coupon {
  display: inline-flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}

.shoper-cart-form .actions-wrapper .coupon #coupon_code {
  flex: 0 1 17.5rem;
  width: 17.5rem;
  max-width: 100%;
  height: 2.75rem;
  border-color: #d9e0e8;
  border-radius: 0.625rem;
  box-shadow: 0 0.125rem 0.375rem rgba(15, 23, 42, 0.04);
}

.shoper-cart-form .actions-wrapper .coupon .button,
.shoper-cart-form .actions-wrapper .empty-cart-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 7.25rem;
  height: 2.75rem;
  padding: 0 1.125rem;
  color: var(--color-text-primary);
  background-color: #e9edf2;
  border: 0;
  border-radius: 0.625rem;
  box-shadow: none;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.shoper-cart-form .actions-wrapper .coupon .button:hover,
.shoper-cart-form .actions-wrapper .coupon .button:focus-visible,
.shoper-cart-form .actions-wrapper .empty-cart-button:hover,
.shoper-cart-form .actions-wrapper .empty-cart-button:focus-visible {
  color: var(--color-text-primary);
  background-color: #dde3ea;
}

.shoper-cart-form .actions-wrapper .empty-cart-button {
  flex: 0 0 auto;
  margin-left: auto;
}

.shoper-cart-form .actions-wrapper .shoper-cart-update-button {
  display: none !important;
}

@media (max-width: 767.98px) {
  .shoper-cart-form .actions-wrapper {
    align-items: stretch;
    flex-direction: column;
  }

  .shoper-cart-form .actions-wrapper .coupon {
    gap: 0.625rem;
  }

  .shoper-cart-form .actions-wrapper .empty-cart-button {
    width: 100%;
  }

  .shoper-cart-form .actions-wrapper .coupon #coupon_code {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 2.75rem !important;
  }

  .shoper-cart-form .actions-wrapper .coupon .button {
    flex: 0 0 7.75rem;
    width: auto;
    min-width: 7.75rem;
    margin-left: 0;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }

  .shoper-cart-form .actions-wrapper .empty-cart-button {
    margin-left: 0;
  }
}

.wishlist-area,
.compare-area {
  padding: 50px 0;
  background: #fff;
}

.wishlist-area .shoper-cart-list,
.compare-area .compare-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wishlist-area .shoper-cart-list table,
.compare-area .compare-table table {
  width: 100%;
  min-width: 760px;
  margin-bottom: 0;
  color: var(--color-text-primary);
  border-color: var(--color-info-dark);
  border-collapse: collapse;
}

.wishlist-area .shoper-cart-list thead th {
  padding: 1rem;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  background: var(--color-info-light);
  border: 0;
  white-space: nowrap;
}

.wishlist-area .shoper-cart-list tbody td {
  padding: 1.125rem 1rem;
  color: var(--color-text-primary);
  border-color: var(--color-info-dark);
  vertical-align: middle;
}

.wishlist-area .shoper-cart-list .shoper-cart-header-product {
  min-width: 400px;
}

.wishlist-area .shoper-cart-img {
  width: 110px;
  min-width: 110px;
}

.wishlist-area .shoper-cart-img img {
  width: 78px !important;
  min-width: 78px;
  max-width: 78px !important;
  height: 100px !important;
  object-fit: cover;
  background: var(--color-info-light);
}

.wishlist-area .shoper-cart-title a,
.compare-area .compare-product-title a {
  color: var(--color-text-primary);
  text-decoration: none;
}

.wishlist-area .shoper-cart-title a {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
}

.wishlist-area .shoper-cart-title a:hover,
.wishlist-area .shoper-cart-title a:focus-visible,
.compare-area .compare-product-title a:hover,
.compare-area .compare-product-title a:focus-visible {
  color: var(--color-primary-text);
}

.wishlist-area .shoper-cart-price,
.compare-area .compare-price {
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 500;
}

.wishlist-area .btn-primary,
.compare-area .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--color-primary);
  --bs-btn-border-color: var(--color-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--color-primary-dark);
  --bs-btn-hover-border-color: var(--color-primary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--color-primary-dark);
  --bs-btn-active-border-color: var(--color-primary-dark);
  min-height: 42px;
  padding: 0 1.25rem;
  color: var(--color-on-primary, #fff);
  font-size: 0.875rem;
  font-weight: 700;
  background: var(--color-primary);
  border-color: var(--color-primary);
  border-radius: 7px;
  text-transform: none;
}

.wishlist-area .btn-primary:hover,
.wishlist-area .btn-primary:focus-visible,
.compare-area .btn-primary:hover,
.compare-area .btn-primary:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.wishlist-area .shoper-cart-action-btn,
.compare-area .compare-remove .btn {
  display: inline-flex;
  width: 42px;
  height: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--color-text-secondary);
  background: transparent;
  border: 1px solid var(--color-info-dark);
  border-radius: 7px;
}

.wishlist-area .shoper-cart-action-btn:hover,
.wishlist-area .shoper-cart-action-btn:focus-visible,
.compare-area .compare-remove .btn:hover,
.compare-area .compare-remove .btn:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.wishlist-area .shoper-cart-bottom {
  margin-top: 30px;
}

.wishlist-area .shoper-cart-update {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.product-buttons .wishlist-button.active,
.product-wishlist .wishlist.active {
  color: var(--color-on-primary, #fff) !important;
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.product-buttons .wishlist-button.active i,
.product-wishlist .wishlist.active i {
  color: inherit !important;
}

.torque-account-topbar__icon-action {
  position: relative;
}

.torque-account-topbar__count {
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;
  display: inline-flex;
  min-width: 1.125rem;
  height: 1.125rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.25rem;
  color: var(--color-on-primary, #fff);
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  background: var(--color-primary);
  border: 2px solid #fff;
  border-radius: 999px;
}

.torque-wishlist-page {
  padding: 2.5rem 0 4.5rem;
  background: #f8f9fb;
}

.torque-wishlist-page__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--color-info-dark);
}

.torque-wishlist-page__heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.875rem;
}

.torque-wishlist-page__icon {
  display: inline-flex;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  align-items: center;
  justify-content: center;
  color: var(--color-primary-text);
  background: #fff0f2;
  border-radius: 7px;
}

.torque-wishlist-page__icon svg {
  width: 1.375rem;
  height: 1.375rem;
}

.torque-wishlist-page__heading > div > span,
.torque-wishlist-item__price > span {
  display: block;
  color: var(--color-text-description);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
}

.torque-wishlist-page__heading h1 {
  margin: 0.125rem 0 0;
  color: var(--color-text-primary);
  font-size: 1.75rem;
  line-height: 1.15;
  letter-spacing: 0;
}

.torque-wishlist-page__heading p {
  margin: 0.25rem 0 0;
  color: var(--color-text-description);
  font-size: 0.875rem;
}

.torque-wishlist-page__continue,
.torque-wishlist-empty a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0 1rem;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 700;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: 7px;
  text-decoration: none;
}

.torque-wishlist-page__continue:hover,
.torque-wishlist-page__continue:focus-visible,
.torque-wishlist-empty a:hover,
.torque-wishlist-empty a:focus-visible {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-wishlist-page__continue svg {
  width: 1rem;
  height: 1rem;
}

.torque-wishlist-list {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: 7px;
}

.torque-wishlist-item {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) minmax(9rem, 0.38fr) minmax(14rem, auto);
  align-items: center;
  gap: 1.25rem;
  padding: 1.125rem;
}

.torque-wishlist-item + .torque-wishlist-item {
  border-top: 1px solid var(--color-info-dark);
}

.torque-wishlist-item__image {
  display: flex;
  width: 7rem;
  height: 7rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--color-info-light);
  border: 1px solid var(--color-info);
  border-radius: 7px;
}

.torque-wishlist-item__image img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.torque-wishlist-item__content {
  min-width: 0;
}

.torque-wishlist-item__status {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0.45rem;
  color: #00895e;
  font-size: 0.75rem;
  font-weight: 600;
}

.torque-wishlist-item__status.is-out {
  color: var(--color-primary-text);
}

.torque-wishlist-item__status svg {
  width: 0.9rem;
  height: 0.9rem;
}

.torque-wishlist-item h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: 0;
}

.torque-wishlist-item h2 a {
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-wishlist-item h2 a:hover,
.torque-wishlist-item h2 a:focus-visible {
  color: var(--color-primary-text);
}

.torque-wishlist-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  margin-top: 0.45rem;
  color: var(--color-text-description);
  font-size: 0.75rem;
}

.torque-wishlist-item__meta a {
  color: inherit;
  text-decoration: underline;
}

.torque-wishlist-item__price {
  min-width: 0;
}

.torque-wishlist-item__price .product-price,
.torque-wishlist-item__price .price {
  margin-top: 0.35rem;
  font-size: 1rem;
  font-weight: 700;
}

.torque-wishlist-item__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.torque-wishlist-item__cart,
.torque-wishlist-item__remove {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0 1rem;
  font-size: 0.8125rem;
  font-weight: 700;
  border-radius: 7px;
}

.torque-wishlist-item__cart {
  border: 0;
}

.torque-wishlist-item__remove {
  width: 2.75rem;
  flex: 0 0 2.75rem;
  padding: 0;
  color: var(--color-text-secondary);
  background: #fff;
  border: 1px solid var(--color-info-dark);
}

.torque-wishlist-page .torque-wishlist-item__remove:hover,
.torque-wishlist-page .torque-wishlist-item__remove:focus-visible {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-wishlist-item__cart svg,
.torque-wishlist-item__remove svg {
  width: 1rem;
  height: 1rem;
}

.torque-wishlist-page__sharing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem 1.125rem;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: 7px;
}

.torque-wishlist-page__sharing strong,
.torque-wishlist-page__sharing span {
  display: block;
}

.torque-wishlist-page__sharing strong {
  color: var(--color-text-primary);
  font-size: 0.875rem;
}

.torque-wishlist-page__sharing span {
  margin-top: 0.15rem;
  color: var(--color-text-description);
  font-size: 0.75rem;
}

.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item {
  color: #17191c;
  background: #fff;
  border-color: var(--color-info-dark);
}

.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item > a,
.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item > button {
  color: #17191c;
  background: transparent;
}

.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item:hover,
.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item:focus-within {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item:hover > a,
.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item:hover > button,
.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item:focus-within > a,
.torque-wishlist-page .torque-wishlist-page__sharing .bb-social-sharing__item:focus-within > button {
  color: #fff;
  background: transparent;
}

.torque-wishlist-empty {
  display: flex;
  min-height: 22rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: 7px;
}

.torque-wishlist-empty > span {
  display: inline-flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  color: var(--color-primary-text);
  background: #fff0f2;
  border-radius: 7px;
}

.torque-wishlist-empty svg {
  width: 1.75rem;
  height: 1.75rem;
}

.torque-wishlist-empty h2 {
  margin: 1rem 0 0;
  font-size: 1.25rem;
  letter-spacing: 0;
}

.torque-wishlist-empty p {
  margin: 0.4rem 0 1.25rem;
  color: var(--color-text-description);
  font-size: 0.875rem;
}

@media (max-width: 991.98px) {
  .torque-wishlist-item {
    grid-template-columns: 6rem minmax(0, 1fr) auto;
  }

  .torque-wishlist-item__image {
    width: 6rem;
    height: 6rem;
    grid-row: span 2;
  }

  .torque-wishlist-item__price {
    text-align: right;
  }

  .torque-wishlist-item__actions {
    grid-column: 2 / -1;
  }
}

@media (max-width: 575.98px) {
  .torque-wishlist-page {
    padding: 1.5rem 0 3rem;
  }

  .torque-wishlist-page__header {
    align-items: flex-start;
  }

  .torque-wishlist-page__heading h1 {
    font-size: 1.35rem;
  }

  .torque-wishlist-page__continue {
    width: 2.75rem;
    flex: 0 0 2.75rem;
    padding: 0;
  }

  .torque-wishlist-page__continue span {
    font-size: 0;
  }

  .torque-wishlist-page__continue svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .torque-wishlist-item {
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: 0.875rem;
    padding: 0.875rem;
  }

  .torque-wishlist-item__image {
    width: 5rem;
    height: 5rem;
    grid-row: auto;
  }

  .torque-wishlist-item__price,
  .torque-wishlist-item__actions {
    grid-column: 1 / -1;
  }

  .torque-wishlist-item__price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.75rem;
    text-align: left;
    border-top: 1px solid var(--color-info-dark);
  }

  .torque-wishlist-item__price .product-price,
  .torque-wishlist-item__price .price {
    margin-top: 0;
  }

  .torque-wishlist-item__actions {
    justify-content: stretch;
  }

  .torque-wishlist-item__cart {
    flex: 1;
  }

  .torque-wishlist-page__sharing {
    align-items: flex-start;
    flex-direction: column;
  }
}

.compare-area .compare-table table {
  min-width: 820px;
}

.compare-area .compare-table th,
.compare-area .compare-table td {
  padding: 15px 25px;
  color: var(--color-text-primary);
  border: 1px solid var(--color-info-dark);
  vertical-align: middle;
}

.compare-area .compare-table th {
  min-width: 170px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  background: var(--color-info-light);
}

.compare-area .compare-thumb {
  min-width: 205px;
}

.compare-area .compare-thumb img {
  display: block;
  width: 100%;
  max-width: 160px;
  height: 160px;
  margin: 0 auto 15px;
  object-fit: contain;
}

.compare-area .compare-product-title {
  margin: 0 0 0.5rem;
  color: var(--color-text-primary);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
}

.compare-area .compare-desc,
.compare-area .compare-desc p {
  color: var(--color-text-secondary);
  font-size: 15px;
  line-height: 1.3;
}

.compare-area .compare-desc p:last-child {
  margin-bottom: 0;
}

.compare-area .compare-price span {
  font-weight: 500;
}

.compare-area .compare-price .old-price {
  color: #8c8c8c;
  text-decoration: line-through;
}

.compare-area .compare-rating {
  min-height: 1.25rem;
  align-items: center;
}

.shoper-account-guest,
.shoper-account-page {
  padding: 1.875rem 0 4rem;
  background: #fff;
}

.shoper-account-guest .shoper-site-login-container {
  display: block;
  max-width: 560px;
  margin: 0 auto;
  padding: 0 0.9375rem;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.shoper-account-guest .shoper-site-login-overflow {
  overflow: hidden;
  border-radius: 0;
}

@media screen and (min-width: 64rem) {
  .shoper-account-guest .shoper-site-login-overflow {
    padding: 60px;
    border: 1px solid #e5e8ec;
    border-radius: 7px;
  }
}

.shoper-account-guest .login-page-tab {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-flow: row wrap;
  gap: 1.25rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  border-bottom: 0;
  background: transparent;
}

.shoper-account-guest .login-page-tab li {
  flex: 0 0 auto;
  margin: 0;
}

.shoper-account-guest .login-page-tab a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 0;
  color: var(--color-text-primary);
  font-family: var(--theme-secondary-font);
  font-size: 1.065rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  border-right: 0;
  background: transparent;
}

.shoper-account-guest .login-page-tab li:last-child a {
  border-right: 0;
}

.shoper-account-guest .login-page-tab a.active {
  color: var(--color-text-primary);
  background: transparent;
}

.shoper-account-guest .login-page-tab a:not(.active) {
  color: #c2c2d3;
}

@media screen and (min-width: 64rem) {
  .shoper-account-guest .login-page-tab {
    gap: 2.5rem;
  }
}

.shoper-account-guest .login-form-container {
  display: block;
  width: 100%;
  padding: 0;
  transform: none;
  transition: none;
  box-sizing: border-box;
}

.shoper-site-login .login-form-container {
  display: block;
  width: 100%;
  transform: none;
  transition: none;
  box-sizing: border-box;
}

.shoper-site-login .login-form-container > * {
  width: 100%;
  margin-top: 0;
  padding: 0;
  opacity: 1;
  transition: none;
}

.shoper-site-login .login-form-container > .register-form,
.shoper-site-login .login-form-container.show-register-form .register-form {
  opacity: 1;
}

.shoper-site-login .login-form-container > [hidden] {
  display: none !important;
}

.shoper-account-guest .shoper-form {
  display: grid;
  gap: 1rem;
  margin: 0;
}

.shoper-account-guest .shoper-form-row,
.shoper-account-guest .form-row {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.shoper-account-guest label {
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

.shoper-account-guest .required {
  color: var(--color-primary-text);
}

.shoper-account-guest .input-text {
  width: 100%;
  min-height: 42px;
  height: 42px;
  padding: 0 0.9375rem;
  color: var(--color-text-primary);
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 12px;
  outline: 0;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.shoper-account-guest .input-text:focus {
  border-color: var(--erp-primary);
  box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--color-primary) 12%, transparent);
}

body.search-active {
  overflow: hidden;
}

html.erp-site-drawer-open,
html.erp-filter-open {
  overflow: hidden;
}

.shoper-site-drawer {
  width: min(21.25rem, calc(100vw - 1.5rem));
  max-width: 21.25rem;
  background-color: var(--color-body);
  color: var(--color-text-primary);
  z-index: 100001;
  transform: translateX(-100%) !important;
  transition: transform 0.24s cubic-bezier(0.28, 0.12, 0.22, 1);
  overflow-y: auto;
  visibility: hidden;
  pointer-events: none;
}

.shoper-site-drawer:not(.active) {
  transform: translateX(-100%) !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.shoper-site-drawer.active {
  transform: translateX(0) !important;
  visibility: visible;
  pointer-events: auto;
  box-shadow: 0.875rem 0 2.5rem rgba(33, 37, 41, 0.16);
}

.shoper-site-drawer-row.shoper-site-drawer-header {
  min-height: 4.125rem;
  border-bottom: 1px solid var(--color-info);
}

.shoper-site-drawer-row.shoper-site-drawer-body {
  border-top: 0;
}

.shoper-site-drawer .drawer-heading {
  display: block;
  color: var(--color-text-primary);
  letter-spacing: 0.0625rem;
  opacity: 0.35;
}

.shoper-site-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(33, 37, 41, 0.48);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.28, 0.12, 0.22, 1), visibility 0.2s cubic-bezier(0.28, 0.12, 0.22, 1);
}

.shoper-site-drawer-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

html.erp-filter-open .shoper-site-drawer-overlay {
  z-index: 100000;
}

[data-erp-product-collection="tab-carousel"] .shoper-module-header .shoper-module-tab-links {
  display: inline-flex;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

[data-erp-product-collection="tab-carousel"] .shoper-module-header .shoper-module-tab-links::-webkit-scrollbar {
  display: none;
}

@media (max-width: 767.98px) {
  .shoper-module-header:not(.align-center) {
    gap: 0.625rem 0.875rem;
  }

  .shoper-module-header:not(.align-center) > .shoper-entry-title {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 0;
  }

  .shoper-module-header:not(.align-center) > .btn {
    order: 1;
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
  }

  .shoper-module-header:not(.align-center) > .shoper-module-tab-links {
    display: inline-flex;
  }

  .shoper-module-header:not(.align-center) > .shoper-module-tab-links,
  .shoper-module-header:not(.align-center) > .shoper-entry-description,
  .shoper-module-header:not(.align-center) > .shoper-countdown-wrapper {
    order: 2;
    flex: 0 0 100%;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
  }

  .shoper-module-header:not(.align-center) > .shoper-module-tab-links ul {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .shoper-module-header:not(.align-center) > .shoper-module-tab-links ul::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 991px) {
  [data-erp-product-collection="tab-carousel"] .shoper-module-header .shoper-module-tab-links {
    order: 2;
    width: 100%;
    margin-top: 0.75rem;
  }

  [data-erp-product-collection="tab-carousel"] .shoper-module-header .shoper-module-tab-links ul {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1.125rem;
  }

  [data-erp-product-collection="tab-carousel"] .shoper-module-header .shoper-module-tab-links.style-1 li {
    flex: 0 0 auto;
  }
}

.shoper-site-drawer .shoper-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.shoper-site-drawer .torque-drawer-menu__item {
  display: block;
  overflow: visible;
}

.shoper-site-drawer .torque-drawer-menu__row {
  display: flex;
  align-items: center;
  width: 100%;
}

.shoper-site-drawer .torque-drawer-menu__row > a {
  min-height: 2.625rem;
}

.shoper-site-drawer .torque-drawer-menu__row .menu-dropdown {
  flex: 0 0 1.875rem;
  width: 1.875rem;
  min-width: 1.875rem;
  height: 2.625rem;
  padding: 0;
  color: var(--color-text-description);
  background: transparent;
  border: 0;
  font-size: 0.75rem;
}

.shoper-site-drawer .torque-drawer-menu__row .menu-dropdown i {
  pointer-events: none;
}

.shoper-site-drawer .torque-drawer-sub-menu {
  width: 100%;
  margin: 0;
  padding: 0 0 0.5rem 2.125rem;
  list-style: none;
  overflow: hidden;
  max-height: 0;
}

.shoper-site-drawer .torque-drawer-sub-menu[hidden] {
  display: none !important;
}

.shoper-site-drawer .torque-drawer-sub-menu a {
  min-height: 0;
  padding-top: 0.325rem;
  padding-bottom: 0.325rem;
  font-size: 0.8125rem;
  font-weight: 500;
}

.shoper-site-drawer .menu-icon {
  display: inline-flex;
  margin-right: 0.625rem;
  color: var(--color-primary-text);
}

.shoper-site-drawer .sub-menu {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  overflow: hidden;
  max-height: 0;
}

.shoper-site-drawer .shoper-menu-wrapper .shoper-menu .shoper-menu-item.active {
  overflow: visible;
  align-items: stretch;
}

.shoper-site-drawer .shoper-menu-wrapper .shoper-menu .shoper-menu-item.active > .sub-menu {
  flex-basis: 100%;
  height: auto !important;
  max-height: 32rem !important;
}

.shoper-site-drawer .sub-menu .menu-icon {
  display: none;
}

.shoper-site-drawer .menu-dropdown {
  color: var(--color-text-description);
  transition: color 0.2s cubic-bezier(0.28, 0.12, 0.22, 1), transform 0.2s cubic-bezier(0.28, 0.12, 0.22, 1);
}

.shoper-site-drawer .shoper-menu-item.active > .menu-dropdown {
  color: var(--color-primary-text);
  transform: rotate(180deg);
}

.shoper-site-drawer .torque-drawer-menu__item.active .torque-drawer-menu__row > .menu-dropdown {
  color: var(--color-primary-text);
  transform: rotate(180deg);
}

.shoper-site-drawer .badge {
  margin-left: 0.5rem;
}

.shoper-header-mobile .search-button-wrap {
  margin-right: 0.5rem;
}

.search-holder {
  z-index: 1200;
}

.search-holder .search-form {
  max-width: 50rem;
  margin-right: auto;
  margin-left: auto;
}

.search-form[data-erp-search-form] {
  position: relative;
}

.search-holder .search-form input.search-input {
  width: 100%;
  height: 3rem;
  padding-right: 3.25rem;
  border-color: var(--color-info-dark);
  border-radius: var(--theme-form-radius);
}

.search-holder .search-form input.search-input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.search-holder .search-form button {
  color: var(--color-text-primary);
}

.torque-search-suggestions {
  position: absolute;
  top: calc(100% + 0.375rem);
  right: 0;
  left: 0;
  z-index: 40;
  max-height: min(26rem, 70vh);
  overflow-y: auto;
  padding: 0.375rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-theme-radius-small);
  box-shadow: 0 0.75rem 1.5rem rgba(33, 37, 41, 0.12);
}

.torque-search-suggestions__item,
.torque-search-suggestions__status {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 4.25rem;
  padding: 0.5rem;
  color: var(--color-text-primary);
  text-decoration: none;
  border-radius: calc(var(--theme-theme-radius-small) - 0.125rem);
}

.torque-search-suggestions__item:hover,
.torque-search-suggestions__item:focus-visible {
  color: var(--color-text-primary);
  background-color: var(--color-info-light);
  outline: 0;
}

.torque-search-suggestions__image {
  flex: 0 0 3.25rem;
  width: 3.25rem;
  height: 3.25rem;
  margin-right: 0.75rem;
  object-fit: contain;
  background-color: var(--color-info-light);
  border-radius: var(--theme-theme-radius-small);
}

.torque-search-suggestions__content {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 0.125rem;
}

.torque-search-suggestions__title {
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.torque-search-suggestions__meta,
.torque-search-suggestions__status {
  font-size: 0.75rem;
  color: var(--color-text-description);
}

.torque-search-suggestions__price {
  flex: 0 0 auto;
  margin-left: 0.75rem;
  color: var(--color-sale);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
}

.search-holder .popular-tags a {
  text-decoration: none;
}

.shoper-account-guest .password-input {
  display: block;
}

.shoper-account-guest .password-input .input-text {
  padding-right: 2.875rem;
}

.shoper-account-guest .password-input .show-password-input {
  top: 50%;
  right: 0.5rem;
  height: 42px;
  color: var(--color-text-secondary);
  transform: translateY(-50%);
}

.shoper-account-guest .password-input .show-password-input:hover,
.shoper-account-guest .password-input .show-password-input:focus-visible {
  color: var(--color-text-primary);
  outline: none;
}

.shoper-account-guest .shoper-social-login {
  margin-top: 1rem;
}

.shoper-account-guest .shoper-social-login .login-options {
  display: grid;
  gap: 0.875rem;
}

.shoper-account-guest .shoper-social-login .login-options-title {
  position: relative;
  margin: 0;
  padding: 0;
  border-top: 0;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
}

.shoper-account-guest .shoper-social-login .login-options-title p {
  display: inline-block;
  margin: 0;
  padding: 0 0.75rem;
  background: #fff;
}

.shoper-account-guest .shoper-social-login .login-options-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1px;
  background: var(--color-info-dark);
  content: "";
}

.shoper-account-guest .shoper-social-login ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shoper-account-guest .shoper-social-login li {
  margin: 0;
  list-style: none;
}

.shoper-account-guest .shoper-social-login a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  padding: 0 0.875rem;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-form-radius);
}

.shoper-account-guest .shoper-social-login a:hover,
.shoper-account-guest .shoper-social-login a:focus-visible {
  text-decoration: none;
}

.shoper-account-guest .shoper-social-login a:focus-visible {
  outline: 2px solid rgba(33, 37, 41, 0.18);
  outline-offset: 2px;
}

.shoper-account-guest .shoper-social-login svg,
.shoper-account-guest .shoper-social-login img {
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 479.98px) {
  .shoper-account-guest .shoper-social-login ul {
    grid-template-columns: 1fr;
  }
}

.shoper-login-actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.shoper-account-guest .shoper-form-login__rememberme,
.shoper-register-policy .shoper-form__label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  color: var(--color-text-secondary);
  font-weight: 500;
}

.shoper-account-guest .shoper-register-policy {
  margin-top: 1rem;
}

.shoper-account-guest input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--erp-primary);
}

.shoper-account-guest .button,
.shoper-account-page .button,
.shoper-account-page .shoper-MyAccount-content .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--theme-form-height);
  height: var(--theme-form-height);
  padding: 0 1.25rem;
  color: var(--color-text-primary);
  font-size: var(--theme-form-font-size);
  font-weight: 600;
  text-decoration: none;
  background: var(--color-info);
  border: 1px solid transparent;
  border-radius: var(--theme-form-radius);
  cursor: pointer;
}

.shoper-account-guest .button:hover,
.shoper-account-guest .button:focus-visible,
.shoper-account-page .button:hover,
.shoper-account-page .button:focus-visible {
  color: var(--color-text-primary);
  background: var(--color-info-dark);
  border-color: transparent;
}

.shoper-account-guest .shoper-form-login__submit,
.shoper-account-guest .shoper-form-register__submit {
  min-height: var(--theme-form-height);
  height: var(--theme-form-height);
  color: var(--color-text-primary);
  font-size: var(--theme-form-font-size);
  font-weight: 600;
  background: var(--color-info);
  border-color: transparent;
  border-radius: var(--theme-form-radius);
}

.shoper-account-guest .shoper-form-login__submit:hover,
.shoper-account-guest .shoper-form-login__submit:focus-visible,
.shoper-account-guest .shoper-form-register__submit:hover,
.shoper-account-guest .shoper-form-register__submit:focus-visible {
  color: var(--color-text-primary);
  background: var(--color-info-dark);
  border-color: transparent;
}

.shoper-account-guest .lost_password {
  margin-top: -0.25rem;
}

.shoper-account-guest .lost_password a {
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  text-decoration: underline;
}

.shoper-account-guest .shoper-notices-wrapper {
  margin-bottom: 0.25rem;
}

.shoper-account-guest .shoper-error,
.shoper-account-guest .shoper-info {
  padding: 1rem;
  border-radius: 0;
}

.shoper-account-page .my-account-wrapper {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.shoper-account-page .my-account-inner {
  display: grid;
  grid-template-columns: minmax(15rem, 18.5rem) minmax(0, 1fr);
  min-height: 30rem;
}

.shoper-account-page .my-account-navigation {
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-theme-radius-base);
  background: #fff;
  box-shadow: 1px 2px 4px rgba(33, 37, 41, 0.05);
  overflow: hidden;
}

.shoper-account-page .shoper-MyAccount-navigation {
  display: flex;
  flex-direction: column;
  min-height: inherit;
  padding: 0;
}

.torque-account-menu {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}

.shoper-account-page .shoper-MyAccount-navigation ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shoper-account-page .shoper-MyAccount-navigation li {
  margin: 0;
}

.shoper-account-page .shoper-MyAccount-navigation li + li {
  border-top: 1px solid var(--color-info-dark);
}

.shoper-account-page .shoper-MyAccount-navigation a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.625rem 1.25rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0;
}

.shoper-account-page .shoper-MyAccount-navigation a:not([aria-current="page"]):hover,
.shoper-account-page .shoper-MyAccount-navigation a:not([aria-current="page"]):focus-visible {
  color: var(--color-text-primary);
  background: var(--color-info-light);
}

.shoper-account-page .shoper-MyAccount-navigation li.is-active a {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
}

.shoper-account-page .shoper-MyAccount-content {
  min-width: 0;
  padding: 1.75rem;
}

.shoper-account-page .my-account-user {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #e5e8ec;
}

.shoper-account-page .user-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  flex: 0 0 3.25rem;
  color: var(--color-text-primary);
  font-weight: 500;
  background: var(--color-info);
  border-radius: var(--theme-theme-radius-small);
}

.shoper-account-page .my-account-wrapper .my-account-user .user-avatar {
  color: var(--color-text-primary);
  font-weight: 500;
  background-color: var(--color-info);
  border-radius: var(--theme-theme-radius-small);
}

.shoper-account-page .my-account-wrapper .my-account-user .user-avatar span {
  color: inherit;
}

.shoper-account-page .user-detail span {
  display: block;
  margin-bottom: -2px;
  color: var(--color-text-light);
  font-size: 0.75rem;
  font-weight: 500;
}

.shoper-account-page .user-detail p {
  margin: 0;
  color: var(--color-text-primary);
  font-weight: 600;
}

.shoper-account-page .my-account-content {
  color: var(--color-text-secondary);
  line-height: 1.65;
}

.shoper-account-dashboard > p {
  margin: 0 0 1.5rem;
}

.shoper-account-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.shoper-account-metrics a {
  display: grid;
  gap: 0.25rem;
  padding: 1.125rem;
  color: var(--color-text-secondary);
  text-decoration: none;
  background: #f9fafb;
  border: 1px solid #e5e8ec;
  border-radius: 0.4375rem;
}

.shoper-account-metrics strong {
  color: var(--color-text-primary);
  font-size: 1.5rem;
}

.shoper-account-empty {
  padding: 1.25rem;
  background: #fff7f8;
  border: 1px dashed var(--erp-primary);
  border-radius: 0.4375rem;
}

.shoper-account-empty h2 {
  margin: 0 0 0.5rem;
  color: var(--color-text-primary);
  font-size: 1.125rem;
}

.shoper-account-empty p {
  margin: 0 0 1rem;
}

.torque-account-section-head {
  margin-bottom: 1.5rem;
}

.torque-account-section-head span,
.torque-account-card__head span,
.torque-account-panel__head span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--color-primary-text);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.torque-account-section-head h1,
.torque-account-card__head h2,
.torque-account-panel__head h2 {
  margin: 0;
  color: var(--color-text-primary);
  font-size: var(--torque-account-responsive-title-size);
  font-weight: 800;
}

.torque-account-section,
.torque-account-card-list,
.torque-account-settings {
  display: grid;
  gap: 1rem;
}

.bb-customer-content-wrapper.bb-customer-content-wrapper--unframed {
  padding: 0;
  background: transparent;
  border-radius: 0;
}

.torque-account-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.torque-account-card,
.torque-account-panel,
.torque-account-empty {
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #e5e8ec;
  border-radius: 0.4375rem;
}

.torque-account-section--viewport-empty {
  display: flex;
  min-height: calc(100vh - var(--torque-account-topbar-height) - var(--torque-dashboard-page-padding));
  flex-direction: column;
  gap: 1rem;
}

.torque-account-section--viewport-empty > .torque-account-content-header {
  flex: 0 0 auto;
  margin-bottom: 0;
}

.torque-account-empty--viewport {
  display: flex;
  min-height: 18rem;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  box-sizing: border-box;
  text-align: center;
}

.torque-account-empty--viewport h2,
.torque-account-empty--viewport p {
  max-width: 32rem;
}

.torque-account-empty__hero-icon {
  display: inline-flex;
  width: 7.5rem;
  height: 7.5rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--torque-account-muted, #8c96a3);
}

.torque-account-empty__hero-icon svg {
  width: 7.5rem;
  height: 7.5rem;
  stroke-width: 1.25;
}

.torque-account-card--interactive {
  color: var(--torque-account-text, #17191c);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease;
}

.torque-account-card--interactive:not(.is-active):hover,
.torque-account-card--interactive:not(.is-active):focus-visible {
  color: var(--torque-account-text, #17191c);
  border-color: #9da5af;
  box-shadow: 0 0.375rem 1rem rgba(23, 25, 28, 0.06);
}

.torque-account-card--interactive.is-active {
  color: #fff;
  background: var(--torque-account-text, #17191c);
  border-color: var(--torque-account-text, #17191c);
}

.torque-account-card__head {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

.torque-account-definition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.torque-account-definition-grid div {
  padding: 0.75rem;
  background: #f9fafb;
  border-radius: 0.375rem;
}

.torque-account-definition-grid dt {
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 700;
}

.torque-account-metric__value-line {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 2;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
  min-height: 2.25rem;
  margin-top: 0.25rem;
  white-space: nowrap;
}

.torque-account-metric__value-line strong {
  grid-column: auto;
  grid-row: auto;
  flex: 0 0 auto;
  margin-top: 0;
}

.torque-account-metric__discount-summary {
  --torque-discount-label-font-size: 0.875rem;

  display: grid;
  flex: 0 0 auto;
  gap: 0.0625rem;
  justify-items: end;
  width: max-content;
  min-width: 0;
  text-align: right;
}

.torque-account-metric__discount-summary > span,
.torque-account-metric__discount-summary > strong {
  color: #6f7986;
  font-size: var(--torque-discount-label-font-size);
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

.torque-account-metric__discount-summary > span {
  color: var(--color-primary-text);
}

.shoper-account-metrics .torque-account-metric__discount-summary > strong {
  margin: 0;
  color: #17191c;
  width: 100%;
  max-width: 100%;
  font-size: calc(var(--torque-discount-label-font-size) * var(--torque-discount-range-scale, 0.9));
  font-weight: 700;
  text-align: right;
}

.torque-account-definition-grid dd {
  margin: 0.25rem 0 0;
  color: var(--color-text-primary);
  font-weight: 800;
}

.torque-account-card__actions,
.torque-account-actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.torque-compliance-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem 1.125rem;
  background: #f9fafb;
  border: 1px solid #e5e8ec;
  border-radius: 0.4375rem;
}

/* Order product specs: Torque presentation for the shared ecommerce partial.
 * The partial is also used by Aragold, so this stays scoped to the Torque
 * tracking surface and deliberately preserves the shared 14px SVG sizing. */
.torque-order-tracking .ara-order-icon-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1rem;
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  background: #fff;
  border: 1px solid #e5e8ec;
  border-radius: 0.4375rem;
  overflow: hidden;
}

.torque-order-tracking .ara-order-icon-specs-row,
.torque-order-tracking .ara-order-icon-specs-row:first-child {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  grid-template-areas: "icon label" "icon value";
  column-gap: 0.625rem;
  row-gap: 0.125rem;
  align-items: center;
  min-width: 0;
  padding: 0.7rem 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #eef0f2;
  border-radius: 0;
}

.torque-order-tracking .ara-order-icon-specs-row:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.torque-order-tracking .ara-order-icon-specs-row .ico {
  display: inline-flex;
  grid-area: icon;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  color: var(--color-primary-text);
  background: var(--color-primary-lighter, #fff4f6);
  border: 1px solid color-mix(in srgb, var(--color-primary) 16%, transparent);
  border-radius: 0.4375rem;
}

.torque-order-tracking .ara-order-icon-specs-row .ico svg {
  width: 14px;
  height: 14px;
}

.torque-order-tracking .ara-order-icon-specs-row .label {
  grid-area: label;
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-description);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.torque-order-tracking .ara-order-icon-specs-row .value {
  grid-area: value;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}

@media (max-width: 575.98px) {
  .torque-order-tracking .ara-order-icon-specs {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0.5rem 0.875rem;
  }

  .torque-order-tracking .ara-order-icon-specs-row:nth-last-child(-n + 2) {
    border-bottom: 1px solid #eef0f2;
  }

  .torque-order-tracking .ara-order-icon-specs-row:last-child {
    border-bottom: 0;
  }
}

.torque-compliance-card__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--color-text-secondary);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.torque-compliance-card h2,
.torque-compliance-card h3,
.torque-compliance-card h5 {
  margin: 0;
  color: var(--color-text-primary);
  font-size: 1.05rem;
  font-weight: 800;
}

.torque-compliance-card p {
  margin: 0.45rem 0 0;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.customer-withdrawal-status__scope {
  font-size: 0.75rem;
}

.customer-withdrawal-status [data-withdrawal-action] {
  flex: 0 0 auto;
}

.torque-compliance-definition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1.25rem;
  margin: 1rem 0 0;
}

.torque-compliance-definition-grid dt {
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 700;
}

.torque-compliance-definition-grid dd {
  margin: 0.2rem 0 0;
  color: var(--color-text-primary);
  overflow-wrap: anywhere;
}

.torque-gpsr-info {
  display: block;
}

@media (max-width: 575px) {
  .torque-compliance-card,
  .torque-compliance-definition-grid {
    grid-template-columns: 1fr;
  }

  .torque-compliance-card {
    display: grid;
  }
}

.torque-account-actions-row {
  margin-top: 0;
  margin-bottom: 0.25rem;
}

.torque-account-actions-row p,
.torque-account-address-card__body p,
.torque-account-panel__head p {
  margin: 0;
}

.torque-account-address-card__body {
  color: var(--color-text-secondary);
}

.torque-account-panel__head {
  display: grid;
  gap: 0.4rem;
  margin-bottom: 1rem;
}

.torque-account-panel--danger {
  background: #fff7f8;
  border-color: color-mix(in srgb, var(--color-primary) 25%, transparent);
}

.torque-account-panel form {
  display: grid;
  gap: 1rem;
}

.torque-account-panel .form-group,
.torque-account-panel .mb-3 {
  margin-bottom: 0 !important;
}

.torque-account-panel label {
  color: var(--color-text-primary);
  font-weight: 700;
}

.torque-account-panel input,
.torque-account-panel select,
.torque-account-panel textarea {
  border-color: #d9dee6;
  border-radius: 0.375rem;
}

.customer-billing-identity {
  display: grid;
  gap: 1rem;
}

.customer-billing-identity .select2-container {
  width: 100% !important;
}

.customer-billing-identity .torque-toolbar-select2-selection {
  display: flex;
  align-items: center;
  min-height: 2.875rem;
  border-color: #d9dee6;
  border-radius: 0.375rem;
  box-shadow: none;
}

.customer-billing-identity .torque-toolbar-select2-selection .select2-selection__rendered {
  padding-left: 0.875rem;
  color: var(--color-text-primary);
}

.customer-billing-identity .torque-toolbar-select2-selection .select2-selection__arrow {
  top: 50%;
  right: 0.625rem;
  transform: translateY(-50%);
}

.customer-identity-field {
  display: grid;
  gap: 0.375rem;
}

.customer-identity-field__control {
  position: relative;
}

.customer-identity-field__control .form-control {
  padding-right: 3.25rem;
}

.customer-identity-field__status {
  min-height: 1.125rem;
  color: var(--color-text-description);
  font-size: 0.75rem;
  line-height: 1.5;
}

.customer-identity-field__status[data-state="valid"] {
  color: #07895c;
}

.customer-identity-field__status[data-state="invalid"] {
  color: var(--color-primary-text);
}

.shoper-account-guest .customer-identity-field:has(.customer-identity-field__status[data-state="invalid"]) > .invalid-feedback {
  display: none !important;
}

.customer-company-lookup {
  position: absolute;
  top: 50%;
  right: 0.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  padding: 0;
  color: var(--color-text-primary);
  background: #f0f2f5;
  border: 0;
  border-radius: 0.375rem;
  transform: translateY(-50%);
  transition: color 0.2s ease, background-color 0.2s ease;
}

.customer-company-lookup svg {
  width: 1.125rem;
  height: 1.125rem;
}

.customer-company-lookup:hover,
.customer-company-lookup:focus-visible {
  color: #fff;
  background: #17191c;
}

.customer-company-lookup:disabled {
  color: #9da5af;
  background: #f4f6f8;
  cursor: not-allowed;
}

.customer-company-lookup.is-loading {
  opacity: 0.7;
}

.customer-company-lookup-result {
  display: grid;
  gap: 0.25rem;
  padding: 0.875rem 1rem;
  background: #f4f6f8;
  border-radius: 0.375rem;
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.customer-company-lookup-result strong {
  color: var(--color-text-primary);
}

.customer-password-contract {
  display: grid;
  gap: 0.625rem;
  width: 100%;
}

.customer-password-contract__help,
.customer-password-contract__status {
  margin: 0;
  color: var(--color-text-description);
  font-size: 0.75rem;
  line-height: 1.5;
}

.customer-password-contract__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.customer-password-contract__intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.customer-password-contract__intro .customer-password-contract__help {
  flex: 1 1 auto;
}

.customer-password-contract__generate,
.customer-password-contract__copy {
  flex: 0 0 auto;
  width: auto;
  min-height: 2.5rem;
  white-space: nowrap;
}

.customer-password-contract__suggestion {
  width: fit-content;
  max-width: 100%;
  padding: 0.625rem 0.75rem;
  overflow-wrap: anywhere;
  background: #f4f6f8;
  border-radius: 0.375rem;
  color: var(--color-text-primary);
  font-family: monospace;
  font-size: 0.8125rem;
}

.torque-account-settings--details {
  width: min(100%, 62rem);
  margin-inline: auto;
}

@media (min-width: 992px) {
  .torque-account-panel--profile form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
  }

  .torque-account-panel--profile form > .customer-billing-identity,
  .torque-account-panel--profile form > .customer-password-contract,
  .torque-account-panel--profile form > button[type="submit"] {
    grid-column: 1 / -1;
  }

  .torque-account-panel--profile .customer-billing-identity > .mb-3 {
    width: calc((100% - 1rem) / 2);
  }

  .torque-account-panel--profile form > button[type="submit"] {
    width: auto;
    min-width: 10rem;
    justify-self: start;
  }
}

.erp-builder-block {
  --erp-builder-space-sm: 1rem;
  --erp-builder-space-md: 1.5rem;
  --erp-builder-space-lg: 2.5rem;
  --erp-builder-space-xl: 4rem;
}

.erp-builder-width-wide {
  max-width: 1440px;
}

.erp-builder-width-full {
  width: 100%;
  max-width: none;
}

.erp-builder-space-top-none {
  margin-top: 0 !important;
}

.erp-builder-space-top-sm {
  margin-top: var(--erp-builder-space-sm) !important;
}

.erp-builder-space-top-md {
  margin-top: var(--erp-builder-space-md) !important;
}

.erp-builder-space-top-lg {
  margin-top: var(--erp-builder-space-lg) !important;
}

.erp-builder-space-top-xl {
  margin-top: var(--erp-builder-space-xl) !important;
}

.erp-builder-space-bottom-none {
  margin-bottom: 0 !important;
}

.erp-builder-space-bottom-sm {
  margin-bottom: var(--erp-builder-space-sm) !important;
}

.erp-builder-space-bottom-md {
  margin-bottom: var(--erp-builder-space-md) !important;
}

.erp-builder-space-bottom-lg {
  margin-bottom: var(--erp-builder-space-lg) !important;
}

.erp-builder-space-bottom-xl {
  margin-bottom: var(--erp-builder-space-xl) !important;
}

.erp-builder-animate-fade-in,
.erp-builder-animate-fade-up {
  animation-duration: 0.45s;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.48, 0, .12, 1);
}

.erp-builder-animate-fade-in {
  animation-name: erp-builder-fade-in;
}

.erp-builder-animate-fade-up {
  animation-name: erp-builder-fade-up;
}

@keyframes erp-builder-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes erp-builder-fade-up {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (max-width: 1199.98px) {
  :root {
    --torque-section-gap: 1.25rem;
    --torque-section-content-offset: 0.625rem;
    --torque-section-stack-gap: 3rem;
  }

  .shoper-home-sections {
    width: 100%;
    max-width: none;
    padding-top: 0.9375rem;
    overflow-x: hidden;
  }

  .shoper-home-block {
    width: 100%;
    max-width: none;
    overflow-x: hidden;
  }

  .shoper-home-block--hero {
    margin-top: 0;
  }

  .erp-builder-hide-tablet-mobile {
    display: none !important;
  }

  .shoper-home-sections > * {
    margin-bottom: var(--torque-section-stack-gap);
  }
}

@media screen and (min-width: 768px) and (max-width: 1199.98px) {
  .shoper-home-sections {
    box-sizing: border-box;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .shoper-home-block--hero [data-erp-home-lead] {
    --bs-gutter-x: 0;
    margin-right: 0;
    margin-left: 0;
  }

  [data-erp-home-lead] .shoper-banner {
    aspect-ratio: 1024 / 573;
  }

  [data-erp-home-lead] .shoper-banner.style-inner .shoper-entry-wrapper {
    box-sizing: border-box;
    min-height: 100%;
  }

  [data-erp-home-lead] .shoper-banner.style-inner .shoper-entry-media img {
    object-position: center;
  }

  .mobile-bottom-menu {
    right: 0;
    display: flex;
    justify-content: center;
    padding: 0.375rem max(0.625rem, env(safe-area-inset-right)) max(0.375rem, env(safe-area-inset-bottom)) max(0.625rem, env(safe-area-inset-left));
    background: transparent;
    border-top: 0;
  }

  .mobile-bottom-menu .mobile-menu {
    width: 100%;
    max-width: 32rem;
    padding: 0.25rem;
    background: var(--color-body);
    border: 1px solid var(--color-info-dark);
    border-radius: var(--theme-theme-radius-small);
    box-shadow: 0 0.5rem 1.5rem rgba(33, 37, 41, 0.12);
  }

  .mobile-bottom-menu ul {
    justify-content: center;
    gap: 0;
  }

  .mobile-bottom-menu ul li {
    flex: 1 1 20%;
    max-width: 6.25rem;
    text-align: center;
  }

  .mobile-bottom-menu ul li a {
    justify-content: center;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.3125rem 0.125rem;
    border-radius: calc(var(--theme-theme-radius-small) - 0.125rem);
    transition: color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
  }

  .mobile-bottom-menu ul li.active > a,
  html.erp-site-drawer-open .mobile-bottom-menu a.categories,
  body.search-active .mobile-bottom-menu a.search-button {
    color: var(--color-primary-text);
    background-color: var(--color-primary-lighter);
    transform: translateY(-0.0625rem);
  }

  .mobile-bottom-menu ul li.active > a i,
  html.erp-site-drawer-open .mobile-bottom-menu a.categories i,
  body.search-active .mobile-bottom-menu a.search-button i {
    color: currentColor;
  }

  body:not([data-customer-dashboard="true"]) .shoper-site-footer {
    margin-bottom: 4.75rem;
  }
}

@media screen and (max-width: 1023.98px) {
  .filtered-sidebar {
    z-index: 100001;
    transform: translateX(-100%) !important;
    transition: transform 0.24s cubic-bezier(0.28, 0.12, 0.22, 1);
    overflow-y: auto;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0.875rem 0 2.5rem rgba(33, 37, 41, 0.16);
  }

  .filtered-sidebar:not(.is-open) {
    transform: translateX(-100%) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .filtered-sidebar.is-open {
    transform: translateX(0) !important;
    visibility: visible;
    pointer-events: auto;
  }

  .filtered-sidebar .shoper-site-scroll {
    height: 100%;
    overflow-y: auto;
  }

  .filtered-sidebar .sidebar-inner {
    padding-bottom: 2rem;
  }

  .filtered-sidebar .sidebar-mobile-header .shoper-site-close button {
    width: 2.125rem;
    height: 2.125rem;
  }
}

@media screen and (max-width: 1199.98px) {
  .shoper-account-page .my-account-inner {
    grid-template-columns: 1fr;
  }

  .shoper-account-page .my-account-navigation {
    border: 1px solid var(--color-info-dark);
  }
}

@media screen and (max-width: 767.98px) {
  .shoper-account-guest,
  .shoper-account-page {
    padding: 1rem 0 5.5rem;
  }

  .shoper-account-guest .login-page-tab a {
    min-height: auto;
    padding: 0;
    font-size: 0.875rem;
  }

  .shoper-account-guest .login-form-container {
    padding: 0;
  }

  .shoper-login-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .shoper-account-guest .shoper-form-login__submit,
  .shoper-account-guest .shoper-form-register__submit {
    width: 100%;
  }

  .shoper-account-page .shoper-MyAccount-navigation,
  .shoper-account-page .shoper-MyAccount-content {
    padding: 1rem;
  }

  .shoper-account-metrics,
  .torque-account-card-grid,
  .torque-account-definition-grid {
    grid-template-columns: 1fr;
  }

  .shoper-account-page .my-account-user {
    align-items: flex-start;
  }

}

.torque-contact-page {
  padding: 0 0 4.5rem;
}

.torque-contact-map {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 4.25;
  min-height: 18.75rem;
  margin-bottom: 3rem;
  overflow: hidden;
  background: var(--color-info-light);
}

.torque-contact-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.torque-contact-page__head {
  max-width: 48rem;
  margin-bottom: 1.5rem;
}

.torque-contact-page__column-head .shoper-entry-title,
.torque-contact-page .contact-form-wrapper .shoper-entry-title {
  margin-bottom: 0.75rem;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text-primary);
}

.torque-contact-page .description-block {
  margin-bottom: 0;
}

.torque-contact-page .description-block p {
  margin-bottom: 0;
  color: var(--color-text-description);
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.torque-contact-addresses {
  margin: 1.25rem 0 2.5rem;
  padding: 0;
  border: 0;
}

.torque-contact-addresses a,
.torque-contact-page .contact-iconboxes a {
  color: inherit;
}

/* The info card and the form card are equally tall (inner-page template 2026-10-26). */
.torque-contact-page__grid {
  align-items: stretch;
  row-gap: 1.75rem;
}

.torque-contact-page .contact-form-wrapper {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.torque-contact-page .torque-contact-form__head {
  margin-bottom: 1.875rem;
}

.torque-contact-page .contact-social {
  margin-top: 2rem;
}

.torque-contact-page .contact-social .elementor-social-icons-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.torque-contact-page .contact-social .elementor-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #fff;
  font-size: 0.9375rem;
  line-height: 1;
  text-decoration: none;
  background: var(--color-text-primary);
  border-radius: 50%;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.torque-contact-page .contact-social .elementor-social-icon:hover,
.torque-contact-page .contact-social .elementor-social-icon:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
  transform: translateY(-1px);
}

.torque-contact-page .elementor-screen-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* A 1rem gutter between side-by-side fields; the outer edges stay level with the form title. */
.torque-contact-page .contact-form-row {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important;
  row-gap: 0.75rem;
}

.torque-contact-page .contact-form-row > [class*="contact-column-"] {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.torque-contact-page .contact-form-group {
  margin-bottom: 0.75rem;
}

.torque-contact-page .contact-form-group label {
  display: block;
  margin-bottom: 0.375rem;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
}

/* The message box keeps its own height (rule below): textarea is left out of the input selector. */
.torque-contact-page .contact-form-input:not([type="checkbox"]):not([type="hidden"]):not(textarea),
.torque-contact-page .contact-form textarea,
.torque-contact-page .contact-form select {
  width: 100%;
  min-height: var(--theme-form-height);
  height: var(--theme-form-height);
  border: 1px solid var(--color-form-border);
  border-radius: var(--theme-form-radius);
  background: #fff;
  color: var(--color-text-primary);
  font: inherit;
  font-size: var(--theme-form-font-size);
  font-weight: var(--theme-form-font-weight);
  box-shadow: 0 1px 2px 0 rgba(33, 37, 41, 0.09);
}

.torque-contact-page .contact-form textarea {
  min-height: 8.75rem;
  height: auto;
  resize: vertical;
}

.torque-contact-page .contact-button {
  min-height: var(--theme-form-height);
  height: var(--theme-form-height);
  padding: 0 1.25rem;
  border: 1px solid var(--color-primary);
  border-radius: var(--theme-form-radius);
  background: var(--color-primary);
  color: var(--color-on-primary, #fff);
  font-size: var(--theme-form-font-size);
  font-weight: 600;
}

.torque-contact-page .contact-form .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin: 0.5rem 0 1rem;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.torque-contact-page .contact-form input[type="checkbox"],
.torque-contact-page .contact-form .form-check-input {
  flex: 0 0 1rem;
  width: 1rem !important;
  min-width: 1rem !important;
  max-width: 1rem !important;
  height: 1rem !important;
  min-height: 1rem !important;
  max-height: 1rem !important;
  margin: 0.125rem 0 0;
  padding: 0;
  border: 1px solid var(--color-form-border);
  border-radius: 0.1875rem;
  box-shadow: none;
  accent-color: var(--color-primary);
}

.torque-contact-page .contact-form .form-check-label {
  display: block;
  min-width: 0;
}

.torque-contact-page .contact-button:hover,
.torque-contact-page .contact-button:focus-visible {
  border-color: var(--color-primary-dark);
  background: var(--color-primary-dark);
}

@media screen and (max-width: 767.98px) {
  .torque-contact-page {
    padding: 0 0 5.5rem;
  }

  .torque-contact-map {
    aspect-ratio: 16 / 8.5;
    min-height: 13.75rem;
    margin-bottom: 1.75rem;
  }

  .torque-contact-page .contact-form-wrapper {
    padding: 0;
  }

  .torque-contact-page__column-head .shoper-entry-title,
  .torque-contact-page .contact-form-wrapper .shoper-entry-title {
    font-size: 1.875rem;
  }
}

.newsletter-popup {
  --newsletter-popup-ink: var(--color-text-primary);
  --newsletter-popup-muted: var(--color-text-description);
  --newsletter-popup-line: var(--color-border-light);
  --newsletter-popup-surface: #fff;
  --newsletter-popup-primary: var(--color-primary);
}

.newsletter-popup .newsletter-popup-dialog {
  max-width: min(31.25rem, calc(100vw - 2rem));
}

.newsletter-popup .newsletter-popup-card {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
}

.newsletter-popup .newsletter-popup-bg {
  display: none;
}

.newsletter-popup .newsletter-popup-content {
  min-width: 0;
  padding: 3.25rem 3rem 2.75rem;
  text-align: center;
}

.newsletter-popup .modal-subtitle {
  color: var(--color-sale);
  font-size: 0.8125rem;
  font-weight: 700;
}

.newsletter-popup .modal-title,
.newsletter-popup .modal-text {
  max-width: none;
}

.newsletter-popup form button[type='submit'],
.newsletter-popup form .newsletter-submit-button {
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
}

.newsletter-popup form button[type='submit']:hover,
.newsletter-popup form button[type='submit']:focus,
.newsletter-popup form .newsletter-submit-button:hover,
.newsletter-popup form .newsletter-submit-button:focus {
  border-color: var(--color-primary-dark) !important;
  background: var(--color-primary-dark) !important;
}

@media screen and (max-width: 767.98px) {
  .newsletter-popup .newsletter-popup-dialog {
    max-width: min(28rem, calc(100vw - 2rem));
  }

  .newsletter-popup .newsletter-popup-content {
    padding: 2.75rem 1.25rem 1.5rem;
  }

  .newsletter-popup .modal-title {
    font-size: 1.375rem;
  }
}

@media screen and (min-width: 1200px) {
  .erp-builder-hide-desktop {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1199.98px) {
  .erp-builder-hide-tablet {
    display: none !important;
  }

  [data-erp-home-lead] {
    margin-top: 1rem;
  }

  [data-erp-home-lead] .shoper-entry-excerpt {
    min-height: 3.375rem;
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 767.98px) {
  :root {
    --torque-section-gap: 1.25rem;
    --torque-section-content-offset: 0.3125rem;
    --torque-section-stack-gap: 2.5rem;
  }

  .erp-builder-hide-mobile {
    display: none !important;
  }

  .shoper-home-sections {
    padding-top: 0.9375rem;
  }

  [data-erp-home-lead] {
    margin-top: 0.375rem;
  }

  [data-erp-home-lead] .shoper-banner {
    height: 22rem;
  }

  [data-erp-home-lead] .shoper-entry-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .shoper-site-footer {
    padding-bottom: 4.5rem;
  }

  .shoper-home-block .product .content-wrapper {
    min-height: 8.0625rem;
  }

  /* Compact product lists (image beside the text) size to their content; the minimum only lines up grid cards. */
  .shoper-home-block .products.list-style .product .content-wrapper {
    min-height: 0;
  }

}

.filtered-sidebar .torque-category-filter-widget .shoper-widget-title {
  margin: 0 0 1.25rem;
  padding: 0;
  color: var(--color-text);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.125rem;
}

.filtered-sidebar .torque-category-filter-list label {
  color: var(--color-text);
  font-weight: 500;
}

.filtered-sidebar .torque-category-filter-list label > span {
  flex-basis: 1.125rem;
  width: 1.125rem;
  max-width: 1.125rem;
  height: 1.125rem;
  border-color: var(--color-form-border);
  border-radius: var(--theme-theme-radius-xsmall);
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(33, 37, 41, 0.05);
}

.filtered-sidebar .torque-category-filter-list .is-active > .torque-category-filter-row label,
.filtered-sidebar .torque-category-filter-list .current-cat > a label {
  color: var(--color-text);
  font-weight: 500;
}

.filtered-sidebar .torque-category-filter-list .is-active > .torque-category-filter-row label > span,
.filtered-sidebar .torque-category-filter-list .current-cat > a label > span {
  background-color: #fff;
  border-color: var(--color-form-border);
}

.filtered-sidebar .torque-category-filter-list input[type="checkbox"]:checked + label > span {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.filtered-sidebar .torque-category-filter-expander,
.filtered-sidebar .torque-category-filter-expander:hover,
.filtered-sidebar .torque-category-filter-expander:focus {
  background-color: transparent;
}

@media screen and (min-width: 1200px) {
  .shoper-site-header .quick-button.shoper-cart-button {
    position: relative;
    isolation: isolate;
  }

  .shoper-site-header .quick-button.shoper-cart-button > .quick-button-inner {
    min-height: 3rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button > .quick-button-inner::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -0.875rem;
    left: 0;
    height: 0.875rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-cart-dropdown {
    top: calc(100% + 0.875rem);
    right: 0;
    z-index: 1040;
    width: 22.5rem;
    min-width: 22.5rem;
    max-width: min(22.5rem, calc(100vw - 2rem));
    border-color: var(--color-info-dark);
    border-radius: var(--theme-theme-radius-base);
    box-shadow: 0 1.25rem 2.75rem rgba(33, 37, 41, 0.16);
    transform: translateY(0.5rem);
    transition:
      opacity 0.18s cubic-bezier(0.28, 0.12, 0.22, 1),
      visibility 0.18s cubic-bezier(0.28, 0.12, 0.22, 1),
      transform 0.18s cubic-bezier(0.28, 0.12, 0.22, 1);
  }

  .shoper-site-header .quick-button.shoper-cart-button:hover .shoper-cart-dropdown,
  .shoper-site-header .quick-button.shoper-cart-button:focus-within .shoper-cart-dropdown,
  .shoper-site-header .quick-button.shoper-cart-button.is-mini-cart-open .shoper-cart-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
    transform: translateY(0) !important;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-cart-dropdown-wrapper {
    padding: 1.25rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart-form {
    margin: 0;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-cart-free-shipping {
    margin: 0.875rem 0;
    padding: 0.875rem 1rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-cart-free-shipping p {
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.35;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .product {
    margin: 0;
    padding: 0 0 0.75rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .product + .product {
    padding-top: 0.75rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .product-content {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .thumbnail-wrapper {
    flex: 0 0 3.875rem;
    width: 3.875rem;
    height: 3.875rem;
    overflow: hidden;
    background: var(--color-info-light);
    border: 1px solid var(--color-info);
    border-radius: var(--theme-theme-radius-small);
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .thumbnail-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .content-wrapper {
    min-width: 0;
    padding-right: 1.25rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .product-title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 0.3125rem;
    color: var(--color-text);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .product-title a {
    color: inherit;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart .price {
    color: var(--color-text-description);
    font-size: 0.8125rem;
    font-weight: 500;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__total {
    align-items: center;
    margin: 0 0 0.875rem;
    padding-top: 0.9375rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__buttons {
    gap: 0.5rem;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__buttons .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.625rem;
    padding: 0 0.875rem;
    border-radius: var(--theme-form-radius);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__buttons .button:not(.checkout) {
    color: var(--color-text);
    background: var(--color-info-light);
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__buttons .button.checkout {
    color: var(--color-on-primary, #fff);
    background: var(--color-primary);
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__buttons .button:hover,
  .shoper-site-header .quick-button.shoper-cart-button .shoper-mini-cart__buttons .button:focus-visible {
    color: var(--color-on-primary, #fff);
    background: var(--color-primary-dark);
  }

  .shoper-site-header .quick-button.shoper-cart-button .shoper-cart-empty {
    padding: 1.375rem 1rem;
  }
}

@media (max-width: 767.98px) {
  .shop-page-wrapper .products:not(.large-list) .product.custom-hover .torque-product-card-short-description,
  .shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .torque-product-card-short-description,
  .shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .torque-product-card-short-description {
    display: -webkit-box;
    min-height: 2.375rem;
    margin: 0.25rem 0 0.5rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .shop-page-wrapper .products:not(.large-list) .product.custom-hover .product-footer .product-footer-details,
  .shoper-single-product > .related.products .products:not(.large-list) .product.custom-hover .product-footer .product-footer-details,
  .shoper-single-product > .recently-viewed.products .products:not(.large-list) .product.custom-hover .product-footer .product-footer-details {
    display: none;
  }
}


/* ---------------------------------------------------------------------------
   Detalii tehnice comanda — informatie LA CERERE.
   Pe pagina de order/tracking specificatiile nu se afiseaza din start; sunt
   in spatele link-ului "Vezi detalii tehnice" (<details> nativ, zero JS).
   La expand: lista single-column, full labels (fara trunchiere), lizibila.
--------------------------------------------------------------------------- */
.torque-order-specs {
  margin: 0.6rem 0 0;
}
/* Checkbox ascuns care comanda expandarea (zero JS). Ramane in DOM ca sibling
   de label (chevron :checked + label) si e detectat de :has() la nivel de card. */
.torque-order-specs__toggle {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  margin: 0;
}
/* Link-ul "Vezi detalii tehnice" — folosit ca <label> (tracking, split) SAU ca
   <summary> (lista comenzi/admin, <details>). Aceleasi stiluri pentru ambele. */
.torque-order-specs__summary {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-primary-text);
  padding: 0.25rem 0;
  user-select: none;
}
.torque-order-specs__summary::-webkit-details-marker {
  display: none;
}
.torque-order-specs__summary::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -0.15rem;
  transition: transform 0.2s ease;
}
.torque-order-specs[open] > .torque-order-specs__summary::after,
.torque-order-specs__toggle:checked + .torque-order-specs__summary::after {
  transform: rotate(-135deg);
  margin-top: 0.1rem;
}
.torque-order-specs__summary:hover {
  text-decoration: underline;
}
/* Tabel de atribute EXACT ca PartDo (klbtheme.com/partdo — inventar computed
   complet). PartDo pune border+radius+shadow pe CONTAINER (.product-extra-details),
   NU pe tabel (radius nu se aplica pe border-collapse). Tabel borderless, randuri
   separate cu border-bottom #ced4da, FARA zebra. Metrici exacte: font 12px,
   th bold 700 / td normal 400, th ~32%, td padding-left 4px. */
.torque-order-specs__panel {
  margin-top: 0.5rem;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 1px 2px 4px 0 rgba(33, 37, 41, 0.05);
  background: transparent;
  overflow: hidden;
}
.torque-order-specs__panel .shoper-product-attributes {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
  background: transparent;
}
.torque-order-specs__panel .shoper-product-attributes th,
.torque-order-specs__panel .shoper-product-attributes td {
  font-size: 12px;
  line-height: 18px;
  color: #212529;
  background: transparent;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #ced4da;
}
.torque-order-specs__panel .shoper-product-attributes th {
  width: 32%;
  padding: 10px 8px 10px 20px;
  font-weight: 700;
  letter-spacing: -0.03px;
  white-space: normal;
}
.torque-order-specs__panel .shoper-product-attributes td {
  padding: 10px 20px 10px 4px;
  font-weight: 400;
}
.torque-order-specs__panel .shoper-product-attributes tr:last-child th,
.torque-order-specs__panel .shoper-product-attributes tr:last-child td {
  border-bottom: 0;
}
.torque-order-specs__panel .shoper-product-attributes td p {
  margin: 0;
  overflow-wrap: anywhere;
}

/* Card produs comanda: imaginea NU se taie (portret 667x1000 vs box). */
.torque-order-tracking .bb-order-product-card-image {
  width: 96px;
  min-width: 96px;
  height: auto;
  align-self: flex-start;
}
.torque-order-tracking .bb-order-product-card-image img {
  width: 96px;
  height: auto;
  max-height: 128px;
  object-fit: contain;
  object-position: top center;
}

.torque-order-tracking .torque-order-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
}

.torque-order-meta-grid .torque-order-meta-grid__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.2rem;
  align-content: start;
  min-width: 0;
  margin: 0;
}

.torque-order-meta-grid .torque-order-meta-grid__item--full {
  grid-column: 1 / -1;
}

.torque-order-meta-grid .value {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Split tracking: link-ul "Vezi detalii tehnice" sta in coloana de detalii, in
   fluxul de text sub "Vandut de" (spacing normal). Tabelul e element full-width
   sub randul produsului (aliniat cu imaginea), ascuns pana la bifarea toggle-ului
   din ACELASI card (:has). */
.torque-order-tracking .bb-order-product-card-meta > .torque-order-specs__summary {
  margin-top: 0.35rem;
}
.torque-order-tracking .bb-order-product-card > .torque-order-specs__panel {
  display: none;
  margin-top: 0.85rem;
}
.torque-order-tracking .bb-order-product-card:has(.torque-order-specs__toggle:checked) > .torque-order-specs__panel {
  display: block;
}

/* Order detail: product content and financial summary are distinct cards while
   retaining the existing customer-card surfaces and value-row primitives. */
.torque-order-products-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(17rem, 0.75fr);
  gap: 1rem;
  align-items: start;
}
.torque-order-products-layout > .card {
  min-width: 0;
  margin-bottom: 0;
}
.torque-order-products-card .bb-order-product-cards {
  margin-bottom: 0 !important;
}
.torque-order-financial-card .bb-order-product-card-info {
  min-width: 0;
  margin-left: 0;
}
.torque-order-financial-products {
  display: grid;
  gap: 0.875rem;
}
.torque-order-financial-product {
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #e5e7eb;
}
.torque-order-financial-card .bb-order-totals {
  margin-top: 1rem;
}

.customer-withdrawal-status:not([data-withdrawal-eligibility="eligible"]) {
  display: none;
}

@media (max-width: 991.98px) {
  .torque-order-products-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .torque-order-tracking .torque-order-meta-grid {
    gap: 0.625rem;
  }

  .torque-order-meta-grid .torque-order-meta-grid__item {
    padding: 0.75rem;
    background: #f5f6f8;
    border-radius: 0.4375rem;
  }

  .torque-order-tracking .bb-order-product-card-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .torque-order-tracking .bb-order-product-card-image,
  .torque-order-tracking .bb-order-product-card-image img {
    width: 100%;
  }

  .torque-order-tracking .bb-order-product-card-image img {
    max-height: 320px;
    object-position: center;
  }
}

/* Comanda DOAR cu gift-card: liniile gift-card sunt excluse din lista, deci
   afisam un mesaj info in locul listei goale (codul merge pe email + in cont). */
.torque-order-giftcard-notice {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 1rem 1.15rem;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  background: #f8f9fa;
}
.torque-order-giftcard-notice > svg {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--color-primary-text);
  margin-top: 2px;
}
.torque-order-giftcard-notice__body strong {
  display: block;
  font-size: 0.95rem;
  color: #212529;
}
.torque-order-giftcard-notice__body p {
  margin: 0.25rem 0 0.5rem;
  font-size: 0.85rem;
  color: #6c757d;
}
.torque-order-giftcard-notice__body a {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-primary-text);
  text-decoration: none;
}
.torque-order-giftcard-notice__body a:hover {
  text-decoration: underline;
}

/* Blog archive layouts: shared primitives for every Torque archive mode. */
.torque-blog-layout {
  --torque-blog-columns: 3;
  --torque-blog-gap: 24px;
}

.torque-blog-columns-2 { --torque-blog-columns: 2; }
.torque-blog-columns-3 { --torque-blog-columns: 3; }
.torque-blog-columns-4 { --torque-blog-columns: 4; }

.torque-blog-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.torque-blog-card .shoper-entry-media {
  overflow: hidden;
  background: #f3f4f6;
}

.torque-blog-card .shoper-entry-media a,
.torque-blog-card .shoper-entry-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.torque-blog-card .shoper-entry-media img {
  object-fit: cover;
}

.torque-blog-card--ratio-16-9 .shoper-entry-media { aspect-ratio: 16 / 9; }
.torque-blog-card--ratio-4-3 .shoper-entry-media { aspect-ratio: 4 / 3; }
.torque-blog-card--ratio-square .shoper-entry-media { aspect-ratio: 1; }

.torque-blog-card .shoper-entry-wrapper {
  padding: 20px;
}

.torque-blog-card .shoper-entry-title {
  font-size: 20px;
  line-height: 1.35;
}

.torque-blog-card .shoper-entry-excerpt {
  margin-top: 10px;
  color: #6b7280;
}

.torque-blog-card .shoper-entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.torque-blog-card .meta-item {
  display: flex;
  gap: 6px;
  align-items: baseline;
}

.torque-blog-card .meta-item > span:first-child {
  color: #9ca3af;
}

.torque-blog-classic-stream {
  display: grid;
  gap: 24px;
}

.torque-blog-classic-stream .torque-blog-card {
  display: grid;
  grid-template-columns: minmax(260px, 38%) 1fr;
}

.torque-blog-classic-stream .torque-blog-card .shoper-entry-media {
  aspect-ratio: auto;
  min-height: 260px;
}

.torque-blog-category-row + .torque-blog-category-row,
.torque-blog-index-group + .torque-blog-index-group {
  margin-top: 44px;
}

.torque-blog-section-heading,
.torque-blog-index-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
}

.torque-blog-section-heading span,
.torque-blog-index-heading span,
.torque-vehicle-guide__intro > span {
  display: block;
  margin-bottom: 3px;
  color: var(--color-primary-text);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.torque-blog-section-heading h2,
.torque-blog-index-heading h2,
.torque-vehicle-guide__intro h2 {
  margin: 0;
  font-size: 24px;
}

.torque-blog-row-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.torque-blog-row-controls a {
  margin-right: 8px;
  color: #111827;
  text-decoration: underline;
}

.torque-blog-row-controls button {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #dbe1e8;
  border-radius: 6px;
  background: #fff;
  color: #111827;
}

.torque-blog-row-controls button > span {
  display: block;
  font-size: 26px;
  line-height: 1;
  transform: translateY(-1px);
}

.torque-blog-row-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--torque-blog-columns) - 1) * var(--torque-blog-gap)) / var(--torque-blog-columns));
  gap: var(--torque-blog-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.torque-blog-row-track::-webkit-scrollbar { display: none; }
.torque-blog-row-track > * { scroll-snap-align: start; }

.torque-blog-row-track .torque-blog-card {
  display: flex;
  flex-direction: column;
}

.torque-blog-row-track .torque-blog-card .shoper-entry-wrapper {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.torque-blog-row-track .torque-blog-card .shoper-entry-footer {
  margin-top: auto;
}

.torque-blog-index-group {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.torque-blog-index-heading {
  align-items: center;
  margin: 0;
  padding: 18px 20px;
}

.torque-blog-index-heading > div { min-width: 0; }
.torque-blog-index-heading strong { color: #6b7280; font-size: 13px; }

.torque-blog-index-item {
  display: grid;
  grid-template-columns: 120px minmax(180px, .8fr) minmax(240px, 1.4fr) 24px;
  gap: 18px;
  align-items: center;
  padding: 16px 20px;
  color: #111827;
}

.torque-blog-index-item + .torque-blog-index-item { border-top: 1px solid #e5e7eb; }
.torque-blog-index-item time,
.torque-blog-index-item span { color: #6b7280; }
.torque-blog-index-item i { font-size: 20px; }

.torque-blog-lead .torque-blog-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
}

.torque-blog-lead .torque-blog-card .shoper-entry-media {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 430px;
  margin-bottom: 0;
}

.torque-blog-lead .torque-blog-card .shoper-entry-wrapper {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 36px;
}

.torque-blog-lead .torque-blog-card .shoper-entry-title { font-size: 30px; }

.torque-blog-chronological-stream {
  display: grid;
  grid-template-columns: repeat(var(--torque-blog-columns), minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.torque-blog-chronological-stream .torque-blog-card {
  display: flex;
  flex-direction: column;
}

.torque-vehicle-guide {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  gap: 28px;
  padding: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f7f8fa;
}

.torque-vehicle-guide__intro p {
  max-width: 48ch;
  margin: 10px 0 0;
  color: #6b7280;
}

.torque-vehicle-guide__filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.torque-vehicle-guide__filters label > span {
  display: block;
  margin-bottom: 6px;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
}

.torque-vehicle-guide__filters select,
.torque-vehicle-guide__filters button {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dbe1e8;
  border-radius: 6px;
  background: #fff;
  color: #111827;
}

.torque-vehicle-guide__filters button {
  display: flex;
  grid-column: span 2;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-color: #111827;
  background: #111827;
  color: #fff;
  font-weight: 700;
}

.torque-vehicle-guide__filters > a {
  align-self: center;
  color: #111827;
  text-align: center;
  text-decoration: underline;
}

.torque-blog-vehicle-results {
  display: grid;
  grid-template-columns: repeat(var(--torque-blog-columns), minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.torque-blog-vehicle-results .torque-blog-card {
  display: flex;
  flex-direction: column;
}

.torque-blog-layout .torque-blog-empty-state { grid-column: 1 / -1; }

@media (max-width: 1199px) {
  .torque-blog-layout { --torque-blog-columns: 2; }
  .torque-blog-lead .torque-blog-card { grid-template-columns: 1fr 1fr; }
  .torque-vehicle-guide { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .torque-blog-layout { --torque-blog-columns: 1; --torque-blog-gap: 16px; }
  .torque-blog-classic-stream .torque-blog-card,
  .torque-blog-lead .torque-blog-card { grid-template-columns: 1fr; }
  .torque-blog-classic-stream .torque-blog-card .shoper-entry-media,
  .torque-blog-lead .torque-blog-card .shoper-entry-media { min-height: 0; aspect-ratio: 16 / 9; }
  .torque-blog-lead .torque-blog-card .shoper-entry-wrapper { padding: 20px; }
  .torque-blog-lead .torque-blog-card .shoper-entry-title { font-size: 22px; }
  .torque-blog-section-heading { align-items: center; }
  .torque-blog-row-controls a { display: none; }
  .torque-blog-index-item {
    grid-template-columns: 1fr 24px;
    gap: 6px 12px;
  }
  .torque-blog-index-item time,
  .torque-blog-index-item span { grid-column: 1; }
  .torque-blog-index-item i { grid-column: 2; grid-row: 1 / span 3; }
  .torque-blog-chronological-stream,
  .torque-blog-vehicle-results { grid-template-columns: 1fr; }
  .torque-vehicle-guide { padding: 20px; }
  .torque-vehicle-guide__filters { grid-template-columns: 1fr; }
  .torque-vehicle-guide__filters button { grid-column: auto; }
}

/* Customer dashboard system: shared standalone shell, topbar and operational overview. */
body[data-customer-dashboard="true"] {
  --torque-dashboard-page-padding: var(--bb-page-padding, 1.5rem);
  --torque-account-shell-inline-gutter: 1rem;
  --torque-account-topbar-height: 4.5rem;
  --torque-account-sidebar-compact-width: 4.5rem;
  --torque-account-control-height: 2.625rem;
  --torque-account-control-radius: 0.4375rem;
  --torque-account-status-radius: 0.375rem;
  --torque-account-responsive-title-size: 1.125rem;
  --torque-account-text: #17191c;
  --torque-account-text-muted: #6f7986;
  --torque-account-border: #dfe3e8;
  --torque-account-surface: #fff;
  --torque-account-surface-muted: #f4f6f8;
  min-height: 100vh;
  background: #f5f6f8;
}

body[data-customer-dashboard="true"] #page,
body[data-customer-dashboard="true"] .torque-customer-dashboard-main,
body[data-customer-dashboard="true"] .torque-customer-dashboard-main > .shoper-site-content {
  min-height: 100vh;
}

body[data-customer-dashboard="true"] #admin_bar {
  display: none;
}

body.show-admin-bar[data-customer-dashboard="true"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.torque-account-topbar {
  position: sticky;
  z-index: 1010;
  top: 0;
  min-height: var(--torque-account-topbar-height);
  background: #f8f8f7;
  border-bottom: 1px solid #dfe3e8;
  box-shadow: 0 0.25rem 1rem rgba(23, 25, 28, 0.04);
}

.torque-account-topbar__inner {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--torque-account-topbar-height);
  margin-inline: auto;
  padding-inline: 1rem;
}

.torque-account-topbar button,
.torque-account-topbar a,
.torque-account-topbar summary {
  letter-spacing: 0;
}

.torque-account-topbar__menu,
.torque-account-topbar__icon-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  padding: 0;
  color: #17191c;
  background: #f4f6f8;
  border: 1px solid #e1e5e9;
  border-radius: 0.4375rem;
}

.torque-account-topbar__menu {
  margin-right: 0.875rem;
  cursor: pointer;
}

.torque-account-topbar__menu:hover,
.torque-account-topbar__menu:focus-visible,
.torque-account-topbar__icon-action:hover,
.torque-account-topbar__icon-action:focus-visible {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-account-topbar__menu svg {
  width: 1.1875rem;
  height: 1.1875rem;
}

.torque-account-topbar__icon-action svg {
  width: 1.125rem;
  height: 1.125rem;
}

.torque-account-topbar__brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: #17191c;
  text-decoration: none;
}

.torque-account-topbar__brand img {
  width: 7.75rem;
  height: auto;
}

.torque-account-topbar__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.torque-account-topbar__website {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.5rem;
  padding: 0.625rem 0.75rem;
  color: #17191c;
  text-decoration: none;
  background: #f8f8f7;
  border: 1px solid #d7dce2;
  border-radius: 0.4375rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.torque-account-topbar__website:hover,
.torque-account-topbar__website:focus-visible {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-account-topbar__website svg {
  width: 1.25rem;
  height: 1.25rem;
}

.torque-account-topbar__profile {
  position: relative;
  margin-left: 0.25rem;
}

.torque-account-topbar__profile > summary {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, auto) 1rem;
  gap: 0.625rem;
  align-items: center;
  min-height: 3rem;
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
  cursor: pointer;
  list-style: none;
  border-radius: 0.4375rem;
}

.torque-account-topbar__profile > summary::-webkit-details-marker {
  display: none;
}

.torque-account-topbar__profile > summary:hover,
.torque-account-topbar__profile > summary:focus-visible,
.torque-account-topbar__profile[open] > summary {
  background: #f4f6f8;
}

.torque-account-topbar__profile > summary > svg {
  width: 1rem;
  height: 1rem;
  color: #717b87;
  transition: transform 160ms ease;
}

.torque-account-topbar__profile[open] > summary > svg {
  transform: rotate(180deg);
}

.torque-account-topbar__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  overflow: hidden;
  color: #fff;
  background: #17191c;
  border-radius: 0.4375rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.torque-account-topbar__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.torque-account-topbar__identity {
  min-width: 0;
  max-width: 12rem;
}

.torque-account-topbar__identity strong,
.torque-account-topbar__identity small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.torque-account-topbar__identity strong {
  color: #17191c;
  font-size: 0.75rem;
}

.torque-account-topbar__identity small {
  margin-top: 0.125rem;
  color: #7a8491;
  font-size: 0.625rem;
}

.torque-account-topbar__profile-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 0.5rem);
  right: 0;
  display: grid;
  width: 13.5rem;
  padding: 0.375rem;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
  box-shadow: 0 0.75rem 2rem rgba(23, 25, 28, 0.12);
}

.torque-account-topbar__profile-menu a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 2.5rem;
  padding: 0.625rem 0.75rem;
  color: #17191c;
  text-decoration: none;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
}

.torque-account-topbar__profile-menu a:hover,
.torque-account-topbar__profile-menu a:focus-visible {
  background: #f2f4f6;
}

.torque-account-topbar__profile-menu a.is-logout {
  margin-top: 0.25rem;
  color: #d92d3e;
  border-top: 1px solid #e5e8ec;
  border-radius: 0 0 0.375rem 0.375rem;
}

.torque-account-topbar__profile-menu svg {
  width: 1rem;
  height: 1rem;
}

.shoper-account-page {
  padding: 2rem 0 4rem;
  background: #f5f6f8;
}

.torque-customer-dashboard-shell {
  margin-top: 0;
  padding-block: 0 calc(var(--torque-dashboard-page-padding) * 2);
}

.torque-customer-dashboard-shell > .container {
  width: 100%;
  max-width: none;
  padding-inline: 1rem;
}

.shoper-account-page .my-account-inner {
  grid-template-columns: minmax(16rem, 17.5rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  min-height: 38rem;
  transition: grid-template-columns 160ms ease;
}

.torque-customer-dashboard-shell .my-account-inner {
  padding-top: 0;
}

body[data-customer-dashboard="true"] .torque-account-navigation-backdrop {
  display: none;
}

.shoper-account-page .my-account-navigation {
  align-self: start;
  position: sticky;
  top: var(--torque-account-topbar-height);
  margin-inline-start: calc(var(--torque-account-shell-inline-gutter) * -1);
  min-height: calc(100vh - var(--torque-account-topbar-height));
  border-top: 0;
  border-color: #dfe3e8;
  border-radius: 0 0 0.4375rem 0.4375rem;
  box-shadow: none;
  overflow: hidden;
}

.shoper-account-page .shoper-MyAccount-navigation {
  padding: 0;
}

.torque-account-profile {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 1.125rem;
  border-bottom: 1px solid #e5e8ec;
}

.torque-account-profile__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  color: #fff;
  background: #15171a;
  border-radius: 0.4375rem;
  font-size: 0.875rem;
  font-weight: 700;
}

.torque-account-profile__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.torque-account-profile__identity {
  min-width: 0;
}

.torque-account-profile__identity span,
.torque-account-profile__identity strong,
.torque-account-profile__identity small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.torque-account-profile__identity span {
  color: #7a8491;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
}

.torque-account-profile__identity strong {
  margin-top: 0.125rem;
  color: #17191c;
  font-size: 0.875rem;
}

.torque-account-profile__identity small {
  margin-top: 0.125rem;
  color: #7a8491;
  font-size: 0.6875rem;
}

.shoper-account-page .shoper-MyAccount-navigation li + li {
  border-top: 0;
}

.shoper-account-page .shoper-MyAccount-navigation ul {
  padding: 0.625rem;
}

.torque-account-priority {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  padding: 0.75rem 0.625rem 0.625rem;
  border-bottom: 1px solid var(--torque-account-border);
}

.torque-account-primary-navigation {
  margin: 0;
  padding: 0.625rem 0.625rem 0;
  list-style: none;
}

.torque-account-primary-navigation > li > a {
  display: flex;
}

.torque-account-priority-card {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  min-height: 3.375rem;
  padding: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
}

.shoper-account-page .shoper-MyAccount-navigation .torque-account-card {
  border-radius: var(--torque-account-control-radius);
}

.shoper-account-page .shoper-MyAccount-navigation .torque-account-card--interactive.is-active {
  color: #fff;
}

.torque-account-priority-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 1.75rem;
  box-sizing: border-box;
  color: #596371;
  background: #fff;
  border: 1px solid #e1e5e9;
  border-radius: 0.375rem;
}

.torque-account-priority-card__icon svg {
  display: block;
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}

.torque-account-priority-card.is-active .torque-account-priority-card__icon {
  color: var(--torque-account-text);
  border-color: #fff;
}

.torque-account-secondary-navigation {
  padding: 0.25rem 0.625rem 0.625rem;
}

.torque-account-navigation-group + .torque-account-navigation-group {
  margin-top: 0.375rem;
  padding-top: 0.375rem;
  border-top: 1px solid #edf0f2;
}

.torque-account-navigation-group > h2 {
  margin: 0;
  padding: 0.375rem 0.75rem 0.25rem;
  color: #8a939f;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.shoper-account-page .torque-account-navigation-group ul {
  padding: 0;
}

.shoper-account-page .shoper-MyAccount-navigation a {
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
}

.shoper-account-page .shoper-MyAccount-navigation a > svg {
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  color: #6f7986;
}

.shoper-account-page .shoper-MyAccount-navigation a > span:nth-child(2) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shoper-account-page .shoper-MyAccount-navigation li.is-active a {
  color: #fff;
  background: #17191c;
}

.shoper-account-page .shoper-MyAccount-navigation li.is-active a > svg {
  color: #fff;
}

.shoper-account-page .shoper-MyAccount-navigation li.is-logout {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  border-top: 1px solid #e5e8ec;
}

.torque-account-navigation__active-dot {
  width: 0.375rem;
  height: 0.375rem;
  margin-left: auto;
  background: #fff;
  border-radius: 50%;
}

.torque-account-app-download {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin: auto 0.625rem 0.625rem;
  padding: 0.75rem;
  color: #fff;
  background: #17191c;
  border-radius: 0.4375rem;
}

.torque-account-app-download__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0.375rem;
}

.torque-account-app-download__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.torque-account-app-download__content {
  min-width: 0;
}

.torque-account-app-download__content strong,
.torque-account-app-download__content span,
.torque-account-app-download__content small {
  display: block;
  letter-spacing: 0;
}

.torque-account-app-download__content strong {
  color: #fff;
  font-size: 0.8125rem;
  line-height: 1.25;
}

.torque-account-app-download__content span {
  margin-top: 0.25rem;
  color: #cbd1d8;
  font-size: 0.6875rem;
  line-height: 1.35;
}

.torque-account-app-download__content small {
  margin-top: 0.375rem;
  color: #949daa;
  font-size: 0.625rem;
  line-height: 1.2;
}

.shoper-account-page .torque-account-app-download__action {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.375rem;
  padding: 0.5rem 0.75rem;
  color: #17191c;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
}

.shoper-account-page .torque-account-app-download__action:hover,
.shoper-account-page .torque-account-app-download__action:focus-visible {
  color: var(--color-on-primary, #fff);
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.torque-account-app-download__action svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}

.shoper-account-page .shoper-MyAccount-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.shoper-account-page .my-account-content {
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: 0;
}

.torque-account-content-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1rem;
  padding: 1.25rem 1.375rem;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-content-header > div:first-child > span,
.torque-account-welcome > div > span {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--color-primary-text);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.torque-account-content-header h1 {
  margin: 0;
  color: #17191c;
  font-size: var(--torque-account-responsive-title-size);
  font-weight: 700;
  line-height: 1.3;
}

.torque-account-content-header p {
  margin: 0.25rem 0 0;
  color: #6f7986;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.torque-account-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex: 0 0 auto;
  padding: 0.375rem 0.625rem;
  color: #147d61;
  background: #eaf8f3;
  border-radius: var(--torque-account-status-radius);
  font-size: 0.6875rem;
  font-weight: 700;
}

.torque-account-status-badge svg {
  width: 0.875rem;
  height: 0.875rem;
}

.shoper-account-dashboard {
  display: grid;
  gap: 1rem;
}

.torque-account-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.375rem;
  background: #17191c;
  border-radius: 0.4375rem;
}

.torque-account-welcome h2 {
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
}

.torque-account-welcome p {
  margin: 0.25rem 0 0;
  color: #b8bec7;
  font-size: 0.8125rem;
}

.torque-account-welcome .button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  margin: 0;
}

.torque-account-welcome .button svg {
  width: 1rem;
  height: 1rem;
}

.shoper-account-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.shoper-account-metrics a {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  gap: 0.125rem 0.75rem;
  min-height: 7.75rem;
  padding: 1rem;
  background: #fff;
  border-color: #dfe3e8;
  border-radius: 0.4375rem;
}

.shoper-account-metrics a:hover,
.shoper-account-metrics a:focus-visible {
  border-color: #9da5af;
  box-shadow: 0 0.375rem 1rem rgba(23, 25, 28, 0.06);
}

.torque-account-metric__icon {
  display: inline-flex;
  grid-column: 2;
  grid-row: 1;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: #596371;
  background: #f2f4f6;
  border-radius: 0.375rem;
}

.torque-account-metric__icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.torque-account-metric--orders:hover .torque-account-metric__icon,
.torque-account-metric--orders:focus-visible .torque-account-metric__icon {
  color: var(--color-link-hover);
  background: #eff6ff;
}

.torque-account-metric--offers:hover .torque-account-metric__icon,
.torque-account-metric--offers:focus-visible .torque-account-metric__icon {
  color: var(--color-primary-text);
  background: #fff1f2;
}

.torque-account-metric--wishlist:hover .torque-account-metric__icon,
.torque-account-metric--wishlist:focus-visible .torque-account-metric__icon {
  color: #db2777;
  background: #fdf2f8;
}

.torque-account-metric--reviews:hover .torque-account-metric__icon,
.torque-account-metric--reviews:focus-visible .torque-account-metric__icon {
  color: #d97706;
  background: #fffbeb;
}

.torque-account-metric__label {
  display: flex;
  grid-column: 1;
  grid-row: 1;
  align-items: flex-start;
  min-height: 2rem;
  color: #6f7986;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
}

.shoper-account-metrics > a > strong {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 2;
  align-items: flex-end;
  min-height: 2.25rem;
  margin-top: 0.25rem;
  color: #17191c;
  font-size: 1.5rem;
  font-weight: 700;
}

.shoper-account-metrics small {
  grid-column: 1 / -1;
  grid-row: 3;
  color: #8a939f;
  font-size: 0.6875rem;
}

.torque-account-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr);
  gap: 1rem;
}

.torque-account-panel,
.torque-account-quick-actions {
  border-color: #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-panel__head--inline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.torque-text-link {
  color: #17191c;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: underline;
}

.torque-account-order-summary-list {
  display: grid;
}

.torque-account-order-summary-list > a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto 1rem;
  gap: 0.75rem;
  align-items: center;
  min-height: 3.75rem;
  padding: 0.625rem 0;
  color: #17191c;
  text-decoration: none;
  border-top: 1px solid #e8ebef;
}

.torque-account-order-summary-list > a:hover,
.torque-account-order-summary-list > a:focus-visible {
  background: #f8f9fa;
}

.torque-account-order-summary__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: #596371;
  background: #f2f4f6;
  border-radius: 0.375rem;
}

.torque-account-order-summary__icon svg,
.torque-account-order-summary-list > a > svg {
  width: 1rem;
  height: 1rem;
}

.torque-account-order-summary-list strong,
.torque-account-order-summary-list small {
  display: block;
}

.torque-account-order-summary-list strong {
  font-size: 0.8125rem;
}

.torque-account-order-summary-list small {
  color: #7a8491;
  font-size: 0.6875rem;
}

.torque-account-order-summary__total {
  font-size: 0.8125rem;
  font-weight: 700;
  white-space: nowrap;
}

.torque-account-empty--compact {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem;
  background: #f7f8fa;
  border: 0;
}

.torque-account-empty--compact h3 {
  margin: 0;
  color: #17191c;
  font-size: 0.875rem;
}

.torque-account-empty--compact p {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
}

.torque-account-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  color: #596371;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-empty__icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.torque-account-finder {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e8ebef;
}

.torque-account-finder__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.torque-account-finder__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  color: #596371;
  background: #f2f4f6;
  border-radius: 0.4375rem;
}

.torque-account-finder__icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.torque-account-finder__head h3,
.torque-account-finder__head p {
  margin: 0;
}

.torque-account-finder__head h3 {
  color: #17191c;
  font-size: 0.875rem;
  font-weight: 700;
}

.torque-account-finder__head p {
  margin-top: 0.2rem;
  color: #78828e;
  font-size: 0.75rem;
  line-height: 1.45;
}

.torque-account-panel .torque-account-finder__form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.torque-account-finder__vehicle {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  min-width: 0;
  margin: 0;
  padding: 0.625rem;
  background: #f5f6f8;
  border-radius: var(--torque-account-card-radius);
}

.torque-account-finder__vehicle[hidden] {
  display: none;
}

.torque-account-finder__vehicle img {
  display: block;
  width: 100%;
  aspect-ratio: 19 / 10;
  object-fit: cover;
  background: #e8ebef;
  border-radius: var(--torque-account-control-radius);
}

.torque-account-finder__vehicle figcaption {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.torque-account-finder__vehicle figcaption span {
  color: #78828e;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
}

.torque-account-finder__vehicle figcaption strong {
  overflow-wrap: anywhere;
  color: #17191c;
  font-size: 0.875rem;
  line-height: 1.35;
}

.torque-account-finder__field {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  margin: 0;
}

.torque-account-finder__field > span {
  color: #596371;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.torque-account-finder__field select,
.torque-account-finder__field .select2-container .select2-selection--single {
  width: 100%;
  min-height: var(--torque-account-control-height);
  height: var(--torque-account-control-height);
  color: #17191c;
  background: #fff;
  border: 1px solid #d9dee6;
  border-radius: var(--torque-account-control-radius);
  box-shadow: none;
}

.torque-account-finder__field .select2-container {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.torque-account-finder__field .select2-container .select2-selection--single {
  box-sizing: border-box;
}

.torque-account-finder__field .select2-selection--single .select2-selection__rendered {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 2.25rem 0 0.75rem;
  color: #17191c;
  font-size: 0.75rem;
  line-height: 1.2;
}

.torque-account-finder__field .select2 .select2-selection.select2-selection--single .select2-selection__arrow {
  top: 0;
  right: 0.5rem;
  transform: none;
}

.torque-account-finder__field .select2-container--focus .select2-selection--single,
.torque-account-finder__field .select2-container--open .select2-selection--single {
  border-color: #9da5af;
  outline: 0;
  box-shadow: none;
}

.torque-account-finder__status {
  align-self: center;
  grid-column: 1 / span 3;
  grid-row: 2;
  min-height: 1.25rem;
  margin: 0;
  color: #78828e;
  font-size: 0.6875rem;
  line-height: 1.35;
}

.torque-account-finder__status:empty {
  min-height: 0;
}

.torque-account-finder__status[data-state="error"] {
  color: #c93645;
}

.torque-account-finder__action-row {
  display: contents;
}

.torque-account-finder__submit {
  grid-column: 4;
  grid-row: 2;
  width: 100%;
  justify-content: center;
  padding-inline: 0.625rem;
  font-size: 13px;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .torque-account-panel .torque-account-finder__form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .torque-account-finder__field .select2 .select2-selection--single .select2-selection__rendered {
    font-size: 12px;
  }

  .torque-account-finder__label.bb-customer-vehicle-finder__label {
    display: none;
  }

  .torque-account-finder__action-row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.75rem;
    min-width: 0;
    order: 1;
  }

  .torque-account-finder__submit {
    width: max-content;
    max-width: 100%;
  }

  .torque-account-finder__status {
    grid-column: 1 / -1;
    grid-row: auto;
    order: 2;
    white-space: nowrap;
  }

  .torque-account-finder__submit {
    grid-column: auto;
    grid-row: auto;
  }
}

.torque-account-readiness {
  position: relative;
}

.torque-account-progress {
  height: 0.375rem;
  overflow: hidden;
  margin: 0.25rem 0 0.75rem;
  background: #e9edf1;
  border-radius: 999px;
}

.torque-account-progress > div {
  width: var(--torque-account-progress);
  height: 100%;
  background: #16a67a;
  border-radius: inherit;
}

.torque-account-readiness__value {
  display: block;
  color: #17191c;
  font-size: 1.5rem;
  line-height: 1;
}

.torque-account-readiness > p {
  margin: 0.625rem 0 1rem;
  color: #6f7986;
  font-size: 0.75rem;
  line-height: 1.5;
}

.torque-account-readiness .button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  justify-content: center;
}

.torque-account-readiness .button svg {
  width: 1rem;
  height: 1rem;
}

.torque-account-quick-actions {
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #dfe3e8;
}

.torque-account-quick-actions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.torque-account-quick-actions__grid > a {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) 1rem;
  gap: 0.625rem;
  align-items: center;
  min-height: 4rem;
  padding: 0.75rem;
  color: #17191c;
  text-decoration: none;
  background: #f7f8fa;
  border: 1px solid #edf0f2;
  border-radius: 0.375rem;
}

.torque-account-quick-actions__grid > a:hover,
.torque-account-quick-actions__grid > a:focus-visible {
  background: #fff;
  border-color: #9da5af;
}

.torque-account-quick-actions__grid > a > svg {
  width: 1.125rem;
  height: 1.125rem;
  color: #596371;
}

.torque-account-quick-actions__grid strong,
.torque-account-quick-actions__grid small {
  display: block;
}

.torque-account-quick-actions__grid strong {
  font-size: 0.8125rem;
}

.torque-account-quick-actions__grid small {
  margin-top: 0.125rem;
  color: #7a8491;
  font-size: 0.6875rem;
}

/* Customer account data surfaces share one restrained status and card system. */
.torque-account-status,
.shoper-account-page .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 1.5rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid transparent;
  border-radius: var(--torque-account-status-radius);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
}

.torque-account-status--success,
.shoper-account-page .badge.bg-success {
  color: #17624d !important;
  background: #eaf6f1 !important;
  border-color: #cde9de !important;
}

.torque-account-status--warning,
.shoper-account-page .badge.bg-warning {
  color: #73561d !important;
  background: #fbf4df !important;
  border-color: #eee0b7 !important;
}

.torque-account-status--info,
.shoper-account-page .badge.bg-info,
.shoper-account-page .badge.bg-primary {
  color: #285a73 !important;
  background: #eaf3f7 !important;
  border-color: #cfe2eb !important;
}

.torque-account-status--danger,
.shoper-account-page .badge.bg-danger {
  color: #8a3540 !important;
  background: #f9ecee !important;
  border-color: #efcfd4 !important;
}

.torque-account-status--neutral,
.shoper-account-page .badge.bg-secondary {
  color: #515b67 !important;
  background: #f0f2f4 !important;
  border-color: #dfe3e8 !important;
}

.shoper-account-page .badge svg {
  width: 0.75rem;
  height: 0.75rem;
}

.torque-account-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.torque-account-metrics-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.torque-account-metrics-grid > article {
  display: grid;
  gap: 0.25rem;
  min-height: 7rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-metrics-grid span,
.torque-account-metrics-grid small {
  color: #78828e;
  font-size: 0.6875rem;
}

.torque-account-metrics-grid strong {
  align-self: end;
  color: #17191c;
  font-size: 1.25rem;
  font-weight: 700;
}

.torque-account-plan-selector {
  display: grid;
  gap: 1rem;
}

.torque-account-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.torque-account-plan-option {
  display: flex;
  min-width: 0;
  min-height: 12rem;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  background: #f6f7f8;
  border: 1px solid #e1e5e9;
  border-radius: 0.4375rem;
}

.torque-account-plan-option.is-selected {
  border-color: #17191c;
}

.torque-account-plan-option > div > span,
.torque-account-plan-option > div > p,
.torque-account-plan-option > strong small {
  color: #78828e;
  font-size: 0.75rem;
}

.torque-account-plan-option h3,
.torque-account-plan-option p {
  margin: 0;
}

.torque-account-plan-option h3 {
  margin-top: 0.25rem;
  color: #17191c;
  font-size: 1rem;
  font-weight: 700;
}

.torque-account-plan-option > strong {
  color: #17191c;
  font-size: 1.25rem;
}

.torque-account-plan-option form {
  margin-top: auto;
}

.torque-account-plan-option .btn {
  width: 100%;
}

.torque-account-plan-option .btn:disabled {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
  opacity: 1;
}

.torque-account-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.7fr);
  gap: 1rem;
}

.torque-account-loyalty-layout,
.torque-account-gift-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1rem;
  align-items: stretch;
}

.torque-account-gift-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
}

.torque-account-membership-card {
  display: flex;
  flex-direction: column;
  min-height: 20rem;
  padding: 1.25rem;
  color: #fff;
  background: #17191c;
  border-radius: 0.4375rem;
}

.torque-account-membership-card__head,
.torque-account-membership-card__body,
.torque-account-card__head--inline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.torque-account-membership-card__head > div > span,
.torque-account-membership-card__head > div > strong {
  display: block;
}

.torque-account-membership-card__head > div > span {
  color: #aeb5bf;
  font-size: 0.6875rem;
  text-transform: uppercase;
}

.torque-account-membership-card__head > div > strong {
  margin-top: 0.2rem;
  font-size: 1.125rem;
}

.torque-account-membership-card__body {
  align-items: end;
  margin-top: auto;
  padding-top: 1.5rem;
}

.torque-account-membership-card__balance {
  display: grid;
  gap: 0.15rem;
  margin-top: 1.75rem;
}

.torque-account-membership-card__balance small,
.torque-account-membership-card__balance span {
  color: #aeb5bf;
  font-size: 0.75rem;
}

.torque-account-membership-card__balance strong {
  color: #fff;
  font-size: 2rem;
  line-height: 1.15;
}

.torque-account-membership-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin: 0;
}

.torque-account-membership-card dt {
  color: #aeb5bf;
  font-size: 0.6875rem;
}

.torque-account-membership-card dd {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  font-weight: 700;
}

.torque-account-membership-card__qr {
  width: 5rem;
  height: 5rem;
  flex: 0 0 5rem;
  padding: 0.35rem;
  background: #fff;
  border-radius: 0.375rem;
}

.torque-account-membership-card__qr svg {
  width: 100%;
  height: 100%;
}

.torque-account-rewards-panel {
  display: flex;
  flex-direction: column;
}

.torque-account-rewards-panel__progress-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.5rem;
  color: #6f7986;
  font-size: 0.75rem;
}

.torque-account-rewards-panel__progress-copy strong {
  color: #17191c;
}

.torque-account-tier-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 1rem;
}

.torque-account-tier-list > div {
  display: grid;
  gap: 0.15rem;
  padding: 0.7rem;
  color: #6f7986;
  background: #f4f6f8;
  border: 1px solid #e8ebef;
  border-radius: 0.4375rem;
  font-size: 0.6875rem;
}

.torque-account-tier-list > div strong {
  color: #17191c;
  font-size: 0.75rem;
}

.torque-account-tier-list > div.is-current {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-account-tier-list > div.is-current strong {
  color: #fff;
}

.torque-account-reward-action {
  display: grid;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #e8ebef;
}

.torque-account-reward-action > div {
  display: grid;
  gap: 0.15rem;
}

.torque-account-reward-action > div span,
.torque-account-reward-action > div small,
.torque-account-reward-action > p {
  color: #6f7986;
  font-size: 0.75rem;
}

.torque-account-reward-action > div strong {
  color: #17191c;
  font-size: 0.875rem;
}

.torque-account-gift-list {
  display: grid;
  gap: 0.625rem;
}

.torque-account-gift-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(10rem, 1.4fr) minmax(7rem, 0.8fr) minmax(7rem, 0.8fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-height: 4.5rem;
  padding: 0.75rem;
  background: #f7f8fa;
  border: 1px solid #e8ebef;
  border-radius: 0.4375rem;
}

.torque-account-gift-row__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #17191c;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-gift-row__icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.torque-account-gift-row__recipient,
.torque-account-gift-row__date,
.torque-account-gift-row__value {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.torque-account-gift-row small,
.torque-account-gift-row__recipient span {
  color: #78828e;
  font-size: 0.6875rem;
}

.torque-account-gift-row strong {
  overflow: hidden;
  color: #17191c;
  font-size: 0.75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.torque-account-gift-form {
  display: grid;
  gap: 0.875rem;
}

.torque-account-gift-amounts {
  margin: 0;
  padding: 0;
  border: 0;
}

.torque-account-gift-amounts legend,
.torque-account-field > span {
  margin-bottom: 0.4rem;
  color: #17191c;
  font-size: 0.75rem;
  font-weight: 700;
}

.torque-account-gift-amounts > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
}

.torque-account-gift-amounts label {
  position: relative;
  margin: 0;
}

.torque-account-gift-amounts input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.torque-account-gift-amounts label > span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  color: #17191c;
  background: #f4f6f8;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.torque-account-gift-amounts input:checked + span {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.torque-account-field {
  display: grid;
  gap: 0.25rem;
  margin: 0;
}

.torque-account-field input,
.torque-account-field textarea {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  background: #fff;
  border: 1px solid #d9dee6;
  border-radius: 0.4375rem;
}

.torque-account-field textarea {
  min-height: 5.5rem;
  resize: vertical;
}

.torque-account-field small {
  color: #78828e;
  font-size: 0.6875rem;
}

.torque-account-gift-form > .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.75rem;
  margin: 0;
}

.torque-account-gift-form > .button svg {
  width: 1rem;
  height: 1rem;
}

.torque-account-row-list {
  display: grid;
}

.torque-account-row-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.5rem;
  border-top: 1px solid #e8ebef;
  font-size: 0.75rem;
}

.torque-account-muted {
  margin: 0.75rem 0 0;
  color: #6f7986;
  font-size: 0.75rem;
  line-height: 1.5;
}

.torque-account-notice {
  padding: 0.75rem 1rem;
  color: #285a73;
  background: #eaf3f7;
  border: 1px solid #cfe2eb;
  border-radius: 0.4375rem;
  font-size: 0.8125rem;
}

.torque-account-notice--success {
  color: #17624d;
  background: #eaf6f1;
  border-color: #cde9de;
}

.torque-account-notice--danger {
  color: #8a3540;
  background: #f9ecee;
  border-color: #efcfd4;
}

.torque-account-inline-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem !important;
  align-items: end;
}

.torque-account-inline-form label,
.torque-account-inline-form label > span {
  display: grid;
  gap: 0.35rem;
}

.torque-account-inline-form input {
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
}

.torque-account-inline-form .button {
  min-height: 2.75rem;
  margin: 0;
}

.torque-account-table {
  width: 100%;
  border-collapse: collapse;
}

.torque-account-table th,
.torque-account-table td {
  padding: 0.75rem;
  border-top: 1px solid #e8ebef;
  text-align: left;
  font-size: 0.75rem;
}

.torque-account-table th:last-child,
.torque-account-table td:last-child {
  text-align: right;
}

.torque-account-table .is-positive { color: #17624d; font-weight: 700; }
.torque-account-table .is-negative { color: #8a3540; font-weight: 700; }

.torque-account-question-text,
.torque-account-review-summary p {
  margin: 0;
  color: #17191c;
  font-size: 0.875rem;
  line-height: 1.55;
}

.torque-account-answer-list {
  display: grid;
  gap: 0.5rem;
  margin-top: 1rem;
}

.torque-account-answer-list > div {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.125rem 0.75rem;
  padding: 0.875rem;
  background: #f7f8fa;
  border-radius: 0.375rem;
}

.torque-account-answer-list__icon {
  display: inline-flex;
  grid-row: 1 / span 2;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: #596371;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.375rem;
}

.torque-account-answer-list p { margin: 0; font-size: 0.8125rem; }
.torque-account-answer-list small { color: #78828e; font-size: 0.6875rem; }

.torque-account-review-summary {
  display: grid;
  gap: 0.5rem;
}

.torque-account-review-summary > span {
  color: #f3b51b;
  letter-spacing: 0.08em;
}

.torque-account-video-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  color: #17191c;
  font-size: 0.75rem;
  text-decoration: underline;
}

.torque-account-video-link svg {
  width: 1rem;
  height: 1rem;
}

.torque-account-review-video {
  display: grid;
  flex: 0 0 100%;
  gap: 0.875rem;
  width: 100%;
  margin-top: 1rem;
  padding: 1rem;
  background: #f7f8fa;
  border: 1px solid #e8ebef;
  border-radius: 0.4375rem;
  scroll-margin-top: calc(var(--torque-account-topbar-height) + 1rem);
}

.torque-account-review-video__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.torque-account-review-video__head strong,
.torque-account-review-video__head span {
  display: block;
}

.torque-account-review-video__head strong {
  color: #17191c;
  font-size: 0.8125rem;
}

.torque-account-review-video__head > div > span {
  margin-top: 0.2rem;
  color: #78828e;
  font-size: 0.75rem;
}

.torque-account-review-video .torque-account-video-link,
.torque-account-review-video .torque-account-inline-form {
  margin-top: 0;
}

.torque-account-review-video .torque-account-inline-form label {
  margin: 0;
}

.torque-account-review-video .torque-account-video-link {
  min-width: 0;
}

.torque-account-review-video .torque-account-video-link span {
  overflow-wrap: anywhere;
}

.product-reviews-cards .bb-customer-card-content {
  flex-wrap: wrap;
}

.torque-account-card form {
  margin: 0;
}

@media (max-width: 991.98px) {
  .torque-account-metrics-grid,
  .torque-account-metrics-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-account-two-column {
    grid-template-columns: 1fr;
  }

  .torque-account-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-account-subscriptions .torque-account-metrics-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .torque-account-subscriptions .torque-account-metrics-grid > article {
    min-width: 0;
    min-height: 6rem;
    padding: 0.75rem;
  }

  .torque-account-subscriptions .torque-account-metrics-grid strong {
    overflow-wrap: anywhere;
    font-size: clamp(0.75rem, 2.2vw, 1.125rem);
  }

  .torque-account-loyalty-layout,
  .torque-account-gift-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .torque-account-metrics-grid,
  .torque-account-metrics-grid--three,
  .torque-account-membership-card dl,
  .torque-account-definition-grid {
    grid-template-columns: 1fr;
  }

  .torque-account-order-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .torque-account-order-card > .torque-account-card__head {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 0;
  }

  .torque-account-order-card > .torque-account-definition-grid {
    display: contents;
  }

  .torque-account-order-card > .torque-account-definition-grid > div {
    min-width: 0;
  }

  .torque-account-order-card > .torque-account-definition-grid > div:nth-child(1) {
    grid-column: 1;
    grid-row: 3;
  }

  .torque-account-order-card > .torque-account-definition-grid > div:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .torque-account-order-card > .torque-account-definition-grid > div:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }

  .torque-account-order-card > .torque-account-card__actions {
    grid-column: 2;
    grid-row: 3;
    align-items: stretch;
    margin-top: 0;
    min-width: 0;
  }

  .shoper-account-page .torque-account-order-card > .torque-account-card__actions .button {
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
  }

  .torque-account-membership-card__body,
  .torque-account-card__head--inline,
  .torque-account-review-video__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .torque-account-inline-form {
    grid-template-columns: 1fr;
  }

  .torque-account-inline-form .button {
    width: 100%;
  }

  .torque-account-tier-list {
    grid-template-columns: 1fr;
  }

  .torque-account-plan-grid {
    grid-template-columns: 1fr;
  }

  .torque-account-subscriptions .torque-account-metrics-grid--three {
    gap: 0.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .torque-account-subscriptions .torque-account-metrics-grid > article {
    min-height: 5.5rem;
    padding: 0.625rem;
  }

  .torque-account-subscriptions .torque-account-metrics-grid span,
  .torque-account-subscriptions .torque-account-metrics-grid small {
    font-size: 0.625rem;
  }

  .torque-account-gift-row {
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  }

  .torque-account-gift-row__date,
  .torque-account-gift-row__value {
    grid-column: 2;
  }

  .torque-account-gift-row > .torque-account-status {
    grid-column: 3;
    grid-row: 1;
  }

  .torque-account-gift-amounts > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  body[data-customer-dashboard="true"] {
    --torque-account-shell-inline-gutter: 0rem;
  }

  .torque-customer-dashboard-shell > .container {
    padding-left: 0;
  }

  .torque-customer-dashboard-shell .shoper-MyAccount-content {
    padding-top: var(--torque-dashboard-page-padding);
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .my-account-inner {
    grid-template-columns: var(--torque-account-sidebar-compact-width) minmax(0, 1fr);
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-profile {
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-profile__avatar {
    width: 2.5rem;
    height: 2.5rem;
    margin-inline: auto;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-profile__identity,
  .torque-customer-dashboard-shell.is-navigation-collapsed .shoper-MyAccount-navigation a > span:nth-child(2),
  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-navigation__active-dot,
  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-navigation-group > h2,
  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-priority-card > span:last-child {
    display: none;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-priority {
    grid-template-columns: 1fr;
    padding-inline: 0.5rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-priority-card {
    display: flex;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.375rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-secondary-navigation {
    padding-inline: 0.5rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .shoper-MyAccount-navigation ul {
    padding-inline: 0.5rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .shoper-MyAccount-navigation a {
    justify-content: center;
    gap: 0;
    padding-inline: 0.5rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-app-download {
    display: flex;
    justify-content: center;
    margin-inline: 0.5rem;
    padding: 0.5rem;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-app-download__icon,
  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-app-download__content,
  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-app-download__action span {
    display: none;
  }

  .torque-customer-dashboard-shell.is-navigation-collapsed .torque-account-app-download__action {
    width: 2.5rem;
    min-height: 2.5rem;
    padding: 0;
  }
}

@media (max-width: 1199.98px) {
  body.torque-account-navigation-open {
    overflow: hidden;
  }

  .torque-account-topbar__website span {
    display: none;
  }

  .torque-account-topbar__website {
    justify-content: center;
    width: 2.5rem;
    padding: 0;
  }

  .shoper-account-page .my-account-inner {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .torque-account-section--viewport-empty {
    min-height: calc(100dvh - var(--torque-account-topbar-height) - var(--torque-dashboard-page-padding));
  }

  .shoper-account-page .my-account-navigation {
    position: fixed;
    z-index: 1005;
    inset: 0 auto 0 0;
    width: min(20rem, calc(100vw - 2.5rem));
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: none;
    margin: 0;
    padding-top: var(--torque-account-topbar-height);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    visibility: hidden;
    background: #fff;
    border: 0;
    border-right: 1px solid #dfe3e8;
    border-radius: 0;
    box-shadow: 0.75rem 0 2rem rgba(23, 25, 28, 0.14);
    transform: translateX(-100%);
    transition: transform 180ms ease, visibility 180ms ease;
  }

  .torque-account-profile {
    display: none;
  }

  .torque-customer-dashboard-shell.is-navigation-open .my-account-navigation {
    visibility: visible;
    transform: translateX(0);
  }

  body[data-customer-dashboard="true"] .torque-account-navigation-backdrop {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding: 0;
    visibility: hidden;
    background: rgba(23, 25, 28, 0.14);
    border: 0;
    border-radius: 0;
    opacity: 0;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  body[data-customer-dashboard="true"] .torque-customer-dashboard-shell.is-navigation-open .torque-account-navigation-backdrop {
    visibility: visible;
    opacity: 1;
  }

  .torque-account-menu .torque-account-app-download {
    margin-top: 0.25rem;
  }

  .shoper-account-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-customer-dashboard="true"] .torque-account-topbar__menu[aria-expanded="false"] {
    color: #17191c;
    background: #f4f6f8;
    border-color: #e1e5e9;
  }

  body[data-customer-dashboard="true"] .torque-account-topbar__menu[aria-expanded="true"] {
    color: #fff;
    background: #17191c;
    border-color: #17191c;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .torque-customer-dashboard-shell .shoper-MyAccount-content {
    padding-top: var(--torque-dashboard-page-padding);
  }

  .torque-account-section--viewport-empty {
    min-height: calc(100dvh - var(--torque-account-topbar-height) - (var(--torque-dashboard-page-padding) * 2));
  }

  .shoper-account-page .my-account-navigation {
    padding-top: calc(var(--torque-account-topbar-height) + 0.75rem);
    overflow-y: clip;
  }

  .shoper-account-page .torque-account-menu {
    width: 100%;
    flex: 0 1 auto;
    box-sizing: border-box;
    padding: 0 0.75rem 0.75rem;
  }

  .shoper-account-page .shoper-MyAccount-navigation {
    min-height: 0;
  }

  .shoper-account-page .torque-account-primary-navigation,
  .shoper-account-page .torque-account-priority,
  .shoper-account-page .torque-account-secondary-navigation,
  .shoper-account-page .torque-account-navigation-group ul {
    padding-inline: 0;
  }

  .shoper-account-page .torque-account-primary-navigation {
    padding-top: 0;
  }

  .shoper-account-page .torque-account-priority {
    padding-top: 0.75rem;
  }

  .shoper-account-page .torque-account-app-download {
    margin-inline: 0;
  }
}

@media (max-width: 767.98px) {
  body[data-customer-dashboard="true"] {
    --torque-account-shell-inline-gutter: 0.75rem;
    --torque-account-topbar-height: 4rem;
  }

  .torque-account-topbar,
  .torque-account-topbar__inner {
    min-height: 4rem;
  }

  .torque-account-topbar__inner {
    padding-inline: 0.75rem;
  }

  .torque-account-topbar__menu {
    margin-right: 0.625rem;
  }

  .torque-account-topbar__brand img {
    width: 6.5rem;
  }

  .torque-account-topbar__identity {
    display: none;
  }

  .torque-account-topbar__website {
    display: inline-flex;
  }

  .torque-account-topbar__actions {
    gap: 0.375rem;
  }

  .torque-account-topbar__profile {
    margin-left: 0;
  }

  .torque-account-topbar__profile > summary {
    grid-template-columns: 2.5rem 0.875rem;
    gap: 0.25rem;
    padding-right: 0.25rem;
  }

  .shoper-account-page {
    padding: 1rem 0 5.5rem;
  }

  .shoper-account-page .container {
    padding-inline: 0.75rem;
  }

  .shoper-account-page .shoper-MyAccount-navigation,
  .shoper-account-page .shoper-MyAccount-content {
    padding: 0;
  }

  .torque-account-section--viewport-empty {
    min-height: calc(100dvh - var(--torque-account-topbar-height) - 2rem);
  }

  .torque-account-empty--viewport {
    min-height: 16rem;
    padding-inline: 1rem;
  }

  .torque-account-content-header,
  .torque-account-welcome {
    padding: 1rem;
  }

  .torque-account-status-badge {
    align-self: flex-start;
  }

  .torque-account-welcome {
    align-items: flex-start;
    flex-direction: column;
  }

  .torque-account-welcome .button {
    width: 100%;
    justify-content: center;
  }

  .shoper-account-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shoper-account-metrics a {
    min-height: 7.75rem;
  }

  .torque-account-overview-grid,
  .torque-account-quick-actions__grid {
    grid-template-columns: 1fr;
  }

  .torque-account-quick-actions,
  .torque-account-panel {
    padding: 1rem;
  }
}

@media (max-width: 575.98px) {
  .torque-account-panel .torque-account-finder__form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.625rem;
  }

  .torque-account-finder__field .select2-selection--single .select2-selection__rendered {
    min-width: 0;
    overflow: hidden;
    padding-right: 2rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .torque-account-finder__vehicle {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .torque-account-finder__status {
    min-height: 0;
    font-size: clamp(0.546875rem, 2.3vw, 0.6875rem);
  }
}

@media (max-width: 419.98px) {
  .torque-account-content-header {
    flex-direction: column;
  }

  .torque-account-status-badge {
    align-self: auto;
  }
}

/* Customer action variants are shared by every account surface. */
.shoper-account-page .button,
.shoper-account-page .shoper-MyAccount-content .button {
  gap: 0.5rem;
  min-height: var(--torque-account-control-height);
  height: var(--torque-account-control-height);
  border-radius: var(--torque-account-control-radius);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0;
}

.shoper-account-page .button svg,
.shoper-account-page .shoper-MyAccount-content .button svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}

.shoper-account-page .button.secondary {
  color: #17191c;
  background: #fff;
  border-color: #dfe3e8;
}

.shoper-account-page .button.secondary:hover,
.shoper-account-page .button.secondary:focus-visible {
  color: #fff;
  background: #17191c;
  border-color: #17191c;
}

.shoper-account-page .button.danger {
  color: #fff;
  background: #c93645;
  border-color: #c93645;
}

.shoper-account-page .button.danger:hover,
.shoper-account-page .button.danger:focus-visible {
  color: #fff;
  background: #a92d3a;
  border-color: #a92d3a;
}

/* Core/plugin forms may emit Bootstrap button classes; map them to the same customer primitive. */
.shoper-account-page .shoper-MyAccount-content .btn:not(.btn-close) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: var(--torque-account-control-height);
  height: var(--torque-account-control-height);
  margin: 0;
  padding: 0 1.25rem;
  color: var(--color-text-primary);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  background: var(--color-info);
  border: 1px solid transparent;
  border-radius: var(--torque-account-control-radius);
  box-shadow: none;
}

.shoper-account-page .shoper-MyAccount-content .btn:not(.btn-close) svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}

.shoper-account-page .shoper-MyAccount-content .btn-primary:not(.btn-close):hover,
.shoper-account-page .shoper-MyAccount-content .btn-primary:not(.btn-close):focus-visible {
  color: var(--color-text-primary);
  background: var(--color-info-dark);
  border-color: transparent;
}

.shoper-account-page .shoper-MyAccount-content .btn-outline-secondary:not(.btn-close) {
  color: var(--torque-account-text);
  background: #fff;
  border-color: var(--torque-account-border);
}

.shoper-account-page .shoper-MyAccount-content .btn-outline-secondary:not(.btn-close):hover,
.shoper-account-page .shoper-MyAccount-content .btn-outline-secondary:not(.btn-close):focus-visible {
  color: #fff;
  background: var(--torque-account-text);
  border-color: var(--torque-account-text);
}

.shoper-account-page .shoper-MyAccount-content .btn-danger:not(.btn-close),
.shoper-account-page .shoper-MyAccount-content .btn-outline-danger:not(.btn-close) {
  color: #8a3540;
  background: #fff;
  border-color: #dcaeb5;
}

.shoper-account-page .shoper-MyAccount-content .btn-danger:not(.btn-close):hover,
.shoper-account-page .shoper-MyAccount-content .btn-danger:not(.btn-close):focus-visible,
.shoper-account-page .shoper-MyAccount-content .btn-outline-danger:not(.btn-close):hover,
.shoper-account-page .shoper-MyAccount-content .btn-outline-danger:not(.btn-close):focus-visible {
  color: #fff;
  background: #a92d3a;
  border-color: #a92d3a;
}

.shoper-account-page .shoper-MyAccount-content .btn-sm:not(.btn-close) {
  min-height: 2.125rem;
  height: 2.125rem;
  padding-inline: 0.75rem;
  font-size: 0.6875rem;
}

.torque-account-invoices,
.torque-account-invoice-detail {
  gap: 1rem;
}

.torque-account-invoice-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.torque-account-invoice-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem 0.75rem;
  min-height: 7.25rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-invoice-metric > span:not(.torque-account-invoice-metric__icon) {
  color: #6f7986;
  font-size: 0.75rem;
  font-weight: 600;
}

.torque-account-invoice-metric strong {
  align-self: end;
  color: #17191c;
  font-size: 1.25rem;
  font-weight: 700;
}

.torque-account-invoice-metric__icon,
.torque-account-invoice-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #596371;
  background: #f2f4f6;
  border-radius: 0.375rem;
}

.torque-account-invoice-metric__icon {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.torque-account-invoice-metric__icon svg,
.torque-account-invoice-card__icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.torque-account-invoice-card {
  display: grid;
  grid-template-columns: minmax(13rem, 0.75fr) minmax(0, 1.65fr);
  gap: 1rem 1.5rem;
  align-items: start;
}

.torque-account-invoice-card__identity {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.torque-account-invoice-card__identity .torque-account-card__head {
  margin: 0;
}

.torque-account-invoice-card__identity .badge {
  width: fit-content;
}

.torque-account-invoice-card__facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.torque-account-invoice-card__actions {
  grid-column: 1 / -1;
  margin-top: 0;
  padding-top: 1rem;
  border-top: 1px solid #e5e8ec;
}

.torque-account-invoice-card__actions > div {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.torque-account-invoice-document {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0.4375rem;
}

.torque-account-invoice-document__head,
.torque-account-invoice-document__parties,
.torque-account-invoice-document__footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.torque-account-invoice-document__head {
  align-items: start;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e5e8ec;
}

.torque-account-invoice-document__issuer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.torque-account-invoice-document__issuer img {
  width: auto;
  max-width: 8rem;
  height: 2.5rem;
  object-fit: contain;
}

.torque-account-invoice-document__issuer span,
.torque-account-invoice-document__issuer strong,
.torque-account-invoice-document__number span,
.torque-account-invoice-document__number strong,
.torque-account-invoice-document__number small {
  display: block;
}

.torque-account-invoice-document__issuer span,
.torque-account-invoice-document__number span,
.torque-account-invoice-document__parties section > span,
.torque-account-invoice-document__note > span {
  color: #6f7986;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.torque-account-invoice-document__issuer strong,
.torque-account-invoice-document__number strong {
  margin-top: 0.25rem;
  color: #17191c;
  font-size: 1.25rem;
}

.torque-account-invoice-document__number {
  text-align: right;
}

.torque-account-invoice-document__number small {
  margin-top: 0.25rem;
  color: #6f7986;
  font-size: 0.75rem;
}

.torque-account-invoice-document__parties {
  padding: 1.5rem 0;
}

.torque-account-invoice-document__parties section {
  min-width: 0;
  padding: 1rem;
  background: #f9fafb;
  border-radius: 0.375rem;
}

.torque-account-invoice-document__parties h2 {
  margin: 0.35rem 0 0.5rem;
  color: #17191c;
  font-size: 1rem;
  font-weight: 700;
}

.torque-account-invoice-document__parties p {
  margin: 0.15rem 0;
  color: #596371;
  font-size: 0.8125rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.torque-account-invoice-document__parties dl {
  display: grid;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
}

.torque-account-invoice-document__parties dl div,
.torque-account-invoice-totals div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.torque-account-invoice-document__parties dt,
.torque-account-invoice-totals dt {
  color: #6f7986;
  font-size: 0.75rem;
  font-weight: 600;
}

.torque-account-invoice-document__parties dd,
.torque-account-invoice-totals dd {
  margin: 0;
  color: #17191c;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: right;
}

.torque-account-invoice-table-wrap {
  overflow-x: auto;
  border: 1px solid #e5e8ec;
  border-radius: 0.375rem;
}

.torque-account-invoice-table {
  width: 100%;
  border-collapse: collapse;
}

.torque-account-invoice-table th,
.torque-account-invoice-table td {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #e5e8ec;
  color: #17191c;
  font-size: 0.8125rem;
  text-align: right;
  vertical-align: top;
}

.torque-account-invoice-table th {
  color: #596371;
  background: #f9fafb;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.torque-account-invoice-table th:first-child,
.torque-account-invoice-table td:first-child {
  width: 55%;
  text-align: left;
}

.torque-account-invoice-table tbody tr:last-child td {
  border-bottom: 0;
}

.torque-account-invoice-table td strong,
.torque-account-invoice-table td small {
  display: block;
}

.torque-account-invoice-table td small {
  margin-top: 0.25rem;
  color: #6f7986;
  font-size: 0.75rem;
}

.torque-account-invoice-document__footer {
  align-items: start;
  padding-top: 1.5rem;
}

.torque-account-invoice-document__note p {
  max-width: 34rem;
  margin: 0.5rem 0 0;
  color: #6f7986;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.torque-account-invoice-totals {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 1rem;
  background: #f9fafb;
  border-radius: 0.375rem;
}

.torque-account-invoice-totals .is-total {
  margin-top: 0.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid #dfe3e8;
}

.torque-account-invoice-totals .is-total dt,
.torque-account-invoice-totals .is-total dd {
  color: #17191c;
  font-size: 1rem;
  font-weight: 800;
}

.torque-account-invoice-actions {
  margin-top: 0;
}

.torque-account-invoice-actions > div {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

@media (max-width: 991.98px) {
  .torque-account-invoice-metrics,
  .torque-account-invoice-card__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-account-invoice-card {
    grid-template-columns: 1fr;
  }

  .torque-account-invoice-card__actions {
    grid-column: 1;
  }
}

@media (max-width: 767.98px) {
  .torque-account-invoice-document {
    padding: 1rem;
  }

  .torque-account-invoice-document__head,
  .torque-account-invoice-document__parties,
  .torque-account-invoice-document__footer {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .torque-account-invoice-document__number {
    text-align: left;
  }

  .torque-account-invoice-table-wrap {
    overflow: visible;
    border: 0;
  }

  .torque-account-invoice-table,
  .torque-account-invoice-table tbody,
  .torque-account-invoice-table tr,
  .torque-account-invoice-table td {
    display: block;
    width: 100%;
  }

  .torque-account-invoice-table thead {
    display: none;
  }

  .torque-account-invoice-table tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0.75rem;
    border: 1px solid #e5e8ec;
    border-radius: 0.375rem;
    overflow: hidden;
  }

  .torque-account-invoice-table td,
  .torque-account-invoice-table td:first-child {
    width: auto;
    padding: 0.75rem;
    border-bottom: 0;
    text-align: left;
  }

  .torque-account-invoice-table td:first-child {
    grid-column: 1 / -1;
    background: #f9fafb;
    border-bottom: 1px solid #e5e8ec;
  }

  .torque-account-invoice-table td:not(:first-child)::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.25rem;
    color: #6f7986;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .torque-account-invoice-actions,
  .torque-account-invoice-actions > div {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .torque-account-invoice-actions .button {
    width: 100%;
  }
}

/* Core bottom bar contract: the shared preset can switch between the
   full-width model and the existing elevated/floating model. */
@media screen and (max-width: 767.98px) {
  .shoper-mobile-bottom-menu--classic {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .shoper-mobile-bottom-menu--classic .mobile-menu {
    max-width: none !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 575.98px) {
  .torque-account-invoice-metrics,
  .torque-account-invoice-card__facts {
    grid-template-columns: 1fr;
  }

  .torque-account-invoice-card__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .torque-account-invoice-card__actions > div,
  .torque-account-invoice-card__actions .button {
    width: 100%;
  }
}

/* Cookie preferences button (cookie-consent plugin) sits above the mobile bottom bar instead of
   under it; the bar is shown below 992px. */
@media (max-width: 991.98px) {
    body:has(.mobile-bottom-menu) {
        --site-notice-reopen-offset: 88px;
    }
}

/* Editorial page blocks (torque-page-hero, torque-about-intro, torque-image-pair,
   torque-numbered-section, torque-media-text). Hero markup reuses the PartDo page-banner
   classes from shoper-base.css; spacing below mirrors the PartDo "About us" page section
   margins (45/30/20px between rows on desktop, flush on mobile). */
.torque-block-page {
  padding-top: 0;
  padding-bottom: 0.9375rem;
  /* The intro card under the hero reaches 80px past the container (PartDo); it must not widen the page. */
  overflow-x: clip;
}

.torque-page-text {
  color: #212529;
  font-size: 1rem;
  line-height: 1.5;
}

.torque-page-text > * {
  margin: 0 0 1.25rem;
}

.torque-page-text > :last-child {
  margin-bottom: 0;
}

.torque-about-intro {
  position: relative;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

/* PartDo darkens the hero image by 20%, enough for its dark photos; a bright photo needs more
   so the white title stays readable (block option "overlay"). */
.shoper-entry-page-header.torque-page-hero--dark .shoper-entry-image::before {
  background-color: rgba(0, 0, 0, 0.55);
}

/* Directly under the hero the intro rises onto a rounded card over the image (PartDo
   ".entry-page-header + .white-box"). */
@media screen and (min-width: 992px) {
  .torque-page-hero + .torque-about-intro {
    z-index: 3;
    margin-top: -5rem;
  }

  .torque-page-hero + .torque-about-intro::before {
    content: "";
    position: absolute;
    top: -65px;
    left: -80px;
    right: -80px;
    height: 200px;
    background-color: var(--color-body);
    border-top-left-radius: var(--theme-theme-radius-large);
    border-top-right-radius: var(--theme-theme-radius-large);
  }

  .torque-page-hero + .torque-about-intro > * {
    position: relative;
    z-index: 1;
  }
}

.torque-image-pair,
.torque-media-text {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.torque-image-pair__grid {
  display: grid;
  gap: 1.875rem;
}

.torque-image-pair__item,
.torque-media-text__media {
  margin: 0;
}

.torque-image-pair__item img,
.torque-media-text__media img {
  display: block;
  width: 100%;
  border-radius: 12px;
}

.torque-image-pair__item img {
  height: auto;
  object-fit: cover;
}

.torque-image-pair__item--wide img {
  aspect-ratio: 992 / 659;
}

.torque-image-pair__item--narrow img {
  aspect-ratio: 576 / 793;
}

.torque-media-text__media img {
  height: auto;
}

.torque-numbered-section {
  padding-bottom: 0.9375rem;
}

/* The rule sits in the section's top padding (not a margin) so it never collapses into the
   section margin above it. */
.torque-numbered-section--divider {
  padding-top: 1.875rem;
}

.torque-numbered-section--divider::before {
  content: "";
  display: block;
  height: 1px;
  margin-bottom: 1.875rem;
  background-color: #dee2e6;
}

.torque-numbered-section__head {
  display: flex;
  flex-direction: column;
}

.torque-numbered-section__number {
  display: block;
  margin: 0.9375rem 0 2.0625rem;
  color: #f0f2f4;
  font-size: 5.625rem;
  font-weight: 700;
  line-height: 90px;
}

.torque-numbered-section__eyebrow {
  display: block;
  color: #868e96;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 18px;
}

.torque-numbered-section__heading {
  margin: 0.5625rem 0 0;
  color: #212529;
  font-size: 2.25rem;
  font-weight: 700;
  /* Room for Romanian diacritics (ț, ș) between wrapped lines. */
  line-height: 1.2;
}

.torque-numbered-section__body {
  margin-top: 2.5rem;
}

.torque-media-text__grid {
  display: grid;
  gap: 1.875rem;
}

/* Brand logos placed on a block page follow the PartDo about page rhythm (30px after the
   previous section) instead of the home page module offset. */
.torque-block-page .shoper-module-logos {
  margin-top: 0;
}

.torque-block-page > .shoper-home-block {
  margin-top: 0;
  padding-top: 0.9375rem;
}

@media screen and (min-width: 992px) {
  .torque-block-page > .shoper-home-block {
    margin-top: 1.875rem;
  }
}

.torque-media-text--staggered .torque-media-text__media + .torque-media-text__text,
.torque-media-text--staggered .torque-media-text__text + .torque-media-text__media {
  margin-top: 1.25rem;
}

@media screen and (min-width: 992px) {
  .torque-image-pair,
  .torque-media-text {
    margin-top: 2.8125rem;
  }

  .torque-image-pair__grid {
    grid-template-columns: minmax(0, 829fr) minmax(0, 400fr);
  }

  .torque-image-pair--narrow-first .torque-image-pair__grid {
    grid-template-columns: minmax(0, 400fr) minmax(0, 829fr);
  }

  .torque-image-pair--narrow-first .torque-image-pair__item--narrow {
    order: -1;
  }

  .torque-numbered-section {
    margin-top: 1.875rem;
  }

  .torque-numbered-section--divider {
    margin-top: 1.25rem;
  }

  .torque-numbered-section--divider::before {
    margin-bottom: 3.75rem;
  }

  .torque-numbered-section__head {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .torque-numbered-section--indent .torque-numbered-section__head,
  .torque-numbered-section--indent .torque-numbered-section__body {
    padding-left: 6.25rem;
  }

  /* The outlined number overhangs the title row like PartDo's (-10px top); its box is
     trimmed so the text column alone sets the row height. */
  .torque-numbered-section__number {
    flex: 0 0 auto;
    margin: 0.3125rem 0 -0.875rem;
  }

  .torque-numbered-section__titles {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 1.125rem;
  }

  .torque-numbered-section__body {
    margin-top: 3.375rem;
  }

  .torque-media-text__grid {
    grid-template-columns: minmax(0, 625fr) minmax(0, 507fr);
    gap: 8rem;
  }

  .torque-media-text--image-right .torque-media-text__grid {
    grid-template-columns: minmax(0, 507fr) minmax(0, 625fr);
  }

  .torque-media-text--image-right .torque-media-text__col--main {
    order: 2;
  }

  .torque-media-text--staggered .torque-media-text__col--main .torque-media-text__media + .torque-media-text__text {
    margin-top: 4.6875rem;
  }

  .torque-media-text--staggered .torque-media-text__col--second .torque-media-text__text + .torque-media-text__media {
    margin-top: 4.375rem;
  }
}

/* Opt-in "text_backdrop=dark" on the hero slider, banner groups and the product-collection banner.
   Torque's own photos are dark where the text sits, so a 15% overlay is enough; a shop with bright
   photos gets a gradient behind the text that fades out towards the rest of the picture. */
.torque-text-backdrop .shoper-banner.style-inner .shoper-entry-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.55) 38%, rgba(0, 0, 0, 0.12) 72%, rgba(0, 0, 0, 0) 100%);
}

@media screen and (max-width: 767.98px) {
  .torque-text-backdrop .shoper-banner.style-inner .shoper-entry-media::after {
    background: rgba(0, 0, 0, 0.55);
  }
}

/* Slider and banner pictures keep Torque's proportions whatever the shop uploads: the home layout
   (slider level with the category menu, banners in even rows) is built on them. Torque's own
   images already have these ratios (within a pixel); other pictures are cropped to fit. Below
   992px the picture already fills the text box, as in PartDo. */
@media screen and (min-width: 992px) {
  .shoper-home-block--hero .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 930 / 520;
  }

  [data-erp-banner-preset="primary-trio"] .shoper-banner.style-inner .shoper-entry-media,
  [data-erp-banner-preset="secondary-trio"] .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 397 / 234;
  }

  [data-erp-banner-preset="middle-pair"] .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 610 / 273;
  }

  [data-erp-banner-preset="wide"] .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 1250 / 273;
  }

  .shoper-home-block--hero .shoper-banner.style-inner .shoper-entry-media img,
  [data-erp-banner-preset] .shoper-banner.style-inner .shoper-entry-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Brand row, opt-in "hover_color": grey logos turn to their own colours on hover. */
.torque-logos-hover-color .shoper-module.grayscale-enable img {
  transition: filter 0.25s ease, opacity 0.25s ease;
}

.torque-logos-hover-color .shoper-module.grayscale-enable .logo-item:hover img {
  -webkit-filter: none;
  filter: none;
}

/* Help pages (FAQ block + /policies): text header on the footer's light surface, then a side
   column (navigation + help card, sticky on desktop) next to the content. On mobile the side
   column dissolves: its navigation becomes a chip row above the content and the help card
   moves below it. */
.torque-help {
  padding-bottom: 3.75rem;
}

.torque-help-header {
  margin-bottom: 2.5rem;
  padding-top: 1.25rem;
  padding-bottom: 2.5rem;
  background-color: #f6f7f9;
  border-bottom: 1px solid var(--color-info);
}

.torque-help-header__body {
  max-width: 47.5rem;
  padding-top: 1.875rem;
}

.torque-help-header__eyebrow {
  display: inline-block;
  margin-bottom: 0.75rem;
  color: var(--color-primary-text);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.torque-help-header__title {
  margin: 0;
  color: #212529;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.15;
}

.torque-help-header__lead {
  margin: 1rem 0 0;
  color: #495057;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.torque-help-header__meta {
  margin: 1rem 0 0;
  color: var(--color-text-description);
  font-size: 0.875rem;
}

.torque-help__layout {
  display: grid;
  gap: 2rem;
}

.torque-help__aside {
  display: contents;
}

.torque-help-nav {
  order: 0;
  min-width: 0;
}

.torque-help__main {
  order: 1;
  min-width: 0;
}

.torque-help-card {
  order: 2;
}

.torque-help-nav__title {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.torque-help-nav__list {
  display: flex;
  gap: 0.5rem;
  margin: 0 -0.9375rem;
  padding: 0 0.9375rem 0.25rem;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: none;
}

.torque-help-nav__list::-webkit-scrollbar {
  display: none;
}

.torque-help-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  padding: 0.5rem 0.875rem;
  color: #212529;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  border: 1px solid var(--color-info-dark);
  border-radius: 999px;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.torque-help-nav__link:hover {
  color: var(--color-primary-text);
  border-color: var(--color-primary);
}

.torque-help-nav__link.is-active {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.torque-help-nav__count {
  min-width: 1.5rem;
  padding: 0.0625rem 0.4375rem;
  color: var(--color-text-description);
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  background-color: #f1f3f5;
  border-radius: 999px;
}

.torque-help-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem;
  background-color: #f6f7f9;
  border-radius: var(--theme-theme-radius-base);
}

.torque-help-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 1rem;
  color: var(--color-primary-text);
  font-size: 1.375rem;
  background-color: #fff;
  border-radius: 50%;
}

.torque-help-card__title {
  color: #212529;
  font-size: 1rem;
  font-weight: 600;
}

.torque-help-card__phone {
  margin-top: 0.375rem;
  color: var(--color-primary-text);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
}

.torque-help-card__phone:hover {
  color: var(--color-primary-dark);
}

.torque-help-card__hours {
  margin: 0.625rem 0 0;
  color: var(--color-text-description);
  font-size: 0.875rem;
  line-height: 1.6;
}

.torque-help-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin-top: 1.25rem;
  padding: 0 1.25rem;
  color: var(--color-on-primary, #fff);
  font-size: 0.9375rem;
  font-weight: 600;
  background-color: var(--color-primary);
  border-radius: var(--theme-form-radius);
  transition: background-color 0.2s ease;
}

.torque-help-card__button:hover,
.torque-help-card__button:focus-visible {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary-dark);
}

@media screen and (min-width: 992px) {
  .torque-help-header {
    margin-bottom: 3.75rem;
    padding-bottom: 3.125rem;
  }

  .torque-help-header__title {
    font-size: 3rem;
  }

  .torque-help__layout {
    grid-template-columns: 18.75rem minmax(0, 1fr);
    gap: 3.75rem;
    align-items: start;
  }

  .torque-help__aside {
    position: sticky;
    top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .torque-help-nav {
    padding: 1.25rem;
    border: 1px solid var(--color-info);
    border-radius: var(--theme-theme-radius-base);
  }

  .torque-help-nav__list {
    flex-direction: column;
    gap: 0.125rem;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .torque-help-nav__link {
    padding: 0.625rem 0.75rem;
    white-space: normal;
    border: 0;
    border-radius: var(--theme-theme-radius-small);
  }

  .torque-help-nav__link:hover {
    background-color: #f6f7f9;
  }

  .torque-help-nav__link.is-active {
    color: var(--color-primary-text);
    font-weight: 600;
    background-color: var(--color-primary-lighter);
  }

  .torque-help-nav__link.is-active .torque-help-nav__count {
    color: var(--color-primary-text);
    background-color: #fff;
  }
}

/* FAQ: search field, category groups, accordion items. */
.torque-faq-search {
  position: relative;
  margin-bottom: 2.5rem;
}

.torque-faq-search i {
  position: absolute;
  top: 50%;
  left: 1.125rem;
  color: var(--color-text-description);
  font-size: 1.125rem;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Doubled class: beats the base input[type="search"] height/padding rule. */
.torque-faq-search .torque-faq-search__input {
  width: 100%;
  height: 3.375rem;
  padding: 0 1.125rem 0 3.125rem;
  color: #212529;
  font-size: 1rem;
  background-color: #fff;
  border: 1px solid var(--color-info-dark);
  border-radius: var(--theme-form-radius);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.torque-faq-search .torque-faq-search__input:focus {
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.torque-faq-empty {
  margin: 0 0 2rem;
  color: var(--color-text-description);
}

.torque-faq-group {
  scroll-margin-top: 1.5rem;
}

.torque-faq-group + .torque-faq-group {
  margin-top: 3rem;
}

.torque-faq-group__title {
  margin: 0 0 1.25rem;
  color: #212529;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}

.torque-faq-group__description {
  margin: -0.5rem 0 1.25rem;
  color: var(--color-text-description);
}

.torque-faq-item {
  background-color: #fff;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.torque-faq-item + .torque-faq-item {
  margin-top: 0.75rem;
}

.torque-faq-item[open] {
  border-color: var(--color-info-dark);
  box-shadow: 0 0.5rem 1.5rem rgba(33, 37, 41, 0.06);
}

.torque-faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.125rem 1.25rem;
  color: #212529;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
  border-radius: var(--theme-theme-radius-base);
  transition: color 0.2s ease;
}

.torque-faq-item__question::-webkit-details-marker {
  display: none;
}

.torque-faq-item__question:hover {
  color: var(--color-primary-text);
}

.torque-faq-item__question:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.torque-faq-item__icon {
  position: relative;
  flex: none;
  width: 2rem;
  height: 2rem;
  background-color: #f1f3f5;
  border-radius: 50%;
  transition: background-color 0.2s ease;
}

.torque-faq-item__icon::before,
.torque-faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.75rem;
  height: 2px;
  background-color: #212529;
  border-radius: 1px;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.torque-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.torque-faq-item[open] .torque-faq-item__icon {
  background-color: var(--color-primary);
}

.torque-faq-item[open] .torque-faq-item__icon::before,
.torque-faq-item[open] .torque-faq-item__icon::after {
  background-color: #fff;
}

.torque-faq-item[open] .torque-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.torque-faq-item__answer {
  padding: 0 1.25rem 1.25rem;
  color: #495057;
  line-height: 1.65;
}

.torque-faq-item__answer a,
.torque-policy-content a {
  color: var(--color-primary-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Policy article: "on this page" list, then readable legal text with each section opened by a
   rule and a sized heading. */
.torque-policy-toc {
  margin-bottom: 2.5rem;
  padding: 1.5rem;
  background-color: #f6f7f9;
  border-radius: var(--theme-theme-radius-base);
}

.torque-policy-toc__title {
  display: block;
  margin-bottom: 0.875rem;
  color: #212529;
  font-size: 0.9375rem;
  font-weight: 600;
}

.torque-policy-toc__list {
  display: grid;
  gap: 0.5rem 2rem;
  margin: 0;
  padding-left: 1.25rem;
  color: var(--color-text-description);
  font-size: 0.9375rem;
}

.torque-policy-toc__list a {
  color: #212529;
}

.torque-policy-toc__list a:hover {
  color: var(--color-primary-text);
}

.torque-policy-content {
  max-width: 47.5rem;
  color: #495057;
  font-size: 1rem;
  line-height: 1.75;
}

.torque-policy-content > * {
  margin-top: 0;
  margin-bottom: 1.125rem;
}

.torque-policy-content > :last-child {
  margin-bottom: 0;
}

.torque-policy-content h2 {
  margin: 2.5rem 0 1rem;
  padding-top: 2.5rem;
  color: #212529;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  border-top: 1px solid var(--color-info);
  scroll-margin-top: 1.5rem;
}

.torque-policy-content > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.torque-policy-content h3 {
  margin: 1.75rem 0 0.75rem;
  color: #212529;
  font-size: 1.125rem;
  font-weight: 600;
}

.torque-policy-content strong {
  color: #212529;
}

.torque-policy-content ul,
.torque-policy-content ol {
  padding-left: 1.25rem;
}

.torque-policy-content li + li {
  margin-top: 0.375rem;
}

@media screen and (min-width: 768px) {
  .torque-policy-toc__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767.98px) {
  .torque-help-header__title {
    font-size: 2rem;
  }

  .torque-faq-item__question {
    padding: 1rem;
    font-size: 1rem;
  }

  .torque-faq-item__answer {
    padding: 0 1rem 1rem;
  }
}

/* Light accent surface (dropdown option highlight, category menu hover, active chips and tabs):
   a neutral grey. The engine derives it from the primary colour, and Torque's red lightened
   that way reads as pink, which does not suit a parts shop; accent text stays red. */
:root {
  --color-primary-lighter: #f1f3f5;
}

/* Account-type select (billing identity): the engine pins the chevron to the top of the field
   with a more specific rule, so it is centred here over the full field height. */
.customer-billing-identity .select2 .select2-selection.select2-selection--single .select2-selection__arrow {
  top: 0;
  right: 0.625rem;
  height: 100%;
  background-position: center;
  transform: none;
}

/* Account pages (login, register): the shared auth shell draws slate pill fields, a blue/black
   palette and scales the whole card down to fit the viewport height. On Torque the card keeps
   its real size (the page scrolls) and the fields, labels, button and accents follow the
   theme's checkout form. Selectors repeat .customer-auth to outrank the shell's !important
   rules without touching the shared stylesheet. */
html:root body.customer-auth-page .customer-auth .customer-auth__frame {
  transform: none !important;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__input-wrap > .form-control.customer-auth__control,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .form-control,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-billing-identity .form-control,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-billing-identity .form-select {
  height: 2.875rem !important;
  color: var(--color-text-primary) !important;
  font-size: 0.9375rem;
  font-weight: 500;
  border: 1px solid var(--color-form-border) !important;
  border-radius: var(--theme-form-radius) !important;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .form-control:focus,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .form-control:focus-visible,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__input-wrap .customer-auth__control:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent) !important;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__field > span:first-child,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .form-label {
  padding-left: 0;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

/* Field messages (live check and the server's error) go on their own line under the input,
   never beside it; when both describe the field only the live one shows. */
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__input-wrap {
  flex-wrap: wrap;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__input-wrap > svg {
  top: 1.4375rem;
  color: var(--color-text-description);
  transform: translateY(-50%);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__input-wrap > .invalid-feedback,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__input-wrap > .customer-identity-field__status {
  flex: 0 0 100%;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.4;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__input-wrap > .customer-identity-field__status:empty {
  display: none;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__input-wrap:has(> .customer-identity-field__status:not(:empty)) > .invalid-feedback {
  display: none !important;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__submit {
  height: 3rem;
  min-height: 3rem;
  background: var(--color-primary) !important;
  border-radius: var(--theme-form-radius) !important;
  font-weight: 600;
  transition: background-color 0.2s ease;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__submit:hover,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__submit:focus-visible {
  background: var(--color-primary-dark) !important;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__submit:focus,
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth.customer-auth .customer-auth__submit:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent) !important;
}

/* Two fields on one row stay top-aligned when only one of them shows a message below. */
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__form {
  align-items: start;
}

/* No pink/blue glow behind the card; checkboxes use the theme accent. */
html:root body.customer-auth-page .customer-auth::after {
  display: none;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth input[type="checkbox"],
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth input[type="radio"] {
  accent-color: var(--color-primary);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__tagline {
  color: var(--color-primary-text);
  font-weight: 600;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__title {
  color: var(--color-text-primary);
  font-size: 1.75rem;
  font-weight: 700;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__benefits article {
  background: #f6f7f9;
  border-color: var(--color-info);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__benefits article svg {
  color: var(--color-primary-text);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__benefits strong {
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__benefits span {
  color: var(--color-text-description);
  font-size: 0.75rem;
}

/* Account-type select on the account pages: same height, border and radius as the inputs. */
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-billing-identity .select2 .select2-selection.torque-toolbar-select2-selection {
  height: 2.875rem;
  min-height: 2.875rem;
  border-color: var(--color-form-border);
  border-radius: var(--theme-form-radius);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-billing-identity .select2 .select2-selection.torque-toolbar-select2-selection .select2-selection__rendered {
  padding-left: 0.9375rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 500;
}

/* Show / hide password toggle: centred on the 46px Torque field, theme greys and accent. */
html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__password-toggle {
  top: 1.4375rem;
  color: var(--color-text-description);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__password-toggle:hover {
  color: var(--color-text-primary);
  background: #f1f3f5 !important;
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-auth__password-toggle:focus-visible {
  outline-color: var(--color-primary);
}

html:root body:is(.customer-auth-page, .customer-auth-embedded) .customer-auth .customer-identity-field__status[data-state="invalid"] {
  color: var(--color-primary-text);
}

/* Logo of the chosen make above the vehicle finder (catalogue card and search window): one fixed
   slot as wide as the form, the logo or Torque glyph scaled to fit it in width and height. */
.torque-finder-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 17.5rem;
  height: 5rem;
  margin: 0 auto 1.25rem;
  padding: 0.75rem 1rem;
  background-color: #fff;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
}

.torque-finder-mark[hidden],
.torque-finder-mark [hidden] {
  display: none;
}

.torque-finder-mark__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.torque-finder-mark__glyph {
  color: var(--color-text-primary);
  font-size: 3.25rem;
  line-height: 1;
}

.torque-finder-modal .torque-finder-mark {
  max-width: 22rem;
}

/* Quote request page ("Cere ofertă"): product card in the side column, form in the main column. */
.torque-quote-product {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base);
}

.torque-quote-product__media {
  display: block;
  aspect-ratio: 4 / 3;
  background-color: #fff;
  border-bottom: 1px solid var(--color-info);
}

.torque-quote-product__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1rem;
}

.torque-quote-product__body {
  display: grid;
  gap: 0.5rem;
  padding: 1rem 1.25rem 1.25rem;
}

.torque-quote-product__name {
  color: var(--color-text-primary);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

.torque-quote-product__name:hover {
  color: var(--color-primary-text);
}

.torque-quote-product__sku {
  color: var(--color-text-description);
  font-size: 0.875rem;
}

.torque-quote-product__fitment {
  display: grid;
  gap: 0.375rem;
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
}

.torque-quote-product__fitment div {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 0.5rem;
}

.torque-quote-product__fitment dt {
  color: var(--color-text-description);
  font-weight: 500;
}

.torque-quote-product__fitment dd {
  margin: 0;
  color: var(--color-text-primary);
}

.torque-quote-form__trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.torque-quote-form__grid {
  display: grid;
  gap: 1rem 1.25rem;
}

.torque-quote-form__field {
  display: grid;
  gap: 0.375rem;
  margin: 0;
}

.torque-quote-form__field > span {
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
}

.torque-quote-form__field em {
  color: var(--color-primary-text);
  font-style: normal;
}

.torque-quote-form .form-control {
  height: 2.875rem;
  padding: 0 0.9375rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  border: 1px solid var(--color-form-border);
  border-radius: var(--theme-form-radius);
}

.torque-quote-form textarea.form-control {
  height: auto;
  min-height: 7.5rem;
  padding: 0.75rem 0.9375rem;
  resize: vertical;
}

.torque-quote-form .form-control:focus {
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.torque-quote-form__error {
  color: var(--color-primary-text);
  font-size: 0.8125rem;
}

.torque-quote-form__agree {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin: 1.5rem 0 0.25rem;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  line-height: 1.45;
}

.torque-quote-form__agree input {
  flex: none;
  margin-top: 0.15rem;
  accent-color: var(--color-primary);
}

/* Element + class selectors outrank the theme-wide button styles (grey surface). */
.torque-quote-form button.torque-quote-form__submit {
  min-height: 3rem;
  margin-top: 1.25rem;
  padding: 0 1.75rem;
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary);
  border: 0;
}

.torque-quote-form button.torque-quote-form__submit:hover,
.torque-quote-form button.torque-quote-form__submit:focus-visible {
  color: var(--color-on-primary, #fff);
  background-color: var(--color-primary-dark);
}

.torque-quote-sent {
  display: grid;
  justify-items: start;
  gap: 0.75rem;
  padding: 2rem;
  background-color: #f6f7f9;
  border-radius: var(--theme-theme-radius-base);
}

.torque-quote-sent__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: #fff;
  font-size: 1.25rem;
  background-color: #07895c;
  border-radius: 50%;
}

.torque-quote-sent__title {
  margin: 0;
  color: var(--color-text-primary);
  font-size: 1.5rem;
  font-weight: 700;
}

.torque-quote-sent p {
  margin: 0;
  color: var(--color-text-description);
}

@media screen and (min-width: 768px) {
  .torque-quote-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-quote-form__field--wide {
    grid-column: 1 / -1;
  }
}

/* Product page: keyword tags wrap inside the summary column instead of running off the page. */
.shoper-single-product-wrapper .product-detail .product-meta.bottom .product-tags {
  flex-wrap: wrap;
  gap: 0.375rem;
}

.shoper-single-product-wrapper .product-detail .product-meta.bottom .product-tags a + a {
  margin-left: 0;
}

/* Fitment table: long value lists fold behind "Vezi toate (N)". */
.torque-fitment__more {
  margin-top: 0.375rem;
}

.torque-fitment__more summary {
  display: inline-block;
  color: var(--color-primary-text);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.torque-fitment__more summary::-webkit-details-marker {
  display: none;
}

.torque-fitment__more[open] summary {
  margin-bottom: 0.375rem;
}

/* Imported product descriptions bring their own big headings and inline pictures; keep them at
   section scale inside the description card. */
.torque-pdp-content-card--description h1,
.torque-pdp-content-card--description h2 {
  margin: 1.5rem 0 0.75rem;
  font-size: 1.25rem;
  line-height: 1.35;
}

.torque-pdp-content-card--description h3,
.torque-pdp-content-card--description h4 {
  margin: 1.25rem 0 0.625rem;
  font-size: 1.0625rem;
  line-height: 1.4;
}

.torque-pdp-content-card--description img {
  max-width: min(100%, 22rem);
  height: auto;
}

/* Product without reviews: the reviews card opens on "Adaugă o recenzie" (the form, or the sign-in
   note for guests) instead of an empty message and a button that only reveals it. */
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) .review-form-column,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) .review-form-column > h4,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) .review-form-column > p,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) .review-form-column > form {
  display: block !important;
}

.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) > p.text-muted,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) .review-compose-action,
.shoper-single-product .torque-pdp-content-card--reviews .product-review-container:not(:has(.review-list)) .review-compose-cancel {
  display: none !important;
}

/* Sections taken out of the product description (specifications, advantages, recommendation)
   render as cards in the PDP's right column, under the reviews. */
.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes {
  max-height: none;
}

.shoper-single-product .torque-pdp-content-card--specification .shoper-product-attributes .shoper-product-attributes-item__value--wide {
  border-left: 0;
}

.shoper-single-product .torque-pdp-content-card--specs .ck-content,
.shoper-single-product .torque-pdp-content-card--specs .ck-content p,
.shoper-single-product .torque-pdp-content-card--specs .ck-content li,
.shoper-single-product .torque-pdp-content-card--highlights .ck-content,
.shoper-single-product .torque-pdp-content-card--highlights .ck-content p,
.shoper-single-product .torque-pdp-content-card--highlights .ck-content li,
.shoper-single-product .torque-pdp-content-card--recommendation .ck-content,
.shoper-single-product .torque-pdp-content-card--recommendation .ck-content p {
  font-size: 14px;
  line-height: 21px;
}

.shoper-single-product .torque-pdp-content-card--highlights .ck-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.shoper-single-product .torque-pdp-content-card--highlights .ck-content li {
  position: relative;
  padding-left: 1.75rem;
}

.shoper-single-product .torque-pdp-content-card--highlights .ck-content li + li {
  margin-top: 0.625rem;
}

/* Check mark drawn in CSS so the list needs no icon font. */
.shoper-single-product .torque-pdp-content-card--highlights .ck-content li::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0.3125rem;
  width: 0.4375rem;
  height: 0.75rem;
  border: solid var(--color-primary);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.shoper-single-product .torque-pdp-content-card--highlights .ck-content li > p {
  margin: 0;
}

.shoper-single-product .torque-pdp-content-card--recommendation {
  background-color: var(--color-primary-lighter);
}

.shoper-single-product .torque-pdp-content-card--specs .ck-content > :last-child,
.shoper-single-product .torque-pdp-content-card--highlights .ck-content > :last-child,
.shoper-single-product .torque-pdp-content-card--recommendation .ck-content > :last-child {
  margin-bottom: 0;
}

/* One column on phones and tablets: gallery, buying details, description, then compatibility and
   specifications before the description's own sections and the reviews. */
@media (max-width: 991.98px) {
  .shoper-single-product .torque-pdp-layout {
    row-gap: 1.25rem;
  }

  .shoper-single-product .torque-pdp-layout__primary,
  .shoper-single-product .torque-pdp-layout__secondary,
  .shoper-single-product .torque-pdp-content-main,
  .shoper-single-product .torque-pdp-content-aside {
    display: contents;
  }

  .shoper-single-product .torque-pdp-layout .product-gallery { order: -2; }
  .shoper-single-product .torque-pdp-layout .product-detail { order: -1; margin-bottom: 1.25rem; }
  .shoper-single-product .torque-pdp-content-card--description { order: 1; }
  .shoper-single-product .torque-pdp-content-card--fitment { order: 2; }
  .shoper-single-product .torque-pdp-content-card--specification,
  .shoper-single-product .torque-pdp-content-card--specs { order: 3; }
  .shoper-single-product .torque-pdp-content-card--highlights { order: 4; }
  .shoper-single-product .torque-pdp-content-card--recommendation { order: 5; }
  .shoper-single-product .torque-pdp-content-card--reviews { order: 6; }
}

/* Homepage arrangements Home 2 and Home 3 (source theme's home pages 2 and 3). Proportions are the
   rendered boxes of the source at 1440px, like the Home 1 rules above. */
.shoper-home-block--hero-wide .shoper-module-slider {
  margin-top: 0;
}

/* The "find the right parts" band rises over the bottom of the full-width hero from tablet width up;
   on phones it starts right under the hero, as in the source. */
.shoper-home-block--hero-wide + .shoper-home-block--product-search {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding-top: 0;
}

.shoper-home-block--product-search .shoper-module-search {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .shoper-home-block--hero-wide + .shoper-home-block--product-search {
    margin-top: -150px;
  }
}

/* Under the overlapping band the slide keeps its text clear of it: the text sits in the flow with the
   band's 150px (plus a gap) reserved at its foot, the source proportion (1920 / 660 of the screen
   width) is the slide's minimum height and a longer text (product names) makes the slide taller instead of running under the band. The
   picture covers the whole slide, and every slide takes the height of the tallest. */
@media screen and (min-width: 768px) {
  .shoper-home-block--hero-wide .slick-track {
    display: flex;
  }

  .shoper-home-block--hero-wide .slick-slide {
    height: auto;
  }

  .shoper-home-block--hero-wide .shoper-banner.style-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .shoper-home-block--hero-wide .shoper-banner.style-inner .shoper-entry-wrapper {
    position: relative;
    flex: 1 0 auto;
    width: 100%;
    height: auto;
    min-height: calc(100vw * 660 / 1920);
    padding: 3.75rem 1.875rem calc(150px + 2.5rem);
  }

  .shoper-home-block--hero-wide .shoper-banner.style-inner .shoper-entry-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .shoper-home-block--hero-wide .shoper-banner.style-inner .shoper-entry-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Boxed category tabs (Home 2) leave the header to the title and "view all" below 992px. */
@media screen and (max-width: 991.98px) {
  .shoper-module-header .shoper-module-tab-links.style-2 {
    display: none;
  }
}

.shoper-home-block--product-search .shoper-module-search .button-column .btn.primary {
  color: #fff;
  background-color: transparent;
  border: 2px solid #fff;
}

.shoper-home-block--product-search .shoper-module-search .button-column .btn.primary:hover,
.shoper-home-block--product-search .shoper-module-search .button-column .btn.primary:focus-visible {
  color: var(--color-primary-text);
  background-color: #fff;
}

.torque-banner-stack {
  gap: 1.875rem;
}

@media screen and (min-width: 992px) {
  [data-erp-banner-preset="home2-pair"] .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 615 / 275;
  }

  [data-erp-banner-preset="home2-feature"] .torque-banner-stack .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 722 / 315;
  }

  /* The tall banner takes the height of the stacked pair beside it. */
  [data-erp-banner-preset="home2-feature"] .col-lg-5 > .shoper-banner,
  [data-erp-banner-preset="home2-feature"] .col-lg-5 > .shoper-banner .shoper-entry-media {
    height: 100%;
  }

  [data-erp-banner-preset="home2-wide"] .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 1260 / 276;
  }
}

/* Home 2 product rows: the modules nested in a row start level with each other (no module top margin),
   and the special-offer box takes the row height, also when it has no countdown or stock bar. */
.shoper-module-home-row .shoper-module {
  margin-top: 0;
}

.shoper-module-home-row .offer-product-wrapper {
  height: 100%;
}

/* Home 3 showcase: the main column stacks its parts 40px apart (30px after the product lists), as the
   source does; the blocks nested in it drop their own top margin and the coupon band its container
   padding. Banners side by side share one height, and the sidebar stays in view while the column scrolls. */
.torque-showcase-main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.torque-showcase-main > :not(.row) {
  margin-top: 0;
}

.torque-showcase-main > .shoper-home-block--text-banner {
  max-width: none;
  margin-top: 0;
  padding: 0;
}

.torque-showcase-main > .torque-showcase-lists + .row {
  margin-top: calc(-1 * var(--bs-gutter-y) - 0.625rem);
}

.torque-showcase .row > [class*="col-"] > .shoper-banner {
  height: 100%;
}

/* Clipped, not hidden: a hidden overflow would make the block the sticky sidebar's scroll container. */
.shoper-home-block--home3-showcase {
  overflow-x: clip;
  overflow-y: visible;
}

@media (min-width: 768px) {
  .torque-showcase-sticky {
    position: sticky;
    top: 1.875rem;
  }
}

/* Home 3 hero: slider and product list start level, 30px under the header; the three small banners sit
   30px under the slider. */
.row[data-erp-home3-lead] {
  margin-top: 0;
}

[data-erp-home3-lead] .shoper-module-slider {
  margin-top: 0;
}

[data-erp-home3-lead] .torque-hero-mini-banners {
  margin-top: 1.875rem;
}

@media (max-width: 767.98px) {
  .torque-showcase > .torque-showcase-sidebar {
    margin-top: 0.625rem;
  }
}

/* Home 2 hero: slides take product names, often longer than the source's slogans; three lines at most
   keep the title inside the hero and above the search band that overlaps its foot. */
.shoper-home-block--hero-wide .shoper-entry-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* Layout width (owner 2026-10-26): the content spans up to 1540px instead of the source's 1280px. Below
   that the container stays fluid: from 1400px with about 45px from each screen edge (30px margin + 15px
   padding), so 1440px screens get 1350px of content; narrower screens use their full width as before. Header, footer and every page share it. */
:root {
  --theme-container: 1540px;
}

@media screen and (min-width: 1400px) {
  .container,
  .shoper-site-footer > .footer-row > .container {
    max-width: min(var(--theme-container), calc(100% - 3.75rem));
  }
}

/* Home 1: beside the open category menu the hero starts 30px under the navigation row and ends with
   the menu, as in the source, at every desktop width (the wider layout made the picture's own
   proportion taller than the menu at 1920px); the picture covers it. */
@media screen and (min-width: 1200px) {
  [data-erp-home-lead] .shoper-module-slider .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: auto;
    height: calc(var(--torque-home-lead-panel-height) - 1.875rem);
  }
}

/* "Select your vehicle" hero (reference theme Chromium): the vehicle finder on a full-width picture, a
   centred uppercase heading and the four finder fields numbered in the order to fill them. */
.shoper-home-block.shoper-home-block--vehicle-hero {
  display: flex;
  align-items: center;
  min-height: clamp(28rem, 35vw, 42rem);
  margin-top: 0;
  padding: 3.75rem 0;
  background: linear-gradient(rgba(16, 20, 24, 0.55), rgba(16, 20, 24, 0.55)), var(--torque-vehicle-hero-image) center / cover no-repeat;
  color: #fff;
}

.torque-vehicle-hero {
  text-align: center;
}

.torque-vehicle-hero__title {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.torque-vehicle-hero__subtitle {
  margin: 0.75rem 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.0625rem, 1.6vw, 1.5625rem);
  font-weight: 500;
}

.torque-vehicle-hero .torque-vehicle-hero__form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 0.625rem;
  max-width: 82rem;
  /* The finder form clears its top margin with !important wherever it appears. */
  margin: 2.5rem auto 0 !important;
  padding: 0.625rem;
  background: rgba(16, 20, 24, 0.6);
  border-radius: var(--theme-theme-radius-base, 12px);
  text-align: left;
}

.torque-vehicle-hero__field {
  position: relative;
  min-width: 0;
}

.torque-vehicle-hero__step {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-on-primary, #fff);
  font-size: 0.8125rem;
  font-weight: 700;
  transform: translateY(-50%);
  pointer-events: none;
}

.torque-vehicle-hero__field select,
.torque-vehicle-hero__field .select2-container .select2-selection--single {
  height: 3.125rem;
  padding-left: 2.5rem;
  border: 0;
  border-radius: var(--theme-theme-radius-base, 12px);
  background-color: #fff;
}

.torque-vehicle-hero__field .select2-container {
  width: 100% !important;
}

.torque-vehicle-hero__field .select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  line-height: 3.125rem;
}

.torque-vehicle-hero__field .select2-container .select2-selection--single .select2-selection__arrow {
  height: 3.125rem;
}

/* The finder form's own rules stack its columns and fill every button; here the two buttons share a row. */
.torque-vehicle-hero__form .torque-vehicle-hero__actions {
  flex-direction: row;
  gap: 0.625rem;
}

.torque-vehicle-hero__form .button-column .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: auto;
  height: 3.125rem;
  white-space: nowrap;
}

.torque-vehicle-hero__form .button-column .torque-vehicle-hero__reset {
  color: #fff;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.torque-vehicle-hero__form .button-column .torque-vehicle-hero__reset:hover,
.torque-vehicle-hero__form .button-column .torque-vehicle-hero__reset:focus-visible {
  color: #111;
  background-color: #fff;
  border-color: #fff;
}

.torque-vehicle-hero__note {
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
}

@media screen and (max-width: 1199.98px) {
  .torque-vehicle-hero .torque-vehicle-hero__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-vehicle-hero__form .torque-vehicle-hero__actions {
    grid-column: 1 / -1;
  }

  .torque-vehicle-hero__form .button-column .btn.primary {
    flex: 1;
  }
}

@media screen and (max-width: 575.98px) {
  .shoper-home-block.shoper-home-block--vehicle-hero {
    padding: 2.5rem 0;
  }

  .torque-vehicle-hero .torque-vehicle-hero__form {
    grid-template-columns: 1fr;
  }

  .torque-vehicle-hero__form .torque-vehicle-hero__actions {
    flex-direction: column;
  }

  .torque-vehicle-hero__form .button-column .btn,
  .torque-vehicle-hero__form .button-column .btn.primary {
    flex: none;
    width: 100%;
  }
}

/* Subcategory tiles (reference theme Chromium, home 5): source proportion 370 / 165, the name large, the
   product count and the link under it, the picture on the right blended into the light ground. */
.torque-category-tiles {
  display: grid;
  grid-template-columns: repeat(var(--torque-category-tiles-columns, 3), minmax(0, 1fr));
  gap: 1.875rem;
}

.torque-category-tile {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  aspect-ratio: 370 / 165;
  padding: 1.5rem 1.75rem;
  overflow: hidden;
  color: var(--color-text-primary);
  background: linear-gradient(110deg, #f4f5f7 0%, #eceef1 100%);
  border-radius: var(--theme-theme-radius-base, 12px);
  text-decoration: none;
}

.torque-category-tile__text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  max-width: 58%;
}

.torque-category-tile__title {
  font-size: clamp(1.125rem, 1.6vw, 1.625rem);
  font-weight: 600;
  line-height: 1.15;
  text-transform: uppercase;
}

.torque-category-tile__count {
  color: var(--color-text-description);
  font-size: 0.875rem;
}

.torque-category-tile__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.5rem;
  color: var(--color-primary-text);
  font-size: 0.875rem;
  font-weight: 600;
}

.torque-category-tile__image {
  position: absolute;
  right: 0.75rem;
  bottom: 50%;
  width: 42%;
  height: 85%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transform: translateY(50%);
  transition: transform 0.3s ease;
}

.torque-category-tile:hover .torque-category-tile__image,
.torque-category-tile:focus-visible .torque-category-tile__image {
  transform: translateY(50%) scale(1.06);
}

@media screen and (max-width: 1199.98px) {
  .torque-category-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media screen and (max-width: 575.98px) {
  .torque-category-tiles {
    grid-template-columns: 1fr;
  }
}

/* Torque homepage sections from the reference theme Chromium. */

/* Advantages band: four icon + text pairs between two rules, or white on a red band. */
.torque-iconbox-band__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 1.5rem 0;
  border-top: 1px solid var(--color-border, #e3e6ea);
  border-bottom: 1px solid var(--color-border, #e3e6ea);
  list-style: none;
}

.torque-iconbox-band__item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.torque-iconbox-band__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-primary-lighter, #fff4f6);
  color: var(--color-primary-text);
  font-size: 1.375rem;
}

.torque-iconbox-band__text {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  font-size: 0.875rem;
  color: var(--color-text-description);
}

.torque-iconbox-band__text strong {
  color: var(--color-text-primary);
  font-size: 0.9375rem;
}

.torque-iconbox-band--red {
  background: var(--color-primary);
}

.torque-iconbox-band--red .torque-iconbox-band__list {
  border: 0;
}

.torque-iconbox-band--red .torque-iconbox-band__icon {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.7);
  color: #fff;
}

.torque-iconbox-band--red .torque-iconbox-band__text,
.torque-iconbox-band--red .torque-iconbox-band__text strong {
  color: #fff;
}

/* About band: picture half and dark text half. */
.shoper-home-block.torque-about-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 22rem;
  padding: 0;
  background: #1f2328;
  color: #fff;
}

.torque-about-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.torque-about-split__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
  padding: 3.5rem clamp(1.5rem, 5vw, 5rem);
}

.torque-about-split__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
}

.torque-about-split__text {
  max-width: 34rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 1.6;
}

/* Brands as a red band: the count on the left, white logos on the right. */
.shoper-home-block.torque-logos-band {
  padding: 1.75rem 0;
  background: var(--color-primary);
}

.torque-logos-band__inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.torque-logos-band__title {
  flex: 0 0 auto;
  max-width: 18rem;
  margin: 0;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.torque-logos-band__inner > .shoper-module-logos {
  flex: 1;
  min-width: 0;
  margin-top: 0;
}

.torque-logos-band .shoper-module-logos .logo-item img {
  filter: brightness(0) invert(1);
  opacity: 0.85;
}

/* How it works: three numbered cards. */
.torque-steps__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-steps__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--color-border, #e3e6ea);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-steps__number {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-on-primary, #fff);
  font-size: 1.25rem;
  font-weight: 700;
}

.torque-steps__text {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  color: var(--color-text-description);
  font-size: 0.9375rem;
}

.torque-steps__text strong {
  color: var(--color-text-primary);
  font-size: 1.0625rem;
}

/* Partner call: dark band inside the page width. */
.torque-cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.75rem 2.5rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #1f2328;
  color: #fff;
}

.torque-cta-band__title {
  margin: 0;
  color: #fff;
  font-size: 1.375rem;
  text-transform: uppercase;
}

.torque-cta-band__text {
  margin: 0.375rem 0 0;
  color: rgba(255, 255, 255, 0.75);
}

.torque-cta-band__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 1.25rem;
}

.torque-cta-band__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  white-space: nowrap;
}

@media (min-width: 992px) {
  [data-erp-banner-preset="tyre-set"] .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: 1540 / 330;
  }
}

@media screen and (max-width: 991.98px) {
  .torque-iconbox-band__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shoper-home-block.torque-about-split {
    grid-template-columns: 1fr;
  }

  .torque-about-split__media img {
    aspect-ratio: 16 / 9;
  }

  .torque-logos-band__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    text-align: center;
  }

  .torque-logos-band__title {
    max-width: none;
  }

  .torque-steps__list {
    grid-template-columns: 1fr;
  }

  .torque-cta-band__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem;
  }

  .torque-cta-band__actions {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 575.98px) {
  .torque-iconbox-band__list {
    grid-template-columns: 1fr;
  }
}

/* Product carousel tabs: one panel per category; the inactive ones keep their size (so their sliders are
   measured right) but are taken out of view and of the page flow. */
.torque-tab-panels {
  position: relative;
}

.torque-tab-panel:not(.is-active) {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

/* Category row (reference theme Chromium, home 6): the category banner beside its tabbed carousel. */
.torque-category-tabs {
  display: grid;
  grid-template-columns: 17.5rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--color-border, #e3e6ea);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-category-tabs__banner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 22rem;
  padding: 2rem 1.75rem;
  background: linear-gradient(rgba(16, 20, 24, 0.55), rgba(16, 20, 24, 0.75)), var(--torque-category-tabs-image) center / cover no-repeat;
  color: #fff;
  text-decoration: none;
}

.torque-category-tabs__title {
  color: #fff;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.torque-category-tabs__body {
  min-width: 0;
  padding: 1.25rem 1.5rem 1.5rem;
}

.torque-category-tabs__body .shoper-module-tab-links {
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--color-border, #e3e6ea);
}

.torque-category-tabs__body .shoper-module-tab-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-category-tabs__body .shoper-module-tab-links .tab-link {
  display: inline-block;
  padding: 0.5rem 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  color: var(--color-text-description);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}

.torque-category-tabs__body .shoper-module-tab-links .tab-item.active .tab-link,
.torque-category-tabs__body .shoper-module-tab-links .tab-link:hover {
  color: var(--color-primary-text);
  border-bottom-color: var(--color-primary);
}

@media screen and (max-width: 991.98px) {
  .torque-category-tabs {
    grid-template-columns: 1fr;
  }

  .torque-category-tabs__banner {
    min-height: 9rem;
  }
}

/* Home 1 with side banners: slider (6 columns) and two stacked banners (3 columns) share the hero row
   beside the open category menu; both start 30px under the navigation row and end with the menu. */
@media screen and (min-width: 1200px) {
  [data-erp-home-lead] > .col-xl-6 {
    display: flex;
    align-items: flex-end;
    min-height: var(--torque-home-lead-panel-height);
  }

  .torque-hero-side-banners {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    height: calc(var(--torque-home-lead-panel-height) - 1.875rem);
    margin-top: 1.875rem;
  }

  .torque-hero-side-banners .shoper-banner {
    flex: 1;
    min-height: 0;
  }

  .shoper-home-block--hero .torque-hero-side-banners .shoper-banner.style-inner .shoper-entry-media {
    aspect-ratio: auto;
    height: 100%;
  }
}

@media screen and (max-width: 1199.98px) {
  .torque-hero-side-banners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
  }
}

@media screen and (max-width: 575.98px) {
  .torque-hero-side-banners {
    grid-template-columns: 1fr;
  }
}

/* "Search by make" (reference theme Chromium, home 7): make tiles (logo or name, parts count) beside a
   banner for the make with the most parts. */
.torque-make-grid__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 21rem;
  gap: 1.5rem;
}

.torque-make-grid__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-make-grid__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  height: 100%;
  min-height: 6.5rem;
  padding: 1rem;
  border: 1px solid var(--color-border, #e3e6ea);
  border-radius: var(--theme-theme-radius-base, 12px);
  color: var(--color-text-primary);
  text-align: center;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.torque-make-grid__tile:hover,
.torque-make-grid__tile:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 6px 18px rgba(33, 37, 41, 0.08);
}

.torque-make-grid__tile img {
  max-width: 7rem;
  max-height: 2.5rem;
  object-fit: contain;
}

.torque-make-grid__name {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.torque-make-grid__count {
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.torque-make-grid__tile--all {
  color: var(--color-primary-text);
  font-weight: 600;
}

.torque-make-grid__all-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.torque-make-grid__promo {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1.5rem;
  overflow: hidden;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #f1f3f5;
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-make-grid__promo-title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
}

.torque-make-grid__promo-text {
  color: var(--color-text-description);
  font-size: 0.875rem;
}

.torque-make-grid__promo img {
  width: 100%;
  margin: auto 0 0.75rem;
  border-radius: 8px;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

/* Deal of the day: the offer on a dark card beside the product on a white card. The product is the
   theme's deal card (partials/product-card, variant "deal") laid out sideways: image left; name, rating,
   price, real stock and the cart button right. */
.shoper-home-block.torque-deal-of-day {
  padding: 3rem 0;
  background: #1f2328;
  color: #fff;
}

.torque-deal-of-day__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 2.5rem;
}

.torque-deal-of-day__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.torque-deal-of-day__eyebrow {
  color: var(--color-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.torque-deal-of-day__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.75rem, 2.6vw, 2.5rem);
  line-height: 1.1;
  text-transform: uppercase;
}

.torque-deal-of-day__description {
  max-width: 28rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9375rem;
  line-height: 1.6;
}

.torque-deal-of-day__timer {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.torque-deal-of-day__timer-label {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.8125rem;
  font-weight: 600;
}

.torque-deal-of-day .shoper-countdown .count-item {
  background: var(--color-primary);
  color: var(--color-on-primary, #fff);
}

.torque-deal-of-day .shoper-countdown .separator {
  color: rgba(255, 255, 255, 0.6);
}

.torque-deal-of-day__card {
  padding: 1.5rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #fff;
  color: var(--color-text-primary);
}

.torque-deal-of-day__card .product,
.torque-deal-of-day__card .product .product-wrapper {
  height: 100%;
  margin: 0;
  border: 0;
  box-shadow: none;
}

.torque-deal-of-day__card .product .product-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
}

.torque-deal-of-day__card .product .thumbnail-wrapper {
  margin: 0;
}

.torque-deal-of-day__card .product .content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0;
}

.torque-deal-of-day__card .product .product-title {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.3;
}

.torque-deal-of-day__card .product .price {
  font-size: 1.5rem;
}

/* Promotion pair: red discount tile, dark outlined "new arrivals" tile. */
.torque-promo-pair__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.torque-promo-pair__tile {
  display: flex;
  align-items: center;
  min-height: 9.5rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  color: #fff;
  text-decoration: none;
}

.torque-promo-pair__tile--sale {
  justify-content: space-between;
  gap: 1rem;
  padding: 1.75rem 2rem;
  background: var(--color-primary);
}

.torque-promo-pair__tile--new {
  padding: 1rem;
  background: #1f2328;
}

.torque-promo-pair__copy,
.torque-promo-pair__frame {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.torque-promo-pair__frame {
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 7.5rem;
  border: 2px solid var(--color-primary);
  border-radius: 8px;
  text-align: center;
}

.torque-promo-pair__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}

.torque-promo-pair__tile--new .torque-promo-pair__eyebrow {
  color: var(--color-primary-text);
  opacity: 1;
}

.torque-promo-pair__title {
  font-size: clamp(1.375rem, 2.2vw, 1.875rem);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.torque-promo-pair__value {
  font-size: clamp(2.5rem, 4.5vw, 3.75rem);
  font-weight: 700;
  line-height: 1;
}

/* Testimonial on a full-width dark band, one at a time. */
.shoper-home-block.torque-testimonials-wide {
  padding: 3.25rem 0 2.5rem;
  background: #1f2328;
  color: #fff;
}

.torque-testimonials-wide__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.75rem;
  max-width: 50rem;
  margin: 0 auto;
}

.torque-testimonials-wide__avatar {
  flex: 0 0 auto;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  object-fit: cover;
}

.torque-testimonials-wide__body .stars {
  color: #f4b400;
}

.torque-testimonials-wide__body blockquote {
  margin: 0.5rem 0;
  color: #fff;
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.5;
}

.torque-testimonials-wide__body figcaption {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.875rem;
}

.torque-testimonials-wide__body figcaption strong {
  color: #fff;
}

/* Magazine blog: the latest article large, the next three listed. */
.torque-blog-magazine {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.75rem;
}

.torque-blog-magazine__lead {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.5rem;
  min-height: 21rem;
  padding: 1.75rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: linear-gradient(rgba(16, 20, 24, 0) 30%, rgba(16, 20, 24, 0.85)), var(--torque-blog-lead-image) center / cover no-repeat;
  color: #fff;
  text-decoration: none;
}

.torque-blog-magazine__lead-title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}

.torque-blog-magazine__list {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-blog-magazine__item {
  display: flex;
  gap: 1rem;
  height: 100%;
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-blog-magazine__item img {
  flex: 0 0 10.5rem;
  width: 10.5rem;
  height: 100%;
  min-height: 6rem;
  border-radius: 8px;
  object-fit: cover;
}

.torque-blog-magazine__item-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.torque-blog-magazine__date {
  color: var(--color-primary-text);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.torque-blog-magazine__lead .torque-blog-magazine__date {
  color: rgba(255, 255, 255, 0.85);
}

.torque-blog-magazine__item-title {
  font-weight: 600;
  line-height: 1.3;
}

.torque-blog-magazine__excerpt {
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

@media screen and (max-width: 1199.98px) {
  .torque-make-grid__layout {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 991.98px) {
  .torque-make-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-deal-of-day__inner,
  .torque-promo-pair__grid,
  .torque-blog-magazine {
    grid-template-columns: 1fr;
  }

  .torque-testimonials-wide__item {
    flex-direction: column;
    text-align: center;
  }
}

/* Phones: rows of side-by-side items (banners, advantages, tiles, steps, promotions, category cards)
   become swipeable rows; the next item shows at the edge so the row reads as one to swipe. */
@media screen and (max-width: 767.98px) {
  .torque-hero-side-banners,
  .torque-hero-mini-banners,
  .torque-iconbox-band__list,
  .torque-category-tiles,
  .torque-steps__list,
  .torque-promo-pair__grid,
  .torque-category-list {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.75rem;
    margin-right: calc(-1 * var(--theme-gutter, 15px));
    margin-left: calc(-1 * var(--theme-gutter, 15px));
    padding: 0 var(--theme-gutter, 15px) 0.25rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-padding-inline: var(--theme-gutter, 15px);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .torque-hero-side-banners::-webkit-scrollbar,
  .torque-hero-mini-banners::-webkit-scrollbar,
  .torque-iconbox-band__list::-webkit-scrollbar,
  .torque-category-tiles::-webkit-scrollbar,
  .torque-steps__list::-webkit-scrollbar,
  .torque-promo-pair__grid::-webkit-scrollbar,
  .torque-category-list::-webkit-scrollbar {
    display: none;
  }

  .torque-hero-side-banners > *,
  .torque-hero-mini-banners > *,
  .torque-iconbox-band__list > *,
  .torque-category-tiles > *,
  .torque-steps__list > *,
  .torque-promo-pair__grid > *,
  .torque-category-list > * {
    flex: 0 0 82%;
    min-width: 0;
    scroll-snap-align: start;
  }

  /* "Caută după marcă" (Home 1): every make on two rows of four smaller tiles, no carousel. */
  .torque-make-grid__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .torque-make-grid__tile {
    min-height: 4.75rem;
    padding: 0.625rem 0.25rem;
    gap: 0.25rem;
  }

  .torque-make-grid__tile img {
    max-width: 100%;
    max-height: 1.5rem;
  }

  .torque-make-grid__name {
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  .torque-make-grid__count {
    font-size: 0.6875rem;
  }

  .torque-make-grid__tile--all {
    font-size: 0.75rem;
    line-height: 1.2;
  }

  .torque-make-grid__all-icon {
    width: 1.75rem;
    height: 1.75rem;
  }

  /* The side banners sit in a column without the container's padding: no negative left margin, so the
     first banner lines up with the page's 15px edge. */
  .torque-hero-side-banners {
    margin-left: 0;
  }

  /* Category cards are Bootstrap columns: drop the column padding so the card fills its slot. */
  .torque-category-list.row > .col,
  .torque-category-list > * {
    flex-basis: 88%;
    padding-right: 0;
    padding-left: 0;
  }

  /* The Home 1 phone rule gives the slider's banners 22rem; the side banners keep their own height. */
  [data-erp-home-lead] .torque-hero-side-banners .shoper-banner {
    height: 12.5rem;
  }

  .torque-hero-side-banners .shoper-banner.style-inner .shoper-entry-wrapper {
    padding: 1.25rem 1.5rem;
  }

  .torque-hero-side-banners .shoper-entry-title {
    font-size: 1.25rem;
  }

  .torque-category-list > .klb-product-category {
    max-width: none;
    margin-top: 0;
    padding: 0;
  }

  .torque-iconbox-band__list {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .torque-iconbox-band--red .torque-iconbox-band__list,
  .torque-iconbox-band .torque-iconbox-band__list {
    border-right: 0;
    border-left: 0;
  }
}

/* Pills on the accent colour (banner label, discount badge) take the scheme's text-on-accent colour:
   white on red, dark on yellow. Bootstrap paints badges with its own white variable. */
.shoper-banner .badge,
.product-badges .badge.sale,
.shoper-module-deals .badge.sale,
.badge.theme-primary,
.badge.theme-danger,
.badge.trending {
  --bs-badge-color: var(--color-on-primary);
  color: var(--color-on-primary);
}

/* Block-sized links (tiles, banners, cards) keep their own text colour on hover; the hover shows on
   their border, shadow or image instead. Without this, the generic link hover recolours the whole tile. */
.torque-make-grid__tile:hover,
.torque-make-grid__tile:focus-visible,
.torque-make-grid__promo:hover,
.torque-blog-magazine__item:hover {
  color: var(--color-text-primary);
}

.torque-make-grid__tile--all:hover,
.torque-make-grid__tile--all:focus-visible {
  color: var(--color-primary-text);
}

.torque-category-tabs__banner:hover,
.torque-blog-magazine__lead:hover,
.torque-promo-pair__tile--new:hover {
  color: #fff;
}

.torque-promo-pair__tile--sale,
.torque-promo-pair__tile--sale:hover {
  color: var(--color-on-primary);
}

.torque-blog-magazine__item:hover .torque-blog-magazine__item-title {
  color: var(--color-link-hover);
}

/* Style switcher (theme option "Panou de personalizare pentru vizitatori"): a tab on the right edge and
   a side panel with the homepage versions and the colour schemes. Its buttons are scoped as element +
   class so they outrank the theme-wide button styles (grey surface, form height, icon margin). */
.torque-style-switcher button.torque-style-switcher__toggle {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 1040;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  border-radius: 0.5rem 0 0 0.5rem;
  background: var(--color-primary);
  box-shadow: 0 6px 18px rgba(33, 37, 41, 0.18);
  color: var(--color-on-primary);
  font-size: 1.25rem;
  transform: translateY(-50%);
  transition: background-color 0.2s ease;
}

.torque-style-switcher button.torque-style-switcher__toggle:hover,
.torque-style-switcher button.torque-style-switcher__toggle:focus-visible {
  background: var(--color-primary-dark);
}

.torque-style-switcher button i {
  margin: 0;
  font-size: inherit;
}

.torque-style-switcher button.torque-style-switcher__toggle i {
  animation: torque-switcher-spin 6s linear infinite;
}

@keyframes torque-switcher-spin {
  to {
    transform: rotate(360deg);
  }
}

.torque-style-switcher__panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: min(20rem, 100%);
  padding: 1.5rem;
  overflow-y: auto;
  background: #fff;
  box-shadow: -12px 0 32px rgba(33, 37, 41, 0.16);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.3s ease, visibility 0.3s;
}

.torque-style-switcher.is-open .torque-style-switcher__panel {
  transform: none;
  visibility: visible;
}

.torque-style-switcher__panel:focus {
  outline: none;
}

.torque-style-switcher__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-info);
}

.torque-style-switcher__title {
  margin: 0;
  font-size: 1.125rem;
}

.torque-style-switcher button.torque-style-switcher__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid var(--color-info);
  border-radius: 50%;
  background: #fff;
  color: var(--color-text-primary);
}

.torque-style-switcher button.torque-style-switcher__close:hover,
.torque-style-switcher button.torque-style-switcher__close:focus-visible {
  border-color: var(--color-text-primary);
}

.torque-style-switcher__group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.torque-style-switcher__label {
  margin: 0;
  color: var(--color-text-description);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.torque-style-switcher__note {
  margin: -0.25rem 0 0;
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.torque-style-switcher__versions {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-style-switcher__version {
  display: block;
  padding: 0.375rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  color: var(--color-text-primary);
  font-weight: 600;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.torque-style-switcher__version-media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: calc(var(--theme-theme-radius-base, 12px) - 4px);
  background: var(--color-info-light);
  aspect-ratio: 560 / 347;
}

.torque-style-switcher__version-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 0.4s ease;
}

.torque-style-switcher__version:hover .torque-style-switcher__version-media img {
  transform: scale(1.03);
}

.torque-style-switcher__version-check {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 2px 8px rgba(33, 37, 41, 0.2);
  color: var(--color-on-primary);
  font-size: 0.75rem;
}

.torque-style-switcher__version:hover,
.torque-style-switcher__version:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-text-primary);
}

.torque-style-switcher__version.is-active {
  border-color: var(--color-primary);
  box-shadow: inset 0 0 0 1px var(--color-primary);
}


.torque-style-switcher__schemes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.torque-style-switcher button.torque-style-switcher__scheme {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 0.5rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #fff;
  color: var(--color-text-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  height: auto;
  transition: border-color 0.2s ease;
}

.torque-style-switcher button.torque-style-switcher__scheme:hover,
.torque-style-switcher button.torque-style-switcher__scheme:focus-visible {
  border-color: var(--color-text-description);
}

.torque-style-switcher button.torque-style-switcher__scheme[aria-checked="true"] {
  border-color: var(--color-primary);
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

.torque-style-switcher__swatch {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--swatch-primary);
  color: var(--swatch-text);
  font-size: 0.9375rem;
  font-weight: 700;
}

.torque-style-switcher__tones {
  display: inline-flex;
  gap: 0.25rem;
}

.torque-style-switcher__tones span {
  width: 0.75rem;
  height: 0.75rem;
  border: 1px solid rgba(33, 37, 41, 0.12);
  border-radius: 50%;
  background: var(--tone);
}

.torque-style-switcher button.torque-style-switcher__reset {
  align-self: flex-start;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-text-description);
  font-size: 0.8125rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  height: auto;
}

.torque-style-switcher button.torque-style-switcher__reset:hover,
.torque-style-switcher button.torque-style-switcher__reset:focus-visible {
  color: var(--color-text-primary);
}

@media screen and (max-width: 767.98px) {
  /* Phones: a slim tab on the right edge, out of the way while the page scrolls (torque.js). */
  .torque-style-switcher button.torque-style-switcher__toggle {
    top: 45%;
    width: 1.875rem;
    height: 2.75rem;
    border-radius: 0.5rem 0 0 0.5rem;
    font-size: 0.9375rem;
    transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
  }

  .torque-style-switcher.is-scrolling:not(.is-open) button.torque-style-switcher__toggle {
    opacity: 0;
    transform: translate(100%, -50%);
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .torque-style-switcher button.torque-style-switcher__toggle i {
    animation: none;
  }

  .torque-style-switcher__panel {
    transition: none;
  }
}

/* Dark header (homepage option "Header-ul versiunii: Întunecat"): the header rows on a dark surface with
   light text; menus that open from it (dropdowns, mega menu, mini cart, search results) stay light. */
.shoper-site-header.torque-header-dark {
  --torque-header-dark-surface: #1f2328;
  --torque-header-dark-topbar: #171a1e;
  --torque-header-dark-line: rgba(255, 255, 255, 0.1);
  --torque-header-dark-muted: rgba(255, 255, 255, 0.68);
}

.shoper-site-header.torque-header-dark .shoper-header-topbar {
  border-color: var(--torque-header-dark-line);
  background-color: var(--torque-header-dark-topbar);
  color: var(--torque-header-dark-muted);
}

.shoper-site-header.torque-header-dark .shoper-header-main,
.shoper-site-header.torque-header-dark .shoper-header-nav,
.shoper-site-header.torque-header-dark .shoper-header-mobile {
  border-color: var(--torque-header-dark-line);
  background-color: var(--torque-header-dark-surface);
  color: #fff;
}

.shoper-site-header.torque-header-dark .shoper-header-topbar .shoper-menu > .shoper-menu-item > a,
.shoper-site-header.torque-header-dark .shoper-header-topbar .shoper-header-inner > .column a {
  color: var(--torque-header-dark-muted);
}

.shoper-site-header.torque-header-dark .shoper-header-topbar strong,
.shoper-site-header.torque-header-dark .shoper-header-topbar .shoper-menu > .shoper-menu-item > a:hover,
.shoper-site-header.torque-header-dark .shoper-header-topbar .shoper-header-inner > .column a:hover {
  color: #fff;
}

.shoper-site-header.torque-header-dark .shoper-site-brand a,
.shoper-site-header.torque-header-dark .shoper-site-brand .brand-text,
.shoper-site-header.torque-header-dark .quick-button .quick-icon,
.shoper-site-header.torque-header-dark .quick-button .quick-text,
.shoper-site-header.torque-header-dark .quick-button .quick-text-inner,
.shoper-site-header.torque-header-dark .quick-button .cart-price,
.shoper-site-header.torque-header-dark .shoper-header-main .quick-button > a,
.shoper-site-header.torque-header-dark .shoper-header-mobile .quick-button > a,
.shoper-site-header.torque-header-dark .shoper-header-nav .shoper-menu-wrapper.primary .shoper-menu > .shoper-menu-item > a,
.shoper-site-header.torque-header-dark .shoper-header-main .shoper-menu-wrapper.primary .shoper-menu > .shoper-menu-item > a {
  color: #fff;
}

.shoper-site-header.torque-header-dark .quick-button .quick-text .sub-text,
.shoper-site-header.torque-header-dark .quick-button .quick-text-inner span:first-child,
.shoper-site-header.torque-header-dark .quick-button .cart-count-text {
  color: var(--torque-header-dark-muted);
}

.shoper-site-header.torque-header-dark .shoper-header-nav .shoper-menu-wrapper.primary .shoper-menu > .shoper-menu-item > a:hover,
.shoper-site-header.torque-header-dark .shoper-header-main .shoper-menu-wrapper.primary .shoper-menu > .shoper-menu-item > a:hover {
  color: var(--color-primary);
}

.shoper-site-header.torque-header-dark .shoper-header-main .toggle-button .quick-icon,
.shoper-site-header.torque-header-dark .shoper-header-mobile .toggle-button .quick-icon {
  color: #fff;
}

.shoper-site-header.torque-header-dark .quick-button.custom-button .quick-button-inner .quick-icon {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.shoper-site-header.torque-header-dark .quick-button.custom-button:hover .quick-icon {
  background-color: rgba(255, 255, 255, 0.18);
}

/* Cookie settings live in the footer link and the customer account (Detalii cont), not in a floating
   button over the page. */
.site-notice__reopen,
.site-notice__reopen.site-notice__reopen--visible {
  display: none !important;
}

.shoper-site-footer button.torque-footer-cookie-link {
  height: auto;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
}

.shoper-site-footer button.torque-footer-cookie-link:hover,
.shoper-site-footer button.torque-footer-cookie-link:focus-visible {
  background: none;
  color: var(--color-link-hover);
}

.custom-background-dark button.torque-footer-cookie-link:hover,
.custom-background-dark button.torque-footer-cookie-link:focus-visible {
  color: var(--color-primary);
}

/* The style switcher tab steps aside while the site drawer is open. */
html.erp-site-drawer-open .torque-style-switcher {
  display: none;
}

/* Cart on phones: the unit price and line total under the product name (their columns are hidden below 576px). */
.torque-cart-item-phone-price {
  display: none;
}

@media screen and (max-width: 575.98px) {
  .torque-cart-item-phone-price {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
    margin-top: 0.375rem;
    color: var(--color-text-description);
    font-size: 0.8125rem;
  }

  .torque-cart-item-phone-price__total strong {
    color: var(--color-text-primary);
    font-weight: 700;
  }
}

/* Product cards on phones: the cart button sits right under the product's price and stock, not at the
   bottom of a stretched footer next to the card below (the hover footer is always open on touch screens). */
@media screen and (max-width: 767.98px) {
  .products:not(.large-list) .product.custom-hover .product-footer {
    height: auto;
  }

  .products:not(.large-list) .product.custom-hover .product-footer .product-footer-inner {
    height: auto;
    margin-top: 0;
    padding-top: 0.625rem;
    border-bottom: 0;
  }

  .products:not(.large-list) .product.custom-hover .product-footer .product-footer-actions,
  .products:not(.large-list) .product.custom-hover .product-footer .product-footer-actions > .button {
    margin-top: 0;
  }
}

/* Notifications (add to cart and others) open above the fixed bottom navigation on phones and tablets. */
@media screen and (max-width: 991.98px) {
  .toastify.toastify-bottom {
    margin-bottom: calc(5.5rem + env(safe-area-inset-bottom));
  }
}

/* Banners on phones. The source darkens every photo by a flat 10-40% below 768px, which sinks dark text
   into the picture. Dark-text banners get a light veil on the text side instead, left-aligned copy and
   a narrower column, so the photo's subject stays visible on the right; light-text banners get a
   gradient that is darkest behind the text. */
@media screen and (max-width: 767.98px) {
  .shoper-banner.style-inner.color-scheme-dark .shoper-entry-wrapper[class*="-dark-max768"]::before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 48%, rgba(255, 255, 255, 0) 78%);
  }

  .shoper-banner.style-inner.color-scheme-dark .shoper-entry-wrapper {
    justify-content: flex-start;
    text-align: left;
  }

  .shoper-banner.style-inner.color-scheme-dark .shoper-entry-wrapper .shoper-entry-heading {
    align-items: flex-start;
  }

  .shoper-banner.style-inner.color-scheme-dark .shoper-entry-wrapper .shoper-entry-inner {
    position: relative;
    width: 64% !important;
    max-width: 64%;
  }

  .shoper-banner.style-inner.color-scheme-light .shoper-entry-wrapper[class*="-dark-max768"]::before {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0.12) 100%);
  }

  .shoper-banner.style-inner .shoper-entry-wrapper .shoper-entry-inner {
    position: relative;
  }
}

/* Blog sidebar "Articole recente": the round thumbnail fills its circle (the image is absolutely
   positioned without coordinates in the source, so it drifted 22px right and showed a half circle). */
.widget_posts ul li .shoper-entry-media a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.widget_posts ul li .shoper-entry-media a img {
  top: 0;
  left: 0;
}

/* Blog post on phones: the title leads the article headings, the meta reads as one compact block with
   the tags inline, and article headings scale down to the screen. */
@media screen and (max-width: 767.98px) {
  .shoper-single-post .shoper-entry-header .shoper-entry-title {
    font-size: 1.625rem;
    line-height: 1.25;
  }

  .shoper-single-post .shoper-entry-content h2 {
    font-size: 1.3125rem;
    line-height: 1.3;
  }

  .shoper-single-post .shoper-entry-content h3 {
    font-size: 1.125rem;
    line-height: 1.35;
  }

  .shoper-single-post .shoper-entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    height: auto;
  }

  .shoper-single-post .shoper-entry-meta .meta-item {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.5rem;
    margin: 0;
  }

  .shoper-single-post .shoper-entry-meta .shoper-entry-tags {
    flex-basis: 100%;
  }

  .shoper-single-post .shoper-entry-meta .shoper-entry-tags > span {
    flex-basis: 100%;
  }

  .shoper-single-post .shoper-entry-meta .shoper-entry-tags a {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0 0.75rem;
    border: 1px solid var(--color-info);
    border-radius: 999px;
    color: var(--color-text-primary);
    font-size: 0.8125rem;
  }
}

/* A plain page's breadcrumb keeps the same gap under the header as the other pages. */
.shoper-site-page-content > .container > .shoper-breadcrumb:first-child {
  padding-top: 1.5rem;
}

.shoper-blog-single > .shoper-breadcrumb:first-child {
  padding-top: 1.5rem;
}

/* Phone polish (mobile audit 2026-10-26). */
@media screen and (max-width: 767.98px) {
  /* Category tabs of a product carousel: one row that scrolls sideways instead of three wrapped lines. */
  .shoper-module-tab-links ul,
  .torque-category-tabs__body .shoper-module-tab-links ul {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
            mask-image: linear-gradient(90deg, #000 85%, transparent);
  }

  .shoper-module-tab-links ul::-webkit-scrollbar {
    display: none;
  }

  .shoper-module-tab-links ul > li {
    flex: 0 0 auto;
  }

  /* Product photos on phones keep only the wishlist button; compare and quick view covered the image. */
  .product .product-buttons .compare,
  .product .product-buttons .quickview {
    display: none !important;
  }

  /* Chip rows that scroll sideways fade at the edge, so it shows there is more. */
  .torque-help-nav__list {
    -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
            mask-image: linear-gradient(90deg, #000 85%, transparent);
  }

  /* Testimonial on the dark band: the slider dots clear the author line. */
  .torque-testimonials-wide__item {
    padding-bottom: 1.5rem;
  }
}

@media screen and (max-width: 575.98px) {
  /* Sale tile: the value under the copy, so the title keeps its words whole. */
  .torque-promo-pair__tile--sale {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  /* Cart quantity: 40px tap targets. */
  .shoper-cart-form table td .quantity-button,
  .shoper-cart-form table td .qty {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* Side panels (site drawer, style switcher): thin scrollbars. */
.shoper-site-drawer,
.shoper-site-drawer .site-scroll,
.torque-style-switcher__panel {
  scrollbar-width: thin;
}

/* Contact page: every info block keeps its icon beside the text (a longer text wrapped under the icon),
   the plain description reads as secondary text, and the grid uses the page's 15px gutter. */
.torque-contact-page .contact-iconboxes .iconbox {
  flex-wrap: nowrap;
  align-items: flex-start;
}

.torque-contact-page .contact-iconboxes .iconbox .detail {
  flex: 1 1 auto;
  min-width: 0;
}

.torque-contact-page .contact-iconboxes .iconbox .detail > p:not(.phone) {
  margin-top: 0.25rem;
  color: var(--color-text-description);
  font-size: 0.875rem;
  line-height: 1.5;
}

.torque-contact-page__grid {
  --bs-gutter-x: 1.875rem;
}

/* A block that brings its own container (blog archive) inside a page's container does not add a second
   15px inset. */
.shoper-site-page-content > .container > .shoper-entry-content > .container {
  padding-right: 0;
  padding-left: 0;
}

/* Cart totals on phones: one inset (the box's), not the box's plus the inner block's, so the labels and
   amounts keep their line ("Livrare" beside its value). */
@media screen and (max-width: 575.98px) {
  .shoper-cart-collaterals {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .shoper-cart-collaterals .shoper-cart-totals {
    padding-right: 0;
    padding-left: 0;
  }
}

/* Product page "Produse asociate" / "Vizualizate recent": the grid's gutter is taken out once, so the cards
   line up with the page's 15px edges on both sides. */
.shoper-single-product > .related.products,
.shoper-single-product > .recently-viewed.products {
  margin-right: 0;
  margin-left: 0;
}

section#related-products > div.products,
section#recently-viewed-products > div.products {
  /* The grid pads 5px and each column 5px more: pull out both (ID selectors: the source caps the width
     with section#related-products > .products). */
  width: calc(100% + 20px);
  max-width: none;
  margin-right: -10px;
  margin-left: -10px;
}

/* Phones: 40px tap targets for pagination and the form checkboxes (contact consent, filters' native boxes). */
@media screen and (max-width: 767.98px) {
  .shoper-pagination ul.page-numbers li > .page-numbers {
    width: 40px;
    height: 40px;
  }

  .torque-contact-page input[type="checkbox"],
  .shoper-cart-form input[type="checkbox"],
  .newsletter-form input[type="checkbox"] {
    width: 20px;
    height: 20px;
  }
}

/* "Magazin" (Home 3, reference theme Chromium home 3). Hero: the slider beside two stacked banners. */
.torque-hero-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 25rem);
  gap: 1.5rem;
}

.torque-hero-stack__slider {
  min-width: 0;
}

.torque-hero-stack__banners {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.torque-hero-stack__banners .shoper-banner {
  height: 100%;
  margin: 0;
}

.torque-hero-stack__banners .shoper-banner .shoper-entry-media,
.torque-hero-stack__banners .shoper-banner .shoper-entry-media img {
  height: 100%;
}

.torque-hero-stack__banners .shoper-banner .shoper-entry-media img {
  object-fit: cover;
}

/* Two columns: the shop widgets on the left (18.75rem), the blocks placed inside on the right. The blocks
   bring their own container; inside the main column they take its width. */
.torque-shop-columns__grid {
  display: grid;
  grid-template-areas: "side main";
  grid-template-columns: 18.75rem minmax(0, 1fr);
  gap: 1.75rem;
  align-items: start;
}

.torque-shop-columns__main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  grid-area: main;
  min-width: 0;
}

.torque-shop-columns__main > .container,
.torque-shop-columns__main > .shoper-home-block {
  width: auto;
  max-width: none;
  margin: 0;
  padding-right: 0;
  padding-left: 0;
}

.torque-shop-columns__side {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
  grid-area: side;
  min-width: 0;
}

.torque-side-widget {
  padding: 1.125rem 1.25rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #fff;
}

.torque-side-widget__title {
  margin: 0 0 0.875rem;
  font-size: 1rem;
  font-weight: 700;
}

.torque-side-widget--categories {
  border-top: 3px solid var(--color-primary);
}

.torque-side-categories {
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-side-categories li + li {
  border-top: 1px solid var(--color-info);
}

.torque-side-categories a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 2.75rem;
  color: var(--color-text-primary);
  font-size: 0.9375rem;
}

.torque-side-categories a:hover,
.torque-side-categories a:focus-visible {
  color: var(--color-link-hover);
}

.torque-side-categories i {
  flex: 0 0 1.5rem;
  color: var(--color-primary-text);
  font-size: 1.25rem;
  text-align: center;
}

.torque-side-advantages {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-side-advantages li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.torque-side-advantages__icon {
  display: inline-flex;
  flex: 0 0 2.5rem;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-primary-lighter);
  color: var(--color-primary-text);
  font-size: 1.125rem;
}

.torque-side-advantages__copy {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.torque-side-advantages__copy span {
  color: var(--color-text-description);
}

.torque-side-brands {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-side-brands li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
  padding: 0.5rem;
  border: 1px solid var(--color-info);
  border-radius: 8px;
}

.torque-side-brands img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  opacity: 0.75;
}

.torque-side-promo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  padding: 1.75rem 1.25rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--color-primary);
  color: var(--color-on-primary);
  text-align: center;
}

.torque-side-promo:hover,
.torque-side-promo:focus-visible {
  color: var(--color-on-primary);
}

.torque-side-promo__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.torque-side-promo__title {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.torque-side-promo__value {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}

.torque-side-promo__button {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  margin-top: 0.5rem;
  padding: 0 1.25rem;
  border-radius: 8px;
  background: #212529;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
}

.torque-side-widget--deal .product {
  margin: 0;
  border: 0;
  box-shadow: none;
}

.torque-side-testimonial {
  margin: 0;
}

.torque-side-testimonial__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.625rem;
}

.torque-side-testimonial__head img {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  object-fit: cover;
}

.torque-side-testimonial .stars {
  color: #f4b400;
  font-size: 0.875rem;
}

.torque-side-testimonial blockquote {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.55;
}

.torque-side-testimonial figcaption {
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.torque-side-widget--testimonials .slick-dots {
  position: static;
  margin-top: 0.75rem;
}

@media screen and (max-width: 1199.98px) {
  .torque-hero-stack {
    grid-template-columns: 1fr;
  }

  .torque-hero-stack__banners {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }

  .torque-hero-stack__banners .shoper-banner {
    height: 12.5rem;
  }

  /* Main column first, then the widgets two by two. */
  .torque-shop-columns__grid {
    grid-template-areas: "main" "side";
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-shop-columns__side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767.98px) {
  .torque-hero-stack__banners {
    display: flex;
  }

  .torque-shop-columns__side {
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-side-brands {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Magazin: the stacked hero banners share the slider's height (their picture fills them, it no longer
   sets their height). */
.torque-hero-stack {
  align-items: stretch;
}

.torque-hero-stack__banners {
  min-height: 0;
}

.torque-hero-stack__banners .shoper-banner {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.torque-hero-stack__banners .shoper-banner .shoper-entry-media {
  position: absolute;
  inset: 0;
}

/* Magazin main column: wide banners are bands with the picture filling them (20rem on a desktop column,
   never under 13.75rem on phones); dark-text bands get a light veil on the text side so the copy stays
   readable over any photo. */
.torque-shop-columns__main .shoper-banner {
  position: relative;
  height: clamp(13.75rem, 30vw, 20rem);
  overflow: hidden;
}

.torque-shop-columns__main .shoper-banner .shoper-entry-media {
  position: absolute;
  inset: 0;
}

.torque-shop-columns__main .shoper-banner .shoper-entry-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.torque-shop-columns__main .shoper-banner .shoper-entry-wrapper {
  position: relative;
  z-index: 1;
  height: 100%;
}

.torque-shop-columns__main .shoper-banner.color-scheme-dark .shoper-entry-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0) 65%);
  pointer-events: none;
}

.torque-shop-columns__main .shoper-banner .shoper-entry-wrapper .shoper-entry-inner {
  position: relative;
}

/* Magazin popular categories: four cards in a row, picture above the name and subcategories. */
@media screen and (min-width: 1200px) {
  .torque-shop-columns__main .torque-category-list > .klb-product-category {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .torque-shop-columns__main .torque-category-list .categories.list-style .category {
    flex-direction: column;
    align-items: flex-start;
  }

  .torque-shop-columns__main .torque-category-list .categories.list-style .category .shoper-entry-media {
    width: 100%;
    max-width: none;
    margin: 0 0 0.875rem;
  }

  .torque-shop-columns__main .torque-category-list .categories.list-style .category .shoper-entry-media img {
    width: 100%;
    height: 7.5rem;
    object-fit: contain;
  }
}

/* Magazin: product cards in its narrower columns put the cart button under the price (as on tablets), so
   the price keeps one line; the hero slider does not show the next slide's edge beside the banners. */
.torque-shop-columns .product .product-cart-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.625rem;
  align-items: stretch;
}

.torque-shop-columns .product .product-cart-form .price {
  padding-right: 0;
}

.torque-hero-stack__slider {
  overflow: hidden;
  border-radius: var(--theme-theme-radius-base, 12px);
}

/* Magazin hero: the slider module and the banner column start on the same line (the module's and the side
   banners' own top margins are for other layouts). */
.torque-hero-stack__slider > .shoper-module,
.torque-hero-stack__banners.torque-hero-side-banners {
  margin-top: 0;
}

/* Product cards on phones and tablets, every block alike: price, then real stock (and the deal's stock
   bar), then the cart or quote button, then the deal countdown. The standard and deal cards keep price and
   button in one cart form; its contents join the card's column so the order matches the catalogue cards. */
@media screen and (max-width: 991.98px) {
  .product[data-erp-card-variant="standard"] .content-wrapper,
  .product[data-erp-card-variant="deal"] .content-wrapper {
    display: flex;
    flex-direction: column;
  }

  .product[data-erp-card-variant="standard"] .content-wrapper .product-cart-form,
  .product[data-erp-card-variant="deal"] .content-wrapper .product-cart-form {
    display: contents;
  }

  .product[data-erp-card-variant="standard"] .content-wrapper .price,
  .product[data-erp-card-variant="deal"] .content-wrapper .price {
    order: 1;
  }

  .product[data-erp-card-variant="standard"] .content-wrapper .product-progress-wrapper,
  .product[data-erp-card-variant="deal"] .content-wrapper .product-progress-wrapper {
    order: 2;
  }

  .product[data-erp-card-variant="standard"] .content-wrapper .product-stock,
  .product[data-erp-card-variant="deal"] .content-wrapper .product-stock {
    order: 3;
  }

  .product[data-erp-card-variant="standard"] .content-wrapper .shoper-add-to-cart-button,
  .product[data-erp-card-variant="standard"] .content-wrapper .shoper-quote-button,
  .product[data-erp-card-variant="deal"] .content-wrapper .shoper-add-to-cart-button,
  .product[data-erp-card-variant="deal"] .content-wrapper .shoper-quote-button {
    order: 4;
    width: 100%;
    margin-top: 0.625rem;
  }

  .product[data-erp-card-variant="deal"] .content-wrapper .deal-counter {
    order: 5;
  }
}

/* Catalogue (inner-page template approved 2026-10-26). The vehicle finder on a dark band above the
   products (reference theme Chromium): title and hint on the left, the four fields and the button in one
   row; with a chosen vehicle it shows the vehicle's pills and the change / clear actions. */
.torque-plp-vehicle-band {
  margin: 1.5rem 0 0.5rem;
  padding: 1.25rem 1.75rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #1f2328;
  color: #fff;
}

.torque-plp-vehicle-band .torque-finder-band {
  display: grid;
  grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
  align-items: center;
  gap: 0.25rem 1.75rem;
  padding: 0;
  border: 0;
  background: none;
}

.torque-plp-vehicle-band .torque-finder-band > * {
  grid-column: 2;
  margin: 0;
}

.torque-plp-vehicle-band .torque-finder-band > .shoper-widget-title,
.torque-plp-vehicle-band .torque-finder-band > .shoper-entry-description {
  grid-column: 1;
}

.torque-plp-vehicle-band .torque-finder-band > .shoper-widget-title {
  grid-row: 1;
  align-self: end;
  color: #fff;
  font-size: 1.125rem;
}

.torque-plp-vehicle-band .torque-finder-band > .shoper-entry-description {
  grid-row: 2;
  align-self: start;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8125rem;
}

.torque-plp-vehicle-band .torque-finder-band > .torque-finder-form,
.torque-plp-vehicle-band .torque-finder-band > .torque-finder-active-state {
  grid-row: 1 / span 2;
}

.torque-plp-vehicle-band .torque-finder-band > [data-erp-finder-status],
.torque-plp-vehicle-band .torque-finder-band > .finder-make-mark,
.torque-plp-vehicle-band .torque-finder-band > svg {
  display: none;
}

.torque-plp-vehicle-band .torque-finder-band .torque-finder-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 0.75rem;
}

.torque-plp-vehicle-band .torque-finder-band .torque-finder-form .form-column {
  margin: 0;
}

.torque-plp-vehicle-band .torque-finder-band .torque-finder-form button {
  height: 2.75rem;
  white-space: nowrap;
}

.torque-plp-vehicle-band .torque-finder-active-state {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.torque-plp-vehicle-band .torque-finder-pill {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* Subcategories as chips (only those with products). */
.torque-subcategory-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.torque-subcategory-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.5rem;
  padding: 0 1rem;
  border: 1px solid var(--color-info);
  border-radius: 999px;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 500;
  transition: border-color 0.2s ease;
}

.torque-subcategory-chip:hover,
.torque-subcategory-chip:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-text-primary);
}

.torque-subcategory-chip span {
  color: var(--color-text-description);
  font-size: 0.75rem;
}

/* The filter column stays in view while the products scroll (desktop). */
@media screen and (min-width: 992px) {
  .shop-page-wrapper .filtered-sidebar .shoper-site-scroll {
    position: sticky;
    top: 1.5rem;
  }
}

.torque-brand-search {
  width: 100%;
  height: 2.5rem;
  margin-bottom: 0.75rem;
  padding: 0 0.875rem;
  border: 1px solid var(--color-form-border);
  border-radius: 8px;
  font-size: 0.875rem;
}

.torque-filter-promo__link {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 1.5rem 1.25rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--color-primary);
  color: var(--color-on-primary);
  text-align: center;
}

.torque-filter-promo__link:hover,
.torque-filter-promo__link:focus-visible {
  color: var(--color-on-primary);
}

.torque-filter-promo__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.torque-filter-promo__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.torque-filter-promo__button {
  align-self: center;
  margin-top: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  background: #212529;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
}

/* "Încarcă mai multe produse" above the page numbers. */
.torque-load-more {
  display: flex;
  justify-content: center;
  margin: 1.5rem 0 1rem;
}

.torque-load-more__button {
  min-width: 15rem;
  height: 2.875rem;
}

.torque-load-more__button.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Category text (SEO) and recently viewed under the products. */
.torque-category-seo {
  margin: 3rem 0 0;
  padding: 2rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-category-seo__title {
  margin: 0 0 1rem;
  font-size: 1.25rem;
}

.torque-category-seo .term-description {
  color: var(--color-text-description);
  line-height: 1.7;
}

.torque-catalog-recent {
  margin-top: 3rem;
}

@media screen and (max-width: 991.98px) {
  .torque-plp-vehicle-band {
    padding: 1.25rem;
  }

  .torque-plp-vehicle-band .torque-finder-band {
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-plp-vehicle-band .torque-finder-band > *,
  .torque-plp-vehicle-band .torque-finder-band > .shoper-widget-title,
  .torque-plp-vehicle-band .torque-finder-band > .shoper-entry-description,
  .torque-plp-vehicle-band .torque-finder-band > .torque-finder-form,
  .torque-plp-vehicle-band .torque-finder-band > .torque-finder-active-state {
    grid-column: 1;
    grid-row: auto;
  }

  .torque-plp-vehicle-band .torque-finder-band .torque-finder-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-plp-vehicle-band .torque-finder-band .torque-finder-form .button-column {
    grid-column: 1 / -1;
  }

  .torque-subcategory-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .torque-subcategory-chip {
    flex: 0 0 auto;
  }
}

/* The finder's column styles cap its widths; in the catalogue band it spans the band. */
.torque-plp-vehicle-band .torque-finder-band,
.torque-plp-vehicle-band .torque-finder-band .torque-finder-form {
  width: 100%;
  max-width: none;
}

.torque-plp-vehicle-band .torque-finder-band .torque-finder-form .form-column,
.torque-plp-vehicle-band .torque-finder-band .torque-finder-form .select2-container {
  width: 100% !important;
  min-width: 0;
}

/* Product page (inner-page template approved 2026-10-26). Trust strip under the buttons (reference theme
   Chromium): the shop's delivery, warranty and return terms. */
.shoper-single-product-wrapper .product-detail .torque-pdp-trust {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  gap: 0.75rem;
  margin: 1.25rem 0;
  padding: 0.875rem 1rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  list-style: none;
}

.shoper-single-product-wrapper .product-detail .torque-pdp-trust li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
}

.shoper-single-product-wrapper .product-detail .torque-pdp-trust i {
  flex: 0 0 auto;
  color: var(--color-primary-text);
  font-size: 1.25rem;
}

/* "Întreabă un specialist" on a dark card, its contacts as buttons (call and WhatsApp). */
.shoper-single-product-wrapper .product-detail .product-assistant {
  padding: 1.125rem 1.25rem;
  border: 0;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #1f2328;
  color: #fff;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content span {
  color: #fff;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.625rem;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone,
.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat {
  background: #25d366;
  color: #fff;
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone:hover,
.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone:focus-visible {
  background: var(--color-primary-dark);
  color: var(--color-on-primary);
}

.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat:hover,
.shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat:focus-visible {
  background: #1ebe5a;
  color: #fff;
}

/* The product page's bottom add-to-cart bar on phones and tablets: above the bottom navigation, as image,
   price and button (the quantity stays on the product form). */
@media (max-width: 64rem) {
  .shoper-product-bottom-popup-cart[data-erp-sticky-single-cart] {
    bottom: calc(5.25rem + env(safe-area-inset-bottom));
    padding: 0.5rem 0;
    border-top: 1px solid var(--color-info);
  }

  .shoper-product-bottom-popup-cart[data-erp-sticky-single-cart]:not(.active) {
    visibility: hidden;
  }

  .shoper-single-product-wrapper .shoper-product-bottom-popup-cart .row {
    flex-wrap: nowrap;
    align-items: center;
  }

  .shoper-single-product-wrapper .shoper-product-bottom-popup-cart .row > div {
    width: auto;
    min-width: 0;
  }

  .shoper-single-product-wrapper .shoper-product-bottom-popup-cart .row > .col-md-6:first-child {
    flex: 1 1 auto;
  }

  .shoper-single-product-wrapper .shoper-product-bottom-popup-cart .shoper-product-bottom-details img {
    width: 2.75rem;
    height: 2.75rem;
  }

  .shoper-product-bottom-popup-cart .shoper-product-bottom-title h1,
  .shoper-product-bottom-popup-cart .quantity {
    display: none;
  }

  .shoper-single-product-wrapper .shoper-product-bottom-popup-cart span.price del {
    display: none;
  }

  .shoper-single-product-wrapper .product-detail .torque-pdp-trust {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Phones: avatar beside the question, the two contact buttons full width under them. */
@media (max-width: 575.98px) {
  .shoper-single-product-wrapper .product-detail .product-assistant {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
  }

  .shoper-single-product-wrapper .product-detail .product-assistant .assistant-avatar {
    width: 3rem;
    height: 3rem;
    margin: 0;
    overflow: hidden;
  }

  .shoper-single-product-wrapper .product-detail .product-assistant .assistant-content {
    display: contents;
  }

  .shoper-single-product-wrapper .product-detail .product-assistant .assistant-contact {
    grid-column: 1 / -1;
    margin: 0;
  }

  .shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-phone,
  .shoper-single-product-wrapper .product-detail .product-assistant .assistant-content p a.assistant-chat {
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* The back-to-top button rides above the product page's bottom add-to-cart bar while it is shown. */
body.has-pdp-sticky-cart .scrollToTop {
  bottom: calc(20px + var(--torque-pdp-sticky-cart-height, 0px));
}

@media (max-width: 64rem) {
  body.has-pdp-sticky-cart .scrollToTop {
    bottom: calc(6rem + env(safe-area-inset-bottom) + var(--torque-pdp-sticky-cart-height, 0px));
  }
}

/* The footer's "Preferințe cookie-uri" button reads like the policy links next to it. */
.shoper-site-footer .footer-copyright .footer-menu ul li button.torque-footer-cookie-link {
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: normal;
  letter-spacing: inherit;
}

.shoper-site-footer .footer-copyright .footer-menu ul li button.torque-footer-cookie-link:hover {
  text-decoration: underline;
}

/* Cart (inner-page template approved 2026-10-26): title with the item count and "Golește coșul", the order
   note and delivery estimate under the table, suggestions under the page, categories in the empty cart. */
.torque-cart-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.torque-cart-head__title {
  margin: 0;
  font-size: 1.625rem;
  font-weight: 700;
}

.torque-cart-head__title span {
  color: var(--color-text-description);
  font-weight: 500;
}

.torque-cart-head__empty {
  flex: 0 0 auto;
  color: var(--color-text-description);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.torque-cart-head__empty:hover,
.torque-cart-head__empty:focus-visible {
  color: var(--color-link-hover);
}

.torque-cart-extras {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1.25rem;
  margin: 1.5rem 0;
}

.torque-cart-box {
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-cart-box__title {
  display: block;
  margin-bottom: 0.625rem;
  font-size: 0.9375rem;
  font-weight: 700;
}

.torque-cart-box textarea {
  min-height: 5.5rem;
  font-size: 0.875rem;
  resize: vertical;
}

.torque-cart-box__value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.625rem;
  margin: 0 0 0.375rem;
}

.torque-cart-box__value strong {
  font-size: 1.25rem;
  font-weight: 700;
}

.torque-cart-box__value span,
.torque-cart-box__hint {
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.torque-cart-box__hint {
  margin: 0;
}

.shoper-cart-shipping-note strong.is-estimate {
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 700;
}

.torque-cart-suggestions {
  margin-top: 3.5rem;
}

.torque-cart-empty-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem;
  max-width: 44rem;
  margin: 1.75rem auto 0;
}

.torque-cart-empty-categories a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.5rem;
  padding: 0 1rem;
  border: 1px solid var(--color-info);
  border-radius: 999px;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

.torque-cart-empty-categories a:hover,
.torque-cart-empty-categories a:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-link-hover);
}

.torque-cart-empty-categories i {
  font-size: 1.125rem;
}

/* Phones: the suggestions scroll sideways, two cards and a bit of the next in view. */
@media (max-width: 767.98px) {
  .torque-cart-head__title {
    font-size: 1.25rem;
  }

  .torque-cart-suggestions__row.products {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .torque-cart-suggestions__row.products > * {
    flex: 0 0 44%;
    max-width: 44%;
    scroll-snap-align: start;
  }
}

/* Contact (inner-page template approved 2026-10-26): shop details on a dark card beside the form card,
   then three quick paths. */
.torque-contact-page__grid > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

.torque-contact-page__grid > [class*="col-"] > * {
  flex: 1 1 auto;
}

.torque-contact-info {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100%;
  padding: 2rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #1f2328;
  color: #fff;
}

.torque-contact-info__title {
  margin: 0;
  color: #fff;
  font-size: 1.75rem;
  font-weight: 700;
}

.torque-contact-info__lead {
  margin: -0.5rem 0 0;
  color: #aab0b6;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.torque-contact-info__list {
  display: grid;
  gap: 1.125rem;
  margin: 0;
}

.torque-contact-info__list > div {
  padding-top: 1.125rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.torque-contact-info__list dt {
  margin-bottom: 0.25rem;
  color: #aab0b6;
  font-size: 0.8125rem;
  font-weight: 500;
}

.torque-contact-info__list dd {
  margin: 0;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.55;
}

.torque-contact-info__list dd a {
  color: #fff;
  text-decoration: none;
}

.torque-contact-info__list dd a:hover,
.torque-contact-info__list dd a:focus-visible {
  color: var(--color-primary);
}

.torque-contact-info__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
}

.torque-contact-info__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 0.9375rem;
  text-decoration: none;
}

.torque-contact-info__social a:hover,
.torque-contact-info__social a:focus-visible {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.torque-contact-page .contact-form-wrapper.torque-contact-form-card {
  height: 100%;
  padding: 2rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  scroll-margin-top: 6rem;
}

.torque-contact-paths {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1.25rem;
  margin: 2.5rem 0 1rem;
}

.torque-contact-path {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  color: var(--color-text-description);
  font-size: 0.875rem;
  text-decoration: none;
  transition: border-color 0.2s ease;
}

.torque-contact-path i {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 1.25rem;
}

.torque-contact-path strong {
  display: block;
  color: var(--color-text-primary);
  font-size: 1rem;
  font-weight: 700;
}

.torque-contact-path:hover,
.torque-contact-path:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-text-description);
}

@media (max-width: 575.98px) {
  .torque-contact-info,
  .torque-contact-page .contact-form-wrapper.torque-contact-form-card {
    padding: 1.5rem 1.25rem;
  }

  .torque-contact-info__title {
    font-size: 1.5rem;
  }
}

/* About page (inner-page template approved 2026-10-26): mission / values / how we work, the shop's real
   figures, catalogue brands by name. */
.torque-about-values__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.torque-about-values__item {
  padding: 1.75rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-about-values__item h3 {
  margin: 0 0 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.torque-about-values__item h3::before {
  content: "";
  display: block;
  width: 2rem;
  height: 3px;
  margin-bottom: 1rem;
  background: var(--color-primary);
}

.torque-about-values__item p {
  margin: 0;
  color: var(--color-text-description);
  line-height: 1.65;
}

.torque-shop-stats__title {
  margin: 0 0 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.torque-shop-stats__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 1.25rem;
  margin: 0;
}

.torque-shop-stats__item {
  padding: 1.75rem 1rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--color-info-light);
  text-align: center;
}

.torque-shop-stats__item dt {
  color: var(--color-primary-text);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.torque-shop-stats__item dd {
  margin: 0.375rem 0 0;
  color: var(--color-text-description);
  font-size: 0.9375rem;
}

.shoper-module-logos .logo-item .torque-logo-wordmark {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  color: var(--color-text-primary);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.55;
  transition: opacity 0.2s ease;
}

.shoper-module-logos .logo-item a:hover .torque-logo-wordmark,
.shoper-module-logos .logo-item a:focus-visible .torque-logo-wordmark {
  opacity: 1;
}

@media (max-width: 991.98px) {
  .torque-about-values__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .torque-shop-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .torque-shop-stats__item dt {
    font-size: 2rem;
  }
}

/* Testimonials from the shop's reviews: initials when the reviewer has no photo; room under the quote for
   the slider dots. */
.torque-testimonial-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.shoper-module-testimonial .customer-avatar .torque-testimonial-initials {
  width: 4rem;
  height: 4rem;
  font-size: 1.25rem;
}

.torque-testimonials-wide__item {
  padding-bottom: 2.25rem;
}

/* Journal, magazine layout (inner-page template approved 2026-10-26): title and category chips, the newest
   post large beside three rows, a two-column grid, most-read list and shop link in the sidebar. */
.torque-journal-head {
  margin-bottom: 2rem;
}

.torque-journal-head__title {
  margin: 0 0 1rem;
  font-size: 2.25rem;
  font-weight: 700;
}

.torque-journal-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.torque-journal-chips a {
  display: inline-flex;
  align-items: center;
  min-height: 2.375rem;
  padding: 0 1rem;
  border: 1px solid var(--color-info);
  border-radius: 999px;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

.torque-journal-chips a:hover,
.torque-journal-chips a:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-link-hover);
}

.torque-journal-chips a.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.torque-journal-eyebrow {
  display: block;
  margin-bottom: 0.375rem;
  color: var(--color-primary-text);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.torque-journal-date {
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.torque-journal-top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 1.75rem;
  margin-bottom: 2.5rem;
}

.torque-journal-lead__link {
  position: relative;
  display: block;
  height: 100%;
  min-height: 22rem;
  overflow: hidden;
  border-radius: var(--theme-theme-radius-base, 12px);
  color: #fff;
  text-decoration: none;
}

.torque-journal-lead__link img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.torque-journal-lead__link:hover img {
  transform: scale(1.03);
}

.torque-journal-lead__body {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 4rem 1.75rem 1.5rem;
  background: linear-gradient(to top, rgba(17, 20, 24, 0.9), rgba(17, 20, 24, 0));
}

.torque-journal-lead__body .torque-journal-eyebrow {
  color: #fff;
  opacity: 0.85;
}

.torque-journal-lead__title {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.25;
}

.torque-journal-lead__body .torque-journal-date {
  color: rgba(255, 255, 255, 0.8);
}

.torque-journal-side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
}

.torque-journal-row {
  display: grid;
  grid-template-columns: 10.5rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
}

.torque-journal-row__media img,
.torque-journal-card__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--theme-theme-radius-base, 12px);
  object-fit: cover;
}

.torque-journal-row__title,
.torque-journal-card__title {
  margin: 0 0 0.375rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.35;
}

.torque-journal-row__title a,
.torque-journal-card__title a {
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-journal-row__title a:hover,
.torque-journal-card__title a:hover {
  color: var(--color-link-hover);
}

.torque-journal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 1.75rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--color-info);
}

.torque-journal-card__body {
  padding-top: 1rem;
}

.torque-journal-card__title {
  font-size: 1.25rem;
}

.torque-journal-card__body p {
  margin: 0 0 0.5rem;
  color: var(--color-text-description);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.torque-most-read ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: most-read;
}

.torque-most-read li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: baseline;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--color-info);
  counter-increment: most-read;
}

.torque-most-read li::before {
  content: counter(most-read);
  color: var(--color-primary-text);
  font-size: 1.375rem;
  font-weight: 700;
}

.torque-most-read li a {
  color: var(--color-text-primary);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.torque-most-read li a:hover {
  color: var(--color-link-hover);
}

.torque-journal-promo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.75rem 1.5rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--color-primary);
  color: var(--color-on-primary);
  text-decoration: none;
}

.torque-journal-promo__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.85;
}

.torque-journal-promo__title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.25;
}

.torque-journal-promo__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.5rem;
  font-weight: 700;
}

.torque-journal-promo:hover,
.torque-journal-promo:focus-visible {
  color: var(--color-on-primary);
}

.torque-journal-promo:hover .torque-journal-promo__cta {
  text-decoration: underline;
}

@media (max-width: 991.98px) {
  .torque-journal-top {
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-journal-lead__link {
    min-height: 18rem;
  }
}

@media (max-width: 575.98px) {
  .torque-journal-head__title {
    font-size: 1.75rem;
  }

  .torque-journal-chips {
    flex-wrap: nowrap;
    margin-right: -15px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .torque-journal-chips a {
    flex: 0 0 auto;
  }

  .torque-journal-lead__title {
    font-size: 1.375rem;
  }

  .torque-journal-row {
    grid-template-columns: 7.5rem minmax(0, 1fr);
  }

  .torque-journal-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Journal article (inner-page template approved 2026-10-26): head with category and reading time, table of
   contents, share, previous / next, related articles, products the article mentions in the sidebar. */
.torque-article__head {
  margin-bottom: 1.5rem;
}

.torque-article__head .torque-journal-eyebrow {
  text-decoration: none;
}

.torque-article__title {
  margin: 0 0 0.875rem;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.2;
}

.torque-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 1.25rem;
  color: var(--color-text-description);
  font-size: 0.875rem;
}

.torque-article__meta a {
  color: var(--color-text-description);
  text-decoration: none;
}

.torque-article__meta a:hover {
  color: var(--color-link-hover);
}

.torque-article__media img {
  display: block;
  width: 100%;
  max-height: 32rem;
  margin-bottom: 2rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  object-fit: cover;
}

.torque-article__toc {
  margin-bottom: 2rem;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--color-primary);
  border-radius: 0 var(--theme-theme-radius-base, 12px) var(--theme-theme-radius-base, 12px) 0;
  background: var(--color-info-light);
}

.torque-article__toc-title {
  display: block;
  margin-bottom: 0.625rem;
  font-weight: 700;
}

.torque-article__toc ol {
  margin: 0;
  padding-left: 1.25rem;
}

.torque-article__toc li {
  padding: 0.1875rem 0;
}

.torque-article__toc li.is-sub {
  margin-left: 1rem;
  list-style-type: circle;
}

.torque-article__toc a {
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-article__toc a:hover {
  color: var(--color-link-hover);
}

.torque-article .shoper-post h2[id],
.torque-article .shoper-post h3[id] {
  scroll-margin-top: 6rem;
}

.torque-article__share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-info);
}

.torque-article__share > span {
  margin-right: 0.5rem;
  font-weight: 700;
}

.torque-article__share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border: 1px solid var(--color-info);
  border-radius: 50%;
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-article__share a:hover,
.torque-article__share a:focus-visible {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.torque-article__neighbours {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.torque-article__neighbours a {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.125rem 1.25rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-article__neighbours a.is-next {
  grid-column: 2;
  text-align: right;
}

.torque-article__neighbours a span {
  color: var(--color-text-description);
  font-size: 0.8125rem;
}

.torque-article__neighbours a:hover {
  border-color: var(--color-primary);
}

.torque-article__related {
  margin-top: 3rem;
}

.torque-article__section-title {
  margin: 0 0 1.25rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.torque-journal-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 0;
  border-top: 0;
}

.torque-journal-grid--three .torque-journal-card__title {
  font-size: 1.0625rem;
}

.torque-article-products__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.torque-article-product {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-article-product img {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
}

.torque-article-product strong {
  display: block;
  font-size: 0.875rem;
  line-height: 1.35;
}

.torque-article-product__price {
  color: var(--color-sale);
  font-size: 0.9375rem;
  font-weight: 700;
}

.torque-article-product:hover {
  border-color: var(--color-primary);
}

@media (max-width: 767.98px) {
  .torque-article__title {
    font-size: 1.75rem;
  }

  .torque-article__neighbours,
  .torque-journal-grid--three {
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-article__neighbours a.is-next {
    grid-column: auto;
  }
}

.torque-article-products--inline {
  margin-top: 2rem;
}

/* FAQ: "Nu ai găsit răspunsul?" band (inner-page template approved 2026-10-26). */
.torque-faq-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  margin: 3rem 0 1rem;
  padding: 2rem 2.25rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #1f2328;
  color: #fff;
}

.torque-faq-cta__text h2 {
  margin: 0 0 0.375rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
}

.torque-faq-cta__text p {
  margin: 0;
  color: #aab0b6;
}

.torque-faq-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.torque-faq-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.875rem;
  padding: 0 1.25rem;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}

.torque-faq-cta__btn--call {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.torque-faq-cta__btn--whatsapp {
  background: #25d366;
  color: #fff;
}

.torque-faq-cta__btn--write {
  background: #fff;
  color: #212529;
}

.torque-faq-cta__btn--call:hover,
.torque-faq-cta__btn--call:focus-visible {
  background: var(--color-primary-dark);
  color: var(--color-on-primary);
}

.torque-faq-cta__btn--whatsapp:hover,
.torque-faq-cta__btn--whatsapp:focus-visible {
  background: #1ebe5a;
  color: #fff;
}

.torque-faq-cta__btn--write:hover,
.torque-faq-cta__btn--write:focus-visible {
  background: #e9ecef;
  color: #212529;
}

@media (max-width: 575.98px) {
  .torque-faq-cta {
    padding: 1.5rem 1.25rem;
  }

  .torque-faq-cta__btn {
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* Sign-in / sign-up inside the shop layout (inner-page template approved 2026-10-26). The shared form
   styles (customer-auth-core.css) need the .customer-auth container; its full-screen page rules are reset. */
.customer-auth.customer-auth--embedded {
  display: block;
  height: auto;
  min-height: 0;
  overflow: visible;
  padding: 2rem;
}

.customer-auth.customer-auth--embedded::after {
  display: none;
}

.torque-auth {
  padding-bottom: 3rem;
}

.torque-auth__grid {
  display: grid;
  grid-template-columns: minmax(0, 32rem) minmax(0, 1fr);
  align-items: start;
  gap: 2.5rem;
  margin-top: 1rem;
}

.torque-auth__grid.is-register {
  grid-template-columns: minmax(0, 42rem) minmax(0, 1fr);
}

.torque-auth__card {
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #fff;
}

.torque-auth__tabs {
  display: flex;
  gap: 1.75rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-info);
}

.torque-auth__tabs a {
  margin-bottom: -1px;
  padding: 0 0 0.75rem;
  border-bottom: 2px solid transparent;
  color: var(--color-text-description);
  font-weight: 700;
  text-decoration: none;
}

.torque-auth__tabs a.is-active {
  border-bottom-color: var(--color-primary);
  color: var(--color-text-primary);
}

.torque-auth__tabs a:hover {
  color: var(--color-link-hover);
}

.torque-auth__title {
  margin: 0 0 1.25rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.torque-auth__card .customer-auth__form {
  width: 100%;
  max-width: none;
}

.torque-auth__benefits {
  padding: 2rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--color-info-light);
}

.torque-auth__benefits h2 {
  margin: 0 0 1.25rem;
  font-size: 1.375rem;
  font-weight: 700;
}

.torque-auth__benefits ul {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.torque-auth__benefits li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.875rem;
  font-weight: 600;
}

.torque-auth__benefits li i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 1.125rem;
}

.torque-auth__help {
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--color-info);
  color: var(--color-text-description);
}

.torque-auth__help a {
  color: var(--color-primary-text);
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .torque-auth__grid,
  .torque-auth__grid.is-register {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  .customer-auth.customer-auth--embedded,
  .torque-auth__benefits {
    padding: 1.5rem 1.25rem;
  }
}

/* Customer account: the shared dashboard's accent follows the shop's colour scheme (the text-safe accent,
   legible on the light panels; --shoper-*-rgb from ColorSchemeResolver). */
html body[data-customer-dashboard="true"] {
  --customer-account-accent-rgb: var(--shoper-accent-text-rgb, 239, 35, 60);
  /* The welcome stripe, order icon and quick-action icons (customer-dashboard-contract.css). */
  --customer-account-brand: rgb(var(--customer-account-accent-rgb));
  --customer-account-brand-soft: rgba(var(--customer-account-accent-rgb), 0.08);
}

/* Customer account in the storefront's tones (owner 2026-10-27): the shared dashboard keeps its structure and
   behaviour; Torque gives it the shop's surfaces. Cards are the storefront cards (12px, #e9ecef border, no
   shadow), the welcome is a dark storefront banner, figures and shortcuts use the iconbox circle, and every
   filled accent takes the scheme's button colours (--shoper-btn-*), so red and yellow shops both read right. */
html body[data-customer-dashboard="true"] {
  --customer-account-control-radius: 0.75rem;
  --customer-account-border: #e9ecef;
  --customer-account-surface-muted: #f1f3f5;
  --customer-account-chrome-surface: #fff;
  --customer-account-text: #212529;
  --customer-account-text-muted: #868e96;
}

html body[data-customer-dashboard="true"] .customer-account-welcome,
html body[data-customer-dashboard="true"] .shoper-account-metrics a,
html body[data-customer-dashboard="true"] .customer-account-panel,
html body[data-customer-dashboard="true"] .customer-account-quick-actions,
html body[data-customer-dashboard="true"] .customer-account-finder {
  border-color: #e9ecef;
  border-radius: 0.75rem;
  box-shadow: none;
}

/* Welcome: the storefront's dark banner with the red (scheme) eyebrow pill. */
html body[data-customer-dashboard="true"] .customer-account-welcome {
  background: #1f2328;
  border-color: #1f2328;
}

html body[data-customer-dashboard="true"] .customer-account-welcome::before {
  display: none;
}

html body[data-customer-dashboard="true"] .customer-account-welcome span {
  display: inline-flex;
  margin-bottom: 0.625rem;
  padding: 0.25rem 0.5rem;
  color: var(--shoper-btn-text, #fff);
  background: var(--shoper-btn-bg, #ef233c);
  border-radius: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

html body[data-customer-dashboard="true"] .customer-account-welcome h2 {
  color: #fff;
  font-size: 1.625rem;
}

html body[data-customer-dashboard="true"] .customer-account-welcome p {
  color: rgba(255, 255, 255, 0.72);
}

/* Figures: the storefront iconbox (a light circle with the scheme icon), one tone for all four. */
html body[data-customer-dashboard="true"] .shoper-account-metrics a::before {
  display: none;
}

html body[data-customer-dashboard="true"] .shoper-account-metrics a .customer-account-metric__icon,
html body[data-customer-dashboard="true"] .shoper-account-metrics a:hover .customer-account-metric__icon,
html body[data-customer-dashboard="true"] .shoper-account-metrics a:focus-visible .customer-account-metric__icon {
  color: var(--shoper-primary, #ef233c);
  background: #f8f9fa;
  border-radius: 50%;
}

html body[data-customer-dashboard="true"] .shoper-account-metrics a:hover,
html body[data-customer-dashboard="true"] .shoper-account-metrics a:focus-visible {
  border-color: var(--shoper-primary, #ef233c);
  box-shadow: none;
}

html body[data-customer-dashboard="true"] .shoper-account-metrics > a > strong {
  color: #212529;
}

/* Panel eyebrows read as the storefront's coloured section eyebrows. */
html body[data-customer-dashboard="true"] .customer-account-panel__head span {
  color: var(--shoper-accent-text, #ef233c);
}

html body[data-customer-dashboard="true"] .customer-account-empty {
  background: #f8f9fa;
  border-radius: 0.75rem;
}

html body[data-customer-dashboard="true"] .customer-account-empty--compact {
  background: #f1f3f5;
}

html body[data-customer-dashboard="true"] .customer-account-empty__icon,
html body[data-customer-dashboard="true"] .customer-account-finder__icon {
  color: var(--shoper-primary, #ef233c);
  background: #fff;
  border: 0;
  border-radius: 50%;
}

html body[data-customer-dashboard="true"] .customer-account-finder__icon {
  background: #f8f9fa;
}

/* Primary buttons of every account page are the storefront's buttons: scheme colours, 12px corners (the shared
   contract paints them near-black, and an older Torque rule painted Bootstrap .btn-primary light grey). */
html body[data-customer-dashboard="true"] .shoper-account-page .button,
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .button {
  border-radius: 0.75rem;
}

html body[data-customer-dashboard="true"] .shoper-account-page .button:not(.secondary):not(.danger),
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .button:not(.secondary):not(.danger),
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .btn-primary:not(.btn-close) {
  color: var(--shoper-btn-text, #fff);
  background: var(--shoper-btn-bg, #ef233c);
  border-color: var(--shoper-btn-bg, #ef233c);
}

html body[data-customer-dashboard="true"] .shoper-account-page .button:not(.secondary):not(.danger):hover,
html body[data-customer-dashboard="true"] .shoper-account-page .button:not(.secondary):not(.danger):focus-visible,
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .button:not(.secondary):not(.danger):hover,
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .button:not(.secondary):not(.danger):focus-visible,
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .btn-primary:not(.btn-close):hover,
html body[data-customer-dashboard="true"] .shoper-account-page .shoper-MyAccount-content .btn-primary:not(.btn-close):focus-visible {
  color: var(--shoper-btn-text, #fff);
  background: var(--shoper-btn-hover-bg, #d81d33);
  border-color: var(--shoper-btn-hover-bg, #d81d33);
}

html body[data-customer-dashboard="true"] .customer-account-progress > div {
  background: var(--shoper-btn-bg, #ef233c);
}

/* Shortcuts: storefront cards with the iconbox circle, dark titles. */
html body[data-customer-dashboard="true"] .customer-account-quick-actions__grid > a {
  color: #212529;
  background: #fff;
  border-color: #e9ecef;
  border-radius: 0.75rem;
}

html body[data-customer-dashboard="true"] .customer-account-quick-actions__grid > a:hover,
html body[data-customer-dashboard="true"] .customer-account-quick-actions__grid > a:focus-visible {
  border-color: var(--shoper-primary, #ef233c);
}

html body[data-customer-dashboard="true"] .customer-account-quick-actions__grid > a > svg:first-child {
  color: var(--shoper-primary, #ef233c);
  background: #f8f9fa;
  border-radius: 50%;
}

html body[data-customer-dashboard="true"] .customer-account-quick-actions__grid strong {
  color: #212529;
}

/* Navigation: the active entry is the storefront's filled category button; the priority tiles are the
   light grey storefront tiles. */
html body[data-customer-dashboard="true"] #customer-account-navigation .shoper-MyAccount-navigation .shoper-MyAccount-navigation-link.is-active > a,
html body[data-customer-dashboard="true"] #customer-account-navigation .shoper-MyAccount-navigation .shoper-MyAccount-navigation-link.is-active > a:hover,
html body[data-customer-dashboard="true"] #customer-account-navigation .shoper-MyAccount-navigation .customer-account-card--interactive.is-active {
  color: var(--shoper-btn-text, #fff);
  background: var(--shoper-btn-bg, #ef233c);
  border-color: var(--shoper-btn-bg, #ef233c);
}

html body[data-customer-dashboard="true"] #customer-account-navigation .shoper-MyAccount-navigation .shoper-MyAccount-navigation-link.is-active > a > svg {
  color: var(--shoper-btn-text, #fff);
}

html body[data-customer-dashboard="true"] #customer-account-navigation .customer-account-priority-card:not(.is-active) {
  background: #f1f3f5;
  border-color: #f1f3f5;
}

html body[data-customer-dashboard="true"] #customer-account-navigation .customer-account-priority-card__icon {
  color: var(--shoper-primary, #ef233c);
  border: 0;
  border-radius: 50%;
}

html body[data-customer-dashboard="true"] .customer-account-topbar__menu {
  border-radius: 0.75rem;
}

html body[data-customer-dashboard="true"] .customer-account-topbar__website,
html body[data-customer-dashboard="true"] .customer-account-topbar__icon-action {
  background: #f1f3f5;
  border-color: #f1f3f5;
  border-radius: 0.75rem;
}

html body[data-customer-dashboard="true"] .customer-account-topbar__website:hover,
html body[data-customer-dashboard="true"] .customer-account-topbar__website:focus-visible,
html body[data-customer-dashboard="true"] .customer-account-topbar__icon-action:hover,
html body[data-customer-dashboard="true"] .customer-account-topbar__icon-action:focus-visible {
  color: var(--shoper-btn-text, #fff);
  background: var(--shoper-btn-bg, #ef233c);
  border-color: var(--shoper-btn-bg, #ef233c);
}

/* One inner gutter for every card (1.25rem), so the first line of text sits on the same vertical in the
   welcome, the figures and the panels. */
html body[data-customer-dashboard="true"] .customer-account-welcome,
html body[data-customer-dashboard="true"] .shoper-account-metrics a {
  padding: 1.25rem;
}

html body[data-customer-dashboard="true"] .customer-account-empty--compact,
html body[data-customer-dashboard="true"] .customer-account-finder {
  padding: 1.25rem;
}

/* Panels side by side keep their header dividers on one line. */
html body[data-customer-dashboard="true"] .customer-account-overview-grid .customer-account-panel__head {
  box-sizing: border-box;
  min-height: 5.3125rem;
  align-content: start;
}

/* Sidebar: the dashboard entry sits in the same 0.625rem inset as the other entries (an older rule zeroed the
   list padding), group titles start on the icon line, and the shortcut tiles keep their label on one line. */
html body[data-customer-dashboard="true"] .my-account-wrapper .my-account-navigation .shoper-MyAccount-navigation ul.customer-account-primary-navigation {
  padding: 0 0.625rem;
}

html body[data-customer-dashboard="true"] .my-account-wrapper .my-account-navigation .shoper-MyAccount-navigation ul.customer-account-primary-navigation a > svg {
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}

html body[data-customer-dashboard="true"] #customer-account-navigation .customer-account-navigation-group > h2 {
  padding-inline: 1.25rem;
}

html body[data-customer-dashboard="true"] #customer-account-navigation .customer-account-priority .customer-account-priority-card > span:nth-child(2) {
  white-space: nowrap;
}

/* Partner programme page (inner-page template approved 2026-10-26) and the partner-program plugin form. */
.torque-partner__hero {
  margin-bottom: 3.5rem;
  padding: 4.5rem 0;
  background: #1f2328;
  color: #fff;
}

.torque-partner__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  align-items: center;
  gap: 3rem;
}

.torque-partner__eyebrow {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--color-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.torque-partner__hero h1 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.15;
}

.torque-partner__hero p {
  max-width: 34rem;
  margin: 0 0 1.75rem;
  color: #c3c8cd;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.torque-partner__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.torque-partner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0 1.5rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}

.torque-partner__btn--primary {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.torque-partner__btn--primary:hover,
.torque-partner__btn--primary:focus-visible {
  background: var(--color-primary-dark);
  color: var(--color-on-primary);
}

.torque-partner__btn--ghost {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.torque-partner__btn--ghost:hover,
.torque-partner__btn--ghost:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #212529;
}

.torque-partner__facts {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 1.75rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: rgba(255, 255, 255, 0.06);
}

.torque-partner__facts > div {
  display: flex;
  align-items: baseline;
  gap: 0.875rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.torque-partner__facts > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.torque-partner__facts dt {
  min-width: 7.5rem;
  color: var(--color-primary);
  font-size: 1.75rem;
  font-weight: 700;
}

.torque-partner__facts dd {
  margin: 0;
  color: #c3c8cd;
}

.torque-partner__section {
  margin-bottom: 3.5rem;
}

.torque-partner__title {
  margin: 0 0 1.5rem;
  font-size: 1.75rem;
  font-weight: 700;
}

.torque-partner__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.torque-partner__card {
  padding: 1.75rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-partner__card i,
.torque-partner__benefit i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 1.25rem;
}

.torque-partner__card h3 {
  margin: 1rem 0 0.5rem;
  font-size: 1.1875rem;
  font-weight: 700;
}

.torque-partner__card p {
  margin: 0;
  color: var(--color-text-description);
  line-height: 1.6;
}

.torque-partner__benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}

.torque-partner__benefit {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.torque-partner__benefit strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.0625rem;
}

.torque-partner__benefit span {
  color: var(--color-text-description);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.torque-partner__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-partner__table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
}

.torque-partner__table thead th {
  padding: 1rem 1.25rem;
  background: #1f2328;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: left;
}

.torque-partner__table tbody th,
.torque-partner__table tbody td {
  padding: 1rem 1.25rem;
  border-top: 1px solid var(--color-info);
  text-align: left;
}

.torque-partner__tier {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 700;
}

.torque-partner__tier--bronze {
  background: #f3e3d3;
  color: #7a4a1d;
}

.torque-partner__tier--silver {
  background: #e7eaee;
  color: #3d4652;
}

.torque-partner__tier--gold {
  background: #fbefc4;
  color: #6f5300;
}

.torque-partner__note {
  margin: 1rem 0 0;
  color: var(--color-text-description);
  font-size: 0.9375rem;
}

.torque-partner__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: partner-step;
}

.torque-partner__steps li {
  padding: 1.5rem;
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  counter-increment: partner-step;
}

.torque-partner__steps li::before {
  content: counter(partner-step);
  display: block;
  margin-bottom: 0.75rem;
  color: var(--color-primary-text);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.torque-partner__steps strong {
  display: block;
  margin-bottom: 0.375rem;
}

.torque-partner__steps span {
  color: var(--color-text-description);
  font-size: 0.9375rem;
}

.torque-partner__apply {
  padding: 2.25rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--color-info-light);
  scroll-margin-top: 6rem;
}

.torque-partner__faq {
  display: grid;
  gap: 0.75rem;
}

.torque-partner__faq details {
  border: 1px solid var(--color-info);
  border-radius: var(--theme-theme-radius-base, 12px);
  background: #fff;
}

.torque-partner__faq summary {
  padding: 1rem 1.25rem;
  font-weight: 700;
  cursor: pointer;
}

.torque-partner__faq details p {
  margin: 0;
  padding: 0 1.25rem 1rem;
  color: var(--color-text-description);
}

@media (max-width: 991.98px) {
  .torque-partner__hero-inner,
  .torque-partner__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-partner__benefits,
  .torque-partner__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .torque-partner__hero {
    padding: 3rem 0;
  }

  .torque-partner__hero h1 {
    font-size: 2rem;
  }

  /* Figure above its label: "până la 12%" no longer breaks into overlapping lines. */
  .torque-partner__facts > div {
    flex-direction: column;
    gap: 0.125rem;
  }

  .torque-partner__facts dt {
    min-width: 0;
    font-size: 1.5rem;
    line-height: 1.2;
  }

  .torque-partner__benefits,
  .torque-partner__steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .torque-partner__apply {
    padding: 1.5rem 1.25rem;
  }
}

/* partner-program plugin form (plugins/partner-program::form) on the partner page. */
.torque-partner .partner-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}

.torque-partner .partner-form__field--wide {
  grid-column: 1 / -1;
}

.torque-partner .partner-form__label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.torque-partner .partner-form__required {
  color: var(--color-primary-text);
}

.torque-partner .partner-form__optional,
.torque-partner .partner-form__help {
  color: var(--color-text-description);
  font-size: 0.8125rem;
  font-weight: 400;
}

.torque-partner .partner-form__help {
  margin: 0.375rem 0 0;
}

.torque-partner .partner-form__input,
.torque-partner .partner-form__select,
.torque-partner .partner-form__textarea {
  width: 100%;
  min-height: var(--theme-form-height, 2.75rem);
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--color-form-border, #dfe3e8);
  border-radius: var(--theme-form-radius, 8px);
  background: #fff;
  color: var(--color-text-primary);
  font: inherit;
}

.torque-partner .partner-form__textarea {
  min-height: 7.5rem;
  resize: vertical;
}

.torque-partner .partner-form__input:focus,
.torque-partner .partner-form__select:focus,
.torque-partner .partner-form__textarea:focus {
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(var(--shoper-accent-text-rgb, 239, 35, 60), 0.15);
}

.torque-partner .partner-form__field--invalid .partner-form__input,
.torque-partner .partner-form__field--invalid .partner-form__select,
.torque-partner .partner-form__field--invalid .partner-form__textarea {
  border-color: #dc3545;
}

.torque-partner .partner-form__error {
  margin: 0.375rem 0 0;
  color: #b02a37;
  font-size: 0.8125rem;
}

.torque-partner .partner-form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.torque-partner .partner-form__checkbox-input {
  margin-top: 0.25rem;
  accent-color: var(--color-primary);
}

.torque-partner .partner-form__link {
  color: var(--color-primary-text);
}

.torque-partner .partner-form__actions {
  margin-top: 1.25rem;
}

.torque-partner .partner-form__submit {
  min-height: 3rem;
  padding: 0 1.75rem;
  border: 0;
  border-radius: 8px;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-weight: 700;
}

.torque-partner .partner-form__submit:hover,
.torque-partner .partner-form__submit:focus-visible {
  background: var(--color-primary-dark);
  color: var(--color-on-primary);
}

.torque-partner .partner-form__notice {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border-radius: var(--theme-theme-radius-base, 12px);
  font-weight: 600;
}

.torque-partner .partner-form__notice--success {
  background: #e8f6ee;
  color: #146c43;
}

.torque-partner .partner-form__notice--error {
  background: #fdecee;
  color: #842029;
}

.torque-partner .partner-form__notice-title {
  margin: 0 0 0.375rem;
}

.torque-partner .partner-form__error-list {
  margin: 0;
  padding-left: 1.25rem;
  font-weight: 400;
}

@media (max-width: 575.98px) {
  .torque-partner .partner-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Dark header (Home 3): its white text must not reach the white panels that open from it - the account
   menu, the mini cart and the side drawer keep the page's text colour. */
.shoper-site-header.torque-header-dark .login-dropdown,
.shoper-site-header.torque-header-dark .shoper-cart-dropdown,
.shoper-site-header.torque-header-dark .shoper-site-drawer,
.shoper-site-header.torque-header-dark .shoper-site-drawer .shoper-site-brand a,
.shoper-site-header.torque-header-dark .shoper-site-drawer .shoper-site-brand .brand-text {
  color: var(--color-text-primary);
}

/* Account menu: "Înregistrare" in the shop's accent, like the sign-in button above it. */
.shoper-site-header .quick-button .login-dropdown .login-dropdown-wrapper .new-customer a {
  color: var(--color-primary-text);
}

/* Home 3: the slider and its stacked banners keep Home 1's distance from the header. */
.torque-hero-stack {
  padding-top: 1.875rem;
}

@media screen and (max-width: 1199.98px) {
  .torque-hero-stack {
    padding-top: 1rem;
  }
}

@media screen and (max-width: 767.98px) {
  .torque-hero-stack {
    padding-top: 0.375rem;
  }
}

/* Home 3 side column: each brand is a link to its products and answers the pointer; brands without a
   logo show their name. */
.torque-side-brands li {
  padding: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.torque-side-brands li:not(:has(a)) {
  padding: 0.5rem;
}

.torque-side-brands li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0.5rem;
  border-radius: inherit;
  color: var(--color-text-primary);
  text-decoration: none;
}

.torque-side-brands__name {
  overflow: hidden;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.7;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.torque-side-brands li:has(a):hover,
.torque-side-brands li:has(a:focus-visible) {
  border-color: var(--color-primary);
  box-shadow: 0 6px 16px rgba(33, 37, 41, 0.08);
  transform: translateY(-2px);
}

.torque-side-brands li:has(a):hover .torque-side-brands__name,
.torque-side-brands li:has(a:focus-visible) .torque-side-brands__name {
  color: var(--color-primary-text);
  opacity: 1;
}

.torque-side-brands li:has(a):hover img {
  opacity: 1;
}

.torque-side-testimonial__head .torque-side-testimonial__initials {
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1rem;
}

/* Magazin (Home 3) product cards on desktop: the price on its own line, then "În stoc" and the cart (or quote)
   button on one row - the stock on the left, the button on the right - instead of the button alone between
   them. The cart form's contents join the card's grid; dense placement puts the stock beside the button. */
@media screen and (min-width: 992px) {
  .torque-shop-columns .product:is([data-erp-card-variant="standard"], [data-erp-card-variant="deal"]) .content-wrapper {
    display: grid;
    grid-auto-flow: row dense;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.75rem;
  }

  .torque-shop-columns .product:is([data-erp-card-variant="standard"], [data-erp-card-variant="deal"]) .content-wrapper > * {
    grid-column: 1 / -1;
  }

  .torque-shop-columns .product:is([data-erp-card-variant="standard"], [data-erp-card-variant="deal"]) .content-wrapper .product-cart-form {
    display: contents;
  }

  .torque-shop-columns .product:is([data-erp-card-variant="standard"], [data-erp-card-variant="deal"]) .content-wrapper .price {
    grid-column: 1 / -1;
  }

  .torque-shop-columns .product:is([data-erp-card-variant="standard"], [data-erp-card-variant="deal"]) .content-wrapper .product-stock {
    grid-column: 1;
    margin-top: 0;
    align-self: center;
  }

  .torque-shop-columns .product:is([data-erp-card-variant="standard"], [data-erp-card-variant="deal"]) .content-wrapper :is(.shoper-add-to-cart-button, .shoper-quote-button) {
    grid-column: 2;
    justify-self: end;
  }
}


/* Subscription plans page (/subscriptions): partner-page blocks plus a plan grid with as many columns as plans
   (at most three), kept at two on tablets where a single column of plans would read as a long list. */
.torque-subscriptions__plans {
  display: grid;
  grid-template-columns: repeat(var(--torque-plan-columns, 3), minmax(0, 1fr));
  gap: 1.5rem;
}

/* The facts' values here are short ("2", "Lunar"): the label follows the value instead of a fixed column. */
.torque-subscriptions .torque-partner__facts dt {
  min-width: 0;
}

.torque-subscriptions__plan {
  display: flex;
  flex-direction: column;
}

.torque-subscriptions__cadence {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--shoper-accent-text, var(--color-primary));
}

.torque-subscriptions__plan h3 {
  margin: 0.5rem 0 0.25rem;
}

.torque-subscriptions__price {
  margin: 0 0 1.5rem;
}

.torque-subscriptions__price strong {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--color-heading, #212529);
}

.torque-subscriptions__plan form,
.torque-subscriptions__plan > .torque-partner__btn {
  margin-top: auto;
}

.torque-subscriptions__plan .torque-partner__btn {
  width: 100%;
  justify-content: center;
}

.torque-subscriptions__notice {
  margin-top: 2rem;
}

@media (max-width: 991.98px) {
  .torque-subscriptions__plans {
    grid-template-columns: repeat(min(2, var(--torque-plan-columns, 2)), minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .torque-subscriptions__plans {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Vehicle memory: the car chosen in the finder, checked on the product page, and the finder in the phone drawer. */
.torque-fitment-match:not([hidden]) {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--theme-theme-radius-base, 12px);
}

.torque-fitment-match.is-fit {
  border-color: #b7e4c2;
  background: #ebfbee;
  color: #1e6b2f;
}

.torque-fitment-match.is-unconfirmed {
  border-color: #f2c27d;
  background: #fff4e6;
  color: #8a4b00;
}

.torque-fitment-match i {
  flex: 0 0 auto;
  font-size: 1.25rem;
}

.torque-fitment-match p {
  flex: 1 1 auto;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
}

.torque-fitment-match__change {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: underline;
  white-space: nowrap;
  cursor: pointer;
}

.torque-drawer-finder {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  margin-bottom: 1.25rem;
  padding: 0.75rem 1rem;
  border: 0;
  border-radius: var(--theme-theme-radius-base, 12px);
  background: var(--shoper-btn-bg, var(--color-primary));
  color: var(--shoper-btn-text, #fff);
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: left;
}

.torque-drawer-finder i {
  font-size: 1.25rem;
}

/* Partner price: shown to a signed-in partner under the product price (the amount the cart charges). */
.torque-partner-price-note {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0.25rem 0 0.75rem;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  background: var(--shoper-btn-bg, var(--color-primary));
  color: var(--shoper-btn-text, #fff);
  font-size: 0.8125rem;
  font-weight: 600;
}
