/* RTL helpers */
[dir="rtl"] .rtl-text { text-align: right; }
[dir="rtl"] .rtl-flex-row-reverse { flex-direction: row-reverse; }
[dir="rtl"] .rtl-ml-1  { margin-left: 0; margin-right: .25rem; }
[dir="rtl"] .rtl-mr-2  { margin-right: 0; margin-left: .5rem; }
[dir="rtl"] .rtl-flip-icon { transform: scaleX(-1); }

/* ── Lot sheet: the main editorial plate ── */
.ed-lot-sheet {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 4px;
  position: relative;
}
html.dark .ed-lot-sheet { background: var(--paper-2); }
.ed-lot-sheet::before {
  content: ''; position: absolute; top: -1px; left: 10%; right: 10%; height: 2px;
  background: var(--ink); border-radius: 0 0 2px 2px;
}
html.dark .ed-lot-sheet::before { background: var(--bz-primary); }

/* Hairline panel used across the page */
.ed-panel {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 4px;
}
html.dark .ed-panel { background: var(--paper-2); }

/* Editorial chip (hairline pill) */
.ed-chip {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.35rem 0.8rem;
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink-2);
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: transparent;
}

/* Similar lots — compact index card */
.ed-sim-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 4px;
  transition: border-color 0.22s ease, transform 0.22s ease;
}
.ed-sim-card:hover { border-color: var(--ink); transform: translateY(-3px); }
html.dark .ed-sim-card { background: var(--paper-2); }

/* ── Skeleton shimmer (paper-toned) ── */
.sk {
  position: relative; overflow: hidden;
  background: var(--paper-2);
  border-radius: 3px;
}
html.dark .sk { background: rgba(244,239,226,0.05); }
.sk::after {
  content: ''; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--rule-soft), transparent);
  animation: sk-sweep 1.4s ease-in-out infinite;
}
@keyframes sk-sweep { 100% { transform: translateX(100%); } }
#page-skeleton { transition: opacity 0.25s ease; }
#page-content  { transition: opacity 0.25s ease; }
