/* ═══════════════════════════════════════════════════════════
   DUST & GLORY — Pages intérieures — Thème Noir & Rouge
═══════════════════════════════════════════════════════════ */

/* === PAGE BG === */
.page-bg{
    position:fixed;inset:0;z-index:0;
    background:#000;
}
.page-bg::after{
    content:'';position:absolute;inset:0;
    background:
        radial-gradient(ellipse 70% 50% at 50% 0%, rgba(80,0,0,.35) 0%, transparent 60%),
        radial-gradient(ellipse 50% 30% at 0% 100%, rgba(50,0,0,.25) 0%, transparent 50%);
}
.page-bg-grain{
    position:absolute;inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
    background-size:300px;mix-blend-mode:overlay;
}

/* === LAYOUT === */
.page-wrap{position:relative;z-index:1;min-height:100vh;padding-top:5rem}
.container{max-width:1100px;margin:0 auto;padding:0 2rem}

/* === PAGE HEADER === */
.page-header{
    text-align:center;padding:4rem 2rem 3rem;
    border-bottom:1px solid rgba(140,0,0,.2);position:relative;
}
/* Ligne rouge décorative */
.page-header::before{
    content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);
    width:120px;height:2px;
    background:linear-gradient(90deg,transparent,var(--red),transparent);
}
.page-back{
    position:absolute;left:2rem;top:50%;transform:translateY(-50%);
    font-family:var(--ff-rdr);font-size:.68rem;letter-spacing:.18em;
    color:var(--muted);display:flex;align-items:center;gap:.5rem;
    transition:color .25s;opacity:.55;
}
.page-back:hover{color:var(--red-l);opacity:1}
.page-eyebrow{
    font-family:var(--ff-rdr);font-size:.63rem;letter-spacing:.45em;
    color:var(--red-l);opacity:.55;text-transform:uppercase;margin-bottom:.8rem;
}
.page-title{
    font-family:var(--ff-rdr);font-size:clamp(2rem,6vw,3.8rem);
    font-weight:normal;color:var(--cream);letter-spacing:.06em;line-height:1.1;
    text-shadow:0 4px 24px rgba(0,0,0,.8);
}
.page-sep{display:flex;align-items:center;gap:.9rem;justify-content:center;margin-top:.9rem}
.page-sep span{width:40px;height:1px;background:linear-gradient(90deg,transparent,rgba(192,57,43,.35))}
.page-sep span:last-child{background:linear-gradient(90deg,rgba(192,57,43,.35),transparent)}
.page-sep em{color:var(--red-d);font-size:.4rem;font-style:normal;opacity:.7}

/* === REVEAL === */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--d,0s),transform .6s ease var(--d,0s)}
.reveal.visible{opacity:1;transform:none}

/* ═══════ LORE ═══════ */
.lore-body{padding:4rem 0 5rem}
.timeline{position:relative;max-width:820px;margin:0 auto;padding-left:2.2rem}
.timeline::before{
    content:'';position:absolute;left:0;top:0;bottom:0;width:1px;
    background:linear-gradient(to bottom,transparent,rgba(192,57,43,.4) 8%,rgba(192,57,43,.18) 92%,transparent);
}
.tl-item{position:relative;padding:0 0 3.5rem 2.5rem}
.tl-item:last-child{padding-bottom:0}
.tl-dot{
    position:absolute;left:-7px;top:.3rem;
    width:15px;height:15px;border-radius:50%;
    background:var(--red-d);border:2px solid var(--red);
    box-shadow:0 0 14px rgba(192,57,43,.5);
}
.tl-year{
    font-family:var(--ff-rdr);font-size:2.5rem;color:var(--red-l);
    letter-spacing:.06em;margin-bottom:.5rem;line-height:1;
    text-shadow:0 0 30px rgba(192,57,43,.3);filter:drop-shadow(0 0 12px rgba(192,57,43,.2));
}
.tl-title{font-family:var(--ff-rdr);font-size:.95rem;color:var(--cream);letter-spacing:.1em;margin-bottom:.7rem;opacity:.8}
.tl-text{font-size:1.1rem;line-height:1.8;color:var(--cream2);max-width:640px}
.tl-text strong{color:var(--cream)}
.tl-text em{color:var(--red-l);font-style:normal}
.lore-cta{text-align:center;padding:3rem 2rem;border-top:1px solid rgba(140,0,0,.18);margin-top:1rem}

/* ═══════ GALERIE ═══════ */
.gallery-body{padding:3rem 0 5rem}
.gallery-intro{text-align:center;font-style:italic;color:var(--muted);font-size:1rem;margin-bottom:2.5rem}
.gallery-intro strong{color:var(--red-l)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.g-item{position:relative;overflow:hidden;border-radius:2px;cursor:pointer;aspect-ratio:16/9}
.g-item.g-wide{grid-column:span 2;aspect-ratio:21/9}
.g-inner{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    transition:transform .6s ease;
}
.g-inner::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(to bottom,transparent 35%,rgba(0,0,0,.6) 100%);z-index:1;
}
/* Placeholder atmosphérique pour cases vides */
.g-placeholder{
    position:absolute;inset:0;z-index:2;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;
    opacity:.3;font-family:var(--ff-rdr);font-size:.63rem;
    letter-spacing:.15em;color:var(--cream2);text-transform:uppercase;pointer-events:none;
}
.g-placeholder i{font-size:1.3rem;color:var(--red-d)}
.g-overlay{
    position:absolute;inset:0;z-index:3;
    background:rgba(0,0,0,.55);border:1px solid rgba(192,57,43,.0);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
    opacity:0;transition:opacity .3s,border-color .3s;
}
.g-overlay i{font-size:1.3rem;color:var(--red-l)}
.g-overlay span{font-family:var(--ff-rdr);font-size:.65rem;letter-spacing:.18em;color:var(--cream2);text-transform:uppercase}
.g-item:hover .g-inner{transform:scale(1.06)}
.g-item:hover .g-overlay{opacity:1;border-color:rgba(192,57,43,.35)}

