.plans-page {
	margin-top: 20px;
}
.plans-page-wrap {
	--page-max-width: 1080px;
	padding: 20px 5px 25px
}
.price-yearly {
	display: none;
}
.price-monthly {
	display: block;
}
.bill-yearly .price-yearly {
	display: block;
}
.bill-yearly .price-monthly {
	display: none;
}
.plan-footnote {
	margin-bottom: 20px;
	text-align: center;
	font-size: 0.9em;
	color: var(--text-muted);
}
.plans {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
.plan {
	--plan-color: var(--text-muted);
	--plan-text-color: var(--text);
	--plan-bg-color: none;
	--plan-shadow: 0 1px 3px rgba(63, 63, 63, 0.12), 0 1px 2px rgba(63, 63, 63, 0.24);

	flex: 1 0 340px;
	max-width: 400px;
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	border: 2px solid var(--plan-color);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--plan-shadow);
}
.plan.premium {
	--plan-color: var(--upgrade-color-primary);
	--plan-text-color: var(--upgrade-color-text);
	--plan-color-btn-hover: var(--upgrade-color-btn-hover);
	--plan-bg-color: var(--upgrade-color-bg);
	--plan-shadow: 0 1px 3px var(--upgrade-color-light), 0 1px 2px var(--upgrade-color-shadow);
}
.plan-header {
	padding: 15px 20px;
	background: var(--plan-bg-color);
	color: var(--plan-text-color);
	border-bottom: var(--card-separator);
}
.plan-title {
	display: flex;
	justify-content: space-between;
	font-size: 1.6em;
	font-weight: 600;
}
.plan-price-per {
	font-size: 16px;
	font-weight: 400;
}
.plan .icon-check {
	--icon-color: var(--plan-color);
}
.plan-features {
	flex-grow: 1;
	margin: 0;
	padding: 25px;
}
.plan-features li {
	list-style: none;
	display: flex;
	gap: 15px;
}
.plan-features li:not(:last-child) {
	margin-bottom: 15px;
}
.plan-submit-btn {
	display: flex;
	width: 320px;
	max-width: 100%;
	margin: 25px auto;
	font-size: 20px;
}
.plan-feature-subset {
	color: var(--plan-text-color);
}
.plan-features-expand-btn {
	align-self: center;
}
.plan-yearly-toggle {
	margin: 20px 0;
	font-size: 18px;
	text-align: center;
}
.plan-yearly-toggle-switch {
	display: inline-flex;
	gap: 15px;
	align-items: center;
	justify-content: center;
}
.plan-discount {
	color: var(--guava-green-text);
}
.switch-input {
	position: relative;
	flex-shrink: 0;
	display: block;
	height: 28px;
	width: 56px;
	background: #aaa;
	border-radius: 100px;
	cursor: pointer;
	transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.darkmode .switch-input {
	background: var(--border-color);
}
.switch-input.checked {
	background: var(--theme-color-primary);
}
.switch-input.disabled {
	opacity: 0.5;
	pointer-events: none;
}
.switch-input::after {
	position: absolute;
	left: 5px;
	top: 4px;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
	content: '';
	transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.darkmode .switch-input::after {
	background: #aaa;
}
.switch-input.checked::after {
	left: 31px;
	background: #fff;
}
.switch-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
