/* Shopify + Commerce Hub OrderStream combo — extras on top of .dsc-page */

.dsc-page .dsc-mock-row--brand {
  background: rgba(0, 140, 226, 0.08);
  border-color: rgba(0, 140, 226, 0.28);
}

.dsc-page .dsc-mock .dsc-itile-sm {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  box-shadow: none;
  font-size: 14px;
}

.dsc-page .dsc-concepts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}

.dsc-page .dsc-map {
  background: var(--dsc-surface-card);
  border: 1px solid var(--dsc-border-subtle);
  border-radius: var(--dsc-radius-lg);
  box-shadow: var(--dsc-shadow-sm);
  overflow: hidden;
}

.dsc-page .dsc-map-head,
.dsc-page .dsc-map-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.5fr;
  gap: 16px;
  align-items: center;
  padding: 15px 24px;
}

.dsc-page .dsc-map-head {
  padding: 14px 24px;
  background: var(--dsc-neutral-50);
  border-bottom: 1px solid var(--dsc-border-subtle);
}

.dsc-page .dsc-map-head span {
  font-family: var(--dsc-font-body);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dsc-text-subtle);
}

.dsc-page .dsc-map-row {
  border-top: 1px solid var(--dsc-border-subtle);
}

.dsc-page .dsc-map-head + .dsc-map-row {
  border-top: none;
}

.dsc-page .dsc-map-row:nth-child(even) {
  background: var(--dsc-neutral-25);
}

.dsc-page .dsc-map-src {
  font-family: var(--dsc-font-display);
  font-weight: 700;
  font-size: 14.5px;
  color: var(--dsc-text-strong);
}

.dsc-page .dsc-map-dst {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--dsc-font-display);
  font-weight: 600;
  font-size: 14.5px;
  color: var(--dsc-primary-600);
}

.dsc-page .dsc-map-dst i {
  color: var(--dsc-text-subtle);
  flex: none;
}

.dsc-page .dsc-map-note {
  font-family: var(--dsc-font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--dsc-text-muted);
}

.dsc-page .dsc-api-code--navy {
  background: var(--dsc-gradient-navy);
}

.dsc-page .dsc-headline-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}

.dsc-page .dsc-headline-pills .dsc-flowchip {
  padding: 10px 18px;
  font-size: 14.5px;
}

.dsc-page .dsc-headline-pills .dsc-flowchip i {
  color: var(--dsc-success-500);
}

.dsc-page .dsc-kicker-line {
  font-family: var(--dsc-font-body);
  font-size: 13.5px;
  color: var(--dsc-primary-600);
  font-weight: 600;
}

.dsc-page .dsc-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  background: var(--dsc-surface-card);
  border: 1px solid var(--dsc-border-subtle);
  border-radius: var(--dsc-radius-lg);
  padding: 24px 28px;
  box-shadow: var(--dsc-shadow-xs);
}

.dsc-page .dsc-band--sunken {
  background: var(--dsc-neutral-25);
  box-shadow: none;
}

.dsc-page .dsc-band h3,
.dsc-page .dsc-band .dsc-band-title {
  font-family: var(--dsc-font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--dsc-text-strong);
  margin: 0;
}

.dsc-page .dsc-band p {
  font-family: var(--dsc-font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--dsc-text-muted);
  margin: 6px 0 0;
  max-width: 660px;
}

@media (max-width: 900px) {
  .dsc-page .dsc-map-head,
  .dsc-page .dsc-map-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .dsc-page .dsc-concepts {
    grid-template-columns: 1fr;
  }
}


/* OrderStream + Shopify architecture lanes (from OrderStream integration) */
.dsc-page .os-lane {
  border-radius: var(--dsc-radius-md);
  padding: 18px 20px;
  background: var(--dsc-neutral-25);
  border: 1px solid var(--dsc-border-subtle);
}
.dsc-page .os-lane--hub {
  background: var(--dsc-gradient-navy);
  border: none;
  box-shadow: var(--dsc-glow-azure);
}
.dsc-page .os-lane--hub .os-lane-title { color: #fff; }
.dsc-page .os-lane--hub .os-lane-copy { color: rgba(255,255,255,.78); }
.dsc-page .os-lane-title {
  font-family: var(--dsc-font-display);
  font-weight: 700;
  font-size: 16.5px;
  color: var(--dsc-text-strong);
  letter-spacing: -0.01em;
}
.dsc-page .os-lane-copy {
  font-family: var(--dsc-font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--dsc-text-muted);
  margin-top: 6px;
}
.dsc-page .os-arch-label {
  font-family: var(--dsc-font-body);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dsc-text-subtle);
  margin-bottom: 12px;
}
.dsc-page .os-label {
  font-family: var(--dsc-font-body);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.dsc-page .os-label--bad { color: var(--dsc-danger-500); }
.dsc-page .os-label--good { color: var(--dsc-success-500); }
.dsc-page .os-x {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(229,72,77,.1);
  color: var(--dsc-danger-700);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  margin-top: 1px;
  font-family: var(--dsc-font-display);
  font-weight: 800;
  font-size: 13px;
}
.dsc-page .dsc-problem-card {
  position: relative;
  overflow: hidden;
}
.dsc-page .dsc-problem-card--fix::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--dsc-gradient-cart);
}
