/*
Theme Name: Build For India
Theme URI: https://buildforindia.com
Author: Build For India Team
Author URI: https://buildforindia.com
Description: A free, open WordPress theme that can be reused on unlimited WordPress websites without any activation, license key, registration, or external API dependency. This theme functions as a base framework with built-in plugin dependency handling and one-click demo import.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: build-for-india
Tags: free, open-source, framework, demo-import, plugin-dependencies, custom-post-types, flexible, modern

Build For India is a completely free and open WordPress theme that works fully offline without any licensing restrictions.
*/

/* Reset and Base Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	line-height: 1.6;
	color: #333;
	background-color: #f8fafc; /* slate-50 */
}

.container {
	max-width: 1280px; /* max-w-7xl */
	margin: 0 auto;
	padding: 0 1rem;
}

@media (min-width: 640px) {
	.container {
		padding: 0 1.5rem;
	}
}

@media (min-width: 1024px) {
	.container {
		padding: 0 2rem;
	}
}

/* Header Styles */
.site-header {
	background-color: #fff;
	border-bottom: 1px solid #e0e0e0;
	padding: 1rem 0;
}

.site-header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.site-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
}

.site-title a {
	text-decoration: none;
	color: #333;
}

.site-navigation ul {
	list-style: none;
	display: flex;
	gap: 2rem;
}

.site-navigation a {
	text-decoration: none;
	color: #333;
	font-weight: 500;
}

.site-navigation a:hover {
	color: #0073aa;
}

/* Navigation menu hover - Moved to header.css */

/* Main Content */
.site-main {
	padding: 2rem 0;
	min-height: 60vh;
}

/* Footer */
.site-footer {
	background-color: #f5f5f5;
	border-top: 1px solid #e0e0e0;
	padding: 2rem 0;
	margin-top: 4rem;
	text-align: center;
	color: #666;
}

/* Post Styles */
.post {
	margin-bottom: 3rem;
}

.post-title {
	font-size: 2rem;
	margin-bottom: 1rem;
}

.post-title a {
	text-decoration: none;
	color: #333;
}

.post-title a:hover {
	color: #0073aa;
}

.post-meta {
	color: #666;
	font-size: 0.9rem;
	margin-bottom: 1rem;
}

.post-content {
	margin-bottom: 1rem;
}

.read-more {
	display: inline-block;
	margin-top: 1rem;
	padding: 0.5rem 1.5rem;
	background-color: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
}

.read-more:hover {
	background-color: #005a87;
}

/* Hero Section - Remove all shadows */
.bfi-hero-section,
.bfi-hero-section *,
.bfi-hero-section > div {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	text-shadow: none !important;
}

