:root {
  --primary: #00C853;
  --primary-dark: #00A844;
  --primary-light: #69F0AE;
  --secondary: #0D1117;
  --accent: #FF6D00;
  --accent-light: #FF9E40;
  --bg: #FFFFFF;
  --bg-alt: #F5F7FA;
  --text: #1A1A2E;
  --text-light: #6B7280;
  --text-muted: #9CA3AF;
  --glass-bg: rgba(255,255,255,0.75);
  --glass-border: rgba(255,255,255,0.3);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.08);
  --card-bg: #FFFFFF;
  --shadow: 0 4px 24px rgba(0,0,0,0.06);
  --radius: 16px;
  --radius-sm: 10px;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --navbar-bg: rgba(255,255,255,0.85);
  --modal-overlay: rgba(0,0,0,0.6);
}

[data-theme="dark"] {
  --bg: #0D1117;
  --bg-alt: #161B22;
  --text: #F0F6FC;
  --text-light: #8B949E;
  --text-muted: #6B7280;
  --card-bg: #161B22;
  --glass-bg: rgba(22,27,34,0.75);
  --glass-border: rgba(48,54,61,0.5);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.3);
  --shadow: 0 4px 24px rgba(0,0,0,0.2);
  --navbar-bg: rgba(13,17,23,0.9);
  --modal-overlay: rgba(0,0,0,0.8);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Inter',-apple-system,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  transition:background var(--transition),color var(--transition);
}
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
.section { padding:100px 0; }
.section-header { text-align:center; margin-bottom:60px; }
.section-header h2 { font-size:2.5rem; font-weight:800; margin:12px 0; }
.section-header p { color:var(--text-light); font-size:1.1rem; max-width:600px; margin:0 auto; }
.badge {
  display:inline-block; padding:6px 20px; border-radius:50px;
  background:var(--primary); color:#fff; font-size:0.85rem; font-weight:600;
  text-transform:uppercase; letter-spacing:1px;
}
.text-center { text-align:center; }
.glass {
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow);
  border-radius:var(--radius);
}

/* Buttons */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 32px; border-radius:50px; font-weight:600;
  font-size:1rem; cursor:pointer; border:none; transition:var(--transition);
  font-family:inherit;
}
.btn-primary {
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff; box-shadow:0 4px 20px rgba(0,200,83,0.35);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,200,83,0.45); }
.btn-outline {
  background:transparent; color:var(--primary);
  border:2px solid var(--primary);
}
.btn-outline:hover { background:var(--primary); color:#fff; }
.pulse { animation:pulse 2s infinite; }
@keyframes pulse {
  0%,100% { box-shadow:0 4px 20px rgba(0,200,83,0.35); }
  50% { box-shadow:0 4px 40px rgba(0,200,83,0.55); }
}

/* Navbar */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:var(--navbar-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--glass-border);
  transition:var(--transition);
}
.navbar .container { display:flex; align-items:center; justify-content:space-between; height:70px; }
.logo { font-size:1.5rem; font-weight:800; color:var(--primary); display:flex; align-items:center; gap:10px; }
.nav-links { display:flex; gap:24px; }
.nav-links a {
  font-size:0.9rem; font-weight:500; color:var(--text-light);
  transition:var(--transition); position:relative;
}
.nav-links a:hover, .nav-links a.active { color:var(--primary); }
.nav-links a.active::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:2px; background:var(--primary); border-radius:2px;
}
.nav-controls { display:flex; align-items:center; gap:8px; }
.icon-btn {
  width:38px; height:38px; border-radius:50%; border:none;
  background:transparent; color:var(--text); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:0.9rem; transition:var(--transition);
}
.icon-btn:hover { background:var(--glass-bg); color:var(--primary); }
.hamburger { display:none; width:38px; height:38px; border-radius:50%; border:none;
  background:transparent; color:var(--text); cursor:pointer; font-size:1.2rem; }

