/* Large-scale fitness club CSS */
:root{
  --bg:#071025;
  --card:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  --text:#e8f4ff;
  --muted:#9fb0c8;
  --accent1:#ff6b6b;
  --accent2:#6be3ff;
  --container:1200px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: 'Montserrat', 'Roboto', sans-serif;
  background: linear-gradient(180deg,#071025 0%, #0b1220 60%);
  color:var(--text);
}

.container{max-width:var(--container); margin:0 auto; padding:28px;}
.header{padding:18px 0}
.header-grid{display:flex; align-items:center; justify-content:space-between;}
.logo h1{margin:0; font-size:28px}
.logo .accent{color:var(--accent1)}
.nav a{color:var(--text); text-decoration:none; margin-left:18px; font-weight:700}

/* Buttons */
.btn{display:inline-block; padding:12px 18px; border-radius:10px; text-decoration:none; font-weight:800;}
.btn-primary{background:linear-gradient(90deg,var(--accent1),var(--accent2)); color:#08111a}
.btn-ghost{background:transparent; border:1px solid rgba(255,255,255,0.06); color:var(--text)}

/* Hero */
.hero{display:grid; grid-template-columns: 1fr 520px; gap:30px; align-items:center; padding:60px 0}
.hero h2{font-size:48px; margin:0}
.lead{color:var(--muted); font-size:18px}

/* Sections */
.section{margin-top:30px}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.card{background:var(--card); padding:20px; border-radius:12px; box-shadow:0 18px 50px rgba(0,0,0,0.6)}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns: repeat(4,1fr); gap:12px}
.gallery-grid img{width:100%; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,0.6);}

/* Reviews */
.reviews-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
.review-card{display:flex; gap:16px; padding:16px; border-radius:10px; background:rgba(255,255,255,0.02)}

/* Forms */
.form input, .form textarea, .form select{width:100%; padding:10px; border-radius:8px; border:1px solid rgba(255,255,255,0.04); background:transparent; color:var(--text)}
.form label{display:block; margin-bottom:8px; font-weight:700; color:var(--muted)}

/* Trainers */
.trainers-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.trainer{background:rgba(255,255,255,0.02); padding:14px; border-radius:12px; text-align:center}

/* Memberships table */
.table{width:100%; border-collapse:collapse}
.table th, .table td{padding:12px; text-align:left; border-bottom:1px solid rgba(255,255,255,0.04)}

/* Footer */
.footer{margin-top:40px; padding:40px 0; text-align:center; color:var(--muted)}

/* Responsive */
@media (max-width:1000px){
  .hero{grid-template-columns:1fr; text-align:center}
  .cards{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .trainers-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr}
}
