/*
Theme Name: Graceful Times Blog
Theme URI: https://optimathemes.com/graceful-times-blog-theme/
Author: Aslam
Author URI: http://optimathemes.com/
Description: Graceful Times Blog is a clean, modern, and fully responsive multi-purpose WordPress theme designed for bloggers and creators of all kinds. Whether you run a lifestyle, fashion, travel, tech, health, fitness, beauty, food, personal, or professional blog, this theme adapts beautifully to any niche. With a minimal aesthetic and fast, lightweight structure, Graceful Times Blog offers a seamless reading experience across all devices and is fully Retina-ready. It is optimized for SEO, compatible with WooCommerce, and includes built-in RTL (Right-to-Left) language support. Perfect for bloggers who want a stylish, flexible, and user-friendly theme that works right out of the box.
Template: graceful
Version: 1.0.1
Requires at least: 5.3
Tested up to: 6.9
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: graceful-times-blog
Tags: blog, one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, custom-logo, featured-images, footer-widgets, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, e-commerce
*/

/*
Customization of this theme starts here
*/

/* style.css */

/*--------------------------------------------------------------
Header Sections
--------------------------------------------------------------*/

.post-header {
    margin-top: 20px;
    text-align: left;
}

.site-branding a {
    font-size: 48px;
}

.post-categories {
    background: #d4c9e8;
}

.blog .post-title {
    font-size: 34px;
    line-height: 38px;
}

.blog article .post-meta {
    margin-bottom: 10px;
}

.blog .post-page-content {
    padding-top: 10px;
}

aside .graceful-widget h2, 
.graceful-widget .widget-title {
    border-bottom: 1px solid #a38b7c;
    font-weight: 600;
    padding: 9px 5px 7px;
}

aside .graceful-widget h2::after, 
.graceful-widget .widget-title::after {
    border-top: 8px solid #a38b7c;
}

#graceful-post-slider .owl-stage-outer:after {
    background-color: #d4c9e8;
}

#graceful-post-slider .owl-nav {
    background-color: #d4c9e8;
}

.post-title {
    word-wrap: break-word;
}

.graceful-slider-info {
    padding: 20px;
}

.graceful-slider-title {
    font-size: 32px;
    word-wrap: break-word;
}

#primary .continue-read a {
    border: 1px solid #111111;
    color: #000000;
    text-decoration: none;
    font-weight: bold;
    line-height: 34px;
    text-transform: capitalize;
}

#primary .continue-read a:hover {
    background: #f1f1f1;
}

@media screen and (max-width: 480px) {
    .graceful-slider-title {
        width: 300px;
    }
}

.site-images {
    min-height: 0;
}


.single .post-date {
    color: #111111 !important;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
}

.single .post-title-author { 
    color: #111111 !important;
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: normal;
}

.blog article .post-date {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
}

.blog article .post-header .post-meta a {
    font-family: 'Open Sans', sans-serif;  
    font-size: 13px; 
}

.content-column > li {
    margin-bottom: 40px;
}

.post-footer{
    border-bottom: 1px solid #eeeeee;
}

@media screen and (max-width: 480px) {
    .content-column > li {
        width: 100%;
    }
}

/* Top Navigation
   ========================================================================== */

.grace-latest {
    text-align: center;
    background: #d4c9e8;
    padding: 7px;
    font-size: 20px;
    margin-bottom: 36px;
}

.main-navigation-sidebar {
  position: absolute;
  top: 0px;
  left: <?php echo esc_html( graceful_options( 'basic_content_padding' ) ) ?>px;
  z-index: 1;
}
            
.main-navigation-search {
  position: absolute;
  top: 0px;
  right: <?php echo esc_html( graceful_options( 'basic_content_padding' ) ) ?>px;
  z-index: 2;
}

/* ⚠️ REGRESSION GUARD: Keep header transparent to show WebGL background */
#top-navigation {
  text-align: center;
  box-shadow: 0px 1px 5px rgba(0,0,0, 0.2);
  border-bottom: 1px solid rgba(159, 168, 218, 0.3);
  background: rgba(15, 10, 25, 0.7) !important; /* Translucent dark - shows WebGL */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#top-navigation {
    border-bottom: 1px solid rgba(159, 168, 218, 0.2);
}

#top-menu {
  display: inline-block;
}

#top-menu a:focus {
  outline: 3px dotted #000000 !important;
}

#top-menu li {
  position: relative;
}

#top-menu li.menu-item-has-children>a:after {
    font-family: FontAwesome;
    content: "\f107";
    margin-left: 6px;
    font-size: 12px;
}

#top-menu ul li.menu-item-has-children>a:after {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    float: right;
}

#top-menu > li {
  display: inline-block;
  list-style: none;
}

#top-menu li a {
  display: block;
  position: relative;
  padding: 0 5px;
  margin-left: 5px;
}

#top-menu li a {
  color: #000000;
}

#top-menu ul li a {
  color: #000000;
}

#top-menu li a:first-child {
  margin-left: 0;
}

#top-menu > li > a {
  display: block;
  text-decoration: none;
}

#top-menu > li:first-child > a {
  padding-left: 0px;
}

#top-menu > li:last-child > a {
  padding-right: 0px;
}

#top-menu ul ul {
  top: -1px;
  left: 100%;
}

#top-menu .menu-item:hover > ul, #top-menu .menu-item:focus-within > ul {
  left: 0;
  opacity: 1;
}

#top-menu .menu-item:hover ul ul, #top-menu .menu-item:focus-within ul ul{
  left: 100%;
}

#top-menu .sub-menu {
  position: absolute;
  left: -999em;
  z-index: 1101;
  width: 170px;
  text-align: left;
  border: 1px solid #e4e4e4;
  border-width: 1px;
  opacity: 0;
}

#top-menu .sub-menu a {
  border-bottom: 1px solid #ddd;
}

#top-menu .sub-menu > li:last-of-type > a {
  border: none;
}

#top-menu .sub-menu li:first-child > .sub-menu {
  margin-top: -1px;
}

#top-menu .sub-menu > li > a {
  display: block;
  width: 100%;
  padding: 8px 15px;
  margin: 0;
}

#top-menu li a {
  font-size: 11px;
  line-height: 40px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
}
#top-menu .sub-menu > li > a {
  font-size: 11px;
  line-height: 24px;
  letter-spacing: 0.5px;
  background: #ffffff;
}

#top-menu li a {
  font-size: 11px;
  line-height: 40px;
  letter-spacing: 1px;
  font-weight: 600;
}
#top-menu .sub-menu > li > a {
  font-size: 11px;
  line-height: 22px;
  letter-spacing: 0.5px;
}

#top-menu li a,
#main-menu li a {
  text-transform: uppercase;
}

#top-navigation > div {
  padding-left: 30px;
  padding-right: 30px;
}

/* ⚠️ REGRESSION GUARD: Keep main nav transparent to show WebGL background */
#main-navigation {
    background: rgba(20, 15, 30, 0.75) !important; /* Translucent dark - shows WebGL */
    border-bottom: 1px solid rgba(159, 168, 218, 0.3);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.entry-header {
    height: 150px;
    border-bottom: 1px solid #eeeeee;
}

