/* ========= J2STORE.CSS — FORTEZA 2026 | USES TOKENS FROM CUSTOM.CSS ========= */

/* ------- Swatch tokens (J2Store-only): keep this list together for easy extension ------- */
:root {
  --swatch-size: 42px;
  --swatch-border-color: #ddd;
  --swatch-selected-color: #000;

  /* ------- Active palette (normalized names) ------- */
  --swatch-black: var(--fz-black);
  --swatch-white: var(--fz-white);
  --swatch-blue: #1d6ff2;
  --swatch-burgundy: #6d374c;
  --swatch-cooper: #c68346;
  --swatch-red: #d62828;
  --swatch-green: #2d8a34;
  --swatch-green-olive: #5d6b2f;
  --swatch-light-violet: #d2c7ff;
  --swatch-rose-gold: #cfa18d;
  --swatch-light-rose: #f8d7dc;
  --swatch-navy-blue: #1f2a44;
  --swatch-twilight-blue: #23324f;
  --swatch-pink: #f36ea5;
  --swatch-purple: #6b2b77;
  --swatch-mauve: #a06388;
  --swatch-dark-brown: #4b2e1f;
  --swatch-silver: #c0c0c0;
  --swatch-orange: #f28c28;
  --swatch-rose-quartz: #f7c5cc;
  --swatch-terra-cota: #c9654b;
  --swatch-peach-pink: #f6c1b5;
  --swatch-dark-grey: #4a4a4a;
  --swatch-electric-blue: #0077ff;
  --swatch-lavender: #c4b5ff;
  --swatch-sand: #d8c3a5;
  --swatch-warm-grey: #b4a89e;
}

/* ========= 01 — BASE & UTILITIES ========= */

.j2store-left {
  float: left;
}

.j2store-right {
  float: right;
}

.j2store-remove,
.j2store .options .required,
.j2store_field_required {
  color: var(--swatch-red);
  font-weight: 700;
}

.j2store_field_required {
  float: left;
  margin-right: 4px;
}

.j2store-product-list select {
  width: auto;
}

.j2store-product-filters {
  display: block;
  margin-bottom: 20px;
}

h4.product-filter-heading {
  display: inline;
}

.table-responsive {
  overflow-x: auto;
}

.options input[type="radio"],
.options input[type="checkbox"],
.options select {
  display: inline-block;
}

.options .wait {
  display: inline-block;
  position: relative;
  line-height: 1px;
}

/* ========= 02 — MODAL ========= */

.modal-open .dropdown-menu {
  z-index: 2050;
}

.modal-open .popover {
  z-index: 2060;
}

.modal-open .tooltip {
  z-index: 2080;
}

.modal-backdrop {
  background-color: var(--fz-black);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1040;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop,
.modal-backdrop.fade.in {
  opacity: 0.8;
}

.j2store-modal .modal {
  display: none;
  background-clip: padding-box;
  background-color: var(--fz-white);
  border: 1px solid color-mix(in srgb, var(--fz-black) 30%, transparent);
  border-radius: 6px;
  box-shadow: var(--fz-shadow-md);
  left: 50%;
  margin: -250px 0 0 -280px;
  overflow: auto;
  position: fixed;
  top: 50%;
  width: 560px;
  z-index: 1050;
}

.j2store-modal .modal.fade,
.j2store-modal .model.fade {
  top: -25%;
  transition:
    opacity 0.3s linear,
    top 0.3s ease-out;
}

.j2store-modal .modal.hide,
.j2store-modal .model.hide {
  display: none;
}

.j2store-modal .modal.in,
.j2store-modal .model.in {
  top: 50%;
}

.j2store-modal .modal-header {
  border-bottom: 1px solid var(--fz-gray-200);
  padding: 9px 15px;
}

.j2store-modal .modal-header .close {
  margin-top: 2px;
}

.j2store-modal .modal-header h3 {
  line-height: 30px;
  margin: 0;
}

.j2store-modal .modal-body {
  max-height: 400px;
  overflow-y: auto;
  padding: 15px;
  text-align: left;
}

.j2store-modal .modal-form {
  margin-bottom: 0;
}

.j2store-modal .modal-footer::before,
.j2store-modal .modal-footer::after {
  content: "";
  display: table;
  line-height: 0;
}

.j2store-modal .modal-footer::after {
  clear: both;
}

.j2store-modal .modal-footer .btn + .btn {
  margin-bottom: 0;
  margin-left: 5px;
}

.j2store-modal .modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}

