/* Scope all rules to the Pixven registration flow; retain the site's theme. */
.pxv-webinar { --pxv-accent: #b84d00; --pxv-ink: #193346; --pxv-muted: #526777; }
.pxv-register-card { padding: 24px; border: 1px solid #eadfd6; border-radius: 16px; background: #fff; box-shadow: 0 6px 24px #173c5510; }
.pxv-eyebrow { display: block; color: #b84d00; font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 10px; }
.pxv-register-card h3 { font-size: 1.3rem; line-height: 1.35; margin-bottom: 10px; }
.pxv-register-card p { color: #526777; font-size: .95rem; line-height: 1.6; }
.pxv-registration-form .btn, .pxv-bottom-cta .btn, .pxv-success .btn, .pxv-modal .btn { border-radius: 9px; min-height: 46px; padding: 11px 20px; font-weight: 600; white-space: normal; }
.pxv-registration-form .btn-primary, .pxv-bottom-cta .btn-primary, .pxv-success .btn-primary, .pxv-modal .btn-primary { color: #fff; background: #b84d00; border-color: #b84d00; }
.pxv-registration-form .btn-primary:hover, .pxv-bottom-cta .btn-primary:hover, .pxv-success .btn-primary:hover, .pxv-modal .btn-primary:hover { background: #963e00; border-color: #963e00; }
.pxv-registration-form .btn:focus-visible, .pxv-bottom-cta .btn:focus-visible, .pxv-success .btn:focus-visible, .pxv-modal .btn:focus-visible { outline: 3px solid #b84d00; outline-offset: 3px; }
.pxv-register-note { margin: 12px 0 0; font-size: .82rem !important; }
.pxv-bottom-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px; margin-top: 20px; border: 1px solid #eadfd6; border-radius: 16px; background: #fff7f0; }
.pxv-bottom-cta h3 { margin: 0 0 8px; font-size: 1.65rem; line-height: 1.25; }
.pxv-bottom-cta p { margin: 0; color: #526777; line-height: 1.6; }
.pxv-bottom-cta .btn { flex-shrink: 0; }
.pxv-modal .modal-dialog { max-width: 620px; }
.pxv-modal .modal-content { border: 0; border-radius: 18px; box-shadow: 0 24px 80px #122e4933; overflow: hidden; }
.pxv-modal .modal-header { padding: 24px 28px 18px; border-bottom: 1px solid #e4ebf0; align-items: flex-start !important; }
.pxv-modal .modal-title { color: #193346; font-size: 1.6rem; font-weight: 700; }
.pxv-modal .pxv-modal-intro { margin: 8px 0 0; color: #526777; line-height: 1.55; font-size: .9rem; }
.pxv-modal .modal-body { padding: 12px 28px 24px; }
.pxv-modal .modal-body .row { --bs-gutter-x: 18px; }
.pxv-modal .modal-body .row > div { margin-top: 18px !important; }
.pxv-modal label { display: inline-block; font-weight: 600; font-size: .88rem; margin-bottom: 7px; color: #193346; }
.pxv-modal .form-control { min-height: 46px; border: 1px solid #c2cfd9; border-radius: 8px; font-size: 1rem; color: #193346; }
.pxv-modal .form-control:focus { border-color: #b84d00; box-shadow: 0 0 0 3px #b84d0020; }
.pxv-modal .form-control[aria-invalid="true"] { border-color: #b42318; }
.pxv-modal .pxv-field-error { display: block; color: #b42318; font-size: .82rem; line-height: 1.45; margin-top: 6px; }
.pxv-modal .pxv-field-error:empty { display: none; }
.pxv-modal .modal-footer { padding: 18px 28px 24px; gap: 8px; }
.pxv-modal .modal-footer .btn-primary { flex-grow: 1; }
.pxv-modal .pxv-required-note { padding: 0 28px; color: #526777; font-size: .8rem; }
.pxv-status { font-size: .9rem; color: #526777; line-height: 1.6; }
.pxv-status:empty { display: none; }
.pxv-success { max-width: 860px; margin: 48px auto; padding: 0 20px; color: #193346; }
.pxv-success > h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); letter-spacing: -.025em; }
.pxv-success .pxv-event-title { color: #526777; line-height: 1.6; max-width: 650px; }
.pxv-success-card { padding: 28px; margin-top: 24px; background: #fff; border: 1px solid #eadfd6; border-radius: 16px; box-shadow: 0 6px 24px #173c5510; }
.pxv-success-card h2 { font-size: 1.35rem; }
.pxv-success-card p { line-height: 1.65; }
.pxv-success .pxv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.pxv-success .pxv-calendar { border-top: 1px solid #e4ebf0; padding-top: 22px; margin-top: 24px; }
.pxv-success .pxv-calendar h3 { font-size: 1rem; }
.pxv-success .pxv-event-time { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 16px; font-size: .92rem; }
.pxv-success .pxv-privacy-note { color: #526777; font-size: .85rem; margin: 18px 0 0; }
.pxv-success [hidden] { display: none !important; }
@media (max-width: 991.98px) { .pxv-register-card { padding: 20px; } .pxv-register-card h3, .pxv-register-card > p:not(.pxv-register-note), .pxv-register-card > .pxv-eyebrow { display: none; } .pxv-bottom-cta { flex-direction: column; align-items: stretch; padding: 24px; } }
@media (max-width: 575.98px) { .pxv-modal .modal-dialog { margin: 0; min-height: 100dvh; max-width: none; } .pxv-modal .modal-content { min-height: 100dvh; border-radius: 0; } .pxv-modal .modal-header { padding: 24px 20px 16px; } .pxv-modal .modal-body { padding: 8px 20px 20px; } .pxv-modal .modal-footer { padding: 16px 20px 24px; } .pxv-modal .pxv-required-note { padding: 0 20px; } .pxv-success { margin: 32px auto; padding: 0 16px; } .pxv-success-card { padding: 22px 18px; } .pxv-success .pxv-actions > .btn { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .pxv-modal.fade .modal-dialog { transition: none; } }

.pxv-modal .btn-secondary { background: #f4f2f0; border-color: #e2dbd4; color: #45403b; }
