/* ==========================================================================
   AFP plan cards: table-like structure built with ul / li  (salient-child)

   Only the cards themselves (coloured header, price, Join Now, dashed
   rows). No section background, heading or extra buttons — put the cards
   inside any row / column you like.

     <div class="afp-fo-plans">
       <div class="afp-fo-plans__card">            ← add --purple for purple
         <div class="afp-fo-plans__head">
           <h5 class="afp-fo-plans__name">…</h5>
           <span class="afp-fo-plans__price">…</span>
           <a class="afp-fo-plans__join" href="…">Join Now</a>
         </div>
         <ul class="afp-fo-plans__list"><li>…</li>…</ul>
       </div>
       …
     </div>
   ========================================================================== */

.afp-fo-plans {
	--afp-fo-green: #57b197;
	--afp-fo-green-btn: #b4d7cb;
	--afp-fo-purple: #876ba2;
	--afp-fo-purple-btn: #c2b4d0;
	--afp-fo-text: #3c4547;
	--afp-fo-dash: #dedede;

	display: grid;
	grid-template-columns: repeat(2, minmax(0, 392px));
	justify-content: center;
	align-items: stretch;
	gap: 24px;
	width: 100%;
	font-family: "Poppins", sans-serif;
	color: var(--afp-fo-text);
	text-align: center;
}

.afp-fo-plans *,
.afp-fo-plans *::before,
.afp-fo-plans *::after {
	box-sizing: border-box;
}

/* ------------------------------------------------------------------ card */
.afp-fo-plans .afp-fo-plans__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	border: 2px solid var(--afp-fo-green);
	border-radius: 28px;
	background-color: #fff;
	overflow: hidden;
}

/* ---------------------------------------------------------- header cell */
.afp-fo-plans .afp-fo-plans__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 220px;
	padding: 30px 55px 22px;
	background-color: var(--afp-fo-green);
	text-align: center;
	border-top-left-radius: 24px;
	border-top-right-radius: 24px;
}

.afp-fo-plans .afp-fo-plans__name {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: "Poppins", sans-serif;
	font-size: 24px !important;
	font-weight: 300 !important;
	line-height: 36px !important;
	letter-spacing: 0;
	text-transform: none;
}

.afp-fo-plans .afp-fo-plans__price {
	display: block;
	padding: 8px 0;
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
}

.afp-fo-plans .afp-fo-plans__join {
	display: flex;
	justify-content: center;
	width: 145px;
	margin: 10px auto 0;
	padding: 3px 15px;
	border: 0;
	border-radius: 0;
	background-color: var(--afp-fo-green-btn);
	color: var(--afp-fo-text) !important;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	text-decoration: none;
	transition: 0.5s;
}

.afp-fo-plans .afp-fo-plans__join:hover,
.afp-fo-plans .afp-fo-plans__join:focus-visible {
	background-color: var(--afp-fo-text);
	color: #fff !important;
}

/* ------------------------------------------------------- rows (ul / li) */
.afp-fo-plans ul.afp-fo-plans__list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.afp-fo-plans ul.afp-fo-plans__list > li {
	margin: 0 !important;
	padding: 15px !important;
	border-bottom: 1px dashed var(--afp-fo-dash);
	color: var(--afp-fo-text);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	text-transform: capitalize;
	list-style: none !important;
	background: none;
}

.afp-fo-plans ul.afp-fo-plans__list > li::before,
.afp-fo-plans ul.afp-fo-plans__list > li::marker {
	content: none !important;
	display: none !important;
}

.afp-fo-plans ul.afp-fo-plans__list > li:last-child {
	border-bottom: 0;
	border-bottom-left-radius: 24px;
	border-bottom-right-radius: 24px;
}

/* ------------------------------------------------- purple colourway */
.afp-fo-plans .afp-fo-plans__card--purple {
	border-color: var(--afp-fo-purple);
}

.afp-fo-plans .afp-fo-plans__card--purple .afp-fo-plans__head {
	background-color: var(--afp-fo-purple);
}

.afp-fo-plans .afp-fo-plans__card--purple .afp-fo-plans__join {
	background-color: var(--afp-fo-purple-btn);
}

.afp-fo-plans .afp-fo-plans__card--purple .afp-fo-plans__join:hover,
.afp-fo-plans .afp-fo-plans__card--purple .afp-fo-plans__join:focus-visible {
	background-color: var(--afp-fo-text);
}

/* ------------------------------------------------------------ responsive */
@media (max-width: 1480px) {
	.afp-fo-plans .afp-fo-plans__head {
		padding: 30px 25px 22px;
	}
	.afp-fo-plans .afp-fo-plans__name {
		font-size: 22px !important;
		line-height: 30px !important;
	}
	.afp-fo-plans .afp-fo-plans__price {
		font-size: 22px;
	}
	.afp-fo-plans ul.afp-fo-plans__list > li {
		font-size: 15px;
	}
}

@media (max-width: 1200px) {
	.afp-fo-plans {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.afp-fo-plans .afp-fo-plans__join {
		font-size: 13px;
	}
}

@media (max-width: 767px) {
	.afp-fo-plans .afp-fo-plans__head {
		min-height: 0;
	}
	.afp-fo-plans .afp-fo-plans__price {
		font-size: 18px;
	}
	.afp-fo-plans .afp-fo-plans__join {
		padding: 3px 5px;
		font-size: 12px;
	}
}

@media (max-width: 575px) {
	.afp-fo-plans {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}
}
