/**
 * Container Block - Frontend Styles
 *
 * @package Quinn
 */

.quinn-container {
	width: 100%;
	padding: var(--padding-top, 0) var(--padding-right, 0) var(--padding-bottom, 0) var(--padding-left, 0);
	min-height: var(--min-height, auto);
}

.quinn-container__content {
	display: flex;
	flex-direction: column;
	min-height: inherit;
	width: 100%;
}

/* By default, all direct children should stretch to full width in column flex layout */
.quinn-container__content > * {
	align-self: stretch;
}

/* Height variations */
.quinn-container--height-fit-content {
	min-height: auto;
}

.quinn-container--height-full-screen {
	min-height: 100vh;
}

/* Desktop vertical alignment */
.quinn-container--align-v-top .quinn-container__content {
	justify-content: flex-start;
}

.quinn-container--align-v-center .quinn-container__content {
	justify-content: center;
}

.quinn-container--align-v-bottom .quinn-container__content {
	justify-content: flex-end;
}

.quinn-container--align-v-stretch .quinn-container__content {
	justify-content: space-between;
}

/* Desktop horizontal alignment */
.quinn-container--align-h-left .quinn-container__content {
	align-items: flex-start;
}

.quinn-container--align-h-center .quinn-container__content {
	align-items: center;
}

.quinn-container--align-h-right .quinn-container__content {
	align-items: flex-end;
}

.quinn-container--align-h-stretch .quinn-container__content {
	align-items: stretch;
}

/* Fixed width: horizontal position of the container (desktop) */
.quinn-container--width-fixed.quinn-container--align-h-left {
	margin-left: 0;
	margin-right: auto;
}

.quinn-container--width-fixed.quinn-container--align-h-center {
	margin-left: auto;
	margin-right: auto;
}

.quinn-container--width-fixed.quinn-container--align-h-right {
	margin-left: auto;
	margin-right: 0;
}

.quinn-container--width-fixed.quinn-container--align-h-stretch {
	margin-left: 0;
	margin-right: 0;
}

/* Mobile styles */
@media screen and (max-width: 768px) {
	.quinn-container {
		padding: var(--padding-top-mobile, 0) var(--padding-right-mobile, 0) var(--padding-bottom-mobile, 0) var(--padding-left-mobile, 0);
	}

	.quinn-container--width-mobile-fixed {
		max-width: var(--max-width-mobile, 100%) !important;
	}

	/* Fixed width mobile */
	.quinn-container--width-mobile-fixed.quinn-container--align-h-mobile-left {
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.quinn-container--width-mobile-fixed.quinn-container--align-h-mobile-center {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.quinn-container--width-mobile-fixed.quinn-container--align-h-mobile-right {
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.quinn-container--width-mobile-fixed.quinn-container--align-h-mobile-stretch {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.quinn-container--width-default.quinn-container--width-mobile-fixed > .container {
		padding-left: 0;
		padding-right: 0;
	}

	/* Mobile height variations */
	.quinn-container--height-mobile-fit-content {
		min-height: auto !important;
	}

	.quinn-container--height-mobile-full-screen {
		min-height: 100vh !important;
	}

	/* Mobile vertical alignment */
	.quinn-container--align-v-mobile-top .quinn-container__content {
		justify-content: flex-start !important;
	}

	.quinn-container--align-v-mobile-center .quinn-container__content {
		justify-content: center !important;
	}

	.quinn-container--align-v-mobile-bottom .quinn-container__content {
		justify-content: flex-end !important;
	}

	.quinn-container--align-v-mobile-stretch .quinn-container__content {
		justify-content: space-between !important;
	}

	/* Mobile horizontal alignment */
	.quinn-container--align-h-mobile-left .quinn-container__content {
		align-items: flex-start !important;
	}

	.quinn-container--align-h-mobile-center .quinn-container__content {
		align-items: center !important;
	}

	.quinn-container--align-h-mobile-right .quinn-container__content {
		align-items: flex-end !important;
	}

	.quinn-container--align-h-mobile-stretch .quinn-container__content {
		align-items: stretch !important;
	}
}
