*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#050507;
    color:white;
    font-family:Arial,sans-serif;
    overflow-x:hidden;
}

/* NAVBAR */

.navbar{
    height:90px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 52px;
    background:#050507;
    border-bottom:1px solid rgba(155,77,255,.28);
    direction:ltr;
}

.nav-logo{
    width:150px;
    height:90px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-decoration:none;
    overflow:hidden;
}

.nav-logo img{
    height:78px;
    width:auto;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 0 14px rgba(155,77,255,.45));
}

nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:46px;
    flex:1;
}

nav a{
    color:white;
    text-decoration:none;
    transition:.3s;
    font-size:14px;
    font-weight:800;
    letter-spacing:.7px;
    position:relative;
}

nav a:hover{
    color:#b76cff;
}

nav a.active::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-16px;
    width:100%;
    height:2px;
    background:#9b4dff;
    box-shadow:0 0 12px #9b4dff;
}

.nav-join-btn{
    width:170px;
    padding:12px 0;
    border:1px solid rgba(155,77,255,.9);
    border-radius:6px;
    color:#d9b8ff;
    text-decoration:none;
    font-weight:900;
    letter-spacing:.5px;
    transition:.3s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
     font-size:10px;
    color:#5865F2;
    filter:drop-shadow(0 0 8px #5865F2);
}

.nav-join-btn i{
    font-size:18px;
}

.nav-join-btn:hover{
    background:#7c3aed;
    color:#fff;
    box-shadow:0 0 20px rgba(124,58,237,.6);
}

/* HERO */

.hero{
    height:calc(100vh - 90px);
    position:relative;
    background:
    linear-gradient(rgba(0,0,0,.15), rgba(0,0,0,.45)),
    url("https://look.jmgbb.com/images/_TIlN58t3R.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.hero-content{
    position:absolute;
    left:50%;
    bottom:200px;
    transform:translateX(-50%);
    z-index:5;
}

.apply-btn{
    display:inline-block;
    padding:18px 55px;
    background:rgba(255,255,255,.16);
    border:1px solid #9b4dff;
    color:white;
    text-decoration:none;
    border-radius:12px;
    font-size:22px;
    font-weight:bold;
    backdrop-filter:blur(8px);
    transition:.3s;
}

.apply-btn:hover{
    background:#9b4dff;
    box-shadow:0 0 25px rgba(155,77,255,.7);
    transform:translateY(-3px);
}

/* STATS BAR */

.stats{
    width:62%;
    margin:-65px auto 35px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:relative;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.45);
    border-radius:16px;
    overflow:hidden;
    backdrop-filter:blur(14px);
    box-shadow:
        0 0 28px rgba(155,77,255,.18),
        inset 0 0 25px rgba(155,77,255,.05);
    direction:ltr;
}

.stats-logo{
    position:absolute;
    left:47%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:1;
    pointer-events:none;
}

.stats-logo img{
    width:1400px;
    opacity:.30;
    filter:drop-shadow(0 0 14px rgba(155,77,255,.55));
}

.stats::before{
    content:"";
    position:absolute;
    top:24px;
    bottom:24px;
    left:0;
    right:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) 25% center / 1px 100% no-repeat,
        linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) 50% center / 1px 100% no-repeat,
        linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) 75% center / 1px 100% no-repeat;
}

.box{
    position:relative;
    padding:18px 12px 17px;
    text-align:center;
    transition:.3s;
    z-index:5;
}

.box:hover{
    background:rgba(155,77,255,.08);
}

.stat-icon{
    font-size:18px;
    margin-bottom:5px;
    line-height:1;
    filter:drop-shadow(0 0 8px rgba(155,77,255,.75));
}

.box h2{
    color:#ffffff;
    font-size:30px;
    font-weight:900;
    line-height:1;
    text-shadow:0 0 14px rgba(155,77,255,.65);
}

.box h3{
    margin-top:5px;
    color:#ffffff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.8px;
}

.box p{
    margin-top:5px;
    color:#9f9f9f;
    font-size:10px;
}

/* CARDS */

.cards{
    width:85%;
    margin:40px auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.card{
    position:relative;
    height:180px;
    border-radius:15px;
    overflow:hidden;
    border:1px solid rgba(155,77,255,.35);
    background:#111;
     text-decoration:none;
     color:white;
}

.card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.card:hover img{
    transform:scale(1.08);
}

.card-text{
    position:absolute;
    inset:0;
    background:linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.85));
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:20px;
}

.card-text h3{
    color:white;
    font-size:24px;
    margin-bottom:5px;
}

.card-text p{
    color:#bbb;
    font-size:13px;
}

/* FOOTER */

.footer{
    text-align:center;
    padding:25px;
    color:#777;
    border-top:1px solid rgba(155,77,255,.25);
}

/* MOBILE */

