.elementor-23581 .elementor-element.elementor-element-e2a7919{--display:flex;}.elementor-23581 .elementor-element.elementor-element-e2a7919:not(.elementor-motion-effects-element-type-background), .elementor-23581 .elementor-element.elementor-element-e2a7919 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F3F3;}@media(min-width:768px){.elementor-23581 .elementor-element.elementor-element-e2a7919{--content-width:1450px;}}/* Start custom CSS for shortcode, class: .elementor-element-534c502 */#ts-shop-app {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  position: relative;
}

#ts-shop-app,
#ts-shop-app * {
  box-sizing: border-box;
}

#ts-shop-app .ts-filters {
  background: transparent;
  padding: 0;
  min-width: 0;
}

#ts-shop-app .ts-filters-mobile-top {
  display: none;
}

#ts-shop-app .ts-filter-top-row {
  margin-bottom: 10px;
}

#ts-shop-app .ts-filter-top-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #111;
}

#ts-shop-app .ts-search-input,
#ts-shop-app #ts-sort,
#ts-shop-app #ts-price-min,
#ts-shop-app #ts-price-max {
  width: 100%;
  border: 1px solid #757575;
  background: #F4F3F3;
  padding: 10px 12px;
  font-size: 14px;
  color: #111;
  appearance: none;
  border-radius: 0;
  box-shadow: none;
}

#ts-shop-app .ts-search-input::placeholder,
#ts-shop-app #ts-price-min::placeholder,
#ts-shop-app #ts-price-max::placeholder {
  color: #111;
  opacity: 1;
}

/* Search styled like reference */
#ts-shop-app .ts-search-input {
  border: none;
  border-bottom: 1px solid #111;
  background: transparent;
  padding: 10px 0;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 10px;
}

#ts-shop-app .ts-search-input:focus {
  outline: none;
  border-bottom: 1px solid #111;
}

#ts-shop-app .ts-filter-block {
  margin-bottom: 8px;
  min-width: 0;
}

#ts-shop-app .ts-filter-accordion-title {
  border: 1px solid #757575;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 600;
  background: #F4F3F3;
  margin-bottom: 8px;
  color: #111;
}

#ts-shop-app #ts-category-breadcrumb {
  margin-bottom: 4px;
}

/* Shared boxed container for category and brand */
#ts-shop-app .ts-filter-block:has(#ts-category-facets),
#ts-shop-app .ts-filter-block:has(#ts-brand-facets) {
  border: 1px solid #757575;
  padding: 0;
  background: transparent;
}

#ts-shop-app .ts-filter-block:has(#ts-category-facets) .ts-filter-accordion-title,
#ts-shop-app .ts-filter-block:has(#ts-brand-facets) .ts-filter-accordion-title {
  border: none;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 0;
  padding: 8px 10px;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
}

#ts-shop-app .ts-category-trail {
  font-size: 12px;
  color: #666;
  margin-top: 6px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

#ts-shop-app .ts-category-back-btn {
  background: none;
  border: 0;
  padding: 0;
  color: #111;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
}

#ts-shop-app #ts-category-breadcrumb {
  padding: 4px 10px 0 10px;
}

#ts-shop-app #ts-category-facets,
#ts-shop-app #ts-brand-facets {
  padding: 4px 10px;
}

#ts-shop-app .ts-category-item {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  justify-content: space-between;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  background: transparent;
  padding: 2px 0;
  cursor: pointer;
  font-size: 14px;
  min-width: 0;
  color: #111;
}

#ts-shop-app .ts-category-item:last-child {
  border-bottom: none;
}

#ts-shop-app .ts-category-item:hover,
#ts-shop-app .ts-category-item:focus {
  color: #111;
}

#ts-shop-app .ts-category-name {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: #111;
}

#ts-shop-app .ts-category-count,
#ts-shop-app .ts-facet-count {
  color: #888;
  font-size: 12px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Brands styled like categories, inside one box */