.main-content {
    margin-top: 20px;
}

aside .wp-block-latest-posts.wp-block-latest-posts__list li {
    border-bottom: 1px solid #000000;
}

.wp-block-search__label {
    display: none;
}

/* Media Query Min 768px
   ========================================================================== */
@media screen and (min-width: 768px) {
    .blog .post-page-content p {
        padding: 0;
    }
    #main-navigation .wrapped-content {
        padding-left: 0;
    }
    .main-navigation-search {
        right: 0;
    }
    #main-navigation .navigation-socials {
        right: 35px;
    }
}


#graceful-post-slider {
    padding-left: 40px;
    padding-right: 40px;
}

#graceful-post-slider.wrapped-content {
    padding-left: 0;
    padding-right: 0;
}


#site-footer {
    border-top: 1px solid #d5cfc4;
    background: #d4c9e8;
}

.graceful-hb-col {
    position: relative;
    float: left;
    width: 100%;
}

.graceful-hb-col:first-child {
    text-align: right;
}

.graceful-hb-col:last-child {
    min-height: 500px;
}

.graceful-hb-col img {
    width: 400px;
    height: 400px;
    margin: 50px;
    text-align: right;
}

.graceful-hb-col h2 {
    font-size: 42px;
    margin-bottom: 20px;
}

.graceful-hb-col a {
    padding: 10px 20px;
    background: #333333;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: bold;
}

.graceful-hb-col:first-child::after {
    content: '';
    background: #d4c9e8;
    width: 400px;
    height: 400px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}

.graceful-hb-col-inner {
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 40px;
}

@media screen and (min-width: 768px) {
    
    .wrapped-content .main-navigation-search {
        right: 0;
    }
    #main-navigation .wrapped-content .navigation-socials {
        right: 35px;
    }

    .main-navigation-search {
        right: 35px;
    }
    #main-navigation .navigation-socials {
        right: 75px;
    }
    .graceful-hb-col {
        width: 49%;
    }
}

.graceful-widget .graceful-recent-image-box a {
    font-size: 14px;
}


#graceful-post-slider .slide-item {
    background-size: cover;
    height: 420px;
}

.single .post-page-content {
    padding: 0px 0px 10px;
}

#responsive-menu .sub-menu > li {
    background: #eeeeee;
}

#responsive-menu .sub-menu > li li {
    background: #cccccc;
}

.close-graceful-search {
    background: #000000;
}

#site-menu li a {
    font-family: 'Open Sans', sans-serif;
}

aside .graceful-widget h2 {
    font-family: Open Sans, sans-serif;
}

#graceful-hero-banner-wrap {
    margin-top: 20px;
}

@media screen and (max-width: 480px) {
    .main-navigation-search {
        right: 20px;
    }
    .graceful-hb-col img {
        width: 300px;
        height: 300px;
        text-align: center;
    }
    .graceful-hb-col:last-child {
        min-height: 300px;
    }
    .graceful-hb-col:first-child::after {
        left: 0;
        width: 100%;
    }
    .graceful-hb-col:first-child {
        text-align: center;
    }
}

@media (min-width:700px) and (max-width:900px) {
    .graceful-hb-col img {
        width: 340px;
        height: 340px;
    }
    .graceful-hb-col:first-child {
        text-align: center;
    }
    .graceful-hb-col:first-child::after {
        display: none;
    }
    .graceful-hb-col:last-child {
        min-height: 200px;
        text-align: center;
    }
}

.graceful-hb-col a:focus {
    outline: 2px dotted #000000 !important;
}

.graceful-hb-col h2 {
    max-width: 504px;
}

.close-graceful-search {
    background: #dddddd;
    border: 1px solid #aaaaaa;
}

.graceful-widget h2 {
    background: #d4c9e8 !important;
}

#site-footer .graceful-widget h2 {
    padding: 3px 5px 2px;
    background: #e9e6df !important;
}


/*--------------------------------------------------------------
Times Post Slider CSS
--------------------------------------------------------------*/
.times-slider-container {
    font-family: sans-serif;
    margin: 40px auto;
}
.times-slider-carousel {
    position: relative;
}
.times-slide {
    display: flex;
    height: 600px;
    overflow: hidden;
}
.times-slide-left {
    width: 50%;
    background-color: #e1dbd1;
    padding: 60px 40px;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    position: relative;
    text-align: center;
    align-items: center;
    order: 2;
}
.times-slide-left-content small {
    font-size: 0.75rem;
    position: relative;
    display: inline-block;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.times-spacer {
    position: relative;
    height: 50px;
    text-align: center;
}

.times-spacer hr {
    border-top-width: 2px;
    border-top-color: var(--global-palette9, #ffffff);
    width: 12%;
    border-top: solid 2px #fff;
    position: absolute;
    top: 33%;
    left: 50%;
    margin: 0;
    padding: 0;
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    transform: perspective(1px) translate(-50%, -50%);
}

.times-slide-left-content h2 {
    font-size: 2.2rem;
    margin: 0 0 2rem 0;
    line-height: 1.3;
    font-family: 'Playfair Display', sans-serif;
}
.times-slide-left-content h2 a {
    text-decoration: none;
    color: inherit;
}
.times-slide-left-content p {
    margin: 0 20px 2.5rem;
    line-height: 1.8;
    font-size: 1.1rem;
}
.times-read-button {
    display: inline-block;
    padding: 0.65rem 1.55rem;
    background: #ffffff;
    color: #000000 !important;
    text-decoration: none;
    width: fit-content;
    font-size: 12px;
    text-transform: uppercase;
}
.times-slide-nav {
    color: #fff;
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    margin: 0;
    padding: 0.75rem 1rem;
    position: absolute;
    top: 43%;
    left: 0;
    right: 0;
    width: 108%;
    margin-left: -47px;
}
.times-slide-nav span {
    cursor: pointer;
    color: #a38b7c;
    font-size: 41px;
}
.times-slide-right {
    width: 50%;
    position: relative;
    background: #eeeeee;
    order: 1;
}
.times-slide-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    .times-slide {
        flex-direction: column;
        height: auto;
    }
    .times-slide-left {
        width: 100%;
        height: 420px;
    }
    .times-slide-right {
        width: 100%;
        height: 300px;
    }
    .times-slide-left {
        padding: 30px 20px;
    }
    .times-slide-left-content h2 {
        font-size: 1.8rem;
    }
    .times-slide-left-content p {
        font-size: 0.9rem;
    }
    .times-slide-left-content p {
        margin: 0 0 1.5rem;
        line-height: 1.5;
        font-size: 0.9rem;
        max-width: 90%;
    }
}



/*--------------------------------------------------------------
Times Latest Post Section CSS
--------------------------------------------------------------*/
:root {
	--times-posts-stripe: #d4c9e8;
}

.times-posts-section {
	width: 100%;
	position: relative;
	padding: 20px 30px 30px;
	background: #ffffff;
	box-sizing: border-box;
}



/* Full width - no max-width constraint */
.times-posts-section .times-posts-wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 1;
}

/* Boxed width - constrained */
.times-posts-section.wrapped-content {
	max-width: 1200px;
	margin: 0 auto;
}

