/* ══ /tree/[id]/ — Family Tree person pages ══ */

.tp-header{background:var(--bg-alt);border-bottom:1px solid var(--border);padding:36px 24px 28px;text-align:center}
.tp-header-inner{max-width:760px;margin:0 auto}
.tp-badge{display:inline-block;padding:4px 12px;background:var(--gold-bg);border:1px solid var(--border);border-radius:12px;font-size:.71rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.tp-title{font-size:clamp(1.5rem,4vw,2.3rem);font-weight:900;color:var(--text);line-height:1.25;margin-bottom:10px}
.tp-he{font-family:'Frank Ruhl Libre',serif;font-size:clamp(1.3rem,3vw,1.7rem);color:var(--gold);direction:rtl;margin-bottom:6px}
.tp-meaning{font-size:.85rem;color:var(--text-2);font-style:italic}

.tp-wrap{max-width:760px;margin:0 auto;padding:32px 24px 64px}

.tp-hero-row{text-align:center;margin-bottom:32px}
.tp-hero{width:min(320px,70%);aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);border:2px solid var(--gold);display:block;margin:0 auto;cursor:zoom-in}
.tp-placeholder{width:min(320px,70%);aspect-ratio:3/4;border-radius:var(--radius);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto;color:var(--dim,var(--text-2));font-size:.8rem;text-align:center;padding:16px;background:var(--bg-card)}

.tp-facts{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:32px}
.tp-facts-label{font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.tp-facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 24px}
.tp-fact-label{font-size:.69rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,var(--text-2));margin-bottom:3px}
.tp-fact-value{font-size:.9rem;color:var(--text);line-height:1.55}
.tp-fact-value a{color:var(--gold);text-decoration:none}
.tp-fact-value a:hover{text-decoration:underline}

.tp-wrap h2{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--gold-bg)}
.tp-wrap section{margin-bottom:36px}
.tp-wrap p{font-size:.975rem;color:var(--text-2);line-height:1.75;margin-bottom:16px}
.tp-wrap p:last-child{margin-bottom:0}

.tp-gen-group{margin-bottom:16px}
.tp-gen-group:last-child{margin-bottom:0}
.tp-gen-label{font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.tp-gen-chips{display:flex;flex-wrap:wrap;gap:8px}
.tp-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm,6px);font-size:.85rem;color:var(--text);text-decoration:none;transition:border-color .15s,color .15s;line-height:1.3}
.tp-chip:hover{border-color:var(--gold);color:var(--gold)}
.tp-chip.plain{color:var(--text-2);cursor:default}
.tp-chip.plain:hover{border-color:var(--border);color:var(--text-2)}
.tp-chip img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.tp-chip-he{font-family:'Frank Ruhl Libre',serif;direction:rtl;color:var(--gold);font-size:.85rem}

.tp-scripture-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.tp-scripture-list li{font-size:.9rem;color:var(--text-2);line-height:1.6;padding-left:14px;border-left:2px solid var(--gold-bg)}
.tp-scripture-list a{color:var(--gold);text-decoration:none;font-weight:600}
.tp-scripture-list a:hover{text-decoration:underline}

.tp-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.tp-related-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm,6px);overflow:hidden;text-decoration:none;transition:border-color .15s}
.tp-related-card:hover{border-color:var(--gold)}
.tp-related-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.tp-related-card-body{padding:8px 10px}
.tp-related-card-en{font-size:.82rem;font-weight:700;color:var(--text);display:block}
.tp-related-card-he{font-family:'Frank Ruhl Libre',serif;direction:rtl;font-size:.85rem;color:var(--gold);display:block}
.tp-related-hub{display:flex;align-items:center;justify-content:center;background:var(--gold-bg);border:1px solid var(--border);border-radius:var(--radius-sm,6px);text-decoration:none;color:var(--gold);font-weight:700;font-size:.85rem;text-align:center;padding:16px 10px;aspect-ratio:3/4}
.tp-related-hub:hover{border-color:var(--gold)}

.tp-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:300;opacity:0;visibility:hidden;transition:opacity .2s}
.tp-lightbox.open{opacity:1;visibility:visible}
.tp-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-sm,6px)}
