/* ================= GLOBAL ================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#121212;
    color:white;
    line-height:1.7;
}

strong{
    color:gold;
}

/* ================= NAVIGATION ================= */

.top-nav{

    position:sticky;

    top:0;

    z-index:2000;

    background:#1b1b1b;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 60px;

    border-bottom:1px solid rgba(255,215,0,.15);

    box-shadow:0 2px 8px rgba(0,0,0,.35);

}

.nav-left{

    display:flex;

    align-items:center;

    gap:30px;

}

.nav-right{

    margin-left:auto;

}

.top-nav a{

    color:white;

    text-decoration:none;

    font-size:16px;

    padding-bottom:6px;

    transition:.25s;

}

.top-nav a:hover{

    color:gold;

    transform:translateY(-2px);

}

.top-nav a.active{

    color:gold;

    font-weight:bold;

    border-bottom:3px solid gold;

}

/* ================= HERO ================= */

.hero{

    height:100vh;

    background-image:url("../images/homepage/background.jpg");

    background-size:cover;

    background-position:top;

    padding:0 0;

}

.logo{
    width:15%;

    max-width:100%;
    
    display:block;

    margin-bottom:30px;
}

.overlay{

    width:100%;
    height:100%;

    background:rgba(0,0,0,.75);

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    text-align:center;

    padding:20px;

}

.overlay h1{

    font-size:70px;
    color:gold;
    margin-bottom:20px;

}

.overlay p{

    max-width:750px;
    font-size:18px;

}

/* ================= BREADCRUMB ================= */

.breadcrumb{

    position:sticky;
    top:0;
    z-index:1000;

    background:#1b1b1b;

    padding:18px 80px;

    box-shadow:0 2px 8px rgba(0,0,0,.4);

}

.breadcrumb a{

    color:gold;
    text-decoration:none;

}

.breadcrumb a:hover{

    text-decoration:underline;

}

.breadcrumb span{

    margin:0 8px;

}

.breadcrumb-arrow{
    font-size: 16px;
    color: #888;
    vertical-align: middle;
    margin: 0 8px;
    font-variation-settings:
        'FILL' 1,
        'wght' 500,
        'GRAD' 0,
        'opsz' 24;
}

/* ================= BUTTON ================= */

.btn{

    margin-top:40px;

    padding:15px 40px;

    background:gold;

    color:black;

    text-decoration:none;

    border-radius:30px;

    font-weight:bold;

    transition:transform .3s;

}

.btn:hover{

    transform:scale(1.05);

}

/* ================= COMMON ================= */

section{

    padding:80px;

}

section h2{

    color:gold;
    margin-bottom:20px;

}

/* ================= OVERVIEW ================= */

.overview p{

    max-width:950px;
    font-size:18px;

}

/* ================= SPELL SELECTOR ================= */

.spell-selector{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.spell-tab{

    background:#202020;

    border:none;

    border-radius:18px;

    color:white;

    cursor:pointer;

    padding:22px;

    transition:.3s;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:12px;

}

.spell-tab:hover{

    transform:translateY(-6px);

    background:#2b2b2b;

}

.spell-tab.active{

    border:2px solid gold;

    color:gold;

}

.spell-tab img{

    width:65px;

}

.spell-tab span{

    font-size:17px;

    font-weight:bold;

}

.spell-page{
    display:none;
    animation:fade .3s ease;
}

.active-page{
    display:block;
}

@keyframes fade{
    from{
        opacity:0;
        transform:translateY(15px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ================= HEADER ================= */

.spell-header{

    width:100%;

    background:#202020;

    border:none;

    color:white;

    cursor:pointer;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:10px;

    padding:30px;

    transition:.3s;

}

.spell-header img{

    width:70px;

    transition:.3s;

}

.spell-header h2{

    margin:0;

    color:gold;

    font-size:28px;

}

.spell-header:hover{

    background:#2a2a2a;

}

.spell-header:hover img{

    transform:scale(1.08);

}

.arrow{

    font-size:20px;

    transition:.35s;


}

/* ================= CONTENT ================= */

.spell-content{

    max-height:0;

    overflow:hidden;

    opacity:0;

    padding:0 40px;

    transition:
        max-height .55s ease,
        opacity .35s ease,
        padding .35s ease;

}

.spell-content{
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding:0 40px;
    transition:
        max-height .5s ease,
        opacity .3s ease,
        padding .3s ease;
}

.spell-icon{
    width:130px;
    display:block;
    margin:auto;
    margin-bottom:20px;
}

.spell-content h2{

    text-align:center;

}

.spell-summary{

    text-align:center;

    color:#d0d0d0;

    max-width:700px;

    margin:20px auto 40px;

}

/* ================= INFO BOXES ================= */

.info-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-bottom:40px;

}

.info-box{

    background:#2b2b2b;

    border-radius:15px;

    text-align:center;

    padding:25px;

}

.info-box h3{

    color:gold;
    margin-bottom:10px;

}

/* ================= DESCRIPTION ================= */

.spell-content h3{

    color:gold;
    margin-bottom:15px;

}

.spell-content p:last-child{

    color:#d5d5d5;

}

/* ================= RETRI VARIANTS ================= */

.variant-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:25px;

    margin-top:30px;

}

.variant-card{

    background:#2b2b2b;

    border-radius:18px;

    padding:25px;

    text-align:center;

    transition:.3s;

}

.variant-card:hover{

    transform:translateY(-6px);

}

.variant-card img{

    width:80px;

    margin-bottom:15px;

}

.variant-card h4{

    color:gold;

    margin-bottom:15px;

}

.variant-card p{

    color:#d5d5d5;

    font-size:14px;

}

/* ================= RESPONSIVE ================= */

@media(max-width:900px){

.top-nav{

    flex-direction:column;

    gap:15px;

    padding:18px;

}

.nav-left{

    flex-wrap:wrap;

    justify-content:center;

    gap:18px;

}

section{

    padding:50px 25px;

}

.overlay h1{

    font-size:50px;

}

.breadcrumb{

    padding:15px 25px;

}

.spell-info{

    grid-template-columns:1fr;

}

.header-left h2{

    font-size:22px;

}

}

@media(max-width:600px){

.header-left{

    gap:12px;

}

.header-left img{

    width:45px;

}

.header-left h2{

    font-size:20px;

}

.spell-content{

    padding:25px;

}

}