
/* Genealogy record cards */
.record-card {
  display: flex;
  align-items: center;
  background: #fbfaf6;
  border: 1px solid var(--parch);
  border-radius: 8px;
  padding: 0.6rem 0.9rem;
  margin: 0.6rem 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.record-card img {
  width: 40px;
  height: 40px;
  margin-right: 12px;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.record-card img:hover { transform: scale(1.1); }

.record-text { font-size: 0.95rem; color: var(--ink); }

/* Lightbox popup specific to genealogy */
.genealogy-lightbox {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.7);
  overflow: auto;
}
.genealogy-lightbox:target { display: block; }

.genealogy-lightbox .close {
  position: absolute;
  top: 25px; right: 35px;
  color: #fff;
  font-size: 32px;
  text-decoration: none;
}

.archive-frame {
  background: var(--cream);
  border: 2px solid var(--bronze);
  border-radius: 12px;
  padding: 1rem;
  max-width: 820px;
  margin: 4% auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  text-align: center;
}
.archive-frame img {
  max-width: 100%;
  max-height: 70vh;
  border-radius: 6px;
  margin-bottom: 0.8rem;
}
.archive-frame .caption h3 { margin: 0.2em 0; color: var(--green); }
.archive-frame .caption p { margin: 0.2em 0; }
.archive-frame .prepared { font-style: italic; font-size: 0.85rem; color: #555; }

.genealogy-lightbox.force-hide {
  display: none !important;
}


.backbone-list li {
    margin: 0.6em 0;
    display: flex;
    align-items: center;
  }
.backbone-list li img.file-link {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
  }

.flowchart-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 2em 0;
}
.flow-node {
  border: 1px solid #444;
  padding: 8px 14px;
  border-radius: 8px;
  background: #fbfaf6;
  text-align: center;
  font-size: 0.9rem;
  margin: 0.5em;
}
.flow-node img {
  width: 14px;
  margin-left: 4px;
  vertical-align: middle;
}
.flow-connector {
  width: 2px;
  height: 20px;
  background: #666;
}
.flow-children {
  display: flex;
  justify-content: center;
  gap: 1em;
  margin-top: 1em;
}

/* Ensure SVG links behave like normal links */
svg a { 
  cursor: pointer; 
  text-decoration: none; 
}

svg a text { 
  pointer-events: none; /* makes sure the rect takes the click */
}
