/* =========================================================
FILE: structura.css (FINAL CLEAN OPTIMIZED)
========================================================= */


/* =========================================================
GRID GENERAL
========================================================= */

.structura-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
    gap:20px;
    margin-top:25px;
}


/* =========================================================
CARD STRUCTURĂ
========================================================= */

.structura-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:18px;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.structura-card:hover{
    transform:translateY(-5px);
    border-color:#2563eb;
    box-shadow:
        0 12px 30px rgba(0,0,0,0.06),
        0 6px 14px rgba(37,99,235,0.10);
}

.structura-title{
    font-weight:600;
    font-size:15px;
    color:#1e293b;
}


/* =========================================================
SUBLISTĂ
========================================================= */

.structura-sublist{
    margin-top:10px;
    padding-left:16px;
}

.structura-sublist li{
    font-size:13px;
    color:#475569;
    margin-bottom:4px;
}


/* =========================================================
SUBCARD
========================================================= */

.structura-card-sub{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:12px;
    text-align:center;
}


/* =========================================================
SUBTITLURI
========================================================= */

.structura-subtitle{
    font-size:18px;
    font-weight:600;
    margin:40px 0 10px;
    color:#1e293b;
}


/* =========================================================
LINKURI CARD
========================================================= */

a.structura-card{
    text-decoration:none;
    color:inherit;
}

a.structura-card:hover{
    border-color:#16a34a;
}


/* =========================================================
ORG TREE – STRUCTURĂ
========================================================= */

.org-level{
    display:flex;
    justify-content:center;
    gap:40px;
    margin-bottom:60px;
    position:relative;
}

.org-item{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
}


/* =========================================================
LINII ORGANIGRAMĂ
========================================================= */

/* vertical între niveluri */
.org-level::before{
    content:"";
    position:absolute;
    top:-30px;
    left:50%;
    transform:translateX(-50%);
    width:2px;
    height:30px;
    background:#cbd5e1;
}

.org-level:first-child::before{
    display:none;
}

/* orizontal între elemente */
.org-item::after{
    content:"";
    position:absolute;
    top:-30px;
    left:0;
    right:0;
    height:2px;
    background:#cbd5e1;
}

.org-item:first-child::after{
    left:50%;
}

.org-item:last-child::after{
    right:50%;
}

/* vertical din item */
.org-item::before{
    content:"";
    position:absolute;
    top:-30px;
    width:2px;
    height:30px;
    background:#cbd5e1;
}

/* dacă e singur */
.org-level:has(.org-item:only-child) .org-item::after{
    display:none;
}


/* =========================================================
CARD ORGANIGRAMĂ
========================================================= */

.org-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 18px;
    text-align:center;
    min-width:180px;
    font-weight:600;
    position:relative;
    box-shadow:0 8px 20px rgba(0,0,0,0.05);
    transition:transform .25s ease;
    z-index:2;
}

.org-card:hover{
    transform:translateY(-5px);
}


/* VARIANTE */

.org-card.root{
    background:#1e3a8a;
    color:#fff;
}

.org-card.manager{
    border:2px solid #16a34a;
    background:#f0fdf4;
}

.org-card.manager span{
    display:block;
    font-weight:400;
    font-size:13px;
    margin-top:5px;
}


/* BIG CARD */

.org-card.big{
    text-align:left;
    min-width:260px;
    max-height:500px;
    overflow:auto;
}

.org-card.big ul{
    margin-top:10px;
    padding-left:18px;
}

.org-card.big li{
    font-size:13px;
    color:#475569;
}


/* =========================================================
GRID NIVELURI
========================================================= */

.org-level.grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:30px;
    align-items:start;
}

/* nivel final */

.org-level.grid:last-child{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:nowrap;
}

.org-level.grid:last-child .org-card{
    min-width:140px;
    padding:12px 10px;
    font-size:13px;
}


/* =========================================================
LISTE SECȚII
========================================================= */

.org-list{
    margin-top:10px;
    padding-left:18px;
}

.org-list > li{
    margin-bottom:8px;
    font-weight:500;
}

.org-sublist{
    margin-top:6px;
    padding-left:16px;
}

.org-sublist li{
    font-size:13px;
    color:#64748b;
    margin-bottom:4px;
}

.org-sublist li::before{
    content:"–";
    margin-right:6px;
    color:#94a3b8;
}


/* =========================================================
HOVER GLOBAL
========================================================= */

.org-tree:hover .org-card{
    opacity:0.4;
}

.org-card:hover{
    opacity:1 !important;
    transform:translateY(-6px) scale(1.03);
}

.org-level:hover .org-card{
    opacity:1;
}


/* =========================================================
RESPONSIVE
========================================================= */

@media(max-width:992px){

    .org-level.grid{
        grid-template-columns:1fr;
    }

    .org-level.grid:last-child{
        flex-wrap:wrap;
    }

}

@media(max-width:768px){

    .org-level{
        flex-direction:column;
        align-items:center;
        gap:20px;
    }

    .org-item::after{
        display:none;
    }

}


/* =========================================================
SAFETY
========================================================= */

.org-level{
    opacity:1 !important;
    transform:none !important;
}

.inst-section{
    opacity:1 !important;
    transform:none !important;
}

/* =========================================================
SPACING SECTIUNI (IMPORTANT)
========================================================= */

.inst-section {
    padding: 60px 0 100px;
}

.inst-section:last-of-type {
    padding-bottom: 120px;
}

.structura-grid {
    margin-top: 30px;
}

.structura-info {
    margin-top: 10px;
    margin-bottom: 20px;
    color: #6b7280;
    font-size: 14px;
}

.org-box {
    margin-top: 10px;
}

.org-btn {
    display: inline-block;
    padding: 12px 22px;
    background: #1e3a8a;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    transition: 0.2s;
}

.org-btn:hover {
    background: #162d6b;
}

.org-meta {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: #9ca3af;
}