/* ═══════ STAFF ═══════ */
.staff-body{padding:3rem 0 5rem}
.staff-role-header{
    font-family:var(--ff-rdr);font-size:.7rem;letter-spacing:.35em;
    color:var(--red-l);opacity:.5;text-transform:uppercase;
    margin-bottom:1rem;margin-top:2.5rem;
    display:flex;align-items:center;gap:1rem;
}
.staff-role-header::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(192,57,43,.2),transparent)}
.staff-grid-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.7rem}
.staff-card{
    display:flex;flex-direction:column;align-items:center;text-align:center;
    padding:1.5rem 1rem;
    background-color:transparent;
    border:25px solid transparent;
    border-image:url('../img/hud_menu_grey_dark.webp') 25 fill stretch;
    transition:filter .3s,transform .3s;
}
.staff-card:hover{filter:brightness(1.15);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.5)}
.staff-avatar{
    width:58px;height:58px;border-radius:50%;
    background:rgba(192,57,43,.08);border:1.5px solid rgba(192,57,43,.25);
    display:flex;align-items:center;justify-content:center;
    font-size:1.2rem;color:var(--red-d);margin-bottom:.8rem;overflow:hidden;
}
.staff-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.staff-name{font-family:var(--ff-rdr);font-size:.82rem;color:var(--cream);letter-spacing:.06em;margin-bottom:.3rem}
.staff-role-badge{
    font-family:var(--ff-rdr);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
    padding:.15rem .6rem;border-radius:10px;
    background:rgba(192,57,43,.1);color:rgba(192,57,43,.7);border:1px solid rgba(192,57,43,.2);
}
.staff-role-badge.r-owner{background:rgba(200,80,0,.18);color:#ff8844;border-color:rgba(200,80,0,.4)}
.staff-role-badge.r-admin{background:rgba(192,57,43,.18);color:var(--red-l);border-color:rgba(192,57,43,.4)}
.staff-role-badge.r-dev{background:rgba(88,101,242,.1);color:#8891f2;border-color:rgba(88,101,242,.25)}
.staff-role-badge.r-mod{background:rgba(50,120,50,.1);color:#5cb85c;border-color:rgba(50,120,50,.25)}
.staff-role-badge.r-sup{background:rgba(30,120,180,.1);color:#5aabdc;border-color:rgba(30,120,180,.25)}

/* ═══════ REJOINDRE ═══════ */
.join-body{padding:3rem 0 5rem}
.steps{display:flex;flex-direction:column;gap:1.2rem;max-width:780px;margin:0 auto}
.step{
    display:grid;grid-template-columns:60px 1fr;gap:1.5rem;align-items:start;
    padding:1.8rem;
    background-color:transparent;
    border:30px solid transparent;
    border-image:url('../img/hud_menu_grey_dark.webp') 30 fill stretch;
    transition:filter .3s,transform .3s;
}
.step:hover{filter:brightness(1.12)}
.step-num{
    width:52px;height:52px;border-radius:50%;
    background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.22);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--ff-rdr);font-size:1.25rem;color:var(--red-l);flex-shrink:0;
}
.step-content h3{font-family:var(--ff-rdr);font-size:.92rem;color:var(--cream);letter-spacing:.08em;margin-bottom:.5rem;font-weight:normal}
.step-content p{font-size:1rem;color:var(--muted);line-height:1.6}
.step-content a{color:var(--red-l);text-decoration:underline;text-decoration-color:rgba(192,57,43,.3)}

/* ═══════ RÈGLEMENT ═══════ */
.rules-body{padding:3rem 0 5rem}
.rule-block{
    margin-bottom:1rem;padding:1.6rem 1.8rem;
    background-color:transparent;
    border:30px solid transparent;
    border-image:url('../img/hud_menu_grey_dark.webp') 30 fill stretch;
    transition:filter .3s;
}
.rule-block:hover{filter:brightness(1.1)}
.rule-num{font-family:var(--ff-rdr);font-size:.62rem;letter-spacing:.28em;color:var(--red-l);opacity:.45;margin-bottom:.35rem;text-transform:uppercase}
.rule-title{font-family:var(--ff-rdr);font-size:.95rem;color:var(--cream);letter-spacing:.06em;margin-bottom:.5rem;font-weight:normal}
.rule-text{font-size:1rem;color:var(--muted);line-height:1.7}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:768px){
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
    .g-item.g-wide{grid-column:span 2}
    .page-back{display:none}
}
@media(max-width:480px){
    .gallery-grid{grid-template-columns:1fr}
    .g-item.g-wide{grid-column:auto}
    .step{grid-template-columns:1fr}
    .staff-grid-roles{grid-template-columns:repeat(2,1fr)}
}
