/* ========== LORE PAGE ========== */
.lore-hero{padding:140px 0 60px;text-align:center;position:relative;z-index:1;}
.lore-intro{max-width:800px;margin:0 auto;color:var(--text-dim);font-size:1rem;line-height:1.8;}
.lore-body{padding:20px 0 80px;position:relative;z-index:1;}

/* Tabs */
.lore-tabs{display:flex;gap:8px;margin-bottom:40px;justify-content:center;flex-wrap:wrap;}
.lore-tab{padding:10px 24px;border-radius:10px;background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-dim);font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);}
.lore-tab:hover{background:var(--bg-card-hover);color:var(--text);}
.lore-tab.active{background:var(--gradient);color:#fff;border-color:transparent;}

/* Dossier folders */
.dossier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.dossier-folder{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius);padding:24px;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;}
.dossier-folder:hover{background:var(--bg-card-hover);border-color:rgba(147,51,234,.3);transform:translateY(-2px);}
.dossier-folder .folder-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:1.4rem;}
.dossier-folder h3{font-size:1.05rem;margin-bottom:6px;}
.dossier-folder p{color:var(--text-dim);font-size:.82rem;}
.folder-badge{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:50px;font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;}

/* Folder icon colors */
.folder-hargrove .folder-icon{background:rgba(147,51,234,.12);color:#a855f7;}
.folder-hargrove .folder-badge{background:rgba(147,51,234,.15);color:#a855f7;}
.folder-police .folder-icon{background:rgba(56,189,248,.12);color:#38bdf8;}
.folder-police .folder-badge{background:rgba(56,189,248,.15);color:#38bdf8;}
.folder-org .folder-icon{background:rgba(239,68,68,.12);color:#ef4444;}
.folder-org .folder-badge{background:rgba(239,68,68,.15);color:#ef4444;}
.folder-missing .folder-icon{background:rgba(251,191,36,.12);color:#fbbf24;}
.folder-missing .folder-badge{background:rgba(251,191,36,.15);color:#fbbf24;}
.folder-nsk .folder-icon{background:rgba(34,197,94,.12);color:#22c55e;}
.folder-nsk .folder-badge{background:rgba(34,197,94,.15);color:#22c55e;}
.folder-freeborn .folder-icon{background:rgba(251,146,60,.12);color:#fb923c;}
.folder-freeborn .folder-badge{background:rgba(251,146,60,.15);color:#fb923c;}
.folder-carnales .folder-icon{background:rgba(232,121,168,.12);color:#e879a8;}
.folder-carnales .folder-badge{background:rgba(232,121,168,.15);color:#e879a8;}
.folder-lspd .folder-icon{background:rgba(56,189,248,.12);color:#38bdf8;}
.folder-lspd .folder-badge{background:rgba(56,189,248,.15);color:#38bdf8;}
.folder-bcso .folder-icon{background:rgba(251,146,60,.12);color:#fb923c;}
.folder-bcso .folder-badge{background:rgba(251,146,60,.15);color:#fb923c;}
.folder-procureur .folder-icon{background:rgba(147,51,234,.12);color:#a855f7;}
.folder-procureur .folder-badge{background:rgba(147,51,234,.15);color:#a855f7;}
.folder-politique .folder-icon{background:rgba(232,121,168,.12);color:#e879a8;}
.folder-politique .folder-badge{background:rgba(232,121,168,.15);color:#e879a8;}

/* Modal */
.lore-modal-overlay{position:fixed;inset:0;background:rgba(5,2,10,.85);backdrop-filter:blur(12px);z-index:2000;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;}
.lore-modal-overlay.open{display:flex;}
.lore-modal{background:#0e0a18;border:1px solid var(--glass-border);border-radius:var(--radius);max-width:800px;width:100%;padding:40px;position:relative;animation:modalIn .3s ease;}
@keyframes modalIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.modal-close:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.3);}
.modal-tag{display:inline-block;padding:4px 12px;border-radius:50px;font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:16px;}
.modal-title{font-family:'Outfit',sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:20px;}
.modal-intro{color:var(--text-dim);font-size:.92rem;line-height:1.8;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--glass-border);}

/* Profile cards inside modal */
.profile-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:20px;margin-bottom:16px;transition:var(--transition);}
.profile-card:hover{border-color:rgba(147,51,234,.25);}
.profile-card:last-child{margin-bottom:0;}
.profile-header{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.profile-avatar{width:44px;height:44px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:700;color:#fff;font-size:.9rem;flex-shrink:0;}
.profile-name{font-family:'Outfit',sans-serif;font-size:1.05rem;font-weight:700;}
.profile-subtitle{font-size:.75rem;color:var(--text-dim);}
.profile-text{color:var(--text-dim);font-size:.85rem;line-height:1.7;}

/* Clique cards */
.clique-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:20px;margin-bottom:14px;}
.clique-card:last-child{margin-bottom:0;}
.clique-name{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:700;margin-bottom:4px;}
.clique-location{font-size:.75rem;color:var(--accent);margin-bottom:10px;font-weight:600;letter-spacing:1px;}
.clique-text{color:var(--text-dim);font-size:.85rem;line-height:1.7;}

/* Section label in modal */
.modal-section-label{font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin:24px 0 14px;padding-top:16px;border-top:1px solid var(--glass-border);}
.modal-section-label:first-of-type{border-top:none;padding-top:0;margin-top:0;}

@media(max-width:768px){
    .lore-modal{padding:24px 18px;}
    .modal-title{font-size:1.3rem;}
    .dossier-grid{grid-template-columns:1fr;}
}
