/* Theme V2 - ShalaDarpan Style with Light Green Theme */
:root {
	--mc-primary: #4caf50;
	--mc-primary-light: #81c784;
	--mc-primary-dark: #2e7d32;
	--mc-accent: #66bb6a;
	--mc-header-green: #43a047;
	--mc-white: #ffffff;
	--mc-light: #e8f5e9;
	--mc-lighter: #f1f8e9;
	--mc-text: #212121;
	--mc-text-light: #546e7a;
	--mc-muted: #78909c;
	--mc-bg: #ffffff;
	--mc-surface: #f8fafc;
	--mc-shadow: rgba(76, 175, 80, 0.15);
}

* {
	transition: all 0.3s ease;
}

html { 
	scroll-behavior: smooth; 
	font-size: 16px;
}

body {
	color: var(--mc-text);
	background-color: var(--mc-bg);
	font-family: 'Inter', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	line-height: 1.7;
	font-weight: 400;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
	color: var(--mc-primary-dark);
	font-weight: 700;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

h1, .h1 { font-size: 2.5rem; }
h2, .h2 { font-size: 2rem; }
h3, .h3 { font-size: 1.75rem; }
h4, .h4 { font-size: 1.5rem; }

/* Header refinements - Force override */
.header {
	border-bottom: 2px solid #e8f5e9 !important;
	box-shadow: 0 2px 10px rgba(76, 175, 80, 0.15) !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
}
.header .call-number { 
	color: #2e7d32 !important; 
	font-weight: 600 !important;
}
.header-button.admission-button { 
	background: #43a047 !important; 
	background-color: #43a047 !important;
	transition: all 0.3s ease;
}
.header-button.admission-button:hover {
	background: #2e7d32 !important;
	background-color: #2e7d32 !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(46, 125, 50, 0.3);
}
.header-button.call-button { 
	background: #66bb6a !important; 
	background-color: #66bb6a !important;
	animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.05); }
}

/* Navbar styling - Force override inline styles */
.navbar { 
	background: var(--mc-header-green) !important;
	background-color: var(--mc-header-green) !important;
	box-shadow: 0 2px 10px rgba(0,0,0,.1);
	padding: 0 !important;
}
.menu>li>a { 
	font-weight: 600 !important; 
	letter-spacing: 0.3px !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
	padding: 15px 20px !important;
	color: #ffffff !important;
	position: relative;
	transition: all 0.3s ease;
}
.menu>li>a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 3px;
	background: var(--mc-white);
	transform: translateX(-50%);
	transition: width 0.3s ease;
}
.menu>li:hover>a::after {
	width: 80%;
}
.menu>li:hover>a {
	background: rgba(255,255,255,0.1) !important;
}
.submenu { 
	border-radius: 8px; 
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0,0,0,.2);
	margin-top: 0;
	background-color: var(--mc-primary-dark) !important;
}
.submenu li a { 
	font-size: 14px;
	padding: 12px 20px !important;
}

/* Hero carousel */
.header-carousel .owl-carousel-item { 
	position: relative;
}
.header-carousel .owl-carousel-item img { 
	max-height: 75vh;
	object-fit: cover;
	width: 100%;
}
@media (max-width: 768px){
	.header-carousel .owl-carousel-item img { max-height: 60vh; }
}
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
	background: rgba(255,255,255,0.9) !important;
	color: var(--mc-primary) !important;
	border: 2px solid var(--mc-primary) !important;
	transition: all 0.3s ease;
}
.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
	background: var(--mc-primary) !important;
	color: var(--mc-white) !important;
	transform: scale(1.1);
}

/* Cards and surfaces */
.bg-light { 
	background-color: var(--mc-lighter) !important; 
	border: none;
}
.rounded { 
	border-radius: 15px !important; 
	overflow: hidden;
}
.rounded-top { 
	border-top-left-radius: 15px !important; 
	border-top-right-radius: 15px !important; 
}
.rounded-bottom { 
	border-bottom-left-radius: 15px !important; 
	border-bottom-right-radius: 15px !important; 
}

/* Buttons - Force override */
.btn {
	border-radius: 8px !important;
	padding: 12px 30px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-size: 14px;
	transition: all 0.3s ease;
}
.btn-primary { 
	background: var(--mc-primary) !important; 
	background-color: var(--mc-primary) !important;
	border-color: var(--mc-primary) !important;
	box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.btn-primary:hover { 
	background: var(--mc-primary-dark) !important;
	background-color: var(--mc-primary-dark) !important;
	border-color: var(--mc-primary-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(46, 125, 50, 0.4);
}
.btn-outline-primary {
	border-color: var(--mc-primary);
	color: var(--mc-primary);
}
.btn-outline-primary:hover {
	background: var(--mc-primary);
	border-color: var(--mc-primary);
	color: var(--mc-white);
}

/* Section styling */
.section {
	padding: 80px 0;
	position: relative;
}
.section-sm { padding: 50px 0; }
.section-lg { padding: 100px 0; }
.section-alt { 
	background: var(--mc-lighter);
}
.section-title {
	font-weight: 800;
	letter-spacing: 0.3px;
	color: var(--mc-primary-dark);
	margin-bottom: 20px;
}
.text-secondary {
	color: var(--mc-primary) !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 14px;
}

/* Service/Course Cards */
.service-item-top,
.course-card {
	background: var(--mc-white);
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 5px 25px var(--mc-shadow);
	transition: all 0.3s ease;
	height: 100%;
	border: 1px solid var(--mc-light);
}
.service-item-top:hover,
.course-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 10px 35px rgba(13, 71, 161, 0.2);
}

/* Gallery Items */
.gallery-item {
	position: relative;
	overflow: hidden;
	border-radius: 15px;
	cursor: pointer;
	box-shadow: 0 5px 20px var(--mc-shadow);
}
.gallery-item::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(13, 71, 161, 0);
	transition: all 0.3s ease;
}
.gallery-item:hover::after {
	background: rgba(13, 71, 161, 0.2);
}
.gallery-item img {
	transition: transform 0.5s ease;
}
.gallery-item:hover img {
	transform: scale(1.1);
}

