@media screen and (max-width: 600px) {
	.promo-code-input-wrapper {
		flex-direction: column;
		gap: 8px;
	}
}

.promo-selector {
	display: flex;
	justify-content: center;
	gap: 0;
}

.promo-toggle {
	background: none;
	border-radius: 0;
	padding: 0;
	width: fit-content;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}

.promo-toggle .promo-option {
	padding: 10px 24px;
	border-radius: 26px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #666;
	background: #e8e8e8;
	transition: all 0.2s ease;
	user-select: none;
	flex: 1 1 0;
	text-align: center;
	white-space: nowrap;
}

.promo-toggle .promo-option.active {
	background: #d73930;
	color: #fff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

.promo-toggle .promo-option:not(.active):hover {
	color: #333;
}

.promo-toggle .promo-option[data-promo-code]::before {
	content: "\1F3F7\FE0F";
	font-size: 12px;
	margin-right: 6px;
}

.promo-selector-wrapper {
	text-align: center;
	margin: 20px auto;
}

.promo-selector-wrapper .promo-selector {
	margin: 0 auto;
}

.promo-code-link {
	display: inline-block;
	font-size: 14px;
	color: #d73930;
	text-decoration: underline;
	cursor: pointer;
	margin-bottom: 12px;
}

.promo-code-link:hover {
	color: #b22d26;
}

.promo-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.promo-modal {
	background: #fff;
	border-radius: 12px;
	padding: 40px;
	max-width: 400px;
	width: 90%;
	position: relative;
	text-align: center;
}

.promo-modal h3 {
	margin: 0 0 20px;
	font-size: 22px;
}

.promo-modal-close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: transparent;
	border: none;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: #666;
}

.promo-modal-close:hover,
.promo-modal-close:focus {
	color: #000;
}

