/* Stakeholder Pathways ([biobuilder_stakeholder_pathways]). Loaded after
   pathway-finder.css and layered on top of it, so the teacher version's
   look is untouched. A heading card, branch lines with cladogram-style nodes
   down to three photo cards, and type sized to match biobuilder.org
   (16px body, 24px subheads). */

.btb-stakeholder-pathways{
  /* Pathway label colors, darkened for white-text contrast. */
  --btbpf-club:#0E65E4;
  --btbpf-curriculum:#2F7A29;
  --btbpf-workforce:#00739E;
  /* Tight, slightly dark shading in place of border lines. */
  --btbsp-edge:0 1px 3px rgba(15,23,42,0.14), 0 6px 18px -6px rgba(15,23,42,0.18);
  --btbsp-edge-hover:0 2px 4px rgba(15,23,42,0.16), 0 14px 30px -10px rgba(15,23,42,0.26);
}

/* ---------- Heading card ---------- */
.btb-stakeholder-pathways .path-intro{position:relative;}
.btb-stakeholder-pathways .path-head{
  position:relative;
  z-index:1;
  max-width:880px;
  margin:0 auto 24px;
  padding:36px 48px;
  background:var(--btbpf-white);
  border:none;
  border-radius:var(--btbpf-radius);
  box-shadow:var(--btbsp-edge);
  text-align:center;
}
.btb-stakeholder-pathways .path-title{
  font-family:inherit;
  font-size:36px;
  font-weight:700;
  line-height:1.2;
}

/* ---------- Branch lines (pathway-finder-branches.js) ----------
   Only shown when the cards sit in one row. */
.btb-stakeholder-pathways .path-branches{
  display:none;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  z-index:0;
}
.btb-stakeholder-pathways .path-branches path{
  fill:none;
  stroke:#6CC065;
  stroke-width:1.5;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  transition:stroke-dashoffset 1.1s ease;
}
.btb-stakeholder-pathways .path-branches.drawn path{stroke-dashoffset:0;}
.btb-stakeholder-pathways .path-branches circle{
  fill:#6CC065;
  stroke:var(--btbpf-white);
  stroke-width:2;
  opacity:0;
  transition:opacity .3s ease;
}
.btb-stakeholder-pathways .path-branches.drawn circle{opacity:1;}
.btb-stakeholder-pathways .path-branches.drawn .node-end{transition-delay:1s;}
@media (min-width:901px){
  .btb-stakeholder-pathways .path-head{margin-bottom:80px;}
  .btb-stakeholder-pathways .path-branches{display:block;}
}

/* ---------- Pathway cards ---------- */
.btb-stakeholder-pathways .model-grid{
  position:relative;
  z-index:1;
  gap:24px;
  margin-bottom:0;
}
.btb-stakeholder-pathways .model-card{
  color:var(--btbpf-ink);
  background:var(--btbpf-white);
  border:none;
  border-radius:var(--btbpf-radius);
  box-shadow:var(--btbsp-edge);
  transition:box-shadow .2s ease, transform .2s ease;
}
.btb-stakeholder-pathways .model-card:hover{
  background:var(--btbpf-white);
  transform:translateY(-2px);
  box-shadow:var(--btbsp-edge-hover);
}
.btb-stakeholder-pathways .model-card-media,
.btb-stakeholder-pathways .detail-media{
  display:block;
  position:relative;
  overflow:hidden;
  aspect-ratio:4 / 3;
  background:var(--btbpf-line-soft);
}
.btb-stakeholder-pathways .detail-media{aspect-ratio:16 / 7;}
.btb-stakeholder-pathways .model-card-img{
  height:100% !important;
  transition:transform .3s ease-out;
}
.btb-stakeholder-pathways .model-card:hover .model-card-img{transform:scale(1.03);}
.btb-stakeholder-pathways .model-badge{
  position:absolute;
  top:12px;
  left:12px;
  font-size:12.5px;
  letter-spacing:0.08em;
  color:var(--btbpf-white);
  background:var(--btbpf-deep);
  opacity:1;
  border-radius:var(--btbpf-radius-sm);
  padding:6px 14px;
  box-shadow:var(--btbpf-shadow);
}
.btb-stakeholder-pathways .model-badge.is-club{background:var(--btbpf-club);}
.btb-stakeholder-pathways .model-badge.is-curriculum{background:var(--btbpf-curriculum);}
.btb-stakeholder-pathways .model-badge.is-workforce{background:var(--btbpf-workforce);}
.btb-stakeholder-pathways .model-card-body{padding:22px 24px 24px;}
.btb-stakeholder-pathways .model-name{font-size:24px;margin:0 0 8px;}
.btb-stakeholder-pathways .model-desc{
  font-size:16px;
  line-height:1.55;
  max-width:none;
  margin-bottom:20px;
}
.btb-stakeholder-pathways .model-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding-top:0;
}
.btb-stakeholder-pathways .model-cta .arrow{display:inline-block;transition:transform .2s ease;}
.btb-stakeholder-pathways .model-card:hover .model-cta .arrow{transform:translateX(3px);}

/* ---------- Detail card ---------- */
.btb-stakeholder-pathways .stage{
  border:none;
  box-shadow:var(--btbsp-edge);
}
.btb-stakeholder-pathways .btb-narrow{max-width:820px;}
.btb-stakeholder-pathways .back-link{font-size:15px;}
.btb-stakeholder-pathways .detail-media .model-card-img{transition:none;}
.btb-stakeholder-pathways .detail-body{padding:26px 24px 8px;}
.btb-stakeholder-pathways .detail-body .model-name{font-size:33px;}
.btb-stakeholder-pathways .detail-body .model-desc{font-size:17px;margin-bottom:0;}
.btb-stakeholder-pathways .detail-body + .support-grid{padding-top:18px;}
.btb-stakeholder-pathways .support-card h4{font-size:20px;}
.btb-stakeholder-pathways .support-card p{font-size:16px;line-height:1.6;}
.btb-stakeholder-pathways .cta-primary,
.btb-stakeholder-pathways .cta-secondary{font-size:15.5px;}
.btb-stakeholder-pathways .alt-note-switch,
.btb-stakeholder-pathways .alt-note-switch button{font-size:15px;}
.btb-stakeholder-pathways .restart-row button{font-size:15px;}

@media (max-width:600px){
  .btb-stakeholder-pathways .path-head{padding:28px 22px;}
  .btb-stakeholder-pathways .path-title{font-size:28px;}
  .btb-stakeholder-pathways .detail-body .model-name{font-size:26px;}
}

@media (prefers-reduced-motion: reduce){
  .btb-stakeholder-pathways .model-card-img,
  .btb-stakeholder-pathways .model-cta .arrow,
  .btb-stakeholder-pathways .path-branches path,
  .btb-stakeholder-pathways .path-branches circle{transition:none;}
  .btb-stakeholder-pathways .model-card:hover,
  .btb-stakeholder-pathways .model-card:hover .model-card-img,
  .btb-stakeholder-pathways .model-card:hover .model-cta .arrow{transform:none;}
}
