/* ─────────────────────────────────────────────────────────────────────────────
   SIP GLOBAL — Terminal document pages (commodity + market)
───────────────────────────────────────────────────────────────────────────── */

.term--doc {
  min-height: 100vh;
  display   : block;
}

.term__head {
  position  : sticky;
  top       : 0;
  z-index   : 30;
  background: var(--term-surface);
}

.term__head .term__bar { position: static; }

.term__doc {
  background: var(--term-bg);
  color     : var(--term-text);
}

.tdoc {
  max-width: 1140px;
  margin   : 0 auto;
  padding  : var(--space-lg) var(--space-md) var(--space-2xl);
}

.tdoc__head {
  padding-bottom: var(--space-md);
  border-bottom : 1px solid var(--term-border);
  margin-bottom : var(--space-lg);
}

.tdoc__crumbs {
  font-size     : var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color         : var(--term-text-dim);
  margin-bottom : var(--space-sm);
}

.tdoc__crumbs a { color: var(--term-accent); text-decoration: none; }
.tdoc__crumbs a:hover { text-decoration: underline; }
.tdoc__crumbs span { padding: 0 0.4em; }

.tdoc__title {
  font-size     : var(--text-2xl);
  letter-spacing: -0.02em;
  margin        : 0 0 var(--space-xs);
  color         : var(--term-text);
}

.tdoc__tags {
  display  : flex;
  flex-wrap: wrap;
  gap      : var(--space-xs) var(--space-sm);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color    : var(--term-text-dim);
  margin   : 0 0 var(--space-sm);
}

.tdoc__tag--sym { color: var(--term-accent); font-weight: var(--weight-semibold); }

.tdoc__standfirst {
  font-size  : var(--text-base);
  line-height: 1.7;
  margin     : 0;
  color      : var(--term-text);
  opacity    : 0.86;
}

.tdoc__cta {
  display    : flex;
  flex-wrap  : wrap;
  gap        : var(--space-xs);
  margin-top : var(--space-md);
}

/* Reference blocks inside the terminal --------------------------------------- */

.term__doc .ref-block__title { border-bottom-color: var(--term-header); }
.term__doc .ref-table thead th,
.term__doc .ref-grid-table thead th { border-bottom-color: var(--term-border); }
.term__doc .ref-table tbody th,
.term__doc .ref-table tbody td,
.term__doc .ref-grid-table tbody th,
.term__doc .ref-grid-table tbody td { border-bottom-color: var(--term-border); }
.term__doc .ref-grid-table tbody td { border-right-color: rgba(25, 50, 68, 0.06); }
.term__doc .ref-onrequest { border-left-color: var(--term-accent); }
.term__doc .ref-code { color: var(--term-accent); }
.term__doc .ref-sys__name { color: var(--term-accent); }
.term__doc .ref-enquiry,
.term__doc .ref-share { border-top-color: var(--term-border); }
.term__doc .ref-share__btn { border-color: var(--term-border); color: var(--term-text); }
.term__doc .ref-share__btn:hover { border-color: var(--term-accent); color: var(--term-accent); }
.term__doc .ref-markets a { border-color: var(--term-border); color: var(--term-text); }
.term__doc .ref-markets a:hover { border-color: var(--term-accent); color: var(--term-accent); }

/* Market rows inside a commodity page ---------------------------------------- */

.tdoc-rows {
  border    : 1px solid var(--term-border);
  background: var(--color-white);
}

.tdoc-rows__head,
.tdoc-row {
  display              : grid;
  grid-template-columns: minmax(120px, 1fr) minmax(150px, 1.3fr) minmax(160px, 1.5fr) minmax(88px, 0.8fr) 20px;
  gap                  : var(--space-sm);
  align-items          : center;
  padding              : 0 var(--space-sm);
}

.tdoc-rows--trio .tdoc-rows__head,
.tdoc-rows--trio .tdoc-row {
  grid-template-columns: minmax(200px, 2.2fr) minmax(120px, 1fr) minmax(96px, 0.9fr) 20px;
}

.tdoc-rows__head {
  min-height    : 30px;
  padding-top   : 7px;
  padding-bottom: 7px;
  align-items   : end;
  background    : var(--term-surface);
  border-bottom : 1px solid var(--term-border);
  font-size     : var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color         : var(--term-text-dim);
}

