/* 살풀이 (/palja/salpuri/) */
.sp { display: flex; flex-direction: column; gap: 16px; }
.sp-who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 14px 18px; }
.sp-who-t { font-size: 13.5px; font-weight: 700; color: var(--pm-sub-text); }
.sp-who-l { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sp-chip { display: inline-flex; align-items: center; gap: 4px; min-height: var(--pm-tap); padding: 0 16px; border: 2px solid var(--pm-line); border-radius: var(--pm-r-pill); background: var(--pm-cream); color: var(--pm-ink); font-size: 15px; text-decoration: none; }
.sp-chip small { color: var(--pm-sub-text); font-size: 12.5px; }
.sp-chip.is-current { background: var(--pm-wood); border-color: var(--pm-wood); font-weight: 700; }
.sp-chip:focus-visible { outline: 3px solid var(--pm-focus); outline-offset: 2px; }

.sp-item { display: flex; flex-direction: column; gap: 6px; }
.sp-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.sp-name { margin: 0; font-family: var(--pm-font-head); font-weight: 400; font-size: 24px; line-height: 1.3; }
.sp-hanja { font-size: 15px; color: var(--pm-sub-text); }
.sp-where { padding: 3px 12px; border-radius: var(--pm-r-pill); background: var(--pm-soft2); font-size: 13px; font-weight: 700; }
.sp-title { margin: 4px 0 0; font-family: var(--pm-font-head); font-size: 18px; color: var(--pm-fire-deep); }
.sp-meaning { margin: 0; font-size: 15.5px; line-height: 1.75; word-break: keep-all; }
.sp-tips-h { margin: 10px 0 2px; font-size: 14px; font-weight: 700; color: var(--pm-sub-text); }
.sp-tips { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sp-tips li { position: relative; padding: 12px 14px 12px 40px; border-radius: var(--pm-r-card); background: var(--pm-info-bg); color: var(--pm-info-ink); font-size: 15px; line-height: 1.65; word-break: keep-all; }
.sp-tips li::before { content: "\2713"; position: absolute; left: 14px; top: 11px; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--pm-wood); color: var(--pm-ink); font-size: 12px; font-weight: 700; }
.sp-mark .pm-btn, .sp-cta .pm-btn { margin-top: 10px; }
.sp-foot { text-align: center; margin: 0; }
.sp-varies { margin: 0; text-align: center; }