/* Hero */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; padding-top:70px; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background: linear-gradient(135deg, var(--secondary) 0%, #1a2332 50%, var(--secondary) 100%);
}
.hero-bg::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(circle at 20% 50%, rgba(0,200,83,0.08) 0%, transparent 50%),
              radial-gradient(circle at 80% 20%, rgba(255,109,0,0.05) 0%, transparent 50%);
}
.hero .container { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.hero-text h1 { font-size:3.2rem; font-weight:900; line-height:1.15; color:#fff; margin:16px 0; }
.hero-text p { font-size:1.15rem; color:rgba(255,255,255,0.7); max-width:540px; margin-bottom:32px; }
.hero-buttons { display:flex; gap:16px; flex-wrap:wrap; }
.hero-stats { display:flex; gap:40px; margin-top:50px; }
.hero-stats div { text-align:center; }
.stat-num { font-size:2rem; font-weight:800; color:var(--primary); display:block; }
.stat-label { font-size:0.85rem; color:rgba(255,255,255,0.6); }
.hero-image { display:flex; align-items:center; justify-content:center; }
.hero-img-wrapper {
  width:400px; height:400px; border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:flex; align-items:center; justify-content:center;
  position:relative; animation:float 6s ease-in-out infinite;
}
.hero-img-glass {
  position:absolute; inset:10px; border-radius:50%;
  background:rgba(255,255,255,0.1); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.2);
}
.hero-icon { font-size:8rem; color:#fff; position:relative; z-index:1; opacity:0.9; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }

/* Calculators */
.calculators-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.calc-card {
  padding:30px; text-align:center; cursor:pointer;
  transition:var(--transition); border-radius:var(--radius);
}
.calc-card:hover { transform:translateY(-5px); box-shadow:0 12px 40px rgba(0,200,83,0.15); }
.calc-card i { font-size:2.5rem; color:var(--primary); margin-bottom:16px; }
.calc-card h3 { font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.calc-card p { font-size:0.85rem; color:var(--text-light); }
.calc-panel {
  margin-top:30px; padding:30px; display:grid;
  grid-template-columns:1fr 1fr; gap:24px; position:relative;
}
.calc-panel h3 { grid-column:1/-1; font-size:1.3rem; }
.calc-panel-close {
  position:absolute; top:15px; right:20px; font-size:1.5rem;
  cursor:pointer; color:var(--text-light); transition:var(--transition);
}
.calc-panel-close:hover { color:var(--accent); }
#calcContent { display:flex; flex-direction:column; gap:12px; }
#calcContent input, #calcContent select {
  padding:12px 16px; border-radius:var(--radius-sm); border:1px solid var(--glass-border);
  background:var(--bg); color:var(--text); font-size:1rem; font-family:inherit;
  transition:var(--transition);
}
#calcContent input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,200,83,0.15); }
#calcContent label { font-weight:600; font-size:0.9rem; }
.calc-result { padding:20px; background:var(--primary); color:#fff; border-radius:var(--radius-sm); }
.calc-result h4 { font-size:1.2rem; margin-bottom:8px; }
.calc-result p { margin:4px 0; font-size:0.95rem; }

/* Workouts */
.workouts-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px; }
.workout-card {
  border-radius:var(--radius); overflow:hidden;
  background:var(--card-bg); box-shadow:var(--shadow);
  transition:var(--transition); cursor:pointer;
}
.workout-card:hover { transform:translateY(-5px); box-shadow:0 12px 40px rgba(0,200,83,0.15); }
.workout-card-image {
  height:160px; background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  display:flex; align-items:center; justify-content:center; font-size:3rem; color:rgba(255,255,255,0.8);
}
.workout-card-body { padding:16px; }
.workout-card-body h3 { font-size:1rem; font-weight:700; margin-bottom:8px; }
.workout-card-body .meta { display:flex; flex-wrap:wrap; gap:8px; }
.workout-card-body .meta span {
  font-size:0.78rem; padding:4px 10px; border-radius:20px;
  background:var(--glass-bg); color:var(--text-light);
}

/* Exercises */
.exercise-controls { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.search-input {
  flex:1; min-width:200px; padding:12px 20px; border-radius:50px;
  border:1px solid var(--glass-border); background:var(--glass-bg);
  color:var(--text); font-size:1rem; font-family:inherit;
  transition:var(--transition);
}
.search-input:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,200,83,0.15); }
#exerciseFilter, #plannerGoal, #mealPlanGoal {
  padding:12px 20px; border-radius:50px; border:1px solid var(--glass-border);
  background:var(--glass-bg); color:var(--text); font-size:0.95rem;
  cursor:pointer; font-family:inherit; min-width:160px;
}
.exercises-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.exercise-card {
  border-radius:var(--radius-sm); overflow:hidden;
  background:var(--card-bg); box-shadow:var(--shadow);
  cursor:pointer; transition:var(--transition);
}
.exercise-card:hover { transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,200,83,0.12); }
.exercise-card-image {
  height:120px; background:linear-gradient(135deg,var(--primary-light),var(--primary));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:2rem;
}
.exercise-card-body { padding:12px; }
.exercise-card-body h4 { font-size:0.9rem; font-weight:600; }
.exercise-card-body p { font-size:0.78rem; color:var(--text-light); }

