/* News adapter for DayPilot UI v3.2.0. The shared stylesheet owns the shell. */
.news-site .news-subscribe { margin: 0 0 28px; }
.news-site .news-item { min-width: 0; padding-block: 0 28px; margin-block: 28px; border-bottom: 1px dotted var(--dpu-line); }
.news-site .news-items-monthly .news-item:last-child { border-bottom: 0; }
.news-site .news-date { display: block; color: var(--dpu-muted); font-size: 13px; line-height: 1.6; }
.news-site .news-item > .news-date { font-weight: 600; margin-bottom: 12px; }
.news-site .news-item-text > :first-child { margin-top: 0; }
.news-site .news-item-text > :last-child { margin-bottom: 0; }
.news-site .news-item-text a.news-link { display: inline-block; max-width: min(100%, 250px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
.news-site .news-image { margin-top: 18px; }
.news-site :is(.news-image,.news-article-hero,.news-article-thumbnail) img { display: block; max-width: 100%; height: auto; }
.news-site .news-archive { border-top: 1px solid var(--dpu-line); padding-top: 8px; margin-top: 36px; }
.news-site .news-archive ul { list-style: none; margin: 0; padding: 0; }
.news-site .news-archive li { margin: 0; }
.news-site .news-archive a { display: inline-flex; align-items: center; min-height: 30px; }
.news-site .news-older { margin-top: 24px; }
.news-site .news-paging { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-block: 16px 24px; }
.news-site .news-paging span { font-size: 13px; color: var(--dpu-muted); }
.news-site .news-article-entry { min-width: 0; padding-bottom: 28px; margin-block: 28px; border-bottom: 1px solid var(--dpu-line); }
.news-site .news-article-entry-image { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
.news-site .news-article-entry > div { min-width: 0; }
.news-site .news-article-thumbnail { display: block; }
.news-site .news-article-title { font-size: 18px; font-weight: 600; line-height: 1.4; margin: 0 0 10px; }
.news-site .news-article-title a { color: var(--dpu-ink); text-decoration: none; }
.news-site .news-article-title a:hover { color: var(--dpu-blue); text-decoration: underline; }
.news-site .news-article-entry p { margin: 0 0 12px; }
.news-site .news-article-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-block: 12px; font-size: 13px; color: var(--dpu-muted); }
.news-site .news-article-description { margin: 0 0 20px; font-style: italic; }
.news-site .news-article-hero { margin-block: 24px; }
.news-site :is(.news-article-body,.news-article-entry,.news-subscription,.news-item-text) { overflow-wrap: anywhere; }
.news-site .news-article-body img { max-width: 100%; height: auto; }
/* Stored Java-era articles retain native tables inside focusable scroll regions. */
.news-site .news-article-body .dpu-table-scroll { margin-block: 20px; }
.news-site .news-article-body table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.55; }
.news-site .news-article-body :is(th,td) { border: 1px solid var(--dpu-line); padding: 12px 14px; text-align: start; vertical-align: top; overflow-wrap: normal; }
.news-site .news-article-body th { background: var(--dpu-wash); color: var(--dpu-ink); font-weight: 600; }
.news-site .news-subscription { max-width: 580px; }
.news-site .news-subscription-form { display: grid; gap: 24px; }
.news-site .news-frequency { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.news-site .news-feed-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.news-site .news-subscription-note { margin: 0; color: var(--dpu-muted); font-size: 13px; }
.news-site .news-form-error { color: var(--dpu-danger); margin: 0 0 24px; }
.news-site .news-copyright { margin-top: 24px; }
.news-site .dpu-site-footer { overflow-wrap: anywhere; }
@media (max-width: 580px) {
 .news-site .news-article-entry-image { grid-template-columns: minmax(0, 1fr); gap: 16px; }
 .news-site .news-article-thumbnail { max-width: 240px; }
 .news-site .news-feed-choices { grid-template-columns: minmax(0, 1fr); }
 .news-site .news-subscription input[type=email] { font-size: 16px; }
}
/* Preserve both primary destinations beside the compact control at 320px. */
@media (max-width: 400px) {
 .news-site .dpu-site-header > .dpu-container { gap: 8px; }
 .news-site .dpu-site-header nav { gap: 12px; }
}
