.bridal-appointment__summary {
	margin-bottom: 1.5rem;
}

.bridal-appointment__select {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 720px;
	overflow: auto;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background: #fff;
}

.bridal-appointment__select li {
	padding: 0.75rem 1rem;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.bridal-appointment__select li:hover,
.bridal-appointment__select li:focus {
	background-color: #f1f1f1;
}

.bridal-appointment__select li.selected {
	background-color: #e9ecef;
	font-weight: 600;
}

.bridal-appointment__select--budget {
	max-height: 126px;
}

.bridal-appointment__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.bridal-appointment__item {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.bridal-appointment__item--no-image {
	padding-left: 0;
}

.bridal-appointment__thumb-wrap {
	flex: 0 0 96px;
	max-width: 96px;
}

.bridal-appointment__thumb {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 4px;
}

.bridal-appointment__content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.bridal-appointment__remove {
	appearance: none;
	border: 0;
	background: none;
	padding: 0;
	color: #b7410e;
	font-size: 0.85rem;
	text-decoration: underline;
	align-self: flex-start;
}

.bridal-appointment__remove:hover,
.bridal-appointment__remove:focus {
	color: #8c2b08;
	text-decoration: none;
}

.bridal-appointment__empty,
.bridal-appointment__loading {
	margin: 0;
	font-style: italic;
	color: #6c757d;
}

.visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.bridal-appointment__link {
	display: inline-block;
	font-weight: 600;
}

.bridal-appointment__feedback {
	margin-top: 1rem;
}

.bridal-appointment__feedback--error {
	color: #b71c1c;
}

.bridal-appointment__feedback--success {
	color: #1b5e20;
}