.tdoc-row {
  min-height     : 36px;
  padding-top    : 8px;
  padding-bottom : 8px;
  line-height    : 1.45;
  border-bottom  : 1px solid var(--term-border);
  font-size      : var(--text-sm);
  color          : var(--term-text);
  text-decoration: none;
}

.tdoc-row:last-child { border-bottom: none; }
.tdoc-row:hover { background: var(--term-accent-soft); }
.tdoc-row > span { min-width: 0; overflow-wrap: anywhere; }
.tdoc-row__sym { color: var(--term-accent); font-size: var(--text-xs); letter-spacing: 0.04em; }
.tdoc-row__grade { color: var(--term-text); }
.tdoc-row__loc { color: var(--term-text-dim); }
.tdoc-row__state { font-size: var(--text-xs); text-transform: uppercase; color: var(--term-text-dim); }
.tdoc-row__ext { text-align: right; color: var(--term-text-dim); }
.tdoc-row:hover .tdoc-row__ext { color: var(--term-accent); }

/* Search suggestions --------------------------------------------------------- */

.term__toolbar { position: relative; }

.term__suggest {
  position  : absolute;
  top       : calc(100% - 1px);
  left      : var(--space-md);
  right     : var(--space-md);
  z-index   : 40;
  max-height: 60vh;
  overflow-y: auto;
  background: var(--color-white);
  border    : 1px solid var(--term-border);
  box-shadow: 0 12px 28px rgba(21, 29, 35, 0.14);
}

.term__suggest[hidden] { display: none; }

.term__suggest a {
  display        : grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap            : var(--space-sm);
  align-items    : center;
  padding        : 8px var(--space-sm);
  font-size      : var(--text-sm);
  color          : var(--term-text);
  text-decoration: none;
  border-bottom  : 1px solid var(--term-border);
}

.term__suggest a:last-child { border-bottom: none; }
.term__suggest a:hover,
.term__suggest a.is-active { background: var(--term-accent-soft); }
.term__suggest .ts-sym { color: var(--term-accent); font-size: var(--text-xs); }
.term__suggest .ts-name { color: var(--term-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.term__suggest .ts-class { color: var(--term-text-dim); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.08em; }
.term__suggest .ts-empty { display: block; padding: var(--space-sm); color: var(--term-text-dim); font-size: var(--text-sm); }

@media (max-width: 860px) {
  .term__meta { display: none; }
  .tdoc { padding: var(--space-md) var(--space-sm) var(--space-xl); }
  .tdoc__title { font-size: var(--text-xl); }
  .tdoc-rows { overflow-x: auto; }
  .tdoc-rows__head,
  .tdoc-row { grid-template-columns: minmax(100px, 1fr) minmax(130px, 1.3fr) minmax(130px, 1.5fr) minmax(80px, 0.8fr) 20px; min-width: 560px; }
  .tdoc-rows--trio .tdoc-rows__head,
  .tdoc-rows--trio .tdoc-row { grid-template-columns: minmax(160px, 2.2fr) minmax(100px, 1fr) minmax(88px, 0.9fr) 20px; min-width: 0; }
  .term__suggest { left: var(--space-sm); right: var(--space-sm); }
  .term__suggest a { grid-template-columns: 100px minmax(0, 1fr); }
  .term__suggest .ts-class { display: none; }
}

/* Terminal index (all commodities) ------------------------------------------- */

.term--index {
  height    : 100vh;
  min-height: 100vh;
  overflow  : hidden;
}

.term--index .term__head {
  position: static;
  flex    : 0 0 auto;
}

.term--index .term__cols,
.term--index .term__status { flex: 0 0 auto; }

.term--index .term__body {
  flex      : 1 1 auto;
  min-height: 0;
  overscroll-behavior: contain;
}

.term--index .term__cols,
.term--index .tg-row {
  grid-template-columns: 170px minmax(180px, 1fr) 130px 28px;
}

.tg-count {
  font-size : var(--text-xs);
  color     : var(--term-text-dim);
  text-align: right;
}

@media (max-width: 900px) {
  .term--index .tg-row {
    grid-template-columns: minmax(0, 1fr) auto 20px;
    height               : 40px;
    gap                  : var(--space-sm);
  }
  .term--index .tg-sym { display: none; }
  .term--index .tg-count { grid-column: 2; grid-row: 1; text-align: right; white-space: nowrap; }
  .term--index .tg-ext { grid-column: 3; grid-row: 1; text-align: right; }
}
