/* ======================================================
   GAME TRAINING CLUB
   LAYOUT SYSTEM
   Structure globale du site
   ====================================================== */


/* ======================================================
   LAYOUT GLOBAL
   ====================================================== */

main{
padding-top:var(--header-height);
}

#main-content{
scroll-margin-top:calc(var(--header-height) + 20px);
}


/* ======================================================
   CONTAINER SYSTEM
   ====================================================== */

.container{
width:min(var(--container-max),calc(100% - 40px));
margin-inline:auto;
}

.container-wide{
width:min(var(--container-wide),calc(100% - 40px));
margin-inline:auto;
}

.container-content{
width:min(var(--container-content),calc(100% - 40px));
margin-inline:auto;
}


/* ======================================================
   SECTION SYSTEM
   ====================================================== */

.section{
padding-block:clamp(60px,8vw,100px);
}


/* ======================================================
   GRID SYSTEM
   ====================================================== */

.grid{
display:grid;
gap:clamp(20px,2.5vw,30px);
}

.grid-2{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.grid-4{
grid-template-columns:repeat(4,minmax(0,1fr));
}

.grid-auto{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
gap:clamp(20px,2.5vw,30px);
}


/* ======================================================
   SECTION HEADER
   ====================================================== */

.section-header{
text-align:center;
margin-bottom:clamp(40px,6vw,80px);
}

.section-header h2{
font-family:var(--font-title);
font-size:var(--text-xl);
letter-spacing:2px;
text-transform:uppercase;
display:inline-block;
padding-bottom:15px;
position:relative;
}

.section-header h2::after{
content:"";
position:absolute;
bottom:0;
left:50%;
transform:translateX(-50%);
width:60px;
height:2px;
background:var(--color-gold);
}

.section-header p{
max-width:760px;
margin:16px auto 0;
color:var(--color-silver);
font-size:var(--text-base);
}


/* ======================================================
   HEADER SYSTEM
   ====================================================== */

.site-header{

position:fixed;

inset:0 0 auto 0;

width:100%;

min-height:var(--header-height);

display:flex;

align-items:center;

justify-content:space-between;

gap:40px;

padding:
max(16px,env(safe-area-inset-top))
5%
16px;

z-index:var(--z-header);

background:rgba(10,10,10,.85);

border-bottom:1px solid rgba(212,175,55,.15);

backdrop-filter:blur(15px);
-webkit-backdrop-filter:blur(15px);

}


/* ======================================================
   BRAND
   ====================================================== */

.brand{
display:flex;
flex-direction:column;
justify-content:center;
line-height:1;
color:var(--color-white);
flex:0 0 auto;
}

.brand-main{
font-family:var(--font-title);
font-size:1.45rem;
letter-spacing:3px;
font-weight:700;
}

.brand-sub{
font-size:.7rem;
letter-spacing:2.5px;
text-transform:uppercase;
color:var(--color-gold);
margin-top:4px;
}


/* ======================================================
   NAVIGATION
   ====================================================== */

.site-nav{
display:flex;
align-items:center;
gap:35px;
margin-left:auto;
}

.site-nav a{
font-size:.75rem;
letter-spacing:1.5px;
text-transform:uppercase;
color:var(--color-white);
transition:color var(--transition-fast);
}

.site-nav a:hover{
color:var(--color-gold);
}


/* ======================================================
   MOBILE MENU TOGGLE
   ====================================================== */

.nav-toggle{
display:none;
background:none;
border:none;
cursor:pointer;
color:var(--color-white);
width:48px;
height:48px;
border-radius:999px;
}

.nav-toggle:hover{
background:rgba(255,255,255,.06);
}


/* ======================================================
   HERO SYSTEM
   ====================================================== */

.hero-minimal{

position:relative;

min-height:calc(100vh - var(--header-height));

display:flex;

align-items:center;

justify-content:center;

text-align:center;

overflow:clip;

}

.hero-video{

position:absolute;

inset:0;

width:100%;
height:100%;

object-fit:cover;

pointer-events:none;

}

.hero-overlay{

position:absolute;

inset:0;

background:
radial-gradient(
circle at center,
rgba(0,0,0,.2) 0%,
rgba(0,0,0,.55) 60%,
rgba(0,0,0,.9) 100%
);

}

.hero-content{

position:relative;

max-width:900px;

padding:20px;

margin-top:clamp(40px,5vh,80px);

}

.hero-title{

font-size:clamp(2rem,4vw,3.2rem);

line-height:1.2;

font-weight:700;

margin-bottom:20px;

}

.hero-description{

font-size:clamp(1rem,1.3vw,1.2rem);

line-height:1.6;

opacity:.9;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:16px;

justify-content:center;

flex-wrap:wrap;

}