/* ── Collapsible panels ── */

.custom-collapsible {
  background-color: var(--wash, #f1f5f9);
  cursor: pointer;
  padding: 12px 16px;
  width: 100%;
  border: 1px solid var(--stone, #e2e8f0);
  text-align: left;
  font-weight: 600;
  font-size: 16px;
  color: var(--ink, #1a1f2b);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  border-radius: var(--radius-md, 8px) var(--radius-md, 8px) 0 0;
  font-family: var(--font-stack, sans-serif);
  transition: background 0.15s;
}

.custom-collapsible:hover {
  background-color: var(--stone, #e2e8f0);
}

.custom-collapsible:focus-visible {
  outline: 2px solid var(--creek, #3b82f6);
  outline-offset: -2px;
}

.custom-panel-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out, padding 0.2s ease-out;
  border: 1px solid var(--stone, #e2e8f0);
  border-top: none;
  padding: 0 16px;
  border-radius: 0 0 var(--radius-md, 8px) var(--radius-md, 8px);
  background: white;
}

.custom-panel-content.open {
  max-height: none;
  overflow: visible;
  padding: 16px;
}

.custom-collapsible .material-symbols-outlined {
  font-size: 18px;
  vertical-align: middle;
  color: var(--creek, #3b82f6);
  margin-left: 4px;
  opacity: 0.6;
}

.custom-collapsible .material-symbols-outlined:hover {
  opacity: 1;
}

.custom-arrow {
  display: inline-block;
  font-style: normal;
  font-size: 12px;
  color: var(--pebble-light, #94a3b8);
  transition: transform 0.2s;
  margin-left: auto;
}

.custom-down:after {
  content: "▼";
}

.custom-up:after {
  content: "▲";
}

/* Spacing between collapsible sections */
.gene-sequence,
.vulnerability,
.collateral,
.passage-slope,
.drug-heatmap,
.snps,
.gene-alphafold {
  margin-bottom: 16px;
}