.times-posts-section.wrapped-content .times-posts-wrapper {
	max-width: 100%;
}

.times-posts-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.times-posts-card {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background: #ffffff;
}

.times-posts-card:hover .times-posts-card-image {
	transform: scale(1.02);
}

.times-posts-card-link {
	display: block;
	position: relative;
	height: 420px;
	text-decoration: none;
	color: inherit;
}

.times-posts-card-link:focus {
	outline: 3px solid #a38b7c;
	outline-offset: 2px;
}

.times-posts-card-image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center top;
	background-color: #d4c9e8;
	transition: transform 0.4s ease;
}

.times-posts-thumb--placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, #c4b9d8 0%, #d4c9e8 100%);
}

.times-posts-card-overlay {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	background: rgba(255, 255, 255, 0.9);
	padding: 18px 16px 16px;
	min-height: 110px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-align: left;
	border-radius: 6px;
}

.times-posts-kicker {
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #c9a87c;
	font-weight: 600;
	margin-bottom: 6px;
	font-family: 'Open Sans', sans-serif;
}

.times-posts-title {
	margin: 0 0 8px 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
	color: #222222;
	font-family: 'Playfair Display', serif;
}

.times-posts-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: #888888;
	font-family: 'Open Sans', sans-serif;
}

.times-posts-author,
.times-posts-date {
	font-size: 11px;
	color: #555555;
}

.times-posts-separator {
	color: #cccccc;
	font-size: 10px;
}

/* Tablet - 2 columns */
@media (max-width: 1024px) {
	.times-posts-section {
		padding: 25px 30px 70px;
	}

	.times-posts-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.times-posts-card-link {
		height: 380px;
	}
}

/* Mobile - Single column */
@media (max-width: 600px) {
	.times-posts-section {
		padding: 20px 15px 60px;
	}

	.times-posts-grid {
		grid-template-columns: 1fr; /* Single column on mobile */
		gap: 12px;
	}

	.times-posts-card-link {
		height: 260px;
	}

	.times-posts-card-overlay {
		padding: 16px 12px 14px;
		min-height: 80px;
	}

	.times-posts-kicker {
		font-size: 10px;
		margin-bottom: 5px;
	}

	.times-posts-title {
		font-size: 15px;
		line-height: 1.25;
		margin-bottom: 6px;
	}

	.times-posts-meta {
		font-size: 9px;
		gap: 4px;
	}

	.times-posts-author,
	.times-posts-date {
		font-size: 9px;
	}
}

.graceful-times-category-title {
    margin-bottom: 20px;
    background: #d4c9e8;
    border-bottom: 1px solid #a38b7c;
    display: inline-block;
    padding-bottom: 1px;
    text-align: center;
    width: 100%;
    font-size: 28px;
    padding: 2px 0 4px;
}


/*--------------------------------------------------------------
Social Media Widget CSS
--------------------------------------------------------------*/
.graceful-times-social-media-widget {
	text-align: center;
}

.graceful-times-social-media-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 15px;
}

.graceful-times-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #f5f3ef;
	color: #333333;
	border-radius: 50%;
	text-decoration: none;
	transition: all 0.3s ease;
	font-size: 18px;
}

.graceful-times-social-link:hover {
	background: #888561;
	color: #ffffff;
	transform: translateY(-2px);
}

.graceful-times-social-link:focus {
	outline: 2px solid #888561;
	outline-offset: 2px;
}

.graceful-times-social-link i {
	line-height: 1;
}

.graceful-times-social-link svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.graceful-times-x-icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

/* Individual platform colors on hover (optional) */
.graceful-times-social-facebook:hover {
	background: #1877f2;
}

.graceful-times-social-twitter:hover {
	background: #000000;
}

.graceful-times-social-instagram:hover {
	background: #e4405f;
}

.graceful-times-social-twitch:hover {
	background: #9146ff;
}

.graceful-times-social-linkedin:hover {
	background: #0077b5;
}

.graceful-times-social-pinterest:hover {
	background: #bd081c;
}

.graceful-times-social-youtube:hover {
	background: #ff0000;
}


/*--------------------------------------------------------------
Blog Listing 2 Column Layout
--------------------------------------------------------------*/
/* ⚠️ REGRESSION GUARD: Masonry-style layout - posts auto-height, no forced stretching */
.blog .content-column,
.archive .content-column,
.search .content-column {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: auto; /* Auto height rows - key to masonry */
	gap: 28px;
	align-items: start; /* Align to top, don't stretch */
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog .content-column > li,
.archive .content-column > li,
.search .content-column > li {
	margin-bottom: 0;
	width: 100%;
	height: auto; /* Let content determine height */
}

.blog article,
.archive article,
.search article {
	height: auto !important; /* Auto height - masonry style */
	display: flex;
	flex-direction: column;
	text-align: left;
}

.blog .site-images,
.archive .site-images,
.search .site-images {
	margin-bottom: 20px;
}

.blog .site-images img,
.archive .site-images img,
.search .site-images img {
	border-radius: 8px;
}

.blog .post-categories,
.archive .post-categories,
.search .post-categories {
	margin-bottom: 12px;
	text-align: left;
}

.blog .post-title,
.archive .post-title,
.search .post-title {
	font-size: 28px;
	line-height: 1.3;
	margin-bottom: 15px;
	text-align: left;
}

/* ⚠️ REGRESSION GUARD: Content doesn't grow - only as tall as needed */
.blog .post-page-content,
.archive .post-page-content,
.search .post-page-content {
	flex-grow: 0; /* Don't expand to fill space - masonry style */
	margin-bottom: 20px;
	text-align: left;
}

.blog .post-page-content p,
.archive .post-page-content p,
.search .post-page-content p {
	color: #666666;
	line-height: 1.7;
	font-size: 15px;
	text-align: left;
}

/* ⚠️ REGRESSION GUARD: Continue Reading button at end of post content */
.blog .continue-read,
.archive .continue-read,
.search .continue-read {
	margin-top: 16px; /* Space above button */
	padding-top: 16px; /* Extra visual separation */
	text-align: left;
	border-top: 1px solid rgba(159, 168, 218, 0.15); /* Subtle separator */
}

.blog .continue-read a,
.archive .continue-read a,
.search .continue-read a {
	display: inline-block;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #333333;
	text-decoration: none;
	transition: color 0.3s ease;
}

.blog .continue-read a:hover,
.archive .continue-read a:hover,
.search .continue-read a:hover {
	color: #888561;
}

/* Tablet - maintain 2 columns */
@media (max-width: 1024px) {
	.blog .content-column,
	.archive .content-column,
	.search .content-column {
		gap: 30px;
	}

	.blog .post-title,
	.archive .post-title,
	.search .post-title {
		font-size: 24px;
	}
}

/* Mobile - single column */
@media (max-width: 768px) {
	.blog .content-column,
	.archive .content-column,
	.search .content-column {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.blog .post-title,
	.archive .post-title,
	.search .post-title {
		font-size: 26px;
	}
}


/*--------------------------------------------------------------
Featured Categories Section CSS
--------------------------------------------------------------*/
.graceful-times-featured-categories {
	width: 100%;
	position: relative;
	padding: 50px 30px;
	background: #d4c9e8;
	box-sizing: border-box;
}

.graceful-times-featured-categories.wrapped-content {
	max-width: 1200px;
	margin: 0 auto;
}

.graceful-times-featured-categories-wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

.graceful-times-featured-categories-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}

.graceful-times-featured-cat-item {
	flex: 0 0 calc(25% - 23px);
	max-width: calc(25% - 23px);
}



.graceful-times-featured-cat-link {
	display: block;
	position: relative;
	height: 350px;
	text-decoration: none;
	color: inherit;
	border-radius: 8px;
	overflow: hidden;
}

.graceful-times-featured-cat-link:focus {
	outline: 3px solid #888561;
	outline-offset: 2px;
}

.graceful-times-featured-cat-image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	background-color: #f5f3ef;
	transition: transform 0.4s ease;
}

