/**
 * Theme Name: Astra Child (TIOA Blog)
 * Theme URI: https://wpastra.com/
 * Description: Child theme for TIOA Blog customization
 * Author: TIOA
 * Author URI: https://techinnovatorsofamerica.org
 * Template: astra
 * Version: 1.0.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: astra-child
 */

/* ============================================
   TIOA Blog Dark Theme Styles
   ============================================ */

/* Global Dark Theme Base - Apply to homepage, blog, search, category, author, and single pages */
body.home,
body.blog,
body.search,
body.category,
body.author,
body.page-template-default.home,
body.home #page,
body.blog #page,
body.search #page,
body.category #page,
body.author #page,
body.page-template-default.home #page,
body.home #content,
body.blog #content,
body.search #content,
body.category #content,
body.author #content,
body.page-template-default.home #content,
body.home .site-content,
body.blog .site-content,
body.search .site-content,
body.category .site-content,
body.author .site-content,
body.page-template-default.home .site-content {
	background: #000000 !important;
	background: linear-gradient(180deg, #000000 0%, #0a0e27 20%, #1e3a8a 50%, #3b82f6 80%, #60a5fa 100%) !important;
	min-height: 100vh;
	color: #e0e7ff;
}

/* Single Post Background - Same Gradient as Homepage */
body.single,
body.single #page,
body.single #content,
body.single .site-content {
	background: #000000 !important;
	background: linear-gradient(180deg, #000000 0%, #0a0e27 20%, #1e3a8a 50%, #3b82f6 80%, #60a5fa 100%) !important;
	min-height: 100vh;
	color: #e0e7ff;
}

/* change*/
/*change*/

body.home::before,
body.blog::before,
body.search::before,
body.category::before,
body.author::before,
body.page-template-default.home::before,
body.single::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: 
		radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
		radial-gradient(circle at 80% 80%, rgba(37, 99, 235, 0.15) 0%, transparent 50%),
		radial-gradient(circle at 40% 20%, rgba(96, 165, 250, 0.1) 0%, transparent 50%);
	pointer-events: none;
	z-index: 0;
	animation: backgroundShift 20s ease-in-out infinite;
}

@keyframes backgroundShift {
	0%, 100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.8;
		transform: scale(1.1);
	}
}

body.home #content,
body.blog #content,
body.search #content,
body.category #content,
body.author #content,
body.single #content,
body.page-template-default.home #content,
body.home .site-content,
body.blog .site-content,
body.search .site-content,
body.category .site-content,
body.author .site-content,
body.single .site-content,
body.page-template-default.home .site-content {
	position: relative;
	z-index: 1;
	background: transparent !important;
}

/* Hide default Astra header on ALL pages - we use custom header */
.site-header,
header[data-section="section-header-1"],
.ast-header-wrap,
.site-header-wrap {
	display: none !important;
}

/* TIOA Blog Header - Dark Theme */
.tioa-blog-header {
	background: rgba(10, 14, 39, 0.95);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(99, 102, 241, 0.3);
	padding: 25px 0;
	margin-bottom: 40px;
	position: relative;
	z-index: 100;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

/* Add spacing between header and category filter on author pages */
body.author .tioa-blog-header {
	margin-bottom: 40px !important;
}

.tioa-header-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
}

/* Back Button - Dark Theme */
.tioa-back-button {
	flex: 0 0 auto;
}

.tioa-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #c7d2fe;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 18px;
	border: 1px solid rgba(99, 102, 241, 0.4);
	border-radius: 8px;
	transition: all 0.3s ease;
	background: rgba(99, 102, 241, 0.1);
	backdrop-filter: blur(5px);
}

.tioa-back-link:hover {
	color: #ffffff;
	border-color: #6366f1;
	background: rgba(99, 102, 241, 0.25);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

.tioa-back-arrow {
	font-size: 18px;
	font-weight: bold;
}

/* Hide arrow in Back to TIOA button */
.tioa-back-link .tioa-back-arrow {
	display: none;
}

/* Back to Home Button on Search Pages */
.tioa-back-to-home {
	margin-bottom: 30px;
	padding: 0 20px;
}

.tioa-back-to-home-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #c7d2fe;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 18px;
	border: 1px solid rgba(99, 102, 241, 0.4);
	border-radius: 8px;
	transition: all 0.3s ease;
	background: rgba(99, 102, 241, 0.1);
	backdrop-filter: blur(5px);
}

.tioa-back-to-home-btn:hover {
	color: #ffffff;
	border-color: #6366f1;
	background: rgba(99, 102, 241, 0.25);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

.tioa-back-to-home-btn .tioa-back-arrow {
	font-size: 18px;
	font-weight: bold;
	display: inline-block;
}

/* Back to Blog Button on Single Post Pages */
.tioa-back-to-blog {
	margin-bottom: 30px;
}

.tioa-back-to-blog-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #c7d2fe;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 18px;
	border: 1px solid rgba(99, 102, 241, 0.4);
	border-radius: 8px;
	transition: all 0.3s ease;
	background: rgba(99, 102, 241, 0.1);
	backdrop-filter: blur(5px);
}

.tioa-back-to-blog-btn:hover {
	color: #ffffff;
	border-color: #6366f1;
	background: rgba(99, 102, 241, 0.25);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

/* Logo */
.tioa-logo {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	filter: drop-shadow(0 0 20px rgba(99, 102, 241, 0.3));
}

.tioa-logo-img {
	max-height: 70px;
	width: auto;
	height: auto;
	transition: transform 0.3s ease;
}

.tioa-logo:hover .tioa-logo-img {
	transform: scale(1.05);
}

/* Search Bar - Dark Theme */
.tioa-search {
	flex: 0 0 auto;
	min-width: 280px;
}

.tioa-search-form {
	display: flex;
	align-items: center;
	gap: 8px;
}

.tioa-search-form .search-field {
	padding: 10px 16px;
	border: 1px solid rgba(99, 102, 241, 0.4);
	border-radius: 8px;
	font-size: 14px;
	width: 100%;
	background: rgba(15, 20, 41, 0.8);
	color: #ffffff !important;
	backdrop-filter: blur(5px);
	transition: all 0.3s ease;
}

.tioa-search-form .search-field::placeholder {
	color: #8b92b8;
}

.tioa-search-form .search-field:focus {
	outline: none;
	border-color: #6366f1;
	background: rgba(15, 20, 41, 0.95);
	color: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2), 0 4px 12px rgba(99, 102, 241, 0.3);
}

/* Hide icon button if it appears */
.tioa-search-form .ast-search-submit {
	display: none !important;
}

.tioa-search-form .search-submit,
.tioa-search-form .tioa-search-icon-btn {
	padding: 10px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, #6366f1 50%, #8b5cf6 100%);
	color: #ffffff;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-weight: 500;
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.15);
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	line-height: 1;
}

.tioa-search-form .search-submit svg,
.tioa-search-form .tioa-search-icon-btn svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	fill: none;
}

