/* ==========================================
   PERSON PAGE
========================================== */

.person-page{

    max-width:750px;

    margin:auto;

    padding:20px;

}

/* ==========================================
   BREADCRUMB
========================================== */

.breadcrumb{

    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 6px;

    margin-bottom:20px;

    color:#888;
    font-size:.90rem;
    line-height:1.5;

}

.breadcrumb a{

    color:var(--primary);
    text-decoration:none;

    white-space:nowrap;

}

.breadcrumb span{

    white-space:nowrap;

}

/* ==========================================
   CARD PERSONA
========================================== */

.person-card{

    background:var(--surface);

    border-radius:22px;

    padding:30px;

    text-align:center;

    box-shadow:var(--shadow);

    margin-bottom:25px;

}

.person-avatar{

    margin-bottom:20px;

}

.person-avatar img{

    width:110px;

    height:110px;

    object-fit:cover;

    border-radius:50%;

    border:4px solid var(--primary);

}

.person-info h1{

    font-size:2rem;

    margin-bottom:8px;

}

.gender{

    color:#666;

    font-size:.95rem;

    margin-bottom:20px;

}

.note-preview{

    background:#f8f9fc;

    border-radius:15px;

    padding:18px;

    color:#555;

    line-height:1.6;

}

/* ==========================================
   SECTION
========================================== */

.section{

    margin-bottom:30px;

}

.section h2{

    font-size:1rem;

    margin-bottom:15px;

    color:var(--primary);

}

/* ==========================================
   LIST CARD
========================================== */

.list-card{

    display:flex;

    align-items:center;

    gap:15px;

    padding:16px;

    margin-bottom:12px;

    border-radius:16px;

    background:var(--surface);

    text-decoration:none;

    color:var(--text);

    box-shadow:var(--shadow);

    transition:.2s;

}

.list-card:hover{

    transform:translateY(-2px);

}

.list-card img{

    width:48px;

    height:48px;

    border-radius:50%;

    object-fit:cover;

}

.list-card span{

    flex:1;

    text-align:left;

    font-size:1rem;

}

.list-card i{

    color:#999;

}

/* ==========================================
   ACTIONS
========================================== */

.actions{

    display:grid;

    gap:15px;

    margin-top:30px;

}

.actions button{

    height:52px;

    border:none;

    border-radius:15px;

    background:white;

    box-shadow:var(--shadow);

    cursor:pointer;

    font-size:1rem;

    transition:.2s;

}

.actions button:hover{

    transform:translateY(-2px);

}

.actions button i{

    margin-right:8px;

}

.actions .primary{

    background:var(--primary);

    color:white;

}

/* ==========================================
   TABLET
========================================== */

@media(min-width:768px){

    .person-page{

        padding:35px;

    }

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:500px){

    .person-card{

        padding:22px;

    }

    .person-avatar img{

        width:90px;

        height:90px;

    }

    .person-info h1{

        font-size:1.5rem;

    }

}

/*====================================
MODALS
====================================*/

.modal{

    position:fixed;

    inset:0;

    display:none;

    align-items:center;

    justify-content:center;

    background:rgba(0,0,0,.45);

    z-index:99999;

    padding:20px;

}

.modal.show{

    display:flex;

}

.modal-content{

    width:100%;

    max-width:420px;

    background:var(--surface);

    border-radius:18px;

    padding:25px;

    position:relative;

    box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.modal-content h2{

    margin-bottom:20px;

}

.close{

    position:absolute;

    top:15px;

    right:20px;

    cursor:pointer;

    font-size:28px;

}

.form-group{

    margin-bottom:18px;

}

.form-group label{

    display:block;

    margin-bottom:6px;

    font-weight:600;

}

.form-group input,
.form-group select,
.form-group textarea,
#noteContent{

    width:100%;

    padding:12px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:15px;

    background:white;

}

.btn-primary{

    width:100%;

    height:48px;

    border:none;

    border-radius:12px;

    background:var(--primary);

    color:white;

    font-size:16px;

    cursor:pointer;

}

.breadcrumb{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:8px;

    margin-bottom:20px;

    font-size:.95rem;

}

.breadcrumb a{

    color:var(--primary);

    text-decoration:none;

    font-weight:600;

}

.breadcrumb a:hover{

    text-decoration:underline;

}

.breadcrumb .sep{

    color:#999;

    font-size:.8rem;

}

/*======================================
RICERCA
======================================*/

.search-box{

    position:relative;

    margin-bottom:20px;

}

#personSearch{

    width:100%;

    height:48px;

    padding:0 16px;

    border:1px solid #ddd;

    border-radius:14px;

    font-size:16px;

}

.search-results{

    position:absolute;

    top:55px;

    left:0;

    right:0;

    background:white;

    border-radius:16px;

    box-shadow:0 12px 30px rgba(0,0,0,.15);

    overflow:hidden;

    display:none;

    z-index:999;

}

.search-item{

    display:flex;

    align-items:center;

    gap:14px;

    padding:14px 16px;

    text-decoration:none;

    color:inherit;

    border-bottom:1px solid #eee;

    transition:.15s;

}

.search-item:last-child{

    border-bottom:none;

}

.search-item:hover{

    background:#f6f8ff;

}

.search-avatar{

    width:42px;

    height:42px;

    border-radius:50%;

    flex-shrink:0;

}

.search-text{

    flex:1;

    overflow:hidden;

}

.search-name{

    font-weight:600;

    margin-bottom:4px;

}

.search-path{

    display:flex;

    flex-wrap:wrap;

    gap:4px;

    align-items:center;

    margin-top:4px;

    font-size:.82rem;

    color:#777;

    line-height:1.35;

}

.search-empty{

    padding:16px;

    text-align:center;

    color:#888;

}

.search-name mark{

    background:#ffe66d;

    color:#222;

    padding:0 2px;

    border-radius:4px;

    font-weight:700;

}