.graceful-times-featured-cat-link:hover .graceful-times-featured-cat-image {
	transform: scale(1.05);
}

.graceful-times-featured-cat-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #c4b9d8 0%, #f5f3ef 100%);
}

.graceful-times-featured-cat-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s ease;
    margin: 20px;
}

.graceful-times-featured-cat-link:hover .graceful-times-featured-cat-overlay {
	background: rgba(0, 0, 0, 0.5);
}

.graceful-times-featured-cat-name {
	color: #ffffff !important;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin: 0;
	font-family: 'Open Sans', sans-serif;
	text-align: center;
	padding: 0 20px;
}

/* Tablet - 2 columns */
@media (max-width: 1024px) {
	.graceful-times-featured-categories {
		padding: 30px 30px 50px;
	}

	.graceful-times-featured-cat-item {
		flex: 0 0 calc(50% - 15px);
		max-width: calc(50% - 15px);
	}

	.graceful-times-featured-categories-grid {
		gap: 25px;
	}

	.graceful-times-featured-cat-link {
		height: 300px;
	}
}

/* Mobile - 1 column */
@media (max-width: 768px) {
	.graceful-times-featured-categories {
		padding: 20px 15px 40px;
	}

	.graceful-times-featured-cat-item {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.graceful-times-featured-categories-grid {
		gap: 20px;
	}

	.graceful-times-featured-cat-link {
		height: 280px;
	}

	.graceful-times-featured-cat-name {
		font-size: 16px;
		letter-spacing: 1.5px;
	}
}


/* Force reload - test */
.times-posts-card { border-radius: 8px !important; }
.times-posts-card-overlay { border-radius: 6px !important; }
.blog .site-images img, .archive .site-images img, .search .site-images img { border-radius: 8px !important; }
.graceful-times-featured-cat-link { border-radius: 8px !important; }


/* Dark overlay option - uncomment to enable */
/*
.times-posts-card-overlay {
	background: rgba(0, 0, 0, 0.85) !important;
	color: #ffffff !important;
}
.times-posts-title,
.times-posts-kicker,
.times-posts-author,
.times-posts-date {
	color: #ffffff !important;
}
*/

/* WebGL Background Canvas */
#webgl-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.15;
    pointer-events: none;
}

/* Dark overlay on post cards - ENABLED */
.times-posts-card-overlay {
	background: rgba(0, 0, 0, 0.85) !important;
	color: #ffffff !important;
}
.times-posts-title,
.times-posts-kicker,
.times-posts-author,
.times-posts-date,
.times-posts-price {
	color: #ffffff !important;
}

/* FORCE WebGL visibility - testing */
#webgl-background {
    opacity: 0.8 !important; /* Make it super visible for testing */
}

/* FORCE dark overlays with higher specificity */
.times-posts-section .times-posts-card .times-posts-card-overlay {
	background: rgba(0, 0, 0, 0.85) !important;
}
.times-posts-section .times-posts-card .times-posts-title,
.times-posts-section .times-posts-card .times-posts-kicker,
.times-posts-section .times-posts-card .times-posts-author,
.times-posts-section .times-posts-card .times-posts-date,
.times-posts-section .times-posts-card .times-posts-price,
.times-posts-section .times-posts-card .times-posts-meta {
	color: #ffffff !important;
}

/* Make body transparent for WebGL background */
body {
	background: transparent !important;
}

#site-container {
	background: transparent !important;
}



/* 4. TEXT COLORS FOR DARK BACKGROUNDS */

/* Widget titles and headings */
.graceful-widget h2,
.graceful-widget .widget-title,
#site-footer .graceful-widget h2,
aside .graceful-widget h2 {
    color: #e0e0e0 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(159, 168, 218, 0.3) !important;
}

/* Remove brown triangle arrows */
aside .graceful-widget h2::after,
.graceful-widget .widget-title::after {
    display: none !important;
}

/* Footer text */
#site-footer,
#site-footer a,
#site-footer p {
    color: #e0e0e0 !important;
}

/* Navigation text */
#main-navigation a,
#top-navigation a {
    color: #e0e0e0 !important;
}

#main-navigation a:hover,
#top-navigation a:hover {
    color: #9fa8da !important;
}

/* Sidebar text */
.sidebar-right,
.sidebar-right p,
.sidebar-right li {
    color: #e0e0e0 !important;
}

/* Post card text - ensure it's readable */
.times-posts-title,
.times-posts-kicker,
.times-posts-author,
.times-posts-date,
.times-posts-price {
    color: #ffffff !important;
}

/* Blog listing text */
.blog article .post-title a,
.archive article .post-title a {
    color: #ffffff !important;
}

.blog article .post-meta,
.archive article .post-meta,
.blog article .post-date,
.archive article .post-date,
.post-meta,
.post-date {
    color: #ffffff !important; /* White for visibility on dark backgrounds */
}

/* 5. ACCENT COLOR UPDATES (Brown → Cyan) */

/* Social widget icons */
.graceful-times-social-link {
    background: rgba(30, 15, 45, 0.8) !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(159, 168, 218, 0.2) !important;
}

.graceful-times-social-link:hover {
    background: transparent !important;
    border-color: #9fa8da !important;
    color: #9fa8da !important;
    box-shadow: 0 0 15px rgba(159, 168, 218, 0.4) !important;
    transform: translateY(-2px);
}

/* Platform-specific hover colors */
.graceful-times-social-facebook:hover {
    border-color: #1877f2 !important;
    color: #1877f2 !important;
    box-shadow: 0 0 15px rgba(24, 119, 242, 0.4) !important;
}

.graceful-times-social-instagram:hover {
    border-color: #e4405f !important;
    color: #e4405f !important;
    box-shadow: 0 0 15px rgba(228, 64, 95, 0.4) !important;
}

.graceful-times-social-twitch:hover {
    border-color: #9146ff !important;
    color: #9146ff !important;
    box-shadow: 0 0 15px rgba(145, 70, 255, 0.4) !important;
}

/* Buttons and links */
.times-read-button,
#primary .continue-read a {
    background: rgba(159, 168, 218, 0.15) !important;
    border: 1px solid #9fa8da !important;
    color: #9fa8da !important;
}

.times-read-button:hover,
#primary .continue-read a:hover {
    background: rgba(159, 168, 218, 0.25) !important;
    box-shadow: 0 0 15px rgba(159, 168, 218, 0.4);
}

