/* Lineage is a reading room with clear exits: ink, white type, a yellow link cue. */
.lineage-page {
  --lineage-copy:#e6e6e2;
  --lineage-secondary:#bcbcb5;
  --lineage-rule:#55554e;
}
.lineage-page .shop-head { gap:16px; margin-bottom:24px; }
.lineage-page .shop-head > h1 { margin-bottom:0; overflow-wrap:anywhere; }
.lineage-page .shop-desc {
  max-width:65ch; color:var(--lineage-copy);
  font:400 17px/1.8 var(--sans); letter-spacing:0; overflow:visible;
}
.lineage-page .shop-desc p { max-width:none; margin:0 0 1.2em; }
.lineage-page .shop-desc p:last-child { margin-bottom:0; }
.lineage-page .shop-desc :is(h2,h3) {
  margin:1.4em 0 .6em; font:600 22px/1.35 var(--sans); letter-spacing:-.025em;
}
.lineage-page .shop-desc > :is(h2,h3):first-child { margin-top:0; }
.lineage-page .shop-desc strong { font-weight:600; color:var(--gps-white); }

/* An underline makes a link recognizable without relying on color. */
:is(.lineage-page,body.tax-product_tag) .shop-desc a,
.genetics .entry-content a {
  color:var(--gps-white); text-decoration-line:underline;
  text-decoration-color:#b4b4ac; text-decoration-thickness:1px;
  text-underline-offset:.22em; text-decoration-skip-ink:auto;
  border-radius:2px; overflow-wrap:anywhere;
  transition:color 140ms ease,background-color 140ms ease,text-decoration-color 140ms ease;
}
:is(.lineage-page,body.tax-product_tag) .shop-desc a.lineage-inline {
  font-weight:600; text-decoration-color:var(--gps-yellow); text-decoration-thickness:2px;
}
:is(.lineage-page,body.tax-product_tag) .shop-desc a:hover,
.genetics .entry-content a:hover {
  color:var(--gps-yellow); background-color:rgba(255,221,0,.08); text-decoration-color:currentColor;
}
:is(.lineage-page,body.tax-product_tag) .shop-desc a:active { color:var(--gps-black); background:var(--gps-yellow); }

.lineage-quicklinks { display:flex; flex-wrap:wrap; gap:4px 24px; }
.lineage-quicklinks a {
  display:inline-flex; align-items:center; gap:10px; min-height:44px;
  color:var(--gps-white); font:600 14px/1.4 var(--sans);
  text-decoration:underline; text-decoration-color:var(--lineage-rule); text-underline-offset:5px;
}
.lineage-quicklinks a span { color:var(--gps-yellow); font-size:19px; }
.lineage-quicklinks a:hover { text-decoration-color:var(--gps-yellow); }
.lineage-story { display:grid; gap:28px; align-items:start; }
.lineage-story > * { min-width:0; }
.lineage-trail { border-top:2px solid var(--gps-yellow); padding-top:16px; }
.lineage-trail h2 { margin:0 0 8px; font:600 16px/1.45 var(--sans); letter-spacing:-.02em; }
.lineage-links { display:grid; margin:0; padding:0; list-style:none; }
.lineage-links li { min-width:0; margin:0; padding:0; }
.lineage-links a {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:52px; padding:12px 4px; border-bottom:1px solid var(--lineage-rule);
  color:var(--gps-white); background:transparent; font:600 16px/1.45 var(--sans);
  text-decoration:none; transition:color 140ms ease,background-color 140ms ease;
}
.lineage-links a > span:first-child { min-width:0; overflow-wrap:anywhere; }
.lineage-arrow { flex:none; color:var(--gps-yellow); font:400 22px/1 var(--sans); transition:transform 140ms ease; }
.lineage-links a:hover { color:var(--gps-yellow); background:rgba(255,221,0,.06); }
.lineage-links a:hover .lineage-arrow { transform:translateX(3px); }
.lineage-links a:active { background:var(--gps-yellow); color:var(--gps-black); }
.lineage-links a:active .lineage-arrow { color:inherit; }
.lineage-more { margin-top:10px; }
.lineage-more summary {
  min-height:44px; padding:12px 0; cursor:pointer; color:var(--gps-white);
  font:600 14px/1.45 var(--sans); text-decoration:underline;
  text-decoration-color:var(--gps-yellow); text-underline-offset:4px;
}
.lineage-more summary span { color:var(--lineage-secondary); font-weight:400; }
.lineage-more summary::marker { color:var(--gps-yellow); }
.lineage-more summary:hover { color:var(--gps-yellow); }
.lineage-catalog { scroll-margin-top:100px; }
.lineage-catalog > h2 { font:600 22px/1.3 var(--sans); letter-spacing:-.025em; margin:0 0 18px; }
.lineage-next { margin-top:48px; padding-top:28px; border-top:1px solid var(--lineage-rule); }
.lineage-next__head { margin-bottom:18px; }
.lineage-next h2 { margin:0 0 6px; font:400 clamp(28px,3vw,40px)/1.15 var(--title); letter-spacing:-.035em; }
.lineage-next__head p { margin:0; color:var(--lineage-secondary); font:400 15px/1.6 var(--sans); }
.lineage-links--grid { gap:0 28px; }

/* Continue the same link language when someone returns to the lineage directory. */
.genetics .azindex__list a {
  display:flex; align-items:center; min-height:44px; padding:10px 4px;
  border-bottom:1px solid #55554e; color:var(--gps-white); font:500 15px/1.5 var(--sans);
  text-decoration:underline; text-decoration-color:#77776f; text-underline-offset:4px;
}
.genetics .azindex__list a:hover { color:var(--gps-yellow); text-decoration-color:currentColor; }
.genetics .chips .chip { min-height:44px; display:inline-flex; align-items:center; border-color:#77776f; color:var(--gps-white); }
.genetics .chips .chip:hover { color:var(--gps-yellow); border-color:var(--gps-yellow); background:transparent; }
.lineage-page a:focus-visible,
.lineage-page summary:focus-visible,
body.tax-product_tag .shop-desc a:focus-visible,
.genetics :is(.azindex__list,.chips,.entry-content) a:focus-visible {
  outline:2px solid var(--gps-yellow); outline-offset:4px;
}
@media(min-width:640px) {
  .lineage-links--grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1000px) {
  .lineage-story--connected { grid-template-columns:minmax(0,1fr) minmax(240px,300px); gap:clamp(36px,5vw,80px); }
  .lineage-page .shop-head { gap:20px; margin-bottom:36px; }
  .lineage-links--grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .lineage-links--grid a { height:100%; min-height:72px; }
}
@media(prefers-reduced-motion:reduce) {
  .lineage-page a,.lineage-page .lineage-arrow,body.tax-product_tag .shop-desc a,.genetics .entry-content a { transition:none; }
  .lineage-links a:hover .lineage-arrow { transform:none; }
}
@media(forced-colors:active) {
  :is(.lineage-page,body.tax-product_tag) .shop-desc a,.lineage-page .lineage-links a,.genetics .azindex__list a { color:LinkText; text-decoration:underline; text-decoration-color:LinkText; }
  .lineage-arrow { color:LinkText; }
  .lineage-trail { border-color:CanvasText; }
}

/* A small label separates a breeder/source profile from a strain destination. */
.lineage-link-kind { display:block; margin-top:3px; color:var(--lineage-secondary); font:400 12px/1.4 var(--sans); }
.lineage-links a:active .lineage-link-kind { color:inherit; }
