/*
 * ATURAN SPECIFICITY (juga untuk rtmwoo-shop.css). Default di sini harus menang
 * dari CSS situs TANPA bergantung urutan file — urutan itu beda antara editor
 * dan frontend, jadi aturan yang seri tampil beda di keduanya:
 *
 * - Global Kit Elementor: `.elementor-kit-x button|a|h1-h6` (0,1,1),
 *   `... button:hover|:focus` / `a:hover` (0,2,1), `input[type=submit]:hover` (0,3,1).
 *   → tombol/link: `body button.x` (0,1,2) + `body button.x:is(:hover, :focus)`
 *     (0,2,2) yang mengulang warna normal; heading/link di dalam komponen: 2 class.
 * - WooCommerce (body.woocommerce, di dalam div.product / form.cart): hingga ~(0,4,3),
 *   mis. `.woocommerce div.product p.price` (0,3,2),
 *   `.woocommerce div.product form.cart .variations` (0,4,2),
 *   `.woocommerce button.button.alt.disabled:hover` (0,5,1).
 *   → default untuk markup template WooCommerce: tambah class komponen sampai
 *     melewati angka itu.
 * - Kontrol widget (`{{WRAPPER}}` = 3 class) harus SELALU di atas default:
 *   `{{WRAPPER}} .x` = (0,4,0). Bila default perlu (0,4,x) ke atas, perkuat
 *   selector kontrol widget-nya juga (contoh: Quick View memakai
 *   `{{WRAPPER}} .rtm-qv .rtm-qv__dialog .rtm-qv-product ...`, (0,7,0)+).
 * - Jangan andalkan gaya `.woocommerce a.button`: hanya ada bila <body>
 *   ber-class woocommerce. Beri default sendiri.
 */

:root {
  --rtm-woo-text: #111111;
  --rtm-woo-muted: #6b6b6b;
  --rtm-woo-border: #e5e5e5;
  --rtm-woo-surface: #ffffff;
  --rtm-woo-accent: #111111;
  --rtm-woo-danger: #d0342c;
  --rtm-woo-success: #1e7a3c;
}

.rtm-editor-notice {
  padding: 12px 16px;
  border: 1px dashed var(--rtm-woo-border);
  border-radius: 8px;
  color: var(--rtm-woo-muted);
  font-size: 13px;
  text-align: center;
}

.rtm-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rtm-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  background-color: var(--rtm-woo-accent);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}

.rtm-badge--sale {
  background-color: var(--rtm-woo-danger);
}

.rtm-badge--new {
  background-color: #2563eb;
}

.rtm-badge--featured {
  background-color: #ea580c;
}

.rtm-badge--out_of_stock {
  background-color: #6b7280;
}

.rtm-countdown {
  --rtm-countdown-justify: flex-start;
}

.rtm-countdown[hidden] {
  display: none;
}

.rtm-countdown__title {
  margin-bottom: 10px;
  color: var(--rtm-woo-text);
  font-weight: 600;
}

.rtm-countdown__items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--rtm-countdown-justify);
  gap: 8px;
}

.rtm-countdown__item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 56px;
  padding: 8px 10px;
  border-radius: 8px;
  background-color: #f4f4f5;
}

.rtm-countdown--label-inline .rtm-countdown__item {
  flex-direction: row;
  align-items: baseline;
  gap: 4px;
}

