/* Rich cards and controls have independent layout. Size them from their own
   container so a desktop sidebar is as usable as a narrow phone screen. */
.render-meetup-rsvp-here { container: event-registration / inline-size; min-width: 0; }
.render-meetup-rsvp-here :is(.rsvp-card, .rsvp-confirmation-card, .rsvp-attendee-actions) { min-width: 0; }
.rsvp-attendee-actions { display: grid; gap: 16px; }
.rsvp-action-cards, .rsvp-action-controls, .rsvp-organizer-controls { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 10px; min-width: 0; }
.rsvp-action-cards:empty, .rsvp-action-controls:empty { display: none; }
.rsvp-action-card { display: grid !important; grid-template-columns: 36px minmax(0, 1fr) 24px; gap: 12px !important; width: 100%; min-width: 0; padding: 16px !important; }
.rsvp-action-card > span:first-child { width: 36px; height: 36px; }
.rsvp-action-card > span:last-child { width: 24px; height: 24px; }
.rsvp-action-card > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.rsvp-action-card .uppercase { letter-spacing: .05em; font-size: .6875rem; }
.rsvp-action-card .text-lg { font-size: 1.0625rem; line-height: 1.35; }
.rsvp-action-controls > *, .rsvp-organizer-controls > * { min-width: 0; margin: 0 !important; }
.rsvp-action-controls :is(.tw-button, [class*="tw-button-"], summary), .rsvp-organizer-controls .tw-button { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; height: auto; align-self: start; padding: 10px 12px !important; white-space: normal; overflow-wrap: anywhere; font-size: .875rem !important; line-height: 1.4; text-align: center; }
.rsvp-action-controls .event-lifecycle-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; }
.rsvp-action-controls .event-lifecycle-actions[hidden] { display: none; }
.rsvp-organizer-actions { border-top: 1px solid var(--public-border, #e2e8f0); padding-top: 16px; text-align: left; }
.rsvp-organizer-actions > h5 { margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--public-text-secondary, #64748b); }
.rsvp-action-footer { grid-column: 1 / -1; }
.rsvp-action-footer .js-cancel-rsvp-button { min-height: 44px; padding: 10px 8px; white-space: normal; }
.rsvp-action-icon { display: inline-flex; flex: 0 0 20px; width: 20px; height: 20px; align-items: center; justify-content: center; }
.rsvp-action-icon svg { display: block !important; width: 20px !important; height: 20px !important; margin: 0 !important; transform: none !important; }
.rsvp-action-card > span:last-child .rsvp-action-icon, .rsvp-action-card > span:last-child svg { width: 16px !important; height: 16px !important; flex-basis: 16px; }
.rsvp-info-layout { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@container event-registration (min-width: 480px) {
  .rsvp-action-controls, .rsvp-organizer-controls, .rsvp-action-controls .event-lifecycle-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container event-registration (min-width: 800px) {
  .rsvp-info-layout { flex-direction: row; align-items: flex-start; justify-content: space-between; }
}
@container event-registration (max-width: 479px) {
  .render-meetup-rsvp-here .rsvp-card { padding: 12px !important; }
  .rsvp-confirmation-card { padding: 16px !important; }
  .rsvp-attendee-actions { padding: 0 !important; background: transparent !important; }
  .rsvp-info-layout > div { width: 100% !important; margin-top: 0 !important; }
}
/* At enlarged text sizes, let the copy use the entire card width rather than
   spending most of the row on decorative ornaments. */
@container event-registration (max-width: 20rem) {
  .rsvp-action-card { grid-template-columns: minmax(0, 1fr); }
  .rsvp-action-card > span:last-child { display: none; }
}
@media (max-width: 767px) {
  body:has(.render-meetup-rsvp-here):has(.js-mobile-bottom-nav):not(:has(.companion-nav)) { padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important; }
  .rsvp-action-footer { scroll-margin-bottom: calc(100px + env(safe-area-inset-bottom)); }
}
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .rsvp-action-card { background: var(--public-surface-raised, #182231) !important; border-color: var(--public-border-strong, #3b4a60) !important; color: var(--public-text, #f8fafc) !important; }
html[data-theme="dark"] .rsvp-action-card .text-lg { color: var(--public-text, #f8fafc) !important; }
html[data-theme="dark"] .rsvp-action-card .uppercase { color: var(--public-accent, #aeb9ff) !important; }
html[data-theme="dark"] .rsvp-action-card .text-sm { color: var(--public-text-secondary, #cbd5e1) !important; }
html[data-theme="dark"] .rsvp-action-card > span:last-child { background: var(--public-accent-soft, #1d2857) !important; color: var(--public-accent, #aeb9ff) !important; }
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here :is(.rsvp-action-controls, .rsvp-organizer-controls) .tw-button-outline { background: var(--public-surface-inset, #0f172a) !important; color: var(--public-text, #f8fafc) !important; border-color: var(--public-border-strong, #3b4a60) !important; }
html[data-theme="dark"] .themed-page.theme-antigo .render-meetup-rsvp-here .rsvp-card--gradient { background: var(--public-surface, #111827) !important; }
