/* ============================================================
   Direct Ship Supplier Visibility deck — slide-specific layout
   Inherits Lens tokens + ibp base + deck-shared
   ============================================================ */

/* S2 — Ticket pull-quote + ticket grid (dark) */
.ticket-pull {
  margin-top: 8px;
  padding: 22px 26px;
  background: rgba(245,243,238,0.06);
  border-left: 3px solid var(--ibp-sage);
  border-radius: 4px;
  font-size: 18px;
  line-height: 1.5;
  color: var(--ibp-cream);
  font-style: italic;
  max-width: 1080px;
}
.ticket-attrib {
  display: block;
  margin-top: 12px;
  font-size: 11px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: rgba(245,243,238,0.55);
  font-style: normal;
  font-weight: 700;
}
.ticket-grid {
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.t-tile {
  background: rgba(245,243,238,0.05);
  border: 1px solid rgba(245,243,238,0.10);
  border-radius: 8px;
  padding: 16px 18px;
}
.t-tile.open {
  border-color: var(--ibp-amber);
  background: rgba(201,154,74,0.10);
}
.t-id {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--ibp-sage);
  font-weight: 700;
  margin-bottom: 6px;
}
.t-tile.open .t-id { color: var(--ibp-amber); }
.t-meta {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(245,243,238,0.55);
  margin-bottom: 8px;
}
.t-line {
  font-size: 13px;
  line-height: 1.45;
  color: var(--ibp-cream);
}
.t-foot {
  margin-top: 20px;
  font-size: 12px;
  color: rgba(245,243,238,0.7);
  line-height: 1.5;
  max-width: 1080px;
}
.t-foot strong { color: var(--ibp-cream); }

/* S3 — Two-option side-by-side */
.two-option {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.opt {
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(26,25,21,0.08);
  border-radius: 10px;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
}
.opt-a { border-top: 4px solid var(--ibp-sage); }
.opt-b { border-top: 4px solid var(--ibp-forest); }
.opt-tag {
  font-size: 10px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--ibp-ink-mut);
  margin-bottom: 10px;
}
.opt-a .opt-tag { color: var(--ibp-sage); }
.opt-b .opt-tag { color: var(--ibp-forest); }
.opt-title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--ibp-ink);
  margin-bottom: 14px;
  line-height: 1.2;
}
.opt-mech {
  font-size: 13px;
  line-height: 1.55;
  color: var(--ibp-ink);
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(26,25,21,0.08);
}
.opt-mech code {
  background: rgba(26,25,21,0.07);
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 12px;
}
.opt-mech strong { color: var(--ibp-forest); }
.opt-stats {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.opt-stats li {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--ibp-ink);
  padding-left: 14px;
  position: relative;
}
.opt-stats li::before {
  content: '\2022';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ibp-forest);
  font-weight: 700;
}
.opt-stats li strong {
  color: var(--ibp-forest);
  font-weight: 700;
}
.opt-foot {
  margin-top: 18px;
  padding: 14px 20px;
  background: rgba(61,93,74,0.08);
  border-left: 3px solid var(--ibp-forest);
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ibp-ink);
}
.opt-foot strong { color: var(--ibp-forest); }

/* S4 — Device flow (5 steps) */
.device-flow {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.d-step {
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(26,25,21,0.08);
  border-radius: 8px;
  padding: 20px 18px;
  position: relative;
}
.d-num {
  font-size: 10px;
  letter-spacing: 0.20em;
  color: var(--ibp-forest);
  font-weight: 700;
  margin-bottom: 12px;
}
.d-icon { width: 32px; height: 32px; margin-bottom: 12px; }
.d-icon .lucide {
  width: 28px; height: 28px;
  stroke: var(--ibp-forest);
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.d-label {
  font-size: 14px;
  font-weight: 700;
  color: var(--ibp-ink);
  margin-bottom: 8px;
  letter-spacing: -0.005em;
  line-height: 1.25;
}
.d-note {
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--ibp-ink-mut);
}
.d-note code {
  background: rgba(26,25,21,0.07);
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 10.5px;
}
.d-note strong { color: var(--ibp-forest); font-weight: 700; }

/* S4 — callout below flow */
.device-callout {
  margin-top: 24px;
  padding: 18px 22px;
  background: rgba(61,93,74,0.06);
  border: 1px solid rgba(61,93,74,0.20);
  border-radius: 8px;
  max-width: 1080px;
}
.dc-eyebrow {
  font-size: 10px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--ibp-forest);
  margin-bottom: 8px;
}
.dc-body {
  font-size: 13px;
  line-height: 1.55;
  color: var(--ibp-ink);
}
.dc-body strong { color: var(--ibp-forest); font-weight: 700; }

@media (max-width: 980px) {
  .ticket-grid { grid-template-columns: 1fr; }
  .two-option { grid-template-columns: 1fr; }
  .device-flow { grid-template-columns: 1fr 1fr; }
}
