@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; 
}

body {
    font-family: "Poppins", sans-serif;
    color: white; 
    overflow-x: hidden; 
    
    /* Parallax Background Setup: Fixed background on the body */
    background-image: url('image_of_fitbot_machine.jpg'); /* **CHANGE THIS PATH** */
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* This creates the parallax effect */
    background-color: #121212; 
}

html {
    scroll-behavior: smooth;
    height: 100%;
}

p {
    color: rgb(181, 181, 181); 
}

/* TRANSITIONS and A/HOVER styles */
a, .btn{
    transition: all 300ms ease;
}
.hamburger-icon span {
    transition: all 0.3s ease-in-out; 
}
.menu-links {
    transition: all 0.3s ease-in-out; 
}

a {
    color: white; 
    text-decoration: none;
}

a:hover {
    color: #00ffff; 
    text-decoration: underline;
    text-underline-offset: 0.5rem; 
    text-decoration-color: #00ffff;
}

.logo {
    font-size: 2rem;
}

/* HAMBURGER MENU (for mobile) */
#hamburger-nav {
    display: none;
}
/* ... (Add your specific hamburger menu styling here if needed) ... */


/*  HERO SECTION (Only used on index.html)  */

.hero-section {
    height: 100vh; 
    margin: 0; 
    display: flex;
    justify-content: center; 
    align-items: center; 
    flex-direction: column; 
    text-align: center;
    position: relative; 
    
    background: transparent; /* Transparent to show the body's fixed background */
    isolation: isolate; 
}

/* Dark Overlay */
.hero-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: 1; 
}

/* Hero Content */
.hero-content {
    z-index: 10; 
    padding-top: 0; 
}

.hero-title {
    font-size: 5rem; 
    font-weight: 600;
    letter-spacing: 0.5rem;
    margin-bottom: 0.5rem;
    color: white;
}

.hero-description {
    font-size: 1.5rem;
    font-weight: 300;
    color: white;
    max-width: 600px;
    margin: 0 auto 3rem auto;
}

/* Scroll Down Arrow */
.scroll-down-icon {
    font-size: 3rem;
    display: inline-block;
    color: white;
    text-decoration: none;
    z-index: 10;
    animation: bounce 2s infinite; 
}
@keyframes bounce { 
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-20px);}
    60% {transform: translateY(-10px);}
}

/* BOTTOM FLOATING NAVIGATION BAR */
.bottom-nav {
    position: absolute;
    bottom: 0; 
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.7); 
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 5rem; 
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.bottom-nav-links {
    display: flex;
    list-style: none;
    gap: 2rem;
    padding: 0;
    margin: 0;
}

.bottom-nav-links a {
    color: white;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.05rem;
    opacity: 0.7;
}

.bottom-nav-links a:hover {
    opacity: 1;
    text-decoration: none;
    color: #00ffff;
}

.social-links a {
    margin-left: 1rem;
    color: white;
    font-size: 1.25rem;
    opacity: 0.7;
}


/* MAIN CONTENT WRAPPER (The central white column that scrolls) */

.main-content-wrapper {
    /* Starts after the hero section (or immediately on subpages) */
    width: 100%;
    max-width: 800px; 
    margin: 0 auto; 
    z-index: 50; 
    position: relative; 
    background-color: white; 
    color: #121212; 
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5); 
    
    /* Reset text color for elements inside the wrapper */
    & p, a {
        color: #121212; 
    }
}

/* Section Resets */
section {
    height: auto; 
    min-height: auto;
    margin: 0;
    padding: 0;
    display: block; 
    text-align: left;
    position: static; 
    color: #121212; 
}

/* 1. Single Column White Block (For main text content) */
.white-content-block {
    padding: 4rem;
    text-align: center;
}

.white-content-block .date {
    font-size: 0.8rem;
    margin-bottom: 1rem;
    color: #888;
}

.block-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 2rem;
    line-height: 1.1;
    text-align: center;
    color: #121212;
}

.description-text {
    max-width: 600px;
    margin: 0 auto 2rem auto;
    line-height: 1.6;
    color: #333;
    text-align: left;
}

.block-image-container {
    margin: 3rem 0;
    width: 100%;
    max-height: 500px;
    overflow: hidden;
    /* This is where you would style any images inside this container: img { max-width: 100%; height: auto; } */
}

/* 2. Three Column Layout (For process/system/about summaries) */
.three-column-layout {
    display: flex;
    justify-content: space-between;
    padding: 4rem;
    gap: 3rem;
    border-top: 1px solid #eee;
}

.column-block {
    flex: 1;
    text-align: center;
}

.column-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: #121212;
}

.column-block p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    color: #333;
}

/* Button Styling for Content Blocks */
.btn-block {
    display: inline-block;
    padding: 10px 20px;
    margin-top: 1.5rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid #121212;
    transition: all 0.3s ease;
    color: #121212 !important;
}

.btn-block:hover {
    background-color: #121212;
    color: white !important;
}

.listed-tools {
  /* 1. Reset spacing */
  padding-left: 20px; /* Space for the bullets */
  margin-top: 20px;
  margin-bottom: 20px;
  
  /* 2. Force alignment to the left */
  text-align: left;
  list-style-type: disc;
  
  /* 3. The magic fix: ensures the list block doesn't 
     stretch and get centered by the parent container */
  width: fit-content; 
  margin-left: 0; 
}

/* Note: Use both classes to ensure it matches your HTML */
ul.listed.tools {
    list-style-type: disc;     /* Ensures bullets are visible */
    list-style-position: outside; /* Keeps bullets in a neat line */
    padding-left: 20px;        /* Creates space for the bullet to sit */
    text-align: left;          /* Forces text to the left */
    width: fit-content;        /* CRITICAL: Shrinks the box so bullets move to the text */
    margin-left: 0;            /* Aligns the whole block to the left */
}

ul.listed.tools li {
    display: list-item;        /* Ensures it behaves like a standard list */
    margin-bottom: 8px;        /* Adds a little breathing room between items */
    color: #121212;            /* Matches your main text color */
}
