/* Mobile-First Responsive Design Enhancements for Winzark Theme */
/* These styles override and extend the main style.css with mobile-first approach */

/* ==== MOBILE BASE STYLES (Smallest first) ==== */

html, body {
	font-size: 14px;
}

img {
	height: auto;
}

#page {
	overflow-x: hidden;
}

/* Hero Section - Mobile First */
.hero-section {
	padding: 40px 16px;
}

.hero-grid {
	grid-template-columns: 1fr;
	gap: 24px;
}

.hero-content h1 {
	font-size: clamp(1.6rem, 5vw, 2.8rem);
	margin-bottom: 12px;
}

/* Services Grid - Mobile First (single column) */
.service-grid,
.solution-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

/* Benefits Grid - Mobile First (single column) */
.benefits-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

.benefit-item {
	min-height: auto;
	padding: 16px;
}

.benefit-item span {
	font-size: 20px;
	margin-bottom: 10px;
}

/* Industry & Tech Grid - Mobile First (single column) */
.industry-grid,
.tech-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

.industry-icon {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

/* Process Steps - Mobile First (2 columns) */
.process-steps {
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.process-item {
	padding: 12px 10px;
}

.process-item span {
	width: 32px;
	height: 32px;
	font-size: 12px;
	line-height: 32px;
	margin-bottom: 8px;
}

/* Stories Grid - Mobile First (single column) */
.story-grid,
.large-story-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

.story-card {
	min-height: auto;
}

/* Testimonials - Mobile First (single column, smaller gaps) */
.testimonial-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

.testimonial-grid blockquote {
	padding: 16px;
	border-radius: 12px;
}

/* Developer & Contact Layout - Mobile First (single column) */
.developer-layout,
.contact-layout {
	grid-template-columns: 1fr;
	gap: 16px;
}

.developer-list {
	gap: 12px;
}

.developer-group {
	padding: 16px;
	margin-bottom: 0;
}

.developer-group h2 {
	font-size: 1.1rem;
	margin: 0 0 10px;
}

/* Logo Row - Mobile First (2 columns) */
.logo-row {
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	font-size: 11px;
}

/* Form Field Grid - Mobile First (single column) */
.field-grid {
	grid-template-columns: 1fr;
	gap: 12px;
}

.contact-card label {
	gap: 6px;
	font-size: 14px;
}

/* Form Card - Mobile First (static positioning) */
.form-card {
	padding: 16px;
	position: static;
	top: auto;
}

/* Buttons - WCAG 2.5 Minimum Tap Target (44x44px) */
.btn-primary,
.btn-secondary,
.header-buttons .btn-find-dev,
.header-buttons .btn-book-call,
.btn-secondary {
	min-height: 44px;
	min-width: 44px;
	padding: 12px 18px;
	font-size: 14px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Mobile Menu List - Improved tap targets */
.mobile-menu-list a {
	min-height: 44px;
	padding: 12px 16px;
	display: flex;
	align-items: center;
	font-size: 14px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

/* Mobile Menu Toggle - 48x48px minimum */
.mobile-menu-toggle {
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	padding: 0;
	margin-left: auto;
	flex-shrink: 0;
}

/* Header Content - Mobile Optimized */
.header-content {
	min-height: 60px;
	padding: 0 16px;
	gap: 12px;
	flex-wrap: wrap;
}

/* Brand Logo - Smaller on mobile */
.brand-logo {
	height: 36px;
	max-width: 140px;
}

.brand-icon {
	width: 36px;
	height: 36px;
	font-size: 14px;
	border-radius: 8px;
}

.brand-text strong {
	font-size: 0.95rem;
}

.brand-text small {
	font-size: 0.6rem;
}

/* Top Bar - Mobile Responsive */
.topbar-inner {
	padding: 8px 16px;
	flex-direction: column;
	gap: 8px;
	text-align: center;
	justify-content: center;
}

.topbar-strip p {
	font-size: 12px;
	white-space: normal;
}

.topbar-strip a {
	font-size: 11px;
}

/* Navigation - Hidden on mobile */
.main-navigation {
	display: none;
}

.nav-menu {
	display: none;
}

/* Header Buttons - Hidden on mobile */
.header-buttons {
	display: none;
}

/* Drawer Menu - Narrow on mobile */
.offcanvas-menu {
	width: min(85%, 320px);
	box-shadow: 2px 0 24px rgba(15, 23, 42, 0.12);
}

.offcanvas-menu .offcanvas-header {
	padding: 12px 16px;
}

.offcanvas-menu .offcanvas-title {
	font-size: 14px;
}

/* Spacing - Smaller on mobile */
.logo-strip,
.section-spacing,
.page-hero,
.final-cta,
.hire-section {
	padding-top: 32px;
	padding-bottom: 32px;
}

.hire-box,
.cta-box {
	padding: 20px 16px;
	flex-direction: column;
	align-items: flex-start;
}

/* Form inputs - Properly sized for mobile */
.contact-card input,
.contact-card select,
.contact-card textarea {
	min-height: 44px;
	padding: 12px 14px;
	font-size: 16px;
	border-radius: 10px;
}

/* Service Cards - Reduced padding on mobile */
.service-card,
.feature-card,
.industry-card,
.tech-card,
.story-card,
.benefit-item,
.solution-panel,
.industry-detail-card,
.tech-landing-card,
.contact-card,
.info-box {
	min-height: auto;
	padding: 16px;
	border-radius: 12px;
}

.service-card ul,
.solution-panel ul,
.industry-detail-card ul {
	margin: 0 0 12px;
}

.service-card li,
.solution-panel li,
.industry-detail-card li {
	padding-left: 16px;
	margin-bottom: 6px;
}

/* Icon sizes - Scaled for mobile */
.icon-wrap {
	width: 44px;
	height: 44px;
	margin-bottom: 12px;
	font-size: 18px;
}

/* Section headings - Responsive sizing */
.section-heading h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin-bottom: 20px;
}

.hero-metrics {
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
}

.hero-metrics li {
	min-width: 100%;
}

.hero-metrics strong {
	font-size: 1.6rem;
}

/* Footer - Mobile responsive */
.site-footer {
	padding: 40px 16px 20px;
}

.logo-strip {
	padding-top: 20px;
	padding-bottom: 20px;
}

/* Map Box - Full width on mobile */
.map-box iframe {
	height: 200px;
}

/* ==== DESKTOP OVERRIDE STYLES (min-width: 769px) ==== */

@media (min-width: 769px) {
	html, body {
		font-size: 16px;
	}

	.hero-section {
		padding: 92px 0 72px;
	}

	.hero-grid {
		grid-template-columns: 1.2fr 0.8fr;
		gap: 36px;
	}

	.hero-content h1 {
		font-size: clamp(2.4rem, 4vw, 4rem);
	}

	.service-grid,
	.solution-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 24px;
	}

	.benefits-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}

	.benefit-item {
		min-height: 220px;
	}

	.benefit-item span {
		font-size: 24px;
		margin-bottom: 18px;
	}

	.industry-grid,
	.tech-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}

	.industry-icon {
		font-size: 1.8rem;
		margin-bottom: 14px;
	}

	.process-steps {
		grid-template-columns: repeat(7, minmax(0, 1fr));
		gap: 16px;
	}

	.process-item {
		padding: 18px 16px;
	}

	.process-item span {
		width: 40px;
		height: 40px;
		font-size: 14px;
		line-height: 40px;
	}

	.story-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}

	.large-story-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.story-card {
		min-height: 220px;
	}

	.testimonial-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}

	.testimonial-grid blockquote {
		padding: 24px;
	}

	.developer-layout,
	.contact-layout {
		grid-template-columns: 1.15fr 0.85fr;
		gap: 32px;
	}

	.developer-list {
		gap: 18px;
	}

	.developer-group {
		padding: 24px;
		margin-bottom: 18px;
	}

	.developer-group h2 {
		font-size: 1.35rem;
		margin-bottom: 12px;
	}

	.logo-row {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 16px;
		font-size: 14px;
	}

	.field-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.form-card {
		padding: 28px;
		position: sticky;
		top: 110px;
	}

	.topbar-inner {
		padding: 0 24px;
		flex-direction: row;
		gap: 16px;
		text-align: left;
		justify-content: space-between;
	}

	.topbar-strip p {
		font-size: 13px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.topbar-strip a {
		font-size: 13px;
		white-space: nowrap;
	}

	.header-content {
		min-height: 82px;
		padding: 0 24px;
		gap: 18px;
		flex-wrap: nowrap;
	}

	.brand-logo {
		height: 50px;
		max-width: 200px;
	}

	.brand-icon {
		width: 42px;
		height: 42px;
		font-size: 16px;
	}

	.brand-text strong {
		font-size: 1.2rem;
	}

	.brand-text small {
		font-size: 0.7rem;
	}

	.mobile-menu-toggle {
		display: none !important;
	}

	.main-navigation {
		display: flex;
	}

	.nav-menu {
		display: flex;
	}

	.header-buttons {
		display: flex;
		gap: 14px;
	}

	.btn-primary,
	.btn-secondary,
	.header-buttons .btn-find-dev,
	.header-buttons .btn-book-call {
		padding: 13px 22px;
	}

	.logo-strip,
	.section-spacing,
	.page-hero,
	.final-cta,
	.hire-section {
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.hire-box,
	.cta-box {
		padding: 28px 32px;
		flex-direction: row;
		align-items: center;
	}

	.map-box iframe {
		height: 360px;
	}

	.service-card,
	.feature-card,
	.industry-card,
	.tech-card,
	.story-card,
	.benefit-item,
	.solution-panel,
	.industry-detail-card,
	.tech-landing-card,
	.contact-card,
	.info-box {
		min-height: 220px;
		padding: 24px;
		border-radius: 20px;
	}

	.service-card ul,
	.solution-panel ul,
	.industry-detail-card ul {
		margin: 0 0 16px;
	}

	.service-card li,
	.solution-panel li,
	.industry-detail-card li {
		padding-left: 18px;
		margin-bottom: 8px;
	}

	.icon-wrap {
		width: 52px;
		height: 52px;
		margin-bottom: 18px;
		font-size: 24px;
	}

	.section-heading h2 {
		font-size: clamp(2rem, 3vw, 3rem);
	}

	.offcanvas-menu {
		width: min(82%, 340px);
		box-shadow: 18px 0 40px rgba(15, 23, 42, 0.14);
	}

	.offcanvas-menu .offcanvas-header {
		padding: 1.1rem 1rem 0.9rem;
	}

	.offcanvas-menu .offcanvas-title {
		font-size: 16px;
	}

	.site-footer {
		padding: 60px 0 32px;
	}
}

/* ==== LARGE DESKTOP (min-width: 1100px) ==== */

@media (min-width: 1100px) {
	.service-grid,
	.solution-grid,
	.story-grid,
	.large-story-grid,
	.benefits-grid,
	.industry-grid,
	.tech-grid,
	.process-steps {
		grid-template-columns: auto;
	}

	.hero-grid,
	.developer-layout,
	.contact-layout {
		grid-template-columns: auto;
	}
}
