/* 페이스튜디오 모바일 — 알림함 (PushLog 카드 리스트)
   통일 카드 패턴 · 모든 알림 동일 톤(페이그린) · 첫 카드 펼침/나머지 접힘 · 시간 그룹 */

.pma {
    padding: 14px 14px 4px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--pm-bg);
}

/* 시간 그룹 세퍼레이터 (오늘 / 어제 / 이번 주 / YYYY년 M월) */
.pma-sep {
    padding: 6px 4px 0;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--pm-muted);
    letter-spacing: .3px;
}

/* ── 알림 카드 ── */
.pma-c {
    background: var(--pm-card);
    border-radius: 14px;
    border: 0.5px solid #eef0f3;
    box-shadow: 0 2px 10px rgba(31, 41, 51, .04);
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow .15s, transform .12s;
}

.pma-c:active {
    transform: scale(.995);
    box-shadow: 0 1px 6px rgba(31, 41, 51, .03);
}

/* 상단 — 좌측 타입 라벨(아이콘 + 텍스트) / 우측 시각 */
.pma-c__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px 0;
}

.pma-c__lbl {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: clamp(.72rem, 2.9vw, .8rem);
    font-weight: 700;
    color: var(--pm-green-d);
    letter-spacing: -.1px;
}

.pma-c__lbl i {
    font-size: 14px;
}

.pma-c__topr {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
}

.pma-c__time {
    font-size: clamp(.7rem, 2.8vw, .78rem);
    color: var(--pm-muted);
    font-variant-numeric: tabular-nums;
    flex: none;
}

/* 펼침 안내 — 접힘: 초록 "자세히 ⌄" 알약 / 펼침: 회색 ⌃ (탭하면 펼쳐진다는 신호) */
.pma-c__more {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    padding: 3px 5px 3px 9px;
    border-radius: 999px;
    background: var(--pm-soft);
    color: var(--pm-green-d);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -.1px;
    line-height: 1;
}

.pma-c__chev {
    font-size: 16px;
    transition: transform .18s;
}

.pma-c.is-open .pma-c__more {
    background: #f1f3f6;
    color: var(--pm-muted);
    padding: 3px 5px;
}

.pma-c.is-open .pma-c__more-t {
    display: none;
}

.pma-c.is-open .pma-c__chev {
    transform: rotate(180deg);
}

/* 메인 — 좌(제목+sub+body) 우(금액) 분할 / block 모드는 본문 풀 표시 */
.pma-c__main {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 16px 14px;
}

.pma-c__main--block {
    display: block;
}

.pma-c__head {
    flex: 1;
    min-width: 0;
}

/* B안 — 제목 풀 표시. 폭 좁으면 2줄까지 자연 줄바꿈, 그 이상은 ellipsis */
.pma-c__title {
    font-size: clamp(.92rem, 3.8vw, 1.02rem);
    font-weight: 700;
    color: var(--pm-text);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}

.pma-c__sub {
    margin-top: 3px;
    font-size: clamp(.7rem, 2.9vw, .8rem);
    color: var(--pm-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

/* 공지·안내 본문 — 금액 없을 때 펼쳐 표시 */
.pma-c__body {
    margin-top: 7px;
    font-size: clamp(.78rem, 3.1vw, .88rem);
    color: var(--pm-sub);
    line-height: 1.55;
    white-space: pre-line;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.pma-c.is-open .pma-c__body {
    -webkit-line-clamp: unset;
}

/* 금액 — 우측 강조 */
.pma-c__amt {
    font-size: clamp(1.2rem, 5.4vw, 1.5rem);
    font-weight: 800;
    color: var(--pm-text);
    letter-spacing: -1px;
    line-height: 1;
    font-feature-settings: 'tnum';
    flex: none;
    white-space: nowrap;
}

/* ── 펼친 영역 (메타 박스 + 바로가기) ── */
.pma-c__exp {
    display: none;
    border-top: 1px solid #f3f5f8;
    padding: 12px 16px 14px;
}

.pma-c.is-open .pma-c__exp {
    display: block;
}

.pma-c__meta {
    background: #fafbfc;
    border-radius: 10px;
    padding: 11px 13px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.pma-c__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    font-size: clamp(.78rem, 3.1vw, .86rem);
    line-height: 1.45;
}

.pma-c__row span {
    color: var(--pm-muted);
    flex: none;
    min-width: 56px;
}

.pma-c__row b {
    color: var(--pm-text);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
    flex: 1;
    overflow-wrap: anywhere;
    letter-spacing: -.1px;
}

/* 바로가기 — 카드 자체 펼침 토글과 충돌 방지 위해 onclick=stopPropagation */
.pma-c__go {
    margin-top: 11px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    font-size: clamp(.78rem, 3.1vw, .86rem);
    font-weight: 700;
    color: var(--pm-green);
    cursor: pointer;
    transition: opacity .15s;
}

.pma-c__go:active {
    opacity: .7;
}

.pma-c__go i {
    font-size: 14px;
    transition: transform .15s;
}

.pma-c__go:hover i {
    transform: translateX(2px);
}

/* ── 무한 스크롤 로딩 표시 ── */
.pma-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 0 24px;
    font-size: 12.5px;
    color: var(--pm-muted);
    font-weight: 600;
}

.pma-more__spin {
    width: 14px;
    height: 14px;
    border: 2px solid #e5e8ec;
    border-top-color: var(--pm-green);
    border-radius: 50%;
    animation: pmaSpin .75s linear infinite;
}

@keyframes pmaSpin {
    to { transform: rotate(360deg); }
}

/* ── 빈 상태 ── */
.pm-empty-box {
    padding: 64px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.pm-empty-box__ic {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--pm-soft);
    color: var(--pm-green);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.pm-empty-box p {
    font-size: clamp(.9rem, 3.7vw, 1rem);
    color: var(--pm-sub);
}