/* Focus outlines */
a:focus,
button:focus,
input:focus {
    outline: 2px solid #9fa8da !important;
    outline-offset: 2px;
}

/* 6. FINISHING TOUCHES */

/* Subtle scan line overlay */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.03) 2px,
        rgba(0, 0, 0, 0.03) 4px
    );
}

/* Site title neon glow */
.site-title a {
    color: #ffffff !important;
    text-shadow:
        0 0 5px rgba(159, 168, 218, 0.5),
        0 0 10px rgba(159, 168, 218, 0.3),
        0 0 20px rgba(159, 168, 218, 0.2) !important;
}

/* Featured category cards */
.graceful-times-featured-cat-card {
    background: rgba(20, 10, 30, 0.85) !important;
    border: 1px solid rgba(159, 168, 218, 0.15);
}

.graceful-times-featured-cat-title {
    color: #ffffff !important;
}

/* Widget list items */
aside .wp-block-latest-posts li {
    border-bottom: 1px solid rgba(159, 168, 218, 0.2) !important;
}

aside .wp-block-latest-posts li a {
    color: #e0e0e0 !important;
}

aside .wp-block-latest-posts li a:hover {
    color: #9fa8da !important;
}

/* ⚠️ REGRESSION GUARD: WebGL background opacity - shows 8-bit Japanese forest */
#webgl-background {
    opacity: 0.55 !important; /* Keep high opacity to showcase the art */
}

/* Make card overlays work with glassmorphism */
.times-posts-card-overlay {
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 10px !important;
}


/* ⚠️⚠️⚠️ REGRESSION GUARD - DO NOT DELETE ⚠️⚠️⚠️
   8-BIT JAPANESE FOREST SHERBET SUNSET THEME
   Main color palette for the entire site
   ================================================ */

/* Sherbet sunset + pastel navy-blue color palette (matching WebGL) */
:root {
    --sherbet-pink: #ffbfd9;        /* Soft pink */
    --sherbet-peach: #ffd9b3;       /* Peachy orange */
    --sherbet-lavender: #f2ccff;    /* Lavender */
    --sherbet-purple: #d9b3f2;      /* Soft purple */
    --sherbet-coral: #9fa8da;       /* Soft coral (NOW pastel navy) */
    --pastel-navy: #9fa8da;         /* Pastel navy-blue - MAIN ACCENT COLOR */
    --pastel-blue: #a5b4d4;         /* Soft pastel blue */
    --pastel-indigo: #8b9bc7;       /* Deeper pastel blue */
    --forest-dark: rgba(38, 26, 51, 0.9);  /* Deep purple-black */
}

/* Hazy sherbet sun - matches WebGL sun position (right side) */
body::before {
    content: '';
    position: fixed;
    top: 20%;
    right: 10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle,
        rgba(255, 230, 191, 0.8) 0%,      /* #ffe6bf warm glow */
        rgba(255, 217, 179, 0.6) 20%,     /* #ffd9b3 peachy */
        rgba(255, 191, 217, 0.4) 40%,     /* #ffbfd9 pink */
        rgba(242, 204, 255, 0.2) 60%,     /* #f2ccff lavender */
        transparent 100%
    );
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    z-index: -2;
    pointer-events: none;
    animation: sherbetPulse 8s ease-in-out infinite;
}

@keyframes sherbetPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.35;
    }
    50% {
        transform: scale(1.05);
        opacity: 0.45;
    }
}

/* SOFTEN BOXES - Less Boxy, More Organic */

/* Softer corners everywhere */
.times-posts-card {
    border-radius: 12px !important;
}

.times-posts-card-overlay {
    border-radius: 10px !important;
}

.blog article,
.archive article,
.search article {
    border-radius: 10px !important;
}

/* Remove harsh post card window frame for cleaner look */
.times-posts-card::before,
.times-posts-card::after {
    display: none !important;
}

/* Adjust post card content - no need for margin since no title bar */
.times-posts-card-link {
    margin-top: 0 !important;
}

/* Social icons - softer hover */
.graceful-times-social-link {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.graceful-times-social-link:hover {
    border-color: #9fa8da !important;
    color: #9fa8da !important;
    box-shadow: 0 0 20px rgba(159, 168, 218, 0.5) !important;
    transform: translateY(-3px) scale(1.05) !important;
}

/* Featured category cards - softer */
.graceful-times-featured-cat-link {
    border-radius: 10px !important;
}

/* Continue read buttons - pastel navy-blue theme */
.times-read-button,
#primary .continue-read a {
    background: linear-gradient(135deg,
        rgba(159, 168, 218, 0.15) 0%,
        rgba(139, 155, 199, 0.15) 100%) !important;
    border: 1px solid #9fa8da !important;
    color: #9fa8da !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
}

.times-read-button:hover,
#primary .continue-read a:hover {
    background: linear-gradient(135deg,
        rgba(159, 168, 218, 0.25) 0%,
        rgba(139, 155, 199, 0.25) 100%) !important;
    box-shadow: 0 0 15px rgba(159, 168, 218, 0.5),
                0 4px 12px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* END SOFTEN BOXES */

/* =====================================
   1980S TERMINAL + MASONRY LAYOUT FIX
   ===================================== */

/* 1. FIX POST CARD HEIGHTS - Allow content to determine size */
.times-posts-card-link {
    height: auto !important;
    min-height: 200px !important;
}

/* Blog listing posts - auto height */
.blog article,
.archive article,
.search article {
    height: auto !important;
}

/* ⚠️ REGRESSION GUARD: 2-column masonry layout - proper <li> targeting */
.blog .content-column > li,
.archive .content-column > li,
.home .content-column > li {
    flex: 1 1 calc(50% - 10px) !important;
    min-width: 280px !important;
    max-width: calc(50% - 10px) !important;
    margin-bottom: 0 !important;
    height: auto !important; /* Auto height for masonry */
}

.content-column > li > article {
    width: 100% !important;
    height: auto !important; /* Auto height - content determines size */
}

/* ⚠️⚠️⚠️ REGRESSION GUARD - DO NOT DELETE OR MODIFY ⚠️⚠️⚠️
   3. 1980S TERMINAL SIDEBAR WIDGETS
   This creates the retro ASCII box-drawing frames around sidebar widgets
   Target ONLY sidebar widgets - NOT featured cards
   ================================================================== */

.sidebar-right .graceful-widget {
    position: relative !important;
    margin-top: 18px !important; /* Space for ASCII top border - reduced to eliminate gap */
    background: rgba(0, 0, 0, 0.9) !important;
    border: 2px solid #808080 !important;
    border-radius: 0 !important; /* Square corners - terminal aesthetic */
    font-family: 'Courier New', 'Lucida Console', monospace !important;
    box-shadow: none !important;
    padding: 20px 16px 16px 16px !important;
    overflow: visible !important; /* CRITICAL: Allow ::before/::after to show */
    width: 100% !important; /* Ensure proper width containment */
    box-sizing: border-box !important;
}

