/* =============================================================================
   VIGHNAFREE LOGISTICS PRIVATE LIMITED
   Responsive Stylesheet
   -----------------------------------------------------------------------------
   Load this file AFTER style.css. Breakpoints (max-width, mobile-first overrides):
     1440px - Large desktop fine-tuning
     1200px - Laptop
     992px  - Tablet landscape
     768px  - Tablet portrait / large mobile
     480px  - Small mobile
   ========================================================================== */


/* =============================================================================
   1440px and below - Large desktop
   ========================================================================== */
@media (max-width: 1440px) {
	:root {
		--container-width: 1140px;
	}
}


/* =============================================================================
   1200px and below - Laptop
   ========================================================================== */
@media (max-width: 1200px) {
	:root {
		--section-padding-y: 80px;
	}

	.industries-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.related-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.hero h1 {
		font-size: 2.9rem;
	}
}


/* =============================================================================
   992px and below - Tablet landscape
   ========================================================================== */
@media (max-width: 992px) {
	:root {
		--section-padding-y: 68px;
	}

	h1 { font-size: 2.5rem; }
	h2 { font-size: 1.9rem; }

	/* Collapse multi-column grids to 2 columns */
	.grid-3,
	.grid-4,
	.stats-grid,
	.testimonials-grid,
	.process-steps {
		grid-template-columns: repeat(2, 1fr);
	}

	.two-col,
	.contact-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.two-col .hero-media {
		order: -1;
	}

	.footer-top {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px;
	}

	.cta-banner {
		padding: 44px;
	}

	.cta-banner-inner {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}

	.hero {
		min-height: 560px;
	}

	.hero h1 {
		font-size: 2.5rem;
	}

	.contact-form-card {
		padding: 32px;
	}
}


/* =============================================================================
   768px and below - Tablet portrait / large mobile
   ========================================================================== */
@media (max-width: 768px) {
	:root {
		--section-padding-y: 56px;
	}

	h1 { font-size: 2.15rem; }
	h2 { font-size: 1.65rem; }
	h3 { font-size: 1.3rem; }

	.container {
		padding-inline: 20px;
	}

	/* ---- Header / Navigation ---- */
	.header-container {
		height: 74px;
	}

	.logo-img {
		height: 40px;
	}

	.header-actions .btn-primary {
		padding: 10px 20px;
		font-size: 0.85rem;
	}

	.mobile-nav-toggle {
		display: flex;
	}

	.main-nav {
		position: fixed;
		top: 74px;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0;
		background-color: var(--color-white);
		padding: 12px 20px 40px;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		z-index: 999;
	}

	.main-nav.is-open {
		transform: translateX(0);
	}

	.nav-list {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}

	.nav-link {
		width: 100%;
		padding: 16px 14px;
		border-bottom: 1px solid var(--color-border);
		border-radius: 0;
		justify-content: space-between;
	}

	.nav-item-dropdown .chevron {
		transition: transform var(--transition);
	}

	.nav-item-dropdown.is-open .chevron {
		transform: rotate(180deg);
	}

	/* Dropdown becomes an inline expandable panel on mobile */
	.dropdown-menu {
		position: static;
		transform: none;
		box-shadow: none;
		border: none;
		border-radius: 0;
		padding: 0 0 0 14px;
		max-height: 0;
		opacity: 1;
		visibility: visible;
		overflow: hidden;
		transition: max-height 0.3s ease;
	}

	.nav-item-dropdown.is-open .dropdown-menu {
		max-height: 400px;
	}

	.nav-item-dropdown:hover .dropdown-menu {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	/* ---- Hero ---- */
	.hero {
		min-height: auto;
		text-align: left;
	}

	.hero-content {
		padding-block: 56px;
		max-width: 100%;
	}

	.hero h1 {
		font-size: 2rem;
	}

	.hero-inner .hero-content {
		padding-block: 44px;
	}

	.hero-inner h1 {
		font-size: 1.9rem;
	}

	.hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero-actions .btn {
		width: 100%;
	}

	/* ---- Grids ---- */
	.grid-2,
	.grid-3,
	.grid-4,
	.stats-grid,
	.testimonials-grid,
	.process-steps,
	.industries-grid,
	.related-services-grid,
	.features-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.footer-top {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-block: 56px;
	}

	.footer-bottom-inner {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}

	.cta-full {
		padding-block: 64px;
	}

	.back-to-top {
		right: 18px;
		bottom: 18px;
		width: 44px;
		height: 44px;
	}

	.media-badge {
		left: 16px;
		bottom: -20px;
		padding: 14px 18px;
	}
}


/* =============================================================================
   480px and below - Small mobile
   ========================================================================== */
@media (max-width: 480px) {
	h1 { font-size: 1.85rem; }
	h2 { font-size: 1.5rem; }

	.eyebrow {
		font-size: 0.72rem;
	}

	.grid-2,
	.grid-3,
	.grid-4,
	.stats-grid,
	.testimonials-grid,
	.process-steps,
	.industries-grid,
	.related-services-grid,
	.features-grid {
		grid-template-columns: 1fr;
	}

	.stat-number {
		font-size: 2.3rem;
	}

	.cta-banner {
		padding: 30px 24px;
	}

	.cta-banner-actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.cta-banner-actions .btn {
		width: 100%;
	}

	.contact-form-card {
		padding: 24px;
	}

	.contact-info-item {
		padding: 18px;
	}

	.testimonial-card,
	.service-card {
		padding: 26px 22px;
	}
}