.tioa-search-form .search-submit:hover,
.tioa-search-form .tioa-search-icon-btn:hover {
	background: linear-gradient(135deg, #7c7cf8 0%, #a78bfa 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(99, 102, 241, 0.5);
}

/* Category Filter - Dark Theme */
.tioa-category-filter {
	background: rgba(15, 20, 41, 0.6);
	backdrop-filter: blur(10px);
	padding: 25px 0;
	margin-bottom: 50px;
	border-bottom: 1px solid rgba(99, 102, 241, 0.2);
	position: relative;
	z-index: 10;
}

.tioa-category-filter-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.tioa-categories-label {
	font-weight: 600;
	color: #c7d2fe;
	font-size: 15px;
	margin-right: 5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.tioa-category-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.tioa-cat-btn {
	display: inline-block;
	padding: 10px 20px;
	background: rgba(255, 255, 255, 0.1);
	color: #c7d2fe;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
	cursor: pointer;
	backdrop-filter: blur(5px);
}

.tioa-cat-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.5);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.2);
}

.tioa-cat-btn.active {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, #6366f1 50%, #8b5cf6 100%);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.4);
	box-shadow: 0 4px 16px rgba(255, 255, 255, 0.25);
}

.tioa-categories-count {
	color: #8b92b8;
	font-size: 13px;
	margin-left: auto;
	font-style: italic;
}

/* Blog Grid Container */
.tioa-blog-grid-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 10;
}

.tioa-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 60px;
}

/* Ensure search results display properly in grid */
body.search .tioa-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 60px;
}

body.search .tioa-blog-card {
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: auto;
}

/* Fix vertical stretching in blog cards - ensure text is visible and border wraps properly */
.tioa-blog-card-content {
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 100% !important;
}