@media(max-width:900px){

    .navbar{
        height:auto;
        flex-direction:column;
        gap:18px;
        padding:20px;
    }

    .nav-logo{
        width:auto;
        height:auto;
        justify-content:center;
    }

    .nav-logo img{
        height:75px;
    }

    nav{
        flex-wrap:wrap;
        justify-content:center;
        gap:22px;
        flex:none;
    }

    .nav-join-btn{
        width:auto;
        padding:10px 22px;
    }

    .hero{
        height:70vh;
    }

    .hero-content{
        bottom:130px;
    }

    .apply-btn{
        padding:14px 35px;
        font-size:18px;
    }

    .stats{
        width:90%;
        grid-template-columns:1fr;
        margin-top:-40px;
    }

    .stats-logo img{
        width:150px;
        opacity:1;
    }

    .stats::before{
        display:none;
    }

    .cards{
        grid-template-columns:1fr;
    }
}

/* ABOUT US */
.page-hero{
    min-height:420px;
    background:
        linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.75)),
        url("images/about.png");
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.page-content{
    max-width:850px;
    padding:30px;
}

.page-content h1{
    font-size:58px;
    margin-bottom:20px;
    color:white;
    text-shadow:0 0 25px rgba(155,77,255,.8);
}

.page-content p{
    font-size:18px;
    color:#cfcfcf;
    line-height:1.8;
}

.page-section{
    width:80%;
    margin:55px auto;
    padding:35px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    box-shadow:0 0 25px rgba(155,77,255,.14);
    text-align:center;
}

.page-section h2{
    font-size:34px;
    margin-bottom:18px;
    color:white;
}

.page-section p{
    color:#bdbdbd;
    font-size:17px;
    line-height:1.9;
}

/* MEMBERS */
.members-page{
    background:
        linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.75)),
        url("images/members.png");
    background-size:cover;
    background-position:center;
}

.members-grid{
    width:80%;
    margin:55px auto;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
}

.member-card{
    padding:35px 20px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    text-align:center;
    box-shadow:0 0 25px rgba(155,77,255,.14);
    transition:.3s;
}

.member-card:hover{
    transform:translateY(-6px);
    box-shadow:0 0 35px rgba(155,77,255,.35);
}

.member-card h3{
    font-size:22px;
    color:white;
    margin-bottom:10px;
}

.member-card p{
    color:#b76cff;
    font-weight:800;
}

@media(max-width:900px){
    .members-grid{
        grid-template-columns:1fr;
        width:90%;
    }
}

/* GALLERY */
.gallery-page{
    background:
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.75)),
    url("images/gallery.png");
    background-size:cover;
    background-position:center;
}

.gallery-grid{
    width:85%;
    margin:60px auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.gallery-item{
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(155,77,255,.35);
    box-shadow:0 0 20px rgba(155,77,255,.12);
}

.gallery-item img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

@media(max-width:900px){

    .gallery-grid{
        width:90%;
        grid-template-columns:1fr;
    }

    .gallery-item img{
        height:220px;
    }

}

/* RULES */
.rules-page{
    background:
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.75)),
    url("images/rules.png");
    background-size:cover;
    background-position:center;
}

.rules-box{
    width:75%;
    margin:60px auto;
    padding:35px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    box-shadow:0 0 30px rgba(155,77,255,.16);
}

.rules-box h2{
    text-align:center;
    font-size:34px;
    margin-bottom:30px;
    color:white;
    text-shadow:0 0 18px rgba(155,77,255,.6);
}

.rule-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.rule-item:last-child{
    border-bottom:none;
}

.rule-item span{
    min-width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(155,77,255,.18);
    border:1px solid rgba(155,77,255,.45);
    color:#d9b8ff;
    font-weight:900;
    direction:ltr;
}

.rule-item p{
    color:#dcdcdc;
    font-size:16px;
    line-height:1.8;
}

@media(max-width:900px){
    .rules-box{
        width:90%;
        padding:24px;
    }

    .rule-item{
        align-items:flex-start;
    }
}

/* GALLERY ADMIN */
.gallery-admin{
    width:85%;
    margin:45px auto 10px;
    padding:25px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    text-align:center;
    box-shadow:0 0 25px rgba(155,77,255,.14);
}

.gallery-admin h2{
    margin-bottom:18px;
    font-size:26px;
    color:white;
}

.gallery-admin form{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
}

.gallery-admin input{
    color:white;
    padding:12px;
    border:1px solid rgba(155,77,255,.45);
    border-radius:10px;
    background:#111;
}

.gallery-admin button{
    padding:12px 28px;
    border:none;
    border-radius:10px;
    background:#9b4dff;
    color:white;
    font-weight:900;
    cursor:pointer;
    transition:.3s;
}

.gallery-admin button:hover{
    box-shadow:0 0 20px rgba(155,77,255,.7);
    transform:translateY(-2px);
}

#uploadMessage{
    margin-top:15px;
    font-weight:800;
    color:#d9b8ff;
}

/* GALLERY ITEM */
.gallery-item{
    position:relative;
}

.delete-image-btn{
    position:absolute;
    top:12px;
    left:12px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:rgba(220,38,38,.9);
    color:white;
    cursor:pointer;
    font-size:18px;
    opacity:0;
    transition:.3s;
    z-index:10;
}

.gallery-item:hover .delete-image-btn{
    opacity:1;
}

.delete-image-btn:hover{
    background:#ef4444;
    transform:scale(1.08);
}

