/* Les raccords suivent les bords réels des cartes, même après traduction. */
ol.genealogy.has-connectors .row {
  height: var(--genealogy-row-height, 80px);
  padding-top: 0;
  z-index: 1;
}
ol.genealogy.has-connectors .row .node,
ol.genealogy.has-connectors .row .bond { top: 50%; }
ol.genealogy.has-connectors li.last .row-final {
  height: var(--genealogy-row-height, 150px);
}
ol.genealogy.has-connectors li.last .row-final .node.sibling { top: 50%; }
ol.genealogy.has-connectors .descent { height: 42px; }
ol.genealogy.has-connectors .descent .seg,
ol.genealogy.has-connectors .descent .diamond,
ol.genealogy.has-connectors .node.descendant::before { display: none; }
ol.genealogy .genealogy-links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
ol.genealogy .genealogy-links path {
  fill: none;
  stroke: rgba(216, 184, 120, .78);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  transition: opacity .6s ease;
  transition-delay: var(--generation-delay, 0s);
}
ol.genealogy.visible .genealogy-links path { opacity: 1; }
ol.genealogy .genealogy-links .genealogy-link-probable { stroke-dasharray:none; }
.genealogy-dates .genealogy-legend { color:var(--ivoire-dim); font-size:.78rem; line-height:1.7; max-width:700px; margin:0 auto 24px; }
.genealogy-dates ol.genealogy .g { padding-top:26px; }
.genealogy-dates ol.genealogy .row { height:var(--genealogy-row-height,125px); margin-top:0; }
.genealogy-dates ol.genealogy .row .node { width:230px; min-width:0; max-width:32%; padding:12px 10px; }
.genealogy-dates ol.genealogy .node .nm { font-size:.9rem; line-height:1.35; }
.genealogy-dates ol.genealogy .node .dt { font-size:.72rem; letter-spacing:.015em; line-height:1.6; margin-top:7px; }
.genealogy-dates .genealogy-event { display:block; }
.genealogy-dates .genealogy-note-ref { font-size:.6rem; margin-left:4px; }
.genealogy-dates .genealogy-note-ref a { color:var(--or-light); text-decoration:underline; text-underline-offset:2px; }
.genealogy-dates ol.genealogy .row-with-left-sib .node.descendant { left:45%; }
.genealogy-dates ol.genealogy .row-with-left-sib .node.pos-68 { left:80%; }
.genealogy-dates ol.genealogy .row-with-left-sib .bond { left:62%; }
.genealogy-dates ol.genealogy .row-with-left-sib .node { width:170px; max-width:26%; }
.genealogy-dates ol.genealogy .row-with-left-sib .node.sibling { width:135px; max-width:21%; }
.genealogy-dates ol.genealogy.has-connectors .row-final .node.sibling { left:25%; }
.genealogy-dates ol.genealogy .row-final .node.current { left:75%; }
.genealogy-dates .genealogy-notes { margin:24px auto 0; padding:18px; border:1px solid var(--line); border-radius:8px; background:#1b1510; color:var(--ivoire-dim); text-align:left; max-width:760px; font-size:.85rem; line-height:1.75; }
.genealogy-dates .genealogy-notes summary { cursor:pointer; color:var(--or-light); padding:6px 0; }
.genealogy-dates .genealogy-notes ol { padding-left:22px; margin-top:12px; }
.genealogy-dates .genealogy-notes li { margin:10px 0; scroll-margin-top:100px; }
.genealogy-dates .genealogy-notes li:target { color:var(--ivoire); outline:1px solid var(--or-light); outline-offset:5px; }
@media (max-width: 720px) {
  ol.genealogy.has-connectors .descent { height: 36px; }
  ol.genealogy.has-connectors .row-with-left-sib .node.descendant { left: 40%; }
  ol.genealogy.has-connectors .row-with-left-sib .node.pos-68 { left: 80%; }
  ol.genealogy.has-connectors .row-with-left-sib .bond { left: 60%; }
  ol.genealogy.has-connectors .row-final .node.sibling { left: 18%; }
  .genealogy-dates ol.genealogy .row .node { width:calc(50% - 28px); max-width:calc(50% - 28px); padding:8px 5px; }
  .genealogy-dates ol.genealogy .node .nm { font-size:.7rem; }
  .genealogy-dates ol.genealogy .node .dt { font-size:.61rem; line-height:1.65; letter-spacing:0; }
  .genealogy-dates ol.genealogy .row-with-left-sib .node { width:27%; max-width:27%; }
  .genealogy-dates ol.genealogy .row-with-left-sib .node.sibling { width:21%; max-width:21%; }
  .genealogy-dates ol.genealogy .row-with-left-sib .node .nm { font-size:.64rem; }
  .genealogy-dates .genealogy-notes { padding:14px; font-size:.78rem; }
}
@media (prefers-reduced-motion: reduce) {
  ol.genealogy .genealogy-links path { opacity: 1; transition: none; }
  .genealogy-dates ol.genealogy .row .node { transition:none!important; }
}
