/*
Theme Name: CoreLite Blog
Theme URI: https://anonymousolix.github.io/corelite-themes/corelite-blog/
Description: A clean one-column blog theme designed for readable posts and simple personal publishing.
Version: 1.0.1
Author: CoreLite Themes
Author URI: https://anonymousolix.github.io/corelite-themes/
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: corelite-blog
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Tags: blog, one-column, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* Copyright (C) 2026 CoreLite Themes */


/* =========================================================
   EBOTWEB.COM
   BLUE + WHITE + SHADCN-INSPIRED CORE
   ========================================================= */

:root {

	/* Brand */
	--clt-blog-blue: #2563eb;
	--clt-blog-blue-hover: #1d4ed8;
	--clt-blog-blue-active: #1e40af;
	--clt-blog-blue-soft: #eff6ff;

	/* Core shadcn-style neutrals */
	--clt-blog-bg: #ffffff;
	--clt-blog-surface: #ffffff;
	--clt-blog-surface-muted: #f8fafc;

	--clt-blog-heading: #0f172a;
	--clt-blog-text: #1e293b;
	--clt-blog-muted: #64748b;

	--clt-blog-border: #e2e8f0;
	--clt-blog-border-strong: #cbd5e1;

	--clt-blog-link: #2563eb;

	/* Layout */
	--clt-blog-width: 46rem;
	--clt-blog-wide: 76rem;

	/* Radius */
	--clt-radius-sm: 0.375rem;
	--clt-radius: 0.5rem;
	--clt-radius-md: 0.625rem;
	--clt-radius-lg: 0.75rem;

	/* Shadow */
	--clt-shadow-xs:
		0 1px 2px rgba(15, 23, 42, 0.04);

	--clt-shadow-sm:
		0 1px 2px rgba(15, 23, 42, 0.05),
		0 1px 3px rgba(15, 23, 42, 0.06);

	--clt-shadow-md:
		0 4px 12px rgba(15, 23, 42, 0.08);

	/* Focus */
	--clt-focus:
		0 0 0 3px rgba(37, 99, 235, 0.14);
}


/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	background: #ffffff;
}