/* ⚠️ REGRESSION GUARD: ASCII top border ╔═════╗ */
.sidebar-right .graceful-widget::before {
    content: '╔════════════════════════════╗' !important;
    display: block !important; /* CRITICAL: Ensure it renders */
    position: absolute !important;
    top: -18px !important;
    left: 0 !important;
    right: 0 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 12px !important;
    color: #a0a0a0 !important;
    background: rgba(0, 0, 0, 0.95) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important; /* Clip overflow */
    text-overflow: clip !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 100 !important;
    pointer-events: none !important;
    height: auto !important;
    max-width: 100% !important;
    text-align: center !important;
}

/* ⚠️ REGRESSION GUARD: ASCII close button ═╣✕╠═ */
.sidebar-right .graceful-widget::after {
    content: '═╣✕╠═' !important;
    display: block !important; /* CRITICAL: Ensure it renders */
    position: absolute !important;
    top: -18px !important; /* Aligned with ::before border */
    right: 3px !important;
    font-family: 'Courier New', monospace !important;
    font-size: 12px !important;
    color: #a0a0a0 !important;
    background: rgba(0, 0, 0, 0.95) !important;
    line-height: 1.2 !important;
    z-index: 103 !important; /* Above title */
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    letter-spacing: 0 !important;
    pointer-events: none !important;
    height: auto !important;
    width: auto !important;
    padding: 0 2px !important;
}

/* ⚠️ REGRESSION GUARD: Widget title in center of ASCII border */
.sidebar-right .graceful-widget h2,
.sidebar-right .graceful-widget .widget-title {
    position: absolute !important;
    top: -18px !important; /* Aligned with ::before border */
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    font-size: 10px !important;
    font-family: 'Courier New', monospace !important;
    font-weight: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #c0c0c0 !important;
    background: transparent !important; /* Transparent - shows ASCII lines through text (1980s Mac OS effect) */
    padding: 1px 50px 1px 10px !important; /* Space for close button on right */
    border: none !important;
    z-index: 102 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Widget content - monochrome gray text */
.sidebar-right .graceful-widget {
    color: #a0a0a0 !important;
}

.sidebar-right .graceful-widget a {
    color: #c0c0c0 !important;
    text-decoration: none !important;
}

.sidebar-right .graceful-widget a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Widget list items */
.sidebar-right .graceful-widget ul {
    list-style: none !important;
    padding: 0 !important;
}

.sidebar-right .graceful-widget li {
    border-bottom: 1px solid #404040 !important;
    padding: 8px 0 !important;
}

.sidebar-right .graceful-widget li:last-child {
    border-bottom: none !important;
}

/* Social icons - monochrome */
.sidebar-right .graceful-times-social-link {
    background: rgba(60, 60, 60, 0.8) !important;
    color: #a0a0a0 !important;
    border: 1px solid #606060 !important;
}

.sidebar-right .graceful-times-social-link:hover {
    background: rgba(80, 80, 80, 0.9) !important;
    color: #ffffff !important;
    border-color: #808080 !important;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.2) !important;
}

/* END 1980S TERMINAL STYLING */

/* FEATURED POSTS FIXES */

/* Make featured posts bigger and show excerpts */
.times-posts-section .times-posts-card-link {
    min-height: 380px !important;
}

.times-posts-section .times-posts-card-overlay {
    min-height: 160px !important;
    padding: 20px !important;
}

/* Excerpt text styling */
.times-posts-excerpt {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 10px 0 8px 0 !important;
}

/* LATEST POSTS SECTION GAPS FIX */

/* Force flexbox masonry on blog listing */
.blog .content-column,
.archive .content-column,
.home .content-column {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: flex-start !important;
}

.blog .content-column > article,
.archive .content-column > article,
.home .content-column > article {
    flex: 1 1 calc(50% - 10px) !important;
    min-width: 280px !important;
    max-width: calc(50% - 10px) !important;
}

/* Remove any margins causing gaps */
.content-column > li {
    margin-bottom: 0 !important;
}


/* FIX 2-COLUMN LAYOUT - Target LI elements */
.blog .content-column > li,
.archive .content-column > li,
.home .content-column > li {
    flex: 1 1 calc(50% - 10px) !important;
    min-width: 280px !important;
    max-width: calc(50% - 10px) !important;
    margin-bottom: 20px !important;
}

/* Ensure articles inside LI take full width */
.content-column > li > article {
    width: 100% !important;
}


/* OPTION 1: CSS COLUMNS MASONRY - No gaps */
.blog .content-column,
.archive .content-column,
.home .content-column {
    display: block !important; /* Override flexbox */
    column-count: 2 !important;
    column-gap: 20px !important;
}

.blog .content-column > li,
.archive .content-column > li,
.home .content-column > li {
    break-inside: avoid !important;
    page-break-inside: avoid !important; /* Older browsers */
    display: inline-block !important; /* Prevents column breaks */
    width: 100% !important;
    margin-bottom: 20px !important;
}

/* Mobile: single column */
@media (max-width: 768px) {
    .blog .content-column,
    .archive .content-column,
    .home .content-column {
        column-count: 1 !important;
    }
}


/* FIX: Make columns wider - closer to original width */
.blog .content-column,
.archive .content-column,
.home .content-column {
    column-count: auto !important;
    column-width: 400px !important; /* Minimum width per column */
    column-gap: 30px !important;
}


/* REVERT TO FLEXBOX - Better gap handling */
.blog .content-column,
.archive .content-column,
.home .content-column {
    display: flex !important;
    flex-wrap: wrap !important;
    column-count: auto !important; /* Disable columns */
    column-width: auto !important;
    gap: 20px !important;
    align-items: flex-start !important; /* MASONRY FIX: Don't stretch to equal heights */
}

.blog .content-column > li,
.archive .content-column > li,
.home .content-column > li {
    flex: 0 0 calc(50% - 10px) !important; /* Fixed width, no grow/shrink */
    min-width: unset !important;
    max-width: calc(50% - 10px) !important;
    margin-bottom: 0 !important;
    display: block !important;
}

/* MASONRY FIX: Auto heights based on content */
.blog .content-column > li > article,
.archive .content-column > li > article,
.home .content-column > li > article {
    height: auto !important; /* MASONRY: Let content determine height */
    display: flex !important;
    flex-direction: column !important;
}

/* =====================================================
   MOBILE RESPONSIVENESS - Single Column Layout
   ===================================================== */

/* Tablet and Mobile: Single column layout at 768px */
@media (max-width: 768px) {
    .blog .content-column > li,
    .archive .content-column > li,
    .home .content-column > li {
        flex: 0 0 100% !important; /* Full width = 1 column */
        max-width: 100% !important;
    }
}

/* Small Phones: Tighter spacing and optimized typography */
@media (max-width: 480px) {
    .blog .content-column > li,
    .archive .content-column > li,
    .home .content-column > li {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 5px !important; /* Tighter padding on small screens */
    }

    .post-title {
        font-size: 20px !important;
    }

    .post-page-content {
        font-size: 14px !important;
    }

    /* FIX: Hide scroll-to-top button on mobile to prevent accidental triggers */
    .scrolltop {
        display: none !important;
    }
}

/* =====================================================
   FIX: Disable Sticky Sidebar on Mobile
   Prevents Sticky-Kit library scroll jump bug
   ===================================================== */

@media (max-width: 768px) {
    /* Force static positioning to neutralize Sticky-Kit manipulation */
    .sidebar-left,
    .sidebar-right {
        position: static !important;
        top: auto !important;
        bottom: auto !important;
        width: 100% !important;
        transform: none !important;
    }

    .sidebar-left-wrap,
    .sidebar-right-wrap {
        height: auto !important;
    }

    /* Ensure Sticky-Kit inline styles don't apply */
    .sidebar-right.is_stuck,
    .sidebar-left.is_stuck {
        position: static !important;
    }
}

.content-post .site-images {
    flex: none !important; /* CRITICAL FIX: Don't expand to fill space */
}

/* ================================================================
   DARK THEME - Matching Dark Reader Plugin
   Added: 2025-12-24
   Colors extracted from Dark Reader using DevTools
   ================================================================ */

/* Body & header - TRANSPARENT to show WebGL background */
body,
#page,
.site-container,
#site-header,
.site-header,
.header-wrapper,
#masthead {
    background: transparent !important;
    background-color: transparent !important;
    color: rgb(232, 230, 227) !important;
}