.tioa-blog-card-body {
	padding: 24px !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	justify-content: flex-start !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.tioa-blog-card-excerpt {
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
	display: block !important;
	max-height: none !important;
	flex: 1 1 auto !important;
}

.tioa-blog-card-title {
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
	word-wrap: break-word !important;
	flex-shrink: 0 !important;
}

.tioa-blog-card-footer {
	flex-shrink: 0 !important;
	margin-top: auto !important;
}

/* Ensure cards don't stretch vertically - match homepage exactly */
.tioa-blog-grid .tioa-blog-card {
	align-items: stretch !important;
	height: auto !important;
}

/* Override any Astra styles that force card height */
body.search .tioa-blog-card,
body.search .tioa-blog-card-content,
body.search .tioa-blog-card-body {
	height: auto !important;
	max-height: none !important;
	min-height: auto !important;
}


/* Ensure blog cards match homepage exactly */
body.search .tioa-blog-card {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important; /* Keep hidden for proper border wrapping */
}

/* Blog Card - Dark Theme */
.tioa-blog-card {
	background: rgba(15, 20, 41, 0.7) !important;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 12px !important;
	overflow: hidden !important; /* Keep hidden to contain border-radius and wrap content */
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex !important;
	flex-direction: column !important;
	opacity: 0;
	transform: translateY(30px);
	animation: fadeInUp 0.6s ease forwards;
	height: auto !important;
	min-height: auto !important;
	align-items: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important; /* For view count positioning */
}

.tioa-blog-card:nth-child(1) { animation-delay: 0.1s; }
.tioa-blog-card:nth-child(2) { animation-delay: 0.2s; }
.tioa-blog-card:nth-child(3) { animation-delay: 0.3s; }
.tioa-blog-card:nth-child(4) { animation-delay: 0.4s; }
.tioa-blog-card:nth-child(5) { animation-delay: 0.5s; }
.tioa-blog-card:nth-child(6) { animation-delay: 0.6s; }

@keyframes fadeInUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.tioa-blog-card:hover {
	box-shadow: 0 8px 32px rgba(255, 255, 255, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.5);
	transform: translateY(-8px);
	border-color: rgba(255, 255, 255, 0.6);
}


.tioa-blog-card-image {
	width: 100%;
	overflow: hidden; /* Keep hidden for image only */
	background: linear-gradient(135deg, #1e293b 0%, #334155 50%, rgba(255, 255, 255, 0.1) 100%);
	position: relative;
	flex-shrink: 0; /* Prevent image from shrinking */
}

.tioa-blog-card-image::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.1) 50%, rgba(10, 14, 39, 0.6) 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.tioa-blog-card:hover .tioa-blog-card-image::after {
	opacity: 1;
}

.tioa-blog-card-image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.tioa-blog-card:hover .tioa-blog-card-image img {
	transform: scale(1.1);
}

.tioa-blog-card-image a {
	display: block;
	text-decoration: none;
}


.tioa-blog-card-title {
	margin: 0 0 14px 0 !important;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	flex-shrink: 0 !important;
}

.tioa-blog-card-title a {
	color: #ffffff !important;
	text-decoration: none;
	transition: color 0.3s ease;
}

.tioa-blog-card-title a:hover {
	color: rgba(255, 255, 255, 0.8) !important;
}

.tioa-blog-card-meta {
	color: #a5b4fc;
	font-size: 0.9em;
	margin-bottom: 14px;
	flex-shrink: 0 !important;
}

.tioa-blog-card-excerpt {
	color: #9ca3af;
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 20px 0;
	padding: 0;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	border: none !important;
	background: transparent !important;
}

.tioa-blog-card-excerpt p,
.tioa-blog-card-excerpt div,
.tioa-blog-card-excerpt span {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
}

.tioa-blog-card-excerpt * {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

.tioa-blog-card-footer {
	margin-top: auto !important;
	flex-shrink: 0 !important;
}

.tioa-read-more-btn {
	display: inline-block;
	padding: 12px 24px;
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
	color: #ffffff;
	text-decoration: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	transition: all 0.3s ease;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
	margin: 0;
	border: none;
}

.tioa-read-more-btn:hover {
	background: linear-gradient(135deg, #7c7cf8 0%, #a78bfa 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(99, 102, 241, 0.6);
}

/* Blog Card View Count - Bottom Right */
.tioa-blog-card-views {
	position: absolute;
	bottom: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	gap: 4px;
	background: transparent;
	backdrop-filter: none;
	padding: 0;
	border-radius: 0;
	border: none;
	font-size: 11px;
	color: #e0e7ff;
	z-index: 10;
	pointer-events: none;
}

.tioa-view-icon {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	color: #e0e7ff;
	opacity: 0.9;
}

.tioa-view-count {
	font-weight: 600;
	color: #c7d2fe;
	font-size: 11px;
}

/* No Posts Message - Dark Theme */
.tioa-no-posts {
	text-align: center;
	padding: 80px 20px;
	color: #8b92b8;
}

.tioa-no-posts p {
	font-size: 18px;
	margin: 0;
	color: #c7d2fe;
}

/* Hide Astra's default archive header on search pages - comprehensive */
body.search .ast-archive-description,
body.search .ast-archive-title,
body.search .page-title.ast-archive-title,
body.search section.ast-archive-description,
body.search .ast-taxonomy-banner-wrap,
body.search .ast-author-box,
body.search .ast-archive-description h1,
body.search .ast-archive-description p,
body.search .ast-taxonomy-banner-content,
body.search .ast-separate-container .ast-archive-description,
body.search #primary .ast-archive-description,
body.search .site-main .ast-archive-description,
body.search .ast-container .ast-archive-description,
body.search .ast-separate-container .ast-container .ast-archive-description,
body.search article .ast-archive-description,
body.search .entry-content .ast-archive-description {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	opacity: 0 !important;
	position: absolute !important;
	left: -9999px !important;
}

/* Hide any white background containers that might wrap the archive description */
body.search .ast-separate-container,
body.search .ast-container,
body.search #primary > section,
body.search .site-main > section {
	background: transparent !important;
}

/* Specifically target any section elements that might have white backgrounds */
body.search section:not(.tioa-search-results-header):not(.tioa-category-filter) {
	background: transparent !important;
}

/* Hide Astra's default archive header on category pages - comprehensive */
body.category .ast-archive-description,
body.category .ast-archive-title,
body.category .page-title.ast-archive-title,
body.category section.ast-archive-description,
body.category .ast-taxonomy-banner-wrap,
body.category .ast-author-box,
body.category .ast-archive-description h1,
body.category .ast-archive-description p,
body.category .ast-taxonomy-banner-content,
body.category .ast-separate-container .ast-archive-description,
body.category #primary .ast-archive-description,
body.category .site-main .ast-archive-description,
body.category .ast-container .ast-archive-description,
body.category .ast-separate-container .ast-container .ast-archive-description,
body.category article .ast-archive-description,
body.category .entry-content .ast-archive-description {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	opacity: 0 !important;
	position: absolute !important;
	left: -9999px !important;
}

/* Hide any white background containers that might wrap the archive description on category pages */
body.category .ast-separate-container,
body.category .ast-container,
body.category #primary > section,
body.category .site-main > section {
	background: transparent !important;
}

/* Specifically target any section elements that might have white backgrounds on category pages */
body.category section:not(.tioa-category-header):not(.tioa-category-filter) {
	background: transparent !important;
}

/* Remove empty space from astra_primary_content_top on category pages */
body.category #primary > .ast-primary-content-top,
body.category .ast-primary-content-top,
body.category #primary > section:empty,
body.category #primary > div:empty:not(.tioa-category-header):not(.tioa-category-filter):not(.tioa-blog-grid-container),
body.category .ast-primary-content-bottom,
body.category #primary > .ast-primary-content-bottom {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Remove padding/margin from #primary container on category pages */
body.category #primary {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Remove padding from .ast-container wrapper on category pages */
body.category .ast-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Remove padding from #content and .site-content on category pages */
body.category #content,
body.category .site-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Remove any spacing from content-before and content-top hooks */
body.category .ast-content-before-wrap,
body.category .ast-content-before,
body.category .ast-content-top-wrap,
body.category .ast-content-top {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Target any divs/sections that might be added by astra_content_before() or astra_content_top() */
body.category #content > div:first-child:not(.tioa-category-filter):not(.tioa-category-header):not(.tioa-blog-grid-container),
body.category .ast-container > div:first-child:not(.tioa-category-filter):not(.tioa-category-header):not(.tioa-blog-grid-container),
body.category .site-content > div:first-child:not(.tioa-category-filter):not(.tioa-category-header):not(.tioa-blog-grid-container) {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Ensure no empty space before category filter */
body.category .tioa-category-filter {
	margin-top: 0 !important;
	padding-top: 25px !important;
}

/* Remove any spacing that might come from astra_primary_class() classes */
body.category #primary[class*="ast-"] {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Search Results Header - Dark Theme */
.tioa-search-results-header {
	text-align: center;
	margin: 30px 0 50px 0;
	padding: 0 20px;
}

.tioa-search-title {
	font-size: 32px;
	font-weight: 700;
	color: #e0e7ff;
	text-align: center;
	margin: 0 0 10px 0;
	line-height: 1.3;
}

.tioa-search-subtitle {
	font-size: 16px;
	color: #9ca3af;
	text-align: center;
	margin: 0;
	line-height: 1.5;
}

/* Category Header - Dark Theme */
.tioa-category-header {
	text-align: center;
	margin: 0 0 50px 0;
	padding: 0 20px;
}

.tioa-category-title {
	font-size: 32px;
	font-weight: 700;
	color: #e0e7ff;
	text-align: center;
	margin: 0;
	line-height: 1.3;
}

/* Pagination - Dark Theme */
body.home .ast-pagination,
body.blog .ast-pagination,
body.search .ast-pagination,
body.category .ast-pagination,
body.single .ast-pagination,
.tioa-pagination {
	margin-top: 60px;
	padding: 20px 0;
	text-align: center;
}

body.home .ast-pagination a,
body.blog .ast-pagination a,
body.search .ast-pagination a,
body.category .ast-pagination a,
body.single .ast-pagination a,
body.home .ast-pagination span,
body.blog .ast-pagination span,
body.search .ast-pagination span,
body.category .ast-pagination span,
body.single .ast-pagination span,
.tioa-pagination a,
.tioa-pagination span,
.tioa-pagination .page-numbers {
	color: #c7d2fe;
	background: rgba(99, 102, 241, 0.15);
	border: 1px solid rgba(99, 102, 241, 0.3);
	padding: 8px 16px;
	margin: 0 4px;
	border-radius: 6px;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
}

.tioa-pagination ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.tioa-pagination li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.home .ast-pagination a:hover,
body.blog .ast-pagination a:hover,
body.search .ast-pagination a:hover,
body.category .ast-pagination a:hover,
body.single .ast-pagination a:hover,
body.home .ast-pagination .current,
body.blog .ast-pagination .current,
body.search .ast-pagination .current,
body.category .ast-pagination .current,
body.single .ast-pagination .current,
.tioa-pagination a:hover,
.tioa-pagination .current,
.tioa-pagination .page-numbers.current {
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
	color: #ffffff;
	border-color: #6366f1;
}

/* Text Colors for Dark Theme */
body.home,
body.blog,
body.search,
body.category,
body.single,
body.home p,
body.blog p,
body.search p,
body.category p,
body.single p,
body.home .ast-container,
body.blog .ast-container,
body.search .ast-container,
body.category .ast-container,
body.single .ast-container {
	color: #e0e7ff;
}

body.home h1,
body.blog h1,
body.search h1,
body.category h1,
body.single h1,
body.home h2,
body.blog h2,
body.search h2,
body.category h2,
body.single h2,
body.home h3,
body.blog h3,
body.search h3,
body.category h3,
body.single h3,
body.home h4,
body.blog h4,
body.search h4,
body.category h4,
body.single h4,
body.home h5,
body.blog h5,
body.search h5,
body.category h5,
body.single h5,
body.home h6,
body.blog h6,
body.search h6,
body.category h6,
body.single h6 {
	color: #e0e7ff;
}

/* Responsive Design */
@media (max-width: 1024px) {
	.tioa-blog-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 25px;
	}
	
	body.home::before,
	body.blog::before,
	body.search::before,
	body.category::before,
	body.single::before {
		background: 
			radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.12) 0%, transparent 50%),
			radial-gradient(circle at 80% 80%, rgba(37, 99, 235, 0.12) 0%, transparent 50%);
	}
}

@media (max-width: 768px) {
	.tioa-header-container {
		flex-direction: column;
		gap: 20px;
	}

	.tioa-back-button {
		align-self: flex-start;
	}

	.tioa-logo {
		order: -1;
	}

	.tioa-search {
		width: 100%;
		min-width: auto;
	}

	.tioa-category-filter-container {
		flex-direction: column;
		align-items: flex-start;
	}

	.tioa-categories-count {
		margin-left: 0;
	}

	.tioa-blog-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.tioa-blog-card-image img {
		height: 200px;
	}
	
	body.home,
	body.blog,
	body.search,
	body.category,
	body.single {
		background: linear-gradient(180deg, #000000 0%, #0a0e27 30%, #1e3a8a 70%, #3b82f6 100%);
	}
}

@media (max-width: 480px) {
	.tioa-header-container {
		padding: 0 15px;
	}

	.tioa-logo-img {
		max-height: 55px;
	}

	.tioa-category-buttons {
		width: 100%;
	}

	.tioa-cat-btn {
		flex: 1;
		text-align: center;
		min-width: calc(50% - 6px);
		font-size: 13px;
		padding: 8px 16px;
	}
}

/* Scroll Animation Enhancement */
@keyframes scrollFade {
	0% {
		opacity: 0;
		transform: translateY(50px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.tioa-blog-card.scroll-visible {
	animation: scrollFade 0.8s ease forwards;
}

/* Additional Dark Theme Overrides */
body.home .ast-container,
body.blog .ast-container,
body.search .ast-container,
body.category .ast-container,
body.single .ast-container {
	background: transparent;
}

body.home .site-main,
body.blog .site-main,
body.search .site-main,
body.category .site-main,
body.single .site-main {
	background: transparent;
}

body.home #primary,
body.blog #primary,
body.search #primary,
body.category #primary,
body.single #primary {
	background: transparent;
}

/* Footer Dark Theme - Match website style */
.site-footer,
body.home .site-footer,
body.blog .site-footer,
body.search .site-footer,
body.category .site-footer,
body.single .site-footer,
body.page .site-footer {
	background: rgba(10, 14, 39, 0.95) !important;
	backdrop-filter: blur(10px);
	border-top: 1px solid rgba(99, 102, 241, 0.3) !important;
	color: #c7d2fe !important;
	padding: 30px 0 !important;
	margin-top: 60px !important;
}

.site-footer .ast-footer-wrap,
.site-footer .ast-container,
.site-footer .ast-footer-content {
	background: transparent !important;
}

.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p {
	color: #c7d2fe !important;
	font-size: 14px !important;
	margin: 0 !important;
	text-align: center !important;
}

.site-footer a,
body.home .site-footer a,
body.blog .site-footer a,
body.search .site-footer a,
body.category .site-footer a,
body.single .site-footer a,
body.page .site-footer a {
	color: #a5b4fc !important;
	text-decoration: none;
	transition: color 0.3s ease;
}

.site-footer a:hover,
body.home .site-footer a:hover,
body.blog .site-footer a:hover,
body.search .site-footer a:hover,
body.category .site-footer a:hover,
body.single .site-footer a:hover,
body.page .site-footer a:hover {
	color: #ffffff !important;
}

/* Sidebar Dark Theme (if used) */
body.home .secondary,
body.blog .secondary,
body.search .secondary,
body.category .secondary,
body.single .secondary {
	background: rgba(15, 20, 41, 0.6);
	border-left: 1px solid rgba(99, 102, 241, 0.2);
}

body.home .widget,
body.blog .widget,
body.search .widget,
body.category .widget,
body.single .widget {
	color: #e0e7ff;
}

body.home .widget-title,
body.blog .widget-title,
body.search .widget-title,
body.category .widget-title,
body.single .widget-title {
	color: #e0e7ff;
	border-bottom: 1px solid rgba(99, 102, 241, 0.3);
}

/* Links in content */
body.home a,
body.blog a,
body.search a,
body.category a {
	color: #a5b4fc;
	transition: color 0.3s ease;
}

body.home a:hover,
body.blog a:hover,
body.search a:hover,
body.category a:hover {
	color: #ffffff;
}

/* Links in single post reading container - dark colors for white background */
body.single .tioa-reading-container a {
	color: #2563eb;
	transition: color 0.3s ease;
	text-decoration: underline;
}

body.single .tioa-reading-container a:hover {
	color: #1d4ed8;
}

/* Single Post View Count - Bottom of Content */
body.single .tioa-single-post-views {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid #e5e7eb;
	font-size: 13px;
	color: #6b7280;
}

body.single .tioa-single-post-views .tioa-view-icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: #6b7280;
}

body.single .tioa-single-post-views .tioa-view-count {
	font-weight: 600;
	color: #374151;
	font-size: 13px;
}

/* Selection color */
body.home ::selection,
body.blog ::selection,
body.search ::selection,
body.category ::selection,
body.single ::selection {
	background: rgba(99, 102, 241, 0.4);
	color: #ffffff;
}

body.home ::-moz-selection,
body.blog ::-moz-selection,
body.search ::-moz-selection,
body.category ::-moz-selection,
body.single ::-moz-selection {
	background: rgba(99, 102, 241, 0.4);
	color: #ffffff;
}

/* Single Post View - Unified White Container - Starts with article, includes comments and related posts */
/* Main article container - white background with rounded top corners only */
body.single .ast-single-post,
body.single article.post,
body.single article.type-post,
body.single .ast-article-single {
	max-width: 100%;
	margin: 0;
	background: #ffffff;
	border: none;
	border-radius: 16px 16px 0 0;
	padding: 0;
	margin-bottom: 0;
	color: #1f2937;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

/* Entry header - title and meta section */
body.single .entry-header {
	background: transparent;
	border: none;
	border-bottom: 1px solid #e5e7eb;
	padding: 50px 50px 30px 50px;
	margin: 0;
}

/* Meta in header - appears once directly under title */
body.single .entry-header .entry-meta,
body.single .entry-header .tioa-post-meta {
	color: #6b7280;
	font-size: 0.95em;
	margin: 0;
	padding: 0;
	font-weight: 500;
	line-height: 1.6;
}

body.single .entry-header .entry-meta a {
	color: #2563eb;
	text-decoration: none;
}

body.single .entry-header .entry-meta a:hover {
	color: #1d4ed8;
}

/* Hide any duplicate meta that might appear elsewhere */
body.single .tioa-combined-meta,
body.single .entry-content .entry-meta,
body.single .tioa-combined-content .entry-meta,
body.single .entry-header .entry-meta:not(.tioa-post-meta),
body.single .ast-single-post-banner .entry-meta:not(.tioa-post-meta),
body.single .ast-single-post-banner .ast-single-post-meta:not(.tioa-post-meta),
body.single .entry-header .ast-single-post-meta:not(.tioa-post-meta),
body.single .entry-header > .entry-meta:not(.tioa-post-meta),
body.single header.entry-header .entry-meta:not(.tioa-post-meta) {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
}

/* Reading Container - Part of unified white container, no separate background */
body.single .tioa-reading-container {
	background: transparent !important;
	border: none;
	border-radius: 0;
	padding: 50px !important;
	margin: 0;
	box-shadow: none;
}

/* Entry content wrapper - fallback for non-reading-container */
body.single .entry-content.tioa-reading-container,
body.single .ast-post-content {
	background: transparent !important;
	border: none;
	border-radius: 0;
	padding: 50px !important;
	margin: 0;
	box-shadow: none;
}

/* Single Post - Ensure wrapper elements are transparent to show body background */
body.single #page,
body.single #content,
body.single .site-content,
body.single .ast-container,
body.single .site-main,
body.single #primary,
body.single .ast-separate-container {
	background: transparent;
	background-color: transparent;
}

body.single .ast-separate-container .ast-container {
	background: transparent;
	background-color: transparent;
}

/* Primary container - transparent, no background */
body.single #primary {
	max-width: 750px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

body.single .ast-container {
	max-width: 100%;
}

/* Ensure comments section follows article container visually */
body.single #primary #comments {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	clear: both !important;
}

/* Back to Blog Button - Positioned above unified container */
body.single .tioa-back-to-blog {
	max-width: 750px;
	margin: 0 auto 30px auto;
	padding: 0;
}

/* Post Title - Prominent and Clear */
body.single .entry-title {
	color: #111827;
	font-size: 2.75em;
	font-weight: 700;
	margin: 0 0 15px 0;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

/* Main Content - Dark Text on White Background */
body.single .tioa-reading-container {
	color: #1f2937;
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
}

/* Paragraphs - Dark Text, Comfortable Spacing */
body.single .tioa-reading-container p {
	color: #1f2937;
	margin-bottom: 24px;
	font-size: 18px;
	line-height: 1.8;
	font-weight: 400;
}

/* Headings - Dark Text, Clear Hierarchy */
body.single .tioa-reading-container h1 {
	color: #111827;
	font-size: 2.25em;
	font-weight: 700;
	margin-top: 48px;
	margin-bottom: 20px;
	line-height: 1.3;
	letter-spacing: -0.3px;
}

body.single .tioa-reading-container h2 {
	color: #111827;
	font-size: 1.875em;
	font-weight: 700;
	margin-top: 40px;
	margin-bottom: 18px;
	line-height: 1.4;
	letter-spacing: -0.2px;
}

body.single .tioa-reading-container h3 {
	color: #1f2937;
	font-size: 1.5em;
	font-weight: 600;
	margin-top: 32px;
	margin-bottom: 16px;
	line-height: 1.4;
}

body.single .tioa-reading-container h4 {
	color: #1f2937;
	font-size: 1.25em;
	font-weight: 600;
	margin-top: 28px;
	margin-bottom: 14px;
	line-height: 1.4;
}

body.single .tioa-reading-container h5,
body.single .tioa-reading-container h6 {
	color: #1f2937;
	font-size: 1.1em;
	font-weight: 600;
	margin-top: 24px;
	margin-bottom: 12px;
	line-height: 1.4;
}

/* Related Posts Section - Part of Unified White Container, Seamlessly Connected */
body.single .ast-single-related-posts-container {
	background: #ffffff !important;
	padding: 0 50px 50px 50px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	border: none !important;
	border-top: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.single .ast-related-posts-title-section {
	background: transparent !important;
	margin-bottom: 30px;
}

body.single .ast-related-posts-title {
	font-size: 1.8em;
	margin-bottom: 30px;
	color: #111827 !important;
	border-bottom: 2px solid #e5e7eb !important;
	padding-bottom: 15px;
	background: transparent !important;
}

body.single .ast-related-posts-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-top: 30px;
}

/* Style related posts to match blog card format */
body.single .ast-related-post {
	background: rgba(15, 20, 41, 0.7) !important;
	backdrop-filter: blur(10px);
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
	border-radius: 12px !important;
	padding: 0 !important;
	overflow: hidden !important;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex !important;
	flex-direction: column !important;
	height: auto !important;
	min-height: auto !important;
	align-items: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important; /* For view count positioning */
}

/* View count in related posts - ensure it's visible */
body.single .ast-related-post .tioa-blog-card-views {
	position: absolute;
	bottom: 12px;
	right: 12px;
	z-index: 20;
}

body.single .ast-related-post:hover {
	box-shadow: 0 8px 32px rgba(255, 255, 255, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.6);
	transform: translateY(-8px);
	border-color: rgba(255, 255, 255, 0.8) !important;
}

body.single .ast-related-posts-inner-section {
	background: transparent !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	width: 100% !important;
}

body.single .ast-related-post-content {
	background: transparent !important;
	padding: 0 !important;
	color: #e0e7ff !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 100% !important;
}

/* Featured Image - Match blog card image styling */
body.single .ast-related-post .ast-related-post-featured-img {
	border-radius: 0;
	overflow: hidden;
	width: 100%;
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
	position: relative;
	flex-shrink: 0;
}

body.single .ast-related-post .ast-related-post-featured-img::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(10, 14, 39, 0.6) 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

body.single .ast-related-post:hover .ast-related-post-featured-img::after {
	opacity: 1;
}

body.single .ast-related-post .ast-related-post-featured-img img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	display: block;
}

body.single .ast-related-post:hover .ast-related-post-featured-img img {
	transform: scale(1.1);
}

body.single .ast-related-post .ast-related-post-featured-img a {
	display: block;
	text-decoration: none;
}

/* Entry Header - Match blog card title styling */
body.single .ast-related-post .entry-header.related-entry-header {
	padding: 24px 24px 0 24px !important;
	background: transparent !important;
	margin: 0 !important;
	border: none !important;
}

body.single .ast-related-post-title {
	margin: 0 0 12px 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	flex-shrink: 0 !important;
}

body.single .ast-related-post-title a {
	color: #ffffff !important;
	text-decoration: none;
	transition: color 0.3s ease;
}

body.single .ast-related-post-title a:hover {
	color: rgba(255, 255, 255, 0.8) !important;
}

body.single .ast-related-posts .entry-meta {
	color: #a5b4fc !important;
	font-size: 0.9em !important;
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	display: block !important;
	visibility: visible !important;
}

/* Show our injected meta - ensure it's visible and white */
body.single .ast-related-post .entry-header .entry-meta.tioa-injected-meta {
	display: block !important;
	visibility: visible !important;
	color: #ffffff !important;
	font-size: 0.9em !important;
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}

/* Also ensure any meta text in related posts is white */
body.single .ast-related-post .entry-header .entry-meta,
body.single .ast-related-post .entry-header .entry-meta * {
	color: #ffffff !important;
}

/* Ensure meta is visible even if empty initially */
body.single .ast-related-post .entry-header .entry-meta:not(:empty) {
	display: block !important;
	visibility: visible !important;
}

/* Entry Content - Match blog card excerpt and footer styling */
body.single .ast-related-posts .entry-content {
	color: #9ca3af !important;
	font-size: 14px;
	line-height: 1.7;
	margin: 0 !important;
	padding: 0 24px 24px 0 !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.single .ast-related-posts .entry-content.clear {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding-top: 0 !important;
}

body.single .ast-related-post-excerpt {
	color: #9ca3af !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	margin: 0 0 24px 0 !important;
	padding: 0 24px 0 24px !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left !important;
}

body.single .ast-related-post-excerpt p,
body.single .ast-related-post-excerpt div,
body.single .ast-related-post-excerpt span {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	text-align: left !important;
}

body.single .ast-related-post-excerpt * {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Hide empty excerpt containers to condense card space */
body.single .ast-related-post-excerpt:empty {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

/* Hide excerpt that only contains whitespace (handled by JavaScript, but CSS fallback) */
body.single .ast-related-post-excerpt.tioa-empty-excerpt {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

/* Adjust entry-content when excerpt is hidden */
body.single .ast-related-post .entry-content.clear:has(.ast-related-post-excerpt:empty),
body.single .ast-related-post .entry-content.clear:has(.ast-related-post-excerpt.tioa-empty-excerpt) {
	padding-top: 0 !important;
}

/* If entry-content only contains empty excerpt (no CTA), hide the whole container */
body.single .ast-related-post .entry-content.clear:has(.ast-related-post-excerpt:empty:only-child) {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Read More Button - Match blog card read more button */
body.single .ast-related-post-cta,
body.single .ast-related-post-cta.read-more,
body.single .ast-related-post .entry-content .ast-related-post-cta {
	margin-top: 24px !important;
	flex-shrink: 0 !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	text-align: center !important;
}

body.single .ast-related-post-link,
body.single .ast-related-post-link.ast-button,
body.single .ast-related-post .ast-related-post-link {
	display: inline-block !important;
	padding: 12px 24px !important;
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4) !important;
	visibility: visible !important;
	opacity: 1 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	margin: 0 auto !important;
	text-align: center !important;
}

body.single .ast-related-post-link:hover,
body.single .ast-related-post-link.ast-button:hover,
body.single .ast-related-post .ast-related-post-link:hover {
	background: linear-gradient(135deg, #7c7cf8 0%, #a78bfa 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(99, 102, 241, 0.5) !important;
	color: #ffffff !important;
}

/* Navigation Links - Hidden */
body.single .post-navigation,
body.single .nav-links {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Comment Section - Part of Unified White Container, Seamlessly Connected */
body.single #comments,
body.single .comments-area {
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 50px 0 50px !important;
	color: #000000 !important;
	background: #ffffff !important;
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
	border-radius: 0 !important;
	position: relative !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	clear: both !important;
	overflow: visible !important;
}

/* When comments exist, add bottom padding before comment form */
body.single #comments .comment-list:not(:empty),
body.single .comments-area .comment-list:not(:empty) {
	margin-bottom: 0;
}

body.single #comments:has(.comment-list li),
body.single .comments-area:has(.comment-list li) {
	padding-bottom: 50px !important;
}

body.single .comment-list {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
	color: #000000 !important;
}

/* Comment Form Container - Dark Background, High Contrast, Rounded Bottom Corners */
body.single .comment-respond,
body.single #respond {
	background: rgba(15, 23, 42, 0.95) !important;
	backdrop-filter: blur(15px);
	border: 1px solid rgba(99, 102, 241, 0.4) !important;
	border-radius: 0 0 16px 16px !important;
	border-top: none !important;
	padding: 35px 40px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
	color: #f1f5f9 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	overflow: hidden !important;
}

/* When there are no comments, add top padding to comment form to maintain spacing */
body.single #comments:not(:has(.comment-list li)) .comment-respond,
body.single #comments:not(:has(.comment-list li)) #respond,
body.single .comments-area:not(:has(.comment-list li)) .comment-respond,
body.single .comments-area:not(:has(.comment-list li)) #respond {
	margin-top: 0 !important;
	padding-top: 50px !important;
}

/* When comments exist, add spacing between comments and form */
body.single #comments:has(.comment-list li) .comment-respond,
body.single #comments:has(.comment-list li) #respond,
body.single .comments-area:has(.comment-list li) .comment-respond,
body.single .comments-area:has(.comment-list li) #respond {
	margin-top: 40px !important;
}

/* Comments Title - Clear Section Heading - Aligned with Related Posts */
body.single .comments-title {
	color: #111827 !important;
	font-size: 1.8em !important;
	margin-top: 0 !important;
	margin-bottom: 30px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 15px !important;
	font-weight: 700;
	letter-spacing: -0.3px;
	line-height: 1.3;
	border-bottom: 2px solid #e5e7eb !important;
	background: transparent !important;
}

/* Ensure all text in comment form is visible */
body.single .comment-respond *,
body.single #respond * {
	color: inherit;
}

/* Ensure comment form is visible */
body.single .comment-form,
body.single #commentform {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.single .comment-respond p,
body.single .comment-respond div,
body.single .comment-respond span {
	color: #f1f5f9 !important;
}

/* Comment Reply Title - Visible with High Contrast - White */
body.single .comment-reply-title,
body.single #respond h3,
body.single .comment-respond h3,
body.single #respond .comment-reply-title,
body.single .comment-respond .comment-reply-title,
body.single #reply-title {
	color: #ffffff !important;
	font-size: 1.6em;
	margin-bottom: 25px;
	font-weight: 600;
	letter-spacing: -0.3px;
	display: block !important;
	visibility: visible !important;
	height: auto !important;
}

body.single .comment-reply-title a,
body.single #reply-title a {
	display: none !important;
}

/* Logged In Message - Compact */
body.single .logged-in-as {
	color: #9ca3af;
	margin-bottom: 18px;
	font-size: 0.9em;
	line-height: 1.5;
}

body.single .logged-in-as a {
	color: #a5b4fc;
	text-decoration: none;
	transition: color 0.3s ease;
}

body.single .logged-in-as a:hover {
	color: #c7d2fe;
}

/* Comment Form Fields - High Contrast */
body.single .comment-form-comment textarea,
body.single .comment-form-author input,
body.single .comment-form-email input {
	background: rgba(15, 23, 42, 0.9) !important;
	border: 1px solid rgba(99, 102, 241, 0.4) !important;
	border-radius: 8px;
	color: #ffffff !important;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	width: 100%;
	box-sizing: border-box;
	transition: all 0.2s ease;
	line-height: 1.5;
}

body.single .comment-form-comment textarea {
	min-height: 120px;
	resize: vertical;
	font-size: 14px;
	color: #ffffff !important;
}

body.single .comment-form-author input,
body.single .comment-form-email input {
	font-size: 14px;
}

body.single .comment-form label {
	color: #e0e7ff !important;
	font-size: 0.9em;
	margin-bottom: 8px;
	display: block;
	font-weight: 600;
	letter-spacing: 0;
}

body.single .comment-form label .required {
	color: #f87171;
	margin-left: 3px;
	font-weight: 500;
}

body.single .comment-form p {
	margin-bottom: 18px;
}

body.single .comment-form-author,
body.single .comment-form-email {
	margin-bottom: 18px;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}

body.single .comment-form-author label,
body.single .comment-form-email label {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.single .comment-form-author input[type="text"],
body.single .comment-form-email input[type="email"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
}

body.single .comment-form-comment {
	margin-bottom: 18px;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.single .comment-form-comment textarea {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
}

/* Placeholder Styling */
body.single .comment-form-comment textarea::placeholder,
body.single .comment-form-author input::placeholder,
body.single .comment-form-email input::placeholder {
	color: #6b7280;
	opacity: 0.6;
}

/* Focus States - Subtle */
body.single .comment-form-comment textarea:focus,
body.single .comment-form-author input:focus,
body.single .comment-form-email input:focus {
	outline: none;
	border-color: #6366f1;
	background: rgba(10, 14, 39, 0.85);
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

/* Submit Button - Compact Gradient */
body.single .form-submit {
	margin-top: 8px;
	margin-bottom: 0;
}

body.single .form-submit .submit {
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
	color: #ffffff;
	border: none;
	border-radius: 8px;
	padding: 12px 24px;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
	letter-spacing: 0.2px;
}

body.single .form-submit .submit:hover {
	background: linear-gradient(135deg, #7c7cf8 0%, #a78bfa 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

body.single .form-submit .submit:active {
	transform: translateY(0);
}

/* Comment List - Simple Format */
body.single .comment-list {
	background: #ffffff !important;
	border: none !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
	list-style: none !important;
}

body.single .comment-list li,
body.single .ast-comment-list li {
	background: #ffffff !important;
	display: list-item !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
}

/* Individual Comments - Simple, Clean Format */
body.single .comment,
body.single .ast-comment,
body.single article.comment,
body.single article.ast-comment {
	background: #ffffff !important;
	border: none !important;
	border-top: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	padding: 12px 0 !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	box-shadow: none !important;
	color: #000000 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}

/* Remove top border from first comment */
body.single .comment-list > li:first-child .comment,
body.single .comment-list > li:first-child .ast-comment,
body.single .comment-list > li:first-child article.comment,
body.single .comment-list > li:first-child article.ast-comment,
body.single .ast-comment-list > li:first-child .comment,
body.single .ast-comment-list > li:first-child .ast-comment {
	border-top: none !important;
}

body.single .comment:hover {
	background: #ffffff !important;
	box-shadow: none !important;
}

body.single .comment-body,
body.single .ast-comment-info,
body.single .ast-comment-data-wrap,
body.single .ast-comment-wrap {
	color: #000000 !important;
	background: #ffffff !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	position: relative !important;
}

/* Override any dark backgrounds from Astra for comment cards */
body.single .comment,
body.single .comment-body,
body.single article.comment {
	background: #ffffff !important;
}

/* Ensure all text in comment cards is visible - Force dark colors */
body.single .comment * {
	color: #000000 !important;
}

/* Allow specific elements to override */
body.single .comment .comment-meta,
body.single .comment .comment-meta *,
body.single .comment time,
body.single .comment .timendate {
	color: #666666 !important;
}

body.single .comment p,
body.single .comment div,
body.single .comment span,
body.single .comment a,
body.single .comment strong,
body.single .comment b,
body.single .comment em,
body.single .comment i {
	color: #000000 !important;
}

/* Exception for date/time links */
body.single .comment .comment-meta a,
body.single .comment time,
body.single .comment .timendate a {
	color: #666666 !important;
}

/* Comment Author - Simple Format */
body.single .comment-author,
body.single .ast-comment-author {
	margin-bottom: 2px !important;
	margin-top: 0 !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 10px !important;
	width: auto !important;
	max-width: 100% !important;
}

body.single .comment-author .fn,
body.single .comment-author cite {
	color: #000000 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	font-style: normal;
	letter-spacing: 0;
}

body.single .comment-author .says {
	display: none !important;
}

/* Comment Meta - Simple Format - Show Date Only */
body.single .comment-meta {
	display: block !important;
	visibility: visible !important;
	height: auto !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

/* Comment Date - Show Date Only (Hide Time) */
body.single .comment-meta a,
body.single .comment-meta time,
body.single .timendate,
body.single .timendate a,
body.single .timendate time {
	display: inline-block !important;
	visibility: visible !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	opacity: 1 !important;
	color: #666666 !important;
	font-size: 12px !important;
}

/* Hide time elements specifically */
body.single .ast-comment-time,
body.single .comment-time,
body.single .comment-time *,
body.single time.comment-time,
body.single .ast-comment-meta-wrap time {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
}

/* Comment Content - Simple Format - FORCE VISIBILITY */
body.single .comment-content,
body.single .comment-text,
body.single .ast-comment-content,
body.single section.ast-comment-content,
body.single section.comment {
	color: #000000 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin-top: 4px !important;
	margin-bottom: 0 !important;
	font-weight: 400 !important;
	background: transparent !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}

body.single .comment-content p,
body.single .comment-text p,
body.single .ast-comment-content p,
body.single section.ast-comment-content p,
body.single section.comment p {
	color: #000000 !important;
	margin-bottom: 8px !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	background: transparent !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Force comment text to be visible */
body.single .ast-comment-content.comment,
body.single .ast-comment-content.entry-content {
	color: #000000 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.single .ast-comment-content.comment *,
body.single .ast-comment-content.entry-content * {
	color: #000000 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Override any dark backgrounds from Astra */
body.single .ast-comment-content,
body.single .ast-comment-meta-wrap,
body.single .ast-comment-meta,
body.single .ast-comment-time,
body.single .ast-comment-author,
body.single .ast-comment-author .fn,
body.single .ast-comment-author cite,
body.single .ast-comment-cite-wrap,
body.single .ast-comment-cite-wrap cite {
	background: transparent !important;
	color: #000000 !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
}

/* Ensure all Astra comment text is dark */
body.single .ast-comment * {
	color: #000000 !important;
}

/* Hide time elements specifically - Date is shown above */
body.single .ast-comment-time,
body.single .ast-comment-time * {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.single .comment-content p:last-child,
body.single .comment-text p:last-child {
	margin-bottom: 0;
}

/* Force Astra comment content section to be visible */
body.single .ast-comment section.ast-comment-content,
body.single .ast-comment section.comment {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	color: #000000 !important;
}

body.single .ast-comment section.ast-comment-content *,
body.single .ast-comment section.comment * {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #000000 !important;
}

body.single .ast-comment section.ast-comment-content p,
body.single .ast-comment section.comment p {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #000000 !important;
	margin-bottom: 8px !important;
}

/* Force all comment section text to be dark and readable */
body.single #comments *,
body.single .comments-area * {
	color: #000000 !important;
}

/* Exception: Comment form should have white text */
body.single #respond *,
body.single .comment-respond * {
	color: #ffffff !important;
}

/* Exception: Comment form title should be white */
body.single #respond h3,
body.single .comment-respond h3,
body.single .comment-reply-title {
	color: #ffffff !important;
}

/* Show date but hide time elements */
body.single #comments .comment-meta,
body.single #comments .comment-meta *,
body.single #comments time,
body.single #comments .timendate,
body.single .comments-area .comment-meta,
body.single .comments-area .comment-meta *,
body.single .comments-area time,
body.single .comments-area .timendate {
	display: inline-block !important;
	visibility: visible !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	color: #666666 !important;
	font-size: 12px !important;
}

/* Hide time elements specifically */
body.single #comments .ast-comment-time,
body.single .comments-area .ast-comment-time,
body.single #comments .comment-time,
body.single .comments-area .comment-time {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Ensure comment author names are visible */
body.single #comments .comment-author,
body.single #comments .comment-author *,
body.single #comments .fn,
body.single #comments cite,
body.single .comments-area .comment-author,
body.single .comments-area .comment-author *,
body.single .comments-area .fn,
body.single .comments-area cite {
	color: #000000 !important;
	font-weight: 500 !important;
}

/* Comment Actions - Hidden (No Replies) */
body.single .comment-reply-link,
body.single .comment-edit-link,
body.single .comment .reply {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Comment Avatar - Simple Format */
body.single .comment-avatar,
body.single .comment-author img,
body.single .ast-comment-author img,
body.single .avatar {
	border-radius: 50% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	border: none !important;
	width: 40px !important;
	height: 40px !important;
	background: #e0e7ff !important;
	flex-shrink: 0 !important;
	display: block !important;
}

/* Hide "Required fields are marked" text */
body.single .comment-notes,
body.single .required-field-message,
body.single .comment-form .required-field-message,
body.single .comment-notes:before,
body.single .comment-notes:after {
	display: none !important;
	content: none !important;
}

/* Hide removed form fields (name, email, website, cookies) */
body.single .comment-form-author,
body.single .comment-form-email,
body.single .comment-form-url,
body.single .comment-form-cookies-consent {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Hide rating/review elements */
body.single .comment-rating,
body.single .star-rating,
body.single .rating,
body.single .review-rating,
body.single .comment-form-rating {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Hide nested/threaded comments */
body.single .children,
body.single .comment .comment {
	display: none !important;
}

/* Hide reply form containers (nested comment replies only, NOT the main comment form) */
body.single .comment-respond.comment-reply {
	display: none !important;
}

/* Author Archive Pages - Dark Theme */
body.author .ast-container,
body.author .site-main,
body.author #primary,
body.author .ast-separate-container {
	background: transparent !important;
	background-color: transparent !important;
}

/* Hide Astra's default author box and old custom author header on author pages */
body.author .ast-author-box,
body.author .ast-archive-description,
body.author .ast-archive-title,
body.author .page-title.ast-archive-title,
body.author section.ast-archive-description,
body.author .ast-taxonomy-banner-wrap,
body.author .ast-author-box h1,
body.author .ast-author-box p,
body.author .ast-separate-container .ast-archive-description,
body.author #primary .ast-archive-description,
body.author .site-main .ast-archive-description,
body.author .ast-container .ast-archive-description,
body.author .ast-separate-container .ast-container .ast-archive-description,
body.author article .ast-archive-description,
body.author .entry-content .ast-archive-description,
body.author .tioa-author-header {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Hide white background containers on author pages */
body.author .ast-separate-container,
body.author .ast-container,
body.author #primary > section,
body.author .site-main > section {
	background: transparent !important;
	background-color: transparent !important;
}

/* Specifically target any section elements that might have white backgrounds on author pages */
body.author section:not(.tioa-author-results-header):not(.tioa-category-filter) {
	background: transparent !important;
}

/* Remove empty space from astra_primary_content_top on author pages */
body.author #primary > .ast-primary-content-top,
body.author .ast-primary-content-top,
body.author #primary > section:empty,
body.author #primary > div:empty:not(.tioa-author-results-header):not(.tioa-category-filter):not(.tioa-blog-grid-container),
body.author .ast-primary-content-bottom,
body.author #primary > .ast-primary-content-bottom {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Remove padding/margin from #primary container on author pages */
body.author #primary {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Remove padding from .ast-container wrapper on author pages */
body.author .ast-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Remove padding from #content and .site-content on author pages */
body.author #content,
body.author .site-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Remove padding from .ast-container on author pages */
body.author .ast-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Ensure category filter has proper padding and spacing on author pages (not compressed) */
body.author #primary .tioa-category-filter,
body.author .ast-container .tioa-category-filter,
body.author .tioa-category-filter {
	margin-top: 40px !important;
	padding-top: 25px !important;
	padding-bottom: 25px !important;
	margin-bottom: 50px !important;
}

/* Remove any spacing from content-before and content-top hooks */
body.author .ast-content-before-wrap,
body.author .ast-content-before,
body.author .ast-content-top-wrap,
body.author .ast-content-top {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Target any divs/sections that might be added by astra_content_before() or astra_content_top() */
body.author #content > div:first-child:not(.tioa-author-results-header):not(.tioa-category-filter):not(.tioa-blog-grid-container),
body.author .ast-container > div:first-child:not(.tioa-author-results-header):not(.tioa-category-filter):not(.tioa-blog-grid-container),
body.author .site-content > div:first-child:not(.tioa-author-results-header):not(.tioa-category-filter):not(.tioa-blog-grid-container) {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Category filter container should maintain normal spacing on author pages */

/* Remove any spacing between category filter and author header */
body.author .tioa-category-filter + .tioa-author-results-header,
body.author .tioa-category-filter ~ .tioa-author-results-header {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Remove spacing from #primary container and its direct children on author pages */
body.author #primary {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.author #primary > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Ensure author header has no top spacing */
body.author .tioa-author-results-header:first-child,
body.author #primary > .tioa-author-results-header,
body.author .tioa-author-results-header {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Remove any gap between elements in #primary on author pages */
body.author #primary > * {
	margin-top: 0 !important;
}

body.author #primary > .tioa-category-filter ~ * {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Category filter should maintain normal spacing on author pages */

body.author .tioa-author-results-header {
	line-height: 1.3 !important;
}

/* Ensure no spacing from border-bottom on category filter */
body.author .tioa-category-filter {
	border-bottom: none !important;
}

/* Remove any spacing that might come from astra_primary_class() classes */
body.author #primary[class*="ast-"] {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Author Results Header - Dark Theme (similar to search results) */
body.author .tioa-author-results-header {
	text-align: center;
	margin: 0 !important;
	padding: 0 20px 30px 20px !important;
	background: transparent !important;
}

body.author .tioa-author-results-header .tioa-author-title {
	font-size: 32px;
	font-weight: 700;
	color: #e0e7ff;
	text-align: center;
	margin: 0 0 10px 0 !important;
	line-height: 1.3;
	padding: 0 !important;
}

body.author .tioa-author-results-header .tioa-author-subtitle {
	font-size: 16px;
	color: #9ca3af;
	text-align: center;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.6;
}

/* Remove extra space above entry-header in single posts */
body.single .entry-header {
	margin-top: 0;
	padding-top: 50px;
}

body.single .comment-notes {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
}

/* Responsive Design for Single Posts */
@media (max-width: 768px) {
	/* Reduce padding on mobile */
	body.single .ast-single-post,
	body.single article.post,
	body.single article.type-post,
	body.single .ast-article-single {
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		border-radius: 0;
	}
	
	body.single .entry-header {
		padding: 30px 25px 20px 25px;
	}
	
	body.single .tioa-reading-container {
		padding: 30px 25px !important;
	}
	
	body.single .entry-title {
		font-size: 2em;
	}
	
	body.single .tioa-reading-container {
		font-size: 16px;
	}
	
	body.single .tioa-reading-container p {
		font-size: 16px;
	}
	
	body.single .tioa-reading-container h1 {
		font-size: 1.875em;
	}
	
	body.single .tioa-reading-container h2 {
		font-size: 1.5em;
	}
	
	body.single #comments,
	body.single .ast-single-related-posts-container {
		padding-left: 0;
		padding-right: 0;
	}
	
	body.single .tioa-back-to-blog {
		padding: 0 20px;
	}
}

/* Additional single post white background overrides */
body.single .ast-separate-container .ast-article-single,
body.single .ast-separate-container .ast-article-inner,
body.single .ast-separate-container .ast-single-post,
body.single .ast-separate-container article {
	background: rgba(15, 20, 41, 0.7) !important;
}

/* Ensure comment form textarea and inputs are dark with white text */
body.single #respond textarea,
body.single .comment-respond textarea,
body.single #respond input[type="text"],
body.single .comment-respond input[type="text"],
body.single #respond input[type="email"],
body.single .comment-respond input[type="email"],
body.single #respond input[type="url"],
body.single .comment-respond input[type="url"] {
	background-color: rgba(10, 14, 39, 0.8) !important;
	color: #ffffff !important;
}

body.single textarea::placeholder,
body.single input::placeholder {
	color: #8b92b8 !important;
}