/* ========= 03 — VALIDATION & STATES ========= */

.j2error,
div.j2error em.error,
div.j2storeerror em.error,
.payment_info input.error,
.j2store label.error {
  color: var(--swatch-red);
  font-style: italic;
}

div.j2error em.success,
div.j2storeerror em.success,
.j2store label.success {
  color: var(--swatch-green-olive);
  font-style: italic;
}

.j2store input.error {
  border: 1px solid var(--swatch-red);
}

.j2store input.valid {
  border: 1px solid var(--swatch-green-olive);
}

.product-stock-container .instock {
  color: var(--swatch-green-olive);
  font-size: 1.2em;
  margin-top: 5px;
}

/* ========= 04 — CART & CHECKOUT ========= */

.cart-thumb-image img {
  width: 80px;
  float: left;
  margin-right: 10px;
}

table.j2store-cart-table td.cart-line-subtotal,
table.cart-footer td {
  text-align: right;
}

.j2store-cart-buttons {
  display: block;
  width: 100%;
}

.j2store-cart-table .remove-icon {
  margin-bottom: 9px;
}

.j2store-cart-buttons .buttons-left {
  display: block;
  float: left;
}

.j2store-cart-buttons .buttons-right {
  display: block;
  float: right;
}

.j2store-cart-shipping {
  display: block;
  clear: both;
  margin-top: 20px;
}

.cart-estimator-discount-block {
  display: block;
  width: 100%;
  clear: both;
  margin-top: 10px;
}

.j2store .have-account {
  display: block;
  width: 100%;
}

.j2store .j2store-checkout-login-form {
  padding: 15px 5px;
  border: 1px solid var(--fz-gray-300);
}

.j2store-order-action-icons a {
  font-size: 16px;
  padding: 10px;
}

.j2store .checkout-heading {
  background: var(--fz-gray-100);
  border: 1px solid var(--fz-gray-200);
  color: var(--fz-gray-600);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 15px;
  padding: 8px;
}

.j2store .checkout-heading a {
  float: right;
  font-weight: 400;
  margin-top: 1px;
  text-decoration: none;
  cursor: pointer;
}

.j2store .checkout-content {
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 0 15px;
}

.j2store .checkout-content .buttons {
  clear: both;
}

.j2store .checkout-content label {
  display: block;
}

.j2store .checkout-content select {
  width: 220px;
}

.j2store.checkout tr,
.j2store.checkout td {
  padding-right: 10px;
}

.j2store.checkout label {
  margin: 0;
}

.j2store #billing-existing select[size],
.j2store #shipping-existing select[size] {
  height: auto;
}

#onCheckoutShipping_wrapper label,
#j2store-checkout-content .shipping-make-same > label,
#j2store-checkout-content #checkbox_tos > label,
.j2store-product-info label {
  display: inline;
}

#j2store-cart-shipping input[type="radio"] {
  float: left;
  margin-right: 5px;
}

#j2store-cart-shipping label {
  display: block;
}

.j2store .cart-total td {
  text-align: right;
}

.cart-footer th,
.cart-footer td,
.emailtemplate-table-footer th,
.emailtemplate-table-footer td {
  text-align: right;
}

/* ========= 05 — PRODUCT LAYOUT (LIST & DETAIL) ========= */

.j2store-product-list {
  margin-top: 1rem;
}

