.rz-home-main, .rz-archive-main { width: min(1140px, calc(100% - 40px)); margin-inline: auto; }
.rz-home-main { padding-top: 28px; padding-bottom: 64px; }
.rz-post-card { min-width: 0; }
.rz-card-visual { position: relative; min-width: 0; }
.rz-card-image-link { display: block; aspect-ratio: 1.45; background: #f2f5fa; border-radius: 12px; overflow: hidden; }
.rz-card-image-link img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rz-card-image-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 100%; padding: 24px; background: #edf4ff; color: #073675; font: 600 24px/1.4 "Sora", sans-serif; text-align: center; }
.rz-card-image-placeholder small { font: 400 13px/1.5 "Roboto", sans-serif; }
.rz-card-visual .rz-card-category { position: absolute; bottom: 14px; left: 14px; color: #fff; background: #0064ff; font: 400 14px/1.4 "Roboto", sans-serif; border-radius: 5px; padding: 7px 12px; text-decoration: none; }
.rz-card-copy { padding-top: 18px; }
.rz-card-title { font: 600 1.2rem/1.45 "Sora", sans-serif; margin: 12px 0; }
.rz-card-title a, .rz-card-title a:hover { color: #1e1e1e; text-decoration: none; }
.rz-card-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #54595f; font: 400 14px/1.5 "Roboto", sans-serif; }
.rz-card-meta time { padding-left: 8px; border-left: 1px solid #ddd; }
.rz-reading-time { display: inline-flex; margin-block: 8px 12px; padding: 5px 12px; background: #4389ff; color: #fff; border-radius: 30px; font: 400 14px/1.5 "Roboto", sans-serif; }
.rz-card-excerpt { font: 400 15px/1.7 "Roboto", sans-serif; margin: 0 0 18px; }
.rz-blog-page a.rz-read-more { font-family: "Roboto", sans-serif; font-size: 15px; font-weight: 400; text-transform: none; gap: 6px; }
.rz-featured-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.rz-featured-card .rz-card-image-link { aspect-ratio: 4 / 3; }
.rz-featured-card .rz-card-category { top: 14px; right: 14px; bottom: auto; left: auto; background: #574328b3; }
.rz-featured-card .rz-card-copy { padding: 0; }
.rz-featured-card .rz-card-title { font-size: 2.2rem; line-height: 1.2; margin: 0 0 14px; }
.rz-featured-card .rz-card-excerpt { font-size: 16px; }
.rz-blog-page .rz-featured-card a.rz-read-more { font-size: 18px; }
.rz-featured-card .rz-card-meta { font-size: 16px; }
.rz-home-tools { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-block: 64px; }
.rz-category-list { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 8px 0; }
.rz-category-list a { display: block; color: #fff; background: #0064ff; border-radius: 30px; padding: 6px 14px; font: 400 16px/1.3 "Roboto", sans-serif; text-decoration: none; }
.rz-category-list a:hover { background: #004fcc; color: #fff; }
.rz-search-toggle { position: relative; flex-shrink: 0; }
.rz-search-toggle summary { width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; background: #b6dbde; border-radius: 50%; cursor: pointer; list-style: none; }
.rz-search-toggle summary::-webkit-details-marker { display: none; }
.rz-search-toggle .rz-search-form { position: absolute; z-index: 5; right: 0; top: 62px; width: 330px; box-shadow: 0 8px 30px #00184820; padding: 14px; background: #fff; border-radius: 12px; }
.rz-search-form { display: flex; gap: 10px; }
.rz-search-form label { flex: 1; min-width: 0; }
.rz-search-form input { width: 100%; min-height: 46px; border: 1px solid #c5ced9; border-radius: 8px; padding: 10px 12px; font: 400 15px/1.4 "Roboto", sans-serif; }
.rz-search-form button { border: 0; border-radius: 8px; background: #0064ff; color: #fff; padding: 10px 16px; font: 500 14px/1.4 "Roboto", sans-serif; }
.rz-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 32px; }
.rz-section-heading h2, .rz-popular-section > h2, .rz-home-newsletter h2 { margin: 0; font: 600 2rem/1.4 "Sora", sans-serif; color: #1e1e1e; }
.rz-blog-page a.rz-all-posts { background: #b6dbde; text-transform: none; color: #1e1e1e; font: 400 16px/1.5 "Roboto", sans-serif; padding: 10px 28px; }
.rz-home-page button.rz-button { text-transform: none; }
.rz-post-grid { display: grid; gap: 40px 28px; }
.rz-recent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rz-home-newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; background: #b6dbde; border-radius: 20px; padding: 40px; margin-block: 64px; }
.rz-home-newsletter h2 { font-size: 1.7rem; }
.rz-home-newsletter p { margin: 12px 0 0; }
.rz-newsletter-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.rz-newsletter-form label { display: block; flex: 1; min-width: 150px; font: 400 14px/1.5 "Roboto", sans-serif; }
.rz-newsletter-form input[type=email] { display: block; width: 100%; min-height: 48px; margin-top: 8px; border: 1px solid #abbfc4; border-radius: 8px; padding: 12px; font: inherit; background: #fff; }
.rz-newsletter-form .rz-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rz-newsletter-form .rz-form-feedback { flex-basis: 100%; font: 400 14px/1.6 "Roboto", sans-serif; margin: 0; }
.rz-newsletter-form .rz-feedback-error { color: #8c182a; }
.rz-newsletter .rz-newsletter-form { display: block; }
.rz-newsletter .rz-newsletter-form .rz-button { margin-top: 12px; }
.rz-popular-section > h2 { margin-bottom: 32px; }
.rz-popular-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.rz-popular-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rz-tags-sidebar h3 { font: 600 20px/1.5 "Sora", sans-serif; margin: 0 0 20px; }
.rz-tags-sidebar ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rz-tags-sidebar a { display: block; border-radius: 20px; padding: 7px 12px; background: #0064ff; color: #fff; font: 400 14px/1.5 "Roboto", sans-serif; text-decoration: none; }
.rz-archive-main { padding-block: 40px 64px; }
.rz-archive-heading { margin-bottom: 40px; }
.rz-archive-heading h1 { font: 600 2.2rem/1.4 "Sora", sans-serif; margin: 0 0 24px; overflow-wrap: anywhere; }
.rz-archive-heading .rz-search-form { max-width: 550px; }
.navigation.pagination { margin-top: 40px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.page-numbers { display: inline-flex; align-items: center; justify-content: center; padding: 8px 14px; min-width: 44px; min-height: 44px; border-radius: 8px; text-decoration: none; background: #edf4ff; }
.page-numbers.current { background: #0064ff; color: #fff; }
@media (max-width: 1024px) { .rz-featured-card { gap: 28px; } .rz-featured-card .rz-card-title { font-size: 1.8rem; } .rz-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rz-popular-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 24px; } }
@media (max-width: 767px) {
    .rz-home-main, .rz-archive-main { width: calc(100% - 32px); }
    .rz-home-main { padding-top: 20px; }
    .rz-featured-card { grid-template-columns: 1fr; gap: 24px; }
    .rz-featured-card .rz-card-title { font-size: 1.6rem; line-height: 1.35; }
    .rz-featured-card .rz-card-image-link { aspect-ratio: 4 / 3; }
    .rz-home-tools { margin-block: 36px; gap: 12px; }
    .rz-category-list { gap: 8px; }
    .rz-category-list a { font-size: 14px; }
    .rz-search-toggle .rz-search-form { width: min(330px, calc(100vw - 32px)); }
    .rz-recent-grid, .rz-popular-grid { grid-template-columns: 1fr; gap: 36px; }
    .rz-section-heading h2, .rz-popular-section > h2 { font-size: 1.6rem; }
    .rz-section-heading { margin-bottom: 24px; }
    .rz-home-newsletter { grid-template-columns: 1fr; gap: 24px; padding: 28px 20px; margin-block: 40px; }
    .rz-home-newsletter h2 { font-size: 1.4rem; }
    .rz-home-newsletter .rz-newsletter-form { display: block; }
    .rz-home-newsletter .rz-newsletter-form button { margin-top: 16px; width: 100%; }
    .rz-popular-layout { grid-template-columns: 1fr; gap: 40px; }
    .rz-tags-sidebar { border-top: 1px solid #e2e9f2; padding-top: 28px; }
    .rz-archive-heading h1 { font-size: 1.7rem; }
}