#ts-shop-app .ts-facet-item {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  margin: 0;
  padding: 4px 0;
  font-size: 14px;
  cursor: pointer;
  color: #111;
  min-width: 0;
  border-bottom: 1px solid #e5e5e5;
}

#ts-shop-app .ts-facet-item:last-child {
  border-bottom: none;
}

#ts-shop-app .ts-facet-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#ts-shop-app .ts-facet-label {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: #111;
}

#ts-shop-app .ts-facet-item:hover .ts-facet-label,
#ts-shop-app .ts-category-item:hover .ts-category-name {
  text-decoration: underline;
}

#ts-shop-app .ts-facet-item input:checked + .ts-facet-label {
  font-weight: 700;
}

#ts-shop-app .ts-price-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

#ts-shop-app .ts-clear-btn,
#ts-shop-app #ts-category-show-more {
  border: 0;
  background: none;
  text-transform: uppercase;
  font-size: 12px;
  color: #8a8a8a;
  cursor: pointer;
  text-align: left;
}

/* Show more inside category box */
#ts-shop-app #ts-category-show-more {
  display: block;
  width: 100%;
  padding: 6px 10px 7px 10px;
  border-top: 1px solid #e5e5e5;
}

#ts-shop-app .ts-clear-btn {
  padding: 8px 0 0;
}

#ts-shop-app .ts-results-wrap {
  min-width: 0;
}

#ts-shop-app .ts-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

#ts-shop-app .ts-status {
  font-size: 14px;
  color: #111;
}

#ts-shop-app .ts-sort-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #111;
}

#ts-shop-app .ts-sort-wrap label {
  white-space: nowrap;
  color: #111;
}

#ts-shop-app .ts-sort-wrap select {
  min-width: 170px;
  border: 1px solid #757575;
  padding: 10px 12px;
  background: #F4F3F3;
  color: #111;
}

#ts-shop-app .ts-results {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px 16px;
}

/* card becomes positioning context */
#ts-shop-app .ts-card {
  position: relative;
  background: #ffffff;
  padding: 12px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e6e6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  border-radius: 2px;
}

#ts-shop-app .ts-card-image {
  display: block;
  margin-bottom: 10px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #ffffff;
}

#ts-shop-app .ts-card-image img {
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain;
  display: block;
}

#ts-shop-app .ts-card-sku {
  font-size: 12px;
  color: #8a8a8a;
  margin-bottom: 8px;
  line-height: 1.3;
}

#ts-shop-app .ts-card-title {
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 10px;
  min-height: 56px;
}

#ts-shop-app .ts-card-title a {
  color: #111;
  text-decoration: none;
}

#ts-shop-app .ts-card-title a:hover,
#ts-shop-app .ts-card-title a:focus {
  color: #111;
  text-decoration: none;
}

#ts-shop-app .ts-card-price {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.35;
  color: #111;
}

#ts-shop-app .ts-card-price .amount,
#ts-shop-app .ts-card-price .woocommerce-Price-amount {
  font-weight: 700;
}

#ts-shop-app .ts-card-cart {
  margin-top: auto;
}

#ts-shop-app .ts-card-cart .button,
#ts-shop-app .ts-card-cart a.button,
#ts-shop-app .ts-card-cart .add_to_cart_button,
#ts-shop-app .ts-card-cart a.add_to_cart_button {
  display: block;
  width: 100%;
  text-align: center;
  border: 1px solid #1eff00;
  background: #1eff00;
  color: #111;
  padding: 11px 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0;
  box-shadow: none;
}

#ts-shop-app .ts-card-cart .button:hover,
#ts-shop-app .ts-card-cart a.button:hover,
#ts-shop-app .ts-card-cart .add_to_cart_button:hover,
#ts-shop-app .ts-card-cart a.add_to_cart_button:hover {
  background: #12d600;
  border-color: #12d600;
  color: #111;
}

#ts-shop-app .ts-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
  align-items: center;
}

#ts-shop-app .ts-page-btn {
  border: 1px solid #cfcfcf;
  background: #fff;
  color: #111;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 13px;
}