/* Modal */
.modal {
  display:none; position:fixed; inset:0; z-index:2000;
  background:var(--modal-overlay); align-items:center; justify-content:center;
  padding:20px;
}
.modal.active { display:flex; }
.modal-content {
  max-width:500px; width:100%; padding:30px; position:relative;
  max-height:90vh; overflow-y:auto;
}
.modal-lg { max-width:700px; }
.modal-close {
  position:absolute; top:15px; right:20px; font-size:1.5rem;
  cursor:pointer; color:var(--text-light); transition:var(--transition);
}
.modal-close:hover { color:var(--accent); }
.modal-tabs { display:flex; gap:0; margin-bottom:20px; border-radius:var(--radius-sm); overflow:hidden; }
.modal-tab {
  flex:1; padding:10px; border:none; background:var(--bg-alt);
  color:var(--text); cursor:pointer; font-weight:600; font-size:0.9rem;
  transition:var(--transition);
}
.modal-tab.active { background:var(--primary); color:#fff; }
.auth-form { display:none; flex-direction:column; gap:12px; }
.auth-form.active { display:flex; }
.auth-form h3 { font-size:1.3rem; margin-bottom:8px; }
.auth-form input {
  padding:12px 16px; border-radius:var(--radius-sm); border:1px solid var(--glass-border);
  background:var(--bg); color:var(--text); font-size:1rem;
}
.auth-form input:focus { outline:none; border-color:var(--primary); }

/* Planner */
.planner-controls { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.planner-layout { display:grid; grid-template-columns:280px 1fr; gap:20px; }
.planner-exercises { padding:16px; max-height:500px; overflow-y:auto; }
.planner-exercises h4 { margin-bottom:12px; }
.planner-ex-list { display:flex; flex-direction:column; gap:8px; }
.draggable-exercise {
  padding:10px 14px; border-radius:var(--radius-sm);
  background:var(--bg-alt); cursor:grab; font-size:0.85rem;
  border:1px solid var(--glass-border); transition:var(--transition);
}
.draggable-exercise:hover { border-color:var(--primary); }
.draggable-exercise:active { cursor:grabbing; }
.draggable-exercise.dragging { opacity:0.5; }
.planner-week { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; padding:16px; }
.day-column { min-height:200px; }
.day-column h4 { text-align:center; font-size:0.85rem; margin-bottom:8px; color:var(--primary); }
.day-exercises { min-height:150px; border:2px dashed var(--glass-border); border-radius:var(--radius-sm); padding:8px; display:flex; flex-direction:column; gap:4px; }
.day-exercises.drag-over { border-color:var(--primary); background:rgba(0,200,83,0.05); }
.day-exercise-item {
  padding:6px 10px; border-radius:6px; background:var(--glass-bg);
  font-size:0.75rem; border:1px solid var(--glass-border);
}

/* Nutrition */
.nutrition-controls { display:flex; flex-direction:column; gap:16px; margin-bottom:24px; }
.nutrition-categories, .recipe-categories, .blog-categories {
  display:flex; gap:8px; flex-wrap:wrap;
}
.category-chip {
  padding:8px 18px; border-radius:50px; cursor:pointer;
  background:var(--glass-bg); border:1px solid var(--glass-border);
  font-size:0.85rem; font-weight:500; transition:var(--transition);
  color:var(--text);
}
.category-chip.active, .category-chip:hover { background:var(--primary); color:#fff; border-color:var(--primary); }
.foods-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.food-card, .recipe-card {
  border-radius:var(--radius-sm); background:var(--card-bg);
  box-shadow:var(--shadow); cursor:pointer; transition:var(--transition);
  padding:16px; text-align:center;
}
.food-card:hover, .recipe-card:hover { transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,200,83,0.12); }
.food-card i, .recipe-card i { font-size:2rem; color:var(--primary); margin-bottom:8px; }
.food-card h4 { font-size:0.9rem; font-weight:600; }
.food-card p { font-size:0.8rem; color:var(--text-light); }

/* Recipes */
.recipes-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; margin-top:20px; }
.recipe-card { text-align:left; padding:0; overflow:hidden; }
.recipe-card-image {
  height:140px; background:linear-gradient(135deg,var(--accent),var(--accent-light));
  display:flex; align-items:center; justify-content:center; font-size:2.5rem; color:rgba(255,255,255,0.8);
}
.recipe-card-body { padding:16px; }
.recipe-card-body h3 { font-size:1rem; font-weight:700; margin-bottom:6px; }
.recipe-card-body .meta { display:flex; gap:12px; font-size:0.8rem; color:var(--text-light); }

/* Meal Planner */
.meal-planner-controls { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.meal-plan { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.meal-day { border-radius:var(--radius); background:var(--card-bg); box-shadow:var(--shadow); padding:20px; }
.meal-day h4 { font-size:1.1rem; margin-bottom:12px; color:var(--primary); }
.meal-slot {
  padding:10px 14px; margin-bottom:8px; border-radius:var(--radius-sm);
  background:var(--glass-bg); border:1px solid var(--glass-border);
}
.meal-slot h5 { font-size:0.85rem; font-weight:600; }
.meal-slot p { font-size:0.78rem; color:var(--text-light); }

/* Progress */
.progress-inputs { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.progress-inputs input {
  flex:1; min-width:120px; padding:12px 16px; border-radius:var(--radius-sm);
  border:1px solid var(--glass-border); background:var(--glass-bg);
  color:var(--text); font-size:0.95rem;
}
.progress-inputs input:focus { outline:none; border-color:var(--primary); }
.progress-charts { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; margin-bottom:30px; }
.chart-container { padding:20px; }
.chart-container canvas { max-height:250px; }
.progress-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.stat-card { padding:20px; text-align:center; border-radius:var(--radius-sm); background:var(--card-bg); box-shadow:var(--shadow); }
.stat-card h4 { font-size:0.9rem; color:var(--text-light); }
.stat-card .value { font-size:1.8rem; font-weight:800; color:var(--primary); }

/* Blog */
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; margin-top:20px; }
.blog-card {
  border-radius:var(--radius); background:var(--card-bg);
  box-shadow:var(--shadow); overflow:hidden; transition:var(--transition);
  cursor:pointer;
}
.blog-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,200,83,0.12); }
.blog-card-image {
  height:180px; background:linear-gradient(135deg,var(--secondary),#1a2332);
  display:flex; align-items:center; justify-content:center; font-size:3rem; color:var(--primary);
}
.blog-card-body { padding:20px; }
.blog-card-body .tag { font-size:0.75rem; color:var(--primary); font-weight:600; text-transform:uppercase; }
.blog-card-body h3 { font-size:1.1rem; font-weight:700; margin:8px 0; }
.blog-card-body p { font-size:0.85rem; color:var(--text-light); }

/* Stories */
.stories-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.story-card {
  border-radius:var(--radius); background:var(--card-bg);
  box-shadow:var(--shadow); padding:30px; text-align:center; transition:var(--transition);
}
.story-card:hover { transform:translateY(-4px); }
.story-card .avatar {
  width:80px; height:80px; border-radius:50%; margin:0 auto 16px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:flex; align-items:center; justify-content:center; font-size:2rem; color:#fff;
}
.story-card h4 { font-weight:700; }
.story-card .result { color:var(--primary); font-weight:700; font-size:1.1rem; margin:8px 0; }
.story-card p { font-size:0.85rem; color:var(--text-light); }

/* App CTA */
.app-cta { background:var(--bg-alt); }
.app-cta-content { text-align:center; padding:60px 40px; }
.app-cta-content h2 { font-size:2.2rem; font-weight:800; margin-bottom:12px; }
.app-cta-content p { color:var(--text-light); margin-bottom:24px; }
.app-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* FAQ */
.faq-list { max-width:700px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item { border-radius:var(--radius-sm); background:var(--card-bg); box-shadow:var(--shadow); overflow:hidden; }
.faq-question {
  padding:18px 20px; display:flex; justify-content:space-between;
  align-items:center; cursor:pointer; font-weight:600; font-size:0.95rem;
  transition:var(--transition);
}
.faq-question:hover { color:var(--primary); }
.faq-question i { transition:var(--transition); font-size:0.85rem; }
.faq-item.active .faq-question i { transform:rotate(180deg); }
.faq-answer { max-height:0; overflow:hidden; transition:var(--transition); padding:0 20px; }
.faq-item.active .faq-answer { max-height:200px; padding:0 20px 18px; }
.faq-answer p { font-size:0.9rem; color:var(--text-light); }

/* Newsletter */
.newsletter { background:var(--bg-alt); }
.newsletter-content { text-align:center; padding:60px 40px; }
.newsletter-content h3 { font-size:1.8rem; font-weight:800; margin-bottom:8px; }
.newsletter-content p { color:var(--text-light); margin-bottom:20px; }
.newsletter-form { display:flex; gap:12px; max-width:500px; margin:0 auto; }
.newsletter-form input {
  flex:1; padding:14px 20px; border-radius:50px; border:1px solid var(--glass-border);
  background:var(--bg); color:var(--text); font-size:1rem;
}
.newsletter-form input:focus { outline:none; border-color:var(--primary); }

/* Chatbot */
.chatbot-toggle {
  position:fixed; bottom:30px; right:30px; z-index:999;
  width:60px; height:60px; border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; cursor:pointer; box-shadow:0 4px 20px rgba(0,200,83,0.4);
  transition:var(--transition); border:none;
}
.chatbot-toggle:hover { transform:scale(1.1); }
.chatbot {
  position:fixed; bottom:100px; right:30px; z-index:999;
  width:350px; max-height:500px; display:none; flex-direction:column;
  overflow:hidden; padding:0;
}
.chatbot.active { display:flex; }
.chatbot-header {
  padding:16px 20px; background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff; display:flex; justify-content:space-between; align-items:center;
}
.chatbot-header button { background:none; border:none; color:#fff; font-size:1.3rem; cursor:pointer; }
.chatbot-messages { flex:1; padding:16px; overflow-y:auto; max-height:350px; display:flex; flex-direction:column; gap:8px; }
.message { padding:10px 14px; border-radius:12px; max-width:85%; font-size:0.85rem; line-height:1.5; }
.message.bot { background:var(--bg-alt); align-self:flex-start; }
.message.user { background:var(--primary); color:#fff; align-self:flex-end; }
.chatbot-input { display:flex; padding:12px; gap:8px; border-top:1px solid var(--glass-border); }
.chatbot-input input {
  flex:1; padding:10px 16px; border-radius:25px; border:1px solid var(--glass-border);
  background:var(--bg); color:var(--text); font-size:0.9rem; outline:none;
}
.chatbot-input button {
  width:40px; height:40px; border-radius:50%; border:none;
  background:var(--primary); color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

/* Search Overlay */
.search-overlay {
  display:none; position:fixed; inset:0; z-index:1500;
  background:var(--modal-overlay); padding:100px 20px 20px; backdrop-filter:blur(10px);
}
.search-overlay.active { display:block; }
.search-box { max-width:600px; margin:0 auto; display:flex; align-items:center; background:var(--bg); border-radius:50px; padding:4px 4px 4px 24px; box-shadow:0 8px 40px rgba(0,0,0,0.15); }
.search-box i { color:var(--text-light); }
.search-box input { flex:1; padding:16px 12px; border:none; background:transparent; font-size:1.1rem; color:var(--text); outline:none; }
.search-box button { width:44px; height:44px; border-radius:50%; border:none; background:var(--glass-bg); cursor:pointer; color:var(--text); }
.search-results { max-width:600px; margin:16px auto 0; max-height:60vh; overflow-y:auto; }
.search-result-item { padding:12px 20px; background:var(--glass-bg); backdrop-filter:blur(20px); margin-bottom:8px; border-radius:var(--radius-sm); cursor:pointer; transition:var(--transition); }
.search-result-item:hover { background:var(--primary); color:#fff; }

/* Footer */
.footer { background:var(--secondary); color:rgba(255,255,255,0.8); padding:60px 0 30px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-col h4 { color:#fff; font-size:1.1rem; margin-bottom:16px; }
.footer-col p { font-size:0.9rem; line-height:1.6; opacity:0.7; }
.footer-col a { display:block; font-size:0.9rem; padding:4px 0; opacity:0.7; transition:var(--transition); }
.footer-col a:hover { opacity:1; color:var(--primary); }
.social-links { display:flex; gap:12px; margin-top:16px; }
.social-links a { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; font-size:1rem; transition:var(--transition); }
.social-links a:hover { background:var(--primary); color:#fff; }
.footer-bottom { text-align:center; padding-top:30px; border-top:1px solid rgba(255,255,255,0.1); font-size:0.85rem; opacity:0.6; }

/* Responsive */
@media (max-width:991px) {
  .hero .container { grid-template-columns:1fr; text-align:center; }
  .hero-text p { margin:0 auto 32px; }
  .hero-buttons { justify-content:center; }
  .hero-stats { justify-content:center; }
  .hero-img-wrapper { width:280px; height:280px; }
  .hero-icon { font-size:5rem; }
  .calculators-grid { grid-template-columns:repeat(2,1fr); }
  .planner-layout { grid-template-columns:1fr; }
  .planner-week { grid-template-columns:repeat(4,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .nav-links { display:none; position:fixed; top:70px; left:0; right:0; background:var(--navbar-bg); backdrop-filter:blur(20px); flex-direction:column; padding:20px; border-bottom:1px solid var(--glass-border); }
  .nav-links.active { display:flex; }
  .hamburger { display:flex; }
}

@media (max-width:767px) {
  .section { padding:60px 0; }
  .hero-text h1 { font-size:2rem; }
  .section-header h2 { font-size:1.8rem; }
  .calculators-grid { grid-template-columns:1fr; }
  .workouts-grid { grid-template-columns:repeat(2,1fr); }
  .exercises-grid { grid-template-columns:repeat(2,1fr); }
  .planner-week { grid-template-columns:repeat(2,1fr); }
  .progress-charts { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .newsletter-form { flex-direction:column; }
  .calc-panel { grid-template-columns:1fr; }
  .chatbot { width:300px; right:15px; bottom:85px; }
}

@media (max-width:480px) {
  .hero-text h1 { font-size:1.6rem; }
  .hero-stats { gap:20px; flex-wrap:wrap; }
  .workouts-grid { grid-template-columns:1fr; }
  .exercises-grid { grid-template-columns:1fr; }
}

/* Animations */
@keyframes fadeInUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeInLeft { from { opacity:0; transform:translateX(-30px); } to { opacity:1; transform:translateX(0); } }
@keyframes fadeInRight { from { opacity:0; transform:translateX(30px); } to { opacity:1; transform:translateX(0); } }
[data-aos] { opacity:0; transform:translateY(30px); transition:all 0.6s ease; }
[data-aos].aos-animate { opacity:1; transform:translateY(0); }
[data-aos="fade-left"] { transform:translateX(-30px); }
[data-aos="fade-left"].aos-animate { transform:translateX(0); }
[data-aos="fade-right"] { transform:translateX(30px); }
[data-aos="fade-right"].aos-animate { transform:translateX(0); }

/* Scrollbar */
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--bg-alt); }
::-webkit-scrollbar-thumb { background:var(--primary); border-radius:4px; }
::selection { background:var(--primary); color:#fff; }
