:root {
  --rm-al-bg: #0b1220;
  --rm-al-surface: rgba(20, 31, 52, .84);
  --rm-al-surface-strong: rgba(25, 39, 65, .96);
  --rm-al-border: rgba(148, 163, 184, .2);
  --rm-al-border-strong: rgba(125, 211, 252, .34);
  --rm-al-text: #eef6ff;
  --rm-al-muted: rgba(226, 232, 240, .7);
  --rm-al-primary: #38bdf8;
  --rm-al-primary-strong: #2563eb;
  --rm-al-success: #34d399;
  --rm-al-danger: #fb7185;
  --rm-al-warning: #fbbf24;
  --rm-al-shadow: 0 28px 80px rgba(2, 8, 23, .38);
  --rm-al-radius-xl: 32px;
  --rm-al-radius-lg: 24px;
  --rm-al-radius-md: 18px;
}

body.light-theme {
  --rm-al-bg: #eef5ff;
  --rm-al-surface: rgba(255, 255, 255, .84);
  --rm-al-surface-strong: rgba(255, 255, 255, .98);
  --rm-al-border: rgba(71, 85, 105, .16);
  --rm-al-border-strong: rgba(37, 99, 235, .25);
  --rm-al-text: #172033;
  --rm-al-muted: rgba(51, 65, 85, .72);
  --rm-al-shadow: 0 24px 70px rgba(30, 64, 175, .12);
}

.rm-al-page,
.rm-al-page * {
  box-sizing: border-box;
}

.rm-al-page {
  width: min(1120px, calc(100% - 32px));
  margin: 34px auto 90px;
  color: var(--rm-al-text);
  direction: rtl;
}

.rm-al-page button,
.rm-al-page input {
  font: inherit;
}

.rm-al-access-zone {
  margin-top: 0;
}

.rm-al-access-card,
.rm-al-player-section {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rm-al-border);
  border-radius: var(--rm-al-radius-xl);
  background: var(--rm-al-surface);
  box-shadow: var(--rm-al-shadow);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.rm-al-access-card {
  max-width: 820px;
  margin-inline: auto;
  padding: 46px;
}

.rm-al-access-card__glow {
  position: absolute;
  width: 300px;
  height: 300px;
  left: -170px;
  bottom: -180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 99, 235, .3), transparent 70%);
  pointer-events: none;
}

.rm-al-access-card__header {
  position: relative;
  text-align: center;
  margin-bottom: 34px;
}

.rm-al-access-card__eyebrow,
.rm-al-access-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(52, 211, 153, .12);
  color: #6ee7b7;
  border: 1px solid rgba(52, 211, 153, .25);
  font-size: .78rem;
  font-weight: 900;
}

body.light-theme .rm-al-access-card__eyebrow,
body.light-theme .rm-al-access-badge {
  color: #047857;
}

.rm-al-access-card__header h2 {
  margin: 16px 0 0;
  font-size: clamp(1.35rem, 2.5vw, 2.15rem);
  line-height: 1.55;
}

.rm-al-access-card__header p {
  max-width: 650px;
  margin: 12px auto 0;
  color: var(--rm-al-muted);
  line-height: 1.95;
}

.rm-al-step {
  animation: rmAlStepIn .32s ease both;
}

.rm-al-step[hidden] {
  display: none !important;
}

@keyframes rmAlStepIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.rm-al-form {
  display: grid;
  gap: 22px;
}

.rm-al-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rm-al-field {
  display: grid;
  gap: 9px;
  color: var(--rm-al-text);
  font-size: .9rem;
  font-weight: 800;
}

.rm-al-field input {
  width: 100%;
  min-height: 58px;
  padding: 12px 16px;
  border: 1px solid var(--rm-al-border);
  border-radius: 16px;
  outline: none;
  background: rgba(15, 23, 42, .5);
  color: var(--rm-al-text);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

body.light-theme .rm-al-field input {
  background: rgba(248, 250, 252, .94);
}

.rm-al-field input:focus {
  border-color: var(--rm-al-primary);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, .12);
}

.rm-al-field input[aria-invalid="true"] {
  border-color: var(--rm-al-danger);
  box-shadow: 0 0 0 4px rgba(251, 113, 133, .1);
}

.rm-al-field small {
  color: var(--rm-al-muted);
  font-size: .73rem;
  font-weight: 500;
  line-height: 1.7;
}

.rm-al-field--mobile input,
.rm-al-field--otp input {
  direction: ltr;
  text-align: center;
  letter-spacing: .09em;
}

.rm-al-field--otp {
  width: min(100%, 360px);
  margin-inline: auto;
}

.rm-al-field--otp input {
  min-height: 72px;
  font-size: 1.7rem;
  font-weight: 900;
  letter-spacing: .32em;
}

.rm-al-primary-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 12px 24px;
  border: 0;
  border-radius: 17px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, var(--rm-al-primary-strong), #0ea5e9);
  box-shadow: 0 14px 30px rgba(37, 99, 235, .26);
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.rm-al-primary-button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(37, 99, 235, .34);
}

.rm-al-primary-button:disabled {
  cursor: wait;
  opacity: .72;
}

.rm-al-button-spinner {
  display: none;
  width: 19px;
  height: 19px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: rmAlSpin .8s linear infinite;
}

.rm-al-primary-button.is-loading .rm-al-button-spinner {
  display: inline-block;
}

@keyframes rmAlSpin { to { transform: rotate(360deg); } }

.rm-al-otp-copy {
  text-align: center;
}

.rm-al-otp-copy h3 {
  margin: 12px 0 0;
  font-size: 1.25rem;
}

.rm-al-otp-copy p {
  margin: 8px 0 0;
  color: var(--rm-al-muted);
}

.rm-al-otp-icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(56, 189, 248, .12);
  color: var(--rm-al-primary);
  letter-spacing: .18em;
  font-weight: 900;
}

.rm-al-otp-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rm-al-text-button {
  border: 0;
  padding: 8px 0;
  background: transparent;
  color: var(--rm-al-primary);
  cursor: pointer;
  font-size: .82rem;
  font-weight: 800;
}

.rm-al-text-button:disabled {
  color: var(--rm-al-muted);
  cursor: default;
}

.rm-al-message {
  margin-top: 20px;
  padding: 13px 16px;
  border-radius: 14px;
  text-align: center;
  line-height: 1.8;
  font-size: .86rem;
}

.rm-al-message.is-error {
  color: #fecdd3;
  border: 1px solid rgba(251, 113, 133, .28);
  background: rgba(159, 18, 57, .18);
}

body.light-theme .rm-al-message.is-error {
  color: #9f1239;
  background: #fff1f2;
}

.rm-al-message.is-success {
  color: #a7f3d0;
  border: 1px solid rgba(52, 211, 153, .28);
  background: rgba(6, 95, 70, .2);
}

body.light-theme .rm-al-message.is-success {
  color: #065f46;
  background: #ecfdf5;
}

.rm-al-player-section {
  padding: 34px;
}

.rm-al-player-heading {
  position: relative;
  margin-bottom: 18px;
  padding: 15px 20px 16px 22px;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, .16);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .075), rgba(52, 211, 153, .025)),
    rgba(255, 255, 255, .018);
  text-align: right;
}

.rm-al-player-heading::before {
  content: "";
  position: absolute;
  top: 13px;
  right: 0;
  bottom: 13px;
  width: 3px;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(180deg, #38bdf8, #34d399);
  box-shadow: 0 0 18px rgba(56, 189, 248, .3);
}

.rm-al-player-heading__copy {
  position: relative;
  z-index: 1;
}

.rm-al-player-greeting {
  margin: 0;
  color: var(--rm-al-muted);
  font-size: clamp(.82rem, 1.35vw, .98rem);
  font-weight: 800;
  line-height: 1.8;
}

.rm-al-player-landing-title {
  margin: 3px 0 0;
  color: var(--rm-al-text);
  font-size: clamp(1.15rem, 2.15vw, 1.62rem);
  font-weight: 920;
  line-height: 1.6;
  letter-spacing: -.015em;
}

body.light-theme .rm-al-player-heading {
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .055), rgba(16, 185, 129, .025)),
    rgba(255, 255, 255, .76);
}

.rm-al-player-shell {
  overflow: hidden;
  border: 1px solid var(--rm-al-border-strong);
  border-radius: 24px;
  background: #020617;
}

.rm-al-player-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  min-height: 260px;
  overflow: hidden;
  background: #020617;
}

.rm-al-secure-player {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
}

.rm-al-player-poster {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #020617;
  opacity: 1;
  visibility: visible;
  transition: opacity .3s ease, visibility .3s ease;
}

.rm-al-player-shell.is-media-ready .rm-al-player-poster {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rm-al-player-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

.rm-al-player-overlay,
.rm-al-player-loading,
.rm-al-player-error {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 24px;
  text-align: center;
  color: #fff;
}

.rm-al-player-overlay {
  border: 0;
  cursor: pointer;
  background:
    linear-gradient(to top, rgba(2, 6, 23, .86), rgba(2, 6, 23, .2)),
    radial-gradient(circle at center, rgba(37, 99, 235, .25), transparent 50%);
  transition: opacity .25s ease, visibility .25s ease;
}

.rm-al-player-shell.is-started .rm-al-player-overlay {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rm-al-player-play {
  position: relative;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .4);
  box-shadow: 0 0 0 12px rgba(255,255,255,.05);
}

.rm-al-player-play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-42%, -50%);
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-right: 0;
  border-left: 19px solid #fff;
}

.rm-al-player-overlay strong {
  margin-top: 7px;
  font-size: 1.1rem;
}

.rm-al-player-error span {
  color: rgba(255,255,255,.72);
  line-height: 1.75;
}

.rm-al-player-loading {
  z-index: 4;
  background: rgba(2, 6, 23, .82);
}

.rm-al-player-shell.has-poster .rm-al-player-loading {
  background: linear-gradient(to top, rgba(2, 6, 23, .42), rgba(2, 6, 23, .08));
  text-shadow: 0 2px 10px rgba(0, 0, 0, .75);
}

.rm-al-player-spinner {
  width: 44px;
  height: 44px;
  border: 3px solid rgba(255,255,255,.24);
  border-top-color: #38bdf8;
  border-radius: 50%;
  animation: rmAlSpin .75s linear infinite;
}

.rm-al-player-error {
  z-index: 5;
  background: rgba(30, 41, 59, .96);
}

.rm-al-player-empty {
  display: grid;
  place-items: center;
  min-height: 330px;
  padding: 36px;
  text-align: center;
  color: #e2e8f0;
}

.rm-al-player-empty > span {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin-bottom: 14px;
  border-radius: 22px;
  background: rgba(56, 189, 248, .14);
  color: #7dd3fc;
  font-size: 1.5rem;
}

.rm-al-player-empty h3 {
  margin: 0;
  font-size: 1.15rem;
}

.rm-al-player-empty p {
  max-width: 560px;
  margin: 10px 0 0;
  color: #94a3b8;
  line-height: 1.9;
}


.rm-al-download-row {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.rm-al-download-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 220px;
  min-height: 48px;
  padding: 11px 22px;
  border: 1px solid rgba(52, 211, 153, .28);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(16, 185, 129, .14), rgba(56, 189, 248, .08)),
    rgba(255, 255, 255, .025);
  color: #b9fbdc;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(2, 8, 23, .16);
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.rm-al-download-button:hover {
  transform: translateY(-2px);
  border-color: rgba(52, 211, 153, .5);
  background:
    linear-gradient(135deg, rgba(16, 185, 129, .21), rgba(56, 189, 248, .11)),
    rgba(255, 255, 255, .035);
  box-shadow: 0 14px 34px rgba(2, 8, 23, .22);
}

.rm-al-download-button__icon {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border-radius: 9px;
  background: rgba(52, 211, 153, .13);
  font-size: 1.1rem;
  line-height: 1;
}

body.light-theme .rm-al-download-button {
  color: #047857;
  background:
    linear-gradient(135deg, rgba(16, 185, 129, .09), rgba(37, 99, 235, .045)),
    rgba(255, 255, 255, .92);
}


.rm-al-gift-countdown {
  --rm-al-gift-progress: 0deg;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-top: 22px;
  padding: 20px 22px;
  overflow: hidden;
  border: 1px solid rgba(56, 189, 248, .2);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 20%, rgba(56, 189, 248, .1), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(52, 211, 153, .08), transparent 34%),
    var(--rm-al-surface);
  box-shadow: 0 18px 46px rgba(2, 8, 23, .18);
  transition:
    opacity .34s ease,
    transform .34s ease,
    border-color .3s ease,
    background .3s ease;
}

.rm-al-gift-countdown[hidden] {
  display: none !important;
}

.rm-al-gift-countdown.is-leaving {
  opacity: 0;
  transform: translateY(-8px) scale(.99);
  pointer-events: none;
}

.rm-al-gift-countdown.is-complete {
  border-color: rgba(52, 211, 153, .44);
  background:
    radial-gradient(circle at 92% 20%, rgba(52, 211, 153, .13), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(56, 189, 248, .08), transparent 34%),
    var(--rm-al-surface);
}

.rm-al-gift-countdown__accent {
  position: absolute;
  top: 14px;
  right: 0;
  bottom: 14px;
  width: 3px;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(180deg, #38bdf8, #34d399);
  box-shadow: 0 0 22px rgba(56, 189, 248, .34);
}

.rm-al-gift-countdown__copy {
  min-width: 0;
  padding-right: 4px;
}

.rm-al-gift-countdown__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  color: #7dd3fc;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .02em;
}

.rm-al-gift-countdown__spark {
  color: #6ee7b7;
  font-size: .9rem;
  animation: rmAlGiftSpark 2.2s ease-in-out infinite;
}

.rm-al-gift-countdown__copy > strong {
  display: block;
  color: var(--rm-al-text);
  font-size: clamp(.98rem, 1.7vw, 1.18rem);
  font-weight: 900;
  line-height: 1.75;
}

.rm-al-gift-countdown__copy > small {
  display: block;
  margin-top: 3px;
  color: var(--rm-al-muted);
  font-size: .74rem;
  line-height: 1.8;
}

.rm-al-gift-countdown__clock {
  position: relative;
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  flex: 0 0 104px;
}

.rm-al-gift-countdown__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    conic-gradient(
      #34d399 0deg,
      #38bdf8 var(--rm-al-gift-progress),
      rgba(148, 163, 184, .13) var(--rm-al-gift-progress),
      rgba(148, 163, 184, .13) 360deg
    );
  box-shadow:
    0 0 0 1px rgba(125, 211, 252, .08),
    0 12px 28px rgba(2, 8, 23, .22);
}

.rm-al-gift-countdown__ring-inner {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--rm-al-surface-strong);
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .08);
}

.rm-al-gift-countdown__time-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  gap: 1px;
}

.rm-al-gift-countdown__time {
  direction: ltr;
  color: var(--rm-al-text);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  font-size: 1.28rem;
  font-weight: 950;
  letter-spacing: .02em;
}

.rm-al-gift-countdown__time-wrap small {
  color: var(--rm-al-muted);
  font-size: .57rem;
  font-weight: 700;
}

.rm-al-gift-countdown__bar {
  position: absolute;
  right: 22px;
  left: 22px;
  bottom: 0;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, .09);
}

.rm-al-gift-countdown__bar > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #38bdf8, #34d399);
  transition: width .28s linear;
}

.rm-al-gift-countdown.is-complete .rm-al-gift-countdown__eyebrow,
.rm-al-gift-countdown.is-complete .rm-al-gift-countdown__copy > strong {
  color: #6ee7b7;
}

body.light-theme .rm-al-gift-countdown {
  background:
    radial-gradient(circle at 92% 20%, rgba(37, 99, 235, .055), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(16, 185, 129, .05), transparent 34%),
    rgba(255, 255, 255, .88);
}

body.light-theme .rm-al-gift-countdown__eyebrow {
  color: #0369a1;
}

body.light-theme .rm-al-gift-countdown.is-complete .rm-al-gift-countdown__eyebrow,
body.light-theme .rm-al-gift-countdown.is-complete .rm-al-gift-countdown__copy > strong {
  color: #047857;
}

@keyframes rmAlGiftSpark {
  0%, 100% { opacity: .55; transform: scale(.88) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.08) rotate(12deg); }
}


.rm-al-stage25-offer {
  position: relative;
  margin-top: 22px;
  padding: 26px;
  overflow: hidden;
  border: 1px solid rgba(52, 211, 153, .24);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(16, 185, 129, .075), rgba(56, 189, 248, .045)),
    var(--rm-al-surface);
  box-shadow: 0 20px 54px rgba(2, 8, 23, .2);
  isolation: isolate;
}

.rm-al-stage25-offer[hidden] { display: none !important; }

.rm-al-stage25-offer.is-visible {
  animation: rmAlStage25OfferIn .52s cubic-bezier(.2,.75,.2,1) both;
}

.rm-al-stage25-offer__glow {
  position: absolute;
  z-index: -1;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  filter: blur(10px);
  pointer-events: none;
}

.rm-al-stage25-offer__glow--one {
  top: -125px;
  left: -80px;
  background: rgba(56, 189, 248, .1);
}

.rm-al-stage25-offer__glow--two {
  right: -110px;
  bottom: -145px;
  background: rgba(52, 211, 153, .11);
}

.rm-al-stage25-offer__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 26px;
}

.rm-al-stage25-offer__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  color: #6ee7b7;
  font-size: .72rem;
  font-weight: 950;
}

.rm-al-stage25-offer__head h2 {
  margin: 0;
  color: var(--rm-al-text);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  line-height: 1.65;
  font-weight: 950;
}

.rm-al-stage25-offer__head p {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--rm-al-muted);
  font-size: .86rem;
  line-height: 2;
}

.rm-al-stage25-offer__head p strong { color: var(--rm-al-text); }

.rm-al-stage25-offer__percent {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  place-content: center;
  width: 104px;
  height: 104px;
  border: 1px solid rgba(52, 211, 153, .26);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(52, 211, 153, .15), rgba(56, 189, 248, .08));
}

.rm-al-stage25-offer__percent strong {
  color: #6ee7b7;
  font-size: 2rem;
  line-height: 1;
  font-weight: 950;
}

.rm-al-stage25-offer__percent > span {
  align-self: end;
  color: #7dd3fc;
  font-size: 1rem;
  font-weight: 900;
}

.rm-al-stage25-offer__percent small {
  grid-column: 1 / -1;
  margin-top: 5px;
  color: var(--rm-al-muted);
  font-size: .62rem;
  text-align: center;
}

.rm-al-stage25-offer__coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px dashed rgba(125, 211, 252, .29);
  border-radius: 18px;
  background: rgba(2, 8, 23, .2);
}

.rm-al-stage25-offer__coupon-copy { min-width: 0; }

.rm-al-stage25-offer__coupon-copy > span {
  display: block;
  color: var(--rm-al-muted);
  font-size: .68rem;
  font-weight: 750;
}

.rm-al-stage25-offer__coupon-copy > strong {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
  color: #e0fbff;
  font-size: clamp(1.28rem, 3vw, 1.78rem);
  font-weight: 950;
  letter-spacing: .08em;
}

.rm-al-stage25-offer__copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid rgba(125, 211, 252, .22);
  border-radius: 12px;
  background: rgba(56, 189, 248, .08);
  color: #bae6fd;
  font-family: inherit;
  font-size: .75rem;
  font-weight: 850;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.rm-al-stage25-offer__copy-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(125, 211, 252, .42);
  background: rgba(56, 189, 248, .13);
}

.rm-al-stage25-offer__copy-btn.is-copied {
  border-color: rgba(52, 211, 153, .38);
  background: rgba(52, 211, 153, .12);
  color: #a7f3d0;
}

.rm-al-stage25-offer__expiry {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 15px;
  padding: 12px 14px;
  border-radius: 15px;
  background: rgba(245, 158, 11, .055);
  border: 1px solid rgba(245, 158, 11, .15);
}

.rm-al-stage25-offer__expiry-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  background: rgba(245, 158, 11, .11);
  color: #fbbf24;
  font-size: 1rem;
}

.rm-al-stage25-offer__expiry strong {
  display: block;
  color: #fde68a;
  font-size: .76rem;
}