#ts-shop-app .ts-page-btn[disabled] {
  background: #111;
  color: #fff;
  border-color: #111;
  cursor: default;
}

#ts-shop-app .ts-page-gap {
  padding: 0 2px;
}

#ts-shop-app .ts-no-results {
  padding: 16px 0;
  font-size: 14px;
  color: #111;
}

#ts-shop-app .ts-mobile-filter-open {
  display: none;
}

#ts-shop-app .ts-mobile-filter-overlay {
  display: none;
}

/* Select2 */
#ts-shop-app .select2-container {
  width: 100% !important;
}

#ts-shop-app .select2-container .select2-selection--single {
  height: 38px;
  min-height: 38px;
  display: flex;
  align-items: center;
  border: 1px solid #757575;
  background: #F4F3F3;
  border-radius: 0;
}

#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 36px;
  padding-left: 10px;
  padding-right: 42px;
  color: #111;
  font-size: 14px;
}

#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__clear {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  font-size: 18px;
  line-height: 1;
  color: #666;
  font-weight: 400;
}

#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__clear:hover {
  color: #111;
}

#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 36px;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__arrow b {
  margin-top: 0;
}

.select2-dropdown {
  border-radius: 0;
  border: 1px solid #757575;
}

.select2-search--dropdown .select2-search__field {
  font-size: 16px;
  min-height: 40px;
}

@media (max-width: 1280px) {
  #ts-shop-app .ts-results {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  #ts-shop-app {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  #ts-shop-app .ts-results {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  #ts-shop-app {
    grid-template-columns: 1fr;
  }

  #ts-shop-app .ts-mobile-filter-open {
    display: inline-flex;
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1001;
    border: 0;
    background: #111;
    color: #fff;
    padding: 13px 18px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  }

  #ts-shop-app .ts-mobile-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    z-index: 1002;
  }

  #ts-shop-app .ts-mobile-filter-overlay.is-open {
    display: block;
  }

  #ts-shop-app .ts-filters {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(92vw, 360px);
    background: #fff;
    z-index: 1003;
    padding: 18px 16px 24px;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    box-shadow: 10px 0 30px rgba(0,0,0,0.12);
    align-self: auto;
  }

  #ts-shop-app .ts-filters.is-open {
    transform: translateX(0);
  }

  #ts-shop-app .ts-filters-mobile-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
  }

  #ts-shop-app .ts-filters-mobile-top button {
    border: 0;
    background: none;
    font-size: 14px;
    cursor: pointer;
    color: #111;
  }

  #ts-shop-app .ts-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 12px;
  }

  #ts-shop-app .ts-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  #ts-shop-app .ts-sort-wrap {
    width: 100%;
    justify-content: space-between;
  }

  #ts-shop-app .ts-sort-wrap select {
    min-width: 0;
    width: 160px;
  }

  #ts-shop-app .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 16px;
  }

  #ts-shop-app .select2-container .select2-selection--single {
    height: 44px;
    min-height: 44px;
  }

  #ts-shop-app .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px;
  }

  #ts-shop-app .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px;
  }
}

@media (max-width: 560px) {
  #ts-shop-app .ts-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #ts-shop-app .ts-card-title {
    font-size: 14px;
    min-height: 48px;
  }

  #ts-shop-app .ts-card-cart .button,
  #ts-shop-app .ts-card-cart a.button,
  #ts-shop-app .ts-card-cart .add_to_cart_button,
  #ts-shop-app .ts-card-cart a.add_to_cart_button {
    padding: 10px 8px;
    font-size: 11px;
  }
}

#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #111 transparent transparent transparent;
}
#ts-shop-app .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #000;
}

/* PRICE FILTER BOX */

#ts-shop-app .ts-filter-block:has(#ts-price-min) {
  border: 1px solid #757575;
  padding: 0;
  background: transparent;
}

/* price title inside the box */

