/* ===================================================
   GANA SYNC
   Join Room Page
=================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --bg:#eef2f7;

    --card:#eef2f7;

    --text:#1f2937;

    --muted:#6b7280;

    --primary:#4f7cff;

    --white:#ffffff;

    --radius:24px;

    --shadow-dark:
        12px 12px 24px rgba(163,177,198,.45);

    --shadow-light:
       -12px -12px 24px rgba(255,255,255,.95);

}

body{

    background:var(--bg);

    font-family:'Poppins',sans-serif;

    color:var(--text);

    min-height:100vh;

    display:flex;

    flex-direction:column;

}

/* ==========================
Topbar
========================== */

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:25px 8%;

}

.logo{

    display:flex;

    align-items:center;

    gap:14px;

    text-decoration:none;

    color:var(--text);

    font-size:28px;

    font-weight:700;

}

.logo i{

    width:58px;

    height:58px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:18px;

    color:#fff;

    background:linear-gradient(
        135deg,
        #4f7cff,
        #6d95ff
    );

}

.home-btn{

    text-decoration:none;

    color:var(--text);

    padding:14px 24px;

    border-radius:16px;

    font-weight:600;

    box-shadow:

        var(--shadow-dark),

        var(--shadow-light);

}

/* ==========================
Main
========================== */

.join-page{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px 20px;

}

.join-card{

    width:460px;

    max-width:100%;

    padding:45px;

    border-radius:32px;

    text-align:center;

    background:var(--bg);

    box-shadow:

        var(--shadow-dark),

        var(--shadow-light);

}

.music-icon{

    width:110px;

    height:110px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:42px;

    background:linear-gradient(
        135deg,
        #4f7cff,
        #6d95ff
    );

}

.join-card h1{

    font-size:36px;

    margin-bottom:15px;

}

.join-card p{

    color:var(--muted);

    margin-bottom:35px;

    line-height:30px;

}

/* ==========================
Input
========================== */

.input-group{

    text-align:left;

    margin-bottom:28px;

}

.input-group label{

    display:block;

    margin-bottom:10px;

    font-size:15px;

    font-weight:600;

    color:var(--text);

}

.input-group input{

    width:100%;

    height:60px;

    border:none;

    outline:none;

    border-radius:18px;

    background:var(--bg);

    box-shadow:
        inset 6px 6px 12px rgba(163,177,198,.30),
        inset -6px -6px 12px rgba(255,255,255,.95);

    text-align:center;

    font-size:24px;

    font-weight:700;

    letter-spacing:5px;

    text-transform:uppercase;

    color:var(--text);

}

.input-group input::placeholder{

    color:#b2bcc8;

    letter-spacing:3px;

}

/* ==========================
Button
========================== */

#joinBtn{

    width:100%;

    height:60px;

    border:none;

    cursor:pointer;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        #4f7cff,
        #6d95ff
    );

    color:#fff;

    font-size:18px;

    font-weight:600;

    transition:.3s;

    box-shadow:
        10px 10px 20px rgba(79,124,255,.30);

}

#joinBtn:hover{

    transform:translateY(-3px);

}

#joinBtn:disabled{

    opacity:.7;

    cursor:not-allowed;

}

/* ==========================
Status
========================== */

#status{

    margin-top:22px;

    min-height:24px;

    font-size:15px;

    font-weight:500;

    color:var(--primary);

}

/* ==========================
Footer
========================== */

footer{

    text-align:center;

    padding:25px;

    color:var(--muted);

    font-size:14px;

}

/* ==========================
Responsive
========================== */

@media(max-width:768px){

    .topbar{

        flex-direction:column;

        gap:20px;

        padding:25px;

    }

    .join-card{

        padding:35px 25px;

    }

    .join-card h1{

        font-size:30px;

    }

    .music-icon{

        width:90px;

        height:90px;

        font-size:34px;

    }

}

@media(max-width:480px){

    .input-group input{

        font-size:20px;

        letter-spacing:3px;

    }

    #joinBtn{

        font-size:16px;

    }

}