/* ── Variables ────────────────────────────────────────────────────────────── */
:root {
    --bft-primary:   #2b1d0e;   /* dark warm brown */
    --bft-secondary: #5a3825;   /* medium brown    */
    --bft-accent:    #c8963c;   /* antique gold    */
    --bft-cream:     #faf6f0;   /* warm off-white  */
    --bft-text-light:#f5e6d3;   /* cream text on dark backgrounds */
}

/* ── Layout ───────────────────────────────────────────────────────────────── */
body {
    background-color: var(--bft-cream);
}

/* ── Navigation ───────────────────────────────────────────────────────────── */
.bft-user-bar {
    background: var(--bft-primary);
    color: var(--bft-text-light);
}

.bft-navbar {
    background: var(--bft-secondary);
}

.bft-navbar .nav-link:hover {
    color: var(--bft-accent) !important;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
.bft-footer {
    background: var(--bft-primary);
    color: var(--bft-text-light);
}

/* ══════════════════════════════════════════════════════════════════════════
   FAMILY PAGE
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Person card ──────────────────────────────────────────────────────────── */
.person-card {
    padding: 0.5rem;
}

.person-photo {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border: 3px solid var(--bft-accent);
}

.person-photo-placeholder {
    width: 100px;
    height: 100px;
    background: #e8ddd0;
    border: 3px solid #c5b49a;
    color: #8a7060;
}

.person-name a {
    color: var(--bft-primary);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
}

.person-name a:hover {
    color: var(--bft-accent);
    text-decoration: underline;
}

.person-dates {
    font-size: 0.78rem;
    color: #6c5c4c;
    line-height: 1.5;
}

/* Reserve space for navigation arrows so cards align vertically */
.nav-slot {
    min-height: 34px;
    display: flex;
    gap: 4px;
    justify-content: center;
    align-items: center;
}

.nav-slot .btn {
    padding: 2px 8px;
    font-size: 0.8rem;
    border-color: #b8a080;
    color: var(--bft-secondary);
}

.nav-slot .btn:hover {
    background: var(--bft-accent);
    border-color: var(--bft-accent);
    color: #fff;
}

/* ── Side arrows (other marriages, outside the parent columns) ────────────── */
.side-arrows {
    min-width: 36px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}

.side-arrows .btn {
    padding: 2px 8px;
    font-size: 0.8rem;
    border-color: #b8a080;
    color: var(--bft-secondary);
}

.side-arrows .btn:hover {
    background: var(--bft-accent);
    border-color: var(--bft-accent);
    color: #fff;
}

/* ── Marriage info block ──────────────────────────────────────────────────── */
.marriage-block {
    min-width: 120px;
    padding: 1rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.marriage-block .bi-heart-fill {
    color: var(--bft-accent);
}

/* ── Children section ─────────────────────────────────────────────────────── */
.children-divider {
    position: relative;
    text-align: center;
    margin: 2rem 0 1.5rem;
}

.children-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #c5b49a;
}

.children-label {
    position: relative;
    background: var(--bft-cream);
    padding: 0 1rem;
    color: #8a7060;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
}

/* ══════════════════════════════════════════════════════════════════════════
   INDIVIDUAL PAGE
   ══════════════════════════════════════════════════════════════════════════ */

.individual-photo {
    max-width: 220px;
    border: 3px solid var(--bft-accent);
}

.individual-name {
    color: var(--bft-primary);
    font-weight: 700;
}

.individual-facts th {
    color: #8a7060;
    font-weight: 600;
    width: 110px;
    white-space: nowrap;
}

/* ── Printing: drop the navigation and controls, let long panels run in full ── */
@media print {
    .bft-user-bar, .bft-navbar, .bft-footer, .btn, form, #tl-filters, #suggest { display: none !important; }
    body { background: #fff !important; font-size: 12px; }
    .tl-scroll { max-height: none !important; overflow: visible !important; }
    .tl-card { position: static !important; box-shadow: none !important; }
    .card { box-shadow: none !important; break-inside: avoid; }
    a { color: inherit !important; text-decoration: none !important; }
}