/* Latest Posts section - Dark gray (Dark Reader: rgb(24, 26, 27)) */
.times-posts-section {
    background: rgb(24, 26, 27) !important;
    color: rgb(231, 229, 226) !important;
}

/* Post card overlays - 85% black (Dark Reader exact) */
.times-posts-section .times-posts-card .times-posts-card-overlay,
.times-posts-card-overlay,
article .times-posts-card-overlay {
    background: rgba(0, 0, 0, 0.85) !important;
    color: rgb(232, 230, 227) !important;
}

/* Sidebar widgets - 90% black (Dark Reader exact) */
.sidebar-right .graceful-widget,
aside .graceful-widget {
    background: rgba(0, 0, 0, 0.9) !important;
    color: rgb(172, 165, 154) !important;
}

/* Blog post articles - Dark gray */
.blog article,
.archive article,
.search article,
.content-post,
.post-page-content,
article {
    background: rgb(24, 26, 27) !important;
    color: rgb(231, 229, 226) !important;
    padding-bottom: 0 !important; /* Remove bottom padding */
    margin-bottom: 0 !important;
}

/* Footer - Medium gray (Dark Reader: rgb(46, 50, 51)) */
#site-footer,
.site-footer,
footer {
    background: rgb(46, 50, 51) !important;
    color: rgb(212, 209, 203) !important;
}

/* Main content areas - transparent to show WebGL */
.content-column,
.main-content,
#primary,
#main,
.content-wrapper,
.site-content,
#content {
    background: transparent !important;
}

/* Featured sections - Dark gray */
.graceful-times-featured-categories {
    background: rgb(24, 26, 27) !important;
}

/* END DARK THEME */

/* ================================================================
   UX POLISH v2 - CORRECT SELECTORS
   Added: 2025-12-24
   Purpose: Soften harsh edges, improve spacing, modern polish
   Fixed: Using actual HTML class names (.content-post, .site-images, etc.)
   ================================================================ */

/* 1. Transparent site header - show WebGL background */
#site-header,
.site-header,
header.site-header {
    background: transparent !important;
    background-color: transparent !important;
}

/* 2. Fix post card margins - reduce 100px to 15px, add side padding */
.content-column > li {
    margin-bottom: 15px !important;
    padding: 0 10px !important;
}

/* 3. Round post cards */
.content-post {
    border-radius: 12px !important;
    overflow: hidden !important;
    background: rgb(24, 26, 27) !important;
    padding-bottom: 0 !important; /* Remove bottom padding */
    margin-bottom: 0 !important;
}

.site-images,
.site-images img {
    border-radius: 12px 12px 0 0 !important;
}

/* 4. Tighten post text area */
.post-header {
    padding: 10px 15px 5px !important;
    background: rgb(24, 26, 27) !important;
}

.post-page-content {
    padding: 5px 15px 5px !important; /* Reduced bottom padding */
    background: rgb(24, 26, 27) !important;
    margin: 0 !important;
}

.blog article .post-footer,
.archive article .post-footer,
.post-footer {
    padding: 8px 15px 10px 15px !important; /* Minimal bottom padding */
    background: rgb(24, 26, 27) !important;
    border-radius: 0 0 12px 12px !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* 5. Category tags as pills */
.post-categories a {
    border-radius: 15px !important;
    padding: 2px 10px !important;
    font-size: 10px !important;
    background: rgba(255,255,255,0.1) !important;
}

/* 6. Fix sidebar widget gap - remove space between ASCII and content */
.sidebar-right .graceful-widget {
    margin-top: 5px !important;
    border-radius: 8px !important;
}

/* 7. Widget list items - reduce spacing */
.sidebar-right .graceful-widget li {
    padding: 8px 0 !important;
}

/* 8. Darken Latest Posts header bar */
h3:has(+ .times-posts-wrapper),
.times-posts-section > h3,
.main-content h3 {
    background: rgb(24, 26, 27) !important;
    color: rgb(232, 230, 227) !important;
    border-radius: 8px !important;
    padding: 15px !important;
}

/* 9. Better metadata visibility */
.times-posts-date,
.times-posts-author {
    opacity: 0.85 !important;
}

/* END UX POLISH v2 */

/* ================================================================
   VISUAL CLEANUP - Dec 25 Final Polish
   ================================================================ */

/* 1. Transparent backgrounds - show WebGL, no white lines */
.content-column,
.main-content,
.content-wrap {
    background: transparent !important;
}

/* 2. Fix image/text gap - remove inline whitespace */
.blog .site-images,
.home .site-images,
.archive .site-images,
.site-images {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    background: transparent !important; /* Override parent theme #f7f7f7 */
    background-color: transparent !important;
    min-height: 0 !important; /* Override parent theme 92px */
    max-height: none !important;
    height: auto !important; /* Dynamic height based on image */
    position: relative !important;
}

/* Override parent theme anchor height */
.blog .site-images > a,
.home .site-images > a,
.archive .site-images > a,
.site-images > a {
    height: auto !important;
    max-height: none !important;
    display: block !important;
}

.blog .site-images img,
.home .site-images img,
.archive .site-images img,
.site-images img {
    display: block !important;
    width: 100% !important;
    height: auto !important; /* Maintain aspect ratio */
    margin: 0 !important;
    max-width: 100% !important;
}

/* Hide empty image containers */
.site-images:empty {
    display: none !important;
}

/* 3. Reduce title-to-content spacing */
.post-title {
    margin-bottom: 5px !important;
}

/* 4. Hide author attribution */
.post-title-author {
    display: none !important;
}

/* 5. Remove post-footer border */
.post-footer {
    border: none !important;
}

/* 6. Continue Reading button styling */
.post-footer a,
.post-read-more,
.post-read-more a {
    margin: 0 !important;
    padding: 3px 6px !important; /* 2-3px padding as requested */
    display: inline-block !important;
    color: #ffffff !important; /* Ensure white text */
}

/* 7. Ensure all text is visible on dark backgrounds */
.blog article .post-page-content,
.archive article .post-page-content,
.post-page-content,
.post-page-content p,
.post-categories a,
.blog article a,
.archive article a {
    color: #ffffff !important; /* White text on dark backgrounds */
}

/* END VISUAL CLEANUP */

/* ================================================================
   T-SHIRT PRODUCT DISPLAY
   Added: 2025-12-26
   Purpose: Display Amazon affiliate shirts in grid layout
   ================================================================ */

/* Container - flexbox grid layout */
.tshirt-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 30px 0;
    justify-content: flex-start;
}