.rtm-countdown__value {
  color: var(--rtm-woo-text);
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.rtm-countdown__label {
  color: var(--rtm-woo-muted);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rtm-countdown__sep {
  display: var(--rtm-countdown-sep, inline);
  color: var(--rtm-woo-muted);
  font-size: 20px;
  font-weight: 700;
}

.rtm-countdown .rtm-countdown__items {
  display: var(--rtm-countdown-display, flex);
  flex-direction: var(--rtm-countdown-direction, row);
  align-items: var(--rtm-countdown-align, center);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rtm-countdown__message {
  color: var(--rtm-woo-muted);
}

.rtm-countdown.is-expired[data-expired="message"] .rtm-countdown__items {
  display: none;
}

.rtm-swatches,
.rtm-card-swatches {
  --rtm-swatch-size: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.rtm-card-swatches {
  --rtm-swatch-size: 20px;
  gap: 6px;
}

.rtm-swatches-select {
  display: none !important;
}

body button.rtm-swatch {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--rtm-swatch-size);
  height: var(--rtm-swatch-size);
  margin: 0;
  padding: 2px;
  border: 1px solid var(--rtm-woo-border);
  border-radius: 999px;
  background: var(--rtm-woo-surface);
  box-shadow: none;
  color: var(--rtm-woo-text);
  font: inherit;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.15s ease, opacity 0.15s ease, background-color 0.15s ease;
}

body button.rtm-swatch:is(:hover, :focus) {
  background-color: var(--rtm-woo-surface);
  color: var(--rtm-woo-text);
}

button.rtm-swatch:not(.is-disabled):hover {
  border-color: var(--rtm-woo-muted);
}

button.rtm-swatch.is-selected {
  border-color: var(--rtm-woo-accent);
  box-shadow: inset 0 0 0 1px var(--rtm-woo-accent);
}

button.rtm-swatch.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

button.rtm-swatch.is-disabled::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10%;
  width: 80%;
  height: 1px;
  background: currentColor;
  transform: rotate(-45deg);
}

.rtm-swatch__fill {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}

.rtm-swatch--color,
.rtm-swatch--image {
  width: var(--rtm-swatch-size);
}

.rtm-swatch__fill img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body button.rtm-swatch--label {
  padding: 0 12px;
  border-radius: 6px;
}

.rtm-swatch__text {
  font-size: 13px;
  white-space: nowrap;
}

body button.rtm-swatch--label.is-selected {
  background-color: var(--rtm-woo-accent);
  color: #ffffff;
}

body a.rtm-card-swatches__more,
body a.rtm-card-swatches__more:is(:hover, :focus) {
  color: var(--rtm-woo-muted);
  font-size: 12px;
  text-decoration: none;
}

.rtm-swatch-current {
  color: var(--rtm-woo-muted);
  font-weight: 400;
}

.rtm-variations {
  --rtm-swatch-size: 26px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.rtm-variations button.rtm-swatch:is(.rtm-swatch--color, .rtm-swatch--image) {
  box-sizing: content-box;
  width: var(--rtm-swatch-size);
  min-width: 0;
  height: var(--rtm-swatch-size);
}

.rtm-variations button.rtm-swatch.rtm-swatch--label {
  min-width: calc(var(--rtm-swatch-size) + 6px);
  height: calc(var(--rtm-swatch-size) + 6px);
}

.rtm-variations__row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.rtm-variations__row--inline {
  flex-direction: row;
  align-items: center;
}

.rtm-variations__row--inline .rtm-variations__label {
  flex: 0 0 100px;
}

.rtm-variations__label {
  font-weight: 600;
  line-height: 1.4;
}

.rtm-variations__current {
  color: var(--rtm-woo-muted);
  font-weight: 400;
}

.rtm-variations__options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.rtm-variations .rtm-swatch.is-out-of-stock {
  opacity: 0.55;
}

.rtm-variations select.rtm-variations__select {
  box-sizing: border-box;
  width: 100%;
  max-width: 320px;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--rtm-woo-border);
  border-radius: 8px;
  background-color: var(--rtm-woo-surface);
  background-image: none;
  color: var(--rtm-woo-text);
  font: inherit;
  font-size: 14px;
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
}

.rtm-variations__summary {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.rtm-variations__summary[hidden],
.rtm-variations__summary > [hidden],
.rtm-variations a.rtm-variations__clear[hidden] {
  display: none;
}

.rtm-variations__price {
  font-size: 18px;
  font-weight: 600;
}

.rtm-variations .rtm-variations__summary .rtm-variations__price span.price {
  display: block;
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.rtm-variations .rtm-variations__summary .rtm-variations__price del {
  font-weight: 400;
  opacity: 0.6;
}

.rtm-variations .rtm-variations__summary .rtm-variations__price ins {
  text-decoration: none;
}

.rtm-variations .rtm-variations__summary .rtm-variations__stock p.stock {
  margin: 0;
  color: var(--rtm-woo-success);
  font-size: 14px;
}

.rtm-variations .rtm-variations__summary .rtm-variations__stock p.stock.out-of-stock {
  color: var(--rtm-woo-danger);
}

.rtm-variations__description p {
  margin: 0;
}

body .rtm-variations a.rtm-variations__clear,
body .rtm-variations a.rtm-variations__clear:is(:hover, :focus) {
  align-self: flex-start;
  color: var(--rtm-woo-muted);
  font-size: 13px;
  text-decoration: underline;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart table.variations :is(th, td) {
  line-height: 1.4;
  vertical-align: top;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart table.variations label {
  margin: 0;
  color: inherit;
  font-weight: 600;
  line-height: 1.4;
  text-align: start;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart table.variations select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--rtm-woo-border);
  border-radius: 8px;
  background-color: var(--rtm-woo-surface);
  background-image: none;
  color: var(--rtm-woo-text);
  font: inherit;
  font-size: 14px;
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart .reset_variations {
  color: inherit;
  font-size: 13px;
  text-decoration: underline;
}

.rtm-qv .rtm-qv-product .woocommerce-variation-price span.price {
  display: block;
  margin: 0 0 8px;
  color: inherit;
  font-size: 18px;
  font-weight: 600;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary p.stock {
  margin: 0 0 8px;
  color: var(--rtm-woo-success);
  font-size: 14px;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary p.stock.out-of-stock {
  color: var(--rtm-woo-danger);
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart div.quantity {
  float: none;
  margin: 0;
}

.rtm-action-wrap {
  display: flex;
  justify-content: flex-start;
}

body button.rtm-action-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: var(--rtm-action-btn-width, auto);
  margin: 0;
  padding: 10px 16px;
  border: 1px solid var(--rtm-woo-border);
  border-radius: 999px;
  background-color: var(--rtm-woo-surface);
  box-shadow: none;
  color: var(--rtm-woo-text);
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

body button.rtm-action-btn:is(:hover, :focus) {
  border-color: var(--rtm-woo-accent);
  background-color: var(--rtm-woo-surface);
  color: var(--rtm-woo-accent);
}

button.rtm-action-btn.rtm-action-btn--icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
}

.rtm-action-btn__icon {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  line-height: 1;
}

.rtm-action-btn__icon svg {
  width: 1em;
  height: 1em;
}

.rtm-action-btn__icon i {
  font-size: inherit;
}

.rtm-list-btn .rtm-action-btn__icon--active,
.rtm-list-btn .rtm-action-btn__text--active,
.rtm-list-btn.is-active .rtm-action-btn__icon--default,
.rtm-list-btn.is-active .rtm-action-btn__text--default {
  display: none;
}

.rtm-list-btn.is-active .rtm-action-btn__icon--active,
.rtm-list-btn.is-active .rtm-action-btn__text--active {
  display: inline-flex;
}

.rtm-list-btn--wishlist.is-active .rtm-action-btn__icon {
  color: var(--rtm-woo-danger);
}

.rtm-action-btn.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

.rtm-loop-buttons {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 8px 0;
}

.rtm-list-toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100000;
  max-width: calc(100vw - 40px);
  padding: 12px 18px;
  border-radius: 10px;
  background: var(--rtm-woo-text);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  color: #ffffff;
  font-size: 14px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
}

.rtm-list-toast.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.rtm-list-toast.is-error {
  background: var(--rtm-woo-danger);
}

body .rtm-list-toast a,
body .rtm-list-toast a:is(:hover, :focus) {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
}

html.rtm-qv-open {
  overflow: hidden;
}

.rtm-qv-scope {
  display: contents;
}

.rtm-qv {
  --rtm-qv-width: 960px;
  --rtm-qv-padding: 32px;
  --rtm-qv-radius: 16px;
  --rtm-qv-bg: #ffffff;
  --rtm-qv-text: var(--rtm-woo-text);
  --rtm-qv-overlay: rgba(0, 0, 0, 0.55);
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.rtm-qv[hidden] {
  display: none;
}

.rtm-qv.is-open {
  opacity: 1;
}

.rtm-qv__overlay {
  position: absolute;
  inset: 0;
  background: var(--rtm-qv-overlay);
}

.rtm-qv__dialog {
  position: relative;
  box-sizing: border-box;
  width: min(var(--rtm-qv-width), 100%);
  max-height: calc(100vh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: var(--rtm-qv-padding);
  border-radius: var(--rtm-qv-radius);
  background: var(--rtm-qv-bg);
  color: var(--rtm-qv-text);
  outline: none;
  transform: translateY(12px);
  transition: transform 0.2s ease;
}

.rtm-qv.is-open .rtm-qv__dialog {
  transform: none;
}

.rtm-qv button.rtm-qv__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.06);
  color: inherit;
  font-size: 22px;
  line-height: 36px;
  cursor: pointer;
}

.rtm-qv button.rtm-qv__close:is(:hover, :focus) {
  border: 0;
  background: rgba(0, 0, 0, 0.12);
  color: inherit;
}

.rtm-qv button.rtm-qv__close[hidden] {
  display: none;
}

.rtm-qv__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
}

.rtm-qv__spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: rtm-qv-spin 0.8s linear infinite;
}

@keyframes rtm-qv-spin {
  to {
    transform: rotate(360deg);
  }
}

.rtm-qv-product {
  --rtm-qv-gap: 32px;
  --rtm-qv-gallery-width: 50%;
  --rtm-qv-gallery-col: minmax(0, calc(var(--rtm-qv-gallery-width) - var(--rtm-qv-gap) / 2));
  display: grid;
  grid-template-columns: var(--rtm-qv-cols, var(--rtm-qv-gallery-col) minmax(0, 1fr));
  grid-template-areas: "gallery summary";
  gap: var(--rtm-qv-gap);
  align-items: start;
}

.rtm-qv-product.rtm-qv-product--no-gallery {
  display: block;
}

.rtm-qv div.rtm-qv-product div.rtm-qv-gallery {
  grid-area: gallery;
  float: none;
  width: auto;
  margin: 0;
  opacity: 1 !important;
}

.rtm-qv-gallery .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.rtm-qv-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.rtm-qv button.rtm-qv-thumb {
  width: 64px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 8px;
  background: none;
  cursor: pointer;
}

.rtm-qv button.rtm-qv-thumb:is(:hover, :focus) {
  border-color: var(--rtm-woo-border);
  background: none;
}

.rtm-qv button.rtm-qv-thumb.is-active {
  border-color: var(--rtm-woo-accent);
}

.rtm-qv-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.rtm-qv div.rtm-qv-product div.rtm-qv-summary {
  grid-area: summary;
  float: none;
  width: auto;
  margin: 0;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary .rtm-qv-title {
  margin: 0 0 8px;
  color: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
}

.rtm-qv .rtm-qv-product div.rtm-qv-summary > p.price {
  display: block;
  margin: 8px 0 12px;
  color: inherit;
  font-size: 20px;
  font-weight: 600;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary a {
  color: inherit;
}

.rtm-qv .rtm-qv-product .rtm-qv-cart .quantity input.qty {
  box-sizing: border-box;
  width: 72px;
  min-height: 44px;
  margin: 0;
  padding: 0 8px;
  border: 1px solid var(--rtm-woo-border);
  border-radius: 8px;
  background-color: var(--rtm-woo-surface);
  color: var(--rtm-woo-text);
  font-size: 14px;
  text-align: center;
}

.rtm-qv .rtm-qv-product .rtm-qv-cart form button.single_add_to_cart_button.button {
  min-height: 44px;
  padding: 12px 28px;
  border: 1px solid var(--rtm-woo-accent);
  border-radius: 999px;
  background-color: var(--rtm-woo-accent);
  box-shadow: none;
  color: #ffffff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}

.rtm-qv .rtm-qv-product .rtm-qv-cart form button.single_add_to_cart_button.button:is(:hover, :focus) {
  opacity: 0.85;
}

.rtm-qv-hide-qty form.cart:not(.grouped_form) .quantity,
.rtm-qv-hide-stock .rtm-qv-cart .stock,
.rtm-qv-hide-sku .product_meta .sku_wrapper,
.rtm-qv-hide-categories .product_meta .posted_in,
.rtm-qv-hide-tags .product_meta .tagged_as {
  display: none !important;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary .woocommerce-product-details__short-description {
  margin-bottom: 16px;
  color: var(--rtm-woo-muted);
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart {
  margin: 0 0 16px;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart table.variations {
  width: 100%;
  margin-bottom: 12px;
  border: 0;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart table.variations :is(th, td) {
  display: block;
  padding: 0 0 6px;
  border: 0;
  background: none;
  text-align: start;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart table.variations td.value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-bottom: 12px;
}

.rtm-qv .rtm-qv-product .rtm-qv-summary .woocommerce-variation-add-to-cart,
.rtm-qv .rtm-qv-product .rtm-qv-summary form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rtm-qv-notice:empty {
  display: none;
}

.rtm-qv-notice {
  margin-bottom: 16px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
}

.rtm-qv-notice p {
  margin: 0;
}

.rtm-qv-notice.is-success {
  background: #ecf7ef;
  color: var(--rtm-woo-success);
}

.rtm-qv-notice.is-error {
  background: #fdecea;
  color: var(--rtm-woo-danger);
}

body a.rtm-qv-notice__link,
body a.rtm-qv-notice__link:is(:hover, :focus) {
  display: inline-block;
  margin-top: 4px;
  color: inherit;
  font-weight: 600;
}

.rtm-qv-summary .product_meta {
  margin-bottom: 16px;
  color: var(--rtm-woo-muted);
  font-size: 13px;
}

.rtm-qv-summary .product_meta > span {
  display: block;
}

.rtm-qv .rtm-qv-details {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rtm-qv__error {
  margin: 40px 0;
  text-align: center;
}

@media (max-width: 767px) {
  .rtm-qv {
    --rtm-qv-padding: 20px;
  }

  .rtm-qv-product {
    --rtm-qv-gap: 20px;
    --rtm-qv-cols: minmax(0, 1fr);
    grid-template-areas: "gallery" "summary";
  }
}

body .rtm-woo-product-title a,
body .rtm-woo-product-title a:is(:hover, :focus) {
  color: inherit;
  text-decoration: none;
}

.rtm-loop-image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background-color: #f4f4f5;
}

.rtm-loop-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.rtm-loop-image .rtm-loop-image__hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.rtm-loop-image--second:hover .rtm-loop-image__hover,
[data-rtm-loop-item]:hover .rtm-loop-image--second .rtm-loop-image__hover {
  opacity: 1;
}

.rtm-loop-image--zoom:hover img,
[data-rtm-loop-item]:hover .rtm-loop-image--zoom img {
  transform: scale(1.06);
}

.rtm-loop-cart {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.rtm-loop-cart .button {
  margin: 0;
}

body :is(.rtm-loop-cart, .rtm-list-table, .rtm-compare-table) :is(a, button).button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border: 1px solid var(--rtm-woo-accent);
  border-radius: 999px;
  background-color: var(--rtm-woo-accent);
  box-shadow: none;
  color: #ffffff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
}

body :is(.rtm-loop-cart, .rtm-list-table, .rtm-compare-table) :is(a, button).button:is(:hover, :focus) {
  border-color: var(--rtm-woo-accent);
  background-color: var(--rtm-woo-accent);
  color: #ffffff;
  opacity: 0.85;
}

.rtm-rating {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rtm-rating .star-rating {
  float: none;
  margin: 0;
}

:is(.rtm-rating, .rtm-reviews) div.star-rating {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: auto;
  height: 1em;
  font-family: inherit;
  line-height: 1;
  letter-spacing: var(--rtm-star-gap, 0.1em);
  white-space: nowrap;
  vertical-align: middle;
}

.rtm-rating div.star-rating {
  float: none;
}

:is(.rtm-rating, .rtm-reviews) div.star-rating::before {
  content: "\2605\2605\2605\2605\2605";
  float: none;
  position: static;
  color: #d3ced2;
  font-family: inherit;
}

:is(.rtm-rating, .rtm-reviews) div.star-rating > span {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  height: 100%;
  padding-top: 1.5em;
  white-space: nowrap;
}

:is(.rtm-rating, .rtm-reviews) div.star-rating > span::before {
  content: "\2605\2605\2605\2605\2605";
  position: absolute;
  top: 0;
  left: 0;
  color: inherit;
  font-family: inherit;
}

:is(.rtm-rating, .rtm-reviews) div.star-rating > span span {
  position: static;
  float: none;
  padding: 0;
}

:is(.rtm-rating, .rtm-reviews) div.star-rating > span span::before {
  content: none;
}

.rtm-reviews #review_form p.stars a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 1.1em;
  height: 1.1em;
  margin-right: 2px;
  color: #f5a623;
  font-size: 1.25em;
  line-height: 1.1;
  text-decoration: none;
  text-indent: -999em;
}

.rtm-reviews #review_form p.stars a::before {
  content: "\2606";
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  font-family: inherit;
  text-indent: 0;
}

.rtm-reviews #review_form p.stars:hover a::before,
.rtm-reviews #review_form p.stars.selected a::before {
  content: "\2605";
}

.rtm-reviews #review_form p.stars a:hover ~ a::before,
.rtm-reviews #review_form p.stars.selected a.active ~ a::before,
.rtm-reviews #review_form p.stars.selected:hover a:hover ~ a::before {
  content: "\2606";
}

.rtm-reviews #review_form p.stars.selected:hover a::before {
  content: "\2605";
}

.rtm-rating .star-rating,
.rtm-rating .rtm-rating__icon {
  color: #f5a623;
}

.rtm-rating__count {
  color: var(--rtm-woo-muted);
  font-size: 13px;
  line-height: 1;
}

.rtm-rating.rtm-rating--compact {
  gap: 4px;
}

.rtm-rating .rtm-rating__icon {
  display: inline-flex;
  font-size: 14px;
  line-height: 1;
}

.rtm-rating .rtm-rating__icon :is(svg, i) {
  width: 1em;
  height: 1em;
}

.rtm-rating .rtm-rating__icon svg {
  fill: currentColor;
}

.rtm-rating .rtm-rating__average {
  color: var(--rtm-woo-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.rtm-brand {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.rtm-brand .rtm-brand__label {
  color: var(--rtm-woo-muted);
}

.rtm-brand .rtm-brand__list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: inherit;
}

.rtm-brand--name .rtm-brand__list {
  gap: 0;
}

.rtm-brand .rtm-brand__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body .rtm-brand a.rtm-brand__item,
body .rtm-brand a.rtm-brand__item:is(:hover, :focus) {
  color: inherit;
  text-decoration: none;
}

.rtm-brand .rtm-brand__logo {
  display: block;
  width: 80px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.rtm-sales {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.rtm-sales .rtm-sales__line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rtm-sales .rtm-sales__icon {
  display: inline-flex;
  color: var(--rtm-woo-danger);
  fill: var(--rtm-woo-danger);
  font-size: 16px;
  line-height: 1;
}

.rtm-sales .rtm-sales__icon svg {
  width: 1em;
  height: 1em;
}

.rtm-sales .rtm-sales__bar {
  position: relative;
  display: block;
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background-color: var(--rtm-woo-border);
}

.rtm-sales .rtm-sales__fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background-color: var(--rtm-woo-danger);
}

.rtm-sales .rtm-sales__stock {
  color: var(--rtm-woo-muted);
  font-size: 13px;
}

.rtm-sales .rtm-sales__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 12px;
}

.rtm-sales .rtm-sales__footer .rtm-sales__line {
  margin-left: auto;
}

.rtm-sales.rtm-sales--animate .rtm-sales__fill {
  transform-origin: left center;
  animation: rtm-sales-fill 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

[dir="rtl"] .rtm-sales.rtm-sales--animate .rtm-sales__fill {
  transform-origin: right center;
}

@keyframes rtm-sales-fill {
  from {
    transform: scaleX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rtm-sales.rtm-sales--animate .rtm-sales__fill {
    animation: none;
  }
}

.rtm-addinfo .rtm-addinfo__heading {
  margin: 0 0 16px;
}

.rtm-addinfo .rtm-addinfo__table {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.rtm-addinfo .rtm-addinfo__row {
  display: flex;
  margin: 0;
  border: 0 solid var(--rtm-woo-border);
  border-bottom-width: 1px;
}

.rtm-addinfo .rtm-addinfo__row:last-child {
  border-bottom-width: 0;
}

.rtm-addinfo .rtm-addinfo__row > * {
  margin: 0;
  padding: 12px 16px;
}

.rtm-addinfo .rtm-addinfo__label {
  flex: 0 0 auto;
  width: 30%;
  font-weight: 600;
}

.rtm-addinfo .rtm-addinfo__value {
  flex: 1 1 auto;
  min-width: 0;
}

.rtm-addinfo .rtm-addinfo__value p {
  margin: 0;
}

.rtm-addinfo--striped .rtm-addinfo__row:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.025);
}

.rtm-addinfo--list .rtm-addinfo__row {
  border-bottom-width: 0;
}

.rtm-addinfo--list .rtm-addinfo__row > * {
  padding: 4px 0;
}

.rtm-addinfo--list .rtm-addinfo__label {
  width: auto;
}

.rtm-addinfo--list .rtm-addinfo__label::after {
  content: ":";
  margin-right: 6px;
}

body .rtm-addinfo .rtm-addinfo__value a,
body .rtm-addinfo .rtm-addinfo__value a:is(:hover, :focus) {
  color: inherit;
}

.rtm-reviews {
  display: flex;
  flex-direction: column;
  gap: var(--rtm-reviews-gap, 32px);
}

.rtm-reviews .rtm-reviews__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px 40px;
  padding: 24px;
  border-radius: 12px;
  background-color: #f7f7f8;
}

.rtm-reviews .rtm-reviews__score {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.rtm-reviews .rtm-reviews__average {
  color: var(--rtm-woo-text);
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li.review,
.rtm-reviews.woocommerce #reviews #comments ol.commentlist li.comment {
  position: relative;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: none;
  list-style: none;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li .comment_container {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li img.avatar {
  position: static;
  flex: 0 0 var(--rtm-review-avatar, 48px);
  float: none;
  box-sizing: border-box;
  width: var(--rtm-review-avatar, 48px);
  max-width: none;
  height: var(--rtm-review-avatar, 48px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  box-shadow: none;
  object-fit: cover;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li .comment-text {
  flex: 1 1 auto;
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 20px;
  border: 1px solid var(--rtm-woo-border, #e5e5e5);
  border-radius: 12px;
  background-color: var(--rtm-woo-surface, #ffffff);
}

.rtm-reviews.woocommerce div.star-rating {
  color: #f5a623;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li .comment-text div.star-rating {
  float: right;
  margin: 0 0 8px 12px;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
  margin: 0 0 10px;
}

.rtm-reviews.woocommerce #reviews #comments ol.commentlist li .comment-text .description p:last-child {
  margin-bottom: 0;
}

.rtm-reviews .rtm-reviews__summary .star-rating {
  float: none;
  margin: 0;
}

.rtm-reviews .rtm-reviews__based {
  color: var(--rtm-woo-muted);
  font-size: 13px;
}

.rtm-reviews .rtm-reviews__breakdown {
  display: flex;
  flex: 1 1 260px;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rtm-reviews .rtm-reviews__breakdown li {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 13px;
}

.rtm-reviews .rtm-reviews__amount {
  color: var(--rtm-woo-muted);
  text-align: right;
}

.rtm-reviews .rtm-reviews__bar {
  display: block;
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background-color: var(--rtm-woo-border);
}

.rtm-reviews .rtm-reviews__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background-color: var(--rtm-woo-accent);
}

.rtm-reviews--no-title #reviews #comments .woocommerce-Reviews-title,
.rtm-reviews--no-list #reviews #comments,
.rtm-reviews--no-form #reviews #review_form_wrapper,
.rtm-reviews--no-form #reviews .woocommerce-verification-required {
  display: none;
}

.rtm-reviews--side #reviews {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--rtm-reviews-form-width, 40%);
  align-items: start;
  gap: var(--rtm-reviews-gap, 32px);
}

.rtm-reviews--side #reviews > .clear {
  display: none;
}

.rtm-reviews--sticky #reviews #review_form_wrapper {
  position: sticky;
  top: 24px;
}

@media (max-width: 767px) {
  .rtm-reviews--side #reviews {
    grid-template-columns: minmax(0, 1fr);
  }
}

:is(.rtm-btn-tip--top, .rtm-btn-tip--bottom, .rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon::after {
  content: attr(aria-label);
  position: absolute;
  z-index: 5;
  box-sizing: border-box;
  padding: 5px 10px;
  border-radius: 6px;
  background-color: var(--rtm-tip-bg, #111111);
  color: var(--rtm-tip-color, #ffffff);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

:is(.rtm-btn-tip--top, .rtm-btn-tip--bottom, .rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:is(:hover, :focus-visible)::after {
  opacity: 1;
  visibility: visible;
}

.rtm-btn-tip--top .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon::after {
  bottom: calc(100% + var(--rtm-tip-gap, 8px));
  left: 50%;
  transform: translate(-50%, 4px);
}

.rtm-btn-tip--bottom .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon::after {
  top: calc(100% + var(--rtm-tip-gap, 8px));
  left: 50%;
  transform: translate(-50%, -4px);
}

:is(.rtm-btn-tip--top, .rtm-btn-tip--bottom) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:is(:hover, :focus-visible)::after {
  transform: translate(-50%, 0);
}

.rtm-btn-tip--left .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon::after {
  top: 50%;
  right: calc(100% + var(--rtm-tip-gap, 8px));
  transform: translate(4px, -50%);
}

.rtm-btn-tip--right .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon::after {
  top: 50%;
  left: calc(100% + var(--rtm-tip-gap, 8px));
  transform: translate(-4px, -50%);
}

:is(.rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:is(:hover, :focus-visible)::after {
  transform: translate(0, -50%);
}

:is(.rtm-btn-tip--top, .rtm-btn-tip--bottom, .rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading)::before {
  content: "";
  position: absolute;
  z-index: 6;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

:is(.rtm-btn-tip--top, .rtm-btn-tip--bottom, .rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading):is(:hover, :focus-visible)::before {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.rtm-btn-tip--top .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading)::before {
  bottom: calc(100% + var(--rtm-tip-gap, 8px) - 10px);
  left: 50%;
  margin-left: -5px;
  border-top-color: var(--rtm-tip-bg, #111111);
  transform: translateY(4px);
}

.rtm-btn-tip--bottom .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading)::before {
  top: calc(100% + var(--rtm-tip-gap, 8px) - 10px);
  left: 50%;
  margin-left: -5px;
  border-bottom-color: var(--rtm-tip-bg, #111111);
  transform: translateY(-4px);
}

.rtm-btn-tip--left .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading)::before {
  top: 50%;
  right: calc(100% + var(--rtm-tip-gap, 8px) - 10px);
  margin-top: -5px;
  border-left-color: var(--rtm-tip-bg, #111111);
  transform: translateX(4px);
}

.rtm-btn-tip--right .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading)::before {
  top: 50%;
  left: calc(100% + var(--rtm-tip-gap, 8px) - 10px);
  margin-top: -5px;
  border-right-color: var(--rtm-tip-bg, #111111);
  transform: translateX(-4px);
}

@media (hover: none) {
  :is(.rtm-btn-tip--top, .rtm-btn-tip--bottom, .rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon::after,
  :is(.rtm-btn-tip--top, .rtm-btn-tip--bottom, .rtm-btn-tip--left, .rtm-btn-tip--right) .rtm-action-wrap .rtm-action-btn.rtm-action-btn--icon:not(.is-loading, .loading)::before {
    display: none;
  }
}

.rtm-variations .rtm-swatch .rtm-swatch__tip {
  position: absolute;
  bottom: calc(100% + var(--rtm-tip-gap, 8px));
  left: 50%;
  z-index: 5;
  box-sizing: border-box;
  padding: 5px 10px;
  border-radius: 6px;
  background-color: var(--rtm-tip-bg, #111111);
  color: var(--rtm-tip-color, #ffffff);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.rtm-variations .rtm-swatch .rtm-swatch__tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top-color: var(--rtm-tip-bg, #111111);
}

.rtm-variations .rtm-swatch:is(:hover, :focus-visible) .rtm-swatch__tip {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.rtm-var-tip--bottom .rtm-variations .rtm-swatch .rtm-swatch__tip {
  top: calc(100% + var(--rtm-tip-gap, 8px));
  bottom: auto;
  transform: translate(-50%, -4px);
}

.rtm-var-tip--bottom .rtm-variations .rtm-swatch .rtm-swatch__tip::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: var(--rtm-tip-bg, #111111);
}

.rtm-var-tip--bottom .rtm-variations .rtm-swatch:is(:hover, :focus-visible) .rtm-swatch__tip {
  transform: translate(-50%, 0);
}

@media (hover: none) {
  .rtm-variations .rtm-swatch .rtm-swatch__tip {
    display: none;
  }
}

.rtm-anim-btn {
  isolation: isolate;
  overflow: hidden;
}

.rtm-anim-btn:not([class*="cart-action-btn"]) {
  position: relative;
}

.rtm-anim-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-color: var(--rtm-btn-fill, transparent);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--rtm-btn-anim-dur, 0.3s) ease, transform var(--rtm-btn-anim-dur, 0.3s) ease;
}

.rtm-anim-btn:is(:hover, :focus-visible)::before {
  opacity: 1;
  transform: none;
}

:is(.rtm-btn-anim--slide-down, .rtm-btn-anim--slide-up, .rtm-btn-anim--slide-left, .rtm-btn-anim--slide-right) .rtm-anim-btn::before {
  opacity: 1;
}

.rtm-btn-anim--slide-down .rtm-anim-btn::before {
  transform: translateY(-101%);
}

.rtm-btn-anim--slide-up .rtm-anim-btn::before {
  transform: translateY(101%);
}

.rtm-btn-anim--slide-left .rtm-anim-btn::before {
  transform: translateX(101%);
}

.rtm-btn-anim--slide-right .rtm-anim-btn::before {
  transform: translateX(-101%);
}

:is(.rtm-btn-anim--slide-down, .rtm-btn-anim--slide-up, .rtm-btn-anim--slide-left, .rtm-btn-anim--slide-right) .rtm-anim-btn:is(:hover, :focus-visible)::before {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .rtm-anim-btn::before {
    transition: none;
  }
}

.rtm-woo-product-meta-wrapper .rtm-woo-product-meta .meta-block-data {
  display: grid;
  grid-template-columns: var(--rtm-meta-label-width, 25%) minmax(0, 1fr);
  align-items: baseline;
  column-gap: 16px;
  row-gap: 4px;
}

.rtm-woo-product-meta-wrapper .rtm-woo-product-meta .meta-block-data :is(.meta-label, .meta-value) {
  width: auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .rtm-woo-product-meta-wrapper .rtm-woo-product-meta .meta-block-data {
    grid-template-columns: minmax(0, 1fr);
  }
}

.rtm-woo-add-to-cart .rtm-add-to-cart-form .rtm-add-to-cart-button {
  --rtm-btn-fill: #555555;
  transition: color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.rtm-woo-add-to-cart .rtm-add-to-cart-form .rtm-add-to-cart-button:hover {
  filter: none;
}

.rtm-woo-add-to-cart form.rtm-add-to-cart-form {
  flex-wrap: wrap;
}

.rtm-woo-add-to-cart .rtm-add-to-cart-button .rtm-atc-icon {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.rtm-woo-add-to-cart .rtm-add-to-cart-button .rtm-atc-icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.rtm-woo-add-to-cart .rtm-atc-lists {
  display: inline-flex;
  gap: 8px;
}

.rtm-atc-lists--below .rtm-woo-add-to-cart form.rtm-add-to-cart-form .rtm-atc-lists {
  display: flex;
  flex: 0 0 100%;
  order: 10;
}

body .rtm-woo-add-to-cart :is(button, a).rtm-buy-now-button,
body .rtm-woo-add-to-cart :is(button, a).rtm-buy-now-button:is(:hover, :focus) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  text-decoration: none;
  margin: 0;
  padding: 10px 30px;
  border: 1px solid var(--rtm-woo-text, #111111);
  border-radius: 6px;
  background-color: var(--rtm-woo-surface, #ffffff);
  color: var(--rtm-woo-text, #111111);
  font-size: 18px;
  line-height: 1.5;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  --rtm-btn-fill: var(--rtm-woo-text, #111111);
}

body .rtm-woo-add-to-cart :is(button, a).rtm-buy-now-button:is(:hover, :focus-visible) {
  color: #ffffff;
}

.rtm-buy-anim--fade .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn::before {
  opacity: 0;
  transform: none;
}

:is(.rtm-buy-anim--slide-down, .rtm-buy-anim--slide-up, .rtm-buy-anim--slide-left, .rtm-buy-anim--slide-right) .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn::before {
  opacity: 1;
}

.rtm-buy-anim--slide-down .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn::before {
  transform: translateY(-101%);
}

.rtm-buy-anim--slide-up .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn::before {
  transform: translateY(101%);
}

.rtm-buy-anim--slide-left .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn::before {
  transform: translateX(101%);
}

.rtm-buy-anim--slide-right .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn::before {
  transform: translateX(-101%);
}

[class*="rtm-buy-anim--"] .rtm-woo-add-to-cart .rtm-buy-now-button.rtm-anim-btn:is(:hover, :focus-visible)::before {
  opacity: 1;
  transform: none;
}

.rtm-woo-add-to-cart .rtm-buy-now-button .rtm-buy-now-icon {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.rtm-woo-add-to-cart .rtm-buy-now-button .rtm-buy-now-icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

body .rtm-woo-add-to-cart button.rtm-buy-now-button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

body .rtm-woo-add-to-cart button.rtm-buy-now-button.is-loading {
  opacity: 0.7;
  pointer-events: none;
  cursor: progress;
}

.rtm-atc-after--popup .rtm-woo-add-to-cart .rtm-add-to-cart-message.rtm-message-success {
  display: none;
}

.rtm-atc-popup-portal {
  display: contents;
}

html.rtm-atc-popup-locked,
html.rtm-atc-popup-locked body {
  overflow: hidden;
}

.rtm-atc-popup {
  position: fixed;
  inset: 0;
  z-index: 100002;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  visibility: hidden;
  transition: visibility 0.25s;
}

.rtm-atc-popup.is-open {
  visibility: visible;
}

.rtm-atc-popup .rtm-atc-popup__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.rtm-atc-popup .rtm-atc-popup__dialog {
  position: relative;
  box-sizing: border-box;
  width: min(420px, 100%);
  padding: 28px;
  border-radius: 16px;
  background-color: #ffffff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
  color: var(--rtm-woo-text, #111111);
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.rtm-atc-popup.is-open :is(.rtm-atc-popup__backdrop, .rtm-atc-popup__dialog) {
  opacity: 1;
  transform: none;
}

body .rtm-atc-popup button.rtm-atc-popup__close,
body .rtm-atc-popup button.rtm-atc-popup__close:is(:hover, :focus) {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: 18px;
  cursor: pointer;
}

.rtm-atc-popup .rtm-atc-popup__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding-right: 28px;
  font-size: 18px;
  font-weight: 600;
}

.rtm-atc-popup .rtm-atc-popup__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background-color: #16a34a;
  color: #ffffff;
  font-size: 15px;
}

.rtm-atc-popup .rtm-atc-popup__product {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.rtm-atc-popup .rtm-atc-popup__image {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
}

.rtm-atc-popup .rtm-atc-popup__name {
  font-weight: 500;
}

.rtm-atc-popup .rtm-atc-popup__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body .rtm-atc-popup .rtm-atc-popup__btn,
body .rtm-atc-popup .rtm-atc-popup__btn:is(:hover, :focus) {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 46px;
  margin: 0;
  padding: 12px 20px;
  border: 1px solid var(--rtm-woo-text, #111111);
  border-radius: 999px;
  background-color: transparent;
  box-shadow: none;
  color: var(--rtm-woo-text, #111111);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
}

body .rtm-atc-popup .rtm-atc-popup__btn--checkout,
body .rtm-atc-popup .rtm-atc-popup__btn--checkout:is(:hover, :focus) {
  background-color: var(--rtm-woo-text, #111111);
  color: #ffffff;
}

body .rtm-atc-popup button.rtm-atc-popup__btn--continue,
body .rtm-atc-popup button.rtm-atc-popup__btn--continue:is(:hover, :focus) {
  border-color: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body .rtm-woo-product-image button.rtm-pi-view,
body .rtm-woo-product-image button.rtm-pi-view:is(:hover, :focus),
body .rtm-woo-product-image button.rtm-pi-arrow,
body .rtm-woo-product-image button.rtm-pi-arrow:is(:hover, :focus) {
  position: absolute;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  color: var(--rtm-woo-text, #111111);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.rtm-woo-product-image button.rtm-pi-view svg,
.rtm-woo-product-image button.rtm-pi-arrow svg {
  width: 1em;
  height: 1em;
}

.rtm-woo-product-image .rtm-pi-view {
  top: var(--rtm-pi-view-offset, 12px);
  right: var(--rtm-pi-view-offset, 12px);
}

.rtm-pi-view--top-left .rtm-woo-product-image .rtm-pi-view {
  right: auto;
  left: var(--rtm-pi-view-offset, 12px);
}

.rtm-pi-view--bottom-right .rtm-woo-product-image .rtm-pi-view,
.rtm-pi-view--bottom-left .rtm-woo-product-image .rtm-pi-view {
  top: auto;
  bottom: var(--rtm-pi-view-offset, 12px);
}

.rtm-pi-view--bottom-left .rtm-woo-product-image .rtm-pi-view {
  right: auto;
  left: var(--rtm-pi-view-offset, 12px);
}

.rtm-woo-product-image .image-gallery-product .rtm-pi-arrow {
  top: 50%;
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease, background-color 0.3s ease, color 0.3s ease;
}

.rtm-woo-product-image .image-gallery-product .rtm-pi-arrow--prev {
  left: var(--rtm-pi-arrow-offset, 12px);
  transform: translate(30px, -50%);
}

.rtm-woo-product-image .image-gallery-product .rtm-pi-arrow--next {
  right: var(--rtm-pi-arrow-offset, 12px);
  transform: translate(-30px, -50%);
}

.rtm-woo-product-image .image-gallery-product:is(:hover, :focus-within) .rtm-pi-arrow {
  opacity: 1;
  transform: translate(0, -50%);
}

@media (hover: none) {
  .rtm-woo-product-image .image-gallery-product .rtm-pi-arrow:is(.rtm-pi-arrow--prev, .rtm-pi-arrow--next) {
    opacity: 1;
    transform: translate(0, -50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rtm-woo-product-image .image-gallery-product .rtm-pi-arrow {
    transition: opacity 0.2s ease;
  }
}

.rtm-woo-product-image :is(.image-gallery-product, .canvas-featured-image) img {
  display: block;
  box-sizing: border-box;
  max-height: 800px;
}

.rtm-woo-product-image.gallery-slider > .image-gallery-product {
  min-width: 0;
  max-width: 100%;
}

.rtm-woo-product-image.gallery-slider:not(.rtm-pi-thumbs-fitted) > .image-gallery-product {
  align-self: stretch;
}

.rtm-woo-product-image.rtm-pi-thumbs-fitted .image-gallery-product {
  flex: 1 1 0%;
  min-width: 0;
}

.rtm-woo-product-image.rtm-pi-thumbs-fitted .thumbnails-container {
  flex: 0 0 var(--rtm-pi-thumb);
  width: var(--rtm-pi-thumb);
  height: var(--rtm-pi-thumbs-height);
  overflow: hidden;
}

.rtm-woo-product-image.rtm-pi-thumbs-fitted .thumbnails-container .image-gallery-item-thumbs {
  flex: 0 0 var(--rtm-pi-thumb);
  width: var(--rtm-pi-thumb);
  height: var(--rtm-pi-thumb);
}

.rtm-woo-product-image.rtm-pi-thumbs-fitted .thumbnails-container .image-gallery-item-thumbs img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

.rtm-woo-product-image .rtm-pi-video-slide {
  position: relative;
  cursor: pointer;
}

body .rtm-woo-product-image button.rtm-pi-play,
body .rtm-woo-product-image button.rtm-pi-play:is(:hover, :focus) {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  margin: 0;
  padding: 0 0 0 4px;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  color: var(--rtm-woo-text, #111111);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

body .rtm-woo-product-image button.rtm-pi-play:hover {
  transform: translate(-50%, -50%) scale(1.06);
}

.rtm-woo-product-image .rtm-pi-video-slide.is-playing .rtm-pi-play {
  display: none;
}

.rtm-woo-product-image .rtm-pi-video-slide .rtm-pi-video-player {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  border: 0;
  background-color: #000000;
  object-fit: contain;
}

.rtm-woo-product-image .rtm-pi-video-thumb {
  position: relative;
}

.rtm-woo-product-image .rtm-pi-video-thumb__icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.3);
  color: #ffffff;
  font-size: 20px;
  pointer-events: none;
}

.rtm-pi-lb-portal {
  display: contents;
}

html.rtm-pi-lb-locked,
html.rtm-pi-lb-locked body {
  overflow: hidden;
}

.rtm-pi-lb {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.rtm-pi-lb::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--rtm-pi-lb-overlay, #000000);
  opacity: var(--rtm-pi-lb-opacity, 0.75);
}

.rtm-pi-lb .rtm-pi-lb__stage {
  position: relative;
  z-index: 1;
}

.rtm-pi-lb .rtm-pi-lb__counter {
  z-index: 2;
}

.rtm-pi-lb.is-open {
  opacity: 1;
}

.rtm-pi-lb .rtm-pi-lb__stage {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 60px 80px;
  touch-action: pan-y;
}

.rtm-pi-lb .rtm-pi-lb__img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  user-select: none;
  transition: opacity 0.2s ease;
}

.rtm-pi-lb .rtm-pi-lb__img.is-loading {
  opacity: 0;
}

.rtm-pi-lb .rtm-pi-lb__img[hidden],
.rtm-pi-lb .rtm-pi-lb__media[hidden] {
  display: none;
}

.rtm-pi-lb .rtm-pi-lb__media {
  width: min(100%, calc((100vh - 120px) * 16 / 9));
  aspect-ratio: 16 / 9;
  max-height: 100%;
}

.rtm-pi-lb .rtm-pi-lb__video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background-color: #000000;
  object-fit: contain;
}

body .rtm-pi-lb button.rtm-pi-lb__btn,
body .rtm-pi-lb button.rtm-pi-lb__btn:is(:hover, :focus) {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

body .rtm-pi-lb button.rtm-pi-lb__btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.rtm-pi-lb .rtm-pi-lb__btn :is(svg, i) {
  width: 1em;
  height: 1em;
  font-size: inherit;
}

.rtm-pi-lb .rtm-pi-lb__close {
  top: 16px;
  right: 16px;
}

.rtm-pi-lb .rtm-pi-lb__nav {
  top: 50%;
  transform: translateY(-50%);
}

.rtm-pi-lb .rtm-pi-lb__nav--prev {
  left: var(--rtm-pi-lb-nav-offset, 16px);
}

.rtm-pi-lb .rtm-pi-lb__nav--next {
  right: var(--rtm-pi-lb-nav-offset, 16px);
}

.rtm-pi-lb .rtm-pi-lb__counter {
  position: absolute;
  top: 26px;
  left: 20px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  line-height: 1;
}

.rtm-pi-lb.rtm-pi-lb--single :is(.rtm-pi-lb__nav, .rtm-pi-lb__counter),
.rtm-pi-lb.rtm-pi-lb--no-counter .rtm-pi-lb__counter {
  display: none;
}

@media (max-width: 767px) {
  .rtm-pi-lb .rtm-pi-lb__stage {
    padding: 60px 12px;
  }
}

@media (max-width: 767px) {
  .elementor-widget-rtmwoo_product_image .rtm-woo-product-image .image-gallery-product .canvas:not(.hide),
  .elementor-widget-rtmwoo_product_image .rtm-woo-product-image .image-gallery-product .rtm-featured-product-image {
    display: block;
  }

  .elementor-widget-rtmwoo_product_image .rtm-woo-product-image.gallery-slider {
    flex-flow: column !important;
    height: auto !important;
  }

  .elementor-widget-rtmwoo_product_image .rtm-woo-product-image.gallery-slider .thumbnails-container {
    flex-flow: row !important;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .elementor-widget-rtmwoo_product_image .rtm-woo-product-image .thumbnails-container .image-gallery-item-thumbs {
    flex: 0 0 22%;
  }
}

.rkit-product-addtional-information .rkit-addinf-tabs li a.active {
  color: var(--e-global-color-accent, var(--rtm-woo-accent));
}

.rtm-woo-add-to-cart .rtm-add-to-cart-message .wc-forward.view-cart-button {
  color: var(--e-global-color-accent, var(--rtm-woo-accent));
}

.rkit-product-addtional-information .content-wrapper .rtm-data-tabs__panel[hidden] {
  display: none;
}

.rkit-product-addtional-information .rkit-addinf-tabs li a[role="tab"] {
  cursor: pointer;
}

.rkit-product-addtional-information > .rtm-tabs-layout {
  display: var(--rtm-tabs-display, block);
  grid-template-columns: var(--rtm-tabs-width, 220px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

.rkit-product-addtional-information > .rtm-tabs-layout > .rtm-woo-tab-label-container {
  margin: var(--rtm-tabs-label-margin, 0 0 30px);
}

.rkit-product-addtional-information .rtm-woo-tab-label-container .rkit-addinf-tabs {
  flex-direction: var(--rtm-tabs-dir, row);
  flex-wrap: wrap;
  row-gap: 12px;
  margin: 0;
}

.rkit-product-addtional-information .rtm-woo-tab-label-container .rkit-addinf-tabs li {
  margin: 0;
}

.rkit-product-addtional-information .content-wrapper .rtmwoo-product-comments {
  min-height: 0;
}

.rkit-product-addtional-information .rtmwoo-product-comments .rtmwoo-submit-form :is(input, select, textarea) {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  color: inherit;
  filter: none;
}

.rkit-product-addtional-information .rtmwoo-product-comments .rtmwoo-submit-form input[type="file"] {
  padding: 8px 0;
  border: 0;
}

.rkit-product-addtional-information .rtmwoo-product-comments .rtmwoo-latest-reviews .rtmwoo-review-user {
  box-sizing: border-box;
}

.rkit-product-addtional-information .rtmwoo-product-comments .rtmwoo-latest-reviews .user-comment {
  margin-top: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .elementor-widget-rtmwoo_product_additional_information .rkit-product-addtional-information .rtmwoo-product-comments {
    flex-flow: column-reverse !important;
    --rtm-width-form: 100% !important;
    --rtm-width-comments: 100% !important;
    --rtm-comments-side-gap: 0px !important;
    gap: 24px;
  }

  .elementor-widget-rtmwoo_product_additional_information .rkit-product-addtional-information .rtmwoo-product-comments .rtmwoo-rating-info {
    position: static !important;
    width: 100%;
  }

  .elementor-widget-rtmwoo_product_additional_information .rkit-product-addtional-information .rtmwoo-latest-reviews :is(.user-comment, .review-images-wrapper, .has-reply) {
    margin-left: 0;
  }

  .elementor-widget-rtmwoo_product_additional_information .rkit-product-addtional-information .rtmwoo-latest-reviews .review-images-wrapper {
    flex-wrap: wrap;
  }
}

.rtm-woo-product-price-wrapper .rtm-woo-product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}

.rtm-woo-product-price-wrapper .rtm-woo-product-price .rtm-woo-regular-price.variable-price,
.rtm-woo-product-price-wrapper .rtm-woo-product-price .rtm-woo-regular-price.variable-price .price {
  align-items: baseline;
  flex-wrap: wrap;
}

.rtm-woo-product-price-wrapper .rtm-woo-product-price :is(.rtm-woo-regular-price, .rtm-woo-sale-price) bdi,
.rtm-woo-product-price-wrapper .rtm-woo-product-price .rtm-woo-regular-price.variable-price .price :is(del, del bdi) {
  align-self: auto !important;
  align-items: baseline;
}

.rtm-woo-product-image .thumbnails-container .image-gallery-item-thumbs img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

@keyframes rtm-btn-spin {
  to {
    transform: rotate(360deg);
  }
}

.rtm-action-btn:is(.is-loading, .loading) {
  opacity: 1;
  pointer-events: none;
  cursor: progress;
}

.rtm-action-btn:is(.is-loading, .loading) > * {
  visibility: hidden;
}

.rtm-action-btn:is(.is-loading, .loading)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 1.15em;
  height: 1.15em;
  margin: -0.575em 0 0 -0.575em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rtm-btn-spin 0.7s linear infinite;
}

.rkit-product-collection .product-collection-item a.cart-action-btn.loading {
  pointer-events: none;
  cursor: progress;
}

.rkit-product-collection .product-collection-item a.cart-action-btn.loading::after {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  width: 1em;
  height: 1em;
  margin-left: 8px;
  vertical-align: -0.15em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rtm-btn-spin 0.7s linear infinite;
}

.rtm-woo-add-to-cart .rtm-atc-spinner {
  display: inline-block;
  box-sizing: border-box;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rtm-btn-spin 0.7s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .rtm-action-btn:is(.is-loading, .loading)::before,
  .rkit-product-collection .product-collection-item a.cart-action-btn.loading::after,
  .rtm-woo-add-to-cart .rtm-atc-spinner {
    animation-duration: 1.6s;
  }
}

.rtm-product-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

body .rtm-product-nav a.rtm-product-nav__link,
body .rtm-product-nav a.rtm-product-nav__link:is(:hover, :focus) {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: var(--rtm-woo-text, #111111);
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.rtm-product-nav .rtm-product-nav__link--next {
  text-align: end;
}

.rtm-product-nav .rtm-product-nav__arrow {
  display: inline-flex;
  flex-shrink: 0;
  font-size: 20px;
  line-height: 1;
}

.rtm-product-nav .rtm-product-nav__arrow :is(svg, i) {
  width: 1em;
  height: 1em;
}

.rtm-product-nav .rtm-product-nav__arrow svg {
  fill: none;
}

.rtm-product-nav img.rtm-product-nav__thumb {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  margin: 0;
  border-radius: 8px;
  object-fit: cover;
}

.rtm-product-nav .rtm-product-nav__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  max-width: 260px;
}

.rtm-product-nav .rtm-product-nav__label {
  color: var(--rtm-woo-muted, #6b6b6b);
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

.rtm-product-nav .rtm-product-nav__title {
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rtm-product-nav.rtm-product-nav--compact {
  justify-content: flex-end;
}

.rtm-product-nav .rtm-product-nav__group {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.rtm-product-nav--compact .rtm-product-nav__arrow {
  font-size: 22px;
}

.rtm-product-nav .rtm-product-nav__item {
  display: inline-flex;
  align-items: center;
}

body .rtm-product-nav--compact a.rtm-product-nav__link:is(:hover, :focus-visible),
body .rtm-product-nav a.rtm-product-nav__back:is(:hover, :focus-visible) {
  color: var(--rtm-woo-accent, #d0342c);
}

.rtm-product-nav .rtm-product-nav__link.is-disabled {
  display: inline-flex;
  align-items: center;
  color: var(--rtm-woo-text, #111111);
  opacity: 0.35;
  cursor: default;
}

body .rtm-product-nav a.rtm-product-nav__back,
body .rtm-product-nav a.rtm-product-nav__back:is(:hover, :focus) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rtm-woo-text, #111111);
  font-size: 22px;
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.rtm-product-nav .rtm-product-nav__back :is(svg, i) {
  width: 1em;
  height: 1em;
}

.rtm-product-nav .rtm-product-nav__back.has-tooltip::before,
.rtm-product-nav .rtm-product-nav__back.has-tooltip::after {
  position: absolute;
  left: 50%;
  z-index: 21;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.rtm-product-nav .rtm-product-nav__back.has-tooltip::before {
  content: "";
  bottom: calc(100% + 4px);
  border: 6px solid transparent;
  border-bottom: 0;
  border-top-color: var(--rtm-nav-tip-bg, #111111);
  transform: translate(-50%, 4px);
}

.rtm-product-nav .rtm-product-nav__back.has-tooltip::after {
  content: attr(data-tooltip);
  bottom: calc(100% + 10px);
  padding: 6px 10px;
  border-radius: 6px;
  background-color: var(--rtm-nav-tip-bg, #111111);
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  transform: translate(-50%, 4px);
}

.rtm-product-nav .rtm-product-nav__back.has-tooltip:is(:hover, :focus-visible)::before,
.rtm-product-nav .rtm-product-nav__back.has-tooltip:is(:hover, :focus-visible)::after {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}

body .rtm-product-nav a.rtm-product-nav__preview,
body .rtm-product-nav a.rtm-product-nav__preview:is(:hover, :focus) {
  position: absolute;
  top: calc(100% + var(--rtm-nav-preview-gap, 10px));
  right: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  width: 300px;
  max-width: calc(100vw - 32px);
  padding: 10px;
  border-radius: 10px;
  background-color: var(--rtm-woo-surface, #ffffff);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  color: var(--rtm-woo-text, #111111);
  text-decoration: none;
}

.rtm-product-nav .rtm-product-nav__preview {
  visibility: hidden;
  opacity: 0;
  transform: translate(var(--rtm-nav-preview-x, 0), 6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

/* Bridges the gap so the pointer can travel from the arrow to the card. */
.rtm-product-nav .rtm-product-nav__preview::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: var(--rtm-nav-preview-gap, 10px);
}

.rtm-product-nav .rtm-product-nav__item:is(:hover, :focus-within) .rtm-product-nav__preview {
  visibility: visible;
  opacity: 1;
  transform: translate(var(--rtm-nav-preview-x, 0), 0);
}

.rtm-product-nav img.rtm-product-nav__preview-thumb {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  margin: 0;
  border-radius: 6px;
  object-fit: cover;
}

.rtm-product-nav .rtm-product-nav__preview-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.rtm-product-nav .rtm-product-nav__preview-title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rtm-product-nav .rtm-product-nav__preview-price {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.rtm-product-nav .rtm-product-nav__preview-price del {
  margin-right: 6px;
  color: var(--rtm-woo-muted, #6b6b6b);
  font-weight: 400;
}

.rtm-product-nav .rtm-product-nav__preview-price ins {
  text-decoration: none;
}

.rtm-product-nav .rtm-product-nav__preview .screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.rtm-stock {
  --rtm-stock-color: #1e7a3c;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.rtm-stock.rtm-stock--low {
  --rtm-stock-color: #d97706;
}

.rtm-stock.rtm-stock--out {
  --rtm-stock-color: var(--rtm-woo-danger, #d0342c);
}

.rtm-stock.rtm-stock--backorder {
  --rtm-stock-color: #2563eb;
}

.rtm-stock .rtm-stock__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.rtm-stock .rtm-stock__line {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.rtm-stock .rtm-stock__sold {
  flex-shrink: 0;
  margin-left: auto;
  color: var(--rtm-woo-text, #111111);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.rtm-stock .rtm-stock__icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--rtm-stock-color);
  font-size: 18px;
  line-height: 1;
}

.rtm-stock .rtm-stock__icon :is(svg, i) {
  width: 1em;
  height: 1em;
}

.rtm-stock .rtm-stock__text {
  color: var(--rtm-stock-color);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.rtm-stock .rtm-stock__bar {
  overflow: hidden;
  box-sizing: border-box;
  order: 1;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background-color: #ececec;
}

.rtm-stock .rtm-stock__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background-color: var(--rtm-stock-color);
  transition: width 0.4s ease;
}
