/* Header */

.ticket .head {
	padding: 0;
	padding-bottom: 3px;
	border-bottom: 1px solid #DDD;
	margin-bottom: 1px;
}
.ticket .head > div > div {
	margin: 15px 0;
}
.ticket .head > div > div:first-child {
	margin: 0;
}
.ticket .head p {
	margin: 3px 0;
}
.ticket .head p.important {
	font-size: 1.2rem;
	font-weight: bold;
}
.ticket .total {
	text-align: right;
}
.ticket .packages {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #DDD;
	display: block;
}

/* Lines */

.ticket .line {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 10px 0;
	height: 80px;
}
.ticket .line:last-child {
	margin-bottom: 0;
}
.ticket .line > .photo {
	flex: none;
	border-radius: 50%;
	width: 68px;
	height: 68px;
	gap: 0;
}
.ticket .line > .info {
	flex: 1;
	overflow: hidden;
}
.ticket .line > .info > * {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.ticket .line > .info > h2 {
	font-size: 1rem;
	font-weight: normal;
	margin-bottom: 2px;
}
.ticket .line > .info > p {
	margin: 0;
}
.ticket .line > .info > .tags {
	color: #777;
}
.ticket .line > .info .discount {
	color: green;
}
.ticket .line > .info > .subtotal {
	float: right;
}