/*
Theme Name: TheBoxTale - Child
Theme URI: https://theboxtale.com
Author: Bhartiyneer
Author URI: https://bhartiyneer.com
Description: #
Template: theboxtale
Version: 1.0.0
*/

/*---------------------------------
  	Write your css code from here
------------------------------------*/

/* Product card titles retain their compact sans-serif styling. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.haru-archive-product .woocommerce-loop-product__title,
.haru-product .woocommerce-loop-product__title {
  font-family: Montserrat, Jost, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none !important;
  color: #09090b;
}

/* Single product page layout refinements. */
@media (min-width: 992px) {
  body.single-product .single-product-top.vertical {
    align-items: flex-start;
  }

  body.single-product .single-product-top.vertical .single-product-image-wrap {
    flex: 0 0 58%;
    max-width: 58%;
    width: 58%;
  }

  body.single-product .single-product-top.vertical .single-product-summary {
    flex: 0 0 42%;
    max-width: 42%;
    width: 42%;
  }

  body.single-product .single-product-summary .summary-content {
    display: flex;
    flex-direction: column;
  }

  body.single-product .single-product-summary .haru-product-nav {
    order: 0;
    align-self: flex-end;
  }

  body.single-product .single-product-summary .product_title {
    order: 1;
  }

  body.single-product .single-product-summary p.price {
    order: 2;
    margin-top: -4px;
    margin-bottom: 18px;
  }

  body.single-product .single-product-summary .woocommerce-product-details__short-description {
    order: 3;
  }

  body.single-product .single-product-summary form.cart {
    order: 4;
    display: grid !important;
    grid-template-columns: 138px minmax(180px, 1fr) 48px 48px;
    gap: 10px;
    align-items: center;
    clear: both;
  }

  body.single-product .single-product-summary form.cart::before,
  body.single-product .single-product-summary form.cart::after {
    content: none !important;
    display: none !important;
  }

  body.single-product .single-product-summary form.cart .quantity {
    grid-column: 1;
    grid-row: 1;
  }

  body.single-product .single-product-summary form.cart .single_add_to_cart_button {
    grid-column: 2;
    grid-row: 1;
  }

  body.single-product .single-product-summary form.cart .product-button--wishlist {
    grid-column: 3;
    grid-row: 1;
  }

  body.single-product .single-product-summary form.cart .product-button--compare {
    grid-column: 4;
    grid-row: 1;
  }

  body.single-product .single-product-summary .product_meta {
    order: 5;
  }

  body.single-product .single-product-summary .haru-social-share {
    order: 6;
  }

  body.single-product .single-product-summary .woocommerce-tabs {
    order: 7;
  }

  body.single-product .single-product-summary form.cart .quantity,
  body.single-product .single-product-summary form.cart .single_add_to_cart_button,
  body.single-product .single-product-summary form.cart .product-button {
    float: none !important;
    margin: 0 !important;
  }

  body.single-product .single-product-summary form.cart .single_add_to_cart_button {
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product .single-product-summary form.cart .product-button,
  body.single-product .single-product-summary form.cart .product-button a,
  body.single-product .single-product-summary form.cart .product-button .yith-wcwl-add-to-wishlist,
  body.single-product .single-product-summary form.cart .product-button .yith-wcwl-add-button {
    width: 48px !important;
    height: 48px !important;
  }

  body.single-product .single-product-summary form.cart .product-button a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 1px solid #e5e2df !important;
    border-radius: 4px;
    background: #f7f6f5 !important;
    color: #2d1f1f !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body.single-product .single-product-summary form.cart .product-button a::before {
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  body.single-product .single-product-summary form.cart .product-button a span,
  body.single-product .single-product-summary form.cart .product-button svg {
    display: none !important;
  }
}

@media (max-width: 991px) {
  body.single-product .single-product-summary .summary-content {
    display: flex;
    flex-direction: column;
  }

  body.single-product .single-product-summary .product_title {
    order: 1;
  }

  body.single-product .single-product-summary p.price {
    order: 2;
  }

  body.single-product .single-product-summary .woocommerce-product-details__short-description {
    order: 3;
  }

  body.single-product .single-product-summary form.cart {
    order: 4;
  }
}

/* Remove the empty grey page-title strip but keep clean breathing room under the header. */
body.single-product .haru-page-title {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .site-main {
  padding-top: 28px !important;
}

/* Product category archive: compact header and reference-style product cards. */
body.tax-product_cat .haru-page-title.has-heading {
  min-height: 0 !important;
  margin-bottom: 24px !important;
  padding: 18px 30px !important;
  background-color: var(--tbt-category-header-bg, transparent) !important;
}

body.tax-product_cat .haru-page-title__content {
  max-width: 1396px;
  margin: 0 auto;
  min-height: 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.tax-product_cat .haru-page-title__heading--main {
  margin: 0 !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

body.tax-product_cat .archive-product.products {
  padding-top: 0;
}

body.tax-product_cat .shop-filter {
  min-height: 0 !important;
  margin-bottom: 22px !important;
  padding: 12px 0 !important;
  border-top: 1px solid #ebe6e3;
  border-bottom: 1px solid #ebe6e3;
  align-items: center;
}

body.tax-product_cat .shop-filter__sidebar-btn {
  height: auto !important;
  min-height: 32px;
  padding: 0 0 0 28px;
  font-size: 14px;
  font-weight: 500;
  color: #1f1b1b;
}

body.tax-product_cat .shop-filter__catalog {
  align-items: center;
  justify-content: center;
  gap: 28px;
}

body.tax-product_cat .woocommerce-result-count {
  font-size: 13px;
  color: #2d2727;
}

body.tax-product_cat .woocommerce-ordering select.orderby {
  min-height: 32px;
  padding: 0 36px 0 14px;
  border: 0;
  background-color: transparent;
  font-size: 14px;
  color: #1f1b1b;
}

body.tax-product_cat .products.layout-grid {
  align-items: stretch;
}

body.tax-product_cat .products .product-item {
  padding-top: 0 !important;
  margin-bottom: 28px !important;
}

body.tax-product_cat .products .product-wrap {
  position: relative;
  height: 100%;
  overflow: hidden;
  border: 1px solid #dfe6ee;
  border-radius: 14px;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.tax-product_cat .products .product-wrap:hover {
  border-color: #cbd7e5;
  box-shadow: 0 10px 28px rgba(45, 31, 31, 0.08);
  transform: none;
}

body.tax-product_cat .products .product-top,
body.tax-product_cat .products .product-thumbnail,
body.tax-product_cat .products .product-thumbnail > a {
  overflow: visible;
  border-radius: 14px 14px 0 0;
  background: #fbf6f5;
}

body.tax-product_cat .products .product-thumbnail img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px 14px 0 0;
  transition: none;
}

body.tax-product_cat .products .product-thumb-hover {
  display: none !important;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}

body.tax-product_cat .products .product-wrap:hover .product-thumbnail img {
  transform: none !important;
}


body.tax-product_cat .products .product-actions {
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: auto !important; left: auto !important;
  width: 40px !important; height: 40px !important;
  border: 0 !important; padding: 0 !important; background: transparent !important;
  display: block !important; visibility: visible !important; opacity: 1 !important; transform: none !important;
  transition: none !important; animation: none !important;
  z-index: 4;
}
body.tax-product_cat .products .product-actions .product-button:not(.product-button--wishlist) { display: none !important; }
body.tax-product_cat .products .product-actions .product-button--wishlist,
body.tax-product_cat .products .product-actions .yith-wcwl-add-to-wishlist,
body.tax-product_cat .products .product-actions .yith-wcwl-add-button {
  display: block !important; width: 40px !important; height: 40px !important;
  margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: transparent !important;
  visibility: visible !important; opacity: 1 !important; transform: none !important;
  transition: none !important; animation: none !important;
}
body.tax-product_cat .products .product-actions .product-button--wishlist a {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 40px !important; height: 40px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  border-radius: 0 0 0 14px !important; background: #fff !important;
  color: #8a7d7d !important; font-size: 0 !important; line-height: 1 !important;
  box-shadow: 0 2px 6px rgba(43,32,32,.12);
  visibility: visible !important; opacity: 1 !important; transform: none !important;
  transition: none !important; animation: none !important;
}
body.tax-product_cat .products .product-actions .product-button--wishlist a span,
body.tax-product_cat .products .product-actions .product-button--wishlist .separator,
body.tax-product_cat .products .product-actions .product-button--wishlist .view-wishlist { display: none !important; }
body.tax-product_cat .products .product-actions .product-button--wishlist a::before,
body.tax-product_cat .products .product-actions .product-button--wishlist a::after,
body.tax-product_cat .products .product-actions .product-button--wishlist::after { content: none !important; display: none !important; }
body.tax-product_cat .products .product-actions .product-button--wishlist a svg {
  display: block !important; width: 22px !important; height: 22px !important;
  margin: 0 !important; color: inherit !important; flex: 0 0 22px;
  pointer-events: none; transform: none !important; transition: none !important; animation: none !important;
}
body.tax-product_cat .products .product-actions .product-button--wishlist:hover a,
body.tax-product_cat .products .product-actions .product-button--wishlist a:focus-visible { color: var(--tbt-primary, #5a2828) !important; }
body.tax-product_cat .products .product-actions .product-button--wishlist .blockOverlay { background-size: 18px 18px !important; }
body.tax-product_cat .products .product-actions .product-button--wishlist a.delete_item { color: var(--tbt-primary, #5a2828) !important; }
body.tax-product_cat .products .product-actions .product-button--wishlist a.delete_item svg { fill: currentColor; }
body.tax-product_cat .products .product-actions .product-button--wishlist a:focus-visible { outline: 2px solid var(--tbt-primary, #5a2828); outline-offset: -3px; }
@media (max-width: 767px) {
  body.tax-product_cat .products .product-actions,
  body.tax-product_cat .products .product-actions .product-button--wishlist,
  body.tax-product_cat .products .product-actions .yith-wcwl-add-to-wishlist,
  body.tax-product_cat .products .product-actions .yith-wcwl-add-button,
  body.tax-product_cat .products .product-actions .product-button--wishlist a { width: 44px !important; height: 44px !important; }
}

body.tax-product_cat .products .product-info {
  min-height: 116px;
  padding: 12px 16px 18px !important;
}

body.tax-product_cat .products .woocommerce-loop-product__title {
  display: -webkit-box !important;
  min-height: 42px;
  margin: 0 0 8px !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #2b2525 !important;
}

body.tax-product_cat .products .price {
  display: flex !important;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  margin-top: 2px;
  color: #161313;
}

body.tax-product_cat .products .price ins {
  color: #111;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

body.tax-product_cat .products .price del {
  color: #9d9a9a;
  font-size: 14px;
  font-weight: 400;
}

body.tax-product_cat .products .product-label {
  top: auto !important;
  right: auto !important;
  bottom: -81px !important;
  left: 100px !important;
  z-index: 4;
  width: auto !important;
  height: auto !important;
}

body.tax-product_cat .products .product-label__item--onsale {
  display: inline-flex !important;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px !important;
  border: 1px solid #00a94f !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #009447 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

body.tax-product_cat .products .product-label__item--onsale.is-generic-sale {
  display: none !important;
}

@media (max-width: 767px) {
  body.tax-product_cat .haru-page-title.has-heading {
    padding: 16px 20px !important;
    margin-bottom: 18px !important;
  }

  body.tax-product_cat .haru-page-title__heading--main {
    font-size: 24px !important;
  }

  body.tax-product_cat .shop-filter {
    flex-wrap: wrap;
    gap: 10px;
  }

  body.tax-product_cat .shop-filter__catalog {
    width: 100%;
    justify-content: space-between;
    gap: 12px;
  }

  body.tax-product_cat .products .product-info {
    padding: 10px 12px 14px !important;
  }

  body.tax-product_cat .products .product-label {
    left: 92px !important;
  }
}


/* Bookmarks archive discount badge fallback for cached child JS. */
body.term-bookmarks .products .product-label__item--onsale {
  font-size: 0 !important;
}

body.term-bookmarks .products .product-label__item--onsale::before {
  font-size: 12px !important;
  line-height: 1 !important;
}

body.term-bookmarks .products .post-12869 .product-label__item--onsale::before {
  content: '8% OFF';
}

body.term-bookmarks .products .post-12871 .product-label__item--onsale::before,
body.term-bookmarks .products .post-12875 .product-label__item--onsale::before {
  content: '13% OFF';
}

body.term-bookmarks .products .post-861 .product-label__item--onsale::before {
  content: '15% OFF';
}

body.term-bookmarks .products .post-9520 .product-label__item--onsale::before {
  content: '18% OFF';
}

body.term-bookmarks .products .post-728 .product-label__item--onsale {
  display: none !important;
}

/* Category archive controls: update these variables to change badge/header colors. */
body.tax-product_cat {
  --tbt-primary: #5a2828;
  --tbt-secondary: #f5eeee;
  --tbt-border: #e6d9d9;
  --tbt-category-header-bg: var(--tbt-secondary);
  --tbt-category-header-text: #2b2020;
  --tbt-category-header-overlay: rgba(255, 255, 255, 0.18);
  --tbt-sale-badge-bg: #fff7f5;
  --tbt-sale-badge-text: var(--tbt-primary);
  --tbt-sale-badge-border: var(--tbt-primary);
}

/* Let the WooCommerce category Title Background image control drive the header. */
body.tax-product_cat .haru-page-title.has-heading {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 116px !important;
  margin-bottom: 0 !important;
  padding: 0 30px !important;
  overflow: hidden;
  background-color: var(--tbt-category-header-bg) !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.tax-product_cat .haru-page-title.has-bg-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--tbt-category-header-overlay);
  pointer-events: none;
}

body.tax-product_cat .haru-page-title__content {
  position: relative;
  z-index: 1;
  width: 100%;
}

body.tax-product_cat .haru-page-title__heading--main {
  color: var(--tbt-category-header-text) !important;
}

body.tax-product_cat .woocommerce-products-header.full-width {
  position: relative;
  z-index: 2;
  min-height: 116px;
  margin-top: -116px;
  margin-bottom: 18px;
  pointer-events: none;
}

body.tax-product_cat .woocommerce-products-header .h-row {
  max-width: 1396px;
  min-height: 116px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

body.tax-product_cat .term-description {
  width: min(620px, 50%);
  margin: 0;
  padding: 0 30px 0 48px;
  color: var(--tbt-category-header-text);
  font-size: 13px;
  line-height: 1.55;
  pointer-events: auto;
}

body.tax-product_cat .term-description p {
  margin: 0;
}

/* Align discounts in the price row and use brand-editable color variables. */
body.tax-product_cat .products .product-label__item--onsale {
  border-color: var(--tbt-sale-badge-border) !important;
  background: var(--tbt-sale-badge-bg) !important;
  color: var(--tbt-sale-badge-text) !important;
}

body.term-bookmarks .products .product-label__item--onsale {
  display: none !important;
}

body.term-bookmarks .products .price::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid var(--tbt-sale-badge-border);
  border-radius: 4px;
  background: var(--tbt-sale-badge-bg);
  color: var(--tbt-sale-badge-text);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

body.term-bookmarks .products .post-12869 .price::after {
  content: '8% OFF';
}

body.term-bookmarks .products .post-12871 .price::after,
body.term-bookmarks .products .post-12875 .price::after {
  content: '13% OFF';
}

body.term-bookmarks .products .post-861 .price::after {
  content: '15% OFF';
}

body.term-bookmarks .products .post-9520 .price::after {
  content: '18% OFF';
}

@media (max-width: 767px) {
  body.tax-product_cat .haru-page-title.has-heading {
    min-height: auto !important;
    padding: 22px 20px !important;
  }

  body.tax-product_cat .woocommerce-products-header.full-width {
    min-height: auto;
    margin-top: 0;
    margin-bottom: 16px;
    background: var(--tbt-category-header-bg);
  }

  body.tax-product_cat .woocommerce-products-header .h-row {
    min-height: auto;
    justify-content: flex-start;
  }

  body.tax-product_cat .term-description {
    width: 100%;
    padding: 0 20px 16px;
  }
}

/* Keep non-discount product labels on the image, not in the price row. */
body.term-bookmarks .products .product-label {
  top: 12px !important;
  right: auto !important;
  bottom: auto !important;
  left: 12px !important;
  z-index: 5;
}

body.term-bookmarks .products .product-label__item--onnew {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px !important;
  border-radius: 4px !important;
  background: var(--tbt-primary) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Category header correction: align with site header and let term image show cleanly. */
body.tax-product_cat {
  --tbt-category-header-bg: transparent;
  --tbt-category-header-overlay: transparent;
}

body.tax-product_cat .haru-page-title.has-heading {
  min-height: 116px !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  background-color: var(--tbt-category-header-bg) !important;
}

body.tax-product_cat .haru-page-title.has-bg-image::before {
  background: var(--tbt-category-header-overlay) !important;
}

body.tax-product_cat .haru-page-title__content,
body.tax-product_cat .woocommerce-products-header .h-row,
body.tax-product_cat .haru-archive-product > .h-row {
  max-width: 1660px !important;
}

body.tax-product_cat .haru-page-title__heading--main {
  padding-left: 0 !important;
  text-align: left !important;
}

body.tax-product_cat .term-description {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.tax-product_cat .term-description p {
  background: transparent !important;
  box-shadow: none !important;
}

@media (min-width: 768px) {
  body.tax-product_cat .term-description {
    padding-right: 0 !important;
  }
}

/* Product category header: prevent description wrapper from covering title background image. */
body.tax-product_cat .woocommerce-products-header.full-width,
body.tax-product_cat .woocommerce-products-header .h-row,
body.tax-product_cat .woocommerce-products-header .term-description {
  background: transparent !important;
  background-color: transparent !important;
}

body.tax-product_cat .haru-page-title.has-bg-image {
  background-color: transparent !important;
}

/* Product category discounts: use price-row badges consistently on parent and child categories. */
body.tax-product_cat .products .product-label {
  top: 12px !important;
  right: auto !important;
  bottom: auto !important;
  left: 12px !important;
  z-index: 5;
}

body.tax-product_cat .products .product-label__item--onsale {
  display: none !important;
}

body.tax-product_cat .products .price::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid var(--tbt-sale-badge-border);
  border-radius: 4px;
  background: var(--tbt-sale-badge-bg);
  color: var(--tbt-sale-badge-text);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

body.tax-product_cat .products .post-12869 .price::after {
  content: '8% OFF';
}

body.tax-product_cat .products .post-12871 .price::after,
body.tax-product_cat .products .post-12875 .price::after {
  content: '13% OFF';
}

body.tax-product_cat .products .post-861 .price::after {
  content: '15% OFF';
}

body.tax-product_cat .products .post-9520 .price::after {
  content: '18% OFF';
}

/* Show uploaded category title images without cropping square uploads into a blank strip. */
body.tax-product_cat .haru-page-title.has-bg-image {
  background-size: auto 100% !important;
  background-position: right center !important;
  background-repeat: repeat-x !important;
}

/* Final category title image treatment: one clean background, no tiling. */
body.tax-product_cat .haru-page-title.has-bg-image {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Restore product archive canvas width after header-only alignment adjustments. */
body.tax-product_cat .haru-archive-product.full-width > .h-row {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
}

body.tax-product_cat .haru-archive-product .archive-content.has-hidden-sidebar {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.tax-product_cat .haru-archive-product .archive-product.products,
body.tax-product_cat .haru-archive-product .shop-filter,
body.tax-product_cat .haru-archive-product .products.layout-grid {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 767px) {
  body.tax-product_cat .haru-archive-product.full-width > .h-row {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Product archive canvas: restore near full-width product showcase. */
@media (min-width: 1200px) {
  body.tax-product_cat .haru-archive-product.full-width > .h-row {
    width: calc(100vw - 60px) !important;
    max-width: calc(100vw - 60px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.tax-product_cat .haru-archive-product .archive-content.has-hidden-sidebar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Bookmark theme demo: dynamic selection and keyboard focus for native Elementor buttons. */
.tbt-bookmark-themes .tbt-theme-chip .elementor-button[aria-current="true"] {
  border-color: var(--tbt-primary, #5a2828) !important;
  background: var(--tbt-primary, #5a2828) !important;
  color: #fff !important;
}
.tbt-bookmark-themes .tbt-theme-chip .elementor-button:focus-visible {
  outline: 2px solid var(--tbt-primary, #5a2828);
  outline-offset: 3px;
}

/* Match the native content block to Haru's archive gutters between its theme breakpoints. */
@media (min-width: 768px) and (max-width: 991px) {
  .tbt-bookmark-themes.e-con {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .tbt-bookmark-themes.e-con {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
}

/* Bookmark catalogue: keep the page stable while native results update. */
.tbt-catalog-results {
  position: relative;
  overflow-anchor: none;
}
.tbt-catalog-results > .products,
.tbt-catalog-results > .haru-active-filters {
  transition: opacity 140ms ease;
}
.tbt-catalog-results.is-updating > .products,
.tbt-catalog-results.is-updating > .haru-active-filters {
  opacity: 0.45;
  pointer-events: none;
}
.tbt-catalog-results.is-updating::after {
  content: "Updating products...";
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 8px 12px;
  border: 1px solid var(--tbt-border);
  border-radius: 4px;
  background: #fff;
  color: var(--tbt-primary);
  font-size: 13px;
}
.tbt-catalog-status {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.tbt-catalog-results .tbt-filter-error {
  padding: 12px 0;
  color: var(--tbt-primary);
}
.tbt-filter-error button {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  .tbt-catalog-results > .products,
  .tbt-catalog-results > .haru-active-filters {
    transition: none;
  }
}

/* Compact bookmark controls. Native Elementor controls own the theme chips. */
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  min-height: 44px !important;
  height: auto !important;
  padding: 5px 0 !important;
  margin-bottom: 14px !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter::before,
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter::after,
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter__layout {
  display: none !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter__catalog { display: contents !important; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter__sidebar-btn {
  justify-self: start;
  gap: 7px;
  height: 32px !important;
  min-height: 32px;
  padding: 0 !important;
  margin: 0 !important;
  font: 400 12px/20px Montserrat, Jost, Arial, sans-serif;
  text-transform: none;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter__sidebar-btn::before {
  content: '' !important;
  position: static !important;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  transform: none !important;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%232B2020' stroke-width='1.2'%3E%3Cpath d='M1 5h4m4 0h8M1 13h8m4 0h4'/%3E%3Ccircle cx='7' cy='5' r='2'/%3E%3Ccircle cx='11' cy='13' r='2'/%3E%3C/svg%3E");
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter__sidebar-btn::after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  margin-left: 1px;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .woocommerce-result-count {
  justify-self: center;
  margin: 0 !important;
  font: 400 12px/20px Montserrat, Jost, Arial, sans-serif;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .woocommerce-ordering {
  justify-self: end;
  min-width: 0;
  margin: 0 !important;
  height: 32px;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .woocommerce-ordering select.orderby {
  height: 32px !important;
  min-height: 32px !important;
  max-width: 220px;
  padding: 0 24px 0 0 !important;
  margin: 0;
  font: 400 12px/20px Montserrat, Jost, Arial, sans-serif;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .haru-active-filters {
  gap: 10px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  font: 400 12px/20px Montserrat, Jost, Arial, sans-serif;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .haru-active-filters .widget { margin: 0; padding: 0; border: 0; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .widget_layered_nav_filters ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .widget_layered_nav_filters li { margin: 0 !important; padding: 0 !important; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .widget_layered_nav_filters a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border: 0;
  border-radius: 2px;
  background: var(--tbt-secondary);
  color: var(--tbt-category-header-text);
  font: 400 12px/20px Montserrat, Jost, Arial, sans-serif;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .haru-clear-filters a { font: 400 12px/20px Montserrat, Jost, Arial, sans-serif; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .hidden-sidebar__header { height: 44px; padding: 10px 20px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .hidden-sidebar__close { font-size: 12px; line-height: 20px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .hidden-sidebar__content { padding: 16px 20px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  font: 400 13px/24px Montserrat, Jost, Arial, sans-serif;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-title,
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-applied-filters h4 {
  margin: 0 0 12px;
  padding: 0;
  font: 500 12px/20px Montserrat, Jost, Arial, sans-serif !important;
  text-transform: none;
  letter-spacing: normal;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-title::after {
  content: '' !important;
  width: 8px;
  height: 8px;
  top: 5px;
  right: 2px;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  transform: rotate(45deg);
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-close .widget-title::after { transform: rotate(225deg); top: 2px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget li { margin-bottom: 5px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget a { font-size: 13px; font-weight: 400; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .layered-nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 0 0 27px !important;
  color: var(--tbt-category-header-text);
  line-height: 24px;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .layered-nav-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1px solid #2b2020;
  border-radius: 2px;
  background: #fff;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .chosen .layered-nav-link::before { background: #2b2020; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .chosen .layered-nav-link::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 7px;
  width: 6px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  opacity: 1 !important;
  visibility: visible !important;
  background: none !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .swatch-inner { border: 0 !important; padding: 0 !important; background: none !important; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .count { font-size: 11px; background: transparent; color: var(--tbt-category-header-text); }
/* Keep this category's drawer focused on filters, rather than general shop navigation. */
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar :is(.widget_product_search, .widget_product_categories, .widget-woo-sorting, .widget_product_tag_cloud) { display: none; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-applied-filters { margin-bottom: 24px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-applied-filters .haru-active-filters { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 8px; margin: 0; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-applied-filters .haru-clear-filters a::before { display: none; }
@media (max-width: 767px) {
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter { grid-template-columns: auto minmax(0,1fr); gap: 2px 8px; }
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .woocommerce-ordering { grid-column: 2; grid-row: 1; }
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .woocommerce-ordering select.orderby { max-width: 180px; }
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .woocommerce-result-count { grid-column: 1 / -1; grid-row: 2; justify-self: start; font-size: 11px; }
}

/* Match the reference's plain tags and checkbox rows. */
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-applied-filters .haru-clear-filters { margin: 0; padding: 0; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-applied-filters .haru-clear-filters::after { display: none; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .haru-clear-filters a { text-transform: none; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-layered-nav .count { display: none; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-stock-status a { color: var(--tbt-category-header-text); }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget-woo-stock-status a::before { border: 1px solid #2b2020; border-radius: 2px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .widget_price_filter .button { height: 30px; padding: 0 12px; font: 400 12px/30px Montserrat, Jost, Arial, sans-serif; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar .price_label { font-size: 12px; line-height: 30px; }

/* Keep applied filters alongside the Filter control, within the existing toolbar. */
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .shop-filter__sidebar-btn { flex-shrink: 0; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools > .haru-active-filters {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools > .haru-active-filters::-webkit-scrollbar { display: none; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .haru-clear-filters,
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .widget_layered_nav_filters { flex-shrink: 0; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .widget_layered_nav_filters ul { flex-wrap: nowrap; }
@media (max-width: 767px) {
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter:has(.tbt-filter-tools > .haru-active-filters) .tbt-filter-tools { grid-column: 1 / -1; grid-row: 1; gap: 12px; }
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter:has(.tbt-filter-tools > .haru-active-filters) .woocommerce-ordering { grid-column: 2; grid-row: 2; }
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter:has(.tbt-filter-tools > .haru-active-filters) .woocommerce-result-count {
    position: static;
    grid-column: 1;
    grid-row: 2;
    width: auto;
    white-space: nowrap;
  }
}

/* Clear-all uses the same centered 24px control box as the selected tag. */
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .haru-clear-filters {
  display: flex;
  align-items: center;
  height: 24px;
  margin-bottom: 0;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .haru-clear-filters a {
  display: inline-flex;
  align-items: center;
  height: 24px;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .haru-clear-filters a::before { top: 0; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-tools .haru-clear-filters::after { top: 50%; transform: translateY(-50%); }

/* Stable drawer geometry and immediate progress feedback for bookmark filters. */
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer .tbt-applied-filters {
  height: 118px;
  margin-bottom: 16px;
  overflow: hidden;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer .tbt-applied-filters ul { max-height: 56px; overflow-y: auto; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-no-filters { margin: 0; font-size: 12px; line-height: 24px; opacity: .65; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer :is(#haru_widget_woo_layered_nav-1, #haru_widget_woo_layered_nav-2, #haru_widget_woo_layered_nav-3, .widget-woo-price-filter) { display: none; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock]) {
  display: flex;
  position: relative;
  align-items: center;
  min-height: 26px;
  padding: 0 0 0 27px !important;
  line-height: 26px;
  transition: none !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock])::before,
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock])::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  transform: translateY(-50%) !important;
  border-radius: 2px;
  visibility: visible !important;
  transition: none !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock])::before {
  border: 1px solid var(--tbt-category-header-text) !important;
  background: #fff !important;
  opacity: 1 !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock])::after {
  border: 0 !important;
  background: center / 12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6l2.5 2.5L10 3'/%3E%3C/svg%3E") !important;
  opacity: 0 !important;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock])[aria-checked='true']::before { background: var(--tbt-category-header-text) !important; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-sidebar.tbt-filter-drawer .widget :is(a.layered-nav-link, a[data-stock])[aria-checked='true']::after { opacity: 1 !important; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer [role='checkbox']:focus-visible { outline: 1px solid var(--tbt-primary); outline-offset: 2px; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer .price_slider :is(.ui-slider-handle, .ui-slider-range) { transition: none !important; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-drawer-status {
  position: sticky;
  bottom: -16px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin: 8px 0 0;
  padding: 6px 0;
  background: #fff;
  color: var(--tbt-category-header-text);
  font: 400 12px/20px Montserrat, Jost, Arial, sans-serif;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-drawer-status::before {
  content: '';
  width: 12px;
  height: 12px;
  border: 1px solid var(--tbt-border);
  border-top-color: var(--tbt-primary);
  border-radius: 50%;
  visibility: hidden;
}
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-is-loading .tbt-drawer-status::before { visibility: visible; animation: tbt-filter-progress .7s linear infinite; }
:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer .tbt-filter-error { margin: 0 0 10px; font-size: 12px; line-height: 20px; }
@keyframes tbt-filter-progress { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  :is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-is-loading .tbt-drawer-status::before { animation: none; }
}

:is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-filter-drawer .tbt-applied-filters .widget { margin: 0 !important; padding: 0 !important; }

/* Initial selection state is available in the head, before the catalogue controller starts. */
html[data-tbt-bookmark-themes=""] :is(body.term-bookmarks, body.term-magnetic-bookmarks) .tbt-theme-chip--all .elementor-button,
html[data-tbt-bookmark-themes~="cartoon"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) [data-id="tbt-chip-cartoon"] .elementor-button,
html[data-tbt-bookmark-themes~="nature"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) [data-id="tbt-chip-nature"] .elementor-button,
html[data-tbt-bookmark-themes~="colors"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) [data-id="tbt-chip-colors"] .elementor-button,
html[data-tbt-bookmark-themes~="spiritual"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) [data-id="tbt-chip-spiritual"] .elementor-button {
  border-color: var(--tbt-primary, #5a2828) !important;
  background: var(--tbt-primary, #5a2828) !important;
  color: #fff !important;
}
/* The controller places these links in the toolbar; reserve the final layout from the start. */
html[data-tbt-filter-boot="ready"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-content > .archive-product > .haru-active-filters { display: none; }
html[data-tbt-filter-boot="ready"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-content > .archive-product:not(:has(> .shop-filter))::before {
  content: '';
  display: block;
  height: 44px;
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  html[data-tbt-bookmark-filtered="true"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) .shop-filter { min-height: 78px !important; }
  html[data-tbt-filter-boot="ready"][data-tbt-bookmark-filtered="true"] :is(body.term-bookmarks, body.term-magnetic-bookmarks) .archive-content > .archive-product:not(:has(> .shop-filter))::before { height: 78px; }
}

/* Compact category cards: natural title height, one price row, then genuine reviews. */
body.tax-product_cat .haru-archive-product .products.layout-grid .product-item .product-info {
  min-height: 0;
  padding: 10px 16px 12px !important;
}
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info > .woocommerce-loop-product__link { display: block; margin: 0; }
body.tax-product_cat .haru-archive-product .products.layout-grid .product-item .woocommerce-loop-product__title {
  min-height: 0 !important;
  margin: 0 0 5px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info .price {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 26px;
  margin: 0 !important;
  color: var(--tbt-category-header-text, #2b2020);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info .price ins { order: 0; color: inherit; font-size: 16px; font-weight: 700; }
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info .price del { order: 1; color: #6b5b5b; opacity: 1; font-size: 15px; font-weight: 400; }
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info .price del * { color: inherit !important; }
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info .price::after { content: none !important; display: none !important; }
body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-offer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  order: 2;
  min-height: 24px;
  padding: 1px 8px;
  border: 1px solid var(--tbt-primary, #5a2828);
  border-radius: 3px;
  background: var(--tbt-secondary, #f5eeee);
  color: var(--tbt-primary, #5a2828);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
}
body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-review {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 18px;
  margin: 5px 0 0;
  color: var(--tbt-primary, #5a2828);
  font: 400 12px/18px Montserrat, Jost, Arial, sans-serif;
  text-decoration: none;
}
body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-review[hidden] { display: none; }
body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-review:hover { text-decoration: underline; }
body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-review:focus-visible { outline: 1px solid var(--tbt-primary, #5a2828); outline-offset: 3px; }
body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-review__star { color: #e9a323; font-size: 13px; }
body.tax-product_cat .haru-archive-product .products.layout-grid .product-info.tbt-card-details-ready > .star-rating { display: none !important; }
@media (max-width: 767px) {
  body.tax-product_cat .haru-archive-product .products.layout-grid .product-item .product-info { padding: 10px 12px 12px !important; }
  body.tax-product_cat .haru-archive-product .products.layout-grid .product-item .woocommerce-loop-product__title { font-size: 13px !important; }
  body.tax-product_cat .haru-archive-product .products.layout-grid .product-info .price { column-gap: 5px; row-gap: 3px; }
  body.tax-product_cat .haru-archive-product .products.layout-grid .tbt-card-offer { padding: 1px 5px; font-size: 10px; }
}

/* Keep one native wishlist control beside Add to Cart. */
body.single-product .single-product-summary form.cart .product-button--wishlist .view-wishlist,
body.single-product .single-product-summary form.cart .product-button--wishlist .separator { display: none !important; }
body.single-product .single-product-summary form.cart .product-button--wishlist .yith-wcwl-add-button { display: flex; align-items: center; }
body.single-product .single-product-summary form.cart .product-button--wishlist a.add_to_wishlist,
body.single-product .single-product-summary form.cart .product-button--wishlist a.delete_item {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 48px !important; height: 48px !important; padding: 0 !important;
  font-size: 0 !important; line-height: 1 !important;
  color: var(--tbt-primary, #5a2828) !important; transition: none !important;
}
body.single-product .single-product-summary form.cart .product-button--wishlist a::before,
body.single-product .single-product-summary form.cart .product-button--wishlist a::after,
body.single-product .single-product-summary form.cart .product-button--wishlist .haru-tooltip { display: none !important; content: none !important; }
body.single-product .single-product-summary form.cart .product-button--wishlist a span:not(.haru-tooltip) {
  display: block !important; position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
body.single-product .single-product-summary form.cart .product-button--wishlist a .yith-wcwl-icon-svg {
  display: block !important; width: 22px; height: 22px; margin: 0;
  color: inherit; pointer-events: none;
}
body.single-product .single-product-summary form.cart .product-button--wishlist a.delete_item svg { fill: currentColor; }
body.single-product .single-product-summary form.cart .product-button--wishlist a:focus-visible { outline: 2px solid var(--tbt-primary, #5a2828); outline-offset: 2px; }

/* Wishlist only: native YITH content, restrained typography and clear product rows. */
body.page-id-12692 #yith-wcwl-form { margin: 0; color: #2b2020; font: 400 14px/1.5 Montserrat, Jost, Arial, sans-serif; }
body.page-id-12692 #yith-wcwl-form .wishlist-title-container { margin: 0 0 24px; padding: 0; }
body.page-id-12692 #yith-wcwl-form .wishlist-title { display: flex; align-items: center; gap: 12px; margin: 0; }
body.page-id-12692 #yith-wcwl-form .wishlist-title h2 { margin: 0; padding: 0; color: #5a2828; font-size: 30px; line-height: 1.2; text-align: left; }
body.page-id-12692 #yith-wcwl-form .show-title-form { margin: 0; padding: 4px 8px; color: #5a2828; font-size: 11px; background: #f5eeee; border: 0; }
body.page-id-12692 #yith-wcwl-form .show-title-form svg { width: 14px; height: 14px; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table { width: 100%; margin: 0; border: 1px solid #e6d9d9; border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table > thead > tr > th { padding: 12px 16px; border: 0; background: #f5eeee; color: #5a2828; font-size: 11px; font-weight: 500; letter-spacing: .02em; text-transform: none; text-align: left; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table > tbody > tr > td { padding: 18px 16px; border: 0; border-bottom: 1px solid #e6d9d9; background: #fff; vertical-align: middle; text-align: left; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table > tbody > tr:last-child > td { border-bottom: 0; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table .product-remove { width: 44px; padding-right: 0; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table .product-thumbnail { width: 112px; }
body.page-id-12692 #yith-wcwl-form .product-thumbnail img { display: block; width: 80px; height: 80px; max-width: none; object-fit: cover; border-radius: 8px; }
body.page-id-12692 #yith-wcwl-form .product-name a,
body.page-id-12692 #yith-wcwl-form .product-name h3 { color: #2b2020; font: 400 14px/1.5 Montserrat, Jost, Arial, sans-serif; text-transform: none; }
body.page-id-12692 #yith-wcwl-form .product-name a:hover { color: #5a2828; text-decoration: underline; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table .product-price { width: 144px; }
body.page-id-12692 #yith-wcwl-form :is(td.product-price, .item-details-table .value) { color: #5a2828; font-size: 15px; font-weight: 600; }
body.page-id-12692 #yith-wcwl-form ins { margin: 0 6px 0 0; text-decoration: none; }
body.page-id-12692 #yith-wcwl-form del { opacity: 1; color: #6b5b5b; font-size: 13px; font-weight: 400; }
body.page-id-12692 #yith-wcwl-form del * { color: inherit; }
body.page-id-12692 #yith-wcwl-form table.wishlist_table .product-stock-status { width: 128px; }
body.page-id-12692 #yith-wcwl-form :is(.wishlist-in-stock, .wishlist-out-of-stock) { color: #5a2828; font-size: 12px; font-weight: 400; }
body.page-id-12692 #yith-wcwl-form .product-add-to-cart { width: 164px; }
body.page-id-12692 #yith-wcwl-form .product-add-to-cart a { display: inline-flex; align-items: center; justify-content: center; min-width: 124px; min-height: 40px; margin: 0; padding: 10px 16px; border: 1px solid #5a2828; border-radius: 4px; background: #5a2828; color: #fff; font: 500 12px/18px Montserrat, Jost, Arial, sans-serif; white-space: nowrap; box-shadow: none; }
body.page-id-12692 #yith-wcwl-form .product-add-to-cart a:hover { background: #fff; color: #5a2828; }
body.page-id-12692 #yith-wcwl-form .product-remove a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 50%; color: #6b5b5b; background: transparent; font: 400 22px/1 Arial, sans-serif; }
body.page-id-12692 #yith-wcwl-form .product-remove a:hover { color: #5a2828; background: #f5eeee; }
body.page-id-12692 #yith-wcwl-form a:focus-visible { outline: 2px solid #5a2828; outline-offset: 3px; }
body.page-id-12692 #yith-wcwl-form table:has(.wishlist-empty) thead { display: none; }
body.page-id-12692 #yith-wcwl-form .wishlist-empty { padding: 42px 20px !important; color: #6b5b5b; text-align: center !important; font-size: 14px; }
body.page-id-12692 #yith-wcwl-form .wishlist-empty::before { content: ''; display: block; width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%; background: #f5eeee center / 25px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A2828' stroke-width='1.4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z'/%3E%3C/svg%3E"); }
body.page-id-12692 #yith-wcwl-form .yith-wcwl-share { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 20px 0 0; padding: 0; }
body.page-id-12692 #yith-wcwl-form .yith-wcwl-share h4 { margin: 0; color: #6b5b5b; font: 400 12px/1.5 Montserrat, Arial, sans-serif; }
body.page-id-12692 #yith-wcwl-form .yith-wcwl-share ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
body.page-id-12692 #yith-wcwl-form .yith-wcwl-share li { margin: 0; }
body.page-id-12692 #yith-wcwl-form .yith-wcwl-share li a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid #e6d9d9; border-radius: 4px; background: #fff !important; color: #5a2828 !important; font-size: 13px; }
body.page-id-12692 #yith-wcwl-form .yith-wcwl-share li a:hover { background: #f5eeee !important; }
@media (max-width: 767px) {
  body.page-id-12692 #yith-wcwl-form .wishlist-title h2 { font-size: 26px; }
  body.page-id-12692 #yith-wcwl-form .wishlist-title-container { margin-bottom: 20px; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile { margin: 0; padding: 0; border: 1px solid #e6d9d9; border-radius: 10px; background: #fff; list-style: none; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile > li { position: relative; margin: 0; padding: 18px 16px; border-bottom: 1px solid #e6d9d9; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile > li:last-child { border-bottom: 0; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .item-wrapper { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 14px; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile :is(.product-thumbnail, .item-details) { width: auto; margin: 0; padding: 0; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .item-details { padding-right: 24px; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .product-name h3 { margin: 0 0 6px; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile table { margin: 0; border: 0; width: auto; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile table td { padding: 2px 0; border: 0; text-align: left; font-size: 12px; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .additional-info-wrapper { margin: 8px 0 0 94px; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .additional-info td.label { padding-right: 6px; color: #6b5b5b; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .product-add-to-cart { margin-top: 10px; width: auto; }
  body.page-id-12692 #yith-wcwl-form ul.wishlist_table.mobile .product-remove { position: absolute; top: 10px; right: 8px; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table > thead { display: none; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table > tbody > tr:not(:has(.wishlist-empty)) { display: grid; grid-template-columns: 80px minmax(0,1fr) 24px; gap: 8px 12px; position: relative; padding: 18px 14px; border-bottom: 1px solid #e6d9d9; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table > tbody > tr > td:not(.wishlist-empty) { width: auto; padding: 0; border: 0; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table td.product-name { grid-column: 2; grid-row: 1; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table td.product-price { grid-column: 2; grid-row: 2; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table td.product-stock-status { grid-column: 2; grid-row: 3; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table td.product-add-to-cart { grid-column: 2 / 4; grid-row: 4; }
  body.page-id-12692 #yith-wcwl-form table.wishlist_table td.product-remove { grid-column: 3; grid-row: 1; }
}

/* Product-first detail pages: native gallery, buying controls and product content. */
body.single-product .single-product-summary .haru-product-nav { display: none !important; }
body.single-product .single-product-summary .summary-content { display: flex; flex-direction: column; }
body.single-product .single-product-summary .product_title {
  order: 1; margin: 0 0 12px; padding: 0; max-width: 100%;
  color: #2b2020; font-size: 32px; line-height: 1.2; letter-spacing: normal;
}
body.single-product .single-product-summary .summary-content > p.price {
  order: 2; display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
  margin: 0 0 24px !important; color: #5a2828; font: 600 22px/1.3 Montserrat, Jost, Arial, sans-serif;
}
body.single-product .single-product-summary .summary-content > p.price :is(ins, .amount) { color: inherit; font-weight: inherit; }
body.single-product .single-product-summary .summary-content > p.price ins { margin: 0; text-decoration: none; }
body.single-product .single-product-summary .summary-content > p.price del { color: #6b5b5b; font-size: 16px; font-weight: 400; opacity: 1; }
body.single-product .single-product-summary .price .tbt-price-discount { position: static; display: inline-flex; align-items: center; align-self: center; flex-shrink: 0; margin: 0 0 0 2px; padding: 4px 10px; border: 1px solid #5a2828; border-radius: 3px; background: #f5eeee; color: #5a2828; font: 500 13px/18px Montserrat, Jost, Arial, sans-serif; vertical-align: middle; }
body.single-product .single-product-image-wrap .product-label__item--onsale { display: none !important; }
body.single-product .single-product-summary .woocommerce-product-rating { order: 3; margin: 0 0 16px; font-size: 12px; }
body.single-product .single-product-summary .woocommerce-product-details__short-description {
  order: 3; margin: 0 0 22px; color: #6b5b5b; font: 400 14px/1.75 Montserrat, Jost, Arial, sans-serif;
}
body.single-product .single-product-summary form.cart { order: 4; margin: 0 !important; padding: 0; }
body.single-product .single-product-summary form.cart:not(.variations_form):not(.grouped_form),
body.single-product .single-product-summary .woocommerce-variation-add-to-cart {
  display: grid !important; grid-template-columns: 108px minmax(0,1fr) 48px; gap: 10px; align-items: center;
}
body.single-product .single-product-summary form.variations_form,
body.single-product .single-product-summary form.grouped_form { display: block !important; }
body.single-product .single-product-summary form.cart .quantity { position: relative; grid-column: 1; grid-row: 1; width: 108px; height: 48px; margin: 0 !important; border: 1px solid #e6d9d9; border-radius: 4px; background: #fff; }
body.single-product .single-product-summary form.cart .quantity .qty { box-sizing: border-box; height: 46px; width: 100%; padding: 0 28px; background: transparent; color: #2b2020; font-size: 14px; }
body.single-product .single-product-summary form.cart .quantity span.input-button { position: absolute; top: 0; display: flex; align-items: center; justify-content: center; width: 28px !important; height: 46px; line-height: 46px; color: #5a2828; }
body.single-product .single-product-summary form.cart .quantity span.minus { left: 0 !important; right: auto !important; }
body.single-product .single-product-summary form.cart .quantity span.plus { right: 0 !important; left: auto !important; }
body.single-product .single-product-summary form.cart .single_add_to_cart_button {
  grid-column: 2; grid-row: 1; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 48px; min-height: 48px; box-sizing: border-box; white-space: nowrap;
  margin: 0 !important; padding: 12px 18px; border: 1px solid #5a2828; border-radius: 4px;
  background: #5a2828; color: #fff; box-shadow: none; font: 500 13px/22px Montserrat, Jost, Arial, sans-serif;
  text-transform: none; letter-spacing: normal;
}
body.single-product .single-product-summary form.cart .single_add_to_cart_button:hover { background: #fff; color: #5a2828; }
body.single-product .single-product-summary form.cart .single_add_to_cart_button.disabled { opacity: .5; }
body.single-product .single-product-summary form.cart .product-button--wishlist { grid-column: 3; grid-row: 1; float: none; margin: 0 !important; }
body.single-product .single-product-summary form.cart .product-button--wishlist a { box-sizing: border-box; background: #fff !important; border: 1px solid #e6d9d9 !important; }
body.single-product .single-product-summary form.cart .product-button--wishlist a:hover { background: #f5eeee !important; }
body.single-product .single-product-summary form.cart .product-button--compare { display: none !important; }
body.single-product .single-product-summary :is(button, a, input, select):focus-visible { outline: 2px solid #5a2828; outline-offset: 3px; }
body.single-product .single-product-summary .woocommerce-tabs { order: 5; margin: 28px 0 0; border-top: 1px solid #e6d9d9; }
body.single-product .single-product-summary .haru-woocommerce-tab { border-color: #e6d9d9; }
body.single-product .single-product-summary .haru-accordion-title { padding: 16px 24px 16px 0; background: transparent; color: #2b2020; font: 500 13px/20px Montserrat, Jost, Arial, sans-serif; }
body.single-product .single-product-summary .haru-accordion-title.active { color: #5a2828; }
body.single-product .single-product-summary .woocommerce-Tabs-panel { padding: 0 0 18px !important; color: #6b5b5b; font: 400 13px/1.8 Montserrat, Jost, Arial, sans-serif; }
body.single-product .single-product-summary .woocommerce-Tabs-panel p { margin-bottom: 12px; }
body.single-product .single-product-summary .woocommerce-Tabs-panel p:last-child { margin-bottom: 0; }
body.single-product .single-product-summary .product_meta { order: 6; margin: 20px 0 0; padding: 0; border: 0; color: #6b5b5b; font: 400 11px/1.7 Montserrat, Jost, Arial, sans-serif; }
body.single-product .single-product-summary .product_meta a { color: #5a2828; }
body.single-product .single-product-summary .product_meta .label { font-weight: 400; }
body.single-product .single-product-summary .haru-social-share { order: 7; margin: 10px 0 0; }
body.single-product .single-product-summary .haru-social-share__wrap { display: flex; align-items: center; gap: 10px; }
body.single-product .single-product-summary .haru-social-share__label { color: #6b5b5b; font-size: 11px; font-weight: 400; }
body.single-product .single-product-summary .haru-social-share__list { display: flex; gap: 6px; margin: 0; }
body.single-product .single-product-summary .haru-social-share__list li { margin: 0; }
body.single-product .single-product-summary .haru-social-share__list a { width: 26px; height: 26px; line-height: 26px; color: #5a2828; font-size: 12px; }
body.single-product .single-product-summary .variations { width: 100%; margin-bottom: 18px; border: 0; }
body.single-product .single-product-summary .variations td { padding-bottom: 12px; border: 0; }
body.single-product .single-product-summary .variations label { color: #2b2020; font-size: 12px; font-weight: 500; }
body.single-product .single-product-summary .variations select { min-height: 42px; border: 1px solid #e6d9d9; border-radius: 4px; background-color: #fff; color: #2b2020; font-size: 13px; }
body.single-product .single-product-summary .single_variation { margin-bottom: 12px; }
body.single-product .single-product-summary .woocommerce-variation-price .price { color: #5a2828; font-size: 20px; font-weight: 600; }
body.single-product .single-product-summary .woocommerce-variation-price .price ins { background: transparent; text-decoration: none; }
body.single-product .single-product-summary .woocommerce-variation-price .price del { color: #6b5b5b; font-size: 15px; font-weight: 400; opacity: 1; }
body.single-product .single-product-image #product-thumbnails .woocommerce-thumbnail-image { border-radius: 6px; overflow: hidden; }
body.single-product .single-product-image #product-thumbnails img { opacity: 1; border-radius: 6px; }
body.single-product .single-product-image #product-thumbnails .slick-current .woocommerce-thumbnail-image { border-color: #5a2828; }
body.single-product .single-product-image .product-label__item { border-radius: 4px; padding: 4px 8px; font: 500 11px/16px Montserrat, Arial, sans-serif; }
body.single-product .related.products { margin-top: 48px; padding-top: 28px; border-top: 1px solid #e6d9d9; }
body.single-product .up-sells.products { border-top: 1px solid #e6d9d9; }
body.single-product .related.products > h2 { margin-bottom: 24px; color: #5a2828; font-size: 28px; }
@media (min-width: 992px) {
  body.single-product .single-product-top:is(.vertical,.horizontal) > .single-product-image-wrap { flex: 0 0 60%; width: 60%; max-width: 60%; }
  body.single-product .single-product-top:is(.vertical,.horizontal) > .single-product-summary { flex: 0 0 40%; width: 40%; max-width: 40%; padding: 0 0 24px 32px; }
}
@media (max-width: 991px) {
  body.single-product .single-product-summary { padding-top: 24px; }
  body.single-product .single-product-summary .product_title { font-size: 28px; }
  body.single-product .single-product-summary .summary-content > p.price { font-size: 21px; margin-bottom: 20px !important; }
  body.single-product .single-product-summary .product_meta { order: 6; }
  body.single-product .single-product-summary .haru-social-share { order: 7; }
}
@media (max-width: 479px) {
  body.single-product .single-product-summary form.cart:not(.variations_form):not(.grouped_form),
  body.single-product .single-product-summary .woocommerce-variation-add-to-cart { grid-template-columns: 88px minmax(0,1fr) 48px; gap: 8px; }
  body.single-product .single-product-summary form.cart .quantity { width: 88px; }
  body.single-product .single-product-summary form.cart .single_add_to_cart_button { padding-inline: 8px; font-size: 12px; }
}

/* Customer Reviews: native WooCommerce forms and CusRev media, reference-led layout. */
body.single-product .tbt-customer-reviews { clear: both; scroll-margin-top: 110px; margin: 48px 0 0; padding: 36px 20px; border-top: 1px solid #e6d9d9; border-bottom: 0; color: #2b2020; font: 400 13px/1.6 Montserrat, Jost, Arial, sans-serif; }
body.single-product .tbt-customer-reviews > h2 { margin: 0 0 22px; text-align: center; color: #2b2020; font-size: 28px; line-height: 1.2; }
body.single-product .tbt-review-compose { max-width: 760px; margin: 0 auto; }
body.single-product .tbt-review-compose > summary { display: flex; align-items: center; justify-content: center; gap: 40px; list-style: none; cursor: pointer; }
body.single-product .tbt-review-compose > summary::-webkit-details-marker { display: none; }
body.single-product .tbt-review-overview { display: flex; flex-direction: column; align-items: center; gap: 4px; }
body.single-product .tbt-review-rating { display: flex; align-items: center; gap: 8px; color: #5a2828; }
body.single-product .tbt-review-rating .star-rating { margin: 0; float: none; color: #5a2828; font-size: 16px; }
body.single-product .tbt-review-empty-stars { color: #5a2828; font: 400 24px/1 Arial, sans-serif; letter-spacing: 2px; }
body.single-product .tbt-review-count { color: #6b5b5b; font-size: 12px; }
body.single-product .tbt-review-action { display: inline-flex; align-items: center; justify-content: center; min-width: 164px; min-height: 42px; padding: 10px 20px; border: 1px solid #5a2828; border-radius: 3px; background: #5a2828; color: #fff; font-size: 12px; font-weight: 500; }
body.single-product .tbt-review-compose > summary:hover .tbt-review-action { background: #f5eeee; color: #5a2828; }
body.single-product .tbt-review-compose .tbt-review-cancel { display: none; }
body.single-product .tbt-review-compose[open] .tbt-review-write { display: none; }
body.single-product .tbt-review-compose[open] .tbt-review-cancel { display: inline; }
body.single-product .tbt-review-form-content { margin-top: 26px; padding-top: 26px; border-top: 1px solid #e6d9d9; }
body.single-product .tbt-customer-reviews #review_form_wrapper { max-width: 480px; width: 100%; margin: 0 auto; float: none; }
body.single-product .tbt-customer-reviews #respond { margin: 0; padding: 0; }
body.single-product .tbt-customer-reviews #reply-title { display: block; margin: 0 0 22px; color: #2b2020; text-align: center; font: 500 16px/1.5 Montserrat, Jost, Arial, sans-serif; }
body.single-product .tbt-customer-reviews #commentform { display: flex; flex-direction: column; gap: 0; }
body.single-product .tbt-customer-reviews #commentform > p, body.single-product .tbt-customer-reviews .comment-form-rating { width: 100%; margin: 0 0 18px; float: none; padding: 0; }
body.single-product .tbt-customer-reviews #commentform label { display: block; margin: 0 0 7px; text-align: center; color: #2b2020; font: 500 11px/1.5 Montserrat, Jost, Arial, sans-serif; letter-spacing: .08em; }
body.single-product .tbt-customer-reviews .optional { font-weight: 400; color: #6b5b5b; letter-spacing: 0; }
body.single-product .tbt-customer-reviews #commentform input:is([type=text],[type=email]), body.single-product .tbt-customer-reviews #commentform textarea { box-sizing: border-box; width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #e6d9d9; border-radius: 3px; background: #fff; color: #2b2020; font: 400 13px/1.6 Montserrat, Jost, Arial, sans-serif; box-shadow: none; }
body.single-product .tbt-customer-reviews #commentform textarea { height: 130px; min-height: 110px; resize: vertical; }
body.single-product .tbt-customer-reviews #commentform input::placeholder { color: #6b5b5b; opacity: 1; }
body.single-product .tbt-customer-reviews .comment-form-rating { text-align: center; }
body.single-product .tbt-customer-reviews p.stars { display: flex; justify-content: center; margin: 0; }
body.single-product .tbt-customer-reviews p.stars a { color: #5a2828; font-size: 21px; }
body.single-product .tbt-customer-reviews p.stars a::before { color: #5a2828 !important; }
body.single-product .tbt-customer-reviews #commentform .comment-form-rating { order: 1; }
body.single-product .tbt-customer-reviews #commentform .comment-form-review-title { order: 2; }
body.single-product .tbt-customer-reviews #commentform .comment-form-comment { order: 3; }
body.single-product .tbt-customer-reviews #commentform .cr-upload-local-images { order: 4; }
body.single-product .tbt-customer-reviews #commentform .tbt-review-upload-help { order: 5; }
body.single-product .tbt-customer-reviews #commentform .comment-form-author { order: 6; }
body.single-product .tbt-customer-reviews #commentform .comment-form-email { order: 7; }
body.single-product .tbt-customer-reviews #commentform .comment-notes { order: 8; text-align: center; color: #6b5b5b; font-size: 11px; }
body.single-product .tbt-customer-reviews #commentform .comment-form-cookies-consent { order: 9; }
body.single-product .tbt-customer-reviews #commentform .form-submit { order: 10; }
body.single-product .tbt-customer-reviews .cr-upload-local-images { position: relative; margin: 0; min-height: 112px; padding-bottom: 0; text-align: center; }
body.single-product .tbt-customer-reviews .cr-upload-local-images label::after { content: ''; display: block; box-sizing: border-box; width: 68px; height: 68px; margin: 10px auto 0; border: 1px solid #e6d9d9; border-radius: 4px; background: #fff center/27px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A2828' stroke-width='1.5'%3E%3Cpath d='M12 16V3m-5 5 5-5 5 5M4 14v6h16v-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
body.single-product .tbt-customer-reviews #cr_review_image { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); width: 68px !important; height: 68px !important; opacity: 0; cursor: pointer; }
body.single-product .tbt-customer-reviews .cr-upload-local-images:focus-within label::after { outline: 2px solid #5a2828; outline-offset: 3px; }
body.single-product .tbt-customer-reviews .tbt-review-upload-help { color: #6b5b5b; font-size: 11px; text-align: center; margin-bottom: 22px !important; }
body.single-product .tbt-customer-reviews .cr-upload-images-preview { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
body.single-product .tbt-customer-reviews .cr-upload-images-containers { float: none; max-width: 80px; margin: 0 0 10px; }
body.single-product .tbt-customer-reviews .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
body.single-product .tbt-customer-reviews .comment-form-cookies-consent label { text-align: left !important; font-size: 11px !important; font-weight: 400 !important; letter-spacing: 0 !important; }
body.single-product .tbt-customer-reviews .comment-form-cookies-consent input { margin: 3px 0 0; flex-shrink: 0; }
body.single-product .tbt-customer-reviews #commentform .form-submit { margin: 6px 0 0; text-align: center; }
body.single-product .tbt-customer-reviews #commentform #submit { min-height: 42px; padding: 10px 24px; border: 1px solid #5a2828; border-radius: 3px; background: #5a2828; color: #fff; font: 500 12px/20px Montserrat, Jost, Arial, sans-serif; text-transform: none; }
body.single-product .tbt-customer-reviews #commentform #submit:hover { background: #fff; color: #5a2828; }
body.single-product .tbt-customer-reviews :is(a,summary,input,textarea,button):focus-visible { outline: 2px solid #5a2828; outline-offset: 3px; }
body.single-product .tbt-customer-reviews #reviews { max-width: 760px; margin: 28px auto 0; width: 100%; }
body.single-product .tbt-customer-reviews #reviews .woocommerce-Reviews-title, body.single-product .tbt-customer-reviews #reviews .woocommerce-noreviews { display: none; }
body.single-product .tbt-customer-reviews #reviews #comments { width: 100%; float: none; }
body.single-product .tbt-customer-reviews #reviews ol.commentlist { margin: 0; padding: 0; }
body.single-product .tbt-customer-reviews #reviews ol.commentlist li { padding: 22px 0; margin: 0; border-top: 1px solid #e6d9d9; }
body.single-product .tbt-customer-reviews .tbt-customer-review-title { margin: 10px 0 6px; color: #2b2020; font: 500 14px/1.5 Montserrat, Jost, Arial, sans-serif; }
body.single-product .tbt-review-summary { display: flex; justify-content: center; }
@media (max-width: 599px) {
  body.single-product .tbt-customer-reviews { margin-top: 32px; padding: 28px 0; }
  body.single-product .tbt-customer-reviews > h2 { font-size: 26px; }
  body.single-product .tbt-review-compose > summary { gap: 20px; flex-wrap: wrap; }
  body.single-product .tbt-review-action { min-width: 148px; min-height: 44px; padding-inline: 16px; }
  body.single-product .tbt-review-count { font-size: 11px; }
}
