/* --- Global Fixes --- */
.site-header img, 
.custom-logo-link img, 
.site-branding img, 
.site-logo img {
    max-width: 250px !important;
    height: auto !important;
}

/* 1. Grid Structural Fixes (Crucial for Layout) */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.align-items-center { align-items: center; }
.col-lg-6 { flex: 0 0 50%; max-width: 50%; padding: 0 15px; box-sizing: border-box; }

/* 2. Base Typography & Resizing */
.training-platform-home {
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #2C3E50;
}

/* Hero Section - Soft Corporate Pastel Blue */
.hero-section {
	background: linear-gradient(135deg, #F0F4F8 0%, #DFE9F2 100%);
	padding: 60px 0;
	border-bottom: 1px solid #D1DEEC;
}

.hero-content { padding: 20px 0; }

.hero-title {
	font-size: 2.5rem;
	font-weight: 700;
	color: #1A252F;
	margin-bottom: 15px;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

.hero-subtitle {
	font-size: 1.1rem;
	margin-bottom: 30px;
	color: #5C6D7E;
	line-height: 1.6;
}

.hero-actions {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

/* Features Section */
.features-section {
	padding: 60px 0;
	background: #FFFFFF;
}

.section-header {
	text-align: center;
	margin-bottom: 50px;
}

.section-header h2 {
	font-size: 2rem;
	color: #1A252F;
	margin-bottom: 10px;
	font-weight: 700;
}

.section-header p {
	font-size: 1.1rem;
	color: #5C6D7E;
	margin: 0;
}

.features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 25px;
}

.feature-card {
	background: #F8FAFC;
	padding: 30px 25px;
	border-radius: 8px;
	text-align: center;
	border: 1px solid #E2E8F0;
	transition: all 0.2s ease;
}

.feature-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.04);
	border-color: #CBD5E1;
}

.feature-icon {
	width: 60px;
	height: 60px;
	margin: 0 auto 20px;
	background: #EAF2F8;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #5A7694;
}

.feature-icon .dashicons {
	width: 30px;
	height: 30px;
	font-size: 30px;
}

.feature-card h3 {
	font-size: 1.2rem;
	color: #2C3E50;
	margin-bottom: 12px;
	font-weight: 600;
}

.feature-card p {
	color: #5C6D7E;
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0;
}

/* Courses Preview Section */
.courses-preview-section {
	padding: 60px 0;
	background: #F4F7FA;
}

.courses-preview-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 25px;
	margin-bottom: 40px;
}

.course-preview-card {
	background: white;
	border-radius: 8px;
	border: 1px solid #E2E8F0;
	overflow: hidden;
	transition: all 0.2s ease;
}

.course-preview-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.course-preview-thumbnail {
	position: relative;
	width: 100%;
	height: 180px;
	background: #EAF2F8;
}

.course-preview-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.course-type-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	background: #5A7694;
	color: white;
	padding: 4px 10px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.course-preview-content { padding: 20px; }

.course-preview-content h3 {
	font-size: 1.15rem;
	color: #2C3E50;
	margin-bottom: 10px;
	font-weight: 600;
}

.course-preview-content p {
	color: #5C6D7E;
	font-size: 0.95rem;
	line-height: 1.5;
	margin-bottom: 15px;
}

.view-all-courses { text-align: center; }

/* CTA Section - Corporate Slate */
.cta-section {
	background: linear-gradient(135deg, #2C3E50 0%, #1A252F 100%);
	color: white;
	padding: 60px 0;
}

.cta-content { text-align: center; }

.cta-content h2 {
	font-size: 2rem;
	margin-bottom: 15px;
	color: #FFFFFF;
}

.cta-content p {
	font-size: 1.1rem;
	margin-bottom: 25px;
	color: #BCC7D3;
}

/* Buttons */
.btn {
	display: inline-block;
	padding: 10px 24px;
	text-decoration: none;
	border-radius: 6px;
	font-weight: 500;
	font-size: 0.95rem;
	transition: all 0.2s ease;
	text-align: center;
	border: 1px solid transparent;
	cursor: pointer;
}

.btn-large {
	padding: 12px 30px;
	font-size: 1rem;
}

.btn-primary { background: #4A7A9C; color: #fff; }
.btn-primary:hover { background: #365B77; color: #fff; }

.hero-section .btn-outline { background: transparent; color: #4A7A9C; border: 1px solid #4A7A9C; }
.hero-section .btn-outline:hover { background: #4A7A9C; color: white; }

.btn-outline-primary { background: transparent; color: #4A7A9C; border: 1px solid #4A7A9C; }
.btn-outline-primary:hover { background: #4A7A9C; color: white; }

.btn-white { background: white; color: #2C3E50; }
.btn-white:hover { background: #F0F4F8; color: #1A252F; }

/* Mobile Responsiveness */
@media (max-width: 768px) {
	.col-lg-6 { flex: 0 0 100%; max-width: 100%; }
	.hero-section { padding: 40px 0; text-align: center; }
	.hero-actions { justify-content: center; }
	.hero-title { font-size: 2rem; }
	.hero-image { display: none; }
	.section-header h2 { font-size: 1.75rem; }
	.cta-content h2 { font-size: 1.75rem; }
}

/* --- KILL THE RED CHILD THEME BANNER --- */
#child-theme-badge, 
.child-theme-badge, 
.tutorstarter-child-badge,
div[style*="position: fixed"][style*="bottom"][style*="right"][style*="red"] {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	z-index: -9999 !important;
}

/* --- JS Scroll Animations --- */
.tms-fade-hidden {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}

.tms-fade-visible {
    opacity: 1;
    transform: translateY(0);
}