/* ══════════════════════════════════════════════════════════════
   Member Calendar Tab — 캘린더 탭 전용 스타일
   필터 칩, 범례, 이벤트 칩, 상세 모달 배지
   ══════════════════════════════════════════════════════════════ */

/* ── Toolbar (범례 + 필터) ────────────────────────────────── */
.member-cal-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    flex-wrap: wrap;
}

/* ── Legend ────────────────────────────────────────────────── */
.member-legend {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.member-legend-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-text-sub);
    font-weight: var(--font-semibold);
}

.member-legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}
.member-legend-dot.member-legend-study {
    background: var(--color-primary);
}
.member-legend-dot.member-legend-lecture {
    background: var(--color-success, #22c55e);
}
.member-legend-dot.member-legend-event {
    background: #7c3aed;
}

/* ── Filter Chips Container ───────────────────────────────── */
.member-filter-chips {
    display: flex;
    gap: var(--space-2);
}

/* .filter-chip 스타일은 member-tabs.css에서 공통 정의 */

/* ── Calendar Section ─────────────────────────────────────── */
.member-cal-section {
    margin-bottom: var(--space-5);
}

/* ── 모바일 가로 스크롤 래퍼 ─────────────────────────────── */
#member-cal-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#member-cal-container .cal-grid {
    min-width: 560px;
}

/* ── Event Chips ──────────────────────────────────────────── */
.member-chip {
    display: flex;
    flex-wrap: wrap;
    column-gap: 3px;
    padding: 2px 4px;
    margin-bottom: 2px;
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    line-height: var(--leading-tight);
    border-radius: 3px;
    cursor: pointer;
    overflow: hidden;
    transition: opacity var(--transition-fast);
}
.member-chip .chip-line1 { white-space: nowrap; }
.member-chip .chip-line2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.member-chip:hover { opacity: 0.75; }

.member-chip-study {
    background: var(--color-primary-100);
    color: var(--color-primary-700);
}
.member-chip-lecture {
    background: #dcfce7;
    color: #15803d;
}

/* ── Event Chip (member calendar) ─────────────────────────── */
.member-chip-event {
    display: flex;
    flex-wrap: wrap;
    column-gap: 3px;
    padding: 2px 4px;
    margin-bottom: 2px;
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    line-height: var(--leading-tight);
    border-radius: 3px;
    cursor: pointer;
    overflow: hidden;
    transition: opacity var(--transition-fast);
}
.member-chip-event .chip-line1 { white-space: nowrap; }
.member-chip-event .chip-line2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.member-chip-event:hover { opacity: 0.75; }

/* ── Detail Type Badge ────────────────────────────────────── */
.member-detail-type {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    color: var(--color-text-sub);
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--color-gray-100);
}

/* ── Today Highlight ───────────────────────────────────────── */
.member-chip-today {
    box-shadow: 0 0 0 1.5px var(--color-primary);
    animation: chip-pulse 2s ease-in-out 1;
}

@keyframes chip-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 640px) {
    .member-cal-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
    .member-chip, .member-chip-event { font-size: 10px; padding: 1px 3px; }
}
