/* Member events + RSVP (Phase D2) */

:root {
    --tm-ma-surface: var(--tm-surface-bg, #fff);
    --tm-ma-surface-alt: color-mix(in srgb, var(--tm-ma-surface) 92%, var(--tm-body-text, #1a1a1a) 8%);
    --tm-ma-text: var(--tm-body-text, #1a1a1a);
    --tm-ma-heading: var(--tm-heading-text, #1a1a1a);
    --tm-ma-muted: var(--tm-muted-text, #666);
    --tm-ma-border: color-mix(in srgb, var(--tm-ma-text) 18%, transparent);
    --tm-ma-link: var(--tm-link, #7a1f2b);
    --tm-ma-link-hover: var(--tm-link-hover, #5f1721);
    --tm-ma-accent: var(--tm-primary, #7a1f2b);
    --tm-ma-accent-contrast: #fff;
    --tm-ma-ok-bg: color-mix(in srgb, #16a34a 16%, var(--tm-ma-surface) 84%);
    --tm-ma-ok-border: color-mix(in srgb, #16a34a 42%, transparent);
    --tm-ma-ok-text: color-mix(in srgb, #166534 80%, var(--tm-ma-text) 20%);
}

.tm-events-heading {
    margin: 1.5rem 0 .75rem;
    padding-bottom: .35rem;
    border-bottom: 2px solid var(--tm-ma-accent);
    color: var(--tm-ma-heading);
}
.tm-events-notice {
    padding: .75rem 1rem;
    background: var(--tm-ma-ok-bg);
    border: 1px solid var(--tm-ma-ok-border);
    color: var(--tm-ma-ok-text);
    border-radius: 8px;
    margin-bottom: 1rem;
}
.tm-events-empty {
    color: var(--tm-ma-muted);
    padding: .5rem 0 1rem;
}
.tm-events-ical {
    margin: 0 0 1.25rem;
    font-size: .9rem;
}
.tm-events-ical a {
    color: var(--tm-ma-link);
    text-decoration: none;
}
.tm-events-ical a:hover {
    color: var(--tm-ma-link-hover);
    text-decoration: underline;
}

.tm-event {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.15rem;
    border: 1px solid var(--tm-ma-border);
    border-radius: 12px;
    background: var(--tm-ma-surface);
    color: var(--tm-ma-text);
    margin-bottom: .85rem;
}
.tm-event-title {
    margin: 0 0 .2rem;
    font-size: 1.1rem;
    color: var(--tm-ma-heading);
}
.tm-event-date {
    margin: 0 0 .35rem;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--tm-ma-accent);
    font-weight: 600;
}
.tm-event-blurb { margin: 0 0 .35rem; color: var(--tm-ma-text); }
.tm-event-counts { margin: 0; font-size: .82rem; color: var(--tm-ma-muted); }

.tm-event-rsvp {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
}
.tm-rsvp-form { margin: 0; }
.tm-rsvp-btn {
    padding: .45rem .8rem;
    border: 1px solid var(--tm-ma-border);
    border-radius: 999px;
    background: var(--tm-ma-surface);
    color: var(--tm-ma-text);
    cursor: pointer;
    font-size: .85rem;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.tm-rsvp-btn:hover {
    border-color: var(--tm-ma-accent);
    color: var(--tm-ma-accent);
}
.tm-rsvp-btn.is-active {
    background: var(--tm-ma-accent);
    border-color: var(--tm-ma-accent);
    color: var(--tm-ma-accent-contrast);
}
.tm-rsvp-status {
    font-size: .85rem;
    color: var(--tm-ma-muted);
    font-style: italic;
}

/* My RSVPs table */
.tm-myrsvps-table {
    width: 100%;
    border-collapse: collapse;
}
.tm-myrsvps-table th,
.tm-myrsvps-table td {
    text-align: left;
    padding: .6rem .7rem;
    border-bottom: 1px solid var(--tm-ma-border);
}
.tm-myrsvps-table th {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--tm-ma-muted);
}
.tm-rsvp-pill {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
}
.tm-rsvp-pill--going    { background: color-mix(in srgb, #16a34a 18%, var(--tm-ma-surface) 82%); color: #166534; }
.tm-rsvp-pill--maybe    { background: color-mix(in srgb, #f59e0b 18%, var(--tm-ma-surface) 82%); color: #92400e; }
.tm-rsvp-pill--declined { background: color-mix(in srgb, #dc2626 18%, var(--tm-ma-surface) 82%); color: #991b1b; }

@media (prefers-reduced-motion: reduce) {
    .tm-rsvp-btn { transition: none; }
}
