/* ============ 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;
}

/* ===== Deli Premium Product Fields v2.6 ===== */
.dmc-calc{display:grid;gap:var(--dmc-gap,14px);margin:18px 0;padding:clamp(14px,3vw,24px);border:1px solid var(--dmc-border,#dbe2ea);border-radius:var(--dmc-card-radius,24px);background:var(--dmc-card-bg,#fff);color:var(--dmc-text,#111827);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.dmc-calc.dmc-has-shadow{box-shadow:0 18px 55px rgba(15,23,42,.10)}
.dmc-calc .dmc-field{margin:0;position:relative}
.dmc-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.dmc-calc .dmc-field-label{margin:0;font-size:.88rem;font-weight:800;letter-spacing:.015em;color:var(--dmc-text,#111827)}
.dmc-control-shell,.dmc-input-wrap{position:relative;display:flex!important;align-items:center;width:100%!important;max-width:none!important}
.dmc-field-icon{position:absolute;left:16px;z-index:2;pointer-events:none;font-size:1.1rem;line-height:1}
.dmc-control-shell>.dmc-input{padding-left:48px!important}
.dmc-calc .dmc-input:not([type=radio]):not([type=checkbox]),.dmc-calc select.dmc-input,.dmc-calc textarea.dmc-input{width:100%!important;max-width:none!important;min-height:var(--dmc-field-height,58px);padding:12px 16px;border:1.5px solid var(--dmc-border,#dbe2ea)!important;border-radius:var(--dmc-field-radius,18px)!important;background:var(--dmc-field-bg,#fff)!important;color:var(--dmc-text,#111827)!important;box-shadow:0 4px 16px rgba(15,23,42,.035);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.dmc-calc textarea.dmc-input{min-height:96px;resize:vertical}
.dmc-calc .dmc-input:focus{border-color:var(--dmc-accent,#d9a441)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--dmc-accent,#d9a441) 18%,transparent),0 10px 28px rgba(15,23,42,.08);transform:translateY(-1px)}
.dmc-calc .dmc-field-desc{margin:7px 3px 0;font-size:.8rem;line-height:1.45;color:color-mix(in srgb,var(--dmc-text,#111827) 65%,transparent);opacity:1}
.dmc-help-trigger{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:0;border-radius:50%;background:var(--dmc-help-bg,#ffd43b);color:#111;font-size:18px;font-weight:900;box-shadow:0 8px 20px color-mix(in srgb,var(--dmc-help-bg,#ffd43b) 35%,transparent);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent}
.dmc-help-trigger:hover,.dmc-help-trigger:focus-visible{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 26px color-mix(in srgb,var(--dmc-help-bg,#ffd43b) 45%,transparent)}
.dmc-calc-total{display:flex;align-items:center;justify-content:space-between;margin-top:2px;padding:15px 2px 0;border-top:1px dashed var(--dmc-border,#dbe2ea);font-size:1rem}
.dmc-calc-total-value{font-size:1.18rem;font-weight:900;color:var(--dmc-accent,#d9a441)}
.dmc-preset-glass{background:color-mix(in srgb,var(--dmc-card-bg,#fff) 72%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-color:color-mix(in srgb,var(--dmc-border,#dbe2ea) 55%,transparent)}
.dmc-preset-apple .dmc-input:not([type=radio]):not([type=checkbox]){box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 30px rgba(15,23,42,.06)}
.dmc-preset-gaming{box-shadow:0 0 0 1px color-mix(in srgb,var(--dmc-accent) 35%,transparent),0 0 34px color-mix(in srgb,var(--dmc-accent) 20%,transparent)}
.dmc-preset-gaming .dmc-input:focus{box-shadow:0 0 0 2px var(--dmc-accent),0 0 28px color-mix(in srgb,var(--dmc-accent) 42%,transparent)}
.dmc-preset-minimal{padding-inline:0;border-inline:0;border-radius:0;box-shadow:none!important;background:transparent}
.dmc-preset-minimal .dmc-input:not([type=radio]):not([type=checkbox]){border-width:0 0 1.5px!important;border-radius:0!important;box-shadow:none;background:transparent!important}
.dmc-help-modal{position:fixed;inset:0;z-index:2147483200;display:none;align-items:center;justify-content:center;padding:18px;overscroll-behavior:contain}
.dmc-help-modal.is-open{display:flex}
.dmc-help-backdrop{position:absolute;inset:0;background:rgba(4,7,16,.76);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:dmcFade .22s ease both}
.dmc-help-dialog{position:relative;width:min(92vw,620px);max-height:min(84vh,760px);overflow:auto;padding:18px;border:1px solid rgba(255,255,255,.32);border-radius:26px;background:#fff;color:#111827;box-shadow:0 30px 90px rgba(0,0,0,.38);animation:dmcPop .32s cubic-bezier(.2,.9,.2,1) both}
.dmc-help-close{position:sticky;top:0;float:right;z-index:3;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;font-size:26px;box-shadow:0 8px 24px rgba(15,23,42,.18);cursor:pointer}
.dmc-help-media{clear:both;margin-top:4px}
.dmc-help-media img,.dmc-help-media video{display:block;width:100%;max-height:56vh;object-fit:contain;border-radius:18px;background:#eef2f7}
.dmc-help-title{margin:16px 2px 6px;font-size:1.25rem}
.dmc-help-copy{margin:0 2px 4px;color:#526071;line-height:1.55;white-space:pre-line}
body.dmc-modal-open{overflow:hidden!important;touch-action:none}
@keyframes dmcFade{from{opacity:0}to{opacity:1}}@keyframes dmcPop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:600px){.dmc-calc{padding:14px;border-radius:min(var(--dmc-card-radius,24px),24px)}.dmc-help-dialog{width:100%;padding:14px;border-radius:22px}.dmc-help-trigger{width:36px;height:36px}.dmc-calc .dmc-field-label{font-size:.84rem}}
@media(prefers-reduced-motion:reduce){.dmc-calc *,.dmc-help-modal *{animation:none!important;transition:none!important}}

/* Premium builder controls */
.dmc-design-panel{margin:14px 0 18px;padding:16px;border:1px solid #d8dee8;border-radius:14px;background:linear-gradient(135deg,#f7f9ff,#fff8ef)}
.dmc-design-panel h3{margin:0 0 5px;font-size:16px}
.dmc-design-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 14px;margin-top:14px}
.dmc-design-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600}
.dmc-design-grid input:not([type=checkbox]),.dmc-design-grid select{width:100%}
.dmc-help-builder{margin-top:10px;padding:12px;border:1px solid #dfe5ed;border-radius:10px;background:#f8fafc}
.dmc-media-line{display:flex;gap:5px}.dmc-media-line input{min-width:220px}

.dmc-template-panel{margin:16px 0;padding:16px;border:1px solid #dcdcde;border-radius:14px;background:#f8fafc}.dmc-template-panel h3{margin:0 0 6px}.dmc-template-actions{display:flex;gap:8px;flex-wrap:wrap}.dmc-validation-builder{margin-top:12px;padding:12px;border:1px dashed #c7d2fe;border-radius:12px;background:#f8faff}.dmc-validation-builder>strong{display:block;margin-bottom:8px}
