.recording-dialog { border: 0; border-radius: 28px; padding: 36px; width: min(500px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; color: #212121; box-shadow: 0 24px 100px #10232c33; }
.recording-dialog::backdrop { background: #10232c99; }
.recording-dialog [hidden] { display: none !important; }
.recording-close { position: absolute; top: 12px; right: 16px; width: 36px; height: 36px; background: transparent; border: 0; border-radius: 50%; font-size: 28px; color: #666; cursor: pointer; }
.recording-eyebrow { display: block; color: #0087b5; font-size: 11px; letter-spacing: .08em; margin: 4px 20px 16px 0; }
.recording-dialog h2 { font-size: 28px; font-weight: 500; line-height: 1.15; margin: 0 0 12px; }
.recording-intro, .recording-success p { color: #61666b; font-size: 15px; line-height: 1.5; margin-bottom: 22px; }
.recording-tabs { display: flex; padding: 4px; border-radius: 30px; background: #f1f5f7; margin-bottom: 22px; }
.recording-tabs button { flex: 1; border: 0; background: transparent; padding: 11px 8px; border-radius: 24px; color: #51575d; font-size: 15px; cursor: pointer; }
.recording-tabs [aria-selected="true"] { background: #fff; color: #007fab; box-shadow: 0 2px 8px #233f4910; }
.recording-dialog label { display: block; font-size: 14px; line-height: 1.4; margin: 0 0 14px; }
.recording-dialog input:not([type="hidden"]) { display: block; width: 100%; margin-top: 6px; padding: 12px 15px; border: 1px solid #d8e0e4; border-radius: 12px; background: #fff; color: #212121; font-size: 16px; line-height: 1.4; }
.recording-dialog input::placeholder { color: #858b90; }
.recording-dialog input:focus { border-color: var(--primary-color); outline: 3px solid #00a6de20; }
.recording-dialog button:focus-visible { outline: 3px solid #0087b5; outline-offset: 3px; }
.recording-submit { width: 100%; padding: 14px 20px; min-height: 50px; font-size: 16px; margin-top: 6px; }
.recording-dialog button:disabled, [data-recording-event][aria-busy="true"] { opacity: .6; cursor: wait; }
.recording-hint { color: #697177; font-size: 12px; margin: -6px 0 16px; }
.recording-message { border-radius: 12px; padding: 12px 14px; background: #fff1ee; color: #923526; font-size: 14px; line-height: 1.45; margin-bottom: 16px; white-space: pre-line; }
.recording-captcha { border-top: 1px solid #e7ecef; padding-top: 14px; }
.recording-captcha img { vertical-align: middle; border-radius: 6px; }
.recording-refresh { border: 0; background: transparent; color: #007fa9; font-size: 13px; cursor: pointer; margin: 8px; }
.recording-captcha label { margin-top: 10px; }
.recording-link { display: block; margin: 16px auto 0; padding: 4px; border: 0; background: transparent; color: #007fa9; text-decoration: underline; text-underline-offset: 3px; font-size: 14px; cursor: pointer; }
.recording-message-success { background: #eaf7f0; color: #246646; }
.recording-reset { max-height: none; margin: 48px auto; background: #fff; }
@media (max-width: 540px) { .recording-dialog { padding: 28px 22px 24px; border-radius: 22px; } .recording-dialog h2 { font-size: 25px; } }

[data-live-event][hidden], .live-waiting-text[hidden] { display: none !important; }
.btn.live-ready { background: #d2fc6b; border-color: #d2fc6b; color: #212121; display: inline-flex; align-items: center; justify-content: center; gap: 10px; white-space: normal; }
.btn.live-ready:hover { background: #bedf68; border-color: #bedf68; color: #212121; }
.live-dot { display: inline-block; flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: #ff3b30; animation: live-dot-blink 1.4s ease-in-out infinite; }
.btn.live-waiting-text:not(.live-registered) { display: inline-block; background: none; border: 0; padding: 12px 0; color: inherit; font-size: 18px; line-height: 1.4; white-space: normal; cursor: default; }
.events_last .live-waiting-text:not(.live-registered) { color: #fff; }
[data-live-event][aria-busy="true"] { opacity: .6; cursor: wait; }
@keyframes live-dot-blink { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } }
@media (max-width: 540px) { [data-live-event], .live-waiting-text { max-width: 100%; overflow-wrap: anywhere; } }


.live-waiting-notice { display: flex; align-items: flex-start; gap: 12px; box-sizing: border-box; width: 100%; max-width: 560px; padding: 16px 20px; border: 1px solid #b9e6f5; border-left: 4px solid #00a6de; border-radius: 12px; background: #eef9fd; color: #254653; font-size: 16px; font-weight: 400; line-height: 1.5; text-align: left; }
.live-waiting-notice::before { content: 'i'; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; border: 1.5px solid #007fa9; border-radius: 50%; color: #007fa9; font-weight: 700; line-height: 20px; text-align: center; box-sizing: border-box; }
.live-waiting-notice a { color: #006b91; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.live-waiting-notice a:hover { color: #004d69; }
.live-waiting-notice a:focus-visible { outline: 2px solid #007fa9; outline-offset: 3px; border-radius: 2px; }
@media (max-width: 540px) { .live-waiting-notice { padding: 14px; gap: 10px; font-size: 15px; } }


.btn.live-registered { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.live-registered-check { flex-shrink: 0; color: inherit; font-size: 23px; font-weight: 700; line-height: 1; }
.recording-success .live-waiting-notice { font-size: 16px; line-height: 1.5; }

.recording-email-field { margin-bottom: 14px; }
.recording-email-heading { display: flex; align-items: center; gap: 6px; position: relative; }
.recording-email-heading label { margin: 0; }
.recording-email-help { display: inline-flex; }
.recording-email-warning { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; border: 0; padding: 0; background: transparent; color: #cf4545; font: inherit; font-size: 12px; font-weight: 600; line-height: 1; cursor: help; border-radius: 50%; }
.recording-email-warning::before { content: ""; position: absolute; inset: 4px; border: 1px solid currentColor; border-radius: 50%; pointer-events: none; }
.recording-email-warning:hover, .recording-email-warning:focus-visible { color: #b72f2f; background: #fff1f1; }
.recording-email-tip { display: none; position: absolute; z-index: 2; top: 100%; left: 0; width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #e2e8ed; border-radius: 12px; background: #fff; color: #364853; box-shadow: 0 6px 24px #10232c26; font-size: 13px; line-height: 1.5; font-weight: 400; }
.recording-email-help:hover .recording-email-tip, .recording-email-help:focus-within .recording-email-tip { display: block; }

.recording-moderation-blocked {
    opacity: 1 !important;
    cursor: not-allowed !important;
    transform: none !important;
    animation: none !important;
}
.recording-moderation-blocked:hover,
.recording-moderation-blocked:focus-visible {
    opacity: 1 !important;
}
.recording-moderation-info {
    display: inline-flex; align-items: center; justify-content: center;
    position: relative; flex-shrink: 0; margin-left: 8px;
    box-sizing: border-box; width: 21px; height: 21px; border-radius: 50%;
    border: 1px solid #edb1ba; background: #fff1f3;
    color: #bf304b; font: 700 12px/1 sans-serif;
    cursor: help;
}
.recording-moderation-tooltip {
    display: none; position: absolute; z-index: 100;
    bottom: calc(100% + 8px); right: -8px; width: max-content;
    max-width: 220px; padding: 10px 13px; border-radius: 10px;
    border: 1px solid #e2dff4; box-shadow: 0 8px 24px #27356924;
    background: #fff; color: #30354e; font: 500 13px/1.45 sans-serif;
    white-space: normal; text-align: left; pointer-events: none;
}
.recording-moderation-info:hover .recording-moderation-tooltip,
.recording-moderation-blocked:focus-visible .recording-moderation-tooltip {
    display: block;
}

.recording-moderation-blocked > svg { display: none !important; }

/* Keep the standard primary appearance unchanged on hover while blocked. */
.btn-primary.recording-moderation-blocked,
.btn-primary.recording-moderation-blocked:hover {
    background-color: rgba(0, 166, 222, .5) !important;
    background-color: color-mix(in srgb, var(--primary-color) 50%, transparent) !important;
    color: var(--white-color) !important;
}
.recording-moderation-blocked { transition: none !important; }

/* One consistent gap instead of the button gap plus icon margin. */
.recording-moderation-blocked {
    display: inline-flex; align-items: center; justify-content: center;
    column-gap: 10px !important;
}
.recording-moderation-blocked .recording-moderation-info {
    margin: 0 !important; flex: 0 0 18px;
    width: 18px; height: 18px; align-self: center;
}

.btn.live-ready.recording-moderation-blocked,
.btn.live-ready.recording-moderation-blocked:hover {
    background: rgba(210, 252, 107, .5) !important;
    border-color: rgba(210, 252, 107, .5) !important;
    color: #212121 !important;
}
.recording-moderation-blocked > .live-dot { display: none; }
