/**
 * Shared layout primitives + storefront helpers that used to come from Bootstrap.
 * LK then loads utilities.css (Tailwind-scale), which overrides spacing where both exist.
 */

.tv-page,
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
	width: 100%;
	max-width: var(--tv-page-max, 1440px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--tv-page-gutter, 12px);
	padding-right: var(--tv-page-gutter, 12px);
}

.container-fluid {
	width: 100%;
	padding-left: var(--tv-page-gutter, 12px);
	padding-right: var(--tv-page-gutter, 12px);
}

.border {
	border: 1px solid var(--color-border, #dee2e6);
}

.w-100,
.w-full {
	width: 100%;
}

.d-flex,
.flex {
	display: flex;
}

.d-block {
	display: block;
}

.d-none {
	display: none !important;
}

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

.flex-wrap {
	flex-wrap: wrap;
}

.flex-1 {
	flex: 1 1 0%;
}

.min-h-0 {
	min-height: 0;
}

.justify-content-between {
	justify-content: space-between;
}

.justify-content-center {
	justify-content: center;
}

.align-items-center {
	align-items: center;
}

.text-center {
	text-align: center;
}

.mt-auto {
	margin-top: auto;
}

.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.pt-1 { padding-top: 0.25rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-3 { padding-top: 1rem; }
.pt-4 { padding-top: 1.5rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-3 { padding-bottom: 1rem; }
.py-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-5 { padding-top: 3rem; padding-bottom: 3rem; }
.p-0 { padding: 0; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 1rem; }
.p-5 { padding: 3rem; }
.mb-0 { margin-bottom: 0; }

@media (min-width: 768px) {
	.flex-md-row {
		flex-direction: row;
	}
}

.filter_block_body[hidden],
.filter_facet_extra[hidden] {
	display: none !important;
}
