/*
Theme Name: Fit Forge
Theme URI: https://example.com/fit-forge
Author: Fit Forge Studio
Author URI: https://example.com
Description: A lightweight, high-energy WordPress theme for gyms, CrossFit boxes, fitness studios and personal trainers. Includes a customizable home page with hero, programs, features and blog sections.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fitforge
Tags: one-column, custom-menu, custom-logo, featured-images, footer-widgets, threaded-comments, translation-ready
*/

/* =========================================================
   0. DESIGN TOKENS
   ========================================================= */
:root{
  --ff-black:        #0a0a0a;
  --ff-black-soft:    #121212;
  --ff-card:          #1b1b1b;
  --ff-card-alt:      #202020;
  --ff-border:        #2c2c2c;
  --ff-lime:          #c6f135;
  --ff-lime-dark:     #a3cc28;
  --ff-white:         #ffffff;
  --ff-muted:         #b7b7b7;
  --ff-muted-dark:    #8c8c8c;

  --ff-font-display:  'Anton', Impact, 'Arial Narrow Bold', sans-serif;
  --ff-font-body:     'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --ff-container:     1280px;
  --ff-radius:        6px;
  --ff-gap:            28px;
  --ff-section-pad:   96px;
}

/* =========================================================
   1. RESET
   ========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ff-black);
  color:var(--ff-white);
  font-family:var(--ff-font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,h5,h6{
  font-family:var(--ff-font-display);
  font-weight:400;
  line-height:1.05;
  margin:0 0 .5em;
  text-transform:uppercase;
  letter-spacing:.3px;
}
p{ margin:0 0 1em; color:var(--ff-muted); }
.screen-reader-text{
  position:absolute!important; width:1px;height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}
:focus-visible{ outline:2px solid var(--ff-lime); outline-offset:3px; }

.ff-container{
  max-width:var(--ff-container);
  margin:0 auto;
  padding:0 32px;
}
.ff-eyebrow{
  display:inline-block;
  color:var(--ff-lime);
  font-family:var(--ff-font-body);
  font-weight:600;
  font-size:14px;
  margin-bottom:10px;
}
.ff-accent{ color:var(--ff-lime); }

/* Buttons */
.ff-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--ff-font-body);
  font-weight:700;
  font-size:14px;
  letter-spacing:.4px;
  text-transform:uppercase;
  padding:16px 30px;
  border-radius:var(--ff-radius);
  border:2px solid transparent;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
  white-space:nowrap;
}
.ff-btn-primary{
  background:var(--ff-lime);
  color:var(--ff-black);
}
.ff-btn-primary:hover{ background:var(--ff-lime-dark); transform:translateY(-2px); }
.ff-btn-outline{
  background:transparent;
  color:var(--ff-white);
  border-color:var(--ff-white);
}
.ff-btn-outline:hover{
  border-color:var(--ff-lime);
  color:var(--ff-lime);
  transform:translateY(-2px);
}
.ff-btn-small{ padding:12px 22px; font-size:13px; }

@media (max-width:782px){
  :root{ --ff-section-pad:64px; }
  .ff-container{ padding:0 20px; }
}