.bfi-hero-section .bg-white {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

/* Mobile Slide-out Menu Styles - Moved to header.css */

/* Responsive */
@media (max-width: 768px) {
	.site-header .container {
		flex-direction: column;
		gap: 1rem;
	}
	
	.site-navigation ul {
		flex-direction: column;
		gap: 0.5rem;
		text-align: center;
	}
	
	/* Mobile menu overlay z-index - Moved to header.css */
}

/* Primary color support (for Tailwind primary class) */
.bg-primary,
.text-primary {
	--primary-color: #2b9dee;
}

.bg-primary {
	background-color: var(--primary-color) !important;
}

.text-primary {
	color: var(--primary-color) !important;
}

.bg-primary\/10 {
	background-color: rgba(43, 157, 238, 0.1) !important;
}

.bg-primary\/20 {
	background-color: rgba(43, 157, 238, 0.2) !important;
}

/* Gray color support */
.bg-gray-50 {
	background-color: #f9fafb !important;
}

.bg-gray-100 {
	background-color: #f3f4f6 !important;
}

.bg-gray-800 {
	background-color: #1f2937 !important;
}

.text-gray-300 {
	color: #d1d5db !important;
}

.text-gray-100 {
	color: #f3f4f6 !important;
}

.text-gray-600 {
	color: #4b5563 !important;
}

.border-gray-100 {
	border-color: #f3f4f6 !important;
}

.border-gray-700 {
	border-color: #374151 !important;
}

/* Dark Mode - Automatic based on system preference */
@media (prefers-color-scheme: dark) {
	/* Base body and text colors */
	body {
		background-color: #0f172a; /* slate-900 */
		color: #e2e8f0; /* slate-200 */
	}
	
	/* Navigation menu dark mode styles - Moved to header.css */
	
	/* Header dark mode - Legacy .site-header (kept for backward compatibility) */
	.site-header {
		background-color: #1e293b; /* slate-800 */
		border-bottom-color: #334155; /* slate-700 */
	}
	
	.site-title a {
		color: #ffffff;
	}
	
	.site-navigation a {
		color: #cbd5e1; /* slate-300 */
	}
	
	.site-navigation a:hover {
		color: #00b8f5;
	}
	
	/* Main content dark mode */
	.site-main {
		background-color: #0f172a; /* slate-900 */
		color: #e2e8f0; /* slate-200 */
	}
	
	/* Footer dark mode */
	.site-footer {
		background-color: #1e293b; /* slate-800 */
		border-top-color: #334155; /* slate-700 */
		color: #94a3b8; /* slate-400 */
	}
	
	/* Post styles dark mode */
	.post-title a {
		color: #ffffff;
	}
	
	.post-title a:hover {
		color: #00b8f5;
	}
	
	.post-meta {
		color: #94a3b8; /* slate-400 */
	}
	
	.post-content {
		color: #e2e8f0; /* slate-200 */
	}
	
	/* Links dark mode */
	a {
		color: #60a5fa; /* blue-400 */
	}
	
	/* General link hover - but exclude navigation links */
	a:hover:not(header nav a):not(nav a):not(header nav ul a):not(nav ul a) {
		color: #00b8f5;
	}
	
	/* Navigation links hover - Moved to header.css */
	
	/* Buttons dark mode */
	.read-more {
		background-color: #00b8f5;
		color: #ffffff;
	}
	
	.read-more:hover {
		background-color: #0099cc;
	}
	
	/* Input fields dark mode */
	input[type="text"]:not(.bfi-hero-section input),
	input[type="email"]:not(.bfi-hero-section input),
	input[type="search"]:not(.bfi-hero-section input),
	input[type="password"]:not(.bfi-hero-section input),
	textarea:not(.bfi-hero-section textarea),
	select:not(.bfi-hero-section select) {
		background-color: #1e293b; /* slate-800 */
		border-color: #334155; /* slate-700 */
		color: #e2e8f0; /* slate-200 */
	}
	
	input[type="text"]:not(.bfi-hero-section input):focus,
	input[type="email"]:not(.bfi-hero-section input):focus,
	input[type="search"]:not(.bfi-hero-section input):focus,
	input[type="password"]:not(.bfi-hero-section input):focus,
	textarea:not(.bfi-hero-section textarea):focus,
	select:not(.bfi-hero-section select):focus {
		border-color: #00b8f5;
		background-color: #1e293b;
		color: #ffffff;
	}
	
	/* Hero section inputs - keep white background */
	.bfi-hero-section input[type="text"],
	.bfi-hero-section input[type="search"] {
		background-color: transparent !important;
		color: #1e293b !important;
	}
	
	.bfi-hero-section input[type="text"]::placeholder,
	.bfi-hero-section input[type="search"]::placeholder {
		color: #94a3b8 !important;
	}
	
	/* Hero Section - Keep original styling in dark mode */
	.bfi-hero-section .bg-\[#002970\] {
		background-color: #002970 !important;
	}
	
	.bfi-hero-section .text-white {
		color: #ffffff !important;
	}
	
	.bfi-hero-section .bg-white {
		background-color: #ffffff !important;
	}
	
	.bfi-hero-section .text-slate-900 {
		color: #1e293b !important;
	}
	
	.bfi-hero-section .placeholder-slate-400::placeholder {
		color: #94a3b8 !important;
	}
	
	.bfi-hero-section #bfi-hero-search-dropdown {
		background-color: #ffffff !important;
		border-color: #e2e8f0 !important;
	}
	
	.bfi-hero-section #bfi-hero-search-dropdown .text-slate-500 {
		color: #64748b !important;
	}
	
	.bfi-hero-section #bfi-hero-search-dropdown .text-slate-300 {
		color: #cbd5e1 !important;
	}
	
	/* Cards and containers dark mode */
	.bg-white:not(.bfi-hero-section .bg-white):not(.bfi-search-widget),
	.bg-slate-50:not(.bfi-hero-section .bg-slate-50) {
		background-color: #1e293b !important; /* slate-800 */
	}
	
	/* Search Widget Light Background - override bg-white rule */
	.bfi-search-widget.bg-white,
	.bfi-search-widget {
		background-color: rgba(43, 157, 238, 0.1) !important; /* light blue/cyan with low opacity */
		border-color: #475569 !important; /* slate-600 - darker border */
	}
	
	.bg-slate-900,
	.bg-slate-900\/50 {
		background-color: #0f172a !important; /* slate-900 */
	}
	
	.bg-slate-800 {
		background-color: #1e293b !important; /* slate-800 */
	}
	
	.bg-slate-100 {
		background-color: #334155 !important; /* slate-700 */
	}
	
	/* Text colors dark mode */
	.text-slate-900,
	.text-slate-800,
	.text-slate-700 {
		color: #ffffff !important;
	}
	
	.text-slate-600 {
		color: #cbd5e1 !important; /* slate-300 */
	}
	
	.text-slate-500 {
		color: #94a3b8 !important; /* slate-400 */
	}
	
	.text-slate-400 {
		color: #94a3b8 !important; /* slate-400 */
	}
	
	.text-slate-300 {
		color: #cbd5e1 !important; /* slate-300 */
	}
	
	/* Border colors dark mode */
	.border-slate-200,
	.border-slate-100 {
		border-color: #334155 !important; /* slate-700 */
	}
	
	.border-slate-700 {
		border-color: #475569 !important; /* slate-600 */
	}
	
	.border-slate-800 {
		border-color: #475569 !important; /* slate-600 */
	}
	
	/* Dark mode navigation text colors and hover states - Moved to header.css */
	
	/* Background overlays dark mode */
	.bg-white\/90 {
		background-color: rgba(30, 41, 59, 0.9) !important; /* slate-800 with opacity */
	}
	
	.bg-slate-900\/90 {
		background-color: rgba(15, 23, 42, 0.9) !important; /* slate-900 with opacity */
	}
	
	.bg-slate-50 {
		background-color: #1e293b !important; /* slate-800 */
	}
	
	.bg-slate-800 {
		background-color: #1e293b !important; /* slate-800 */
	}
	
	/* Header dark mode - Moved to header.css */
	/* Footer dark mode - Moved to footer.css */
	
	/* Material icons and symbols */
	.material-symbols-outlined {
		color: inherit !important;
	}
	
	/* Divider lines */
	.bg-slate-200 {
		background-color: #334155 !important; /* slate-700 */
	}
	
	.bg-slate-700 {
		background-color: #475569 !important; /* slate-600 */
	}
	
	.bg-slate-600 {
		background-color: #475569 !important; /* slate-600 */
	}
	
	
	/* Buttons dark mode */
	button {
		color: #ffffff;
	}
	
	button.bg-slate-50 {
		background-color: #334155 !important; /* slate-700 */
		color: #ffffff !important;
	}
	
	/* Form elements */
	::placeholder {
		color: #94a3b8; /* slate-400 */
	}
	
	/* Ensure images maintain proper contrast */
	img {
		opacity: 0.9;
	}
	
	img:hover {
		opacity: 1;
	}
	
	/* Code blocks and pre elements */
	code,
	pre {
		background-color: #1e293b;
		color: #e2e8f0;
		border-color: #334155;
	}
	
	/* Tables dark mode */
	table {
		border-color: #334155;
	}
	
	th,
	td {
		border-color: #334155;
		color: #e2e8f0;
	}
	
	th {
		background-color: #1e293b;
	}
	
	tr:nth-child(even) {
		background-color: #1e293b;
	}
	
	/* Blockquotes dark mode */
	blockquote {
		border-left-color: #00b8f5;
		color: #cbd5e1;
		background-color: #1e293b;
	}
	
	/* Horizontal rules */
	hr {
		border-color: #334155;
	}
}