.rm-al-stage25-offer__expiry span {
  display: block;
  margin-top: 2px;
  color: var(--rm-al-muted);
  font-size: .69rem;
  line-height: 1.75;
}

.rm-al-stage25-offer__expiry b {
  color: #fde68a;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rm-al-stage25-offer__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 54px;
  margin-top: 18px;
  padding: 12px 18px;
  border: 1px solid rgba(52, 211, 153, .34);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(16,185,129,.86), rgba(5,150,105,.92));
  color: #fff;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 950;
  box-shadow: 0 12px 30px rgba(5,150,105,.18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.rm-al-stage25-offer__cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 16px 36px rgba(5,150,105,.24);
}

.rm-al-stage25-offer__cta-arrow { font-size: 1.2rem; }

.rm-al-stage25-offer__cta.is-disabled,
.rm-al-stage25-offer__cta[aria-disabled="true"] {
  opacity: .48;
  pointer-events: none;
  filter: grayscale(.45);
}

.rm-al-stage25-offer__note {
  margin: 8px 0 0;
  color: var(--rm-al-muted);
  font-size: .64rem;
  line-height: 1.7;
  text-align: center;
}

.rm-al-stage25-offer.is-expired { opacity: .72; }

@keyframes rmAlStage25OfferIn {
  from { opacity: 0; transform: translateY(14px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}



/* =========================================================
   Stage 25 Academy Offer
   Core visual identity comes from /assets/src/academy.css.
   ========================================================= */

.rm-al-stage25-academy-offer {
  margin-top: 24px;
}

.rm-al-stage25-academy-offer[hidden] {
  display: none !important;
}

.rm-al-stage25-academy-offer.is-visible {
  animation: rmAlStage25OfferIn .52s cubic-bezier(.2,.75,.2,1) both;
}

.rm-al-stage25-academy-shell {
  width: 100%;
  margin: 0;
  padding: 0;
}

.rm-al-stage25-academy-shell .rm-al-stage25-bundle-card {
  width: 100%;
  margin: 0;
}

.rm-al-stage25-offer-content {
  min-width: 0;
  display: grid;
  gap: 22px;
}

.rm-al-stage25-coupon-row {
  background:
    radial-gradient(circle at 50% 0%, rgba(56,189,248,.11), transparent 55%),
    rgba(56,189,248,.055) !important;
  border-color: rgba(125,211,252,.30) !important;
}

.rm-al-stage25-coupon-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.rm-al-stage25-coupon-head > span {
  color: rgba(226,240,241,.78);
  font-size: .72rem;
  font-weight: 850;
}

.rm-al-stage25-coupon-copy {
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid rgba(125,211,252,.28);
  border-radius: 9px;
  background: rgba(56,189,248,.08);
  color: #bae6fd;
  font: inherit;
  font-size: .62rem;
  font-weight: 900;
  cursor: pointer;
  transition: .18s ease;
}

.rm-al-stage25-coupon-copy:hover {
  transform: translateY(-1px);
  background: rgba(56,189,248,.14);
  border-color: rgba(125,211,252,.46);
}

.rm-al-stage25-coupon-copy.is-copied {
  color: #bfffea;
  background: rgba(35,214,169,.11);
  border-color: rgba(35,214,169,.30);
}

.rm-al-stage25-coupon-code {
  display: block;
  max-width: 100%;
  color: #7dd3fc !important;
  font-size: clamp(1rem, 2.7vw, 1.34rem) !important;
  line-height: 1.4 !important;
  letter-spacing: .06em;
  overflow-wrap: anywhere;
}

.rm-al-stage25-coupon-amount {
  color: #bfffea !important;
}

.rm-al-stage25-base-price,
.rm-al-stage25-final-row small {
  display: block;
  color: rgba(226,240,241,.64);
  font-size: .66rem;
  line-height: 1.75;
  font-weight: 760;
}

.rm-al-stage25-final-row small {
  color: rgba(191,255,236,.74);
}

.rm-al-stage25-buy-note {
  margin: -5px 0 0;
  color: rgba(226,240,241,.60);
  font-size: .63rem;
  line-height: 1.75;
  text-align: center;
}

@media (min-width: 1101px) {
  .rm-al-stage25-academy-shell .rm-al-stage25-bundle-card {
    grid-template-columns: minmax(0, 1.55fr) minmax(310px, .80fr);
    grid-template-rows: auto;
    column-gap: clamp(28px, 3vw, 42px);
    row-gap: 22px;
    align-items: stretch;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content {
    grid-column: 1;
    grid-row: 1;
    align-content: start;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content .ap-full-bundle-main {
    align-items: flex-start;
    text-align: right;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content .ap-full-bundle-main h3,
  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content .ap-full-bundle-main p,
  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content .ap-full-bundle-note {
    max-width: none;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content .ap-full-bundle-includes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-side {
    grid-column: 2;
    grid-row: 1;
    min-height: 100%;
    align-self: stretch;
  }
}

@media (min-width: 681px) and (max-width: 1100px) {
  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content {
    gap: 24px;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content .ap-full-bundle-includes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-side .ap-full-bundle-calc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-final-row {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .rm-al-stage25-academy-offer {
    margin-top: 16px;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-bundle-card {
    padding: 18px 13px;
    gap: 16px;
    border-radius: 22px;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-content {
    gap: 16px;
  }

  .rm-al-stage25-academy-shell .ap-full-bundle-main h3 {
    font-size: 1.32rem;
  }

  .rm-al-stage25-academy-shell .ap-full-bundle-main p {
    font-size: .76rem;
    line-height: 1.95;
  }

  .rm-al-stage25-academy-shell .ap-full-bundle-note {
    padding: 11px 12px;
    border-radius: 14px;
    font-size: .75rem;
    line-height: 1.85;
  }

  .rm-al-stage25-academy-shell .ap-bundle-mini-card {
    min-height: 88px;
  }

  .rm-al-stage25-academy-shell .ap-bundle-mini-media,
  .rm-al-stage25-academy-shell .ap-bundle-mini-gift-icon {
    flex-basis: 70px;
    width: 70px;
    height: 62px;
  }

  .rm-al-stage25-academy-shell .rm-al-stage25-offer-side {
    padding: 15px 12px;
    border-radius: 19px;
  }

  .rm-al-stage25-buy-note {
    font-size: .6rem;
  }
}




/* Stage-25 simplified price column */
.rm-al-stage25-all-terms-price .ap-full-bundle-calc-price {
  color: #f4f7f5;
  text-decoration: none;
  font-size: clamp(1.15rem, 2.6vw, 1.7rem);
}

.rm-al-stage25-academy-offer + .rm-al-content-stack {
  margin-top: 24px;
}

.rm-al-page.is-academy-member {
  max-width: 900px;
}

.rm-al-member-access {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px 20px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(52, 211, 153, .24);
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 14%, rgba(52, 211, 153, .11), transparent 29%),
    radial-gradient(circle at 8% 90%, rgba(56, 189, 248, .08), transparent 34%),
    var(--rm-al-surface);
  box-shadow: 0 22px 56px rgba(2, 8, 23, .2);
}

.rm-al-member-access__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(52, 211, 153, .3);
  border-radius: 20px;
  background: rgba(52, 211, 153, .1);
  color: #6ee7b7;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

.rm-al-member-access__icon span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(52, 211, 153, .14);
  font-size: 1.1rem;
  font-weight: 950;
}

.rm-al-member-access__copy {
  min-width: 0;
}

.rm-al-member-access__eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #6ee7b7;
  font-size: .7rem;
  font-weight: 900;
}

.rm-al-member-access__copy h1 {
  margin: 0;
  color: var(--rm-al-text);
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  line-height: 1.65;
  font-weight: 950;
}

.rm-al-member-access__copy p {
  margin: 7px 0 0;
  color: var(--rm-al-muted);
  font-size: .84rem;
  line-height: 2;
}

.rm-al-member-access__copy p strong {
  color: var(--rm-al-text);
}

.rm-al-member-access__button {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 52px;
  padding: 12px 18px;
  border: 1px solid rgba(52, 211, 153, .35);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(16,185,129,.88), rgba(5,150,105,.94));
  color: #fff;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 950;
  box-shadow: 0 13px 30px rgba(5,150,105,.2);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.rm-al-member-access__button:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 17px 36px rgba(5,150,105,.25);
}

body.light-theme .rm-al-member-access {
  border-color: rgba(16, 185, 129, .22);
  background:
    radial-gradient(circle at 88% 14%, rgba(16, 185, 129, .07), transparent 29%),
    radial-gradient(circle at 8% 90%, rgba(37, 99, 235, .035), transparent 34%),
    rgba(255,255,255,.92);
}

body.light-theme .rm-al-member-access__eyebrow {
  color: #047857;
}

body.light-theme .rm-al-member-access__icon {
  border-color: #bde8da;
  background: #effbf7;
  color: #047857;
}

.rm-al-content-stack {
  display: grid;
  gap: 26px;
  margin-top: 34px;
}

.rm-al-content-block {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease;
}

.rm-al-content-block.is-visible {
  opacity: 1;
  transform: none;
}

.rm-al-content-block__heading {
  margin: 0 0 14px;
  padding: 0 8px;
}

.rm-al-content-block__heading h2 {
  margin: 0;
  font-size: 1.35rem;
}

.rm-al-content-block__body {
  overflow: hidden;
  border: 1px solid var(--rm-al-border);
  border-radius: var(--rm-al-radius-xl);
  background: var(--rm-al-surface);
  box-shadow: var(--rm-al-shadow);
}

.rm-al-content-block__body > .rmw7-hero,
.rm-al-content-block__body > .rmw7-roadmap,
.rm-al-content-block__body > .rmw7-gifts-section,
.rm-al-content-block__body > .rmw7-language-access {
  margin: 0 !important;
  max-width: none !important;
  border-radius: var(--rm-al-radius-xl);
}

.rm-al-content-block__body .rmw7-nav {
  display: none !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 900px) {
  .rm-al-page {
    width: min(100% - 22px, 760px);
    margin-top: 20px;
  }

  .rm-al-player-heading {
    text-align: center;
  }

}

@media (max-width: 640px) {
  .rm-al-page {
    width: min(100% - 14px, 520px);
    margin-bottom: 64px;
  }

  .rm-al-access-card,
  .rm-al-player-section,
  .rm-al-content-block__body {
    border-radius: 22px;
  }

  .rm-al-access-card,
  .rm-al-player-section {
    padding: 24px 16px;
  }

  .rm-al-player-heading {
    margin-bottom: 14px;
    padding: 13px 15px 14px 17px;
    border-radius: 15px;
    text-align: center;
  }

  .rm-al-player-heading::before {
    top: 10px;
    bottom: 10px;
  }

  .rm-al-player-greeting {
    font-size: .8rem;
  }

  .rm-al-player-landing-title {
    margin-top: 3px;
    font-size: clamp(1.08rem, 5.3vw, 1.4rem);
  }

  .rm-al-download-row {
    margin-top: 14px;
  }

  .rm-al-download-button {
    width: 100%;
    min-height: 47px;
  }

  .rm-al-form-grid {
    grid-template-columns: 1fr;
  }

  .rm-al-field input,
  .rm-al-primary-button {
    min-height: 55px;
  }

  .rm-al-otp-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .rm-al-player-frame {
    min-height: 210px;
    aspect-ratio: 16 / 10;
  }

  .rm-al-player-play {
    width: 62px;
    height: 62px;
  }

  .rm-al-gift-countdown {
    grid-template-columns: 1fr auto;
    gap: 14px;
    margin-top: 16px;
    padding: 16px 14px 17px;
    border-radius: 18px;
  }

  .rm-al-gift-countdown__copy > strong {
    font-size: .9rem;
    line-height: 1.7;
  }

  .rm-al-gift-countdown__copy > small {
    font-size: .67rem;
    line-height: 1.65;
  }

  .rm-al-gift-countdown__clock {
    width: 82px;
    height: 82px;
  }

  .rm-al-gift-countdown__time {
    font-size: 1.03rem;
  }

  .rm-al-gift-countdown__time-wrap small {
    font-size: .49rem;
  }

  .rm-al-gift-countdown__bar {
    right: 14px;
    left: 14px;
  }

  .rm-al-stage25-offer {
    margin-top: 16px;
    padding: 18px 14px;
    border-radius: 20px;
  }

  .rm-al-stage25-offer__head {
    grid-template-columns: minmax(0, 1fr) 74px;
    gap: 12px;
    align-items: start;
  }

  .rm-al-stage25-offer__head h2 { font-size: 1.08rem; }

  .rm-al-stage25-offer__head p {
    font-size: .76rem;
    line-height: 1.85;
  }

  .rm-al-stage25-offer__percent {
    width: 74px;
    height: 74px;
    border-radius: 21px;
  }

  .rm-al-stage25-offer__percent strong { font-size: 1.45rem; }

  .rm-al-stage25-offer__coupon {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }

  .rm-al-stage25-offer__copy-btn { width: 100%; }

  .rm-al-stage25-offer__expiry { align-items: flex-start; }

  .rm-al-stage25-offer__cta {
    min-height: 50px;
    font-size: .82rem;
  }

  .rm-al-member-access {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 13px;
    padding: 20px 15px;
    border-radius: 20px;
    text-align: center;
  }

  .rm-al-member-access__icon {
    width: 56px;
    height: 56px;
    border-radius: 17px;
  }

  .rm-al-member-access__copy h1 {
    font-size: 1.13rem;
  }

  .rm-al-member-access__copy p {
    font-size: .76rem;
    line-height: 1.9;
  }

  .rm-al-member-access__button {
    grid-column: auto;
    width: 100%;
    min-height: 49px;
    font-size: .82rem;
  }

  .rm-al-content-stack {
    gap: 18px;
    margin-top: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm-al-page *,
  .rm-al-page *::before,
  .rm-al-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .rm-al-content-block {
    opacity: 1;
    transform: none;
  }
}

/* =========================================================
   Runtime secure-player visibility fix
   The author CSS sets display:flex on overlay/loading/error.
   Without explicit [hidden] rules that overrides the browser's
   default hidden behavior, so the error layer remains visible
   even before playback is attempted.
   ========================================================= */
.rm-al-player-overlay[hidden],
.rm-al-player-loading[hidden],
.rm-al-player-error[hidden] {
  display: none !important;
}

/* =========================================================
   Stage-25 campaign cards use one fixed dark campaign palette
   in BOTH site themes. They are campaign surfaces, not glass UI.
   ========================================================= */

.rm-al-stage25-offer,
body.light-theme .rm-al-stage25-offer {
  --rm-al-surface: #10243a;
  --rm-al-surface-strong: #142b43;
  --rm-al-text: #eef6ff;
  --rm-al-muted: rgba(226,232,240,.72);
  color: #eef6ff;
  border-color: rgba(52,211,153,.26);
  background:
    radial-gradient(circle at 92% 8%, rgba(56,189,248,.10), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(52,211,153,.09), transparent 34%),
    linear-gradient(145deg, #122a3b, #0d2034);
  box-shadow: 0 20px 54px rgba(2,8,23,.26);
}

body.light-theme .rm-al-stage25-offer__head h2,
body.light-theme .rm-al-stage25-offer__head p strong {
  color: #eef6ff;
}

body.light-theme .rm-al-stage25-offer__head p,
body.light-theme .rm-al-stage25-offer__percent small,
body.light-theme .rm-al-stage25-offer__coupon-copy > span,
body.light-theme .rm-al-stage25-offer__expiry span,
body.light-theme .rm-al-stage25-offer__note {
  color: rgba(226,232,240,.72);
}

body.light-theme .rm-al-stage25-offer__eyebrow {
  color: #6ee7b7;
}

body.light-theme .rm-al-stage25-offer__coupon {
  border-color: rgba(125,211,252,.29);
  background: rgba(2,8,23,.22);
}

body.light-theme .rm-al-stage25-offer__coupon-copy > strong {
  color: #e0fbff;
}

body.light-theme .rm-al-stage25-offer__copy-btn {
  border-color: rgba(125,211,252,.22);
  background: rgba(56,189,248,.08);
  color: #bae6fd;
}

body.light-theme .rm-al-stage25-offer__percent {
  border-color: rgba(52,211,153,.26);
  background: linear-gradient(145deg, rgba(52,211,153,.15), rgba(56,189,248,.08));
}

body.light-theme .rm-al-stage25-offer__percent strong {
  color: #6ee7b7;
}

body.light-theme .rm-al-stage25-offer__percent > span {
  color: #7dd3fc;
}

body.light-theme .rm-al-stage25-offer__expiry {
  border-color: rgba(245,158,11,.18);
  background: rgba(245,158,11,.06);
}

body.light-theme .rm-al-stage25-offer__expiry strong {
  color: #fde68a;
}

body.light-theme .rm-al-stage25-offer__expiry-icon {
  background: rgba(245,158,11,.11);
  color: #fbbf24;
}


/* Academy special-offer module: lock its original dark green/gold identity. */
.rm-al-stage25-academy-offer,
body.light-theme .rm-al-stage25-academy-offer {
  color: #eef4ef;
}

.rm-al-stage25-academy-offer .ap-full-bundle-card,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-card {
  border-color: rgba(219,183,86,.34) !important;
  background:
    radial-gradient(circle at 72% 10%, rgba(28,151,132,.16), transparent 35%),
    linear-gradient(145deg, #073b39 0%, #083431 52%, #062b2a 100%) !important;
  box-shadow: 0 22px 58px rgba(2,8,23,.28) !important;
  color: #eef4ef !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-main,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-main {
  color: #eef4ef !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-kicker,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-kicker {
  color: #f8dc88 !important;
  border-color: rgba(233,198,101,.35) !important;
  background: rgba(185,143,44,.10) !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-main h3,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-main h3 {
  color: #fff !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-main p,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-main p {
  color: rgba(230,239,236,.76) !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-note,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-note {
  color: rgba(230,239,236,.80) !important;
  border-color: rgba(229,196,103,.21) !important;
  background: rgba(255,255,255,.035) !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-side,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-side {
  border-color: rgba(225,194,105,.24) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(7,43,41,.62)) !important;
  color: #eef4ef !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-calc-row,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-calc-row {
  border-color: rgba(224,200,130,.18) !important;
  background: rgba(255,255,255,.045) !important;
  color: #eef4ef !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-all-terms-price .ap-full-bundle-calc-price,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-all-terms-price .ap-full-bundle-calc-price {
  color: #f4f7f5 !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-coupon-row,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-coupon-row {
  border-color: rgba(78,197,216,.30) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(56,189,248,.12), transparent 58%),
    rgba(17,83,91,.42) !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-coupon-head > span,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-coupon-head > span {
  color: rgba(226,240,241,.80) !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-coupon-code,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-coupon-code {
  color: #7dd3fc !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-coupon-amount,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-coupon-amount {
  color: #bfffea !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-final-row,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-final-row {
  border-color: rgba(52,211,153,.28) !important;
  background:
    linear-gradient(145deg, rgba(16,185,129,.18), rgba(5,150,105,.09)) !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-final-row > span,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-final-row > span {
  color: #bfffea !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-final-row .ap-full-bundle-calc-price,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-final-row .ap-full-bundle-calc-price {
  color: #f5d77e !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-card,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-card {
  color: #fff !important;
  box-shadow: none !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-card.is-green,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-card.is-green {
  border-color: rgba(67,194,165,.30) !important;
  background: linear-gradient(145deg, #125a50, #0b403d) !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-card.is-purple,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-card.is-purple {
  border-color: rgba(192,95,212,.30) !important;
  background: linear-gradient(145deg, #6b1976, #431052) !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-card.is-blue,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-card.is-blue {
  border-color: rgba(91,151,231,.31) !important;
  background: linear-gradient(145deg, #174b88, #0e315b) !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-card.is-gift,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-card.is-gift {
  border-color: rgba(226,185,76,.36) !important;
  background: linear-gradient(145deg, #76591b, #3f3413) !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-copy strong,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-copy strong {
  color: #fff !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-subtitle,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-subtitle {
  color: rgba(231,239,238,.72) !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-media,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-media,
.rm-al-stage25-academy-offer .ap-bundle-mini-gift-icon,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-gift-icon {
  border-color: rgba(234,205,121,.26) !important;
  background: rgba(6,32,32,.46) !important;
}

.rm-al-stage25-academy-offer .ap-bundle-mini-gift-icon,
body.light-theme .rm-al-stage25-academy-offer .ap-bundle-mini-gift-icon {
  color: #f5d77e !important;
}

.rm-al-stage25-academy-offer .ap-full-bundle-btn,
body.light-theme .rm-al-stage25-academy-offer .ap-full-bundle-btn {
  border-color: #f0d384 !important;
  background: linear-gradient(135deg, #f3d987, #e4bf61) !important;
  color: #122520 !important;
  box-shadow: 0 12px 28px rgba(218,177,73,.18) !important;
}

.rm-al-stage25-academy-offer .rm-al-stage25-buy-note,
body.light-theme .rm-al-stage25-academy-offer .rm-al-stage25-buy-note {
  color: rgba(226,240,241,.62) !important;
}

/* =========================================================
   Landing Preview Player
   The complete media card keeps one fixed dark palette in
   BOTH site themes, matching the dark-theme presentation.
   ========================================================= */

.rm-al-player-section,
body.light-theme .rm-al-player-section {
  --rm-al-surface: rgba(20, 31, 52, .84);
  --rm-al-surface-strong: rgba(25, 39, 65, .96);
  --rm-al-border: rgba(148, 163, 184, .20);
  --rm-al-border-strong: rgba(125, 211, 252, .34);
  --rm-al-text: #eef6ff;
  --rm-al-muted: rgba(226, 232, 240, .70);
  --rm-al-shadow: 0 28px 80px rgba(2, 8, 23, .38);

  color: #eef6ff;
  border-color: rgba(148, 163, 184, .20);
  background: rgba(20, 31, 52, .84);
  box-shadow: 0 28px 80px rgba(2, 8, 23, .38);
}

.rm-al-player-heading,
body.light-theme .rm-al-player-heading {
  border-color: rgba(125, 211, 252, .16);
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .075), rgba(52, 211, 153, .025)),
    rgba(255, 255, 255, .018);
}

.rm-al-player-greeting,
body.light-theme .rm-al-player-greeting {
  color: rgba(226, 232, 240, .70);
}

.rm-al-player-landing-title,
body.light-theme .rm-al-player-landing-title {
  color: #eef6ff;
}

.rm-al-player-shell,
body.light-theme .rm-al-player-shell {
  border-color: rgba(125, 211, 252, .34);
  background: #020617;
}

.rm-al-player-frame,
body.light-theme .rm-al-player-frame,
.rm-al-player-poster,
body.light-theme .rm-al-player-poster {
  background: #020617;
}

.rm-al-download-button,
body.light-theme .rm-al-download-button {
  border-color: rgba(52, 211, 153, .28);
  background:
    linear-gradient(135deg, rgba(16, 185, 129, .14), rgba(56, 189, 248, .08)),
    rgba(255, 255, 255, .025);
  color: #b9fbdc;
  box-shadow: 0 10px 28px rgba(2, 8, 23, .16);
}

.rm-al-download-button:hover,
body.light-theme .rm-al-download-button:hover {
  border-color: rgba(52, 211, 153, .50);
  background:
    linear-gradient(135deg, rgba(16, 185, 129, .21), rgba(56, 189, 248, .11)),
    rgba(255, 255, 255, .035);
  color: #b9fbdc;
  box-shadow: 0 14px 34px rgba(2, 8, 23, .22);
}

.rm-al-download-button__icon,
body.light-theme .rm-al-download-button__icon {
  background: rgba(52, 211, 153, .13);
  color: inherit;
}

/* =========================================================
   Guest Access Gate
   One fixed dark palette in BOTH site themes.
   ========================================================= */

.rm-al-gate,
body.light-theme .rm-al-gate {
  --rm-al-surface: #18263e;
  --rm-al-surface-strong: #142138;
  --rm-al-border: rgba(148, 163, 184, .20);
  --rm-al-border-strong: rgba(125, 211, 252, .30);
  --rm-al-text: #eef6ff;
  --rm-al-muted: rgba(226, 232, 240, .68);
  --rm-al-primary: #38bdf8;
  --rm-al-primary-strong: #2563eb;
  --rm-al-danger: #fb7185;
  --rm-al-shadow: 0 24px 64px rgba(2, 8, 23, .32);

  color: #eef6ff;
  border-color: rgba(148, 163, 184, .18);
  background:
    linear-gradient(145deg, #1b2a43 0%, #17243b 58%, #152238 100%);
  box-shadow: 0 24px 64px rgba(2, 8, 23, .32);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Remove the decorative blue corner glow entirely. */
.rm-al-gate .rm-al-access-card__glow,
body.light-theme .rm-al-gate .rm-al-access-card__glow {
  display: none !important;
}

.rm-al-gate .rm-al-access-card__header,
body.light-theme .rm-al-gate .rm-al-access-card__header {
  margin-bottom: 30px;
}

.rm-al-gate .rm-al-access-card__eyebrow,
body.light-theme .rm-al-gate .rm-al-access-card__eyebrow {
  color: #6ee7b7;
  border-color: rgba(52, 211, 153, .28);
  background: rgba(52, 211, 153, .11);
}

.rm-al-gate-titlebox,
body.light-theme .rm-al-gate-titlebox {
  position: relative;
  max-width: 700px;
  margin: 18px auto 0;
  padding: 18px 22px;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, .13);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .055), rgba(52, 211, 153, .025)),
    rgba(255, 255, 255, .025);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.rm-al-gate-titlebox::after,
body.light-theme .rm-al-gate-titlebox::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 0;
  bottom: 16px;
  width: 3px;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(180deg, #38bdf8, #34d399);
}

.rm-al-gate .rm-al-gate-titlebox h2,
body.light-theme .rm-al-gate .rm-al-gate-titlebox h2 {
  margin: 0;
  color: #eef6ff;
  font-size: clamp(1.08rem, 2.2vw, 1.55rem);
  line-height: 1.9;
  font-weight: 900;
}

.rm-al-gate .rm-al-form,
body.light-theme .rm-al-gate .rm-al-form {
  gap: 20px;
}

.rm-al-gate .rm-al-field,
body.light-theme .rm-al-gate .rm-al-field {
  color: #eef6ff;
}

.rm-al-gate .rm-al-field input,
body.light-theme .rm-al-gate .rm-al-field input {
  border-color: rgba(148, 163, 184, .20);
  background: rgba(8, 17, 33, .42);
  color: #eef6ff;
  box-shadow: none;
  -webkit-text-fill-color: #eef6ff;
}

.rm-al-gate .rm-al-field input::placeholder,
body.light-theme .rm-al-gate .rm-al-field input::placeholder {
  color: rgba(203, 213, 225, .48);
}

.rm-al-gate .rm-al-field input:focus,
body.light-theme .rm-al-gate .rm-al-field input:focus {
  border-color: #38bdf8;
  background: rgba(8, 17, 33, .58);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, .10);
}

.rm-al-gate .rm-al-field input[aria-invalid="true"],
body.light-theme .rm-al-gate .rm-al-field input[aria-invalid="true"] {
  border-color: #fb7185;
  box-shadow: 0 0 0 4px rgba(251, 113, 133, .09);
}

.rm-al-gate .rm-al-field small,
body.light-theme .rm-al-gate .rm-al-field small,
.rm-al-gate .rm-al-otp-copy p,
body.light-theme .rm-al-gate .rm-al-otp-copy p {
  color: rgba(226, 232, 240, .66);
}

.rm-al-gate .rm-al-primary-button,
body.light-theme .rm-al-gate .rm-al-primary-button {
  color: #fff;
  background: linear-gradient(135deg, #2f6cf0, #12a8e8);
  box-shadow: none;
}

.rm-al-gate .rm-al-primary-button:hover:not(:disabled),
body.light-theme .rm-al-gate .rm-al-primary-button:hover:not(:disabled) {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #356ff0, #16aeea);
  box-shadow: 0 10px 24px rgba(14, 165, 233, .12);
}

.rm-al-gate .rm-al-otp-copy h3,
body.light-theme .rm-al-gate .rm-al-otp-copy h3 {
  color: #eef6ff;
}

.rm-al-gate .rm-al-otp-icon,
body.light-theme .rm-al-gate .rm-al-otp-icon {
  background: rgba(56, 189, 248, .11);
  color: #7dd3fc;
}

.rm-al-gate .rm-al-text-button,
body.light-theme .rm-al-gate .rm-al-text-button {
  color: #7dd3fc;
}

.rm-al-gate .rm-al-message,
body.light-theme .rm-al-gate .rm-al-message {
  color: #eef6ff;
}

@media (max-width: 680px) {
  .rm-al-gate,
  body.light-theme .rm-al-gate {
    padding: 24px 15px;
    border-radius: 22px;
  }

  .rm-al-gate-titlebox,
  body.light-theme .rm-al-gate-titlebox {
    margin-top: 14px;
    padding: 15px 16px;
    border-radius: 15px;
  }

  .rm-al-gate .rm-al-gate-titlebox h2,
  body.light-theme .rm-al-gate .rm-al-gate-titlebox h2 {
    font-size: .98rem;
    line-height: 1.95;
  }
}

/* =========================================================
   Stage-25 Gift Card — minimal shadow treatment
   Keep green as an accent, remove colored glow / halo.
   ========================================================= */

.rm-al-stage25-offer,
body.light-theme .rm-al-stage25-offer {
  background: linear-gradient(145deg, #122a3b, #0d2034) !important;
  box-shadow: 0 8px 24px rgba(2, 8, 23, .14) !important;
}

/* Decorative colored glow layers are intentionally disabled. */
.rm-al-stage25-offer__glow,
body.light-theme .rm-al-stage25-offer__glow {
  display: none !important;
}

/* Keep percentage badge flat and clean. */
.rm-al-stage25-offer__percent,
body.light-theme .rm-al-stage25-offer__percent {
  box-shadow: none !important;
}

/* Coupon area should not radiate color. */
.rm-al-stage25-offer__coupon,
body.light-theme .rm-al-stage25-offer__coupon {
  box-shadow: none !important;
}

/* CTA keeps its green identity, but without the green halo. */
.rm-al-stage25-offer__cta,
body.light-theme .rm-al-stage25-offer__cta {
  box-shadow: none !important;
}

.rm-al-stage25-offer__cta:hover,
body.light-theme .rm-al-stage25-offer__cta:hover {
  box-shadow: none !important;
  transform: translateY(-1px);
}

/* =========================================================
   Landing Mobile Fullscreen / Theater Layer Authority
   Header + mobile footer toolbar must never composite above video.
   RoyalVideo already marks the body during both native fullscreen
   and Mobile Theater, so this stays scoped to active video mode only.
   ========================================================= */

@media (max-width: 949px) {

  /* Mobile Theater is a CSS fixed fullscreen replacement.
     Keep it at the highest practical stacking level. */
  body.rm-mobile-theater-body-lock
  .rv-player.rm-mobile-theater-active {
    z-index: 2147483647 !important;
    isolation: isolate !important;
  }

  /* Native/root fullscreen safety. */
  body.rm-video-fs .rv-player:fullscreen,
  body.rm-video-fs .rv-player:-webkit-full-screen,
  body.rm-video-fs .rv-root:fullscreen,
  body.rm-video-fs .rv-root:-webkit-full-screen,
  body.rm-video-fs .rv-video-wrap:fullscreen,
  body.rm-video-fs .rv-video-wrap:-webkit-full-screen {
    z-index: 2147483647 !important;
    isolation: isolate !important;
  }

  /*
   * Fixed site chrome uses its own transformed/backdrop-filter layers on mobile.
   * Some mobile browsers can composite those layers above a CSS fullscreen
   * player despite nominal z-index ordering. Hide them only while video
   * fullscreen/theater is active, then they return automatically on exit.
   */
  body.rm-mobile-theater-body-lock #siteHeaderShell,
  body.rm-mobile-theater-body-lock #rmStickyHeader,
  body.rm-mobile-theater-body-lock #rmStickyProfileBackdrop,
  body.rm-mobile-theater-body-lock #rmMobileBottomToolbar,
  body.rm-mobile-theater-body-lock .rm-footer,
  body.rm-mobile-theater-body-lock .topbar,
  body.rm-mobile-theater-body-lock .fab-cart2,
  body.rm-mobile-theater-body-lock .gift-floating-btn,

  body.rm-video-fs #siteHeaderShell,
  body.rm-video-fs #rmStickyHeader,
  body.rm-video-fs #rmStickyProfileBackdrop,
  body.rm-video-fs #rmMobileBottomToolbar,
  body.rm-video-fs .rm-footer,
  body.rm-video-fs .topbar,
  body.rm-video-fs .fab-cart2,
  body.rm-video-fs .gift-floating-btn {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* =========================================================
   Landing Purchase Authentication Guard
   Visual contract matches academy.php authentication modal.
   ========================================================= */
.ap-auth-modal[hidden] { display: none !important; }

.ap-auth-modal {
  --ap-auth-emerald-950: #03171b;
  --ap-auth-emerald-900: #062a2d;
  --ap-auth-emerald-800: #0a4141;
  --ap-auth-gold: #d8b66c;
  --ap-auth-gold-light: #f3dc9a;
  --ap-auth-ink: #f7ffff;
  --ap-auth-muted: rgba(226, 240, 241, .76);
  position: fixed;
  inset: 0;
  z-index: 100300;
  display: grid;
  place-items: center;
  padding: 18px;
  direction: rtl;
  font-family: IRANYekanX, IRANSX, IRANSansX, sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: opacity .24s ease, visibility .24s ease;
}
.ap-auth-modal.is-open { opacity: 1; visibility: visible; }
.ap-auth-modal-backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 35%, rgba(20,121,104,.20), transparent 42%), rgba(2,12,18,.72);
  backdrop-filter: blur(13px) saturate(115%);
  -webkit-backdrop-filter: blur(13px) saturate(115%);
  cursor: pointer;
}
.ap-auth-modal-panel {
  position: relative;
  z-index: 1;
  width: min(540px, calc(100vw - 32px));
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  padding: clamp(30px, 5vw, 48px);
  border-radius: 32px;
  color: var(--ap-auth-ink);
  text-align: center;
  background: radial-gradient(circle at 50% 0%, rgba(216,182,108,.13), transparent 33%), radial-gradient(circle at 10% 90%, rgba(21,157,126,.20), transparent 34%), linear-gradient(145deg, rgba(10,65,65,.98), rgba(3,23,27,.99));
  border: 1px solid rgba(216,182,108,.48);
  box-shadow: 0 30px 90px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.06);
  transform: translateY(18px) scale(.97);
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
  outline: none;
}
.ap-auth-modal-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background-image: linear-gradient(135deg, rgba(255,255,255,.025) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.025) 50%, rgba(255,255,255,.025) 75%, transparent 75%, transparent);
  background-size: 14px 14px;
  opacity: .4;
}
.ap-auth-modal.is-open .ap-auth-modal-panel { transform: translateY(0) scale(1); }
.ap-auth-modal-close {
  position: absolute;
  z-index: 3;
  top: 17px;
  left: 17px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 14px;
  border: 1px solid rgba(216,182,108,.24);
  color: var(--ap-auth-gold-light);
  background: rgba(255,255,255,.045);
  font: inherit;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.ap-auth-modal-close span { display:block; font-size:30px; font-weight:300; line-height:1; transform:translateY(4px); }
.ap-auth-modal-close:hover,
.ap-auth-modal-close:focus-visible { transform:rotate(5deg); background:rgba(216,182,108,.12); border-color:rgba(216,182,108,.58); outline:none; }
.ap-auth-modal-emblem {
  position: relative;
  z-index: 2;
  width: 82px;
  height: 82px;
  margin: 0 auto 20px;
  display: grid;
  place-items: center;
  border-radius: 27px;
  color: var(--ap-auth-gold-light);
  background: linear-gradient(145deg, rgba(216,182,108,.17), rgba(216,182,108,.055));
  border: 1px solid rgba(216,182,108,.38);
  box-shadow: 0 16px 34px rgba(0,0,0,.20);
}
.ap-auth-modal-emblem svg { width:46px; height:46px; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.ap-auth-modal-panel h2 { position:relative; z-index:2; margin:0; color:#fff; font-size:clamp(1rem,4vw,1.2rem); line-height:1.9; font-weight:950; letter-spacing:-.45px; }
.ap-auth-modal-panel p { position:relative; z-index:2; margin:15px auto 0; max-width:430px; color:var(--ap-auth-muted); font-size:.8rem; font-weight:600; line-height:2; }
.ap-auth-modal-actions { position:relative; z-index:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:28px; }
.ap-auth-modal-btn { min-height:56px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border-radius:17px; text-decoration:none; font-size:1rem; font-weight:950; transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease; }
.ap-auth-modal-btn:hover,
.ap-auth-modal-btn:focus-visible { transform:translateY(-3px); outline:none; }
.ap-auth-modal-btn-primary { color:#102023; background:linear-gradient(135deg,var(--ap-auth-gold-light),var(--ap-auth-gold)); box-shadow:0 14px 30px rgba(216,182,108,.20); }
.ap-auth-modal-btn-primary:hover,
.ap-auth-modal-btn-primary:focus-visible { box-shadow:0 18px 38px rgba(216,182,108,.30); }
.ap-auth-modal-btn-secondary { color:#fff; background:rgba(16,108,91,.22); border:1px solid rgba(156,245,220,.30); }
.ap-auth-modal-btn-secondary:hover,
.ap-auth-modal-btn-secondary:focus-visible { background:rgba(21,157,126,.30); border-color:rgba(156,245,220,.56); }
body.ap-auth-modal-lock { overflow:hidden !important; }

@media (max-width:560px) {
  .ap-auth-modal { place-items:center; padding:14px; }
  .ap-auth-modal-panel { width:min(100%,460px); max-height:calc(100dvh - 28px); padding:36px 20px 24px; border-radius:26px; }
  .ap-auth-modal-close { top:14px; left:14px; width:40px; height:40px; }
  .ap-auth-modal-emblem { width:70px; height:70px; margin-bottom:16px; border-radius:23px; }
  .ap-auth-modal-emblem svg { width:40px; height:40px; }
  .ap-auth-modal-panel h2 { font-size:1rem; line-height:1.95; }
  .ap-auth-modal-panel p { font-size:.8rem; }
  .ap-auth-modal-actions { grid-template-columns:1fr; gap:10px; margin-top:23px; }
  .ap-auth-modal-btn { width:100%; min-height:54px; }
}

@media (prefers-reduced-motion:reduce) {
  .ap-auth-modal,
  .ap-auth-modal-panel,
  .ap-auth-modal-btn,
  .ap-auth-modal-close { transition:none !important; }
}


/* =====================================================================
   Landing UX Redesign — single unified card (player + countdown + offer)
   ===================================================================== */
.rm-al-experience-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 35, .22);
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(32, 179, 213, .10), transparent 28%),
    radial-gradient(circle at bottom left, rgba(212, 175, 35, .08), transparent 26%),
    linear-gradient(180deg, rgba(5, 18, 46, .96), rgba(4, 14, 36, .985));
  box-shadow: 0 28px 80px rgba(1, 8, 22, .45);
}

.rm-al-experience-card::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(212, 175, 35, .12);
  border-radius: 28px;
  pointer-events: none;
}

.rm-al-experience-card__media,
.rm-al-experience-card__stage {
  position: relative;
  z-index: 1;
}

.rm-al-experience-card__stage {
  padding: 0 34px 32px;
}

.rm-al-experience-card .rm-al-player-section {
  margin: 0;
  padding: 30px 34px 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.rm-al-experience-card .rm-al-player-heading {
  margin-bottom: 20px;
  border-color: rgba(212, 175, 35, .14);
  background: rgba(10, 26, 58, .62);
}

.rm-al-experience-card .rm-al-player-heading::before {
  background: linear-gradient(180deg, #d4af23, #20b3d5);
  box-shadow: none;
}

.rm-al-experience-card .rm-al-player-greeting {
  color: rgba(233, 241, 255, .76);
}

.rm-al-experience-card .rm-al-player-landing-title {
  color: #ffffff;
}

.rm-al-experience-card .rm-al-player-shell {
  border-color: rgba(212, 175, 35, .22);
  border-radius: 28px;
  background: #020617;
}

.rm-al-experience-card .rm-al-player-frame {
  min-height: 320px;
}

.rm-al-experience-card .rm-al-download-row {
  padding-top: 14px;
  margin-top: 0;
}

.rm-al-experience-card .rm-al-download-button {
  border-color: rgba(212, 175, 35, .24);
  background: rgba(8, 24, 56, .75);
  color: #e7f0ff;
}

.rm-al-experience-card .rm-al-download-button:hover {
  border-color: rgba(212, 175, 35, .42);
  background: rgba(10, 30, 68, .9);
}

.rm-al-experience-card .rm-al-gift-countdown,
.rm-al-experience-card .rm-al-stage25-offer,
.rm-al-experience-card .rm-al-stage25-academy-offer,
.rm-al-experience-card .rm-al-content-stack {
  margin-top: 0;
}

.rm-al-experience-card .rm-al-gift-countdown {
  padding: 20px 24px;
  border: 1px solid rgba(212, 175, 35, .15);
  border-radius: 24px;
  background: rgba(7, 22, 51, .78);
  box-shadow: none;
}

.rm-al-experience-card .rm-al-gift-countdown__accent,
.rm-al-experience-card .rm-al-stage25-offer__glow {
  display: none;
}

.rm-al-experience-card .rm-al-gift-countdown__eyebrow,
.rm-al-experience-card .rm-al-stage25-offer__eyebrow,
.rm-al-stage25-academy-offer__kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 35, .28);
  background: rgba(212, 175, 35, .08);
  color: #f3d672;
  font-size: .82rem;
  font-weight: 900;
}

.rm-al-experience-card .rm-al-gift-countdown__copy {
  display: grid;
  gap: 10px;
}

.rm-al-experience-card .rm-al-gift-countdown__copy > strong {
  font-size: 1.08rem;
}

.rm-al-experience-card .rm-al-gift-countdown__copy > small {
  font-size: .88rem;
  color: rgba(226, 232, 240, .7);
}

.rm-al-experience-card .rm-al-gift-countdown__clock {
  min-width: 128px;
}

.rm-al-experience-card .rm-al-gift-countdown__ring {
  width: 108px;
  height: 108px;
}

.rm-al-experience-card .rm-al-gift-countdown__time {
  font-size: 1.7rem;
}

.rm-al-experience-card .rm-al-stage25-offer {
  padding: 22px 0 4px;
  border: 0;
  border-top: 1px solid rgba(212, 175, 35, .16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.rm-al-experience-card .rm-al-stage25-offer__head {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.rm-al-experience-card .rm-al-stage25-offer__head h2 {
  margin: 0;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  line-height: 1.8;
}

.rm-al-experience-card .rm-al-stage25-offer__head p {
  margin: 0;
  line-height: 1.95;
  color: rgba(226, 232, 240, .78);
}

.rm-al-experience-card .rm-al-stage25-offer__coupon {
  padding: 16px 18px;
  border: 1px solid rgba(68, 129, 255, .22);
  border-radius: 18px;
  background: rgba(4, 20, 49, .72);
  margin-bottom: 14px;
}

.rm-al-experience-card .rm-al-stage25-offer__coupon-copy > span,
.rm-al-experience-card .rm-al-stage25-offer__expiry span,
.rm-al-experience-card .rm-al-stage25-offer__note,
.rm-al-experience-card .rm-al-stage25-academy-offer__heading p,
.rm-al-experience-card .rm-al-stage25-academy-offer__note,
.rm-al-experience-card .rm-al-stage25-academy-offer__list-value small {
  color: rgba(226, 232, 240, .72);
}

.rm-al-experience-card .rm-al-stage25-offer__coupon-copy > strong {
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  color: #eef6ff;
}

.rm-al-experience-card .rm-al-stage25-offer__copy-btn {
  min-width: 132px;
  border-color: rgba(212, 175, 35, .22);
  background: rgba(212, 175, 35, .10);
  color: #f8dd7f;
  box-shadow: none;
}

.rm-al-experience-card .rm-al-stage25-offer__copy-btn:hover {
  background: rgba(212, 175, 35, .16);
}

.rm-al-experience-card .rm-al-stage25-offer__expiry {
  margin-top: 0;
  padding: 14px 16px;
  border: 1px solid rgba(212, 175, 35, .14);
  border-radius: 16px;
  background: rgba(11, 23, 49, .65);
}

.rm-al-experience-card .rm-al-stage25-offer__expiry-icon {
  background: rgba(212, 175, 35, .12);
  color: #f3d672;
}

.rm-al-experience-card .rm-al-stage25-offer__cta {
  margin-top: 18px;
  box-shadow: none;
}

.rm-al-experience-card .rm-al-stage25-academy-offer {
  padding: 22px 0 4px;
  border: 0;
  border-top: 1px solid rgba(212, 175, 35, .14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.rm-al-stage25-academy-offer__inner {
  display: grid;
  gap: 22px;
}

.rm-al-stage25-academy-offer__heading {
  text-align: center;
  display: grid;
  gap: 10px;
}

.rm-al-stage25-academy-offer__heading h3 {
  margin: 0;
  color: #f7fafc;
  font-size: clamp(1.08rem, 1.9vw, 1.34rem);
  line-height: 1.9;
}

.rm-al-stage25-academy-offer__heading p {
  margin: 0;
  line-height: 1.9;
}

.rm-al-stage25-academy-offer__pricing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.rm-al-stage25-price-card {
  display: grid;
  gap: 8px;
  padding: 18px 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(212, 175, 35, .16);
  background: rgba(8, 23, 54, .72);
  text-align: center;
}

.rm-al-stage25-price-card span {
  color: rgba(226, 232, 240, .72);
  font-size: .88rem;
  font-weight: 700;
}

.rm-al-stage25-price-card strong {
  font-size: clamp(1.18rem, 2.2vw, 1.75rem);
  line-height: 1.5;
  color: #f8fafc;
}

.rm-al-stage25-price-card--muted strong {
  color: rgba(233, 241, 255, .8);
}

.rm-al-stage25-price-card--final {
  border-color: rgba(212, 175, 35, .34);
  background: linear-gradient(180deg, rgba(212, 175, 35, .12), rgba(12, 27, 60, .82));
}

.rm-al-stage25-price-card--final strong {
  color: #f4d46a;
}

.rm-al-stage25-academy-offer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(212, 175, 35, .16);
}

.rm-al-stage25-academy-offer__list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(212, 175, 35, .12);
}

.rm-al-stage25-academy-offer__list-label {
  flex: 0 0 auto;
  color: #f3d672;
  font-weight: 800;
}

.rm-al-stage25-academy-offer__list-value {
  min-width: 0;
  display: grid;
  gap: 4px;
  text-align: left;
  color: #eef6ff;
  font-weight: 700;
}

.rm-al-stage25-academy-offer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  width: 100%;
  padding: 14px 22px;
  border-radius: 18px;
  background: linear-gradient(180deg, #d4af23, #c9a21b);
  color: #081225;
  text-decoration: none;
  font-weight: 900;
  font-size: 1rem;
  box-shadow: none;
  transition: transform .2s ease, filter .2s ease;
}

.rm-al-stage25-academy-offer__button:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.rm-al-stage25-academy-offer__note {
  margin: -8px 0 0;
  text-align: center;
  font-size: .82rem;
}

.rm-al-experience-card .rm-al-content-stack {
  padding-top: 22px;
  border-top: 1px solid rgba(212, 175, 35, .12);
}

body.light-theme .rm-al-experience-card {
  background:
    radial-gradient(circle at top right, rgba(32, 179, 213, .10), transparent 28%),
    radial-gradient(circle at bottom left, rgba(212, 175, 35, .08), transparent 26%),
    linear-gradient(180deg, rgba(5, 18, 46, .96), rgba(4, 14, 36, .985));
  box-shadow: 0 28px 80px rgba(1, 8, 22, .45);
}

body.light-theme .rm-al-experience-card .rm-al-player-heading,
body.light-theme .rm-al-experience-card .rm-al-download-button,
body.light-theme .rm-al-experience-card .rm-al-gift-countdown,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__coupon,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__expiry,
body.light-theme .rm-al-stage25-price-card {
  background-color: rgba(8, 23, 54, .72);
}

body.light-theme .rm-al-page .rm-al-experience-card,
body.light-theme .rm-al-page .rm-al-experience-card * {
  color: inherit;
}

body.light-theme .rm-al-experience-card .rm-al-player-greeting,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__coupon-copy > span,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__expiry span,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__note,
body.light-theme .rm-al-stage25-academy-offer__heading p,
body.light-theme .rm-al-stage25-academy-offer__note,
body.light-theme .rm-al-stage25-academy-offer__list-value small,
body.light-theme .rm-al-experience-card .rm-al-gift-countdown__copy > small,
body.light-theme .rm-al-stage25-price-card span {
  color: rgba(226, 232, 240, .72);
}

body.light-theme .rm-al-experience-card .rm-al-player-landing-title,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__head h2,
body.light-theme .rm-al-experience-card .rm-al-stage25-offer__coupon-copy > strong,
body.light-theme .rm-al-stage25-academy-offer__heading h3,
body.light-theme .rm-al-stage25-academy-offer__list-value,
body.light-theme .rm-al-stage25-price-card strong {
  color: #eef6ff;
}

@media (max-width: 900px) {
  .rm-al-experience-card__stage {
    padding: 0 24px 26px;
  }

  .rm-al-experience-card .rm-al-player-section {
    padding: 24px 24px 14px;
  }

  .rm-al-stage25-academy-offer__pricing {
    grid-template-columns: 1fr;
  }

  .rm-al-stage25-academy-offer__list li {
    flex-direction: column;
    align-items: flex-start;
  }

  .rm-al-stage25-academy-offer__list-value {
    text-align: right;
  }
}

@media (max-width: 640px) {
  .rm-al-experience-card {
    border-radius: 26px;
  }

  .rm-al-experience-card::before {
    inset: 10px;
    border-radius: 20px;
  }

  .rm-al-experience-card .rm-al-player-section {
    padding: 18px 16px 10px;
  }

  .rm-al-experience-card__stage {
    padding: 0 16px 20px;
  }

  .rm-al-experience-card .rm-al-player-heading {
    padding: 12px 14px 12px 16px;
  }

  .rm-al-experience-card .rm-al-player-frame {
    min-height: 210px;
  }

  .rm-al-experience-card .rm-al-gift-countdown,
  .rm-al-experience-card .rm-al-stage25-offer,
  .rm-al-experience-card .rm-al-stage25-academy-offer {
    padding-top: 18px;
  }

  .rm-al-experience-card .rm-al-gift-countdown {
    padding: 18px 16px;
  }

  .rm-al-experience-card .rm-al-stage25-offer__coupon {
    padding: 14px;
  }

  .rm-al-experience-card .rm-al-stage25-offer__coupon-copy > strong {
    font-size: 1.18rem;
  }

  .rm-al-stage25-price-card {
    padding: 16px 14px 18px;
  }

  .rm-al-stage25-academy-offer__button {
    min-height: 52px;
  }
}


/* =====================================================================
   Exact screenshot implementation
   ===================================================================== */
.rm-al-experience-card {
  border-color: rgba(35, 55, 92, .95);
  border-radius: 0 0 22px 22px;
  background: linear-gradient(180deg, #031333 0%, #041734 100%);
  box-shadow: none;
}

.rm-al-experience-card::before { display: none; }
.rm-al-experience-card__stage { padding: 0; }
.rm-al-experience-card .rm-al-player-section { padding: 0; }
.rm-al-experience-card .rm-al-player-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 18px 18px 12px;
  border: 0;
  border-bottom: 1px solid rgba(52, 72, 110, .8);
  border-radius: 0;
  background: transparent;
}
.rm-al-experience-card .rm-al-player-heading::before { display: none; }
.rm-al-player-heading__copy { display: grid; gap: 2px; }
.rm-al-player-session-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  padding: 6px 12px;
  border: 1px solid rgba(206, 164, 20, .85);
  border-radius: 999px;
  color: #dfba2e;
  font-size: .86rem;
  font-weight: 800;
  white-space: nowrap;
}
.rm-al-experience-card .rm-al-player-greeting {
  color: #8aa1c7;
  font-size: .88rem;
}
.rm-al-experience-card .rm-al-player-landing-title {
  color: #f1f6ff;
  font-size: clamp(1.25rem, 2.4vw, 1.95rem);
  line-height: 1.65;
}
.rm-al-experience-card .rm-al-player-shell {
  border: 0;
  border-radius: 0;
  background: #010919;
}
.rm-al-experience-card .rm-al-player-frame {
  min-height: 390px;
  background: #010919;
}
.rm-al-experience-card .rm-al-download-row {
  display: flex;
  justify-content: flex-start;
  padding: 12px 16px 14px;
  border-top: 1px solid rgba(34, 56, 89, .8);
  border-bottom: 1px solid rgba(34, 56, 89, .8);
  background: rgba(6, 24, 58, .6);
}
.rm-al-experience-card .rm-al-download-button {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  border-color: rgba(47, 90, 157, .75);
  background: transparent;
  color: #bcd3ff;
  font-size: .92rem;
}
.rm-al-experience-card .rm-al-download-button__icon {
  width: 24px; height: 24px; border-radius: 50%;
  background: transparent; border: 0; color: #bcd3ff;
}

.rm-al-stage25-wait,
.rm-al-stage25-offer,
.rm-al-stage25-academy-offer {
  margin: 0;
}
.rm-al-stage25-wait {
  padding: 18px 16px 24px;
  border: 0;
  background: #041734;
}
.rm-al-stage25-wait__top {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
}
.rm-al-stage25-wait__copy {
  display: grid;
  gap: 8px;
  text-align: center;
}
.rm-al-stage25-wait__copy strong {
  color: #f0f6ff;
  font-size: 1.2rem;
  font-weight: 800;
}
.rm-al-stage25-wait__copy small {
  color: #d2dff4;
  font-size: .92rem;
  line-height: 1.9;
}
.rm-al-stage25-wait__clock {
  position: relative;
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
}
.rm-al-stage25-wait .rm-al-gift-countdown__ring {
  position: absolute;
  inset: 0;
  width: 92px;
  height: 92px;
  background: conic-gradient(#d4af23 var(--rm-al-gift-progress), rgba(44, 73, 118, .75) 0deg);
}
.rm-al-stage25-wait .rm-al-gift-countdown__ring-inner {
  inset: 5px;
  background: #0a1f4e;
}
.rm-al-stage25-wait .rm-al-gift-countdown__time-wrap {
  position: relative;
  z-index: 1;
}
.rm-al-stage25-wait .rm-al-gift-countdown__time {
  color: #ffffff;
  font-size: 1.6rem;
}
.rm-al-stage25-wait .rm-al-gift-countdown__time-wrap small {
  color: #9cb1d5;
  font-size: .74rem;
}
.rm-al-stage25-wait__placeholder {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 14px 18px;
  border: 1px dashed rgba(45, 88, 153, .9);
  border-radius: 16px;
  background: rgba(3, 18, 46, .55);
}
.rm-al-stage25-wait__lock {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  font-size: 1.08rem;
}
.rm-al-stage25-wait__placeholder-content {
  display: grid;
  gap: 10px;
}
.rm-al-stage25-wait__placeholder-content > span {
  color: #9eb5dd;
  font-size: .88rem;
  text-align: right;
}
.rm-al-stage25-wait__dots {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.rm-al-stage25-wait__dots i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #284880;
  display: block;
}
.rm-al-stage25-wait .rm-al-gift-countdown__bar { display: none; }

.rm-al-stage25-offer {
  padding: 20px 16px 14px;
  border-top: 1px solid rgba(206, 164, 20, .85);
  background: #041734;
}
.rm-al-stage25-livehead {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.rm-al-stage25-livehead__icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 4px solid #d4af23;
  border-radius: 50%;
  color: #d4af23;
  font-size: 2rem;
  line-height: 1;
}
.rm-al-stage25-livehead__copy {
  display: grid;
  gap: 8px;
  min-width: 0;
  text-align: center;
}
.rm-al-stage25-livehead__eyebrow {
  color: #d8b740;
  font-size: .88rem;
  font-weight: 900;
}
.rm-al-stage25-livehead__copy strong {
  color: #f1f6ff;
  font-size: 1.2rem;
  line-height: 1.8;
}
.rm-al-stage25-livehead__expiry {
  display: grid;
  gap: 8px;
  align-self: center;
  text-align: left;
}
.rm-al-stage25-livehead__expiry span {
  color: #a7bddf;
  font-size: .86rem;
}
.rm-al-stage25-livehead__expiry strong {
  color: #d5b43f;
  font-size: 1.15rem;
}
.rm-al-stage25-livecoupon {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(206, 164, 20, .55);
  border-radius: 14px;
  background: rgba(5, 23, 56, .36);
}
.rm-al-stage25-livecoupon__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 90px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid rgba(206, 164, 20, .72);
  border-radius: 999px;
  background: transparent;
  color: #d4af23;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}
.rm-al-stage25-livecoupon__body {
  display: grid;
  gap: 10px;
}
.rm-al-stage25-livecoupon__body span {
  color: #91a7cd;
  font-size: .84rem;
  text-align: right;
}
.rm-al-stage25-livecoupon__body strong {
  color: #ffffff;
  font-size: clamp(1.6rem, 4vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: .03em;
}
.rm-al-stage25-livepricing {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0 12px;
}
.rm-al-stage25-livepricing__discount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid rgba(206, 164, 20, .65);
  border-radius: 999px;
  color: #d4af23;
  font-weight: 800;
  white-space: nowrap;
}
.rm-al-stage25-livepricing__final {
  margin-right: auto;
  display: grid;
  gap: 8px;
  text-align: left;
}
.rm-al-stage25-livepricing__old {
  color: #7d90b0;
  font-size: 1rem;
  text-decoration: line-through;
}
.rm-al-stage25-livepricing__new {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  color: #ffffff;
}
.rm-al-stage25-livepricing__new span {
  color: #ffffff;
  font-size: 1rem;
  margin-bottom: 6px;
}
.rm-al-stage25-livepricing__new strong {
  color: #ffffff;
  font-size: clamp(1.9rem, 4.3vw, 2.85rem);
  line-height: 1;
  font-weight: 900;
}

.rm-al-stage25-offer__cta--exact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  padding: 14px 22px;
  border-radius: 12px;
  background: #cba623;
  color: #0b1324;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  box-shadow: none;
}
.rm-al-stage25-offer__note--exact {
  margin: 10px 0 0;
  text-align: center;
  color: #8196ba;
  font-size: .8rem;
}

.rm-al-stage25-academy-offer {
  padding: 0 16px 24px;
  background: #041734;
}
.rm-al-stage25-listcard {
  padding-top: 16px;
  border-top: 1px solid rgba(206, 164, 20, .55);
  text-align: center;
}
.rm-al-stage25-listcard h3 {
  margin: 0 0 18px;
  color: #d8b740;
  font-size: 1.06rem;
  font-weight: 800;
}
.rm-al-stage25-listcard__items {
  list-style: none;
  margin: 0 auto 18px;
  padding: 0;
  width: min(440px, 100%);
}
.rm-al-stage25-listcard__items li {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 13px 0;
  border-top: 1px solid rgba(49, 74, 115, .8);
  text-align: right;
}
.rm-al-stage25-listcard__items li:first-child {
  border-top: 1px solid rgba(206, 164, 20, .55);
}
.rm-al-stage25-listcard__bullet {
  color: #d5b43f;
}
.rm-al-stage25-listcard__label {
  color: #d5b43f;
  font-weight: 800;
}
.rm-al-stage25-listcard__value {
  color: #f1f6ff;
}
.rm-al-stage25-listcard__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(440px, 100%);
  min-height: 56px;
  padding: 14px 20px;
  border-radius: 0;
  background: #cba623;
  color: #0b1324;
  text-decoration: none;
  font-weight: 900;
}
.rm-al-stage25-listcard__note {
  margin: 14px 0 0;
  color: #7f95ba;
  font-size: .82rem;
}

body.light-theme .rm-al-experience-card,
body.light-theme .rm-al-stage25-wait,
body.light-theme .rm-al-stage25-offer,
body.light-theme .rm-al-stage25-academy-offer {
  background: #041734;
}

@media (max-width: 720px) {
  .rm-al-experience-card { border-radius: 0 0 16px 16px; }
  .rm-al-experience-card .rm-al-player-heading {
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
  }
  .rm-al-player-session-badge { align-self: flex-end; }
  .rm-al-experience-card .rm-al-player-frame { min-height: 280px; }
  .rm-al-stage25-wait__top,
  .rm-al-stage25-livehead {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .rm-al-stage25-livehead__expiry { text-align: center; }
  .rm-al-stage25-livehead__icon { margin: 0 auto; }
  .rm-al-stage25-livecoupon {
    grid-template-columns: 1fr;
  }
  .rm-al-stage25-livecoupon__copy {
    width: 100%;
  }
  .rm-al-stage25-livepricing {
    flex-direction: column;
    align-items: stretch;
  }
  .rm-al-stage25-livepricing__final {
    margin-right: 0;
    text-align: center;
  }
  .rm-al-stage25-livepricing__new { justify-content: center; }
  .rm-al-stage25-listcard__items li {
    grid-template-columns: auto 1fr;
  }
  .rm-al-stage25-listcard__bullet { display: none; }
}

/* =========================================================
   Exact mock cleanup: no duplicated tabs, no green/cyan glow
   ========================================================= */
.rm-al-experience-card,
.rm-al-experience-card .rm-al-player-section,
.rm-al-experience-card .rm-al-player-shell,
.rm-al-stage25-wait,
.rm-al-stage25-offer,
.rm-al-stage25-academy-offer,
.rm-al-stage25-livehead__icon,
.rm-al-stage25-livecoupon,
.rm-al-stage25-listcard,
.rm-al-stage25-listcard__button,
.rm-al-stage25-offer__cta--exact {
  box-shadow: none !important;
  text-shadow: none !important;
}

.rm-al-experience-card::after,
.rm-al-stage25-offer::before,
.rm-al-stage25-offer::after,
.rm-al-stage25-academy-offer::before,
.rm-al-stage25-academy-offer::after {
  box-shadow: none !important;
  filter: none !important;
}

.rm-al-stage25-livehead__eyebrow {
  color: #d8b740 !important;
}

.rm-al-stage25-offer__glow,
.rm-al-stage25-offer__glow--one,
.rm-al-stage25-offer__glow--two {
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}



/* Fine tuning for exact stage25 top block */
.rm-al-stage25-offer {
  padding: 28px 34px 16px;
}

.rm-al-stage25-livehead,
.rm-al-stage25-livecoupon,
.rm-al-stage25-livepricing,
.rm-al-stage25-offer__note--exact {
  max-width: 1120px;
  margin-inline: auto;
}

.rm-al-stage25-livehead {
  margin-bottom: 22px;
  gap: 22px;
}

.rm-al-stage25-livehead__copy {
  gap: 10px;
}

.rm-al-stage25-livehead__eyebrow {
  color: #d4af23;
}

.rm-al-stage25-livehead__copy strong {
  font-size: 1.28rem;
  line-height: 1.9;
}

.rm-al-stage25-livehead__expiry {
  padding-inline: 8px;
}

.rm-al-stage25-livecoupon {
  padding: 16px 18px;
  margin-bottom: 12px;
}

.rm-al-stage25-livecoupon__body {
  gap: 12px;
  padding-inline: 6px;
}

.rm-al-stage25-livecoupon__body strong {
  font-size: clamp(1.95rem, 4vw, 2.55rem);
}

.rm-al-stage25-livepricing {
  padding: 18px 4px 10px;
}

.rm-al-stage25-livepricing__discount {
  min-height: 48px;
  padding: 12px 18px;
}

.rm-al-stage25-livepricing__final {
  gap: 10px;
  padding-inline: 8px;
}

.rm-al-stage25-livepricing__new strong {
  font-size: clamp(2.1rem, 4.6vw, 3rem);
}

.rm-al-stage25-offer__note--exact {
  margin-top: 12px;
  padding-inline: 10px;
}

@media (max-width: 720px) {
  .rm-al-stage25-offer {
    padding: 22px 20px 14px;
  }

  .rm-al-stage25-livehead,
  .rm-al-stage25-livecoupon,
  .rm-al-stage25-livepricing,
  .rm-al-stage25-offer__note--exact {
    max-width: none;
  }

  .rm-al-stage25-livecoupon__body strong {
    font-size: 1.75rem;
  }

  .rm-al-stage25-livepricing {
    padding-inline: 0;
  }
}

/* =====================================================================
   Exact Mock Palette Restore v2
   - DO NOT change layout/skeleton
   - Soft navy + muted blue + restrained green + soft gold
   - Same visual palette in both site themes
   - Completes the exact-mock live offer + lower list card selectors
   ===================================================================== */

/* ---------- Unified shell ---------- */
.rm-al-experience-card,
body.light-theme .rm-al-experience-card {
  background: #17243d !important;
  border: 1px solid rgba(92, 118, 157, .34) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 54px rgba(3, 10, 26, .20) !important;
  color: #f3f7fc !important;
}

.rm-al-experience-card::before,
body.light-theme .rm-al-experience-card::before {
  display: none !important;
}

/* ---------- Player area ---------- */
.rm-al-experience-card .rm-al-player-section,
body.light-theme .rm-al-experience-card .rm-al-player-section {
  background: transparent !important;
  box-shadow: none !important;
}

.rm-al-experience-card .rm-al-player-heading,
body.light-theme .rm-al-experience-card .rm-al-player-heading {
  border: 1px solid rgba(92, 199, 172, .24) !important;
  border-radius: 18px !important;
  background: #213653 !important;
  box-shadow: none !important;
}

.rm-al-experience-card .rm-al-player-heading::before,
body.light-theme .rm-al-experience-card .rm-al-player-heading::before {
  display: block !important;
  background: #63cdb0 !important;
  box-shadow: none !important;
}

.rm-al-experience-card .rm-al-player-greeting,
body.light-theme .rm-al-experience-card .rm-al-player-greeting {
  color: #afc4dc !important;
}

.rm-al-experience-card .rm-al-player-landing-title,
body.light-theme .rm-al-experience-card .rm-al-player-landing-title {
  color: #f7f9fc !important;
}

.rm-al-player-session-badge,
body.light-theme .rm-al-player-session-badge {
  border-color: rgba(226, 193, 83, .58) !important;
  background: rgba(226, 193, 83, .055) !important;
  color: #e6c457 !important;
}

/* Required inner player frame, soft green just like the older visual language. */
.rm-al-experience-card .rm-al-player-shell,
body.light-theme .rm-al-experience-card .rm-al-player-shell {
  border: 1px solid rgba(86, 205, 174, .46) !important;
  border-radius: 22px !important;
  background: #030b1d !important;
  box-shadow: inset 0 0 0 1px rgba(86, 205, 174, .055) !important;
}

.rm-al-experience-card .rm-al-player-frame,
body.light-theme .rm-al-experience-card .rm-al-player-frame {
  border-radius: 20px !important;
  background: #030b1d !important;
}

.rm-al-experience-card .rm-al-download-row,
body.light-theme .rm-al-experience-card .rm-al-download-row {
  background: transparent !important;
  border-color: rgba(90, 120, 158, .20) !important;
}

.rm-al-experience-card .rm-al-download-button,
body.light-theme .rm-al-experience-card .rm-al-download-button {
  border: 1px solid rgba(89, 195, 168, .34) !important;
  border-radius: 14px !important;
  background: #24465c !important;
  color: #d7eee8 !important;
  box-shadow: none !important;
}

.rm-al-experience-card .rm-al-download-button:hover,
body.light-theme .rm-al-experience-card .rm-al-download-button:hover {
  border-color: rgba(104, 218, 188, .46) !important;
  background: #294e66 !important;
}

.rm-al-experience-card .rm-al-download-button__icon,
body.light-theme .rm-al-experience-card .rm-al-download-button__icon {
  background: rgba(93, 207, 177, .12) !important;
  color: #98dfcb !important;
}

/* ---------- Countdown before unlock ---------- */
.rm-al-stage25-wait,
body.light-theme .rm-al-stage25-wait {
  background: #16304a !important;
  border-color: rgba(92, 128, 164, .28) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.rm-al-stage25-wait__copy strong,
body.light-theme .rm-al-stage25-wait__copy strong {
  color: #f4f7fb !important;
}

.rm-al-stage25-wait__copy small,
body.light-theme .rm-al-stage25-wait__copy small,
.rm-al-stage25-wait__placeholder-content > span,
body.light-theme .rm-al-stage25-wait__placeholder-content > span {
  color: #abc0d8 !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__ring,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring {
  background: conic-gradient(#e1bd4f var(--rm-al-gift-progress), rgba(56, 87, 124, .68) 0deg) !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__ring-inner,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring-inner {
  background: #183650 !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__time,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time {
  color: #f2d164 !important;
}

.rm-al-stage25-wait__placeholder,
body.light-theme .rm-al-stage25-wait__placeholder {
  border-color: rgba(81, 132, 180, .52) !important;
  background: #122944 !important;
}

.rm-al-stage25-wait__dots i,
body.light-theme .rm-al-stage25-wait__dots i {
  background: #4770a5 !important;
}

/* =====================================================================
   UNLOCKED CARD #1: coupon + price summary
   ===================================================================== */
.rm-al-stage25-offer,
body.light-theme .rm-al-stage25-offer {
  background: #18344a !important;
  border: 1px solid rgba(83, 151, 147, .28) !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  color: #f3f7fb !important;
}

.rm-al-stage25-livehead__expiry span,
body.light-theme .rm-al-stage25-livehead__expiry span {
  color: #aec0d4 !important;
}

.rm-al-stage25-livehead__expiry strong,
body.light-theme .rm-al-stage25-livehead__expiry strong,
.rm-al-stage25-livehead__eyebrow,
body.light-theme .rm-al-stage25-livehead__eyebrow {
  color: #e5c354 !important;
}

.rm-al-stage25-livehead__copy strong,
body.light-theme .rm-al-stage25-livehead__copy strong {
  color: #f5f8fc !important;
}

.rm-al-stage25-livehead__icon,
body.light-theme .rm-al-stage25-livehead__icon {
  border-color: #dfbd50 !important;
  background: rgba(223, 189, 80, .07) !important;
  color: #dfbd50 !important;
  box-shadow: none !important;
}

.rm-al-stage25-livecoupon,
body.light-theme .rm-al-stage25-livecoupon {
  border: 1px solid rgba(71, 121, 168, .48) !important;
  border-radius: 17px !important;
  background: #132a43 !important;
  box-shadow: none !important;
}

.rm-al-stage25-livecoupon__body span,
body.light-theme .rm-al-stage25-livecoupon__body span {
  color: #a8bdd4 !important;
}

.rm-al-stage25-livecoupon__body strong,
body.light-theme .rm-al-stage25-livecoupon__body strong {
  color: #edf6ff !important;
}

.rm-al-stage25-livecoupon__copy,
body.light-theme .rm-al-stage25-livecoupon__copy {
  border: 1px solid rgba(78, 132, 184, .52) !important;
  border-radius: 13px !important;
  background: #264862 !important;
  color: #d8eaff !important;
  box-shadow: none !important;
}

.rm-al-stage25-livecoupon__copy:hover,
body.light-theme .rm-al-stage25-livecoupon__copy:hover {
  background: #2d526e !important;
}

.rm-al-stage25-livepricing__discount,
body.light-theme .rm-al-stage25-livepricing__discount {
  border: 1px solid rgba(222, 188, 75, .52) !important;
  border-radius: 999px !important;
  background: rgba(222, 188, 75, .07) !important;
  color: #e4c553 !important;
}

.rm-al-stage25-livepricing__old,
body.light-theme .rm-al-stage25-livepricing__old {
  color: #899eb7 !important;
}

.rm-al-stage25-livepricing__new,
.rm-al-stage25-livepricing__new span,
.rm-al-stage25-livepricing__new strong,
body.light-theme .rm-al-stage25-livepricing__new,
body.light-theme .rm-al-stage25-livepricing__new span,
body.light-theme .rm-al-stage25-livepricing__new strong {
  color: #f6f8fb !important;
}

.rm-al-stage25-offer__cta--exact,
body.light-theme .rm-al-stage25-offer__cta--exact {
  border-radius: 14px !important;
  background: #1aad7c !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.rm-al-stage25-offer__cta--exact:hover,
body.light-theme .rm-al-stage25-offer__cta--exact:hover {
  background: #20b989 !important;
}

.rm-al-stage25-offer__note--exact,
body.light-theme .rm-al-stage25-offer__note--exact {
  color: #9fb3c9 !important;
}

/* =====================================================================
   UNLOCKED CARD #2: academy terms + final CTA
   ===================================================================== */
.rm-al-stage25-academy-offer,
body.light-theme .rm-al-stage25-academy-offer {
  background: #103f43 !important;
  border: 1px solid rgba(75, 165, 139, .34) !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  color: #f3f8f7 !important;
}

.rm-al-stage25-listcard,
body.light-theme .rm-al-stage25-listcard {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rm-al-stage25-listcard h3,
body.light-theme .rm-al-stage25-listcard h3 {
  color: #f3f8f7 !important;
}

.rm-al-stage25-listcard__items,
body.light-theme .rm-al-stage25-listcard__items {
  border: 0 !important;
}

.rm-al-stage25-listcard__items li,
body.light-theme .rm-al-stage25-listcard__items li {
  border-top-color: rgba(103, 148, 153, .24) !important;
  color: #f0f6f5 !important;
}

.rm-al-stage25-listcard__items li:first-child,
body.light-theme .rm-al-stage25-listcard__items li:first-child {
  border-top-color: rgba(225, 193, 79, .32) !important;
}

.rm-al-stage25-listcard__bullet,
.rm-al-stage25-listcard__label,
body.light-theme .rm-al-stage25-listcard__bullet,
body.light-theme .rm-al-stage25-listcard__label {
  color: #e2c254 !important;
}

.rm-al-stage25-listcard__value,
body.light-theme .rm-al-stage25-listcard__value {
  color: #eef6f5 !important;
}

.rm-al-stage25-listcard__button,
body.light-theme .rm-al-stage25-listcard__button {
  border: 0 !important;
  border-radius: 14px !important;
  background: #e0c259 !important;
  color: #173045 !important;
  box-shadow: none !important;
}

.rm-al-stage25-listcard__button:hover,
body.light-theme .rm-al-stage25-listcard__button:hover {
  background: #e8cb67 !important;
}

.rm-al-stage25-listcard__note,
body.light-theme .rm-al-stage25-listcard__note {
  color: #a7bcc6 !important;
}

/* Kill old palette leaks inside the redesigned experience only. */
.rm-al-experience-card [class*="glow"],
body.light-theme .rm-al-experience-card [class*="glow"] {
  box-shadow: none !important;
  filter: none !important;
}

/* ---------- Mobile: preserve exact structure, only scale visual corners ---------- */
@media (max-width: 720px) {
  .rm-al-experience-card,
  body.light-theme .rm-al-experience-card {
    border-radius: 22px !important;
  }

  .rm-al-experience-card .rm-al-player-heading,
  body.light-theme .rm-al-experience-card .rm-al-player-heading,
  .rm-al-experience-card .rm-al-player-shell,
  body.light-theme .rm-al-experience-card .rm-al-player-shell,
  .rm-al-stage25-wait,
  body.light-theme .rm-al-stage25-wait,
  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer,
  .rm-al-stage25-academy-offer,
  body.light-theme .rm-al-stage25-academy-offer {
    border-radius: 18px !important;
  }
}


/* =========================================================
   Stage25 exact layout tune: inset cards + no expiry + icon right
   Theme-locked (dark/light identical)
   ========================================================= */

.rm-al-experience-card__stage,
body.light-theme .rm-al-experience-card__stage {
  padding: 0 0 16px;
}

/* Give the inner offer cards breathing room inside the unified shell */
.rm-al-stage25-offer,
body.light-theme .rm-al-stage25-offer {
  margin: 14px 12px 0;
  padding: 16px 16px 14px;
  border: 1px solid rgba(101, 135, 172, .28);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(26, 62, 96, .92), rgba(17, 45, 77, .95));
}

.rm-al-stage25-academy-offer,
body.light-theme .rm-al-stage25-academy-offer {
  margin: 12px 12px 0;
  padding: 14px 16px 16px;
  border: 1px solid rgba(88, 151, 127, .28);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(10, 80, 82, .96), rgba(8, 66, 70, .97));
}

/* Remove the old expiry block completely */
.rm-al-stage25-livehead__expiry,
body.light-theme .rm-al-stage25-livehead__expiry {
  display: none !important;
}

/* Make the top gift header match the reference: text block + icon on the right */
.rm-al-stage25-livehead,
body.light-theme .rm-al-stage25-livehead {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  max-width: none;
  margin: 0 0 14px;
}

.rm-al-stage25-livehead__copy,
body.light-theme .rm-al-stage25-livehead__copy {
  display: grid;
  gap: 6px;
  text-align: center;
  padding-inline: 4px;
}

.rm-al-stage25-livehead__eyebrow,
body.light-theme .rm-al-stage25-livehead__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #f0ca58;
  font-size: .84rem;
  font-weight: 900;
  padding: 0;
}

.rm-al-stage25-livehead__copy strong,
body.light-theme .rm-al-stage25-livehead__copy strong {
  color: #f4f8fd;
  font-size: 1.12rem;
  line-height: 1.75;
  font-weight: 850;
}

/* Gift icon becomes minimal gold outlined icon on the right */
.rm-al-stage25-livehead__icon,
body.light-theme .rm-al-stage25-livehead__icon {
  order: 2;
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  border: 4px solid #d7b541;
  border-radius: 50%;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 0;
  box-shadow: none;
  position: relative;
  display: grid;
  place-items: center;
  margin: 0;
}

.rm-al-stage25-livehead__icon::before,
body.light-theme .rm-al-stage25-livehead__icon::before {
  content: '';
  width: 30px;
  height: 30px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7b541' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='8' width='18' height='13' rx='2' ry='2'/><path d='M12 8v13'/><path d='M3 12h18'/><path d='M12 8H7.5A2.5 2.5 0 1 1 8 3c2.2 0 4 5 4 5Z'/><path d='M12 8h4.5A2.5 2.5 0 1 0 16 3c-2.2 0-4 5-4 5Z'/></svg>");
}

/* Coupon row and price row stay inset and aligned */
.rm-al-stage25-livecoupon,
.rm-al-stage25-livepricing,
.rm-al-stage25-offer__note--exact,
body.light-theme .rm-al-stage25-livecoupon,
body.light-theme .rm-al-stage25-livepricing,
body.light-theme .rm-al-stage25-offer__note--exact {
  max-width: none;
  margin-inline: 0;
}

.rm-al-stage25-livecoupon,
body.light-theme .rm-al-stage25-livecoupon {
  margin-bottom: 12px;
  padding: 14px 14px;
  border-radius: 14px;
}

.rm-al-stage25-livecoupon__copy,
body.light-theme .rm-al-stage25-livecoupon__copy {
  min-width: 84px;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 12px;
}

.rm-al-stage25-livepricing,
body.light-theme .rm-al-stage25-livepricing {
  padding: 10px 2px 2px;
}

.rm-al-stage25-offer__note--exact,
body.light-theme .rm-al-stage25-offer__note--exact {
  text-align: center;
  margin-top: 10px;
}

/* Lower academy-offer card visual cleanup */
.rm-al-stage25-listcard,
body.light-theme .rm-al-stage25-listcard {
  padding-top: 4px;
  border-top: 0;
  background: transparent;
}

.rm-al-stage25-listcard h3,
body.light-theme .rm-al-stage25-listcard h3 {
  margin-bottom: 12px;
  color: #f4f8fd;
  font-size: 1.06rem;
}

.rm-al-stage25-listcard__items,
body.light-theme .rm-al-stage25-listcard__items {
  margin-bottom: 16px;
}

.rm-al-stage25-listcard__items li,
body.light-theme .rm-al-stage25-listcard__items li {
  border-top-color: rgba(233, 205, 113, .18);
}

.rm-al-stage25-listcard__button,
body.light-theme .rm-al-stage25-listcard__button {
  width: min(372px, 100%);
  min-height: 52px;
  border-radius: 12px;
}

/* Keep the player card inset feel too */
.rm-al-player-section,
body.light-theme .rm-al-player-section {
  padding: 12px 12px 0;
}

.rm-al-player-heading,
body.light-theme .rm-al-player-heading {
  margin-bottom: 10px;
}

.rm-al-player-shell,
body.light-theme .rm-al-player-shell {
  border-radius: 18px;
}

/* Mobile stack exactly like sample */
@media (max-width: 720px) {
  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer,
  .rm-al-stage25-academy-offer,
  body.light-theme .rm-al-stage25-academy-offer {
    margin-inline: 10px;
    padding-inline: 14px;
  }

  .rm-al-stage25-livehead,
  body.light-theme .rm-al-stage25-livehead {
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
  }

  .rm-al-stage25-livehead__copy,
  body.light-theme .rm-al-stage25-livehead__copy {
    text-align: center;
  }

  .rm-al-stage25-livehead__icon,
  body.light-theme .rm-al-stage25-livehead__icon {
    width: 64px;
    height: 64px;
    border-width: 3px;
  }

  .rm-al-stage25-livehead__icon::before,
  body.light-theme .rm-al-stage25-livehead__icon::before {
    width: 25px;
    height: 25px;
  }
}


/* =========================================================
   Spacing fix: create real inner gutters between unified shell
   and inner cards / player frame. Theme remains locked.
   ========================================================= */

.rm-al-experience-card,
body.light-theme .rm-al-experience-card {
  overflow: hidden;
}

.rm-al-experience-card__stage,
body.light-theme .rm-al-experience-card__stage {
  padding: 14px 14px 18px !important;
}

/* Player block should breathe inside the main card */
.rm-al-player-section,
body.light-theme .rm-al-player-section {
  padding: 0 !important;
  margin: 0 0 14px !important;
}

.rm-al-player-heading,
body.light-theme .rm-al-player-heading {
  margin: 0 0 12px !important;
}

.rm-al-player-shell,
body.light-theme .rm-al-player-shell {
  margin: 0 !important;
  border-radius: 18px !important;
}

.rm-al-download-row,
body.light-theme .rm-al-download-row {
  padding: 12px 0 0 !important;
}

/* Inner gift/offer cards need clear separation from main shell */
.rm-al-stage25-offer,
body.light-theme .rm-al-stage25-offer {
  margin: 0 0 14px !important;
  padding: 18px 18px 16px !important;
  border-radius: 18px !important;
}

.rm-al-stage25-academy-offer,
body.light-theme .rm-al-stage25-academy-offer {
  margin: 0 !important;
  padding: 18px 18px 18px !important;
  border-radius: 18px !important;
}

/* Keep internal blocks from touching their card edges */
.rm-al-stage25-livehead,
.rm-al-stage25-livecoupon,
.rm-al-stage25-livepricing,
.rm-al-stage25-offer__note--exact,
body.light-theme .rm-al-stage25-livehead,
body.light-theme .rm-al-stage25-livecoupon,
body.light-theme .rm-al-stage25-livepricing,
body.light-theme .rm-al-stage25-offer__note--exact {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.rm-al-stage25-listcard,
body.light-theme .rm-al-stage25-listcard {
  padding: 6px 8px 0 !important;
}

.rm-al-stage25-listcard__items,
body.light-theme .rm-al-stage25-listcard__items {
  width: min(460px, calc(100% - 16px)) !important;
}

.rm-al-stage25-listcard__button,
body.light-theme .rm-al-stage25-listcard__button {
  width: min(390px, calc(100% - 24px)) !important;
}

@media (max-width: 720px) {
  .rm-al-experience-card__stage,
  body.light-theme .rm-al-experience-card__stage {
    padding: 10px 10px 14px !important;
  }

  .rm-al-player-section,
  body.light-theme .rm-al-player-section {
    margin-bottom: 12px !important;
  }

  .rm-al-player-heading,
  body.light-theme .rm-al-player-heading {
    margin-bottom: 10px !important;
  }

  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer,
  .rm-al-stage25-academy-offer,
  body.light-theme .rm-al-stage25-academy-offer {
    padding: 16px 14px !important;
    border-radius: 16px !important;
  }

  .rm-al-stage25-listcard,
  body.light-theme .rm-al-stage25-listcard {
    padding-inline: 2px !important;
  }
}


/* =========================================================
   Final unified-card spacing polish
   Structure/palette/theme lock stay unchanged.
   ========================================================= */

/* 1) Real gutter around the entire player zone: title + player + download */
.rm-al-experience-card__media,
body.light-theme .rm-al-experience-card__media {
  padding: 18px 18px 0 !important;
}

.rm-al-experience-card .rm-al-player-section,
body.light-theme .rm-al-experience-card .rm-al-player-section {
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Title card must not touch the outer shell or the player frame */
.rm-al-experience-card .rm-al-player-heading,
body.light-theme .rm-al-experience-card .rm-al-player-heading {
  margin: 0 0 14px !important;
  border-radius: 18px !important;
}

/* 3) Keep the green inner player frame visibly inset */
.rm-al-experience-card .rm-al-player-shell,
body.light-theme .rm-al-experience-card .rm-al-player-shell {
  margin: 0 !important;
  border-radius: 18px !important;
}

/* 4) Download button: separate row, calm spacing, aligned to left like the older UI */
.rm-al-experience-card .rm-al-download-row,
body.light-theme .rm-al-experience-card .rm-al-download-row {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  direction: ltr !important;
  padding: 14px 0 16px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-al-experience-card .rm-al-download-button,
body.light-theme .rm-al-experience-card .rm-al-download-button {
  direction: rtl !important;
  width: auto !important;
  min-width: 132px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  border-radius: 13px !important;
}

/* 5) Real gutter around all post-player cards */
.rm-al-experience-card__stage,
body.light-theme .rm-al-experience-card__stage {
  padding: 4px 18px 20px !important;
}

/* 6) Real vertical gap between inner cards */
.rm-al-stage25-offer,
body.light-theme .rm-al-stage25-offer {
  margin: 0 0 18px !important;
  padding: 18px 18px 16px !important;
  border-radius: 18px !important;
}

.rm-al-stage25-academy-offer,
body.light-theme .rm-al-stage25-academy-offer {
  margin: 0 !important;
  padding: 18px 18px 18px !important;
  border-radius: 18px !important;
}

/* 7) Inner content should also breathe inside each offer card */
.rm-al-stage25-livehead,
body.light-theme .rm-al-stage25-livehead {
  margin-bottom: 16px !important;
}

.rm-al-stage25-livecoupon,
body.light-theme .rm-al-stage25-livecoupon {
  margin-bottom: 14px !important;
}

.rm-al-stage25-livepricing,
body.light-theme .rm-al-stage25-livepricing {
  padding: 12px 4px 4px !important;
}

.rm-al-stage25-listcard,
body.light-theme .rm-al-stage25-listcard {
  padding: 8px 12px 2px !important;
}

.rm-al-stage25-listcard__items,
body.light-theme .rm-al-stage25-listcard__items {
  width: min(460px, calc(100% - 28px)) !important;
  margin-inline: auto !important;
  margin-bottom: 18px !important;
}

.rm-al-stage25-listcard__button,
body.light-theme .rm-al-stage25-listcard__button {
  width: min(390px, calc(100% - 36px)) !important;
  margin-inline: auto !important;
}

/* The provided screenshot is ~600px wide, so mobile must NOT collapse gutters back to 10px. */
@media (max-width: 720px) {
  .rm-al-experience-card__media,
  body.light-theme .rm-al-experience-card__media {
    padding: 16px 16px 0 !important;
  }

  .rm-al-experience-card__stage,
  body.light-theme .rm-al-experience-card__stage {
    padding: 4px 16px 18px !important;
  }

  .rm-al-experience-card .rm-al-player-heading,
  body.light-theme .rm-al-experience-card .rm-al-player-heading {
    margin-bottom: 12px !important;
  }

  .rm-al-experience-card .rm-al-download-row,
  body.light-theme .rm-al-experience-card .rm-al-download-row {
    padding: 12px 0 15px !important;
  }

  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer {
    margin-bottom: 16px !important;
    padding: 16px 15px !important;
  }

  .rm-al-stage25-academy-offer,
  body.light-theme .rm-al-stage25-academy-offer {
    padding: 16px 15px 17px !important;
  }

  .rm-al-stage25-listcard,
  body.light-theme .rm-al-stage25-listcard {
    padding-inline: 8px !important;
  }
}

/* =========================================================
   Gift card RTL layout alignment
   Layout only: colors, typography, borders and visual styling unchanged.
   ========================================================= */

/* Top line: gift icon on the RIGHT, message immediately to its left. */
.rm-al-stage25-livehead,
body.light-theme .rm-al-stage25-livehead {
  direction: rtl !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 22px !important;
}

.rm-al-stage25-livehead__icon,
body.light-theme .rm-al-stage25-livehead__icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
  order: initial !important;
  justify-self: end !important;
  margin: 0 !important;
}

.rm-al-stage25-livehead__copy,
body.light-theme .rm-al-stage25-livehead__copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  text-align: right !important;
  justify-items: start !important;
  align-content: center !important;
  padding-inline: 0 !important;
}

.rm-al-stage25-livehead__eyebrow,
body.light-theme .rm-al-stage25-livehead__eyebrow {
  justify-content: flex-start !important;
  text-align: right !important;
}

.rm-al-stage25-livehead__copy strong,
body.light-theme .rm-al-stage25-livehead__copy strong {
  width: 100% !important;
  text-align: right !important;
}

/* Keep the previously removed expiry block removed. */
.rm-al-stage25-livehead__expiry,
body.light-theme .rm-al-stage25-livehead__expiry {
  display: none !important;
}

/* Coupon line: label/code on RIGHT, copy button on LEFT. */
.rm-al-stage25-livecoupon,
body.light-theme .rm-al-stage25-livecoupon {
  direction: rtl !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 18px !important;
}

.rm-al-stage25-livecoupon__body,
body.light-theme .rm-al-stage25-livecoupon__body {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  text-align: right !important;
  justify-items: start !important;
}

.rm-al-stage25-livecoupon__body span,
body.light-theme .rm-al-stage25-livecoupon__body span {
  width: 100% !important;
  text-align: right !important;
}

.rm-al-stage25-livecoupon__body strong,
body.light-theme .rm-al-stage25-livecoupon__body strong {
  width: 100% !important;
  text-align: right !important;
}

.rm-al-stage25-livecoupon__copy,
body.light-theme .rm-al-stage25-livecoupon__copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: start !important;
}

/* Price line: final price on RIGHT, discount badge on LEFT. */
.rm-al-stage25-livepricing,
body.light-theme .rm-al-stage25-livepricing {
  direction: rtl !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  column-gap: 24px !important;
}

.rm-al-stage25-livepricing__final,
body.light-theme .rm-al-stage25-livepricing__final {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  margin: 0 !important;
  text-align: right !important;
}

.rm-al-stage25-livepricing__new,
body.light-theme .rm-al-stage25-livepricing__new {
  direction: rtl !important;
  justify-content: flex-start !important;
}

.rm-al-stage25-livepricing__old,
body.light-theme .rm-al-stage25-livepricing__old {
  text-align: right !important;
}

.rm-al-stage25-livepricing__discount,
body.light-theme .rm-al-stage25-livepricing__discount {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: end !important;
}

/* Note follows the RTL flow of the card. */
.rm-al-stage25-offer__note--exact,
body.light-theme .rm-al-stage25-offer__note--exact {
  direction: rtl !important;
  text-align: center !important;
}

@media (max-width: 720px) {
  .rm-al-stage25-livehead,
  body.light-theme .rm-al-stage25-livehead {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  .rm-al-stage25-livehead__icon,
  body.light-theme .rm-al-stage25-livehead__icon {
    width: 62px !important;
    height: 62px !important;
  }

  .rm-al-stage25-livecoupon,
  body.light-theme .rm-al-stage25-livecoupon {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 12px !important;
  }

  .rm-al-stage25-livepricing,
  body.light-theme .rm-al-stage25-livepricing {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 12px !important;
  }

  .rm-al-stage25-livepricing__discount,
  body.light-theme .rm-al-stage25-livepricing__discount {
    white-space: nowrap !important;
  }
}

/* =========================================================
   Responsive refinement: tablet + mobile
   Layout/typography only. Desktop and palette remain unchanged.
   ========================================================= */

/* ---------------- Tablet ---------------- */
@media (max-width: 900px) {

  .rm-al-experience-card__media,
  body.light-theme .rm-al-experience-card__media {
    padding: 15px 15px 0 !important;
  }

  .rm-al-experience-card__stage,
  body.light-theme .rm-al-experience-card__stage {
    padding: 4px 15px 18px !important;
  }

  .rm-al-experience-card .rm-al-player-heading,
  body.light-theme .rm-al-experience-card .rm-al-player-heading {
    padding: 13px 15px !important;
    margin-bottom: 11px !important;
    gap: 10px !important;
  }

  .rm-al-experience-card .rm-al-player-greeting,
  body.light-theme .rm-al-experience-card .rm-al-player-greeting {
    font-size: .76rem !important;
    line-height: 1.7 !important;
  }

  .rm-al-experience-card .rm-al-player-landing-title,
  body.light-theme .rm-al-experience-card .rm-al-player-landing-title {
    font-size: clamp(1rem, 2.7vw, 1.3rem) !important;
    line-height: 1.65 !important;
  }

  .rm-al-player-session-badge,
  body.light-theme .rm-al-player-session-badge {
    padding: 5px 9px !important;
    font-size: .68rem !important;
  }

  .rm-al-experience-card .rm-al-download-row,
  body.light-theme .rm-al-experience-card .rm-al-download-row {
    padding: 10px 0 13px !important;
  }

  .rm-al-experience-card .rm-al-download-button,
  body.light-theme .rm-al-experience-card .rm-al-download-button {
    min-width: 118px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    font-size: .72rem !important;
  }

  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer,
  .rm-al-stage25-academy-offer,
  body.light-theme .rm-al-stage25-academy-offer {
    padding: 15px 15px !important;
  }

  .rm-al-stage25-livehead,
  body.light-theme .rm-al-stage25-livehead {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    margin-bottom: 13px !important;
  }

  .rm-al-stage25-livehead__icon,
  body.light-theme .rm-al-stage25-livehead__icon {
    width: 58px !important;
    height: 58px !important;
    border-width: 3px !important;
  }

  .rm-al-stage25-livehead__icon::before,
  body.light-theme .rm-al-stage25-livehead__icon::before {
    width: 23px !important;
    height: 23px !important;
  }

  .rm-al-stage25-livehead__eyebrow,
  body.light-theme .rm-al-stage25-livehead__eyebrow {
    font-size: .72rem !important;
    line-height: 1.6 !important;
  }

  .rm-al-stage25-livehead__copy strong,
  body.light-theme .rm-al-stage25-livehead__copy strong {
    font-size: .98rem !important;
    line-height: 1.75 !important;
  }

  .rm-al-stage25-livecoupon,
  body.light-theme .rm-al-stage25-livecoupon {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 12px !important;
    padding: 12px 12px !important;
    margin-bottom: 12px !important;
  }

  .rm-al-stage25-livecoupon__body span,
  body.light-theme .rm-al-stage25-livecoupon__body span {
    font-size: .72rem !important;
  }

  .rm-al-stage25-livecoupon__body strong,
  body.light-theme .rm-al-stage25-livecoupon__body strong {
    min-width: 0 !important;
    font-size: clamp(1.25rem, 4.2vw, 1.65rem) !important;
    line-height: 1.25 !important;
    letter-spacing: .015em !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .rm-al-stage25-livecoupon__copy,
  body.light-theme .rm-al-stage25-livecoupon__copy {
    min-width: 70px !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: .72rem !important;
  }

  .rm-al-stage25-livepricing,
  body.light-theme .rm-al-stage25-livepricing {
    column-gap: 14px !important;
    padding: 9px 2px 2px !important;
  }

  .rm-al-stage25-livepricing__old,
  body.light-theme .rm-al-stage25-livepricing__old {
    font-size: .76rem !important;
  }

  .rm-al-stage25-livepricing__new,
  body.light-theme .rm-al-stage25-livepricing__new {
    gap: 6px !important;
  }

  .rm-al-stage25-livepricing__new strong,
  body.light-theme .rm-al-stage25-livepricing__new strong {
    font-size: clamp(1.55rem, 5vw, 2rem) !important;
    line-height: 1.1 !important;
  }

  .rm-al-stage25-livepricing__new span,
  body.light-theme .rm-al-stage25-livepricing__new span {
    font-size: .76rem !important;
    margin-bottom: 3px !important;
  }

  .rm-al-stage25-livepricing__discount,
  body.light-theme .rm-al-stage25-livepricing__discount {
    min-height: 38px !important;
    padding: 8px 11px !important;
    font-size: .72rem !important;
  }

  .rm-al-stage25-listcard,
  body.light-theme .rm-al-stage25-listcard {
    padding: 5px 7px 0 !important;
  }

  .rm-al-stage25-listcard h3,
  body.light-theme .rm-al-stage25-listcard h3 {
    margin-bottom: 12px !important;
    font-size: .98rem !important;
    line-height: 1.75 !important;
  }

  .rm-al-stage25-listcard__items,
  body.light-theme .rm-al-stage25-listcard__items {
    width: min(430px, calc(100% - 12px)) !important;
    margin-bottom: 14px !important;
  }

  .rm-al-stage25-listcard__items li,
  body.light-theme .rm-al-stage25-listcard__items li {
    gap: 7px !important;
    padding: 10px 0 !important;
    line-height: 1.7 !important;
  }

  .rm-al-stage25-listcard__label,
  .rm-al-stage25-listcard__value,
  body.light-theme .rm-al-stage25-listcard__label,
  body.light-theme .rm-al-stage25-listcard__value {
    font-size: .8rem !important;
  }

  .rm-al-stage25-listcard__button,
  body.light-theme .rm-al-stage25-listcard__button {
    width: min(350px, calc(100% - 20px)) !important;
    min-height: 46px !important;
    padding: 10px 16px !important;
    font-size: .82rem !important;
  }

  .rm-al-stage25-listcard__note,
  body.light-theme .rm-al-stage25-listcard__note {
    font-size: .68rem !important;
    line-height: 1.8 !important;
  }
}

/* ---------------- Mobile ---------------- */
@media (max-width: 600px) {

  .rm-al-experience-card__media,
  body.light-theme .rm-al-experience-card__media {
    padding: 12px 12px 0 !important;
  }

  .rm-al-experience-card__stage,
  body.light-theme .rm-al-experience-card__stage {
    padding: 3px 12px 15px !important;
  }

  .rm-al-experience-card .rm-al-player-heading,
  body.light-theme .rm-al-experience-card .rm-al-player-heading {
    padding: 11px 12px !important;
    border-radius: 14px !important;
  }

  .rm-al-experience-card .rm-al-player-heading__copy,
  body.light-theme .rm-al-experience-card .rm-al-player-heading__copy {
    min-width: 0 !important;
  }

  .rm-al-experience-card .rm-al-player-landing-title,
  body.light-theme .rm-al-experience-card .rm-al-player-landing-title {
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }

  .rm-al-player-session-badge,
  body.light-theme .rm-al-player-session-badge {
    font-size: .61rem !important;
    padding: 4px 7px !important;
  }

  .rm-al-experience-card .rm-al-player-shell,
  body.light-theme .rm-al-experience-card .rm-al-player-shell {
    border-radius: 15px !important;
  }

  .rm-al-experience-card .rm-al-download-button,
  body.light-theme .rm-al-experience-card .rm-al-download-button {
    min-width: 106px !important;
    min-height: 35px !important;
    padding: 7px 10px !important;
    font-size: .66rem !important;
    border-radius: 11px !important;
  }

  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer,
  .rm-al-stage25-academy-offer,
  body.light-theme .rm-al-stage25-academy-offer {
    padding: 13px 12px !important;
    border-radius: 15px !important;
  }

  .rm-al-stage25-offer,
  body.light-theme .rm-al-stage25-offer {
    margin-bottom: 13px !important;
  }

  .rm-al-stage25-livehead,
  body.light-theme .rm-al-stage25-livehead {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    column-gap: 11px !important;
    margin-bottom: 11px !important;
  }

  .rm-al-stage25-livehead__icon,
  body.light-theme .rm-al-stage25-livehead__icon {
    width: 50px !important;
    height: 50px !important;
    border-width: 2.5px !important;
  }

  .rm-al-stage25-livehead__icon::before,
  body.light-theme .rm-al-stage25-livehead__icon::before {
    width: 20px !important;
    height: 20px !important;
  }

  .rm-al-stage25-livehead__eyebrow,
  body.light-theme .rm-al-stage25-livehead__eyebrow {
    font-size: .66rem !important;
  }

  .rm-al-stage25-livehead__copy strong,
  body.light-theme .rm-al-stage25-livehead__copy strong {
    font-size: .86rem !important;
    line-height: 1.7 !important;
  }

  .rm-al-stage25-livecoupon,
  body.light-theme .rm-al-stage25-livecoupon {
    grid-template-columns: minmax(0, 1fr) 64px !important;
    column-gap: 9px !important;
    padding: 10px !important;
    border-radius: 13px !important;
  }

  .rm-al-stage25-livecoupon__body,
  body.light-theme .rm-al-stage25-livecoupon__body {
    min-width: 0 !important;
  }

  .rm-al-stage25-livecoupon__body span,
  body.light-theme .rm-al-stage25-livecoupon__body span {
    font-size: .64rem !important;
  }

  .rm-al-stage25-livecoupon__body strong,
  body.light-theme .rm-al-stage25-livecoupon__body strong {
    font-size: clamp(1.05rem, 5.3vw, 1.42rem) !important;
    letter-spacing: 0 !important;
  }

  .rm-al-stage25-livecoupon__copy,
  body.light-theme .rm-al-stage25-livecoupon__copy {
    width: 64px !important;
    min-width: 64px !important;
    min-height: 34px !important;
    padding: 6px 7px !important;
    gap: 5px !important;
    font-size: .65rem !important;
    border-radius: 10px !important;
  }

  /*
   * On phones the price and discount badge must not compete for one row.
   * Final price stays on the right; discount badge gets its own line below.
   */
  .rm-al-stage25-livepricing,
  body.light-theme .rm-al-stage25-livepricing {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    row-gap: 10px !important;
    padding-top: 10px !important;
  }

  .rm-al-stage25-livepricing__final,
  body.light-theme .rm-al-stage25-livepricing__final {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    text-align: right !important;
  }

  .rm-al-stage25-livepricing__new,
  body.light-theme .rm-al-stage25-livepricing__new {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
  }

  .rm-al-stage25-livepricing__new strong,
  body.light-theme .rm-al-stage25-livepricing__new strong {
    font-size: clamp(1.42rem, 7vw, 1.78rem) !important;
  }

  .rm-al-stage25-livepricing__discount,
  body.light-theme .rm-al-stage25-livepricing__discount {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: .66rem !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .rm-al-stage25-listcard h3,
  body.light-theme .rm-al-stage25-listcard h3 {
    font-size: .9rem !important;
    line-height: 1.75 !important;
  }

  .rm-al-stage25-listcard__items,
  body.light-theme .rm-al-stage25-listcard__items {
    width: 100% !important;
  }

  .rm-al-stage25-listcard__items li,
  body.light-theme .rm-al-stage25-listcard__items li {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 6px 8px !important;
    padding: 9px 0 !important;
    align-items: start !important;
  }

  .rm-al-stage25-listcard__bullet,
  body.light-theme .rm-al-stage25-listcard__bullet {
    display: none !important;
  }

  .rm-al-stage25-listcard__label,
  body.light-theme .rm-al-stage25-listcard__label {
    grid-column: 1 !important;
    font-size: .75rem !important;
    white-space: nowrap !important;
  }

  .rm-al-stage25-listcard__value,
  body.light-theme .rm-al-stage25-listcard__value {
    grid-column: 2 !important;
    min-width: 0 !important;
    font-size: .75rem !important;
    line-height: 1.7 !important;
    overflow-wrap: anywhere !important;
  }

  .rm-al-stage25-listcard__button,
  body.light-theme .rm-al-stage25-listcard__button {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 13px !important;
    font-size: .78rem !important;
    border-radius: 12px !important;
  }

  .rm-al-stage25-listcard__note,
  body.light-theme .rm-al-stage25-listcard__note {
    padding-inline: 4px !important;
    font-size: .62rem !important;
    line-height: 1.75 !important;
  }
}

/* ---------------- Narrow phones ---------------- */
@media (max-width: 420px) {

  .rm-al-experience-card__media,
  body.light-theme .rm-al-experience-card__media {
    padding-inline: 10px !important;
  }

  .rm-al-experience-card__stage,
  body.light-theme .rm-al-experience-card__stage {
    padding-inline: 10px !important;
  }

  .rm-al-experience-card .rm-al-player-heading,
  body.light-theme .rm-al-experience-card .rm-al-player-heading {
    padding: 10px !important;
  }

  .rm-al-experience-card .rm-al-player-landing-title,
  body.light-theme .rm-al-experience-card .rm-al-player-landing-title {
    font-size: .88rem !important;
  }

  .rm-al-stage25-livehead,
  body.light-theme .rm-al-stage25-livehead {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }

  .rm-al-stage25-livehead__icon,
  body.light-theme .rm-al-stage25-livehead__icon {
    width: 46px !important;
    height: 46px !important;
  }

  .rm-al-stage25-livehead__copy strong,
  body.light-theme .rm-al-stage25-livehead__copy strong {
    font-size: .8rem !important;
  }

  .rm-al-stage25-livecoupon,
  body.light-theme .rm-al-stage25-livecoupon {
    grid-template-columns: minmax(0, 1fr) 58px !important;
    column-gap: 7px !important;
  }

  .rm-al-stage25-livecoupon__body strong,
  body.light-theme .rm-al-stage25-livecoupon__body strong {
    font-size: 1rem !important;
  }

  .rm-al-stage25-livecoupon__copy,
  body.light-theme .rm-al-stage25-livecoupon__copy {
    width: 58px !important;
    min-width: 58px !important;
    font-size: .61rem !important;
  }

  .rm-al-stage25-livepricing__new strong,
  body.light-theme .rm-al-stage25-livepricing__new strong {
    font-size: 1.35rem !important;
  }

  .rm-al-stage25-listcard h3,
  body.light-theme .rm-al-stage25-listcard h3 {
    font-size: .84rem !important;
  }

  .rm-al-stage25-listcard__label,
  .rm-al-stage25-listcard__value,
  body.light-theme .rm-al-stage25-listcard__label,
  body.light-theme .rm-al-stage25-listcard__value {
    font-size: .7rem !important;
  }
}

/* =========================================================
   Mobile alignment refinement
   - title card fully centered
   - player fixed at 16:9
   - gift pricing centered
   Mobile only; desktop/tablet palette untouched.
   ========================================================= */

@media (max-width: 600px) {

  /* ---------- Title card: center everything ---------- */
  .rm-al-experience-card .rm-al-player-heading,
  body.light-theme .rm-al-experience-card .rm-al-player-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .rm-al-experience-card .rm-al-player-heading__copy,
  body.light-theme .rm-al-experience-card .rm-al-player-heading__copy {
    width: 100% !important;
    min-width: 0 !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .rm-al-experience-card .rm-al-player-greeting,
  .rm-al-experience-card .rm-al-player-landing-title,
  body.light-theme .rm-al-experience-card .rm-al-player-greeting,
  body.light-theme .rm-al-experience-card .rm-al-player-landing-title {
    width: 100% !important;
    text-align: center !important;
  }

  .rm-al-player-session-badge,
  body.light-theme .rm-al-player-session-badge {
    align-self: center !important;
    justify-self: center !important;
    margin-inline: auto !important;
  }

  /* ---------- Mobile player: strict 16:9 ---------- */
  .rm-al-experience-card .rm-al-player-frame,
  body.light-theme .rm-al-experience-card .rm-al-player-frame {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
  }

  .rm-al-experience-card .rm-al-player-frame > *,
  body.light-theme .rm-al-experience-card .rm-al-player-frame > * {
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
  }

  .rm-al-experience-card .rm-al-player-frame video,
  .rm-al-experience-card .rm-al-player-frame iframe,
  body.light-theme .rm-al-experience-card .rm-al-player-frame video,
  body.light-theme .rm-al-experience-card .rm-al-player-frame iframe {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* ---------- Gift card lower prices: centered ---------- */
  .rm-al-stage25-livepricing,
  body.light-theme .rm-al-stage25-livepricing {
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .rm-al-stage25-livepricing__final,
  body.light-theme .rm-al-stage25-livepricing__final {
    justify-self: center !important;
    width: 100% !important;
    text-align: center !important;
  }

  .rm-al-stage25-livepricing__old,
  body.light-theme .rm-al-stage25-livepricing__old {
    width: 100% !important;
    text-align: center !important;
  }

  .rm-al-stage25-livepricing__new,
  body.light-theme .rm-al-stage25-livepricing__new {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .rm-al-stage25-livepricing__discount,
  body.light-theme .rm-al-stage25-livepricing__discount {
    justify-self: center !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
}

/* =========================================================
   Mobile gift-title refinement
   Keep the Stage25 title compact enough for a single line where possible.
   ========================================================= */
@media (max-width: 600px) {
  .rm-al-stage25-livehead__copy strong,
  body.light-theme .rm-al-stage25-livehead__copy strong {
    font-size: .78rem !important;
    line-height: 1.55 !important;
    white-space: nowrap !important;
    letter-spacing: -.015em !important;
  }
}

@media (max-width: 420px) {
  .rm-al-stage25-livehead__copy strong,
  body.light-theme .rm-al-stage25-livehead__copy strong {
    font-size: .72rem !important;
  }
}

/* =========================================================
   Final width + mobile player overlay refinement
   - desktop central card max-width: 950px
   - mobile player play button/text reduced
   Palette and existing layout behavior remain unchanged.
   ========================================================= */

@media (min-width: 901px) {
  .rm-al-page,
  body.light-theme .rm-al-page {
    width: min(950px, calc(100% - 32px)) !important;
    max-width: 950px !important;
  }
}

@media (max-width: 600px) {
  .rm-al-player-overlay,
  body.light-theme .rm-al-player-overlay {
    gap: 7px !important;
    padding: 14px !important;
  }

  .rm-al-player-play,
  body.light-theme .rm-al-player-play {
    width: 48px !important;
    height: 48px !important;
    box-shadow: 0 0 0 7px rgba(255,255,255,.045) !important;
  }

  .rm-al-player-play::after,
  body.light-theme .rm-al-player-play::after {
    border-top-width: 8px !important;
    border-bottom-width: 8px !important;
    border-left-width: 13px !important;
  }

  .rm-al-player-overlay strong,
  body.light-theme .rm-al-player-overlay strong {
    margin-top: 4px !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 420px) {
  .rm-al-player-play,
  body.light-theme .rm-al-player-play {
    width: 44px !important;
    height: 44px !important;
  }

  .rm-al-player-play::after,
  body.light-theme .rm-al-player-play::after {
    border-top-width: 7px !important;
    border-bottom-width: 7px !important;
    border-left-width: 12px !important;
  }

  .rm-al-player-overlay strong,
  body.light-theme .rm-al-player-overlay strong {
    font-size: .76rem !important;
  }
}

/* =========================================================
   Stage25 waiting-card composition
   Desktop: timer left | message | gift icon right
   Mobile: icon + message first row, timer centered below
   ========================================================= */

.rm-al-stage25-wait__top,
body.light-theme .rm-al-stage25-wait__top {
  direction: ltr !important;
  display: grid !important;
  grid-template-columns: 138px minmax(0, 1fr) 104px !important;
  grid-template-areas: "clock copy icon" !important;
  align-items: center !important;
  gap: 24px !important;
  width: 100% !important;
}

.rm-al-stage25-wait__gift-icon,
body.light-theme .rm-al-stage25-wait__gift-icon {
  grid-area: icon !important;
  justify-self: end !important;
  width: 96px !important;
  height: 96px !important;
  display: grid !important;
  place-items: center !important;
  border: 4px solid #d7b541 !important;
  border-radius: 50% !important;
  color: #d7b541 !important;
  background: rgba(215, 181, 65, .035) !important;
}

.rm-al-stage25-wait__gift-icon svg,
body.light-theme .rm-al-stage25-wait__gift-icon svg {
  width: 42px !important;
  height: 42px !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.rm-al-stage25-wait__copy,
body.light-theme .rm-al-stage25-wait__copy {
  grid-area: copy !important;
  direction: rtl !important;
  display: grid !important;
  align-content: center !important;
  justify-items: end !important;
  text-align: right !important;
}

.rm-al-stage25-wait__copy strong,
body.light-theme .rm-al-stage25-wait__copy strong {
  width: 100% !important;
  margin: 0 !important;
  text-align: right !important;
  font-size: clamp(1.15rem, 2vw, 1.42rem) !important;
  line-height: 1.75 !important;
}

.rm-al-stage25-wait__clock,
body.light-theme .rm-al-stage25-wait__clock {
  grid-area: clock !important;
  justify-self: start !important;
  width: 128px !important;
  height: 128px !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__ring,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring {
  width: 128px !important;
  height: 128px !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__ring-inner,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring-inner {
  inset: 6px !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__time,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time {
  font-size: 2rem !important;
  line-height: 1.1 !important;
}

.rm-al-stage25-wait .rm-al-gift-countdown__time-wrap small,
body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time-wrap small {
  margin-top: 5px !important;
  font-size: .8rem !important;
}

@media (max-width: 900px) {
  .rm-al-stage25-wait__top,
  body.light-theme .rm-al-stage25-wait__top {
    grid-template-columns: 112px minmax(0, 1fr) 82px !important;
    gap: 18px !important;
  }

  .rm-al-stage25-wait__gift-icon,
  body.light-theme .rm-al-stage25-wait__gift-icon {
    width: 78px !important;
    height: 78px !important;
    border-width: 3px !important;
  }

  .rm-al-stage25-wait__gift-icon svg,
  body.light-theme .rm-al-stage25-wait__gift-icon svg {
    width: 34px !important;
    height: 34px !important;
  }

  .rm-al-stage25-wait__copy strong,
  body.light-theme .rm-al-stage25-wait__copy strong {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }

  .rm-al-stage25-wait__clock,
  body.light-theme .rm-al-stage25-wait__clock,
  .rm-al-stage25-wait .rm-al-gift-countdown__ring,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring {
    width: 108px !important;
    height: 108px !important;
  }

  .rm-al-stage25-wait .rm-al-gift-countdown__time,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time {
    font-size: 1.7rem !important;
  }
}

@media (max-width: 600px) {
  .rm-al-stage25-wait,
  body.light-theme .rm-al-stage25-wait {
    padding: 16px 14px 18px !important;
  }

  .rm-al-stage25-wait__top,
  body.light-theme .rm-al-stage25-wait__top {
    grid-template-columns: minmax(0, 1fr) 62px !important;
    grid-template-areas:
      "copy icon"
      "clock clock" !important;
    gap: 13px 12px !important;
  }

  .rm-al-stage25-wait__gift-icon,
  body.light-theme .rm-al-stage25-wait__gift-icon {
    width: 62px !important;
    height: 62px !important;
    border-width: 3px !important;
  }

  .rm-al-stage25-wait__gift-icon svg,
  body.light-theme .rm-al-stage25-wait__gift-icon svg {
    width: 27px !important;
    height: 27px !important;
  }

  .rm-al-stage25-wait__copy,
  body.light-theme .rm-al-stage25-wait__copy {
    justify-items: end !important;
    align-self: center !important;
  }

  .rm-al-stage25-wait__copy strong,
  body.light-theme .rm-al-stage25-wait__copy strong {
    font-size: .9rem !important;
    line-height: 1.65 !important;
  }

  .rm-al-stage25-wait__clock,
  body.light-theme .rm-al-stage25-wait__clock {
    justify-self: center !important;
    margin-top: 2px !important;
  }

  .rm-al-stage25-wait__clock,
  body.light-theme .rm-al-stage25-wait__clock,
  .rm-al-stage25-wait .rm-al-gift-countdown__ring,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring {
    width: 104px !important;
    height: 104px !important;
  }

  .rm-al-stage25-wait .rm-al-gift-countdown__time,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time {
    font-size: 1.65rem !important;
  }

  .rm-al-stage25-wait .rm-al-gift-countdown__time-wrap small,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time-wrap small {
    font-size: .72rem !important;
  }
}

@media (max-width: 420px) {
  .rm-al-stage25-wait__top,
  body.light-theme .rm-al-stage25-wait__top {
    grid-template-columns: minmax(0, 1fr) 56px !important;
    gap: 11px 10px !important;
  }

  .rm-al-stage25-wait__gift-icon,
  body.light-theme .rm-al-stage25-wait__gift-icon {
    width: 56px !important;
    height: 56px !important;
  }

  .rm-al-stage25-wait__gift-icon svg,
  body.light-theme .rm-al-stage25-wait__gift-icon svg {
    width: 24px !important;
    height: 24px !important;
  }

  .rm-al-stage25-wait__copy strong,
  body.light-theme .rm-al-stage25-wait__copy strong {
    font-size: .82rem !important;
  }

  .rm-al-stage25-wait__clock,
  body.light-theme .rm-al-stage25-wait__clock,
  .rm-al-stage25-wait .rm-al-gift-countdown__ring,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__ring {
    width: 96px !important;
    height: 96px !important;
  }

  .rm-al-stage25-wait .rm-al-gift-countdown__time,
  body.light-theme .rm-al-stage25-wait .rm-al-gift-countdown__time {
    font-size: 1.48rem !important;
  }
}

/* =========================================================
   Mobile final alignment
   - central Landing card narrower than site header
   - waiting gift icon + text fully centered
   Mobile only; desktop/tablet unchanged.
   ========================================================= */

@media (max-width: 600px) {

  /* Keep the main Landing card visually inside the site header width. */
  .rm-al-page,
  body.light-theme .rm-al-page {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center gift icon, sentence, and timer as one clean vertical composition. */
  .rm-al-stage25-wait__top,
  body.light-theme .rm-al-stage25-wait__top {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "icon"
      "copy"
      "clock" !important;
    justify-items: center !important;
    align-items: center !important;
    row-gap: 12px !important;
    column-gap: 0 !important;
    text-align: center !important;
  }

  .rm-al-stage25-wait__gift-icon,
  body.light-theme .rm-al-stage25-wait__gift-icon {
    grid-area: icon !important;
    justify-self: center !important;
    margin-inline: auto !important;
  }

  .rm-al-stage25-wait__copy,
  body.light-theme .rm-al-stage25-wait__copy {
    grid-area: copy !important;
    width: 100% !important;
    justify-items: center !important;
    text-align: center !important;
    direction: rtl !important;
  }

  .rm-al-stage25-wait__copy strong,
  body.light-theme .rm-al-stage25-wait__copy strong {
    width: 100% !important;
    max-width: 320px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .rm-al-stage25-wait__clock,
  body.light-theme .rm-al-stage25-wait__clock {
    grid-area: clock !important;
    justify-self: center !important;
    margin: 2px auto 0 !important;
  }
}

@media (max-width: 420px) {
  .rm-al-page,
  body.light-theme .rm-al-page {
    width: calc(100% - 28px) !important;
  }

  .rm-al-stage25-wait__copy strong,
  body.light-theme .rm-al-stage25-wait__copy strong {
    max-width: 270px !important;
  }
}

/* =========================================================
   Mobile Fullscreen stacking-context hardening
   Prevent Stage25/countdown cards from painting above
   RoyalVideo fullscreen / mobile-theater layers.
   ========================================================= */

@media (max-width: 949px) {

  /*
   * The unified Landing card normally clips its children and both the
   * media + stage sections participate in the same local stacking context.
   * During fullscreen/theater the media branch must become authoritative.
   */
  body.rm-mobile-theater-body-lock .rm-al-experience-card,
  body.rm-video-fs .rm-al-experience-card {
    overflow: visible !important;
    isolation: auto !important;
  }

  body.rm-mobile-theater-body-lock .rm-al-experience-card__media,
  body.rm-video-fs .rm-al-experience-card__media {
    position: relative !important;
    z-index: 2147483646 !important;
    isolation: isolate !important;
  }

  /*
   * Hide the post-player Stage while fullscreen is active.
   * This includes countdown/gift/offer cards and prevents mobile browser
   * compositor quirks from placing them above a CSS-theater player.
   * The body class is removed on exit, so everything returns automatically.
   */
  body.rm-mobile-theater-body-lock .rm-al-experience-card__stage,
  body.rm-video-fs .rm-al-experience-card__stage {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  /*
   * Strengthen the complete ancestor chain around RoyalVideo so the player's
   * own max z-index is not trapped beneath a sibling stacking context.
   */
  body.rm-mobile-theater-body-lock .rm-al-player-section,
  body.rm-mobile-theater-body-lock .rm-al-player-shell,
  body.rm-mobile-theater-body-lock .rm-al-player-frame,
  body.rm-video-fs .rm-al-player-section,
  body.rm-video-fs .rm-al-player-shell,
  body.rm-video-fs .rm-al-player-frame {
    position: relative !important;
    z-index: 2147483646 !important;
    overflow: visible !important;
  }

  body.rm-mobile-theater-body-lock .rv-player.rm-mobile-theater-active,
  body.rm-video-fs .rv-player:fullscreen,
  body.rm-video-fs .rv-player:-webkit-full-screen,
  body.rm-video-fs .rv-root:fullscreen,
  body.rm-video-fs .rv-root:-webkit-full-screen,
  body.rm-video-fs .rv-video-wrap:fullscreen,
  body.rm-video-fs .rv-video-wrap:-webkit-full-screen {
    z-index: 2147483647 !important;
    isolation: isolate !important;
  }
}

/* =========================================================
   Guest Gate V2 — visual contract from Landing central card
   Fixed palette in both light/dark themes.
   Authentication/OTP behavior is unchanged.
   ========================================================= */

.rm-al-gate-v2,
body.light-theme .rm-al-gate-v2 {
  --rm-al-gate-card: #17243d;
  --rm-al-gate-panel: #213653;
  --rm-al-gate-panel-2: #1b2c48;
  --rm-al-gate-input: #111c32;
  --rm-al-gate-text: #f3f7fc;
  --rm-al-gate-muted: #afc4dc;
  --rm-al-gate-green: #63cdb0;
  --rm-al-gate-gold: #e2c254;
  --rm-al-gate-border: rgba(92, 118, 157, .34);

  width: 100%;
  padding: 28px 30px 30px;
  border: 1px solid var(--rm-al-gate-border);
  border-radius: 28px;
  background: var(--rm-al-gate-card) !important;
  color: var(--rm-al-gate-text);
  box-shadow: 0 22px 54px rgba(3, 10, 26, .20);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.rm-al-gate-v2 .rm-al-access-card__glow,
body.light-theme .rm-al-gate-v2 .rm-al-access-card__glow,
.rm-al-gate-v2 .rm-al-access-card__header,
body.light-theme .rm-al-gate-v2 .rm-al-access-card__header {
  display: none !important;
}

/* ---------- Header card ---------- */
.rm-al-gate-v2__hero,
body.light-theme .rm-al-gate-v2__hero {
  position: relative;
  overflow: hidden;
  padding: 22px 24px;
  border: 1px solid rgba(92, 199, 172, .24);
  border-radius: 18px;
  background: var(--rm-al-gate-panel);
}

.rm-al-gate-v2__hero::after,
body.light-theme .rm-al-gate-v2__hero::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 0;
  bottom: 14px;
  width: 4px;
  border-radius: 999px 0 0 999px;
  background: var(--rm-al-gate-green);
}

.rm-al-gate-v2__hero-copy,
body.light-theme .rm-al-gate-v2__hero-copy {
  display: grid;
  gap: 8px;
  text-align: right;
}

.rm-al-gate-v2__eyebrow,
body.light-theme .rm-al-gate-v2__eyebrow {
  color: var(--rm-al-gate-muted);
  font-size: .82rem;
  font-weight: 650;
}

.rm-al-gate-v2__hero h2,
body.light-theme .rm-al-gate-v2__hero h2 {
  margin: 0;
  color: var(--rm-al-gate-text);
  font-size: clamp(1.22rem, 2.5vw, 1.72rem);
  line-height: 1.75;
  font-weight: 950;
}

/* ---------- Benefit / access strip ---------- */
.rm-al-gate-v2__benefit,
body.light-theme .rm-al-gate-v2__benefit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  padding: 18px 20px;
  border: 1px solid rgba(92, 118, 157, .18);
  border-radius: 18px;
  background: var(--rm-al-gate-panel-2);
}

.rm-al-gate-v2__benefit-side,
body.light-theme .rm-al-gate-v2__benefit-side {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.rm-al-gate-v2__benefit-side--main,
body.light-theme .rm-al-gate-v2__benefit-side--main {
  justify-content: flex-start;
}

.rm-al-gate-v2__benefit-side--gift,
body.light-theme .rm-al-gate-v2__benefit-side--gift {
  justify-content: flex-end;
  margin-inline-start: auto;
}

.rm-al-gate-v2__benefit-icon,
body.light-theme .rm-al-gate-v2__benefit-icon {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border: 2px solid var(--rm-al-gate-gold);
  border-radius: 50%;
  color: var(--rm-al-gate-gold);
  background: rgba(226, 194, 84, .045);
}

.rm-al-gate-v2__benefit-icon svg,
body.light-theme .rm-al-gate-v2__benefit-icon svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rm-al-gate-v2__benefit-copy,
body.light-theme .rm-al-gate-v2__benefit-copy {
  min-width: 0;
  text-align: right;
}

.rm-al-gate-v2__benefit-copy strong,
body.light-theme .rm-al-gate-v2__benefit-copy strong {
  display: block;
  color: var(--rm-al-gate-text);
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 900;
}

.rm-al-gate-v2__benefit-copy--gift strong,
body.light-theme .rm-al-gate-v2__benefit-copy--gift strong {
  color: #d9e7f6;
  font-size: .96rem;
}

/* ---------- Intro ---------- */
.rm-al-gate-v2__intro,
body.light-theme .rm-al-gate-v2__intro {
  margin: 26px 0 24px;
  padding: 16px 18px;
  border: 1px solid rgba(92, 199, 172, .16);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(28, 45, 72, .82), rgba(18, 30, 50, .82));
  color: #e3edf8;
  text-align: center;
  font-size: .92rem;
  line-height: 2;
}

.rm-al-gate-v2__intro span,
body.light-theme .rm-al-gate-v2__intro span {
  display: inline-block;
  max-width: 100%;
  font-weight: 760;
}

/* ---------- Form ---------- */
.rm-al-gate-v2__form,
body.light-theme .rm-al-gate-v2__form {
  gap: 20px;
}

.rm-al-gate-v2 .rm-al-form-grid,
body.light-theme .rm-al-gate-v2 .rm-al-form-grid {
  gap: 16px;
}

.rm-al-gate-v2 .rm-al-field,
body.light-theme .rm-al-gate-v2 .rm-al-field {
  gap: 9px;
  color: var(--rm-al-gate-muted);
  font-size: .82rem;
  font-weight: 650;
}

.rm-al-gate-v2 .rm-al-field input,
body.light-theme .rm-al-gate-v2 .rm-al-field input {
  min-height: 58px;
  padding: 12px 16px;
  border: 1px solid rgba(92, 118, 157, .34);
  border-radius: 16px;
  background: var(--rm-al-gate-input) !important;
  color: var(--rm-al-gate-text) !important;
  -webkit-text-fill-color: var(--rm-al-gate-text) !important;
  box-shadow: none;
}

.rm-al-gate-v2 .rm-al-field input::placeholder,
body.light-theme .rm-al-gate-v2 .rm-al-field input::placeholder {
  color: rgba(175, 196, 220, .42);
  -webkit-text-fill-color: rgba(175, 196, 220, .42);
}

.rm-al-gate-v2 .rm-al-field input:focus::placeholder,
body.light-theme .rm-al-gate-v2 .rm-al-field input:focus::placeholder {
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.rm-al-gate-v2 .rm-al-field input:focus,
body.light-theme .rm-al-gate-v2 .rm-al-field input:focus {
  border-color: rgba(99, 205, 176, .7);
  background: #111c32 !important;
  box-shadow: 0 0 0 3px rgba(99, 205, 176, .08);
}

.rm-al-gate-v2 .rm-al-field input[aria-invalid="true"],
body.light-theme .rm-al-gate-v2 .rm-al-field input[aria-invalid="true"] {
  border-color: #fb7185;
  box-shadow: 0 0 0 3px rgba(251, 113, 133, .08);
}

.rm-al-gate-v2 .rm-al-field--mobile input,
body.light-theme .rm-al-gate-v2 .rm-al-field--mobile input {
  direction: ltr;
  text-align: right;
  letter-spacing: .04em;
}


.rm-al-gate-v2 .rm-al-field--full-name input,
body.light-theme .rm-al-gate-v2 .rm-al-field--full-name input {
  direction: rtl;
  text-align: right;
}

/* ---------- Gold confirm button ---------- */
.rm-al-gate-v2 .rm-al-primary-button,
body.light-theme .rm-al-gate-v2 .rm-al-primary-button {
  width: 100%;
  min-height: 58px;
  border: 0;
  border-radius: 14px;
  background: #e9bf32 !important;
  color: #182238 !important;
  box-shadow: none !important;
  font-size: .92rem;
  font-weight: 950;
}

.rm-al-gate-v2 .rm-al-primary-button:hover:not(:disabled),
body.light-theme .rm-al-gate-v2 .rm-al-primary-button:hover:not(:disabled) {
  transform: translateY(-1px);
  background: #f0c83d !important;
  box-shadow: none !important;
}

/* ---------- OTP state uses the same palette ---------- */
.rm-al-gate-v2 .rm-al-otp-copy h3,
body.light-theme .rm-al-gate-v2 .rm-al-otp-copy h3 {
  color: var(--rm-al-gate-text);
}

.rm-al-gate-v2 .rm-al-otp-copy p,
body.light-theme .rm-al-gate-v2 .rm-al-otp-copy p {
  color: var(--rm-al-gate-muted);
}

.rm-al-gate-v2 .rm-al-otp-icon,
body.light-theme .rm-al-gate-v2 .rm-al-otp-icon {
  background: rgba(99, 205, 176, .09);
  color: var(--rm-al-gate-green);
}

.rm-al-gate-v2 .rm-al-text-button,
body.light-theme .rm-al-gate-v2 .rm-al-text-button {
  color: #9ddfcd;
}

.rm-al-gate-v2 .rm-al-message,
body.light-theme .rm-al-gate-v2 .rm-al-message {
  color: var(--rm-al-gate-text);
}

/* ---------- Tablet ---------- */
@media (max-width: 900px) {
  .rm-al-gate-v2,
  body.light-theme .rm-al-gate-v2 {
    padding: 22px 22px 24px;
    border-radius: 24px;
  }

  .rm-al-gate-v2__hero,
  body.light-theme .rm-al-gate-v2__hero {
    padding: 18px 20px;
  }

  .rm-al-gate-v2__hero h2,
  body.light-theme .rm-al-gate-v2__hero h2 {
    font-size: 1.18rem;
  }

  .rm-al-gate-v2__benefit,
  body.light-theme .rm-al-gate-v2__benefit {
    gap: 14px;
    padding: 14px 16px;
  }

  .rm-al-gate-v2__benefit-icon,
  body.light-theme .rm-al-gate-v2__benefit-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }

  .rm-al-gate-v2__benefit-copy strong,
  body.light-theme .rm-al-gate-v2__benefit-copy strong {
    font-size: .9rem;
  }
}


/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .rm-al-gate-v2,
  body.light-theme .rm-al-gate-v2 {
    padding: 16px;
    border-radius: 20px;
  }

  .rm-al-gate-v2__hero,
  body.light-theme .rm-al-gate-v2__hero {
    padding: 15px 16px;
    border-radius: 15px;
  }

  .rm-al-gate-v2__hero-copy,
  body.light-theme .rm-al-gate-v2__hero-copy {
    text-align: center;
    justify-items: center;
  }

  .rm-al-gate-v2__hero h2,
  body.light-theme .rm-al-gate-v2__hero h2 {
    font-size: .98rem;
    line-height: 1.75;
    text-align: center;
  }

  .rm-al-gate-v2__eyebrow,
  body.light-theme .rm-al-gate-v2__eyebrow {
    font-size: .72rem;
  }

  .rm-al-gate-v2__benefit,
  body.light-theme .rm-al-gate-v2__benefit {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 14px;
    padding: 14px;
    border-radius: 15px;
  }

  .rm-al-gate-v2__benefit-side,
  body.light-theme .rm-al-gate-v2__benefit-side {
    width: 100%;
  }

  .rm-al-gate-v2__benefit-side--main,
  body.light-theme .rm-al-gate-v2__benefit-side--main,
  .rm-al-gate-v2__benefit-side--gift,
  body.light-theme .rm-al-gate-v2__benefit-side--gift {
    justify-content: center;
    margin-inline-start: 0;
  }

  .rm-al-gate-v2__benefit-icon,
  body.light-theme .rm-al-gate-v2__benefit-icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

  .rm-al-gate-v2__benefit-icon svg,
  body.light-theme .rm-al-gate-v2__benefit-icon svg {
    width: 21px;
    height: 21px;
  }

  .rm-al-gate-v2__benefit-copy,
  body.light-theme .rm-al-gate-v2__benefit-copy {
    text-align: center;
  }

  .rm-al-gate-v2__benefit-copy strong,
  body.light-theme .rm-al-gate-v2__benefit-copy strong {
    font-size: .8rem;
    line-height: 1.7;
  }

  .rm-al-gate-v2__intro,
  body.light-theme .rm-al-gate-v2__intro {
    margin: 18px 0 16px;
    padding: 14px;
    text-align: center;
    font-size: .74rem;
  }

  .rm-al-gate-v2 .rm-al-form-grid,
  body.light-theme .rm-al-gate-v2 .rm-al-form-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .rm-al-gate-v2__form,
  body.light-theme .rm-al-gate-v2__form {
    gap: 14px;
  }

  .rm-al-gate-v2 .rm-al-field,
  body.light-theme .rm-al-gate-v2 .rm-al-field {
    font-size: .72rem;
  }

  .rm-al-gate-v2 .rm-al-field input,
  body.light-theme .rm-al-gate-v2 .rm-al-field input {
    min-height: 52px;
    border-radius: 13px;
    font-size: .84rem;
  }

  .rm-al-gate-v2 .rm-al-primary-button,
  body.light-theme .rm-al-gate-v2 .rm-al-primary-button {
    min-height: 52px;
    border-radius: 13px;
    font-size: .84rem;
  }
}

/* =========================================================
   Guest identity: single full-name field
   The backend still receives first_name + last_name via JS.
   ========================================================= */

.rm-al-gate-v2 .rm-al-field--full-name,
body.light-theme .rm-al-gate-v2 .rm-al-field--full-name {
  width: 100%;
}

.rm-al-gate-v2 .rm-al-field--full-name input,
body.light-theme .rm-al-gate-v2 .rm-al-field--full-name input {
  width: 100%;
  text-align: right;
}

/* User requested that both visible identity placeholders disappear on focus. */
.rm-al-gate-v2 [name="full_name"]:focus::placeholder,
.rm-al-gate-v2 [name="mobile"]:focus::placeholder,
body.light-theme .rm-al-gate-v2 [name="full_name"]:focus::placeholder,
body.light-theme .rm-al-gate-v2 [name="mobile"]:focus::placeholder {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  opacity: 0 !important;
}

/* =========================================================
   Guest gate gift-group order fix
   Keep the gift group on the LEFT side of the benefit card,
   but place the gift icon on the RIGHT side of its sentence.
   ========================================================= */

.rm-al-gate-v2__benefit-side--gift,
body.light-theme .rm-al-gate-v2__benefit-side--gift {
  direction: rtl !important;
  flex-direction: row !important;
}

.rm-al-gate-v2__benefit-copy--gift,
body.light-theme .rm-al-gate-v2__benefit-copy--gift {
  direction: rtl !important;
  text-align: right !important;
}

@media (max-width: 600px) {
  .rm-al-gate-v2__benefit-side--gift,
  body.light-theme .rm-al-gate-v2__benefit-side--gift {
    direction: rtl !important;
    flex-direction: row !important;
  }
}

/* =========================================================
   Guest Gate — deterministic gift icon placement
   Physical layout:
   [gift sentence] [gift icon]
   The gift group itself remains on the LEFT side of the card.
   ========================================================= */

.rm-al-gate-v2__benefit-side--gift,
body.light-theme .rm-al-gate-v2__benefit-side--gift {
  display: inline-grid !important;
  grid-template-columns: max-content 58px !important;
  grid-template-areas: "copy icon" !important;
  align-items: center !important;
  column-gap: 12px !important;

  /* Use physical LTR columns so "icon" is unambiguously the right column. */
  direction: ltr !important;

  /* Preserve the whole gift group on the LEFT side of the desktop card. */
  margin-inline-start: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.rm-al-gate-v2__benefit-side--gift .rm-al-gate-v2__benefit-icon--gift,
body.light-theme .rm-al-gate-v2__benefit-side--gift .rm-al-gate-v2__benefit-icon--gift {
  grid-area: icon !important;
  justify-self: end !important;
  margin: 0 !important;
}

.rm-al-gate-v2__benefit-side--gift .rm-al-gate-v2__benefit-copy--gift,
body.light-theme .rm-al-gate-v2__benefit-side--gift .rm-al-gate-v2__benefit-copy--gift {
  grid-area: copy !important;
  justify-self: end !important;
  direction: rtl !important;
  text-align: right !important;
  margin: 0 !important;
}

@media (max-width: 900px) and (min-width: 601px) {
  .rm-al-gate-v2__benefit-side--gift,
  body.light-theme .rm-al-gate-v2__benefit-side--gift {
    grid-template-columns: max-content 52px !important;
  }
}

@media (max-width: 600px) {
  .rm-al-gate-v2__benefit-side--gift,
  body.light-theme .rm-al-gate-v2__benefit-side--gift {
    width: 100% !important;
    grid-template-columns: max-content 48px !important;
    grid-template-areas: "copy icon" !important;
    justify-content: center !important;
    margin: 0 !important;
  }
}

/* =========================================================
   Guest Gate mobile benefit alignment
   Stack both benefit rows on the RIGHT side of the card.
   Keep each icon on the RIGHT side of its sentence.
   ========================================================= */

@media (max-width: 600px) {
  .rm-al-gate-v2__benefit,
  body.light-theme .rm-al-gate-v2__benefit {
    align-items: stretch !important;
  }

  .rm-al-gate-v2__benefit-side--main,
  body.light-theme .rm-al-gate-v2__benefit-side--main,
  .rm-al-gate-v2__benefit-side--gift,
  body.light-theme .rm-al-gate-v2__benefit-side--gift {
    width: fit-content !important;
    max-width: 100% !important;

    /* Physical right alignment inside the card. */
    margin-left: auto !important;
    margin-right: 0 !important;

    justify-content: start !important;
    text-align: right !important;
  }

  .rm-al-gate-v2__benefit-side--main,
  body.light-theme .rm-al-gate-v2__benefit-side--main {
    direction: rtl !important;
  }

  .rm-al-gate-v2__benefit-side--gift,
  body.light-theme .rm-al-gate-v2__benefit-side--gift {
    grid-template-columns: max-content 48px !important;
    grid-template-areas: "copy icon" !important;
    justify-content: start !important;
  }

  .rm-al-gate-v2__benefit-copy--main,
  .rm-al-gate-v2__benefit-copy--gift,
  body.light-theme .rm-al-gate-v2__benefit-copy--main,
  body.light-theme .rm-al-gate-v2__benefit-copy--gift {
    text-align: right !important;
  }
}