/* Testimonial Cards */
.testimonial-item {
	background: var(--mc-white);
	border-radius: 15px;
	padding: 30px;
	box-shadow: 0 5px 25px var(--mc-shadow);
	transition: all 0.3s ease;
	border: 1px solid var(--mc-light);
}
.testimonial-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 35px rgba(13, 71, 161, 0.2);
}
.testimonial-carousel .owl-item.center .testimonial-item {
	background: var(--mc-primary);
	color: var(--mc-white);
}
.testimonial-carousel .owl-item.center .testimonial-item h4,
.testimonial-carousel .owl-item.center .testimonial-item p {
	color: var(--mc-white) !important;
}

/* Team Cards */
.simple-team-card {
	transition: all 0.3s ease;
}
.simple-team-card:hover {
	transform: translateY(-10px);
}
.team-img-box {
	box-shadow: 0 5px 20px var(--mc-shadow);
	transition: all 0.3s ease;
}
.simple-team-card:hover .team-img-box {
	box-shadow: 0 10px 30px rgba(76, 175, 80, 0.4);
	border-color: var(--mc-primary);
}

/* Footer polish - Force override */
.footer { 
	background: linear-gradient(135deg, var(--mc-primary-dark) 0%, var(--mc-header-green) 100%) !important;
	background-color: var(--mc-primary-dark) !important;
	color: #ffffff !important;
}
.footer .text-light, 
.footer h4 {
	color: var(--mc-white) !important;
}
.footer .btn.btn-link {
	color: rgba(255,255,255,0.9);
	transition: all 0.3s ease;
}
.footer .btn.btn-link:hover {
	color: var(--mc-white);
	padding-left: 15px;
}
.footer .btn.btn-social { 
	border-color: rgba(255,255,255,0.3);
	transition: all 0.3s ease;
}
.footer .btn.btn-social:hover {
	background: var(--mc-white);
	color: var(--mc-primary);
	border-color: var(--mc-white);
	transform: translateY(-3px);
}

/* Form styling */
.form-control {
	border: 2px solid var(--mc-light);
	border-radius: 8px;
	padding: 12px 20px;
	transition: all 0.3s ease;
}
.form-control:focus {
	border-color: var(--mc-primary);
	box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.15);
}

/* Utilities */
.shadow-soft { 
	box-shadow: 0 6px 30px var(--mc-shadow); 
}
.text-primary {
	color: var(--mc-primary) !important;
}

/* Animations */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.fade-in-up {
	animation: fadeInUp 0.6s ease-out;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	h1, .h1 { font-size: 2rem; }
	h2, .h2 { font-size: 1.75rem; }
	.section { padding: 50px 0; }
	.section-lg { padding: 70px 0; }
}

/* Contact Section */
.contact-section {
	background: var(--mc-lighter);
}
.contact-form-card {
	background: var(--mc-white);
	border-radius: 15px;
	padding: 40px;
	box-shadow: 0 5px 25px var(--mc-shadow);
}
.map-container {
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 5px 25px var(--mc-shadow);
	height: 400px;
}
.map-container iframe {
	width: 100%;
	height: 100%;
	border: none;
}

/* Facts/Stats Section */
.fact {
	background: linear-gradient(135deg, var(--mc-primary-dark) 0%, var(--mc-primary) 100%);
	position: relative;
	overflow: hidden;
	background-color: var(--mc-primary-dark) !important;
}
.fact::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.3);
	z-index: 1;
}
.fact > .container {
	position: relative;
	z-index: 2;
}
.fact h2,
.fact p {
	color: var(--mc-white) !important;
}

/* Date Square (News Section) */
.date-square {
	background: #4caf50 !important;
	border-radius: 10px;
	padding: 10px;
	min-width: 70px;
}
.date-square .day {
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}
.date-square .month {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Back to Top Button */
.back-to-top {
	background: var(--mc-primary) !important;
	border: none !important;
	box-shadow: 0 4px 15px rgba(76, 175, 80, 0.4) !important;
	transition: all 0.3s ease !important;
}
.back-to-top:hover {
	background: var(--mc-primary-dark) !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 6px 20px rgba(46, 125, 50, 0.5) !important;
}

/* Additional Responsive Improvements */
@media (max-width: 576px) {
	.contact-form-card {
		padding: 25px !important;
	}
	.map-container {
		height: 300px;
	}
}

/* --- ENFORCE WEBSITE FONTS & STYLE ON MODALS --- */
.modal-content, .modal, .modal-content .form-label, .modal-content .form-control, .modal-content select, .modal-content button {
    font-family: 'Inter', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 1rem;
    font-weight: 400;
}
.modal-content .form-label {
    font-weight: 600;
    color: var(--mc-primary-dark);
}
.modal-content .form-control, .modal-content select {
    border-radius: 8px;
    padding: 12px 20px;
    border: 2px solid var(--mc-light);
}
.modal-content .form-control:focus, .modal-content select:focus {
    border-color: var(--mc-primary);
    box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.08);
}
.modal-content button.btn {
    font-weight: 600;
    border-radius: 8px;
    padding: 12px 24px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 14px;
}
.modal-title {
    font-size: 1.5rem;
    font-weight: 700;
}

