/* - .bh-table
------------------------------------------------------------- */
.bh-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--theme-border-radius);
	box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.bh-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .83rem;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
	border-width: 0;
}
.bh-table th, .bh-table td {
	padding: 1rem;
	vertical-align: middle;
	border-width: 0;
}
.bh-table thead tr {
	padding: .25rem 1rem;
	text-align: left;
	background-color: var(--ast-global-color-1);
	color: var(--ast-global-color-8);
}
.bh-table thead th {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}
.bh-table tbody tr:nth-child(odd) {
	background-color: var(--ast-global-color-7);
}
.bh-table tbody tr:nth-child(even) {
	background-color: #ffffff;
}
.bh-table tbody td:first-child {
	font-weight: 600;
	white-space: nowrap;
}

/* table inner elements */
.bh-table .bh-td-img {
	text-align: center;
	width: 100px;
	min-width: 100px;
	padding: 0;
}
.bh-table .bh-td-img img {
	display: block;
	width: 80px;
	height: 80px;
	min-width: 80px;
	max-width: 100%;
	object-fit: contain;
	margin: 0 auto;
}
.bh-table .bh-td-name {
	font-weight: 600;
	white-space: nowrap;
}
.bh-table .bh-highlight {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .01em;
	padding: .35em .75em;
	white-space: nowrap;
	border-radius: var(--theme-border-radius);
	background: #1A5276;
	background-color: var(--ast-global-color-0);
	color: var(--ast-global-color-8);
}
.bh-table .bh-highlight::before {
	content: "★";
	font-size: 90%;
	opacity: 0.85;
}
.bh-table a.bh-cta-link {
	display: inline-block;
	font-weight: 600;
	letter-spacing: .03em;
	text-decoration: none;
	border-bottom: 1px solid var(--ast-global-color-0);
	white-space: nowrap;
	color: var(--ast-global-color-1);
}
.bh-table a.bh-cta-link:hover {
	color: var(--ast-global-color-0);
}

@media screen and (max-width: 767px) {
	.bh-table {
		font-size: .78rem;
	}
	.bh-table th, .bh-table td {
		vertical-align: middle;
	}
	.bh-table thead th {
		font-size: .72rem;
	}
}


/* custom Grid  */
.bh-row {
	--gap: 2rem;

	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
.bh-col {
	flex: 1 1 0;
	min-width: 0;
}

.bh-col-25 {
	flex: 0 0 calc((100% - (var(--gap) * 3)) / 4);
}
.bh-col-33 {
	flex: 0 0 calc((100% - (var(--gap) * 2)) / 3);
}
.bh-col-50 {
	flex: 0 0 calc((100% - var(--gap)) / 2);
}
.bh-col-66 {
	flex: 0 0 calc((((100% - (var(--gap) * 2)) / 3) * 2) + var(--gap));
}
.bh-col-75 {
	flex: 0 0 calc((((100% - (var(--gap) * 3)) / 4) * 3) + (var(--gap) * 2));
}

@media (max-width: 767px) {
	.bh-row {
		--gap: 1.5rem;
	}
	.bh-col,
	.bh-col-25,
	.bh-col-33,
	.bh-col-50,
	.bh-col-66,
	.bh-col-75 {
		flex: 0 0 100%;
	}
}

.p-0 { padding: 0 !important;}
.p-1 { padding: 1rem !important;}
.p-2 { padding: 2rem !important;}
.p-3 { padding: 3rem !important;}