.j2store-products-row {
  gap: 2rem 0;
}

/* ------- Product card columns stay centered inside Bootstrap grid ------- */
.j2store-products-row > [class*="col-"] {
  display: flex;
  justify-content: center;
}

.j2store-product-list .j2store-single-product {
  /* background: var(--fz-white); */
  border-radius: 0;
  height: 100%;
  max-width: 600px;

  display: flex;
  flex-direction: column;
  padding: 0 1rem;
  transition: transform 0.2s ease;
  margin-bottom: 4rem;
}

/* ------- Product media: shared image surface + list thumbnails ------- */
.j2store-img-responsive {
  max-width: 100%;
  height: auto;
  background-color: var(--fz-gray-050);
  /* padding: 1rem; */
}

.j2store-product-list .j2store-product-images {
  text-align: center;
  margin-bottom: 0.75rem;
}

.j2store-product-list .j2store-thumbnail-image {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.75rem;
  background: var(--fz-gray-050);
}

.j2store-product-list .j2store-thumbnail-image img {
  width: 100%;
  max-width: 220px;
  display: block;
  margin: 0 auto;
  border-radius: 0;
  object-fit: cover;
  aspect-ratio: 4 / 5;
}

.view-products #productFilters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0.85rem 1rem;
  margin: 0 0 1.5rem;
  background: var(--fz-white);
  border: 1px solid var(--fz-gray-200);
  box-shadow: 0 8px 20px var(--fz-shadow-soft);
}

.view-products #productFilters .j2store-product-search-input,
.view-products #productFilters select {
  min-width: 200px;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--fz-gray-300);
  border-radius: 0;
  background: var(--fz-white);
  color: var(--fz-gray-700);
}

.view-products #productFilters .btn {
  border-radius: 0;
  padding: 0.55rem 0.85rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: var(--fz-black);
  border: 1px solid var(--fz-black);
  color: var(--fz-white);
}

.view-products #productFilters .btn.btn-inverse {
  background: transparent;
  color: var(--fz-gray-700);
  border-color: var(--fz-gray-300);
}

.view-products .product-title {
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  /* padding-bottom: 1rem; */
  /* border-bottom: solid 1px var(--fz-gray-200); */
}

.j2store-product-list .product-short-description {
  /* font-size: 14px; */
  line-height: 1.6;
  color: var(--fz-gray-600);
  margin-bottom: 2rem;
}

