:root {
--blognova-primary: #2563eb;
--blognova-accent: #0f172a;
--blognova-container: 1200px;
}:root {
--primary: var(--blognova-primary, #2563eb);
--primary-hover: #1d4ed8;
--primary-light: #eff6ff;
--accent: var(--blognova-accent, #0f172a);
--bg-color: #f8fafc;
--surface: #ffffff;
--text-main: #334155;
--text-light: #64748b;
--text-muted: #94a3b8;
--border-color: #e2e8f0;
--ad-bg: #f1f5f9;
--ad-border: #cbd5e1;
--radius-lg: 16px;
--radius: 12px;
--radius-sm: 6px;
--radius-full: 9999px;
--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
--shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
--shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
--transition: all 0.3s ease;
--container-width: var(--blognova-container, 1200px);
--font-sys: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
--space-section: clamp(3rem, 6vw, 4.75rem);
--space-block: clamp(1.25rem, 2.4vw, 2rem);
--space-card: clamp(1.1rem, 2vw, 1.5rem);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
font-family: var(--font-sys);
background-color: var(--bg-color);
color: var(--text-main);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
color: var(--primary);
text-decoration: none;
transition: var(--transition);
}
a:hover {
color: var(--primary-hover);
}
.entry-content a:not(.wp-element-button):not(.wp-block-button__link),
.entry-summary a,
.page-content a,
.article-content a,
.about-story-text a,
.post-excerpt a,
.card-excerpt a,
.comment-body a,
.comment-content a,
.widget_text a,
.textwidget a,
.widget_block a {
text-decoration: underline;
text-underline-offset: 0.14em;
text-decoration-thickness: 1.5px;
}
.entry-content a:not(.wp-element-button):not(.wp-block-button__link):hover,
.entry-summary a:hover,
.page-content a:hover,
.article-content a:hover,
.about-story-text a:hover,
.post-excerpt a:hover,
.card-excerpt a:hover,
.comment-body a:hover,
.comment-content a:hover,
.widget_text a:hover,
.textwidget a:hover,
.widget_block a:hover {
text-decoration-thickness: 2px;
}
img {
display: block;
max-width: 100%;
height: auto;
}
.alignleft {
float: left;
margin: 0.4rem 1rem 0.8rem 0;
}
.alignright {
float: right;
margin: 0.4rem 0 0.8rem 1rem;
}
.aligncenter {
display: block;
margin: 0.8rem auto;
}
.wp-caption {
max-width: 100%;
padding: 0.4rem;
border: 1px solid var(--border-color);
background: var(--surface);
border-radius: var(--radius-sm);
}
.wp-caption-text,
.gallery-caption {
font-size: 0.85rem;
color: var(--text-light);
margin: 0.45rem 0 0;
}
.sticky {
outline: 2px dashed rgba(37, 99, 235, 0.35);
outline-offset: 2px;
}
.bypostauthor .comment-author {
font-weight: 700;
}
button,
input,
textarea,
select {
font: inherit;
}
.container {
width: 100%;
max-width: var(--container-width);
margin: 0 auto;
padding: 0 clamp(1rem, 3.2vw, 1.75rem);
}
.skip-link {
position: absolute;
left: -9999px;
top: 0;
z-index: 100000;
}
.skip-link:focus {
left: 1rem;
top: 1rem;
background: #fff;
padding: 0.8rem 1rem;
border-radius: var(--radius-sm);
}
.skip-link.screen-reader-text:focus {
clip: auto !important;
width: auto;
height: auto;
margin: 0;
overflow: visible;
white-space: normal;
}
.screen-reader-text {
position: absolute !important;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.top-bar {
display: none;
background-color: var(--bg-color);
border-bottom: 1px solid var(--border-color);
padding: 0.55rem 0;
font-size: 0.82rem;
color: var(--text-light);
}
.top-bar-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
}
.top-bar-text {
margin: 0;
}
.top-bar-social ul,
.social-menu-top {
display: flex;
align-items: center;
gap: 0.8rem;
list-style: none;
margin: 0;
padding: 0;
}
.social-menu-top a,
.top-bar-social a {
color: var(--text-light);
}
.social-menu-top a:hover,
.top-bar-social a:hover {
color: var(--primary);
}
.site-header {
position: sticky;
top: 0;
z-index: 1000;
background-color: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-bottom: 1px solid var(--border-color);
transition: var(--transition);
}
.admin-bar .site-header {
top: 32px;
}
.site-header.scrolled {
box-shadow: var(--shadow-sm);
}
.header-inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 70px;
gap: 1rem;
position: relative;
}
body.header-layout-compact .header-inner {
height: 64px;
}
.site-branding {
display: flex;
flex-direction: column;
gap: 0.15rem;
min-width: 0;
}
.site-branding .custom-logo {
max-height: 44px;
width: auto;
}
.site-branding .custom-logo-link {
display: inline-flex;
}
.site-logo {
font-size: 1.65rem;
font-weight: 800;
color: var(--accent);
letter-spacing: -0.02em;
line-height: 1;
}
.site-logo span {
color: var(--primary);
}
.site-logo:hover {
color: var(--accent);
}
.site-tagline {
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--text-muted);
margin: 0;
}
.header-builder {
display: flex;
align-items: center;
gap: 1rem;
width: 100%;
flex: 1 1 auto;
min-width: 0;
}
.header-builder-area {
display: flex;
align-items: center;
min-width: 0;
}
.header-builder-cols-2 .header-builder-area-left {
flex: 0 1 auto;
}
.header-builder-cols-2 .header-builder-area-right {
margin-left: auto;
}
.header-builder-cols-3 .header-builder-area-left,
.header-builder-cols-3 .header-builder-area-center,
.header-builder-cols-3 .header-builder-area-right {
flex: 1 1 0;
}
.header-builder-cols-3 .header-builder-area-center {
justify-content: center;
}
.header-builder-cols-3 .header-builder-area-right {
justify-content: flex-end;
}
.header-social {
display: none;
}
.header-social ul,
.header-social .header-social-list {
display: flex;
align-items: center;
gap: 0.7rem;
list-style: none;
margin: 0;
padding: 0;
}
.header-social a {
color: var(--text-main);
font-size: 0.9rem;
}
.header-social a:hover {
color: var(--primary);
}
.main-nav {
display: none;
width: 100%;
}
.main-nav ul,
.main-nav .menu,
.main-nav .nav-list {
list-style: none;
margin: 0;
padding: 0;
}
.main-nav a {
color: var(--text-main);
font-size: 0.95rem;
font-weight: 500;
}
.main-nav li {
position: relative;
}
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a {
color: var(--primary);
}
.main-nav .sub-menu {
display: none;
list-style: none;
margin: 0;
padding: 0 0 0 1rem;
}
.main-nav .menu-item-has-children > a,
.main-nav .page_item_has_children > a {
padding-right: 0.35rem;
}
.main-nav .submenu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.6rem;
height: 1.6rem;
margin-left: 0.15rem;
padding: 0;
border: 0;
border-radius: 4px;
background: transparent;
color: var(--text-muted);
cursor: pointer;
transition: var(--transition);
}
.main-nav .submenu-toggle:hover,
.main-nav .submenu-toggle:focus-visible {
color: var(--primary);
background: rgba(37, 99, 235, 0.1);
}
.main-nav .submenu-toggle-icon {
display: inline-block;
width: 0.48rem;
height: 0.48rem;
margin-top: -1px;
border-right: 1.8px solid currentColor;
border-bottom: 1.8px solid currentColor;
transform: rotate(45deg);
transform-origin: 50% 50%;
}
.main-nav .menu-item-has-children,
.main-nav .page_item_has_children {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.main-nav .menu-item-has-children > a,
.main-nav .page_item_has_children > a {
flex: 1 1 auto;
}
.main-nav .sub-menu .menu-item-has-children > .submenu-toggle .submenu-toggle-icon,
.main-nav .sub-menu .page_item_has_children > .submenu-toggle .submenu-toggle-icon {
transform: rotate(-45deg);
margin-top: 0;
}
.main-nav.mobile-active .menu-item-has-children.submenu-open > .sub-menu,
.main-nav.mobile-active .page_item_has_children.submenu-open > .sub-menu {
display: flex;
flex-direction: column;
gap: 0.75rem;
margin-top: 0.5rem;
width: 100%;
}
.mobile-toggle {
display: inline-flex;
flex-direction: column;
justify-content: center;
background: none;
border: 0;
cursor: pointer;
padding: 0.35rem;
}
.mobile-toggle span {
display: block;
width: 24px;
height: 2px;
background: var(--accent);
margin-bottom: 5px;
transition: var(--transition);
border-radius: 2px;
}
.mobile-toggle span:last-child {
margin-bottom: 0;
}
.main-nav.mobile-active {
display: block;
position: absolute;
top: 74px;
left: 0;
width: 100%;
background-color: var(--surface);
padding: 1.6rem;
border-bottom: 1px solid var(--border-color);
box-shadow: var(--shadow);
}
.admin-bar .main-nav.mobile-active {
top: 106px;
}
@media screen and (max-width: 782px) {
.admin-bar .site-header {
top: 46px;
}
.admin-bar .main-nav.mobile-active {
top: 120px;
}
}
.main-nav.mobile-active > ul,
.main-nav.mobile-active > .menu,
.main-nav.mobile-active .nav-list {
display: flex;
flex-direction: column;
gap: 1rem;
}
.main-nav.mobile-active a {
font-size: 1.05rem;
}
.site-content {
padding-bottom: clamp(2.5rem, 5vw, 3.75rem);
}
.single .site-content {
padding-top: clamp(1.5rem, 3.6vw, 2.5rem);
}
.page-hero,
.archive-hero {
background-color: var(--surface);
border-bottom: 1px solid var(--border-color);
padding: var(--space-section) 0;
text-align: center;
}
.page-hero h1,
.archive-hero h1 {
margin: 0;
font-size: clamp(2rem, 4vw, 2.5rem);
line-height: 1.2;
color: var(--accent);
}
.page-hero .search-term {
color: var(--primary);
}
.page-hero p,
.archive-hero p {
color: var(--text-light);
max-width: 720px;
margin: 1rem auto 0;
font-size: 1.05rem;
}
.breadcrumb {
display: inline-flex;
align-items: center;
gap: 0.5rem;
flex-wrap: wrap;
font-size: 0.86rem;
margin-bottom: 1rem;
color: var(--text-muted);
}
.breadcrumb a {
color: var(--text-light);
}
.breadcrumb a:hover {
color: var(--primary);
}
.breadcrumb .current {
color: var(--primary);
font-weight: 600;
}
.main-content-area {
display: grid;
gap: var(--space-block);
padding: var(--space-section) 0;
}
.single .main-content-area {
padding-top: 0;
}
.layout-grid {
grid-template-columns: minmax(0, 1fr);
}
.post-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--space-block);
}
.post-grid.grid-cols-1,
.post-grid.grid-cols-2,
.post-grid.grid-cols-3 {
grid-template-columns: minmax(0, 1fr);
}
.post-card {
display: flex;
flex-direction: column;
height: 100%;
background: var(--surface);
border: 1px solid rgba(15, 23, 42, 0.08);
border-radius: 14px;
overflow: hidden;
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
transition: var(--transition);
}
.post-card:hover {
transform: translateY(-6px);
border-color: rgba(37, 99, 235, 0.2);
box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}
.post-thumb {
position: relative;
aspect-ratio: 16 / 10;
background-color: #dfe8f6;
border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.post-thumb > a:not(.category-badge) {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.post-thumb > a:not(.category-badge):focus {
outline: none;
}
.post-thumb > a:not(.category-badge):focus-visible {
outline: none;
box-shadow: inset 0 0 0 3px var(--primary), inset 0 0 0 6px #ffffff;
}
.post-thumb > a:not(.category-badge):focus-visible::after {
content: "";
position: absolute;
inset: 10px;
border: 2px solid rgba(255, 255, 255, 0.95);
border-radius: 10px;
pointer-events: none;
}
.post-thumb > a:not(.category-badge):focus-visible img,
.post-thumb > a:not(.category-badge):focus-visible .thumbnail-fallback {
filter: brightness(0.92);
}
.post-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.post-card:hover .post-thumb img {
transform: scale(1.05);
}
.post-card.no-thumb .post-thumb {
background: linear-gradient(140deg, #edf3ff 0%, #dce8fb 100%);
}
.thumbnail-fallback {
position: relative;
isolation: isolate;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
color: var(--text-light);
background: linear-gradient(120deg, #f1f5f9 0%, #dbe8fa 100%);
}
.thumbnail-fallback::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 28% 24%, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0) 45%),
radial-gradient(circle at 78% 68%, rgba(37, 99, 235, 0.1) 0%, rgba(37, 99, 235, 0) 55%);
z-index: -1;
}
.thumbnail-icon {
font-size: 2.25rem;
filter: drop-shadow(0 4px 10px rgba(15, 23, 42, 0.16));
}
.category-badge {
position: absolute;
top: 1rem;
left: 1rem;
display: inline-flex;
align-items: center;
max-width: calc(100% - 2rem);
background: var(--primary);
color: #fff;
padding: 0.38rem 0.78rem;
border-radius: var(--radius-sm);
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
line-height: 1.1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.22);
z-index: 3;
}
.category-badge:hover {
color: #fff;
filter: brightness(0.95);
}
.category-badge:focus {
outline: none;
}
.category-badge:focus-visible {
outline: 2px solid #fff;
outline-offset: 1px;
box-shadow: 0 0 0 3px var(--primary), 0 10px 24px rgba(15, 23, 42, 0.24);
}
.category-badge.badge-default {
background-color: var(--primary);
}
.category-badge.badge-seo {
background-color: #2563eb;
}
.category-badge.badge-money {
background-color: #059669;
}
.category-badge.badge-travel {
background-color: #0ea5e9;
}
.category-badge.badge-tech {
background-color: #0f172a;
}
.category-badge.badge-lifestyle {
background-color: #16a34a;
}
.category-badge.badge-review {
background-color: #db2777;
}
.category-badge.badge-tips {
background-color: #ea580c;
}
.post-content {
padding: clamp(1rem, 1.9vw, 1.3rem);
display: flex;
flex-direction: column;
flex-grow: 1;
gap: 0.45rem;
}
.post-meta {
display: flex;
align-items: center;
gap: 0.6rem;
flex-wrap: wrap;
font-size: 0.83rem;
color: var(--text-light);
margin-bottom: 0.2rem;
}
.post-meta span {
display: inline-flex;
align-items: center;
gap: 0.25rem;
font-weight: 500;
}
.post-meta span + span {
position: relative;
padding-left: 0.65rem;
}
.post-meta span + span::before {
content: "";
position: absolute;
top: 50%;
left: 0.1rem;
width: 4px;
height: 4px;
border-radius: 50%;
background: #c7d2e0;
transform: translateY(-50%);
}
.post-title {
margin: 0.15rem 0 0;
font-size: clamp(1.25rem, 1.45vw, 1.55rem);
line-height: 1.35;
letter-spacing: -0.01em;
}
.post-title a {
color: var(--accent);
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.post-title a:hover {
color: var(--primary);
}
.post-excerpt {
margin: 0.3rem 0 1.05rem;
color: var(--text-light);
font-size: 0.95rem;
line-height: 1.72;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.read-more {
margin-top: auto;
font-size: 0.88rem;
font-weight: 700;
display: inline-flex;
align-items: center;
gap: 0.3rem;
letter-spacing: 0.01em;
}
.read-more::after {
content: "→";
transition: transform 0.2s;
}
.read-more:hover::after {
transform: translateX(4px);
}
.post-card-search .post-title,
.post-card-archive .post-title,
.post-card-category .post-title,
.post-card-blog .post-title {
font-size: clamp(1.32rem, 1.35vw, 1.65rem);
}
@media (max-width: 1024px) {
.post-card-search .post-title,
.post-card-archive .post-title,
.post-card-category .post-title,
.post-card-blog .post-title {
font-size: clamp(1.16rem, 2.2vw, 1.38rem);
}
}
.post-title mark.highlight,
.post-excerpt mark.highlight {
background: #fef08a;
color: inherit;
padding: 0 0.2em;
border-radius: 2px;
}
.sidebar {
display: grid;
gap: 0;
}
.post-listing.is-loading,
.archive-listing.is-loading,
.results-listing.is-loading {
opacity: 0.5;
pointer-events: none;
transition: opacity 0.2s ease;
}
.listing-status-notice {
margin-top: 1rem;
padding: 0.8rem 1rem;
border-radius: var(--radius-sm);
border: 1px solid transparent;
font-size: 0.9rem;
}
.listing-status-notice.is-error {
background: #fef2f2;
border-color: #fecaca;
color: #991b1b;
}
.listing-status-notice.is-success {
background: #ecfdf5;
border-color: #a7f3d0;
color: #065f46;
}
.sidebar-widget,
.sidebar .widget {
background: var(--surface);
border: 1px solid rgba(0, 0, 0, 0.03);
border-radius: var(--radius);
padding: clamp(1.15rem, 2vw, 1.5rem);
margin-bottom: var(--space-block);
box-shadow: var(--shadow);
}
.widget-title,
.sidebar-widget .widget-title {
font-size: 1.125rem;
font-weight: 700;
margin: 0 0 1.25rem;
color: var(--accent);
padding-bottom: 0.75rem;
border-bottom: 2px solid var(--primary-light);
position: relative;
}
.widget-title::after,
.sidebar-widget .widget-title::after {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: 40px;
height: 2px;
background-color: var(--primary);
}
.search-form {
display: flex;
gap: 0;
}
.search-form label {
display: none;
}
.search-form input[type="search"],
.search-form .search-field,
.search-input,
.inline-search-input,
.error-search-input {
width: 100%;
padding: 0.75rem 1rem;
border: 1px solid var(--border-color);
border-radius: var(--radius-sm) 0 0 var(--radius-sm);
background: #fff;
}
.search-form input[type="submit"],
.search-form .search-submit,
.search-btn,
.inline-search-btn,
.error-search-btn,
.btn-primary,
.cta-btn {
display: inline-flex;
align-items: center;
justify-content: center;
border: 0;
background: var(--primary);
color: #fff;
padding: 0 1.25rem;
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
font-weight: 600;
cursor: pointer;
}
.inline-search-form {
display: flex;
width: 100%;
margin-bottom: 1.75rem;
}
.inline-search-form .inline-search-input {
border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}
.inline-search-form .inline-search-btn {
min-width: 96px;
}
.newsletter-form input,
.comment-form input,
.comment-form textarea,
.comment-form select {
width: 100%;
padding: 0.75rem 1rem;
border: 1px solid var(--border-color);
border-radius: var(--radius-sm);
background: #fff;
}
.newsletter-form button,
.comment-form input[type="submit"] {
display: inline-flex;
align-items: center;
justify-content: center;
border: 0;
background: var(--accent);
color: #fff;
padding: 0.75rem 1rem;
border-radius: var(--radius-sm);
font-weight: 600;
cursor: pointer;
}
.btn-outline {
display: inline-flex;
align-items: center;
justify-content: center;
border: 1px solid var(--border-color);
background: transparent;
color: var(--accent);
padding: 0.66rem 1rem;
border-radius: var(--radius-sm);
font-weight: 600;
}
.btn-full {
width: 100%;
}
.search-form input[type="submit"]:hover,
.search-form .search-submit:hover,
.inline-search-btn:hover,
.error-search-btn:hover,
.btn-primary:hover,
.cta-btn:hover {
background: var(--primary-hover);
color: #fff;
}
.newsletter-form button:hover,
.comment-form input[type="submit"]:hover {
background: var(--primary);
color: #fff;
}
.cat-list,
.widget ul {
list-style: none;
margin: 0;
padding: 0;
}
.cat-list li,
.widget li {
margin-bottom: 0.7rem;
}
.cat-list li:last-child {
margin-bottom: 0;
}
.cat-list a {
display: flex;
justify-content: space-between;
align-items: center;
color: var(--text-main);
padding-bottom: 0.5rem;
border-bottom: 1px dashed var(--border-color);
}
.cat-list a:hover {
color: var(--primary);
}
.cat-list a.is-active {
color: var(--primary);
font-weight: 600;
}
.cat-count {
font-size: 0.85rem;
color: var(--text-muted);
background: var(--bg-color);
padding: 0.1rem 0.5rem;
border-radius: 12px;
}
.recent-post-item {
display: flex;
gap: 0.85rem;
margin-bottom: 0.85rem;
padding-bottom: 0.85rem;
border-bottom: 1px solid var(--border-color);
}
.recent-post-item:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: 0;
}
.recent-thumb {
width: 60px;
height: 60px;
border-radius: var(--radius-sm);
object-fit: cover;
}
.recent-content h4 {
font-size: 0.95rem;
margin: 0 0 0.25rem;
line-height: 1.35;
}
.recent-content h4 a {
color: var(--accent);
}
.recent-date {
font-size: 0.8rem;
color: var(--text-muted);
}
.blognova-ad {
margin-bottom: 1rem;
}
.sidebar .blognova-ad,
.sidebar-widget .blognova-ad {
margin-bottom: 0;
}
.blognova-ad .widget,
.blognova-ad-placeholder {
background: var(--bg-color);
border: 2px dashed var(--border-color);
color: var(--text-muted);
border-radius: var(--radius-sm);
min-height: 250px;
padding: 1rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
font-size: 0.84rem;
font-weight: 600;
}
.sidebar .blognova-ad-placeholder::before {
content: "🖥️";
font-size: 2rem;
line-height: 1;
margin-bottom: 0.5rem;
}
.pagination {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: 0.5rem;
margin-top: clamp(2rem, 4vw, 2.75rem);
padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
border-top: 1px solid var(--border-color);
}
.pagination ul {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.45rem;
list-style: none;
margin: 0;
padding: 0;
}
.pagination .page-numbers,
.pagination a,
.pagination span {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.45rem 0.8rem;
border: 1px solid var(--border-color);
border-radius: var(--radius-sm);
background: #fff;
color: var(--text-main);
font-size: 0.92rem;
font-weight: 600;
}
.pagination .current {
background: var(--primary);
border-color: var(--primary);
color: #fff;
}
.pagination .dots {
border: 0;
background: transparent;
}
.pagination .prev,
.pagination .next {
padding: 0.45rem 1rem;
}
.pagination .page-numbers:not(.prev):not(.next):not(.dots) {
width: 40px;
height: 40px;
padding: 0;
}
.archive-listing.load-more-ready .archive-pagination {
display: none;
}
.archive-load-more-wrap {
display: flex;
justify-content: center;
margin-top: 1.25rem;
}
.archive-load-more-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 220px;
padding: 0.78rem 1.35rem;
border-radius: var(--radius-sm);
border: 1px solid var(--border-color);
background: #fff;
color: var(--accent);
font-weight: 700;
font-size: 0.92rem;
}
.archive-load-more-btn:hover {
background: var(--primary);
border-color: var(--primary);
color: #fff;
}
.archive-load-more-btn.is-loading {
pointer-events: none;
opacity: 0.7;
}
.archive-search-form .search-btn {
min-width: 48px;
padding: 0;
}
.archive-search-form .search-btn svg {
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}
.cta-section.archive-cta-section {
margin-top: 1.2rem;
background: #eaf0fb;
border-top: 1px solid var(--border-color);
color: var(--text-main);
padding: 4rem 0;
}
.cta-section.archive-cta-section h2 {
color: var(--accent);
font-size: clamp(2rem, 4vw, 2.8rem);
}
.cta-section.archive-cta-section p {
color: var(--text-main);
max-width: 780px;
margin: 0.8rem auto 1.45rem;
}
.cta-section.archive-cta-section .btn-primary {
background: var(--primary);
color: #fff;
border-radius: var(--radius-sm);
padding: 0.75rem 1.4rem;
box-shadow: none;
}
.cta-section.archive-cta-section .btn-primary:hover {
background: var(--primary-hover);
color: #fff;
transform: none;
box-shadow: none;
}
.cta-strip,
.cta-section {
margin-top: clamp(1.5rem, 3vw, 2.25rem);
background-color: var(--primary);
color: #fff;
text-align: center;
padding: clamp(2.75rem, 6vw, 4rem) 0;
}
.cta-strip h2,
.cta-section h2 {
margin: 0;
font-size: clamp(1.5rem, 3vw, 2.1rem);
color: #fff;
}
.cta-strip p,
.cta-section p {
max-width: 680px;
margin: 0.8rem auto 1.4rem;
color: var(--primary-light);
}
.cta-btn,
.cta-section .btn-primary {
background: #fff;
color: var(--primary);
border-radius: 30px;
padding: 0.75rem 1.5rem;
font-weight: 700;
box-shadow: var(--shadow-sm);
}
.cta-btn:hover,
.cta-section .btn-primary:hover {
background-color: var(--bg-color);
color: var(--accent);
transform: translateY(-2px);
box-shadow: var(--shadow);
}
.single-post-container,
.page-container {
background: var(--surface);
border: 1px solid var(--border-color);
border-radius: var(--radius);
padding: clamp(1rem, 2vw, 1.45rem);
box-shadow: var(--shadow-sm);
}
.single-post-shell {
position: relative;
overflow: hidden;
border-radius: 16px;
border-color: rgba(15, 23, 42, 0.12);
box-shadow: 0 14px 28px rgba(15, 23, 42, 0.09);
padding: clamp(1.15rem, 2.2vw, 1.7rem);
}
.single-post-shell::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 140px;
background: linear-gradient(180deg, rgba(37, 99, 235, 0.13) 0%, rgba(37, 99, 235, 0) 100%);
pointer-events: none;
}
.single-post-shell > * {
position: relative;
z-index: 1;
max-width: 100%;
}
.post-breadcrumb {
font-size: 0.8rem;
gap: 0.4rem;
margin-bottom: 1.15rem;
}
.post-breadcrumb .current {
font-weight: 700;
}
.entry-header {
padding-bottom: 1.25rem;
border-bottom: 1px dashed rgba(15, 23, 42, 0.14);
}
.post-category-pill {
display: inline-flex;
align-items: center;
margin-bottom: 0.85rem;
padding: 0.3rem 0.7rem;
border-radius: var(--radius-full);
background: var(--primary);
color: #fff;
font-size: 0.74rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
box-shadow: 0 6px 14px rgba(37, 99, 235, 0.24);
}
.post-category-pill:hover {
color: #fff;
background: var(--primary-hover);
}
.post-header h1 {
margin: 0;
font-size: clamp(2rem, 4.1vw, 3.05rem);
line-height: 1.18;
letter-spacing: -0.02em;
color: #0b1c36;
max-width: 18ch;
}
.post-meta-large {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
gap: 0.55rem;
margin-top: 0.95rem;
font-size: 0.82rem;
color: var(--text-muted);
}
.post-meta-large .meta-author,
.post-meta-large .meta-item {
display: inline-flex;
align-items: center;
gap: 0.32rem;
padding: 0.32rem 0.62rem;
background: #fff;
border: 1px solid rgba(15, 23, 42, 0.14);
border-radius: var(--radius-full);
line-height: 1;
color: #33445f;
}
.meta-author a {
font-weight: 700;
color: #1b2e4a;
}
.meta-author::before {
content: "✍";
font-size: 0.68rem;
color: var(--primary);
}
.post-meta-large .meta-date::before {
content: "📅";
font-size: 0.7rem;
}
.post-meta-large .meta-comments::before {
content: "💬";
font-size: 0.7rem;
}
.post-meta-large .meta-read-time::before {
content: "⏱";
font-size: 0.7rem;
}
.featured-image {
margin: 1.7rem auto 1.45rem;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12);
border: 1px solid rgba(15, 23, 42, 0.12);
}
.single-post-shell .blognova-ad-below-title,
.single-post-shell .blognova-ad-in-content {
max-width: 72ch;
margin: 1.35rem auto;
}
.single-post-shell .blognova-ad-below-title .blognova-ad-placeholder {
min-height: 140px;
}
.single-post-shell .blognova-ad-in-content .blognova-ad-placeholder {
min-height: 200px;
}
.article-content {
max-width: 72ch;
margin-inline: auto;
font-size: clamp(1.03rem, 1.45vw, 1.14rem);
line-height: 1.9;
color: #1f2f48;
}
.article-content > :first-child {
margin-top: 0;
}
.article-content h2,
.article-content h3,
.article-content h4 {
margin-top: 1.55em;
margin-bottom: 0.58em;
line-height: 1.28;
letter-spacing: -0.01em;
color: #0d213f;
}
.article-content h2 {
font-size: clamp(1.55rem, 3vw, 2rem);
}
.article-content h3 {
font-size: clamp(1.3rem, 2.4vw, 1.65rem);
}
.article-content h4 {
font-size: clamp(1.1rem, 2vw, 1.28rem);
}
.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote {
margin-bottom: 1.1em;
}
.article-content blockquote {
margin-left: 0;
padding: 1.05rem 1.2rem;
border-left: 5px solid var(--primary);
background: #edf4ff;
border-radius: 0 10px 10px 0;
font-size: 1rem;
color: #223654;
}
.article-content ul,
.article-content ol {
padding-left: 1.1rem;
}
.article-content ul {
list-style: disc;
}
.article-content ol {
list-style: decimal;
}
.article-content li {
margin-bottom: 0.35rem;
}
.post-footer {
max-width: 72ch;
margin-inline: auto;
padding-top: 1.25rem;
margin-top: 1.6rem;
border-top: 1px solid rgba(15, 23, 42, 0.14);
}
.post-tags {
display: flex;
flex-wrap: wrap;
gap: 0.45rem;
}
.tag-pill {
display: inline-flex;
padding: 0.35rem 0.7rem;
border: 1px solid rgba(15, 23, 42, 0.14);
border-radius: var(--radius-full);
font-size: 0.82rem;
color: #4a5d7e;
}
.tag-pill:hover {
border-color: var(--primary);
color: var(--primary);
}
.author-box {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
gap: 1.15rem;
max-width: 72ch;
margin-inline: auto;
background: linear-gradient(180deg, #f4f9ff 0%, #eef5ff 100%);
border: 1px solid rgba(37, 99, 235, 0.24);
border-radius: var(--radius);
padding: 1.25rem 1.35rem;
margin-top: 2rem;
margin-bottom: 0;
}
.author-box .author-avatar {
width: 84px;
height: 84px;
border-radius: 50%;
border: 3px solid #fff;
box-shadow: var(--shadow-sm);
}
.author-info h3 {
margin: 0 0 0.3rem;
font-size: 1.18rem;
}
.author-info p {
margin: 0 0 0.65rem;
color: var(--text-light);
font-size: 0.94rem;
}
.author-link {
font-weight: 600;
}
.related-posts-section,
.comments-area {
margin-top: 2.15rem;
padding-top: 1.25rem;
border-top: 1px solid rgba(15, 23, 42, 0.14);
}
.section-title,
.related-posts-section .section-title,
.comments-area .comments-title {
font-size: 1.25rem;
margin: 0 0 1.2rem;
color: #0d213f;
}
.related-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 1.1rem;
margin-top: 0.4rem;
}
.related-card {
background: #fff;
border: 1px solid rgba(15, 23, 42, 0.12);
border-radius: var(--radius);
overflow: hidden;
transition: box-shadow 0.22s ease, transform 0.22s ease;
}
.related-card:hover {
transform: translateY(-3px);
box-shadow: 0 12px 22px rgba(15, 23, 42, 0.14);
border-color: rgba(37, 99, 235, 0.35);
}
.related-thumb {
aspect-ratio: 16 / 10;
background: #ecf2fc;
}
.related-thumb > a,
.related-card-thumb {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.related-thumb > a:focus,
.related-card-thumb:focus {
outline: none;
}
.related-thumb > a:focus-visible,
.related-card-thumb:focus-visible {
outline: none;
box-shadow: inset 0 0 0 3px var(--primary), inset 0 0 0 6px #ffffff;
}
.related-thumb > a:focus-visible::after,
.related-card-thumb:focus-visible::after {
content: "";
position: absolute;
inset: 8px;
border: 2px solid rgba(255, 255, 255, 0.95);
border-radius: 8px;
pointer-events: none;
}
.related-thumb img,
.related-thumb .thumbnail-fallback {
width: 100%;
height: 100%;
object-fit: cover;
}
.related-content {
padding: 0.95rem;
}
.related-content h4 {
margin: 0 0 0.38rem;
font-size: 1rem;
line-height: 1.35;
}
.related-content h4 a {
color: var(--accent);
}
.related-content h4 a:hover {
color: var(--primary);
}
.related-excerpt {
margin: 0 0 0.5rem;
font-size: 0.88rem;
line-height: 1.55;
color: var(--text-light);
}
.related-date {
font-size: 0.8rem;
color: var(--text-muted);
}
#comments.comments-area {
background: #fbfdff;
border: 1px solid rgba(15, 23, 42, 0.14);
border-radius: var(--radius);
padding: 1.25rem;
}
#comments.comments-area .comment-list {
list-style: none;
margin: 0;
padding: 0;
}
#comments.comments-area .comment {
border-bottom: 1px solid var(--border-color);
padding: 1.05rem 0;
}
#comments.comments-area .comment:last-child {
border-bottom: 0;
}
#comments.comments-area .comment-navigation,
#comments.comments-area .comments-pagination {
margin: 1rem 0;
}
#comments.comments-area .comment-form {
display: grid;
gap: 0.7rem;
margin-top: 0.7rem;
}
#comments.comments-area .comment-form textarea {
min-height: 160px;
}
#comments.comments-area .comment-form .form-submit {
margin-top: 0.35rem;
}
#comments.comments-area .comment-form .submit {
width: 100%;
max-width: none;
border-radius: var(--radius-sm);
padding: 0.78rem 1rem;
}
#comments.comments-area .comment-metadata {
font-size: 0.82rem;
color: var(--text-muted);
}
#comments.comments-area .comment-content {
color: var(--text-main);
}
@media (max-width: 640px) {
.post-header h1 {
max-width: none;
}
.post-meta-large .meta-author,
.post-meta-large .meta-item {
font-size: 0.78rem;
padding: 0.28rem 0.55rem;
}
.article-content,
.post-footer,
.author-box {
max-width: none;
}
}
.error-hero {
text-align: center;
padding: 3rem 0 2rem;
}
.error-visual {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 1rem;
}
.error-code {
font-size: clamp(3.2rem, 10vw, 6rem);
font-weight: 800;
color: var(--accent);
line-height: 1;
}
.shape {
position: absolute;
border-radius: 50%;
background: rgba(37, 99, 235, 0.15);
}
.shape-1 {
width: 42px;
height: 42px;
left: -22px;
top: -8px;
}
.shape-2 {
width: 28px;
height: 28px;
right: -10px;
bottom: 4px;
}
.error-title {
font-size: clamp(1.7rem, 4vw, 2.4rem);
margin: 0;
}
.error-message {
max-width: 640px;
margin: 0.8rem auto 1.2rem;
color: var(--text-light);
}
.error-search-form {
display: flex;
gap: 0.5rem;
justify-content: center;
max-width: 520px;
margin: 0 auto 1rem;
}
.error-actions {
display: flex;
gap: 0.8rem;
justify-content: center;
flex-wrap: wrap;
}
.helpful-links-section {
padding-bottom: 2.5rem;
}
.helpful-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 1rem;
}
.helpful-card {
background: var(--surface);
border: 1px solid var(--border-color);
border-radius: var(--radius);
padding: 1rem;
}
.helpful-card h3 {
margin: 0 0 0.7rem;
font-size: 1.05rem;
}
.helpful-list {
list-style: none;
margin: 0;
padding: 0;
}
.helpful-list li {
margin-bottom: 0.6rem;
}
.helpful-list li:last-child {
margin-bottom: 0;
}
.helpful-text {
margin: 0 0 0.9rem;
color: var(--text-light);
}
.site-footer {
background-color: var(--accent);
color: #fff;
padding: clamp(3rem, 7vw, 4.75rem) 0 0;
}
.footer-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: clamp(1.5rem, 3vw, 2.5rem);
}
.footer-logo {
font-size: 1.7rem;
font-weight: 800;
color: #fff;
display: inline-block;
line-height: 1;
margin-bottom: 0.8rem;
}
.footer-logo span {
color: var(--primary);
}
.footer-about p {
margin: 0 0 1.5rem;
line-height: 1.7;
color: var(--text-muted);
}
.footer-title {
font-size: 1.08rem;
color: #fff;
margin: 0 0 1rem;
}
.footer-links ul {
list-style: none;
margin: 0;
padding: 0;
}
.footer-links li {
margin-bottom: 0.65rem;
}
.footer-links a {
color: #94a3b8;
}
.footer-links a:hover {
color: #fff;
}
.site-footer .newsletter-widget p {
margin: 0 0 0.8rem;
color: #94a3b8;
}
.site-footer .newsletter-form {
display: grid;
gap: 0.6rem;
}
.site-footer .newsletter-form input {
background: rgba(255, 255, 255, 0.06);
color: #fff;
border-color: rgba(255, 255, 255, 0.15);
}
.site-footer .newsletter-form input::placeholder {
color: #c7d2e5;
}
.footer-bottom {
margin-top: 0;
padding: 1.2rem 0;
background-color: #0b1120;
text-align: center;
font-size: 0.85rem;
color: var(--text-muted);
}
.footer-bottom p {
margin: 0;
}
.footer-bottom a {
color: #d6e4fa;
}
:focus-visible {
outline: 2px solid var(--primary);
outline-offset: 2px;
}
@media (min-width: 768px) {
.container {
padding: 0 clamp(1.5rem, 4vw, 2.4rem);
}
.header-social {
display: flex;
}
.main-nav {
display: block;
width: auto;
}
.main-nav > .menu,
.main-nav > ul,
.main-nav > .nav-list {
display: flex;
align-items: center;
gap: 1.6rem;
}
.main-nav .menu-item-has-children,
.main-nav .page_item_has_children {
align-items: center;
}
.main-nav .submenu-toggle {
display: none;
}
.main-nav .menu-item-has-children > a,
.main-nav .page_item_has_children > a {
display: inline-flex;
align-items: center;
gap: 0.35rem;
}
.main-nav .menu-item-has-children > a::after,
.main-nav .page_item_has_children > a::after {
content: "";
display: inline-block;
width: 0.42rem;
height: 0.42rem;
border-right: 1.8px solid currentColor;
border-bottom: 1.8px solid currentColor;
margin-top: -1px;
transform: rotate(45deg);
transform-origin: 50% 50%;
opacity: 0.7;
}
.main-nav .sub-menu .menu-item-has-children > a::after,
.main-nav .sub-menu .page_item_has_children > a::after {
transform: rotate(-45deg);
margin-top: 0;
}
.main-nav .sub-menu {
position: absolute;
top: 100%;
left: 0;
display: block;
min-width: 220px;
padding: 0.65rem;
border: 1px solid var(--border-color);
border-radius: 10px;
background-color: var(--surface);
box-shadow: var(--shadow);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.18s ease, visibility 0.18s ease;
z-index: 1200;
}
.main-nav .sub-menu li {
margin: 0;
width: 100%;
}
.main-nav .sub-menu a {
display: block;
padding: 0.45rem 0.6rem;
border-radius: 8px;
font-size: 0.9rem;
}
.main-nav .menu-item-has-children:hover > .sub-menu,
.main-nav .menu-item-has-children:focus-within > .sub-menu,
.main-nav .menu-item-has-children.submenu-open > .sub-menu,
.main-nav .page_item_has_children:hover > .sub-menu,
.main-nav .page_item_has_children:focus-within > .sub-menu,
.main-nav .page_item_has_children.submenu-open > .sub-menu {
opacity: 1;
visibility: visible;
pointer-events: auto;
}
.main-nav .menu-item-has-children:hover > a::after,
.main-nav .menu-item-has-children:focus-within > a::after,
.main-nav .menu-item-has-children.submenu-open > a::after,
.main-nav .page_item_has_children:hover > a::after,
.main-nav .page_item_has_children:focus-within > a::after,
.main-nav .page_item_has_children.submenu-open > a::after,
.main-nav .sub-menu .menu-item-has-children:hover > a::after,
.main-nav .sub-menu .menu-item-has-children:focus-within > a::after,
.main-nav .sub-menu .menu-item-has-children.submenu-open > a::after,
.main-nav .sub-menu .page_item_has_children:hover > a::after,
.main-nav .sub-menu .page_item_has_children:focus-within > a::after,
.main-nav .sub-menu .page_item_has_children.submenu-open > a::after {
opacity: 1;
}
.main-nav .sub-menu .menu-item-has-children > .sub-menu,
.main-nav .sub-menu .page_item_has_children > .sub-menu {
top: 0;
left: 100%;
}
.mobile-toggle {
display: none;
}
body.sidebar-left .layout-grid {
direction: rtl;
}
body.sidebar-left .layout-grid > * {
direction: ltr;
}
body.sidebar-none .layout-grid {
grid-template-columns: minmax(0, 1fr);
}
.post-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.post-grid.grid-cols-1 {
grid-template-columns: minmax(0, 1fr);
}
.post-grid.grid-cols-2,
.post-grid.grid-cols-3 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.related-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.single .related-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
#comments.comments-area {
padding: 1.4rem;
}
.helpful-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.footer-grid.footer-grid-cols-2 {
grid-template-columns: 2fr 1fr;
gap: 3rem;
}
.footer-grid.footer-grid-cols-3 {
grid-template-columns: 2fr 1fr 1fr;
gap: 3rem;
}
.footer-grid.footer-grid-cols-4 {
grid-template-columns: 2fr 1fr 1fr 1.5fr;
gap: 3rem;
}
}
@media screen and (max-width: 782px) {
.admin-bar .site-header {
top: 46px;
}
.admin-bar .main-nav.mobile-active {
top: 120px;
}
}
@media (min-width: 900px) {
.post-grid.grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1.7rem;
}
}
@media (min-width: 992px) {
.layout-grid {
grid-template-columns: 2fr 1fr;
gap: 2.6rem;
}
.single .layout-grid {
grid-template-columns: minmax(0, 2.15fr) minmax(280px, 1fr);
gap: 2.35rem;
}
.blognova-has-sticky-sidebar .layout-grid > .sidebar {
position: sticky;
top: 94px;
align-self: start;
height: max-content;
}
.admin-bar.blognova-has-sticky-sidebar .layout-grid > .sidebar {
top: 126px;
}
}
@media (min-width: 1240px) {
.single .related-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 640px) {
.author-box {
grid-template-columns: 1fr;
align-items: start;
}
.author-box .author-avatar {
width: 78px;
height: 78px;
}
}