/* One shared account/payment presentation. Native dialog supplies modality and focus containment. */
#membership-sign-in {scroll-margin-top: 2rem; max-width: 34rem; margin-top: 1.5rem;}
#membership-sign-in h3 {margin-bottom: .4rem;}
.public-membership-dialog {box-sizing: border-box; width: min(42rem, calc(100% - 1.5rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: 1.4rem; border: 1px solid #a89c86; border-radius: 1rem; background: #faf4e2; color: #213747; box-shadow: 0 1rem 4rem #0005;}
.public-membership-dialog::backdrop {background: #122c42b8;}
.public-membership-dialog__header {display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem;}
.public-membership-dialog__header h2 {margin: 0; font-size: 1.5rem;}
.public-membership-dialog .public-account-card {padding: 0; margin: 0; border: 0; box-shadow: none; background: none;}
.public-membership-dialog .collector-insight-membership__offer {margin: 0; padding-top: 0; border: 0;}
.public-membership-dialog form {margin-top: 1rem;}
.public-membership-dialog [data-hub-login] {margin: 0;}
.public-membership-dialog [role=alert]:focus {outline: 2px solid currentColor; outline-offset: .25rem;}
.public-membership-dialog__switch {margin-top: 1.25rem;}
.public-membership-dialog [data-hub-offer] h2, .public-membership-dialog [data-hub-login] h3 {font-size: 1.25rem;}
body:has(.public-membership-dialog[open]) {overflow: hidden;}
@media(max-width: 40rem) {.public-membership-dialog {padding: 1rem; max-height: calc(100dvh - 1rem);} .public-membership-dialog__header h2 {font-size: 1.3rem;}}
