/* =====================================================================
   assets/css/community.css - 커뮤니티 모음 · 게시글 사진 · 정보와 가이드 · 계절 화면 · 알림함  [통합 v1.5.0]
   모바일 우선: 기본 = 휴대폰, @media (min-width: 720px / 900px) = 넓은 화면
   ===================================================================== */

.pw-chip-row { list-style: none; margin: 10px 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pw-chips { margin: 10px 0; }
.pw-chips-sub { align-items: center; }
.pw-chips-sub .pw-chip { padding: 4px 10px; font-size: 13.5px; }
.pw-admin-inline { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.pw-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13.5px; line-height: 1.6; }

/* ---------- 커뮤니티 모음 ---------- */
.pw-hub-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); margin-bottom: 16px; }
.pw-hub-card { padding: 16px; min-width: 0; }
.pw-hub-card h2 a { color: var(--pw-text); text-decoration: none; }
.pw-hub-desc { color: var(--pw-text-2); font-size: 14px; margin: 0 0 8px; }
.pw-hub-actions { display: flex; gap: 8px; margin: 10px 0 0; }

/* ---------- 게시글 사진 ---------- */
.pw-post-photos { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: var(--pw-read-width); }
.pw-post-photos img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--pw-radius-sm); background: var(--pw-surface-2); }
.pw-post-photos label { display: block; cursor: pointer; }
.pw-post-photos label span { display: block; font-size: 13px; margin-top: 4px; }

