/* Opt-in to this celebration only: existing consent, payment and notices retain their layout. */
.modal-backdrop#summary-modal.attendance-club-modal {
    inset:0; align-items:center!important; justify-content:center;
    padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;
    background:rgba(3,6,10,.66)!important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.modal-backdrop#summary-modal.attendance-club-modal .modal-card {
    box-sizing:border-box; width:min(520px,100%)!important; max-width:520px!important;
    height:auto!important; min-height:0!important; max-height:calc(100vh - 48px)!important; max-height:min(84dvh,720px)!important;
    display:flex!important; flex-direction:column; padding:22px 18px 18px; margin:0!important;
    border:1px solid #bda45c; border-radius:22px!important; background:#17191b;
    box-shadow:0 24px 80px #0009; overflow:hidden;
}
.modal-backdrop#summary-modal.attendance-club-modal .modal-card > h3 {
    display:flex; align-items:center; gap:9px; flex-shrink:0; margin:0; padding-right:32px;
    font-size:clamp(17px,4.8vw,22px); line-height:1.4; letter-spacing:-.035em; color:#f5e7b4;
}
.modal-backdrop#summary-modal.attendance-club-modal .modal-card > h3::before {
    content:''; flex:0 0 30px; height:32px; background:center/28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23edcf78' d='M8 3h16v5h5v4c0 5-4 8-9 8-1 2-2 3-3 3v3h6v3H9v-3h6v-3c-2-1-3-2-4-3-5 0-8-4-8-8V8h5zm0 8H6v1c0 2 1 4 4 5-1-2-2-4-2-6zm16 0c0 2-1 4-2 6 2-1 4-3 4-5v-1z'/%3E%3C/svg%3E");
}
.modal-backdrop#summary-modal.attendance-club-modal .modal-card > .modal-sub { flex-shrink:0; margin:7px 0 0; font-size:13px; font-weight:500; line-height:1.5; color:#c5c6c7; }
.modal-backdrop#summary-modal.attendance-club-modal .modal-close { top:12px; right:12px; width:34px; height:34px; }
.modal-backdrop#summary-modal.attendance-club-modal .modal-body { flex:0 1 auto; min-height:0; max-height:none; margin-top:20px; padding:0 2px 2px 0; overflow:auto!important; overscroll-behavior:contain; }
.attendance-club-celebration { display:flex; flex-direction:column; gap:10px; }
.club-celebration-card { display:grid; grid-template-columns:78px minmax(0,1fr) auto; align-items:center; gap:7px 13px; min-width:0; padding:14px 12px; border:1px solid #ffffff17; border-radius:15px; background:#222527; }
.club-celebration-card.is-self { margin-top:5px; border-color:#d8b83f; background:#302c1d; }
.club-celebration-details { min-width:0; }
.club-celebration-name { display:flex; flex-wrap:wrap; align-items:center; gap:6px; color:#faf6e9; font-size:19px; font-weight:850; line-height:1.4; overflow-wrap:anywhere; }
.club-celebration-day { margin-top:4px; color:#b9babb; font-size:12px; font-weight:500; line-height:1.4; }
.club-celebration-self { border-radius:4px; padding:1px 5px; font-size:11px; color:#17180d; background:#ead17d; }
.club-celebration-card .club-celebration-badge { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; width:78px; height:78px; min-height:78px; padding:8px 3px; border:1px solid; border-radius:16px 16px 24px 24px; font-size:28px; line-height:1; font-weight:950; letter-spacing:-1px; white-space:nowrap; animation:none; }
.club-celebration-badge::before { content:''; position:absolute; inset:4px; border:1px solid currentColor; border-radius:12px 12px 20px 20px; opacity:.28; pointer-events:none; }
.club-celebration-badge small { font-size:9px; letter-spacing:2px; margin-top:6px; }
.club-celebration-achieved { font-size:18px; line-height:1.3; color:#f1d47e; white-space:nowrap; }
.club-celebration-shirt { grid-column:2/-1; min-width:0; font-size:12px; color:#d7cda6; }
.club-celebration-shirt:empty { display:none; }
.club-celebration-shirt .attendance-club-shirt-btn { width:100%; min-height:44px; margin:2px 0 0; padding:9px 7px; font-size:13px; line-height:1.4; color:#fff0be; border-color:#b79a45; background:#b79a451c; }
@media(max-width:360px) {
    .modal-backdrop#summary-modal.attendance-club-modal .modal-card { padding:20px 12px 14px; }
    .club-celebration-card { grid-template-columns:66px minmax(0,1fr) auto; column-gap:9px; padding:12px 9px; }
    .club-celebration-card .club-celebration-badge { width:66px; height:72px; min-height:72px; font-size:25px; }
    .club-celebration-name { font-size:17px; }
    .club-celebration-achieved { font-size:16px; }
}
