.ofm-access-modal[hidden] { display: none !important; }
.ofm-access-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; }
.ofm-access-modal__backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / .76); backdrop-filter: blur(8px); }
.ofm-access-modal__dialog { position: relative; width: min(520px, 100%); max-height: min(760px, calc(100dvh - 32px)); overflow: auto; padding: clamp(28px, 5vw, 48px); color: #fff; background: #171717; border: 1px solid #343434; border-radius: 28px; box-shadow: 0 30px 90px rgb(0 0 0 / .55); outline: 0; }
.ofm-access-modal__close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; padding: 0; color: #fff; background: transparent; border: 0; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; }
.ofm-access-modal__close:hover, .ofm-access-modal__close:focus-visible { background: #292929; }
.ofm-access-modal__eyebrow { margin: 0 48px 12px 0; color: #ffc72c; font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ofm-access-modal h2 { margin: 0; color: #fff; font-size: clamp(36px, 7vw, 58px); line-height: .98; }
.ofm-access-modal__intro { margin: 14px 0 28px; color: #c7c7c7; font-size: 17px; line-height: 1.55; }
.ofm-access-modal__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 26px; padding: 5px; background: #0e0e0e; border: 1px solid #292929; border-radius: 16px; }
.ofm-access-modal__tabs button { min-height: 48px; color: #bbb; background: transparent; border: 0; border-radius: 12px; font-weight: 800; cursor: pointer; }
.ofm-access-modal__tabs button.is-active { color: #080808; background: #ffc72c; }
.ofm-access-modal .ofm-listener-form { display: grid; gap: 17px; }
.ofm-access-modal .ofm-listener-form[hidden] { display: none; }
.ofm-access-modal label { display: grid; gap: 8px; color: #fff; font-weight: 700; }
.ofm-access-modal label span { color: #aaa; font-weight: 400; }
.ofm-access-modal input { width: 100%; min-height: 50px; padding: 0 15px; color: #fff; background: #111; border: 1px solid #3b3b3b; border-radius: 13px; }
.ofm-access-modal input:focus { border-color: #ffc72c; outline: 2px solid rgb(255 199 44 / .2); }
.ofm-access-modal__submit { min-height: 56px; color: #080808; background: #ffc72c; border: 0; border-radius: 999px; font-weight: 900; cursor: pointer; }
.ofm-access-modal .ofm-form-message { min-height: 0; margin: -5px 0 0; color: #ffcc4d; }
.ofm-access-modal-open { overflow: hidden; }
/* Keep the player alive, but out of the modal's visual and focus layer. */
html.ofm-access-modal-open #ofm-player { visibility: hidden; pointer-events: none; }
@media (max-width: 600px) { .ofm-access-modal { align-items: end; padding: 0; } .ofm-access-modal__dialog { width: 100%; max-height: 92dvh; padding: 30px 22px calc(24px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; } }
