@charset "UTF-8";
/* 신년운세 공개 페이지(/palja/newyear/). 공통 부품(.zd-*)은 me.css 를 함께 읽는다. 열 폭은 .pm-page 가 정하고 여기서는 정의하지 않는다. */
.ny-rest { text-align: center; }
.ny-rest img { display: block; margin: 8px auto 12px; }

/* 12띠 카드 격자 */
.ny-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pm-gap-card); }
@media (min-width: 480px) { .ny-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 720px) { .ny-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ny-card { display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: var(--pm-tap); height: 100%; padding: 14px 8px 12px; border: 2px solid var(--pm-line); border-radius: var(--pm-r-card); background: var(--pm-cream); color: var(--pm-ink); text-align: center; text-decoration: none; transition: transform .15s; }
.ny-card:hover { transform: translateY(-2px); }
.ny-card:focus-visible, .ny-link:focus-visible { outline: 3px solid var(--pm-focus); outline-offset: 2px; }
.ny-ic { display: block; width: 64px; height: 64px; }
.ny-ic svg { display: block; width: 100%; height: 100%; }
.ny-nm { font-family: var(--pm-font-head); font-weight: 400; font-size: 19px; }
.ny-tone { font-size: 13.5px; color: var(--pm-sub-text); line-height: 1.4; }
.ny-yrs { font-size: 12.5px; color: var(--pm-sub-text); line-height: 1.4; overflow-wrap: anywhere; }
.ny-heads { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; font-size: 14px; line-height: 1.6; color: var(--pm-sub-text); }
.ny-heads b { color: var(--pm-ink); }

/* 알약 표시와 링크 */
.ny-chips { display: flex; flex-wrap: wrap; gap: var(--pm-gap-item); margin: 0 0 4px; }
.ny-chip { display: inline-flex; align-items: center; min-height: 30px; padding: 2px 12px; border-radius: var(--pm-r-pill); background: var(--pm-soft); color: var(--pm-ink); font-size: 13.5px; font-weight: 700; }
.ny-chip--sj { background: var(--pm-earth); }
.ny-links { display: flex; flex-wrap: wrap; gap: var(--pm-gap-item); margin: 8px 0 0; }
.ny-link { display: inline-flex; align-items: center; 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; }
.ny-link.is-current { background: var(--pm-fire-deep); border-color: var(--pm-fire-deep); color: #fff; }
.ny-years { margin: 2px 0 4px; font-size: 13.5px; color: var(--pm-sub-text); overflow-wrap: anywhere; }

/* 본문 목록 */
.ny-howto, .ny-tips { margin: 8px 0 0; padding-left: 20px; font-size: 15px; line-height: 1.7; }
.ny-howto li, .ny-tips li { margin: 0 0 4px; }
.ny-flow { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 8px; font-size: 15.5px; line-height: 1.7; }
.ny-flow b { color: var(--pm-fire-deep); }
.ny-born { list-style: none; margin: 0; padding: 0; }
.ny-born li { padding: 10px 0; border-top: 1px solid var(--pm-line); }
.ny-born li:first-child { border-top: 0; padding-top: 0; }
.ny-born-h { margin: 0 0 2px; font-size: 15px; line-height: 1.5; }
.ny-born-h span { margin-left: 6px; font-size: 13.5px; color: var(--pm-sub-text); }
.ny-born-t { margin: 0; font-size: 15px; line-height: 1.7; }
.ny-closing { margin-top: 10px; }
.ny-btns { display: flex; flex-wrap: wrap; gap: var(--pm-gap-item); }
.ny-btns .pm-btn { flex: 1 1 140px; text-align: center; }
@media (prefers-reduced-motion: reduce) { .ny-card { transition: none; } .ny-card:hover { transform: none; } }