body {
	margin: 0;

	background: #ffffff;

	color: var(--clt-blog-text);

	font-family:
		Inter,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	font-size: 1rem;
	line-height: 1.7;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* Remove custom theme background */

body.custom-background {
	background-color: #ffffff !important;
	background-image: none !important;
}


/* =========================================================
   GLOBAL TYPE
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--clt-blog-heading);

	font-family: inherit;
	font-weight: 700;

	letter-spacing: -0.025em;
}

p,
li,
span,
label,
button,
input,
textarea,
select {
	font-family: inherit;
}


/* =========================================================
   LINKS
   ========================================================= */

a {
	color: var(--clt-blog-link);

	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;

	transition:
		color 0.15s ease,
		background-color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}

a:hover,
a:focus {
	color: var(--clt-blog-blue-hover);
}


/* =========================================================
   MEDIA
   ========================================================= */

img {
	display: block;

	max-width: 100%;
	height: auto;

	border-radius: var(--clt-radius);
}

figure {
	margin: 0;
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.screen-reader-text {
	position: absolute;

	width: 1px;
	height: 1px;

	padding: 0;
	margin: -1px;

	overflow: hidden;

	clip: rect(0, 0, 0, 0);

	white-space: nowrap;

	border: 0;
}

.screen-reader-text:focus {
	top: 1rem;
	left: 1rem;
	z-index: 100000;

	width: auto;
	height: auto;

	padding: 0.75rem 1rem;
	margin: 0;

	clip: auto !important;

	background: var(--clt-blog-blue);
	color: #ffffff;

	border-radius: var(--clt-radius);

	box-shadow: var(--clt-shadow-md);
}


/* =========================================================
   LAYOUT
   ========================================================= */

.site-header,
.site-main,
.site-footer {
	width: min(100% - 2rem, var(--clt-blog-width));
	margin-left: auto;
	margin-right: auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
	padding: 2rem 0 1.25rem;

	background: #ffffff;
}

.site-branding {
	text-align: center;
}

.site-identity {
	background: transparent;
}

.custom-logo {
	margin: 0 auto 1rem;
}

.site-title {
	margin: 0;

	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.08;

	letter-spacing: -0.04em;
}

.site-title a {
	color: var(--clt-blog-heading);

	text-decoration: none;
}

.site-title a:hover,
.site-title a:focus {
	color: var(--clt-blog-blue);
}

.site-description {
	max-width: 32rem;

	margin: 0.75rem auto 0;

	color: var(--clt-blog-muted);

	font-size: 0.95rem;
	line-height: 1.6;
}


/* =========================================================
   PRIMARY NAVIGATION
   ========================================================= */

.primary-navigation {
	margin-top: 1.5rem;

	padding-top: 1rem;

	border-top: 1px solid var(--clt-blog-border);

	background: transparent;
}

.primary-navigation ul {
	display: flex;

	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 0.4rem;

	padding: 0;
	margin: 0;

	list-style: none;
}

.primary-navigation li {
	margin: 0;
	padding: 0;
}

.primary-navigation a {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 36px;

	padding: 0.45rem 0.75rem;

	color: #475569;

	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;

	text-decoration: none;

	border-radius: var(--clt-radius-sm);

	background: transparent;
}

.primary-navigation a:hover,
.primary-navigation a:focus {
	color: var(--clt-blog-heading);

	background: #f1f5f9;
}

.primary-navigation .current-menu-item > a,
.primary-navigation .current_page_item > a {
	color: var(--clt-blog-blue);

	background: var(--clt-blog-blue-soft);
}


/* =========================================================
   MAIN
   ========================================================= */

.site-main {
	padding-bottom: 4rem;

	background: #ffffff;
}


/* =========================================================
   ARTICLE / ENTRY
   ========================================================= */

.entry {
	padding: 2rem 0;

	background: #ffffff;
}

.entry + .entry {
	border-top: 1px solid var(--clt-blog-border);
}

.entry-header {
	margin-bottom: 1.25rem;
}

.entry-title {
	margin: 0 0 0.55rem;

	color: var(--clt-blog-heading);

	font-size: clamp(1.8rem, 4vw, 2.5rem);
	font-weight: 700;

	line-height: 1.12;

	letter-spacing: -0.035em;
}

.entry-title a {
	color: inherit;

	text-decoration: none;
}

.entry-title a:hover,
.entry-title a:focus {
	color: var(--clt-blog-blue);
}

.entry-meta {
	color: var(--clt-blog-muted);

	font-size: 0.875rem;
	line-height: 1.5;
}


/* =========================================================
   ENTRY CONTENT
   ========================================================= */

.entry-content {
	color: var(--clt-blog-text);
}

.entry-content > * {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

.entry-content p {
	color: var(--clt-blog-text);
}

.entry-content a {
	color: var(--clt-blog-blue);

	font-weight: inherit;
}

.entry-content a:hover {
	color: var(--clt-blog-blue-hover);
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 2rem;

	color: var(--clt-blog-heading);

	line-height: 1.2;
}

.entry-content h2 {
	font-size: 1.65rem;
}

.entry-content h3 {
	font-size: 1.35rem;
}

.entry-content h4 {
	font-size: 1.1rem;
}


/* =========================================================
   BLOCKQUOTE
   ========================================================= */

.entry-content blockquote {
	margin: 2rem 0;

	padding: 1rem 1rem 1rem 1.25rem;

	color: #475569;

	background: #f8fafc;

	border: 1px solid var(--clt-blog-border);
	border-left: 3px solid var(--clt-blog-blue);

	border-radius:
		0
		var(--clt-radius)
		var(--clt-radius)
		0;

	font-style: normal;
}


/* =========================================================
   CODE
   ========================================================= */

.entry-content code,
.entry-content pre {
	font-family:
		"SFMono-Regular",
		Consolas,
		"Liberation Mono",
		Menlo,
		monospace;
}

.entry-content code {
	padding: 0.15em 0.35em;

	color: #0f172a;

	background: #f1f5f9;

	border: 1px solid var(--clt-blog-border);

	border-radius: 0.3rem;

	font-size: 0.9em;
}

.entry-content pre {
	padding: 1rem 1.1rem;

	overflow-x: auto;

	color: #0f172a;

	background: #f8fafc;

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius-lg);

	box-shadow: var(--clt-shadow-xs);
}

.entry-content pre code {
	padding: 0;

	background: transparent;

	border: 0;
}


/* =========================================================
   FEATURED IMAGE
   ========================================================= */

.wp-block-image img,
.post-thumbnail img {
	width: 100%;
}

.post-thumbnail {
	margin-bottom: 1.5rem;

	overflow: hidden;

	border-radius: var(--clt-radius-lg);

	background: #f8fafc;
}

.post-thumbnail img {
	border-radius: inherit;
}


/* =========================================================
   BUTTONS
   ========================================================= */

button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-element-button,
.wp-block-button__link {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 40px;

	padding: 0.55rem 1rem;

	background: var(--clt-blog-blue);

	color: #ffffff;

	border: 1px solid var(--clt-blog-blue);

	border-radius: var(--clt-radius);

	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;

	text-decoration: none;

	box-shadow: var(--clt-shadow-xs);

	cursor: pointer;

	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--clt-blog-blue-hover);

	color: #ffffff;

	border-color: var(--clt-blog-blue-hover);

	text-decoration: none;
}

button:active,
input[type="submit"]:active,
input[type="button"]:active,
.wp-element-button:active,
.wp-block-button__link:active {
	background: var(--clt-blog-blue-active);

	transform: translateY(1px);
}

button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: none;

	box-shadow: var(--clt-focus);
}