.j2store-product-list .product-price-container {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.j2store-product-list .sale-price {
  font-size: 18px;
  font-weight: 700;
  color: var(--fz-black);
}

.j2store-product-list .base-price {
  font-size: 13px;
  color: var(--fz-gray-500);
}

.j2store-product-list .base-price.strike {
  text-decoration: line-through;
}

.j2store-product-list .discount-percentage {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 600;
  background: var(--fz-gray-100);
  border: 1px solid var(--fz-gray-200);
  color: var(--fz-gray-900);
}

.j2store-product-list .j2store-add-to-cart {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.j2store-product-list .j2store-cart-button {
  flex: 1;
  border-radius: 0;
  border: 1px solid var(--fz-gray-900);
  background: var(--fz-black);
  color: var(--fz-white);
  padding: 0.65rem 0.85rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: var(--fz-transition);
}

.j2store-product-list .j2store-cart-button:hover {
  background: transparent;
  color: var(--fz-black);
  box-shadow: 0 6px 14px var(--fz-shadow-soft);
}

.j2store-product-list .j2store-checkout-link {
  font-weight: 600;
  color: var(--fz-black);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: var(--fz-transition);
}

.j2store-product-list .j2store-checkout-link:hover {
  border-color: var(--fz-black);
}

.j2store-product-list .j2store-addtocart-form,
.j2store-product-list a.btn.btn-success {
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  display: none;
}

.j2store-single-product.detail .row:first-child {
  align-items: center;
  row-gap: 1.5rem;
}

.j2store-single-product.detail .col-sm-6:first-child {
  display: flex;
  flex-direction: column;
}

.j2store-single-product.detail .col-sm-6:last-child {
  position: sticky;
  top: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.product-title {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  /* margin-bottom: 12px; */
}

.product-title a {
  color: var(--fz-gray-900);
  text-decoration: none;
}

.product-title a:hover {
  color: var(--fz-accent);
}

.product-sku {
  font-size: 13px;
  color: var(--fz-gray-500);
}

/* ------- Product media: detail main image and zoom behavior ------- */

.j2store-mainimage {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 0.5rem;
  /* background-color: var(--fz-gray-100); */
}

.j2store-mainimage img {
  width: 100%;
  max-width: 600px;
  /* height: auto;
  display: block;
  border-radius: 0; */
  object-fit: cover;
  /* background-color: var(--fz-gray-100); */

  /* box-shadow: 0 14px 32px var(--fz-shadow-soft);
   */

  /* box-shadow: 0px 1px 8px var(--fz-shadow-soft); */
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.j2store-mainimage img:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px var(--fz-shadow-soft);
}

.price-sku-brand-container {
  border-top: 1px solid var(--fz-gray-200);
  border-bottom: 1px solid var(--fz-gray-200);
  margin: 0 0 25px;
  padding: 15px 0;
}

.base-price,
.sale-price {
  line-height: 26px;
}

.product-price-container .strike {
  text-decoration: line-through;
  color: var(--swatch-red);
  font-size: 1em;
}

.product-price-container .sale-price {
  font-size: 1.4em;
  font-weight: 700;
}

.discount-percentage {
  color: var(--swatch-green-olive);
}

.j2store-product-main-image {
  margin-bottom: 10px;
}

.j2store-single-product .zoomImg:hover {
  cursor: crosshair;
}

.j2store-single-product .zoom {
  display: block;
  position: relative;
}

.j2store-single-product .zoom img::selection {
  background-color: transparent;
}

.product-qty {
  display: none;
}

#j2store-product-loading {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background: url("../images/loading.gif") no-repeat center center;
}

/* ========= 06 — COLOR SWATCH SYSTEM ========= */

.option {
  margin: 1.25rem 0 0.75rem;
}

.option b {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--fz-gray-600);
}

.option br {
  display: none;
}

.option input[type="radio"] {
  display: none;
}

.option label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--swatch-size);
  padding: 0.4rem 0.85rem;
  border: 1px solid var(--fz-gray-300);
  border-radius: 999px;
  background: var(--fz-white);
  color: var(--fz-gray-900);
  font-size: 12px;
  cursor: pointer;
  margin: 0 10px 10px 0;
  box-shadow: 0 0 0 1px transparent;
  transition:
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.option label:hover {
  box-shadow: 0 0 0 2px var(--fz-gray-200);
}

.option input[type="radio"]:checked + label {
  border-color: var(--fz-gray-400);
  box-shadow: 0 0 0 2px var(--fz-gray-400);
}

.option label[data-swatch] {
  /* Default fallback if a token is missing */
  background: var(--fz-gray-150);
  color: var(--fz-black);
}

