/* assets/css/site/pricing.css */

/* PRICING SECTIONS */
.pricing--comparison,
.pricing--faq,
.pricing--included,
.pricing--plans,
.pricing--review,
.pricing--cta {
	overflow: hidden;
	padding: 6rem 0;
}

.pricing--extras {
	overflow: hidden;
	padding: 4rem 0 10rem 0;
}

.pricing--included {
	background: var(--ca-grey-100);
}

.pricing-comparison__header,
.pricing-included__header {
	margin: 0 0 2rem 0;
	max-width: 80rem;
}

.pricing-comparison__lead,
.pricing-extras__lead,
.pricing-included__lead {
	color: var(--ca-black);
	font-size: 1.2rem;
	line-height: 1.6;
	margin: 1.5rem 0 0 0;
}

.pricing-comparison__title,
.pricing-extras__title,
.pricing-included__title {
	color: var(--ca-black);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: clamp(2.25rem, 3.3vw, 4rem);
	font-weight: 900;
	letter-spacing: -.05rem;
	line-height: 1.06;
	margin: 0;
}

.pricing-extras__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.75rem;
}

.pricing-extras__tag,
.pricing-included__tag {
	color: var(--ca-grey-400);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1.55rem;
	font-weight: 900;
	letter-spacing: -.015rem;
	line-height: 1.1;
	margin: 0 0 .65rem 0;
}


/* PRICING TOGGLE */
.pricing-toggle {
	background: var(--ca-grey-100);
	border: 1px solid var(--ca-border);
	border-radius: var(--ca-r-pill);
	display: flex;
	gap: .25rem;
	padding: .35rem;
}

.pricing-toggle__btn {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: var(--ca-r-pill);
	color: var(--ca-black);
	display: inline-flex;
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 900;
	gap: .45rem;
	justify-content: center;
	letter-spacing: -.01rem;
	line-height: 1.2;
	padding: .8rem 1.15rem;
	white-space: nowrap;
}

.pricing-toggle__btn.is-active {
	background: var(--ca-black);
	color: var(--ca-white);
}

.pricing-toggle__btn span {
	background: var(--ca-accent-green);
	border-radius: var(--ca-r-pill);
	color: var(--ca-black);
	font-size: .8rem;
	font-weight: 900;
	line-height: 1;
	padding: .35rem .5rem;
}

