/* Marketing campaign popup (Phase 14) — premium, RTL, reduced-motion aware.
   Desktop: centered split modal (image + content). Mobile: bottom sheet.
   Reuses design tokens, the .rui-countdown / .rui-cd contract, and sits below
   the toaster (z-max) so the "copied" toast renders above it. Namespace: .rmp */

.rmp{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:1.25rem;
  opacity:0;transition:opacity var(--rui-duration-base) var(--rui-ease-standard)}
.rmp[hidden]{display:none}
.rmp.is-open{opacity:1}

.rmp__overlay{position:absolute;inset:0;background:var(--rui-overlay);backdrop-filter:blur(2px)}

.rmp__dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:min(860px,100%);max-height:calc(100dvh - 2.5rem);overflow:hidden;
  background:var(--rui-surface);border:1px solid var(--rui-border);border-radius:var(--rui-radius-2xl);box-shadow:var(--rui-shadow-lg);
  transform:scale(.96);transition:transform var(--rui-duration-base) var(--rui-ease-luxury)}
.rmp.is-open .rmp__dialog{transform:scale(1)}
.rmp__dialog--noimg{grid-template-columns:minmax(0,1fr);width:min(460px,100%)}

.rmp__media{position:relative;background:var(--rui-surface-sunken);min-height:100%}
.rmp__media img{width:100%;height:100%;object-fit:cover;display:block}

.rmp__close{position:absolute;z-index:2;inset-block-start:.7rem;inset-inline-end:.7rem;width:2.25rem;height:2.25rem;
  display:inline-flex;align-items:center;justify-content:center;border-radius:var(--rui-radius-pill);
  border:1px solid var(--rui-border);background:color-mix(in srgb,var(--rui-bg) 85%,transparent);backdrop-filter:blur(6px);
  color:var(--rui-text-muted);cursor:pointer;transition:color var(--rui-duration-fast),background var(--rui-duration-fast)}
.rmp__close:hover{color:var(--rui-text);background:var(--rui-bg)}
.rmp__close:focus-visible{outline:2px solid var(--rui-ring);outline-offset:2px}

.rmp__body{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.4rem,3vw,1.9rem);overflow-y:auto;min-width:0}
.rmp .rui-cd{flex-wrap:wrap}
.rmp__coupon{flex-wrap:wrap}
.rmp__eyebrow{display:inline-flex;align-items:center;gap:.3rem;font-size:.625rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--rui-accent-strong)}
.rmp__eyebrow svg{color:var(--rui-accent)}
.rmp__title{margin:0;font-size:clamp(1.35rem,3vw,1.65rem);font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--rui-text)}
.rmp__sub{margin:0;color:var(--rui-text-muted);line-height:var(--rui-line-normal)}

.rmp__coupon{display:flex;align-items:stretch;gap:.5rem;margin-block-start:.25rem}
.rmp__code{flex:1;display:flex;align-items:center;justify-content:center;padding:.7rem 1rem;
  border:1px dashed var(--rui-accent);border-radius:var(--rui-radius-lg);background:rgba(212,175,55,.08);
  font-family:ui-monospace,monospace;font-size:1.05rem;font-weight:800;letter-spacing:.14em;color:var(--rui-accent-strong)}
.rmp__copy{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1rem;border:0;border-radius:var(--rui-radius-lg);
  background:var(--rui-text);color:var(--rui-bg);font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;
  transition:opacity var(--rui-duration-fast),background var(--rui-duration-fast)}
.rmp__copy:hover{opacity:.9}
.rmp__copy.is-copied{background:var(--rui-success);color:#fff}
.rmp__copy:focus-visible{outline:2px solid var(--rui-ring);outline-offset:2px}

/* Email-capture campaign */
.rmp__email{display:flex;gap:.5rem;margin-block-start:.25rem;flex-wrap:wrap}
.rmp__email[hidden]{display:none}
.rmp__email-input{flex:1;min-width:0;padding:.7rem 1rem;border:1px solid var(--rui-border);border-radius:var(--rui-radius-lg);
  background:var(--rui-surface-sunken);color:var(--rui-text);font-size:.9rem}
.rmp__email-input:focus{outline:none;border-color:var(--rui-accent);box-shadow:0 0 0 3px var(--rui-ring)}
.rmp__email-btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.2rem;border:0;
  border-radius:var(--rui-radius-lg);background:var(--rui-accent);color:var(--rui-on-accent);font-weight:800;font-size:.85rem;
  cursor:pointer;white-space:nowrap;transition:background var(--rui-duration-fast)}
.rmp__email-btn:hover{background:var(--rui-accent-hover)}
.rmp__reward[hidden]{display:none}
.rmp__success{margin:0 0 .5rem;font-weight:700;color:var(--rui-success);font-size:.9rem}