/* =========================================================
   FORM ELEMENTS
   ========================================================= */

input,
textarea,
select {
	max-width: 100%;

	color: var(--clt-blog-text);

	background: #ffffff;

	border: 1px solid var(--clt-blog-border-strong);

	border-radius: var(--clt-radius);

	font-family: inherit;
	font-size: 0.95rem;

	box-shadow: var(--clt-shadow-xs);

	transition:
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}

input,
select {
	min-height: 40px;

	padding: 0.5rem 0.75rem;
}

textarea {
	padding: 0.75rem;

	line-height: 1.6;
}

input::placeholder,
textarea::placeholder {
	color: #94a3b8;
}

input:hover,
textarea:hover,
select:hover {
	border-color: #94a3b8;
}

input:focus,
textarea:focus,
select:focus {
	outline: none;

	border-color: var(--clt-blog-blue);

	box-shadow: var(--clt-focus);
}


/* =========================================================
   CHECKBOX / RADIO
   ========================================================= */

input[type="checkbox"],
input[type="radio"] {
	width: 16px;
	height: 16px;

	min-height: 0;

	padding: 0;

	accent-color: var(--clt-blog-blue);

	box-shadow: none;
}


/* =========================================================
   TABLES
   ========================================================= */

table {
	width: 100%;

	border-collapse: collapse;

	background: #ffffff;

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius-lg);
}

th,
td {
	padding: 0.75rem 1rem;

	text-align: left;

	border-bottom: 1px solid var(--clt-blog-border);
}

th {
	color: var(--clt-blog-heading);

	background: #f8fafc;

	font-size: 0.875rem;
	font-weight: 600;
}

td {
	color: var(--clt-blog-text);
}

tr:last-child td {
	border-bottom: 0;
}


/* =========================================================
   HR
   ========================================================= */

hr,
.wp-block-separator {
	border: 0;

	border-top: 1px solid var(--clt-blog-border);

	margin: 2rem 0;
}


/* =========================================================
   POST NAVIGATION
   ========================================================= */

.post-navigation,
.posts-navigation {
	margin-top: 2rem;

	padding-top: 1.5rem;

	border-top: 1px solid var(--clt-blog-border);
}

.post-navigation a,
.posts-navigation a {
	display: inline-flex;

	align-items: center;

	padding: 0.45rem 0.65rem;

	color: var(--clt-blog-blue);

	background: #ffffff;

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius);

	font-size: 0.875rem;
	font-weight: 500;

	text-decoration: none;

	box-shadow: var(--clt-shadow-xs);
}

.post-navigation a:hover,
.posts-navigation a:hover {
	color: var(--clt-blog-blue-hover);

	background: #f8fafc;

	border-color: var(--clt-blog-border-strong);
}


/* =========================================================
   PAGINATION
   ========================================================= */

