/* =============================================================================
 * ce_pricetable
 * ========================================================================== */

.ce_pricetable {
	padding: 25px 0;
	text-align: center;
	overflow: visible;
}

.ce_pricetable .pricetable {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: var(--shape-surface-radius, 0px);
	margin-top: 15px;
	white-space: normal;
	position: relative;
	overflow: hidden;
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.03),
		0 4px 12px rgba(15, 23, 42, 0.05);
	transition: box-shadow 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
				transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ce_pricetable .pricetable:hover {
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.04),
		0 8px 22px rgba(15, 23, 42, 0.08);
}

.ce_pricetable .pricetable.highlight {
	margin-top: 0;
	border-color: var(--accentColor);
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.05),
		0 12px 30px rgba(15, 23, 42, 0.12),
		0 30px 60px rgba(15, 23, 42, 0.15);
	position: relative;
	z-index: 100;
}

.ce_pricetable .pricetable.highlight:hover {
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.05),
		0 18px 36px rgba(15, 23, 42, 0.14),
		0 38px 70px rgba(15, 23, 42, 0.18);
}

.ce_pricetable .pricetable.highlight .title {
	background: var(--accentColor);
	color: #fff;
	padding-top: 40px;
	padding-bottom: 35px;
}

.ce_pricetable .title,
.ce_pricetable .price,
.ce_pricetable .contents li,
.ce_pricetable .rating {
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	padding: 1em;
}

.ce_pricetable .price {
	padding: 1.6em 1em;
}

.ce_pricetable .title {
	padding-top: 30px;
	padding-bottom: 30px;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	background: rgba(0, 0, 0, 0.02);
	text-align: center;
}

.ce_pricetable .title i {
	margin-right: 0.5rem;
	opacity: 0.85;
}

.ce_pricetable .price-data {
	font-weight: 700;
	letter-spacing: -0.02em;
}

.ce_pricetable .currency {
	font-weight: 600;
	position: relative;
	top: -1.2rem;
	font-size: 1.2rem;
	line-height: 1.2rem;
	margin-right: 2px;
	opacity: 0.7;
}

.ce_pricetable .priceinfo {
	color: rgba(0, 0, 0, 0.5);
}

.ce_pricetable .hightlight_text {
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	background: var(--accentColor);
	color: #fff;
	font-size: 0.7333rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	position: absolute;
	right: -78px;
	top: 22px;
	text-align: center;
	min-width: 220px;
	padding: 4px 0;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.ce_pricetable .pricetable.highlight .hightlight_text {
	background: #fff;
	color: var(--accentColor);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}

.ce_pricetable .ce_hyperlink {
	margin-top: 25px;
	margin-bottom: 10px;
	text-align: center;
}

.ce_pricetable .pricetable.highlight .ce_hyperlink {
	margin-bottom: 25px;
}

.ce_pricetable .ce_hyperlink a {
	padding: var(--button-system-padding-top, 12px) var(--button-system-padding-right, 32px) var(--button-system-padding-bottom, 12px) var(--button-system-padding-left, 32px);
	line-height: var(--button-system-line-height, 1.4);
	border-radius: var(--shape-action-radius, 0px);
	transition: filter 0.25s ease, box-shadow 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ce_pricetable .ce_hyperlink a:hover {
	opacity: 1;
	filter: brightness(0.93);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
}

.ce_pricetable .rating {
	text-align: center;
	color: rgb(254, 202, 9);
}

.ce_pricetable .rating i {
	margin: 0 3px;
	font-size: 1rem;
}

/* card gap */
@media only screen and (min-width: 768px) {
	.ce_pricetable.autogrid_row {
		column-gap: 20px;
		flex-wrap: nowrap;
	}

	.ce_pricetable.autogrid_row > .pricetable {
		flex: 1 1 0;
		max-width: none;
		min-width: 0;
	}
}

/* tablets: 4-column table as 2 x 2, cards would be too narrow otherwise */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	/* row-gap + 15px card margin-top = 20px, same as the column gap */
	.ce_pricetable4.autogrid_row {
		flex-wrap: wrap;
		row-gap: 5px;
	}

	.ce_pricetable4.autogrid_row > .pricetable {
		flex: 0 0 calc(50% - 10px);
		max-width: calc(50% - 10px);
	}
}

/* =============================================================================
 * smart phones  (s / small screens)
 * ========================================================================== */
@media only screen and (max-width: 767px) {
	.ce_pricetable {
		margin-top: 10px;
		margin-bottom: 10px;
	}
	
	.ce_pricetable .currency {
		top: 0;
	}
	
	.ce_pricetable .pricetable {
		margin-bottom: 15px;
	}
}