/*
 * Enter any custom CSS here.
 * This file will not be overwritten by theme updates.
*/

/* ==========================================================================
   Premium storefront layer — hero, product wall, featured carousel.
   Uses the theme's own accent (--cl-accent) so branding stays intact.
   ========================================================================== */

:root {
  --rm-line: rgba(255, 255, 255, 0.08);
  --rm-line-soft: rgba(255, 255, 255, 0.055);
  --rm-muted: rgba(var(--cl-t-primary), 0.62);
  --rm-radius: 18px;
}

/* Final mobile payment preview overrides (must remain after component rules). */
.rm-demo-payments { box-sizing: border-box; width: min(100%, 430px); max-width: 430px; margin: 22px auto 0; overflow: hidden; }
.rm-demo-payments__methods { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 10px 12px; }
.rm-demo-payments__method { min-width: 0; min-height: 54px; grid-template-columns: 26px minmax(0,1fr) 14px; gap: 7px; padding: 7px; }
.rm-demo-payments__method > i { width: 26px; height: 26px; font-size: .9rem; }
.rm-demo-payments__method small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__foot { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 42px; padding: 9px 12px; }
.rm-demo-payments__foot > span { min-width: 0; flex: 1 1 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__foot > button { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }
@media (max-width: 560px) { .rm-demo-payments { width: 100%; max-width: 100%; margin-top: 18px; border-radius: 13px; }.rm-demo-payments__head { padding: 10px 11px; }.rm-demo-payments__head small { display: none; }.rm-demo-payments__methods { gap: 6px; padding: 9px 10px; }.rm-demo-payments__method { min-height: 52px; padding: 6px; }.rm-demo-payments__foot { gap: 6px 8px; padding: 9px 10px; font-size: .58rem; }.rm-demo-payments__foot > span { flex-basis: 130px; } }
@media (max-width: 350px) { .rm-demo-payments__methods { grid-template-columns: 1fr; }.rm-demo-payments__method { min-height: 48px; } }

/* Keep the desktop hero wall softly merged into the page, not inside a visible
   rectangular animation frame. Kept last so Visual Editor component styles
   cannot reintroduce the hard vertical-only mask. */
@media (min-width: 1025px) {
  .rm-hero__wall {
    -webkit-mask-image: radial-gradient(ellipse 92% 96% at 50% 48%, #000 45%, rgba(0, 0, 0, .95) 62%, transparent 100%);
            mask-image: radial-gradient(ellipse 92% 96% at 50% 48%, #000 45%, rgba(0, 0, 0, .95) 62%, transparent 100%);
  }
}

/* Configurable menu: deliberate control geometry and responsive payment preview. */
.rm-demo-menu .rm-demo-menu__tabs {
  display: flex !important;
  align-items: stretch !important;
  gap: 4px !important;
  padding: 4px !important;
  overflow: hidden !important;
}

.rm-demo-menu .rm-demo-menu__tabs > button {
  display: inline-flex !important;
  width: 0 !important;
  min-width: 0 !important;
  min-height: 32px !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 8px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  line-height: 1 !important;
}

.rm-demo-menu .rm-demo-menu__tabs > button.is-active {
  border-color: rgba(var(--cl-accent), .35) !important;
  background: rgba(var(--cl-accent), .12) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .06) !important;
}

.rm-demo-menu .rm-demo-menu__tabs > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rm-demo-menu .rm-demo-menu__switch {
  position: relative !important;
  display: block !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rm-demo-menu .rm-demo-menu__switch::before,
.rm-demo-menu .rm-demo-menu__switch::after,
.rm-demo-menu .rm-demo-menu__switch-track::before,
.rm-demo-menu .rm-demo-menu__switch-track::after,
.rm-demo-menu .rm-demo-menu__switch-track > i::before,
.rm-demo-menu .rm-demo-menu__switch-track > i::after {
  display: none !important;
  content: none !important;
}

.rm-demo-menu .rm-demo-menu__switch-track {
  position: relative !important;
  display: block !important;
  width: 42px !important;
  height: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(var(--cl-t-primary), .24) !important;
  border-radius: 999px !important;
  background: rgba(var(--cl-t-primary), .12) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .24) !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.rm-demo-menu .rm-demo-menu__switch-track > i {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(var(--cl-t-primary), .88) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .34) !important;
  transform: translateX(0) !important;
  transition: transform .2s cubic-bezier(.2,.8,.2,1), background .18s ease !important;
}

.rm-demo-menu .rm-demo-menu__switch.is-on .rm-demo-menu__switch-track {
  border-color: rgba(var(--cl-accent), .72) !important;
  background: rgb(var(--cl-accent)) !important;
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .12), inset 0 1px 2px rgba(0, 0, 0, .15) !important;
}

.rm-demo-menu .rm-demo-menu__switch.is-on .rm-demo-menu__switch-track > i {
  background: #fff !important;
  transform: translateX(18px) !important;
}

.rm-demo-menu .rm-demo-menu__range {
  display: grid !important;
  grid-template-columns: minmax(92px, 1fr) 28px !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.rm-demo-menu .rm-demo-menu__range input[type='range'] {
  width: 100% !important;
  height: 4px !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgb(var(--cl-accent)) 0 var(--range-progress, 50%), rgba(var(--cl-t-primary), .23) var(--range-progress, 50%) 100%) !important;
  cursor: pointer !important;
}

.rm-demo-menu .rm-demo-menu__range input[type='range']::-webkit-slider-thumb {
  width: 15px !important;
  height: 15px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 2px solid rgb(var(--cl-card)) !important;
  border-radius: 50% !important;
  background: rgb(var(--cl-accent)) !important;
  box-shadow: 0 0 0 2px rgba(var(--cl-accent), .2) !important;
}

.rm-demo-menu .rm-demo-menu__range input[type='range']::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
  border: 2px solid rgb(var(--cl-card)) !important;
  border-radius: 50% !important;
  background: rgb(var(--cl-accent)) !important;
  box-shadow: 0 0 0 2px rgba(var(--cl-accent), .2) !important;
}

.rm-demo-menu .rm-demo-menu__range b {
  min-width: 28px !important;
  color: rgb(var(--cl-accent)) !important;
  font-variant-numeric: tabular-nums;
  text-align: right !important;
}

.rm-demo-payments {
  display: grid !important;
  width: min(100%, 500px) !important;
  max-width: 500px !important;
  gap: 13px !important;
  margin: 18px auto 0 !important;
  padding: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(var(--cl-t-primary), .12) !important;
  border-radius: 14px !important;
  background: rgba(var(--cl-background), .43) !important;
}

.rm-demo-payments__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
}

.rm-demo-payments__head > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgb(var(--cl-t-primary)) !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}

.rm-demo-payments__head > span i { color: rgb(var(--cl-accent)) !important; }
.rm-demo-payments__head small { max-width: 190px; color: rgba(var(--cl-t-primary), .48) !important; font-size: .61rem !important; line-height: 1.35 !important; text-align: right; }

.rm-demo-payments__methods {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
  gap: 8px !important;
  padding: 0 !important;
}

.rm-demo-payments__method {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  min-width: 0 !important;
  min-height: 52px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px !important;
  border: 1px solid rgba(var(--cl-t-primary), .12) !important;
  border-radius: 10px !important;
  background: rgba(var(--cl-card), .55) !important;
  color: rgb(var(--cl-t-primary)) !important;
  text-align: left !important;
  transition: border-color .18s ease, background .18s ease, transform .18s ease !important;
}

.rm-demo-payments__method > i { display: grid !important; width: 28px !important; height: 28px !important; place-items: center; font-size: .9rem !important; }
.rm-demo-payments__method small { overflow: hidden; color: inherit !important; font-size: .67rem !important; font-weight: 760 !important; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__method:hover, .rm-demo-payments__method.is-selected { border-color: rgba(var(--cl-accent), .55) !important; background: rgba(var(--cl-accent), .08) !important; transform: translateY(-1px); }

.rm-demo-payments__foot {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(var(--cl-t-primary), .1) !important;
  border-radius: 9px !important;
  background: rgba(var(--cl-card), .34) !important;
  color: rgba(var(--cl-t-primary), .6) !important;
  text-align: center !important;
}

.rm-demo-payments__foot > span { display: inline-flex !important; min-width: 0 !important; align-items: center !important; justify-content: center !important; gap: 7px !important; color: inherit !important; font-size: .61rem !important; line-height: 1.35 !important; }
.rm-demo-payments__foot i { color: rgb(var(--cl-accent)) !important; }

@media (max-width: 520px) {
  .rm-demo-menu .rm-demo-menu__tabs > button { min-height: 30px !important; padding-inline: 5px !important; gap: 4px !important; font-size: .58rem !important; }
  .rm-demo-menu .rm-demo-menu__tabs > button > i { display: none; }
  .rm-demo-menu .rm-demo-menu__range { grid-template-columns: minmax(70px, 1fr) 24px !important; gap: 8px !important; }
  .rm-demo-payments { gap: 11px !important; padding: 13px !important; }
  .rm-demo-payments__head small { max-width: 138px; font-size: .56rem !important; }
  .rm-demo-payments__methods { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Full-width header and footer ------------------------------------------------
   These two global components intentionally break out of the page content
   container. Their internal layout remains comfortably inset, while the
   component surfaces span the storefront on every route. */
.rm-header {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(10px, 1.45vw, 24px) clamp(12px, 2.35vw, 42px) 0;
  z-index: 40;
}
.rm-header-shell {
  width: 100%;
  max-width: none;
  min-height: 68px;
  gap: clamp(8px, 1vw, 18px);
  padding: 8px clamp(10px, 1.3vw, 22px);
  border-radius: 18px;
}
.rm-header-brand { flex: 0 0 auto; min-width: max-content; }
.rm-header-nav { flex: 1 1 440px; min-width: 0; }
.rm-header-links { justify-content: flex-start; flex-wrap: wrap; gap: 3px; }
.rm-header-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 38px; padding: 0 clamp(9px, .75vw, 13px);
  white-space: nowrap;
}
.rm-header-link > i { width: 13px; color: currentColor; font-size: .72rem; opacity: .72; transition: opacity .18s ease, transform .18s ease; }
.rm-header-link:hover > i, .rm-header-link.is-active > i { opacity: 1; transform: translateY(-1px); }
.rm-header-stats { flex: 0 0 auto; }
.rm-header-actions { flex: 0 0 auto; gap: 8px; }
.rm-header-actions > * { flex: 0 0 auto; }
.rm-header.rm-header--sticky { width: 100%; margin-left: 0; padding-inline: clamp(12px, 2.35vw, 42px); }

.rm-footer {
  width: 100vw;
  margin: clamp(52px, 7vw, 104px) 0 0 calc(50% - 50vw);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(var(--cl-card), .36), rgba(var(--cl-background), .98));
}
.rm-footer__inner { width: min(calc(100% - clamp(28px, 6vw, 116px)), 1680px); margin: 0 auto; }
.rm-footer__brand-row { padding: clamp(18px, 2vw, 28px) 0; }
.rm-footer__brand { transition: opacity .18s ease, transform .18s ease; }
.rm-footer__brand:hover { opacity: .86; transform: translateY(-1px); }
.rm-footer__social { border: 1px solid rgba(var(--cl-t-primary), .12); transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
.rm-footer__social:hover { border-color: rgba(var(--cl-accent), .55); background: rgba(var(--cl-accent), .08); transform: translateY(-2px); }
.rm-footer__nav { padding: clamp(24px, 3vw, 42px) 0; }
.rm-footer__nav-group a { transition: color .18s ease, transform .18s ease; }
.rm-footer__nav-group a:hover { color: rgb(var(--cl-accent)); transform: translateX(3px); }
.rm-footer__bottom { padding-inline: 0; }

/* Responsive canvas containment ------------------------------------------------
   Decorative hero layers and full-bleed footer treatments must never create a
   horizontal page track.  `clip` preserves the visual treatment while keeping
   touch scrolling vertical on tablet and mobile. */
html, body { overflow-x: clip; }
.rm-header { box-sizing: border-box; max-width: 100%; }
.rm-footer { max-width: 100%; box-sizing: border-box; }
@media (max-width: 720px) {
  .rm-header,
  .rm-header-shell { width: 100%; max-width: 100%; box-sizing: border-box; }
  .rm-header { margin-left: 0; margin-right: 0; }
  /* The links remain reachable by horizontal touch-scroll, but their
     max-content width may not widen the document itself. */
  .rm-header-shell .rm-header-nav {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .rm-header-shell .rm-header-nav::-webkit-scrollbar { display: none; }
  .rm-header-shell .rm-header-links {
    width: max-content;
    min-width: 100%;
    max-width: none;
    flex-wrap: nowrap !important;
  }
  .rm-hero__strip { max-width: 100%; contain: paint; }
  .rm-footer {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.rm-footer-products { padding: clamp(26px, 3.2vw, 48px) 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .08); }
.rm-footer-products__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.rm-footer-products__eyebrow { display: inline-flex; align-items: center; gap: 7px; color: rgb(var(--cl-accent)); font-size: .66rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rm-footer-products__heading h2 { margin: 7px 0 5px; color: rgb(var(--cl-t-primary)); font-size: clamp(1.2rem, 1.75vw, 1.65rem); font-weight: 850; letter-spacing: -.04em; }
.rm-footer-products__heading p { max-width: 600px; margin: 0; color: rgba(var(--cl-t-primary), .58); font-size: .82rem; line-height: 1.55; }
.rm-footer-products__all { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; min-height: 38px; padding: 0 13px; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 10px; color: rgb(var(--cl-t-primary)); font-size: .75rem; font-weight: 800; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.rm-footer-products__all:hover { border-color: rgba(var(--cl-accent), .55); background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); transform: translateY(-2px); }
.rm-footer-products__all i { font-size: .7rem; }
.rm-footer-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rm-footer-product { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr) 16px; align-items: center; gap: 10px; min-width: 0; min-height: 82px; padding: 10px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 12px; background: rgba(var(--cl-card), .48); color: rgb(var(--cl-t-primary)); transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.rm-footer-product::before { position: absolute; inset: 0 auto 0 0; width: 2px; background: rgb(var(--cl-accent)); content: ''; opacity: 0; transform: scaleY(.55); transition: opacity .18s ease, transform .18s ease; }
.rm-footer-product:hover { border-color: rgba(var(--cl-accent), .45); background: rgba(var(--cl-accent), .075); box-shadow: 0 12px 26px rgba(0,0,0,.16); transform: translateY(-3px); }
.rm-footer-product:hover::before { opacity: 1; transform: scaleY(1); }
.rm-footer-product__media { display: grid; width: 48px; height: 58px; place-items: center; overflow: hidden; border-radius: 8px; background: rgba(var(--cl-background), .82); color: rgb(var(--cl-accent)); }
.rm-footer-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.rm-footer-product:hover .rm-footer-product__media img { transform: scale(1.06); }
.rm-footer-product__copy { display: grid; min-width: 0; gap: 3px; }
.rm-footer-product__kind { color: rgba(var(--cl-t-primary), .45); font-size: .56rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.rm-footer-product__copy strong { overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .75rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rm-footer-product__meta { display: flex; align-items: center; gap: 8px; min-width: 0; }
.rm-footer-product__meta b { color: rgb(var(--cl-accent)); font-size: .7rem; font-weight: 850; white-space: nowrap; }
.rm-footer-product__meta em { overflow: hidden; color: #35c77b; font-size: .62rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.rm-footer-product__meta em.is-out { color: #ef6a6a; }
.rm-footer-product__arrow { color: rgba(var(--cl-t-primary), .43); font-size: .65rem; transition: color .18s ease, transform .18s ease; }
.rm-footer-product:hover .rm-footer-product__arrow { color: rgb(var(--cl-accent)); transform: translate(1px, -1px); }

@media (max-width: 1150px) {
  .rm-header-shell { flex-wrap: wrap; }
  .rm-header-nav { order: 3; flex-basis: 100%; }
  .rm-header-links { justify-content: center; }
  .rm-footer-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .rm-header { padding: 8px 10px 0; }
  .rm-header-shell { gap: 8px; padding: 9px; border-radius: 14px; }
  .rm-header-brand__name { font-size: .9rem; }
  .rm-header-stats { order: 2; margin-left: auto; }
  .rm-header-actions { order: 2; }
  .rm-header-nav { order: 3; overflow-x: auto; width: 100%; padding-bottom: 1px; scrollbar-width: none; }
  .rm-header-nav::-webkit-scrollbar { display: none; }
  .rm-header-links { width: max-content; min-width: 100%; justify-content: flex-start; flex-wrap: nowrap; }
  .rm-header-link { min-height: 34px; padding: 0 10px; font-size: .68rem; }
  .rm-header-link > i { display: none; }
  .rm-header-stats span:nth-child(n + 3) { display: none; }
  .rm-header-actions .rm-header-discord__trigger, .rm-header-actions .currency-selector, .rm-header-actions .rm-header-language { transform: scale(.92); transform-origin: right center; }
  .rm-footer { margin-top: 44px; }
  .rm-footer__inner { width: min(calc(100% - 24px), 1680px); }
  .rm-footer-products__heading { align-items: start; flex-direction: column; gap: 14px; }
  .rm-footer-products__all { width: 100%; justify-content: center; }
  .rm-footer-products__grid { grid-template-columns: 1fr; }
  .rm-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
}

/* Catalog experience v4 ----------------------------------------------------
   A compact filter console, fixed-geometry catalog cards, and independently
   configurable trust cards for the Products template. */
.rm-products-page {
  position: relative;
  isolation: isolate;
  overflow: clip;
}
.rm-products-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 620px;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 8%, rgba(var(--cl-accent), .12), transparent 35%),
    linear-gradient(rgba(var(--cl-t-primary), .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--cl-t-primary), .022) 1px, transparent 1px);
  background-size: auto, 46px 46px, 46px 46px;
  -webkit-mask-image: linear-gradient(#000 0 70%, transparent);
          mask-image: linear-gradient(#000 0 70%, transparent);
}
.rm-products-page__inner {
  width: min(calc(100% - 40px), 1360px);
  margin-inline: auto;
}
.rm-products-intro {
  display: grid;
  max-width: 760px;
  justify-items: center;
  gap: 10px;
  margin: 26px auto 30px;
  text-align: center;
}
.rm-products-intro--left { justify-items: start; margin-left: 0; text-align: left; }
.rm-products-intro .rm-kicker {
  padding: 7px 14px;
  border: 1px solid rgba(var(--cl-accent), .35);
  border-radius: 999px;
  background: rgba(var(--cl-accent), .08);
  color: rgb(var(--cl-accent));
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.rm-products-page__title {
  margin: 0 !important;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(2.35rem, 5vw, 4.4rem) !important;
  font-weight: 850 !important;
  line-height: .98 !important;
  letter-spacing: -.055em;
}
.rm-products-intro p {
  max-width: 610px;
  margin: 0;
  color: rgba(var(--cl-t-primary), .58);
  font-size: clamp(.9rem, 1.4vw, 1.03rem);
  line-height: 1.65;
}

.rm-products-toolbar {
  position: relative;
  z-index: 15;
  margin: 0 0 26px;
  padding: 18px 20px 14px;
  border: 1px solid rgba(var(--cl-t-primary), .12);
  border-radius: 20px;
  background: color-mix(in srgb, rgb(var(--cl-card)) 91%, transparent);
  box-shadow: 0 22px 55px rgba(0, 0, 0, .15), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(20px);
}
.rm-products-toolbar--minimal { background: transparent; box-shadow: none; }
.rm-products-toolbar__top {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) minmax(210px, 1.08fr) minmax(240px, 1.12fr) auto;
  gap: 14px;
  align-items: end;
}
.rm-products-field { display: grid; min-width: 0; gap: 7px; }
.rm-products-field__label,
.rm-products-toolbar__browse-label {
  color: rgba(var(--cl-t-primary), .48);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rm-products-field__control {
  display: flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(var(--cl-t-primary), .12);
  border-radius: 12px;
  background: rgba(var(--cl-background), .38);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.rm-products-field__control:hover { border-color: rgba(var(--cl-t-primary), .2); }
.rm-products-field__control:focus-within,
.rm-products-category .rm-products-field__control:has(.choices.is-open) {
  border-color: rgba(var(--cl-accent), .72) !important;
  background: rgba(var(--cl-accent), .035);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .1) !important;
}
.rm-products-field__control > svg { width: 18px; flex: 0 0 auto; color: rgb(var(--cl-accent)); }
.rm-products-field__control input {
  width: 100%; min-width: 0; border: 0 !important; outline: 0 !important; background: transparent !important;
  color: rgb(var(--cl-t-primary)); box-shadow: none !important; font-size: .82rem;
}
.rm-products-category .choices,
.rm-products-category .choices__inner { min-height: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.rm-products-category .choices { width: 100%; }
.rm-products-category .choices__inner { padding: 0 24px 0 0 !important; }
.rm-products-category .choices__list--single .choices__item { color: rgb(var(--cl-t-primary)); font-size: .82rem; font-weight: 700; }
.rm-products-category .choices__list--dropdown,
.rm-products-category .choices__list[aria-expanded] {
  top: calc(100% + 13px) !important;
  z-index: 80 !important;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .13) !important;
  border-radius: 14px !important;
  background: rgb(var(--cl-card)) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.32) !important;
}
.rm-products-category .choices__list--dropdown .choices__item,
.rm-products-category .choices__list[aria-expanded] .choices__item {
  margin: 4px 6px; padding: 10px 12px !important; border: 0 !important; border-radius: 9px;
  color: rgba(var(--cl-t-primary), .68); font-size: .76rem; transition: color .16s ease, background .16s ease, transform .16s ease;
}
.rm-products-category .choices__list--dropdown .choices__item--selectable.is-highlighted,
.rm-products-category .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: rgba(var(--cl-accent), .1) !important; color: rgb(var(--cl-t-primary)) !important; transform: translateX(2px);
}
.rm-products-category .choices__list--dropdown .choices__item--selectable.is-selected,
.rm-products-category .choices__list[aria-expanded] .choices__item--selectable.is-selected {
  background: rgba(var(--cl-accent), .16) !important; color: rgb(var(--cl-accent)) !important;
}
.rm-products-price .rm-products-field__control { display: grid; grid-template-columns: 1fr auto 1fr; }
.rm-products-price input { text-align: center; }
.rm-products-price__sep { color: rgba(var(--cl-t-primary), .35); }
.rm-products-field__control--bare { gap: 8px; padding: 0; border: 0; background: transparent; }
.rm-products-toolbar__actions .rm-btn {
  min-height: 48px; gap: 8px; padding-inline: 18px; border-radius: 12px; font-size: .74rem; white-space: nowrap;
}
.rm-products-toolbar__actions .rm-btn--primary { box-shadow: 0 10px 28px rgba(var(--cl-accent), .16); }
.rm-products-toolbar__browse {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(var(--cl-t-primary), .09);
}
.rm-products-toolbar__browse-label { flex: 0 0 auto; }
.rm-products-toolbar .premium-letter-filter {
  display: flex; min-width: 0; flex-wrap: wrap; justify-content: flex-start; gap: 6px;
}
.rm-products-toolbar .premium-letter-filter__item {
  display: grid; width: 31px; height: 31px; place-items: center; padding: 0;
  border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 8px; background: rgba(var(--cl-background), .26);
  color: rgba(var(--cl-t-primary), .5); font-size: .66rem; font-weight: 800;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.rm-products-toolbar .premium-letter-filter__item:hover { color: rgb(var(--cl-t-primary)); border-color: rgba(var(--cl-accent), .34); transform: translateY(-1px); }
.rm-products-toolbar .premium-letter-filter__item.is-active {
  border-color: rgba(var(--cl-accent), .52); background: rgba(var(--cl-accent), .14); color: rgb(var(--cl-accent));
  box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .08);
}

.rm-products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.rm-products-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rm-products-grid__item { min-width: 0; height: 100%; }
.catalog-product-card {
  position: relative;
  display: grid;
  height: 100%;
  min-height: 286px;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .12);
  border-radius: 17px;
  background: color-mix(in srgb, rgb(var(--cl-card)) 94%, transparent);
  color: inherit;
  box-shadow: 0 14px 36px rgba(0,0,0,.12);
  transform: translateZ(0);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease;
}
.catalog-product-card::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  box-shadow: inset 0 1px rgba(255,255,255,.025); opacity: .7;
}
.catalog-product-card:hover {
  border-color: rgba(var(--cl-accent), .42);
  box-shadow: 0 20px 48px rgba(0,0,0,.23), 0 0 0 1px rgba(var(--cl-accent), .05);
  transform: translateY(-5px);
}
.catalog-product-card__media {
  position: relative; aspect-ratio: 16 / 7.6; min-height: 0; overflow: hidden; background: rgba(var(--cl-accent), .035);
}
.catalog-product-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(var(--cl-card), .36)); pointer-events: none; }
.catalog-product-card__media > img,
.catalog-product-card__placeholder { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .45s cubic-bezier(.2,.8,.2,1), filter .45s ease; }
.catalog-product-card:hover .catalog-product-card__media > img { transform: scale(1.035); filter: saturate(1.06); }
.catalog-product-card__placeholder { display: grid; place-items: center; color: rgb(var(--cl-accent)); font-size: 1.6rem; }
.catalog-product-card__badges { position: absolute; z-index: 3; top: 10px; right: 10px; display: flex; gap: 6px; }
.catalog-product-card__badges span { padding: 5px 8px; border-radius: 8px; color: #fff; font-size: .58rem; font-weight: 800; }
.catalog-product-card__quick {
  position: absolute; z-index: 4; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(7,9,11,.72); color: #fff;
  font-size: .62rem; font-weight: 750; opacity: 0; transform: translateY(5px); backdrop-filter: blur(10px); transition: opacity .2s ease, transform .2s ease;
}
.catalog-product-card:hover .catalog-product-card__quick { opacity: 1; transform: translateY(0); }
.catalog-product-card__body {
  position: relative; display: flex; min-width: 0; min-height: 132px; flex-direction: column; gap: 8px; padding: 15px 52px 15px 16px;
}
.catalog-product-card__meta { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.catalog-product-card__meta small {
  overflow: hidden; color: rgba(var(--cl-t-primary), .42); font-size: .57rem; font-weight: 850; letter-spacing: .11em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap;
}
.catalog-product-card__meta em {
  flex: 0 0 auto; padding: 4px 7px; border: 1px solid rgba(var(--cl-accent), .18); border-radius: 999px;
  background: rgba(var(--cl-accent), .07); color: rgb(var(--cl-accent)); font-size: .56rem; font-style: normal; font-weight: 750;
}
.catalog-product-card__meta em.is-out { border-color: rgba(239,68,68,.22); background: rgba(239,68,68,.08); color: rgb(248,113,113); }
.catalog-product-card__body h3 {
  display: -webkit-box; overflow: hidden; min-height: 2.55em; margin: 0; color: rgb(var(--cl-t-primary));
  font-size: .94rem; font-weight: 800; line-height: 1.28; letter-spacing: -.02em; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
.catalog-product-card__price { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: 5px; margin: auto 0 0; color: rgb(var(--cl-accent)); font-size: .91rem; font-weight: 850; line-height: 1; }
.catalog-product-card__price b { color: rgba(var(--cl-t-primary), .28); font-weight: 500; }
.catalog-product-card__price s { color: rgba(var(--cl-t-primary), .35); font-size: .68rem; }
.catalog-product-card__arrow {
  position: absolute; right: 14px; bottom: 14px; display: grid; width: 31px; height: 31px; place-items: center;
  border: 1px solid rgba(var(--cl-accent), .19); border-radius: 9px; background: rgba(var(--cl-accent), .065); color: rgb(var(--cl-accent));
  font-size: .67rem; transition: background .2s ease, color .2s ease, transform .2s ease;
}
.catalog-product-card:hover .catalog-product-card__arrow { background: rgb(var(--cl-accent)); color: rgb(var(--cl-accent-text)); transform: translateX(2px); }
.rm-products-empty { grid-column: 1 / -1; padding: 60px; border: 1px dashed rgba(var(--cl-t-primary), .14); border-radius: 18px; }

.rm-catalog-benefits {
  width: min(calc(100% - 40px), 1360px);
  margin: 46px auto 72px;
}
.rm-catalog-benefits__header { display: grid; max-width: 680px; justify-items: center; gap: 9px; margin: 0 auto 22px; text-align: center; }
.rm-catalog-benefits__header--left { justify-items: start; margin-left: 0; text-align: left; }
.rm-catalog-benefits__header .rm-kicker { color: rgb(var(--cl-accent)); font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.rm-catalog-benefits__header h2 { margin: 0; color: rgb(var(--cl-t-primary)); font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 850; letter-spacing: -.04em; }
.rm-catalog-benefits__header p { margin: 0; color: rgba(var(--cl-t-primary), .52); font-size: .84rem; line-height: 1.6; }
.rm-catalog-benefits__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.rm-catalog-benefits__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rm-catalog-benefits__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rm-catalog-benefit {
  position: relative; display: flex; min-width: 0; min-height: 205px; flex-direction: column; overflow: hidden; padding: 18px;
  border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 15px 15px 15px 5px;
  background: color-mix(in srgb, rgb(var(--cl-card)) 94%, transparent); box-shadow: 0 15px 36px rgba(0,0,0,.12);
  transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease;
}
.rm-catalog-benefit::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: linear-gradient(transparent, rgb(var(--cl-accent)), transparent);
  opacity: .55; transform: scaleY(.45); transition: opacity .23s ease, transform .23s ease;
}
.rm-catalog-benefit::after {
  content: ""; position: absolute; right: -24px; bottom: -24px; width: 90px; height: 90px; border: 1px solid rgba(var(--cl-accent), .13);
  border-radius: 50%; transition: transform .35s ease, border-color .35s ease;
}
.rm-catalog-benefit:hover { border-color: rgba(var(--cl-accent), .38); box-shadow: 0 20px 46px rgba(0,0,0,.19); transform: translateY(-4px); }
.rm-catalog-benefit:hover::before { opacity: 1; transform: scaleY(1); }
.rm-catalog-benefit:hover::after { border-color: rgba(var(--cl-accent), .28); transform: scale(1.18); }
.rm-catalog-benefit__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.rm-catalog-benefit__icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(var(--cl-accent), .25); border-radius: 12px; background: rgba(var(--cl-accent), .08); color: rgb(var(--cl-accent)); }
.rm-catalog-benefit__number { color: rgba(var(--cl-t-primary), .09); font-size: 1.75rem; font-weight: 900; line-height: 1; letter-spacing: -.07em; }
.rm-catalog-benefit__content { position: relative; z-index: 1; display: grid; gap: 7px; margin-top: 20px; }
.rm-catalog-benefit__content h3 { margin: 0; color: rgb(var(--cl-t-primary)); font-size: 1rem; font-weight: 800; letter-spacing: -.02em; }
.rm-catalog-benefit__content p { display: -webkit-box; overflow: hidden; margin: 0; color: rgba(var(--cl-t-primary), .54); font-size: .74rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.rm-catalog-benefit__verified { display: inline-flex; width: fit-content; align-items: center; gap: 6px; margin-top: auto; padding-top: 16px; color: rgba(var(--cl-t-primary), .38); font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.rm-catalog-benefit__verified i { color: rgb(var(--cl-accent)); }

@media (max-width: 1120px) {
  .rm-products-toolbar__top { grid-template-columns: 1.25fr 1fr 1fr; }
  .rm-products-toolbar__actions { grid-column: 1 / -1; }
  .rm-products-toolbar__actions .rm-products-field__label { display: none; }
  .rm-products-toolbar__actions .rm-products-field__control { justify-content: flex-end; }
  .rm-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .rm-products-toolbar__top { grid-template-columns: 1fr 1fr; }
  .rm-products-search { grid-column: 1 / -1; }
  .rm-products-toolbar__browse { align-items: flex-start; flex-direction: column; gap: 10px; }
  .rm-products-grid, .rm-products-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rm-catalog-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rm-products-page__inner, .rm-catalog-benefits { width: min(calc(100% - 24px), 1360px); }
  .rm-products-intro { margin: 18px auto 24px; }
  .rm-products-toolbar { padding: 14px; border-radius: 16px; }
  .rm-products-toolbar__top { grid-template-columns: 1fr; }
  .rm-products-search { grid-column: auto; }
  .rm-products-toolbar__actions .rm-products-field__control { display: grid; grid-template-columns: 1fr 1fr; }
  .rm-products-toolbar__actions .rm-btn { width: 100%; justify-content: center; }
  .rm-products-toolbar__browse { overflow: hidden; }
  .rm-products-toolbar .premium-letter-filter { flex-wrap: nowrap; width: 100%; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .rm-products-toolbar .premium-letter-filter::-webkit-scrollbar { display: none; }
  .rm-products-toolbar .premium-letter-filter__item { flex: 0 0 31px; }
  .rm-products-grid, .rm-products-grid--3 { grid-template-columns: 1fr; gap: 13px; }
  .catalog-product-card { min-height: 300px; }
  .catalog-product-card__quick { display: none; }
  .rm-catalog-benefits { margin-top: 36px; }
  .rm-catalog-benefits__grid, .rm-catalog-benefits__grid--2, .rm-catalog-benefits__grid--3 { grid-template-columns: 1fr; }
  .rm-catalog-benefit { min-height: 180px; }
}
@media (hover: none) {
  .catalog-product-card:hover, .rm-catalog-benefit:hover { transform: none; }
  .catalog-product-card__arrow { background: rgba(var(--cl-accent), .1); }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-product-card, .catalog-product-card__media > img, .catalog-product-card__quick, .catalog-product-card__arrow,
  .rm-catalog-benefit, .rm-catalog-benefit::before, .rm-catalog-benefit::after { transition: none !important; }
}

/* Desktop header capacity: allow the shell to use more of the viewport as
   merchants add pages. Navigation owns a content-sized track, so the first or
   last page can never be pushed through the navigation border. */
@media (min-width: 1281px) {
  .rm-header {
    width: min(1480px, calc(100vw - 40px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .rm-header-shell {
    display: grid !important;
    grid-template-columns: max-content minmax(max-content, 1fr) max-content max-content;
    gap: clamp(10px, 1.15vw, 20px) !important;
    width: 100%;
  }

  .rm-header-nav {
    width: max-content;
    min-width: max-content;
    max-width: 100%;
    justify-self: stretch;
    padding: 5px !important;
    overflow: visible !important;
  }

  .rm-header-links {
    width: max-content;
    min-width: max-content;
    justify-content: flex-start !important;
    gap: 3px;
    padding: 0 !important;
    overflow: visible !important;
  }

  .rm-header-link {
    flex: 0 0 auto;
    min-width: max-content;
    padding-inline: clamp(9px, .7vw, 12px);
  }

  .rm-header-link.is-active,
  .rm-header-link.is-active:hover,
  .rm-header-link.is-active:focus-visible {
    transform: none;
  }
}

/* At narrower desktop widths, preserve every page by giving navigation its
   own balanced row before any label has to clip or sit outside its surface. */
@media (min-width: 901px) and (max-width: 1280px) {
  .rm-header {
    width: min(1180px, calc(100vw - 28px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .rm-header-nav { padding: 5px !important; }
  .rm-header-links {
    width: 100%;
    justify-content: center !important;
    gap: 4px;
    padding: 0 !important;
    overflow: visible !important;
  }
  .rm-header-link { flex: 0 0 auto; }
}

/* ==========================================================================\n+   PRODUCT PAGE — mobile purchase flow\n+   Keep the reading order deliberate on phones: product media + description,\n+   purchase controls, then the accepted payment methods.\n+   ========================================================================== */
@media (max-width: 1100px) {
  .rm-pdp__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }

  .rm-pdp__main { order: 0 !important; }
  .rm-pdp__side { order: 1 !important; }
}

@media (max-width: 640px) {
  .rm-pdp { padding-top: 2px; }
  .rm-pdp__crumbs { margin-bottom: 13px; }
  .rm-pdp__grid,
  .rm-pdp__main { gap: 14px; }

  .rm-pdp__media-panel,
  .rm-pdp__info,
  .rm-pdp__buy,
  .rm-paywall { border-radius: 14px; }

  .rm-pdp__head { padding: 16px; }
  .rm-pdp__title { font-size: 1.42rem; }
  .rm-pdp__frame { padding: 10px; }
  .rm-pdp__frame .rm-pdp__stage { border-radius: 10px; }
  .rm-pdp__info { padding: 16px; }
  .rm-pdp__body { font-size: .9rem; line-height: 1.65; }

  .rm-pdp__side-inner { display: grid; gap: 14px; }
  .rm-pdp__side-inner > [x-data="productForm"] { display: grid; gap: 14px; }
  .rm-pdp__buy { overflow: hidden; }
  .rm-pdp__price-row { padding: 16px; }
  .rm-buy-form__inner { padding-inline: 16px !important; }
  .rm-buy-btn { min-height: 50px; }

  .rm-paywall { margin: 0; padding: 15px 16px; }
  .rm-paywall__title { margin-bottom: 10px; font-size: .62rem; }
  .rm-paywall__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); gap: 8px; }
  .rm-paywall__chip { min-width: 0; min-height: 44px; }
}

/* ==========================================================================\n+   HEADER — resilient navigation sizing\n+   The header now deliberately changes hierarchy before it runs out of room.\n+   Links wrap into their own balanced row instead of being clipped inside a\n+   horizontally constrained nav, and selectors/actions can safely reflow.\n+   ========================================================================== */
.rm-header-shell,
.rm-header-shell > * { min-width: 0; }
.rm-header-brand__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-header-nav { overflow: visible; }
.rm-header-links { overflow: visible; }

@media (max-width: 1180px) {
  .rm-header-shell {
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
  }

  .rm-header-shell .rm-header-stats { display: none; }
  .rm-header-shell .rm-header-nav {
    order: 3;
    width: 100%;
    flex: 1 0 100%;
  }

  .rm-header-shell .rm-header-links {
    flex-wrap: wrap;
    justify-content: center;
    padding: 4px;
  }
}

@media (max-width: 760px) {
  .rm-header-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px;
    border-radius: 16px;
  }

  .rm-header-shell .rm-header-brand { min-width: 0; gap: 9px; }
  .rm-header-shell .rm-header-brand__logo { width: 34px; height: 34px; border-radius: 10px; }
  .rm-header-shell .rm-header-brand__name { font-size: .88rem; }

  .rm-header-shell .rm-header-actions {
    display: flex;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    margin-left: 0;
  }

  .rm-header-shell .rm-header-nav {
    grid-column: 1 / -1;
    width: 100%;
    order: initial;
  }

  .rm-header-shell .rm-header-links {
    justify-content: flex-start;
    gap: 3px;
    padding: 4px;
  }

  .rm-header-shell .rm-header-link {
    flex: 0 1 auto;
    min-height: 34px;
    padding-inline: 9px;
    font-size: .69rem;
  }

  .rm-header-shell .rm-header-language,
  .rm-header-shell .currency-selector { display: block !important; }
  .rm-header-shell .rm-header-language .choices__inner,
  .rm-header-shell .currency-selector .choices__inner { min-width: 72px !important; }
  .rm-header-shell .rm-header-language .choices__inner { min-width: 76px !important; }
  .rm-header-shell .rm-header-cart { padding: 0 9px; }
  .rm-header-shell .rm-header-cart__label { display: none; }
}

@media (max-width: 390px) {
  .rm-header-shell { grid-template-columns: 1fr; }
  .rm-header-shell .rm-header-actions { grid-row: 2; justify-content: flex-start; }
  .rm-header-shell .rm-header-nav { grid-row: 3; }
  .rm-header-shell .rm-header-links { justify-content: flex-start; }
}

/* Final header reflow guard: no control is allowed to clip at intermediate widths. */
.rm-header-shell,
.rm-header-shell > * { min-width: 0; }
.rm-header-shell .rm-header-nav,
.rm-header-shell .rm-header-links { overflow: visible !important; }
.rm-header-shell .rm-header-brand__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1280px) {
  .rm-header-shell { flex-wrap: wrap; gap: 10px 14px; }
  .rm-header-shell .rm-header-stats { display: none; }
  .rm-header-shell .rm-header-nav { order: 3; flex: 1 0 100%; width: 100%; }
  .rm-header-shell .rm-header-links { flex-wrap: wrap; justify-content: center; padding: 4px; }
}

@media (max-width: 760px) {
  .rm-header-shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 10px; border-radius: 16px; }
  .rm-header-shell .rm-header-brand { min-width: 0; gap: 9px; }
  .rm-header-shell .rm-header-brand__logo { width: 34px; height: 34px; border-radius: 10px; }
  .rm-header-shell .rm-header-brand__name { font-size: .88rem; }
  .rm-header-shell .rm-header-actions { display: flex; max-width: 100%; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin-left: 0; }
  .rm-header-shell .rm-header-nav { grid-column: 1 / -1; width: 100%; order: initial; }
  .rm-header-shell .rm-header-links { justify-content: flex-start; gap: 3px; padding: 4px; }
  .rm-header-shell .rm-header-link { flex: 0 1 auto; min-height: 34px; padding-inline: 9px; font-size: .69rem; }
  .rm-header-shell .rm-header-language,
  .rm-header-shell .currency-selector { display: block !important; }
  .rm-header-shell .rm-header-language .choices__inner,
  .rm-header-shell .currency-selector .choices__inner { min-width: 72px !important; }
  .rm-header-shell .rm-header-language .choices__inner { min-width: 76px !important; }
  .rm-header-shell .rm-header-cart { padding: 0 9px; }
  .rm-header-shell .rm-header-cart__label { display: none; }
}

@media (max-width: 390px) {
  .rm-header-shell { grid-template-columns: 1fr; }
  .rm-header-shell .rm-header-actions { grid-row: 2; justify-content: flex-start; }
  .rm-header-shell .rm-header-nav { grid-row: 3; }
}

/* Configurable menu — final control geometry and safe content reflow. */
.rm-demo-menu {
  box-sizing: border-box;
  width: min(100%, 475px) !important;
  max-width: 475px;
  overflow: hidden;
}
.rm-demo-menu *,
.rm-demo-menu *::before,
.rm-demo-menu *::after { box-sizing: border-box; }
.rm-demo-menu__title { min-width: 0; gap: 10px; }
.rm-demo-menu__title > span,
.rm-demo-menu__title small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-menu__tabs {
  display: flex !important;
  flex-wrap: wrap;
  overflow: hidden !important;
  width: 100%;
}
.rm-demo-menu__tabs button {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rm-demo-menu__tabs button span { overflow: hidden; text-overflow: ellipsis; }
.rm-demo-menu__panel { min-width: 0; overflow: hidden; }
.rm-demo-menu .rm-demo-menu__control {
  grid-template-columns: minmax(0, 1fr) minmax(18px, auto) !important;
  column-gap: 14px;
  min-width: 0;
  min-height: 52px !important;
  padding: 10px 2px !important;
}
.rm-demo-menu .rm-demo-menu__control > label {
  min-width: 0 !important;
  overflow: hidden;
}
.rm-demo-menu .rm-demo-menu__control > label > span {
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.rm-demo-menu .rm-demo-menu__control > label small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle {
  display: grid !important;
  place-items: center !important;
  justify-self: end !important;
  align-self: center !important;
  flex: none;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(var(--cl-t-primary), .34) !important;
  border-radius: 4px !important;
  background: rgba(var(--cl-background), .28) !important;
  box-shadow: none !important;
  transform: none !important;
}
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle > i,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle > i { display: none !important; }
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle::after,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle::after {
  display: block !important;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: rgb(var(--cl-accent));
  content: '' !important;
  opacity: 0;
  transform: none !important;
  transition: opacity .16s ease;
}
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on {
  border-color: rgb(var(--cl-accent)) !important;
  background: rgba(var(--cl-accent), .12) !important;
}
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on::after,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on::after { opacity: 1; }
.rm-demo-menu .rm-demo-menu__range {
  width: min(100%, 180px);
  min-width: 0 !important;
  justify-self: end;
}
.rm-demo-menu .rm-demo-menu__range input { min-width: 0; }
.rm-demo-menu .rm-demo-menu select,
.rm-demo-menu .rm-demo-menu input[type="text"] { width: min(100%, 145px); max-width: 145px; min-width: 0; }
.rm-demo-menu .rm-demo-menu__control--text { grid-template-columns: minmax(0, 1fr) minmax(90px, 145px) !important; }
.rm-demo-menu .rm-demo-menu__control--button { grid-template-columns: minmax(0, 1fr) !important; }
.rm-demo-menu .rm-demo-menu__save,
.rm-demo-menu .rm-demo-menu__keybind { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 480px) {
  .rm-demo-menu { margin-top: 20px; padding: 11px; }
  .rm-demo-menu__tabs button { flex: 1 1 auto !important; justify-content: center !important; }
  .rm-demo-menu .rm-demo-menu__control { column-gap: 10px; min-height: 50px !important; }
  .rm-demo-menu .rm-demo-menu__range { width: min(42vw, 150px); }
  .rm-demo-menu .rm-demo-menu__control--text { grid-template-columns: minmax(0, 1fr) minmax(82px, 110px) !important; }
  .rm-demo-menu .rm-demo-menu select,
  .rm-demo-menu .rm-demo-menu input[type="text"] { width: 110px; max-width: 110px; }
}

/* Payment methods: compact icon rail, never a checkout mockup. */
.rm-demo-payments {
  width: min(100%, 500px);
  min-height: 0;
  height: auto;
  overflow: hidden;
  border-radius: 16px;
}
.rm-demo-payments__head { align-items: baseline; gap: 10px; padding: 12px 14px 8px; }
.rm-demo-payments__head > span { font-weight: 700; letter-spacing: .02em; }
.rm-demo-payments__head small { opacity: .65; }
.rm-demo-payments__methods {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important;
  gap: 8px !important;
  padding: 10px 14px 12px !important;
}
.rm-demo-payments__method {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 76px !important;
  padding: 10px 8px !important;
  text-align: center;
}
.rm-demo-payments__method > i { width: 30px !important; height: 30px !important; font-size: 1.05rem !important; }
.rm-demo-payments__method small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__method b { display: none !important; }
.rm-demo-payments__foot {
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 14px !important;
  border-top: 1px solid color-mix(in srgb, var(--accent-color, #22c55e) 18%, transparent) !important;
  font-size: .72rem;
}
.rm-demo-payments__foot > span { flex: 0 1 auto !important; overflow: visible !important; white-space: normal !important; text-align: center; }
.rm-demo-payments + .rm-why-choose__demo-copy { position: relative; clear: both; margin-top: 14px !important; }
@media (max-width: 560px) {
  .rm-demo-payments__methods { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .rm-demo-payments__method { min-height: 68px !important; }
  .rm-demo-payments__foot > span { flex-basis: auto !important; }
}

/* Status page vNext — compact SaaS availability directory. */
.rm-status-page {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
  margin: 34px auto 0;
}
.rm-status-page__hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  align-items: end;
  gap: clamp(24px, 5vw, 64px);
  padding: clamp(28px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .11);
  border-radius: 18px;
  background: rgba(var(--cl-card), .52);
  text-align: left;
}
.rm-status-page__hero::after { display: none !important; }
.rm-status-page__intro { min-width: 0; }
.rm-status-page__hero .rm-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: rgb(var(--cl-accent));
}
.rm-status-page__hero .rm-kicker i { font-size: .72rem; }
.rm-status-page__hero h1 {
  max-width: 12ch;
  margin: 14px 0 0;
  font-size: clamp(2.15rem, 4.8vw, 4rem);
  line-height: .98;
  letter-spacing: -.06em;
}
.rm-status-page__hero p {
  max-width: 48ch;
  margin: 16px 0 0;
  color: rgba(var(--cl-t-primary), .57);
  font-size: .9rem;
  line-height: 1.65;
}
.rm-status-page__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: none;
  margin: 0;
}
.rm-status-summary {
  min-height: 66px;
  gap: 10px;
  padding: 11px 12px;
  border-color: rgba(var(--cl-t-primary), .09);
  border-radius: 12px;
  background: rgba(var(--cl-background), .5);
}
.rm-status-summary > i { width: 32px; height: 32px; border-radius: 9px; }
.rm-status-summary small { font-size: .55rem; letter-spacing: .06em; }
.rm-status-summary strong { font-size: 1.05rem; }
.rm-status-page .rm-status-groups {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.rm-status-page .rm-status-group,
.rm-status-page .rm-status-group--single {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .1);
  border-radius: 16px;
  background: rgba(var(--cl-card), .42);
}
.rm-status-page .rm-status-group__head {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  grid-template-columns: 78px minmax(0, 1fr) 30px !important;
  grid-template-rows: 1fr !important;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 100% !important;
  padding: 12px !important;
  border: 0 !important;
  border-right: 1px solid rgba(var(--cl-t-primary), .09) !important;
  background: rgba(var(--cl-background), .28);
  transition: background .2s ease;
}
.rm-status-page .rm-status-group__head:hover { background: rgba(var(--cl-t-primary), .025); }
.rm-status-page .rm-status-group__media {
  position: relative;
  display: grid;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 78px !important;
  height: 68px !important;
  min-height: 68px !important;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .09);
  border-radius: 11px;
  background: rgba(var(--cl-card), .6);
}
.rm-status-page .rm-status-group__media img {
  width: 100%;
  height: 100%;
  padding: 0 !important;
  object-fit: contain !important;
}
.rm-status-page .rm-status-group__media::after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.035); }
.rm-status-page .rm-status-group__title {
  display: flex;
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.rm-status-page .rm-status-group__title small {
  order: 0;
  color: rgb(var(--cl-accent));
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rm-status-page .rm-status-group__title strong {
  order: 1;
  overflow: hidden;
  font-size: .88rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-status-page .rm-status-group__title span {
  order: 2;
  color: rgba(var(--cl-t-primary), .43);
  font-size: .62rem;
}
.rm-status-page .rm-status-group__toggle {
  display: grid;
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(var(--cl-t-primary), .09);
  border-radius: 9px;
  color: rgba(var(--cl-t-primary), .48);
}
.rm-status-page .rm-status-group__products,
.rm-status-page .rm-status-group--single .rm-status-group__products {
  display: grid;
  grid-column: 2 !important;
  grid-row: 1 !important;
  grid-template-columns: 1fr !important;
  align-content: center;
  gap: 0;
  min-height: 0 !important;
  padding: 5px 14px !important;
}
.rm-status-page .rm-status-product,
.rm-status-page .rm-status-group--single .rm-status-product {
  position: relative;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto minmax(112px, auto) !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 62px !important;
  padding: 8px 4px !important;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgb(var(--cl-t-primary));
  transform: none !important;
  transition: background .18s ease;
}
.rm-status-page .rm-status-product + .rm-status-product { border-top: 1px solid rgba(var(--cl-t-primary), .075) !important; }
.rm-status-page .rm-status-product:hover { background: rgba(var(--cl-t-primary), .025) !important; }
.rm-status-page .rm-status-product__media {
  position: relative;
  display: grid;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .08);
  border-radius: 9px !important;
  background: rgba(var(--cl-background), .48);
}
.rm-status-page .rm-status-product__media img { width: 100%; height: 100%; padding: 0 !important; object-fit: cover !important; }
.rm-status-page .rm-status-product__media::after,
.rm-status-page .rm-status-product::after { display: none !important; }
.rm-status-page .rm-status-product__copy { display: grid; min-width: 0; gap: 3px; padding: 0 !important; }
.rm-status-page .rm-status-product__copy small {
  color: rgba(var(--cl-t-primary), .4);
  font-size: .52rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.rm-status-page .rm-status-product__copy strong {
  overflow: hidden;
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-status-page .rm-status-product__state,
.rm-status-page .rm-status-group--single .rm-status-product__state {
  position: static !important;
  display: inline-flex;
  grid-column: 3 !important;
  align-items: center;
  justify-self: end;
  gap: 7px;
  margin: 0 !important;
  padding: 5px 8px !important;
  border: 1px solid color-mix(in srgb, var(--status-color) 32%, transparent) !important;
  border-radius: 999px;
  background: color-mix(in srgb, var(--status-color) 7%, transparent) !important;
  color: var(--status-color);
  font-size: .62rem;
  line-height: 1;
}
.rm-status-page .rm-status-product__state > i { width: 6px; height: 6px; box-shadow: none; }
.rm-status-page .rm-status-product__state > i::after { display: none; }
.rm-status-page .rm-status-product__state b { font-weight: 800; }
.rm-status-page .rm-status-product__action {
  display: inline-flex;
  grid-column: 4;
  align-items: center;
  justify-self: end;
  gap: 8px;
  color: rgba(var(--cl-t-primary), .58);
  font-size: .66rem;
  font-weight: 750;
  white-space: nowrap;
  transition: color .18s ease, transform .18s ease;
}
.rm-status-page .rm-status-product:hover .rm-status-product__action { color: rgb(var(--cl-accent)); }
.rm-status-page .rm-status-product:hover .rm-status-product__action i { transform: translateX(2px); }
.rm-status-page .rm-status-product__action i { font-size: .62rem; transition: transform .18s ease; }
.rm-status-page .rm-status-product__arrow { display: none !important; }
.rm-status-page .rm-status-group:has(.rm-status-group__products[style*="display: none"]) { display: block !important; }
.rm-status-page .rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__head {
  grid-template-columns: 78px minmax(0, 1fr) 30px !important;
  min-height: 92px !important;
  border-right: 0 !important;
}

@media (max-width: 900px) {
  .rm-status-page__hero { grid-template-columns: 1fr; align-items: start; }
  .rm-status-page__summary { max-width: 620px; }
  .rm-status-page .rm-status-group,
  .rm-status-page .rm-status-group--single { grid-template-columns: 220px minmax(0, 1fr) !important; }
}
@media (max-width: 700px) {
  .rm-status-page { width: min(100% - 20px, 1180px); margin-top: 18px; }
  .rm-status-page__hero { gap: 22px; padding: 24px 18px; }
  .rm-status-page__hero h1 { max-width: none; }
  .rm-status-page .rm-status-group,
  .rm-status-page .rm-status-group--single { display: block !important; }
  .rm-status-page .rm-status-group__head {
    grid-template-columns: 74px minmax(0, 1fr) 30px !important;
    min-height: 84px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(var(--cl-t-primary), .08) !important;
  }
  .rm-status-page .rm-status-group__media { width: 74px !important; height: 58px !important; min-height: 58px !important; }
  .rm-status-page .rm-status-group__products,
  .rm-status-page .rm-status-group--single .rm-status-group__products { padding: 4px 12px !important; }
}
@media (max-width: 500px) {
  .rm-status-page__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .rm-status-summary { min-height: 58px; padding: 8px; }
  .rm-status-summary > i { width: 29px; height: 29px; }
  .rm-status-page .rm-status-product,
  .rm-status-page .rm-status-group--single .rm-status-product {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: 9px;
    min-height: 68px !important;
  }
  .rm-status-page .rm-status-product__media { width: 40px !important; height: 40px !important; min-height: 40px !important; }
  .rm-status-page .rm-status-product__state { grid-column: 3 !important; }
  .rm-status-page .rm-status-product__action {
    grid-column: 2 / -1;
    justify-self: start;
    margin-top: -3px;
    color: rgb(var(--cl-accent));
    font-size: .61rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rm-status-page .rm-status-product,
  .rm-status-page .rm-status-product__action,
  .rm-status-page .rm-status-product__action i { transition: none !important; }
}

/* Payment methods preview: compact checkout surface that stays readable on
   narrow phones. Keep each region independent so the security note and action
   never overlap the provider tiles or the explanatory copy. */
.rm-demo-payments {
  box-sizing: border-box;
  width: min(100%, 430px);
  max-width: 430px;
  margin: 22px auto 0;
  overflow: hidden;
}
.rm-demo-payments__head,
.rm-demo-payments__methods,
.rm-demo-payments__foot { box-sizing: border-box; width: 100%; }
.rm-demo-payments__head { min-height: 44px; padding: 11px 13px; }
.rm-demo-payments__head > span { min-width: 0; }
.rm-demo-payments__head small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__methods { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 10px 12px; }
.rm-demo-payments__method { min-width: 0; min-height: 54px; grid-template-columns: 26px minmax(0, 1fr) 14px; gap: 7px; padding: 7px; }
.rm-demo-payments__method > i { width: 26px; height: 26px; font-size: .9rem; }
.rm-demo-payments__method small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__foot { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 42px; padding: 9px 12px; }
.rm-demo-payments__foot > span { min-width: 0; flex: 1 1 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__foot > button { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }
@media (max-width: 560px) {
  .rm-demo-payments { width: 100%; max-width: 100%; margin-top: 18px; border-radius: 13px; }
  .rm-demo-payments__head { padding: 10px 11px; }
  .rm-demo-payments__head small { display: none; }
  .rm-demo-payments__methods { gap: 6px; padding: 9px 10px; }
  .rm-demo-payments__method { min-height: 52px; padding: 6px; }
  .rm-demo-payments__foot { gap: 6px 8px; padding: 9px 10px; font-size: .58rem; }
  .rm-demo-payments__foot > span { flex-basis: 130px; }
}
@media (max-width: 350px) {
  .rm-demo-payments__methods { grid-template-columns: 1fr; }
  .rm-demo-payments__method { min-height: 48px; }
}

/* Subtle grid texture + soft accent glow behind everything ---------------- */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.021) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.021) 1px, transparent 1px);
  background-size: 58px 58px, 58px 58px;
  -webkit-mask-image: radial-gradient(ellipse 85% 55% at 50% 0%, #000 35%, transparent 100%);
          mask-image: radial-gradient(ellipse 85% 55% at 50% 0%, #000 35%, transparent 100%);
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(58% 42% at 50% -8%, rgba(var(--cl-accent), 0.15), transparent 72%);
}

/* Shared bits -------------------------------------------------------------- */
.rm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 999px;
  padding: 13px 24px;
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid transparent;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.rm-btn--sm { padding: 10px 16px; font-size: 0.8rem; }

.rm-btn--primary {
  background: rgb(var(--cl-accent));
  color: rgb(var(--cl-t-accent));
  box-shadow: 0 10px 30px -12px rgba(var(--cl-accent), 0.8);
}

.rm-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -14px rgba(var(--cl-accent), 0.95);
}

.rm-btn--ghost {
  background: rgba(255, 255, 255, 0.035);
  border-color: var(--rm-line);
  color: rgb(var(--cl-t-primary));
}

.rm-btn--ghost:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.16);
}

.rm-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--rm-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  padding: 7px 15px;
  color: var(--rm-muted);
  font-size: 0.76rem;
  font-weight: 600;
}

.rm-badge i { color: rgb(var(--cl-accent)); font-size: 0.72rem; }

.rm-kicker {
  display: inline-block;
  border: 1px solid rgba(var(--cl-accent), 0.32);
  border-radius: 999px;
  background: rgba(var(--cl-accent), 0.1);
  padding: 5px 13px;
  color: rgb(var(--cl-accent));
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ==========================  HERO  ======================================== */
.rm-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(38px, 6vw, 76px) 0 clamp(30px, 5vw, 56px);
}

.rm-hero__glow {
  position: absolute;
  top: -12%;
  right: -6%;
  width: 62%;
  height: 88%;
  pointer-events: none;
  background: radial-gradient(circle at 60% 40%, rgba(var(--cl-accent), 0.2), transparent 62%);
  filter: blur(18px);
}

.rm-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
}

.rm-hero--no-wall .rm-hero__inner { grid-template-columns: minmax(0, 760px); justify-content: center; text-align: center; }
.rm-hero--no-wall .rm-hero__actions,
.rm-hero--no-wall .rm-hero__trust { justify-content: center; }

.rm-hero__title {
  margin: 18px 0 0;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(2.35rem, 4.6vw, 3.9rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.rm-hero__title em {
  font-style: normal;
  color: rgb(var(--cl-accent));
}

.rm-hero__copy {
  margin-top: 20px;
  max-width: 46ch;
  color: var(--rm-muted);
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.72;
}

.rm-hero--no-wall .rm-hero__copy { margin-inline: auto; }

.rm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.rm-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 26px;
  padding: 0;
  list-style: none;
}

.rm-hero__trust li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rm-muted);
  font-size: 0.79rem;
  font-weight: 550;
}

.rm-hero__trust i { color: rgb(var(--cl-accent)); font-size: 0.78rem; }

/* Blend the animated wall into the page canvas.  This deliberately paints the
   ambient accent treatment across the whole viewport rather than stopping at
   the component/container edge, while the wall fades on every edge. */
@media (min-width: 1025px) {
  .rm-hero {
    isolation: isolate;
    overflow: visible;
  }

  .rm-hero::before {
    position: absolute;
    z-index: -1;
    top: -8vw;
    bottom: -10vw;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
    content: '';
    background:
      radial-gradient(ellipse 43% 78% at 76% 45%, rgba(var(--cl-accent), .115), transparent 74%),
      radial-gradient(ellipse 27% 52% at 92% 55%, rgba(var(--cl-accent), .055), transparent 78%);
  }

  .rm-hero__glow {
    top: -18%;
    right: -14%;
    width: 78%;
    height: 116%;
    opacity: .78;
    filter: blur(32px);
  }

  .rm-hero__inner { z-index: 1; }

  .rm-hero__wall {
    -webkit-mask-image: radial-gradient(ellipse 92% 96% at 50% 48%, #000 45%, rgba(0, 0, 0, .95) 62%, transparent 100%);
            mask-image: radial-gradient(ellipse 92% 96% at 50% 48%, #000 45%, rgba(0, 0, 0, .95) 62%, transparent 100%);
  }
}

/* ---- Animated product wall (desktop / tablet) ---------------------------- */
.rm-hero__wall {
  position: relative;
  height: clamp(420px, 46vw, 560px);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 14%, #000 86%, transparent);
          mask-image: linear-gradient(180deg, transparent, #000 14%, #000 86%, transparent);
}

.rm-wall {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  height: 100%;
  transform: perspective(1500px) rotateY(-15deg) rotateX(5deg) rotateZ(-2deg) scale(1.06);
  transform-origin: center;
}

.rm-wall__col { overflow: hidden; }

.rm-wall__track {
  display: flex;
  flex-direction: column;
  gap: 14px;
  will-change: transform;
}

/* Columns 1 & 3 travel down, column 2 travels up. Negative delays start each
   column at a different phase so neighbouring columns never look identical. */
.rm-wall__col--0 .rm-wall__track,
.rm-wall__col--2 .rm-wall__track { animation: rm-wall-down var(--rm-wall-speed, 42s) linear infinite; }
.rm-wall__col--1 .rm-wall__track { animation: rm-wall-up var(--rm-wall-speed, 42s) linear infinite; }
.rm-wall__col--1 .rm-wall__track { animation-delay: calc(var(--rm-wall-speed, 42s) * -0.33); }
.rm-wall__col--2 .rm-wall__track { animation-delay: calc(var(--rm-wall-speed, 42s) * -0.66); }

@keyframes rm-wall-up {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}

@keyframes rm-wall-down {
  from { transform: translateY(-50%); }
  to   { transform: translateY(0); }
}

/* ---- Wall card ----------------------------------------------------------- */
.rm-wall-card {
  border: 1px solid var(--rm-line-soft);
  border-radius: 14px;
  background: rgba(var(--cl-card), 0.86);
  overflow: hidden;
  box-shadow: 0 18px 40px -28px rgba(0, 0, 0, 0.9);
}

.rm-wall-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: rgba(255, 255, 255, 0.022);
}

.rm-wall-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rm-wall-card__ph {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: rgba(var(--cl-accent), 0.5);
  font-size: 1.3rem;
}

.rm-wall-card__tag {
  position: absolute;
  top: 7px;
  left: 7px;
  max-width: calc(100% - 14px);
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.62);
  padding: 3px 8px;
  color: #fff;
  font-size: 0.53rem;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}

.rm-wall-card__body { padding: 9px 11px 11px; }

.rm-wall-card__body strong {
  display: block;
  overflow: hidden;
  color: rgb(var(--cl-t-primary));
  font-size: 0.72rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rm-wall-card__body span {
  display: block;
  margin-top: 3px;
  color: rgb(var(--cl-accent));
  font-size: 0.7rem;
  font-weight: 700;
}

/* ---- Mobile horizontal strip (replaces the 3 columns) -------------------- */
.rm-hero__strip { display: none; }

.rm-strip__track {
  display: flex;
  gap: 12px;
  width: max-content;
  will-change: transform;
  animation: rm-strip var(--rm-wall-speed, 42s) linear infinite;
}

.rm-strip__track .rm-wall-card { width: 156px; flex: 0 0 156px; }

@keyframes rm-strip {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ==========================  FEATURED CAROUSEL  =========================== */
.rm-featured { padding: clamp(34px, 5vw, 64px) 0; }

.rm-featured__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(26px, 3.4vw, 44px);
}

.rm-featured__head h2 {
  margin-top: 14px;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(1.6rem, 2.9vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.14;
}

.rm-featured__head p {
  margin-top: 12px;
  max-width: 56ch;
  color: var(--rm-muted);
  font-size: 0.92rem;
  line-height: 1.68;
}

.rm-coverflow {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.rm-cf__viewport {
  position: relative;
  flex: 1;
  height: clamp(430px, 44vw, 500px);
  overflow: hidden;
  touch-action: pan-y;
}

.rm-cf__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(340px, 78vw);
  margin-left: calc(min(340px, 78vw) / -2);
  border: 1px solid var(--rm-line);
  border-radius: var(--rm-radius);
  background: rgba(var(--cl-card), 0.92);
  overflow: hidden;
  box-shadow: 0 30px 70px -34px rgba(0, 0, 0, 0.95);
  transition: transform 0.5s cubic-bezier(0.22, 0.8, 0.28, 1), opacity 0.45s ease, filter 0.45s ease;
  transform-origin: center;
  translate: 0 -50%;
}

.rm-cf__card:has(+ .rm-cf__card) { will-change: transform, opacity; }

.rm-cf__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  background: rgba(255, 255, 255, 0.022);
  border-bottom: 1px solid var(--rm-line-soft);
}

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

.rm-cf__ph {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: rgba(var(--cl-accent), 0.45);
  font-size: 2rem;
}

.rm-cf__badges {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rm-cf__badges span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 4px 9px;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
}

.rm-cf__body { padding: 16px 18px 18px; }

.rm-cf__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 16px;
}

.rm-cf__meta small {
  overflow: hidden;
  color: var(--rm-muted);
  font-size: 0.63rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.rm-cf__stock {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  color: rgb(var(--cl-accent));
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 650;
}

.rm-cf__stock::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.rm-cf__stock--out { color: rgba(var(--cl-t-primary), 0.45); }

.rm-cf__body h3 {
  margin-top: 9px;
  color: rgb(var(--cl-t-primary));
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.32;
}

.rm-cf__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
  color: rgb(var(--cl-accent));
  font-size: 1.16rem;
  font-weight: 800;
}

.rm-cf__price .rm-cf__dash { color: var(--rm-muted); font-weight: 500; }
.rm-cf__price s { color: rgba(var(--cl-t-primary), 0.38); font-size: 0.83rem; font-weight: 500; }

.rm-cf__actions { display: flex; gap: 9px; margin-top: 16px; }
.rm-cf__actions > * { flex: 1; }

.rm-btn.is-disabled {
  background: rgba(255, 255, 255, 0.05);
  color: rgba(var(--cl-t-primary), 0.42);
  border-color: var(--rm-line);
  box-shadow: none;
  cursor: not-allowed;
}

.rm-cf__arrow {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: 1px solid var(--rm-line);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.035);
  color: rgb(var(--cl-t-primary));
  font-size: 0.82rem;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.rm-cf__arrow:hover {
  background: rgba(var(--cl-accent), 0.16);
  border-color: rgba(var(--cl-accent), 0.5);
  transform: scale(1.06);
}

.rm-cf__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 26px;
}

.rm-cf__dots button {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  transition: width 0.3s ease, background 0.3s ease;
}

.rm-cf__dots button.is-active {
  width: 24px;
  background: rgb(var(--cl-accent));
}

.rm-featured__foot { display: none; margin-top: 28px; text-align: center; }

/* ==========================  RESPONSIVE  ================================== */
@media (max-width: 1024px) {
  .rm-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .rm-hero__wall { height: 400px; }
  .rm-wall { transform: perspective(1400px) rotateY(-9deg) rotateX(3deg) scale(1.04); }
}

@media (max-width: 720px) {
  .rm-hero { padding-top: 26px; }
  .rm-hero__title { font-size: clamp(2rem, 8.4vw, 2.6rem); }
  .rm-hero__copy { max-width: none; }
  .rm-hero__actions { gap: 10px; }
  .rm-hero__actions .rm-btn { flex: 1 1 auto; }

  /* Swap the three-column wall for a single horizontal strip */
  .rm-hero__wall { display: none; }
  .rm-hero__strip {
    display: block;
    margin-top: 34px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }

  .rm-featured__head { flex-direction: column; align-items: flex-start; }
  .rm-featured__viewall { display: none; }
  .rm-featured__foot { display: block; }

  .rm-cf__viewport { height: 470px; }
  .rm-cf__card { width: min(300px, 84vw); margin-left: calc(min(300px, 84vw) / -2); }
  .rm-cf__arrow { width: 38px; height: 38px; }
  .rm-coverflow { gap: 4px; }
}

/* Final checkbox geometry: centered square mark for the ImGui preview. */
.rm-demo-menu__control--checkbox .rm-demo-menu__toggle,.rm-demo-menu__control--toggle .rm-demo-menu__toggle { box-sizing: border-box; display: grid; width: 19px; height: 19px; min-width: 19px; min-height: 19px; align-self: center; justify-self: center; place-items: center; padding: 0 !important; border: 1px solid rgba(var(--cl-t-primary), .32); border-radius: 4px; background: rgba(var(--cl-background), .32); line-height: 0; }
.rm-demo-menu__control--checkbox .rm-demo-menu__toggle i,.rm-demo-menu__control--toggle .rm-demo-menu__toggle i { display: block; width: 8px; height: 8px; min-width: 8px; min-height: 8px; margin: 0 !important; border-radius: 2px; background: transparent; transform: none !important; }
.rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on,.rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on { border-color: rgb(var(--cl-accent)); background: rgba(var(--cl-accent), .1); }
.rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on i,.rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on i { background: rgb(var(--cl-accent)); }

@media (prefers-reduced-motion: reduce) {
  .rm-wall__track,
  .rm-strip__track { animation: none !important; }
  .rm-cf__card { transition: none !important; }
  .rm-btn:hover { transform: none !important; }
}

/* Keep the mobile link row operable without leaking past the viewport.  This
   intentionally sits after the desktop reflow rules above. */
@media (max-width: 720px) {
  .rm-header-shell .rm-header-nav {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
  }
  .rm-header-shell .rm-header-nav::-webkit-scrollbar { display: none; }
  .rm-header-shell .rm-header-links { overflow: visible !important; }
}

/* Legal pages: readable policy surfaces with the same quiet, premium language
   as the storefront rather than a generic text box. */
.rm-legal-page { max-width: 920px; margin-inline: auto; }
.rm-legal-page__heading { margin: 0 auto 24px; text-align: center; }
.rm-legal-page__eyebrow { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: rgb(var(--cl-accent)); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rm-legal-page__eyebrow i { font-size: .7rem; }
.rm-legal-page__heading h1 { margin: 0; color: rgb(var(--cl-t-primary)); font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 850; letter-spacing: -.045em; }
.rm-legal-page__heading p { margin: 8px auto 0; max-width: 520px; color: rgba(var(--cl-t-primary), .52); font-size: .78rem; }
.rm-legal-page__surface { overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 18px; background: linear-gradient(145deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .7)); box-shadow: 0 22px 60px rgba(0,0,0,.16), inset 0 1px 0 rgba(var(--cl-t-primary), .035); }
.rm-legal-page__bar { display: flex; align-items: center; justify-content: space-between; padding: 13px 20px; border-bottom: 1px solid rgba(var(--cl-t-primary), .09); background: rgba(var(--cl-background), .24); color: rgba(var(--cl-t-primary), .42); font-size: .57rem; font-weight: 800; letter-spacing: .14em; }
.rm-legal-page__bar i { color: rgb(var(--cl-accent)); font-size: .65rem; }
.rm-legal-page__content { padding: clamp(20px, 4vw, 38px); color: rgba(var(--cl-t-primary), .72); font-size: .91rem; line-height: 1.78; }
.rm-legal-page__content > :first-child { margin-top: 0; }
.rm-legal-page__content > :last-child { margin-bottom: 0; }
.rm-legal-page__content h1,.rm-legal-page__content h2,.rm-legal-page__content h3 { margin: 1.65em 0 .55em; color: rgb(var(--cl-t-primary)); font-weight: 800; letter-spacing: -.025em; line-height: 1.25; }
.rm-legal-page__content h1 { font-size: 1.35rem; }.rm-legal-page__content h2 { font-size: 1.1rem; }.rm-legal-page__content h3 { font-size: .98rem; }
.rm-legal-page__content p { margin: .75em 0; }.rm-legal-page__content strong { color: rgb(var(--cl-t-primary)); font-weight: 750; }.rm-legal-page__content a { color: rgb(var(--cl-accent)); text-decoration: underline; text-underline-offset: 3px; }.rm-legal-page__content ul,.rm-legal-page__content ol { margin: .75em 0; padding-left: 1.3em; }.rm-legal-page__content li { margin: .35em 0; }.rm-legal-page__content hr { margin: 1.5em 0; border: 0; border-top: 1px solid rgba(var(--cl-t-primary), .1); }
@media (max-width: 620px) { .rm-legal-page { padding-top: 26px; padding-bottom: 26px; }.rm-legal-page__surface { border-radius: 14px; }.rm-legal-page__bar { padding-inline: 15px; }.rm-legal-page__content { padding: 20px 17px; font-size: .86rem; line-height: 1.7; } }

/* Live storefront header refresh */
.rm-header { position: relative; z-index: 20; }
.rm-header-shell { display: flex; align-items: center; gap: 22px; min-height: 72px; padding: 10px 14px 10px 18px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 20px; background: linear-gradient(120deg, rgba(var(--cl-card), .94), rgba(var(--cl-background), .78)); box-shadow: 0 18px 44px rgba(0,0,0,.16); }
.rm-header-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 11px; min-width: max-content; color: rgb(var(--cl-t-primary)); }
.rm-header-brand__logo { width: 38px; height: 38px; border: 1px solid rgba(var(--cl-accent), .22); border-radius: 12px; object-fit: cover; }
.rm-header-brand__name { font-size: 1rem; font-weight: 800; letter-spacing: -.025em; }
.rm-header-nav { flex: 1 1 auto; min-width: 0; margin: 0; border: 0; }
.rm-header-links { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.rm-header-links::-webkit-scrollbar { display: none; }
.rm-header-link { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: rgba(var(--cl-t-primary), .68); font-size: .75rem; font-weight: 700; white-space: nowrap; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.rm-header-link:hover,.rm-header-link:focus-visible { border-color: rgba(var(--cl-t-primary), .1); background: rgba(var(--cl-t-primary), .055); color: rgb(var(--cl-t-primary)); transform: translateY(-1px); outline: 0; }
.rm-header-link.is-active { border-color: rgba(var(--cl-accent), .28); background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); }
.rm-header-link--button { cursor: pointer; font-family: inherit; }
.rm-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.rm-header-actions .choices { min-width: 80px; }
.rm-header-actions .choices__inner { min-height: 38px; padding: 9px 25px 6px 10px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 10px; background: rgba(var(--cl-background), .56); }
.rm-header-actions .choices:hover .choices__inner,.rm-header-actions .choices.is-focused .choices__inner { border-color: rgba(var(--cl-accent), .45); background: rgba(var(--cl-accent), .06); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .08); }
.rm-header-language .choices__inner { min-width: 92px; }
.rm-header-language .flag { width: 17px; height: 17px; border-radius: 50%; }
.rm-header-cart { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 11px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 10px; color: rgba(var(--cl-t-primary), .8); font-size: .75rem; font-weight: 750; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.rm-header-cart:hover,.rm-header-cart:focus-visible,.rm-header-cart.is-active { border-color: rgba(var(--cl-accent), .4); background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); transform: translateY(-1px); outline: 0; }
.rm-header-cart__count { display: inline-grid; min-width: 18px; height: 18px; place-items: center; border-radius: 999px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .62rem; }
.rm-header-stats { display: flex; justify-content: flex-end; gap: 18px; margin-top: 8px; padding: 0 8px; color: rgba(var(--cl-t-primary), .42); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.rm-header-stats strong { margin-right: 3px; color: rgba(var(--cl-t-primary), .78); font-size: .7rem; }
.rm-cart-page { padding-top: 14px; }
.rm-cart-page > div > div:first-child { margin-bottom: 28px; }
.rm-cart-page .rm-cart-item { border-radius: 18px; }
.rm-cart-page .rm-cart-summary { border-radius: 18px; padding: 20px; }
.rm-cart-page .rm-cart-summary form > div:first-child label { color: rgb(var(--cl-t-primary)); font-size: 1rem; font-weight: 800; letter-spacing: -.02em; }
.rm-cart-page .rm-cart-checkout { border-radius: 12px; font-size: .88rem; }
.rm-cart-recommendations { margin-top: 14px; }
@media (max-width: 900px) {
  .rm-header-shell { flex-wrap: wrap; gap: 8px 14px; }
  .rm-header-nav { order: 3; flex-basis: 100%; }
  .rm-header-links { justify-content: flex-start; }
  .rm-header-stats { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 620px) {
  .rm-header-shell { padding: 10px; border-radius: 16px; }
  .rm-header-brand__name { font-size: .9rem; }
  .rm-header-actions { margin-left: auto; }
  .rm-header-actions .rm-header-language { display: none; }
  .rm-header-cart__label { display: none; }
  .rm-header-cart { padding: 0 10px; }
  .rm-header-stats { gap: 10px; font-size: .56rem; }
  .rm-header-stats strong { font-size: .62rem; }
}

/* Header selector repair: Choices renders its menu inside this shell. */
.rm-header-shell { overflow: visible; isolation: isolate; }
.rm-header-nav { padding: 3px; border: 1px solid rgba(var(--cl-t-primary), .07); border-radius: 13px; background: rgba(var(--cl-background), .32); }
/* The scroll container is .rm-header-links itself (overflow-x: auto forces
   overflow-y: auto too), not its .rm-header-nav parent — the 3px padding
   above sits outside that clipping box. Without room of its own, the
   :hover translateY(-1px) lift got cut by the row's own top edge. */
.rm-header-links { gap: 2px; padding-block: 4px; }
.rm-header-link { min-height: 34px; padding: 0 10px; border-radius: 9px; font-size: .72rem; }
.rm-header-stats { flex: 0 0 auto; gap: 10px; margin: 0; padding: 0 4px; white-space: nowrap; }
.rm-header-stats span { display: inline-flex; align-items: baseline; gap: 3px; }
.rm-header-stats strong { margin: 0; color: rgb(var(--cl-t-primary)); font-size: .7rem; }
.rm-header-actions { gap: 6px; }
.rm-header-actions .currency-selector .choices__inner .choices__item { display: inline-flex; align-items: center; max-width: none; gap: 4px; overflow: visible; }
.rm-header-actions .currency-selector .choices__inner .code { display: inline !important; color: rgb(var(--cl-t-primary)); font-size: .72rem; font-weight: 800; }
.rm-header-actions .currency-selector .choices__inner .default { display: none !important; }
.rm-header-actions .currency-selector .choices__inner .symbol { display: inline; min-width: 0; padding: 0; color: rgba(var(--cl-t-primary), .55); background: transparent; font-size: .68rem; }
.rm-header-actions .currency-selector .choices__inner { min-width: 78px; padding-right: 22px; }
.rm-header-actions .choices__list.choices__list--dropdown { z-index: 80; width: min(230px, calc(100vw - 24px)); max-height: min(360px, calc(100vh - 96px)); margin-top: 8px; overflow-y: auto; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 14px; background: rgb(var(--cl-card)); box-shadow: 0 22px 55px rgba(0,0,0,.35); }
.rm-header-actions .currency-selector .choices__list.choices__list--dropdown { right: 0; left: auto; margin-left: 0; }
.rm-header-actions .choices__list--dropdown .choices__item { min-height: 40px; padding: 10px 12px; color: rgba(var(--cl-t-primary), .78); }
.rm-header-actions .choices__list--dropdown .choices__item.is-highlighted { background: rgba(var(--cl-t-primary), .06); color: rgb(var(--cl-t-primary)); }
.rm-header-actions .choices__list--dropdown .choices__item.is-selected { background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); }
.rm-header-actions .choices__input.choices__input--cloned { min-height: 38px; margin: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .1); background: transparent; color: rgb(var(--cl-t-primary)); }
@media (max-width: 1080px) {
  .rm-header-shell { gap: 10px; }
  .rm-header-stats { display: none; }
}
@media (max-width: 900px) {
  .rm-header-nav { order: 3; width: 100%; }
}

/* Product catalog: premium cards and accessible A-Z navigation */
.premium-product-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(var(--cl-t-primary), .09);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .16);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.premium-product-card::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 88% 0, rgba(var(--cl-accent), .1), transparent 38%), linear-gradient(145deg, rgba(var(--cl-t-primary), .025), transparent 62%);
  pointer-events: none;
}

.premium-product-card:hover,
.premium-product-card:focus-visible {
  border-color: rgba(var(--cl-accent), .42);
  box-shadow: 0 22px 54px rgba(0, 0, 0, .23), 0 0 0 1px rgba(var(--cl-accent), .08);
  transform: translateY(-4px);
}

.premium-product-card:focus-visible {
  outline: 2px solid rgb(var(--cl-accent));
  outline-offset: 3px;
}

.premium-product-card__media {
  margin-inline: 10px;
  border: 1px solid rgba(var(--cl-t-primary), .08);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(var(--cl-card), .85), rgba(var(--cl-background), .62));
}

.premium-product-card__media img,
.premium-product-card__placeholder {
  display: block;
  border-radius: 13px;
}

.premium-product-card__media img {
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), filter .45s ease;
}

.premium-product-card:hover .premium-product-card__media img,
.premium-product-card:focus-visible .premium-product-card__media img {
  filter: saturate(1.08);
  transform: scale(1.045);
}

.premium-product-card__placeholder {
  background: radial-gradient(circle at 50% 40%, rgba(var(--cl-accent), .11), transparent 56%);
}

.premium-product-card__overlay {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 16px;
  background: linear-gradient(180deg, rgba(var(--cl-background), .08), rgba(var(--cl-background), .72));
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}

.premium-product-card:hover .premium-product-card__overlay,
.premium-product-card:focus-visible .premium-product-card__overlay {
  opacity: 1;
}

.premium-product-card__details-cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(var(--cl-accent), .7);
  border-radius: 999px;
  background: rgba(var(--cl-card), .9);
  color: rgb(var(--cl-t-primary));
  box-shadow: 0 10px 24px rgba(0, 0, 0, .24);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .01em;
  transform: translateY(8px);
  transition: transform .28s ease, background-color .28s ease, color .28s ease;
}

.premium-product-card:hover .premium-product-card__details-cta,
.premium-product-card:focus-visible .premium-product-card__details-cta {
  background: rgb(var(--cl-accent));
  color: rgb(var(--cl-t-accent));
  transform: translateY(0);
}

.premium-product-card__body {
  padding-top: 2px;
}

.premium-product-card__eyebrow {
  min-height: 16px;
  margin-bottom: 6px;
  color: rgba(var(--cl-accent), .92);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.premium-product-card__title {
  letter-spacing: -.015em;
}

.premium-product-card__availability {
  min-height: 21px;
}

.premium-product-card__price {
  padding-top: 10px;
  border-top: 1px solid rgba(var(--cl-t-primary), .07);
}

.premium-letter-filter {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 8px;
  overflow-x: auto;
  border: 1px solid rgba(var(--cl-t-primary), .08);
  border-radius: 14px;
  background: rgba(var(--cl-card), .64);
  scrollbar-width: thin;
}

.premium-letter-filter__item {
  flex: 0 0 auto;
  min-width: 34px;
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: rgba(var(--cl-t-primary), .62);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.premium-letter-filter__item:hover {
  border-color: rgba(var(--cl-accent), .25);
  background: rgba(var(--cl-accent), .08);
  color: rgb(var(--cl-t-primary));
  transform: translateY(-1px);
}

.premium-letter-filter__item:focus-visible {
  outline: 2px solid rgb(var(--cl-accent));
  outline-offset: 2px;
}

.premium-letter-filter__item.is-active {
  border-color: rgba(var(--cl-accent), .6);
  background: rgba(var(--cl-accent), .14);
  color: rgb(var(--cl-accent));
}

@media (max-width: 640px) {
  .premium-letter-filter {
    border-radius: 12px;
    padding: 7px;
  }

  .premium-letter-filter__item {
    min-width: 32px;
    min-height: 36px;
  }
}

/* Catalog controls and benefit cards --------------------------------------
   Final, component-scoped polish. These use the active Visual Editor accent
   so merchants can change the store palette without static theme colours. */
.rm-products-toolbar__actions .rm-btn {
  min-height: 46px;
  padding-inline: 17px;
  border-radius: 11px;
  font-weight: 800;
  letter-spacing: .01em;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease,
    background .2s ease, border-color .2s ease, color .2s ease;
}

.rm-products-toolbar__actions .rm-btn--primary {
  color: rgb(var(--cl-t-accent));
  border: 2px solid transparent;
  background:
    linear-gradient(140deg, rgb(var(--cl-accent)) 12%, rgba(var(--cl-accent), .74) 115%) padding-box,
    linear-gradient(142deg, rgba(255, 255, 255, .52), rgb(var(--cl-accent))) border-box;
  box-shadow: 0 10px 22px rgba(var(--cl-accent), .22), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.rm-products-toolbar__actions .rm-btn--primary:hover {
  color: rgb(var(--cl-t-accent));
  filter: saturate(1.08) brightness(1.04);
  transform: translateY(-2px);
  box-shadow: 0 15px 28px rgba(var(--cl-accent), .28), inset 0 1px 0 rgba(255, 255, 255, .22);
}

.rm-products-toolbar__actions .rm-btn--ghost {
  color: rgb(var(--cl-t-primary));
  border-color: rgba(var(--cl-t-primary), .16);
  background: linear-gradient(140deg, rgba(var(--cl-t-primary), .07), rgba(var(--cl-t-primary), .025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
}

.rm-products-toolbar__actions .rm-btn--ghost:hover {
  color: rgb(var(--cl-accent));
  border-color: rgba(var(--cl-accent), .54);
  background: rgba(var(--cl-accent), .09);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(var(--cl-accent), .12), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.rm-products-toolbar__actions .rm-btn:active { transform: translateY(0) scale(.98); }

.rm-products-toolbar__actions .rm-btn:focus-visible {
  outline: 2px solid rgb(var(--cl-accent));
  outline-offset: 3px;
}

/* A quiet two-line frame animates within benefit-card bounds on hover or
   keyboard focus, preserving the card's content and avoiding flashy flips. */
.rm-catalog-benefit {
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(var(--cl-t-primary), .035), rgba(var(--cl-t-primary), .012));
  transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease, background .24s ease;
}

.rm-catalog-benefit::before,
.rm-catalog-benefit::after {
  content: "";
  position: absolute;
  z-index: 0;
  display: block;
  height: 1px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(var(--cl-accent), .95), transparent);
  box-shadow: 0 0 10px rgba(var(--cl-accent), .45);
  transition: opacity .2s ease, transform .4s cubic-bezier(.2, .8, .2, 1);
}

.rm-catalog-benefit::before {
  top: 0;
  right: 16px;
  left: 16px;
  width: auto;
  transform: translateX(-112%);
}

.rm-catalog-benefit::after {
  right: 16px;
  bottom: 0;
  left: 16px;
  width: auto;
  border: 0;
  transform: translateX(112%);
}

.rm-catalog-benefit:hover,
.rm-catalog-benefit:focus-within {
  border-color: rgba(var(--cl-accent), .42);
  background: linear-gradient(145deg, rgba(var(--cl-accent), .11), rgba(var(--cl-t-primary), .02) 58%);
  box-shadow: 0 14px 32px rgba(0, 0, 0, .2), 0 0 0 1px rgba(var(--cl-accent), .07);
  transform: translateY(-3px);
}

.rm-catalog-benefit:hover::before,
.rm-catalog-benefit:focus-within::before,
.rm-catalog-benefit:hover::after,
.rm-catalog-benefit:focus-within::after {
  opacity: 1;
  transform: translateX(0);
}

.rm-catalog-benefit__top,
.rm-catalog-benefit__content,
.rm-catalog-benefit__verified {
  position: relative;
  z-index: 1;
}

@media (max-width: 620px) {
  .rm-products-toolbar__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .rm-products-toolbar__actions .rm-btn {
    justify-content: center;
    padding-inline: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm-products-toolbar__actions .rm-btn,
  .rm-catalog-benefit,
  .rm-catalog-benefit::before,
  .rm-catalog-benefit::after {
    transition: none !important;
  }
}

@media (hover: none) {
  .premium-product-card:hover {
    border-color: rgba(var(--cl-t-primary), .09);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .16);
    transform: none;
  }

  .premium-product-card:hover .premium-product-card__overlay {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .premium-product-card,
  .premium-product-card__media img,
  .premium-product-card__overlay,
  .premium-product-card__details-cta,
  .premium-letter-filter__item {
    transition: none !important;
  }
}

/* Keep the catalog controls visually separated from the product grid. */
.premium-letter-filter {
  margin-bottom: 24px;
}

/* Social Growth ------------------------------------------------------------ */
.rm-social-growth,
.rm-why-choose {
  position: relative;
  margin-block: clamp(42px, 7vw, 92px);
}

.rm-social-growth::before,
.rm-why-choose::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -18% -8%;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 20%, rgba(var(--cl-accent), .13), transparent 58%);
  filter: blur(18px);
}

.rm-social-growth__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}

.rm-social-growth__header h2,
.rm-why-choose__heading h2 {
  max-width: 760px;
  margin: 16px 0 0;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.rm-social-growth__header p,
.rm-why-choose__heading p {
  max-width: 58ch;
  margin: 16px 0 0;
  color: var(--rm-muted);
  font-size: .98rem;
  line-height: 1.65;
}

.rm-social-growth__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(300px, .98fr);
  gap: clamp(22px, 5vw, 66px);
  align-items: center;
  padding: clamp(24px, 5vw, 58px);
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .11);
  border-radius: 28px;
  background: radial-gradient(circle at 10% 0, rgba(var(--cl-accent), .12), transparent 38%), linear-gradient(145deg, rgba(var(--cl-card), .94), rgba(var(--cl-background), .74));
  box-shadow: 0 28px 76px rgba(0, 0, 0, .2);
}

.rm-social-growth__chart {
  position: relative;
  min-height: 270px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-t-primary), .12);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(var(--cl-background), .72), rgba(var(--cl-card), .5));
}

.rm-social-growth__chart::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(var(--cl-t-primary), .035) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--cl-t-primary), .035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.rm-social-growth__platforms,
.rm-social-growth__features,
.rm-demo-delivery,
.rm-demo-payments > div {
  display: flex;
  align-items: center;
}

.rm-social-growth__platforms {
  position: relative;
  gap: 7px;
}

.rm-social-growth__platform {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(var(--cl-accent), .28);
  border-radius: 13px;
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-t-primary));
  font-size: 1.05rem;
  animation: rmSocialFloat 3.8s ease-in-out infinite;
  transition: all 0.3s ease;
}

.rm-social-growth__platform--instagram { border-color: #E4405F !important; background: rgba(228, 64, 95, 0.1) !important; color: #E4405F !important; }
.rm-social-growth__platform--tiktok { border-color: #FE2C55 !important; background: rgba(254, 44, 85, 0.1) !important; color: #FE2C55 !important; }
.rm-social-growth__platform--youtube { border-color: #FF0000 !important; background: rgba(255, 0, 0, 0.1) !important; color: #FF0000 !important; }
.rm-social-growth__platform--twitch { border-color: #9146FF !important; background: rgba(145, 70, 255, 0.1) !important; color: #9146FF !important; }
.rm-social-growth__platform--reviews { border-color: #FFD700 !important; background: rgba(255, 215, 0, 0.1) !important; color: #FFD700 !important; }

.rm-social-growth__platform:nth-child(2n) { animation-delay: -.9s; }
.rm-social-growth__platform:nth-child(3n) { animation-delay: -1.7s; }

.rm-social-growth__chart-label {
  display: block;
  margin-top: 34px;
  color: rgb(var(--cl-accent));
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.rm-social-growth__chart strong {
  display: block;
  margin-top: 7px;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  letter-spacing: -.035em;
}

.rm-social-growth__bars {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: flex;
  align-items: end;
  gap: 8px;
  height: 86px;
}

.rm-social-growth__bars i {
  flex: 1;
  height: 38%;
  border-radius: 8px 8px 2px 2px;
  background: linear-gradient(180deg, rgb(var(--cl-accent)), rgba(var(--cl-accent), .3));
  transform-origin: bottom;
  animation: rmBarGrow 2.8s ease-in-out infinite alternate;
}

.rm-social-growth__bars i:nth-child(2) { height: 52%; animation-delay: -.3s; }
.rm-social-growth__bars i:nth-child(3) { height: 44%; animation-delay: -.6s; }
.rm-social-growth__bars i:nth-child(4) { height: 66%; animation-delay: -.9s; }
.rm-social-growth__bars i:nth-child(5) { height: 58%; animation-delay: -1.2s; }
.rm-social-growth__bars i:nth-child(6) { height: 74%; animation-delay: -1.5s; }
.rm-social-growth__bars i:nth-child(7) { height: 68%; animation-delay: -1.8s; }
.rm-social-growth__bars i:nth-child(8) { height: 92%; animation-delay: -2.1s; }

.rm-social-growth__features {
  align-items: stretch;
  flex-direction: column;
  gap: 16px;
}

.rm-social-growth__feature {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.rm-social-growth__feature-icon,
.rm-why-choose__tab-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(var(--cl-accent), .32);
  border-radius: 13px;
  background: rgba(var(--cl-accent), .08);
  color: rgb(var(--cl-accent));
}

.rm-social-growth__feature strong,
.rm-social-growth__feature p { display: block; }
.rm-social-growth__feature strong { color: rgb(var(--cl-t-primary)); font-size: .98rem; }
.rm-social-growth__feature p { margin-top: 4px; color: var(--rm-muted); font-size: .82rem; line-height: 1.45; }

/* Why Choose Us ------------------------------------------------------------ */
.rm-why-choose__heading { text-align: center; }
.rm-why-choose__heading .rm-kicker { margin-inline: auto; }
.rm-why-choose__heading h2 { margin-inline: auto; }
.rm-why-choose__heading p { margin-inline: auto; }

.rm-why-choose__layout {
  display: grid;
  grid-template-columns: minmax(270px, .82fr) minmax(0, 1.18fr);
  gap: 18px;
  margin-top: 38px;
}

.rm-why-choose__tabs,
.rm-why-choose__stage {
  padding: 14px;
  border: 1px solid rgba(var(--cl-t-primary), .1);
  border-radius: 22px;
  background: rgba(var(--cl-card), .72);
}

.rm-why-choose__tabs { display: grid; gap: 8px; align-content: start; }

.rm-why-choose__tab {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: rgb(var(--cl-t-primary));
  text-align: left;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.rm-why-choose__tab:hover,
.rm-why-choose__tab:focus-visible,
.rm-why-choose__tab.is-active {
  border-color: rgba(var(--cl-accent), .3);
  background: rgba(var(--cl-accent), .08);
  transform: translateX(3px);
}

.rm-why-choose__tab:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }
.rm-why-choose__tab.is-active .rm-why-choose__tab-icon { background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); }
.rm-why-choose__tab strong { display: block; font-size: .92rem; }
.rm-why-choose__tab small { display: block; margin-top: 4px; color: var(--rm-muted); font-size: .72rem; line-height: 1.35; }
.rm-why-choose__tab > i { color: rgba(var(--cl-t-primary), .36); font-size: .72rem; transition: transform .25s ease, color .25s ease; }
.rm-why-choose__tab.is-active > i { color: rgb(var(--cl-accent)); transform: translateX(3px); }

.rm-why-choose__stage { min-height: 390px; display: grid; place-items: stretch; }
.rm-why-choose__demo { position: relative; min-height: 360px; padding: 20px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 16px; background: radial-gradient(circle at 90% 0, rgba(var(--cl-accent), .12), transparent 42%), rgba(var(--cl-background), .58); }
.rm-why-choose__demo-topline { display: flex; align-items: center; justify-content: space-between; color: rgba(var(--cl-t-primary), .5); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.rm-why-choose__demo-topline span { color: rgb(var(--cl-accent)); }
.rm-why-choose__demo-copy { position: absolute; right: 20px; bottom: 20px; left: 20px; margin: 0; color: var(--rm-muted); font-size: .82rem; line-height: 1.55; }

.rm-demo-delivery { justify-content: space-between; gap: 8px; margin-top: 94px; }
.rm-demo-delivery__step { display: grid; justify-items: center; gap: 9px; min-width: 78px; color: rgba(var(--cl-t-primary), .5); font-size: .65rem; text-align: center; }
.rm-demo-delivery__step i { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .16); border-radius: 50%; background: rgba(var(--cl-card), .8); }
.rm-demo-delivery__step.is-done i,.rm-demo-delivery__step.is-active i { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 0 0 8px rgba(var(--cl-accent), .08); }
.rm-demo-delivery__step.is-done,.rm-demo-delivery__step.is-active { color: rgb(var(--cl-t-primary)); }
.rm-demo-delivery__line { flex: 1; height: 1px; background: rgba(var(--cl-accent), .32); }
.rm-demo-delivery__line i { display: block; width: 45%; height: 100%; background: rgb(var(--cl-accent)); animation: rmDeliveryLine 2.2s ease-in-out infinite alternate; }

.rm-demo-checkout { max-width: 500px; margin: 58px auto 0; }
.rm-demo-checkout > div { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 13px 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .08); }
.rm-demo-checkout span { color: var(--rm-muted); font-size: .75rem; }
.rm-demo-checkout strong { font-size: .85rem; }
.rm-demo-checkout b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: rgb(var(--cl-t-primary)); }
.rm-demo-checkout__total { margin-top: 8px; border: 0 !important; color: rgb(var(--cl-t-primary)); }
.rm-demo-checkout__total strong { color: rgb(var(--cl-accent)); font-size: 1.25rem; }
.rm-demo-checkout p { margin-top: 16px; color: rgb(var(--cl-accent)); font-size: .78rem; }

.rm-demo-dashboard { display: grid; grid-template-columns: 58px 1fr; min-height: 215px; margin-top: 50px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 14px; background: rgba(var(--cl-card), .72); }
.rm-demo-dashboard__nav { display: grid; align-content: center; justify-items: center; gap: 18px; border-right: 1px solid rgba(var(--cl-t-primary), .08); color: rgba(var(--cl-t-primary), .42); }
.rm-demo-dashboard__nav i:first-child { color: rgb(var(--cl-accent)); }
.rm-demo-dashboard__content { padding: 28px; }
.rm-demo-dashboard__content span { color: rgb(var(--cl-accent)); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rm-demo-dashboard__content strong { display: block; margin-top: 12px; font-size: clamp(1.2rem, 2.7vw, 2rem); letter-spacing: -.03em; }
.rm-demo-dashboard__content div { display: flex; gap: 10px; margin-top: 28px; }
.rm-demo-dashboard__content div i { width: 28%; height: 8px; border-radius: 999px; background: rgba(var(--cl-accent), .5); animation: rmDashboardPulse 1.8s ease-in-out infinite; }
.rm-demo-dashboard__content div i:nth-child(2) { width: 18%; animation-delay: -.4s; }.rm-demo-dashboard__content div i:nth-child(3) { width: 38%; animation-delay: -.8s; }

.rm-demo-menu { max-width: 430px; margin: 42px auto 0; padding: 18px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 16px; background: rgba(var(--cl-card), .72); }
.rm-demo-menu__title { display: flex; justify-content: space-between; margin-bottom: 14px; color: rgb(var(--cl-t-primary)); font-size: .8rem; font-weight: 750; }.rm-demo-menu__title small { color: rgb(var(--cl-accent)); font-size: .65rem; }
.rm-demo-menu button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 12px 0; border-top: 1px solid rgba(var(--cl-t-primary), .08); color: var(--rm-muted); font-size: .8rem; text-align: left; }
.rm-demo-menu button i { width: 34px; height: 18px; border-radius: 999px; background: rgba(var(--cl-t-primary), .16); transition: background .2s ease; }.rm-demo-menu button i::after { content: ''; display: block; width: 14px; height: 14px; margin: 2px; border-radius: 50%; background: rgba(var(--cl-t-primary), .7); transition: transform .2s ease; }.rm-demo-menu button.is-on i { background: rgb(var(--cl-accent)); }.rm-demo-menu button.is-on i::after { background: rgb(var(--cl-t-accent)); transform: translateX(16px); }

.rm-demo-payments { margin-top: 62px; }.rm-demo-payments__label { display: block; margin-bottom: 16px; color: rgb(var(--cl-t-primary)); font-size: .85rem; font-weight: 750; }.rm-demo-payments > div { flex-wrap: wrap; gap: 10px; }.rm-demo-payments > div > span { display: grid; min-width: 88px; min-height: 72px; place-items: center; gap: 5px; padding: 12px 8px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 12px; background: rgba(var(--cl-card), .7); color: rgb(var(--cl-t-primary)); transition: transform .25s ease, border-color .25s ease, background .25s ease; }.rm-demo-payments > div > span:hover { border-color: rgba(var(--cl-accent), .5); background: rgba(var(--cl-accent), .1); transform: translateY(-3px); }.rm-demo-payments i { color: rgb(var(--cl-accent)); font-size: 1.35rem; }.rm-demo-payments small { color: var(--rm-muted); font-size: .63rem; }

/* Contact support showcase ------------------------------------------------- */
.rm-why-choose__demo:has(.rm-support-player) { min-height: 430px; }
.rm-support-player { display: grid; gap: 10px; margin-top: 12px; }
.rm-support-player__switcher { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 4px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 11px; background: rgba(var(--cl-background), .62); }
.rm-support-player__switcher button { display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; padding: 8px 10px; border: 1px solid transparent; border-radius: 8px; color: rgba(var(--cl-t-primary), .56); font-size: .7rem; font-weight: 750; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.rm-support-player__switcher button:hover { color: rgb(var(--cl-t-primary)); }
.rm-support-player__switcher button.is-active { border-color: rgba(var(--cl-accent), .35); background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .06); }
.rm-support-player__switcher button:active { transform: scale(.98); }
.rm-support-player__switcher button:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }
.rm-support-player__viewport { min-width: 0; height: 275px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 13px; background: rgba(var(--cl-background), .74); box-shadow: 0 18px 40px rgba(0, 0, 0, .12); }

.rm-support-discord { position: relative; display: grid; grid-template-columns: 42px 112px minmax(0, 1fr); height: 100%; overflow: hidden; background: #313338; color: #dbdee1; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.rm-support-discord__rail { display: grid; align-content: start; justify-items: center; gap: 9px; padding: 10px 5px; background: #1e1f22; }
.rm-support-discord__rail > * { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 9px; background: #2b2d31; color: #b5bac1; font-size: .62rem; font-style: normal; }
.rm-support-discord__rail > i { background: #5865f2; color: #fff; font-size: .8rem; }
.rm-support-discord__channels { display: grid; align-content: start; gap: 3px; padding: 11px 7px; background: #2b2d31; }
.rm-support-discord__channels strong { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; overflow: hidden; color: #f2f3f5; font-size: .58rem; white-space: nowrap; text-overflow: ellipsis; }
.rm-support-discord__channels small { margin: 5px 4px 1px; color: #949ba4; font-size: .43rem; font-weight: 800; letter-spacing: .04em; }
.rm-support-discord__channels span { display: flex; align-items: center; gap: 4px; padding: 5px 6px; border-radius: 4px; color: #949ba4; font-size: .54rem; }
.rm-support-discord__channels span.is-active { background: #404249; color: #f2f3f5; }
.rm-support-discord__chat { display: grid; grid-template-rows: 34px minmax(0, 1fr) 31px; min-width: 0; }
.rm-support-discord__chat > header { display: flex; align-items: center; justify-content: space-between; padding: 0 10px; border-bottom: 1px solid rgba(0, 0, 0, .18); color: #f2f3f5; font-size: .59rem; box-shadow: 0 1px 0 rgba(255,255,255,.025); }
.rm-support-discord__chat > header span { display: flex; gap: 5px; align-items: center; }.rm-support-discord__chat > header i { color: #b5bac1; }
.rm-support-discord__messages { position: relative; overflow: hidden; padding: 11px 10px; }
.rm-discord-message { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 7px; min-width: 0; }
.rm-discord-message__avatar { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .64rem; }
.rm-discord-message > div { min-width: 0; }.rm-discord-message > div > strong { color: #f2f3f5; font-size: .58rem; }.rm-discord-message > div > strong b { margin-left: 3px; padding: 1px 3px; border-radius: 2px; background: #5865f2; color: #fff; font-size: .42rem; }.rm-discord-message > div > small { margin-left: 4px; color: #949ba4; font-size: .43rem; }
.rm-discord-embed { max-width: 290px; margin-top: 5px; padding: 7px 9px; border-left: 3px solid #5865f2; border-radius: 3px; background: #2b2d31; }
.rm-discord-embed strong { color: #f2f3f5; font-size: .56rem; }.rm-discord-embed p { margin: 3px 0 0; color: #dbdee1; font-size: .48rem; line-height: 1.42; }
.rm-discord-support-button { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; padding: 6px 9px; border-radius: 4px; background: #5865f2; color: #fff; font-size: .49rem; font-weight: 750; animation: rmDiscordButton 8s ease-in-out infinite; }
.rm-discord-message--ticket { position: absolute; right: 10px; bottom: 7px; left: 10px; opacity: 0; transform: translateY(18px) scale(.98); animation: rmDiscordTicket 8s cubic-bezier(.2,.8,.2,1) infinite; }
.rm-discord-embed--ticket { border-left-color: rgb(var(--cl-accent)); }.rm-discord-embed--ticket small { display: block; margin-top: 5px; color: #b5bac1; font-size: .43rem; }.rm-discord-embed--ticket small i { margin-right: 3px; color: #23a55a; font-size: .35rem; }
.rm-support-discord__composer { display: flex; align-items: center; gap: 7px; margin: 0 9px 7px; padding: 0 8px; border-radius: 5px; background: #383a40; color: #949ba4; font-size: .48rem; }.rm-support-discord__composer span { flex: 1; }
.rm-support-cursor { position: absolute; z-index: 5; display: grid; width: 21px; height: 21px; place-items: center; color: #fff; filter: drop-shadow(0 2px 2px rgba(0,0,0,.65)); pointer-events: none; }
.rm-support-cursor--discord { top: 72%; left: 58%; animation: rmDiscordCursor 8s cubic-bezier(.45,0,.2,1) infinite; }

.rm-support-invoice { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); height: 100%; overflow: hidden; background: radial-gradient(circle at 84% 5%, rgba(var(--cl-accent), .11), transparent 38%), rgb(var(--cl-background)); color: rgb(var(--cl-t-primary)); }
.rm-support-invoice__nav { display: grid; align-content: start; justify-items: center; gap: 14px; padding: 10px 6px; border-right: 1px solid rgba(var(--cl-t-primary), .09); background: rgba(var(--cl-card), .55); color: rgba(var(--cl-t-primary), .34); font-size: .64rem; }
.rm-support-invoice__nav span { display: grid; width: 29px; height: 29px; place-items: center; margin-bottom: 2px; border-radius: 9px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); }.rm-support-invoice__nav i.is-active { color: rgb(var(--cl-accent)); }
.rm-support-invoice__main { min-width: 0; padding: 12px 14px; }
.rm-support-invoice__main > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.rm-support-invoice__main > header div { display: grid; }.rm-support-invoice__main > header small { color: rgb(var(--cl-accent)); font-size: .45rem; font-weight: 800; letter-spacing: .1em; }.rm-support-invoice__main > header strong { font-size: .8rem; }.rm-support-invoice__main > header > span { color: var(--rm-muted); font-size: .48rem; }.rm-support-invoice__main > header > span i { margin-right: 3px; color: rgb(var(--cl-accent)); }
.rm-invoice-card { padding: 11px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 11px; background: rgba(var(--cl-card), .7); }
.rm-invoice-card__head,.rm-invoice-card__product,.rm-invoice-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rm-invoice-card__head div { display: grid; }.rm-invoice-card__head small { color: var(--rm-muted); font-size: .43rem; font-weight: 750; }.rm-invoice-card__head strong { font-size: .7rem; }.rm-invoice-card__head > span { padding: 4px 7px; border: 1px solid rgba(var(--cl-accent), .3); border-radius: 999px; background: rgba(var(--cl-accent), .09); color: rgb(var(--cl-accent)); font-size: .46rem; font-weight: 800; }
.rm-invoice-card__product { margin-top: 8px; padding: 8px 0; border-block: 1px solid rgba(var(--cl-t-primary), .08); }.rm-invoice-card__product > span { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 7px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); font-size: .6rem; }.rm-invoice-card__product div { display: grid; min-width: 0; margin-right: auto; }.rm-invoice-card__product strong { overflow: hidden; font-size: .61rem; white-space: nowrap; text-overflow: ellipsis; }.rm-invoice-card__product small { color: var(--rm-muted); font-size: .45rem; }.rm-invoice-card__product b { flex: 0 0 auto; font-size: .65rem; }
.rm-invoice-card__meta { padding: 7px 0 1px; }.rm-invoice-card__meta span { display: grid; color: var(--rm-muted); font-size: .42rem; }.rm-invoice-card__meta b { margin-top: 2px; color: rgb(var(--cl-t-primary)); font-size: .48rem; }
.rm-invoice-support-button { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; margin-top: 8px; padding: 7px 10px; border-radius: 7px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .53rem; font-weight: 800; animation: rmInvoiceButton 8s ease-in-out infinite; }.rm-invoice-support-button span { flex: 1; text-align: center; }
.rm-invoice-ticket-confirmation { position: absolute; right: 14px; bottom: 13px; left: 62px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid rgba(var(--cl-accent), .28); border-radius: 9px; background: rgb(var(--cl-card)); box-shadow: 0 12px 28px rgba(0,0,0,.18); opacity: 0; transform: translateY(15px); animation: rmInvoiceTicket 8s cubic-bezier(.2,.8,.2,1) infinite; }
.rm-invoice-ticket-confirmation > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); font-size: .6rem; }.rm-invoice-ticket-confirmation div { display: grid; min-width: 0; }.rm-invoice-ticket-confirmation strong { font-size: .58rem; }.rm-invoice-ticket-confirmation small { overflow: hidden; color: var(--rm-muted); font-size: .43rem; white-space: nowrap; text-overflow: ellipsis; }.rm-invoice-ticket-confirmation b { color: rgb(var(--cl-accent)); font-size: .48rem; }
.rm-support-cursor--invoice { top: 73%; left: 72%; color: rgb(var(--cl-t-primary)); animation: rmInvoiceCursor 8s cubic-bezier(.45,0,.2,1) infinite; }

/* Discord ticket transition: #support -> created ticket channel ---------------- */
.rm-support-discord__ticket-channel,
.rm-support-discord__channel-header--ticket { opacity: 0; max-height: 0; overflow: hidden; transform: translateY(-5px); animation: rmDiscordChannelCreated 8s cubic-bezier(.2,.8,.2,1) infinite; }
.rm-support-discord__channel-header { min-width: 0; white-space: nowrap; }
.rm-support-discord__channel-header--ticket { display: flex; align-items: center; gap: 5px; }
.rm-support-discord__channel-header--support { animation: rmDiscordSupportHeader 8s ease-in-out infinite; }
.rm-discord-message--intro { animation: rmDiscordIntroExit 8s cubic-bezier(.2,.8,.2,1) infinite; }
.rm-discord-ticket-thread { position: absolute; top: 11px; right: 10px; left: 10px; display: grid; gap: 8px; opacity: 0; transform: translateY(16px); animation: rmDiscordTicketThread 8s cubic-bezier(.2,.8,.2,1) infinite; }
.rm-discord-message--bot-response,
.rm-discord-message--staff-response { min-width: 0; }
.rm-discord-message__avatar--staff { overflow: hidden; background: #2b2d31; }
.rm-discord-message__avatar--staff img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rm-discord-message__reply { max-width: 250px; margin: 4px 0 0; padding: 7px 9px; border-radius: 3px; background: #2b2d31; color: #dbdee1; font-size: .48rem; line-height: 1.42; }
@keyframes rmDiscordChannelCreated {
  0%,44% { opacity: 0; max-height: 0; transform: translateY(-5px); }
  52%,88% { opacity: 1; max-height: 26px; transform: translateY(0); }
  97%,100% { opacity: 0; max-height: 0; transform: translateY(-5px); }
}
@keyframes rmDiscordSupportHeader {
  0%,45% { opacity: 1; max-width: 130px; transform: translateY(0); }
  52%,88% { opacity: 0; max-width: 0; transform: translateY(-4px); }
  97%,100% { opacity: 1; max-width: 130px; transform: translateY(0); }
}
@keyframes rmDiscordIntroExit {
  0%,43% { opacity: 1; transform: translateY(0); }
  52%,88% { opacity: 0; transform: translateY(-12px); pointer-events: none; }
  97%,100% { opacity: 1; transform: translateY(0); }
}
@keyframes rmDiscordTicketThread {
  0%,45% { opacity: 0; transform: translateY(16px); }
  54%,88% { opacity: 1; transform: translateY(0); }
  97%,100% { opacity: 0; transform: translateY(16px); }
}

@keyframes rmDiscordCursor { 0%,12% { opacity: 0; transform: translate(70px,28px); } 20% { opacity: 1; } 34%,40% { opacity: 1; transform: translate(0,0); } 43% { transform: translate(1px,2px) scale(.82); } 48%,86% { opacity: 1; transform: translate(1px,2px); } 94%,100% { opacity: 0; transform: translate(44px,-20px); } }
@keyframes rmDiscordButton { 0%,35%,100% { filter: brightness(1); transform: scale(1); } 40%,45% { filter: brightness(1.15); transform: scale(.96); } }
@keyframes rmDiscordTicket { 0%,43% { opacity: 0; transform: translateY(18px) scale(.98); } 52%,87% { opacity: 1; transform: translateY(0) scale(1); } 96%,100% { opacity: 0; transform: translateY(-6px) scale(1); } }
@keyframes rmInvoiceCursor { 0%,12% { opacity: 0; transform: translate(58px,26px); } 20% { opacity: 1; } 34%,40% { opacity: 1; transform: translate(0,0); } 43% { transform: translate(1px,2px) scale(.82); } 48%,86% { opacity: 1; transform: translate(1px,2px); } 94%,100% { opacity: 0; transform: translate(38px,-18px); } }
@keyframes rmInvoiceButton { 0%,35%,100% { box-shadow: none; transform: scale(1); } 40%,45% { box-shadow: 0 0 0 4px rgba(var(--cl-accent), .15); transform: scale(.985); } }
@keyframes rmInvoiceTicket { 0%,43% { opacity: 0; transform: translateY(15px); } 52%,87% { opacity: 1; transform: translateY(0); } 96%,100% { opacity: 0; transform: translateY(-5px); } }

/* Footer ------------------------------------------------------------------- */
.rm-footer { margin-top: clamp(48px, 8vw, 100px); overflow: hidden; border-color: rgba(var(--cl-t-primary), .1); background: linear-gradient(145deg, rgba(var(--cl-card), .78), rgba(var(--cl-background), .78)); }
.rm-footer__brand-row { padding: 28px clamp(18px, 4vw, 44px); border-color: rgba(var(--cl-t-primary), .08); }
.rm-footer__brand { color: rgb(var(--cl-t-primary)); transition: color .2s ease, transform .2s ease; }.rm-footer__brand:hover { color: rgb(var(--cl-accent)); transform: translateX(3px); }
.rm-footer__socials { gap: 8px; }.rm-footer__social { display: grid !important; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(var(--cl-t-primary), .1); background: rgba(var(--cl-t-primary), .035); transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease; }.rm-footer__social:hover { border-color: rgba(var(--cl-accent), .42); background: rgba(var(--cl-accent), .1); box-shadow: 0 10px 24px rgba(var(--cl-accent), .12); transform: translateY(-4px) rotate(-3deg); }.rm-footer__social:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; }
.rm-footer__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 30px clamp(18px, 4vw, 44px); border-bottom: 1px solid rgba(var(--cl-t-primary), .08); }
.rm-footer__nav-group { display: grid; align-content: start; gap: 10px; }.rm-footer__nav-group > span { margin-bottom: 3px; color: rgb(var(--cl-accent)); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.rm-footer__nav-group a { width: fit-content; color: rgba(var(--cl-t-primary), .58); font-size: .8rem; transition: color .2s ease, transform .2s ease; }.rm-footer__nav-group a:hover { color: rgb(var(--cl-t-primary)); transform: translateX(4px); }.rm-footer__nav-group a:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; }
.rm-footer__bottom { padding: 18px clamp(18px, 4vw, 44px); background: rgba(var(--cl-card), .3); }

@keyframes rmSocialFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes rmBarGrow { from { transform: scaleY(.82); } to { transform: scaleY(1.06); } }
@keyframes rmDeliveryLine { from { width: 20%; } to { width: 100%; } }
@keyframes rmDashboardPulse { 0%, 100% { opacity: .45; transform: scaleX(.9); transform-origin: left; } 50% { opacity: 1; transform: scaleX(1); } }

@media (max-width: 800px) {
  .rm-social-growth__header { align-items: flex-start; flex-direction: column; }
  .rm-social-growth__panel,.rm-why-choose__layout { grid-template-columns: 1fr; }
  .rm-social-growth__panel { padding: 18px; }
}

@media (max-width: 560px) {
  .rm-social-growth__chart { min-height: 245px; padding: 18px; }.rm-social-growth__platform { width: 36px; height: 36px; }.rm-social-growth__bars { right: 18px; bottom: 18px; left: 18px; }
  .rm-demo-delivery { gap: 3px; }.rm-demo-delivery__step { min-width: 60px; font-size: .56rem; }.rm-demo-delivery__step i { width: 38px; height: 38px; }.rm-why-choose__demo { min-height: 370px; padding: 15px; }
  .rm-why-choose__demo:has(.rm-support-player) { min-height: 440px; }
  .rm-support-player__viewport { height: 288px; }
  .rm-support-player__switcher button { padding-inline: 6px; font-size: .64rem; }
  .rm-support-discord { grid-template-columns: 38px minmax(0, 1fr); }
  .rm-support-discord__channels { display: none; }
  .rm-support-cursor--discord { left: 51%; }
  .rm-support-invoice { grid-template-columns: 39px minmax(0, 1fr); }
  .rm-support-invoice__nav { gap: 13px; padding-inline: 4px; }
  .rm-support-invoice__main { padding: 10px; }
  .rm-support-invoice__main > header > span { display: none; }
  .rm-invoice-ticket-confirmation { right: 10px; bottom: 10px; left: 49px; }
  .rm-invoice-card__meta { gap: 5px; }
  .rm-support-cursor--invoice { left: 69%; }
  .rm-discord-message__reply { max-width: 200px; }
  .rm-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }.rm-footer__nav-group:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-social-growth__platform,
  .rm-social-growth__bars i,
  .rm-demo-delivery__line i,
  .rm-demo-dashboard__content div i,
  .rm-discord-support-button,
  .rm-discord-message--ticket,
  .rm-support-cursor,
  .rm-invoice-support-button,
  .rm-invoice-ticket-confirmation { animation: none !important; }
  .rm-discord-message--ticket,.rm-invoice-ticket-confirmation { opacity: 1; transform: none; }
  .rm-support-cursor { display: none; }
  .rm-footer__social:hover,.rm-footer__brand:hover,.rm-footer__nav-group a:hover { transform: none; }
}

/* Products page toolbar ---------------------------------------------------- */
.rm-products-page__title { margin-bottom: 26px; letter-spacing: -.035em; }
.rm-products-toolbar { margin-inline: auto; max-width: 1120px; margin-bottom: 34px; padding: 12px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 18px; background: rgba(var(--cl-card), .72); box-shadow: 0 16px 46px rgba(0, 0, 0, .14); }
.rm-products-toolbar__top { display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(150px, .8fr) auto auto; gap: 10px; align-items: end; }









.rm-products-categories { display: flex; align-items: center; gap: 7px; margin-top: 12px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
.rm-products-categories__label { flex: 0 0 auto; margin-right: 3px; color: rgba(var(--cl-t-primary), .42); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rm-products-category-chip { flex: 0 0 auto; padding: 8px 12px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 999px; color: rgba(var(--cl-t-primary), .62); font-size: .72rem; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.rm-products-category-chip:hover,.rm-products-category-chip:focus-visible { border-color: rgba(var(--cl-accent), .4); background: rgba(var(--cl-accent), .08); color: rgb(var(--cl-t-primary)); transform: translateY(-1px); outline: 0; }
.rm-products-category-chip.is-active { border-color: rgba(var(--cl-accent), .55); background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); }
.rm-products-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1120px; margin-inline: auto; }
.rm-products-grid__item { min-width: 0; }
.rm-products-empty { grid-column: 1 / -1; padding: 72px 20px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 18px; background: rgba(var(--cl-card), .55); }.rm-products-empty i { display: block; margin-bottom: 16px; color: rgb(var(--cl-accent)); font-size: 2rem; }

/* Header and language controls -------------------------------------------- */
.rm-header-shell { overflow: hidden; border-color: rgba(var(--cl-t-primary), .1); background: linear-gradient(145deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .72)); box-shadow: 0 18px 46px rgba(0, 0, 0, .13); }
.rm-header-shell > div:first-child { background: transparent; }
.rm-header-nav { position: relative; margin-top: 8px; border-top: 1px solid rgba(var(--cl-t-primary), .07); }
.rm-header-nav a,.rm-header-nav button { transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.rm-header-nav a:hover,.rm-header-nav button:hover { border-color: rgba(var(--cl-accent), .3); transform: translateY(-1px); }
.rm-header-nav a:focus-visible,.rm-header-nav button:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; }
.rm-header-nav .language-selector .choices__inner,.rm-header-nav .currency-selector .choices__inner { min-height: 40px; border-color: rgba(var(--cl-t-primary), .1); border-radius: 12px; background: rgba(var(--cl-background), .5); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.rm-header-nav .language-selector .choices:hover .choices__inner,.rm-header-nav .currency-selector .choices:hover .choices__inner { border-color: rgba(var(--cl-accent), .35); background: rgba(var(--cl-accent), .06); box-shadow: 0 8px 20px rgba(var(--cl-accent), .08); }
.rm-header-nav .language-selector .flag { width: 18px; height: 18px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(var(--cl-t-primary), .12); }

/* Cart page ---------------------------------------------------------------- */
.rm-cart-page > div { max-width: 1180px; margin-inline: auto; }
.rm-cart-page .rm-cart-item,.rm-cart-page .rm-cart-summary { border-color: rgba(var(--cl-t-primary), .1); background: linear-gradient(145deg, rgba(var(--cl-card), .88), rgba(var(--cl-background), .56)); box-shadow: 0 16px 42px rgba(0, 0, 0, .12); }
.rm-cart-page .rm-cart-item { overflow: hidden; transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.rm-cart-page .rm-cart-item:hover { border-color: rgba(var(--cl-accent), .3); box-shadow: 0 22px 54px rgba(0, 0, 0, .18); transform: translateY(-2px); }
.rm-cart-item__media { margin: 8px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .08); border-radius: 13px; background: rgba(var(--cl-background), .55); }
.rm-cart-item__media img { transition: transform .35s ease; }.rm-cart-item:hover .rm-cart-item__media img { transform: scale(1.04); }
.rm-cart-quantity { border: 1px solid rgba(var(--cl-t-primary), .1); background: rgba(var(--cl-background), .42); }.rm-cart-quantity button { transition: background .2s ease, color .2s ease; }.rm-cart-quantity button:hover { background: rgba(var(--cl-accent), .18); color: rgb(var(--cl-accent)); }
.rm-cart-summary { position: sticky; top: 24px; }
.rm-cart-checkout { min-height: 48px; box-shadow: 0 14px 30px rgba(var(--cl-accent), .16); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }.rm-cart-checkout:hover:enabled { filter: brightness(1.05); transform: translateY(-2px); box-shadow: 0 18px 36px rgba(var(--cl-accent), .22); }
.rm-cart-recommendations { margin-top: 26px; padding: clamp(20px, 4vw, 34px); border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 22px; background: radial-gradient(circle at 90% 0, rgba(var(--cl-accent), .09), transparent 38%), rgba(var(--cl-card), .68); }
.rm-cart-recommendations__heading h2 { margin-top: 10px; color: rgb(var(--cl-t-primary)); font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.035em; }.rm-cart-recommendations__heading p { margin-top: 7px; color: var(--rm-muted); font-size: .82rem; }
.rm-cart-recommendations__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.rm-cart-recommendation { position: relative; display: flex; min-width: 0; flex-direction: column; gap: 10px; padding: 9px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 15px; background: rgba(var(--cl-background), .48); transition: border-color .25s ease, transform .25s ease, background .25s ease; }.rm-cart-recommendation:hover { border-color: rgba(var(--cl-accent), .42); background: rgba(var(--cl-accent), .07); transform: translateY(-4px); }.rm-cart-recommendation:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; }
.rm-cart-recommendation__media { display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; border-radius: 10px; background: rgba(var(--cl-card), .8); color: rgb(var(--cl-accent)); }.rm-cart-recommendation__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }.rm-cart-recommendation:hover .rm-cart-recommendation__media img { transform: scale(1.05); }.rm-cart-recommendation__body { min-width: 0; }.rm-cart-recommendation__body strong { display: block; overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.rm-cart-recommendation__body span { display: block; margin-top: 5px; color: rgb(var(--cl-accent)); font-size: .75rem; font-weight: 750; }.rm-cart-recommendation > i { position: absolute; top: 17px; right: 17px; color: rgb(var(--cl-accent)); font-size: .7rem; opacity: 0; transition: opacity .2s ease, transform .2s ease; }.rm-cart-recommendation:hover > i { opacity: 1; transform: translate(2px, -2px); }

@media (max-width: 900px) {
  .rm-products-toolbar__top { grid-template-columns: 1fr 1fr; }.rm-products-search { grid-column: 1 / -1; }.rm-products-toolbar__actions { justify-content: flex-end; }.rm-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.rm-cart-summary { position: static; }.rm-cart-recommendations__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .rm-products-toolbar__top { grid-template-columns: 1fr; }.rm-products-toolbar__actions { justify-content: stretch; }.rm-products-toolbar__actions .rm-btn { flex: 1; }.rm-products-grid { grid-template-columns: 1fr; }.rm-cart-recommendations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.rm-cart-recommendation { padding: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-products-category-chip,.rm-header-nav a,.rm-header-nav button,.rm-cart-page .rm-cart-item,.rm-cart-checkout,.rm-cart-recommendation,.rm-cart-recommendation__media img { transition: none !important; }.rm-cart-page .rm-cart-item:hover,.rm-cart-recommendation:hover { transform: none; }
}

/* Final header cascade: kept last so older theme rules cannot clip selectors. */
.rm-header--sticky { position: sticky; top: 12px; z-index: 45; margin-bottom: 12px; }.rm-header--sticky .rm-header-shell { box-shadow: 0 12px 34px rgba(0,0,0,.2); }.rm-header--sticky::before { position: absolute; z-index: -1; inset: -12px -16px; border-radius: 24px; background: linear-gradient(to bottom, rgb(var(--cl-background)) 28%, rgba(var(--cl-background), 0)); content: ''; pointer-events: none; }
.rm-header-shell { overflow: visible !important; isolation: isolate; }
.rm-header-shell .rm-header-nav { flex: 1 1 auto; margin: 0; padding: 3px; border: 1px solid rgba(var(--cl-t-primary), .07); border-radius: 13px; background: rgba(var(--cl-background), .32); }
.rm-header-shell .rm-header-links { gap: 2px; }
.rm-header-shell .rm-header-link { min-height: 34px; padding: 0 10px; border-radius: 9px; font-size: .72rem; }
.rm-header-shell .rm-header-stats { flex: 0 0 auto; gap: 10px; margin: 0; padding: 0 4px; white-space: nowrap; }
.rm-header-shell .rm-header-stats span { display: inline-flex; align-items: baseline; gap: 3px; }
.rm-header-shell .rm-header-stats strong { margin: 0; color: rgb(var(--cl-t-primary)); font-size: .7rem; }
.rm-header-shell .rm-header-actions { gap: 6px; }
.rm-header-shell .currency-selector .choices__inner .choices__item { display: inline-flex; align-items: center; max-width: none; gap: 4px; overflow: visible; }
.rm-header-shell .currency-selector .choices__inner .code { display: inline !important; color: rgb(var(--cl-t-primary)); font-size: .72rem; font-weight: 800; }
.rm-header-shell .currency-selector .choices__inner .default { display: none !important; }
.rm-header-shell .currency-selector .choices__inner .symbol { display: inline; min-width: 0; padding: 0; color: rgba(var(--cl-t-primary), .55); background: transparent; font-size: .68rem; }
.rm-header-shell .currency-selector .choices__inner { min-width: 78px; padding-right: 22px; }
.rm-header-shell .choices__list.choices__list--dropdown { z-index: 80; width: min(230px, calc(100vw - 24px)); max-height: min(360px, calc(100vh - 96px)); margin-top: 8px; overflow-y: auto; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 14px; background: rgb(var(--cl-card)); box-shadow: 0 22px 55px rgba(0,0,0,.35); }
.rm-header-shell .currency-selector .choices__list.choices__list--dropdown { right: 0; left: auto; margin-left: 0; }
.rm-header-shell .choices__list--dropdown .choices__item { min-height: 40px; padding: 10px 12px; color: rgba(var(--cl-t-primary), .78); }
.rm-header-shell .choices__list--dropdown .choices__item.is-highlighted { background: rgba(var(--cl-t-primary), .06); color: rgb(var(--cl-t-primary)); }
.rm-header-shell .choices__list--dropdown .choices__item.is-selected { background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); }
.rm-header-shell .choices__input.choices__input--cloned { min-height: 38px; margin: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .1); background: transparent; color: rgb(var(--cl-t-primary)); }
@media (max-width: 1080px) { .rm-header-shell .rm-header-stats { display: none; } }
@media (max-width: 900px) { .rm-header-shell .rm-header-nav { order: 3; width: 100%; } }
@media (max-width: 620px) { .rm-header--sticky { top: 6px; margin-bottom: 6px; }.rm-header--sticky::before { inset: -6px -8px; } }

/* Compact header statistics: small proof points with intentional hierarchy. */
.rm-header-shell .rm-header-stats span:first-child strong { color: rgb(var(--cl-t-primary)); }
.rm-header-shell .rm-header-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; min-width: 182px; overflow: hidden; padding: 5px 4px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 12px; background: linear-gradient(135deg, rgba(var(--cl-background), .56), rgba(var(--cl-card), .48)); box-shadow: inset 0 1px 0 rgba(var(--cl-t-primary), .03); }.rm-header-shell .rm-header-stats span { position: relative; display: grid; min-width: 0; place-items: center; gap: 1px; padding: 1px 7px; text-align: center; transition: background .2s ease, transform .2s ease; }.rm-header-shell .rm-header-stats span + span::before { position: absolute; left: 0; width: 1px; height: 20px; background: rgba(var(--cl-t-primary), .1); content: ''; }.rm-header-shell .rm-header-stats span:hover { background: rgba(var(--cl-accent), .07); transform: translateY(-1px); }.rm-header-shell .rm-header-stats strong { margin: 0; color: rgb(var(--cl-t-primary)); font-size: .76rem; font-weight: 850; letter-spacing: -.025em; line-height: 1.05; }.rm-header-shell .rm-header-stats small { overflow: hidden; max-width: 100%; color: rgba(var(--cl-t-primary), .46); font-size: .48rem; font-weight: 750; letter-spacing: .075em; line-height: 1.1; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }.rm-header-shell .rm-header-stats span:first-child strong { color: rgb(var(--cl-accent)); animation: rm-stat-breathe 3.6s ease-in-out infinite; }.rm-header-shell .rm-header-stats span:nth-child(3) strong::after { margin-left: 2px; color: rgb(var(--cl-accent)); content: '★'; font-size: .48rem; vertical-align: 1px; }@keyframes rm-stat-breathe { 0%,100% { text-shadow: 0 0 0 rgba(var(--cl-accent),0); } 50% { text-shadow: 0 0 10px rgba(var(--cl-accent),.35); } }@media (max-width: 1080px) { .rm-header-shell .rm-header-stats { display: none; } }@media (prefers-reduced-motion: reduce) { .rm-header-shell .rm-header-stats span { transition: none; }.rm-header-shell .rm-header-stats span:first-child strong { animation: none; } }

/* Products page: one clean filter surface and carousel-inspired catalog cards. */
.rm-products-intro { display: grid; justify-items: center; gap: 8px; margin: 16px auto 22px; text-align: center; }
.rm-products-intro .rm-kicker { margin: 0; }
.rm-products-page__title { margin: 0; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.045em; }
.rm-products-intro p { max-width: 42rem; margin: 0; color: rgba(var(--cl-t-primary), .52); font-size: .86rem; }
.rm-products-toolbar { max-width: 1180px; margin-bottom: 34px; padding: 10px; border-color: rgba(var(--cl-t-primary), .12); border-radius: 20px; background: linear-gradient(145deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .7)); box-shadow: 0 20px 46px rgba(0,0,0,.16); }
.rm-products-toolbar__top { grid-template-columns: minmax(220px, 1.45fr) minmax(170px, .85fr) minmax(160px, .82fr) auto; gap: 8px; }








.rm-products-toolbar__actions .rm-btn--primary { box-shadow: 0 12px 24px rgba(var(--cl-accent), .18); }


/* padding: 0 here used to clip the hover lift + focus ring — the base rule's
   overflow-x: auto implicitly makes overflow-y auto too, so anything painted
   outside the padding box (translateY on hover, the focus outline) got cut
   off by the scroll container's own edge. Keep enough padding to contain both. */
.rm-products-toolbar .premium-letter-filter { gap: 4px; padding: 6px 3px; border: 0; border-radius: 0; background: transparent; }
.rm-products-toolbar .premium-letter-filter__item { min-width: 30px; min-height: 30px; padding: 0 7px; border-radius: 8px; font-size: .68rem; }
.rm-products-toolbar .premium-letter-filter__item.is-active { border-color: rgba(var(--cl-accent), .52); background: rgba(var(--cl-accent), .12); }
.rm-products-grid { max-width: 1180px; gap: 20px; }
.catalog-product-card { position: relative; display: flex; height: 100%; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 18px; background: linear-gradient(145deg, rgba(var(--cl-card), .96), rgba(var(--cl-background), .66)); box-shadow: 0 16px 38px rgba(0,0,0,.14); color: rgb(var(--cl-t-primary)); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.catalog-product-card:hover,.catalog-product-card:focus-visible { border-color: rgba(var(--cl-accent), .38); box-shadow: 0 22px 50px rgba(0,0,0,.24); transform: translateY(-3px); outline: 0; }
.catalog-product-card:focus-visible { box-shadow: 0 0 0 2px rgb(var(--cl-accent)), 0 22px 50px rgba(0,0,0,.24); }
.catalog-product-card__media { position: relative; overflow: hidden; background: rgba(var(--cl-background), .5); }
.catalog-product-card__media img,.catalog-product-card__placeholder { display: block; width: 100%; object-fit: cover; transition: transform .42s cubic-bezier(.2,.8,.2,1), filter .42s ease; }
.catalog-product-card__placeholder { display: grid; place-items: center; color: rgb(var(--cl-accent)); font-size: 2rem; background: radial-gradient(circle at 50% 30%, rgba(var(--cl-accent), .14), transparent 58%); }
.catalog-product-card:hover .catalog-product-card__media img,.catalog-product-card:focus-visible .catalog-product-card__media img { filter: brightness(.78) saturate(1.08); transform: scale(1.045); }
.catalog-product-card__badges { position: absolute; top: 10px; right: 10px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.catalog-product-card__badges span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 8px; color: #fff; font-size: .63rem; font-weight: 800; }
.catalog-product-card__quick { position: absolute; right: 15px; bottom: 13px; display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: .75rem; font-weight: 800; opacity: 0; text-shadow: 0 2px 12px rgba(0,0,0,.7); transform: translateY(7px); transition: opacity .24s ease, transform .24s ease; }
.catalog-product-card:hover .catalog-product-card__quick,.catalog-product-card:focus-visible .catalog-product-card__quick { opacity: 1; transform: translateY(0); }
.catalog-product-card__body { display: flex; flex: 1; min-width: 0; flex-direction: column; padding: 15px 16px 16px; }
.catalog-product-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 17px; }
.catalog-product-card__meta small { overflow: hidden; color: rgba(var(--cl-t-primary), .48); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.catalog-product-card__meta em { flex: 0 0 auto; color: rgb(var(--cl-accent)); font-size: .64rem; font-style: normal; font-weight: 700; }.catalog-product-card__meta em::before { content: '•'; margin-right: 4px; }.catalog-product-card__meta em.is-out { color: rgba(var(--cl-t-primary), .46); }
.catalog-product-card h3 { margin: 9px 0 0; overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: 1.02rem; font-weight: 800; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.catalog-product-card__price { display: flex; align-items: center; gap: 6px; margin: auto 0 0; padding-top: 13px; border-top: 1px solid rgba(var(--cl-t-primary), .08); color: rgb(var(--cl-accent)); font-size: .88rem; font-weight: 800; }.catalog-product-card__price b { color: rgba(var(--cl-t-primary), .35); font-weight: 500; }.catalog-product-card__price s { margin-left: auto; color: rgba(var(--cl-t-primary), .36); font-size: .7rem; font-weight: 600; }
@media (max-width: 900px) { .rm-products-toolbar__top { grid-template-columns: 1fr 1fr; }.rm-products-search { grid-column: 1 / -1; }.rm-products-toolbar__actions { justify-content: flex-end; } }
@media (max-width: 620px) { .rm-products-intro { margin-top: 8px; }.rm-products-toolbar { padding: 9px; border-radius: 16px; }.rm-products-toolbar__top { grid-template-columns: 1fr; }.rm-products-toolbar__actions { justify-content: stretch; }.rm-products-toolbar__actions .rm-btn { flex: 1; }.rm-products-toolbar .premium-letter-filter { width: 100%; }.catalog-product-card__body { padding: 13px; } }
@media (hover: none) { .catalog-product-card:hover { border-color: rgba(var(--cl-t-primary), .1); box-shadow: 0 16px 38px rgba(0,0,0,.14); transform: none; }.catalog-product-card:hover .catalog-product-card__media img { filter: none; transform: none; }.catalog-product-card:hover .catalog-product-card__quick { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .catalog-product-card,.catalog-product-card__media img,.catalog-product-card__quick { transition: none !important; } }

/* Review cards: restrained review content with an actual product footer. */
.rm-feedbacks { max-width: 1240px; margin-inline: auto; }
.rm-feedbacks__title { position: relative; padding-left: 15px; border: 0; letter-spacing: -.035em; }.rm-feedbacks__title::before { content: ''; position: absolute; inset: .2em auto .2em 0; width: 3px; border-radius: 999px; background: rgb(var(--cl-accent)); }
.rm-feedbacks__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0 20px; padding: 11px 13px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 16px; background: rgba(var(--cl-card), .68); }
.rm-feedbacks__toolbar-label { flex: 0 0 auto; color: rgba(var(--cl-t-primary), .55); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
/* flex-wrap instead of horizontal scroll: setting only overflow-x makes the
   browser compute overflow-y as auto too (CSS can't mix visible with
   scroll/auto on one axis), which silently clipped the hover lift and any
   focus ring on the last row of buttons. Wrapping needs no overflow at all. */
.rm-feedbacks__sort { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.rm-feedbacks__sort-button { flex: 0 0 auto; min-height: 34px; padding: 0 11px; border: 1px solid transparent; border-radius: 9px; color: rgba(var(--cl-t-primary), .62); font-size: .7rem; font-weight: 750; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }.rm-feedbacks__sort-button:hover,.rm-feedbacks__sort-button:focus-visible { border-color: rgba(var(--cl-t-primary), .13); background: rgba(var(--cl-t-primary), .055); color: rgb(var(--cl-t-primary)); outline: 0; transform: translateY(-1px); }.rm-feedbacks__sort-button.is-active { border-color: rgba(var(--cl-accent), .42); background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); }
.rm-feedbacks > div > .grid { gap: 14px; }
.rm-review-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 16px; background: linear-gradient(145deg, rgba(var(--cl-card), .94), rgba(var(--cl-background), .64)); box-shadow: 0 12px 30px rgba(0,0,0,.12); transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease; }.rm-review-card:hover { border-color: rgba(var(--cl-t-primary), .17); box-shadow: 0 18px 38px rgba(0,0,0,.18); transform: translateY(-2px); }
.rm-review-card__content { flex: 1; padding: 15px 16px 14px; }.rm-review-card__topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.rm-review-card__topline time { flex: 0 0 auto; color: rgba(var(--cl-t-primary), .44); font-size: .66rem; font-weight: 650; }
.rm-review-card__stars { display: inline-flex; gap: 3px; }.rm-review-card__stars i { color: rgba(var(--cl-t-primary), .22); font-size: .78rem; }.rm-review-card--positive .rm-review-card__stars .fa-solid { color: #00a878; }.rm-review-card--negative .rm-review-card__stars .fa-solid { color: #e05252; }.rm-review-card--neutral .rm-review-card__stars .fa-solid { color: #d69c2f; }
.rm-review-card__message { display: -webkit-box; margin: 13px 0 0; overflow: hidden; color: rgba(var(--cl-t-primary), .88); font-size: .82rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }.rm-review-card__message.is-expanded { display: block; overflow: visible; }.rm-review-card__expand { margin-top: 8px; color: rgb(var(--cl-accent)); font-size: .69rem; font-weight: 800; }.rm-review-card__expand:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; border-radius: 3px; }
.rm-review-card__attachment { width: 100%; max-height: 220px; margin-top: 13px; border-radius: 10px; object-fit: cover; }
.rm-review-card__reply { margin-top: 13px; padding: 10px 11px; border-left: 2px solid rgb(var(--cl-accent)); border-radius: 0 9px 9px 0; background: rgba(var(--cl-t-primary), .04); }.rm-review-card__reply p { display: -webkit-box; overflow: hidden; color: rgba(var(--cl-t-primary), .65); font-size: .75rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.rm-review-card__reply span { display: block; margin-top: 7px; color: rgba(var(--cl-t-primary), .38); font-size: .62rem; }
.rm-review-card__product { display: flex; align-items: center; gap: 10px; min-height: 66px; padding: 9px 13px; border-top: 1px solid rgba(var(--cl-t-primary), .08); background: rgba(var(--cl-background), .28); }.rm-review-card__product-image { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .08); border-radius: 9px; background: rgba(var(--cl-card), .8); color: rgba(var(--cl-t-primary), .35); }.rm-review-card__product-image img { width: 100%; height: 100%; object-fit: cover; }.rm-review-card__product-copy { display: grid; min-width: 0; gap: 2px; }.rm-review-card__product-copy span { color: #00a878; font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.rm-review-card__product-copy strong { overflow: hidden; color: rgba(var(--cl-t-primary), .78); font-size: .72rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }.rm-review-card__product-copy small { color: rgba(var(--cl-t-primary), .4); font-size: .62rem; }.rm-review-card__product-arrow { margin-left: auto; color: rgba(var(--cl-t-primary), .3); font-size: .7rem; }
.rm-review-card__product-link { position: relative; z-index: 2; display: grid; width: 28px; height: 28px; flex: 0 0 auto; margin-left: auto; place-items: center; pointer-events: auto; cursor: pointer; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 7px; color: rgba(var(--cl-t-primary), .58); font-size: .67rem; text-decoration: none; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }.rm-review-card__product-link i { pointer-events: none; }.rm-review-card__product-link:hover { border-color: rgba(var(--cl-accent), .55); background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); transform: translateY(-1px); }
.rm-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding: 10px 12px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 15px; background: rgba(var(--cl-card), .65); }.rm-pagination__summary { color: rgba(var(--cl-t-primary), .5); font-size: .73rem; white-space: nowrap; }.rm-pagination__summary strong { color: rgb(var(--cl-t-primary)); font-weight: 800; }.rm-pagination__nav,.rm-pagination__pages { display: flex; align-items: center; gap: 4px; }.rm-pagination__pages { max-width: min(480px, 54vw); overflow-x: auto; scrollbar-width: none; }.rm-pagination__pages::-webkit-scrollbar { display:none; }.rm-pagination__page,.rm-pagination__arrow { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 9px; border: 1px solid transparent; border-radius: 8px; color: rgba(var(--cl-t-primary), .65); font-size: .7rem; font-weight: 750; white-space: nowrap; transition: color .2s ease, background .2s ease, border-color .2s ease; }.rm-pagination__arrow { gap: 6px; }.rm-pagination__page:hover,.rm-pagination__page:focus-visible,.rm-pagination__arrow:not(.is-disabled):hover,.rm-pagination__arrow:not(.is-disabled):focus-visible { border-color: rgba(var(--cl-t-primary), .12); background: rgba(var(--cl-t-primary), .055); color: rgb(var(--cl-t-primary)); outline:0; }.rm-pagination__page.is-active { border-color: rgba(var(--cl-accent), .45); background: rgba(var(--cl-accent), .14); color: rgb(var(--cl-accent)); }.rm-pagination__arrow.is-disabled { opacity: .32; }.rm-pagination__ellipsis { color: rgba(var(--cl-t-primary), .35); font-size: .8rem; }
@media (max-width: 720px) { .rm-feedbacks__toolbar { align-items: flex-start; flex-direction: column; }.rm-feedbacks__sort { width: 100%; justify-content: flex-start; }.rm-pagination { align-items: stretch; flex-direction: column; }.rm-pagination__nav { justify-content: space-between; }.rm-pagination__pages { max-width: 100%; flex: 1; justify-content: center; }.rm-pagination__arrow span { display: none; } }
@media (hover:none) { .rm-review-card:hover { border-color: rgba(var(--cl-t-primary), .1); box-shadow: 0 12px 30px rgba(0,0,0,.12); transform: none; } }
@media (prefers-reduced-motion: reduce) { .rm-review-card,.rm-feedbacks__sort-button,.rm-pagination__page,.rm-pagination__arrow { transition: none !important; } }

/* FAQ page: editorial hierarchy, category filters and one-at-a-time accordion behavior. */
.rm-faq { width: min(760px, 100%); margin: 30px auto 0; }.rm-faq--page { padding: clamp(14px, 3vw, 30px) 0 40px; }.rm-faq__hero { max-width: 620px; margin-bottom: 25px; }.rm-faq__hero .rm-kicker { display: inline-flex; }.rm-faq__hero h1 { margin: 11px 0 0; color: rgb(var(--cl-t-primary)); font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 850; letter-spacing: -.055em; line-height: .98; }.rm-faq__hero p { max-width: 540px; margin-top: 13px; color: rgba(var(--cl-t-primary), .58); font-size: .86rem; line-height: 1.65; }.rm-faq__categories { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }.rm-faq__categories button { display: inline-flex; min-height: 33px; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid transparent; border-radius: 999px; color: rgba(var(--cl-t-primary), .54); font-size: .66rem; font-weight: 800; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }.rm-faq__categories button:hover { color: rgb(var(--cl-t-primary)); background: rgba(var(--cl-t-primary), .05); }.rm-faq__categories button.is-active { border-color: rgba(var(--cl-accent), .45); background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); }.rm-faq__categories i { font-size: .63rem; }.rm-faq__list { display: grid; gap: 8px; }.rm-faq__item { overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 11px; background: linear-gradient(145deg, rgba(var(--cl-card), .78), rgba(var(--cl-background), .42)); transition: border-color .22s ease, background .22s ease; }.rm-faq__item:has(.rm-faq__answer[style*="max-height"]:not([style*="0px"])) { border-color: rgba(var(--cl-accent), .42); background: linear-gradient(145deg, rgba(var(--cl-accent), .08), rgba(var(--cl-card), .74)); }.rm-faq__question { display: flex; width: 100%; min-height: 57px; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 15px; color: rgb(var(--cl-t-primary)); text-align: left; }.rm-faq__question > span { display: inline-flex; align-items: center; gap: 9px; font-size: .77rem; font-weight: 800; }.rm-faq__question > span i { width: 17px; color: rgb(var(--cl-accent)); text-align: center; }.rm-faq__question b { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 50%; color: rgba(var(--cl-t-primary), .5); font-size: .56rem; transition: transform .22s ease, color .22s ease, background .22s ease; }.rm-faq__question b.is-open { background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); transform: rotate(45deg); }.rm-faq__answer { overflow: hidden; transition: max-height .32s cubic-bezier(.2,.8,.2,1); }.rm-faq__answer p { max-width: 650px; margin: 0; padding: 0 15px 16px 41px; color: rgba(var(--cl-t-primary), .62); font-size: .76rem; line-height: 1.62; white-space: pre-line; }.rm-faq__support { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; margin-top: 21px; padding: 15px; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 13px; background: radial-gradient(circle at 0 50%, rgba(var(--cl-accent), .12), transparent 28%), rgba(var(--cl-card), .58); }.rm-faq__support > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); }.rm-faq__support div { min-width: 0; }.rm-faq__support strong { display: block; color: rgb(var(--cl-t-primary)); font-size: .75rem; }.rm-faq__support p { margin: 3px 0 0; color: rgba(var(--cl-t-primary), .52); font-size: .65rem; }.rm-faq__support a { display: inline-flex; min-height: 34px; align-items: center; gap: 7px; padding: 0 11px; border-radius: 8px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .64rem; font-weight: 800; white-space: nowrap; transition: transform .2s ease, filter .2s ease; }.rm-faq__support a:hover { filter: brightness(1.08); transform: translateY(-1px); }
@media (max-width: 560px) { .rm-faq { margin-top: 18px; }.rm-faq__hero h1 { font-size: 2rem; }.rm-faq__support { grid-template-columns: 34px minmax(0,1fr); }.rm-faq__support > span { width: 34px; height: 34px; }.rm-faq__support a { grid-column: 1 / -1; justify-content: center; }.rm-faq__answer p { padding-left: 15px; } }

/* Review rating, editorial media and comparison components */
.rm-review-rating { max-width: 1240px; margin-inline: auto; }
.rm-review-rating__card { display: grid; min-height: 210px; place-items: center; align-content: center; gap: 7px; padding: 30px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 22px; background: radial-gradient(circle at 50% -40%, rgba(var(--cl-accent), .18), transparent 52%), linear-gradient(135deg, rgba(var(--cl-card), .95), rgba(var(--cl-background), .72)); box-shadow: 0 22px 54px rgba(0,0,0,.13); text-align: center; }
.rm-review-rating__eyebrow,.rm-text-media__eyebrow,.rm-before-after__heading > span,.rm-category-modal__kicker { color: rgb(var(--cl-accent)); font-size: .65rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.rm-review-rating__score { display: flex; align-items: baseline; gap: 7px; color: rgb(var(--cl-t-primary)); }.rm-review-rating__score strong { font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 850; letter-spacing: -.08em; line-height: 1; }.rm-review-rating__score span { color: rgba(var(--cl-t-primary), .45); font-size: .85rem; font-weight: 750; }
.rm-review-rating__stars { display: flex; gap: 5px; color: #f6b735; font-size: 1.03rem; filter: drop-shadow(0 4px 11px rgba(246,183,53,.18)); }.rm-review-rating__card p { color: rgba(var(--cl-t-primary), .52); font-size: .78rem; }

.rm-text-media { max-width: 1240px; margin-inline: auto; }.rm-text-media__shell { display: grid; grid-template-columns: minmax(0, .95fr) minmax(280px, 1.05fr); align-items: center; gap: clamp(28px, 6vw, 76px); }.rm-text-media--left .rm-text-media__visual { order: -1; }.rm-text-media--top .rm-text-media__shell { grid-template-columns: 1fr; }.rm-text-media--top .rm-text-media__visual { max-width: 920px; width: 100%; margin-inline: auto; }.rm-text-media__shell--surface { padding: clamp(22px, 5vw, 58px); border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 22px; background: linear-gradient(135deg, rgba(var(--cl-card), .88), rgba(var(--cl-background), .58)); }.rm-text-media--compact .rm-text-media__shell { gap: 22px; }.rm-text-media--spacious .rm-text-media__shell { gap: clamp(38px, 8vw, 100px); }.rm-text-media__copy { min-width: 0; }.rm-text-media__copy--center { text-align: center; }.rm-text-media__copy--right { text-align: right; }.rm-text-media__copy h2 { max-width: 19ch; margin: 8px 0 14px; color: rgb(var(--cl-t-primary)); font-size: clamp(1.9rem, 4vw, 3.15rem); font-weight: 850; letter-spacing: -.055em; line-height: 1.02; }.rm-text-media__copy--center h2,.rm-text-media__copy--right h2 { margin-inline: auto; }.rm-text-media__text { max-width: 56ch; color: rgba(var(--cl-t-primary), .62); font-size: clamp(.9rem, 1.25vw, 1.02rem); line-height: 1.7; }.rm-text-media__copy--center .rm-text-media__text,.rm-text-media__copy--right .rm-text-media__text { margin-inline: auto; }.rm-text-media__buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }.rm-text-media__buttons--center { justify-content: center; }.rm-text-media__buttons--right { justify-content: flex-end; }.rm-text-media__visual { position: relative; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 18px; background: rgba(var(--cl-background), .65); box-shadow: 0 18px 46px rgba(0,0,0,.18); }.rm-text-media__visual--square { aspect-ratio: 1; }.rm-text-media__visual--standard { aspect-ratio: 4/3; }.rm-text-media__visual--wide { aspect-ratio: 16/10; }.rm-text-media__visual img,.rm-text-media__visual video,.rm-text-media__visual lite-youtube { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }.rm-text-media__empty { display: grid; height: 100%; place-content: center; gap: 10px; color: rgba(var(--cl-t-primary), .4); font-size: .8rem; text-align: center; }.rm-text-media__empty i { color: rgb(var(--cl-accent)); font-size: 1.5rem; }

.rm-before-after { max-width: 1240px; margin-inline: auto; }.rm-before-after__heading { max-width: 700px; margin: 0 auto 25px; }.rm-before-after__heading--left { margin-left: 0; text-align: left; }.rm-before-after__heading--right { margin-right: 0; text-align: right; }.rm-before-after__heading--center { text-align: center; }.rm-before-after__heading h2 { margin: 7px 0 10px; color: rgb(var(--cl-t-primary)); font-size: clamp(1.9rem, 4vw, 3rem); font-weight: 850; letter-spacing: -.055em; }.rm-before-after__heading p { color: rgba(var(--cl-t-primary), .58); line-height: 1.6; }.rm-before-after__stage { position: relative; isolation: isolate; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 22px; background: rgba(var(--cl-background), .8); box-shadow: 0 22px 54px rgba(0,0,0,.14); cursor: col-resize; touch-action: none; user-select: none; }.rm-before-after__stage--compact { aspect-ratio: 16/7; min-height: 230px; }.rm-before-after__stage--standard { aspect-ratio: 16/9; min-height: 320px; }.rm-before-after__stage--tall { aspect-ratio: 4/3; min-height: 430px; }.rm-before-after__after,.rm-before-after__before { position: absolute; inset: 0; }.rm-before-after__before { z-index: 2; overflow: hidden; border-right: 1px solid rgba(255,255,255,.78); }.rm-before-after__after { z-index: 1; }.rm-before-after__before img,.rm-before-after__after img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }.rm-before-after__panel,.rm-before-after__empty { display: grid; width: 100%; height: 100%; place-items: center; padding: 32px; background: linear-gradient(145deg, rgba(var(--cl-accent), .16), rgba(var(--cl-card), .95)); color: rgb(var(--cl-t-primary)); font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 750; text-align: center; }.rm-before-after__empty { color: rgba(var(--cl-t-primary), .45); font-size: .85rem; font-weight: 650; }.rm-before-after__label { position: absolute; z-index: 4; top: 16px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(0,0,0,.44); color: #fff; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(9px); }.rm-before-after__label--before { left: 16px; }.rm-before-after__label--after { right: 16px; }.rm-before-after__handle { position: absolute; z-index: 5; top: 50%; display: grid; width: 40px; height: 40px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 7px 22px rgba(0,0,0,.28); transform: translate(-50%, -50%); pointer-events: none; }.rm-before-after__handle::before,.rm-before-after__handle::after { position: absolute; left: 50%; width: 2px; height: 100vh; background: rgba(255,255,255,.78); content: ''; transform: translateX(-50%); }.rm-before-after__handle::before { bottom: 100%; }.rm-before-after__handle::after { top: 100%; }.rm-before-after__range { position: absolute; inset: 0; z-index: 6; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: col-resize; }

/* Compact product chooser: a deliberate, ResellMe-inspired information hierarchy without copying its branding. */
.rm-category-modal__shell { overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 18px; background: linear-gradient(145deg, rgba(var(--cl-card), .99), rgba(var(--cl-background), .98)); box-shadow: 0 30px 90px rgba(0,0,0,.45); color: rgb(var(--cl-t-primary)); text-align: left; }.rm-category-modal__topbar { display: flex; height: 66px; align-items: center; gap: 10px; padding: 10px 17px; border-bottom: 1px solid rgba(var(--cl-t-primary), .09); background: rgba(var(--cl-background), .22); }.rm-category-modal__topbar > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }.rm-category-modal__topbar strong { overflow: hidden; font-size: .86rem; font-weight: 800; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }.rm-category-modal__topbar small { color: rgba(var(--cl-t-primary), .47); font-size: .63rem; }.rm-category-modal__top-image { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 9px; background: rgba(var(--cl-background), .72); color: rgb(var(--cl-accent)); }.rm-category-modal__top-image img { width: 100%; height: 100%; object-fit: cover; }.rm-category-modal__body { display: grid; grid-template-columns: 205px minmax(0, 1fr); min-height: 378px; }.rm-category-modal__feature { padding: 18px; border-right: 1px solid rgba(var(--cl-t-primary), .09); background: radial-gradient(circle at 50% 2%, rgba(var(--cl-accent), .15), transparent 44%), rgba(var(--cl-background), .25); }.rm-category-modal__feature-image { display: grid; width: 100%; aspect-ratio: 1/1; place-items: center; overflow: hidden; margin-bottom: 14px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 12px; background: rgba(var(--cl-background), .62); color: rgb(var(--cl-accent)); font-size: 2rem; }.rm-category-modal__feature-image img { width: 100%; height: 100%; object-fit: cover; }.rm-category-modal__selected-copy { min-height: 118px; }.rm-category-modal__feature h3 { margin: 7px 0 5px; color: rgb(var(--cl-t-primary)); font-size: .92rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.22; }.rm-category-modal__availability { margin: 0; color: #7dbd39; font-size: .64rem; font-weight: 650; }.rm-category-modal__availability i { font-size: .38rem; vertical-align: 1px; }.rm-category-modal__availability.is-out { color: rgba(var(--cl-t-primary), .46); }.rm-category-modal__selected-price { display: block; margin-top: 9px; color: rgb(var(--cl-t-primary)); font-size: 1.25rem; font-weight: 850; letter-spacing: -.045em; }.rm-category-modal__view { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; color: rgba(var(--cl-t-primary), .68); font-size: .68rem; font-weight: 750; transition: color .2s ease, gap .2s ease; }.rm-category-modal__view:hover { gap: 10px; color: rgb(var(--cl-accent)); }.rm-category-modal__choices { display: flex; min-height: 0; flex-direction: column; padding: 20px 22px; }.rm-category-modal__heading { margin-bottom: 12px; }.rm-category-modal__heading span { color: rgb(var(--cl-t-primary)); font-size: .88rem; font-weight: 800; letter-spacing: -.025em; }.rm-category-modal__heading p { margin-top: 3px; color: rgba(var(--cl-t-primary), .46); font-size: .66rem; }.rm-category-modal__list { display: grid; align-content: start; gap: 8px; overflow: auto; padding: 1px; }.rm-category-choice { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto 22px; align-items: center; gap: 10px; min-height: 59px; padding: 8px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 10px; background: rgba(var(--cl-background), .15); color: rgb(var(--cl-t-primary)); text-align: left; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }.rm-category-choice:hover { border-color: rgba(var(--cl-accent), .42); background: rgba(var(--cl-accent), .045); transform: translateX(2px); }.rm-category-choice.is-selected { border-color: rgb(var(--cl-accent)); background: linear-gradient(90deg, rgba(var(--cl-accent), .15), rgba(var(--cl-accent), .035)); box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .12), 0 7px 20px rgba(var(--cl-accent), .09); }.rm-category-choice__image { display: grid; width: 42px; height: 42px; place-items: center; overflow: hidden; border-radius: 8px; background: rgba(var(--cl-card), .9); color: rgb(var(--cl-accent)); }.rm-category-choice__image img { width: 100%; height: 100%; object-fit: cover; }.rm-category-choice__copy { display: grid; min-width: 0; gap: 3px; }.rm-category-choice__copy strong { overflow: hidden; font-size: .73rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }.rm-category-choice__copy small { color: rgba(var(--cl-t-primary), .46); font-size: .61rem; }.rm-category-choice__price { color: rgb(var(--cl-t-primary)); font-size: .72rem; font-weight: 800; white-space: nowrap; }.rm-category-choice.is-selected .rm-category-choice__price { color: rgb(var(--cl-accent)); }.rm-category-choice__check { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .25); border-radius: 50%; color: transparent; font-size: .55rem; transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }.rm-category-choice.is-selected .rm-category-choice__check { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .13); transform: scale(1.04); }.rm-category-modal__note { display: flex; align-items: flex-start; gap: 8px; margin-top: auto; padding: 10px 11px; border: 1px solid rgba(var(--cl-t-primary), .08); border-radius: 9px; background: rgba(var(--cl-background), .25); color: rgba(var(--cl-t-primary), .48); font-size: .6rem; line-height: 1.4; }.rm-category-modal__note i { margin-top: 1px; color: rgb(var(--cl-accent)); }.rm-category-modal__benefits { display: flex; justify-content: center; gap: clamp(12px, 3vw, 32px); padding: 11px 18px; border-top: 1px solid rgba(var(--cl-t-primary), .08); background: rgba(var(--cl-background), .2); color: rgba(var(--cl-t-primary), .5); font-size: .6rem; }.rm-category-modal__benefits span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }.rm-category-modal__benefits i { color: rgb(var(--cl-accent)); }.rm-category-modal__close { display: grid; width: 28px; height: 28px; flex: 0 0 auto; margin-left: auto; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 50%; background: rgba(var(--cl-background), .36); color: rgba(var(--cl-t-primary), .64); font-size: .7rem; transition: color .2s ease, border-color .2s ease, transform .2s ease; }.rm-category-modal__close:hover { border-color: rgba(var(--cl-accent), .55); color: rgb(var(--cl-accent)); transform: rotate(90deg); }

/* Choices.js category selector: layered selection, not a one-off coloured block. */
.rm-products-category .choices { transition: transform .2s ease; }.rm-products-category .choices.is-focused,.rm-products-category .choices.is-open { transform: translateY(-1px); }.rm-products-category .choices__inner { border: 1px solid transparent !important; border-radius: 10px !important; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important; }.rm-products-category .choices.is-focused .choices__inner,.rm-products-category .choices.is-open .choices__inner { border-color: rgba(var(--cl-accent), .55) !important; background: rgba(var(--cl-accent), .055) !important; box-shadow: 0 0 0 3px rgba(var(--cl-accent), .09); }.rm-products-category .choices__list--dropdown { overflow: hidden; margin-top: 8px; border: 1px solid rgba(var(--cl-t-primary), .12) !important; border-radius: 13px !important; background: rgb(var(--cl-card)) !important; box-shadow: 0 16px 38px rgba(0,0,0,.24); }.rm-products-category .choices__list--dropdown .choices__item { position: relative; min-height: 42px; padding: 11px 14px 11px 19px !important; border-bottom: 1px solid rgba(var(--cl-t-primary), .07); background: transparent; color: rgba(var(--cl-t-primary), .72); font-size: .76rem; font-weight: 700; transition: padding .18s ease, color .18s ease, background .18s ease; }.rm-products-category .choices__list--dropdown .choices__item::before { position: absolute; top: 50%; left: 8px; width: 3px; height: 0; border-radius: 999px; background: rgb(var(--cl-accent)); content: ''; transform: translateY(-50%); transition: height .18s ease; }.rm-products-category .choices__list--dropdown .choices__item--selectable.is-highlighted { padding-left: 23px !important; background: linear-gradient(90deg, rgba(var(--cl-accent), .12), transparent) !important; color: rgb(var(--cl-t-primary)) !important; }.rm-products-category .choices__list--dropdown .choices__item--selectable.is-highlighted::before { height: 18px; }.rm-products-category .choices__list--dropdown .choices__item.is-selected { background: rgba(var(--cl-accent), .08) !important; color: rgb(var(--cl-accent)) !important; }.rm-products-category .choices__list--dropdown .choices__item.is-selected::before { height: 24px; }

@media (max-width: 760px) { .rm-text-media__shell { grid-template-columns: 1fr; }.rm-text-media--left .rm-text-media__visual { order: 0; }.rm-text-media__copy--right { text-align: left; }.rm-text-media__copy--right h2,.rm-text-media__copy--right .rm-text-media__text { margin-left: 0; }.rm-text-media__buttons--right { justify-content: flex-start; }.rm-category-modal__body { grid-template-columns: 1fr; }.rm-category-modal__feature { display: grid; grid-template-columns: 88px 1fr; column-gap: 14px; padding: 16px; border-right: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .09); }.rm-category-modal__feature-image { width: 88px; height: 88px; margin: 0; grid-row: span 4; }.rm-category-modal__choices { min-height: 0; padding: 17px; }.rm-category-modal__benefits { justify-content: flex-start; overflow-x: auto; }.rm-before-after__stage--compact,.rm-before-after__stage--standard,.rm-before-after__stage--tall { min-height: 280px; aspect-ratio: auto; } }
@media (prefers-reduced-motion: reduce) { .rm-category-choice,.rm-category-modal__close,.rm-products-category .choices,.rm-products-category .choices__inner,.rm-products-category .choices__list--dropdown .choices__item { transition: none !important; } }

/* Keep the product picker deliberately compact, even when the storefront has a wide viewport. */
.rm-category-modal { overscroll-behavior: contain; }.rm-category-modal > div { padding: 20px !important; }.rm-category-modal .w-full.max-w-5xl { width: min(700px, calc(100vw - 40px)) !important; max-width: 700px !important; }.rm-category-modal__shell { max-height: min(540px, calc(100vh - 40px)); }.rm-category-modal__topbar { height: 58px; padding: 9px 14px; }.rm-category-modal__top-image { width: 34px; height: 34px; }.rm-category-modal__body { min-height: 0; grid-template-columns: 190px minmax(0, 1fr); }.rm-category-modal__feature { min-height: 0; padding: 15px; }.rm-category-modal__feature-image { margin-bottom: 12px; }.rm-category-modal__choices { min-height: 0; padding: 17px 18px; }.rm-category-modal__list { max-height: 218px; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; }.rm-category-modal__list::-webkit-scrollbar { width: 0; height: 0; }.rm-category-choice { min-height: 56px; border-radius: 9px; }.rm-category-choice.is-selected { animation: rm-choice-select .26s cubic-bezier(.2,.8,.2,1); }.rm-category-choice__check { justify-self: center; }.rm-category-modal__note { margin-top: 12px; }.rm-category-modal__benefits { padding: 9px 14px; }
.rm-category-modal__selected-copy { display: flex; min-height: 149px; flex-direction: column; overflow: hidden; }.rm-category-modal__selected-copy .rm-category-modal__kicker { min-height: 12px; }.rm-category-modal__feature h3 { min-height: 34px; overflow: hidden; }.rm-category-modal__availability { min-height: 16px; }.rm-category-modal__selected-price { min-height: 42px; overflow-wrap: anywhere; color: rgb(var(--cl-t-primary)); font-size: clamp(.94rem, 1.55vw, 1.18rem); line-height: 1.18; white-space: normal; }.rm-category-modal__selected-price span { white-space: nowrap; }.rm-category-modal__view { min-height: 17px; margin-top: auto; }.rm-category-choice__check { display: block; width: 18px; height: 18px; border-radius: 999px; border-color: rgba(var(--cl-t-primary), .25); background: transparent; box-shadow: none; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.rm-category-choice.is-selected .rm-category-choice__check { background: rgb(var(--cl-accent)); border-color: rgb(var(--cl-accent)); color: transparent; box-shadow: 0 0 0 3px rgba(var(--cl-accent), .12); transform: scale(1.02); }
.rm-category-modal__summary { position: relative; height: 149px; }.rm-category-modal__summary .rm-category-modal__selected-copy { position: absolute; inset: 0; width: 100%; }
.rm-category-modal__action { margin-top: 10px; }.rm-category-modal__action a { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; border: 1px solid rgba(var(--cl-accent), .52); border-radius: 8px; background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); font-size: .66rem; font-weight: 800; letter-spacing: .01em; transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }.rm-category-modal__action a:hover { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 8px 18px rgba(var(--cl-accent), .18); transform: translateY(-1px); }.rm-category-modal__action a:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }
@keyframes rm-choice-select { from { transform: translateX(-2px) scale(.992); filter: brightness(.94); } to { transform: translateX(0) scale(1); filter: brightness(1); } }
@media (max-width: 760px) { .rm-category-modal > div { align-items: center !important; padding: 12px !important; }.rm-category-modal .w-full.max-w-5xl { width: min(520px, calc(100vw - 24px)) !important; }.rm-category-modal__shell { max-height: calc(100vh - 24px); }.rm-category-modal__body { grid-template-columns: 1fr; }.rm-category-modal__feature { grid-template-columns: 78px 1fr; }.rm-category-modal__feature-image { width: 78px; height: 78px; }.rm-category-modal__list { max-height: 175px; }.rm-category-modal__benefits { gap: 16px; } }

/* Instant delivery: a readable, sequential order-to-access journey. */
.rm-order-journey { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 82px; }
.rm-order-journey__track { position: absolute; z-index: 0; top: 25px; right: 12.5%; left: 12.5%; height: 2px; overflow: hidden; background: rgba(var(--cl-t-primary), .13); }.rm-order-journey__track i { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, rgba(var(--cl-accent), .75), rgb(var(--cl-accent))); animation: rmOrderJourneyTrack 8s cubic-bezier(.65,0,.35,1) infinite; }
.rm-order-journey__step { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; min-width: 0; color: rgba(var(--cl-t-primary), .42); text-align: center; }.rm-order-journey__step strong { color: rgba(var(--cl-t-primary), .72); font-size: .67rem; font-weight: 800; line-height: 1.25; }.rm-order-journey__step small { color: rgba(var(--cl-t-primary), .38); font-size: .6rem; line-height: 1.25; }
.rm-order-journey__point { position: relative; display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .17); border-radius: 50%; background: rgba(var(--cl-card), .92); color: rgba(var(--cl-t-primary), .5); box-shadow: 0 0 0 7px rgba(var(--cl-background), .75); }.rm-order-journey__point > i,.rm-order-journey__point > b { position: absolute; font-size: .85rem; }.rm-order-journey__point > b { opacity: 0; transform: scale(.45); }
.rm-order-journey__step--1 .rm-order-journey__point { animation: rmOrderPoint1 8s ease-in-out infinite; }.rm-order-journey__step--2 .rm-order-journey__point { animation: rmOrderPoint2 8s ease-in-out infinite; }.rm-order-journey__step--3 .rm-order-journey__point { animation: rmOrderPoint3 8s ease-in-out infinite; }.rm-order-journey__step--4 .rm-order-journey__point { animation: rmOrderPoint4 8s ease-in-out infinite; }
.rm-order-journey__step--1 .rm-order-journey__point > i { animation: rmOrderIcon1 8s ease-in-out infinite; }.rm-order-journey__step--2 .rm-order-journey__point > i { animation: rmOrderIcon2 8s ease-in-out infinite; }.rm-order-journey__step--3 .rm-order-journey__point > i { animation: rmOrderIcon3 8s ease-in-out infinite; }.rm-order-journey__step--4 .rm-order-journey__point > i { animation: rmOrderIcon4 8s ease-in-out infinite; }
.rm-order-journey__step--1 .rm-order-journey__point > b { animation: rmOrderCheck1 8s ease-in-out infinite; }.rm-order-journey__step--2 .rm-order-journey__point > b { animation: rmOrderCheck2 8s ease-in-out infinite; }.rm-order-journey__step--3 .rm-order-journey__point > b { animation: rmOrderCheck3 8s ease-in-out infinite; }.rm-order-journey__step--4 .rm-order-journey__point > b { animation: rmOrderCheck4 8s ease-in-out infinite; }
.rm-order-journey__reassurance { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 32px auto 0; color: rgba(var(--cl-t-primary), .58); font-size: .73rem; }.rm-order-journey__reassurance i { color: rgb(var(--cl-accent)); }
@keyframes rmOrderJourneyTrack { 0%,7% { transform: scaleX(0); } 22% { transform: scaleX(.33); } 44% { transform: scaleX(.66); } 66%,88% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes rmOrderPoint1 { 0%,7% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } 11%,88% { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 0 0 7px rgba(var(--cl-accent),.1); } 100% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } }
@keyframes rmOrderPoint2 { 0%,25% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } 29%,88% { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 0 0 7px rgba(var(--cl-accent),.1); } 100% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } }
@keyframes rmOrderPoint3 { 0%,47% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } 51%,88% { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 0 0 7px rgba(var(--cl-accent),.1); } 100% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } }
@keyframes rmOrderPoint4 { 0%,69% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } 73%,88% { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); box-shadow: 0 0 0 7px rgba(var(--cl-accent),.1); } 100% { border-color: rgba(var(--cl-t-primary),.17); background: rgba(var(--cl-card),.92); color: rgba(var(--cl-t-primary),.5); box-shadow: 0 0 0 7px rgba(var(--cl-background),.75); } }
@keyframes rmOrderIcon1 { 0%,8% { opacity:1; transform:scale(1); } 11%,88% { opacity:0; transform:scale(.45); } 100% { opacity:1; transform:scale(1); } } @keyframes rmOrderIcon2 { 0%,26% { opacity:1; transform:scale(1); } 29%,88% { opacity:0; transform:scale(.45); } 100% { opacity:1; transform:scale(1); } } @keyframes rmOrderIcon3 { 0%,48% { opacity:1; transform:scale(1); } 51%,88% { opacity:0; transform:scale(.45); } 100% { opacity:1; transform:scale(1); } } @keyframes rmOrderIcon4 { 0%,70% { opacity:1; transform:scale(1); } 73%,88% { opacity:0; transform:scale(.45); } 100% { opacity:1; transform:scale(1); } }
@keyframes rmOrderCheck1 { 0%,8% { opacity:0; transform:scale(.45); } 11%,88% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(.45); } } @keyframes rmOrderCheck2 { 0%,26% { opacity:0; transform:scale(.45); } 29%,88% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(.45); } } @keyframes rmOrderCheck3 { 0%,48% { opacity:0; transform:scale(.45); } 51%,88% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(.45); } } @keyframes rmOrderCheck4 { 0%,70% { opacity:0; transform:scale(.45); } 73%,88% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(.45); } }
@media (max-width: 560px) { .rm-order-journey { gap: 3px; margin-top: 62px; }.rm-order-journey__track { right: 12%; left: 12%; top: 21px; }.rm-order-journey__point { width: 44px; height: 44px; box-shadow: 0 0 0 5px rgba(var(--cl-background),.75); }.rm-order-journey__step strong { font-size: .56rem; }.rm-order-journey__step small { display: none; }.rm-order-journey__reassurance { margin-top: 26px; font-size: .65rem; text-align:center; } }
@media (prefers-reduced-motion: reduce) { .rm-order-journey * { animation: none !important; }.rm-order-journey__track i { transform: scaleX(1); }.rm-order-journey__point { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); }.rm-order-journey__point > i { opacity: 0; }.rm-order-journey__point > b { opacity: 1; transform: scale(1); } }

/* Why choose us: provider-aware payment confirmation. */
.rm-demo-payments { max-width: 500px; margin: 44px auto 0; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 15px; background: linear-gradient(145deg, rgba(var(--cl-card), .9), rgba(var(--cl-background), .72)); box-shadow: 0 18px 42px rgba(0, 0, 0, .16); }
.rm-demo-payments__head,.rm-demo-payments__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; }
.rm-demo-payments__head { border-bottom: 1px solid rgba(var(--cl-t-primary), .09); color: rgb(var(--cl-t-primary)); font-size: .75rem; font-weight: 800; }.rm-demo-payments__head > span { display: inline-flex; align-items: center; gap: 7px; }.rm-demo-payments__head > span > i { color: rgb(var(--cl-accent)); }.rm-demo-payments__head small { display: inline-flex; align-items: center; gap: 5px; color: rgba(var(--cl-t-primary), .48); font-size: .62rem; font-weight: 700; }
.rm-demo-payments__methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 8px; padding: 13px 15px; }
.rm-demo-payments__method { --payment-color: rgb(var(--cl-accent)); position: relative; display: grid; min-height: 76px; place-items: center; gap: 7px; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 11px; background: rgba(var(--cl-background), .42); color: var(--payment-color); transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease, background .26s ease; }
.rm-demo-payments__method::before { content: ''; position: absolute; inset: auto 16% 0; height: 1px; background: var(--payment-color); opacity: .72; transform: scaleX(.38); transition: transform .28s ease; }.rm-demo-payments__method > i { color: var(--payment-color); font-size: 1.42rem; filter: drop-shadow(0 0 8px color-mix(in srgb, var(--payment-color) 42%, transparent)); }.rm-demo-payments__method small { color: rgba(var(--cl-t-primary), .62); font-size: .62rem; font-weight: 750; }.rm-demo-payments__method b { position: absolute; top: 6px; right: 6px; display: grid; width: 15px; height: 15px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--payment-color) 18%, transparent); color: var(--payment-color); font-size: .5rem; opacity: .78; }
.rm-demo-payments__method:hover { border-color: color-mix(in srgb, var(--payment-color) 65%, rgba(var(--cl-t-primary), .14)); background: color-mix(in srgb, var(--payment-color) 7%, rgba(var(--cl-background), .5)); box-shadow: 0 10px 24px color-mix(in srgb, var(--payment-color) 15%, transparent); transform: translateY(-3px); }.rm-demo-payments__method:hover::before { transform: scaleX(1); }.rm-demo-payments__method:focus-visible { outline: 2px solid var(--payment-color); outline-offset: 3px; }
.rm-demo-payments__method[data-payment-provider="visa"] { --payment-color: #1a4f9f; }.rm-demo-payments__method[data-payment-provider="mastercard"] { --payment-color: #eb001b; }.rm-demo-payments__method[data-payment-provider="paypal"] { --payment-color: #0070e0; }.rm-demo-payments__method[data-payment-provider="apple-pay"] { --payment-color: #f5f5f7; }.rm-demo-payments__method[data-payment-provider="american-express"],.rm-demo-payments__method[data-payment-provider="amex"] { --payment-color: #2e77bc; }.rm-demo-payments__method[data-payment-provider="stripe"] { --payment-color: #635bff; }.rm-demo-payments__method[data-payment-provider="google-pay"] { --payment-color: #4285f4; }.rm-demo-payments__method[data-payment-provider="bitcoin"] { --payment-color: #f7931a; }.rm-demo-payments__method[data-payment-provider="ethereum"] { --payment-color: #627eea; }.rm-demo-payments__method[data-payment-provider="solana"] { --payment-color: #14f195; }.rm-demo-payments__method[data-payment-provider="usdt"] { --payment-color: #26a17b; }.rm-demo-payments__method[data-payment-provider="usdc"] { --payment-color: #2775ca; }
.rm-demo-payments__foot { border-top: 1px solid rgba(var(--cl-t-primary), .08); color: rgba(var(--cl-t-primary), .48); font-size: .65rem; font-weight: 700; }.rm-demo-payments__foot span { display: inline-flex; align-items: center; gap: 6px; }.rm-demo-payments__foot span i { color: rgb(var(--cl-accent)); }.rm-demo-payments__foot > i { color: rgb(var(--cl-accent)); animation: rmPaymentArrow 1.8s ease-in-out infinite; }
@keyframes rmPaymentArrow { 0%,100% { transform: translateX(0); opacity: .5; } 50% { transform: translateX(4px); opacity: 1; } }

/* Product status: actual grouped status data, category media, and product media. */
.rm-status-page { max-width: 1240px; margin: 34px auto 0; }.rm-status-page__hero { padding: clamp(24px, 4vw, 46px); border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 20px; background: radial-gradient(circle at 84% 0, rgba(var(--cl-accent), .14), transparent 35%), linear-gradient(145deg, rgba(var(--cl-card), .78), rgba(var(--cl-background), .66)); text-align: center; }.rm-status-page__hero .rm-kicker { display: inline-flex; }.rm-status-page__hero h1 { margin: 12px 0 0; color: rgb(var(--cl-t-primary)); font-size: clamp(2rem, 4.2vw, 3.3rem); font-weight: 850; letter-spacing: -.055em; }.rm-status-page__hero p { max-width: 580px; margin: 12px auto 0; color: rgba(var(--cl-t-primary), .6); font-size: .9rem; line-height: 1.55; }
.rm-status-page__summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; max-width: 920px; margin: 28px auto 0; text-align: left; }.rm-status-summary { --summary-color: rgb(var(--cl-accent)); display: flex; align-items: center; gap: 11px; min-width: 0; padding: 13px; border: 1px solid rgba(var(--cl-t-primary), .09); border-radius: 13px; background: rgba(var(--cl-background), .43); }.rm-status-summary > i { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: color-mix(in srgb, var(--summary-color) 15%, transparent); color: var(--summary-color); }.rm-status-summary span { display: grid; gap: 2px; min-width: 0; }.rm-status-summary small { color: rgba(var(--cl-t-primary), .48); font-size: .62rem; font-weight: 750; text-transform: uppercase; }.rm-status-summary strong { color: rgb(var(--cl-t-primary)); font-size: 1.2rem; line-height: 1; }.rm-status-summary--online { --summary-color: #28d17c; }.rm-status-summary--updating { --summary-color: #f39a2e; }.rm-status-summary--offline { --summary-color: #ed5757; }
.rm-status-groups { display: grid; gap: 16px; margin-top: 22px; }.rm-status-group { overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 17px; background: rgba(var(--cl-card), .56); }.rm-status-group__head { display: grid; grid-template-columns: 172px minmax(0,1fr) auto; width: 100%; min-height: 112px; align-items: stretch; gap: 18px; padding: 12px; color: rgb(var(--cl-t-primary)); text-align: left; transition: background .22s ease; }.rm-status-group__head:hover { background: rgba(var(--cl-t-primary), .025); }.rm-status-group__head:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: -3px; }
/* Media now fills the full row height (align-items: stretch above) instead of
   a fixed 88px inside a 112px row — that mismatch was the visible empty strip
   under the image. Framed presentation: inner ring + bottom gradient so the
   photo reads as a mounted product shot rather than a flat crop. */
.rm-status-group__media { position: relative; display: grid; place-items: center; overflow: hidden; border-radius: 13px; background: radial-gradient(circle, rgba(var(--cl-accent), .16), transparent 70%); color: rgb(var(--cl-accent)); font-size: 1.6rem; }.rm-status-group__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }.rm-status-group__media::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), inset 0 -34px 28px -20px rgba(0,0,0,.5); pointer-events: none; }.rm-status-group__title { display: grid; gap: 7px; }.rm-status-group__title strong { font-size: clamp(1.1rem, 2vw, 1.35rem); letter-spacing: -.025em; }.rm-status-group__title small { color: rgba(var(--cl-t-primary), .48); font-size: .72rem; }.rm-status-group__toggle { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 10px; color: rgba(var(--cl-t-primary), .56); }.rm-status-group__toggle i { transition: transform .22s ease; }.rm-status-group__toggle i.is-open { transform: rotate(180deg); }.rm-status-group__products { display: grid; gap: 8px; padding: 0 12px 12px 202px; }
.rm-status-product { display: grid; grid-template-columns: 48px minmax(0,1fr) auto 18px; align-items: center; gap: 12px; min-height: 66px; padding: 8px 12px 8px 8px; border: 1px solid rgba(var(--cl-t-primary), .09); border-radius: 12px; background: rgba(var(--cl-background), .42); color: rgb(var(--cl-t-primary)); transition: border-color .22s ease, background .22s ease, transform .22s ease; }.rm-status-product:hover { border-color: rgba(var(--cl-accent), .34); background: rgba(var(--cl-t-primary), .035); transform: translateX(3px); }.rm-status-product:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; }.rm-status-product__media { position: relative; display: grid; width: 48px; height: 48px; flex-shrink: 0; place-items: center; overflow: hidden; border-radius: 10px; background: rgba(var(--cl-card), .72); color: rgba(var(--cl-t-primary), .42); box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }.rm-status-product__media img { width: 100%; height: 100%; object-fit: cover; display: block; }.rm-status-product__copy { display: grid; min-width: 0; gap: 4px; }.rm-status-product__copy strong { overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .83rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.rm-status-product__copy small { overflow: hidden; color: rgba(var(--cl-t-primary), .44); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.rm-status-product__state { display: inline-flex; align-items: center; gap: 8px; color: var(--status-color); font-size: .73rem; }.rm-status-product__state > i { position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--status-color); box-shadow: 0 0 0 5px color-mix(in srgb, var(--status-color) 15%, transparent); }.rm-status-product__state > i::after { content: ''; position: absolute; inset: -4px; border: 1px solid var(--status-color); border-radius: inherit; opacity: .35; animation: rmStatusPing 2.3s ease-out infinite; }.rm-status-product__state b { font-weight: 800; }.rm-status-product__arrow { color: rgba(var(--cl-t-primary), .3); font-size: .7rem; transition: color .2s ease, transform .2s ease; }.rm-status-product:hover .rm-status-product__arrow { color: rgb(var(--cl-accent)); transform: translateX(2px); }
@keyframes rmStatusPing { 0% { transform: scale(.65); opacity: .6; } 75%,100% { transform: scale(1.55); opacity: 0; } }
@media (max-width: 760px) { .rm-status-page { margin-top: 22px; }.rm-status-page__summary { grid-template-columns: repeat(2, minmax(0,1fr)); }.rm-status-group__head { grid-template-columns: 110px minmax(0,1fr) auto; min-height: 94px; gap: 12px; }.rm-status-group__products { padding-left: 12px; }.rm-status-product { grid-template-columns: 44px minmax(0,1fr) auto; }.rm-status-product__media { width: 44px; height: 44px; }.rm-status-product__arrow { display: none; } }
@media (max-width: 460px) { .rm-status-page__hero { padding: 22px 15px; }.rm-status-page__summary { gap: 7px; }.rm-status-summary { gap: 8px; padding: 10px; }.rm-status-summary > i { width: 30px; height: 30px; border-radius: 9px; }.rm-status-summary small { font-size: .55rem; }.rm-status-summary strong { font-size: 1rem; }.rm-status-group__head { grid-template-columns: 70px minmax(0,1fr) 32px; min-height: 80px; padding: 9px; }.rm-status-product { grid-template-columns: 40px minmax(0,1fr); gap: 9px; }.rm-status-product__media { width: 40px; height: 40px; }.rm-status-product__state { grid-column: 2; justify-self: start; margin-top: -4px; }.rm-status-product__copy small { display: none; } }
@media (hover: none) { .rm-demo-payments__method:hover,.rm-status-product:hover { transform: none; }.rm-demo-payments__method:hover { border-color: rgba(var(--cl-t-primary), .11); background: rgba(var(--cl-background), .42); box-shadow: none; } }

/* Status groups: the product surface now grows directly beneath category media. */
.rm-status-group { display: grid; grid-template-columns: 190px minmax(0,1fr); }.rm-status-group__head { grid-column: 1; grid-row: 1 / span 2; grid-template-columns: 1fr auto; grid-template-rows: minmax(128px, 1fr) auto; min-height: 0; gap: 10px; padding: 12px; border-right: 1px solid rgba(var(--cl-t-primary), .09); }.rm-status-group__media { grid-column: 1 / -1; grid-row: 1; min-height: 128px; }.rm-status-group__title { grid-column: 1; grid-row: 2; align-self: center; }.rm-status-group__toggle { grid-column: 2; grid-row: 2; align-self: center; }.rm-status-group__products { grid-column: 2; grid-row: 1 / span 2; align-content: stretch; padding: 12px; }.rm-status-group__products > .rm-status-product { min-height: 100%; }.rm-status-group:has(.rm-status-group__products[style*="display: none"]) { grid-template-columns: 1fr; }.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__head { grid-column: 1; grid-row: 1; grid-template-columns: 150px minmax(0,1fr) auto; grid-template-rows: 1fr; min-height: 112px; border-right: 0; }.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__media { grid-column: 1; grid-row: 1; min-height: 88px; }.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__title { grid-column: 2; grid-row: 1; }.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__toggle { grid-column: 3; grid-row: 1; }.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__products { display: none !important; }

/* Discord header popover: user-opened, compact and touch-safe. */
[x-cloak] { display: none !important; }.rm-header-discord { position: relative; }.rm-header-discord__trigger { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 10px; background: rgba(var(--cl-background), .56); color: #5865f2; transition: transform .2s ease, border-color .2s ease, background .2s ease; }.rm-header-discord__trigger:hover { border-color: rgba(88,101,242,.7); background: rgba(88,101,242,.12); transform: translateY(-1px); }.rm-header-discord__panel { position: absolute; z-index: 90; top: calc(100% + 10px); right: 0; width: min(282px, calc(100vw - 24px)); padding: 14px; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 14px; background: rgb(var(--cl-card)); box-shadow: 0 24px 56px rgba(0,0,0,.35); }.rm-header-discord__close { position: absolute; top: 9px; right: 9px; display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 8px; color: rgba(var(--cl-t-primary), .55); }.rm-header-discord__identity { display: flex; align-items: center; gap: 10px; padding-right: 28px; }.rm-header-discord__identity > i,.rm-header-discord__identity img { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 10px; background: #5865f2; color: #fff; object-fit: cover; }.rm-header-discord__identity span { display: grid; gap: 2px; min-width: 0; }.rm-header-discord__identity small { color: rgba(var(--cl-t-primary), .46); font-size: .59rem; }.rm-header-discord__identity strong { overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }.rm-header-discord__counts { display: grid; grid-template-columns: 1fr 1fr; margin: 14px 0 12px; border: 1px solid rgba(var(--cl-t-primary), .08); border-radius: 10px; overflow: hidden; }.rm-header-discord__counts span { display: grid; gap: 3px; padding: 10px; }.rm-header-discord__counts span + span { border-left: 1px solid rgba(var(--cl-t-primary), .08); }.rm-header-discord__counts strong { color: rgb(var(--cl-t-primary)); font-size: 1rem; }.rm-header-discord__counts small { color: rgba(var(--cl-t-primary), .45); font-size: .58rem; }.rm-header-discord__join { display: inline-flex; width: 100%; min-height: 36px; align-items: center; justify-content: center; gap: 7px; border-radius: 9px; background: #5865f2; color: #fff; font-size: .67rem; font-weight: 800; transition: filter .2s ease, transform .2s ease; }.rm-header-discord__join:hover { filter: brightness(1.1); transform: translateY(-1px); }

/* Scratch-off coupon popup. */
.rm-scratch-coupon { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 16px; }.rm-scratch-coupon__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.64); backdrop-filter: blur(7px); }.rm-scratch-coupon__dialog { position: relative; width: min(390px, 100%); padding: 26px; border: 1px solid rgba(var(--cl-accent), .32); border-radius: 20px; background: radial-gradient(circle at 50% 0, rgba(var(--cl-accent), .15), transparent 34%), rgb(var(--cl-card)); box-shadow: 0 28px 80px rgba(0,0,0,.48); text-align: center; }.rm-scratch-coupon__close { position: absolute; top: 13px; right: 13px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 9px; color: rgba(var(--cl-t-primary), .64); }.rm-scratch-coupon__logo { width: 48px; height: 48px; margin: 0 auto 12px; border: 1px solid rgba(var(--cl-accent), .35); border-radius: 14px; object-fit: cover; }.rm-scratch-coupon h2 { margin: 8px 0; color: rgb(var(--cl-t-primary)); font-size: 1.48rem; font-weight: 850; letter-spacing: -.045em; }.rm-scratch-coupon p { margin: 0 auto 18px; color: rgba(var(--cl-t-primary), .58); font-size: .82rem; line-height: 1.55; }.rm-scratch-coupon__card { position: relative; display: grid; width: 100%; min-height: 94px; place-items: center; overflow: hidden; border: 1px dashed rgba(var(--cl-accent), .72); border-radius: 13px; background: rgba(var(--cl-accent), .07); color: rgb(var(--cl-t-primary)); }.rm-scratch-coupon__cover,.rm-scratch-coupon__reward { position: absolute; inset: 0; display: grid; place-content: center; gap: 6px; transition: clip-path .5s cubic-bezier(.2,.8,.2,1), opacity .3s ease; }.rm-scratch-coupon__cover { z-index: 2; background: linear-gradient(135deg, rgb(var(--cl-accent)), rgba(var(--cl-accent), .74)); color: rgb(var(--cl-t-accent)); }.rm-scratch-coupon__cover i { font-size: 1.05rem; }.rm-scratch-coupon__cover b { font-size: .74rem; }.rm-scratch-coupon__reward strong { font-size: 1.05rem; letter-spacing: .12em; }.rm-scratch-coupon__reward small { color: rgba(var(--cl-t-primary), .52); font-size: .62rem; }.rm-scratch-coupon__card.is-revealed .rm-scratch-coupon__cover { clip-path: circle(0% at 50% 50%); opacity: 0; pointer-events: none; }.rm-scratch-coupon__copy,.rm-scratch-coupon__cta { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; width: 100%; margin-top: 12px; border-radius: 10px; font-size: .72rem; font-weight: 800; }.rm-scratch-coupon__copy { border: 1px solid rgba(var(--cl-t-primary), .14); color: rgb(var(--cl-t-primary)); }.rm-scratch-coupon__cta { background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); }.rm-scratch-coupon__copy:hover,.rm-scratch-coupon__cta:hover { transform: translateY(-1px); }

/* Scratch card: a real eraseable surface, with an automatic reveal threshold. */
.rm-scratch-coupon__instruction { display: flex; align-items: center; justify-content: center; gap: 8px; margin: -5px auto 9px; color: rgb(var(--cl-t-primary)); font-size: .74rem; }.rm-scratch-coupon__instruction i { color: rgb(var(--cl-accent)); font-size: .7rem; }.rm-scratch-coupon__card { min-height: 108px; cursor: crosshair; touch-action: none; user-select: none; background: rgba(var(--cl-accent), .08); box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .1); }.rm-scratch-coupon__cover { z-index: 3; pointer-events: none; background: linear-gradient(135deg, rgba(var(--cl-accent), .15), rgba(var(--cl-card), .96)); color: rgb(var(--cl-t-primary)); text-shadow: 0 1px 1px rgba(0,0,0,.24); }.rm-scratch-coupon__cover i { display: grid; width: 30px; height: 30px; place-items: center; margin: 0 auto; border: 1px solid rgba(var(--cl-accent), .35); border-radius: 9px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); }.rm-scratch-coupon__cover b { font-size: .76rem; }.rm-scratch-coupon__cover small { font-size: .58rem; opacity: .65; }.rm-scratch-coupon__canvas { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; transition: opacity .42s ease, transform .42s ease; }.rm-scratch-coupon__card.is-revealed .rm-scratch-coupon__canvas { opacity: 0; transform: scale(1.035); pointer-events: none; }.rm-scratch-coupon__card.is-revealed .rm-scratch-coupon__cover { opacity: 0; }.rm-scratch-coupon__reward { z-index: 1; }.rm-scratch-coupon__card:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 3px; }.rm-scratch-coupon__hint { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 9px 0 0; color: rgba(var(--cl-t-primary), .5); font-size: .62rem; }.rm-scratch-coupon__hint i { color: rgb(var(--cl-accent)); }

/* Compact checkout preview â€” intentionally closer to a checkout payment picker than a feature card. */
.rm-demo-payments { width: min(370px, 100%); margin: 30px auto 0; border-radius: 13px; box-shadow: 0 12px 28px rgba(0,0,0,.16); }.rm-demo-payments__head,.rm-demo-payments__foot { padding: 10px 12px; }.rm-demo-payments__head { font-size: .68rem; }.rm-demo-payments__head small { font-size: .57rem; }.rm-demo-payments__methods { grid-template-columns: repeat(auto-fit, minmax(68px, 1fr)); gap: 6px; padding: 10px 12px; }.rm-demo-payments__method { min-height: 60px; gap: 4px; border-radius: 9px; }.rm-demo-payments__method > i { font-size: 1.1rem; }.rm-demo-payments__method small { font-size: .53rem; }.rm-demo-payments__method b { top: 5px; right: 5px; width: 13px; height: 13px; font-size: .42rem; }.rm-demo-payments__foot { font-size: .58rem; }.rm-demo-payments__method:hover { transform: translateY(-2px); }

/* Configurable menu: editor-driven tabs and controls, sized by content rather than fixed rows. */
.rm-demo-menu { width: min(475px, 100%); max-width: 475px; margin: 30px auto 0; padding: 13px; border-radius: 14px; background: linear-gradient(145deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .58)); }.rm-demo-menu__title { margin-bottom: 10px; }.rm-demo-menu__tabs { display: flex; gap: 5px; overflow-x: auto; padding: 4px; border: 1px solid rgba(var(--cl-t-primary), .08); border-radius: 9px; background: rgba(var(--cl-background), .38); scrollbar-width: none; }.rm-demo-menu__tabs::-webkit-scrollbar { display: none; }.rm-demo-menu__tabs button { width: auto; flex: 0 0 auto; padding: 7px 10px; border: 0; border-radius: 6px; color: rgba(var(--cl-t-primary), .52); font-size: .63rem; font-weight: 800; white-space: nowrap; }.rm-demo-menu__tabs button.is-active { background: rgba(var(--cl-accent), .16); color: rgb(var(--cl-accent)); }.rm-demo-menu__panel { display: grid; gap: 3px; margin-top: 9px; }.rm-demo-menu__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 46px; padding: 8px 3px; border-top: 1px solid rgba(var(--cl-t-primary), .08); }.rm-demo-menu__control label { display: grid; min-width: 0; gap: 2px; color: rgb(var(--cl-t-primary)); font-size: .68rem; font-weight: 750; }.rm-demo-menu__control label small { overflow: hidden; color: rgba(var(--cl-t-primary), .46); font-size: .56rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }.rm-demo-menu__toggle { width: 34px; height: 18px; padding: 2px !important; border: 0; border-radius: 999px; background: rgba(var(--cl-t-primary), .17); }.rm-demo-menu__toggle i { display: block; width: 14px; height: 14px; border-radius: 50%; background: rgba(var(--cl-t-primary), .72); transition: transform .18s ease, background .18s ease; }.rm-demo-menu__toggle.is-on { background: rgb(var(--cl-accent)); }.rm-demo-menu__toggle.is-on i { background: rgb(var(--cl-t-accent)); transform: translateX(16px); }.rm-demo-menu__range { display: flex; align-items: center; gap: 7px; min-width: min(150px, 38vw); }.rm-demo-menu__range input { width: 100%; accent-color: rgb(var(--cl-accent)); }.rm-demo-menu__range b,.rm-demo-menu__keybind { min-width: 30px; color: rgb(var(--cl-accent)); font-size: .6rem; text-align: right; }.rm-demo-menu select,.rm-demo-menu input[type="text"] { max-width: 145px; min-height: 29px; padding: 0 8px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 7px; background: rgba(var(--cl-background), .42); color: rgb(var(--cl-t-primary)); font-size: .6rem; outline: none; }.rm-demo-menu__keybind { min-width: 44px; padding: 6px 8px; border: 1px solid rgba(var(--cl-accent), .35); border-radius: 6px; background: rgba(var(--cl-accent), .08); text-align: center; }.rm-demo-menu__save { min-height: 30px; padding: 0 10px; border-radius: 7px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .62rem; font-weight: 800; }.rm-demo-menu__save:hover { filter: brightness(1.08); }.rm-demo-menu__control--button { grid-template-columns: 1fr; }.rm-demo-menu__control--button .rm-demo-menu__save { width: 100%; }.rm-demo-menu__control--text { grid-template-columns: minmax(0,1fr) minmax(90px,145px); }
@media (max-width: 480px) { .rm-demo-menu { padding: 11px; }.rm-demo-menu__control { gap: 8px; }.rm-demo-menu__range { min-width: 105px; }.rm-demo-menu select,.rm-demo-menu input[type="text"] { max-width: 112px; }.rm-demo-payments__head small { display: none; } }

/* ImGui-inspired finish: compact tab icons, quiet dividers, and dense-but-readable controls. */
.rm-demo-menu { border-color: rgba(var(--cl-t-primary), .16); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 14px 26px rgba(0,0,0,.17); }.rm-demo-menu__title { padding-bottom: 9px; border-bottom: 1px solid rgba(var(--cl-t-primary), .09); }.rm-demo-menu__tabs { border-radius: 7px; background: rgba(0,0,0,.18); }.rm-demo-menu__tabs button { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; padding: 6px 9px; }.rm-demo-menu__tabs button i { color: rgba(var(--cl-t-primary), .42); font-size: .57rem; }.rm-demo-menu__tabs button.is-active { box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .2); }.rm-demo-menu__tabs button.is-active i { color: rgb(var(--cl-accent)); }.rm-demo-menu__control { min-height: 48px; }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle { width: 18px; height: 18px; border: 1px solid rgba(var(--cl-t-primary), .24); border-radius: 4px; background: transparent; }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle i { width: 8px; height: 8px; margin: auto; border-radius: 2px; background: transparent; }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on { border-color: rgb(var(--cl-accent)); background: rgba(var(--cl-accent), .16); }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on i { background: rgb(var(--cl-accent)); transform: none; }.rm-demo-menu__range input { height: 4px; border-radius: 99px; cursor: pointer; }.rm-demo-menu__range b { color: rgb(var(--cl-accent)); }.rm-demo-menu select,.rm-demo-menu input[type="text"] { transition: border-color .18s ease, box-shadow .18s ease; }.rm-demo-menu select:focus,.rm-demo-menu input[type="text"]:focus { border-color: rgba(var(--cl-accent), .72); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .12); }.rm-demo-menu__save { background: linear-gradient(135deg, rgb(var(--cl-accent)), color-mix(in srgb, rgb(var(--cl-accent)) 72%, #fff)); box-shadow: 0 7px 15px rgba(var(--cl-accent), .16); }

/* Payment selector: provider icons sit in consistent token-like tiles instead of competing cards. */
.rm-demo-payments { overflow: visible; border: 0; background: transparent; box-shadow: none; }.rm-demo-payments__head { margin-bottom: 7px; padding: 0 2px; border: 0; }.rm-demo-payments__methods { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); padding: 0; background: transparent; }.rm-demo-payments__method { display: grid; grid-template-columns: 30px minmax(0,1fr) 16px; min-height: 48px; align-items: center; justify-items: start; gap: 8px; padding: 8px; border-radius: 9px; background: rgba(var(--cl-card), .72); }.rm-demo-payments__method::before { display: none; }.rm-demo-payments__method > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 7px; background: color-mix(in srgb, var(--payment-color) 12%, rgba(var(--cl-background), .7)); font-size: 1rem; filter: none; }.rm-demo-payments__method small { color: rgb(var(--cl-t-primary)); font-size: .6rem; font-weight: 800; }.rm-demo-payments__method b { position: static; width: 16px; height: 16px; border: 1px solid rgba(var(--cl-t-primary), .2); background: transparent; }.rm-demo-payments__method.is-selected { border-color: color-mix(in srgb, var(--payment-color) 68%, rgba(var(--cl-t-primary), .16)); background: color-mix(in srgb, var(--payment-color) 10%, rgba(var(--cl-card), .82)); box-shadow: 0 7px 18px color-mix(in srgb, var(--payment-color) 12%, transparent); }.rm-demo-payments__method.is-selected b { border-color: var(--payment-color); background: var(--payment-color); }.rm-demo-payments__method.is-selected b::after { content: '\f00c'; color: #fff; font-family: 'Font Awesome 6 Free'; font-size: .48rem; font-weight: 900; }.rm-demo-payments__foot { margin-top: 8px; padding: 9px 2px 0; border-top: 1px solid rgba(var(--cl-t-primary), .09); }.rm-demo-payments__foot button { display: inline-flex; align-items: center; gap: 5px; color: rgb(var(--cl-accent)); font-size: .6rem; font-weight: 800; }.rm-demo-payments__foot button i { transition: transform .2s ease; }.rm-demo-payments__foot button:hover i { transform: translateX(3px); }
@media (max-width: 420px) { .rm-demo-payments__methods { grid-template-columns: 1fr; } }

/* ImGui controls should read as controls, not storefront toggles. */
.rm-demo-menu__tabs { gap: 2px; padding: 3px; border-radius: 5px; }.rm-demo-menu__tabs button { min-height: 28px; padding: 5px 8px; border-radius: 4px; background: transparent; }.rm-demo-menu__tabs button:hover { background: rgba(var(--cl-t-primary), .06); color: rgb(var(--cl-t-primary)); }.rm-demo-menu__tabs button.is-active { box-shadow: none; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); }.rm-demo-menu__tabs button.is-active::after { content: ''; width: 100%; height: 1px; margin-top: 1px; background: rgb(var(--cl-accent)); }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle { position: relative; display: grid; width: 16px; height: 16px; padding: 0 !important; place-items: center; border-radius: 3px; }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle i { width: 8px; height: 8px; margin: 0; border-radius: 1px; }.rm-demo-menu__control--toggle .rm-demo-menu__toggle { width: 16px; height: 16px; padding: 0 !important; border: 1px solid rgba(var(--cl-t-primary), .24); border-radius: 3px; background: transparent; }.rm-demo-menu__control--toggle .rm-demo-menu__toggle i { width: 8px; height: 8px; margin: 0; border-radius: 1px; background: transparent; }.rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on { border-color: rgb(var(--cl-accent)); background: rgba(var(--cl-accent), .16); }.rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on i { background: rgb(var(--cl-accent)); transform: none; }.rm-demo-menu__save,.rm-demo-menu__control--button .rm-demo-menu__save { width: auto; min-height: 27px; justify-self: start; padding: 0 11px; border: 1px solid rgba(var(--cl-accent), .45); border-radius: 5px; background: rgba(var(--cl-accent), .12); box-shadow: none; color: rgb(var(--cl-accent)); font-size: .59rem; }.rm-demo-menu__save:hover { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); filter: none; }

/* Single-product status groups use a focused two-surface layout instead of expanding a lone row to fill a tall card. */
.rm-status-group--single { grid-template-columns: 220px minmax(0, 1fr); }.rm-status-group--single .rm-status-group__head { grid-template-rows: 112px auto; }.rm-status-group--single .rm-status-group__media { min-height: 112px; }.rm-status-group--single .rm-status-group__products { display: flex; align-items: center; min-height: 164px; padding: 18px; }.rm-status-group--single .rm-status-product { width: 100%; min-height: 86px; padding: 12px; background: linear-gradient(145deg, rgba(var(--cl-background), .55), rgba(var(--cl-card), .5)); }.rm-status-group--single .rm-status-product__media { width: 58px; height: 58px; border-radius: 12px; }.rm-status-group--single .rm-status-product__copy strong { font-size: .9rem; }.rm-status-group--single .rm-status-product__copy small { font-size: .7rem; }.rm-status-group--single .rm-status-product__state { padding: 7px 9px; border: 1px solid color-mix(in srgb, var(--status-color) 34%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--status-color) 9%, transparent); }.rm-status-group--single .rm-status-product__state > i { width: 7px; height: 7px; box-shadow: none; }.rm-status-group--single .rm-status-product__state > i::after { display: none; }
@media (max-width: 760px) { .rm-status-group--single { grid-template-columns: 1fr; }.rm-status-group--single .rm-status-group__products { min-height: 0; padding: 10px; }.rm-status-group--single .rm-status-product { min-height: 70px; }.rm-status-group--single .rm-status-product__media { width: 46px; height: 46px; }.rm-status-group--single .rm-status-product__state { padding: 0; border: 0; background: transparent; } }

/* The original demo selector targeted every icon inside a button, which turned
   tab icons and checkbox marks into miniature switches. Keep that behavior
   isolated to nothing: tabs are navigation, controls are square checks. */
.rm-demo-menu__tabs button > i,.rm-demo-menu__tabs button.is-active > i { display: inline; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; background: transparent; transform: none; }.rm-demo-menu__tabs button > i::after,.rm-demo-menu__tabs button.is-active > i::after,.rm-demo-menu__toggle i::after,.rm-demo-menu__toggle.is-on i::after { content: none !important; display: none !important; }.rm-demo-menu__tabs button > i { color: rgba(var(--cl-t-primary), .46); }.rm-demo-menu__tabs button.is-active > i { color: rgb(var(--cl-accent)); }
.rm-demo-menu__control--checkbox .rm-demo-menu__toggle,.rm-demo-menu__control--toggle .rm-demo-menu__toggle { display: grid; width: 16px; height: 16px; min-height: 16px; padding: 0 !important; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .32); border-radius: 3px; background: rgba(var(--cl-background), .32); }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle i,.rm-demo-menu__control--toggle .rm-demo-menu__toggle i { display: block; width: 8px; height: 8px; margin: 0; border-radius: 1px; background: transparent; transform: none; }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on,.rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on { border-color: rgb(var(--cl-accent)); background: rgba(var(--cl-accent), .13); }.rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on i,.rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on i { background: rgb(var(--cl-accent)); transform: none; }
@media (max-width: 760px) { .rm-status-group,.rm-status-group:has(.rm-status-group__products[style*="display: none"]) { grid-template-columns: 1fr; }.rm-status-group__head,.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__head { grid-column: 1; grid-row: 1; grid-template-columns: 92px minmax(0,1fr) auto; grid-template-rows: 1fr; min-height: 104px; border-right: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .09); }.rm-status-group__media,.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__media { grid-column: 1; grid-row: 1; min-height: 80px; }.rm-status-group__title,.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__title { grid-column: 2; grid-row: 1; }.rm-status-group__toggle,.rm-status-group:has(.rm-status-group__products[style*="display: none"]) .rm-status-group__toggle { grid-column: 3; grid-row: 1; }.rm-status-group__products { grid-column: 1; grid-row: 2; padding: 10px; }.rm-status-group__products > .rm-status-product { min-height: 66px; }.rm-header-discord__panel { position: fixed; top: 74px; right: 12px; }.rm-scratch-coupon__dialog { padding: 22px 18px; } }

/* Final ImGui normalization: keep tabs and checks independent from storefront
   button/icon styles. Every checkbox is a centered square, never a pill switch. */
.rm-demo-menu .rm-demo-menu__tabs { display: flex !important; align-items: center !important; gap: 3px !important; overflow-x: auto !important; padding: 3px !important; }
.rm-demo-menu .rm-demo-menu__tabs button { position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important; flex: 0 0 auto !important; min-height: 27px !important; padding: 5px 8px !important; border: 0 !important; border-radius: 4px !important; background: transparent !important; box-shadow: none !important; color: rgba(var(--cl-t-primary), .58) !important; line-height: 1 !important; }
.rm-demo-menu .rm-demo-menu__tabs button:hover { background: rgba(var(--cl-t-primary), .07) !important; color: rgb(var(--cl-t-primary)) !important; }
.rm-demo-menu .rm-demo-menu__tabs button.is-active { background: rgba(var(--cl-accent), .14) !important; color: rgb(var(--cl-accent)) !important; }
.rm-demo-menu .rm-demo-menu__tabs button.is-active::after { content: none !important; display: none !important; }
.rm-demo-menu .rm-demo-menu__tabs button > i,
.rm-demo-menu .rm-demo-menu__tabs button > i::before,
.rm-demo-menu .rm-demo-menu__tabs button > i::after { position: static !important; display: inline-block !important; width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; content: normal !important; }
.rm-demo-menu .rm-demo-menu__control { display: grid !important; grid-template-columns: minmax(0, 1fr) 20px !important; align-items: center !important; min-height: 46px !important; }
.rm-demo-menu .rm-demo-menu__control > label { min-width: 0 !important; }
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle { position: relative !important; display: grid !important; place-items: center !important; justify-self: end !important; box-sizing: border-box !important; width: 18px !important; height: 18px !important; min-width: 18px !important; min-height: 18px !important; margin: 0 !important; padding: 0 !important; border: 1px solid rgba(var(--cl-t-primary), .34) !important; border-radius: 4px !important; background: transparent !important; box-shadow: none !important; transform: none !important; }
.rm-demo-menu .rm-demo-menu__toggle::before,
.rm-demo-menu .rm-demo-menu__toggle::after,
.rm-demo-menu .rm-demo-menu__toggle i::before,
.rm-demo-menu .rm-demo-menu__toggle i::after { content: none !important; display: none !important; }
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle i,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle i { display: block !important; width: 7px !important; height: 7px !important; min-width: 7px !important; min-height: 7px !important; margin: 0 !important; border: 0 !important; border-radius: 1px !important; background: transparent !important; transform: none !important; }
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on { border-color: rgb(var(--cl-accent)) !important; background: rgba(var(--cl-accent), .12) !important; }
.rm-demo-menu .rm-demo-menu__control--checkbox .rm-demo-menu__toggle.is-on i,
.rm-demo-menu .rm-demo-menu__control--toggle .rm-demo-menu__toggle.is-on i { background: rgb(var(--cl-accent)) !important; }

/* Configurable menu controls — isolated from legacy storefront button styles.
   Checkbox and switch deliberately use different markup so neither can inherit
   the other's geometry. */
.rm-demo-menu .rm-demo-menu__control {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  overflow: visible;
}
.rm-demo-menu .rm-demo-menu__control > label {
  display: grid;
  gap: 3px;
  align-content: center;
  min-width: 0;
}
.rm-demo-menu .rm-demo-menu__control > label > span,
.rm-demo-menu .rm-demo-menu__control > label > small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-demo-menu__checkbox,
.rm-demo-menu__switch {
  position: relative !important;
  display: grid !important;
  align-self: center !important;
  justify-self: end !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none;
  cursor: pointer;
  transform: none !important;
}
.rm-demo-menu__checkbox::before,
.rm-demo-menu__checkbox::after,
.rm-demo-menu__switch::before,
.rm-demo-menu__switch::after { content: none !important; display: none !important; }
.rm-demo-menu__checkbox {
  width: 24px !important;
  height: 24px !important;
  place-items: center !important;
}
.rm-demo-menu__checkbox-box {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid color-mix(in srgb, rgb(var(--cl-accent)) 72%, rgba(var(--cl-t-primary), .32));
  border-radius: 5px;
  background: rgba(var(--cl-background), .48);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.rm-demo-menu__checkbox-box::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 9px;
  border: solid rgb(var(--cl-t-accent));
  border-width: 0 2px 2px 0;
  content: '';
  opacity: 0;
  transform: translate(-50%, -58%) rotate(45deg) scale(.55);
  transform-origin: center;
  transition: opacity .16s ease, transform .2s cubic-bezier(.2,.8,.2,1);
}
.rm-demo-menu__checkbox:hover .rm-demo-menu__checkbox-box {
  border-color: rgb(var(--cl-accent));
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .1), inset 0 0 0 1px rgba(255,255,255,.04);
}
.rm-demo-menu__checkbox:active .rm-demo-menu__checkbox-box { transform: scale(.9); }
.rm-demo-menu__checkbox.is-on .rm-demo-menu__checkbox-box {
  border-color: rgb(var(--cl-accent));
  background: rgb(var(--cl-accent));
  box-shadow: 0 5px 12px rgba(var(--cl-accent), .2);
}
.rm-demo-menu__checkbox.is-on .rm-demo-menu__checkbox-box::after {
  opacity: 1;
  transform: translate(-50%, -58%) rotate(45deg) scale(1);
}
.rm-demo-menu__switch {
  width: 46px !important;
  height: 26px !important;
}
.rm-demo-menu__switch-track {
  position: absolute;
  inset: 0;
  display: block;
  box-sizing: border-box;
  border: 1px solid rgba(var(--cl-t-primary), .28);
  border-radius: 999px;
  background: rgba(var(--cl-t-primary), .1);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.rm-demo-menu__switch-track i {
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(var(--cl-t-primary), .72) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.24) !important;
  transform: translateX(0) !important;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), background-color .2s ease !important;
}
.rm-demo-menu__switch:hover .rm-demo-menu__switch-track {
  border-color: rgba(var(--cl-accent), .65);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .08);
}
.rm-demo-menu__switch.is-on .rm-demo-menu__switch-track {
  border-color: rgb(var(--cl-accent));
  background: rgb(var(--cl-accent));
}
.rm-demo-menu__switch.is-on .rm-demo-menu__switch-track i {
  background: rgb(var(--cl-t-accent)) !important;
  transform: translateX(20px) !important;
}
.rm-demo-menu__checkbox:focus-visible .rm-demo-menu__checkbox-box,
.rm-demo-menu__switch:focus-visible .rm-demo-menu__switch-track {
  outline: 2px solid rgb(var(--cl-accent));
  outline-offset: 3px;
}
.rm-demo-menu .rm-demo-menu__control--slider {
  grid-template-columns: minmax(0, 1fr) minmax(118px, 180px) !important;
}
.rm-demo-menu .rm-demo-menu__range {
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 480px) {
  .rm-demo-menu .rm-demo-menu__control { gap: 11px !important; }
  .rm-demo-menu .rm-demo-menu__control--slider { grid-template-columns: minmax(0, 1fr) minmax(100px, 42%) !important; }
}

/* ==========================================================================
   PRODUCT PAGE — premium detail layout, purchase panel, reviews, related
   ========================================================================== */

.rm-pdp { padding: 6px 0 clamp(30px, 5vw, 56px); }

/* ---- breadcrumb ---------------------------------------------------------- */
.rm-pdp__crumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  color: rgba(var(--cl-t-primary), .45);
  font-size: .74rem;
}
.rm-pdp__crumbs a { color: rgba(var(--cl-t-primary), .62); transition: color .2s ease; }
.rm-pdp__crumbs a:hover { color: rgb(var(--cl-accent)); }
.rm-pdp__crumbs i { font-size: .52rem; opacity: .45; }
.rm-pdp__crumbs span[aria-current] {
  max-width: 40ch;
  overflow: hidden;
  color: rgba(var(--cl-t-primary), .82);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---- grid ---------------------------------------------------------------- */
.rm-pdp__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(16px, 2vw, 26px);
}
.rm-pdp__main { display: grid; gap: clamp(16px, 2vw, 22px); min-width: 0; }
.rm-pdp__side { min-width: 0; }

.rm-pdp--sticky .rm-pdp__side-inner { position: sticky; top: 18px; }

.rm-pdp__panel {
  overflow: hidden;
  border: 1px solid var(--rm-line);
  border-radius: var(--rm-radius);
  background: rgba(var(--cl-card), .82);
  box-shadow: 0 22px 60px -40px rgba(0, 0, 0, .9);
}

/* ---- header -------------------------------------------------------------- */
.rm-pdp__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(16px, 2.2vw, 24px);
  border-bottom: 1px solid var(--rm-line-soft);
  background: linear-gradient(135deg, rgba(var(--cl-accent), .07), transparent 62%);
}
.rm-pdp__head-copy { min-width: 0; }

.rm-pdp__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  border: 1px solid rgba(var(--cl-accent), .3);
  border-radius: 999px;
  background: rgba(var(--cl-accent), .1);
  padding: 5px 12px;
  color: rgb(var(--cl-accent));
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease;
}
.rm-pdp__eyebrow:hover { background: rgba(var(--cl-accent), .18); border-color: rgba(var(--cl-accent), .5); }
.rm-pdp__eyebrow--static { pointer-events: none; }
.rm-pdp__eyebrow i { font-size: .6rem; }

.rm-pdp__title {
  margin: 0;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(1.32rem, 2.5vw, 1.95rem);
  font-weight: 800;
  letter-spacing: -.032em;
  line-height: 1.18;
  text-wrap: balance;
}

.rm-pdp__status {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 9px;
  border: 1px solid var(--rm-line);
  border-radius: 999px;
  background: rgba(var(--cl-background), .5);
  padding: 7px 14px 7px 11px;
  font-size: .78rem;
  font-weight: 700;
}
.rm-pdp__status-dot { position: relative; width: 9px; height: 9px; border-radius: 50%; }
.rm-pdp__status-dot .pulsating { position: absolute; inset: 0; border-radius: 50%; }

/* ---- gallery ------------------------------------------------------------- */
.rm-pdp__stage { position: relative; background: rgba(255, 255, 255, .018); }
.rm-pdp__stage img { display: block; width: 100%; }

.rm-pdp__stage-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rm-pdp__stage-badges span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 5px 11px;
  color: #fff;
  font-size: .66rem;
  font-weight: 700;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}

.rm-pdp__splide .splide__arrow {
  width: 38px;
  height: 38px;
  border: 1px solid var(--rm-line);
  background: rgba(var(--cl-background), .72);
  opacity: 0;
  transition: opacity .25s ease, background .2s ease, border-color .2s ease;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
.rm-pdp__splide .splide__arrow svg { width: 15px; height: 15px; fill: rgb(var(--cl-t-primary)); }
.rm-pdp__stage:hover .rm-pdp__splide .splide__arrow { opacity: 1; }
.rm-pdp__splide .splide__arrow:hover { background: rgba(var(--cl-accent), .9); border-color: rgb(var(--cl-accent)); }
.rm-pdp__splide .splide__arrow:focus-visible { opacity: 1; outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

.rm-pdp__thumbs { padding: 12px clamp(12px, 2vw, 18px) clamp(14px, 2vw, 18px); }
.rm-pdp__thumbs .splide__slide {
  overflow: hidden;
  border: 1px solid var(--rm-line);
  border-radius: 11px;
  background: rgba(255, 255, 255, .02);
  cursor: pointer;
  opacity: .5;
  transition: opacity .22s ease, border-color .22s ease, transform .22s ease;
}
.rm-pdp__thumbs .splide__slide img { width: 100%; height: 100%; object-fit: cover; }
.rm-pdp__thumbs .splide__slide:hover { opacity: .85; transform: translateY(-2px); }
.rm-pdp__thumbs .splide__slide.is-active {
  border-color: rgb(var(--cl-accent));
  opacity: 1;
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .16);
}
.rm-pdp__thumbs .splide__slide:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

/* ---- description / tabs -------------------------------------------------- */
.rm-pdp__info { padding: clamp(16px, 2.2vw, 24px); }

.rm-pdp__section-title {
  margin: 0 0 16px;
  color: rgb(var(--cl-t-primary));
  font-size: 1.06rem;
  font-weight: 800;
  letter-spacing: -.02em;
}

.rm-pdp__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--rm-line-soft);
}
.rm-pdp__tab {
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  padding: 8px 15px;
  color: rgba(var(--cl-t-primary), .62);
  font-size: .78rem;
  font-weight: 650;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.rm-pdp__tab:hover { background: rgba(255, 255, 255, .07); color: rgb(var(--cl-t-primary)); }
.rm-pdp__tab.is-active {
  border-color: rgba(var(--cl-accent), .42);
  background: rgba(var(--cl-accent), .12);
  color: rgb(var(--cl-accent));
}
.rm-pdp__tab:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

.rm-pdp__body-wrap { position: relative; }
.rm-pdp__body { color: rgba(var(--cl-t-primary), .82); font-size: .92rem; line-height: 1.72; }

/* Collapsed state: fixed height plus a fade so the cut never looks abrupt. */
.rm-pdp__body.is-clamped {
  max-height: var(--rm-desc-max, 420px);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 62%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 62%, transparent 100%);
}

.rm-pdp__readmore {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  border: 1px solid var(--rm-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  padding: 9px 18px;
  color: rgb(var(--cl-t-primary));
  font-size: .8rem;
  font-weight: 700;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.rm-pdp__readmore:hover {
  border-color: rgba(var(--cl-accent), .45);
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-accent));
  transform: translateY(-1px);
}
.rm-pdp__readmore:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }
.rm-pdp__readmore i { font-size: .68rem; transition: transform .25s ease; }
.rm-pdp__readmore i.is-flipped { transform: rotate(180deg); }

/* ---- purchase panel ------------------------------------------------------ */
.rm-pdp__price-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(16px, 2.2vw, 22px);
  background: linear-gradient(140deg, rgba(var(--cl-accent), .09), transparent 68%);
}

.rm-pdp__price-label {
  display: block;
  color: rgba(var(--cl-t-primary), .48);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.rm-pdp__price { margin-top: 7px; }
.rm-pdp__price strong {
  color: rgb(var(--cl-t-primary));
  font-size: clamp(1.72rem, 3.2vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.038em;
  line-height: 1;
}
.rm-pdp__price-each {
  display: block;
  margin-top: 7px;
  color: rgba(var(--cl-t-primary), .5);
  font-size: .76rem;
}

.rm-pdp__avail { display: grid; justify-items: end; gap: 6px; text-align: right; }
.rm-pdp__stock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(var(--cl-accent), .3);
  border-radius: 999px;
  background: rgba(var(--cl-accent), .1);
  padding: 6px 13px;
  color: rgb(var(--cl-accent));
  font-size: .74rem;
  font-weight: 700;
  white-space: nowrap;
}
.rm-pdp__stock::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rm-pdp__stock--out {
  border-color: var(--rm-line);
  background: rgba(255, 255, 255, .05);
  color: rgba(var(--cl-t-primary), .5);
}
.rm-pdp__avail-note { color: rgba(var(--cl-t-primary), .42); font-size: .68rem; }

/* ---- purchase form ------------------------------------------------------- */
.rm-buy-form__inner { border-top-color: var(--rm-line-soft) !important; }
.rm-buy-form__label {
  color: rgba(var(--cl-t-primary), .48);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.rm-buy-form__block { border-bottom-color: var(--rm-line-soft) !important; }

.rm-variant {
  border-color: var(--rm-line) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .022) !important;
  padding: 12px 15px !important;
}
.rm-variant:hover:not(:disabled) { border-color: rgba(var(--cl-t-primary), .18) !important; }
.rm-variant:disabled { opacity: .42; cursor: not-allowed; }
.rm-variant:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

.rm-qty { border: 1px solid var(--rm-line); border-radius: 12px; }
.rm-qty input { text-align: center; -moz-appearance: textfield; }
.rm-qty input::-webkit-outer-spin-button,
.rm-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.rm-buy-btn { border-radius: 12px !important; min-height: 46px; font-size: .9rem; }
.rm-buy-btn--primary { box-shadow: 0 12px 32px -14px rgba(var(--cl-accent), .85); }
.rm-buy-btn--primary:hover:enabled { transform: translateY(-1px); }
.rm-buy-btn--ghost:hover:enabled { transform: translateY(-1px); }
.rm-buy-btn:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

/* ---- trust + live stats -------------------------------------------------- */
.rm-pdp__trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border-top: 1px solid var(--rm-line-soft);
  background: var(--rm-line-soft);
}
.rm-pdp__trust-item {
  display: flex;
  align-items: center;
  gap: 11px;
  background: rgba(var(--cl-card), .95);
  padding: 14px clamp(12px, 1.6vw, 16px);
}
.rm-pdp__trust-icon {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(var(--cl-accent), .12);
  color: rgb(var(--cl-accent));
  font-size: .82rem;
}
.rm-pdp__trust-copy { min-width: 0; }
.rm-pdp__trust-copy strong {
  display: block;
  color: rgb(var(--cl-t-primary));
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.3;
}
.rm-pdp__trust-copy small {
  display: block;
  margin-top: 2px;
  color: rgba(var(--cl-t-primary), .48);
  font-size: .68rem;
  line-height: 1.35;
}

.rm-pdp__live {
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--rm-line-soft);
  padding: 14px clamp(14px, 2vw, 20px);
}
.rm-pdp__live p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: rgba(var(--cl-t-primary), .5);
  font-size: .76rem;
}
.rm-pdp__live i { flex-shrink: 0; width: 15px; color: rgb(var(--cl-accent)); font-size: .76rem; }

/* ---- upsells ------------------------------------------------------------- */
.rm-pdp__upsells { margin-top: clamp(26px, 4vw, 44px); }
.rm-pdp__upsell-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
}

/* ==========================  RELATED PRODUCTS  ============================ */
.rm-related { padding: clamp(30px, 4.5vw, 56px) 0 0; }

.rm-related__head,
.rm-reviews__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: clamp(18px, 2.6vw, 28px);
}
.rm-related__head h2,
.rm-reviews__head h2 {
  margin: 10px 0 0;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(1.32rem, 2.4vw, 1.86rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.16;
}
.rm-related__head p,
.rm-reviews__head p {
  margin: 9px 0 0;
  max-width: 58ch;
  color: var(--rm-muted);
  font-size: .87rem;
  line-height: 1.62;
}

.rm-related__viewall,
.rm-reviews__viewall {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 8px;
  border: 1px solid var(--rm-line);
  border-radius: 999px;
  padding: 9px 17px;
  color: rgba(var(--cl-t-primary), .8);
  font-size: .78rem;
  font-weight: 700;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.rm-related__viewall:hover,
.rm-reviews__viewall:hover {
  border-color: rgba(var(--cl-accent), .45);
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-accent));
  transform: translateY(-1px);
}
.rm-related__viewall i,
.rm-reviews__viewall i { font-size: .68rem; }

.rm-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
}
.rm-related__cell { min-width: 0; }
.rm-related__cell[hidden] { display: none; }

/* ==============================  REVIEWS  ================================= */
.rm-reviews { padding: clamp(30px, 4.5vw, 56px) 0 0; }

.rm-reviews__summary {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 48px);
  margin-bottom: clamp(20px, 3vw, 30px);
  border: 1px solid var(--rm-line);
  border-radius: var(--rm-radius);
  background:
    radial-gradient(70% 130% at 0% 50%, rgba(var(--cl-accent), .1), transparent 70%),
    rgba(var(--cl-card), .8);
  padding: clamp(18px, 2.6vw, 26px) clamp(20px, 3vw, 32px);
}

.rm-reviews__score { display: grid; justify-items: center; gap: 7px; text-align: center; }
.rm-reviews__score strong {
  color: rgb(var(--cl-t-primary));
  font-size: clamp(2.6rem, 5.4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: .95;
}
.rm-reviews__score-stars { display: flex; gap: 3px; color: rgb(var(--cl-accent)); font-size: .88rem; }
.rm-reviews__score small { color: rgba(var(--cl-t-primary), .5); font-size: .73rem; }

.rm-reviews__bars { display: grid; gap: 7px; min-width: 0; }
.rm-reviews__bar-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 32px; align-items: center; gap: 11px; }
.rm-reviews__bar-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: rgba(var(--cl-t-primary), .62);
  font-size: .72rem;
  font-weight: 700;
}
.rm-reviews__bar-label i { color: rgba(var(--cl-accent), .75); font-size: .6rem; }
.rm-reviews__bar-track { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .07); }
.rm-reviews__bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: rgb(var(--cl-accent));
  transition: width .6s cubic-bezier(.22, .8, .28, 1);
}
.rm-reviews__bar-count { color: rgba(var(--cl-t-primary), .42); font-size: .7rem; text-align: right; }

.rm-reviews__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

.rm-reviews__card {
  display: flex;
  flex-direction: column;
  gap: 11px;
  border: 1px solid var(--rm-line);
  border-radius: 15px;
  background: rgba(var(--cl-card), .78);
  padding: 17px 18px;
  transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.rm-reviews__card[hidden] { display: none; }
.rm-reviews__card:hover {
  border-color: rgba(var(--cl-accent), .28);
  transform: translateY(-2px);
  box-shadow: 0 18px 40px -30px rgba(0, 0, 0, .95);
}

.rm-reviews__card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rm-reviews__stars { display: flex; gap: 2px; color: rgb(var(--cl-accent)); font-size: .76rem; }
.rm-reviews__stars .fa-regular { color: rgba(var(--cl-t-primary), .2); }
.rm-reviews__card-top time { color: rgba(var(--cl-t-primary), .38); font-size: .68rem; white-space: nowrap; }

.rm-reviews__message {
  margin: 0;
  color: rgba(var(--cl-t-primary), .82);
  font-size: .85rem;
  line-height: 1.62;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rm-reviews__message.is-expanded { display: block; -webkit-line-clamp: unset; overflow: visible; }
.rm-reviews__message--empty { color: rgba(var(--cl-t-primary), .4); font-style: italic; }

.rm-reviews__expand {
  align-self: flex-start;
  color: rgb(var(--cl-accent));
  font-size: .74rem;
  font-weight: 700;
}
.rm-reviews__expand:hover { text-decoration: underline; }
.rm-reviews__expand:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

.rm-reviews__attachment {
  width: 100%;
  max-height: 190px;
  border: 1px solid var(--rm-line-soft);
  border-radius: 11px;
  object-fit: cover;
}

.rm-reviews__reply {
  border-left: 2px solid rgba(var(--cl-accent), .5);
  border-radius: 0 9px 9px 0;
  background: rgba(var(--cl-accent), .06);
  padding: 10px 13px;
}
.rm-reviews__reply-from {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgb(var(--cl-accent));
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rm-reviews__reply-from i { font-size: .6rem; }
.rm-reviews__reply p { margin: 6px 0 0; color: rgba(var(--cl-t-primary), .72); font-size: .8rem; line-height: 1.55; }

.rm-reviews__card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid var(--rm-line-soft);
}
.rm-reviews__verified {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 6px;
  color: rgb(var(--cl-accent));
  font-size: .68rem;
  font-weight: 700;
}
.rm-reviews__variant {
  min-width: 0;
  overflow: hidden;
  color: rgba(var(--cl-t-primary), .4);
  font-size: .68rem;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rm-reviews__more { display: flex; justify-content: center; margin-top: 20px; }
.rm-reviews__more .rm-btn i { font-size: .7rem; }

.rm-reviews__empty {
  display: grid;
  justify-items: center;
  gap: 12px;
  border: 1px dashed var(--rm-line);
  border-radius: var(--rm-radius);
  padding: clamp(30px, 5vw, 52px) 20px;
  text-align: center;
}
.rm-reviews__empty i { color: rgba(var(--cl-accent), .45); font-size: 1.7rem; }
.rm-reviews__empty p { margin: 0; color: rgba(var(--cl-t-primary), .5); font-size: .88rem; }

/* ==========================  PDP RESPONSIVE  ============================== */
@media (max-width: 1100px) {
  .rm-pdp__grid { grid-template-columns: minmax(0, 1fr); }
  /* Buy panel leads on narrow screens — no sticky column to stick to. */
  .rm-pdp__side { order: -1; }
  .rm-pdp--sticky .rm-pdp__side-inner { position: static; }
}

@media (max-width: 860px) {
  .rm-reviews__summary { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rm-reviews__score { justify-items: start; text-align: left; }
}

@media (max-width: 640px) {
  .rm-pdp__crumbs { font-size: .7rem; }
  .rm-pdp__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .rm-pdp__price-row { flex-direction: column; }
  .rm-pdp__avail { justify-items: start; text-align: left; }
  .rm-pdp__trust { grid-template-columns: minmax(0, 1fr); }
  .rm-pdp__upsell-grid,
  .rm-related__grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
  .rm-reviews__grid { grid-template-columns: minmax(0, 1fr); }
  .rm-related__head,
  .rm-reviews__head { flex-direction: column; align-items: flex-start; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-reviews__card:hover,
  .rm-buy-btn:hover:enabled,
  .rm-pdp__readmore:hover,
  .rm-related__viewall:hover,
  .rm-reviews__viewall:hover { transform: none !important; }
  .rm-reviews__bar-fill { transition: none !important; }
}
/* ==========================================================================
   PRODUCT PAGE — variant dropdown (Choices.js), restyled to match rm-* theme
   ========================================================================== */

.rm-buy-form__variants .choices { margin-bottom: 0; font-size: .88rem; }

/* ---- closed / single-select shell ---------------------------------------- */
.rm-buy-form__variants .choices__inner {
  display: flex;
  align-items: center;
  min-height: 48px;
  border: 1px solid var(--rm-line);
  border-radius: 13px;
  background: rgba(255, 255, 255, .022);
  padding: 8px 34px 8px 15px;
  color: rgb(var(--cl-t-primary));
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.rm-buy-form__variants .choices:hover .choices__inner {
  border-color: rgba(var(--cl-t-primary), .18);
}
.rm-buy-form__variants .choices.is-focused .choices__inner,
.rm-buy-form__variants .choices.is-open .choices__inner {
  border-color: rgba(var(--cl-accent), .5);
  background: rgba(var(--cl-accent), .06);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .1);
}

.rm-buy-form__variants .choices__list--single {
  padding: 0;
}
.rm-buy-form__variants .choices__list--single .choices__item {
  color: rgb(var(--cl-t-primary));
  font-weight: 650;
}

/* Custom chevron — replaces Choices' default arrow so it inherits our colors. */
.rm-buy-form__variants .choices[data-type*='select-one']::after {
  right: 16px;
  border: 0;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-right: 2px solid rgba(var(--cl-t-primary), .5);
  border-bottom: 2px solid rgba(var(--cl-t-primary), .5);
  transform: rotate(45deg);
  transition: transform .2s ease, border-color .2s ease;
}
.rm-buy-form__variants .choices.is-open[data-type*='select-one']::after {
  margin-top: -2px;
  border-color: rgb(var(--cl-accent));
  transform: rotate(-135deg);
}

.rm-buy-form__variants .choices__list--single .choices__button { display: none; }

/* ---- dropdown panel -------------------------------------------------------- */
.rm-buy-form__variants .choices__list--dropdown,
.rm-buy-form__variants .choices__list[aria-expanded] {
  z-index: 40;
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid var(--rm-line);
  border-radius: 14px;
  background: rgb(var(--cl-card));
  box-shadow: 0 22px 55px -18px rgba(0, 0, 0, .75);
}

.rm-buy-form__variants .choices__list--dropdown .choices__input {
  margin: 6px;
  border: 1px solid var(--rm-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .03);
  padding: 9px 12px;
  color: rgb(var(--cl-t-primary));
  font-size: .82rem;
}
.rm-buy-form__variants .choices__list--dropdown .choices__input:focus {
  border-color: rgba(var(--cl-accent), .5);
}
.rm-buy-form__variants .choices__list--dropdown .choices__input::placeholder {
  color: rgba(var(--cl-t-primary), .4);
}

.rm-buy-form__variants .choices__list--dropdown .choices__list {
  max-height: 260px;
}

.rm-buy-form__variants .choices__list--dropdown .choices__item {
  padding: 11px 15px;
  color: rgba(var(--cl-t-primary), .78);
  font-size: .85rem;
  border-top: 1px solid var(--rm-line-soft);
}
.rm-buy-form__variants .choices__list--dropdown .choices__item:first-child {
  border-top: 0;
}

.rm-buy-form__variants .choices__list--dropdown .choices__item--selectable.is-highlighted {
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-t-primary));
}
.rm-buy-form__variants .choices__list--dropdown .choices__item--selectable.is-selected {
  background: rgba(var(--cl-accent), .14);
  color: rgb(var(--cl-accent));
  font-weight: 650;
}

/* Choices renders its built-in select-prompt hint via a data attribute —
   drop it entirely (itemSelectText: '' in JS already blanks the text; this
   guards against the reserved layout gap it otherwise leaves behind). */
.rm-buy-form__variants .choices__item--selectable::after {
  content: none !important;
}

.rm-buy-form__variants .choices__list--dropdown .choices__item--disabled {
  opacity: .4;
}

@media (prefers-reduced-motion: reduce) {
  .rm-buy-form__variants .choices[data-type*='select-one']::after { transition: none !important; }
}
/* ==========================================================================
   PRODUCT PAGE v2 — framed gallery, larger buy card, payments, volume tiers,
   sticky add-to-cart bar, cleaner live stats
   ========================================================================== */

/* ---- wider, more prominent purchase column ------------------------------- */
.rm-pdp__grid { grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr); }

@media (min-width: 1101px) {
  .rm-pdp__side { min-width: 400px; }
}

/* ---- framed gallery ------------------------------------------------------ */
.rm-pdp__frame { padding: clamp(12px, 1.6vw, 18px); }

.rm-pdp__frame .rm-pdp__stage {
  overflow: hidden;
  border: 1px solid var(--rm-line-soft);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.rm-pdp__frame .rm-pdp__thumbs { padding: 12px 0 0; }

.rm-pdp__gallery-caption {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  color: rgba(var(--cl-t-primary), .45);
  font-size: .74rem;
}
.rm-pdp__gallery-caption i { color: rgb(var(--cl-accent)); font-size: .74rem; }

/* ---- 100% secure payment strip ------------------------------------------- */
.rm-paywall { padding: clamp(14px, 2vw, 18px) clamp(16px, 2.2vw, 20px); }

.rm-paywall__title {
  display: block;
  margin-bottom: 12px;
  color: rgba(var(--cl-t-primary), .5);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.rm-paywall__list { display: flex; flex-wrap: wrap; gap: 8px; }

.rm-paywall__chip {
  display: grid;
  place-items: center;
  min-width: 46px;
  height: 32px;
  padding: 0 9px;
  border: 1px solid var(--rm-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .04);
  color: rgba(var(--cl-t-primary), .8);
  font-size: 1.05rem;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.rm-paywall__chip:hover {
  border-color: rgba(var(--cl-accent), .45);
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-accent));
  transform: translateY(-2px);
}

/* ---- volume discounts ---------------------------------------------------- */
.rm-volume { display: grid; gap: 10px; margin-top: 12px; }

.rm-volume__meter {
  border: 1px solid rgba(var(--cl-accent), .28);
  border-radius: 12px;
  background: rgba(var(--cl-accent), .07);
  padding: 11px 13px 12px;
}
.rm-volume__meter--done {
  border-color: rgba(var(--cl-accent), .45);
  background: rgba(var(--cl-accent), .12);
}

.rm-volume__meter-top {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
  color: rgba(var(--cl-t-primary), .88);
  font-size: .79rem;
  line-height: 1.35;
}
.rm-volume__meter-top i { flex-shrink: 0; color: rgb(var(--cl-accent)); font-size: .78rem; }
.rm-volume__meter-top strong { color: rgb(var(--cl-accent)); font-weight: 750; }

.rm-volume__bar {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .09);
}
.rm-volume__bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--cl-accent), .65), rgb(var(--cl-accent)));
  box-shadow: 0 0 12px rgba(var(--cl-accent), .5);
  /* Animates as the shopper steps the quantity up or down. */
  transition: width .45s cubic-bezier(.22, .8, .28, 1);
}

.rm-volume__table {
  overflow: hidden;
  border: 1px solid var(--rm-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .015);
}

.rm-volume__table-head {
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid var(--rm-line-soft);
  padding: 10px 13px;
  color: rgb(var(--cl-t-primary));
  font-size: .78rem;
  font-weight: 750;
}
.rm-volume__table-head i { color: rgb(var(--cl-accent)); font-size: .74rem; }

.rm-volume__table table { width: 100%; border-collapse: collapse; }

.rm-volume__table th {
  padding: 8px 13px;
  color: rgba(var(--cl-t-primary), .4);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-align: left;
  text-transform: uppercase;
}
.rm-volume__table th:nth-child(2) { text-align: center; }
.rm-volume__table th:last-child { text-align: right; }

.rm-volume__table td {
  padding: 9px 13px;
  border-top: 1px solid var(--rm-line-soft);
  color: rgba(var(--cl-t-primary), .78);
  font-size: .79rem;
  font-weight: 600;
  transition: background .25s ease, color .25s ease;
}
.rm-volume__table td:nth-child(2) { text-align: center; font-variant-numeric: tabular-nums; }
.rm-volume__table td:last-child { text-align: right; color: rgb(var(--cl-accent)); font-weight: 750; }

.rm-volume__table tr.is-active td {
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-t-primary));
}
.rm-volume__table tr.is-active td:first-child { box-shadow: inset 2px 0 0 rgb(var(--cl-accent)); }

/* ---- cleaner live stats -------------------------------------------------- */
.rm-pdp__live { gap: 10px; }

.rm-pdp__live-stat { display: flex; align-items: center; gap: 11px; }

.rm-pdp__live-icon {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(var(--cl-accent), .12);
  color: rgb(var(--cl-accent));
  font-size: .74rem;
}

.rm-pdp__live-copy {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  font-size: .78rem;
}
.rm-pdp__live-copy strong {
  color: rgb(var(--cl-t-primary));
  font-size: .88rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.rm-pdp__live-copy > span { color: rgba(var(--cl-t-primary), .5); }

/* ---- sticky add-to-cart bar ---------------------------------------------- */
.rm-stickybar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 45;
  border-top: 1px solid var(--rm-line);
  background: rgba(var(--cl-background), .93);
  box-shadow: 0 -14px 40px -18px rgba(0, 0, 0, .9);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
  /* Parked off-viewport and inert until `is-visible` is applied, so it can
     never intercept clicks or be read out while hidden. */
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .32s cubic-bezier(.22, .8, .28, 1), opacity .28s ease, visibility 0s linear .32s;
}

.rm-stickybar.is-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform .32s cubic-bezier(.22, .8, .28, 1), opacity .28s ease, visibility 0s linear 0s;
}

.rm-stickybar__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 80rem;
  margin: 0 auto;
  padding: 11px clamp(14px, 3vw, 32px);
}

.rm-stickybar__img {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border: 1px solid var(--rm-line-soft);
  border-radius: 9px;
  object-fit: cover;
}

.rm-stickybar__copy { display: grid; flex: 1; min-width: 0; gap: 2px; }
.rm-stickybar__copy strong {
  overflow: hidden;
  color: rgb(var(--cl-t-primary));
  font-size: .85rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-stickybar__copy small {
  overflow: hidden;
  color: rgba(var(--cl-t-primary), .48);
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rm-stickybar__price {
  flex-shrink: 0;
  color: rgb(var(--cl-t-primary));
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.rm-stickybar__cta {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 9px;
  min-height: 42px;
  border-radius: 11px;
  background: rgb(var(--cl-accent));
  padding: 0 20px;
  color: rgb(var(--cl-t-accent));
  font-size: .85rem;
  font-weight: 700;
  box-shadow: 0 10px 26px -12px rgba(var(--cl-accent), .9);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.rm-stickybar__cta:hover:enabled { transform: translateY(-1px); }
.rm-stickybar__cta:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.rm-stickybar__cta:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }
.rm-stickybar__cta i { font-size: .74rem; }

@media (max-width: 640px) {
  .rm-stickybar__inner { gap: 10px; padding: 9px 12px; }
  .rm-stickybar__img { width: 36px; height: 36px; }
  .rm-stickybar__copy small { display: none; }
  .rm-stickybar__price { font-size: .92rem; }
  .rm-stickybar__cta { min-height: 38px; padding: 0 14px; font-size: .8rem; }
  .rm-stickybar__cta span { display: none; }
  .rm-stickybar__cta i { font-size: .85rem; }

  .rm-volume__table th,
  .rm-volume__table td { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-volume__bar-fill { transition: none !important; }
  .rm-stickybar { transition: none !important; }
  .rm-stickybar__cta:hover:enabled,
  .rm-paywall__chip:hover { transform: none !important; }
}
/* ==========================================================================
   PRODUCTS PAGE — category filter (Choices.js), matches the PDP variant
   dropdown styling instead of the browser's native <select> chrome.
   ========================================================================== */

.rm-products-category .choices { margin-bottom: 0; font-size: .85rem; }

.rm-products-category .choices__inner {
  display: flex;
  align-items: center;
  min-height: 0;
  border: 0;
  background: transparent;
  padding: 0 22px 0 0;
  color: rgb(var(--cl-t-primary));
}

.rm-products-category .choices__list--single { padding: 0; }
.rm-products-category .choices__list--single .choices__item {
  color: rgb(var(--cl-t-primary));
  font-weight: 700;
}
.rm-products-category .choices__list--single .choices__button { display: none; }

.rm-products-category .choices[data-type*='select-one']::after {
  right: 2px;
  border: 0;
  width: 7px;
  height: 7px;
  margin-top: -5px;
  border-right: 2px solid rgba(var(--cl-t-primary), .5);
  border-bottom: 2px solid rgba(var(--cl-t-primary), .5);
  transform: rotate(45deg);
  transition: transform .2s ease, border-color .2s ease;
}
.rm-products-category .choices.is-open[data-type*='select-one']::after {
  margin-top: -2px;
  border-color: rgb(var(--cl-accent));
  transform: rotate(-135deg);
}

.rm-products-category .choices__list--dropdown,
.rm-products-category .choices__list[aria-expanded] {
  z-index: 40;
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid var(--rm-line);
  border-radius: 14px;
  background: rgb(var(--cl-card));
  box-shadow: 0 22px 55px -18px rgba(0, 0, 0, .75);
}

.rm-products-category .choices__list--dropdown .choices__input {
  margin: 6px;
  border: 1px solid var(--rm-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .03);
  padding: 9px 12px;
  color: rgb(var(--cl-t-primary));
  font-size: .82rem;
}
.rm-products-category .choices__list--dropdown .choices__input:focus {
  border-color: rgba(var(--cl-accent), .5);
}
.rm-products-category .choices__list--dropdown .choices__input::placeholder {
  color: rgba(var(--cl-t-primary), .4);
}

.rm-products-category .choices__list--dropdown .choices__list { max-height: 280px; }

.rm-products-category .choices__list--dropdown .choices__item {
  padding: 11px 15px;
  color: rgba(var(--cl-t-primary), .78);
  font-size: .84rem;
  border-top: 1px solid var(--rm-line-soft);
}
.rm-products-category .choices__list--dropdown .choices__item:first-child { border-top: 0; }

.rm-products-category .choices__list--dropdown .choices__item--selectable.is-highlighted {
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-t-primary));
}
.rm-products-category .choices__list--dropdown .choices__item--selectable.is-selected {
  background: rgba(var(--cl-accent), .14);
  color: rgb(var(--cl-accent));
  font-weight: 650;
}
.rm-products-category .choices__item--selectable::after { content: none !important; }

/* The label wrapper (span + select) becomes span + Choices shell; keep the
   focus ring on the outer label so it still reacts the same as Search/Min/Max. */
.rm-products-category:focus-within {
  border-color: rgba(var(--cl-accent), .5);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .08);
}
/* ==========================================================================
   PRODUCTS TOOLBAR v2 — one uniform label+control field for every filter
   ========================================================================== */

.rm-products-toolbar__top {
  grid-template-columns: minmax(200px, 1.6fr) minmax(165px, .95fr) minmax(185px, .95fr) auto;
  align-items: start;
  gap: 10px;
}

/* Shared field shell: label on top, control below. Because every column uses
   it, the control boxes line up on both their top and bottom edges. */
.rm-products-field { display: grid; gap: 7px; align-content: start; min-width: 0; }

.rm-products-field__label {
  color: rgba(var(--cl-t-primary), .45);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.rm-products-field__control {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 48px;
  border: 1px solid rgba(var(--cl-t-primary), .11);
  border-radius: 13px;
  background: rgba(var(--cl-background), .48);
  padding: 0 14px;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.rm-products-field__control:focus-within,
.rm-products-field:has(.choices.is-focused) .rm-products-field__control,
.rm-products-field:has(.choices.is-open) .rm-products-field__control {
  border-color: rgba(var(--cl-accent), .5);
  background: rgba(var(--cl-accent), .05);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .08);
}

.rm-products-field__control input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: rgb(var(--cl-t-primary));
  font: inherit;
  font-size: .85rem;
  letter-spacing: 0;
  text-transform: none;
}
.rm-products-field__control input::placeholder { color: rgba(var(--cl-t-primary), .34); }

/* Buttons column: no border/background of its own, just the same height. */
.rm-products-field__control--bare {
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 0;
}

/* ---- search --------------------------------------------------------------- */
.rm-products-search .rm-products-field__control svg {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin-right: 10px;
  color: rgba(var(--cl-accent), .75);
}

/* ---- category (Choices.js shell fills the control) ------------------------ */
.rm-products-category .rm-products-field__control { padding-right: 10px; }
.rm-products-category .choices { flex: 1; min-width: 0; }

/* One intentional category state: remove the stacked focus outlines. */
.rm-products-category:focus-within { border-color: transparent; box-shadow: none; }
.rm-products-category .choices.is-focused .choices__inner,
.rm-products-category .choices.is-open .choices__inner { border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
.rm-products-category .rm-products-field__control:focus-within,
.rm-products-category.rm-products-field:has(.choices.is-focused) .rm-products-field__control,
.rm-products-category.rm-products-field:has(.choices.is-open) .rm-products-field__control { border-color: rgba(var(--cl-accent), .32); background: rgba(var(--cl-accent), .035); box-shadow: none; }

/* ---- merged price range --------------------------------------------------- */
.rm-products-price .rm-products-field__control { padding-inline: 8px; }
.rm-products-price .rm-products-field__control input {
  padding: 0 6px;
  font-variant-numeric: tabular-nums;
  text-align: center;
  -moz-appearance: textfield;
}
.rm-products-price .rm-products-field__control input::-webkit-outer-spin-button,
.rm-products-price .rm-products-field__control input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rm-products-price__sep { flex: 0 0 auto; color: rgba(var(--cl-t-primary), .3); font-size: .82rem; font-weight: 700; }

/* ---- actions -------------------------------------------------------------- */
.rm-products-toolbar__actions .rm-btn {
  min-height: 48px;
  padding-inline: 18px;
  border-radius: 13px;
  font-size: .8rem;
  white-space: nowrap;
}

/* ---- centered "Browse by letter" row -------------------------------------- */
.rm-products-toolbar__browse {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 12px 4px 2px;
  border-top: 1px solid rgba(var(--cl-t-primary), .08);
}

.rm-products-toolbar__browse-label {
  color: rgba(var(--cl-t-primary), .43);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.rm-products-toolbar .premium-letter-filter { justify-content: center; }

@media (max-width: 860px) {
  .rm-products-toolbar__top { grid-template-columns: 1fr 1fr; }
  .rm-products-search { grid-column: 1 / -1; }
  .rm-products-toolbar__actions { grid-column: 1 / -1; }
  .rm-products-toolbar__actions .rm-btn { flex: 1; }
}

@media (max-width: 560px) {
  .rm-products-toolbar__top { grid-template-columns: 1fr; }
  .rm-products-toolbar__actions .rm-products-field__label { display: none; }
}

/* ==========================================================================
   CUSTOMER LOGIN MODAL — framed shop logo, cleaner card, consistent inputs
   ========================================================================== */

.rm-login__backdrop {
  background: rgba(4, 6, 8, .78);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}

.rm-login {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rm-line);
  border-radius: 20px;
  background: rgba(var(--cl-card), .97);
  box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .85);
}

.rm-login__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--rm-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  color: rgba(var(--cl-t-primary), .6);
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.rm-login__close svg { width: 16px; height: 16px; }
.rm-login__close:hover {
  border-color: rgba(var(--cl-accent), .4);
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-accent));
  transform: rotate(90deg);
}
.rm-login__close:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

.rm-login__head {
  position: relative;
  overflow: hidden;
  padding: 40px 32px 26px;
  text-align: center;
}

.rm-login__glow {
  position: absolute;
  top: -60%;
  left: 50%;
  width: 260px;
  height: 220px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(var(--cl-accent), .28), transparent 68%);
  filter: blur(6px);
  transform: translateX(-50%);
}

.rm-login__brand { position: relative; display: block; margin-bottom: 18px; }

.rm-login__logo {
  display: block;
  width: 68px;
  height: 68px;
  margin: 0 auto;
  border: 1px solid rgba(var(--cl-t-primary), .14);
  border-radius: 18px;
  background: rgba(var(--cl-background), .6);
  object-fit: cover;
  box-shadow: 0 16px 34px -14px rgba(0, 0, 0, .55), 0 0 0 6px rgba(var(--cl-accent), .08);
}

.rm-login__logo--fallback {
  display: grid;
  place-items: center;
  color: rgb(var(--cl-accent));
  font-size: 1.6rem;
}

.rm-login__title {
  position: relative;
  margin: 0;
  color: rgb(var(--cl-t-primary));
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -.025em;
}

.rm-login__subtitle {
  position: relative;
  margin: 6px 0 0;
  color: rgba(var(--cl-t-primary), .45);
  font-size: .78rem;
  font-weight: 600;
}

.rm-login__body {
  border-top: 1px solid var(--rm-line-soft);
  padding: 26px 32px 30px;
}

.rm-login__form { display: grid; gap: 4px; }

.rm-login__field { display: grid; gap: 6px; margin-bottom: 4px; text-align: left; }

.rm-login__label {
  color: rgba(var(--cl-t-primary), .85);
  font-size: .82rem;
  font-weight: 650;
}

.rm-login__hint {
  margin-top: -3px;
  color: rgba(var(--cl-t-primary), .45);
  font-size: .74rem;
  line-height: 1.45;
}

.rm-login__input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  border: 1px solid var(--rm-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .028);
  padding: 0 14px;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.rm-login__input-wrap i { flex: 0 0 auto; color: rgba(var(--cl-t-primary), .38); font-size: .84rem; }
.rm-login__input-wrap:focus-within {
  border-color: rgba(var(--cl-accent), .5);
  background: rgba(var(--cl-accent), .05);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .1);
}

.rm-login__input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 13px 0;
  color: rgb(var(--cl-t-primary));
  font-size: .92rem;
}
.rm-login__input::placeholder { color: rgba(var(--cl-t-primary), .32); }

.rm-login__otp { display: flex; gap: 8px; margin-top: 4px; }
.rm-login__otp-digit {
  width: 100%;
  height: 3.1rem;
  border: 1px solid var(--rm-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .028);
  color: rgb(var(--cl-t-primary));
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.rm-login__otp-digit:focus {
  outline: 0;
  border-color: rgba(var(--cl-accent), .55);
  background: rgba(var(--cl-accent), .06);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .1);
}

.rm-login__error {
  margin: 2px 0 0;
  color: #f16565;
  font-size: .78rem;
}

.rm-login__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
  min-height: 48px;
  border: 1px solid rgb(var(--cl-accent));
  border-radius: 13px;
  background: rgb(var(--cl-accent));
  color: rgb(var(--cl-t-accent));
  font-size: .9rem;
  font-weight: 700;
  box-shadow: 0 14px 30px -14px rgba(var(--cl-accent), .8);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.rm-login__submit:hover:enabled { transform: translateY(-1px); }
.rm-login__submit:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.rm-login__submit:focus-visible { outline: 2px solid rgb(var(--cl-accent)); outline-offset: 2px; }

.rm-login__alt {
  display: block;
  margin: 12px auto 0;
  color: rgba(var(--cl-t-primary), .5);
  font-size: .8rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s ease;
}
.rm-login__alt:hover { color: rgb(var(--cl-t-primary)); }

@media (max-width: 480px) {
  .rm-login__head { padding: 34px 22px 22px; }
  .rm-login__body { padding: 22px 22px 26px; }
  .rm-login__logo { width: 58px; height: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-login__close:hover,
  .rm-login__submit:hover:enabled { transform: none !important; }
}

/* Header selectors: native data, compact trigger, and touch-safe popovers. */
.rm-header-shell .rm-header-select,.rm-header-shell .rm-header-language { position: relative; flex: 0 0 auto; }
.rm-header-shell .choices { margin: 0; min-width: 0; }
.rm-header-shell .currency-selector .choices__inner,.rm-header-shell .language-selector .choices__inner { min-height: 38px; padding: 8px 27px 7px 10px; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 10px; background: rgba(var(--cl-background), .58); color: rgb(var(--cl-t-primary)); box-shadow: inset 0 1px 0 rgba(var(--cl-t-primary), .035); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.rm-header-shell .currency-selector .choices__inner { min-width: 92px; }
.rm-header-shell .currency-selector { display: block !important; visibility: visible !important; opacity: 1 !important; }
.rm-header-shell .currency-selector .choices { display: block !important; min-width: 92px; }
.rm-header-shell .currency-selector select { display: block; width: 92px !important; min-height: 38px; color: rgb(var(--cl-t-primary)) !important; opacity: 1 !important; visibility: visible !important; }
.rm-header-shell .language-selector .choices__inner { min-width: 88px; }
.rm-header-shell .currency-selector .choices__inner .choices__item,.rm-header-shell .language-selector .choices__inner .choices__item { display: inline-flex; align-items: center; gap: 6px; max-width: none; overflow: visible; color: rgb(var(--cl-t-primary)); font-size: .7rem; font-weight: 800; letter-spacing: .025em; }
.rm-header-shell .currency-selector .choices:hover .choices__inner,.rm-header-shell .currency-selector .choices.is-focused .choices__inner,.rm-header-shell .language-selector .choices:hover .choices__inner,.rm-header-shell .language-selector .choices.is-focused .choices__inner { border-color: rgba(var(--cl-accent), .58); background: rgba(var(--cl-accent), .07); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .09), inset 0 1px 0 rgba(var(--cl-t-primary), .04); transform: translateY(-1px); }
.rm-header-shell .choices__list.choices__list--dropdown { z-index: 120; width: min(244px, calc(100vw - 24px)); max-height: min(340px, calc(100vh - 98px)); margin-top: 8px; padding: 5px; overflow-y: auto; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 13px; background: rgb(var(--cl-card)); box-shadow: 0 26px 64px rgba(0, 0, 0, .38); scrollbar-width: thin; scrollbar-color: rgba(var(--cl-accent), .55) transparent; }
.rm-header-shell .currency-selector .choices__list.choices__list--dropdown,.rm-header-shell .language-selector .choices__list.choices__list--dropdown { right: 0; left: auto; }
.rm-header-shell .choices__list--dropdown .choices__item { display: flex; min-height: 42px; align-items: center; padding: 9px 10px; border-radius: 9px; color: rgba(var(--cl-t-primary), .75); font-size: .72rem; font-weight: 700; transition: color .18s ease, background .18s ease; }
.rm-header-shell .choices__list--dropdown .choices__item.is-highlighted { background: rgba(var(--cl-t-primary), .06); color: rgb(var(--cl-t-primary)); }
.rm-header-shell .choices__list--dropdown .choices__item.is-selected { background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); }
.rm-header-shell .language-selector .flag { width: 18px; height: 18px; flex: 0 0 auto; border-radius: 50%; box-shadow: 0 0 0 1px rgba(var(--cl-t-primary), .16); }
@media (max-width: 620px) { .rm-header-shell .rm-header-language { display: block; }.rm-header-shell .currency-selector .choices__inner { min-width: 78px; }.rm-header-shell .currency-selector .choices__inner .choices__item { font-size: .68rem; }.rm-header-shell .currency-selector select { width: 78px !important; } }

/* Language selector: always visible when enabled, with compact flag tokens. */
.rm-header-shell .rm-header-language { display: block !important; visibility: visible !important; opacity: 1 !important; flex: 0 0 auto !important; }
.rm-header-shell .rm-header-language .language-selector,
.rm-header-shell .rm-header-language .choices { display: block !important; min-width: 88px; }
.rm-header-shell .rm-header-language .choices__inner { display: flex !important; align-items: center !important; min-width: 88px !important; min-height: 38px !important; padding: 8px 26px 8px 10px !important; color: rgb(var(--cl-t-primary)) !important; }
.rm-header-shell .rm-header-language .choices__inner .choices__item { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: rgb(var(--cl-t-primary)) !important; opacity: 1 !important; }
.rm-header-shell .rm-header-language .choices__inner .choices__item .flag,
.rm-header-shell .rm-header-language .choices__list--dropdown .flag { display: inline-block !important; width: 18px !important; height: 18px !important; flex: 0 0 18px !important; border-radius: 50% !important; overflow: hidden !important; box-shadow: 0 0 0 1px rgba(var(--cl-t-primary), .18) !important; }
.rm-header-shell .rm-header-language .choices__inner .choices__item .code { display: inline !important; color: rgb(var(--cl-t-primary)) !important; font-size: .7rem !important; font-weight: 800 !important; letter-spacing: .02em !important; }
.rm-header-shell .rm-header-language .choices__list--dropdown .choices__item { gap: 8px !important; }
@media (max-width: 620px) {
  .rm-header-shell .rm-header-language { display: block !important; }
  .rm-header-shell .rm-header-language .language-selector,
  .rm-header-shell .rm-header-language .choices { min-width: 76px; }
  .rm-header-shell .rm-header-language .choices__inner { min-width: 76px !important; padding-inline: 8px 22px !important; }
  .rm-header-shell .rm-header-language .choices__inner .choices__item .flag { width: 16px !important; height: 16px !important; flex-basis: 16px !important; }
}

/* Currency menu uses code-only labels and a single scroll surface. Choices adds
   an outer dropdown plus an inner list; letting both scroll creates the doubled
   wheel/scrollbar seen on compact headers. */
.rm-header-shell .currency-selector .choices__list--dropdown { overflow: hidden !important; }
.rm-header-shell .currency-selector .choices__list--dropdown .choices__list { max-height: min(340px, calc(100vh - 126px)); overflow-y: auto; overflow-x: hidden; scrollbar-width: none; }
.rm-header-shell .currency-selector .choices__list--dropdown .choices__list::-webkit-scrollbar { width: 0; height: 0; }
.rm-header-shell .currency-selector .choices__inner .symbol { display: none !important; }
.rm-header-shell .currency-selector .choices__inner .choices__item { gap: 0; }
@media (max-width: 620px) { .rm-header-shell .currency-selector .choices__inner .choices__item { font-size: .68rem; } }

/* Mobile selector sheets and flag-first language labels.  The currency list is
   deliberately viewport-centred on touch layouts: a right-anchored menu can
   otherwise inherit the compact header transform and open outside the screen. */
.rm-header-shell .rm-language-flag {
  display: inline-grid;
  place-items: center;
  inline-size: 19px;
  block-size: 19px;
  flex: 0 0 19px;
  overflow: hidden;
  border-radius: 50%;
  font-size: 16px;
  line-height: 1;
  box-shadow: 0 0 0 1px rgba(var(--cl-t-primary), .16);
}
.rm-header-shell .rm-language-name {
  min-width: 0;
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-header-shell .rm-header-language .choices__inner .choices__item .code,
.rm-header-shell .rm-header-language .choices__inner .choices__item .name { display: none !important; }
.rm-header-shell .rm-header-language .choices__inner .choices__item,
.rm-header-shell .rm-header-language .choices__list--dropdown .choices__item { gap: 7px !important; }

@media (max-width: 620px) {
  .rm-header-actions .currency-selector { transform: none !important; }
  .rm-header-shell .currency-selector .choices__list.choices__list--dropdown {
    position: fixed !important;
    top: 50dvh !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(336px, calc(100vw - 28px)) !important;
    max-height: min(58dvh, 438px) !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1100 !important;
  }
  .rm-header-shell .currency-selector .choices__list--dropdown .choices__list {
    max-height: calc(min(58dvh, 438px) - 10px) !important;
  }
  .rm-header-shell .rm-language-flag { inline-size: 18px; block-size: 18px; flex-basis: 18px; font-size: 15px; }
}

/* Customer sign-in OTP — one calm segmented field, inspired by premium account portals. */
.rm-login__otp { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; overflow: hidden; margin-top: 10px; border: 1px solid rgba(var(--cl-accent), .62); border-radius: 13px; background: rgba(var(--cl-background), .66); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .06); }
.rm-login__otp-digit { width: 100%; height: 54px; min-width: 0; border: 0; border-right: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 0; outline: 0; background: transparent; color: rgb(var(--cl-t-primary)); font-size: 1.18rem; font-weight: 800; text-align: center; caret-color: rgb(var(--cl-accent)); transition: background .18s ease, color .18s ease; }
.rm-login__otp-digit:last-child { border-right: 0; }
.rm-login__otp-digit:focus { background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); box-shadow: inset 0 -2px 0 rgb(var(--cl-accent)); }
.rm-login__otp-digit::selection { background: rgba(var(--cl-accent), .28); }

/* Customer area — compact dashboard/invoice surfaces that inherit light/dark theme tokens. */
.rm-customer-dashboard,.rm-customer-orders { max-width: 1240px; }
.rm-customer-dashboard > .relative,.rm-customer-orders > .relative { padding-top: clamp(24px, 4vw, 42px); padding-bottom: clamp(34px, 6vw, 72px); }
.rm-customer-page-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.rm-customer-page-head__eyebrow { display: block; margin-bottom: 7px; color: rgb(var(--cl-accent)); font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rm-customer-page-head h1 { margin: 0; color: rgb(var(--cl-t-primary)); font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 850; letter-spacing: -.055em; }
.rm-customer-page-head p { margin: 6px 0 0; color: rgba(var(--cl-t-primary), .52); font-size: .78rem; }
.rm-customer-page-head__action { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 38px; padding: 0 14px; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 999px; color: rgba(var(--cl-t-primary), .72); font-size: .72rem; font-weight: 750; transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
.rm-customer-page-head__action:hover { border-color: rgba(var(--cl-accent), .4); background: rgba(var(--cl-accent), .09); color: rgb(var(--cl-accent)); transform: translateY(-1px); }
.rm-customer-dashboard .bg-card,.rm-customer-orders .bg-card,.rm-customer-sidebar { border-color: rgba(var(--cl-t-primary), .12) !important; border-radius: 15px !important; background: linear-gradient(145deg, rgba(var(--cl-card), .88), rgba(var(--cl-background), .62)) !important; box-shadow: 0 18px 44px rgba(0,0,0,.12); }
.rm-customer-dashboard h3,.rm-customer-orders h3 { letter-spacing: -.02em; }
.rm-customer-dashboard .grid > .bg-card,.rm-customer-orders .grid > .bg-card { min-height: 106px; padding: 18px !important; }
.rm-customer-dashboard .grid > .bg-card p.text-2xl { color: rgb(var(--cl-t-primary)); letter-spacing: -.04em; }
.rm-customer-sidebar { position: sticky; top: 18px; overflow: hidden; }
.rm-customer-sidebar > div:first-child { border-color: rgba(var(--cl-t-primary), .1) !important; background: rgba(var(--cl-background), .22); }
.rm-customer-sidebar ul { gap: 4px !important; }
.rm-customer-sidebar li a,.rm-customer-sidebar li button { display: flex; min-height: 38px; align-items: center; padding: 0 12px; border-radius: 9px; transition: color .18s ease, background .18s ease, transform .18s ease; }
.rm-customer-sidebar li a:hover,.rm-customer-sidebar li button:hover { background: rgba(var(--cl-accent), .08); color: rgb(var(--cl-t-primary)); transform: translateX(2px); }
.rm-customer-sidebar li a.text-accent-500 { background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); font-weight: 750; }
.rm-customer-orders table { border-collapse: separate; border-spacing: 0 8px; }
.rm-customer-orders thead { background: transparent !important; }
.rm-customer-orders tbody tr { overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .1); background: rgba(var(--cl-background), .32); transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.rm-customer-orders tbody tr:hover { border-color: rgba(var(--cl-accent), .34); background: rgba(var(--cl-accent), .06); transform: translateY(-1px); }
.rm-customer-orders tbody td { padding-top: 14px; padding-bottom: 14px; border: 0 !important; }
.rm-customer-orders tbody td:first-child { border-radius: 10px 0 0 10px; }
.rm-customer-orders tbody td:last-child { border-radius: 0 10px 10px 0; }
@media (max-width: 760px) { .rm-customer-sidebar { position: static; }.rm-customer-page-head { align-items: flex-start; flex-direction: column; margin-bottom: 18px; }.rm-customer-page-head__action { width: 100%; justify-content: center; }.rm-customer-dashboard .grid > .bg-card,.rm-customer-orders .grid > .bg-card { min-height: 0; }.rm-customer-orders table { min-width: 680px; }.rm-customer-orders .overflow-y-hidden { overflow-x: auto; scrollbar-width: thin; } }

/* Login fields stay on-theme even when the browser applies autofill styles. */
.rm-login .rm-login__input,
.rm-login .rm-login__input:focus,
.rm-login .rm-login__input:-webkit-autofill,
.rm-login .rm-login__input:-webkit-autofill:hover,
.rm-login .rm-login__input:-webkit-autofill:focus {
  appearance: none;
  -webkit-appearance: none;
  color: rgb(var(--cl-t-primary)) !important;
  -webkit-text-fill-color: rgb(var(--cl-t-primary)) !important;
  caret-color: rgb(var(--cl-t-primary));
  background: transparent !important;
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(var(--cl-background), .72) inset !important;
  box-shadow: 0 0 0 1000px rgba(var(--cl-background), .72) inset !important;
  transition: background-color 9999s ease-out 0s;
}
.rm-login .rm-login__input-wrap { background: rgba(var(--cl-background), .62); }
.rm-login .rm-login__input-wrap:focus-within { background: rgba(var(--cl-accent), .07); }

/* ==========================================================================\n+   STATUS PAGE — product cards\n+   Keep the category grouping, but present each live status as a compact card\n+   with a media panel and an always-visible status badge.\n+   ========================================================================== */
.rm-status-page .rm-status-groups { display: grid; gap: 22px; }
.rm-status-page .rm-status-group,
.rm-status-page .rm-status-group--single { display: block; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 18px; background: linear-gradient(145deg, rgba(var(--cl-card), .78), rgba(var(--cl-background), .58)); }
.rm-status-page .rm-status-group__head { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; min-height: 86px; gap: 14px; padding: 14px 16px; border: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .1); background: transparent; }
.rm-status-page .rm-status-group__media { width: 56px; height: 56px; min-height: 56px; border-radius: 13px; }
.rm-status-page .rm-status-group__title { gap: 4px; }
.rm-status-page .rm-status-group__title strong { font-size: 1.08rem; }
.rm-status-page .rm-status-group__title small { font-size: .7rem; }
.rm-status-page .rm-status-group__products { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; padding: 16px; }
.rm-status-page .rm-status-product,
.rm-status-page .rm-status-group--single .rm-status-product { position: relative; display: flex; min-width: 0; min-height: 248px; flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 14px; background: rgba(var(--cl-background), .56); transform: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.rm-status-page .rm-status-product:hover,
.rm-status-page .rm-status-group--single .rm-status-product:hover { border-color: color-mix(in srgb, var(--status-color) 54%, transparent); box-shadow: 0 14px 28px -22px color-mix(in srgb, var(--status-color) 80%, transparent); transform: translateY(-2px); }
.rm-status-page .rm-status-product__media { width: 100%; height: 146px; min-height: 146px; border-radius: 0; background: rgba(var(--cl-card), .78); box-shadow: none; }
.rm-status-page .rm-status-product__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.5)); pointer-events: none; }
.rm-status-page .rm-status-product__copy { min-height: 76px; gap: 5px; padding: 13px 14px 8px; }
.rm-status-page .rm-status-product__copy strong { font-size: .84rem; }
.rm-status-page .rm-status-product__copy small { color: rgba(var(--cl-t-primary), .48); font-size: .66rem; }
.rm-status-page .rm-status-product__state { position: absolute; top: 119px; right: 10px; z-index: 2; display: inline-flex; padding: 6px 9px; border: 1px solid color-mix(in srgb, var(--status-color) 46%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--cl-card) 76%, var(--status-color) 24%); font-size: .65rem; font-weight: 800; }
.rm-status-page .rm-status-product__state > i { width: 7px; height: 7px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--status-color) 18%, transparent); }
.rm-status-page .rm-status-product__state > i::after { display: none; }
.rm-status-page .rm-status-product__arrow { position: absolute; right: 13px; bottom: 13px; color: rgba(var(--cl-t-primary), .35); }
.rm-status-page .rm-status-product::after { content: 'LIVE STOREFRONT STATUS'; display: block; margin: 0 14px 13px; color: rgba(var(--cl-t-primary), .4); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rm-status-page .rm-status-group--single .rm-status-group__products { min-height: 0; padding: 16px; }
@media (max-width: 760px) {
  .rm-status-page .rm-status-group__head { grid-template-columns: 48px minmax(0, 1fr) auto; min-height: 76px; padding: 12px; }
  .rm-status-page .rm-status-group__media { width: 48px; height: 48px; min-height: 48px; }
  .rm-status-page .rm-status-group__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
  .rm-status-page .rm-status-product { min-height: 224px; }
  .rm-status-page .rm-status-product__media { height: 126px; min-height: 126px; }
  .rm-status-page .rm-status-product__state { top: 99px; }
}
@media (max-width: 480px) {
  .rm-status-page .rm-status-group__products { grid-template-columns: 1fr; }
}

/* Status page final pass: compact monitoring layout with contained media. */
.rm-status-page {
  max-width: 1120px;
  margin: clamp(24px, 4vw, 48px) auto 0;
}
.rm-status-page__hero {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 18px;
  background: radial-gradient(ellipse 42% 90% at 88% 50%, rgba(var(--cl-accent), .16), transparent 72%), linear-gradient(135deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .72));
  text-align: left;
}
.rm-status-page__hero::after {
  position: absolute;
  right: 4%;
  bottom: 25%;
  width: 30%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--cl-accent), .8), transparent);
  box-shadow: 0 0 14px 2px rgba(var(--cl-accent), .35);
  content: '';
  opacity: .7;
  transform: rotate(-4deg);
}
.rm-status-page__hero h1 { margin-top: 13px; font-size: clamp(2rem, 4vw, 3.2rem); }
.rm-status-page__hero p { margin: 11px 0 0; max-width: 42ch; }
.rm-status-page__summary { max-width: none; margin: 28px 0 0; }
.rm-status-summary { min-height: 72px; border-color: rgba(var(--cl-t-primary), .1); background: rgba(var(--cl-background), .46); }
.rm-status-groups { gap: 12px; margin-top: 18px; }
.rm-status-page .rm-status-group,
.rm-status-page .rm-status-group--single {
  display: block !important;
  border-radius: 13px;
  background: rgba(var(--cl-card), .52);
}
.rm-status-page .rm-status-group__head {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  min-height: 72px;
  align-items: center;
  gap: 13px;
  padding: 9px 13px;
  border-bottom: 1px solid rgba(var(--cl-t-primary), .08);
}
.rm-status-page .rm-status-group__media {
  width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  border: 1px solid rgba(var(--cl-t-primary), .1);
  border-radius: 11px;
  background: rgba(var(--cl-background), .72);
}
.rm-status-page .rm-status-group__media img { object-fit: contain !important; padding: 4px; }
.rm-status-page .rm-status-group__media::after { box-shadow: inset 0 0 0 1px rgba(var(--cl-t-primary), .08); }
.rm-status-page .rm-status-group__title { display: grid; gap: 3px; }
.rm-status-page .rm-status-group__title strong { font-size: .92rem; }
.rm-status-page .rm-status-group__title small { font-size: .66rem; }
.rm-status-page .rm-status-group__toggle { width: 30px; height: 30px; border-radius: 9px; }
.rm-status-page .rm-status-group__products {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 7px;
  padding: 9px;
}
.rm-status-page .rm-status-product,
.rm-status-page .rm-status-group--single .rm-status-product {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) minmax(110px, auto) 18px !important;
  min-height: 76px !important;
  align-items: center;
  gap: 12px;
  padding: 8px 11px 8px 8px !important;
  border-radius: 11px;
  background: rgba(var(--cl-background), .4);
}
.rm-status-page .rm-status-product__media {
  width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  border: 1px solid rgba(var(--cl-t-primary), .1);
  border-radius: 9px;
  background: rgba(var(--cl-card), .7);
}
.rm-status-page .rm-status-product__media img { object-fit: contain !important; padding: 2px; }
.rm-status-page .rm-status-product__copy { gap: 3px; }
.rm-status-page .rm-status-product__copy strong { font-size: .78rem; }
.rm-status-page .rm-status-product__copy small { font-size: .63rem; }
.rm-status-page .rm-status-product__state {
  position: static !important;
  justify-self: end;
  padding: 6px 9px;
  border: 1px solid color-mix(in srgb, var(--status-color) 38%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--status-color) 9%, transparent);
  font-size: .64rem;
}
.rm-status-page .rm-status-product__state > i { width: 7px; height: 7px; box-shadow: none; }
.rm-status-page .rm-status-product__state > i::after { display: none; }
.rm-status-page .rm-status-product__arrow { position: static; justify-self: end; }
.rm-status-page .rm-status-product::after { display: none; }
@media (max-width: 620px) {
  .rm-status-page__hero { padding: 24px 18px; }
  .rm-status-page__hero::after { display: none; }
  .rm-status-page__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .rm-status-summary { min-height: 62px; padding: 9px; }
  .rm-status-page .rm-status-group__head { grid-template-columns: 46px minmax(0, 1fr) auto !important; min-height: 64px; padding: 8px 10px; }
  .rm-status-page .rm-status-group__media { width: 46px !important; height: 46px !important; min-height: 46px !important; }
  .rm-status-page .rm-status-product,
  .rm-status-page .rm-status-group--single .rm-status-product { grid-template-columns: 46px minmax(0, 1fr) auto !important; min-height: 66px !important; gap: 9px; }
  .rm-status-page .rm-status-product__media { width: 46px !important; height: 46px !important; min-height: 46px !important; }
  .rm-status-page .rm-status-product__state { grid-column: 2 / -1; justify-self: start; margin-top: -4px; padding: 0; border: 0; background: transparent; }
  .rm-status-page .rm-status-product__arrow { display: none; }
}

/* Final mobile payment preview overrides. */
.rm-demo-payments { box-sizing: border-box; width: min(100%, 430px); max-width: 430px; margin: 22px auto 0; overflow: hidden; }
.rm-demo-payments__methods { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 10px 12px; }
.rm-demo-payments__method { min-width: 0; min-height: 54px; grid-template-columns: 26px minmax(0,1fr) 14px; gap: 7px; padding: 7px; }
.rm-demo-payments__method > i { width: 26px; height: 26px; font-size: .9rem; }
.rm-demo-payments__method small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__foot { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 42px; padding: 9px 12px; }
.rm-demo-payments__foot > span { min-width: 0; flex: 1 1 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-demo-payments__foot > button { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }
@media (max-width: 560px) { .rm-demo-payments { width: 100%; max-width: 100%; margin-top: 18px; border-radius: 13px; }.rm-demo-payments__head { padding: 10px 11px; }.rm-demo-payments__head small { display: none; }.rm-demo-payments__methods { gap: 6px; padding: 9px 10px; }.rm-demo-payments__method { min-height: 52px; padding: 6px; }.rm-demo-payments__foot { gap: 6px 8px; padding: 9px 10px; font-size: .58rem; }.rm-demo-payments__foot > span { flex-basis: 130px; } }
@media (max-width: 350px) { .rm-demo-payments__methods { grid-template-columns: 1fr; }.rm-demo-payments__method { min-height: 48px; } }
/* Status page v2 — aligned with the restrained status system from theme 261797. */
.rm-status-v2 {
  width: min(calc(100% - 32px), 1152px);
  margin: clamp(34px, 5vw, 68px) auto clamp(64px, 9vw, 112px);
  color: rgb(var(--cl-t-primary));
}
.rm-status-v2__header { max-width: 660px; margin: 0 auto 30px; text-align: center; }
.rm-status-v2__eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px;
  color: rgb(var(--cl-accent)); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase;
}
.rm-status-v2__eyebrow::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(var(--cl-accent), .1); }
.rm-status-v2__header h1 { margin: 0; font-size: clamp(2.15rem, 4vw, 3.45rem); font-weight: 850; letter-spacing: -.055em; line-height: 1.03; }
.rm-status-v2__header p { max-width: 52ch; margin: 13px auto 0; color: rgba(var(--cl-t-primary), .6); font-size: .96rem; line-height: 1.65; }
.rm-status-v2__overview {
  display: grid; grid-template-columns: minmax(310px, 1.8fr) minmax(130px, .55fr) minmax(130px, .55fr) minmax(250px, 1.2fr);
  overflow: hidden; margin-bottom: clamp(38px, 5vw, 58px); border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 14px;
  background: rgba(var(--cl-card), .58); box-shadow: 0 22px 60px -50px rgba(var(--cl-accent), .42);
}
.rm-status-v2__monitor, .rm-status-v2__metric, .rm-status-v2__sync { min-width: 0; min-height: 74px; padding: 15px 18px; }
.rm-status-v2__metric, .rm-status-v2__sync { border-left: 1px solid rgba(var(--cl-t-primary), .1); }
.rm-status-v2__monitor, .rm-status-v2__sync { display: flex; align-items: center; gap: 12px; }
.rm-status-v2__monitor-icon {
  display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--cl-success), .25);
  border-radius: 11px; background: rgba(var(--cl-success), .08); color: rgb(var(--cl-success));
}
.rm-status-v2__monitor > span:last-child, .rm-status-v2__sync > span { display: grid; min-width: 0; gap: 4px; }
.rm-status-v2__monitor small { color: rgb(var(--cl-accent)); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.rm-status-v2__monitor strong, .rm-status-v2__sync strong { overflow: hidden; font-size: .78rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }
.rm-status-v2__metric { display: grid; align-content: center; justify-items: center; gap: 3px; text-align: center; }
.rm-status-v2__metric strong { font-size: 1.35rem; line-height: 1; }
.rm-status-v2__metric span, .rm-status-v2__sync small { color: rgba(var(--cl-t-primary), .5); font-size: .58rem; line-height: 1.35; }
.rm-status-v2__sync > i { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: rgba(var(--cl-accent), .08); color: rgb(var(--cl-accent)); font-size: .76rem; }
.rm-status-v2__groups { display: grid; gap: clamp(38px, 5vw, 56px); }
.rm-status-v2-group { min-width: 0; }
.rm-status-v2-group__header {
  display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 0 2px 15px;
  border-bottom: 1px solid rgba(var(--cl-t-primary), .11);
}
.rm-status-v2-group__image {
  display: grid; width: 54px; height: 54px; overflow: hidden; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .12);
  border-radius: 12px; background: rgba(var(--cl-card), .7); color: rgb(var(--cl-accent));
}
.rm-status-v2-group__image img { width: 100%; height: 100%; object-fit: cover; }
.rm-status-v2-group__copy { display: grid; min-width: 0; gap: 4px; }
.rm-status-v2-group__copy small { color: rgb(var(--cl-accent)); font-size: .58rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rm-status-v2-group__copy h2 { overflow: hidden; margin: 0; font-size: clamp(1.13rem, 2vw, 1.42rem); font-weight: 800; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.rm-status-v2-group__count { padding: 7px 10px; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 999px; color: rgba(var(--cl-t-primary), .58); font-size: .62rem; font-weight: 750; white-space: nowrap; }
.rm-status-v2-group__products { display: grid; grid-template-columns: repeat(var(--rm-status-columns), minmax(0, 1fr)); gap: 14px; padding-top: 15px; }
.rm-status-v2-card {
  position: relative; min-width: 0; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 14px;
  background: rgba(var(--cl-card), .62); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.rm-status-v2-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--rm-item-status) 48%, rgba(var(--cl-t-primary), .12)); box-shadow: 0 20px 38px -28px color-mix(in srgb, var(--rm-item-status) 50%, transparent); }
.rm-status-v2-card__media { position: relative; display: grid; aspect-ratio: 16 / 10; overflow: hidden; place-items: center; background: rgba(var(--cl-background), .7); }
.rm-status-v2-card__media > img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.rm-status-v2-card:hover .rm-status-v2-card__media > img { transform: scale(1.025); }
.rm-status-v2-card__placeholder { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 13px; color: rgb(var(--cl-accent)); }
.rm-status-v2-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.54)); pointer-events: none; }
.rm-status-v2-card__status {
  position: absolute; right: 9px; bottom: 9px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 18px);
  padding: 6px 9px; border: 1px solid color-mix(in srgb, var(--rm-item-status) 48%, transparent); border-radius: 999px;
  background: color-mix(in srgb, rgb(var(--cl-card)) 82%, var(--rm-item-status) 18%); color: var(--rm-item-status); font-size: .62rem; backdrop-filter: blur(10px);
}
.rm-status-v2-card__status i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.rm-status-v2-card__status strong { overflow: hidden; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.rm-status-v2-card__action {
  position: absolute; inset: auto 10px 10px 10px; z-index: 3; display: flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid rgba(var(--cl-t-primary), .15); border-radius: 10px; background: rgba(var(--cl-background), .9); color: rgb(var(--cl-t-primary));
  font-size: .7rem; font-weight: 800; opacity: 0; transform: translateY(7px); transition: opacity .2s ease, transform .2s ease, border-color .2s ease;
}
.rm-status-v2-card:hover .rm-status-v2-card__action, .rm-status-v2-card:focus-within .rm-status-v2-card__action { opacity: 1; transform: translateY(0); border-color: color-mix(in srgb, var(--rm-item-status) 46%, transparent); }
.rm-status-v2-card__body { display: grid; min-height: 104px; align-content: start; gap: 6px; padding: 14px; }
.rm-status-v2-card__type { color: rgb(var(--cl-accent)); font-size: .56rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.rm-status-v2-card__name { overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .8rem; font-weight: 800; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.rm-status-v2-card__sync { display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 8px; color: rgba(var(--cl-t-primary), .43); font-size: .58rem; }
.rm-status-v2-card__sync i { color: var(--rm-item-status); font-size: .55rem; }
.rm-status-v2__empty { display: grid; max-width: 520px; justify-items: center; gap: 9px; margin: 36px auto 0; padding: 38px; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 16px; background: rgba(var(--cl-card), .5); text-align: center; }
.rm-status-v2__empty > i { color: rgb(var(--cl-accent)); font-size: 1.4rem; }
.rm-status-v2__empty p { margin: 0; color: rgba(var(--cl-t-primary), .55); font-size: .82rem; }
@media (max-width: 980px) {
  .rm-status-v2__overview { grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(110px, .55fr)); }
  .rm-status-v2__sync { grid-column: 1 / -1; border-top: 1px solid rgba(var(--cl-t-primary), .1); border-left: 0; }
  .rm-status-v2-group__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rm-status-v2 { width: min(calc(100% - 20px), 1152px); margin-top: 24px; }
  .rm-status-v2__header { margin-bottom: 22px; padding-inline: 8px; }
  .rm-status-v2__overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rm-status-v2__monitor, .rm-status-v2__sync { grid-column: 1 / -1; }
  .rm-status-v2__metric { border-top: 1px solid rgba(var(--cl-t-primary), .1); }
  .rm-status-v2__metric:nth-child(2) { border-left: 0; }
  .rm-status-v2-group__header { grid-template-columns: 48px minmax(0, 1fr); gap: 11px; }
  .rm-status-v2-group__image { width: 48px; height: 48px; }
  .rm-status-v2-group__count { grid-column: 2; justify-self: start; margin-top: -4px; padding: 0; border: 0; }
  .rm-status-v2-group__products { grid-template-columns: 1fr; gap: 10px; }
  .rm-status-v2-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); }
  .rm-status-v2-card__media { height: 100%; min-height: 112px; aspect-ratio: auto; }
  .rm-status-v2-card__body { min-height: 112px; }
  .rm-status-v2-card__action { inset: auto 9px 9px 9px; opacity: 1; transform: none; }
  .rm-status-v2-card__status { top: 8px; right: 8px; bottom: auto; }
  .rm-status-v2-card__action { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-status-v2-card, .rm-status-v2-card__media > img, .rm-status-v2-card__action { transition: none !important; }
}

/* Desktop hero wall safe area ------------------------------------------------
   The perspective transform used to enlarge the wall beyond its own viewport,
   which clipped the outside edge of the third column. Give the animation a
   controlled right-side overhang and keep every card inside an inset canvas. */
@media (min-width: 1025px) {
  .rm-hero__wall {
    --rm-wall-safe-edge: clamp(34px, 3.2vw, 58px);
    box-sizing: border-box;
    width: calc(100% + var(--rm-wall-safe-edge));
    max-width: none;
    margin-right: calc(-1 * var(--rm-wall-safe-edge));
    padding: 10px var(--rm-wall-safe-edge) 10px 8px;
    overflow: hidden;
    -webkit-mask-image: radial-gradient(ellipse 112% 102% at 47% 48%, #000 0 70%, rgba(0, 0, 0, .96) 84%, transparent 100%);
            mask-image: radial-gradient(ellipse 112% 102% at 47% 48%, #000 0 70%, rgba(0, 0, 0, .96) 84%, transparent 100%);
  }

  .rm-wall {
    width: 100%;
    transform: perspective(1500px) rotateY(-11deg) rotateX(4deg) rotateZ(-1.5deg) scale(.985);
    transform-origin: 47% 50%;
  }

  .rm-wall__col,
  .rm-wall-card {
    min-width: 0;
  }
}

/* Shared shell and contact-support layout guard --------------------------
   Keep global chrome fluid, and reserve normal document flow for support
   copy/actions so narrow screens never layer text over the simulation. */
.rm-header,
.rm-header-shell {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

.rm-header {
  margin-inline: 0;
  padding-inline: clamp(12px, 2.5vw, 42px);
}

.rm-header-shell { overflow: visible; }
.rm-header-nav { min-width: 0; flex: 1 1 auto; }
.rm-header-links { min-width: 0; }

.rm-footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  border-inline-width: 0;
  border-radius: 0;
  box-sizing: border-box;
}

.rm-footer__inner {
  width: 100%;
  max-width: none;
  padding-inline: clamp(18px, 4vw, 72px);
  box-sizing: border-box;
}

.rm-why-choose__demo:has(.rm-support-player) {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.rm-support-player { min-width: 0; }

/* Footer refresh: an elevated, icon-led close to the storefront system. */
.rm-footer {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(var(--cl-t-primary), .12);
  background:
    radial-gradient(68% 75% at 3% 0%, rgba(var(--cl-accent), .12), transparent 62%),
    linear-gradient(145deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .98));
}
.rm-footer::before { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(var(--cl-t-primary), .035) 1px, transparent 1px), linear-gradient(rgba(var(--cl-t-primary), .025) 1px, transparent 1px); background-size: 38px 38px; content: ''; mask-image: linear-gradient(to bottom, black, transparent 70%); }
.rm-footer__inner { position: relative; z-index: 1; width: min(calc(100% - clamp(28px, 6vw, 120px)), 1380px); max-width: 1380px; padding-inline: 0; }
.rm-footer__brand-row { min-height: 100px; padding: 22px 0; border-color: rgba(var(--cl-t-primary), .1); }
.rm-footer__brand { padding: 5px 10px 5px 5px; border: 1px solid transparent; border-radius: 16px; color: rgb(var(--cl-t-primary)); }
.rm-footer__brand:hover { border-color: rgba(var(--cl-accent), .3); background: rgba(var(--cl-accent), .07); color: rgb(var(--cl-t-primary)); transform: translateY(-2px); }
.rm-footer__brand-mark { display: grid; width: 48px; height: 48px; place-items: center; overflow: hidden; border: 1px solid rgba(var(--cl-accent), .38); border-radius: 14px; background: linear-gradient(135deg, rgba(var(--cl-accent), .24), rgba(var(--cl-card), .9)); box-shadow: 0 9px 24px rgba(var(--cl-accent), .13), inset 0 1px 0 rgba(255,255,255,.12); }
.rm-footer__brand-mark img { width: 100%; height: 100%; object-fit: cover; }
.rm-footer__brand-copy { display: grid; gap: 2px; min-width: 0; }
.rm-footer__brand-name { color: rgb(var(--cl-t-primary)); font-size: clamp(1.05rem, 1.4vw, 1.3rem); font-weight: 850; letter-spacing: -.035em; }
.rm-footer__brand-tagline { color: rgba(var(--cl-t-primary), .5); font-size: .62rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.rm-footer__socials { padding: 5px; border: 1px solid rgba(var(--cl-t-primary), .09); border-radius: 15px; background: rgba(var(--cl-background), .42); }
.rm-footer__social { width: 36px; height: 36px; border-radius: 10px; }
.rm-footer-products { padding-block: clamp(28px, 3.5vw, 48px); border-color: rgba(var(--cl-t-primary), .1); }
.rm-footer__nav { grid-template-columns: 1.1fr 1fr 1fr; gap: clamp(26px, 5vw, 84px); padding: 32px 0; border: 0; }
.rm-footer__nav-group { gap: 7px; }
.rm-footer__nav-group > span { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; color: rgb(var(--cl-accent)); font-size: .65rem; font-weight: 850; letter-spacing: .14em; }
.rm-footer__nav-group > span::after { width: 22px; height: 1px; background: rgba(var(--cl-accent), .46); content: ''; }
.rm-footer__nav-group a { display: inline-flex; align-items: center; gap: 9px; min-height: 28px; color: rgba(var(--cl-t-primary), .63); font-size: .8rem; font-weight: 650; }
.rm-footer__nav-group a i { display: grid; width: 19px; color: rgb(var(--cl-accent)); font-size: .7rem; text-align: center; opacity: .9; }
.rm-footer__nav-group a:hover { color: rgb(var(--cl-t-primary)); transform: translateX(3px); }
.rm-footer__bottom { min-height: 64px; padding: 17px 0; border-top: 1px solid rgba(var(--cl-t-primary), .1); background: transparent; }
.rm-footer__bottom p { display: flex; align-items: center; gap: 8px; color: rgba(var(--cl-t-primary), .52) !important; font-size: .74rem !important; font-weight: 650; }
.rm-footer__bottom p::before { width: 7px; height: 7px; border-radius: 999px; background: rgb(var(--cl-accent)); box-shadow: 0 0 0 4px rgba(var(--cl-accent), .1); content: ''; }
@media (max-width: 720px) {
  .rm-footer__inner { width: min(calc(100% - 28px), 1380px); }
  .rm-footer__brand-row { min-height: 0; padding: 18px 0; }
  .rm-footer__brand-mark { width: 42px; height: 42px; border-radius: 12px; }
  .rm-footer__socials { gap: 4px; }
  .rm-footer__social { width: 34px; height: 34px; }
  .rm-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; padding: 26px 0; }
  .rm-footer__nav-group:last-child { grid-column: 1 / -1; }
  .rm-footer__bottom { min-height: 56px; padding: 15px 0; }
}

/* Text/media video: the section's selected ratio owns the video canvas.
   Lite YouTube otherwise carries its default 16:9 spacer and causes bars
   inside square/standard editor selections. */
.rm-text-media__visual { border: 0; background: #050709; }
.rm-text-media__youtube,
.rm-text-media__visual > lite-youtube {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.rm-text-media__youtube::after,
.rm-text-media__visual > lite-youtube::after { display: none !important; padding: 0 !important; }
.rm-text-media__youtube > *,
.rm-text-media__visual > lite-youtube > * { max-width: none !important; }

/* Motion system — stage 1 -------------------------------------------------- */
.rm-scroll-progress { position: fixed; z-index: 1200; top: 0; right: 0; left: 0; height: 2px; background: rgb(var(--cl-accent)); box-shadow: 0 0 12px rgba(var(--cl-accent), .55); transform: scaleX(0); transform-origin: left center; pointer-events: none; will-change: transform; }

.rm-motion-ready .rm-hero__content { opacity: calc(1 - (var(--rm-hero-scroll, 0) * .24)); transform: translate3d(0, calc(var(--rm-hero-scroll, 0) * -26px), 0); transition: opacity .08s linear; will-change: opacity, transform; }
.rm-motion-ready .rm-hero__wall { transform: translate3d(0, calc(var(--rm-hero-scroll, 0) * 13px), 0); will-change: transform; }

.rm-motion-ready .rm-motion-section { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.rm-motion-ready .rm-motion-section.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }

.rm-motion-ready .rm-motion-heading > * { opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity .52s ease, transform .62s cubic-bezier(.2,.8,.2,1); }
.rm-motion-ready .rm-motion-heading.is-visible > * { opacity: 1; transform: translate3d(0, 0, 0); }
.rm-motion-ready .rm-motion-heading.is-visible > :nth-child(1) { transition-delay: 40ms; }
.rm-motion-ready .rm-motion-heading.is-visible > :nth-child(2) { transition-delay: 115ms; }
.rm-motion-ready .rm-motion-heading.is-visible > :nth-child(3) { transition-delay: 190ms; }
.rm-motion-ready .rm-motion-heading.is-visible > :nth-child(4) { transition-delay: 250ms; }
.rm-motion-heading::after { display: block; width: min(84px, 24%); height: 1px; margin-top: 17px; background: linear-gradient(90deg, rgb(var(--cl-accent)), transparent); content: ''; opacity: 0; transform: scaleX(0); transform-origin: left; transition: opacity .4s ease .2s, transform .7s cubic-bezier(.2,.8,.2,1) .2s; }
.rm-motion-heading.is-visible::after { opacity: .75; transform: scaleX(1); }
.rm-text-media__copy--center.rm-motion-heading::after { margin-inline: auto; transform-origin: center; }
.rm-text-media__copy--right.rm-motion-heading::after { margin-left: auto; transform-origin: right; }

.rm-motion-ready .rm-motion-card { opacity: 0; transform: translate3d(0, 24px, 0) scale(.97); transition: opacity .58s ease var(--rm-card-delay, 0ms), transform .68s cubic-bezier(.2,.8,.2,1) var(--rm-card-delay, 0ms), border-color .28s ease, box-shadow .28s ease; }
.rm-motion-ready .rm-motion-card.is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.rm-motion-ready .rm-motion-card .catalog-product-card__media { opacity: 0; transform: translate3d(0, 9px, 0); transition: opacity .5s ease calc(var(--rm-card-delay, 0ms) + 45ms), transform .6s cubic-bezier(.2,.8,.2,1) calc(var(--rm-card-delay, 0ms) + 45ms); }
.rm-motion-ready .rm-motion-card.is-visible .catalog-product-card__media { opacity: 1; transform: translate3d(0, 0, 0); }
.rm-motion-ready .rm-motion-card .catalog-product-card__meta,
.rm-motion-ready .rm-motion-card h3,
.rm-motion-ready .rm-motion-card .catalog-product-card__price { opacity: 0; transform: translate3d(0, 8px, 0); transition: opacity .42s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
.rm-motion-ready .rm-motion-card.is-visible .catalog-product-card__meta { opacity: 1; transform: none; transition-delay: calc(var(--rm-card-delay, 0ms) + 135ms); }
.rm-motion-ready .rm-motion-card.is-visible h3 { opacity: 1; transform: none; transition-delay: calc(var(--rm-card-delay, 0ms) + 195ms); }
.rm-motion-ready .rm-motion-card.is-visible .catalog-product-card__price { opacity: 1; transform: none; transition-delay: calc(var(--rm-card-delay, 0ms) + 255ms); }
.rm-motion-card .catalog-product-card__media img { transform: translate3d(0, var(--rm-media-shift, 0px), 0) scale(1.045); }
.rm-motion-card:hover .catalog-product-card__media img { transform: translate3d(0, var(--rm-media-shift, 0px), 0) scale(1.075); }

.rm-motion-ready .rm-hero__trust li { position: relative; overflow: hidden; }
.rm-motion-ready .rm-hero__trust li::after { position: absolute; inset: 0 auto auto 0; width: 100%; height: 1px; background: linear-gradient(90deg, rgb(var(--cl-accent)), transparent); content: ''; transform: scaleX(0); transform-origin: left; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.rm-motion-ready .rm-hero__trust.is-visible li::after { transform: scaleX(1); }
.rm-motion-ready .rm-hero__trust.is-visible li:nth-child(2)::after { transition-delay: 100ms; }
.rm-motion-ready .rm-hero__trust.is-visible li:nth-child(3)::after { transition-delay: 200ms; }

@media (max-width: 720px) {
  .rm-motion-ready .rm-hero__content { transform: translate3d(0, calc(var(--rm-hero-scroll, 0) * -12px), 0); }
  .rm-motion-ready .rm-hero__wall { transform: none; }
  .rm-motion-ready .rm-motion-section { transform: translate3d(0, 14px, 0); }
  .rm-motion-ready .rm-motion-card { transform: translate3d(0, 15px, 0) scale(.985); }
  .rm-motion-ready .rm-motion-card.is-visible { transform: none; }
  .rm-motion-card .catalog-product-card__media img,
  .rm-motion-card:hover .catalog-product-card__media img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-scroll-progress { box-shadow: none; }
  .rm-hero__content,.rm-hero__wall,.rm-motion-section,.rm-motion-heading > *,.rm-motion-card,.rm-motion-card * { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
  .rm-motion-heading::after,.rm-hero__trust li::after { display: none !important; }
}

/* Group-product picker must remain attached to the viewport. Section reveal
   transforms would otherwise turn its fixed overlay into a clipped local box. */
.rm-category-modal {
  position: fixed !important;
  z-index: 1100 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  isolation: isolate;
}
.rm-category-modal__backdrop {
  position: fixed !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
}
.rm-category-modal > div { position: relative; z-index: 1; min-height: 100dvh; }

/* Clean background finish --------------------------------------------------
   The footer stays visually structured by spacing and dividers, without the
   graph-paper texture. The Products page header blends into the storefront
   canvas with a soft accent wash instead of a visible grid-shaped region. */
.rm-footer::before { display: none !important; content: none !important; }
.rm-footer {
  background:
    radial-gradient(62% 95% at 4% 0%, rgba(var(--cl-accent), .09), transparent 66%),
    linear-gradient(145deg, rgba(var(--cl-card), .9), rgba(var(--cl-background), .98)) !important;
}
.rm-products-page { overflow: visible; }
.rm-products-page::before {
  inset: -32px 0 auto !important;
  height: clamp(360px, 48vw, 620px) !important;
  background: radial-gradient(ellipse at 50% 12%, rgba(var(--cl-accent), .095), transparent 62%) !important;
  background-size: auto !important;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.72) 55%, transparent 100%) !important;
          mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.72) 55%, transparent 100%) !important;
}

/* Footer brand interaction: quiet, stable and intentional. */
.rm-footer__brand {
  position: relative;
  padding: 5px 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.rm-footer__brand::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(var(--cl-accent)), rgba(var(--cl-accent), 0));
  content: '';
  opacity: 0;
  transform: scaleX(.35);
  transform-origin: left;
  transition: opacity .24s ease, transform .32s cubic-bezier(.2,.8,.2,1);
}
.rm-footer__brand-mark {
  transition: border-color .25s ease, box-shadow .25s ease, transform .3s cubic-bezier(.2,.8,.2,1);
}
.rm-footer__brand-name { transition: color .24s ease; }
.rm-footer__brand-tagline { transition: color .24s ease, letter-spacing .3s ease; }
.rm-footer__brand:hover::after,
.rm-footer__brand:focus-visible::after { opacity: .9; transform: scaleX(1); }
.rm-footer__brand:hover .rm-footer__brand-mark,
.rm-footer__brand:focus-visible .rm-footer__brand-mark { border-color: rgba(var(--cl-accent), .72); box-shadow: 0 10px 28px rgba(var(--cl-accent), .18), inset 0 1px 0 rgba(255,255,255,.14); transform: translateY(-1px) scale(1.025); }
.rm-footer__brand:hover .rm-footer__brand-name,
.rm-footer__brand:focus-visible .rm-footer__brand-name { color: rgb(var(--cl-accent)); }
.rm-footer__brand:hover .rm-footer__brand-tagline,
.rm-footer__brand:focus-visible .rm-footer__brand-tagline { color: rgba(var(--cl-t-primary), .68); letter-spacing: .125em; }
.rm-footer__brand:focus-visible { outline: 2px solid rgba(var(--cl-accent), .72); outline-offset: 8px; }
@media (prefers-reduced-motion: reduce) {
  .rm-footer__brand::after,.rm-footer__brand-mark,.rm-footer__brand-name,.rm-footer__brand-tagline { transition: none !important; }
  .rm-footer__brand:hover .rm-footer__brand-mark { transform: none; }
}

/* Social-growth chart bars use dedicated elements rather than empty icon tags,
   keeping every column present through every animation frame. */
.rm-social-growth__bars span {
  display: block;
  min-width: 8px;
  height: 38%;
  flex: 1 1 0;
  border-radius: 8px 8px 2px 2px;
  background: linear-gradient(180deg, rgb(var(--cl-accent)), rgba(var(--cl-accent), .3));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  opacity: 1;
  transform: scaleY(.88);
  transform-origin: bottom;
  animation: rmBarGrow 2.8s ease-in-out infinite alternate;
  will-change: transform;
}
.rm-social-growth__bars span:nth-child(2) { height: 52%; animation-delay: -.3s; }
.rm-social-growth__bars span:nth-child(3) { height: 44%; animation-delay: -.6s; }
.rm-social-growth__bars span:nth-child(4) { height: 66%; animation-delay: -.9s; }
.rm-social-growth__bars span:nth-child(5) { height: 58%; animation-delay: -1.2s; }
.rm-social-growth__bars span:nth-child(6) { height: 74%; animation-delay: -1.5s; }
.rm-social-growth__bars span:nth-child(7) { height: 68%; animation-delay: -1.8s; }
.rm-social-growth__bars span:nth-child(8) { height: 92%; animation-delay: -2.1s; }
@media (prefers-reduced-motion: reduce) {
  .rm-social-growth__bars span { animation: none !important; transform: none !important; }
}

/* Payment brand tooltip: a compact pill that appears from the icon itself. */
.rm-why-choose .rm-demo-payments__method { position: relative; overflow: visible; isolation: isolate; cursor: default; }
.rm-why-choose .rm-demo-payments__method:hover,
.rm-why-choose .rm-demo-payments__method:focus-visible { z-index: 12; outline: 0; }
.rm-why-choose .rm-demo-payments__label {
  position: absolute;
  z-index: 20;
  bottom: calc(100% + 9px);
  left: 50%;
  display: inline-flex !important;
  width: max-content;
  max-width: 150px;
  min-height: 27px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--payment-color) 48%, rgba(var(--cl-t-primary), .15));
  border-radius: 999px;
  background: rgb(var(--cl-card));
  box-shadow: 0 9px 26px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06);
  color: rgb(var(--cl-t-primary));
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1;
  opacity: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transform: translate(-50%, 5px) scale(.92);
  transform-origin: center bottom;
  pointer-events: none;
  transition: opacity .18s ease, transform .24s cubic-bezier(.2,.8,.2,1), border-color .18s ease;
}
.rm-why-choose .rm-demo-payments__label::after {
  position: absolute;
  right: 18%;
  bottom: 0;
  left: 18%;
  height: 1px;
  background: var(--payment-color);
  content: '';
  opacity: .8;
}
.rm-why-choose .rm-demo-payments__method:hover .rm-demo-payments__label,
.rm-why-choose .rm-demo-payments__method:focus-visible .rm-demo-payments__label {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}
.rm-why-choose .rm-demo-payments__method:focus-visible > i,
.rm-why-choose .rm-demo-payments__method:focus-visible > img { filter: drop-shadow(0 7px 10px color-mix(in srgb, var(--payment-color) 32%, transparent)); }
@media (prefers-reduced-motion: reduce) {
  .rm-why-choose .rm-demo-payments__label { transition: none !important; }
}
.rm-support-player__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.rm-support-player__action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  min-height: 38px;
  padding: 9px 12px;
  border: 1px solid rgba(var(--cl-accent), .36);
  border-radius: 9px;
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-accent));
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.rm-support-player__action:hover {
  border-color: rgb(var(--cl-accent));
  background: rgb(var(--cl-accent));
  color: rgb(var(--cl-t-accent));
  transform: translateY(-1px);
}

.rm-support-player__action:active { transform: translateY(0) scale(.985); }
.rm-invoice-support-button { text-decoration: none; }

.rm-support-discord__rail img {
  display: block;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .12);
}

.rm-why-choose__demo-copy--support {
  position: static;
  inset: auto;
  margin: 4px 0 0;
}

@media (max-width: 1080px) {
  .rm-header-shell { flex-wrap: wrap; gap: 9px; }
  .rm-header-nav { order: 3; flex-basis: 100%; width: 100%; }
  .rm-header-links {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .rm-header-links::-webkit-scrollbar { display: none; }
}

@media (max-width: 620px) {
  .rm-header { padding-inline: 10px; }
  .rm-header-shell { padding: 10px; }
  .rm-footer { margin-top: 48px; }
  .rm-footer__inner { padding-inline: 18px; }
  .rm-support-player__viewport { height: 250px; }
  .rm-support-player__actions { grid-template-columns: minmax(0, 1fr); }
  .rm-why-choose__demo-copy--support {
    position: static !important;
    margin: 5px 0 0 !important;
  }
}

/* ==========================================================================
   HEADER — true centering + shorter profile.

   The nav row previously only centered itself *within its own flex box*,
   and that box was the leftover gap between the brand and the stats/actions
   cluster. Because that cluster (~330-500px) is much wider than the brand
   (~140px), the leftover gap's midpoint sat well left of the header's real
   center, so the links visibly hugged the left side.

   Fix: give the brand and a single wrapper around stats+actions equal
   flex-grow with flex-basis 0, pinned to their own min-content width. Two
   equal-growth items on either side of an auto-sized center item is the
   standard trick for a nav that's centered in the *whole* bar, not just in
   whatever space its neighbours leave behind.
   ========================================================================== */
.rm-header-shell {
  min-height: 60px;
  padding: 8px 14px 8px 16px;
}

.rm-header-brand {
  flex: 1 1 0;
  min-width: max-content;
}

.rm-header-nav,
.rm-header-shell .rm-header-nav {
  /* Qualified with .rm-header-shell to out-specificity an existing
     `.rm-header-shell .rm-header-nav { flex: 1 1 auto; }` rule earlier in
     this file — a plain `.rm-header-nav` selector can never beat a
     two-class selector no matter where it sits in the cascade. */
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}

.rm-header-right {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: max-content;
}

.rm-header-link { min-height: 34px; padding: 0 10px; font-size: .72rem; }
.rm-header-cart { min-height: 34px; }
.rm-header-brand__logo { width: 32px; height: 32px; }
.rm-header-discord__trigger { min-height: 34px; min-width: 34px; }

@media (max-width: 1080px) {
  /* Below this width the nav still drops to its own full-width row (existing
     behaviour) — the equal-growth trick only applies once there's a single
     row to center within. */
  .rm-header-brand,
  .rm-header-right { flex: 0 0 auto; min-width: 0; }
  .rm-header-nav { flex-basis: 100%; }
}

/* Above 1281px an earlier rule switches the shell to CSS Grid with 4 fixed
   tracks (brand / nav / stats / actions) — written back when stats and
   actions were separate direct children. Wrapping them into .rm-header-right
   collapsed that to 3 real children, which broke that track mapping.

   Rather than re-balance the grid, take nav out of flow entirely: an
   equal-fr split (grid's or flexbox's version of the flex-basis:0 trick)
   only lands the middle item on the true center when both flanking groups
   share the same minimum width — brand (~140px) and stats+actions (~500px+)
   never do. Absolute-centering nav against the shell is exact regardless of
   how wide either side is; brand and the right group just need to clear
   enough space on their own edges, which the shell's real-world width does
   comfortably above this breakpoint. */
@media (min-width: 1281px) {
  .rm-header-shell {
    display: flex !important;
    position: relative;
    justify-content: space-between !important;
  }

  /* With nav out of flow (below), brand and the right group are the only
     two flex items left. They must stay sized to their own content instead
     of stretching to fill the leftover space — otherwise their boxes grow
     wide enough to underlap the centered nav even though the *visible*
     logo/links still hug the left edge and the *visible* stats/cart still
     hug the right edge, which reads as a real collision the moment either
     row's content is dense. */
  .rm-header-brand,
  .rm-header-right { flex: 0 0 auto !important; }

  .rm-header-nav {
    /* left/top intentionally NOT !important: script.js measures the brand
       and right-group on load/resize and sets an inline `left` to keep nav
       as close to true-center as it can get without overlapping either
       neighbour. An !important here would silently pin nav at 50% and make
       that inline override do nothing — this 50%/-50% pair is only the
       pre-JS fallback (and the position if JS fails to run at all). */
    position: absolute !important;
    left: 50%;
    top: 50%;
    width: max-content !important;
    max-width: calc(100% - 40px);
    margin: 0 !important;
    transform: translate(-50%, -50%);
  }
}

/* Header/page frame alignment: keep the bar inside the same centered column
   as the page content.  This intentionally replaces only the prior full-bleed
   spacing, without changing the navigation's existing centering behaviour. */
.rm-header.component {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

.rm-header.component > .rm-header-shell {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
}

/* ==========================================================================
   CONFIGURABLE MENU SHOWCASE — clean rewrite.

   .rm-demo-menu__tabs picked up ~5 overlapping redesigns over time. The
   active bug: an early rule sets `width: 0 !important` on the tab buttons;
   a later rule sets `flex: 0 0 auto !important`, which only touches the
   flex shorthand, not `width` itself — so the still-undefeated width:0 rule
   collapses every button to pure padding (16px, exactly two lots of 8px)
   with zero content box, which is why the labels never had anywhere to
   render even though their own text/color/opacity all computed as normal.

   Rather than chase one more property through that stack, this block is
   scoped under .rm-why-choose (an extra ancestor class the legacy rules
   don't have) so it outranks all of them on specificity alone, independent
   of source order, and !important where a legacy rule would otherwise tie.
   ========================================================================== */
.rm-why-choose .rm-demo-menu__tabs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
  overflow: visible !important;
  width: 100%;
  padding: 4px !important;
  border: 1px solid rgba(var(--cl-t-primary), .09);
  border-radius: 11px;
  background: rgba(var(--cl-background), .4);
}

.rm-why-choose .rm-demo-menu__tabs > button {
  position: relative;
  display: inline-flex !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: max-content !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px !important;
  padding: 6px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 8px;
  background: transparent !important;
  color: rgba(var(--cl-t-primary), .6) !important;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.rm-why-choose .rm-demo-menu__tabs > button:hover,
.rm-why-choose .rm-demo-menu__tabs > button:focus-visible {
  background: rgba(var(--cl-t-primary), .06) !important;
  color: rgb(var(--cl-t-primary)) !important;
  outline: 0;
}

.rm-why-choose .rm-demo-menu__tabs > button:focus-visible {
  box-shadow: 0 0 0 2px rgba(var(--cl-accent), .4);
}

.rm-why-choose .rm-demo-menu__tabs > button.is-active {
  border-color: rgba(var(--cl-accent), .38) !important;
  background: rgba(var(--cl-accent), .14) !important;
  color: rgb(var(--cl-accent)) !important;
}

/* The old design borrowed this pseudo-element for an underline indicator
   that no longer belongs to a pill-tab look. */
.rm-why-choose .rm-demo-menu__tabs > button.is-active::after {
  content: none !important;
}

.rm-why-choose .rm-demo-menu__tabs > button > i {
  /* Undoes an even older `.rm-demo-menu button i` rule that styled every
     icon inside any demo-menu button as an on/off toggle pill — harmless
     for actual toggle controls (which use .rm-demo-menu__switch, a
     different element) but it was quietly sizing these tab icons to
     34x18px pill shapes instead of showing the Font Awesome glyph. */
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(var(--cl-t-primary), .42);
  font-size: .76rem;
  line-height: 1;
  transition: color .18s ease;
}

.rm-why-choose .rm-demo-menu__tabs > button > i::after,
.rm-why-choose .rm-demo-menu__tabs > button > i::before {
  content: normal !important;
  display: none !important;
}

.rm-why-choose .rm-demo-menu__tabs > button.is-active > i {
  color: rgb(var(--cl-accent));
}

.rm-why-choose .rm-demo-menu__tabs > button > span {
  overflow: hidden;
  min-width: 0 !important;
  width: auto !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .rm-why-choose .rm-demo-menu__tabs > button {
    flex: 1 1 0 !important;
    padding: 6px 8px !important;
    font-size: .68rem;
  }

  .rm-why-choose .rm-demo-menu__tabs > button > i {
    font-size: .68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm-why-choose .rm-demo-menu__tabs > button,
  .rm-why-choose .rm-demo-menu__tabs > button > i { transition: none !important; }
}

/* ==========================================================================
   PRODUCTS FILTER TOOLBAR — compact rewrite.

   Search/Category/Price/Apply/Reset had all accumulated to a 48px control
   height (toolbar ~200px tall) across several earlier passes. This scopes
   under .rm-products-page (an extra ancestor class the earlier rules don't
   carry) to outrank them on specificity regardless of source order, and
   resets every control to one consistent, compact size.
   ========================================================================== */
.rm-products-page .rm-products-toolbar {
  padding: 9px !important;
  border-radius: 14px !important;
}

.rm-products-page .rm-products-toolbar__top {
  gap: 8px !important;
}

.rm-products-page .rm-products-field__label {
  font-size: .62rem !important;
  font-weight: 750;
  letter-spacing: .07em;
  color: rgba(var(--cl-t-primary), .48);
}

.rm-products-page .rm-products-field__control {
  min-height: 36px !important;
  height: 36px;
  padding: 0 11px !important;
  border-radius: 9px !important;
  font-size: .8rem;
}

.rm-products-page .rm-products-field__control input,
.rm-products-page .rm-products-field__control select {
  min-height: 34px;
  font-size: .8rem !important;
}

.rm-products-page .rm-products-search .rm-products-field__control svg {
  width: 15px !important;
  height: 15px !important;
}

.rm-products-page .rm-products-price__sep {
  font-size: .78rem;
}

/* Apply/Reset: previously a bright filled pill and a bordered pill at 48px,
   competing visually with real purchase CTAs elsewhere on the page for a
   filter action that doesn't deserve that much weight. Both are now compact,
   neutral, and only pick up the accent color on hover/focus. */
.rm-products-page .rm-products-toolbar__actions {
  align-self: end;
}

.rm-products-page .rm-products-toolbar__actions .rm-products-field__control--bare {
  height: 36px;
  padding: 0 !important;
  gap: 8px;
}

.rm-products-page .rm-products-toolbar__actions .rm-btn {
  min-height: 34px !important;
  height: 34px;
  padding: 0 14px !important;
  border-radius: 9px !important;
  font-size: .74rem !important;
  font-weight: 700;
  box-shadow: none !important;
}

.rm-products-page .rm-products-toolbar__actions .rm-btn i {
  font-size: .68rem;
}

.rm-products-page .rm-products-toolbar__actions .rm-btn--primary {
  background: rgba(var(--cl-t-primary), .07) !important;
  border: 1px solid rgba(var(--cl-t-primary), .14) !important;
  color: rgb(var(--cl-t-primary)) !important;
}

.rm-products-page .rm-products-toolbar__actions .rm-btn--primary:hover {
  border-color: rgba(var(--cl-accent), .5) !important;
  background: rgba(var(--cl-accent), .12) !important;
  color: rgb(var(--cl-accent)) !important;
  transform: translateY(-1px);
}

.rm-products-page .rm-products-toolbar__actions .rm-btn--ghost {
  background: transparent !important;
  border: 1px solid transparent !important;
  color: rgba(var(--cl-t-primary), .5) !important;
}

.rm-products-page .rm-products-toolbar__actions .rm-btn--ghost:hover {
  border-color: rgba(var(--cl-t-primary), .16) !important;
  background: rgba(var(--cl-t-primary), .05) !important;
  color: rgb(var(--cl-t-primary)) !important;
  transform: translateY(-1px);
}

.rm-products-page .rm-products-toolbar__browse {
  margin-top: 9px !important;
  padding-top: 9px !important;
}

.rm-products-page .rm-products-toolbar .premium-letter-filter__item {
  min-width: 27px !important;
  min-height: 27px !important;
  font-size: .66rem !important;
}

@media (max-width: 720px) {
  .rm-products-page .rm-products-toolbar__actions .rm-products-field__control--bare {
    height: auto;
  }
}

/* ==========================================================================
   HEADER — two-row premium layout.

   Row 1 (.rm-header-shell): brand + stats + utilities (discord, currency,
   language, account, cart). Row 2 (.rm-header-navbar): a dedicated
   full-width bar for the nav links plus a real product search — no longer
   squeezed into the same row as the logo, so it never needs the centering
   workaround the single-row layout required. The two rows are separate
   elements but share a background/border treatment with the radius and
   divider zeroed out between them, so they read as one continuous premium
   bar rather than two stacked cards — consistent with the rounded-card
   language used everywhere else in this theme, unlike the flat single-bar
   reference this was modeled on.

   All of this is scoped under .rm-header--two-row so the older single-row
   layout (nav_layout: "single-row" in the Visual Editor) is completely
   unaffected and keeps using the existing .rm-header-nav rules untouched.
   ========================================================================== */
.rm-header--two-row .rm-header-shell {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 1px solid rgba(var(--cl-t-primary), .07);
}

.rm-header--two-row .rm-header-brand__copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.rm-header--two-row .rm-header-brand__tagline {
  overflow: hidden;
  color: rgba(var(--cl-t-primary), .42);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.rm-header--two-row .rm-header-right {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.rm-header-account {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(var(--cl-t-primary), .13);
  border-radius: 9px;
  background: rgba(var(--cl-t-primary), .04);
  color: rgba(var(--cl-t-primary), .82);
  font-size: .76rem;
  font-weight: 700;
  white-space: nowrap;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.rm-header-account:hover,
.rm-header-account.is-active {
  border-color: rgba(var(--cl-accent), .45);
  background: rgba(var(--cl-accent), .12);
  color: rgb(var(--cl-accent));
  transform: translateY(-1px);
}

.rm-header-account i { font-size: .72rem; }

/* ---- row 2: nav bar ------------------------------------------------------ */
.rm-header-navbar {
  width: 100%;
  border: 1px solid rgba(var(--cl-t-primary), .12);
  border-top: 0;
  border-radius: 0 0 20px 20px;
  background: linear-gradient(120deg, rgba(var(--cl-card), .94), rgba(var(--cl-background), .78));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .16);
}

.rm-header-navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 9px 18px;
}

.rm-header-navbar__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.rm-header-navbar__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: rgba(var(--cl-t-primary), .68);
  font-size: .8rem;
  font-weight: 700;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.rm-header-navbar__link:hover,
.rm-header-navbar__link:focus-visible {
  border-color: rgba(var(--cl-t-primary), .1);
  background: rgba(var(--cl-t-primary), .055);
  color: rgb(var(--cl-t-primary));
  outline: 0;
  transform: translateY(-1px);
}

.rm-header-navbar__link.is-active {
  border-color: rgba(var(--cl-accent), .28);
  background: rgba(var(--cl-accent), .1);
  color: rgb(var(--cl-accent));
}

.rm-header-navbar__link > i {
  width: 13px;
  color: currentColor;
  font-size: .72rem;
  opacity: .72;
  transition: opacity .18s ease, transform .18s ease;
}

.rm-header-navbar__link:hover > i,
.rm-header-navbar__link.is-active > i { opacity: 1; }

.rm-header-navbar__search {
  display: flex;
  flex: 0 1 300px;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(var(--cl-t-primary), .1);
  border-radius: 9px;
  background: rgba(var(--cl-background), .5);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.rm-header-navbar__search:focus-within {
  border-color: rgba(var(--cl-accent), .5);
  background: rgba(var(--cl-accent), .06);
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .08);
}

.rm-header-navbar__search svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  color: rgba(var(--cl-t-primary), .48);
}

.rm-header-navbar__search:focus-within svg { color: rgb(var(--cl-accent)); }

.rm-header-navbar__search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: rgb(var(--cl-t-primary));
  font-size: .8rem;
}

.rm-header-navbar__search input::placeholder { color: rgba(var(--cl-t-primary), .38); }

/* Sticky mode wraps both rows so they move together instead of only the
   utility row sticking while the nav bar scrolls away underneath it. */
.rm-header--two-row.rm-header--sticky {
  position: sticky;
  top: 12px;
  z-index: 45;
  margin-bottom: 12px;
}

.rm-header--two-row.rm-header--sticky::before {
  position: absolute;
  z-index: -1;
  inset: -12px -16px;
  border-radius: 24px;
  background: linear-gradient(to bottom, rgb(var(--cl-background)) 28%, rgba(var(--cl-background), 0));
  content: '';
  pointer-events: none;
}

@media (max-width: 900px) {
  .rm-header-navbar__inner { flex-wrap: wrap; }
  .rm-header-navbar__search { flex: 1 1 100%; order: 2; }
  .rm-header-navbar__links { order: 1; }
}

@media (max-width: 620px) {
  .rm-header-navbar__inner { padding: 8px 10px; gap: 8px; }
  .rm-header-navbar__link { min-height: 32px; padding: 0 10px; font-size: .74rem; }
  .rm-header-navbar { border-radius: 0 0 16px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-header-account,
  .rm-header-navbar__link { transition: none !important; }
}

/* ==========================================================================
   HEADER — centering fix.
   The two-row shell distributes brand left, stats in the gap, and the
   utilities cluster right. Without explicit centering the right-side cluster
   is much wider than the brand, pulling the visual center rightward.
   Fix: space-between on the shell so brand anchors left, right anchors right,
   and stats sit naturally in the middle. The nav bar (row 2) centers its
   links within the row for balanced presentation.
   ========================================================================== */
.rm-header--two-row .rm-header-shell {
  justify-content: space-between;
}
.rm-header--two-row .rm-header-stats {
  margin-inline: auto;
}
.rm-header-navbar__links {
  flex: 1 1 0;
  justify-content: center;
}

/* ==========================================================================
   MOBILE HERO — visible card separation.
   On desktop the accent glow and product wall create visual depth. On mobile
   neither is prominent, so the hero text blends into the page background.
   Fix: wrap the hero inner in a card surface on mobile so it reads as a
   distinct section rather than floating text.
   ========================================================================== */
@media (max-width: 1024px) {
  .rm-hero__inner {
    padding: 30px 24px 28px;
    border: 1px solid rgba(var(--cl-t-primary), .09);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(var(--cl-card), .78), rgba(var(--cl-background), .46));
    box-shadow: 0 18px 42px rgba(0, 0, 0, .12);
  }
  .rm-hero__glow {
    top: -20%;
    right: -18%;
    width: 90%;
    height: 110%;
    opacity: .55;
    filter: blur(26px);
  }
}
@media (max-width: 620px) {
  .rm-hero__inner {
    padding: 24px 18px 22px;
    border-radius: 16px;
  }
}

/* ==========================================================================
   REVIEWS MARQUEE — two animated rows of mini review cards.
   Top row scrolls left, bottom row scrolls right. Each track is duplicated
   4× so a -25% translate loops seamlessly.
   ========================================================================== */
.rm-reviews-marquee__inner {
  max-width: 1400px;
  margin-inline: auto;
  overflow: hidden;
}

.rm-reviews-marquee__header {
  max-width: 640px;
  margin: 0 auto 36px;
  text-align: center;
}

.rm-reviews-marquee__header h2 {
  margin: 10px 0 0;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
}

.rm-reviews-marquee__header p {
  margin-top: 10px;
  color: rgba(var(--cl-t-primary), .55);
  font-size: .88rem;
  line-height: 1.6;
}

.rm-reviews-marquee__rows {
  display: grid;
  gap: 16px;
}

.rm-marquee-row {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.rm-marquee-track {
  display: flex;
  gap: 16px;
  width: max-content;
  will-change: transform;
}

.rm-marquee-row--left .rm-marquee-track {
  animation: rm-marquee-left var(--rm-marquee-speed, 40s) linear infinite;
}

.rm-marquee-row--right .rm-marquee-track {
  animation: rm-marquee-right var(--rm-marquee-speed, 40s) linear infinite;
}

.rm-reviews-marquee--pausable:hover .rm-marquee-track {
  animation-play-state: paused;
}

@keyframes rm-marquee-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-25%); }
}

@keyframes rm-marquee-right {
  0%   { transform: translateX(-25%); }
  100% { transform: translateX(0); }
}

/* ---- marquee card -------------------------------------------------------- */
.rm-marquee-card {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 310px;
  padding: 18px 20px;
  border: 1px solid rgba(var(--cl-t-primary), .08);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(var(--cl-card), .82), rgba(var(--cl-background), .48));
  box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.rm-marquee-card:hover {
  border-color: rgba(var(--cl-accent), .22);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
  transform: translateY(-2px);
}

.rm-marquee-card__stars {
  display: flex;
  gap: 3px;
  color: #f6b735;
  font-size: .72rem;
}

.rm-marquee-card__text {
  flex: 1 1 auto;
  margin: 0;
  overflow: hidden;
  color: rgba(var(--cl-t-primary), .72);
  font-size: .78rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.rm-marquee-card__product {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding-top: 10px;
  border-top: 1px solid rgba(var(--cl-t-primary), .07);
}

.rm-marquee-card__product img {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 8px;
  object-fit: cover;
  background: rgba(var(--cl-t-primary), .06);
}

.rm-marquee-card__product i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 8px;
  background: rgba(var(--cl-t-primary), .06);
  color: rgba(var(--cl-t-primary), .35);
  font-size: .7rem;
}

.rm-marquee-card__product span {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: rgba(var(--cl-t-primary), .85);
  font-size: .7rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 620px) {
  .rm-reviews-marquee__rows { gap: 12px; }
  .rm-marquee-card { width: 260px; padding: 14px 16px; border-radius: 14px; }
  .rm-marquee-card__text { font-size: .74rem; -webkit-line-clamp: 2; }
  .rm-marquee-card__product img,
  .rm-marquee-card__product i { width: 26px; height: 26px; flex-basis: 26px; border-radius: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm-marquee-track { animation: none !important; }
}

/* ---- SVG flag inside language selector ----------------------------------- */
.rm-language-flag svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Premium group picker: opaque, spacious, and based on the chosen product. */
.rm-category-modal { z-index: 1000 !important; isolation: isolate; overscroll-behavior: contain; }
.rm-category-modal__backdrop { background: rgba(3, 5, 8, .88) !important; backdrop-filter: blur(12px) saturate(.82); -webkit-backdrop-filter: blur(12px) saturate(.82); }
.rm-category-modal > div { min-height: 100dvh; padding: 24px !important; }
.rm-category-modal .w-full.max-w-5xl { width: min(1040px, calc(100vw - 48px)) !important; max-width: 1040px !important; }
.rm-category-modal__shell { display: grid; max-height: calc(100dvh - 48px); grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .16); border-radius: 22px; background: rgb(var(--cl-card)); box-shadow: 0 32px 100px rgba(0, 0, 0, .62), 0 0 0 1px rgba(0, 0, 0, .2); }
.rm-category-modal__topbar { height: 76px; padding: 13px 22px; background: rgb(var(--cl-card)); }
.rm-category-modal__top-image { width: 46px; height: 46px; border-radius: 12px; background: rgb(var(--cl-background)); }
.rm-category-modal__top-image img { object-fit: contain; }
.rm-category-modal__topbar strong { font-size: 1rem; }
.rm-category-modal__topbar small { font-size: .72rem; }
.rm-category-modal__close { width: 34px; height: 34px; background: rgb(var(--cl-background)); font-size: .8rem; }
.rm-category-modal__body { min-height: 0; grid-template-columns: minmax(310px, .86fr) minmax(0, 1.34fr); background: rgb(var(--cl-card)); }
.rm-category-modal__feature { display: flex; min-height: 0; flex-direction: column; padding: 26px; border-right: 1px solid rgba(var(--cl-t-primary), .1); background: radial-gradient(circle at 50% 0, rgba(var(--cl-accent), .13), transparent 47%), rgb(var(--cl-background)); }
.rm-category-modal__feature-image { width: 100%; min-height: 0; aspect-ratio: 1 / 1; margin: 0 0 20px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 16px; background: rgba(0, 0, 0, .28); }
.rm-category-modal__feature-media { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; }
.rm-category-modal__feature-image img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.rm-category-modal__feature-image i { color: rgb(var(--cl-accent)); }
.rm-category-modal__summary { position: relative; min-height: 154px; }
.rm-category-modal__summary .rm-category-modal__selected-copy { position: absolute; inset: 0; display: flex; min-height: 0; flex-direction: column; }
.rm-category-modal__kicker { color: rgb(var(--cl-accent)); font-size: .65rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rm-category-modal__feature h3 { margin: 8px 0 8px; font-size: 1.12rem; line-height: 1.25; }
.rm-category-modal__availability { font-size: .72rem; }
.rm-category-modal__selected-price { margin-top: 13px; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.1; }
.rm-category-modal__view { width: fit-content; min-height: 38px; align-items: center; margin-top: auto; padding: 0 13px; border: 1px solid rgba(var(--cl-accent), .55); border-radius: 9px; background: rgba(var(--cl-accent), .1); color: rgb(var(--cl-accent)); }
.rm-category-modal__view:hover { gap: 9px; border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); }
.rm-category-modal__choices { min-height: 0; padding: 28px 30px 24px; overflow: auto; background: rgb(var(--cl-card)); }
.rm-category-modal__heading { margin-bottom: 17px; }
.rm-category-modal__heading span { font-size: 1rem; }
.rm-category-modal__heading p { margin-top: 5px; font-size: .74rem; }
.rm-category-modal__list { gap: 11px; overflow: visible; }
.rm-category-choice { grid-template-columns: 52px minmax(0, 1fr) auto 24px; min-height: 72px; gap: 13px; padding: 9px; border-radius: 12px; background: rgb(var(--cl-background)); }
.rm-category-choice__image { width: 52px; height: 52px; border-radius: 10px; }
.rm-category-choice__image img { object-fit: contain; }
.rm-category-choice__copy strong { font-size: .84rem; }
.rm-category-choice__copy small { font-size: .69rem; }
.rm-category-choice__price { font-size: .82rem; }
.rm-category-modal__note { flex: 0 0 auto; margin-top: 18px; padding: 13px 14px; border-radius: 11px; background: rgb(var(--cl-background)); font-size: .69rem; }
.rm-category-modal__action { display: none; }
.rm-category-modal__benefits { padding: 13px 22px; background: rgb(var(--cl-card)); font-size: .68rem; }

/* Home reviews intentionally reuse the exact review-page card anatomy. */
.rm-marquee-card.rm-reviews__card { width: 330px; min-height: 154px; gap: 11px; border-color: var(--rm-line); border-radius: 15px; background: rgba(var(--cl-card), .78); padding: 17px 18px; }
.rm-marquee-card.rm-reviews__card:hover { border-color: rgba(var(--cl-accent), .28); box-shadow: 0 18px 40px -30px rgba(0, 0, 0, .95); }
.rm-marquee-card .rm-reviews__card-top time { color: rgba(var(--cl-t-primary), .38); font-size: .68rem; }
.rm-marquee-card .rm-reviews__message { flex: 1 1 auto; font-size: .85rem; }
.rm-marquee-card .rm-reviews__card-foot { margin-top: auto; }

@media (max-width: 760px) {
  .rm-category-modal > div { align-items: flex-start !important; padding: 10px !important; }
  .rm-category-modal .w-full.max-w-5xl { width: min(620px, calc(100vw - 20px)) !important; }
  .rm-category-modal__shell { max-height: calc(100dvh - 20px); border-radius: 17px; }
  .rm-category-modal__topbar { height: 64px; padding: 10px 14px; }
  .rm-category-modal__top-image { width: 40px; height: 40px; }
  .rm-category-modal__body { display: block; overflow: auto; }
  .rm-category-modal__feature { display: block; padding: 18px; border-right: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .1); }
  .rm-category-modal__feature-image { width: min(100%, 300px); margin: 0 auto 18px; }
  .rm-category-modal__summary { min-height: 135px; }
  .rm-category-modal__choices { padding: 19px 18px; overflow: visible; }
  .rm-category-choice { grid-template-columns: 46px minmax(0, 1fr) 22px; min-height: 66px; gap: 10px; }
  .rm-category-choice__image { width: 46px; height: 46px; }
  .rm-category-choice__price { grid-column: 2; grid-row: 2; font-size: .73rem; }
  .rm-category-choice__check { grid-column: 3; grid-row: 1 / span 2; }
  .rm-category-modal__note { margin-top: 14px; }
  .rm-category-modal__benefits { justify-content: flex-start; padding: 11px 15px; }
  .rm-marquee-card.rm-reviews__card { width: 280px; min-height: 148px; padding: 14px 16px; border-radius: 14px; }
  .rm-marquee-card .rm-reviews__message { font-size: .78rem; }
}

/* Group picker refinement: less boxed chrome and a fuller left product story. */
.rm-category-modal__topbar { border-bottom: 0; background: linear-gradient(100deg, rgb(var(--cl-card)), rgba(var(--cl-background), .18)); }
.rm-category-modal__feature-image { aspect-ratio: 4 / 3; border-block: 0; border-inline-color: transparent; border-radius: 15px; background: transparent; }
.rm-category-modal__feature-media { border-radius: 15px; background: rgba(0, 0, 0, .25); box-shadow: 0 16px 35px rgba(0, 0, 0, .18); }
.rm-category-modal__feature { padding-bottom: 22px; }
.rm-category-modal__feature { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.rm-category-modal__summary { min-height: 218px; }
.rm-category-modal__summary .rm-category-modal__selected-copy { gap: 0; }
.rm-category-modal__feature h3 { max-width: 26ch; margin-top: 7px; }
.rm-category-modal__status { display: inline-flex; width: fit-content; align-items: center; gap: 6px; margin-top: 10px; padding: 5px 8px; border-radius: 999px; background: rgba(var(--cl-accent), .1); color: rgba(var(--cl-t-primary), .58); font-size: .62rem; font-weight: 700; }
.rm-category-modal__status > i { color: rgb(var(--cl-accent)); }
.rm-category-modal__status strong { color: rgb(var(--cl-t-primary)); font-weight: 800; }
.rm-category-modal__status.is-out { background: rgba(var(--cl-t-primary), .07); }
.rm-category-modal__status.is-out > i { color: rgba(var(--cl-t-primary), .5); }
.rm-category-modal__selected-price { margin-top: 12px; }
.rm-category-modal__view { position: relative; z-index: 1; min-height: 40px; margin-top: 14px; flex: 0 0 auto; padding: 0 15px; box-shadow: 0 8px 20px rgba(var(--cl-accent), .12); }
.rm-category-modal__close { width: 40px; height: 40px; border-color: rgba(var(--cl-t-primary), .2); background: rgba(var(--cl-t-primary), .07); color: rgb(var(--cl-t-primary)); font-size: .9rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
.rm-category-modal__close:hover { border-color: rgb(var(--cl-accent)); background: rgba(var(--cl-accent), .16); color: rgb(var(--cl-accent)); box-shadow: 0 0 0 4px rgba(var(--cl-accent), .1); }
.rm-category-choice__image { border-block: 0; background: transparent; }
.rm-category-modal__benefits span:last-child i { color: rgb(var(--cl-accent)); }

@media (max-height: 760px) and (min-width: 761px) {
  .rm-category-modal__feature-image { max-height: 30dvh; aspect-ratio: 4 / 3; }
  .rm-category-modal__summary { min-height: 218px; }
}

@media (max-width: 760px) {
  .rm-category-modal__feature-image { aspect-ratio: 16 / 10; }
  .rm-category-modal__summary { min-height: 218px; }
  .rm-category-modal__view { margin-top: 14px; }
}

/* Google Translate's legacy banner is not part of the storefront UI. */
iframe.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover { display: none !important; visibility: hidden !important; }
body { top: 0 !important; }
.goog-text-highlight { background: inherit !important; box-shadow: none !important; }

/* Keep the selected-product action in document flow so it cannot be clipped
   by a fixed summary height or the modal's benefits footer. */
.rm-category-modal__feature { padding-bottom: 30px; }
.rm-category-modal__summary { position: static; min-height: 0; }
.rm-category-modal__summary .rm-category-modal__selected-copy { position: relative; inset: auto; min-height: 0; }
.rm-category-modal__view { margin-bottom: 4px; }

/* Desktop feature panel: a contained product card, never a scroll region. */
@media (min-width: 761px) {
  .rm-category-modal__feature { overflow: hidden; padding: 20px 26px 22px; }
  .rm-category-modal__feature-image { aspect-ratio: 16 / 9; margin-bottom: 16px; }
  .rm-category-modal__feature h3 { margin: 5px 0 6px; font-size: 1.04rem; }
  .rm-category-modal__status { margin-top: 8px; }
  .rm-category-modal__selected-price { margin-top: 10px; font-size: clamp(1.18rem, 1.7vw, 1.48rem); }
  .rm-category-modal__view { min-height: 38px; margin-top: 11px; }
}

/* Left panel hierarchy: one concise availability line, then the action. */
.rm-category-modal__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; margin-top: 11px; }
.rm-category-modal__meta .rm-category-modal__availability { margin: 0; }
.rm-category-modal__meta .rm-category-modal__status { margin: 0; }
.rm-category-modal__view { min-width: 132px; justify-content: center; margin-top: 16px; border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-weight: 800; }
.rm-category-modal__view:hover { background: rgba(var(--cl-accent), .82); color: rgb(var(--cl-t-accent)); }
.rm-category-modal__price-inline { display: block; margin-top: 4px; color: rgba(var(--cl-t-primary), .62); font-size: .72rem; font-weight: 750; line-height: 1.3; }

/* Both Alpine transition states occupy the same layer: no duplicate selected
   product copy can appear beneath the outgoing action during a switch. */
.rm-category-modal__summary { position: relative; min-height: 144px; }
.rm-category-modal__summary .rm-category-modal__selected-copy { position: absolute; inset: 0; }

@media (max-width: 760px) {
  .rm-category-modal__meta { margin-top: 10px; }
  .rm-category-modal__view { margin-top: 14px; }
  .rm-category-modal__summary { min-height: 150px; }
}

/* Compact price detail: it belongs between the name and availability without
   expanding the card below its fixed visual rhythm. */
@media (min-width: 761px) {
  .rm-category-modal__feature-image { aspect-ratio: 21 / 10; margin-bottom: 11px; }
  .rm-category-modal__feature h3 { margin: 3px 0 0; line-height: 1.18; }
  .rm-category-modal__price-inline { margin-top: 2px; font-size: .62rem; line-height: 1.15; }
  .rm-category-modal__meta { margin-top: 8px; }
  .rm-category-modal__view { min-height: 36px; margin-top: 12px; }
  .rm-category-modal__summary { min-height: 132px; }
}

/* Why Choose Us: payment showcase is intentionally just accurate brand art. */
.rm-why-choose__demo:has(.rm-demo-payments) { display: flex; min-height: 360px; align-items: center; justify-content: center; }
.rm-why-choose__demo:has(.rm-demo-payments) .rm-why-choose__demo-topline { display: none; }
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments { width: min(430px, 100%); margin: 0; }
.rm-why-choose .rm-demo-payments__methods { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.rm-why-choose .rm-demo-payments__method { display: grid; width: 78px; min-height: 58px; padding: 0; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 14px; background: rgba(var(--cl-card), .72); }
.rm-why-choose .rm-demo-payments__method > i { width: auto; height: auto; border-radius: 0; background: transparent; font-size: 2rem; filter: none; }
.rm-why-choose .rm-demo-payments__method b,.rm-why-choose .rm-demo-payments__method small { display: none; }
.rm-why-choose .rm-demo-payments__method.is-selected { border-color: var(--payment-color); background: color-mix(in srgb, var(--payment-color) 11%, rgba(var(--cl-card), .8)); box-shadow: 0 10px 25px color-mix(in srgb, var(--payment-color) 17%, transparent); }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="visa"] { --payment-color: #1a4f9f; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="mastercard"] { --payment-color: #eb001b; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="paypal"] { --payment-color: #0070e0; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="apple-pay"] { --payment-color: #f5f5f7; }

/* Feature descriptions now read as a consistent, calm supporting note. */
.rm-why-choose__tab small { margin-top: 5px; color: rgba(var(--cl-t-primary), .52); font-size: .71rem; line-height: 1.45; }
.rm-why-choose__demo-copy { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border: 1px solid rgba(var(--cl-t-primary), .08); border-radius: 10px; background: rgba(var(--cl-background), .28); color: rgba(var(--cl-t-primary), .64); font-size: .72rem; font-weight: 600; line-height: 1.45; }
.rm-why-choose__demo-copy > i { flex: 0 0 auto; margin-top: 2px; color: rgb(var(--cl-accent)); font-size: .66rem; }
.rm-why-choose__demo-copy--support { margin-top: 10px; }

@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) { min-height: 260px; }
  .rm-why-choose .rm-demo-payments__methods { gap: 10px; }
  .rm-why-choose .rm-demo-payments__method { width: 66px; min-height: 52px; }
  .rm-why-choose .rm-demo-payments__method > i { font-size: 1.7rem; }
}

/* Discord support flow: cursor reaches the ticket action, clicks, then the
   channel, confirmation, and human reply arrive in a clear sequence. */
.rm-support-cursor--discord { top: 51%; left: 36%; animation: rmDiscordCursorRefined 8s cubic-bezier(.36,0,.2,1) infinite; }
.rm-discord-support-button { animation: rmDiscordButtonRefined 8s ease-in-out infinite; }
.rm-discord-message__avatar--staff { background: linear-gradient(135deg, #5b6cff, #8f5cff); color: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,.07); }
.rm-discord-message__avatar--staff i { font-size: .62rem; }
.rm-discord-message--bot-response { opacity: 0; transform: translateY(7px); animation: rmDiscordBotArrival 8s cubic-bezier(.2,.8,.2,1) infinite; }
.rm-discord-message--staff-response { opacity: 0; transform: translateY(7px); animation: rmDiscordStaffArrival 8s cubic-bezier(.2,.8,.2,1) infinite; }

@keyframes rmDiscordCursorRefined {
  0%,10% { opacity: 0; transform: translate(112px, 48px) scale(.92); }
  18% { opacity: 1; }
  33%,39% { opacity: 1; transform: translate(0, 0) scale(1); }
  42% { opacity: 1; transform: translate(1px, 2px) scale(.76); }
  45% { opacity: 0; transform: translate(1px, 2px) scale(.76); }
  100% { opacity: 0; transform: translate(112px, 48px) scale(.92); }
}
@keyframes rmDiscordButtonRefined {
  0%,32%,100% { filter: brightness(1); box-shadow: 0 0 0 0 rgba(88,101,242,0); transform: scale(1); }
  38% { filter: brightness(1.14); box-shadow: 0 0 0 4px rgba(88,101,242,.18); transform: scale(.97); }
  44% { filter: brightness(1); box-shadow: 0 0 0 0 rgba(88,101,242,0); transform: scale(1); }
}
@keyframes rmDiscordBotArrival {
  0%,50% { opacity: 0; transform: translateY(7px); }
  56%,88% { opacity: 1; transform: translateY(0); }
  97%,100% { opacity: 0; transform: translateY(7px); }
}
@keyframes rmDiscordStaffArrival {
  0%,59% { opacity: 0; transform: translateY(7px); }
  66%,88% { opacity: 1; transform: translateY(0); }
  97%,100% { opacity: 0; transform: translateY(7px); }
}

@media (max-width: 560px) {
  .rm-support-cursor--discord { top: 51%; left: 48%; }
}

/* PDP payment strip: separate from checkout and true to each payment brand. */
.rm-pdp__buy + .rm-paywall { margin-top: 16px; }
.rm-paywall { border: 1px solid rgba(var(--cl-t-primary), .1); background: linear-gradient(135deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .62)); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.rm-paywall__list { gap: 9px; }
.rm-paywall__chip { --payment-color: rgba(var(--cl-t-primary), .8); border-color: color-mix(in srgb, var(--payment-color) 28%, rgba(var(--cl-t-primary), .12)); background: color-mix(in srgb, var(--payment-color) 8%, rgba(var(--cl-background), .58)); color: var(--payment-color); }
.rm-paywall__chip:hover { border-color: var(--payment-color); background: color-mix(in srgb, var(--payment-color) 15%, rgba(var(--cl-background), .58)); color: var(--payment-color); box-shadow: 0 7px 16px color-mix(in srgb, var(--payment-color) 18%, transparent); }
.rm-paywall__chip[data-payment-provider="visa"] { --payment-color: #1a4f9f; }
.rm-paywall__chip[data-payment-provider="mastercard"] { --payment-color: #eb001b; }
.rm-paywall__chip[data-payment-provider="paypal"] { --payment-color: #0070e0; }
.rm-paywall__chip[data-payment-provider="apple-pay"] { --payment-color: #f5f5f7; }
.rm-paywall__chip[data-payment-provider="american-express"],.rm-paywall__chip[data-payment-provider="amex"] { --payment-color: #2e77bc; }
.rm-paywall__chip[data-payment-provider="google-pay"] { --payment-color: #4285f4; }
.rm-paywall__chip[data-payment-provider="stripe"] { --payment-color: #635bff; }
.rm-paywall__chip[data-payment-provider="bitcoin"] { --payment-color: #f7931a; }
.rm-paywall__chip[data-payment-provider="ethereum"] { --payment-color: #8a92b2; }
.rm-paywall__chip[data-payment-provider="usdt"],.rm-paywall__chip[data-payment-provider="tether"] { --payment-color: #26a17b; }

@media (max-width: 760px) { .rm-pdp__buy + .rm-paywall { margin-top: 12px; } }

/* Featured carousel: phone-first coverflow sizing with no clipped actions. */
@media (max-width: 720px) {
  .rm-featured { padding-block: 30px 38px; }
  .rm-featured__head { gap: 0; margin-bottom: 22px; }
  .rm-featured__head h2 { margin-top: 10px; font-size: clamp(1.45rem, 7vw, 1.9rem); }
  .rm-featured__head p { margin-top: 8px; font-size: .8rem; line-height: 1.5; }
  .rm-coverflow { display: block; }
  .rm-cf__viewport { width: 100%; height: 500px; overflow: hidden; }
  .rm-cf__card { width: min(312px, calc(100vw - 64px)); margin-left: calc(min(312px, calc(100vw - 64px)) / -2); }
  .rm-cf__media { aspect-ratio: 16 / 10; }
  .rm-cf__body { padding: 12px 13px 14px; }
  .rm-cf__body h3 { margin-top: 6px; font-size: .94rem; line-height: 1.25; }
  .rm-cf__price { margin-top: 7px; font-size: 1rem; }
  .rm-cf__actions { gap: 7px; margin-top: 11px; }
  .rm-cf__actions > * { min-width: 0; padding-inline: 8px; font-size: .61rem; white-space: nowrap; }
  .rm-cf__arrow { position: absolute; z-index: 5; top: 50%; width: 36px; height: 36px; transform: translateY(-50%); }
  .rm-cf__arrow--prev { left: 0; }
  .rm-cf__arrow--next { right: 0; }
  .rm-cf__arrow:hover { transform: translateY(-50%) scale(1.05); }
  .rm-cf__dots { margin-top: 18px; }
  .rm-featured__foot { margin-top: 20px; }
}

@media (max-width: 480px) {
  .rm-cf__viewport { height: 510px; }
  .rm-cf__card { width: min(304px, calc(100vw - 52px)); margin-left: calc(min(304px, calc(100vw - 52px)) / -2); }
  .rm-cf__actions { display: grid; grid-template-columns: 1fr; gap: 7px; }
  .rm-cf__actions > * { width: 100%; min-height: 34px; justify-content: center; padding-inline: 10px; font-size: .65rem; }
  .rm-cf__arrow { width: 34px; height: 34px; }
}

@media (min-width: 721px) and (max-width: 1024px) {
  .rm-cf__viewport { height: 480px; }
  .rm-cf__card { width: min(320px, 62vw); margin-left: calc(min(320px, 62vw) / -2); }
}

/* Product selector on phones: compact, touch-first, and fully contained. */
@media (max-width: 760px) {
  .rm-category-modal { overflow: hidden; }
  .rm-category-modal > div { min-height: 100dvh; align-items: center !important; padding: 10px !important; }
  .rm-category-modal .w-full.max-w-5xl { width: calc(100vw - 20px) !important; max-width: 540px !important; }
  .rm-category-modal__shell { max-height: calc(100dvh - 20px); border-radius: 18px; }
  .rm-category-modal__topbar { height: 62px; min-height: 62px; padding: 10px 12px; }
  .rm-category-modal__top-image { width: 38px; height: 38px; }
  .rm-category-modal__topbar strong { font-size: .88rem; }
  .rm-category-modal__topbar small { font-size: .62rem; }
  .rm-category-modal__close { width: 38px; height: 38px; }
  .rm-category-modal__body { display: block; min-width: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .rm-category-modal__feature { display: block; min-width: 0; padding: 14px; overflow: visible; border-right: 0; border-bottom: 1px solid rgba(var(--cl-t-primary), .1); }
  .rm-category-modal__feature-image { width: 100%; height: clamp(122px, 38vw, 154px); min-height: 0; margin: 0 0 12px; aspect-ratio: auto; }
  .rm-category-modal__summary { position: relative; min-height: 156px; }
  .rm-category-modal__summary .rm-category-modal__selected-copy { position: absolute; inset: 0; min-height: 0; overflow: hidden; }
  .rm-category-modal__kicker { font-size: .57rem; }
  .rm-category-modal__feature h3 { margin: 4px 0 0; max-width: none; font-size: .96rem; line-height: 1.2; }
  .rm-category-modal__price-inline { margin-top: 2px; font-size: .62rem; line-height: 1.2; }
  .rm-category-modal__meta { gap: 6px 8px; margin-top: 8px; }
  .rm-category-modal__availability { font-size: .65rem; }
  .rm-category-modal__status { padding: 4px 7px; font-size: .55rem; }
  .rm-category-modal__view { width: 100%; min-height: 42px; justify-content: center; margin-top: 11px; margin-bottom: 0; padding-inline: 12px; font-size: .69rem; }
  .rm-category-modal__choices { min-width: 0; padding: 16px 14px 18px; overflow: visible; }
  .rm-category-modal__heading { margin-bottom: 11px; }
  .rm-category-modal__heading span { font-size: .92rem; }
  .rm-category-modal__heading p { margin-top: 3px; font-size: .66rem; }
  .rm-category-modal__list { gap: 9px; }
  .rm-category-choice { grid-template-columns: 44px minmax(0, 1fr) 20px; grid-template-rows: auto auto; min-height: 74px; gap: 2px 9px; padding: 8px; }
  .rm-category-choice__image { width: 44px; height: 44px; grid-row: 1 / span 2; }
  .rm-category-choice__copy { align-self: end; gap: 1px; }
  .rm-category-choice__copy strong { font-size: .72rem; }
  .rm-category-choice__copy small { font-size: .57rem; }
  .rm-category-choice__price { grid-column: 2; grid-row: 2; align-self: start; font-size: .63rem; }
  .rm-category-choice__check { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
  .rm-category-modal__note { margin-top: 11px; padding: 10px 11px; font-size: .61rem; }
  .rm-category-modal__benefits { min-width: 0; gap: 12px; padding: 10px 12px; overflow-x: auto; font-size: .56rem; }
  .rm-category-modal__benefits span { flex: 0 0 auto; }
}

@media (max-width: 380px), (max-height: 700px) and (max-width: 760px) {
  .rm-category-modal__feature-image { height: 112px; }
  .rm-category-modal__summary { min-height: 150px; }
  .rm-category-modal__feature { padding: 12px; }
  .rm-category-modal__view { min-height: 40px; }
}

/* Final mobile selector composition: the primary action is deliberately
   outside the animated summary, so it can never be cropped mid-transition. */
.rm-category-modal__mobile-action { padding-top: 12px; }
.rm-category-modal__mobile-action .rm-category-modal__view { display: inline-flex; }
@media (min-width: 761px) {
  .rm-category-modal__mobile-action { padding-top: 14px; }
}
@media (max-width: 760px) {
  .rm-category-modal__summary { min-height: 112px !important; }
  .rm-category-modal__summary .rm-category-modal__selected-copy { overflow: hidden !important; }
  .rm-category-modal__mobile-action { padding-top: 10px; }
  .rm-category-modal__mobile-action .rm-category-modal__view { display: flex; width: 100%; min-height: 42px; margin: 0; justify-content: center; }
  .rm-category-modal__benefits { overflow: hidden !important; white-space: nowrap; }
  .rm-category-modal__benefits span:nth-child(3) { display: none; }
}

/* The phone carousel has one primary action; this avoids a cramped pair of
   desktop buttons and gives Choose Options its complete card width. */
@media (max-width: 720px) {
  .rm-cf__viewport { height: 460px !important; }
  .rm-cf__card { width: min(292px, calc(100vw - 68px)) !important; margin-left: calc(min(292px, calc(100vw - 68px)) / -2) !important; }
  .rm-cf__media { aspect-ratio: 16 / 9 !important; }
  .rm-cf__actions { display: block !important; margin-top: 10px !important; }
  .rm-cf__actions > :first-child { display: none !important; }
  .rm-cf__actions > :last-child { display: flex !important; width: 100%; min-height: 38px; align-items: center; justify-content: center; padding-inline: 10px !important; font-size: .66rem !important; white-space: nowrap; }
}

/* Phone selector: compose a genuine single-column flow rather than squeezing
   the desktop card into a short modal.  The panel itself never scrolls
   sideways; only the body can scroll when a group has many options. */
.rm-category-choice__price--mobile { display: none; }
@media (max-width: 760px) {
  .rm-category-modal > div { align-items: center !important; padding: 8px !important; }
  .rm-category-modal .w-full.max-w-5xl { width: calc(100vw - 16px) !important; }
  .rm-category-modal__shell { display: flex; max-height: calc(100dvh - 16px) !important; flex-direction: column; overflow: hidden; }
  .rm-category-modal__topbar { flex: 0 0 58px; height: 58px; min-height: 58px; }
  .rm-category-modal__body { display: block; flex: 1 1 auto; min-height: 0; overflow-x: hidden !important; overflow-y: auto !important; }
  .rm-category-modal__feature { display: block; padding: 12px 14px; }
  .rm-category-modal__feature-image { height: clamp(94px, 28vw, 118px); margin-bottom: 9px; }
  .rm-category-modal__summary { min-height: 76px !important; height: 76px; }
  .rm-category-modal__kicker { font-size: .53rem; line-height: 1; }
  .rm-category-modal__feature h3 { margin-top: 3px; font-size: .89rem; line-height: 1.12; }
  .rm-category-modal__price-inline { margin-top: 1px; font-size: .59rem; line-height: 1.1; }
  .rm-category-modal__meta { gap: 5px 7px; margin-top: 6px; }
  .rm-category-modal__availability { font-size: .61rem; line-height: 1; }
  .rm-category-modal__status { padding: 3px 6px; font-size: .51rem; line-height: 1; }
  .rm-category-modal__mobile-action { padding-top: 5px; }
  .rm-category-modal__mobile-action .rm-category-modal__view { min-height: 38px; font-size: .65rem; }
  .rm-category-modal__choices { padding: 13px 14px 14px; }
  .rm-category-modal__heading { margin-bottom: 9px; }
  .rm-category-modal__list { gap: 8px; }
  .rm-category-choice { grid-template-columns: 42px minmax(0, 1fr) 20px; grid-template-rows: 1fr; min-height: 78px; gap: 9px; padding: 8px; }
  .rm-category-choice__image { width: 42px; height: 42px; grid-row: auto; }
  .rm-category-choice__copy { align-self: center; gap: 2px; }
  .rm-category-choice__copy strong { font-size: .69rem; line-height: 1.1; }
  .rm-category-choice__copy small { font-size: .56rem; line-height: 1.05; }
  .rm-category-choice > .rm-category-choice__price:not(.rm-category-choice__price--mobile) { display: none; }
  .rm-category-choice__price--mobile { display: block; grid-column: auto; grid-row: auto; align-self: auto; color: rgb(var(--cl-accent)); font-size: .59rem; line-height: 1.05; }
  .rm-category-choice__check { grid-column: 3; grid-row: auto; }
  .rm-category-modal__note { position: relative; z-index: 1; margin-top: 9px; padding: 9px 10px; font-size: .58rem; line-height: 1.25; }
  .rm-category-modal__action { display: none !important; }
  .rm-category-modal__benefits { flex: 0 0 auto; min-height: 35px; padding: 8px 11px; overflow: hidden !important; font-size: .53rem; }
}

/* The carousel owns one full-width primary action on phone widths.  Its card
   width is based on the available track, keeping both the image and button in
   view at every narrow breakpoint. */
@media (max-width: 720px) {
  .rm-cf__viewport { height: 438px !important; }
  .rm-cf__card { width: min(300px, calc(100vw - 86px)) !important; margin-left: calc(min(300px, calc(100vw - 86px)) / -2) !important; }
  .rm-cf__body { padding: 10px 12px 12px; }
  .rm-cf__actions { display: block !important; width: 100%; }
  .rm-cf__actions > :first-child { display: none !important; }
  .rm-cf__actions > :last-child { display: flex !important; width: 100% !important; min-width: 0; min-height: 40px; justify-content: center; padding: 0 10px !important; font-size: .65rem !important; }
  .rm-cf__arrow { width: 34px; height: 34px; }
}

/* Keep availability and the product-status badge together as one readable
   line on phones instead of allowing the badge to slip beneath the summary. */
@media (max-width: 760px) {
  .rm-category-modal__meta { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; margin-top: 5px; white-space: nowrap; }
  .rm-category-modal__availability { flex: 0 0 auto; }
  .rm-category-modal__status { display: inline-flex; min-width: 0; flex: 0 1 auto; align-items: center; white-space: nowrap; }
  .rm-category-modal__status span,.rm-category-modal__status strong { white-space: nowrap; }
}

/* Hero shop statistics.  The editor can switch the same data between cards,
   inline highlights, and compact pills without changing the content. */
.rm-hero__trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; width: min(100%, 520px); margin-top: 24px; }
.rm-hero__trust li { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 10px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 12px; background: linear-gradient(135deg, rgba(var(--cl-card), .94), rgba(var(--cl-background), .7)); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 8px 22px rgba(0,0,0,.1); }
.rm-hero__trust li > i { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: rgba(var(--cl-accent), .13); color: rgb(var(--cl-accent)); font-size: .72rem; }
.rm-hero__trust-copy { display: grid; min-width: 0; gap: 2px; }
.rm-hero__trust-copy strong { overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .76rem; font-weight: 850; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.rm-hero__trust-copy small { overflow: hidden; color: rgba(var(--cl-t-primary), .52); font-size: .56rem; font-weight: 650; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.rm-hero__trust--inline { display: flex; width: auto; gap: 18px; }
.rm-hero__trust--inline li { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.rm-hero__trust--inline li > i { width: auto; height: auto; background: transparent; font-size: .76rem; }
.rm-hero__trust--inline .rm-hero__trust-copy { display: flex; align-items: baseline; gap: 4px; }
.rm-hero__trust--inline .rm-hero__trust-copy strong { font-size: .72rem; }
.rm-hero__trust--inline .rm-hero__trust-copy small { font-size: .64rem; }
.rm-hero__trust--pills { display: flex; width: auto; gap: 8px; }
.rm-hero__trust--pills li { padding: 7px 10px; border-radius: 999px; box-shadow: none; }
.rm-hero__trust--pills li > i { width: 20px; height: 20px; border-radius: 50%; font-size: .55rem; }
.rm-hero__trust--pills .rm-hero__trust-copy { display: flex; align-items: baseline; gap: 4px; }
.rm-hero__trust--pills .rm-hero__trust-copy strong { font-size: .66rem; }
.rm-hero__trust--pills .rm-hero__trust-copy small { font-size: .57rem; }
@media (max-width: 560px) {
  .rm-hero__trust { gap: 6px; margin-top: 19px; }
  .rm-hero__trust li { gap: 6px; padding: 8px 7px; border-radius: 10px; }
  .rm-hero__trust li > i { width: 23px; height: 23px; border-radius: 7px; font-size: .6rem; }
  .rm-hero__trust-copy strong { font-size: .64rem; }
  .rm-hero__trust-copy small { font-size: .49rem; }
  .rm-hero__trust--inline,.rm-hero__trust--pills { gap: 7px; }
  .rm-hero__trust--inline li { padding: 0; }
  .rm-hero__trust--inline .rm-hero__trust-copy small { display: none; }
  .rm-hero__trust--pills { flex-wrap: wrap; }
  .rm-hero__trust--pills li { padding: 6px 8px; }
  .rm-hero__trust--pills .rm-hero__trust-copy small { font-size: .52rem; }
}

/* Payment Methods: provider-aware brand cards with a useful heading and a
   quiet security note.  The entered label chooses a known brand icon where
   possible; custom editor icons remain the fallback for any other method. */
.rm-why-choose__demo:has(.rm-demo-payments) { display: block; min-height: 0; padding: 20px; }
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments { width: min(470px, 100%); margin: 0 auto; }
.rm-why-choose .rm-demo-payments__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 13px; padding: 0; }
.rm-why-choose .rm-demo-payments__head span { display: inline-flex; align-items: center; gap: 7px; color: rgb(var(--cl-t-primary)); font-size: .77rem; font-weight: 850; }
.rm-why-choose .rm-demo-payments__head span i { color: rgb(var(--cl-accent)); }
.rm-why-choose .rm-demo-payments__head small { color: rgba(var(--cl-t-primary), .46); font-size: .6rem; font-weight: 650; }
.rm-why-choose .rm-demo-payments__methods { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 0; }
.rm-why-choose .rm-demo-payments__method { --payment-color: rgb(var(--cl-accent)); display: grid; width: auto; min-width: 0; min-height: 62px; grid-template-columns: 34px minmax(0, 1fr) 16px; align-items: center; gap: 9px; padding: 9px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 12px; background: linear-gradient(135deg, rgba(var(--cl-card), .9), rgba(var(--cl-background), .66)); text-align: left; }
.rm-why-choose .rm-demo-payments__method > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: color-mix(in srgb, var(--payment-color) 12%, rgba(var(--cl-background), .72)); color: var(--payment-color); font-size: 1.36rem; }
.rm-why-choose .rm-demo-payments__method small { display: block; min-width: 0; overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .69rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rm-why-choose .rm-demo-payments__method b { display: block; width: 16px; height: 16px; border: 1px solid rgba(var(--cl-t-primary), .24); border-radius: 50%; background: transparent; }
.rm-why-choose .rm-demo-payments__method.is-selected { border-color: color-mix(in srgb, var(--payment-color) 70%, rgba(var(--cl-t-primary), .16)); background: color-mix(in srgb, var(--payment-color) 10%, rgba(var(--cl-card), .84)); box-shadow: 0 9px 21px color-mix(in srgb, var(--payment-color) 16%, transparent); }
.rm-why-choose .rm-demo-payments__method.is-selected b { border-color: var(--payment-color); background: var(--payment-color); box-shadow: 0 0 0 3px color-mix(in srgb, var(--payment-color) 18%, transparent); }
.rm-why-choose .rm-demo-payments__method.is-selected b::after { content: ''; display: block; width: 5px; height: 3px; margin: 4px auto; border-bottom: 1px solid #fff; border-left: 1px solid #fff; transform: rotate(-45deg); }
.rm-why-choose .rm-demo-payments__foot { display: flex !important; align-items: center; gap: 7px; margin-top: 11px; padding: 10px 0 0; border-top: 1px solid rgba(var(--cl-t-primary), .09); color: rgba(var(--cl-t-primary), .5); font-size: .62rem; font-weight: 650; }
.rm-why-choose .rm-demo-payments__foot i { color: rgb(var(--cl-accent)); }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="visa"] { --payment-color: #1a4f9f; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="mastercard"] { --payment-color: #eb001b; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="amex"],.rm-why-choose .rm-demo-payments__method[data-payment-provider="american-express"] { --payment-color: #2e77bc; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="paypal"] { --payment-color: #0070e0; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="apple-pay"] { --payment-color: #f5f5f7; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="google-pay"] { --payment-color: #4285f4; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="stripe"] { --payment-color: #635bff; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="bitcoin"] { --payment-color: #f7931a; }
.rm-why-choose .rm-demo-payments__method[data-payment-provider="ethereum"] { --payment-color: #8a92b2; }
@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) { padding: 15px; }
  .rm-why-choose .rm-demo-payments__head small { display: none; }
  .rm-why-choose .rm-demo-payments__method { min-height: 56px; grid-template-columns: 30px minmax(0, 1fr) 14px; gap: 7px; padding: 7px; }
  .rm-why-choose .rm-demo-payments__method > i { width: 30px; height: 30px; font-size: 1.16rem; }
  .rm-why-choose .rm-demo-payments__method small { font-size: .63rem; }
}

/* Icon-only payment showcase: the brands are the presentation, without a
   heading, cards, labels, or secondary security panel competing with them. */
.rm-why-choose__demo:has(.rm-demo-payments) { display: flex; min-height: 250px; flex-direction: column; align-items: stretch; justify-content: center; padding: 20px; }
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments { margin: auto; }
.rm-why-choose__demo:has(.rm-demo-payments) .rm-why-choose__demo-copy { width: 100%; margin: 0; }
.rm-why-choose .rm-demo-payments__methods { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(18px, 3.5vw, 34px); }
.rm-why-choose .rm-demo-payments__method { display: grid; width: auto; min-height: 0; grid-template-columns: 1fr; padding: 0; place-items: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.rm-why-choose .rm-demo-payments__method > i { display: block; width: auto; height: auto; background: transparent; color: var(--payment-color); font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1; transition: transform .18s ease, filter .18s ease; }
.rm-why-choose .rm-demo-payments__method.is-selected { border: 0; background: transparent; box-shadow: none; }
.rm-why-choose .rm-demo-payments__method.is-selected > i { filter: drop-shadow(0 8px 11px color-mix(in srgb, var(--payment-color) 32%, transparent)); transform: translateY(-3px) scale(1.08); }
.rm-why-choose .rm-demo-payments__method small,.rm-why-choose .rm-demo-payments__method b,.rm-why-choose .rm-demo-payments__head,.rm-why-choose .rm-demo-payments__foot { display: none !important; }
@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) { min-height: 175px; padding: 14px; }
  .rm-why-choose .rm-demo-payments__methods { gap: 17px 23px; }
  .rm-why-choose .rm-demo-payments__method > i { font-size: 2rem; }
}

/* Payment showcase variants, adapted from the store's trust-badges pattern.
   Processor-uploaded logos are shown whenever SellAuth supplies them. */
.rm-why-choose__demo:has(.rm-demo-payments) { min-height: 245px; }
.rm-why-choose .rm-demo-payments { width: min(100%, 470px); }
.rm-why-choose .rm-demo-payments__methods { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: center; gap: 13px; }
.rm-why-choose .rm-demo-payments__method { display: grid; width: 42px; height: 42px; min-height: 0; padding: 0; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 9px; background: rgba(var(--cl-card), .52); box-shadow: none; }
.rm-why-choose .rm-demo-payments__method img { display: block; max-width: 25px; max-height: 25px; object-fit: contain; }
.rm-why-choose .rm-demo-payments__method > i { width: auto; height: auto; background: transparent; color: var(--payment-color); font-size: 1.35rem; }
.rm-demo-payments--inline .rm-demo-payments__method { border-color: transparent; background: transparent; }
.rm-demo-payments--inline .rm-demo-payments__method + .rm-demo-payments__method { position: relative; }
.rm-demo-payments--inline .rm-demo-payments__method + .rm-demo-payments__method::before { content: ''; position: absolute; left: -7px; width: 1px; height: 20px; background: rgba(var(--cl-t-primary), .1); }
.rm-demo-payments__trust { display: none; }
.rm-demo-payments--split { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 13px; background: linear-gradient(135deg, rgba(var(--cl-card), .88), rgba(var(--cl-background), .5)); }
.rm-demo-payments--split .rm-demo-payments__trust { display: flex; align-items: center; gap: 9px; min-width: 0; }
.rm-demo-payments__trust > i { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); font-size: .8rem; }
.rm-demo-payments__trust span { display: grid; min-width: 0; gap: 3px; }
.rm-demo-payments__trust strong { color: rgb(var(--cl-t-primary)); font-size: .74rem; font-weight: 850; }
.rm-demo-payments__trust small { color: rgba(var(--cl-t-primary), .48); font-size: .59rem; font-weight: 650; }
.rm-demo-payments--split .rm-demo-payments__methods { justify-content: flex-end; gap: 8px; }
.rm-demo-payments--split .rm-demo-payments__method { width: 36px; height: 36px; border-radius: 8px; }
.rm-demo-payments--split .rm-demo-payments__method img { max-width: 22px; max-height: 22px; }
.rm-demo-payments--card { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 20px; border: 1px solid rgba(var(--cl-t-primary), .1); border-radius: 15px; background: linear-gradient(145deg, rgba(var(--cl-card), .92), rgba(var(--cl-background), .58)); }
.rm-demo-payments--card .rm-demo-payments__trust { display: flex; align-items: center; gap: 9px; text-align: left; }
.rm-demo-payments--card .rm-demo-payments__methods { gap: 11px; }
.rm-demo-payments--split .rm-demo-payments__method[data-payment-provider="stripe"],.rm-demo-payments--card .rm-demo-payments__method[data-payment-provider="stripe"] { --payment-color: #635bff; }
.rm-demo-payments--split .rm-demo-payments__method[data-payment-provider="paypal"],.rm-demo-payments--card .rm-demo-payments__method[data-payment-provider="paypal"] { --payment-color: #0070e0; }
.rm-demo-payments--split .rm-demo-payments__method[data-payment-provider="mastercard"],.rm-demo-payments--card .rm-demo-payments__method[data-payment-provider="mastercard"] { --payment-color: #eb001b; }
@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) { min-height: 195px; }
  .rm-why-choose .rm-demo-payments__methods { gap: 8px; }
  .rm-why-choose .rm-demo-payments__method { width: 35px; height: 35px; border-radius: 8px; }
  .rm-why-choose .rm-demo-payments__method img { max-width: 21px; max-height: 21px; }
  .rm-why-choose .rm-demo-payments__method > i { font-size: 1.08rem; }
  .rm-demo-payments--inline .rm-demo-payments__method + .rm-demo-payments__method::before { left: -4px; height: 17px; }
  .rm-demo-payments--split { flex-direction: column; gap: 11px; padding: 13px; }
  .rm-demo-payments--split .rm-demo-payments__methods { justify-content: center; }
  .rm-demo-payments--card { gap: 11px; padding: 14px; }
}

/* Feature notes belong below their demo.  Payment is deliberately anchored to
   the panel's bottom; the menu note returns to normal flow so it cannot cover
   the final control on a phone. */
.rm-why-choose__demo:has(.rm-demo-payments) .rm-why-choose__demo-copy { position: absolute !important; right: 20px; bottom: 20px; left: 20px; width: auto; margin: 0 !important; }
.rm-why-choose__demo:has(.rm-demo-menu) { display: flex; min-height: 0; flex-direction: column; overflow: visible; }
.rm-why-choose__demo:has(.rm-demo-menu) .rm-why-choose__demo-copy { position: static !important; right: auto; bottom: auto; left: auto; flex: 0 0 auto; margin: 12px 0 0 !important; }
@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) .rm-why-choose__demo-copy { right: 14px; bottom: 14px; left: 14px; }
  .rm-why-choose__demo:has(.rm-demo-menu) .rm-why-choose__demo-copy { margin-top: 10px !important; }
}

/* Final control polish for the configurable-menu preview. */
.rm-why-choose .rm-demo-menu__switch { display: block !important; width: 44px !important; min-width: 44px !important; height: 24px !important; min-height: 24px !important; padding: 0 !important; }
.rm-why-choose .rm-demo-menu__switch-track { position: relative !important; width: 44px !important; height: 24px !important; box-sizing: border-box; }
.rm-why-choose .rm-demo-menu__switch-track > i { top: 50% !important; left: 3px !important; width: 18px !important; height: 18px !important; min-width: 18px !important; min-height: 18px !important; transform: translate(0, -50%) !important; }
.rm-why-choose .rm-demo-menu__switch.is-on .rm-demo-menu__switch-track > i { transform: translate(20px, -50%) !important; }
.rm-why-choose .rm-demo-menu__keybind { display: inline-flex; width: auto; min-width: 50px; min-height: 30px; height: 30px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid rgba(var(--cl-accent), .42); border-radius: 7px; background: linear-gradient(135deg, rgba(var(--cl-accent), .14), rgba(var(--cl-accent), .06)); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 4px 10px rgba(0,0,0,.12); color: rgb(var(--cl-t-primary)); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .62rem; font-weight: 800; letter-spacing: .04em; line-height: 1; }
.rm-why-choose .rm-demo-menu__keybind:hover { border-color: rgb(var(--cl-accent)); background: rgba(var(--cl-accent), .18); color: rgb(var(--cl-accent)); }

/* Final payment presentation: brands are the entire visual. */
.rm-why-choose__demo:has(.rm-demo-payments) { min-height: 220px; }
.rm-why-choose .rm-demo-payments,.rm-why-choose .rm-demo-payments--split,.rm-why-choose .rm-demo-payments--card { display: block; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.rm-why-choose .rm-demo-payments__trust { display: none !important; }
.rm-why-choose .rm-demo-payments__methods { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 16px; }
.rm-why-choose .rm-demo-payments__method { display: grid; width: auto; height: auto; min-height: 0; padding: 0; place-items: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.rm-why-choose .rm-demo-payments__method img { max-width: 48px; max-height: 48px; object-fit: contain; }
.rm-why-choose .rm-demo-payments__method > i { width: auto; height: auto; background: transparent; color: var(--payment-color); font-size: 2.8rem; line-height: 1; }
.rm-demo-payments--inline .rm-demo-payments__methods { flex-direction: column; align-items: center; gap: 14px; }
.rm-demo-payments--inline .rm-demo-payments__method { width: 100%; }
.rm-demo-payments--inline .rm-demo-payments__method + .rm-demo-payments__method::before { display: none; }
.rm-demo-payments--split .rm-demo-payments__methods { gap: 20px; }
.rm-demo-payments--split .rm-demo-payments__method { width: 58px; height: 58px; border: 1px solid rgba(var(--cl-t-primary), .11); border-radius: 13px; background: linear-gradient(145deg, rgba(var(--cl-card), .86), rgba(var(--cl-background), .45)); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.rm-demo-payments--split .rm-demo-payments__method img { max-width: 34px; max-height: 34px; }
.rm-demo-payments--split .rm-demo-payments__method > i { font-size: 1.9rem; }
.rm-demo-payments--card .rm-demo-payments__methods { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(74px, 1fr)); gap: 10px; width: min(390px, 100%); margin-inline: auto; }
.rm-demo-payments--card .rm-demo-payments__method { position: relative; width: 100%; height: 74px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 13px; background: linear-gradient(145deg, rgba(var(--cl-card), .95), rgba(var(--cl-background), .72)); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.11); overflow: hidden; }
.rm-demo-payments--card .rm-demo-payments__method::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 30%, rgba(var(--cl-accent), .07)); pointer-events: none; }
.rm-demo-payments--card .rm-demo-payments__method img { position: relative; z-index: 1; max-width: 39px; max-height: 39px; }
.rm-demo-payments--card .rm-demo-payments__method > i { position: relative; z-index: 1; font-size: 2.2rem; }
.rm-demo-payments--card .rm-demo-payments__method:hover { border-color: rgba(var(--cl-accent), .55); transform: translateY(-3px); }
@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) { min-height: 190px; }
  .rm-why-choose .rm-demo-payments__method img { max-width: 38px; max-height: 38px; }
  .rm-why-choose .rm-demo-payments__method > i { font-size: 2.25rem; }
  .rm-demo-payments--inline .rm-demo-payments__methods { gap: 10px; }
  .rm-demo-payments--split .rm-demo-payments__methods { gap: 12px; }
  .rm-demo-payments--split .rm-demo-payments__method { width: 49px; height: 49px; }
  .rm-demo-payments--card .rm-demo-payments__methods { grid-template-columns: repeat(auto-fit, minmax(62px, 1fr)); gap: 8px; }
  .rm-demo-payments--card .rm-demo-payments__method { height: 62px; }
  .rm-demo-payments--card .rm-demo-payments__method img { max-width: 31px; max-height: 31px; }
  .rm-demo-payments--card .rm-demo-payments__method > i { font-size: 1.75rem; }
}

/* Catalog-backed header search.  The modal uses a solid surface and a
   viewport-safe centered panel on every phone size. */
html.rm-overlay-open { overflow:hidden !important; overscroll-behavior:none; }
.rm-header-search { flex: 0 1 300px; }
.rm-header-navbar__search { width: 100%; cursor: text; }
.rm-header-navbar__search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-search-modal { position: fixed; z-index: 100; inset: 0; display: grid; overflow: hidden; place-items: center; padding: max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom)); isolation: isolate; }
.rm-search-modal__backdrop { position: absolute; z-index: 0; inset: 0; border: 0; background: rgba(4, 7, 11, .82); backdrop-filter: blur(9px); }
.rm-search-modal__panel { position: relative; z-index: 1; display: flex; width: min(620px, calc(100vw - 40px)); max-height: min(680px, calc(100dvh - 40px)); min-height: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 18px; background: rgb(var(--cl-card)); box-shadow: 0 28px 80px rgba(0,0,0,.55); }
.rm-search-modal__top { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px 12px; }
.rm-search-modal__top strong { color: rgb(var(--cl-t-primary)); font-size: .94rem; font-weight: 850; }
.rm-search-modal__top button,.rm-search-modal__field button { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 50%; background: rgba(var(--cl-background), .9); color: rgb(var(--cl-t-primary)); transition: border-color .2s ease,color .2s ease,transform .2s ease; }
.rm-search-modal__top button:hover,.rm-search-modal__top button:focus-visible { border-color: rgba(var(--cl-accent),.6); outline: 0; color: rgb(var(--cl-accent)); transform: rotate(90deg); }
.rm-search-modal__field { display: flex; align-items: center; gap: 9px; margin: 0 18px 12px; padding: 0 11px; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 11px; background: rgb(var(--cl-background)); color: rgb(var(--cl-accent)); }
.rm-search-modal__field input { width: 100%; min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; color: rgb(var(--cl-t-primary)); font-size: .82rem; }
.rm-search-modal__field button { width: 24px; height: 24px; border: 0; background: transparent; color: rgba(var(--cl-t-primary), .55); font-size: .68rem; }
.rm-search-modal__results { display: grid; gap: 7px; min-height: 0; overflow-y: auto; padding: 0 18px 18px; background: rgb(var(--cl-card)); }
.rm-search-result { display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-height: 62px; padding: 8px; border: 1px solid rgba(var(--cl-t-primary), .09); border-radius: 11px; background: rgb(var(--cl-background)); color: rgb(var(--cl-t-primary)); }
.rm-search-result:hover { border-color: rgba(var(--cl-accent), .55); background: rgba(var(--cl-accent), .08); }
.rm-search-result__image { display: grid; width: 44px; height: 44px; place-items: center; overflow: hidden; border-radius: 8px; background: rgba(var(--cl-card), .9); color: rgb(var(--cl-accent)); }.rm-search-result__image img { width: 100%; height: 100%; object-fit: cover; }
.rm-search-result strong,.rm-search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.rm-search-result strong { font-size: .72rem; font-weight: 800; }.rm-search-result small { margin-top: 4px; color: rgb(var(--cl-accent)); font-size: .62rem; font-weight: 750; }.rm-search-result > i { color: rgba(var(--cl-t-primary), .44); font-size: .65rem; }
.rm-search-modal__all { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; margin: 0 18px 18px; border-radius: 10px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .72rem; font-weight: 850; }
@media (max-width: 900px) { .rm-header-search { flex: 1 1 100%; order: 2; } }
@media (max-width: 560px) { .rm-search-modal { place-items:center; padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }.rm-search-modal__panel { width:min(500px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); border-radius:16px; }.rm-search-modal__top { min-height:62px; padding:12px 14px 9px; }.rm-search-modal__top button { width:42px; height:42px; }.rm-search-modal__field { margin:0 14px 10px; }.rm-search-modal__results { padding:0 14px 14px; overscroll-behavior:contain; }.rm-search-modal__all { margin:0 14px 14px; }.rm-search-result { grid-template-columns:42px minmax(0,1fr) 16px; min-height:62px; }.rm-search-result__image { width:42px; height:42px; } }

/* Category cards: the price divider and action now share one deliberate row,
   while artwork stays edge-to-edge with no image frame or dark overlay. */
.catalog-product-card__media { border: 0 !important; background: transparent; }
.catalog-product-card__media::after { display: none; }
.catalog-product-card__media img { border: 0 !important; object-fit: cover; }
.catalog-product-card__price { width: 100%; min-height: 40px; align-items: center; padding-top: 12px; }
.catalog-product-card__arrow { position: static; display: grid; width: 31px; height: 31px; flex: 0 0 auto; margin-left: auto; place-items: center; border: 1px solid rgba(var(--cl-accent), .28); border-radius: 9px; background: rgba(var(--cl-accent), .08); color: rgb(var(--cl-accent)); }
.catalog-product-card:hover .catalog-product-card__arrow { border-color: rgb(var(--cl-accent)); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); transform: translateX(2px); }

/* A–Z-only products navigation: when the editor disables full filters the
   toolbar collapses to a compact alphabet navigator, with no empty panel. */
.rm-products-toolbar:not(:has(.rm-products-toolbar__form)) { display: flex; justify-content: center; padding: 10px 14px; }
.rm-products-toolbar:not(:has(.rm-products-toolbar__form)) .rm-products-toolbar__browse { margin: 0; padding: 0; border: 0; }

/* Optional floating A–Z navigator, controlled in the Products Page editor. */
.rm-products-toolbar--letter-floating { margin-top: 10px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.rm-products-toolbar--letter-floating .rm-products-toolbar__browse { padding: 0 !important; border: 0 !important; background: transparent !important; }

/* Payment tooltips must be allowed to leave the first icon row.  Several
   legacy preview rules intentionally clipped demo artwork; scope the escape
   hatch to this payment state so its brand pill can layer over the panel. */
.rm-why-choose__stage:has(.rm-demo-payments),
.rm-why-choose__demo:has(.rm-demo-payments),
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments,
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments__methods,
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments__method {
  overflow: visible !important;
}
.rm-why-choose__stage:has(.rm-demo-payments) { position: relative; z-index: 4; }
.rm-why-choose__demo:has(.rm-demo-payments) { isolation: isolate; }
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments__method:hover,
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments__method:focus-visible {
  z-index: 40;
}
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments__label {
  z-index: 50;
}

/* Why Choose Us panel swap. Alpine keeps the outgoing and incoming panels
   mounted together during a transition; stack them in one grid cell so that
   crossfading can never create a temporary second row beneath the stage. */
.rm-why-choose__stage {
  position: relative;
  display: grid;
  align-items: stretch;
}
.rm-why-choose__stage > .rm-why-choose__demo {
  grid-area: 1 / 1;
  width: 100%;
  min-width: 0;
  transform-origin: 50% 48%;
  will-change: opacity, transform;
}
.rm-demo-swap-enter {
  transition: opacity .24s ease-out, transform .28s cubic-bezier(.2,.8,.2,1);
}
.rm-demo-swap-enter-start {
  opacity: 0;
  transform: scale(.992);
}
.rm-demo-swap-enter-end,
.rm-demo-swap-leave-start {
  opacity: 1;
  transform: scale(1);
}
.rm-demo-swap-leave {
  pointer-events: none;
  transition: opacity .16s ease-in, transform .18s ease-in;
}
.rm-demo-swap-leave-end {
  opacity: 0;
  transform: scale(.996);
}
@media (prefers-reduced-motion: reduce) {
  .rm-demo-swap-enter,
  .rm-demo-swap-leave { transition-duration: .01ms !important; }
}

/* Payment panel bottom rhythm: keep the methods in the flexible presentation
   area and reserve a genuine final row for the supporting sentence. */
.rm-why-choose__demo:has(.rm-demo-payments) {
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: flex-start;
  overflow: visible;
}
.rm-why-choose__demo:has(.rm-demo-payments) > .rm-demo-payments {
  display: flex !important;
  width: 100%;
  min-height: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px !important;
}
.rm-why-choose__demo:has(.rm-demo-payments) .rm-demo-payments__methods {
  width: min(100%, 470px);
  max-height: 100%;
}
.rm-why-choose__demo:has(.rm-demo-payments) .rm-why-choose__demo-copy {
  position: static !important;
  inset: auto !important;
  width: 100%;
  min-height: 38px;
  flex: 0 0 auto;
  align-items: center;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 10px 14px;
}
@media (max-width: 560px) {
  .rm-why-choose__demo:has(.rm-demo-payments) > .rm-demo-payments { margin-bottom: 10px !important; }
  .rm-why-choose__demo:has(.rm-demo-payments) .rm-why-choose__demo-copy {
    min-height: 36px;
    padding: 9px 11px;
    font-size: .67rem;
  }
}

/* Homepage reviews use the exact feedback-page card component.  This wrapper
   controls only marquee geometry; visual hierarchy remains owned by the
   shared rm-review-card styles used on /feedback. */
.rm-reviews-marquee .rm-marquee-card {
  width: clamp(286px, 24vw, 340px);
  flex: 0 0 auto;
}
.rm-reviews-marquee .rm-marquee-card > .rm-review-card {
  width: 100%;
  height: 100%;
  min-height: 190px;
}
.rm-reviews-marquee .rm-review-card__content { min-height: 118px; }
.rm-reviews-marquee .rm-review-card__message { -webkit-line-clamp: 3; }
.rm-reviews-marquee .rm-review-card__product { min-height: 66px; }
.rm-reviews-marquee .rm-review-card__expand { display: none; }
@media (max-width: 560px) {
  .rm-reviews-marquee .rm-marquee-card { width: min(82vw, 310px); }
  .rm-reviews-marquee .rm-marquee-card > .rm-review-card { min-height: 178px; }
  .rm-reviews-marquee .rm-review-card__content { min-height: 108px; padding: 13px 14px 12px; }
}

/* Premium feedback page -------------------------------------------------- */
.rm-feedbacks__grid > .rm-review-card-shell { min-width: 0; }
.rm-review-card-shell { position: relative; }
.rm-review-card { height: 100%; cursor: pointer; outline: 0; }
.rm-review-card:focus-visible { border-color: rgba(var(--cl-accent), .7); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .13), 0 20px 44px rgba(0,0,0,.22); }
.rm-review-card__stars i,.rm-review-card__product-image img { transition: transform .24s ease, filter .24s ease; }
.rm-review-card__product-link { appearance: none; background: transparent; }
.rm-verified-help { position: relative; cursor: help; }
.rm-verified-help::after { position: absolute; z-index: 30; bottom: calc(100% + 9px); left: 0; width: max-content; max-width: 220px; padding: 7px 9px; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 8px; background: rgb(var(--cl-card)); box-shadow: 0 14px 34px rgba(0,0,0,.3); color: rgb(var(--cl-t-primary)); content: attr(data-tooltip); font-size: .58rem; font-weight: 650; letter-spacing: 0; line-height: 1.35; opacity: 0; pointer-events: none; text-transform: none; transform: translateY(4px); transition: opacity .18s ease, transform .18s ease; }
.rm-verified-help:hover::after,.rm-verified-help:focus-visible::after { opacity: 1; transform: none; }
@media (hover: hover) {
  .rm-feedbacks .rm-review-card:hover { border-color: rgba(var(--cl-accent), .34); box-shadow: 0 0 0 1px rgba(var(--cl-accent), .08), 0 22px 52px rgba(0,0,0,.25), 0 0 34px rgba(var(--cl-accent), .07); transform: translateY(-5px); }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__stars i { filter: brightness(1.18) drop-shadow(0 4px 8px currentColor); transform: translateY(-1px) scale(1.08); }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__stars i:nth-child(2) { transition-delay: 25ms; }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__stars i:nth-child(3) { transition-delay: 50ms; }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__stars i:nth-child(4) { transition-delay: 75ms; }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__stars i:nth-child(5) { transition-delay: 100ms; }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__product-image img { transform: scale(1.08); }
}

.rm-feedbacks__toolbar { overflow: visible; backdrop-filter: blur(14px); }
.rm-feedbacks__toolbar-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 9px; }
.rm-feedbacks__sort-button { position: relative; overflow: hidden; border-radius: 999px; }
.rm-feedbacks__sort-button::after { position: absolute; right: 22%; bottom: 4px; left: 22%; height: 1px; border-radius: 99px; background: rgb(var(--cl-accent)); content: ''; opacity: 0; transform: scaleX(.25); transition: opacity .2s ease, transform .24s ease; }
.rm-feedbacks__sort-button.is-active::after { opacity: .9; transform: scaleX(1); }
.rm-feedbacks__leave { display: inline-flex; min-height: 36px; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid rgba(var(--cl-accent), .45); border-radius: 999px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); font-size: .68rem; font-weight: 820; transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.rm-feedbacks__leave:hover,.rm-feedbacks__leave:focus-visible { outline: 0; background: rgb(var(--cl-accent)); box-shadow: 0 10px 24px rgba(var(--cl-accent), .18); color: rgb(var(--cl-t-accent)); transform: translateY(-1px); }
.rm-feedback-sorting .rm-feedbacks__grid { opacity: 0; transform: translateY(8px) scale(.992); transition: opacity .16s ease, transform .16s ease; }

/* Shared review and product dialogs. */
.rm-review-dialog { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 18px; }
/* A transformed ancestor contains fixed descendants. Keep the feedback
   section untransformed so every dialog remains viewport-bound. */
.rm-feedbacks.rm-motion-section { transform: none !important; }
.rm-review-dialog__backdrop { position: absolute; inset: 0; border: 0; background: rgba(3,6,10,.82); backdrop-filter: blur(10px); }
.rm-review-dialog__panel { position: relative; z-index: 1; width: min(560px, 100%); max-height: min(760px, calc(100dvh - 36px)); overflow-y: auto; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 20px; background: radial-gradient(circle at 90% 0, rgba(var(--cl-accent), .1), transparent 38%), rgb(var(--cl-card)); box-shadow: 0 34px 100px rgba(0,0,0,.58); scrollbar-width: thin; }
.rm-review-dialog__head { position: sticky; z-index: 2; top: 0; display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; border-bottom: 1px solid rgba(var(--cl-t-primary), .09); background: color-mix(in srgb, rgb(var(--cl-card)) 94%, transparent); backdrop-filter: blur(14px); }
.rm-review-dialog__head > span { display: grid; min-width: 0; grid-template-columns: 34px minmax(0,1fr); column-gap: 10px; }.rm-review-dialog__head > span > i { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); }.rm-review-dialog__head small { color: rgb(var(--cl-accent)); font-size: .55rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.rm-review-dialog__head strong { overflow: hidden; color: rgb(var(--cl-t-primary)); font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; }.rm-review-dialog__head > button { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--cl-t-primary), .14); border-radius: 50%; background: rgba(var(--cl-background), .62); color: rgba(var(--cl-t-primary), .72); transition: color .2s ease, border-color .2s ease, transform .2s ease; }.rm-review-dialog__head > button:hover { border-color: rgba(var(--cl-accent), .55); color: rgb(var(--cl-accent)); transform: rotate(90deg); }
.rm-review-dialog__review-meta { display: flex; align-items: center; justify-content: space-between; padding: 22px 22px 0; }.rm-review-dialog__review-meta time { color: rgba(var(--cl-t-primary), .46); font-size: .67rem; }.rm-review-dialog__message { padding: 20px 22px 24px; color: rgb(var(--cl-t-primary)); font-size: clamp(.92rem, 2vw, 1.08rem); line-height: 1.7; }.rm-review-dialog__attachment { display: block; width: calc(100% - 44px); max-height: 360px; margin: 0 22px 22px; border-radius: 13px; object-fit: cover; }.rm-review-dialog__reply { margin: 0 22px 22px; padding: 13px 14px; border-left: 2px solid rgb(var(--cl-accent)); border-radius: 0 10px 10px 0; background: rgba(var(--cl-t-primary), .045); }.rm-review-dialog__reply small { color: rgb(var(--cl-accent)); font-size: .58rem; font-weight: 800; text-transform: uppercase; }.rm-review-dialog__reply p { margin-top: 7px; color: rgba(var(--cl-t-primary), .68); font-size: .76rem; line-height: 1.55; }
.rm-review-dialog__purchase { display: flex; align-items: center; gap: 10px; padding: 13px 16px; border-top: 1px solid rgba(var(--cl-t-primary), .09); background: rgba(var(--cl-background), .3); }.rm-review-dialog__purchase > i { color: #00a878; }.rm-review-dialog__purchase > span { display: grid; min-width: 0; }.rm-review-dialog__purchase small { color: #00a878; font-size: .55rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.rm-review-dialog__purchase strong { overflow: hidden; color: rgba(var(--cl-t-primary), .82); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }.rm-review-dialog__purchase button { display: inline-flex; min-height: 31px; align-items: center; gap: 6px; margin-left: auto; padding: 0 10px; border-radius: 8px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); font-size: .62rem; font-weight: 800; }
.rm-review-dialog__panel--product { width: min(690px, 100%); }.rm-review-quick { display: grid; grid-template-columns: minmax(210px,.9fr) minmax(0,1.1fr); gap: 22px; padding: 22px; }.rm-review-quick__image { display: grid; aspect-ratio: 4/3; place-items: center; overflow: hidden; border-radius: 14px; background: rgba(var(--cl-background), .65); color: rgb(var(--cl-accent)); }.rm-review-quick__image img { width: 100%; height: 100%; object-fit: cover; }.rm-review-quick__body { min-width: 0; align-self: center; }.rm-review-quick__eyebrow { color: rgb(var(--cl-accent)); font-size: .59rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.rm-review-quick h3 { margin-top: 7px; color: rgb(var(--cl-t-primary)); font-size: 1.25rem; font-weight: 850; line-height: 1.16; }.rm-review-quick__price { margin-top: 11px; color: rgb(var(--cl-accent)); font-size: 1.12rem; font-weight: 850; }.rm-review-quick__status { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.rm-review-quick__status span { display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; border-radius: 999px; background: rgba(0,168,120,.1); color: #32c997; font-size: .59rem; font-weight: 750; }.rm-review-quick__status span.is-out { background: rgba(224,82,82,.1); color: #e06a6a; }.rm-review-quick__status i { font-size: .46rem; }.rm-review-quick__button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; margin-top: 18px; padding: 0 15px; border-radius: 9px; background: rgb(var(--cl-accent)); box-shadow: 0 12px 26px rgba(var(--cl-accent), .17); color: rgb(var(--cl-t-accent)); font-size: .71rem; font-weight: 850; transition: transform .2s ease, filter .2s ease; }.rm-review-quick__button:hover { filter: brightness(1.08); transform: translateY(-2px); }

/* Leave-feedback composition stays honest to SellAuth's verified-order flow. */
.rm-feedback-compose { width: min(520px, 100%); }.rm-feedback-compose__body { display: grid; gap: 17px; padding: 20px; }.rm-feedback-compose__body > p { color: rgba(var(--cl-t-primary), .62); font-size: .77rem; line-height: 1.6; }.rm-feedback-compose fieldset,.rm-feedback-compose label { display: grid; gap: 8px; }.rm-feedback-compose legend,.rm-feedback-compose label > span { color: rgb(var(--cl-t-primary)); font-size: .68rem; font-weight: 800; }.rm-feedback-compose__stars { display: flex; gap: 4px; }.rm-feedback-compose__stars button { padding: 2px; color: rgba(var(--cl-t-primary), .18); font-size: 1.35rem; transition: color .16s ease, transform .16s ease, filter .16s ease; }.rm-feedback-compose__stars button.is-active { color: #f6b735; filter: drop-shadow(0 5px 10px rgba(246,183,53,.22)); transform: translateY(-2px) scale(1.06); }.rm-feedback-compose textarea { width: 100%; resize: vertical; min-height: 116px; padding: 12px 13px; border: 1px solid rgba(var(--cl-t-primary), .12); border-radius: 11px; outline: 0; background: rgba(var(--cl-background), .62); color: rgb(var(--cl-t-primary)); font-size: .76rem; line-height: 1.55; transition: border-color .2s ease, box-shadow .2s ease; }.rm-feedback-compose textarea:focus { border-color: rgba(var(--cl-accent), .65); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .1); }.rm-feedback-compose__notice { display: flex; align-items: flex-start; gap: 8px; padding: 10px 11px; border-radius: 9px; background: rgba(var(--cl-accent), .07); color: rgba(var(--cl-t-primary), .58); font-size: .63rem; line-height: 1.45; }.rm-feedback-compose__notice i { margin-top: 2px; color: rgb(var(--cl-accent)); }.rm-feedback-compose__continue { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent)); font-size: .72rem; font-weight: 850; }

/* Feedback-page entrance sequence. */
body:has(.rm-feedbacks) .rm-header { animation: rm-feedback-enter .42s both; }
body:has(.rm-feedbacks) .rm-review-rating { animation: rm-feedback-enter .5s .08s both; }
body:has(.rm-feedbacks) .rm-feedbacks__toolbar { animation: rm-feedback-enter .48s .16s both; }
body:has(.rm-feedbacks) .rm-feedbacks__grid > .rm-review-card-shell { animation: rm-feedback-card-enter .48s both; }
body:has(.rm-feedbacks) .rm-feedbacks__grid > .rm-review-card-shell:nth-child(4n+1) { animation-delay: .22s; }body:has(.rm-feedbacks) .rm-feedbacks__grid > .rm-review-card-shell:nth-child(4n+2) { animation-delay: .28s; }body:has(.rm-feedbacks) .rm-feedbacks__grid > .rm-review-card-shell:nth-child(4n+3) { animation-delay: .34s; }body:has(.rm-feedbacks) .rm-feedbacks__grid > .rm-review-card-shell:nth-child(4n+4) { animation-delay: .4s; }
@keyframes rm-feedback-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes rm-feedback-card-enter { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }

/* Condensed sticky header and compact action previews. */
.rm-header--sticky,.rm-header--sticky .rm-header-shell,.rm-header--sticky .rm-header-navbar,.rm-header--sticky .rm-header-brand__logo,.rm-header--sticky .rm-header-brand__tagline { transition: min-height .25s ease, padding .25s ease, opacity .2s ease, transform .25s ease, background .25s ease, box-shadow .25s ease; }
.rm-header--sticky.is-condensed .rm-header-shell { min-height: 54px; background: color-mix(in srgb, rgb(var(--cl-card)) 88%, transparent); box-shadow: 0 14px 42px rgba(0,0,0,.3); backdrop-filter: blur(18px) saturate(1.15); }
.rm-header--sticky.is-condensed .rm-header-brand__logo { transform: scale(.9); }.rm-header--sticky.is-condensed .rm-header-brand__tagline { max-height: 0; opacity: 0; }.rm-header--sticky.is-condensed .rm-header-navbar { background: color-mix(in srgb, rgb(var(--cl-card)) 84%, transparent); backdrop-filter: blur(18px); }.rm-header--sticky.is-condensed .rm-header-navbar__link { min-height: 32px; }
.rm-header-navbar__link.is-active { box-shadow: inset 0 0 0 1px rgba(var(--cl-accent), .25), 0 5px 14px rgba(var(--cl-accent), .08); }
.rm-header-navbar__search,.rm-header-account,.rm-header-cart { transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }.rm-header-navbar__search:hover,.rm-header-navbar__search:focus-visible,.rm-header-account:hover,.rm-header-account:focus-visible,.rm-header-cart:hover,.rm-header-cart:focus-visible { border-color: rgba(var(--cl-accent), .55); outline: 0; background: rgba(var(--cl-accent), .08); box-shadow: 0 0 0 3px rgba(var(--cl-accent), .08); transform: translateY(-1px); }
.rm-header-preview-anchor { position: relative; overflow: visible; }.rm-header-action-preview { position: absolute; z-index: 150; top: calc(100% + 9px); right: 0; display: flex; width: max-content; max-width: 230px; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid rgba(var(--cl-t-primary), .13); border-radius: 10px; background: rgb(var(--cl-card)); box-shadow: 0 18px 44px rgba(0,0,0,.35); color: rgb(var(--cl-t-primary)); opacity: 0; pointer-events: none; transform: translateY(-4px) scale(.98); transform-origin: top right; transition: opacity .18s ease, transform .2s ease; }.rm-header-action-preview > i { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: rgba(var(--cl-accent), .12); color: rgb(var(--cl-accent)); }.rm-header-action-preview > span { display: grid; text-align: left; }.rm-header-action-preview small { color: rgb(var(--cl-accent)); font-size: .52rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.rm-header-action-preview strong { font-size: .63rem; font-weight: 750; white-space: nowrap; }.rm-header-preview-anchor:hover .rm-header-action-preview,.rm-header-preview-anchor:focus-visible .rm-header-action-preview,.rm-header-preview-anchor:focus-within .rm-header-action-preview { opacity: 1; transform: none; }

@media (max-width: 720px) {
  .rm-feedbacks__toolbar-actions { width: 100%; align-items: stretch; flex-direction: column; }.rm-feedbacks__sort { justify-content: flex-start; }.rm-feedbacks__leave { align-self: flex-start; }
  .rm-review-dialog { padding: 10px; }.rm-review-dialog__panel { max-height: calc(100dvh - 20px); border-radius: 16px; }.rm-review-quick { grid-template-columns: 1fr; gap: 15px; padding: 15px; }.rm-review-quick__image { aspect-ratio: 16/8; }.rm-review-dialog__review-meta { padding: 17px 16px 0; }.rm-review-dialog__message { padding: 16px; }.rm-review-dialog__attachment { width: calc(100% - 32px); margin-inline: 16px; }.rm-review-dialog__reply { margin-inline: 16px; }.rm-review-dialog__purchase { align-items: flex-start; flex-wrap: wrap; }.rm-review-dialog__purchase button { margin-left: 25px; }
  .rm-header-action-preview { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.rm-feedbacks) .rm-header,body:has(.rm-feedbacks) .rm-review-rating,body:has(.rm-feedbacks) .rm-feedbacks__toolbar,body:has(.rm-feedbacks) .rm-feedbacks__grid > .rm-review-card-shell { animation: none !important; }
  .rm-review-dialog *, .rm-feedbacks *, .rm-header--sticky * { transition-duration: .01ms !important; }
}

/* Feedback page architecture v2 -----------------------------------------
   One root-level backdrop and panel serve review, product and compose views. */
body:has([data-feedback-page]) .rm-header--sticky { z-index: 30; }
body:has([data-feedback-page]) .rm-header-shell,
body:has([data-feedback-page]) .rm-header-navbar { background-color: color-mix(in srgb, rgb(var(--cl-card)) 94%, transparent); backdrop-filter: blur(18px) saturate(1.08); }
body:has([data-feedback-page]) .components { position: relative; z-index: 1; }
.rm-feedbacks[data-feedback-page],
.rm-feedbacks[data-feedback-page].rm-motion-section { opacity: 1 !important; transform: none !important; }
body:has([data-feedback-page]) .rm-review-rating > div { padding-top: clamp(18px, 3vw, 30px); padding-bottom: clamp(18px, 3vw, 30px); }
body:has([data-feedback-page]) .rm-review-rating__card { min-height: 0; padding-block: clamp(22px, 4vw, 38px); background: radial-gradient(circle at 50% 0, rgba(var(--cl-accent), .13), transparent 52%), linear-gradient(145deg, rgba(var(--cl-card), .93), rgba(var(--cl-background), .72)); }
body:has([data-feedback-page]) .rm-review-rating__stars i { opacity: 0; transform: translateY(5px) scale(.82); animation: rm-feedback-star .28s forwards; }
body:has([data-feedback-page]) .rm-review-rating__stars i:nth-child(1) { animation-delay: .72s; }
body:has([data-feedback-page]) .rm-review-rating__stars i:nth-child(2) { animation-delay: .8s; }
body:has([data-feedback-page]) .rm-review-rating__stars i:nth-child(3) { animation-delay: .88s; }
body:has([data-feedback-page]) .rm-review-rating__stars i:nth-child(4) { animation-delay: .96s; }
body:has([data-feedback-page]) .rm-review-rating__stars i:nth-child(5) { animation-delay: 1.04s; }
@keyframes rm-feedback-star { to { opacity: 1; transform: none; } }

.rm-feedbacks__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(14px,1.6vw,20px); transition: opacity .18s ease, transform .18s ease; }
.rm-feedbacks.is-loading .rm-feedbacks__grid { opacity: .22; pointer-events: none; transform: translateY(7px); }
.rm-feedbacks .rm-review-card { min-height: 190px; transform: translateZ(0); }
.rm-feedbacks .rm-review-card__content { min-height: 118px; }
.rm-feedbacks .rm-review-card__message { margin-top: 15px; }
.rm-feedbacks .rm-review-card__product { position: relative; }
.rm-feedbacks .rm-review-card__product-copy { flex: 1; }
.rm-feedbacks .rm-review-card__product-link { opacity: .65; }
@media (hover:hover) {
  .rm-feedbacks .rm-review-card:hover { border-color: rgba(var(--cl-accent),.34); box-shadow: 0 18px 44px rgba(0,0,0,.22),0 0 24px rgba(var(--cl-accent),.045); transform: translateY(-3px); }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__product-image img { transform: scale(1.03); }
  .rm-feedbacks .rm-review-card:hover .rm-review-card__product-link { opacity: 1; }
  .rm-feedbacks .rm-review-card:hover .rm-verified-help { filter: brightness(1.13); }
}
@media (min-width:1680px) { .rm-feedbacks__grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width:980px) { .rm-feedbacks__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .rm-feedbacks__grid { grid-template-columns: minmax(0,1fr); gap: 13px; } }

.rm-feedbacks__toolbar { padding: 10px 12px; }
.rm-feedbacks__toolbar-actions { flex: 1; }
.rm-feedbacks__sort { flex: 1; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.rm-feedbacks__sort::-webkit-scrollbar { display:none; }
.rm-feedbacks__sort-button { min-height: 36px; }

.rm-feedback-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 18px; isolation: isolate; }
.rm-feedback-modal__backdrop { position: absolute; z-index: 0; inset: 0; border: 0; background: rgba(2,5,9,.84); backdrop-filter: blur(9px); }
.rm-feedback-modal__panel { position: relative; z-index: 1; display:flex; width: min(580px,100%); max-height: min(780px,calc(100dvh - 36px)); min-height:0; flex-direction:column; overflow:hidden; border: 1px solid rgba(var(--cl-t-primary),.14); border-radius: 22px; outline: 0; background: radial-gradient(circle at 92% 0,rgba(var(--cl-accent),.11),transparent 38%),rgb(var(--cl-card)); box-shadow: 0 36px 110px rgba(0,0,0,.64); }
.rm-feedback-modal__content { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.rm-feedback-modal__head { position: sticky; z-index: 2; top: 0; display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 17px; border-bottom: 1px solid rgba(var(--cl-t-primary),.09); background: color-mix(in srgb,rgb(var(--cl-card)) 95%,transparent); backdrop-filter: blur(16px); }
.rm-feedback-modal__head > span { display:grid; min-width:0; grid-template-columns:36px minmax(0,1fr); column-gap:10px; }
.rm-feedback-modal__head > span > i { grid-row:1/3; display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:rgba(var(--cl-accent),.12); color:rgb(var(--cl-accent)); }
.rm-feedback-modal__head small { color:rgb(var(--cl-accent)); font-size:.56rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.rm-feedback-modal__head strong { overflow:hidden; color:rgb(var(--cl-t-primary)); font-size:.88rem; text-overflow:ellipsis; white-space:nowrap; }
.rm-feedback-modal__head > button { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border:1px solid rgba(var(--cl-t-primary),.15); border-radius:50%; background:rgba(var(--cl-background),.58); color:rgba(var(--cl-t-primary),.75); transition:border-color .2s ease,color .2s ease,transform .2s ease; }
.rm-feedback-modal__head > button:hover,.rm-feedback-modal__head > button:focus-visible { border-color:rgba(var(--cl-accent),.6); outline:0; color:rgb(var(--cl-accent)); transform:rotate(90deg); }
.rm-feedback-modal__review-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px 24px 0; }
.rm-feedback-modal__review-meta time { color:rgba(var(--cl-t-primary),.48); font-size:.7rem; }
.rm-feedback-modal__stars { display:flex; gap:4px; color:#00b889; }.rm-feedback-modal__stars .is-muted { color:rgba(var(--cl-t-primary),.17); }
.rm-feedback-modal__message { padding:22px 24px 25px; color:rgb(var(--cl-t-primary)); font-size:1.02rem; line-height:1.7; }
.rm-feedback-modal__attachment { display:block; width:calc(100% - 48px); max-height:320px; margin:0 24px 24px; border-radius:14px; object-fit:cover; }
.rm-feedback-modal__purchase { display:flex; align-items:center; gap:11px; padding:14px 17px; border-top:1px solid rgba(var(--cl-t-primary),.09); background:rgba(var(--cl-background),.28); }
.rm-feedback-modal__thumb { display:grid; width:44px; height:44px; flex:0 0 auto; place-items:center; overflow:hidden; border-radius:10px; background:rgba(var(--cl-background),.65); color:rgb(var(--cl-accent)); }.rm-feedback-modal__thumb img { width:100%; height:100%; object-fit:cover; }
.rm-feedback-modal__purchase > span { display:grid; min-width:0; flex:1; }.rm-feedback-modal__purchase small { color:#00b889; font-size:.56rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.rm-feedback-modal__purchase strong { overflow:hidden; color:rgba(var(--cl-t-primary),.84); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.rm-feedback-modal__purchase button { display:inline-flex; min-height:34px; align-items:center; gap:7px; padding:0 11px; border-radius:9px; background:rgba(var(--cl-accent),.12); color:rgb(var(--cl-accent)); font-size:.64rem; font-weight:850; }
.rm-feedback-modal__product { display:grid; grid-template-columns:minmax(210px,.92fr) minmax(0,1.08fr); gap:22px; padding:23px; }
.rm-feedback-modal__product-image { display:grid; aspect-ratio:16/9; grid-column:1/-1; place-items:center; overflow:hidden; border-radius:15px; background:rgba(var(--cl-background),.7); color:rgb(var(--cl-accent)); }.rm-feedback-modal__product-image img { width:100%; height:100%; object-fit:cover; }
.rm-feedback-modal__product-body { grid-column:1/-1; }.rm-feedback-modal__eyebrow { color:rgb(var(--cl-accent)); font-size:.59rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }.rm-feedback-modal__product h3 { margin-top:7px; color:rgb(var(--cl-t-primary)); font-size:1.28rem; font-weight:850; line-height:1.2; }
.rm-feedback-modal__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:17px; }.rm-feedback-modal__facts div { padding:11px 12px; border:1px solid rgba(var(--cl-t-primary),.09); border-radius:10px; background:rgba(var(--cl-background),.34); }.rm-feedback-modal__facts dt { color:rgba(var(--cl-t-primary),.42); font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.rm-feedback-modal__facts dd { margin-top:3px; color:#35ce9e; font-size:.72rem; font-weight:800; }.rm-feedback-modal__facts dd.is-out { color:#e36b6b; }
.rm-feedback-modal__cta { display:inline-flex; min-height:44px; grid-column:1/-1; align-items:center; justify-content:center; gap:8px; border-radius:11px; background:rgb(var(--cl-accent)); box-shadow:0 13px 30px rgba(var(--cl-accent),.18); color:rgb(var(--cl-t-accent)); font-size:.75rem; font-weight:850; }
.rm-modal-enter,.rm-modal-leave { transition:opacity .2s ease,transform .22s ease; }.rm-modal-enter-start,.rm-modal-leave-end { opacity:0; transform:scale(.97) translateY(6px); }.rm-modal-enter-end,.rm-modal-leave-start { opacity:1; transform:none; }

@media (max-width:640px) {
  .rm-feedbacks__toolbar { align-items:stretch; flex-direction:column; }.rm-feedbacks__toolbar-actions { width:100%; align-items:stretch; flex-direction:column; }.rm-feedbacks__sort { width:100%; }.rm-feedbacks__leave { width:100%; justify-content:center; min-height:42px; }
  .rm-feedback-modal { place-items:center; padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }
  .rm-feedback-modal__panel { width:min(500px,calc(100vw - 24px)); max-height:min(680px,calc(100dvh - 24px)); border-radius:18px; }
  .rm-feedback-modal__head { min-height:64px; padding:10px 12px 10px 14px; }
  .rm-feedback-modal__head > button { width:42px; height:42px; }
  .rm-feedback-modal__product { grid-template-columns:1fr; gap:12px; padding:14px; }
  .rm-feedback-modal__product-image { aspect-ratio:16/7; max-height:210px; }
  .rm-feedback-modal__facts { gap:7px; margin-top:13px; }
  .rm-feedback-modal__cta { position:sticky; z-index:2; bottom:0; min-height:48px; border-radius:11px; box-shadow:0 -12px 24px rgb(var(--cl-card)),0 12px 28px rgba(var(--cl-accent),.2); }
  .rm-feedback-modal__review-meta { padding:16px 16px 0; }.rm-feedback-modal__message { padding:15px 16px 18px; }.rm-feedback-modal__attachment { width:calc(100% - 32px); max-height:220px; margin-inline:16px; }.rm-feedback-modal__purchase { align-items:center; flex-wrap:nowrap; }.rm-feedback-modal__purchase button { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) {
  body:has([data-feedback-page]) .rm-review-rating__stars i { opacity:1; animation:none!important; transform:none; }
  .rm-feedback-modal *,.rm-feedbacks__grid { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Shared mobile header popups: Discord and Choices-powered selectors portal
   above the sticky header, use one stable centered surface, and scroll only
   their option list. Desktop keeps the existing compact header controls. */
.rm-discord-modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:20px; isolation:isolate; }
.rm-discord-modal__backdrop { position:absolute; z-index:0; inset:0; border:0; background:rgba(4,7,11,.82); backdrop-filter:blur(9px); }
.rm-discord-modal .rm-header-discord__panel { position:relative; z-index:1; top:auto; right:auto; width:min(360px,calc(100vw - 40px)); padding:20px; border-radius:18px; box-shadow:0 30px 90px rgba(0,0,0,.58); }
.rm-discord-modal .rm-header-discord__close { top:14px; right:14px; width:42px; height:42px; border-radius:50%; }
.rm-discord-modal .rm-header-discord__identity { min-height:48px; padding-right:50px; }
.rm-discord-modal .rm-header-discord__identity > i,.rm-discord-modal .rm-header-discord__identity img { width:44px; height:44px; border-radius:13px; }
.rm-header-discord__copy { margin:14px 0 0; color:rgba(var(--cl-t-primary),.58); font-size:.72rem; line-height:1.55; }
.rm-header-discord__counts.is-loading strong { animation:rmDiscordCountPulse .9s ease-in-out infinite alternate; }
@keyframes rmDiscordCountPulse { to { opacity:.42; } }
.rm-discord-modal .rm-header-discord__join { min-height:46px; font-size:.74rem; }
.rm-header-choice-modal { position:fixed; z-index:100; inset:0; display:none; overflow:hidden; place-items:center; padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); isolation:isolate; opacity:0; transition:opacity .18s ease; }
.rm-header-choice-modal.is-open { display:grid; }
.rm-header-choice-modal.is-visible { opacity:1; }
.rm-header-choice-modal__backdrop { position:absolute; z-index:0; inset:0; border:0; background:rgba(4,7,11,.82); backdrop-filter:blur(9px); }
.rm-header-choice-modal__panel { position:relative; z-index:1; display:flex; width:min(430px,calc(100vw - 24px)); max-height:min(620px,calc(100dvh - 24px)); min-height:0; flex-direction:column; overflow:hidden; border:1px solid rgba(var(--cl-t-primary),.14); border-radius:18px; background:rgb(var(--cl-card)); box-shadow:0 30px 90px rgba(0,0,0,.58); opacity:0; transform:scale(.97) translateY(5px); transition:opacity .18s ease,transform .2s ease; }
.rm-header-choice-modal.is-visible .rm-header-choice-modal__panel { opacity:1; transform:none; }
.rm-header-choice-modal__panel > header { display:flex; min-height:64px; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px 10px 16px; border-bottom:1px solid rgba(var(--cl-t-primary),.09); }
.rm-header-choice-modal__panel > header span { display:flex; align-items:center; gap:10px; color:rgb(var(--cl-t-primary)); }
.rm-header-choice-modal__panel > header span i { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:rgba(var(--cl-accent),.12); color:rgb(var(--cl-accent)); }
.rm-header-choice-modal__panel > header strong { font-size:.9rem; font-weight:850; }
.rm-header-choice-modal__close { display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(var(--cl-t-primary),.15); border-radius:50%; background:rgba(var(--cl-background),.58); color:rgba(var(--cl-t-primary),.75); }
.rm-header-choice-modal__body { min-height:0; overflow:hidden; padding:10px; }
.rm-header-choice-modal__body { display:grid; gap:4px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.rm-header-choice-option { display:flex; width:100%; min-height:48px; align-items:center; gap:10px; padding:10px 12px; border:1px solid transparent; border-radius:10px; background:transparent; color:rgba(var(--cl-t-primary),.78); font-size:.78rem; font-weight:750; text-align:left; transition:border-color .18s ease,background .18s ease,color .18s ease; }
.rm-header-choice-option:hover,.rm-header-choice-option:focus-visible { border-color:rgba(var(--cl-t-primary),.1); outline:0; background:rgba(var(--cl-t-primary),.06); color:rgb(var(--cl-t-primary)); }
.rm-header-choice-option.is-selected { border-color:rgba(var(--cl-accent),.25); background:rgba(var(--cl-accent),.14); color:rgb(var(--cl-accent)); }
.rm-header-choice-option > span { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rm-header-choice-option > i { color:rgb(var(--cl-accent)); }
.rm-header-choice-modal__body .choices__list--dropdown { position:static!important; display:block!important; width:100%!important; max-height:none!important; margin:0!important; padding:0!important; overflow:hidden!important; visibility:visible!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; transform:none!important; }
.rm-header-choice-modal__body .choices__list--dropdown .choices__list { max-height:min(490px,calc(100dvh - 118px))!important; overflow-y:auto!important; overscroll-behavior:contain; scrollbar-width:thin; }
.rm-header-choice-modal__body .choices__list--dropdown .choices__item { display:flex!important; min-height:48px!important; align-items:center; gap:10px!important; padding:10px 12px!important; border-radius:10px!important; color:rgba(var(--cl-t-primary),.78)!important; font-size:.78rem!important; font-weight:750!important; }
.rm-header-choice-modal__body .choices__list--dropdown .choices__item.is-highlighted { background:rgba(var(--cl-t-primary),.06)!important; color:rgb(var(--cl-t-primary))!important; }
.rm-header-choice-modal__body .choices__list--dropdown .choices__item.is-selected { background:rgba(var(--cl-accent),.14)!important; color:rgb(var(--cl-accent))!important; }
.rm-header-choice-modal__body .rm-language-flag { width:20px!important; height:20px!important; flex:0 0 20px!important; }
@media (max-width:620px) { .rm-discord-modal { padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }.rm-discord-modal .rm-header-discord__panel { width:min(390px,calc(100vw - 24px)); }.rm-header-choice-modal__panel { max-height:calc(100dvh - 24px); } }
@media (prefers-reduced-motion:reduce) { .rm-header-choice-modal,.rm-header-choice-modal__panel,.rm-discord-modal * { transition:none!important; } }

/* Feedback composer and Products-page Discord community -------------------- */
.rm-feedback-compose__body label:has(textarea) { display:grid; width:100%; min-width:0; gap:8px; }
.rm-feedback-compose__body textarea { display:block!important; width:100%!important; min-width:0!important; max-width:100%!important; min-height:124px!important; margin:0!important; padding:14px 15px!important; resize:vertical; appearance:none; border:1px solid rgba(var(--cl-t-primary),.13)!important; border-radius:12px!important; outline:0!important; background:rgba(var(--cl-background),.78)!important; background-image:linear-gradient(145deg,rgba(var(--cl-accent),.035),transparent 55%)!important; color:rgb(var(--cl-t-primary))!important; caret-color:rgb(var(--cl-accent)); box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important; font-size:.78rem!important; line-height:1.55!important; transition:border-color .2s ease,background .2s ease,box-shadow .2s ease!important; }
.rm-feedback-compose__body textarea::placeholder { color:rgba(var(--cl-t-primary),.34)!important; opacity:1; }
.rm-feedback-compose__body textarea:hover { border-color:rgba(var(--cl-t-primary),.22)!important; background-color:rgba(var(--cl-background),.88)!important; }
.rm-feedback-compose__body textarea:focus,.rm-feedback-compose__body textarea:focus-visible { border-color:rgba(var(--cl-accent),.72)!important; box-shadow:0 0 0 3px rgba(var(--cl-accent),.1),inset 0 1px 0 rgba(255,255,255,.035)!important; }

.rm-products-discord { width:min(calc(100% - 32px),1360px); margin:54px auto 72px; }
.rm-products-discord__shell { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:18px; overflow:hidden; padding:22px 24px; border:1px solid rgba(var(--cl-t-primary),.12); border-radius:18px; background:linear-gradient(125deg,rgba(88,101,242,.12),rgba(var(--cl-card),.92) 38%,rgba(var(--cl-accent),.04)); box-shadow:0 22px 65px rgba(0,0,0,.16); }
.rm-products-discord__shell::after { position:absolute; width:240px; height:240px; right:-90px; top:-135px; border-radius:50%; background:rgba(88,101,242,.12); filter:blur(36px); content:""; pointer-events:none; }
.rm-products-discord__mark { position:relative; z-index:1; display:grid; width:60px; height:60px; place-items:center; overflow:hidden; border:1px solid rgba(88,101,242,.3); border-radius:17px; background:#5865f2; color:#fff; box-shadow:0 12px 32px rgba(88,101,242,.22); }
.rm-products-discord__mark img { width:100%; height:100%; object-fit:cover; }.rm-products-discord__mark i { font-size:1.45rem; }
.rm-products-discord__copy { position:relative; z-index:1; min-width:0; }.rm-products-discord__copy > span { color:#8791ff; font-size:.61rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.rm-products-discord__copy h2 { margin:5px 0 4px; color:rgb(var(--cl-t-primary)); font-size:clamp(1.05rem,2vw,1.4rem); font-weight:850; letter-spacing:-.025em; }.rm-products-discord__copy p { max-width:600px; color:rgba(var(--cl-t-primary),.56); font-size:.72rem; line-height:1.55; }
.rm-products-discord__error { display:block; margin-top:7px; color:#ff8d8d; font-size:.6rem; font-weight:700; line-height:1.4; }
.rm-products-discord__stats { position:relative; z-index:1; display:flex; overflow:hidden; border:1px solid rgba(var(--cl-t-primary),.09); border-radius:12px; background:rgba(var(--cl-background),.42); }.rm-products-discord__stats span { display:grid; min-width:86px; gap:2px; padding:10px 13px; }.rm-products-discord__stats span+span { border-left:1px solid rgba(var(--cl-t-primary),.08); }.rm-products-discord__stats strong { color:rgb(var(--cl-t-primary)); font-size:.9rem; }.rm-products-discord__stats small { color:rgba(var(--cl-t-primary),.4); font-size:.55rem; }
.rm-products-discord__stats.is-loading strong { animation:rmDiscordCountPulse .9s ease-in-out infinite alternate; }
.rm-products-discord__open { position:relative; z-index:1; display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:9px; padding:0 17px; border:1px solid rgba(88,101,242,.58); border-radius:11px; background:#5865f2; color:#fff; font-size:.7rem; font-weight:850; transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }.rm-products-discord__open:hover { transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 12px 28px rgba(88,101,242,.22); }
.rm-products-discord__open:disabled { cursor:not-allowed; filter:saturate(.45); opacity:.52; transform:none; box-shadow:none; }
@media(max-width:760px){.rm-products-discord{width:min(calc(100% - 24px),520px);margin:38px auto 54px}.rm-products-discord__shell{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.rm-products-discord__mark{width:52px;height:52px;border-radius:14px}.rm-products-discord__stats{grid-column:1/-1;width:100%}.rm-products-discord__stats span{min-width:0;flex:1}.rm-products-discord__open{grid-column:1/-1;width:100%}.rm-products-discord__copy p{font-size:.68rem}}

/* Live Discord community — presentation follows Visual Editor theme variables. */
.rm-products-discord {
  --rm-discord-accent: rgb(var(--cl-accent));
  --rm-discord-accent-soft: rgba(var(--cl-accent), .12);
  --rm-discord-surface: rgb(var(--cl-card));
  --rm-discord-canvas: rgb(var(--cl-background));
}
.rm-products-discord__shell {
  grid-template-columns: auto minmax(220px, 1fr) auto auto auto;
  isolation: isolate;
  overflow: visible;
  background: linear-gradient(125deg, rgba(var(--cl-accent), .12), rgba(var(--cl-card), .96) 42%, rgba(var(--cl-accent), .035));
  box-shadow: 0 22px 65px rgba(0,0,0,.16), inset 0 1px 0 rgba(var(--cl-t-primary),.03);
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.rm-products-discord[data-appearance="solid"] .rm-products-discord__shell { background: rgb(var(--cl-card)); }
.rm-products-discord[data-appearance="subtle"] .rm-products-discord__shell { background: rgba(var(--cl-card), .68); box-shadow: none; }
.rm-products-discord__shell::before {
  position: absolute; z-index: -1; top: -1px; left: 8%; width: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgb(var(--cl-accent)), transparent);
  opacity: .7; content: "";
}
.rm-products-discord.is-entered .rm-products-discord__shell::before { width: 54%; transition: width .8s cubic-bezier(.2,.8,.2,1); }
.rm-products-discord__shell::after { display:none; }
.rm-products-discord__mark {
  overflow: visible; border-color: rgba(var(--cl-accent), .55); background: rgb(var(--cl-accent)); color: rgb(var(--cl-t-accent));
  box-shadow: 0 12px 32px rgba(var(--cl-accent), .22), 0 0 0 4px rgba(var(--cl-accent), .045);
  transition: transform .25s ease, box-shadow .25s ease;
}
.rm-products-discord__mark img { border-radius: inherit; }
.rm-products-discord__mark:hover { transform: scale(1.045); box-shadow: 0 15px 36px rgba(var(--cl-accent), .28), 0 0 0 5px rgba(var(--cl-accent), .07); }
.rm-products-discord__presence { position:absolute; right:-2px; bottom:-2px; width:12px; height:12px; border:3px solid rgb(var(--cl-card)); border-radius:50%; background:#23c55e; box-shadow:0 0 0 0 rgba(35,197,94,.35); animation:rmDiscordPresence 3s ease-out infinite; }
.rm-products-discord__copy > span { display:flex; align-items:center; gap:12px; color:rgb(var(--cl-accent)); }
.rm-products-discord__copy > span em { display:inline-flex; align-items:center; gap:5px; color:rgba(var(--cl-t-primary),.52); font-size:.54rem; font-style:normal; font-weight:750; letter-spacing:.02em; text-transform:none; }
.rm-products-discord__copy > span em i,.rm-discord-modal__identity em i { width:6px; height:6px; border-radius:50%; background:#23c55e; }
.rm-products-discord__error strong { display:block; color:rgb(var(--cl-t-primary)); }
.rm-products-discord__stats { background:rgba(var(--cl-background),.42); }
.rm-products-discord__stats span { position:relative; grid-template-columns:auto 1fr; column-gap:7px; align-items:center; }
.rm-products-discord__stats span > i { grid-row:1/3; color:rgb(var(--cl-accent)); font-size:.65rem; }
.rm-products-discord__open,.rm-header-discord__join { border-color:rgba(var(--cl-accent),.62); background:rgb(var(--cl-accent)); color:rgb(var(--cl-t-accent)); box-shadow:0 10px 25px rgba(var(--cl-accent),.16); }
.rm-products-discord__open i { transition:transform .2s ease; }.rm-products-discord__open:hover i { transform:translateX(4px); }
.rm-products-discord__open:hover { box-shadow:0 13px 30px rgba(var(--cl-accent),.24); }
.rm-discord-members { display:flex; min-width:0; align-items:center; gap:10px; }
.rm-discord-members__stack { display:flex; padding-left:7px; transition:gap .22s ease; }
.rm-discord-members__stack:hover { gap:2px; }
.rm-discord-member { position:relative; display:block; width:30px; height:30px; margin-left:-7px; border:2px solid rgb(var(--cl-card)); border-radius:50%; background:rgb(var(--cl-background)); box-shadow:0 4px 12px rgba(0,0,0,.2); transition:transform .2s ease, margin .2s ease; }
.rm-discord-member:hover { z-index:3; transform:translateY(-2px) scale(1.06); }
.rm-discord-member img { width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.rm-discord-member i { position:absolute; right:-1px; bottom:-1px; width:8px; height:8px; border:2px solid rgb(var(--cl-card)); border-radius:50%; background:#23c55e; }
.rm-discord-members small { color:rgba(var(--cl-t-primary),.48); font-size:.56rem; white-space:nowrap; }.rm-discord-members small strong { color:rgb(var(--cl-t-primary)); }
.rm-products-discord:not(.is-entered)[data-animate="true"] .rm-products-discord__shell { opacity:0; transform:translateY(14px); }
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__shell { animation:rmDiscordCardIn .55s cubic-bezier(.2,.8,.2,1) both; }
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__mark,
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__copy,
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__members,
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__stats,
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__open { animation:rmDiscordPartIn .42s ease both; }
.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__copy { animation-delay:.06s }.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__members { animation-delay:.11s }.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__stats { animation-delay:.15s }.rm-products-discord.is-entered[data-animate="true"] .rm-products-discord__open { animation-delay:.2s }
.rm-products-discord.is-loading .rm-products-discord__mark,.rm-products-discord.is-loading .rm-products-discord__stats strong { animation:rmDiscordSkeleton 1s ease-in-out infinite alternate; }
.rm-discord-modal--community .rm-header-discord__panel { width:min(460px,calc(100vw - 32px)); padding:24px; background:linear-gradient(145deg,rgba(var(--cl-accent),.07),rgb(var(--cl-card)) 32%); }
.rm-discord-modal--community .rm-header-discord__identity > i { background:rgb(var(--cl-accent)); color:rgb(var(--cl-t-accent)); }
.rm-header-discord__trigger { color:rgb(var(--cl-accent)); }
.rm-header-discord__trigger:hover { border-color:rgba(var(--cl-accent),.7); background:rgba(var(--cl-accent),.12); }
.rm-discord-modal__identity em { display:flex; align-items:center; gap:5px; margin-top:3px; color:rgba(var(--cl-t-primary),.5); font-size:.56rem; font-style:normal; }.rm-discord-modal__identity em strong { color:inherit; font-size:inherit; }
.rm-discord-modal__members { margin:17px 0 2px; padding:13px; border:1px solid rgba(var(--cl-t-primary),.08); border-radius:12px; background:rgba(var(--cl-background),.34); }
.rm-discord-modal--community .rm-header-discord__counts { grid-template-columns:repeat(3,1fr); }
.rm-discord-modal--community .rm-header-discord__counts span + span { border-left:1px solid rgba(var(--cl-t-primary),.08); }
@keyframes rmDiscordCardIn { from { opacity:0; transform:translateY(14px) } to { opacity:1; transform:none } }
@keyframes rmDiscordPartIn { from { opacity:0; transform:translateY(7px) } to { opacity:1; transform:none } }
@keyframes rmDiscordAmbient { from { transform:translate3d(-8px,-4px,0) scale(.96) } to { transform:translate3d(10px,7px,0) scale(1.04) } }
@keyframes rmDiscordPresence { 0%,60%,100% { box-shadow:0 0 0 0 rgba(35,197,94,.32) } 80% { box-shadow:0 0 0 5px rgba(35,197,94,0) } }
@keyframes rmDiscordSkeleton { from { opacity:.42 } to { opacity:.85 } }
@media(max-width:900px){.rm-products-discord__shell{grid-template-columns:auto minmax(0,1fr) auto}.rm-products-discord__members{grid-column:2}.rm-products-discord__stats{grid-column:1/3}.rm-products-discord__open{grid-column:3;grid-row:2}}
@media(max-width:620px){
  .rm-products-discord__shell { grid-template-columns:1fr; justify-items:center; gap:13px; padding:22px 18px; text-align:center; }
  .rm-products-discord__mark,.rm-products-discord__copy,.rm-products-discord__members,.rm-products-discord__stats,.rm-products-discord__open { grid-column:1; grid-row:auto; }
  .rm-products-discord__copy > span { justify-content:center; flex-wrap:wrap; }.rm-products-discord__copy p { max-width:390px; }
  .rm-products-discord__members { flex-direction:column; gap:7px; }.rm-products-discord__stats { width:100%; }.rm-products-discord__open { width:100%; }
  .rm-discord-modal--community .rm-header-discord__panel { width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; padding:21px 18px; }
  .rm-discord-modal__members { align-items:flex-start; flex-direction:column; }.rm-discord-modal--community .rm-header-discord__counts { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce){.rm-products-discord *,.rm-products-discord *::before,.rm-products-discord *::after{animation:none!important;transition-duration:.01ms!important}.rm-products-discord:not(.is-entered)[data-animate="true"] .rm-products-discord__shell{opacity:1;transform:none}}

/* Configurable Spin the Wheel promotion. */
.rm-spin{position:fixed;z-index:130;inset:0;display:grid;place-items:center;padding:16px}.rm-spin__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(9px)}
.rm-spin__dialog{position:relative;width:min(880px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden;padding:28px;border:1px solid rgba(var(--cl-accent),.28);border-radius:22px;background:radial-gradient(circle at 20% 0,rgba(var(--cl-accent),.15),transparent 38%),rgb(var(--cl-card));box-shadow:0 35px 100px rgba(0,0,0,.58);animation:rmSpinModalIn .3s cubic-bezier(.2,.8,.2,1);contain:layout paint}
.rm-spin__dialog--intro{width:min(440px,calc(100vw - 32px));padding:22px 24px 24px;background:radial-gradient(circle at 50% -18%,rgba(var(--cl-accent),.18),transparent 46%),linear-gradient(145deg,rgba(var(--cl-card),.99),rgba(var(--cl-background),.94));transition:width .28s cubic-bezier(.2,.8,.2,1)}
.rm-spin__dialog--result{width:min(500px,calc(100vw - 32px));padding:26px 30px 30px;background:radial-gradient(circle at 50% -15%,rgba(var(--cl-accent),.16),transparent 43%),linear-gradient(145deg,rgba(var(--cl-card),.995),rgba(var(--cl-background),.96))}
.rm-spin__close{position:absolute;z-index:5;top:20px;right:20px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(var(--cl-t-primary),.13);border-radius:50%;background:rgb(var(--cl-card));color:rgba(var(--cl-t-primary),.72)}
.rm-spin__intro,.rm-spin__result{display:grid;max-width:510px;min-height:320px;align-content:center;justify-items:center;gap:14px;margin:auto;text-align:center}.rm-spin__dialog--intro .rm-spin__intro{width:100%;min-height:330px;gap:12px;padding:8px 6px 2px}.rm-spin__intro-brand{display:grid;justify-items:center;gap:8px;margin-bottom:3px}.rm-spin__intro-brand img,.rm-spin__intro-brand>span{display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border:1px solid rgba(var(--cl-accent),.42);border-radius:17px;background:linear-gradient(145deg,rgba(var(--cl-accent),.17),rgba(var(--cl-background),.72));color:rgb(var(--cl-accent));font-size:1.15rem;object-fit:cover;box-shadow:0 14px 34px rgba(0,0,0,.24),0 0 0 5px rgba(var(--cl-accent),.045)}.rm-spin__intro-brand strong{max-width:260px;overflow:hidden;color:rgba(var(--cl-t-primary),.82);font-size:.72rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.rm-spin__dialog--intro h2{font-size:clamp(1.65rem,7vw,2.05rem)}.rm-spin__dialog--intro .rm-spin__primary{width:min(310px,100%);margin-top:4px}.rm-spin__eyebrow{display:inline-flex;align-items:center;gap:7px;color:rgb(var(--cl-accent));font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.rm-spin h2{margin:0;color:rgb(var(--cl-t-primary));font-size:clamp(1.55rem,4vw,2.45rem);font-weight:900;letter-spacing:-.045em}.rm-spin p{max-width:470px;margin:0;color:rgba(var(--cl-t-primary),.6);font-size:.83rem;line-height:1.6}
.rm-spin__primary{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:0 21px;border:1px solid rgba(var(--cl-accent),.62);border-radius:12px;background:rgb(var(--cl-accent));color:rgb(var(--cl-t-accent));font-size:.76rem;font-weight:850;box-shadow:0 12px 30px rgba(var(--cl-accent),.18);transition:transform .2s ease,filter .2s ease}.rm-spin__primary:hover{transform:translateY(-2px);filter:brightness(1.07)}.rm-spin__primary:disabled{cursor:not-allowed;opacity:.45;transform:none}.rm-spin__dismiss{color:rgba(var(--cl-t-primary),.5);font-size:.7rem;font-weight:750}
.rm-spin__experience{display:grid;grid-template-columns:minmax(280px,390px) minmax(240px,1fr);align-items:center;gap:36px;clear:both}.rm-spin__side{display:grid;align-content:center;gap:13px}.rm-spin__brand{display:inline-flex;max-width:100%;align-items:center;gap:10px;margin-bottom:2px}.rm-spin__brand img,.rm-spin__brand>span{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(var(--cl-accent),.35);border-radius:12px;background:rgba(var(--cl-accent),.1);color:rgb(var(--cl-accent));object-fit:cover;box-shadow:0 8px 22px rgba(0,0,0,.2)}.rm-spin__brand strong{overflow:hidden;color:rgba(var(--cl-t-primary),.86);font-size:.78rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.rm-spin__wheel-wrap{position:relative;display:grid;width:var(--wheel-size);height:var(--wheel-size);place-items:center;margin:auto}.rm-spin__wheel{position:relative;width:100%;height:100%;overflow:hidden;border:8px solid rgba(var(--cl-t-primary),.11);border-radius:50%;background:rgba(var(--cl-background),.35);box-shadow:0 18px 55px rgba(0,0,0,.35),inset 0 0 0 2px rgba(var(--cl-t-primary),.12);transition-property:transform;transition-timing-function:cubic-bezier(.12,.64,.08,1)}.rm-spin__segments{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible}.rm-spin__segments path{stroke:rgba(var(--cl-t-primary),.025);stroke-width:.16;vector-effect:non-scaling-stroke}.rm-spin__pointer{position:absolute;z-index:4;top:-11px;left:50%;color:rgb(var(--cl-accent));font-size:2.2rem;filter:drop-shadow(0 4px 7px rgba(0,0,0,.4));transform:translateX(-50%)}.rm-spin__label{position:absolute;z-index:1;top:50%;left:50%;display:grid;justify-items:center;gap:4px;color:rgb(var(--cl-t-primary));font-size:clamp(.52rem,calc(var(--wheel-size) * .0018),.62rem);line-height:1.1;text-align:center;transform-origin:center}.rm-spin__label i{display:grid;width:clamp(21px,calc(var(--wheel-size) * .075),27px);height:clamp(21px,calc(var(--wheel-size) * .075),27px);place-items:center;border:1px solid rgba(var(--cl-t-primary),.13);border-radius:8px;background:rgba(var(--cl-background),.18);font-size:clamp(.72rem,calc(var(--wheel-size) * .031),1rem);filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}.rm-spin__label b{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.rm-spin__hub{position:absolute;z-index:3;inset:50% auto auto 50%;display:grid;width:62px;height:62px;place-items:center;border:5px solid rgba(var(--cl-t-primary),.14);border-radius:50%;background:rgb(var(--cl-card));color:rgb(var(--cl-accent));font-size:.64rem;font-weight:950;letter-spacing:.12em;transform:translate(-50%,-50%)}
.rm-spin__allocation{display:flex;align-items:center;gap:7px;color:#ff9c69;font-size:.65rem}.rm-spin__allocation.is-valid{color:#38d882}.rm-spin__result-icon{display:grid!important;width:68px;height:68px;padding:0!important;place-items:center;align-items:center;justify-content:center;border:1px solid rgba(var(--cl-accent),.35);border-radius:20px;background:rgba(var(--cl-accent),.12);color:rgb(var(--cl-accent));font-size:1.65rem;line-height:1!important;text-align:center;animation:rmSpinWin .55s ease}.rm-spin__result-icon:before{display:block;line-height:1!important;transform:none}.rm-spin__dialog--result .rm-spin__result{width:100%;max-width:390px;min-height:390px;gap:13px;padding:24px 0 4px}.rm-spin__dialog--result .rm-spin__result h2{font-size:clamp(1.8rem,7vw,2.25rem)}.rm-spin__result.is-loss .rm-spin__result-icon{border-color:rgba(var(--cl-t-primary),.16);background:rgba(var(--cl-t-primary),.07);color:rgba(var(--cl-t-primary),.78)}.rm-spin__code{display:grid;width:min(370px,100%);min-height:54px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:7px 8px 7px 15px;border:1px dashed rgba(var(--cl-accent),.55);border-radius:12px;background:rgba(var(--cl-accent),.07)}.rm-spin__code strong{min-width:0;overflow:hidden;color:rgb(var(--cl-t-primary));font-size:.92rem;letter-spacing:.12em;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rm-spin__code button{display:inline-flex;min-height:38px;flex:0 0 auto;align-items:center;gap:7px;padding:0 11px;border-left:1px solid rgba(var(--cl-accent),.2);color:rgb(var(--cl-accent));font-size:.68rem;font-weight:850;white-space:nowrap}.rm-spin__code button i{display:grid;width:14px;height:14px;flex:0 0 14px;place-items:center}.rm-spin__result .rm-spin__primary{width:min(370px,100%)}
@keyframes rmSpinModalIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes rmSpinWin{0%{transform:scale(.86);opacity:0}65%{transform:scale(1.06)}100%{transform:none;opacity:1}}
@media(max-width:700px){.rm-spin{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.rm-spin__dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px 16px 20px;border-radius:19px}.rm-spin__dialog--intro{width:min(420px,calc(100vw - 24px));padding:18px 18px 20px}.rm-spin__dialog--result{width:min(460px,calc(100vw - 24px));padding:20px 18px 22px}.rm-spin__close{top:14px;right:14px;width:40px;height:40px}.rm-spin__intro{min-height:min(430px,calc(100dvh - 64px));padding:30px 8px}.rm-spin__dialog--intro .rm-spin__intro{min-height:min(360px,calc(100dvh - 64px));padding:10px 4px 0}.rm-spin__experience{grid-template-columns:1fr;gap:17px;text-align:center}.rm-spin__side{justify-items:center}.rm-spin__brand{justify-content:center}.rm-spin__brand img,.rm-spin__brand>span{width:36px;height:36px;border-radius:10px}.rm-spin__side p{font-size:.72rem}.rm-spin__wheel-wrap{max-width:100%}.rm-spin__side .rm-spin__primary{width:100%}.rm-spin__result{min-height:min(500px,calc(100dvh - 70px));padding:28px 3px}.rm-spin__dialog--result .rm-spin__result{min-height:min(430px,calc(100dvh - 68px));padding:34px 0 4px}.rm-spin__code{gap:8px;padding-left:12px}.rm-spin__code button{padding:0 8px}.rm-spin__label{width:clamp(56px,25%,68px);font-size:clamp(.47rem,2.15vw,.54rem);gap:2px}.rm-spin__label i{width:clamp(19px,7.5vw,23px);height:clamp(19px,7.5vw,23px);border-radius:7px;font-size:clamp(.68rem,3.2vw,.83rem)}}
@media(max-height:690px) and (max-width:700px){.rm-spin__dialog{padding:13px}.rm-spin__experience{gap:8px}.rm-spin__side{gap:7px}.rm-spin__side p{display:none}.rm-spin__wheel-wrap{--wheel-size:min(230px,42dvh)!important}.rm-spin h2{font-size:1.35rem}.rm-spin__primary{min-height:42px}}
@media(prefers-reduced-motion:reduce){.rm-spin *{animation:none!important;transition-duration:.01ms!important}}

/* Text, Media & Links: borderless editorial media with a controlled crop. */
.rm-text-media__shell--surface.rm-text-media__shell--has-media{border:0!important}
.rm-text-media__shell--has-media .rm-text-media__visual{isolation:isolate;overflow:hidden;border:0!important;border-radius:20px;background:rgb(var(--cl-background));box-shadow:0 24px 64px rgba(0,0,0,.34),0 1px 0 rgba(var(--cl-t-primary),.04)}
.rm-text-media__shell--has-media .rm-text-media__visual::before{position:absolute;z-index:2;inset:0;background:linear-gradient(145deg,rgba(var(--cl-t-primary),.035),transparent 34%,rgba(var(--cl-accent),.035));content:"";pointer-events:none}
.rm-text-media__shell--has-media .rm-text-media__visual img,.rm-text-media__shell--has-media .rm-text-media__visual video,.rm-text-media__shell--has-media .rm-text-media__visual lite-youtube{transform:scale(1.002);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.rm-text-media__shell--has-media .rm-text-media__visual:hover img,.rm-text-media__shell--has-media .rm-text-media__visual:hover video,.rm-text-media__shell--has-media .rm-text-media__visual:hover lite-youtube{filter:saturate(1.04) contrast(1.02);transform:scale(1.018)}
@media(max-width:760px){.rm-text-media__shell--has-media .rm-text-media__visual{border-radius:16px;box-shadow:0 17px 42px rgba(0,0,0,.3)}}

/* Why Choose Us: reserve a real caption row below pricing/dashboard demos.
   These captions previously used the legacy absolute footer and could cover
   the last line of the interactive preview at narrow widths. */
.rm-why-choose__demo:has(.rm-demo-checkout),
.rm-why-choose__demo:has(.rm-demo-dashboard){
  display:flex;
  min-height:360px;
  flex-direction:column;
  overflow:hidden;
}
.rm-why-choose__demo:has(.rm-demo-checkout) .rm-demo-checkout,
.rm-why-choose__demo:has(.rm-demo-dashboard) .rm-demo-dashboard{
  width:100%;
  flex:1 1 auto;
  box-sizing:border-box;
  margin-bottom:12px;
}
.rm-why-choose__demo:has(.rm-demo-checkout) .rm-demo-checkout{margin-top:38px}
.rm-why-choose__demo:has(.rm-demo-dashboard) .rm-demo-dashboard{margin-top:38px}
.rm-why-choose__demo:has(.rm-demo-checkout) .rm-why-choose__demo-copy,
.rm-why-choose__demo:has(.rm-demo-dashboard) .rm-why-choose__demo-copy{
  position:static!important;
  inset:auto!important;
  width:100%;
  min-height:44px;
  flex:0 0 auto;
  align-items:center;
  box-sizing:border-box;
  margin:0!important;
  padding:10px 12px;
}
@media(max-width:560px){
  .rm-why-choose__demo:has(.rm-demo-checkout),
  .rm-why-choose__demo:has(.rm-demo-dashboard){min-height:370px;padding:14px}
  .rm-why-choose__demo:has(.rm-demo-checkout) .rm-demo-checkout,
  .rm-why-choose__demo:has(.rm-demo-dashboard) .rm-demo-dashboard{margin-top:28px;margin-bottom:10px}
  .rm-why-choose__demo:has(.rm-demo-dashboard) .rm-demo-dashboard{min-height:205px}
  .rm-why-choose__demo:has(.rm-demo-checkout) .rm-why-choose__demo-copy,
  .rm-why-choose__demo:has(.rm-demo-dashboard) .rm-why-choose__demo-copy{min-height:48px;padding:9px 10px;font-size:.67rem;line-height:1.4}
}