.navigation.pagination {
	width: 100%;

	margin: 2.5rem auto;

	background: #ffffff;
}

.navigation.pagination .nav-links {
	display: flex;

	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 0.4rem;
}

.navigation.pagination .page-numbers {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-width: 38px;
	height: 38px;

	padding: 0 0.7rem;

	background: #ffffff;

	color: #334155;

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius);

	font-size: 0.875rem;
	font-weight: 500;

	text-decoration: none;

	box-shadow: var(--clt-shadow-xs);
}

.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus {
	color: var(--clt-blog-blue);

	background: var(--clt-blog-blue-soft);

	border-color: #bfdbfe;
}

.navigation.pagination .page-numbers.current {
	background: var(--clt-blog-blue);

	color: #ffffff;

	border-color: var(--clt-blog-blue);

	box-shadow: var(--clt-shadow-sm);
}

.navigation.pagination .dots {
	background: transparent;

	border-color: transparent;

	box-shadow: none;
}


/* =========================================================
   TAXONOMY / PAGE LINKS / COMMENTS
   ========================================================= */

.entry-taxonomy,
.page-links,
.comments-area {
	margin-top: 1.5rem;
}

.entry-taxonomy a,
.page-links a {
	color: var(--clt-blog-blue);
}


/* =========================================================
   COMMENT AREA
   ========================================================= */

.comments-area {
	padding-top: 1.5rem;

	border-top: 1px solid var(--clt-blog-border);
}

.comment-list {
	padding-left: 1.5rem;
}

.comment-body {
	margin-bottom: 1rem;

	padding: 1rem;

	background: #ffffff;

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius-lg);

	box-shadow: var(--clt-shadow-xs);
}


/* =========================================================
   WIDGETS
   ========================================================= */

.footer-widgets {
	margin-bottom: 1.5rem;

	text-align: left;
}

.widget {
	margin-bottom: 1.5rem;
}

.widget-title {
	margin-top: 0;

	color: var(--clt-blog-heading);

	font-size: 1rem;
	font-weight: 600;
}


/* =========================================================
   CAPTIONS
   ========================================================= */

.wp-caption,
.gallery-caption,
.bypostauthor,
.alignright,
.alignleft,
.aligncenter,
.sticky {
	max-width: 100%;
}

.wp-caption-text {
	margin-top: 0.5rem;

	color: var(--clt-blog-muted);

	font-size: 0.85rem;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
	padding: 1.5rem 0 3rem;

	background: #ffffff;

	color: var(--clt-blog-muted);

	font-size: 0.875rem;
	text-align: center;

	border-top: 1px solid var(--clt-blog-border);
}

.site-footer p {
	margin: 0;

	color: var(--clt-blog-muted);
}

.site-footer a {
	color: var(--clt-blog-blue);

	text-decoration: none;
}

.site-footer a:hover {
	color: var(--clt-blog-blue-hover);
}


/* =========================================================
   GENERIC SHADCN-STYLE SURFACE
   Lets plugins inherit a cleaner theme appearance
   ========================================================= */

.card,
.panel,
.box,
.widget,
.wp-block-group.has-background {
	background: #ffffff;

	border-color: var(--clt-blog-border);

	border-radius: var(--clt-radius-lg);
}


/* =========================================================
   WORDPRESS BLOCK BUTTON
   ========================================================= */

.wp-block-button__link {
	padding: 0.65rem 1rem;
}


/* =========================================================
   SEARCH
   ========================================================= */

.search-form {
	display: flex;

	align-items: center;

	gap: 0.5rem;
}

.search-form label {
	flex: 1;
}

.search-field {
	width: 100%;

	background: #ffffff;

	color: var(--clt-blog-heading);

	border: 1px solid var(--clt-blog-border-strong);

	border-radius: var(--clt-radius);
}

.search-field:focus {
	border-color: var(--clt-blog-blue);

	box-shadow: var(--clt-focus);
}


/* =========================================================
   HEADER SEARCH
   ========================================================= */

.header-search {
	background: transparent;
}

.header-search-form {
	display: flex;

	align-items: center;

	margin: 0;

	background: transparent;
}

