html,
body {
	min-height: 100%;
}

body.frontend-shell {
	opacity: 1;
}

.frontend-shell .wrapper {
	min-height: 100vh;
}

.frontend-shell .content {
	min-height: calc(100vh - 132px);
}

.frontend-shell .footer {
	border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.frontend-auth-shell {
	min-height: 100vh;
	background:
		radial-gradient(circle at top left, rgba(59, 125, 221, 0.18), transparent 34rem),
		linear-gradient(135deg, #f7f9fc 0%, #eef3f9 100%);
}

.frontend-auth-shell .member-portal-shell {
	min-height: 100vh;
}

.frontend-shell-resource-note {
	display: none;
}

.frontend-theme-menu {
	min-width: 16rem;
}

.frontend-theme-option {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.frontend-theme-option__text {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	line-height: 1.2;
	min-width: 0;
	text-align: left;
}

.frontend-theme-option__label {
	font-weight: 600;
}

.frontend-theme-option__description {
	color: var(--bs-secondary-color);
	font-size: 0.75rem;
	margin-top: 0.1rem;
}

.frontend-theme-option__check {
	height: 1rem;
	margin-left: auto;
	opacity: 0;
	width: 1rem;
}

.frontend-theme-option.is-active .frontend-theme-option__check {
	opacity: 1;
}

.frontend-theme-swatch {
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 999px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.75);
	display: inline-flex;
	flex: 0 0 auto;
	height: 1.4rem;
	width: 1.4rem;
}

.frontend-theme-swatch--default {
	background: linear-gradient(135deg, #222e3c 0 50%, #f5f7fb 50% 100%);
}

.frontend-theme-swatch--colored {
	background: linear-gradient(135deg, #3b7ddd 0 50%, #20c997 50% 100%);
}

.frontend-theme-swatch--dark {
	background: linear-gradient(135deg, #111827 0 50%, #374151 50% 100%);
}

.frontend-theme-swatch--light {
	background: linear-gradient(135deg, #ffffff 0 50%, #edf2f7 50% 100%);
}

.frontend-cart-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--bs-navbar-color);
	display: inline-flex;
	height: 100%;
	justify-content: center;
	padding: 0 0.75rem;
}

.frontend-cart-toggle:hover,
.frontend-cart-toggle:focus {
	color: var(--bs-primary);
	outline: 0;
}

.frontend-cart-badge {
	align-items: center;
	background: #dc3545;
	border: 2px solid #ffffff;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.68rem;
	font-weight: 700;
	height: 1.15rem;
	justify-content: center;
	line-height: 1;
	min-width: 1.15rem;
	padding: 0 0.25rem;
	position: absolute;
	right: -0.55rem;
	top: -0.55rem;
}

.frontend-cart-badge.is-empty {
	background: #6c757d;
}