/* GALLERY LOGIN */
.gallery-login{
    width:85%;
    margin:45px auto 10px;
    padding:22px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    text-align:center;
    box-shadow:0 0 25px rgba(155,77,255,.14);
}

.gallery-login-btn,
.gallery-logout-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 24px;
    border-radius:10px;
    background:#5865F2;
    color:white;
    text-decoration:none;
    font-weight:900;
    transition:.3s;
}

.gallery-login-btn:hover,
.gallery-logout-btn:hover{
    box-shadow:0 0 20px rgba(88,101,242,.65);
    transform:translateY(-2px);
}

.gallery-no-permission{
    color:#ffb4b4;
    font-weight:800;
    margin-bottom:14px;
}

/* LIGHTBOX */
.lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.88);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    padding:30px;
}

.lightbox.active{
    display:flex;
}

.lightbox img{
    max-width:95%;
    max-height:90vh;
    border-radius:16px;
    border:1px solid rgba(155,77,255,.45);
    box-shadow:0 0 35px rgba(155,77,255,.45);
    object-fit:contain;
    cursor:zoom-out;
}

.gallery-item img{
    cursor:zoom-in;
}


/* =========================
   RULES ADMIN PANEL
========================= */

.rules-admin{
    width:85%;
    margin:40px auto;
    padding:25px;
    background:rgba(10,10,15,.85);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    text-align:center;
}

.rules-admin h2{
    color:#fff;
    margin-bottom:20px;
}

.rules-admin textarea{
    width:100%;
    min-height:120px;
    resize:vertical;
    padding:15px;
    border-radius:12px;
    border:none;
    outline:none;
    background:#111;
    color:#fff;
    font-size:15px;
    margin-bottom:15px;
}

.rules-admin button{
    background:#9b4dff;
    color:#fff;
    border:none;
    padding:12px 24px;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
    transition:.3s;
}

.rules-admin button:hover{
    transform:translateY(-2px);
    box-shadow:0 0 20px rgba(155,77,255,.5);
}

.rule-item{
    position:relative;
}

.rule-actions{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    gap:8px;
}

.rule-edit-btn,
.rule-delete-btn{
    border:none;
    width:38px;
    height:38px;
    border-radius:50%;
    cursor:pointer;
    color:white;
    font-size:15px;
    transition:.3s;
}

.rule-edit-btn{
    background:#3b82f6;
}

.rule-edit-btn:hover{
    background:#2563eb;
    transform:scale(1.08);
}

.rule-delete-btn{
    background:#dc2626;
}

.rule-delete-btn:hover{
    background:#ef4444;
    transform:scale(1.08);
}

.rules-login{
    width:85%;
    margin:30px auto;
    text-align:center;
}

.rules-login-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#5865F2;
    color:#fff;
    text-decoration:none;
    padding:12px 24px;
    border-radius:10px;
    font-weight:800;
    transition:.3s;
}

.rules-login-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 0 20px rgba(88,101,242,.6);
}

.rules-message{
    text-align:center;
    color:#fff;
    margin-top:15px;
}

/* MEMBERS SECTION */
.members-login,
.members-admin{
    width:85%;
    margin:35px auto;
    padding:25px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    text-align:center;
    box-shadow:0 0 25px rgba(155,77,255,.14);
}

.members-login-btn,
.members-logout-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 24px;
    border-radius:10px;
    background:#5865F2;
    color:#fff;
    text-decoration:none;
    font-weight:900;
    transition:.3s;
}

.members-login-btn:hover,
.members-logout-btn:hover{
    box-shadow:0 0 20px rgba(88,101,242,.65);
    transform:translateY(-2px);
}

.members-admin h2{
    color:#fff;
    margin-bottom:18px;
}

.members-admin form{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.members-admin input,
.members-admin select{
    width:100%;
    padding:13px;
    border-radius:10px;
    border:1px solid rgba(155,77,255,.35);
    background:#08080e;
    color:#fff;
    outline:none;
}

.members-admin input[type="file"]{
    grid-column:span 2;
}

.members-admin-buttons{
    grid-column:span 2;
    display:flex;
    justify-content:center;
    gap:12px;
}

.members-admin button{
    background:#9b4dff;
    color:#fff;
    border:none;
    padding:12px 24px;
    border-radius:10px;
    cursor:pointer;
    font-weight:800;
    transition:.3s;
}

.members-admin button:hover{
    transform:translateY(-2px);
    box-shadow:0 0 20px rgba(155,77,255,.5);
}

#cancelEditBtn{
    background:#444;
}

#memberMessage,
.members-no-permission{
    color:#fff;
    margin-top:15px;
    font-weight:700;
}

.member-card{
    position:relative;
    overflow:hidden;
}

.member-image{
    width:110px;
    height:110px;
    object-fit:cover;
    border-radius:50%;
    border:2px solid rgba(155,77,255,.7);
    margin-bottom:15px;
    box-shadow:0 0 20px rgba(155,77,255,.35);
}

.member-info{
    display:block;
    color:#a855f7;
    font-weight:800;
    margin-top:8px;
}

.member-actions{
    position:absolute;
    top:12px;
    left:12px;
    display:flex;
    gap:8px;
}

