/**
 * Airbnb highlight badge — compact left-column block.
 */

.m306-ab {
	--m306-ab-ink: #182220;
	--m306-ab-font: 'Fahkwang', 'Times New Roman', serif;
	--m306-ab-title: 'Cinzel', 'Times New Roman', serif;

	width: 100%;
	max-width: 466px;
	margin: 20px 0 0;
	padding: 0;
	box-sizing: border-box;
	color: var(--m306-ab-ink);
	font-family: var(--m306-ab-font);
}

.m306-ab *,
.m306-ab *::before,
.m306-ab *::after {
	box-sizing: border-box;
}

.m306-ab__inner,
a.m306-ab__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	text-decoration: none !important;
	color: inherit !important;
}

.m306-ab__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}

.m306-ab__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--m306-ab-title);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #182220;
	line-height: 1.2;
}

.m306-ab__chip--plain {
	padding: 4px 10px;
	border: 1px solid #182220;
}

.m306-ab__laurel {
	width: 22px;
	height: 38px;
	color: #182220;
	flex: 0 0 auto;
	display: block;
}

.m306-ab__laurel--flip {
	transform: scaleX(-1);
}

.m306-ab__headline {
	margin: 0;
	font-family: var(--m306-ab-font);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.45;
	color: #182220;
}

.m306-ab__score {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

.m306-ab__rating {
	font-family: var(--m306-ab-title);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
}

.m306-ab__stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.m306-ab__star {
	position: relative;
	display: inline-block;
	width: 14px;
	height: 14px;
	line-height: 14px;
	font-size: 14px;
}

.m306-ab__star-bg,
.m306-ab__star-fg {
	position: absolute;
	left: 0;
	top: 0;
	line-height: 14px;
}

.m306-ab__star-bg {
	color: #d7d7d7;
}

.m306-ab__star-fg {
	overflow: hidden;
	color: #182220;
	white-space: nowrap;
}

.m306-ab__reviews {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.04em;
	color: #182220;
}

@media (max-width: 720px) {
	.m306-ab {
		max-width: none;
		margin-top: 16px;
	}

	.m306-ab__rating {
		font-size: 20px;
	}
}
