.binhadis-walkin-image-wrap {
	position: relative !important;
	display: block !important;
	overflow: hidden;
	line-height: 0;
}

/*
 * Top-right status badge.
 * It is intentionally independent from the existing category label
 * at the bottom-right of the image.
 */
.binhadis-walkin-status-badge {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 20;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 0 14px 0 17px;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .2px;
	text-transform: uppercase;
	background: #1f8f2e;
	box-shadow: 0 3px 10px rgba(0,0,0,.20);
	border-radius: 0 0 0 12px;
	clip-path: polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);
}

.binhadis-walkin-status-calendar {
	font-size: 15px;
	line-height: 1;
	opacity: .95;
}

.binhadis-walkin-status-today {
	background: #21a83b;
}

.binhadis-walkin-status-tomorrow {
	background: #f59e0b;
}

.binhadis-walkin-status-upcoming {
	background: #2468d8;
}

.binhadis-walkin-status-expired {
	background: #e53935;
}

/* Small-screen adjustment */
@media (max-width: 767px) {
	.binhadis-walkin-status-badge {
		min-height: 32px;
		padding: 0 10px 0 13px;
		gap: 5px;
		font-size: 11px;
		border-radius: 0 0 0 9px;
	}
	.binhadis-walkin-status-calendar {
		font-size: 13px;
	}
}

/* Optional shortcode styling */
.binhadis-walkin-shortcode-status {
	display: inline-flex;
	align-items: center;
	padding: 5px 9px;
	border-radius: 5px;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}
