/* Non-modal popup layers: the form between the side slots stays interactive. */
.auth-popups { position: fixed; inset: 0; z-index: 990; pointer-events: none; }
.auth-popups[hidden] { display: none !important; }
.auth-popups button, .auth-popups a { pointer-events: auto; }
.auth-popups__panel { position: fixed; display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: 8px; background: #202020; box-shadow: 0 4px 20px #0008; pointer-events: auto; }
.auth-popups__panel[hidden] { display: none !important; }
.auth-popups__content { display: flex; align-items: center; justify-content: center; flex: 1; min-height: 0; width: 100%; overflow: hidden; }
.auth-popups__content img { display: block; width: 100%; height: 100%; object-fit: contain; }
.auth-popups .auth-popups__close, .auth-popups .auth-popups__close-all { border: 1px solid #777; border-radius: 4px; background: #202020; color: #fff; font: inherit; font-size: 14px; line-height: 20px; padding: 8px 16px; cursor: pointer; }
.auth-popups .auth-popups__close { flex: 0 0 auto; min-height: 36px; border-radius: 0; }
.auth-popups .auth-popups__close-all { position: fixed; right: 20px; min-height: 0; font-size: 12px; line-height: 16px; padding: 4px 10px; }
.auth-popups button:focus-visible, .auth-popups a:focus-visible { outline: 3px solid var(--main-color, #2addb2); outline-offset: -3px; }
.auth-popups--compact .auth-popups__panel { top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(500px, calc(100vw - 32px)); max-height: calc(100dvh - 120px); }
.auth-popups--compact .auth-popups__content img { height: auto; max-height: calc(100dvh - 180px); }

/* Keep registration content between the popup columns, including on older theme branches. */
.auth-popup-page .joinInfo,
.auth-popup-page #swiper-join,
.auth-popup-page #swiper-join + .swiper-pagination-wrapper,
.auth-popup-page .join_greeting > .center_box { display: none; }
.auth-popup-page .join_greeting { height: auto; }
.auth-popup-page .join_greeting .inner { width: 740px; max-width: 100%; padding: 50px 20px; margin: 0 auto; box-sizing: border-box; text-align: center; }
.auth-popup-page .joinwrap > .center_box { width: 740px; max-width: 100%; height: auto; margin: 0 auto; }
.auth-popup-page .joinwrap .joinbox,
.auth-popup-page .joinwrap .center_box.qr_telegram .joinbox { float: none; width: 100%; max-width: 740px; margin: 0 auto 30px; }
.auth-popup-page .joinbox .info_box,
.auth-popup-page .joinbox .mem_fin_agreebox { text-align: center; }