.member-actions button{
    width:36px;
    height:36px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    color:white;
    background:#9b4dff;
    transition:.3s;
}

.member-actions button:hover{
    transform:scale(1.08);
    box-shadow:0 0 15px rgba(155,77,255,.6);
}

.member-actions button:last-child{
    background:#dc2626;
}

@media(max-width:768px){
    .members-admin form{
        grid-template-columns:1fr;
    }

    .members-admin input[type="file"],
    .members-admin-buttons{
        grid-column:span 1;
    }
}

/* DRAG AND DROP */
.member-card.dragging{
    opacity:.45;
    transform:scale(.97);
}

.member-card[draggable="true"]{
    cursor:grab;
}

.member-card[draggable="true"]:active{
    cursor:grabbing;
}

/* MEMBER MODAL */
.member-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.88);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    padding:25px;
}

.member-modal.active{
    display:flex;
}

.member-modal-card{
    width:min(420px, 95%);
    background:linear-gradient(180deg, rgba(17,17,28,.98), rgba(6,6,10,.98));
    border:1px solid rgba(155,77,255,.6);
    border-radius:24px;
    padding:35px 25px;
    text-align:center;
    position:relative;
    box-shadow:0 0 45px rgba(155,77,255,.35);
    animation:memberPop .22s ease;
}

@keyframes memberPop{
    from{
        opacity:0;
        transform:translateY(25px) scale(.92);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.member-modal-close{
    position:absolute;
    top:12px;
    left:14px;
    width:34px;
    height:34px;
    border:none;
    border-radius:50%;
    background:#dc2626;
    color:#fff;
    font-size:22px;
    cursor:pointer;
}

.member-modal-card img{
    width:170px;
    height:170px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid rgba(155,77,255,.9);
    box-shadow:0 0 35px rgba(155,77,255,.55);
    margin-bottom:22px;
}

.member-modal-card h2{
    color:#fff;
    font-size:28px;
    margin-bottom:8px;
    text-shadow:0 0 18px rgba(155,77,255,.8);
}

.member-modal-card h3{
    color:#c084fc;
    margin-bottom:12px;
}

.member-modal-card p{
    color:#fff;
    font-weight:800;
    font-size:16px;
}

.member-card{
    cursor:pointer;
}

/* GALLERY ITEM DRAGGING */
.gallery-item.dragging{
    opacity:.45;
    transform:scale(.95);
}

.gallery-item[draggable="true"]{
    cursor:grab;
}

.gallery-item[draggable="true"]:active{
    cursor:grabbing;
}

/* ABOUT SECTION */
.about-modern{
    width:85%;
    margin:50px auto;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:25px;
    align-items:stretch;
}

.about-main-card,
.about-value-card,
.about-story,
.about-stats{
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:20px;
    box-shadow:0 0 25px rgba(155,77,255,.14);
}

.about-main-card{
    padding:40px;
}

.about-label{
    color:#a855f7;
    font-weight:900;
    letter-spacing:2px;
    font-size:13px;
}

.about-main-card h2{
    font-size:48px;
    margin:12px 0;
    text-shadow:0 0 22px rgba(155,77,255,.65);
}

.about-main-card p,
.about-story p,
.about-value-card p{
    color:#bdbdbd;
    line-height:1.8;
    font-size:15px;
}

.about-buttons{
    display:flex;
    gap:14px;
    margin-top:25px;
    flex-wrap:wrap;
}

.about-buttons a{
    padding:13px 24px;
    border-radius:10px;
    background:#9b4dff;
    color:white;
    text-decoration:none;
    font-weight:900;
    transition:.3s;
}

.about-buttons a:hover{
    transform:translateY(-3px);
    box-shadow:0 0 20px rgba(155,77,255,.65);
}

.about-values{
    display:grid;
    gap:18px;
}

.about-value-card{
    padding:25px;
}

.about-value-card i{
    font-size:28px;
    color:#a855f7;
    margin-bottom:12px;
}

.about-value-card h3{
    font-size:22px;
    margin-bottom:8px;
}

.about-story{
    width:85%;
    margin:30px auto;
    padding:35px;
    text-align:center;
}

.about-story h2{
    font-size:34px;
    margin-bottom:14px;
}

.about-stats{
    width:85%;
    margin:35px auto 50px;
    padding:25px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    text-align:center;
}

.about-stats h3{
    font-size:38px;
    color:#fff;
    text-shadow:0 0 18px rgba(155,77,255,.8);
}

.about-stats p{
    color:#a855f7;
    font-weight:900;
    margin-top:6px;
}

@media(max-width:900px){
    .about-modern{
        grid-template-columns:1fr;
    }

    .about-stats{
        grid-template-columns:1fr;
        gap:20px;
    }

    .about-main-card h2{
        font-size:36px;
    }
}

/* CONTENT CREATORS */
.content-creators{
    width:85%;
    margin:35px auto;
    text-align:center;
}

.content-creators h2{
    font-size:34px;
    margin-bottom:10px;
}

.creators-desc{
    color:#bdbdbd;
    margin-bottom:28px;
}

.creators-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:22px;
}

.creator-card{
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:20px;
    padding:25px;
    box-shadow:0 0 25px rgba(155,77,255,.14);
    transition:.3s;
}

.creator-card:hover{
    transform:translateY(-5px);
    box-shadow:0 0 28px rgba(155,77,255,.35);
}

.creator-card img{
    width:130px;
    height:130px;
    object-fit:cover;
    border-radius:50%;
    border:2px solid rgba(155,77,255,.75);
    margin-bottom:15px;
}

.creator-card h3{
    font-size:22px;
    margin-bottom:6px;
}

.creator-card p{
    color:#a855f7;
    font-weight:900;
    margin-bottom:14px;
}

.creator-card a{
    display:inline-block;
    padding:10px 22px;
    background:#9b4dff;
    color:white;
    text-decoration:none;
    border-radius:10px;
    font-weight:900;
}

/* CONTENT CREATORS */
.creators-login,
.creators-admin{
    width:85%;
    margin:35px auto;
    padding:25px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    text-align:center;
    box-shadow:0 0 25px rgba(155,77,255,.14);
}

.creators-admin h2{
    margin-bottom:18px;
}

.creators-admin form{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.creators-admin input{
    width:100%;
    padding:13px;
    border-radius:10px;
    border:1px solid rgba(155,77,255,.35);
    background:#08080e;
    color:#fff;
    outline:none;
}

.creators-admin input[type="file"]{
    grid-column:span 2;
}

.creators-admin-buttons{
    grid-column:span 2;
    display:flex;
    justify-content:center;
    gap:12px;
}

.creators-admin button{
    background:#9b4dff;
    color:#fff;
    border:none;
    padding:12px 24px;
    border-radius:10px;
    cursor:pointer;
    font-weight:800;
}

#creatorMessage{
    margin-top:14px;
    color:#d9b8ff;
    font-weight:800;
}

.creator-card{
    position:relative;
}

.creator-actions{
    position:absolute;
    top:12px;
    left:12px;
    display:flex;
    gap:8px;
}

.creator-actions button{
    width:36px;
    height:36px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    color:white;
    background:#9b4dff;
}

.creator-actions button:last-child{
    background:#dc2626;
}

@media(max-width:768px){
    .creators-admin form{
        grid-template-columns:1fr;
    }

    .creators-admin input[type="file"],
    .creators-admin-buttons{
        grid-column:span 1;
    }
}

/* CONTACT BOX */
.contact-box{
    width:85%;
    max-width:750px;
    margin:50px auto;
    padding:30px;
    background:rgba(8,8,14,.82);
    border:1px solid rgba(155,77,255,.35);
    border-radius:18px;
    box-shadow:0 0 25px rgba(155,77,255,.14);
    text-align:center;
}

.contact-box form{
    display:grid;
    gap:15px;
}

.contact-box input,
.contact-box select,
.contact-box textarea{
    width:100%;
    padding:14px;
    border-radius:10px;
    border:1px solid rgba(155,77,255,.35);
    background:#08080e;
    color:#fff;
    outline:none;
}

.contact-box textarea{
    min-height:160px;
    resize:vertical;
}

.contact-box button{
    background:#9b4dff;
    color:white;
    border:none;
    padding:14px;
    border-radius:10px;
    font-weight:900;
    cursor:pointer;
}

#contactMessage{
    margin-top:15px;
    color:#d9b8ff;
    font-weight:800;
}

