/*
=============================================================================
 Component   : com_joaktree_3d
 Bestand     : joaktree3d.css
 Aangemaakt  : 01-10-2026

 Doel        : Centrale stylesheet voor de 3D-stamboomweergave.

 Verantwoordelijkheden:
              - opmaak van persoonskaarten
              - kleurdefinities en CSS-variabelen
              - opmaak van SVG-elementen
              - hover-effecten
              - layoutgerelateerde presentatie

 Architectuur:
              HtmlView.php         -> levert gegevens
              TreeLayoutHelper.php -> bepaalt posities
              PersonCardHelper.php -> genereert kaartstructuur
              joaktree3d.css       -> verzorgt de presentatie
              default.php          -> assembleert de weergave

 Opmerking:
              Layoutberekeningen vinden niet plaats in deze
              stylesheet. Posities worden aangeleverd door
              TreeLayoutHelper.

 Auteur      : Frits van Leeuwen
 Bedrijf     : Van Leeuwen Webdesign
=============================================================================
*/
/* ==========================================
   Joaktree 3D kleuren
   ========================================== */

:root {
    --jt-primary: #a8862d;

    --jt-background: #f8f9fa;
    --jt-border: #dee2e6;

    --jt-white: #ffffff;

    --jt-svg-border: #0d6efd;
    --jt-svg-hover: #f1f8ff;

    --jt-text-dark: #212529;
    --jt-text-light: #6c757d;

    --jt-shadow: rgba(0, 0, 0, 0.1);
}

/* ==========================================
   Basis wrapper
   ========================================== */

.joaktree-3d-wrapper {
    width: 100%;
    background-color: var(--jt-background);
    border: 1px solid var(--jt-border);
    border-radius: 8px;
    overflow: hidden;
}

#joaktree-3d-svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* ==========================================
   Oude SVG-weergave
   ========================================== */

.person-node .node-box {
    fill: var(--jt-white);
    stroke: var(--jt-svg-border);
    stroke-width: 2px;
    filter: drop-shadow(0px 4px 6px var(--jt-shadow));
    transition: all 0.3s ease;
}

.person-node:hover .node-box {
    stroke-width: 3px;
    fill: var(--jt-svg-hover);
}

.node-name {
    font-size: 16px;
    font-weight: bold;
    fill: var(--jt-text-dark);
    font-family: Arial, sans-serif;
}

.node-dates {
    font-size: 12px;
    fill: var(--jt-text-light);
    font-family: Arial, sans-serif;
}

/* ==========================================
   Persoonskaarten
   ========================================== */
.person-card {
    display: inline-block;
    width: fit-content;
    border: 1px solid var(--jt-primary);
    border-radius: 8px;
    padding: 10px 12px;
    text-align: center;
    color: var(--jt-primary);
    background-color: transparent;
    box-sizing: border-box;
    white-space: nowrap;
}

.person-card-main {
    border-width: 4px;
    border-style: double;
}

.person-card-clickable {
    cursor: pointer;
    transition: transform 0.15s ease;
}

.person-card-clickable:hover {
    transform: scale(1.03);
}

.person-name {
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.2;
}

.person-family-name {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.2;
}

.person-dates {
    font-size: 0.85rem;
    margin-top: 6px;
    line-height: 1.3;
}
