.tbsrp-wrap{--tbsrp-gap:18px;width:100%;box-sizing:border-box}.tbsrp-heading{margin:0 0 18px}.tbsrp-heading h2{margin:0;font-size:clamp(20px,2vw,30px);line-height:1.2}.tbsrp-carousel{position:relative;display:flex;align-items:center;gap:10px}.tbsrp-track-wrap{overflow:hidden;width:100%}.tbsrp-track{display:flex;gap:var(--tbsrp-gap);transition:transform .35s ease;will-change:transform}.tbsrp-card{box-sizing:border-box;flex:0 0 calc((100% - (3 * var(--tbsrp-gap))) / 4);min-width:0;border:1px solid #eee;background:#fff;border-radius:12px;overflow:hidden}.tbsrp-image{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:#f7f7f7}.tbsrp-image img{width:100%;height:100%;object-fit:cover;display:block}.tbsrp-badge{position:absolute;left:10px;top:10px;z-index:2;display:inline-block;color:var(--tbsrp-badge-text);background:var(--tbsrp-badge-bg);border:1px solid var(--tbsrp-badge-border);border-radius:var(--tbsrp-radius);padding:var(--tbsrp-pad-y) var(--tbsrp-pad-x);font-size:var(--tbsrp-font-size);font-weight:var(--tbsrp-font-weight);line-height:1.1}.tbsrp-body{padding:14px}.tbsrp-body h3{margin:0 0 8px;font-size:16px;line-height:1.35}.tbsrp-body h3 a{text-decoration:none}.tbsrp-purchased{font-size:13px;font-weight:600;margin-bottom:4px}.tbsrp-date,.tbsrp-qty{font-size:12px;opacity:.75;margin-bottom:4px}.tbsrp-price{margin:8px 0}.tbsrp-buy{display:inline-block;padding:9px 14px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600}.tbsrp-arrow{flex:0 0 38px;width:38px;height:38px;border:1px solid #ddd;background:#fff;border-radius:50%;cursor:pointer;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.tbsrp-arrow:disabled{opacity:.35;cursor:not-allowed}.tbsrp-login-message{padding:12px 16px;background:#f7f7f7;border-radius:8px}.tbsrp-track-wrap{touch-action:pan-y}.tbsrp-card{color:inherit}
@media(max-width:1024px){.tbsrp-card{flex-basis:calc((100% - (2 * var(--tbsrp-gap))) / 3)}}
@media(max-width:767px){.tbsrp-card{flex-basis:calc((100% - var(--tbsrp-gap)) / 2)}.tbsrp-arrow{flex-basis:32px;width:32px;height:32px;font-size:22px}.tbsrp-body{padding:12px}}


/* Automatic WooCommerce product-card badge */
.woocommerce ul.products li.product,
ul.products li.product,
.products .product{position:relative}
.tbsrp-loop-purchase{position:absolute;z-index:20;left:10px;top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;pointer-events:none;max-width:calc(100% - 20px)}
.tbsrp-loop-purchase .tbsrp-badge{position:static;display:inline-block;color:var(--tbsrp-badge-text);background:var(--tbsrp-badge-bg);border:1px solid var(--tbsrp-badge-border);border-radius:var(--tbsrp-radius);padding:var(--tbsrp-pad-y) var(--tbsrp-pad-x);font-size:var(--tbsrp-font-size);font-weight:var(--tbsrp-font-weight);line-height:1.1;box-sizing:border-box}
.tbsrp-loop-date{display:none}

/* Single product: badge over the image gallery and purchase age above the title */
.woocommerce div.product div.images,
.woocommerce-product-gallery{position:relative}
.tbsrp-single-gallery-badge{position:absolute;left:20px;top:20px;z-index:50;pointer-events:none}
.tbsrp-single-gallery-badge .tbsrp-badge{position:static;display:inline-block;color:var(--tbsrp-badge-text);background:var(--tbsrp-badge-bg);border:1px solid var(--tbsrp-badge-border);border-radius:var(--tbsrp-radius);padding:var(--tbsrp-pad-y) var(--tbsrp-pad-x);font-size:var(--tbsrp-font-size);font-weight:var(--tbsrp-font-weight);line-height:1.1;box-sizing:border-box}
.tbsrp-single-relative{font-size:14px;font-weight:700;line-height:1.4;margin:0 0 10px}

/* Recently Viewed cards: no badge; show only purchase age below the price.
   The JS moves .tbsrp-loop-date after the price in the matching cards. */
.tbsrp-recently-viewed-card .tbsrp-loop-purchase{position:static;display:block;max-width:none;margin:0;padding:0;background:transparent;box-shadow:none}
.tbsrp-recently-viewed-card .tbsrp-loop-purchase .tbsrp-badge{display:none}
.tbsrp-recently-viewed-card .tbsrp-loop-date{display:block;background:transparent;padding:0;margin:4px 0 0;font-size:11px;line-height:1.3;font-weight:600;box-shadow:none}

/* v1.3 layout corrections */
.tbsrp-single-relative-positioned{display:block!important;width:100%;margin:0 0 10px!important;order:0}
/* v1.5: let JavaScript place the element immediately before the title. */
.woocommerce div.product .summary .tbsrp-single-relative-positioned,.woocommerce div.product .entry-summary .tbsrp-single-relative-positioned{position:static!important;left:auto!important;right:auto!important;top:auto!important;display:block!important;width:100%!important;margin:0 0 12px!important;order:0!important;}
.tbsrp-recently-viewed-section .tbsrp-loop-purchase{position:static!important;display:block!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
.tbsrp-recently-viewed-section .tbsrp-loop-purchase .tbsrp-badge{display:none!important}
.tbsrp-recently-viewed-section .tbsrp-loop-date{display:block!important;position:static!important;margin:4px 0 0!important;padding:0!important;background:transparent!important;box-shadow:none!important;font-size:11px;line-height:1.3;font-weight:600}


/* v1.4: keep the purchase time visually above the product title without depending on JS. */
.woocommerce div.product .summary{position:relative}
.woocommerce div.product .summary .tbsrp-single-relative{position:absolute!important;left:0!important;right:auto!important;top:-30px!important;margin:0!important;z-index:5;display:block!important}

/* v1.4: Recently Viewed date is deliberately plain text below the price. */
.tbsrp-rv-clean-date{display:block!important;position:static!important;margin:4px 0 0!important;padding:0!important;background:transparent!important;box-shadow:none!important;font-size:11px!important;line-height:1.3!important;font-weight:600!important;color:inherit}

/* v1.5 override: never absolutely position the purchase time. */
.woocommerce div.product .summary .tbsrp-single-relative{position:static!important;left:auto!important;right:auto!important;top:auto!important;}


/* v1.6: exact requested single-product placement. Purchase time sits above the product title. */
@media (min-width: 769px) {
  .woocommerce div.product .summary,
  .woocommerce div.product .entry-summary {
    position: relative !important;
    overflow: visible !important;
  }
  .woocommerce div.product .summary > .tbsrp-single-relative,
  .woocommerce div.product .entry-summary > .tbsrp-single-relative,
  .woocommerce div.product .summary .tbsrp-single-relative,
  .woocommerce div.product .entry-summary .tbsrp-single-relative {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: -34px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    z-index: 100 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
  }
}
@media (max-width: 768px) {
  .woocommerce div.product .summary,
  .woocommerce div.product .entry-summary { position: relative !important; overflow: visible !important; }
  .woocommerce div.product .summary .tbsrp-single-relative,
  .woocommerce div.product .entry-summary .tbsrp-single-relative {
    position: static !important;
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }
}
