/**
 * Portfolio table — row rhythm,
spacing,
and card-style rows.
 * Loaded after views-density.css to restore readable vertical space.
 */

:root {
  --table-row-gap: 0.5rem;
  --table-row-pad-y: 0.78rem;
  --table-row-pad-x: 0.62rem;
  --table-row-radius: 11px;
  --table-row-border: rgba(231, 201, 120, 0.38);
  --table-row-shadow: 0 1px 2px rgba(63, 15, 25, 0.04);
  --table-row-shadow-hover: 0 6px 18px rgba(63, 15, 25, 0.08);
}/* Scoped: card rows only outside the revamp shell */
.table-wrapper:not(.roadmaps-table-shell) table,
.table-wrapper--modern:not(.roadmaps-table-shell) table {
  border-collapse: separate !important;
  border-spacing: 0 var(--table-row-gap) !important;
}.table-wrapper--modern:not(.roadmaps-table-shell) {
  padding: 0.35rem 0.45rem 0.5rem !important;
}.table-wrapper:not(.roadmaps-table-shell) thead th,
.table-wrapper--modern:not(.roadmaps-table-shell) thead th {
  padding: 0.58rem 0.5rem !important;
  line-height: 1.35 !important;
}.table-wrapper:not(.roadmaps-table-shell) tbody td,
.table-wrapper--modern:not(.roadmaps-table-shell) tbody td {
  padding: var(--table-row-pad-y) var(--table-row-pad-x) !important;
  line-height: 1.45 !important;
  vertical-align: middle !important;
  border-top: 1px solid var(--table-row-border) !important;
  border-bottom: 1px solid var(--table-row-border) !important;
  box-shadow: var(--table-row-shadow);
  transition:
    background 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
}.table-wrapper:not(.roadmaps-table-shell) tbody td:first-child,
.table-wrapper--modern:not(.roadmaps-table-shell) tbody td:first-child {
  border-left: 1px solid var(--table-row-border) !important;
  border-top-left-radius: var(--table-row-radius);
  border-bottom-left-radius: var(--table-row-radius);
}.table-wrapper:not(.roadmaps-table-shell) tbody td:last-child,
.table-wrapper--modern:not(.roadmaps-table-shell) tbody td:last-child {
  border-right: 1px solid var(--table-row-border) !important;
  border-top-right-radius: var(--table-row-radius);
  border-bottom-right-radius: var(--table-row-radius);
}.table-wrapper:not(.roadmaps-table-shell) tbody tr:last-child td,
.table-wrapper--modern:not(.roadmaps-table-shell) tbody tr:last-child td {
  border-bottom: 1px solid var(--table-row-border) !important;
}.table-wrapper:not(.roadmaps-table-shell) tbody tr:hover td,
.table-wrapper--modern:not(.roadmaps-table-shell) tbody tr:hover td {
  border-color: rgba(212, 175, 55, 0.55) !important;
  box-shadow: var(--table-row-shadow-hover);
}.table-wrapper:not(.roadmaps-table-shell) tbody tr:focus-within td,
.table-wrapper--modern:not(.roadmaps-table-shell) tbody tr:focus-within td {
  border-color: rgba(185, 28, 28, 0.28) !important;
  box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.08), var(--table-row-shadow-hover);
}/* Roadmap column — clearer hierarchy */
.table-wrapper .cell-title-block,
.table-wrapper--modern .cell-title-block {
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
}.table-wrapper .cell-title,
.table-wrapper--modern .cell-title {
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -0.01em;
}.table-wrapper .cell-meta,
.table-wrapper--modern .cell-meta {
  line-height: 1.4;
}.table-wrapper .countries-badge,
.table-wrapper--modern .countries-badge {
  margin-top: 0.05rem;
}/* Checkbox column alignment */
.table-wrapper tbody td:first-child,
.table-wrapper--modern tbody td:first-child {
  width: 44px !important;
  text-align: center;
  padding-left: 0.45rem !important;
  padding-right: 0.35rem !important;
}.table-wrapper tbody .checkbox-input,
.table-wrapper--modern tbody .checkbox-input {
  width: 17px;
  height: 17px;
}/* Actions column breathing room */
.table-wrapper .cell-actions--roadmap,
.table-wrapper--modern .cell-actions--roadmap {
  gap: 0.1rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}/* Empty state spans full width without row card chrome */
.table-wrapper tbody tr:only-child td.empty-state,
.table-wrapper--modern tbody tr:only-child td.empty-state {
  border: 1px dashed rgba(231, 201, 120, 0.45) !important;
  border-radius: var(--table-row-radius) !important;
  padding: 2rem 1.25rem !important;
  box-shadow: none !important;
}/* Compact — still comfortable,
not cramped */
@media (max-width: 1400px) {
  :root {
    --table-row-gap: 0.42rem;
    --table-row-pad-y: 0.62rem;
    --table-row-pad-x: 0.48rem;
    --table-row-radius: 10px;
  }

  html.is-compact-layout .table-wrapper--modern {
    padding: 0.28rem 0.32rem 0.42rem !important;
  }

  html.is-compact-layout .table-wrapper--modern thead th {
    padding: 0.48rem 0.38rem !important;
  }

  html.is-compact-layout .table-wrapper--modern tbody td {
    padding: var(--table-row-pad-y) var(--table-row-pad-x) !important;
  }

  html.is-compact-layout .table-wrapper .cell-title,
  html.is-compact-layout .table-wrapper--modern .cell-title {
    font-size: 0.8rem;
  }

  html.is-compact-layout .table-wrapper .cell-title-block,
  html.is-compact-layout .table-wrapper--modern .cell-title-block {
    gap: 0.32rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .table-wrapper tbody td,
  .table-wrapper--modern tbody td {
    transition: none !important;
  }
}
