/* Exit-intent pop (rwrl-kit/exitpop.php). Native <dialog>, brand colours from rwrl.css. */
.rwrl-xp { width: min(560px, calc(100% - 28px)); max-height: calc(100% - 28px); margin: auto; padding: 0; border: 0; border-radius: 28px; background: #fff; color: var(--text, #404040); box-shadow: 0 30px 80px rgba(40, 6, 22, .45); overflow: auto; }
.rwrl-xp::backdrop { background: rgba(43, 10, 26, .62); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.rwrl-xp[open] { animation: xp-in .28s ease-out; }
.rwrl-xp[open]::backdrop { animation: xp-fade .28s ease-out; }
@keyframes xp-in { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes xp-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rwrl-xp[open], .rwrl-xp[open]::backdrop { animation: none; } }
html.xp-lock { overflow: hidden; }

.xp-box { position: relative; padding: 38px 38px 26px; border-top: 8px solid var(--coral, #ff4166); }
.xp-x { position: absolute; top: 10px; right: 10px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--blush, #fff0f3); color: var(--berry, #8e2350); font: 400 30px/1 Arial, sans-serif; cursor: pointer; }
.xp-x:hover { background: var(--coral-soft, #ffe3e9); }
.xp-top { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 22px; align-items: center; margin: 0 0 22px; }
.xp-top h2 { margin: 0 44px 10px 0; font: 800 26px/1.2 var(--head); color: var(--ink, #2b1a22); }
.xp-top p { margin: 0; font: 18px/1.6 var(--body); }
.rwrl-seal.xp-seal { width: 128px; height: 128px; margin: 6px; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--coral, #ff4166), 0 10px 24px rgba(201, 42, 77, .35); }
.rwrl-seal.xp-seal::before { inset: 7px; }
.rwrl-seal.xp-seal .s1 { font-size: 16px; } .rwrl-seal.xp-seal .s2 { font-size: 28px; }
.rwrl-seal.xp-seal .s3, .rwrl-seal.xp-seal .s4 { font-size: 16px; letter-spacing: 0; text-transform: none; line-height: 1.1; }

.xp-quote { margin: 0 0 24px; padding: 20px 22px; background: var(--blush, #fff0f3); border-radius: 18px; }
.xp-quote blockquote { margin: 0 0 12px; }
.xp-quote blockquote p { margin: 0; font: 700 19px/1.45 var(--head); color: var(--coral-d, #c92a4d); }
.xp-quote figcaption { display: flex; align-items: center; gap: 12px; font: 16px/1.35 var(--body); color: var(--muted, #6e5a62); }
.xp-quote figcaption img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.xp-quote figcaption b { display: block; color: var(--ink, #2b1a22); font: 700 17px/1.3 var(--head); }

.rwrl-xp .xp-go { margin: 0; }
.xp-no { display: block; margin: 14px auto 0; min-height: 48px; padding: 10px 16px; border: 0; background: none; color: var(--muted, #6e5a62); font: 500 16px/1.3 var(--body); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.xp-no:hover { color: var(--berry, #8e2350); }

@media (max-width: 520px) {
  .xp-box { padding: 30px 20px 18px; }
  .xp-top { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; gap: 14px; }
  .xp-top h2 { margin: 0 0 8px; font-size: 23px; }
  .xp-top p { font-size: 17px; }
  .xp-quote blockquote p { font-size: 18px; }
}
