/* 기존 섹션 제목과 본문 열에 맞춘 저널 달력. */
.journal-section { border-bottom: 1px solid var(--rule); }
.journal-section--standalone { border-bottom: 0; }
.journal-label { padding: 4mm; font-size: 18px; font-weight: 400; line-height: 1.15; }
.journal-label a { color: inherit; text-decoration: none; }
.journal-calendar { max-width: 456px; margin: 0 auto; padding: 0 40px 48px; }
.journal-cal-box { border: 1px solid var(--rule); }
.journal-cal-header { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px; border-bottom: 1px solid var(--rule); }
.journal-cal-header button { width: 44px; height: 44px; border: 0; background: none; color: var(--text); font: inherit; font-size: 18px; cursor: pointer; }
.journal-cal-header button:disabled { opacity: .3; cursor: default; }
.journal-cal-header [data-calendar-month] { font-size: 14px; color: var(--rule); }
.journal-cal-weekdays, .journal-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.journal-cal-weekdays { text-align: center; font-size: 12px; color: var(--rule); padding: 8px 0; border-bottom: 1px solid var(--rule); }
.journal-cal-cell { position: relative; min-width: 0; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; border-left: 1px solid var(--rule); border-top: 1px solid var(--rule); color: var(--text); text-decoration: none; }
.journal-cal-cell:nth-child(7n+1) { border-left: 0; }
.journal-cal-cell:nth-child(-n+7) { border-top: 0; }
.journal-cal-num { font-size: 14px; line-height: 1.2; font-weight: 400; }
.journal-cal-cell.has-entry .journal-cal-num { font-weight: 700; }
.journal-cal-dot { position: absolute; top: calc(50% + 13px); left: 50%; transform: translateX(-50%); width: 3px; height: 3px; border-radius: 50%; background: transparent; }
.journal-cal-cell.has-entry .journal-cal-dot { background: var(--text); }
.journal-cal-cell.has-entry:hover { background: #eed347; }
.journal-cal-cell:focus-visible, .journal-cal-header button:focus-visible { outline: 2px solid var(--text); outline-offset: -3px; }
.journal-cal-note { padding-top: 12px; font-size: 14px; color: var(--rule); }
@media (max-width: 820px) {
  .journal-calendar { max-width: 360px; padding: 0 36px 40px; }
}
