/* ==========================================================================
   Mobile Responsive CSS for Home Page
   ========================================================================== */

/* Mobile Logo Styles */
@media (max-width: 768px) {
	/* Side Panel Logo Mobile Styles */
	.side-panel-logo {
		padding: 25px 30px !important;
		text-align: center !important;
		border-bottom: 1px solid rgba(233, 236, 239, 0.5) !important;
		background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
		display: block !important; /* Ensure it's visible */
		position: relative !important;
		z-index: 1000 !important;
	}

	.side-panel-logo img {
		height: 80px !important; /* Increased from 50px for better visibility */
		width: auto !important;
		max-width: 250px !important; /* Increased max-width */
		display: block !important; /* Ensure image displays */
		margin: 0 auto !important; /* Center the image */
		filter: drop-shadow(0 3px 12px rgba(0,0,0,0.2)) !important; /* Enhanced shadow */
		transition: all 0.3s ease !important;
		object-fit: contain !important; /* Maintain aspect ratio */
	}

	/* Enhanced mobile logo interaction */
	.side-panel-logo:hover img {
		transform: scale(1.05) !important;
		filter: drop-shadow(0 5px 15px rgba(0,0,0,0.3)) !important;
	}

	/* Override any potential conflicts */
	.side-panel-header .side-panel-logo,
	.side-panel .side-panel-logo {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.side-panel-header .side-panel-logo img,
	.side-panel .side-panel-logo img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: 80px !important;
		width: auto !important;
		max-height: 80px !important;
	}

	/* Ensure side panel content is properly structured */
	.side-panel-nav {
		margin-top: 20px !important;
		padding: 0 !important;
	}

	/* Header Logo Mobile Styles - Show logo same as desktop */
	.header__area-menubar-left {
		display: block !important; /* Show logo container on mobile */
		order: 1;
		text-align: left; /* Align to left like desktop */
		padding: 0 !important; /* Remove all padding to fit to top */
		margin: 0 !important; /* Remove all margins */
		background: transparent;
		position: absolute; /* Position absolutely to control exact placement */
		top: 0; /* Fit exactly to top */
		left: 0; /* Fit exactly to left */
		z-index: 1001;
	}

	.header__area-menubar-left-logo {
		display: block !important; /* Show logo on mobile same as desktop */
	}

	.header__area-menubar-left-logo img {
		display: block !important;
		top: -120px;
		right: 10px;
		width: 280px !important; /* Increased size for better visibility */
		height: 280px !important;
		position: relative !important;
		margin: 0 !important; /* Reset margins to fit exactly like desktop */
		padding: 0 !important;
		filter: drop-shadow(0 6px 12px rgba(0,0,0,0.3)) drop-shadow(0 3px 6px rgba(0,0,0,0.2)) !important;
		transition: all 0.3s ease !important;
	}

	.header__area-menubar-left-logo:hover img {
		transform: translateY(-2px) !important;
	}

	/* Adjust header layout for mobile with logo */
	.header__area {
		padding: 0 !important;
		margin: 0 !important;
		position: relative;
		width: 100%;
	}

	.header__area-menubar {
		display: flex !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: flex-start !important; /* Align to top */
		padding: 0 !important;
		margin: 0 !important;
		min-height: 180px !important; /* Match logo height */
		position: relative;
		width: 100%;
	}

	/* Perfect hamburger positioning for mobile */
	.header__area-menubar-right {
		position: absolute !important;
		top: 15px !important; /* Moved slightly higher for better alignment */
		right: 15px !important; /* Moved slightly closer to edge for better balance */
		z-index: 1002 !important;
		display: flex !important;
		align-items: center !important;
	}

	/* Home page specific banner mobile styles */
	.banner__area {
		padding-top: 60px !important; /* Reduced from 100px to bring slider closer to header */
	}

	.banner__area-content {
		padding: 20px !important;
		text-align: center !important;
	}

	.banner__area-content h1 {
		font-size: 2.5rem !important;
		line-height: 1.2 !important;
		margin-bottom: 20px !important;
		text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
	}

	.banner__area-content p {
		font-size: 1.1rem !important;
		line-height: 1.5 !important;
		margin-bottom: 25px !important;
	}

	/* Hero section mobile adjustments */
	.banner__two {
		min-height: 100vh !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background-attachment: scroll !important;
		background-position: center center !important;
		background-size: cover !important;
		margin-bottom: 0 !important; /* Remove any bottom margin */
		margin-top: -40px !important; /* Lift the slider container up */
		padding-top: 40px !important; /* Add padding to maintain spacing */
	}

	/* Section immediately after banner */
	.banner__two + * {
		margin-top: -30px !important; /* Bring the next section closer to banner */
		padding-top: 30px !important; /* Add padding to maintain content spacing */
	}

	/* Slider Navigation Mobile Styles */
	.banner__two-slide-area {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/* Mobile slide images - consistent height for all slides */
	.mobile-slide-image {
		height: 250px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}

	.mobile-slide-image img {
		width: 100% !important;
		height: 250px !important;
		max-width: 300px !important;
		object-fit: contain !important;
		object-position: center !important;
	}

	/* Desktop banner images - consistent height */
	.banner-image-standard {
		height: 450px !important;
		object-fit: contain !important;
		object-position: center !important;
	}

	/* Additional mobile classes for specific slides */
	.banner-title-mobile {
		font-size: 2.2rem !important;
		line-height: 1.2 !important;
		margin: 10px 0 !important;
	}
	
	.banner-description-mobile {
		font-size: 1rem !important;
		line-height: 1.4 !important;
		margin: 11px 0 !important;
	}
	
	.banner-button-mobile {
		margin-top: 25px !important;
	}

	.banner__two-slide-area-thumb {
		position: absolute !important;
		bottom: -10px !important; /* Moved further down to prevent overlap */
		left: 50% !important;
		transform: translateX(-50%) !important;
		z-index: 100 !important;
		width: 90% !important;
		max-width: 350px !important;
	}

	.slide_thumb {
		margin: 0 !important;
		padding: 0 !important;
	}

	.thumb__area {
		gap: 8px !important; /* Reduced gap between navigation items */
		justify-content: center !important;
		align-items: center !important;
	}

	.banner__two-slide-area-thumb-item {
		padding: 8px 14px !important; /* Slightly increased horizontal padding */
		margin: 0 3px !important; /* Slightly reduced margin to compensate */
		background: rgba(0, 0, 0, 0.7) !important; /* Changed to black background */
		border-radius: 20px !important;
		backdrop-filter: blur(10px) !important;
		transition: all 0.3s ease !important;
		min-width: 80px !important; /* Set minimum width for better text accommodation */
		max-width: 120px !important; /* Set maximum width to prevent overly wide buttons */
		text-align: center !important;
		border: 1px solid rgba(255, 255, 255, 0.2) !important; /* Added subtle border */
	}

	.banner__two-slide-area-thumb-item h6 {
		font-size: 0.7rem !important; /* Reduced from 0.8rem for better fit */
		margin: 0 !important;
		white-space: normal !important; /* Allow text wrapping instead of nowrap */
		color: white !important; /* Changed to white text */
		font-weight: 600 !important;
		text-align: center !important;
		line-height: 1.2 !important; /* Compact line height for multi-line text */
	}

	/* Hover and active states */
	.banner__two-slide-area-thumb-item:hover {
		background: rgba(54, 180, 229, 0.9) !important; /* Blue on hover */
		transform: scale(1.05) !important;
		border-color: rgba(54, 180, 229, 0.8) !important;
	}

	.banner__two-slide-area-thumb-item:hover h6 {
		color: white !important;
	}

	.banner__two-slide-area-thumb-item.swiper-slide-thumb-active {
		background: rgba(54, 180, 229, 0.9) !important; /* Blue when active */
		transform: scale(1.05) !important;
		border-color: rgba(54, 180, 229, 1) !important;
	}

	.banner__two-slide-area-thumb-item.swiper-slide-thumb-active h6 {
		color: white !important;
	}

	/* Banner Slide Progress/Indicators Mobile */
	.banner-slide-indicators {
		position: absolute !important;
		bottom: 10px !important; /* Reduced from 25px to bring it closer to bottom */
		left: 50% !important;
		transform: translateX(-50%) !important;
		z-index: 99 !important;
	}

	.slide-progress-bar {
		width: 200px !important; /* Smaller progress bar for mobile */
		height: 3px !important;
		background: rgba(255, 255, 255, 0.3) !important;
		border-radius: 2px !important;
		overflow: hidden !important;
	}

	.slide-progress-fill {
		height: 100% !important;
		background: linear-gradient(90deg, #36B4E5 0%, #2a9fd8 100%) !important;
		transition: width 0.3s ease !important;
	}

	/* Container adjustments for mobile slider */
	.banner__two .container-fluid {
		padding: 0 !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.banner__two .row {
		width: 100% !important;
		margin: 0 !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
	}

	.banner__two .col-lg-12 {
		padding: 0 !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* Services section mobile */
	.services__area {
		padding: 60px 0 !important;
	}

	.services__area .container {
		padding: 0 20px !important;
	}

	.services__area-item {
		margin-bottom: 30px !important;
		padding: 25px 15px !important;
		text-align: center !important;
	}

	.services__area-item h4 {
		font-size: 1.3rem !important;
		margin-bottom: 15px !important;
	}

	.services__area-item p {
		font-size: 0.95rem !important;
		line-height: 1.6 !important;
	}

	/* About section mobile */
	.about__area {
		padding: 20px 0 !important; /* Reduced from 60px to bring it closer to banner */
		margin-top: -20px !important; /* Negative margin to bring it closer to navigation */
	}

	.about__area .container {
		padding: 0 20px !important;
	}

	.about__area h2 {
		font-size: 2rem !important;
		line-height: 1.3 !important;
		margin-bottom: 20px !important;
	}

	.about__area p {
		font-size: 1rem !important;
		line-height: 1.6 !important;
		margin-bottom: 15px !important;
	}

	/* Brand showcase mobile */
	.brand__area {
		padding: 40px 0 !important;
	}

	.brand__area-item {
		padding: 15px !important;
		margin-bottom: 20px !important;
		text-align: center !important;
	}

	.brand__area-item img {
		max-width: 120px !important;
		height: auto !important;
		filter: grayscale(0) !important;
		opacity: 0.8 !important;
		transition: all 0.3s ease !important;
	}

	.brand__area-item:hover img {
		opacity: 1 !important;
		transform: scale(1.05) !important;
	}

	/* Portfolio/Gallery mobile */
	.portfolio__area {
		padding: 60px 0 !important;
	}

	.portfolio__area .container {
		padding: 0 15px !important;
	}

	.portfolio__area-item {
		margin-bottom: 20px !important;
	}

	.portfolio__area-item img {
		width: 100% !important;
		height: auto !important;
		border-radius: 10px !important;
	}

	/* Testimonials mobile */
	.testimonial__area {
		padding: 60px 0 !important;
	}

	.testimonial__area .container {
		padding: 0 20px !important;
	}

	.testimonial__area-item {
		padding: 20px !important;
		margin-bottom: 25px !important;
		text-align: center !important;
	}

	.testimonial__area-item p {
		font-size: 0.95rem !important;
		line-height: 1.6 !important;
		margin-bottom: 20px !important;
	}

	/* CTA/Call to Action mobile */
	.cta__area {
		padding: 50px 0 !important;
		text-align: center !important;
	}

	.cta__area .container {
		padding: 0 20px !important;
	}

	.cta__area h2 {
		font-size: 2rem !important;
		line-height: 1.3 !important;
		margin-bottom: 20px !important;
	}

	.cta__area p {
		font-size: 1rem !important;
		line-height: 1.5 !important;
		margin-bottom: 25px !important;
	}

	/* Button mobile styles */
	.build_button,
	.btn-primary,
	.custom-btn {
		padding: 12px 25px !important;
		font-size: 0.95rem !important;
		margin: 10px 5px !important;
		display: inline-block !important;
		min-width: 150px !important;
		text-align: center !important;
	}

	/* Video section mobile */
	.video__area {
		padding: 60px 0 !important;
	}

	.video__area .container {
		padding: 0 20px !important;
	}

	.video__content {
		padding: 20px !important;
		text-align: center !important;
	}

	.video__content h2 {
		font-size: 1.8rem !important;
		line-height: 1.3 !important;
		margin-bottom: 15px !important;
	}

	.video__content p {
		font-size: 1rem !important;
		line-height: 1.6 !important;
		margin-bottom: 20px !important;
	}

	/* Contact section mobile */
	.contact__area {
		padding: 60px 0 !important;
	}

	.contact__area .container {
		padding: 0 20px !important;
	}

	.contact__area-left {
		margin-bottom: 40px !important;
	}

	.contact__area-left h2 {
		font-size: 1.8rem !important;
		margin-bottom: 15px !important;
	}

	.contact__area-left p {
		font-size: 1rem !important;
		line-height: 1.6 !important;
		margin-bottom: 20px !important;
	}

	/* Form mobile styles */
	.contact__area-right form {
		padding: 0 !important;
	}

	.contact__area-right .form-group {
		margin-bottom: 20px !important;
	}

	.contact__area-right input,
	.contact__area-right textarea {
		width: 100% !important;
		padding: 12px 15px !important;
		font-size: 1rem !important;
		border-radius: 5px !important;
		border: 1px solid #ddd !important;
	}

	.contact__area-right textarea {
		min-height: 120px !important;
		resize: vertical !important;
	}

	/* Footer mobile */
	.footer__area {
		padding: 40px 0 20px 0 !important;
	}

	.footer__area .container {
		padding: 0 20px !important;
	}

	.footer__area-widget {
		margin-bottom: 30px !important;
		text-align: center !important;
	}

	.footer__area-widget h4 {
		font-size: 1.2rem !important;
		margin-bottom: 15px !important;
	}

	.footer__area-widget p,
	.footer__area-widget a {
		font-size: 0.9rem !important;
		line-height: 1.6 !important;
	}

	/* Social links mobile */
	.footer__area-social {
		text-align: center !important;
		margin-top: 20px !important;
	}

	.footer__area-social a {
		margin: 0 10px !important;
		font-size: 1.2rem !important;
		display: inline-block !important;
	}

	/* Small screen adjustments */
	@media (max-width: 576px) {
		.banner__area {
			padding-top: 50px !important; /* Even less padding for smaller screens */
		}
		
		.banner__two {
			margin-top: -30px !important; /* Less negative margin for smaller screens */
			padding-top: 30px !important;
		}
		
		.banner__area-content h1 {
			font-size: 2rem !important;
		}
		
		.banner__area-content p {
			font-size: 1rem !important;
		}
		
		/* Even tighter spacing for smaller screens */
		.mobile-slide-image {
			height: 220px !important;
		}

		.mobile-slide-image img {
			height: 220px !important;
		}

		.banner-image-standard {
			height: 400px !important;
		}

		/* Additional mobile classes for smaller screens */
		.banner-title-mobile {
			font-size: 1.9rem !important;
		}
		
		.banner-description-mobile {
			font-size: 0.9rem !important;
		}

		.banner__two-slide-area-thumb {
			bottom: -15px !important; /* Moved further down to prevent overlap */
			width: 95% !important;
			max-width: 300px !important;
		}

		.banner__two-slide-area-thumb-item {
			padding: 6px 10px !important; /* Even smaller padding */
			margin: 0 2px !important; /* Tighter margins */
		}

		.banner__two-slide-area-thumb-item h6 {
			font-size: 0.6rem !important; /* Even smaller text for small screens */
			line-height: 1.1 !important; /* Tighter line height */
		}

		.banner-slide-indicators {
			bottom: 5px !important; /* Reduced from 15px to bring it closer to bottom */
		}

		.slide-progress-bar {
			width: 150px !important; /* Smaller progress bar */
			height: 2px !important;
		}
		
		.about__area h2,
		.services__area h2,
		.cta__area h2 {
			font-size: 1.8rem !important;
		}
		
		.build_button,
		.btn-primary,
		.custom-btn {
			min-width: 120px !important;
			padding: 10px 20px !important;
			font-size: 0.9rem !important;
		}
	}

	/* Side panel enhancements for home page */
	.side-panel {
		width: 100% !important;
		max-width: 320px !important;
		height: 100vh !important;
		position: fixed !important;
		top: 0 !important;
		right: -100% !important;
		background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
		box-shadow: -5px 0 25px rgba(0,0,0,0.2) !important;
		transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
		z-index: 9999 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		display: block !important; /* Ensure panel is visible when needed */
	}

	.side-panel.open {
		right: 0 !important;
	}

	/* Side Panel Header Enhancement */
	.side-panel-header {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 0 !important;
		position: relative !important;
		background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
		border-bottom: 1px solid rgba(233, 236, 239, 0.5) !important;
	}

	/* Side Panel Close Button */
	.side-panel-close {
		position: absolute !important;
		top: 20px !important;
		right: 20px !important;
		width: 40px !important;
		height: 40px !important;
		background: rgba(0, 0, 0, 0.1) !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
		transition: all 0.3s ease !important;
		z-index: 1001 !important;
	}

	.side-panel-close:hover {
		background: rgba(54, 180, 229, 0.2) !important;
		transform: scale(1.1) !important;
	}

	.side-panel-close i {
		font-size: 1.2rem !important;
		color: #333 !important;
	}

	.side-panel-nav ul li a {
		color: #333;
		font-weight: 500;
		transition: all 0.3s ease;
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}

	.side-panel-nav ul li a:hover,
	.side-panel-nav ul li a.active {
		background: linear-gradient(135deg, #36B4E5 0%, #2a9fd8 100%);
		color: white;
		transform: translateX(10px);
	}

	/* Home page specific side panel highlighting */
	.side-panel-nav ul li a[href="home.html"] {
		background: linear-gradient(135deg, #36B4E5 0%, #2a9fd8 100%);
		color: white;
		font-weight: 600;
	}

	/* Side Panel Overlay Styles */
	.side-panel-overlay {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		background: rgba(0, 0, 0, 0.5) !important;
		z-index: 9998 !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transition: all 0.3s ease !important;
	}

	.side-panel-overlay.show {
		opacity: 1 !important;
		visibility: visible !important;
	}

	/* Side Panel Backdrop */
	.side-panel-backdrop {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		background: transparent !important;
		cursor: pointer !important;
	}

	/* Body scroll lock when side panel is open */
	body.side-panel-open {
		overflow: hidden !important;
	}

	/* Performance optimizations for mobile */
	.banner__area,
	.services__area,
	.about__area {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	/* Fix for iOS Safari viewport issues */
	.banner__two {
		min-height: -webkit-fill-available;
	}

	/* Smooth scrolling for mobile */
	html {
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}

	/* Text selection improvements */
	body {
		-webkit-user-select: text;
		-moz-user-select: text;
		-ms-user-select: text;
		user-select: text;
		-webkit-touch-callout: default;
	}

	/* Ensure full width on mobile */
	.container-fluid {
		padding: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Grid system mobile fixes */
	.row {
		margin: 0 !important;
	}

	.col-lg-12,
	.col-md-12,
	.col-sm-12 {
		padding: 0 15px !important;
	}

	/* Image responsive fixes */
	img {
		max-width: 100% !important;
		height: auto !important;
	}

	/* Loading and Animation Improvements for Mobile */
	.wow {
		visibility: visible !important;
		animation-duration: 0.6s !important;
	}

	/* Remove excessive animations on mobile for performance */
	.animate-on-scroll {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Tablet specific adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
	.banner__area-content h1 {
		font-size: 3rem !important;
	}
	
	.about__area h2,
	.services__area h2 {
		font-size: 2.5rem !important;
	}
}

/* Landscape mobile adjustments */
@media (max-width: 768px) and (orientation: landscape) {
	.banner__area {
		padding-top: 45px !important; /* Reduced padding for landscape */
	}
	
	.banner__two {
		min-height: 100vh !important;
		margin-top: -25px !important; /* Lift slider container in landscape */
		padding-top: 25px !important;
	}
	
	.header__area-menubar {
		min-height: 120px !important;
	}
	
	.header__area-menubar-left-logo img {
		width: 200px !important;
		height: 200px !important;
		top: -80px !important;
	}

	/* Landscape slider adjustments */
	.mobile-slide-image {
		height: 200px !important;
	}

	.mobile-slide-image img {
		height: 200px !important;
	}

	.banner-image-standard {
		height: 350px !important;
	}

	/* Additional mobile classes for landscape */
	.banner-title-mobile {
		font-size: 2rem !important;
	}
	
	.banner-description-mobile {
		font-size: 0.95rem !important;
	}

	.banner__two-slide-area-thumb {
		bottom: -10px !important; /* Moved further down to prevent overlap */
		max-width: 400px !important; /* Wider for landscape */
	}

	.banner__two-slide-area-thumb-item {
		padding: 6px 14px !important;
		margin: 0 3px !important;
	}

	.banner__two-slide-area-thumb-item h6 {
		font-size: 0.65rem !important; /* Slightly smaller for landscape */
		line-height: 1.15 !important;
	}

	.banner-slide-indicators {
		bottom: 8px !important; /* Reduced from 15px to bring it closer to bottom */
	}

	.slide-progress-bar {
		width: 250px !important;
	}
}