.promo-modal input[type="text"] {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 16px;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.promo-modal input[type="text"]:focus {
	outline: none;
	border-color: #d73930;
}

.promo-modal-submit {
	background: #000;
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 12px 20px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: 100%;
}

.promo-modal-submit:hover {
	background: #d73930;
}

.promo-modal-error {
	color: #d73930;
	font-size: 14px;
	margin: 12px 0 0;
}

.membership-plans {
	width: 100%;
	display: flex;
	column-gap: 37px;
	justify-content: space-between;
}

.membership-signup-form .plan-box,
.membership-plans .plan-box {
	flex-basis: calc(33.333% - 24.666px);
	align-self: flex-start;
	background-color: #fff;
	border: 1px solid #b2b2b2;
	padding: 36px;
}

.membership-signup-form .plan-box .plan-title,
.membership-plans .plan-box .plan-title {
	display: flex;
	column-gap: 10px;
}

.membership-signup-form .plan-box .plan-title .plan-banner,
.membership-plans .plan-box .plan-title .plan-banner {
	align-self: flex-start;
	font-family: "zuume", sans-serif;
	font-size: 22px;
	line-height: 22px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #000;
	background-color: #efa12a;
	padding: 7px 9px 5px;
	margin-top: 2px;
	margin-left: auto;
}

.membership-signup-form .plan-box .plan-name,
.membership-plans .plan-box .plan-name {
	flex-shrink: 0;
	font-size: 50px;
	color: #515251;
	margin-bottom: 20px;
}

.membership-signup-form .plan-box .plan-pricing,
.membership-plans .plan-box .plan-pricing {
	display: flex;
	align-items: flex-end;
}

.membership-signup-form .plan-box .plan-pricing .plan-pricing-right,
.membership-plans .plan-box .plan-pricing .plan-pricing-right {
	padding-bottom: 7px;
	padding-left: 5px;
}

.membership-signup-form .plan-box .plan-pricing .plan-pricing-right:has(.non-promo-price),
.membership-plans .plan-box .plan-pricing .plan-pricing-right:has(.non-promo-price) {
	padding-bottom: 5px;
	padding-left: 15px;
}

.membership-signup-form .plan-box .plan-pricing .plan-amount,
.membership-plans .plan-box .plan-pricing .plan-amount {
	font-family: "zuume", sans-serif;
	font-size: 70px;
	line-height: 75px;
	font-weight: 700;
	color: #000;
}

.membership-signup-form .plan-box .plan-pricing .plan-discount-details,
.membership-plans .plan-box .plan-pricing .plan-discount-details {
	display: flex;
	flex-wrap: wrap;
	column-gap: 10px;
	align-items: flex-end;
	font-family: "zuume", sans-serif;
	font-size: 30px;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
	color: #d73930;
	padding-bottom: 7px;
}

@media screen and (max-width: 500px) {
	.membership-signup-form .plan-box .plan-pricing .plan-discount-details,
	.membership-plans .plan-box .plan-pricing .plan-discount-details {
		column-gap: 7px;
		font-size: 26px;
	}
}

.membership-signup-form .plan-box .plan-pricing .non-promo-price,
.membership-plans .plan-box .plan-pricing .non-promo-price {
	text-decoration: line-through;
}

.membership-signup-form .plan-box .plan-pricing .plan-frequency,
.membership-plans .plan-box .plan-pricing .plan-frequency {
	font-size: 16px;
	color: #d73930;
	text-transform: uppercase;
	font-weight: 500;
	top: -7px;
	position: relative;
	white-space: nowrap;
}

.membership-signup-form .plan-box .plan-pricing:has(.non-promo-price) .plan-frequency,
.membership-plans .plan-box .plan-pricing:has(.non-promo-price) .plan-frequency {
	color: #000;
}

.membership-signup-form .plan-box .plan-tagline,
.membership-plans .plan-box .plan-tagline {
	color: #515251;
}

.membership-signup-form .plan-box .plan-benefit-statement,
.membership-plans .plan-box .plan-benefit-statement {
	line-height: 1.5;
	text-wrap: pretty;
	margin-bottom: 15px;
}

.membership-signup-form .plan-box hr,
.membership-plans .plan-box hr {
	border-top: 1px solid #000;
	margin: 30px auto 0;
}

.membership-signup-form .plan-box .plan-amenities-heading,
.membership-plans .plan-box .plan-amenities-heading {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 26px 0 20px;
}

.membership-signup-form .plan-box .plan-amenities-heading svg,
.membership-plans .plan-box .plan-amenities-heading svg {
	display: block;
}

.membership-signup-form .plan-box .plan-mobile-accordion,
.membership-plans .plan-box .plan-mobile-accordion {
	display: none;
}

.membership-signup-form .plan-box .plan-amenities-heading.plan-mobile-toggle,
.membership-plans .plan-box .plan-amenities-heading.plan-mobile-toggle {
	display: flex;
	cursor: pointer;
	border-bottom: 1px solid #000;
	margin-bottom: 0;
}

.membership-signup-form .plan-box .plan-amenities-heading.plan-mobile-toggle .plan-toggle-icon,
.membership-plans .plan-box .plan-amenities-heading.plan-mobile-toggle .plan-toggle-icon {
	font-size: 32px;
	line-height: 1;
}

.membership-signup-form .plan-box .plan-amenities-heading h4,
.membership-plans .plan-box .plan-amenities-heading h4 {
	margin-bottom: 0;
}

.membership-signup-form .plan-box .plan-mobile-accordion h5,
.membership-plans .plan-box .plan-mobile-accordion h5 {
	font-size: 26px;
	margin-top: 30px;
}

.membership-signup-form .plan-box ul.plan-amenities-list,
.membership-plans .plan-box ul.plan-amenities-list {
	font-size: 16px;
	line-height: 18px;
	padding-left: 25px;
}

.membership-signup-form .plan-box .plan-amenities-list li,
.membership-plans .plan-box .plan-amenities-list li {
	list-style-image: url('/wp-content/uploads/2024/11/list-checkmark.svg');
	padding-left: 8px;
	margin-bottom: 20px;
}

.membership-signup-form .plan-box .plan-amenities-list li.not-included,
.membership-plans .plan-box .plan-amenities-list li.not-included {
	list-style-image: none;
	list-style-type: none;
	color: #b2b2b2;
}

.membership-signup-form .plan-box .price-disclaimer,
.membership-plans .plan-box .price-disclaimer {
	font-size: 14px;
	line-height: 26px;
	margin-top: 40px;
	padding-bottom: 10px;
}

.membership-signup-form .plan-box a.button,
.membership-plans .plan-box a.button {
	background-color: #000;
	border-color: #000;
	color: #fff;
	text-align: center;
	width: 100%;
	margin-top: 15px;
}

.membership-signup-form .plan-box a.button:hover,
.membership-signup-form .plan-box a.button:focus,
.membership-plans .plan-box a.button:hover,
.membership-plans .plan-box a.button:focus {
	background-color: #d73930;
	border-color: #d73930;
	color: #fff;
	text-align: center;
	width: 100%;
}

.membership-signup-form .plan-box .footnotes,
.membership-plans .plan-box .footnotes {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	margin-top: 25px;
}

.membership-signup-form .plan-box .plan-commitments,
.membership-plans .plan-box .plan-commitments {
	font-size: 16px;
	line-height: 28px;
	margin-top: 30px;
	margin-bottom: 20px;
}

.membership-signup-form .plan-box .plan-commitments .join-fee-discount,
.membership-plans .plan-box .plan-commitments .join-fee-discount {
	color: #d73930;
	text-transform: uppercase;
	font-weight: bold;
}

.membership-signup-form .plan-box .plan-commitments > span,
.membership-plans .plan-box .plan-commitments > span {
	position: relative;
	display: block;
	margin-bottom: 5px;
}

.membership-signup-form .plan-box .plan-commitments > span::before,
.membership-plans .plan-box .plan-commitments > span::before {
	content: '';
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 100%;
	opacity: 0.5;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 10px;
}

.membership-signup-form .plan-box .plan-commitments > span.plan-commit-length::before,
.membership-plans .plan-box .plan-commitments > span.plan-commit-length::before {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='22' viewBox='0 0 20 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9H1M14 1V5M6 1V5M7 15L9 17L13.5 12.5M5.8 21H14.2C15.8802 21 16.7202 21 17.362 20.673C17.9265 20.3854 18.3854 19.9265 18.673 19.362C19 18.7202 19 17.8802 19 16.2V7.8C19 6.11984 19 5.27976 18.673 4.63803C18.3854 4.07354 17.9265 3.6146 17.362 3.32698C16.7202 3 15.8802 3 14.2 3H5.8C4.11984 3 3.27976 3 2.63803 3.32698C2.07354 3.6146 1.6146 4.07354 1.32698 4.63803C1 5.27976 1 6.11984 1 7.8V16.2C1 17.8802 1 18.7202 1.32698 19.362C1.6146 19.9265 2.07354 20.3854 2.63803 20.673C3.27976 21 4.11984 21 5.8 21Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.membership-signup-form .plan-box .plan-commitments > span.plan-join-fee::before,
.membership-plans .plan-box .plan-commitments > span.plan-join-fee::before {
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.9377 14.9377C18.3603 14.4795 21 11.548 21 8C21 4.13401 17.866 1 14 1C10.452 1 7.52049 3.63967 7.06227 7.06227M6.5 12L8 11V16.5M6.5 16.5H9.5M15 14C15 17.866 11.866 21 8 21C4.13401 21 1 17.866 1 14C1 10.134 4.13401 7 8 7C11.866 7 15 10.134 15 14Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.membership-signup-form .plan-box .plan-commitments > span.plan-annual-fee::before,
.membership-plans .plan-box .plan-commitments > span.plan-annual-fee::before {
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='16' viewBox='0 0 22 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 5H10.5C9.67157 5 9 5.67157 9 6.5C9 7.32843 9.67157 8 10.5 8H11.5C12.3284 8 13 8.67157 13 9.5C13 10.3284 12.3284 11 11.5 11H9M11 4V5M11 11V12M17 8H17.01M5 8H5.01M1 4.2L1 11.8C1 12.9201 1 13.4802 1.21799 13.908C1.40973 14.2843 1.71569 14.5903 2.09202 14.782C2.51984 15 3.07989 15 4.2 15L17.8 15C18.9201 15 19.4802 15 19.908 14.782C20.2843 14.5903 20.5903 14.2843 20.782 13.908C21 13.4802 21 12.9201 21 11.8V4.2C21 3.0799 21 2.51984 20.782 2.09202C20.5903 1.7157 20.2843 1.40974 19.908 1.21799C19.4802 1 18.9201 1 17.8 1L4.2 1C3.0799 1 2.51984 1 2.09202 1.21799C1.7157 1.40973 1.40973 1.71569 1.21799 2.09202C1 2.51984 1 3.07989 1 4.2ZM17.5 8C17.5 8.27614 17.2761 8.5 17 8.5C16.7239 8.5 16.5 8.27614 16.5 8C16.5 7.72386 16.7239 7.5 17 7.5C17.2761 7.5 17.5 7.72386 17.5 8ZM5.5 8C5.5 8.27614 5.27614 8.5 5 8.5C4.72386 8.5 4.5 8.27614 4.5 8C4.5 7.72386 4.72386 7.5 5 7.5C5.27614 7.5 5.5 7.72386 5.5 8Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.membership-signup-form .plan-box.red-plan-box,
.membership-plans .plan-box.red-plan-box {
	border-color: #d73930;
}

.membership-signup-form .plan-box.red-plan-box,
.membership-plans .plan-box.red-plan-box {
	background-color: #d73930;
	color: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-name,
.membership-plans .plan-box.red-plan-box .plan-name {
	color: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-pricing .plan-amount,
.membership-plans .plan-box.red-plan-box .plan-pricing .plan-amount {
	color: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-pricing .plan-discount-details,
.membership-plans .plan-box.red-plan-box .plan-pricing .plan-discount-details {
	color: #000;
}

.membership-signup-form .plan-box.red-plan-box .plan-pricing .plan-frequency,
.membership-plans .plan-box.red-plan-box .plan-pricing .plan-frequency {
	color: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-commitments .join-fee-discount,
.membership-plans .plan-box.red-plan-box .plan-commitments .join-fee-discount {
	color: #000;
}

.membership-signup-form .plan-box.red-plan-box .plan-tagline,
.membership-plans .plan-box.red-plan-box .plan-tagline {
	color: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-amenities-heading svg path,
.membership-plans .plan-box.red-plan-box .plan-amenities-heading svg path {
	stroke: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-amenities-list li,
.membership-plans .plan-box.red-plan-box .plan-amenities-list li {
	list-style-image: url('/wp-content/uploads/2024/11/list-checkmark-white.svg');
}

.membership-signup-form .plan-box.red-plan-box .plan-amenities-list li.not-included,
.membership-plans .plan-box.red-plan-box .plan-amenities-list li.not-included {
	list-style-image: none;
	list-style-type: none;
	color: rgba(255,255,255,0.6);
}

.membership-signup-form .plan-box.red-plan-box a.button,
.membership-plans .plan-box.red-plan-box a.button {
	background-color: #fff;
	border-color: #fff;
	color: #000;
}

.membership-signup-form .plan-box.red-plan-box a.button:hover,
.membership-signup-form .plan-box.red-plan-box a.button:focus,
.membership-plans .plan-box.red-plan-box a.button:hover,
.membership-plans .plan-box.red-plan-box a.button:focus {
	background-color: #000;
	border-color: #000;
	color: #fff;
}

.membership-signup-form .plan-box.red-plan-box .plan-commitments > span::before,
.membership-plans .plan-box.red-plan-box .plan-commitments > span::before {
	opacity: 0.6;
	filter: invert(1);
}

.simple-plan-boxes {
	width: 100%;
	max-width: 1300px;
	margin: auto;
}

.promotions-plan-boxes:has(.plan-box) {
	flex-wrap: wrap;
}

.promotions-plan-boxes:has(.plan-box) > div {
	border-radius: 0 !important;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border: 1px solid #b2b2b2 !important;
	padding: 36px !important;
	margin-top: 30px !important;
	position: relative;
}

.promotions-plan-boxes:has(.plan-box) > div:has(.red-plan-box) {
	background-color: #d73930;
	color: #fff;
	border-color: #d73930 !important;
}

.promotions-plan-boxes:has(.plan-box) > div > h2 {
	font-size: 50px;
	color: #515251;
}

.promotions-plan-boxes:has(.plan-box) > div:has(.red-plan-box) > h2 {
	color: #fff;
}

.promotions-plan-boxes:has(.plan-box) > div > a {
	order: 2;
	font-family: 'Poppins', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.3px !important;
	border: 2px solid #000 !important;
	border-radius: 34px 0 34px 0 !important;
	padding: 19px 42px !important;
	background-color: #000 !important;
	background-image: none !important;
	color: #fff !important;
	text-align: center !important;
	width: 100% !important;
	margin-bottom: 30px;
}

.promotions-plan-boxes:has(.plan-box) > div:has(.red-plan-box) > a {
	background-color: #fff !important;
	border-color: #fff !important;
	color: #000 !important;
}

.promotions-plan-boxes:has(.plan-box) > div > a:hover,
.promotions-plan-boxes:has(.plan-box) > div > a:focus {
	background-color: #d73930 !important;
	border-color: #d73930 !important;
}

.promotions-plan-boxes:has(.plan-box) > div:has(.red-plan-box) > a:hover,
.promotions-plan-boxes:has(.plan-box) > div:has(.red-plan-box) > a:focus {
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
}

.promotions-plan-boxes:has(.plan-box) > div > p {
	display: none !important;
}

.promotions-plan-boxes .plan-box {
	order: 3;
	border: none;
	padding: 0;
	width: 100%;
	max-width: 100%;
}

.promotions-plan-boxes .plan-box a.button {
	display: none !important;
}

.promotions-plan-boxes .plan-box .plan-name {
	display: none !important;
}

.promotions-plan-boxes .plan-box .plan-banner {
	position: absolute;
	top: 35px;
	right: 36px;
}

.promotions-plan-boxes .plan-box .price-disclaimer {
	line-height: 1.6;
	opacity: 0.7;
	border-top: 1px solid #ccc;
	padding-top: 25px;
	margin: 0;
}

@media screen and (max-width: 900px) {
	.membership-plans {
		flex-direction: column;
		row-gap: 40px;
		align-items: center;
	}

	.membership-plans .plan-box {
		width: 100%;
		max-width: 410px;
		align-self: center;
	}
}

@media screen and (max-width: 500px) {
	.promotions-plan-boxes:has(.plan-box) > div {
		padding: 30px 25px !important;
	}

	.promotions-plan-boxes .plan-box .plan-banner {
		position: relative;
		top: 0;
		right: 0;
		width: 100%;
		text-align: center;
		margin: 0 0 20px;
	}
}
