/* css for layout */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	background-attachment: fixed;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	color: var(--gray-700);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.app-container {
	flex: 1;
	display: flex;
	flex-direction: column;
	background: var(--light);
	overflow: visible;
	/* Changed from hidden to visible to fix dropdown clipping */
	min-height: 100vh;
}

@media (max-width: 992px) {
	body {
		background: var(--light);
	}
}

/*
 * .main-content is the SINGLE SOURCE of every page's outer padding (the gutter
 * between the header and footer). Do NOT add left/top padding — or a
 * centering `margin-x` gutter — to a page's outermost content wrapper; it will
 * stack on top of this and break the consistent spacing across templates.
 * Page wrappers may keep `max-width` + `margin: 0 auto` (centering only) and
 * their own INNER card padding. Full-bleed pages opt out via
 * `.page-<name> .main-content { padding: 0 }` (see .page-landing below).
 *
 * padding-y: 4.25rem (68px) at all breakpoints.
 * padding-x: 1.125rem mobile (<768) / 3.125rem md (>=768) /
 *           5rem xl (>=1280) / 11.25rem 2xl (>=1536).
 */
.main-content {
	flex: 1;
	min-height: 100vh;
	padding: 4.25rem 1.125rem;
	background: var(--light);
	overflow-y: auto;
}

/* Tablet (Tailwind md) */
@media (min-width: 768px) {
	.main-content {
		padding: 4.25rem 3.125rem;
	}
}

/* Desktop (Tailwind xl) */
@media (min-width: 1280px) {
	.main-content {
		padding: 4.25rem 5rem;
	}
}

/* Large desktop (Tailwind 2xl) */
@media (min-width: 1536px) {
	.main-content {
		padding: 4.25rem 11.25rem;
	}
}

/* Full-bleed pages (e.g. landing hero) opt out of the outer padding. */
.page-landing .main-content {
	padding: 0;
}
