/* Page hero */
.rv-page-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--rv-navy), var(--rv-blue)); }
.rv-page-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rv-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 31, 59, .55), rgba(11, 31, 59, .8)); }
.rv-page-hero__inner { position: relative; z-index: 1; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.rv-page-hero__kicker { margin: 0 0 .5rem; font-size: var(--rv-fs-sm); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #EAF2FC; }
.rv-page-hero__title { max-width: 24ch; margin: 0; color: #fff; font-size: var(--rv-fs-h1); }
.rv-page-hero__sub { max-width: 60ch; margin: .75rem 0 0; font-size: var(--rv-fs-lg); color: #EAF2FC; }

/* Prose (the_content) */
.rv-prose > * + * { margin-top: 1em; }
.rv-prose h2 { margin-top: 1.6em; }
.rv-prose h3 { margin-top: 1.4em; }
.rv-prose ul, .rv-prose ol { padding-left: 1.4rem; }
.rv-prose li + li { margin-top: .35em; }
.rv-prose img { border-radius: var(--rv-radius-sm); }
.rv-prose table { width: 100%; border-collapse: collapse; }
.rv-prose th, .rv-prose td { padding: .6rem .75rem; text-align: left; border: 1px solid var(--rv-border); }
.rv-prose blockquote { margin-inline: 0; padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--rv-blue); color: var(--rv-muted); }
.rv-prose--narrow { max-width: 760px; margin-inline: auto; }

/* Page Content Blocks */
.rv-block--alt { background: var(--rv-gray-light); }
.rv-block__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.rv-block--text .rv-block__text { max-width: 760px; }
.rv-block__list { margin: 0 0 1em; padding-left: 1.3rem; }
.rv-block__list li + li { margin-top: .4em; }
.rv-block__media img { width: 100%; border-radius: var(--rv-radius-lg); }
@media (min-width: 800px) {
	.rv-block--img-left .rv-block__grid, .rv-block--img-right .rv-block__grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
	.rv-block--img-left .rv-block__media { order: -1; }
}

/* Course detail */
.rv-course { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 900px) { .rv-course { grid-template-columns: 1fr 340px; gap: 3rem; } }
.rv-course__side { display: grid; gap: .9rem; padding: 1.5rem; background: var(--rv-gray-light); border: 1px solid var(--rv-border); border-radius: var(--rv-radius); }
@media (min-width: 900px) { .rv-course__side { position: sticky; top: calc(var(--rv-header-h) + 1rem); } }
.rv-course__side-title { margin: 0; font-size: var(--rv-fs-h3); }
.rv-course__facts { display: grid; gap: .25rem; margin: 0; }
.rv-course__facts dt { font-size: var(--rv-fs-sm); font-weight: 700; color: var(--rv-muted); }
.rv-course__facts dd { margin: 0 0 .5rem; }
.rv-course__side .rv-btn { justify-content: center; }

/* Pagination + post navigation */
.pagination { margin-top: 2.5rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 .9rem; color: var(--rv-navy); text-decoration: none; border: 1px solid var(--rv-border); border-radius: var(--rv-radius-sm); }
.pagination .page-numbers.current, .pagination a.page-numbers:hover { color: #fff; background: var(--rv-blue); border-color: var(--rv-blue); }
.post-navigation .nav-links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--rv-border); }
.rv-btn--navy { background: var(--rv-navy); border-color: var(--rv-navy); }
.rv-btn--navy:hover { background: var(--rv-blue); border-color: var(--rv-blue); }