#ts-shop-app .ts-filter-block:has(#ts-price-min) .ts-filter-accordion-title {
  border: none;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 0;
  padding: 8px 10px;
  background: transparent;
}

/* container padding */

#ts-shop-app .ts-price-row {
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

/* inputs look like part of the box */

#ts-shop-app #ts-price-min,
#ts-shop-app #ts-price-max {
  border: 1px solid #d0d0d0;
  background: #fff;
  padding: 6px 8px;
  font-size: 13px;
}
#ts-shop-app {
  font-family: "arame", sans-serif;
  letter-spacing: 0.02em;
}
/* Product SKU */
#ts-shop-app .ts-card-sku {
  font-family: 'Roboto', sans-serif;
}

/* Product title */
#ts-shop-app .ts-card-title {
  font-family: 'Roboto', sans-serif;
}

/* Product price */
#ts-shop-app .ts-card-price {
  font-family: 'Roboto', sans-serif;
}
/* keep image inside container */
#ts-shop-app .ts-card-image {
  overflow: hidden;
}

/* smooth zoom animation */
#ts-shop-app .ts-card-image img {
  transition: transform 0.35s ease;
}

/* 5% zoom on hover */
#ts-shop-app .ts-card:hover .ts-card-image img {
  transform: scale(1.05);
}

#ts-shop-app .ts-card-image {
  position: relative;
}
#ts-shop-app .ts-card {
  position: relative;
}

#ts-shop-app .ts-card-badges {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  pointer-events: none;
}

#ts-shop-app .ts-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  padding: 4px 7px;
  z-index: 100;
  letter-spacing: 0.03em;
  color: #fff;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.12);
}

#ts-shop-app .ts-badge-sale {
  background: #e4002b;
}


#ts-shop-app .ts-badge-featured {
  background: #EEFC04;
  color: #000;
  font-weight: 500;
}

#ts-shop-app .ts-badge-new {
  background: #008f5a;
}
#ts-shop-app #ts-brand-facets,
#ts-shop-app .ts-filter-block:has(#ts-brand-facets) {
  display: none;
}

@media (max-width: 820px) {
  #ts-shop-app .ts-filters {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(92vw, 360px);
    max-height: 100dvh;
    background: #fff;
    z-index: 1003;
    padding: 18px 16px 24px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    box-shadow: 10px 0 30px rgba(0,0,0,0.12);
    align-self: auto;
  }
}

.select2-container--open {
  z-index: 999999 !important;
}

.select2-dropdown {
  z-index: 999999 !important;
}

@media (max-width: 820px) {
  #ts-shop-app .ts-filters {
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    max-height: 100dvh;
  }
}

.select2-container--open,
.select2-dropdown {
  z-index: 999999 !important;
}

/* Keep Select2 above panel/ui */
.select2-container--open,
.select2-dropdown {
  z-index: 999999 !important;
}

/* Make dropdown itself scroll properly on iPhone */
.select2-results > .select2-results__options {
  max-height: 240px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
}

/* Mobile-specific hardening */
@media (max-width: 820px) {
  #ts-filters-panel .select2-container {
    width: 100% !important;
  }

  #ts-filters-panel .select2-dropdown {
    position: relative;
  }

  #ts-filters-panel .select2-results > .select2-results__options {
    max-height: 40vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  #ts-filters-panel .select2-search--dropdown .select2-search__field {
    font-size: 16px !important;
    min-height: 44px;
  }
}
/* Disabled model select must not catch touch/scroll */
#ts-shop-app .ts-filter-block .select2-container.select2-container--disabled {
  pointer-events: none !important;
  touch-action: auto !important;
}

#ts-shop-app .ts-filter-block .select2-container.select2-container--disabled .select2-selection {
  pointer-events: none !important;
}

/* Extra iOS hardening – already mostly there, but this guarantees it */
#ts-filters-panel {
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
}

/* Make sure Select2 dropdown never interferes with panel scroll */
.select2-dropdown {
    touch-action: pan-y !important;
}/* End custom CSS */