/* ==========================================================================
   HighwayCore Elementor — theme styles for pages NOT built with Elementor
   (blog, posts, service pages, archives, search, 404) + full-width header/footer.
   The design system and widget styles live in core/assets/css.
   ========================================================================== */

html { scroll-behavior: smooth; }
body { margin: 0; }
.site-main { display: block; }
.entry-meta { color: var(--muted, #6b7789); font-size: .875rem; }
.entry-thumb img { border-radius: 20px; margin: 0 0 28px; width: 100%; height: auto; }
.comments-area, #comments { margin-top: 56px; }
.comment-list { list-style: none; padding: 0; }
.comment-form input:not([type=submit]):not([type=checkbox]), .comment-form textarea { width: 100%; padding: 12px 16px; border-radius: 12px; border: 1.5px solid var(--line, #e3e8ef); font: inherit; }
.comment-form .submit { padding: 14px 28px; border-radius: 999px; border: 0; background: var(--accent, #ff6b1a); color: #fff; font-weight: 600; cursor: pointer; }
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border-radius: 12px; border: 1px solid var(--line, #e3e8ef); color: var(--ink, #0b1220); }
.pagination .page-numbers.current, .pagination a.page-numbers:hover { background: var(--accent, #ff6b1a); border-color: var(--accent, #ff6b1a); color: #fff; }
/* Full-width header & footer: undo Hello Elementor's 1140px limit on .site-header / .site-footer. */
body .site-header:not(.dynamic-header),
body .site-footer:not(.dynamic-footer) {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
body .site-header:not(.dynamic-header) { position: fixed; inset: 0 0 auto; }
.admin-bar .site-header:not(.dynamic-header) { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .site-header:not(.dynamic-header) { top: 46px; }
}
.single-elementor_library .site-header:not(.dynamic-header) { position: relative; top: 0; }

/* Hello templates: readable container below the solid header. */
.header-solid main.site-main,
.header-solid #content.site-main {
	max-width: calc(900px + var(--gutter, 24px) * 2);
	margin-inline: auto;
	padding: calc(var(--header-h, 84px) + 42px + 56px) var(--gutter, 24px) 96px;
}
.header-solid .page-header { margin-bottom: 36px; }
.header-solid .page-header .entry-title,
.header-solid .page-header h1 {
	font-size: clamp(2rem, 4.5vw, 3.4rem);
	color: var(--ink, #0b1220);
}
.header-solid .page-content { font-size: 1.0625rem; }
.header-solid .page-content > * + * { margin-top: 1.2em; }
.header-solid .page-content a { color: var(--accent-600, #ea580c); text-decoration: underline; text-underline-offset: 3px; }
.header-solid .page-content img { border-radius: 18px; }
.header-solid .page-content ul { list-style: disc; padding-left: 1.4em; }
.header-solid .page-content ol { list-style: decimal; padding-left: 1.4em; }

/* Blog / archive lists */
.header-solid .site-main article.post,
.header-solid .site-main article.hc_service {
	padding: 28px; margin-bottom: 22px; border-radius: 22px; background: #fff; border: 1px solid var(--line, #e3e8ef);
	transition: box-shadow .4s, transform .4s;
}
.header-solid .site-main article.post:hover,
.header-solid .site-main article.hc_service:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(10, 22, 40, .28); }
.header-solid .site-main .entry-title a { color: var(--ink, #0b1220); }
.header-solid .site-main .entry-title a:hover { color: var(--accent, #ff6b1a); }
.header-solid .pagination { display: flex; justify-content: space-between; margin-top: 32px; }

/* Elementor Full-Width pages already start with a dark banner/hero. */
.elementor-page:not(.header-solid) .site-main { padding: 0; }

@media (max-width: 767px) {
	.header-solid main.site-main,
	.header-solid #content.site-main { padding-top: calc(var(--header-h, 76px) + 40px); }
}
