/* SMJ Marketplace — checkout + order pages. Reuses --smj-* tokens. */
.smj-checkout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 28px;
	align-items: start;
}
.smj-checkout__h {
	margin: 0 0 12px;
	font-size: 16px;
}
.smj-checkout__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 22px;
}
.smj-f {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--smj-text, #111827);
}
.smj-f--full {
	grid-column: 1 / -1;
}
.smj-f input,
.smj-f textarea {
	padding: 9px 10px;
	border: 1px solid var(--smj-border, #e2e8f0);
	border-radius: var(--smj-radius-sm, 8px);
	font-weight: 400;
	font-size: 14px;
}
.smj-f--invalid input,
.smj-f--invalid {
	border-color: #dc2626;
}
.smj-checkout__pay {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.smj-pay {
	border: 1px solid var(--smj-border, #e2e8f0);
	border-radius: var(--smj-radius-sm, 8px);
	padding: 10px 12px;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
}
.smj-checkout__msg {
	color: #dc2626;
	font-size: 13px;
	margin: 12px 0 0;
}
.smj-checkout__summary {
	background: var(--smj-light-section, #f7f9fc);
	border: 1px solid var(--smj-border, #e2e8f0);
	border-radius: var(--smj-radius, 12px);
	padding: 18px;
	position: sticky;
	top: 20px;
}
.smj-checkout__items {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}
.smj-checkout__items li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px solid var(--smj-border, #e2e8f0);
	font-size: 14px;
}
.smj-checkout__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 12px 0 16px;
	font-size: 16px;
}
.smj-checkout__total strong {
	font-size: 20px;
	color: var(--smj-primary, #1e6eff);
}
.smj-checkout__place {
	width: 100%;
	text-align: center;
	padding: 12px;
	font-size: 15px;
}

/* Order received + status badges */
.smj-received__head h2 {
	margin: 0 0 4px;
}
.smj-received__meta {
	color: var(--smj-text-muted, #64748b);
	margin: 0 0 16px;
}
.smj-received__ship {
	margin-top: 14px;
	color: var(--smj-text, #111827);
}
.smj-badge {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}
.smj-badge--pending { background: #fef9c3; color: #854d0e; }
.smj-badge--processing { background: #dbeafe; color: #1e40af; }
.smj-badge--completed { background: #dcfce7; color: #166534; }
.smj-badge--cancelled { background: #fee2e2; color: #991b1b; }

.smj-orders__view {
	color: var(--smj-primary, #1e6eff);
	text-decoration: none;
	font-weight: 600;
}

@media (max-width: 768px) {
	.smj-checkout { grid-template-columns: 1fr; }
	.smj-checkout__summary { position: static; }
}
@media (max-width: 480px) {
	.smj-checkout__grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════════════
 * v6.20.89 — Checkout v2 skin.
 * [smj_checkout] emits the "--v2" markup (numbered step cards, delivery &
 * payment option rows with sublabel/amount, thumbnail order summary), but
 * none of those classes were styled — only the base grid and fields were.
 * This section completes the design, on the same tokens as the cart and
 * single-product page.
 * ════════════════════════════════════════════════════════════════════════ */
.smj-checkout--v2{gap:24px}
.smj-checkout__main{display:flex;flex-direction:column;gap:16px;min-width:0}
.smj-checkout__card{background:var(--smj-card-bg,#fff);border:1px solid var(--smj-border,#e8ebee);
  border-radius:var(--smj-radius,12px);padding:18px 20px;box-shadow:0 1px 6px rgba(15,23,42,.03)}
.smj-checkout__card .smj-checkout__grid{margin-bottom:0}
.smj-checkout--v2 .smj-checkout__h{display:flex;align-items:center;gap:10px;font-size:15px;
  font-weight:800;color:var(--smj-text,#111827);margin:0 0 14px}
.smj-checkout__step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border-radius:50%;background:var(--smj-primary,#1e6eff);color:#fff;font-size:12.5px;font-weight:800;flex:0 0 auto}
.smj-checkout__opt{font-size:12px;font-weight:600;font-style:normal;color:var(--smj-text-muted,#94a3b8)}
.smj-f input:focus,.smj-f textarea:focus{outline:none;border-color:var(--smj-primary,#1e6eff);
  box-shadow:0 0 0 3px rgba(30,110,255,.12)}
.smj-f--invalid input,.smj-f--invalid textarea{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.08)}
/* Per-field error line (added by JS) */
.smj-f__err{font-size:11.5px;font-weight:600;color:#dc2626;display:none}
.smj-f--invalid .smj-f__err{display:block}
/* Delivery & payment option rows */
.smj-checkout--v2 .smj-pay{display:flex;align-items:center;gap:12px;transition:border-color .12s,background .12s}
.smj-checkout--v2 .smj-pay:hover{border-color:var(--smj-primary,#1e6eff)}
.smj-checkout--v2 .smj-pay:has(input:checked){border-color:var(--smj-primary,#1e6eff);
  background:rgba(30,110,255,.045);box-shadow:inset 0 0 0 1px var(--smj-primary,#1e6eff)}
.smj-checkout--v2 .smj-pay input{accent-color:var(--smj-primary,#1e6eff);width:16px;height:16px;flex:0 0 auto;margin:0}
.smj-pay__body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}
.smj-pay__label{font-weight:700;font-size:14px;color:var(--smj-text,#111827)}
.smj-pay__sub{font-weight:500;font-size:12px;color:var(--smj-text-muted,#64748b)}
.smj-pay__amt{font-weight:700;font-size:13px;color:#166534;white-space:nowrap}
.smj-checkout--v2 .smj-checkout__msg{min-height:1em;font-weight:600}
.smj-checkout__msg.is-ok{color:#166534}
/* ── Sticky summary ── */
.smj-checkout--v2 .smj-checkout__summary{position:static;background:transparent;border:0;padding:0}
.smj-checkout__sumcard{position:sticky;top:calc(var(--smj-hf-header-height,72px) + 16px);
  background:var(--smj-card-bg,#fff);border:1px solid var(--smj-border,#e8ebee);
  border-radius:var(--smj-radius,12px);padding:18px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.smj-checkout__h--sum{font-size:14px;text-transform:uppercase;letter-spacing:.03em}
.smj-checkout--v2 .smj-checkout__items{max-height:290px;overflow:auto;-webkit-overflow-scrolling:touch}
.smj-checkout--v2 .smj-checkout__items li{align-items:center}
.smj-checkout__item-media{position:relative;width:48px;height:56px;border-radius:8px;overflow:hidden;
  background:var(--smj-light-section,#f5f7fa);flex:0 0 auto}
.smj-checkout__item-media img{width:100%;height:100%;object-fit:cover;display:block}
.smj-checkout__item-qty{position:absolute;top:-1px;right:-1px;min-width:18px;height:18px;padding:0 4px;
  border-radius:0 8px 0 8px;background:var(--smj-primary,#1e6eff);color:#fff;font-size:11px;font-weight:800;
  display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.smj-checkout__item-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}
.smj-checkout__item-name{font-weight:600;font-size:13px;line-height:1.3;color:var(--smj-text,#111827);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.smj-checkout__item-variant{font-size:11.5px;color:var(--smj-text-muted,#94a3b8)}
.smj-checkout__item-line{font-weight:700;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.smj-checkout--v2 .smj-checkout__total{margin:0;padding:8px 0 0;font-size:13.5px;color:var(--smj-text-muted,#475569)}
.smj-checkout--v2 .smj-checkout__total span:last-child,.smj-checkout--v2 .smj-checkout__total strong{
  font-variant-numeric:tabular-nums}
.smj-checkout__total--disc span:last-child{color:#166534}
.smj-checkout__total--disc code{background:#f0fdf4;color:#166534;border-radius:4px;padding:0 5px;font-size:11px}
.smj-checkout--v2 .smj-checkout__total--grand{margin-top:6px;padding-top:12px;
  border-top:1px dashed var(--smj-border,#e2e8f0);font-size:15px;font-weight:800;color:var(--smj-text,#111827)}
.smj-checkout__taxnote{font-size:11.5px;color:var(--smj-text-muted,#94a3b8);margin:2px 0 12px}
.smj-checkout--v2 .smj-checkout__place{border-radius:10px;padding:13px;font-size:15px;position:relative}
/* Loading spinner while the order AJAX runs */
.smj-checkout__place.is-loading{color:transparent!important;pointer-events:none}
.smj-checkout__place.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;
  border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
  animation:smj-co-spin .7s linear infinite}
@keyframes smj-co-spin{to{transform:rotate(360deg)}}
.smj-checkout__secure{text-align:center;margin-top:10px;font-size:12px;color:var(--smj-text-muted,#94a3b8)}
@media (max-width:900px){
  .smj-checkout{grid-template-columns:1fr}
  .smj-checkout__sumcard{position:static}
}

/* ════════════════════════════════════════════════════════════════════════
 * v6.20.94 — Theme Control bindings for Checkout AND Order Received.
 * --smj-checkout-* under body.smj-pg-checkout, --smj-order-* under
 * body.smj-pg-order. All values fall back to existing tokens.
 * ════════════════════════════════════════════════════════════════════════ */
body.smj-pg-checkout, body.smj-pg-order{
  background: var(--smj-checkout-page-bg, transparent);
  color: var(--smj-checkout-text, inherit);
  font-family: var(--smj-checkout-font, inherit);
  font-size: var(--smj-checkout-font-size, inherit);
  line-height: var(--smj-checkout-line-height, inherit);
}
body.smj-pg-order{
  background: var(--smj-order-page-bg, transparent);
  color: var(--smj-order-text, inherit);
  font-family: var(--smj-order-font, inherit);
}
body.smj-pg-checkout .smj-checkout--v2{ gap: var(--smj-checkout-gap, 24px); }
body.smj-pg-checkout .smj-checkout__card,
body.smj-pg-checkout .smj-checkout__sumcard{
  background: var(--smj-checkout-card-bg, var(--smj-card-bg,#fff));
  border-color: var(--smj-checkout-card-border, var(--smj-border,#e8ebee));
  border-radius: var(--smj-checkout-card-radius, var(--smj-radius,12px));
  box-shadow: var(--smj-checkout-card-shadow, 0 1px 6px rgba(15,23,42,.03));
}
body.smj-pg-checkout .smj-checkout__card{ padding: var(--smj-checkout-card-pad, 18px 20px); }
body.smj-pg-checkout .smj-checkout--v2 .smj-checkout__h,
body.smj-pg-checkout .smj-checkout__h--sum{
  color: var(--smj-checkout-heading, var(--smj-text,#111827));
  font-size: var(--smj-checkout-heading-size, inherit);
  font-weight: var(--smj-checkout-heading-weight, 800);
}
body.smj-pg-checkout .smj-checkout__step{ background: var(--smj-checkout-badge-bg, var(--smj-primary)); color: var(--smj-checkout-badge-text,#fff); }
body.smj-pg-checkout .smj-f label{ color: var(--smj-checkout-label-color, inherit); }
body.smj-pg-checkout .smj-f input,
body.smj-pg-checkout .smj-f textarea{
  background: var(--smj-checkout-input-bg, #fff);
  color: var(--smj-checkout-input-text, inherit);
  border-color: var(--smj-checkout-input-border, var(--smj-border));
  border-radius: var(--smj-checkout-input-radius, 8px);
}
body.smj-pg-checkout .smj-f input:focus,
body.smj-pg-checkout .smj-f textarea:focus{
  border-color: var(--smj-checkout-input-focus, var(--smj-primary));
  box-shadow: 0 0 0 3px rgba(var(--smj-checkout-input-focus-rgb, 30,110,255), .12);
}
body.smj-pg-checkout .smj-f input::placeholder,
body.smj-pg-checkout .smj-f textarea::placeholder{ color: var(--smj-checkout-placeholder, #9aa4b2); }
body.smj-pg-checkout .smj-checkout--v2 .smj-pay{
  background: var(--smj-checkout-pay-bg, #fff);
  border-color: var(--smj-checkout-pay-border, var(--smj-border));
}
body.smj-pg-checkout .smj-checkout--v2 .smj-pay:has(input:checked){
  background: var(--smj-checkout-pay-active-bg, rgba(30,110,255,.045));
  border-color: var(--smj-checkout-pay-active-border, var(--smj-primary));
  box-shadow: inset 0 0 0 1px var(--smj-checkout-pay-active-border, var(--smj-primary));
}
body.smj-pg-checkout .smj-pay__amt{ color: var(--smj-checkout-pay-amt-color, #166534); }
body.smj-pg-checkout .smj-checkout--v2 .smj-checkout__place{
  background: var(--smj-checkout-btn-bg, var(--smj-primary));
  color: var(--smj-checkout-btn-text, #fff);
  border-radius: var(--smj-checkout-btn-radius, 10px);
  padding: var(--smj-checkout-btn-pad-y, 13px);
  font-size: var(--smj-checkout-btn-size, 15px);
}
body.smj-pg-checkout .smj-checkout--v2 .smj-checkout__place:hover{
  background: var(--smj-checkout-btn-hover-bg, var(--smj-primary-dk, var(--smj-primary)));
  color: var(--smj-checkout-btn-hover-text, #fff);
}
body.smj-pg-checkout .smj-checkout__item-name{ color: var(--smj-checkout-info-value, var(--smj-text,#111827)); }
body.smj-pg-checkout .smj-checkout__item-variant{ color: var(--smj-checkout-muted, var(--smj-text-muted,#94a3b8)); }
body.smj-pg-checkout .smj-checkout__item-qty{ background: var(--smj-checkout-badge-bg, var(--smj-primary)); color: var(--smj-checkout-badge-text,#fff); }
body.smj-pg-checkout .smj-checkout--v2 .smj-checkout__total span:first-child{ color: var(--smj-checkout-sum-label, var(--smj-text-muted,#475569)); }
body.smj-pg-checkout .smj-checkout--v2 .smj-checkout__total span:last-child{ color: var(--smj-checkout-sum-value, inherit); }
body.smj-pg-checkout .smj-checkout--v2 .smj-checkout__total--grand{ color: var(--smj-checkout-sum-total, var(--smj-text,#111827)); }
body.smj-pg-checkout .smj-checkout__total--disc span:last-child{ color: var(--smj-checkout-discount-color, #166534); }
/* ── Order Received success banner ── */
body.smj-pg-order .smj-or__banner,
body.smj-pg-order .smj-order-received__success{
  background: var(--smj-order-ok-bg, #f0fdf4);
  color: var(--smj-order-ok-text, #166534);
  border-radius: var(--smj-order-ok-radius, 12px);
}
body.smj-pg-order .smj-or__icon{ color: var(--smj-order-ok-icon, #16a34a); }
body.smj-pg-order .smj-or__card,
body.smj-pg-order .smj-order-received__card{
  background: var(--smj-order-card-bg, var(--smj-card-bg,#fff));
  border-color: var(--smj-order-card-border, var(--smj-border));
  border-radius: var(--smj-order-card-radius, var(--smj-radius,12px));
  box-shadow: var(--smj-order-card-shadow, 0 2px 10px rgba(15,23,42,.04));
}

/* v6.20.99 — audit bindings. */
body.smj-pg-checkout .smj-checkout--v2{max-width:var(--smj-checkout-container-w,none);margin-inline:auto}
body.smj-pg-checkout .smj-checkout__item-qty{border-radius:var(--smj-checkout-badge-radius,0 8px 0 8px)}
/* Order Received — typography, container, gap */
body.smj-pg-order{font-size:var(--smj-order-font-size,inherit);line-height:var(--smj-order-line-height,inherit)}
body.smj-pg-order :is(h1,h2,h3){color:var(--smj-order-heading,inherit);font-size:var(--smj-order-heading-size,revert-layer);font-weight:var(--smj-order-heading-weight,revert-layer)}
body.smj-pg-order :is(.smj-checkout__taxnote,small,.smj-or__muted){color:var(--smj-order-muted,var(--smj-text-muted,#94a3b8))}
body.smj-pg-order :is(.smj-or,.smj-order-received,.smj-checkout--v2){max-width:var(--smj-order-container-w,none);margin-inline:auto}
body.smj-pg-order :is(.smj-or__card,.smj-order-received__card){padding:var(--smj-order-card-pad,18px)}
body.smj-pg-order :is(.smj-or__card + .smj-or__card,.smj-order-received__card + .smj-order-received__card){margin-top:var(--smj-order-gap,16px)}
body.smj-pg-checkout .smj-checkout__sumcard{background:var(--smj-checkout-sum-bg,var(--smj-checkout-card-bg,var(--smj-card-bg,#fff)));border-color:var(--smj-checkout-sum-border,var(--smj-checkout-card-border,var(--smj-border,#e8ebee)))}
