/* Rivrun WooCommerce performance layer v8.0.5 */

/* Button safety: never cut text or force strange fixed widths. */
.wp-block-button:not(.rivrun-products-view-more),
.wp-block-button .wp-block-button__link,
.wp-block-button__link,
.wc-block-components-product-button__button,
.single_add_to_cart_button {
  width: auto;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-align: center;
}

@media (max-width: 640px) {
  .wp-block-buttons {
    justify-content: flex-start !important;
  }
  .wp-block-buttons > .wp-block-button {
    flex: 0 1 auto;
  }
  .wp-block-button .wp-block-button__link,
  .wp-block-button__link {
    padding: 0.7rem 1rem;
    font-size: 0.9rem;
  }
}

/* AJAX load more */
.rivrun-ajax-load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding: 28px 16px 10px;
  clear: both;
}
.rivrun-load-more-button {
  border-radius: 999px !important;
  padding: 12px 28px !important;
  border: 1px solid var(--rivrun-button-bg, rgba(255,255,255,.22)) !important;
  background: var(--rivrun-button-bg, rgba(255,255,255,.08)) !important;
  color: var(--rivrun-button-text, #fff) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.rivrun-load-more-button[disabled] { opacity: .55; cursor: wait; }
.rivrun-load-more-loader { width: 42px; height: 42px; object-fit: contain; }
.rivrun-ajax-load-more:not(.is-loading) .rivrun-load-more-loader { display: none; }
.rivrun-load-more-status { color: var(--rivrun-muted, rgba(255,255,255,.6)); font-size: 13px; }
.rivrun-load-more-sentinel { display: block; width: 100%; height: 1px; }

/* Sale badge: supports WooCommerce classic templates and new Product Sale Badge block. */
.onsale.rivrun-onsale-badge,
.wc-block-components-product-sale-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: max-content !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--rivrun-sale-badge-border, var(--rivrun-border, rgba(240,217,184,.72)));
  border-radius: 999px;
  padding: .35em .8em !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10);
}
.onsale.rivrun-onsale-badge:not(.has-background),
.wc-block-components-product-sale-badge:not(.has-background) {
  background: var(--rivrun-sale-badge-bg, rgba(22,26,34,.92));
}
.onsale.rivrun-onsale-badge:not(.has-text-color),
.wc-block-components-product-sale-badge:not(.has-text-color) {
  color: var(--rivrun-sale-badge-text, #fff);
}
.wc-block-components-product-sale-badge__text {
  color: inherit !important;
}

/* Single-product swatches only. Archive swatches are intentionally disabled for speed. */
body:not(.single-product) .rivrun-loop-swatches,
body:not(.single-product) .rivrun-variation-swatches,
body:not(.single-product) .rivrun-swatch-row {
  display: none !important;
}
body.single-product form.variations_form select[data-rivrun-select="1"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
}
body.single-product table.variations,
body.single-product table.variations tbody,
body.single-product table.variations tr,
body.single-product table.variations th,
body.single-product table.variations td {
  display: block;
  width: 100%;
}
body.single-product table.variations th.label {
  display: none !important;
}
body.single-product table.variations td.value {
  padding: 0 !important;
}
body.single-product .rivrun-swatch-row,
body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="variation-selector"],
body.single-product [class*="add-to-cart-with-options"] [class*="variation-selector"] {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 10px 0 !important;
}
body.single-product .rivrun-swatch-attribute-name,
body.single-product [class*="variation-selector-attribute-name"] {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-width: auto !important;
  margin: 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
body.single-product .rivrun-variation-swatches,
body.single-product [class*="variation-selector-attribute-options"] {
  flex: 1 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
}
body.single-product .reset_variations {
  display: inline-flex !important;
  align-items: center;
  margin-left: 10px !important;
  color: var(--rivrun-link, var(--rivrun-muted, rgba(255,255,255,.62))) !important;
  font-size: 14px !important;
  text-decoration: none !important;
}
body.single-product .reset_variations::before { content: "×"; margin-right: 5px; font-size: 18px; line-height: 1; }
body.single-product .rivrun-swatch,
body.single-product [class*="variation-selector-attribute-options"] button,
body.single-product [class*="variation-selector-attribute-options"] [role="button"] {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid var(--rivrun-border, rgba(255,255,255,.22)) !important;
  border-radius: 999px !important;
  background: var(--rivrun-surface-2, rgba(255,255,255,.07)) !important;
  color: var(--rivrun-text, #fff) !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 7px 20px rgba(0,0,0,.22);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.single-product .rivrun-swatch:hover,
body.single-product [class*="variation-selector-attribute-options"] button:hover,
body.single-product [class*="variation-selector-attribute-options"] [role="button"]:hover {
  transform: translateY(-1px);
  border-color: var(--rivrun-accent, rgba(255,255,255,.48)) !important;
}
body.single-product .rivrun-swatch.is-selected,
body.single-product .rivrun-swatch[aria-pressed="true"],
body.single-product [class*="variation-selector-attribute-options"] button[aria-pressed="true"],
body.single-product [class*="variation-selector-attribute-options"] .is-selected,
body.single-product [class*="variation-selector-attribute-options"] .is-active {
  border-color: var(--rivrun-accent-2, rgba(255,255,255,.92)) !important;
  background: color-mix(in srgb, var(--rivrun-accent-2, #fff) 16%, var(--rivrun-surface, transparent)) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rivrun-accent-2, #fff) 10%, transparent), 0 10px 28px rgba(0,0,0,.3);
}
body.single-product .rivrun-swatch.is-disabled,
body.single-product .rivrun-swatch[disabled] {
  display: none !important;
}
body.single-product .rivrun-color-swatch {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
}
body.single-product .rivrun-swatch-color-dot {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--rivrun-swatch-color, #fff);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
}
body.single-product .rivrun-swatch[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  transform: translateX(-50%) translateY(4px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  z-index: 50;
  padding: 6px 9px;
  border-radius: 8px;
  background: rgba(0,0,0,.92);
  color: #fff;
  font-size: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
  transition: opacity .16s ease, transform .16s ease;
}
body.single-product .rivrun-swatch[data-tooltip]:hover::after,
body.single-product .rivrun-swatch[data-tooltip]:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
@keyframes heartbeat-glow {
  0% { box-shadow: 0 0 10px 2px rgba(255,20,20,.55); }
  50% { box-shadow: 0 0 22px 7px rgba(255,20,20,1); }
  100% { box-shadow: 0 0 10px 2px rgba(255,20,20,.55); }
}
body.single-product .rivrun-swatch-heartbeat,
body.single-product .rivrun-field-needs-attention {
  border-radius: 12px;
  animation: heartbeat-glow 1s infinite cubic-bezier(.25,.46,.45,.94);
}
.swal2-popup.rivrun-glass {
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 18px !important;
  background: rgba(0,0,0,.45) !important;
  box-shadow: 0 0 30px rgba(0,0,0,.7) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.swal2-popup.rivrun-glass .swal2-confirm {
  border-radius: 10px !important;
  background: linear-gradient(90deg,#A2FF00,#00FF9C) !important;
  color: #000 !important;
  font-weight: 700 !important;
}
.swal2-popup.rivrun-glass .swal2-cancel {
  border-radius: 10px !important;
  background: linear-gradient(135deg,#0084FF,#0057d9) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.rivrun-popup-gif { max-width: 400px; height: 100px; display: block; margin: 0 auto 20px; object-fit: contain; }
@media (max-width: 576px) { .rivrun-popup-gif { width: 100%; height: auto; max-width: 100%; } }

/* Featured/product card design: clean one button only. */
.rivrun-products-premium-ui {
  --rr-bg: var(--rivrun-bg, #050505);
  --rr-text: var(--rivrun-text, rgba(255,255,255,.84));
  --rr-muted: var(--rivrun-muted, rgba(255,255,255,.54));
  --rr-red: var(--rivrun-accent-2, #4b0d13);
  --rr-red-2: var(--rivrun-accent, #7b1822);
  --rr-hover-lift: -66px;
  position: relative;
  overflow: hidden;
  color: var(--rr-text);
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--rr-red-2) 18%, transparent), transparent 32%),
    radial-gradient(circle at 86% 88%, color-mix(in srgb, var(--rr-red) 22%, transparent), transparent 36%),
    var(--rr-bg);
}
.rivrun-products-premium-ui::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .08;
  background-image: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--rr-text) 28%, transparent) 1px, transparent 0);
  background-size: 34px 34px;
}
.rivrun-products-premium-ui > * { position: relative; z-index: 2; }
.rivrun-products-logo { margin-bottom: 14px !important; }
.rivrun-products-subtitle { max-width: 640px; margin-inline: auto !important; color: var(--rr-muted); font-size: clamp(15px,1.4vw,18px); line-height: 1.65; }
.rivrun-products-heading { color: var(--rr-text); font-size: clamp(28px,3.4vw,46px); line-height: 1.05; letter-spacing: -.035em; }
.rivrun-products-premium-ui .wc-block-product-template,
.rivrun-products-premium-ui ul.wc-block-product-template,
.rivrun-products-premium-ui .wp-block-woocommerce-product-template { gap: 22px !important; align-items: stretch !important; }
.rivrun-products-premium-ui .wc-block-product,
.rivrun-products-premium-ui .wc-block-product-template > li,
.rivrun-products-premium-ui .wp-block-post.product,
.rivrun-ajax-product-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0 22px 22px !important;
  border: 1px solid var(--rivrun-border, rgba(255,255,255,.10));
  border-radius: 22px;
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--rr-text) 6%, transparent), transparent 30%),
    linear-gradient(145deg, var(--rivrun-surface-2, #19191f) 0%, var(--rivrun-surface, #111117) 100%);
  box-shadow: 0 24px 65px color-mix(in srgb, var(--rr-bg) 58%, transparent), inset 0 1px 0 color-mix(in srgb, var(--rr-text) 7%, transparent);
  transition: box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}
.rivrun-products-premium-ui .wc-block-product:hover,
.rivrun-products-premium-ui .wc-block-product-template > li:hover,
.rivrun-products-premium-ui .wp-block-post.product:hover { transform: translateY(-3px); border-color: var(--rivrun-accent, rgba(255,255,255,.18)); }
.rivrun-products-premium-ui .wc-block-components-product-image,
.rivrun-products-premium-ui .wp-block-woocommerce-product-image,
.rivrun-ajax-product-card .wp-block-woocommerce-product-image {
  position: relative;
  z-index: 2;
  width: calc(100% + 44px);
  aspect-ratio: 1 / .78;
  margin: 0 -22px 20px !important;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
  background: var(--rivrun-surface-2, rgba(255,255,255,.05));
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.rivrun-products-premium-ui .wc-block-components-product-image img,
.rivrun-products-premium-ui .wp-block-woocommerce-product-image img,
.rivrun-ajax-product-card .wp-block-woocommerce-product-image img { width: 100% !important; height: 100%; object-fit: cover !important; display: block; filter: brightness(.92) contrast(1.04); transition: transform .26s ease, filter .26s ease; }
.rivrun-products-premium-ui .wc-block-product:hover img,
.rivrun-products-premium-ui .wp-block-post.product:hover img { transform: scale(1.035); filter: brightness(.96) contrast(1.05); }
.rivrun-products-premium-ui .wp-block-post-title,
.rivrun-products-premium-ui .wc-block-components-product-title,
.rivrun-products-premium-ui .wp-block-post-title a,
.rivrun-ajax-product-card .wp-block-post-title a { color: var(--rr-text); font-size: clamp(17px,1.18vw,22px); font-weight: 780; line-height: 1.18; text-decoration: none; }
.rivrun-products-premium-ui .wp-block-post-title a,
.rivrun-ajax-product-card .wp-block-post-title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rivrun-product-category { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px !important; }
.rivrun-product-category a { display: inline-flex; width: fit-content; padding: 3px 8px; border: 1px solid var(--rivrun-border, rgba(255,255,255,.13)); border-radius: 999px; background: var(--rivrun-surface-2, rgba(255,255,255,.055)); color: var(--rivrun-link, var(--rr-muted)) !important; font-size: 10.5px; font-weight: 650; line-height: 1.2; text-decoration: none !important; }
.rivrun-products-premium-ui .wp-block-woocommerce-product-price,
.rivrun-products-premium-ui .wc-block-components-product-price,
.rivrun-products-premium-ui .woocommerce-Price-amount,
.rivrun-ajax-product-card .price { color: var(--rivrun-price, var(--rr-text)); font-size: clamp(16px,1.05vw,20px); font-weight: 850; line-height: 1.25; }
.rivrun-products-premium-ui del,
.rivrun-products-premium-ui del .woocommerce-Price-amount { color: var(--rivrun-regular-price, var(--rr-muted)); font-weight: 500; }
.rivrun-products-premium-ui ins,
.rivrun-products-premium-ui ins .woocommerce-Price-amount { color: var(--rivrun-sale-price, var(--rr-text)); text-decoration: none; font-weight: 850; }
.rivrun-products-premium-ui .wp-block-woocommerce-product-button,
.rivrun-ajax-product-card .wp-block-woocommerce-product-button {
  position: relative;
  z-index: 12;
  margin: 14px auto 0 !important;
  width: min(100%, 340px);
}
:where(
  .rivrun-products-premium-ui .wp-block-woocommerce-product-button .wp-block-button__link,
  .rivrun-products-premium-ui .wc-block-components-product-button__button,
  .rivrun-ajax-product-card .wp-block-button__link
) {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 14px 18px;
  border: 1.5px solid var(--rivrun-button-bg, var(--rivrun-accent));
  border-radius: 100px;
  background: var(--rivrun-button-bg, var(--rivrun-accent));
  color: var(--rivrun-button-text, #fff);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 2px 4px rgba(0,0,0,.45);
  box-shadow: 0 4px 15px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.rivrun-products-more-wrap { margin-top: 32px !important; }
.rivrun-products-view-more .wp-block-button__link { min-width: 150px; border: 1px solid var(--rivrun-button-bg, var(--rivrun-accent)) !important; border-radius: 999px !important; background: var(--rivrun-button-bg, var(--rivrun-accent)) !important; color: var(--rivrun-button-text, #fff) !important; font-weight: 750; }
@media (min-width: 982px) { .rivrun-products-premium-ui .wc-block-product-template, .rivrun-products-premium-ui ul.wc-block-product-template, .rivrun-products-premium-ui .wp-block-woocommerce-product-template { grid-template-columns: repeat(4,minmax(0,1fr)) !important; } }
@media (max-width: 640px) {
  .rivrun-products-premium-ui { --rr-hover-lift: 0; padding-left: 12px !important; padding-right: 12px !important; }
  .rivrun-products-premium-ui .wc-block-product-template,
  .rivrun-products-premium-ui ul.wc-block-product-template,
  .rivrun-products-premium-ui .wp-block-woocommerce-product-template { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
  .rivrun-products-premium-ui .wc-block-product,
  .rivrun-products-premium-ui .wc-block-product-template > li,
  .rivrun-products-premium-ui .wp-block-post.product,
  .rivrun-ajax-product-card { padding: 0 10px 10px !important; border-radius: 16px; }
  .rivrun-products-premium-ui .wc-block-components-product-image,
  .rivrun-products-premium-ui .wp-block-woocommerce-product-image,
  .rivrun-ajax-product-card .wp-block-woocommerce-product-image { width: calc(100% + 20px); aspect-ratio: 1 / .82; margin: 0 -10px 10px !important; border-radius: 16px 16px 0 0; }
  .rivrun-products-premium-ui .wp-block-post-title,
  .rivrun-products-premium-ui .wp-block-post-title a,
  .rivrun-ajax-product-card .wp-block-post-title a { font-size: 14.5px; line-height: 1.16; }
  .rivrun-product-category a { padding: 2px 6px; font-size: 9.5px; }
  .rivrun-products-premium-ui .wp-block-woocommerce-product-price,
  .rivrun-products-premium-ui .wc-block-components-product-price,
  .rivrun-products-premium-ui .woocommerce-Price-amount,
  .rivrun-ajax-product-card .price { font-size: 12.5px; }
  .rivrun-products-premium-ui .wp-block-woocommerce-product-button,
  .rivrun-ajax-product-card .wp-block-woocommerce-product-button { width: 86%; margin-top: 9px !important; }
  :where(
    .rivrun-products-premium-ui .wp-block-woocommerce-product-button .wp-block-button__link,
    .rivrun-products-premium-ui .wc-block-components-product-button__button,
    .rivrun-ajax-product-card .wp-block-button__link
  ) { padding: 9px 10px; font-size: 11px; }
}

/* Related products horizontal carousel. */
.rivrun-related-carousel-ready { overflow: hidden; }
.rivrun-related-carousel-ready .rivrun-related-carousel-track,
.rivrun-related-carousel-ready ul.wc-block-product-template,
.rivrun-related-carousel-ready .wp-block-woocommerce-product-template {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.rivrun-related-carousel-ready .rivrun-related-carousel-track::-webkit-scrollbar,
.rivrun-related-carousel-ready ul.wc-block-product-template::-webkit-scrollbar,
.rivrun-related-carousel-ready .wp-block-woocommerce-product-template::-webkit-scrollbar { display: none; }
.rivrun-related-carousel-ready .rivrun-related-carousel-track > *,
.rivrun-related-carousel-ready ul.wc-block-product-template > *,
.rivrun-related-carousel-ready .wp-block-woocommerce-product-template > * { flex: 0 0 calc((100% - 72px) / 5) !important; scroll-snap-align: start; }
@media (max-width: 900px) { .rivrun-related-carousel-ready .rivrun-related-carousel-track > *, .rivrun-related-carousel-ready ul.wc-block-product-template > *, .rivrun-related-carousel-ready .wp-block-woocommerce-product-template > * { flex-basis: calc((100% - 18px) / 2) !important; } }

/* Checkout reserve timer hard responsive repair. */
html body.woocommerce-checkout .rivrun-checkout-reserve-timer,
html body.woocommerce-checkout [class*="rivrun-checkout"][class*="timer"] {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
html body.woocommerce-checkout .rivrun-checkout-reserve-timer *,
html body.woocommerce-checkout [class*="rivrun-checkout"][class*="timer"] * {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}
@media (max-width: 640px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer,
  html body.woocommerce-checkout [class*="rivrun-checkout"][class*="timer"] {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-subtitle {
    font-size: clamp(12px,3.2vw,15px) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-count,
  html body.woocommerce-checkout [class*="timer"] [class*="count"] {
    font-size: clamp(17px,5vw,24px) !important;
    white-space: nowrap !important;
  }
}

/* WooCommerce Product Gallery / PhotoSwipe polish */
body.single-product .wc-block-product-gallery,
body.single-product .woocommerce-product-gallery {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #050505;
}
body.single-product .wc-block-product-gallery img,
body.single-product .woocommerce-product-gallery img {
  border-radius: 18px;
}
body.single-product .wp-block-woocommerce-product-gallery-large-image-next-previous,
body.single-product .wc-block-product-gallery .wc-block-product-gallery-large-image__next-previous {
  pointer-events: none;
}
body.single-product .wp-block-woocommerce-product-gallery-large-image-next-previous a,
body.single-product .wp-block-woocommerce-product-gallery-large-image-next-previous button,
body.single-product .wc-block-product-gallery button[class*="next"],
body.single-product .wc-block-product-gallery button[class*="previous"] {
  pointer-events: auto;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(0,0,0,.48) !important;
  color: #fff !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.pswp,
.pswp__bg { background: rgba(0,0,0,.94) !important; }
.pswp__img { border-radius: 18px; box-shadow: 0 28px 80px rgba(0,0,0,.58); }
.pswp__top-bar { background: linear-gradient(180deg, rgba(0,0,0,.68), transparent) !important; }
.pswp__button { border-radius: 999px !important; margin: 10px !important; background-color: rgba(255,255,255,.08) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.pswp__button:hover { background-color: rgba(255,255,255,.18) !important; }
.pswp__button--arrow--left,
.pswp__button--arrow--right { width: 48px !important; height: 48px !important; background: rgba(0,0,0,.45) !important; border: 1px solid rgba(255,255,255,.18) !important; border-radius: 999px !important; }
@media (max-width: 640px) {
  body.single-product .wc-block-product-gallery,
  body.single-product .woocommerce-product-gallery { border-radius: 16px; }
  .pswp__img { border-radius: 10px; }
  .pswp__button--arrow--left,
  .pswp__button--arrow--right { width: 40px !important; height: 40px !important; }
}

/* ==========================================================
   Rivrun 8.0.4 hard bugfix layer
   Keeps product loops clean, buttons visible, gallery polished.
   ========================================================== */

/* Swatches must be single-product only. Hide any legacy/plugin swatch output in loops. */
body:not(.single-product) .products table.variations,
body:not(.single-product) .wc-block-product table.variations,
body:not(.single-product) .wp-block-post.product table.variations,
body:not(.single-product) .products .rivrun-variation-swatches,
body:not(.single-product) .wc-block-product .rivrun-variation-swatches,
body:not(.single-product) .wp-block-post.product .rivrun-variation-swatches,
body:not(.single-product) .products .cfvsw-swatches-container,
body:not(.single-product) .wc-block-product .cfvsw-swatches-container,
body:not(.single-product) .wp-block-post.product .cfvsw-swatches-container,
body:not(.single-product) .products .reset_variations,
body:not(.single-product) .wc-block-product .reset_variations,
body:not(.single-product) .wp-block-post.product .reset_variations {
  display: none !important;
}

/* Product-card links remain native WooCommerce/WordPress links. */
.rivrun-products-premium-ui :is(.wp-block-woocommerce-product-image,.wc-block-components-product-image) a,
.wp-block-woocommerce-product-collection :is(.wp-block-woocommerce-product-image,.wc-block-components-product-image) a {
  position: relative;
  z-index: 4;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  cursor: pointer;
}
.rivrun-products-premium-ui .wp-block-post-title > a,
.wp-block-woocommerce-product-collection .wp-block-post-title > a {
  position: relative;
  z-index: 4;
  pointer-events: auto;
  cursor: pointer;
}
.rivrun-products-premium-ui :is(.wp-block-woocommerce-product-button,.wc-block-components-product-button),
.wp-block-woocommerce-product-collection :is(.wp-block-woocommerce-product-button,.wc-block-components-product-button) {
  position: relative;
  z-index: 6;
  pointer-events: auto;
}

/* Clearer AJAX-loaded images. */
.rivrun-ajax-product-card img,
.rivrun-products-premium-ui .wp-block-woocommerce-product-image img,
.rivrun-products-premium-ui .wc-block-components-product-image img {
  image-rendering: auto !important;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Legacy pre-11.4 rule set. Kept inert so updates do not unexpectedly style
   WooCommerce's native Add to Cart as Buy Now. The dedicated block owns Buy Now. */
@supports (display: multishop-legacy-buy-now-disabled) {
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)).disabled,
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):disabled,
body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"],
body.single-product [class*="add-to-cart-with-options"] button[type="submit"] {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 56px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 14px clamp(52px, 10%, 68px) 14px clamp(46px, 9%, 60px) !important;
  border: 1.25px solid var(--rivrun-buy-border, var(--rivrun-border, #e8e8e8)) !important;
  border-radius: 999px !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  background:
    radial-gradient(circle at 16% -30%, rgba(255,255,255,.14), transparent 36%),
    linear-gradient(135deg, var(--rivrun-button-bg, #0b0d12), var(--rivrun-surface-2, #15100f)) !important;
  color: var(--rivrun-button-text, var(--wp--preset--color--base, #fff)) !important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.36),
    0 0 0 1px rgba(255,255,255,.03),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  overflow: hidden !important;
  text-decoration: none !important;
  font-weight: 520 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
body.single-product .wp-block-button.has-custom-width .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
body.single-product .wp-block-button[class*="wp-block-button__width-"] .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
body.single-product .wp-block-button.has-custom-width .wp-block-button__link,
body.single-product .wp-block-button[class*="wp-block-button__width-"] .wp-block-button__link {
  width: 100% !important;
}
body.single-product .wp-block-button:not(.has-custom-width):not([class*="wp-block-button__width-"]) .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)) {
  width: auto !important;
}
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):hover,
body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):hover,
body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):hover,
body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:hover,
body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:hover {
  transform: translateY(-1px);
  border-color: var(--rivrun-buy-border-soft, var(--rivrun-border, #f0d9b8)) !important;
  box-shadow:
    0 22px 58px rgba(0,0,0,.44),
    0 0 34px rgba(255,255,255,.08),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}
body.single-product .rivrun-luxury-buy-now::before,
body.single-product .rivrun-luxury-buy-now::after {
  content: none !important;
}
body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__icon,
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:not(.rivrun-luxury-buy-now)::before,
body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:not(.rivrun-luxury-buy-now)::before {
  position: absolute;
  left: clamp(16px, 5%, 26px);
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  color: currentColor;
  pointer-events: none;
  z-index: 2;
}
body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:not(.rivrun-luxury-buy-now)::before,
body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:not(.rivrun-luxury-buy-now)::before {
  content: "";
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 8.2h11.6l1.05 12.05H5.15L6.2 8.2Z'/%3E%3Cpath d='M9 8.2a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 8.2h11.6l1.05 12.05H5.15L6.2 8.2Z'/%3E%3Cpath d='M9 8.2a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__arrow,
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:not(.rivrun-luxury-buy-now)::after,
body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:not(.rivrun-luxury-buy-now)::after {
  position: absolute;
  right: clamp(8px, 3%, 12px);
  top: 50%;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--rivrun-buy-circle-border, rgba(255,255,255,.16));
  border-radius: 999px;
  background: var(--rivrun-buy-circle-bg, rgba(0,0,0,.22));
  color: currentColor;
  font-size: 38px;
  font-weight: 300;
  line-height: .65;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
}
body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:not(.rivrun-luxury-buy-now)::after,
body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:not(.rivrun-luxury-buy-now)::after {
  content: "›";
}
@media (max-width: 640px) {
  body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
  body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
  body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)),
  body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"],
  body.single-product [class*="add-to-cart-with-options"] button[type="submit"] {
    min-height: 50px !important;
    padding: 12px 48px 12px 44px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }
  body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__icon,
  body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
  body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
  body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::before,
  body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:not(.rivrun-luxury-buy-now)::before,
  body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:not(.rivrun-luxury-buy-now)::before {
    left: 16px;
    width: 20px;
    height: 20px;
  }
  body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__arrow,
  body.single-product .single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
  body.single-product button.single_add_to_cart_button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
  body.single-product .wc-block-components-product-button__button:not(:is(.wp-block-woocommerce-product-collection *, .rivrun-products-premium-ui *, ul.products *, .related *, .up-sells *, .upsells *, .cross-sells *, .wc-block-product-template *, .rivrun-ajax-product-card *)):not(.rivrun-luxury-buy-now)::after,
  body.single-product .wp-block-woocommerce-add-to-cart-with-options button[type="submit"]:not(.rivrun-luxury-buy-now)::after,
  body.single-product [class*="add-to-cart-with-options"] button[type="submit"]:not(.rivrun-luxury-buy-now)::after {
    right: 8px;
    width: 32px;
    height: 32px;
    font-size: 32px;
  }
}
}

/* New Add to Cart + Options block layout: Size: [1] [2] [3] */
body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="variation-selector-attribute"],
body.single-product [class*="add-to-cart-with-options"] [class*="variation-selector-attribute"] {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="variation-selector-attribute-name"],
body.single-product [class*="add-to-cart-with-options"] [class*="variation-selector-attribute-name"] {
  flex: 0 0 auto !important;
  margin: 0 !important;
  min-width: auto !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="variation-selector-attribute-name"]::after,
body.single-product [class*="add-to-cart-with-options"] [class*="variation-selector-attribute-name"]::after { content: ':'; }
body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="variation-selector-attribute-options"],
body.single-product [class*="add-to-cart-with-options"] [class*="variation-selector-attribute-options"] {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
}


/* ==========================================================
   Rivrun 8.0.6 precision + speed bugfix layer
   - No forced product buttons
   - Gutenberg design-preserving AJAX
   - Single-product swatch row / clear fix
   - Safer gallery dialog scroll
   ========================================================== */

.rivrun-native-pagination-hidden {
  display: none !important;
}

/* Single-product swatches: clean Size: [6] [7] × Clear on one line. */
body.single-product form.variations_form table.variations,
body.single-product form.cart table.variations {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  margin: 0 0 14px !important;
}
body.single-product form.variations_form table.variations tr,
body.single-product form.cart table.variations tr {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  width: 100% !important;
}
body.single-product form.variations_form table.variations th.label,
body.single-product form.cart table.variations th.label {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: left !important;
}
body.single-product form.variations_form table.variations th.label label,
body.single-product form.cart table.variations th.label label {
  margin: 0 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body.single-product form.variations_form table.variations th.label label::after,
body.single-product form.cart table.variations th.label label::after {
  content: ':';
}
body.single-product form.variations_form table.variations td.value,
body.single-product form.cart table.variations td.value {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}
body.single-product form.variations_form table.variations td.value select[data-rivrun-select],
body.single-product form.cart table.variations td.value select[data-rivrun-select],
body.single-product form.variations_form table.variations td.value select[aria-hidden="true"],
body.single-product form.cart table.variations td.value select[aria-hidden="true"] {
  display: none !important;
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.single-product form.variations_form table.variations td.value .rivrun-swatch-row,
body.single-product form.cart table.variations td.value .rivrun-swatch-row {
  display: contents !important;
}
body.single-product form.variations_form table.variations td.value .rivrun-swatch-attribute-name,
body.single-product form.cart table.variations td.value .rivrun-swatch-attribute-name {
  display: none !important;
}
body.single-product .rivrun-variation-swatches,
body.single-product .rivrun-single-swatch-options {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
}
body.single-product form.variations_form table.variations a.reset_variations,
body.single-product form.cart table.variations a.reset_variations {
  order: 99 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 0 0 4px !important;
  padding: 4px 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  color: rgba(255,255,255,.64) !important;
}
body.single-product form.variations_form table.variations a.reset_variations::before,
body.single-product form.cart table.variations a.reset_variations::before {
  content: '×';
  font-size: 18px;
  line-height: 1;
}
body.single-product .rivrun-swatch {
  position: relative !important;
}






/* Rivrun 8.0.6: lightweight native selection modal replacing SweetAlert2. */
.rivrun-selection-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.42);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.rivrun-selection-modal__card {
  position: relative;
  width: min(440px, 94vw);
  border-radius: 18px;
  padding: 26px 22px 22px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(0,0,0,.62);
  color: #fff;
  text-align: center;
  box-shadow: 0 22px 70px rgba(0,0,0,.62);
}
.rivrun-selection-modal__card h3 {
  margin: 0 34px 12px;
  color: #fff;
  font-size: clamp(20px, 4vw, 26px);
  line-height: 1.15;
}
.rivrun-selection-modal__card p {
  margin: 0 0 15px;
  color: rgba(255,255,255,.88);
  line-height: 1.5;
}
.rivrun-selection-modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 22px;
  line-height: 1;
}
.rivrun-selection-modal__actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 14px;
}
.rivrun-selection-modal__ok,
.rivrun-selection-modal__help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 22px;
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none !important;
}
.rivrun-selection-modal__ok {
  border: 0;
  background: linear-gradient(90deg, #A2FF00, #00FF9C);
  color: #000;
}
.rivrun-selection-modal__help {
  background: linear-gradient(135deg, #0084FF, #0057d9);
  color: #fff !important;
}
.rivrun-modal-open { overflow: hidden; }

/* ==========================================================
   Rivrun 8.0.8 precision-only gallery fallback.
   Keep WooCommerce/Twenty Twenty-Five gallery behavior untouched;
   only make the dialog close button sticky 150px from top and center PC images.
   ========================================================== */
@font-face {
  font-family: 'Calming';
  src: url('https://rivrun.com/wp-content/uploads/fonts/Calming.woff2') format('woff2');
  font-display: swap;
}
body.single-product .wc-block-product-gallery-dialog__close-button,
body.single-product button.wc-block-product-gallery-dialog__close-button {
  position: fixed !important;
  top: 150px !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  z-index: 2147483000 !important;
}
@media (min-width: 782px) {
  body.single-product .wc-block-product-gallery-dialog .wc-block-product-gallery-large-image,
  body.single-product .wc-block-product-gallery-dialog .wc-block-product-gallery-large-image__inner-blocks {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.single-product .wc-block-product-gallery-dialog img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==========================================================
   Rivrun 8.1.0 - My Account sticky header + option picker popup
   ========================================================== */
body.woocommerce-account header,
body.woocommerce-account .wp-block-template-part,
body.woocommerce-account .Header-Navigation,
body.woocommerce-account header.Header-Navigation.wp-block-template-part {
  z-index: 999 !important;
}

body.woocommerce-account main,
body.woocommerce-account .wp-site-blocks > main,
body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  position: relative;
  z-index: 1 !important;
}

body.woocommerce-account .woocommerce,
body.woocommerce-account main.wp-block-group {
  scroll-margin-top: 120px;
}

.rivrun-modal-picker {
  display: grid;
  gap: 14px;
  margin: 16px 0 6px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  text-align: left;
}

.rivrun-modal-swatch-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.rivrun-modal-swatch-label {
  color: rgba(255,255,255,.86);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.rivrun-modal-swatches {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.rivrun-modal-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.24);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.rivrun-modal-swatch:hover,
.rivrun-modal-swatch:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.56);
  outline: none;
}

.rivrun-modal-swatch.is-selected,
.rivrun-modal-swatch[aria-pressed="true"] {
  border-color: rgba(255,255,255,.96);
  background: rgba(255,255,255,.18);
  box-shadow: 0 0 0 2px rgba(255,255,255,.10), 0 12px 30px rgba(0,0,0,.34);
}

.rivrun-modal-swatch .rivrun-swatch-color-dot {
  width: 24px;
  height: 24px;
  border-radius: 999px;
}

@media (max-width: 520px) {
  .rivrun-modal-swatch-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .rivrun-modal-swatches {
    gap: 7px;
  }

  .rivrun-modal-swatch {
    min-width: 40px;
    min-height: 36px;
    padding: 8px 12px;
    font-size: 13px;
  }
}

/* ==========================================================
   Rivrun 8.2.0 additions
   1. Related-product safety: every luxury Buy Now selector carries a
      :not(:is(...)) guard, so related/upsell/grid buttons on the single
      product page are 100% controlled by Gutenberg block styles.
   2. Infinity white sparkle loop border on the main Buy Now only.
   3. Phone gallery options (hide thumbnails, auto slide).
   4. Product filter chips (in-stock + size Gutenberg blocks).
   5. WhatsApp button slides up when the sticky Buy Now bar shows.
   ========================================================== */

/* 3. Phone gallery options. */
@media (max-width: 781px) {
  body.rivrun-hide-gallery-thumbs .wc-block-product-gallery-thumbnails,
  body.rivrun-hide-gallery-thumbs .wc-block-product-gallery__thumbnails,
  body.rivrun-hide-gallery-thumbs .wp-block-woocommerce-product-gallery-thumbnails,
  body.rivrun-hide-gallery-thumbs .flex-control-thumbs {
    display: none !important;
  }
}
.rivrun-gallery-swiper { overflow: hidden; }
.rivrun-gallery-swiper-active .flex-control-nav.flex-control-thumbs { cursor: pointer; }

/* 4. Rivrun product filter chips. */
.rivrun-product-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 0 0 18px;
  transition: opacity .2s ease;
}
.rivrun-product-filters.is-busy { opacity: .55; pointer-events: none; }
.rivrun-filter-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.rivrun-filter-group__label {
  color: var(--rivrun-text, #fff);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
}
.rivrun-filter-group__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.rivrun-filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 9px 18px;
  border: 1px solid var(--rivrun-chip-border, var(--rivrun-buy-border-soft, var(--rivrun-border, #f0d9b8)));
  border-radius: 999px;
  background: var(--rivrun-chip-bg, var(--rivrun-surface, rgba(255, 255, 255, .03)));
  color: var(--rivrun-chip-text, var(--rivrun-text, #fff));
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.rivrun-filter-chip:hover { transform: translateY(-1px); border-color: var(--rivrun-accent, #f0d9b8); }
.rivrun-filter-chip.is-active {
  background: var(--rivrun-chip-border, var(--rivrun-buy-border-soft, #f0d9b8));
  border-color: var(--rivrun-chip-border, var(--rivrun-buy-border-soft, #f0d9b8));
  color: #141414;
  font-weight: 800;
}
.rivrun-filter-chip.is-loading { opacity: .6; }
.rivrun-filter-chip__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #38c172;
  box-shadow: 0 0 8px rgba(56, 193, 114, .8);
}
.rivrun-filter-chip.is-active .rivrun-filter-chip__dot { background: #146c3a; box-shadow: none; }
@media (max-width: 640px) {
  .rivrun-filter-chip { min-height: 34px; padding: 8px 14px; font-size: 12px; }
}

/* 5. WhatsApp / Joinchat button slides up above the sticky Buy Now bar. */
.joinchat { transition: bottom .35s ease; }
body.rivrun-sticky-bar-visible .joinchat {
  --bottom: var(--rivrun-sticky-bar-clearance, 100px) !important;
}

/* ==========================================================
   Rivrun 8.2.1 - filter blocks: phone-perfect layout + popup
   size selector (bottom sheet) for mobile.
   ========================================================== */

/* Desktop: natural sizing so Gutenberg Row justification (space-between, center, ...)
   fully controls the position. Phone keeps full width so chips never collapse. */
.rivrun-product-filters {
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
}
@media (max-width: 781px) {
  .rivrun-product-filters {
    flex: 1 1 100%;
    width: 100%;
  }
}
.rivrun-filter-chip { white-space: nowrap; }
.rivrun-filter-group--size { min-width: 0; flex: 1 1 auto; }

/* Popup selector. Activation is class-driven (.rivrun-popup-active, set by JS from the
   block's "Popup selector shows on" setting: phone / PC / both / never), so the popup can
   run on any device the block chooses. */
.rivrun-filter-popup-trigger {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  padding: 10px 16px;
  border: 1px solid var(--rivrun-chip-border, var(--rivrun-buy-border-soft, var(--rivrun-border, #f0d9b8)));
  border-radius: 999px;
  background: var(--rivrun-chip-bg, var(--rivrun-surface, rgba(255, 255, 255, .04)));
  color: var(--rivrun-chip-text, var(--rivrun-text, #fff));
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
  cursor: pointer;
}
.rivrun-filter-popup-trigger.has-value {
  background: var(--rivrun-buy-border-soft, #f0d9b8);
  color: #141414;
  font-weight: 800;
}
.rivrun-filter-popup-trigger__value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60vw;
}
.rivrun-filter-popup-trigger__chevron { width: 12px; height: 8px; flex: 0 0 auto; transition: transform .25s ease; }
.rivrun-filter-group.is-open .rivrun-filter-popup-trigger__chevron { transform: rotate(180deg); }
.rivrun-filter-sheet__head { display: none; }

/* Popup mode active on this device: show the Select trigger, hide inline chips. */
.rivrun-filter-group--size.rivrun-popup-active .rivrun-filter-popup-trigger { display: inline-flex; }
.rivrun-filter-group--size.rivrun-popup-active .rivrun-filter-group__chips { display: none; }

/* Open: dark backdrop + luxury sheet (bottom sheet on phone, centered sheet on PC). */
.rivrun-filter-group--size.rivrun-popup-active.is-open::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  animation: rivrun-sheet-fade .25s ease;
}
.rivrun-filter-group--size.rivrun-popup-active.is-open .rivrun-filter-group__chips {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 10px;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  max-width: 560px;
  margin: 0 auto;
  max-height: 70vh;
  overflow: auto;
  padding: 18px 18px calc(24px + env(safe-area-inset-bottom, 0px));
  border-radius: 22px 22px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .35);
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(240, 217, 184, .10), transparent 55%),
    linear-gradient(180deg, #14110d, #0a0908);
  box-shadow: 0 -18px 50px rgba(0, 0, 0, .65);
  animation: rivrun-sheet-up .3s cubic-bezier(.2, .8, .2, 1);
}
@media (min-width: 782px) {
  .rivrun-filter-group--size.rivrun-popup-active.is-open .rivrun-filter-group__chips {
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 22px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    animation: rivrun-sheet-fade .25s ease;
  }
}
.rivrun-filter-group--size.rivrun-popup-active.is-open .rivrun-filter-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 100%;
  margin-bottom: 6px;
  color: var(--rivrun-text, #fff);
  font-size: 15px;
  letter-spacing: .02em;
}
.rivrun-filter-sheet__close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.rivrun-filter-group--size.rivrun-popup-active.is-open .rivrun-filter-chip {
  min-height: 42px;
  padding: 11px 18px;
  font-size: 14px;
}
body.rivrun-filter-popup-open { overflow: hidden; }

@media (max-width: 781px) {
  .rivrun-product-filters { gap: 10px; margin-bottom: 14px; }
  .rivrun-filter-group__label { font-size: 13px; }
}

@keyframes rivrun-sheet-up {
  from { transform: translateY(24px); opacity: .4; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes rivrun-sheet-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .rivrun-filter-group--size.rivrun-popup-active.is-open .rivrun-filter-group__chips,
  .rivrun-filter-group--size.rivrun-popup-active.is-open::after { animation: none; }
}

/* Hide the star rating row while a product has no reviews (Rivrun option).
   Scoped so the actual Reviews section lower on the page is never touched. */
body.rivrun-no-reviews.single-product :is(.wp-block-woocommerce-product-rating, .wc-block-components-product-rating, .woocommerce-product-rating, .wp-block-post-comments-count):not(:is(#reviews *, #comments *, .woocommerce-Reviews *, [id*="review"] *)) {
  display: none !important;
}

/* ==========================================================
   Rivrun 8.2.3 additions
   ========================================================== */

/* Clear button. PC: small, sits at the right end of the chips row.
   Phone: its own full line just below the sizes (and inside the popup sheet). */
.rivrun-filter-clear {
  flex: 0 0 auto;
  align-self: center;
  width: auto;
  min-height: 30px;
  margin-left: 10px;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  background: transparent;
  color: var(--rivrun-text, #fff);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, opacity .2s ease;
}
.rivrun-filter-clear:hover { border-color: var(--rivrun-buy-border-soft, #f0d9b8); color: var(--rivrun-buy-border-soft, #f0d9b8); }
.rivrun-filter-group--size.rivrun-popup-active.is-open .rivrun-filter-clear { min-height: 42px; font-size: 13px; }

/* Gutenberg width settings (25/50/75/100%) on the Product Button block now apply inside
   related products / upsells / collections exactly as designed in the editor. */
:is(.wp-block-woocommerce-product-collection, .rivrun-products-premium-ui, ul.products, .related, .up-sells, .upsells, .cross-sells, .wc-block-product-template) .wp-block-woocommerce-product-button.has-custom-width { display: block; margin-left: auto; margin-right: auto; }
:is(.wp-block-woocommerce-product-collection, .rivrun-products-premium-ui, ul.products, .related, .up-sells, .upsells, .cross-sells, .wc-block-product-template) .wp-block-woocommerce-product-button.wp-block-button__width-25 { width: 25% !important; }
:is(.wp-block-woocommerce-product-collection, .rivrun-products-premium-ui, ul.products, .related, .up-sells, .upsells, .cross-sells, .wc-block-product-template) .wp-block-woocommerce-product-button.wp-block-button__width-50 { width: 50% !important; }
:is(.wp-block-woocommerce-product-collection, .rivrun-products-premium-ui, ul.products, .related, .up-sells, .upsells, .cross-sells, .wc-block-product-template) .wp-block-woocommerce-product-button.wp-block-button__width-75 { width: 75% !important; }
:is(.wp-block-woocommerce-product-collection, .rivrun-products-premium-ui, ul.products, .related, .up-sells, .upsells, .cross-sells, .wc-block-product-template) .wp-block-woocommerce-product-button.wp-block-button__width-100 { width: 100% !important; }
:is(.wp-block-woocommerce-product-collection, .rivrun-products-premium-ui, ul.products, .related, .up-sells, .upsells, .cross-sells, .wc-block-product-template) .wp-block-woocommerce-product-button.has-custom-width :is(a, button) { width: 100% !important; max-width: 100% !important; }

/* ==========================================================
   Rivrun 8.2.6 - single product rendering speed
   Below-the-fold sections skip layout/paint work until the
   customer scrolls near them (content-visibility). This is one
   of the biggest client-side wins on long luxury product pages
   full of images. Anchor jumps (e.g. #reviews) still work.
   ========================================================== */
body.single-product :is(
  .wp-block-woocommerce-related-products,
  .related.products,
  .up-sells,
  .upsells.products,
  section.related,
  .yith-ywar-wrapper,
  #reviews,
  .wp-block-woocommerce-product-details
) {
  content-visibility: auto;
  contain-intrinsic-size: auto 720px;
}

@media (max-width: 781px) {
  .rivrun-filter-clear {
    flex: 1 1 100%;
    width: max-content;
    min-height: 34px;
    margin-left: 0;
    margin-top: 2px;
    padding: 8px 18px;
  }
}

/* ==========================================================
   Rivrun 8.2.8 - Product Labels & Badges
   Text comes from the product's "Rivrun badge text" field;
   position, style and colors from Rivrun Options. The
   "Rivrun Product Badge" block renders the inline variant.
   ========================================================== */
.rivrun-has-product-badge { position: relative; }
.rivrun-product-badge {
  z-index: 5;
  display: inline-block;
  padding: 6px 16px;
  border: 1px solid var(--rivrun-product-badge-border, transparent);
  background: var(--rivrun-product-badge-bg, #d42b2b);
  color: var(--rivrun-product-badge-text, #fff);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .3);
}
.rivrun-product-badge--pill { border-radius: 999px; }
.rivrun-product-badge--inline { pointer-events: auto; }
.rivrun-product-badge--inline.rivrun-product-badge--ribbon {
  border-radius: 3px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%);
  padding-right: 22px;
}

/* Overlay variant on the single product image */
.rivrun-product-badge--overlay { position: absolute; }
.rivrun-product-badge--overlay.rivrun-product-badge--pill.rivrun-badge-pos-top-left { top: 14px; left: 14px; }
.rivrun-product-badge--overlay.rivrun-product-badge--pill.rivrun-badge-pos-top-right { top: 14px; right: 14px; }
.rivrun-product-badge--overlay.rivrun-product-badge--pill.rivrun-badge-pos-bottom-left { bottom: 14px; left: 14px; }
.rivrun-product-badge--overlay.rivrun-product-badge--pill.rivrun-badge-pos-bottom-right { bottom: 14px; right: 14px; }

/* Diagonal corner ribbon - like the reference design */
.rivrun-product-badge--overlay.rivrun-product-badge--ribbon {
  width: 220px;
  padding: 8px 0;
  text-align: center;
  border: 0;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-top-left {
  top: 28px; left: -62px; transform: rotate(-45deg);
}
.rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-top-right {
  top: 28px; right: -62px; transform: rotate(45deg);
}
.rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-left {
  bottom: 28px; left: -62px; transform: rotate(45deg);
}
.rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-right {
  bottom: 28px; right: -62px; transform: rotate(-45deg);
}
/* The ribbon must be clipped by the gallery corner, like the demo */
.rivrun-has-product-badge:has(.rivrun-product-badge--ribbon) { overflow: hidden; }
@media (max-width: 640px) {
  .rivrun-product-badge { font-size: 10px; padding: 5px 12px; }
  .rivrun-product-badge--overlay.rivrun-product-badge--ribbon { width: 180px; padding: 6px 0; }
  .rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-top-left,
  .rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-left { left: -52px; }
  .rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-top-right,
  .rivrun-product-badge--overlay.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-right { right: -52px; }
}

/* Rivrun 8.3.1 - product badge on shop/category/homepage cards.
   Cards now honor the SAME style chosen in Rivrun Options (diagonal ribbon or pill),
   so every page matches. The card image wrapper clips the ribbon at its corner. */
.rivrun-card-badge-marker { display: none; }
li.product .rivrun-has-product-badge,
.wc-block-product .rivrun-has-product-badge,
.wp-block-post.product .rivrun-has-product-badge { position: relative; }
/* The image wrapper must clip a diagonal ribbon to the card corner. */
.rivrun-has-product-badge:has(.rivrun-card-badge.rivrun-product-badge--ribbon) { overflow: hidden; }

/* ---- PILL style on cards (compact corner pill) ---- */
.rivrun-product-badge.rivrun-card-badge.rivrun-product-badge--pill {
  position: absolute;
  padding: 4px 12px;
  font-size: 11px;
  letter-spacing: .04em;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .28);
}
.rivrun-card-badge.rivrun-product-badge--pill.rivrun-badge-pos-top-left { top: 10px; left: 10px; right: auto; bottom: auto; }
.rivrun-card-badge.rivrun-product-badge--pill.rivrun-badge-pos-top-right { top: 10px; right: 10px; left: auto; bottom: auto; }
.rivrun-card-badge.rivrun-product-badge--pill.rivrun-badge-pos-bottom-left { bottom: 10px; left: 10px; right: auto; top: auto; }
.rivrun-card-badge.rivrun-product-badge--pill.rivrun-badge-pos-bottom-right { bottom: 10px; right: 10px; left: auto; top: auto; }

/* ---- RIBBON style on cards (diagonal corner, same look as single product) ---- */
.rivrun-product-badge.rivrun-card-badge.rivrun-product-badge--ribbon {
  position: absolute;
  width: 200px;
  padding: 6px 0;
  text-align: center;
  border: 0;
  border-radius: 0;
  clip-path: none;
  font-size: 11px;
  letter-spacing: .05em;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .32);
}
.rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-top-left { top: 24px; left: -56px; right: auto; bottom: auto; transform: rotate(-45deg); }
.rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-top-right { top: 24px; right: -56px; left: auto; bottom: auto; transform: rotate(45deg); }
.rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-left { bottom: 24px; left: -56px; right: auto; top: auto; transform: rotate(45deg); }
.rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-right { bottom: 24px; right: -56px; left: auto; top: auto; transform: rotate(-45deg); }

@media (max-width: 640px) {
  .rivrun-product-badge.rivrun-card-badge.rivrun-product-badge--pill { padding: 3px 9px; font-size: 9px; }
  .rivrun-product-badge.rivrun-card-badge.rivrun-product-badge--ribbon { width: 160px; padding: 5px 0; font-size: 9px; }
  .rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-top-left,
  .rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-left { left: -48px; }
  .rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-top-right,
  .rivrun-card-badge.rivrun-product-badge--ribbon.rivrun-badge-pos-bottom-right { right: -48px; }
}


/* Rivrun 8.6.3: small-screen purchase row hardening.
   Quantity and Buy Now may share a row, but the CTA is never allowed to clip. */
@media (max-width: 640px) {
  body.single-product form.cart,
  body.single-product form.variations_form,
  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product .wp-block-woocommerce-add-to-cart-with-options,
  body.single-product [class*="add-to-cart-with-options"] {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product form.cart:not(.variations_form),
  body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="product-button"],
  body.single-product [class*="add-to-cart-with-options"] [class*="product-button"] {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
  }
  body.single-product :is(form.cart, form.variations_form, .wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) :is(.quantity, .wc-block-components-quantity-selector) {
    flex: 0 0 clamp(94px, 27vw, 122px) !important;
    width: clamp(94px, 27vw, 122px) !important;
    max-width: 122px !important;
    min-width: 94px !important;
    box-sizing: border-box !important;
  }
  body.single-product :is(form.cart, form.variations_form, .wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) :is(.single_add_to_cart_button, .wc-block-components-product-button__button, button[type="submit"]).rivrun-luxury-buy-now {
    flex: 1 1 168px !important;
    width: auto !important;
    min-width: 168px !important;
    max-width: 100% !important;
    gap: 8px !important;
    padding: 11px 40px 11px 38px !important;
  }
  body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__label {
    flex: 1 1 auto !important;
    min-width: max-content !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}
@media (max-width: 370px) {
  body.single-product :is(form.cart, form.variations_form, .wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) :is(.single_add_to_cart_button, .wc-block-components-product-button__button, button[type="submit"]).rivrun-luxury-buy-now {
    min-width: 154px !important;
    padding-left: 34px !important;
    padding-right: 36px !important;
    font-size: 14px !important;
  }
  body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__icon { width: 18px !important; height: 18px !important; }
  body.single-product .rivrun-luxury-buy-now .rivrun-buy-now__arrow { width: 28px !important; height: 28px !important; right: 6px !important; }
}
@media (max-width: 640px) {
  body.single-product :is(.wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) .wp-block-button {
    flex: 1 1 168px !important;
    width: auto !important;
    min-width: 168px !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.single-product :is(.wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) .wp-block-button .rivrun-luxury-buy-now {
    width: 100% !important;
  }
}

/* Rivrun 8.6.3: ultra-narrow checkout CTA fallback.
   At phone widths where the quantity and complete Buy Now control cannot share
   a row safely, the CTA receives the next row instead of clipping its label. */
@media (max-width: 430px) {
  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product form.cart:not(.variations_form),
  body.single-product .wp-block-woocommerce-add-to-cart-with-options [class*="product-button"],
  body.single-product [class*="add-to-cart-with-options"] [class*="product-button"] {
    align-items: stretch !important;
  }
  body.single-product :is(form.cart, form.variations_form, .wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) :is(.single_add_to_cart_button, .wc-block-components-product-button__button, button[type="submit"]).rivrun-luxury-buy-now,
  body.single-product :is(.wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) .wp-block-button {
    flex-basis: min(100%, 210px) !important;
  }
}
@media (max-width: 350px) {
  body.single-product :is(form.cart, form.variations_form, .wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) :is(.single_add_to_cart_button, .wc-block-components-product-button__button, button[type="submit"]).rivrun-luxury-buy-now,
  body.single-product :is(.wp-block-woocommerce-add-to-cart-with-options, [class*="add-to-cart-with-options"]) .wp-block-button {
    flex: 1 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* ==========================================================
   Multishop BD 3.3.0 — native Woo Product Collection contract
   ========================================================== */
.wp-block-woocommerce-product-collection :is(.wp-block-woocommerce-product-image,.wc-block-components-product-image) a,
.wp-block-woocommerce-product-collection .wp-block-post-title a,
.wp-block-woocommerce-product-collection :is(.wp-block-woocommerce-product-button,.wc-block-components-product-button) :is(a,button) {
  pointer-events: auto;
  touch-action: manipulation;
}

/* Explicit Gutenberg custom values are inline; inheritance carries them into
   WooCommerce's nested title/price/button markup without altering block HTML. */
:is(.wp-block-post-title,.wp-block-woocommerce-product-title)[style*="color"] > a,
:is(.wp-block-post-title,.wp-block-woocommerce-product-title).has-text-color > a,
:is(.wp-block-woocommerce-product-price,.wc-block-components-product-price)[style*="color"] :where(span,bdi,del,ins),
:is(.wp-block-woocommerce-product-price,.wc-block-components-product-price).has-text-color :where(span,bdi,del,ins),
:is(.wp-block-woocommerce-product-button,.wc-block-components-product-button)[style*="color"] :is(a,button),
:is(.wp-block-woocommerce-product-button,.wc-block-components-product-button).has-text-color :is(a,button) {
  color: inherit !important;
}
:is(.wp-block-post-title,.wp-block-woocommerce-product-title,.wp-block-woocommerce-product-price,.wc-block-components-product-price,.wp-block-woocommerce-product-button,.wc-block-components-product-button)[style*="font-size"] :where(a,button,span,bdi,del,ins),
:is(.wp-block-post-title,.wp-block-woocommerce-product-title,.wp-block-woocommerce-product-price,.wc-block-components-product-price,.wp-block-woocommerce-product-button,.wc-block-components-product-button).has-custom-font-size :where(a,button,span,bdi,del,ins),
:is(.wp-block-post-title,.wp-block-woocommerce-product-title,.wp-block-woocommerce-product-price,.wc-block-components-product-price,.wp-block-woocommerce-product-button,.wc-block-components-product-button)[class*="-font-size"] :where(a,button,span,bdi,del,ins) {
  font-size: inherit !important;
}
:is(.wp-block-woocommerce-product-button,.wc-block-components-product-button)[style*="background"] :is(a,button),
:is(.wp-block-woocommerce-product-button,.wc-block-components-product-button).has-background :is(a,button) {
  background: inherit !important;
}


/* 3.3.1: product-card links are real navigation controls, not AJAX cart buttons. */
.rivrun-loop-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
}
.wp-block-woocommerce-product-collection .rivrun-loop-product-link {
  position: relative;
  z-index: 7;
  pointer-events: auto;
}
/*
 * WooCommerce reuses the next/previous block as the official navigation control
 * for Product Collection carousels. Keep it visible outside single-product pages.
 * These rules affect only stacking and pointer access; WooCommerce keeps complete
 * ownership of track width, scrolling, responsive columns and button state.
 */
.wp-block-woocommerce-product-collection,
.wp-block-woocommerce-product-collection .is-product-collection-layout-carousel {
  min-width: 0;
}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-gallery-large-image-next-previous,
.wp-block-woocommerce-product-collection .wc-block-next-previous-buttons {
  position: relative;
  z-index: 8;
  pointer-events: auto;
}
.wp-block-woocommerce-product-collection .wc-block-next-previous-buttons :is(button, a) {
  pointer-events: auto;
  touch-action: manipulation;
}

/* 3.3.3: stable native Product Collection carousel icons. */
.wp-block-woocommerce-product-collection .wc-block-next-previous-buttons__button {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
}
.wp-block-woocommerce-product-collection .wc-block-next-previous-buttons__icon {
  display: block !important;
  width: 8px !important;
  min-width: 8px !important;
  height: 12px !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.wp-block-woocommerce-product-collection .wc-block-next-previous-buttons__icon path {
  fill: currentColor !important;
}
.wp-block-woocommerce-product-collection .wc-block-next-previous-buttons__button[aria-disabled="true"] {
  opacity: .38;
  cursor: default;
}


/* Multishop 11.1.1: WooCommerce intentionally hides Product Gallery arrows on
   mobile in recent releases. Merchants using this theme requested explicit
   Previous/Next controls, so reveal the already-rendered native controls without
   replacing WooCommerce's Interactivity API or click handlers. */
@media (max-width: 782px) {
  body.single-product :is(.wp-block-woocommerce-product-gallery,.wc-block-product-gallery):not(.rivrun-gv-ready)
  .wc-block-next-previous-buttons[data-wp-interactive="woocommerce/product-gallery"]:not([hidden]) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.single-product :is(.wp-block-woocommerce-product-gallery,.wc-block-product-gallery):not(.rivrun-gv-ready)
  .wc-block-next-previous-buttons[data-wp-interactive="woocommerce/product-gallery"]:not([hidden])
  .wc-block-next-previous-buttons__button {
    display: grid !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.single-product :is(.wp-block-woocommerce-product-gallery,.wc-block-product-gallery):not(.rivrun-gv-ready)
  .wc-block-next-previous-buttons__button[aria-disabled="true"] {
    opacity: .38 !important;
  }
  body.single-product :is(.wp-block-woocommerce-product-gallery,.wc-block-product-gallery).rivrun-native-gallery-loop:not(.rivrun-gv-ready)
  .wc-block-next-previous-buttons__button[aria-disabled="true"] {
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }
}


/* Multishop 11.2.0: gallery option parity for image-only AND mixed-media products.
   These rules live in the common single-product stylesheet; video-only assets
   are never required for a merchant's thumbnail visibility/size settings. */
@media (max-width: 782px) {
  body.single-product.rivrun-gthumbs-hide-phone :is(.wc-block-product-gallery-thumbnails,.wp-block-woocommerce-product-gallery-thumbnails,.flex-control-thumbs),
  body.single-product.rivrun-gthumbs-hide-both :is(.wc-block-product-gallery-thumbnails,.wp-block-woocommerce-product-gallery-thumbnails,.flex-control-thumbs) { display:none !important; }

  body.single-product.rivrun-gthumbs-small-phone .wc-block-product-gallery-thumbnails__thumbnail,
  body.single-product.rivrun-gthumbs-small-both .wc-block-product-gallery-thumbnails__thumbnail {
    width:44px !important; height:44px !important; min-width:44px !important; max-width:44px !important;
    flex:0 0 44px !important;
  }
  body.single-product.rivrun-gthumbs-small-phone .wc-block-product-gallery-thumbnails__thumbnail__image,
  body.single-product.rivrun-gthumbs-small-both .wc-block-product-gallery-thumbnails__thumbnail__image {
    width:100% !important; height:100% !important; object-fit:cover !important;
    border-radius:8px !important;
  }
}
@media (min-width: 783px) {
  body.single-product.rivrun-gthumbs-hide-pc :is(.wc-block-product-gallery-thumbnails,.wp-block-woocommerce-product-gallery-thumbnails,.flex-control-thumbs),
  body.single-product.rivrun-gthumbs-hide-both :is(.wc-block-product-gallery-thumbnails,.wp-block-woocommerce-product-gallery-thumbnails,.flex-control-thumbs) { display:none !important; }

  body.single-product.rivrun-gthumbs-small-pc .wc-block-product-gallery-thumbnails__thumbnail,
  body.single-product.rivrun-gthumbs-small-both .wc-block-product-gallery-thumbnails__thumbnail {
    width:44px !important; height:44px !important; min-width:44px !important; max-width:44px !important;
    flex:0 0 44px !important;
  }
  body.single-product.rivrun-gthumbs-small-pc .wc-block-product-gallery-thumbnails__thumbnail__image,
  body.single-product.rivrun-gthumbs-small-both .wc-block-product-gallery-thumbnails__thumbnail__image {
    width:100% !important; height:100% !important; object-fit:cover !important;
    border-radius:8px !important;
  }
}

/* The configured media radius is shared by native images and the mixed stage.
   Only the CSS variable is overridden; Gutenberg/WooCommerce still owns size. */
body.single-product .wc-block-product-gallery-large-image__image,
body.single-product .rivrun-gv-image-frame,
body.single-product .rivrun-gv-image,
body.single-product .rivrun-gv-video-surface,
body.single-product .rivrun-gv-video-poster,
body.single-product .rivrun-gv-video-poster__image {
  border-radius:var(--rivrun-gallery-media-radius,18px) !important;
}

/* Multishop 11.2.0: optional active thumbnail frame is applied to WooCommerce's
   real active IMG in both image-only and mixed galleries. It never changes the
   thumbnail cell's box dimensions. */
body.single-product.rivrun-gthumb-custom-frame
.wc-block-product-gallery-thumbnails__thumbnail__image--is-active {
  outline: var(--rivrun-gallery-thumb-border-width,1px) solid var(--rivrun-gallery-thumb-border-color,currentColor) !important;
  outline-offset: calc(-1 * var(--rivrun-gallery-thumb-border-width,1px));
  border-radius: var(--rivrun-gallery-thumb-radius,12px) !important;
  box-shadow: none !important;
}


/* One2TenX Premium Add to Cart. The legacy class remains an upgrade alias for
   already-saved templates; neither host draws a second visual button. */
:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host){
  display:inline-flex;
  align-items:stretch;
  width:fit-content;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  flex:0 1 auto;
  vertical-align:top;
  /* The native Woo block is the behaviour/layout host, not a second button.
     Keep its visual box transparent so only the real rounded button is drawn. */
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}
:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host).has-multishop-atc-fixed-width{
  width:var(--multishop-atc-width,100%);
  flex-basis:var(--multishop-atc-width,100%);
}
.wp-block-group.is-layout-flex>:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host).has-multishop-atc-fixed-width{
  width:calc(var(--multishop-atc-width,100%) - (var(--wp--style--block-gap,0px)/2));
  flex-basis:calc(var(--multishop-atc-width,100%) - (var(--wp--style--block-gap,0px)/2));
}
:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host)>:is(.wp-block-woocommerce-product-button,.wc-block-components-product-button){
  width:100%;
  max-width:100%;
}
.multishop-premium-atc-button{
  --multishop-atc-icon-size:18px;
  --multishop-atc-gap:8px;
  position:relative;
  isolation:isolate;
  width:100%!important;
  max-width:100%;
  box-sizing:border-box;
  min-height:var(--multishop-atc-min-height,revert);
  padding-block:var(--multishop-atc-padding-block,revert);
  padding-inline:var(--multishop-atc-padding-inline,revert);
  font-size:var(--multishop-atc-font-size,revert);
  border-width:var(--multishop-purchase-border-width,revert);
  border-color:var(--multishop-purchase-border-color,revert);
  border-radius:var(--multishop-purchase-radius,revert);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host).has-multishop-background .multishop-premium-atc-button{background:var(--multishop-atc-background);background-color:var(--multishop-atc-background)}
:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host).has-multishop-color .multishop-premium-atc-button{color:var(--multishop-atc-color)}
.multishop-premium-atc-button.multishop-atc-mode-icon_text,
.multishop-premium-atc-button.multishop-atc-mode-icon{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:var(--multishop-atc-gap);
}
.multishop-premium-atc-button.multishop-atc-mode-icon_text::before,
.multishop-premium-atc-button.multishop-atc-mode-icon_text::after,
.multishop-premium-atc-button.multishop-atc-mode-icon::before,
.multishop-premium-atc-button.multishop-atc-mode-icon::after{
  content:"";
  flex:0 0 var(--multishop-atc-icon-size);
  width:var(--multishop-atc-icon-size);
  height:var(--multishop-atc-icon-size);
  background-color:currentColor;
  -webkit-mask:var(--multishop-atc-icon-mask) center/contain no-repeat;
  mask:var(--multishop-atc-icon-mask) center/contain no-repeat;
}
.multishop-premium-atc-button.multishop-atc-custom-icon::before,
.multishop-premium-atc-button.multishop-atc-custom-icon::after{
  background-color:transparent;
  background-image:var(--multishop-atc-icon-image);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  -webkit-mask:none;
  mask:none;
}
.multishop-premium-atc-button.multishop-atc-icon-before::after{display:none!important}
.multishop-premium-atc-button.multishop-atc-icon-after::before{display:none!important}
.multishop-premium-atc-button.multishop-atc-mode-text::before,
.multishop-premium-atc-button.multishop-atc-mode-text::after{display:none!important}
.multishop-premium-atc-button.multishop-atc-mode-icon>span:not(.multishop-atc-effect-layer){
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.multishop-premium-atc-button.multishop-atc-hover-lift:hover{transform:translateY(-2px)}
.multishop-premium-atc-button.multishop-atc-hover-glow:hover{filter:brightness(1.04);box-shadow:0 10px 26px color-mix(in srgb,currentColor 18%,transparent)}
@media (prefers-reduced-motion:reduce){.multishop-premium-atc-button{transition:none!important}.multishop-premium-atc-button:hover{transform:none!important}}
@media(max-width:600px){
  :is(.one2tenx-premium-atc-host,.multishop-premium-atc-host),:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host).has-multishop-atc-fixed-width,.wp-block-group.is-layout-flex>:is(.one2tenx-premium-atc-host,.multishop-premium-atc-host).has-multishop-atc-fixed-width{width:var(--multishop-atc-mobile-width,100%);flex-basis:var(--multishop-atc-mobile-width,100%)}
  .multishop-premium-atc-button{width:100%!important;min-height:var(--multishop-atc-mobile-min-height,50px);padding:var(--multishop-atc-mobile-padding-block,11px) var(--multishop-atc-mobile-padding-inline,18px);font-size:var(--multishop-atc-mobile-font-size,var(--multishop-atc-font-size,revert));gap:var(--multishop-atc-mobile-gap,var(--multishop-atc-gap,8px))}
  .multishop-premium-atc-button.multishop-atc-mode-icon_text::before,.multishop-premium-atc-button.multishop-atc-mode-icon_text::after,.multishop-premium-atc-button.multishop-atc-mode-icon::before,.multishop-premium-atc-button.multishop-atc-mode-icon::after{width:var(--multishop-atc-mobile-icon-size,18px);height:var(--multishop-atc-mobile-icon-size,18px);flex-basis:var(--multishop-atc-mobile-icon-size,18px)}
}

/* Editor parity: the WooCommerce block keeps its own native editor markup. */
.multishop-premium-atc-editor-host{width:fit-content!important;max-width:100%!important;min-width:0;box-sizing:border-box}
.multishop-premium-atc-editor-host.has-multishop-atc-fixed-width{width:var(--multishop-atc-width,100%)!important;flex-basis:var(--multishop-atc-width,100%)!important}
.multishop-premium-atc-editor-host :is(.wc-block-components-product-button__button,button,a){
  width:100%!important;
  max-width:100%;
  min-height:var(--multishop-atc-min-height,52px);
  box-sizing:border-box;
  padding-block:var(--multishop-atc-padding-block,revert);
  padding-inline:var(--multishop-atc-padding-inline,revert);
  font-size:var(--multishop-atc-font-size,inherit);
  border-width:var(--multishop-purchase-border-width,revert);
  border-color:var(--multishop-purchase-border-color,revert);
  border-radius:var(--multishop-purchase-radius,revert);
}
.multishop-premium-atc-editor-host.has-multishop-background :is(.wc-block-components-product-button__button,button,a){background:var(--multishop-atc-background)!important;background-color:var(--multishop-atc-background)!important}
.multishop-premium-atc-editor-host.has-multishop-color :is(.wc-block-components-product-button__button,button,a){color:var(--multishop-atc-color)!important}
.multishop-atc-media-control{margin-block-end:16px}
.multishop-atc-media-control__preview{display:block;width:56px;height:56px;object-fit:contain;margin-block-end:8px;padding:5px;border:1px solid #ddd;border-radius:8px;background:#fff}
.multishop-atc-media-control .components-button+.components-button{margin-inline-start:6px}

.multishop-atc-toast-region{position:fixed;z-index:2147482000;display:flex;flex-direction:column;gap:10px;width:min(92vw,420px);pointer-events:none;padding:16px}
.multishop-atc-toast-region[data-position="bottom-center"]{left:50%;bottom:16px;transform:translateX(-50%);align-items:center}
.multishop-atc-toast-region[data-position="bottom-right"]{right:8px;bottom:16px;align-items:flex-end}
.multishop-atc-toast-region[data-position="top-center"]{left:50%;top:16px;transform:translateX(-50%);align-items:center}
.multishop-atc-toast-region[data-position="top-right"]{right:8px;top:16px;align-items:flex-end}
.multishop-atc-toast{display:flex;align-items:center;gap:10px;max-width:100%;padding:12px 16px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:14px;background:var(--wp--preset--color--base,#fff);color:var(--wp--preset--color--contrast,#241d28);box-shadow:0 14px 38px rgba(0,0,0,.16);opacity:0;transform:translateY(8px) scale(.98);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}
.multishop-atc-toast.is-visible{opacity:1;transform:translateY(0) scale(1)}
.multishop-atc-toast__check{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:999px;background:var(--wp--preset--color--accent-2,#ef4f91);color:#fff;font-weight:800}
.multishop-atc-toast__text{font-size:14px;line-height:1.35;font-weight:650}
@media(max-width:600px){.multishop-atc-toast-region{padding:10px}.multishop-atc-toast{width:100%;padding:11px 13px;border-radius:12px}}