.header-search .search-field {
	width: 220px;

	min-height: 38px;

	padding: 0.45rem 0.75rem;

	background: #ffffff;

	color: var(--clt-blog-heading);

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius);

	font-size: 0.875rem;

	box-shadow: var(--clt-shadow-xs);
}

.header-search .search-field:hover {
	border-color: var(--clt-blog-border-strong);
}

.header-search .search-field:focus {
	border-color: var(--clt-blog-blue);

	box-shadow: var(--clt-focus);
}


/* =========================================================
   HEADER RIGHT
   ========================================================= */

.header-right {
	display: flex;

	align-items: center;
	justify-content: flex-end;

	gap: 0.75rem;

	background: transparent;
}


/* =========================================================
   KEEP PLUGIN CONTENT INHERITING THE THEME
   ========================================================= */

.site-main button,
.site-main input,
.site-main textarea,
.site-main select,
.site-main table,
.site-main p,
.site-main label,
.site-main li {
	font-family: inherit;
}

.site-main button,
.site-main input[type="submit"],
.site-main input[type="button"] {
	font-family: inherit;
}


/* =========================================================
   THEME MY LOGIN
   ========================================================= */

.tml {
	color: var(--clt-blog-text);

	font-family: inherit;
}

.tml form {
	background: transparent;
}

.tml label {
	color: var(--clt-blog-heading);

	font-size: 0.875rem;
	font-weight: 500;
}

.tml .tml-field {
	width: 100%;

	background: #ffffff;

	color: var(--clt-blog-text);

	border: 1px solid var(--clt-blog-border-strong);

	border-radius: var(--clt-radius);

	box-shadow: var(--clt-shadow-xs);
}

.tml .tml-field:focus {
	border-color: var(--clt-blog-blue);

	box-shadow: var(--clt-focus);
}

.tml input[type="submit"] {
	background: var(--clt-blog-blue);

	color: #ffffff;

	border-color: var(--clt-blog-blue);
}


/* =========================================================
   ALERTS / MESSAGES
   ========================================================= */

.tml-alerts,
.notice,
.message,
.success,
.error {
	border-radius: var(--clt-radius);

	font-family: inherit;
}

.tml-message,
.notice-success {
	padding: 0.75rem 1rem;

	background: #f8fafc;

	color: var(--clt-blog-text);

	border: 1px solid var(--clt-blog-border);

	border-radius: var(--clt-radius);
}


/* =========================================================
   SELECTION
   ========================================================= */

::selection {
	background: #bfdbfe;

	color: #0f172a;
}


/* =========================================================
   FOCUS VISIBLE
   ========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: none;

	box-shadow: var(--clt-focus);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 40rem) {

	body {
		font-size: 1rem;
	}

	.site-header,
	.site-main,
	.site-footer {
		width: min(100% - 1.5rem, var(--clt-blog-width));
	}

	.site-header {
		padding-top: 1.5rem;
	}

	.entry {
		padding: 1.5rem 0;
	}

	.entry-title {
		font-size: 1.8rem;
	}

	.primary-navigation ul {
		gap: 0.25rem;
	}

	.primary-navigation a {
		padding: 0.45rem 0.6rem;
	}

	.header-right {
		flex-wrap: wrap;
	}

	.header-search {
		width: 100%;
	}

	.header-search-form {
		width: 100%;
	}

	.header-search .search-field {
		width: 100%;
	}

}


/* =========================================================
   WORDPRESS ADMIN BAR OFFSET SUPPORT
   ========================================================= */

body.admin-bar .site-header {
	position: relative;
}


/* =========================================================
   FINAL COLOR OVERRIDES
   PREVENT OLD BROWN CORE COLORS
   ========================================================= */

body,
.site-main,
.site-header,
.site-footer,
.entry,
.entry-header,
.entry-content {
	background-color: #ffffff;
	background-image: none;
}

.entry-title,
.entry-title a {
	color: var(--clt-blog-heading);
}

.entry-title a:hover,
.entry-title a:focus {
	color: var(--clt-blog-blue);
}

a {
	color: var(--clt-blog-blue);
}

.primary-navigation a {
	color: #475569;
}

.primary-navigation a:hover,
.primary-navigation a:focus,
.primary-navigation .current-menu-item > a {
	color: var(--clt-blog-blue);
}