/* Neffline Complete Set — frontend */

.ncs-set-builder {
	margin: 24px 0;
	padding: 20px 22px;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	background: #fafafa;
	box-sizing: border-box;
	width: 100%;
}

/* Vangnet: als het blok toevallig in form.cart terechtkomt (bv. door theme),
   zet hem dan op een eigen regel + full width. */
form.cart .ncs-set-builder {
	flex: 0 0 100%;
	order: -1;
	margin: 0 0 18px 0;
}

.ncs-set-builder *,
.ncs-set-builder *::before,
.ncs-set-builder *::after {
	box-sizing: border-box;
}

.ncs-set-builder .ncs-title {
	margin: 0 0 14px 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
}

.ncs-set-builder .ncs-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ncs-set-builder .ncs-item {
	border-bottom: 1px solid #ececec;
	padding: 10px 0;
	margin: 0;
}

.ncs-set-builder .ncs-item:last-child {
	border-bottom: none;
}

.ncs-set-builder .ncs-item label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	cursor: pointer;
	width: 100%;
	line-height: 1.3;
}

.ncs-set-builder .ncs-checkbox {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0;
	cursor: pointer;
	accent-color: #111;
}

.ncs-set-builder .ncs-thumb-wrap {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 6px;
	background: #fff;
	border: 1px solid #ececec;
}

.ncs-set-builder .ncs-thumb-wrap img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	display: block;
	margin: 0;
}

.ncs-set-builder .ncs-info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.ncs-set-builder .ncs-name {
	font-weight: 500;
	color: #222;
	line-height: 1.35;
	flex: 1 1 auto;
	min-width: 0;
	word-break: break-word;
}

.ncs-set-builder .ncs-price {
	font-weight: 600;
	color: #111;
	white-space: nowrap;
	flex: 0 0 auto;
}

.ncs-set-builder .ncs-total {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 2px solid #111;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.ncs-set-builder .ncs-total-label {
	font-size: 15px;
	font-weight: 600;
	color: #111;
}

.ncs-set-builder .ncs-total-amount,
.ncs-set-builder .ncs-total-amount .amount {
	font-size: 20px;
	font-weight: 700;
	color: #111;
}

@media (max-width: 600px) {
	.ncs-set-builder               { padding: 16px; }
	.ncs-set-builder .ncs-info     { flex-direction: column; align-items: flex-start; gap: 4px; }
	.ncs-set-builder .ncs-total    { flex-direction: column; align-items: flex-start; }
	.ncs-set-builder .ncs-total-amount,
	.ncs-set-builder .ncs-total-amount .amount { font-size: 18px; }
}