/* USER CARD */
.nav-user-card{
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #9b4dff;
    padding:7px 12px;
    border-radius:10px;
    color:white;
    font-weight:900;
}

.nav-user-card img{
    width:36px !important;
    height:36px !important;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #9b4dff;
}

.nav-user-card span{
    color:white;
    font-size:13px;
}

.nav-user-card a{
    color:#b784ff;
    text-decoration:none;
    font-size:12px;
}

/* DISCORD ICON */
.discord-icon{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:12px;
}

.discord-icon svg{
    width:55px;
    height:55px;
}

/* LOADER */
#loader{
    position:fixed;
    inset:0;
    background:#020203;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    transition:opacity .9s ease, visibility .9s ease;
}

.loader-bg{
    position:absolute;
    width:420px;
    height:420px;
    background:radial-gradient(circle, rgba(155,77,255,.35), transparent 65%);
    filter:blur(25px);
    animation:loaderSmoke 2.2s infinite alternate;
}

.loader-content{
    position:relative;
    text-align:center;
    animation:loaderIn 1.1s ease forwards;
}

.loader-content img{
    width:170px;
    filter:drop-shadow(0 0 35px rgba(155,77,255,.95));
    animation:logoPulse 1.5s infinite alternate;
}

.loader-content h1{
    margin-top:15px;
    font-size:42px;
    letter-spacing:6px;
    color:white;
    text-shadow:0 0 25px #9b4dff;
}

.loader-content p{
    margin-top:8px;
    color:#b76cff;
    letter-spacing:5px;
    font-size:12px;
    font-weight:800;
}

.loader-line{
    width:220px;
    height:3px;
    margin:25px auto 0;
    background:rgba(255,255,255,.08);
    border-radius:10px;
    overflow:hidden;
}

