.clubhouse-membership { max-width: 820px; margin: 1.5rem auto 2.5rem; }
.clubhouse-member-login { align-items:center; background:#fff; border:1px solid #ded8d2; border-left:4px solid #bd1f2d; border-radius:10px; display:flex; gap:1.25rem; justify-content:space-between; margin:0 0 1.5rem; padding:1rem 1.1rem; }
.clubhouse-member-login strong,.clubhouse-member-login span { display:block; }
.clubhouse-member-login span { color:#5d6268; margin-top:.2rem; }
.clubhouse-member-login-actions { align-items:center; display:flex; flex-shrink:0; gap:.9rem; }
.clubhouse-member-login-actions a { white-space:nowrap; }
.clubhouse-plan-picker { border: 0; margin: 0 0 1.5rem; padding: 0; }
.clubhouse-plan-picker legend,.clubhouse-kind-picker legend { font-size: 1.15rem; font-weight: 700; margin-bottom: .75rem; }
.clubhouse-kind-picker { border:0; display:grid; gap:.65rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 1.5rem; padding:0; }
.clubhouse-kind-picker legend { grid-column:1 / -1; }
.clubhouse-kind-option { align-items:flex-start; background:#fff; border:1px solid #ded8d2; border-radius:10px; cursor:pointer; display:flex; gap:.7rem; padding:1rem; }
.clubhouse-kind-option:has(input:checked) { border-color:#bd1f2d; box-shadow:0 0 0 2px rgba(189,31,45,.12); }
.clubhouse-kind-option input { margin-top:.25rem; }
.clubhouse-kind-option span,.clubhouse-kind-option small { display:block; }
.clubhouse-kind-option small { color:#5d6268; line-height:1.4; margin-top:.2rem; }
.clubhouse-form-section { border-top:1px solid #e6ded7; margin-top:1.25rem; padding-top:.25rem; }
.clubhouse-form-section[hidden] { display:none; }
.clubhouse-field-help { color:#5d6268; font-size:.9rem; margin:-.6rem 0 1.2rem; }
.clubhouse-field-help[hidden] { display:none; }
.clubhouse-optional { color:#6d6865; font-size:.85rem; font-weight:400; }
.clubhouse-plan { align-items: center; background:#fff; border: 1px solid #ded8d2; border-radius: 10px; cursor: pointer; display: flex; gap: .75rem; margin-bottom: .65rem; padding: 1rem; }
.clubhouse-plan:has(input:checked) { border-color: #bd1f2d; box-shadow: 0 0 0 2px rgba(189,31,45,.12); }
.clubhouse-plan span { display: flex; justify-content: space-between; width: 100%; }
.clubhouse-plan small { color: #50555a; }
.clubhouse-fields { display: grid; gap: 1rem; margin-bottom: 1.25rem; }
.clubhouse-fields-two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.clubhouse-fields label { display: flex; flex-direction: column; font-weight: 600; gap: .35rem; }
.clubhouse-fields input { background:#fff; border: 1px solid #b9bdc2; border-radius: 7px; font: inherit; min-height:44px; padding: .7rem; }
.clubhouse-span-two { grid-column: 1 / -1; }
.clubhouse-square-card { min-height: 90px; margin: .5rem 0; }
.clubhouse-secure-note { color: #5d6268; font-size: .9rem; }
.clubhouse-consent { display: flex; gap: .6rem; margin: 1rem 0; }
.clubhouse-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.clubhouse-primary-button,.clubhouse-secondary-button { border: 0; border-radius: 999px; cursor: pointer; font-weight: 700; min-height:46px; padding: .8rem 1.3rem; }
.clubhouse-primary-button { background: #bd1f2d; color: #fff; }
.clubhouse-secondary-button { background: #f6e9e9; color: #8f1721; }
.clubhouse-link-button { background: transparent; border: 0; color: #8d2525; cursor: pointer; padding: .75rem 0; text-decoration: underline; }
.clubhouse-primary-button:disabled,.clubhouse-secondary-button:disabled { cursor: wait; opacity: .65; }
.clubhouse-form-status,.clubhouse-account-status { margin-top: .9rem; min-height: 1.5em; }
.clubhouse-form-status.is-error { color: #922; }
.clubhouse-form-status.is-success { color: #176b32; font-weight: 700; }
.clubhouse-form-status.is-warning,.clubhouse-message-warning { background: #fff6d7; border-left: 4px solid #c89500; padding: .8rem; }
.clubhouse-account-summary { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1rem 0; }
.clubhouse-account-summary div { background: #f4f6f7; border-radius: 6px; padding: .85rem; }
.clubhouse-account-summary span { color: #60666c; display: block; font-size: .85rem; }
.clubhouse-member-profile { border:1px solid #ddd; border-radius:10px; margin-top:1.1rem; padding:.85rem 1.1rem; }
.clubhouse-member-profile summary { cursor:pointer; font-weight:700; }
.clubhouse-profile-readonly { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:1rem 0; }
.clubhouse-profile-readonly div { background:#f8f4ef; border-radius:7px; padding:.75rem; }
.clubhouse-profile-readonly span { color:#60666c; display:block; font-size:.82rem; }
.clubhouse-profile-form label { display:flex; flex-direction:column; font-weight:650; gap:.35rem; max-width:320px; }
.clubhouse-profile-form input { background:#fff; border:1px solid #b9bdc2; border-radius:7px; font:inherit; min-height:44px; padding:.7rem; }
.clubhouse-profile-help { color:#5d6268; font-size:.9rem; margin:.5rem 0 .85rem; }
.clubhouse-profile-status { margin-bottom:0; }
.clubhouse-card-update { border:1px solid #ddd; border-radius:10px; margin-top:1.5rem; padding:1rem 1.1rem; }
.clubhouse-card-update summary { cursor: pointer; font-weight: 700; margin-bottom: 1rem; }
.clubhouse-payment-table-wrap { overflow-x: auto; }
.clubhouse-payment-table { border-collapse: collapse; width: 100%; }
.clubhouse-payment-table th,.clubhouse-payment-table td { border-bottom: 1px solid #ddd; padding: .65rem; text-align: left; }
.clubhouse-payment-retry { min-height:36px; padding:.45rem .9rem; white-space:nowrap; }
.clubhouse-account-links { border-top:1px solid #ddd; margin-top:1.5rem; padding-top:1rem; }
.clubhouse-membership-list { display:grid; gap:1rem; }
.clubhouse-managed-membership { background:#fff; border:1px solid #ded8d2; border-radius:12px; padding:1.1rem; }
.clubhouse-managed-membership-header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
.clubhouse-managed-membership-header h3 { margin:.15rem 0 0; }
.clubhouse-membership-type { color:#9f1825; font-size:.75rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.clubhouse-status-pill { background:#e8f5ec; border-radius:999px; color:#176b32; font-size:.78rem; padding:.35rem .65rem; white-space:nowrap; }
.clubhouse-status-pill.is-past_due,.clubhouse-status-pill.is-grace,.clubhouse-status-pill.is-pending { background:#fff1cf; color:#825f00; }
.clubhouse-status-pill.is-canceled,.clubhouse-status-pill.is-expired { background:#f3e8e9; color:#8f1721; }
.clubhouse-sponsor-note { background:#fbf7f2; border-left:3px solid #bd1f2d; margin:1rem 0; padding:.7rem .8rem; }
.clubhouse-transfer-login,.clubhouse-transfer-accept { background:#fff; border:1px solid #ded8d2; border-radius:14px; box-shadow:0 16px 38px rgba(69,48,37,.08); padding:1.35rem; }
.clubhouse-transfer-login h2,.clubhouse-transfer-accept h3 { margin:.25rem 0 .65rem; }
.clubhouse-transfer-login .clubhouse-primary-button { display:inline-block; margin-top:.5rem; text-decoration:none; }
.clubhouse-transfer-accept { border-top:5px solid #bd1f2d; margin:1rem 0 1.35rem; }
.clubhouse-transfer-card-form { border-top:1px solid #e6ded7; margin-top:1rem; padding-top:.75rem; }
.clubhouse-transfer-controls { background:#f7f2ed; border:1px solid #e4d9cf; border-radius:10px; margin:1rem 0; padding:1rem; }
.clubhouse-transfer-controls h4 { margin:0 0 .35rem; }
.clubhouse-transfer-controls p { color:#55515a; margin:.35rem 0 .8rem; }
.clubhouse-transfer-pending { background:#edf7f0; border-left:4px solid #267343; color:#245534; margin:.8rem 0; padding:.75rem; }
.clubhouse-transfer-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.8rem; }
.clubhouse-payment-history { border:1px solid #ddd; border-radius:10px; margin-top:1.1rem; padding:.85rem 1.1rem; }
.clubhouse-payment-history summary { cursor:pointer; font-weight:700; }
.clubhouse-managed-membership-footer { align-items:flex-end; display:flex; flex-direction:column; margin-top:1.15rem; }
.clubhouse-managed-membership-footer .clubhouse-account-status { align-self:stretch; margin-top:0; }
.clubhouse-cancel-link { font-size:.76rem; line-height:1.35; margin-left:auto; padding:.35rem 0 .1rem; }
.clubhouse-cancel-dialog { background:#fff; border:0; border-radius:18px; box-shadow:0 24px 70px rgba(35,28,24,.28); box-sizing:border-box; color:#202127; max-width:540px; padding:2rem; width:calc(100% - 2rem); }
.clubhouse-cancel-dialog::backdrop { backdrop-filter:blur(2px); background:rgba(32,33,39,.58); }
.clubhouse-cancel-dialog h3 { font-family:Georgia,serif; font-size:clamp(1.65rem,4vw,2.15rem); line-height:1.08; margin:.35rem 2rem .85rem 0; }
.clubhouse-cancel-dialog p { color:#4f5359; line-height:1.6; margin:.65rem 0; }
.clubhouse-cancel-dialog__detail { background:#f8f4ef; border-radius:11px; padding:.85rem 1rem; }
.clubhouse-cancel-dialog__close { align-items:center; background:transparent; border:0; border-radius:50%; color:#62666d; cursor:pointer; display:flex; font-size:1.8rem; height:38px; justify-content:center; line-height:1; padding:0; position:absolute; right:1rem; top:1rem; width:38px; }
.clubhouse-cancel-dialog__close:hover,.clubhouse-cancel-dialog__close:focus { background:#f1eeea; color:#202127; }
.clubhouse-cancel-dialog__actions { align-items:center; display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; margin-top:1.35rem; }
.clubhouse-cancel-confirm { background:#fff; border:1px solid #c8bdba; border-radius:999px; color:#8d2525; cursor:pointer; font-weight:700; min-height:46px; padding:.75rem 1.2rem; }
.clubhouse-cancel-confirm:hover,.clubhouse-cancel-confirm:focus { background:#fff4f4; border-color:#bd1f2d; }
.clubhouse-cancel-confirm:disabled { cursor:wait; opacity:.65; }
.clubhouse-cancel-dialog__status { font-weight:650; min-height:1.4em; padding-top:.8rem; }
.clubhouse-member-login-page { background:#fff; border:1px solid #ded8d2; border-radius:14px; box-shadow:0 18px 45px rgba(69,48,37,.08); max-width:560px; padding:1.5rem; }
.clubhouse-member-login-page h2 { margin-top:0; }
.clubhouse-login-form { display:grid; gap:1rem; margin-top:1.25rem; }
.clubhouse-login-form>label:not(.clubhouse-login-remember) { display:flex; flex-direction:column; font-weight:650; gap:.35rem; }
.clubhouse-login-form input[type=text],.clubhouse-login-form input[type=password],.clubhouse-login-form input:not([type]) { border:1px solid #b9bdc2; border-radius:7px; font:inherit; min-height:46px; padding:.7rem; }
.clubhouse-login-remember { align-items:center; display:flex; gap:.5rem; }
.clubhouse-login-form .clubhouse-primary-button { justify-self:start; }
.clubhouse-login-help { border-top:1px solid #e7e0da; margin:1.25rem 0 0; padding-top:1rem; }
@media (max-width: 620px) { .clubhouse-fields-two,.clubhouse-account-summary,.clubhouse-kind-picker,.clubhouse-profile-readonly { grid-template-columns: 1fr; } .clubhouse-kind-picker legend,.clubhouse-span-two { grid-column: auto; } .clubhouse-plan span { display: block; } .clubhouse-plan small { display: block; margin-top: .2rem; } .clubhouse-member-login { align-items:flex-start; flex-direction:column; } .clubhouse-member-login-actions,.clubhouse-transfer-actions { align-items:stretch; flex-direction:column; width:100%; } .clubhouse-transfer-actions button { width:100%; } .clubhouse-managed-membership-header { align-items:flex-start; flex-direction:column; gap:.55rem; } .clubhouse-cancel-dialog { padding:1.5rem; } .clubhouse-cancel-dialog__actions { align-items:stretch; flex-direction:column; } .clubhouse-cancel-dialog__actions button { width:100%; } }
