/* Native posts reuse the approved hero, reading columns and typography. */
body.d4y-page-article .d4y-native-post .hero-section-content .section-subtitle.d4y-post-meta,
.d4y-page-news .d4y-news-index .news-content .d4y-post-meta,
.d4y-news-index .d4y-news-card .d4y-post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin: 0 0 20px;
    padding: 0;
    color: #566175;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: normal;
}
body.d4y-page-article .d4y-native-post .hero-section-content .section-subtitle.d4y-post-meta { justify-content: flex-start; font-size: 11px; line-height: 1.5; font-weight: 600; letter-spacing: 1.2px; }
.d4y-post-meta a { color: #1351d8; text-decoration: none; }
.d4y-post-meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
.d4y-post-meta time { font-variant-numeric: tabular-nums; }
.d4y-news-index .d4y-post-meta > span {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid #1351d8;
    border-radius: 5px;
    background: #1351d8;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

/* Short posts do not reserve an empty navigation column. */
body.d4y-design-language.d4y-page-article .d4y-native-post .blog-details-area .blog-details-inner.d4y-reading-single {
    display: block;
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    padding: 36px 0 0;
    border-top: 1px solid #dce3ef;
    border-radius: 0;
    background: none;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body { overflow-wrap: break-word; }
body.d4y-page-article .d4y-native-post .d4y-reading-body :is(h3,h4,h5,h6) {
    scroll-margin-top: 104px;
    overflow-wrap: break-word;
}
/* Keep the approved H3 rhythm formerly supplied by the Elementor article. */
body.d4y-page-article .d4y-native-post .d4y-reading-body h3 {
    margin: 34px 0 16px;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.25;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body :is(ul,ol) :is(ul,ol) { margin: 12px 0 0; }
body.d4y-page-article .d4y-native-post .d4y-reading-body blockquote {
    margin: 28px 0;
    padding: 20px 24px;
    border: 0;
    border-left: 3px solid #1351d8;
    border-radius: 0 12px 12px 0;
    background: #f3f6fc;
    color: #4c5769;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body blockquote > :last-child { margin-bottom: 0; }
body.d4y-page-article .d4y-native-post .d4y-reading-body cite {
    display: block;
    margin-top: 12px;
    color: #566175;
    font-size: 14px;
    line-height: 1.6;
    font-style: normal;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body pre {
    max-width: 100%;
    margin: 24px 0;
    padding: 20px;
    overflow: auto;
    border: 1px solid #dce3ef;
    border-radius: 12px;
    background: #f6f8fc;
    color: #263248;
    font: 14px/1.75 ui-monospace, SFMono-Regular, Consolas, monospace;
    white-space: pre;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
body.d4y-page-article .d4y-native-post .d4y-reading-body :not(pre) > code {
    padding: 2px 5px;
    border-radius: 4px;
    background: #f2f5fb;
    color: #263248;
    font-size: .9em;
    overflow-wrap: anywhere;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body figure { max-width: 100%; margin: 28px 0; }
body.d4y-page-article .d4y-native-post .d4y-reading-body :is(figure,p) img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body figcaption {
    margin: 10px 0 0;
    color: #566175;
    font-size: 13px;
    line-height: 1.65;
    text-align: left;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body :is(.wp-block-table,.d4y-post-table,.d4y-article-table) { overflow-x: auto; }
body.d4y-page-article .d4y-native-post .d4y-reading-body table {
    width: 100%;
    max-width: 100%;
    margin: 24px 0;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.65;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body > table { display: block; overflow-x: auto; }
body.d4y-page-article .d4y-native-post .d4y-reading-body :is(th,td) {
    padding: 14px 16px;
    border: 1px solid #dce3ef;
    vertical-align: top;
    text-align: left;
}
body.d4y-page-article .d4y-native-post .d4y-reading-body th { background: #f2f5fb; color: #263248; font-weight: 600; }
body.d4y-page-article .d4y-native-post .d4y-reading-body td { color: #4c5769; }
body.d4y-page-article .d4y-native-post .d4y-reading-body :is(video,iframe) { max-width: 100%; }

/* The lead card keeps .sticky-news; only subsequent posts use this grid. */
.d4y-news-index .sticky-news.d4y-news-no-image,
.d4y-news-index .sticky-news:not(:has(.news-img-box)) { grid-template-columns: minmax(0,1fr); }
.d4y-news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin-top: 32px; }
.d4y-news-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px;
    border: 1px solid #e1e7f1;
    border-radius: 16px;
    background: #fff;
}
.d4y-news-card :is(.d4y-news-card-image,.news-img-box,figure) { display: block; margin: 0 0 24px; overflow: hidden; border-radius: 10px; }
.d4y-news-card img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 12/5; object-fit: contain; }
.d4y-news-card-content,
.d4y-news-card > .news-content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.d4y-news-card .d4y-post-meta { margin-bottom: 12px; }
.d4y-news-index .d4y-news-card h2 { margin: 0 0 16px; font-size: 28px; line-height: 1.22; font-weight: 500; letter-spacing: -.4px; overflow-wrap: break-word; }
.d4y-news-card h2 a { color: #252d39; text-decoration: none; }
.d4y-news-card h2 a:hover { color: #1351d8; }
.d4y-news-index .d4y-news-card p { margin: 0 0 20px; color: #566175; font-size: 15px; line-height: 1.75; }
.d4y-news-card .d4y-news-read {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    margin-top: auto;
    padding: 8px 0;
    color: #1351d8;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
}
.d4y-news-read svg { flex: 0 0 18px; width: 18px; height: 18px; }
.d4y-news-read:hover { text-decoration: underline; text-underline-offset: 4px; }
.d4y-news-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 36px; }
.d4y-news-pagination > ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.d4y-news-pagination > ul.page-numbers > li { margin: 0; padding: 0; list-style: none; }
.d4y-news-pagination :is(a,span) { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 10px 14px; border: 1px solid #dce3ef; border-radius: 8px; color: #263248; font-size: 14px; line-height: 1.5; text-decoration: none; }
.d4y-news-pagination .current { border-color: #1351d8; background: #1351d8; color: #fff; }
.d4y-news-pagination a:hover { border-color: #1351d8; color: #1351d8; }
.d4y-news-pagination .dots { border-color: transparent; }
.d4y-news-empty { padding: 40px 28px; border: 1px solid #e1e7f1; border-radius: 16px; background: #f3f6fc; color: #566175; }
.d4y-news-empty > :last-child { margin-bottom: 0; }
:is(.d4y-native-post,.d4y-news-index) a:focus-visible { outline: 2px solid #1351d8; outline-offset: 4px; }

@media (max-width: 767px) {
    body.d4y-page-article .d4y-native-post .d4y-reading-body h3 { font-size: 23px; }
    body.d4y-design-language.d4y-page-article .d4y-native-post .blog-details-area .blog-details-inner.d4y-reading-single { padding-top: 24px; }
    body.d4y-page-article .d4y-native-post .hero-section-content .section-subtitle.d4y-post-meta { margin-bottom: 16px; }
    body.d4y-page-article .d4y-native-post .d4y-reading-body blockquote { padding: 18px 20px; }
    body.d4y-page-article .d4y-native-post .d4y-reading-body pre { padding: 16px; font-size: 13px; }
    body.d4y-page-article .d4y-native-post .d4y-reading-body :is(th,td) { padding: 12px; }
    .d4y-news-grid { grid-template-columns: minmax(0,1fr); gap: 20px; margin-top: 24px; }
    .d4y-news-card { padding: 20px; }
    .d4y-news-card :is(.d4y-news-card-image,.news-img-box,figure) { margin-bottom: 20px; }
    .d4y-news-index .d4y-news-card h2 { font-size: 26px; }
    .d4y-news-empty { padding: 28px 20px; }
}
