/* ============ Frontend calculator ============ */
.dmc-calc {
	margin: 16px 0;
	padding: 16px;
	border: 1px solid rgba( 0, 0, 0, 0.1 );
	border-radius: 12px;
	background: rgba( 0, 0, 0, 0.015 );
}

.dmc-field {
	margin-bottom: 14px;
}

.dmc-field-label {
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
}

.dmc-field .dmc-input {
	max-width: 320px;
}

.dmc-field input[type="number"],
.dmc-field input[type="text"],
.dmc-field select {
	padding: 8px 10px;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 8px;
	width: 100%;
	max-width: 320px;
}

.dmc-opt {
	display: block;
	margin: 4px 0;
	font-weight: 400;
}

.dmc-req {
	color: #c0392b;
}

.dmc-field-desc {
	margin: 4px 0 0;
	font-size: 0.85em;
	opacity: 0.7;
}

.dmc-calc-total {
	margin-top: 6px;
	padding-top: 12px;
	border-top: 1px dashed rgba( 0, 0, 0, 0.2 );
	font-size: 1.1em;
}

.dmc-calc-total-value {
	font-weight: 700;
}

/* ============ Admin builder ============ */
.dmc-b-row {
	border: 1px solid #dcdcde;
	border-radius: 8px;
	margin-bottom: 10px;
	background: #fff;
}

.dmc-b-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: #f6f7f7;
	border-bottom: 1px solid #dcdcde;
	border-radius: 8px 8px 0 0;
	flex-wrap: wrap;
}

.dmc-b-handle {
	cursor: move;
	color: #787c82;
	font-size: 16px;
}

.dmc-b-head .dmc-f-label {
	flex: 1;
	min-width: 160px;
}

.dmc-f-id {
	background: #eef;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 11px;
}

.dmc-b-body {
	padding: 10px 12px;
	display: grid;
	gap: 10px;
}

.dmc-b-opt,
.dmc-b-cond {
	display: flex;
	gap: 6px;
	align-items: center;
	margin: 4px 0;
}

.dmc-b-opt input {
	width: auto;
}

.dmc-f-remove,
.dmc-o-remove,
.dmc-c-remove {
	color: #b32d2e;
	text-decoration: none;
	font-size: 16px;
}

.dmc-f-conditions,
.dmc-f-options {
	border-top: 1px dashed #e0e0e0;
	padding-top: 8px;
}

/* ============ Coupons ============ */
.dmc-coupons {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 200px, 1fr ) );
	gap: 14px;
	margin: 16px 0;
}

.dmc-coupon {
	border: 1px dashed rgba( 0, 0, 0, 0.25 );
	border-radius: 12px;
	padding: 16px;
	text-align: center;
	background: #fff;
}

.dmc-coupon-value {
	font-size: 1.4em;
	font-weight: 800;
}

.dmc-coupon-desc {
	font-size: 0.9em;
	opacity: 0.8;
	margin: 6px 0;
}

.dmc-coupon-code code {
	display: inline-block;
	margin: 8px 0;
	padding: 4px 10px;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 6px;
	letter-spacing: 0.08em;
	font-weight: 700;
}

.dmc-coupon-exp {
	font-size: 0.8em;
	opacity: 0.6;
	margin-bottom: 8px;
}

.dmc-coupon-form {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	margin: 12px 0;
}

.dmc-coupon-input {
	padding: 8px 10px;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 8px;
}

.dmc-coupon-msg {
	font-size: 0.9em;
	opacity: 0.85;
}

/* ===== Field appearances (frontend) ===== */
.dmc-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.dmc-appearance-default { display: block; }
.dmc-appearance-default .dmc-opt { display: block; margin: 4px 0; }

.dmc-opt { position: relative; cursor: pointer; }
.dmc-opt input { margin-right: 6px; }

/* Buttons / text swatches */
.dmc-appearance-buttons .dmc-opt {
	border: 1px solid rgba( 0,0,0,0.2 ); border-radius: 8px; padding: 7px 14px; transition: all .15s;
}
.dmc-appearance-buttons .dmc-opt input { display: none; }
.dmc-appearance-buttons .dmc-opt.dmc-selected { background: #111; color: #fff; border-color: #111; }

/* Color swatches */
.dmc-appearance-color .dmc-opt { border: 1px solid transparent; border-radius: 8px; padding: 4px; display: inline-flex; flex-direction: column; align-items: center; gap: 3px; }
.dmc-appearance-color .dmc-opt input { display: none; }
.dmc-swatch-color { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba( 0,0,0,0.15 ); display: block; }
.dmc-appearance-color .dmc-opt.dmc-selected { border-color: #111; }
.dmc-appearance-color .dmc-opt-label { font-size: .75em; }

/* Image swatches */
.dmc-appearance-image .dmc-opt { border: 2px solid transparent; border-radius: 10px; padding: 3px; text-align: center; }
.dmc-appearance-image .dmc-opt input { display: none; }
.dmc-swatch-img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; display: block; }
.dmc-appearance-image .dmc-opt.dmc-selected { border-color: #111; }

/* Cards */
.dmc-appearance-cards { gap: 12px; }
.dmc-appearance-cards .dmc-opt {
	border: 1px solid rgba( 0,0,0,0.18 ); border-radius: 12px; padding: 12px; width: 160px;
	display: flex; flex-direction: column; gap: 6px; align-items: flex-start;
}
.dmc-appearance-cards .dmc-opt input { display: none; }
.dmc-appearance-cards .dmc-opt.dmc-selected { border-color: #111; box-shadow: 0 0 0 1px #111 inset; }
.dmc-appearance-cards .dmc-swatch-img { width: 100%; height: 90px; }
.dmc-card-desc { font-size: .82em; opacity: .75; }

/* Toggle, heading, content */
.dmc-toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.dmc-heading { margin: 14px 0 4px; }
.dmc-content { margin: 8px 0; }

/* ===== Builder inline rows (admin) ===== */
.dmc-row-inline { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.dmc-row-inline label { display: inline-flex; flex-direction: column; font-size: 12px; gap: 2px; }
.dmc-row-inline input, .dmc-row-inline select { min-width: 90px; }
.dmc-f-descwrap { display: block; margin-top: 8px; font-size: 12px; }
.dmc-f-descwrap input { width: 100%; max-width: 480px; }
.dmc-f-content { width: 100%; }

/* Input suffix badge (e.g. USD) */
.dmc-input-wrap { position: relative; display: inline-flex; align-items: center; width: 100%; max-width: 320px; }
.dmc-input-wrap .dmc-input { width: 100%; padding-right: 64px; }
.dmc-suffix {
	position: absolute; right: 8px; top: 50%; transform: translateY( -50% );
	background: #f3e5b8; color: #8a6d1a; border-radius: 999px;
	padding: 3px 12px; font-size: .8em; font-weight: 700; pointer-events: none;
}
