/**
 * ArchVR Layout & Grid System
 *
 * @package ArchVR
 * @version 1.0.0
 */

.container {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-pad);
	padding-right: var(--container-pad);
}

.container-narrow {
	max-width: 1000px;
}

.site-main {
	width: 100%;
	min-height: 80vh;
}

.site-section {
	padding-top: var(--section-spacing);
	padding-bottom: var(--section-spacing);
	position: relative;
}

/* Flex Utilities */
.flex {
	display: flex;
}

.flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.flex-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flex-col {
	display: flex;
	flex-direction: column;
}

/* Grid System */
.grid {
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
}

.grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
}

.grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
}

.grid-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
}

/* Fallback for horizontal overflow prevention */
body, .site-header, .site-footer, .site-main {
	max-width: 100vw;
}
