/**
 * Assembly Service — Product page add-ons & cart display
 *
 * @package Outdoor_Core
 */

/* ── Product Page: Service Add-Ons ───────────────────── */

/*
 * form.cart is display:flex with flex-wrap:nowrap.
 * Enable wrapping so our container can sit on its own row.
 */
form.cart:has(.outdoor-service-addons) {
	flex-wrap: wrap !important;
}

.outdoor-service-addons {
	flex-basis: 100%;
	width: 100%;
	order: 99;
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.outdoor-service-addon {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Icon */
.outdoor-service-addon__icon {
	flex-shrink: 0;
	width: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.outdoor-service-addon__icon img {
	display: block;
}

/* Info block */
.outdoor-service-addon__info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.outdoor-service-addon__name {
	font-weight: 600;
	font-size: 14px;
	color: #333;
}

.outdoor-service-addon__note {
	font-size: 12px;
	color: #888;
	line-height: 1.3;
}

/* Price */
.outdoor-service-addon__price {
	font-weight: 600;
	font-size: 15px;
	color: #333;
	white-space: nowrap;
}

/* Toggle button — !important needed to override Elementor Global Kit button styles */
.outdoor-service-addon .outdoor-service-addon__toggle {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	border-radius: 50% !important;
	border: none !important;
	background: #D7A62A !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	cursor: pointer;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
	transition: background-color 0.2s ease, transform 0.15s ease;
	line-height: 1 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.outdoor-service-addon .outdoor-service-addon__toggle:hover {
	background: #c49424 !important;
	transform: scale(1.05);
}

/* Selected state */
.outdoor-service-addon.is-selected {
	background: #fdf8f0;
}

.outdoor-service-addon.is-selected .outdoor-service-addon__toggle {
	background: #2e7d4f !important;
}

.outdoor-service-addon.is-selected .outdoor-service-addon__toggle:hover {
	background: #256b42 !important;
}

/* ── Cart: Service Metadata ──────────────────────────── */

.outdoor-service-remove {
	font-size: 12px;
	color: #999;
	text-decoration: underline;
	cursor: pointer;
	margin-left: 8px;
}

.outdoor-service-remove:hover {
	color: #c00;
}