.pricing-toggle__content {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.pricing-toggle__label {
	color: var(--ca-black);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 900;
	letter-spacing: -.015rem;
	line-height: 1.1;
	margin: 0;
}

.pricing-toggle__note {
	color: var(--ca-grey-500);
	font-size: .95rem;
	line-height: 1.45;
	margin: 0;
	max-width: 25rem;
	text-align: right;
}

.pricing-toggle__wrapper {
	align-items: center;
	background: var(--ca-white);
	border: 1px solid var(--ca-border);
	border-radius: 1.75rem;
	box-shadow: var(--ca-shadow-1);
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin: 0 0 2rem 0;
	padding: 1rem;
}


/* PRICING CARDS */
.pricing__row {
	align-items: stretch;
}

.pricing-card {
	background: var(--ca-white);
	border: 1px solid var(--ca-border);
	border-radius: 2rem;
	box-shadow: var(--ca-shadow-1);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 2rem;
	position: relative;
	transition: all .3s ease;
}

.pricing-card:hover {
	transform: translateY(-2px);
}

.pricing-card--highlight {
	background: var(--ca-black);
	border-color: var(--ca-black);
	color: var(--ca-white);
}

.pricing-card__actions {
	margin: auto 0 0 0;
	padding: 2rem 0 0 0;
}

.pricing-card__amount {
	display: inline-block;
}

.pricing-card__badge {
	background: var(--ca-accent-green);
	border-radius: var(--ca-r-pill);
	color: var(--ca-black);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: -.01rem;
	line-height: 1;
	padding: .55rem .85rem;
	position: absolute;
	right: 1.25rem;
	top: 1.25rem;
}

.pricing-card__currency {
	font-size: 1.4rem;
	letter-spacing: -.02rem;
	line-height: 1;
	margin: .35rem .2rem 0 0;
}

.pricing-card__header {
	padding: 0 0 1.35rem 0;
}

.pricing-card__label {
	color: var(--ca-grey-400);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: -.02rem;
	line-height: 1.1;
	margin: 0 0 .8rem 0;
}

.pricing-card--highlight .pricing-card__label {
	color: var(--ca-accent-green);
}

.pricing-card__list {
	display: flex;
	flex-direction: column;
	gap: .85rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pricing-card__list i {
	color: var(--ca-black);
	font-size: .95rem;
	line-height: 1.45;
	margin: .05rem 0 0 0;
}

.pricing-card--highlight .pricing-card__list i {
	color: var(--ca-accent-green);
}

.pricing-card__list li {
	align-items: flex-start;
	color: var(--ca-black);
	display: flex;
	font-size: 1rem;
	gap: .7rem;
	line-height: 1.45;
	margin: 0;
}

.pricing-card--highlight .pricing-card__list li {
	color: rgba(255, 255, 255, .86);
}

.pricing-card__price {
	align-items: flex-start;
	color: var(--ca-black);
	display: flex;
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: clamp(3rem, 5vw, 4.75rem);
	font-weight: 900;
	letter-spacing: -.055rem;
	line-height: .95;
	margin: 0;
}

.pricing-card--highlight .pricing-card__price {
	color: var(--ca-white);
}

.pricing-card__pricebox {
	border-bottom: 1px solid var(--ca-border);
	border-top: 1px solid var(--ca-border);
	margin: 0 0 1.5rem 0;
	padding: 1.5rem 0;
}

.pricing-card--highlight .pricing-card__pricebox {
	border-bottom-color: rgba(255, 255, 255, .15);
	border-top-color: rgba(255, 255, 255, .15);
}

.pricing-card__saving {
	color: var(--ca-grey-500);
	font-size: .95rem;
	line-height: 1.45;
	margin: .65rem 0 0 0;
	min-height: 1.35rem;
}

.pricing-card--highlight .pricing-card__saving {
	color: rgba(255, 255, 255, .72);
}

.pricing-card__saving:empty {
	display: none;
}

.pricing-card__saving.is-visible {
	display: block;
}

.pricing-card__term {
	color: var(--ca-grey-500);
	font-size: .95rem;
	line-height: 1.45;
	margin: .6rem 0 0 0;
}

.pricing-card--highlight .pricing-card__term {
	color: rgba(255, 255, 255, .68);
}

.pricing-card__text {
	color: var(--ca-black);
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}

.pricing-card--highlight .pricing-card__text {
	color: rgba(255, 255, 255, .82);
}

.pricing-card__title {
	color: var(--ca-black);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: clamp(2.25rem, 3.2vw, 3.75rem);
	font-weight: 900;
	letter-spacing: -.05rem;
	line-height: 1.02;
	margin: 0 0 .9rem 0;
}

.pricing-card--highlight .pricing-card__title {
	color: var(--ca-white);
}


/* ###### PRICING CARD BUTTONS ###### */
.pricing-card:not(.pricing-card--highlight) .btn.btn--primary {
	background: var(--ca-black);
	border-color: var(--ca-black);
	color: var(--ca-white);
}

.pricing-card:not(.pricing-card--highlight) .btn.btn--primary:hover {
	background: var(--ca-white);
	border-color: var(--ca-black);
	color: var(--ca-black);
}

.pricing-card--highlight .btn.btn--primary {
	background: transparent;
	border-color: var(--ca-white);
	color: var(--ca-white);
}

.pricing-card--highlight .btn.btn--primary:hover {
	background: var(--ca-white);
	border-color: var(--ca-white);
	color: var(--ca-black);
}


/* PRICING ITEMS */
.pricing-extras__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pricing-extra__item,
.pricing-included__item {
	background: var(--ca-white);
	border: 1px solid var(--ca-border);
	border-radius: 1.5rem;
	box-shadow: var(--ca-shadow-1);
	height: 100%;
	padding: 1.5rem;
}

.pricing-extra__item h3,
.pricing-included__item h3 {
	color: var(--ca-black);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1.45rem;
	font-weight: 900;
	letter-spacing: -.02rem;
	line-height: 1.15;
	margin: 0 0 .7rem 0;
}

.pricing-extra__item i,
.pricing-included__item i {
	align-items: center;
	background: var(--ca-accent-green);
	border-radius: var(--ca-r-pill);
	color: var(--ca-black);
	display: inline-flex;
	font-size: 1.15rem;
	height: 2.75rem;
	justify-content: center;
	margin: 0 0 1.25rem 0;
	width: 2.75rem;
}

.pricing-extra__item p,
.pricing-included__item p {
	color: var(--ca-black);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
}


/* PRICING TABLE */
.pricing-table {
	border-collapse: collapse;
	min-width: 46rem;
	width: 100%;
}

.pricing-table td,
.pricing-table th {
	border-bottom: 1px solid var(--ca-border);
	color: var(--ca-black);
	font-size: 1rem;
	line-height: 1.4;
	padding: 1.1rem 1.25rem;
	text-align: center;
	vertical-align: middle;
}

.pricing-table td:first-child,
.pricing-table th:first-child {
	text-align: left;
}

.pricing-table i {
	color: var(--ca-black);
	font-size: 1rem;
}

.pricing-table th {
	background: var(--ca-grey-100);
	color: var(--ca-black);
	font-family: 'CASSwebfont', Arial, sans-serif;
	font-size: 1.1rem;
	font-weight: 900;
	letter-spacing: -.01rem;
}

.pricing-table tr:last-child td {
	border-bottom: 0;
}

.pricing-table__muted {
	color: var(--ca-grey-500);
}

.pricing-table__wrapper {
	background: var(--ca-white);
	border: 1px solid var(--ca-border);
	border-radius: 1.75rem;
	box-shadow: var(--ca-shadow-1);
	overflow: auto;
}


/* ###### PRICING EXTRAS ACTIONS ###### */
.pricing-extras__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin: 1.75rem 0 0 0;
}