/* ------- Swatch assignments (grouped alphabetically) ------- */
.option label[data-swatch="black"] {
  background: var(--swatch-black);
  color: var(--fz-white);
}
.option label[data-swatch="blue"] {
  background: var(--swatch-blue);
  color: var(--fz-white);
}
.option label[data-swatch="burgundy"] {
  background: var(--swatch-burgundy);
  color: var(--fz-white);
}
.option label[data-swatch="cooper"] {
  background: var(--swatch-cooper);
  color: var(--fz-white);
}
.option label[data-swatch="dark-brown"] {
  background: var(--swatch-dark-brown);
  color: var(--fz-white);
}
.option label[data-swatch="dark-grey"] {
  background: var(--swatch-dark-grey);
  color: var(--fz-white);
}
.option label[data-swatch="electric-blue"] {
  background: var(--swatch-electric-blue);
  color: var(--fz-white);
}
.option label[data-swatch="green"] {
  background: var(--swatch-green);
  color: var(--fz-white);
}
.option label[data-swatch="green-olive"] {
  background: var(--swatch-green-olive);
  color: var(--fz-white);
}
.option label[data-swatch="lavender"] {
  background: var(--swatch-lavender);
  color: var(--fz-black);
}
.option label[data-swatch="light-rose"] {
  background: var(--swatch-light-rose);
  color: var(--fz-black);
}
.option label[data-swatch="light-violet"] {
  background: var(--swatch-light-violet);
  color: var(--fz-black);
}
.option label[data-swatch="mauve"] {
  background: var(--swatch-mauve);
  color: var(--fz-white);
}
.option label[data-swatch="navy-blue"] {
  background: var(--swatch-navy-blue);
  color: var(--fz-white);
}
.option label[data-swatch="orange"] {
  background: var(--swatch-orange);
  color: var(--fz-white);
}
.option label[data-swatch="peach-pink"] {
  background: var(--swatch-peach-pink);
  color: var(--fz-black);
}
.option label[data-swatch="pink"] {
  background: var(--swatch-pink);
  color: var(--fz-white);
}
.option label[data-swatch="purple"] {
  background: var(--swatch-purple);
  color: var(--fz-white);
}
.option label[data-swatch="red"] {
  background: var(--swatch-red);
  color: var(--fz-white);
}
.option label[data-swatch="rose-gold"] {
  background: var(--swatch-rose-gold);
  color: var(--fz-white);
}
.option label[data-swatch="rose-quartz"] {
  background: var(--swatch-rose-quartz);
  color: var(--fz-black);
}
.option label[data-swatch="sand"] {
  background: var(--swatch-sand);
  color: var(--fz-black);
}
.option label[data-swatch="silver"] {
  background: var(--swatch-silver);
  color: var(--fz-black);
}
.option label[data-swatch="terra-cota"] {
  background: var(--swatch-terra-cota);
  color: var(--fz-white);
}
.option label[data-swatch="twilight-blue"] {
  background: var(--swatch-twilight-blue);
  color: var(--fz-white);
}
.option label[data-swatch="warm-grey"] {
  background: var(--swatch-warm-grey);
  color: var(--fz-black);
}
.option label[data-swatch="white"] {
  background: var(--swatch-white);
  color: var(--fz-black);
}

/* ========= 07 — DESCRIPTION SYSTEM ========= */

/* ------- Detail description tabs (short + long copy) ------- */

#j2store-product-detail-tab {
  border-bottom: 1px solid var(--fz-gray-200);
  margin-top: 3rem;
}

#j2store-product-detail-tab .nav-link {
  border: none;
  color: var(--fz-gray-600);
  font-weight: 500;
}

#j2store-product-detail-tab .nav-link.active {
  color: var(--fz-gray-900);
  border-bottom: 2px solid var(--fz-gray-900);
}

.product-sdesc,
.product-ldesc {
  max-width: 900px;
  font-size: 15px;
  color: var(--fz-gray-700);
}

.tab-content {
  padding: 1rem 0;
}

/* ========= 08 — GALLERY SYSTEM ========= */

/* ------- Gallery navigation and thumbnail strip ------- */

.j2store-product-additional-images {
  width: 100%;
}

.j2store-single-product.detail .additional-image-list {
  display: none;
}

.j2store-single-product.detail .j2store-mainimage {
  position: relative;
}

.j2store-single-product.detail .fz-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: 1px solid var(--fz-gray-200);
  border-radius: 999px;
  background: var(--fz-white);
  color: var(--fz-gray-900);
  box-shadow: 0 8px 18px var(--fz-shadow-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--fz-transition);
  z-index: 2;
}

