/**
 * bookingpress-form-v3-cart.css — Vue 3 cart step + summary styles.
 *
 * Scoped to the cart markup the Vue 3 cart module renders. Depends on the Lite
 * legacy-front stylesheet for the shared `.bpa-front-*` tokens (buttons, card).
 */

/* --- Cart step head --- */
.bpa-front-module--cart .bpa-fmc--head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.bpa-front-module--cart .bpa-fmc--head-counter {
	display: inline-block;
	margin-left: 8px;
	font-size: 13px;
	font-weight: 500;
	color: #7a8699;
}

.bpa-cart-add-service-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.bpa-cart-add-service-btn svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

/* --- Empty state --- */
.bpa-data-empty-view-cart {
	text-align: center;
	padding: 32px 16px;
}

.bpa-cart-empty-msg {
	color: #7a8699;
	font-size: 15px;
	margin: 0;
}

/* --- Item rows --- */
.bpa-cart-items-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bpa-cart-item-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #e4e9f0;
	border-radius: 8px;
	background: #fff;
}

.bpa-cart-item-row__main {
	flex: 1 1 auto;
	min-width: 0;
}

.bpa-cart-item-row__service {
	font-weight: 600;
	font-size: 15px;
	color: #1f2a44;
}

.bpa-cart-item-row__datetime,
.bpa-cart-item-row__staff {
	font-size: 13px;
	color: #7a8699;
	margin-top: 2px;
}

.bpa-cart-item-row__price {
	font-weight: 600;
	font-size: 15px;
	color: #1f2a44;
	white-space: nowrap;
}

.bpa-cart-item-row__actions {
	display: flex;
	align-items: center;
	gap: 6px;
}

.bpa-cart-item-row__actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid #e4e9f0;
	border-radius: 6px;
	background: #f7f9fc;
	cursor: pointer;
}

.bpa-cart-item-row__actions button:hover {
	background: #eef2f8;
}

.bpa-cart-item-row__actions svg {
	width: 16px;
	height: 16px;
	fill: #535d71;
}

.bpa-cart-item-remove:hover svg {
	fill: #d23b3b;
}

/* --- Total row --- */
.bpa-cart-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	padding: 14px 16px;
	border-top: 2px solid #e4e9f0;
	font-size: 16px;
	font-weight: 700;
	color: #1f2a44;
}

/* --- Summary injection --- */
.bpa-cart-summary {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bpa-cart-summary__item {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-row-gap: 2px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eef2f8;
}

.bpa-cart-summary__service {
	font-weight: 600;
	color: #1f2a44;
}

.bpa-cart-summary__datetime,
.bpa-cart-summary__staff {
	font-size: 13px;
	color: #7a8699;
}

.bpa-cart-summary__price {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	font-weight: 600;
	color: #1f2a44;
	white-space: nowrap;
}

.bpa-cart-summary__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	font-size: 16px;
	color: #1f2a44;
	padding-top: 6px;
}

/* --- Order-level deposit breakdown --- */
.bpa-cart-summary__deposit {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #eef2f8;
}

.bpa-cart-summary__deposit-radios {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.bpa-cart-summary__deposit-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	color: #1f2a44;
	padding: 2px 0;
}

.bpa-cart-summary__deposit-row:last-child {
	font-weight: 700;
}