.loader-line::before{
    content:"";
    display:block;
    width:0%;
    height:100%;
    background:#9b4dff;
    box-shadow:0 0 18px #9b4dff;
    animation:loadingLine 1.8s ease forwards;
}

#loader.hide{
    opacity:0;
    visibility:hidden;
}

@keyframes loaderIn{
    from{opacity:0; transform:translateY(25px) scale(.95);}
    to{opacity:1; transform:translateY(0) scale(1);}
}

@keyframes logoPulse{
    from{transform:scale(1); opacity:.85;}
    to{transform:scale(1.07); opacity:1;}
}

@keyframes loaderSmoke{
    from{transform:scale(.9) rotate(0deg);}
    to{transform:scale(1.2) rotate(12deg);}
}

@keyframes loadingLine{
    from{width:0%;}
    to{width:100%;}
}

/* =========================================================
   FINAL RESPONSIVE OVERRIDES
   تحسين كامل لعرض الصفحة الرئيسية وصناع المحتوى على الهاتف
========================================================= */

@media (min-width: 901px) {
    .creators-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, 220px);
        justify-content: center;
        align-items: stretch;
        gap: 28px;
        width: 100%;
        margin: 0 auto;
    }

    .creator-card {
        width: 220px;
        min-height: 330px;
        padding: 28px 20px;
    }

    .creator-card img {
        width: 150px;
        height: 150px;
    }

    .creator-card h3 {
        font-size: 24px;
    }

    .creator-card p {
        font-size: 17px;
    }

    .creator-card a {
        min-width: 140px;
        padding: 12px 20px;
        font-size: 16px;
    }
}