.rmp__countdown{margin-block-start:.25rem}

.rmp__cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-block-start:.5rem;min-height:3rem;
  border-radius:var(--rui-radius-pill);background:var(--rui-accent);color:var(--rui-on-accent);font-weight:800;text-decoration:none;
  transition:background var(--rui-duration-fast),transform var(--rui-duration-fast)}
.rmp__cta:hover{background:var(--rui-accent-hover)}
.rmp__cta:focus-visible{outline:2px solid var(--rui-ring);outline-offset:2px}

.rmp__dismiss{display:flex;align-items:center;gap:.45rem;margin-block-start:.3rem;font-size:.78rem;color:var(--rui-text-subtle);cursor:pointer}
.rmp__dismiss input{accent-color:var(--rui-accent);width:1rem;height:1rem}

/* Mobile — bottom sheet */
@media (max-width:640px){
  .rmp{align-items:flex-end;padding:0}
  .rmp__dialog,.rmp__dialog--noimg{grid-template-columns:minmax(0,1fr);width:100%;max-height:92dvh;
    border-radius:var(--rui-radius-2xl) var(--rui-radius-2xl) 0 0;transform:translateY(100%)}
  .rmp.is-open .rmp__dialog{transform:translateY(0)}
  .rmp__media{max-height:32vh}
  .rmp__media img{max-height:32vh}
}

/* Reduced motion — no transform/scale, fade only via opacity is fine */
@media (prefers-reduced-motion:reduce){
  .rmp,.rmp__dialog{transition:opacity var(--rui-duration-fast) linear}
  .rmp__dialog,.rmp.is-open .rmp__dialog{transform:none}
}

/* Campaign presentation uses the same white, ink and gold palette as the store. */
body .rmp__overlay{background:rgba(22,22,20,.48);backdrop-filter:blur(4px)}
body .rmp__dialog{width:min(800px,100%);border:0;border-radius:8px;background:#fff;grid-template-columns:1fr 1fr;align-items:stretch;box-shadow:0 24px 100px #0003}
body .rmp__dialog--noimg{grid-template-columns:1fr;width:min(460px,100%)}
body .rmp__media{min-height:0;aspect-ratio:3/4;overflow:hidden}
body .rmp__media picture{display:block;width:100%;height:100%}
body .rmp__media img{width:100%;height:100%;object-fit:cover}
body .rmp__body{padding:48px 30px 32px;justify-content:center;gap:18px;max-height:calc(100dvh - 40px);color:#222}
body .rmp__eyebrow{font-size:10px;letter-spacing:.12em;color:var(--rui-accent-strong,var(--rui-accent))}
body .rmp__title{font-size:clamp(26px,3vw,36px);line-height:1.35;font-weight:600;color:#222}
body .rmp__sub{font-size:14px;line-height:1.8;color:#707068}
body .rmp__coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;margin:0}
body .rmp__code{min-width:0;overflow-wrap:anywhere;border:1px dashed #c6b477;border-radius:0;background:#faf8ef;color:#80671e;font-size:17px;padding:15px 8px;letter-spacing:.08em}
body .rmp__copy{border-radius:0;padding:12px;color:#fff;background:#222;font-size:12px}
body .rmp__cta,body .rmp__email-btn{background:#222!important;color:#fff!important;border-radius:0!important;min-height:48px;font-weight:600;font-size:14px;padding:12px 18px}
body .rmp__cta:hover,body .rmp__email-btn:hover{background:#42423b!important}
body .rmp__countdown{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;color:#777}
body .rmp .rui-countdown{display:flex;gap:8px;direction:ltr}
body .rmp .rui-countdown__seg{display:flex;flex-direction:column;align-items:center;min-width:36px;gap:4px}
body .rmp .rui-countdown__seg b{font-size:20px;line-height:1.2;color:var(--rui-accent-strong,var(--rui-accent));font-variant-numeric:tabular-nums}
body .rmp .rui-countdown__seg i{font-size:9px;font-style:normal;color:#777}
body .rmp__dismiss{font-size:11px;line-height:1.6;color:#777;margin:0}
body .rmp__close{background:#fff;color:#333;border-color:#e5e5df}
@media(max-width:640px){body .rmp{padding:16px;align-items:center}body .rmp__dialog{grid-template-columns:1fr;width:min(420px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:8px}body .rmp__media{aspect-ratio:auto;height:180px}body .rmp__media img{height:180px;max-height:none;object-position:center 45%}body .rmp__body{padding:24px;gap:14px;overflow:visible;max-height:none}body .rmp__title{font-size:27px}body .rmp__sub{font-size:13px}}
