/* Engineeringa2z Site Manager - frontend styles. Sab classes e2zsm- prefixed.
   Colors/spacing dynamic CSS variables se aate hain (theme settings). */

.e2zsm-homepage { font-family: var(--e2zsm-font-body, system-ui, sans-serif); }

.e2zsm-container {
	max-width: var(--e2zsm-container, 1200px);
	margin-inline: auto;
	padding-inline: 20px;
}

.e2zsm-section { padding-block: var(--e2zsm-spacing, 24px); }
.e2zsm-section-title {
	font-family: var(--e2zsm-font-heading, system-ui, sans-serif);
	font-size: clamp(1.4rem, 1rem + 2vw, 2rem);
	margin: 0 0 .75em;
}
.e2zsm-section-sub { color: #555; margin: 0 0 1.25em; }

/* Hero */
.e2zsm-hero { text-align: center; padding-block: calc(var(--e2zsm-spacing, 24px) * 2); }
.e2zsm-hero-title { font-size: clamp(1.8rem, 1rem + 4vw, 3rem); margin: 0 0 .4em; color: var(--e2zsm-primary); }
.e2zsm-hero-sub { font-size: 1.1rem; color: #444; max-width: 640px; margin: 0 auto 1.5em; }
.e2zsm-hero-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Search */
.e2zsm-search { display: flex; gap: 8px; max-width: 560px; margin: 0 auto 1.5em; }
.e2zsm-search input { flex: 1; padding: 12px 16px; border: 1px solid #ccc; border-radius: var(--e2zsm-radius, 12px); font-size: 1rem; }
.e2zsm-search button { padding: 12px 22px; border: 0; border-radius: var(--e2zsm-radius, 12px); background: var(--e2zsm-primary); color: #fff; cursor: pointer; }

/* Buttons */
.e2zsm-btn { display: inline-block; padding: 12px 24px; border-radius: var(--e2zsm-radius, 12px); text-decoration: none; font-weight: 600; transition: transform .15s ease, box-shadow .15s ease; }
.e2zsm-btn-primary { background: var(--e2zsm-primary); color: #fff; }
.e2zsm-btn-ghost { background: transparent; color: var(--e2zsm-primary); border: 2px solid var(--e2zsm-primary); }
.e2zsm-btn:hover { transform: translateY(-2px); }

/* Card grid */
.e2zsm-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
.e2zsm-card {
	display: flex; flex-direction: column; gap: 6px;
	padding: 18px; border-radius: var(--e2zsm-radius, 12px);
	background: #fff; border: 1px solid #eee;
	box-shadow: var(--e2zsm-shadow, none);
	text-decoration: none; color: inherit;
	transition: transform .15s ease, box-shadow .15s ease;
}
.e2zsm-card:hover { transform: translateY(-3px); }
.e2zsm-card-title { font-size: 1.05rem; color: var(--e2zsm-primary); }
.e2zsm-card-excerpt { font-size: .9rem; color: #555; }
.e2zsm-card-thumb img { width: 100%; height: auto; border-radius: calc(var(--e2zsm-radius, 12px) - 4px); }

/* Why choose / testimonials center text */
.e2zsm-why-card, .e2zsm-cat-card { text-align: center; align-items: center; }
.e2zsm-why-icon { font-size: 2rem; }

/* Newsletter */
.e2zsm-newsletter { text-align: center; }
.e2zsm-newsletter-form { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; max-width: 520px; margin: 0 auto; }
.e2zsm-newsletter-form input { flex: 1; min-width: 220px; padding: 12px 16px; border: 1px solid #ccc; border-radius: var(--e2zsm-radius, 12px); }
.e2zsm-newsletter-msg { flex-basis: 100%; margin-top: 8px; font-size: .9rem; }

/* CTA */
.e2zsm-cta { background: var(--e2zsm-primary); color: #fff; border-radius: var(--e2zsm-radius, 12px); }
.e2zsm-cta .e2zsm-section-title, .e2zsm-cta .e2zsm-section-sub { color: #fff; }
.e2zsm-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.e2zsm-cta .e2zsm-btn-primary { background: #fff; color: var(--e2zsm-primary); }

/* Announcement bar */
.e2zsm-announcement { text-align: center; padding: 8px 0; font-size: .92rem; position: relative; }
.e2zsm-announcement .e2zsm-container { display: flex; align-items: center; justify-content: center; gap: 12px; }
.e2zsm-announcement-close { background: none; border: 0; color: inherit; font-size: 1.2rem; cursor: pointer; position: absolute; right: 16px; line-height: 1; }

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
	.e2zsm-btn, .e2zsm-card { transition: none; }
}
