/* ==========================================================================
   blog.css – Blog grid, posts, pagination, search, comments and WordPress content
   Part of the Devraj Pathak theme. Breakpoints are in responsive.css.
   ========================================================================== */


.dp-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.dp-post-card { border-radius: var(--dp-radius); overflow: hidden; background: var(--dp-surface); border: 1px solid var(--dp-line); display: flex; flex-direction: column; transition: box-shadow .3s, transform .3s; }
.dp-post-card:hover { box-shadow: var(--dp-shadow); transform: translateY(-3px); }
.dp-post-card__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.dp-post-card__body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.dp-post-card__title { font-size: 26px; }
.dp-post-card__title a { color: var(--dp-ink); }
.dp-post-card__title a:hover { color: var(--dp-primary-3); }
.dp-post-card__excerpt { color: var(--dp-muted); font-size: 15px; }
.dp-post-card .dp-course__link { margin-top: auto; }
.dp-post-meta { font-size: 13px; font-weight: 600; letter-spacing: .05em; color: var(--dp-accent); margin-bottom: 8px; }

.dp-entry { font-size: 17px; }
.dp-entry > * + * { margin-top: 1.1em; }
.dp-entry h2 { font-size: 36px; margin-top: 1.4em; }
.dp-entry h3 { font-size: 28px; margin-top: 1.3em; }
.dp-entry img { border-radius: 12px; }
.dp-entry blockquote { margin: 1.5em 0; padding: 20px 26px; border-left: 3px solid var(--dp-accent); background: var(--dp-cream); font-family: var(--dp-font-head); font-size: 22px; font-style: italic; }
.dp-entry table { width: 100%; border-collapse: collapse; }
.dp-entry th,
.dp-entry td { border: 1px solid var(--dp-line); padding: 10px 12px; text-align: left; }
.dp-entry__thumb { margin: 0 0 30px; }
.dp-entry__thumb img { width: 100%; border-radius: var(--dp-radius); }
.dp-entry__footer { margin-top: 50px; padding-top: 30px; border-top: 1px solid var(--dp-line); }
.dp-entry--full > * { max-width: none; }
.dp-tags a { display: inline-block; padding: 4px 12px; margin: 0 6px 6px 0; border-radius: 999px; background: var(--dp-cream); font-size: 13px; }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.post-navigation a { display: block; padding: 18px; border: 1px solid var(--dp-line); border-radius: 12px; color: var(--dp-ink); font-weight: 600; }
.post-navigation a span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--dp-accent); }
.post-navigation .nav-next { text-align: right; }

.pagination { margin-top: 50px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--dp-line); color: var(--dp-ink); font-weight: 600; }
.page-numbers.current,
a.page-numbers:hover { background: var(--dp-primary); border-color: var(--dp-primary); color: var(--dp-white); }

.dp-search { position: relative; display: flex; max-width: 480px; }
.dp-search input { padding-right: 54px; }
.dp-search button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border: 0; border-radius: 10px; background: var(--dp-primary); color: var(--dp-white); cursor: pointer; display: grid; place-items: center; }
.dp-search button .dp-icon { width: 18px; height: 18px; }

.dp-empty { text-align: center; }
.dp-empty .dp-search { margin: 26px auto; }
.dp-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

.dp-comments { margin-top: 60px; }
.dp-comment-list { list-style: none; padding: 0; }
.dp-comment-list .children { list-style: none; padding-left: 30px; }
.dp-comment-list .comment-body { padding: 20px 0; border-bottom: 1px solid var(--dp-line); }
.dp-comment-list .avatar { border-radius: 50%; float: left; margin-right: 14px; }
.comment-form input:not([type="submit"]):not([type="checkbox"]),
.comment-form textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--dp-line); border-radius: 10px; }
.comment-form label { display: block; font-weight: 600; margin-bottom: 6px; }

/* Core alignment + caption classes */
.alignleft { float: left; margin: .3em 1.5em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption-text,
.wp-element-caption { font-size: 14px; color: var(--dp-muted); text-align: center; margin-top: 8px; }
.sticky .dp-post-card__title::before { content: "★ "; color: var(--dp-accent); }
.bypostauthor > .comment-body .fn::after { content: " · Author"; color: var(--dp-accent); font-size: 12px; }
.gallery-caption { font-size: 13px; }