.j2store-single-product.detail .fz-gallery-nav:hover {
  transform: translateY(-50%) translateY(-1px);
  box-shadow: 0 12px 28px var(--fz-shadow-soft);
}

.j2store-single-product.detail .fz-gallery-nav:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

.j2store-single-product.detail .fz-gallery-nav.fz-prev {
  left: 4px;
}

.j2store-single-product.detail .fz-gallery-nav.fz-next {
  right: 4px;
}

.additional-image-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
  padding: 0;
}

.additional-image-list li {
  width: auto;
  list-style: none;
  flex: 0 1 120px;
  max-width: 140px;
  border: 1px solid var(--fz-gray-200);
  padding: 10px;
  display: flex;
  justify-content: center;
}

.additional-image-list img {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
  opacity: 0.85;
}

.additional-image-list img:hover {
  transform: translateY(-2px);
  opacity: 1;
}

/* ========= 09 — MODULES & WIDGETS ========= */

.j2store .currency_symbol {
  margin-right: 2px;
}

#j2store_currency a {
  border: 1px solid var(--fz-gray-300);
  display: inline-block;
  margin-bottom: 2px;
  margin-right: 2px;
  padding: 2px 4px;
  text-decoration: none;
  cursor: pointer;
}

#j2store-slider-range .ui-widget {
  background-color: var(--fz-black);
  opacity: 1;
  width: 150px;
}

#j2store-slider-range .ui-slider-range {
  background-color: var(--swatch-purple);
  border: 0;
  border-radius: 1em;
  display: block;
  font-size: 0.7em;
  position: absolute;
  z-index: 1;
}

#j2store-slider-range .ui-slider-horizontal .ui-slider-range {
  height: 100%;
  top: 0;
}

#j2store-slider-range.ui-slider {
  border-radius: 0;
  background: var(--swatch-lavender);
  border: none;
  height: 5px;
  width: 150px;
}

#j2store-slider-range.ui-slider .ui-slider-range {
  height: 5px;
  top: -1px;
  transition: all 0.2s ease-out;
}

#j2store-slider-range .ui-slider-handle {
  background: var(--swatch-purple);
  border-radius: 1em;
  height: 1em;
  outline: 0;
  position: absolute;
  top: -0.3em;
  width: 1em;
  z-index: 2;
  border: none;
  cursor: ew-resize;
}

.j2store-myprofile-address-list li {
  list-style: none;
}

.product-compare {
  padding: 5px 2px;
}

.fancybox-slide--iframe .fancybox-content {
  height: 80% !important;
}

/* ========= 10 — RESPONSIVE ========= */

@media (max-width: 1200px) {
  .j2store-single-product.detail .col-sm-6:last-child {
    position: static;
    top: auto;
  }
}

@media (max-width: 992px) {
  .j2store-single-product.detail .additional-image-list {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 10px;
    padding: 8px 2px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin: 0 0 0.75rem;
  }

  .additional-image-list {
    justify-content: flex-start;
  }

  .additional-image-list li {
    flex: 0 0 auto;
  }

  .additional-image-list img {
    width: 84px;
    height: 84px;
    scroll-snap-align: start;
  }

  .view-products #productFilters .j2store-product-search-input,
  .view-products #productFilters select {
    min-width: 160px;
  }
}

@media (max-width: 768px) {
  /* ------- Mobile product info order: image -> colors -> title -> SKU ------- */
  .j2store-single-product.detail .row > .col-sm-6:last-child {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .j2store-single-product.detail .row > .col-sm-6:last-child .options {
    order: 1;
  }

  .j2store-single-product.detail .row > .col-sm-6:last-child .product-title {
    order: 2;
  }

  .j2store-single-product.detail
    .row
    > .col-sm-6:last-child
    .price-sku-brand-container {
    order: 3;
  }

  .view-products #productFilters {
    padding: 0.75rem;
  }

  .j2store-product-list .j2store-single-product {
    padding: 1rem 0;
  }
}