/* Individual shirt items - 3 per row */
.tshirt-item {
    flex: 0 0 calc(33.333% - 20px);
    max-width: calc(33.333% - 20px);
    background: rgba(24, 26, 27, 0.9);
    border-radius: 12px;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid rgba(159, 168, 218, 0.2);
    transition: all 0.3s ease;
}

.tshirt-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(159, 168, 218, 0.3);
    border-color: rgba(159, 168, 218, 0.4);
}

/* Shirt images */
.tshirt-item img {
    width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: contain;
    margin-bottom: 15px;
    border-radius: 8px;
}

/* Shirt title */
.tshirt-item h3 {
    font-size: 18px;
    margin: 10px 0 15px 0;
    color: #ffffff !important;
    font-weight: 600;
}

/* Color swatches container */
.tshirt-item .colors {
    margin: 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.tshirt-item .colors h4 {
    font-size: 12px;
    margin: 0;
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: normal;
}

/* Individual color swatches - little boxes */
.color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    display: inline-block;
    cursor: pointer;
    transition: all 0.2s ease;
}

.color-swatch:hover {
    transform: scale(1.2);
    border-color: rgba(159, 168, 218, 0.8);
    box-shadow: 0 0 8px rgba(159, 168, 218, 0.5);
}

/* Buy button */
.tshirt-item #buy-button,
.tshirt-item a[href*="amzn.to"],
.tshirt-item a[href*="amazon.com"] {
    display: inline-block;
    padding: 8.5px 24px; /* 15% reduced height (10px × 0.85 = 8.5px) */
    background: linear-gradient(135deg, rgba(159, 168, 218, 0.2) 0%, rgba(139, 155, 199, 0.2) 100%);
    border: 2px solid #9fa8da;
    color: #9fa8da !important;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    margin-top: 15px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tshirt-item #buy-button:hover,
.tshirt-item a[href*="amzn.to"]:hover,
.tshirt-item a[href*="amazon.com"]:hover {
    background: linear-gradient(135deg, rgba(159, 168, 218, 0.35) 0%, rgba(139, 155, 199, 0.35) 100%);
    box-shadow: 0 0 15px rgba(159, 168, 218, 0.5), 0 4px 12px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
    border-color: rgba(159, 168, 218, 0.9);
}

/* Tablet - 2 per row */
@media (max-width: 1024px) {
    .tshirt-item {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px);
    }
}

/* Mobile - 1 per row */
@media (max-width: 768px) {
    .tshirt-container {
        gap: 20px;
    }

    .tshirt-item {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .tshirt-item img {
        max-height: 250px;
    }
}

/* END T-SHIRT PRODUCT DISPLAY */

/* ================================================================
   FIX: Black text on dark backgrounds (invisible text)
   Added: 2025-12-26
   ================================================================ */

/* Single post page - title must be white */
.single .post-title,
.single .post-title a,
.single article .post-title,
.single article .post-title a {
    color: #ffffff !important;
}

/* First letter drop cap - pastel blue */
.post-page-content > p:first-child:first-letter,
.single .post-page-content > p:first-child:first-letter,
article .post-page-content > p:first-child:first-letter {
    color: #a5b4d4 !important; /* Pastel blue */
}

/* All headings in post content - white */
.single .post-page-content h1,
.single .post-page-content h2,
.single .post-page-content h3,
.single .post-page-content h4,
.single .post-page-content h5,
.single .post-page-content h6 {
    color: #ffffff !important;
}

/* END BLACK TEXT FIX */

/* ==========================================================================
   MOBILE NAVIGATION BAR
   ========================================================================== */

/**
 * Mobile Navigation Bar - Fixed top navigation for mobile devices
 * Allows quick access to sidebar sections without scrolling to bottom
 * Only visible on screens <= 768px
 */

/* Hidden on desktop */
.mobile-nav-bar {
    display: none;
}

/* Mobile styles (≤768px) */
@media (max-width: 768px) {
    /* Navigation bar container */
    .mobile-nav-bar {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 9999;
        padding: 8px 0;

        /* Glassmorphism effect */
        background: rgba(15, 10, 25, 0.85);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        /* Subtle border */
        border-bottom: 1px solid rgba(159, 168, 218, 0.15);

        /* Shadow for depth */
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    }

    /* Navigation items list */
    .mobile-nav-items {
        display: flex;
        justify-content: space-around;
        align-items: center;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 5px;
    }

    /* Individual nav item */
    .mobile-nav-item {
        flex: 1;
        margin: 0;
        padding: 0;
    }

    /* Nav link */
    .mobile-nav-link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        padding: 6px 4px;
        border-radius: 8px;
        transition: all 0.3s ease;
        cursor: pointer;
    }

    /* Nav link icon */
    .mobile-nav-link i {
        font-size: 18px;
        margin-bottom: 2px;
        transition: transform 0.3s ease, color 0.3s ease;
    }

    /* Nav link label */
    .mobile-nav-label {
        font-size: 10px;
        font-weight: 500;
        letter-spacing: 0.3px;
        text-transform: uppercase;
        transition: color 0.3s ease;
    }

    /* Hover state */
    .mobile-nav-link:hover {
        background: rgba(159, 168, 218, 0.1);
    }

    .mobile-nav-link:hover i {
        transform: translateY(-2px);
        color: #9fa8da !important; /* Pastel blue */
    }

    .mobile-nav-link:hover .mobile-nav-label {
        color: #9fa8da !important; /* Pastel blue */
    }

    /* Active state */
    .mobile-nav-link.active {
        background: rgba(159, 168, 218, 0.15);
    }

    .mobile-nav-link.active i,
    .mobile-nav-link.active .mobile-nav-label {
        color: #9fa8da !important; /* Pastel blue */
    }

    /* Shake animation for missing sections */
    @keyframes shake {
        0%, 100% { transform: translateX(0); }
        10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
        20%, 40%, 60%, 80% { transform: translateX(5px); }
    }

    .mobile-nav-link.shake {
        animation: shake 0.6s;
    }

    /* Prevent content from hiding under fixed nav */
    body {
        padding-top: 60px;
    }

    /* Adjust for WebGL canvas */
    #webgl-background {
        top: 60px;
    }
}

/* Small phones (≤480px) - tighter spacing */
@media (max-width: 480px) {
    .mobile-nav-bar {
        padding: 6px 0;
    }

    .mobile-nav-link i {
        font-size: 16px;
    }

    .mobile-nav-label {
        font-size: 9px;
    }

    body {
        padding-top: 55px;
    }

    #webgl-background {
        top: 55px;
    }
}

/* END MOBILE NAVIGATION BAR */