@media (max-width: 900px) {
    body {
        min-width: 0;
        overflow-x: hidden;
    }

    .navbar {
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 18px 18px 22px;
        gap: 18px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        direction: ltr;
        position: relative;
    }

    .nav-logo {
        width: 120px;
        height: 115px;
        justify-content: center;
        overflow: visible;
    }

    .nav-logo img {
        width: auto;
        height: 105px;
        max-width: 100%;
    }

    nav {
        width: 100%;
        flex: none;
        display: grid;
        grid-template-columns: repeat(3, max-content);
        justify-content: center;
        align-items: center;
        gap: 20px 30px;
        padding: 0 4px;
    }

    nav a {
        font-size: 15px;
        letter-spacing: .5px;
        white-space: nowrap;
    }

    nav a.active::after {
        bottom: -10px;
        height: 3px;
    }

    #userBox {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .nav-join-btn {
        width: min(100%, 345px);
        min-height: 58px;
        padding: 13px 20px;
        border-radius: 14px;
        font-size: 13px;
    }

    .nav-user-card {
        width: min(100%, 345px);
        min-height: 58px;
        justify-content: center;
        padding: 10px 16px;
        border-radius: 14px;
    }

    .nav-user-card img {
        width: 42px !important;
        height: 42px !important;
    }

    .nav-user-card span {
        font-size: 15px;
    }

    .nav-user-card a {
        font-size: 14px;
    }

    .hero {
        width: 100%;
        height: auto;
        min-height: 690px;
        background-position: center top;
        background-size: cover;
    }

    .hero-content {
        left: 50%;
        right: auto;
        bottom: 105px;
        width: 100%;
        padding: 0 25px;
        transform: translateX(-50%);
        text-align: center;
    }

    .apply-btn {
        width: min(100%, 345px);
        padding: 18px 24px;
        border-radius: 16px;
        font-size: 22px;
        text-align: center;
    }

    .stats {
        width: calc(100% - 36px);
        margin: 28px auto 35px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 20px;
        overflow: visible;
        background: rgba(8, 8, 14, .92);
        direction: ltr;
    }

    .stats-logo {
        display: none;
    }

    .stats::before {
        display: none;
    }

    .box {
        min-height: 165px;
        padding: 24px 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 1px solid rgba(155, 77, 255, .16);
    }

    .box:nth-child(odd) {
        border-left: 1px solid rgba(155, 77, 255, .16);
    }

    .box h2 {
        font-size: 34px;
    }

    .box h3 {
        font-size: 15px;
    }

    .box p {
        font-size: 13px;
        line-height: 1.5;
    }

    .box svg {
        width: 48px;
        height: 48px;
    }

    .cards {
        width: calc(100% - 36px);
        margin: 35px auto;
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .card {
        width: 100%;
        height: 250px;
        border-radius: 22px;
    }

    .card-text {
        padding: 24px;
    }

    .card-text h3 {
        font-size: 30px;
    }

    .card-text p {
        font-size: 17px;
    }

    .page-hero {
        min-height: 330px;
    }

    .page-content {
        padding: 24px 20px;
    }

    .page-content h1 {
        font-size: 38px;
    }

    .page-content p {
        font-size: 16px;
    }

    .page-section,
    .about-modern,
    .about-story,
    .about-stats,
    .content-creators,
    .creators-login,
    .creators-admin,
    .gallery-admin,
    .gallery-login,
    .rules-admin,
    .rules-login,
    .members-login,
    .members-admin,
    .contact-box {
        width: calc(100% - 32px);
    }

    .content-creators {
        margin: 38px auto;
    }

    .content-creators h2 {
        font-size: 30px;
    }

    .creators-desc {
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 24px;
    }

    .creators-grid {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: center;
        align-items: stretch;
        gap: 16px;
    }

    .creator-card {
        width: 100%;
        min-width: 0;
        min-height: 305px;
        padding: 22px 12px 20px;
        border-radius: 18px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    .creator-card img {
        width: 125px;
        height: 125px;
        margin-bottom: 14px;
    }

    .creator-card h3 {
        width: 100%;
        font-size: 20px;
        line-height: 1.25;
        margin-bottom: 7px;
        overflow-wrap: anywhere;
    }

    .creator-card p {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .creator-card a {
        min-width: 120px;
        padding: 11px 16px;
        font-size: 15px;
        margin-top: auto;
    }

    .creator-actions {
        top: 9px;
        left: 9px;
        gap: 6px;
    }

    .creator-actions button {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .creators-admin,
    .members-admin,
    .gallery-admin,
    .rules-admin {
        padding: 20px 16px;
    }

    .creators-admin form,
    .members-admin form {
        grid-template-columns: 1fr;
    }

    .creators-admin input[type="file"],
    .creators-admin-buttons,
    .members-admin input[type="file"],
    .members-admin-buttons {
        grid-column: span 1;
    }

    .members-grid,
    .gallery-grid {
        width: calc(100% - 32px);
    }

    .members-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .member-card {
        padding: 25px 12px;
    }

    .member-image {
        width: 100px;
        height: 100px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .rules-box {
        width: calc(100% - 32px);
        padding: 22px 16px;
    }

    .rule-item {
        gap: 12px;
        padding: 16px 0;
    }

    .rule-item span {
        min-width: 44px;
        width: 44px;
        height: 44px;
    }

    .rule-item p {
        font-size: 15px;
    }

    .footer {
        padding: 22px 15px;
        font-size: 13px;
    }
}

@media (max-width: 560px) {
    .navbar {
        padding-left: 14px;
        padding-right: 14px;
    }

    .nav-logo {
        height: 105px;
    }

    .nav-logo img {
        height: 95px;
    }

    nav {
        grid-template-columns: repeat(2, max-content);
        gap: 18px 34px;
    }

    nav a {
        font-size: 14px;
    }

    .hero {
        min-height: 650px;
        background-position: 50% top;
    }

    .hero-content {
        bottom: 85px;
        padding: 0 18px;
    }

    .apply-btn {
        font-size: 20px;
        min-height: 64px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .stats {
        grid-template-columns: 1fr 1fr;
        width: calc(100% - 28px);
    }

    .box {
        min-height: 150px;
        padding: 20px 8px;
    }

    .box h2 {
        font-size: 31px;
    }

    .box h3 {
        font-size: 14px;
    }

    .box p {
        font-size: 12px;
    }

    .cards {
        width: calc(100% - 28px);
    }

    .card {
        height: 220px;
    }

    .card-text h3 {
        font-size: 27px;
    }

    .card-text p {
        font-size: 15px;
    }

    .creators-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .creator-card {
        width: min(100%, 310px);
        min-height: 350px;
        margin: 0 auto;
        padding: 26px 18px 22px;
    }

    .creator-card img {
        width: 160px;
        height: 160px;
    }

    .creator-card h3 {
        font-size: 24px;
    }

    .creator-card p {
        font-size: 18px;
    }

    .creator-card a {
        min-width: 145px;
        padding: 12px 20px;
        font-size: 16px;
    }

    .members-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 620px) and (orientation: landscape) {
    .hero {
        min-height: 520px;
    }

    .hero-content {
        bottom: 55px;
    }

    .navbar {
        padding-top: 12px;
        padding-bottom: 14px;
    }

    .nav-logo {
        height: 80px;
    }

    .nav-logo img {
        height: 74px;
    }
}


@media (max-width: 560px) {

    .navbar {
        padding-top: 10px;
        padding-bottom: 16px;
        gap: 12px;
    }

    .nav-logo {
        height: 90px;
    }

    .nav-logo img {
        height: 82px;
    }

    nav {
        gap: 14px 34px;
    }

    #userBox {
        margin-top: 4px;
    }

    .nav-join-btn,
    .nav-user-card {
        min-height: 54px;
    }

    .hero {
        min-height: 610px;
    }

    .hero-content {
        bottom: 72px;
    }

    body {
        padding-bottom: env(safe-area-inset-bottom);
    }

    .footer {
        padding-bottom: calc(22px + env(safe-area-inset-bottom));
    }
}

/* =========================================================
   MOBILE COLLAPSIBLE NAVIGATION
   زر قائمة الجوال ☰
========================================================= */

.mobile-menu-btn {
    display: none;
    appearance: none;
    border: 0;
    outline: 0;
    font: inherit;
}

@media (max-width: 900px) {
    .navbar {
        position: relative;
    }

    .mobile-menu-btn {
        width: 54px;
        height: 54px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0 auto;
        border: 1px solid rgba(155, 77, 255, .9);
        border-radius: 14px;
        background: rgba(10, 10, 16, .94);
        color: #fff;
        cursor: pointer;
        box-shadow:
            0 0 18px rgba(155, 77, 255, .25),
            inset 0 0 15px rgba(155, 77, 255, .05);
        transition:
            transform .2s ease,
            background .2s ease,
            box-shadow .2s ease,
            border-color .2s ease;
        z-index: 20;
    }

    .mobile-menu-btn:hover,
    .mobile-menu-btn.active {
        background: rgba(124, 58, 237, .22);
        border-color: #b76cff;
        box-shadow:
            0 0 24px rgba(155, 77, 255, .45),
            inset 0 0 18px rgba(155, 77, 255, .08);
    }

    .mobile-menu-btn:active {
        transform: scale(.96);
    }

    .mobile-menu-icon {
        display: block;
        font-size: 29px;
        line-height: 1;
        font-weight: 800;
        transform: translateY(-1px);
    }

    .navbar #mainNav {
        width: min(100%, 345px);
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0 10px;
        margin: 0 auto;
        border: 1px solid transparent;
        border-radius: 18px;
        background: rgba(8, 8, 14, .97);
        box-shadow: none;
        transform: translateY(-8px);
        transition:
            max-height .32s ease,
            opacity .24s ease,
            visibility .24s ease,
            transform .24s ease,
            padding .32s ease,
            border-color .24s ease,
            box-shadow .24s ease;
    }

    .navbar #mainNav.mobile-open {
        max-height: 460px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        padding: 10px;
        border-color: rgba(155, 77, 255, .5);
        box-shadow:
            0 18px 40px rgba(0, 0, 0, .38),
            0 0 26px rgba(155, 77, 255, .16);
        transform: translateY(0);
    }

    .navbar #mainNav a {
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 13px 14px;
        border-bottom: 1px solid rgba(255, 255, 255, .07);
        border-radius: 10px;
        font-size: 15px;
        text-align: center;
        white-space: nowrap;
    }

    .navbar #mainNav a:last-child {
        border-bottom: 0;
    }

    .navbar #mainNav a:hover {
        background: rgba(155, 77, 255, .1);
    }

    .navbar #mainNav a.active {
        color: #d5a6ff;
        background: rgba(155, 77, 255, .13);
        box-shadow: inset 0 0 14px rgba(155, 77, 255, .08);
    }

    .navbar #mainNav a.active::after {
        display: none;
    }
}

