/* Partner popup — matches the ROXELIRUM gold-on-black dialogs (see purchase modal). */
dialog.partner-popup { opacity: 1; background-color: #080808; width: min(460px, calc(100vw - 24px)); max-width: 460px; max-height: calc(100dvh - 24px); margin: auto; padding: 0; border: 1px solid #d6b95c; border-radius: 14px; background: #080808; color: #fff; box-shadow: 0 0 0 1px #d6b95c33, 0 0 36px #d6b95c33, 0 24px 60px #000c; overflow: hidden; overscroll-behavior: contain; }
dialog.partner-popup::backdrop { background: #000000e6; backdrop-filter: blur(5px); }
dialog.partner-popup[open] { animation: partner-popup-in 340ms cubic-bezier(.22,1,.36,1); }
dialog.partner-popup[open]::backdrop { animation: partner-popup-fade 260ms ease; }
@keyframes partner-popup-in { from { transform: translateY(16px) scale(.97); } to { transform: none; } }
@keyframes partner-popup-fade { from { opacity: 0; } to { opacity: 1; } }
.partner-popup__inner { position: relative; background-color: #080808; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 30px 26px 24px; text-align: center; background-image: radial-gradient(120% 70% at 50% 0%, #d6b95c1f 0%, transparent 60%); max-height: calc(100dvh - 26px); overflow: auto; }
.partner-popup__close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border: 1px solid #ffffff2e; border-radius: 50%; background: #ffffff0d; color: #fff; font: 26px/1 Arial, sans-serif; cursor: pointer; transition: background 160ms, border-color 160ms; }
.partner-popup__close:is(:hover, :focus-visible) { background: #ffffff1f; border-color: #d6b95c; }
.partner-popup__logo { width: 150px; height: auto; margin: 2px 0 4px; }
.partner-popup__kicker { margin: 0; font: 700 11px/1.3 var(--font-body); letter-spacing: .22em; text-transform: uppercase; color: var(--rox-gold); }
.partner-popup__title { margin: 0; font: 400 clamp(30px, 8vw, 40px)/1.05 var(--font-display); letter-spacing: .01em; text-transform: uppercase; color: var(--rox-gold); text-shadow: 0 0 18px #d6b95c55; }
.partner-popup__text { margin: 0; font: 400 14px/1.55 var(--font-body); color: #e6e6e6; }
.partner-popup__list { list-style: none; margin: 2px 0 4px; padding: 0; display: grid; gap: 8px; width: 100%; text-align: left; }
.partner-popup__list li { position: relative; padding-left: 26px; font: 500 13px/1.4 var(--font-body); color: #d9d9d9; }
.partner-popup__list li::before { content: ""; position: absolute; left: 0; top: 1px; width: 17px; height: 17px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23d6b95c'/%3E%3Cpath d='m5.5 10.2 3 3 6-6.4' fill='none' stroke='%23080808' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.partner-popup__button { display: flex; justify-content: center; align-items: center; gap: 14px; width: 100%; min-height: 56px; margin-top: 6px; padding: 12px 16px; border: 1px solid #ffedb0; border-radius: 6px; background: linear-gradient(110deg, #f9dd87 0%, #d6b95c 50%, #efcf73 100%); color: #000; font: 400 22px/1.15 var(--font-heading); text-decoration: none; text-transform: uppercase; box-shadow: inset 0 1px 1px #fff9, 0 0 12px #d6b95cb3, 0 0 32px #d6b95c6b; transition: box-shadow 180ms, transform 180ms; }
.partner-popup__button:is(:hover, :focus-visible) { box-shadow: inset 0 1px 1px #fffc, 0 0 16px #d6b95ce0, 0 0 38px #d6b95c80; transform: translateY(-1px); }
.partner-popup__button svg { flex: 0 0 23px; }
.partner-popup__countdown { margin: 0; font: 600 12px/1.4 var(--font-body); color: #bdbdbd; letter-spacing: .04em; }
.partner-popup__progress { width: 100%; height: 3px; border-radius: 2px; background: #ffffff1a; overflow: hidden; }
.partner-popup__progress span { display: block; height: 100%; width: 100%; transform-origin: left center; background: linear-gradient(90deg, #f9dd87, #d6b95c); transition: transform 250ms linear; }
.partner-popup__stay { margin-top: 2px; padding: 8px 6px; border: 0; background: none; color: #9a9a9a; font: 500 12px/1.3 var(--font-body); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.partner-popup__stay:is(:hover, :focus-visible) { color: #fff; }
@media (max-width: 480px) {
 .partner-popup__inner { padding: 26px 18px 18px; gap: 10px; }
 .partner-popup__logo { width: 130px; }
 .partner-popup__text { font-size: 13px; }
 .partner-popup__button { font-size: 19px; min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
 dialog.partner-popup[open], dialog.partner-popup[open]::backdrop { animation: none; }
 .partner-popup__progress span { transition: none; }
}
