.sc7-box {
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 2px dashed #d7c7b5;
	border-radius: 10px;
	background: #fffaf4;
	width: 100%;
	box-sizing: border-box;
	clear: both;
}
.sc7-box * { box-sizing: border-box; }
.sc7-title { font-weight: 600; margin: 0 0 8px; }
.sc7-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 8px;
	background: #2b2b2b;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	line-height: 1.3;
}
.sc7-btn:hover, .sc7-btn:focus-within { background: #000; }
.sc7-btn .sc7-input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
}
.sc7-full .sc7-btn { display: none; }
.sc7-hint { font-size: 13px; color: #776a5d; margin: 8px 0 0; }
.sc7-list:empty { display: none; }
.sc7-list { margin: 10px 0 0; display: grid; gap: 8px; }
.sc7-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px;
	border: 1px solid #eadfd3;
	border-radius: 8px;
	background: #fff;
}
.sc7-thumb {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 6px;
	background: #f1ebe4 center / cover no-repeat;
}
.sc7-info { flex: 1; min-width: 0; font-size: 13px; line-height: 1.35; }
.sc7-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc7-state { color: #2e7d32; }
.sc7-small .sc7-state { color: #b26a00; }
.sc7-loading .sc7-state { color: #776a5d; }
.sc7-bar { height: 4px; background: #eee; border-radius: 2px; margin-top: 4px; overflow: hidden; display: none; }
.sc7-loading .sc7-bar { display: block; }
.sc7-bar i { display: block; height: 100%; width: 0; background: #2b2b2b; transition: width .2s; }
.sc7-del {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f3eee8;
	color: #555;
	font-size: 20px;
	line-height: 32px;
	cursor: pointer;
}
.sc7-del:hover { background: #e7ddd2; }
.sc7-msg:empty { display: none; }
.sc7-msg { margin: 8px 0 0; font-size: 14px; }
.sc7-msg.sc7-error { color: #c62828; font-weight: 600; }
.sc7-later { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; font-size: 14px; cursor: pointer; }
.sc7-later input { margin-top: 3px; }
.sc7-has .sc7-later { opacity: .6; }
.sc7-text { margin: 12px 0 0; }
.sc7-text label { display: block; font-size: 14px; margin-bottom: 4px; }
.sc7-text input { width: 100%; max-width: 420px; }
.sc7-busy .single_add_to_cart_button { opacity: .6; cursor: progress; }
.sc7-shake { animation: sc7-shake .4s; border-color: #c62828; }
@keyframes sc7-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}
/* Форма товару часто flex — блок фото має займати весь рядок. */
form.cart .sc7-box { flex: 1 0 100%; order: -1; }