@media (max-width: 560px) {
    .mobile-menu-btn {
        width: 52px;
        height: 52px;
    }

    .mobile-menu-icon {
        font-size: 27px;
    }

    .navbar #mainNav,
    .navbar #mainNav.mobile-open {
        width: min(100%, 345px);
    }
}

/* =========================================================
   ABSOLUTE MOBILE CENTERING FIX
   توسيط زر القائمة وزر Discord وزر JOIN بدقة على الهاتف
========================================================= */

@media (max-width: 900px) {
    .navbar {
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
        align-items: center !important;
    }

    .nav-logo,
    .mobile-menu-btn,
    #mainNav,
    #userBox {
        align-self: center !important;
    }

    .mobile-menu-btn {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        inset-inline: auto !important;
        transform: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-inline: auto !important;
    }

    .mobile-menu-btn:active {
        transform: scale(.96) !important;
    }

    #userBox {
        width: 100% !important;
        max-width: none !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-inline: auto !important;
    }

    .nav-join-btn,
    .nav-user-card {
        width: min(100%, 345px) !important;
        max-width: 345px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    .hero-content {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        transform: none !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .apply-btn {
        width: min(100%, 345px) !important;
        max-width: 345px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 560px) {
    .navbar {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .mobile-menu-btn {
        width: 52px !important;
        height: 52px !important;
    }

    #userBox {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .nav-join-btn,
    .nav-user-card {
        width: min(100%, 345px) !important;
        max-width: 345px !important;
    }

    .hero-content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .apply-btn {
        width: min(100%, 345px) !important;
        max-width: 345px !important;
    }
}

/* =========================================================
   FINAL MEMBERS CENTERING FIX
   توسيط بطاقات الأعضاء في جميع الصفوف تلقائيًا
========================================================= */

.members-grid {
    width: min(85%, 1400px) !important;
    margin: 55px auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 20px !important;
}

.member-card {
    width: 250px !important;
    flex: 0 0 250px !important;
    min-height: 250px;
}

@media (max-width: 1200px) {
    .members-grid {
        width: calc(100% - 40px) !important;
    }
}

@media (max-width: 900px) {
    .members-grid {
        width: calc(100% - 32px) !important;
        margin: 35px auto !important;
        gap: 16px !important;
    }

    .member-card {
        width: calc(50% - 8px) !important;
        flex: 0 0 calc(50% - 8px) !important;
    }
}

@media (max-width: 560px) {
    .members-grid {
        width: calc(100% - 28px) !important;
        margin: 30px auto !important;
        gap: 18px !important;
    }

    .member-card {
        width: min(100%, 320px) !important;
        flex: 0 0 min(100%, 320px) !important;
        margin: 0 auto !important;
    }
}
