/* Events Page - css/pages/events.css */

/* ── Events Search ───────────────────────────────────── */
.events-search {
    margin-bottom: 2rem;
    max-width: 500px;
}

.events-search input {
    width: 100%;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-xl);
    border: 2px solid var(--border-subtle);
    background: var(--bg-elevated);
    font-size: 1rem;
    outline: none;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    font-family: inherit;
    color: var(--text-primary);
}

.events-search input:focus {
    border-color: var(--sunset-orange);
    box-shadow: 0 0 0 3px rgba(255,107,53,0.1);
}

/* ── Events Filters ───────────────────────────────────── */
.events-filters {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    align-items: center;
}

.filter-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg);
    border: 2px solid var(--border-subtle);
    background: var(--bg-elevated);
    color: var(--text-secondary);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-fast);
    font-family: inherit;
    white-space: nowrap;
}

.filter-btn:hover {
    border-color: var(--sunset-orange);
    color: var(--sunset-orange);
    background: rgba(255,107,53,0.05);
    transform: translateY(-1px);
}

.filter-btn.active {
    background: var(--sunset-orange);
    color: #fff;
    border-color: var(--sunset-orange);
    box-shadow: 0 2px 8px rgba(255,107,53,0.2);
}

.filter-btn i {
    font-size: 0.875rem;
}

/* ── Events Grid ─────────────────────────────────────── */
.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 1.5rem;
}

.event-card {
    background: var(--bg-card);
    border-radius: var(--radius-xl);
    padding: 1.75rem;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-normal);
    border-top: 4px solid var(--ocean-teal);
}

.event-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

.event-icon {
    width: 65px; height: 65px;
    border-radius: var(--radius-lg);
    background: var(--gradient-adventure);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    box-shadow: 0 6px 16px rgba(255,107,53,0.3);
}

.event-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--text-primary); }

.event-description {
    font-size: var(--font-sm);
    color: var(--text-secondary);
    line-height: 1.55;
    margin-bottom: 1rem;
}

.event-details {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 1rem;
    font-size: var(--font-sm);
    color: var(--text-secondary);
    flex-wrap: wrap;
}

.event-details-item { display: flex; align-items: center; gap: 0.375rem; }
.event-details-item i { color: var(--sunset-orange); font-size: 0.875rem; }

.event-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-subtle);
    font-size: var(--font-sm);
    color: var(--text-muted);
}

.event-attendees {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.event-attendees-avatars { display: flex; }
.event-attendees-avatars .avatar-xs {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    border: 2px solid var(--bg-card);
    margin-left: -0.5rem;
    font-size: 0.65rem;
}

.event-attendees-avatars .avatar-xs:first-child { margin-left: 0; }

/* RSVP Button States */
.event-rsvp-btn { min-width: 100px; }
.event-rsvp-btn.going {
    background: var(--adventure-green);
    box-shadow: 0 4px 14px rgba(56,176,0,0.3);
}

.event-rsvp-btn.interested {
    background: var(--warning-color);
    box-shadow: 0 4px 14px rgba(255,158,0,0.3);
}

/* Quick RSVP Modal options */
.rsvp-options { display: flex; flex-direction: column; gap: 0.5rem; }

.rsvp-option-btn {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-lg);
    border: 2px solid var(--border-subtle);
    background: var(--bg-elevated);
    cursor: pointer;
    text-align: left;
    transition: all var(--transition-fast);
}

.rsvp-option-btn:hover   { border-color: var(--sunset-orange); background: rgba(255,107,53,0.05); }
.rsvp-option-btn.active  { border-color: var(--sunset-orange); background: rgba(255,107,53,0.1); }

.rsvp-option-icon {
    width: 2.75rem; height: 2.75rem;
    border-radius: var(--radius-lg);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.rsvp-going      .rsvp-option-icon { background: rgba(56,176,0,0.12);  color: var(--adventure-green); }
.rsvp-interested .rsvp-option-icon { background: rgba(255,158,0,0.12); color: var(--warning-color); }
.rsvp-not-going  .rsvp-option-icon { background: rgba(255,0,110,0.12); color: var(--danger-color); }

.rsvp-option-label { font-weight: 600; font-size: var(--font-sm); }
.rsvp-option-sub   { font-size: var(--font-xs); color: var(--text-muted); margin-top: 0.15rem; }

/* ── Responsive ────────────────────────────────────── */
@media (max-width: 768px) {
    .events-grid { grid-template-columns: 1fr; }
    .event-details { flex-direction: column; gap: 0.5rem; }
}