/* ---------- 예전 서식(HTML) 글 · 가이드 형식 ---------- */
.pw-rich .lead { font-size: 1.06em; color: var(--pw-text); font-weight: 500; margin-bottom: 1em; }
.pw-rich .info-callout { background: var(--pw-health-soft); border: 1px solid #c7e3e1; border-radius: var(--pw-radius); padding: 14px 16px; margin: 0 0 1.2em; }
.pw-rich .info-callout > strong:first-child { display: block; color: var(--pw-health); margin-bottom: 6px; }
.pw-rich .info-callout ul { margin: 0; padding-left: 1.2em; }
.pw-rich .ql-align-center { text-align: center; }
.pw-rich .ql-align-right { text-align: right; }
.pw-rich img { max-width: 100%; height: auto; border-radius: var(--pw-radius-sm); }

/* ---------- 정보와 가이드 ---------- */
.pw-guide-cards { list-style: none; margin: 8px 0 16px; padding: 0; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
.pw-guide-card a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 14px 16px; background: var(--pw-surface);
                   border: 1px solid var(--pw-border); border-radius: var(--pw-radius); color: var(--pw-text); text-decoration: none; min-width: 0; }
.pw-guide-card a:hover { border-color: var(--pw-border-strong); box-shadow: var(--pw-shadow); }
.pw-guide-card-img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--pw-radius-sm); }
.pw-guide-card-title { font-size: 16.5px; line-height: 1.4; }
.pw-guide-card-text { color: var(--pw-text-2); font-size: 14px; line-height: 1.55; }
.pw-guide-card.is-spring a { border-top: 3px solid #8fbf6a; }
.pw-guide-card.is-summer a { border-top: 3px solid #e3a93b; }
.pw-guide-card.is-autumn a { border-top: 3px solid #c4652a; }
.pw-guide-card.is-winter a { border-top: 3px solid #6c9bc4; }
.pw-guide-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.pw-guide-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; background: var(--pw-surface-2); color: var(--pw-text-2); font-size: 12.5px; font-weight: 600; }
.pw-guide-badge.is-season { background: var(--pw-brand-soft); color: var(--pw-brand-strong); }
.pw-guide-badge.is-warn { background: var(--pw-warn-soft); color: var(--pw-warn); }
.pw-guide-disclaimer { max-width: var(--pw-read-width); margin: 16px 0; padding: 12px 14px; border-radius: var(--pw-radius-sm);
                       background: var(--pw-health-soft); color: #1f5a58; font-size: 14px; }
.pw-guide-review { margin: 16px 0; padding: 16px; border: 2px dashed var(--pw-border-strong); max-width: var(--pw-read-width); }
.pw-guide-checklist ul { list-style: none; padding: 0; margin: 8px 0 12px; display: grid; gap: 6px; }
.pw-guide-checklist li { font-size: 14px; }
.pw-guide-checklist li.is-attention, .pw-guide-verify { display: block; background: var(--pw-warn-soft); padding: 6px 8px; border-radius: 6px; font-size: 14px; margin: 8px 0; }
.pw-guide-form-grid { display: grid; gap: 0 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pw-guide-prompt { margin: 0 0 14px; padding: 10px 12px; background: var(--pw-surface-2); border-radius: var(--pw-radius-sm); }
.pw-guide-prompt summary { cursor: pointer; font-weight: 700; }

/* 계절 */
.pw-season-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 10px 0 12px; }
.pw-season-pill { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px; border-radius: var(--pw-radius);
                  border: 1px solid var(--pw-border); background: var(--pw-surface); color: var(--pw-text); font-weight: 700; text-decoration: none !important; }
.pw-season-pill small { font-size: 11px; color: var(--pw-brand-strong); }
.pw-season-pill.is-active, .pw-season-pill.is-now { border-color: var(--pw-brand); box-shadow: inset 0 0 0 1px var(--pw-brand); }
.pw-season-hero { display: flex; gap: 14px; align-items: center; padding: 18px; border-radius: var(--pw-radius); margin-bottom: 8px; background: var(--pw-surface-2); }
.pw-season-hero h1 { margin: 2px 0 6px; font-size: 24px; }
.pw-season-hero p { margin: 0; color: var(--pw-text-2); }
.pw-season-emoji { font-size: 44px; line-height: 1; margin: 0; }
.pw-season-hero.is-spring { background: #eef6e6; }
.pw-season-hero.is-summer { background: #fdf3dd; }
.pw-season-hero.is-autumn { background: #fbede1; }
.pw-season-hero.is-winter { background: #e9f1f8; }

/* 관리자 검수 목록 */
.pw-guide-progress { display: grid; gap: 8px; }
.pw-guide-progress-row { display: grid; grid-template-columns: 80px 1fr; gap: 4px 10px; align-items: center; font-size: 14px; }
.pw-guide-progress-row .pw-meta { grid-column: 2; }
.pw-bar { display: block; height: 8px; border-radius: 4px; background: var(--pw-surface-2); overflow: hidden; }
.pw-bar > span { display: block; height: 100%; background: var(--pw-ok); }
.pw-guide-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.pw-guide-review-list { list-style: none; margin: 0 0 80px; padding: 0; display: grid; gap: 10px; }
.pw-guide-item { background: var(--pw-surface); border: 1px solid var(--pw-border); border-radius: var(--pw-radius); padding: 12px 14px; min-width: 0; }
.pw-guide-item.is-attention { border-left: 4px solid #e3a93b; }
.pw-guide-item-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.pw-guide-item-head > a { font-weight: 700; color: var(--pw-text); }
.pw-guide-pick input { width: 20px; height: 20px; }
.pw-guide-item details { margin-top: 8px; }
.pw-guide-item summary { cursor: pointer; color: var(--pw-link); font-size: 14px; }
.pw-guide-item .pw-doc-body { max-height: 520px; overflow: auto; padding: 10px; margin: 8px 0; border: 1px solid var(--pw-border); border-radius: var(--pw-radius-sm); }
.pw-guide-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.pw-guide-bulkbar { position: sticky; bottom: calc(var(--pw-tabbar-h) + 8px); z-index: 50; display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
                    padding: 10px 12px; background: var(--pw-surface); border: 1px solid var(--pw-border-strong); border-radius: var(--pw-radius); box-shadow: var(--pw-shadow); }
.pw-guide-bulkbar [data-pick-count] { font-weight: 700; margin-right: auto; }

/* ---------- 알림함 ---------- */
.pw-noti-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pw-noti-actions { display: flex; gap: 6px; }
.pw-noti-list { list-style: none; margin: 8px 0 16px; padding: 0; background: var(--pw-surface); border: 1px solid var(--pw-border); border-radius: var(--pw-radius); }
.pw-noti { display: flex; gap: 10px; align-items: flex-start; padding: 12px 12px; border-bottom: 1px solid var(--pw-border); }
.pw-noti:last-child { border-bottom: 0; }
.pw-noti.is-unread { background: var(--pw-brand-soft); }
.pw-noti-icon { font-size: 20px; line-height: 1.3; }
.pw-noti-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; color: var(--pw-text); text-decoration: none !important; }
.pw-noti.is-unread .pw-noti-body strong::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #d2453a; vertical-align: middle; }
.pw-noti-msg { color: var(--pw-text-2); font-size: 14px; overflow-wrap: anywhere; }
.pw-noti-del { border: 0; background: transparent; color: var(--pw-muted); font-size: 16px; padding: 4px 6px; cursor: pointer; }

@media (min-width: 720px) {
    .pw-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pw-guide-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pw-guide-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pw-post-photos { grid-template-columns: repeat(3, minmax(0, 200px)); }
}
@media (min-width: 900px) {
    .pw-hub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pw-guide-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pw-guide-bulkbar { bottom: 12px; }
    .pw-season-pill { flex-direction: row; justify-content: center; gap: 6px; }
}
