/* ==========================================
   CHARACTER PAGE
========================================== */

.character-layout{

    display:grid;
    grid-template-columns:320px 1fr 340px;
    gap:40px;

    max-width:1400px;
    margin:50px auto;

    padding:0 20px;
}

/* ==========================================
   LEFT COLUMN
========================================== */

.character-left{

    position:sticky;
    top:100px;

    height:fit-content;
}

.character-cover{

    width:100%;
    height:450px;

    border-radius:20px;

    overflow:hidden;

    background:linear-gradient(
        135deg,
        #7C5CFF,
        #1A1F2D
    );

    border:1px solid rgba(255,255,255,0.08);
}

.character-cover img{

    width:100%;
    height:100%;
    object-fit:cover;
}

/* ==========================================
   CENTER CONTENT
========================================== */

.character-content{

    min-width:0;
}

.character-title{

    font-size:56px;
    font-weight:800;

    line-height:1.1;

    margin-bottom:20px;

    color:#ffffff;
}

.character-description{

    color:#c7c9d3;

    line-height:1.9;

    font-size:17px;
}

.character-description p{

    margin-bottom:25px;
}

.character-description h2{

    margin-top:40px;
    margin-bottom:20px;

    color:#ffffff;
}

/* ==========================================
   INFOBOX
========================================== */

.character-infobox{

    background:#121827;

    border:1px solid rgba(255,255,255,0.08);

    border-radius:20px;

    overflow:hidden;

    height:fit-content;
}

.character-infobox-header{

    padding:25px;

    font-size:30px;

    font-weight:700;

    color:#ffffff;

    border-bottom:1px solid rgba(255,255,255,0.08);
}

.character-row{

    display:flex;

    justify-content:space-between;

    gap:15px;

    padding:18px 25px;

    border-bottom:1px solid rgba(255,255,255,0.06);
}

.character-label{

    color:#9ca3af;

    font-weight:500;
}

.character-value{

    color:#ffffff;

    font-weight:600;

    text-align:right;
}

/* ==========================================
   CHARACTER STATS SECTION
========================================== */

.character-section{

    margin-top:50px;
}

.character-section h2{

    font-size:30px;

    margin-bottom:20px;

    color:#ffffff;
}

.character-card{

    background:#121827;

    border:1px solid rgba(255,255,255,0.08);

    border-radius:16px;

    padding:25px;
}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:1200px){

    .character-layout{

        grid-template-columns:1fr;
    }

    .character-left{

        position:relative;
        top:auto;
    }

    .character-cover{

        max-width:350px;
        margin:auto;
    }

    .character-title{

        font-size:40px;
    }

}

@media(max-width:768px){

    .character-title{

        font-size:32px;
    }

    .character-row{

        flex-direction:column;
        align-items:flex-start;
    }

    .character-value{

        text-align:left;
    }

}
