/* Holiday preview: one focal date, followed by a quiet chronological agenda. */
.home-page .holidays {
    --holiday-brand: #bb2838;
    --holiday-ink: #342d30;
    --holiday-muted: #80777b;
    --holiday-accent: #bb2838;
    display: block;
    padding: 20px;
    border: 1px solid #ece7e8;
    border-radius: 12px;
    background: #fff;
    color: var(--holiday-ink);
    font-family: "Segoe UI", "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.home-page .holiday-heading { display: flex; align-items: center; gap: 16px; min-height: 28px; margin: 0 0 18px; }
.home-page .holiday-heading h2 { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #302a2d; font-size: 18px; font-weight: 600; line-height: 28px; }
.home-page .holiday-heading h2::before { content: ""; width: 3px; height: 16px; border-radius: 2px; background: var(--red); flex-shrink: 0; }
.home-page .holiday-heading p { margin: 0; color: var(--holiday-muted); font-size: 12px; font-weight: 400; line-height: 20px; }
.home-page .holiday-heading .more { gap: 8px; min-height: 28px; margin: 0 0 0 auto; padding: 4px 0 4px 12px; color: #80777b; font-size: 12px; font-weight: 400; line-height: 20px; }
.home-page .holiday-heading .more:hover { color: var(--holiday-brand); }
.home-page .holiday-preview-list { display: grid; grid-template-columns: 1.75fr repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; border: 0; background: none; }
.home-page .holiday-preview-list > li { display: flex; align-items: center; min-width: 0; padding: 0; border: 0; }
.home-page .holiday-preview-list > li + li { padding: 6px 0; }
.home-page .holiday-preview-list > li:nth-child(n+3) .holiday-item { border-left: 1px solid #eee8ea; }
.home-page .holiday-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    width: 100%;
    min-height: 134px;
    padding: 8px 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--holiday-ink);
    transition: background-color .18s, color .18s;
}
.home-page .holiday-item:hover { background: #fdf6f7; }
.home-page .holiday-item .holiday-date { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; line-height: 1; }
.home-page .holiday-item .holiday-date-number { color: var(--holiday-ink); font-family: "Segoe UI", Arial, sans-serif; font-size: 28px; font-weight: 400; line-height: 34px; letter-spacing: -.8px; font-variant-numeric: lining-nums tabular-nums; }
.home-page .holiday-item .holiday-year { color: var(--holiday-muted); font-size: 12px; font-weight: 400; line-height: 18px; }
.home-page .holiday-item .holiday-name { margin-top: 10px; color: var(--holiday-ink); font-size: 15px; font-weight: 600; line-height: 23px; }
.home-page .holiday-item .holiday-status { color: var(--holiday-muted); font-size: 12px; font-weight: 400; line-height: 20px; white-space: nowrap; }
.home-page .holiday-item.is-statutory .holiday-status { color: var(--holiday-accent); }
.home-page .holiday-item.is-featured { min-height: 152px; padding: 16px 24px; border-radius: 8px; background: var(--holiday-brand); color: #fff; }
.home-page .holiday-item.is-featured:hover { background: #a51f2f; }
.home-page .holiday-item.is-featured .holiday-date-number { color: #fff; font-size: 42px; font-weight: 300; line-height: 46px; letter-spacing: -1.1px; }
.home-page .holiday-item.is-featured .holiday-year { color: #ffe1e5; }
.home-page .holiday-item.is-featured .holiday-name { max-width: calc(100% - 24px); margin-top: 6px; color: #fff; font-size: 17px; line-height: 24px; }
.home-page .holiday-item.is-featured .holiday-status { color: #ffe1e5; }
.home-page .holiday-item.is-featured.is-statutory .holiday-status { color: #fff0f2; }
.home-page .holiday-feature-arrow { position: absolute; right: 24px; bottom: 22px; color: #fff0f2; font-size: 22px; transition: transform .18s; }
.home-page .holiday-item.is-featured:hover .holiday-feature-arrow { transform: translateX(4px); }
.home-page .holidays button:focus-visible { outline: 2px solid #bb2838; outline-offset: 4px; }
@media (max-width: 1299px) {
    .home-page .holiday-item { padding-inline: 18px; }
    .home-page .holiday-item .holiday-name { font-size: 14px; }
    .home-page .holiday-item.is-featured { padding-inline: 22px; }
}
@media (prefers-reduced-motion: reduce) { .home-page .holiday-item, .home-page .holiday-feature-arrow { transition: none; } }
