/*==================================================
VOLTRAFITNESS
Premium Gym Website
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
background:#090909;
color:#fff;
overflow-x:hidden;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

img{
max-width:100%;
display:block;
}

.container{
width:90%;
max-width:1300px;
margin:auto;
}

/*================ HEADER =================*/

header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:999;

background:rgba(0,0,0,.35);

backdrop-filter:blur(18px);

padding:18px 0;

transition:.4s;

}

header .container{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo img{

height:60px;

}

nav ul{

display:flex;
gap:35px;

}

nav ul li a{

color:#fff;
font-weight:500;
transition:.3s;

}

nav ul li a:hover,
nav ul li a.active{

color:#FFD400;

}

.header-buttons{

display:flex;
gap:15px;

}

.login-btn{

padding:14px 28px;
border:2px solid #FFD400;
border-radius:40px;
color:#FFD400;
transition:.3s;

}

.login-btn:hover{

background:#FFD400;
color:#000;

}

.join-btn{

padding:15px 32px;
background:#FFD400;
color:#000;
border-radius:40px;
font-weight:700;
transition:.4s;

}

.join-btn:hover{

transform:translateY(-4px);
box-shadow:0 10px 25px rgba(255,212,0,.35);

}

.menu-btn{

display:none;
font-size:28px;
cursor:pointer;

}

/*================ HERO =================*/

.hero{

position:relative;

min-height:100vh;

padding:160px 0 80px;

display:flex;

align-items:center;

background:
linear-gradient(rgba(0,0,0,.65),
rgba(0,0,0,.65)),
url("../../images/hero.jpg");

background-size:cover;

background-position:center center;

background-repeat:no-repeat;

overflow:hidden;

}

.hero-overlay{

position:absolute;
inset:0;

background:
radial-gradient(circle at top right,
rgba(255,212,0,.15),
transparent 45%);

}

.hero-container{

display:grid;

grid-template-columns:1fr 420px;

gap:80px;

align-items:center;

position:relative;

z-index:5;

}

.tag{

display:inline-block;

padding:10px 18px;

border:1px solid rgba(255,212,0,.4);

border-radius:50px;

background:rgba(255,212,0,.08);

color:#FFD400;

margin-bottom:25px;

}

.hero h1{

font-size:78px;

font-weight:800;

line-height:1.05;

margin:20px 0 30px;

letter-spacing:-2px;

}

.hero h1 span{

color:#FFD400;

}

.hero p{

font-size:20px;

line-height:1.9;

color:#d6d6d6;

max-width:620px;

margin-bottom:40px;

}

.hero-buttons{

display:flex;
gap:20px;
margin-top:40px;

}

.primary-btn{

background:#FFD400;
color:#000;
padding:18px 42px;
border-radius:50px;
font-weight:700;
transition:.4s;

}

.primary-btn:hover{

transform:translateY(-5px);

}

.secondary-btn{

border:2px solid #FFD400;
padding:18px 42px;
border-radius:50px;
color:#FFD400;
transition:.4s;

}

.secondary-btn:hover{

background:#FFD400;
color:#000;

}

.hero-features{

display:flex;
gap:30px;
margin-top:50px;
flex-wrap:wrap;

}

.hero-features div{

display:flex;
align-items:center;
gap:12px;
font-size:15px;

}

.hero-features i{

color:#FFD400;
font-size:22px;

}

/*================ FLOATING CARDS =================*/

.hero-right{

display:flex;
flex-direction:column;
gap:25px;

}

.floating-card{

background:rgba(15,15,15,.92);

border:1px solid rgba(255,212,0,.18);

border-radius:18px;

padding:35px;

transition:.4s;

}

.floating-card:hover{

transform:translateY(-10px);

border-color:#FFD400;

box-shadow:0 20px 50px rgba(0,0,0,.45);

}

.floating-card h3{

font-size:34px;

margin-bottom:12px;

color:#FFD400;

}

.floating-card p{

font-size:17px;

color:#ddd;

line-height:1.7;

}

/*================ WHY =================*/

.why{

padding:120px 0;
background:#111;

}

.section-title{

text-align:center;
margin-bottom:70px;

}

.section-title h2{

font-size:48px;
margin-bottom:15px;

}

.section-title p{

color:#bbb;

}

.why-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.why-card{

background:#181818;

padding:45px 30px;

border-radius:20px;

text-align:center;

transition:.4s;

}

.why-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.4);

}

.why-card i{

font-size:55px;

color:#FFD400;

margin-bottom:25px;

}

.why-card h3{

margin-bottom:15px;

font-size:24px;

}

.why-card p{

color:#bbb;
line-height:1.8;

}

/*================ RESPONSIVE =================*/

@media(max-width:991px){

nav,
.header-buttons{

display:none;

}

.menu-btn{

display:block;

}

.hero-container{

grid-template-columns:1fr;

text-align:center;

}

.hero p{

margin:auto;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

justify-content:center;

}

.why-grid{

grid-template-columns:repeat(2,1fr);

}

.hero h1{

font-size:55px;

}

}

@media(max-width:600px){

.hero h1{

font-size:38px;

}

.hero-buttons{

flex-direction:column;

}

.why-grid{

grid-template-columns:1fr;

}

.logo img{

height:48px;

}


/*=========================
MOBILE MENU
=========================*/

@media(max-width:991px){

nav{

position:absolute;

top:100%;

left:0;

width:100%;

background:#111;

display:none;

padding:25px;

border-top:1px solid rgba(255,212,0,.15);

}

nav.active{

display:block;

animation:fadeDown .35s ease;

}

nav ul{

flex-direction:column;

gap:20px;

}

nav ul li{

width:100%;

}

nav ul li a{

display:block;

padding:12px 0;

font-size:18px;

}

.mobile-join{

background:#FFD400;

color:#000;

padding:15px;

text-align:center;

border-radius:40px;

font-weight:700;

margin-top:10px;

}

}

@keyframes fadeDown{

from{

opacity:0;

transform:translateY(-20px);

}

to{

opacity:1;

transform:translateY(0);

}

}
