/* Fitness Center (Peak Performance Studio) Specific Styles */

/* Define Fitness Theme Variables */
:root {
    --fitness-color-primary: #1ABC9C; /* Vibrant Teal/Turquoise - Main Accent */
    --fitness-color-secondary: #FF5722; /* Deep Orange - Secondary Accent / CTAs */
    --fitness-color-dark-bg: #222831; /* Dark Charcoal - For backgrounds */
    --fitness-color-light-text: #EEEEEE; /* Very Light Grey/Off-white - For text on dark backgrounds */
    --fitness-color-medium-text: #ADB5BD; /* Lighter grey for less emphasis on dark bg */
    --fitness-color-dark-text: #343A40; /* Dark grey for text on light backgrounds */
}

/* Apply fitness theme colors by overriding global CSS variables when .fitness-theme is present */
.fitness-theme {
    --color-primary: var(--fitness-color-primary);
    --color-secondary: var(--fitness-color-secondary);
    --color-accent: var(--fitness-color-primary); /* Using primary as main accent */
    --color-text: var(--fitness-color-dark-text); /* Default text on light backgrounds */
    --color-background-dark: var(--fitness-color-dark-bg); /* For dark sections */
}

/* Logo specific for fitness */
.fitness-theme .logo {
    color: var(--fitness-color-primary);
    font-weight: 700; /* Bolder logo */
}
.fitness-theme .logo-icon {
    font-size: 1.8rem; /* Adjust emoji/icon size */
    margin-right: 8px;
}

/* Header Navigation Active/Hover State for Fitness Theme */
.fitness-theme .main-navigation ul li a:hover,
.fitness-theme .main-navigation ul li a.active {
    background-color: var(--fitness-color-primary);
    color: var(--fitness-color-light-text);
}
.fitness-theme .mobile-nav-toggle span {
    background-color: var(--fitness-color-primary);
}


/* Fitness Hero Section - UPDATED */
.fitness-hero {
    /* REMOVED the linear-gradient from here */
    background-image: url('https://tiki.hirejb.me/images/fitness-center.jpg');
    background-size: cover;
    background-position: center center;
    color: var(--fitness-color-light-text);
    padding: 100px 0; /* More padding for impact */
    position: relative; /* Crucial for positioning the overlay */
    text-align: center;
}

.hero-overlay { /* NEW STYLES for the dedicated overlay div */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(24, 28, 35, 0.80); /* Dark charcoal with ADJUSTED opacity (0.65 is less than before) */
    z-index: 1; /* Ensures overlay is above the background image but below content */
}

.fitness-hero .container { /* Ensure content is above the overlay */
    position: relative;
    z-index: 2;
}

.fitness-hero .hero-title {
    font-size: 3.5rem;
    font-weight: 800; /* Bolder */
    color: var(--fitness-color-light-text);
    text-shadow: 1px 1px 6px rgba(0,0,0,0.6); /* Slightly adjusted shadow for clarity */
    margin-bottom: var(--spacing-md);
}

.fitness-hero .hero-subtitle {
    font-size: 1.3rem;
    color: var(--fitness-color-light-text);
    opacity: 0.95; /* Slightly more opaque text for better readability */
    max-width: 800px;
    margin: 0 auto var(--spacing-lg);
}

.fitness-hero .hero-cta-buttons .btn-primary {
    background-color: var(--fitness-color-primary);
    border-color: var(--fitness-color-primary);
    color: var(--fitness-color-dark-bg); /* Dark text on light button */
    font-weight: 700;
}
.fitness-hero .hero-cta-buttons .btn-primary:hover {
    background-color: #16a085; /* Darken primary */
    border-color: #16a085;
}

.fitness-hero .hero-cta-buttons .btn-secondary {
    background-color: var(--fitness-color-secondary);
    border-color: var(--fitness-color-secondary);
    color: var(--fitness-color-light-text);
    font-weight: 700;
}
.fitness-hero .hero-cta-buttons .btn-secondary:hover {
    background-color: #d35400; /* Darken secondary */
    border-color: #d35400;
}

/* Offerings Section */
.offerings-section .section-title {
    color: var(--fitness-color-dark-text); /* Override global primary for this title */
}
.offerings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
}

.offering-item {
    background-color: var(--color-background);
    padding: var(--spacing-lg);
    border-radius: var(--border-radius-lg); /* More rounded */
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
    border-top: 4px solid var(--fitness-color-primary);
}

.offering-item:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 12px 24px rgba(0,0,0,0.15);
}

.offering-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto var(--spacing-md);
    background-color: var(--fitness-color-primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: 55%;
    background-repeat: no-repeat;
    background-position: center;
    color: var(--fitness-color-light-text); /* For potential font icons */
}
/* Placeholder icons for fitness offerings */
.group-class-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23EEEEEE'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E"); }
.personal-training-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23EEEEEE'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zM21 14.5c0-.28-.22-.5-.5-.5s-.5.22-.5.5v2h-2c-.28 0-.5.22-.5.5s.22.5.5.5h2v2c0 .28.22.5.5.5s.5-.22.5-.5v-2h2c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-2v-2z'/%3E%3C/svg%3E"); }
.yoga-pilates-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23EEEEEE'%3E%3Cpath d='M4.5 2.5c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2s2-.9 2-2v-6h11v6c0 1.1.9 2 2 2s2-.9 2-2v-15c0-1.1-.9-2-2-2s-2 .9-2 2v6H6.5v-6c0-1.1-.9-2-2-2zm10.61 7.47c.39-.39.39-1.02 0-1.41L12 5.41l-3.11 3.12c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 8.24l1.69 1.7c.39.39 1.03.39 1.42 0z'/%3E%3C/svg%3E"); }
.nutrition-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23EEEEEE'%3E%3Cpath d='M20.41 6.09l-2.5-2.5C17.53 3.21 17 3 16.41 3H7.59c-.59 0-1.12.21-1.52.59l-2.5 2.5C3.21 6.47 3 7 3 7.59v8.82C3 17 3.21 17.53 3.59 17.91l2.5 2.5c.39.39.92.59 1.5.59h8.82c.59 0 1.12-.21 1.52-.59l2.5-2.5c.39-.39.59-.92.59-1.5V7.59c0-.59-.21-1.12-.59-1.5zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm-1-9h2v2.28c-.6.34-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0-.74-.4-1.38-1-1.72V9h2v2.09c.83.29 1.5.94 1.82 1.76L18 13l-1.95.01c-.01.16-.04.32-.08.48l1.54 1.54-.71.71-1.54-1.54c-.16.04-.31.06-.47.08L15 16l-.01 1.95c-.16.01-.32.04-.48.08l1.54 1.54-.71.71-1.54-1.54c-.04.16-.06.31-.08.47L14 21l-1.95-.01c-.16-.01-.32-.04-.48-.08l1.54-1.54-.71-.71-1.54 1.54c-.16-.04-.32-.06-.48-.08L8 19.05l.01-1.95c.01-.16.04-.32.08-.48l-1.54-1.54.71-.71 1.54 1.54c.16-.04.31-.06.47-.08L10 14l.01-1.95c-.83-.29-1.5-.94-1.82-1.76L7 10l1.95-.01c.01-.16.04-.32.08-.48l-1.54-1.54.71-.71 1.54 1.54c.16-.04.31-.06.47-.08L11 4z'/%3E%3C/svg%3E"); }


.offering-title {
    font-size: 1.5rem;
    color: var(--fitness-color-dark-text); /* Darker text for titles on light cards */
    margin-bottom: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}
.offering-description {
    font-size: 0.95rem;
    color: #555; /* Slightly lighter than default body text */
}

/* Why Choose Us Section for Fitness */
.fitness-theme .why-choose-us-section {
    background-color: var(--fitness-color-dark-bg); /* Dark background */
}
.fitness-theme .why-choose-us-section .section-title {
    color: var(--fitness-color-light-text); /* Light title on dark bg */
}
.fitness-why-choose .why-choose-item {
    background: #2C3E50; /* Slightly lighter than main dark bg */
    border-radius: var(--border-radius-md);
    padding: var(--spacing-lg);
    text-align: center;
}
.fitness-why-choose .why-choose-item h4 {
    color: var(--fitness-color-primary); /* Accent color for item titles */
    font-size: 1.3rem;
}
.fitness-why-choose .why-choose-item h4 .icon-check {
    color: var(--fitness-color-primary); /* Match title color */
}
.fitness-why-choose .why-choose-item p {
    color: var(--fitness-color-medium-text); /* Lighter text for readability */
    font-size: 0.9rem;
}

/* Testimonials Section for Fitness */
.fitness-testimonial {
    background-color: var(--color-background-light);
    border-left-color: var(--fitness-color-secondary); /* Orange accent for testimonials */
    text-align: center;
    padding: var(--spacing-lg);
}
.testimonial-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto var(--spacing-md);
    border: 3px solid var(--fitness-color-primary);
}
.fitness-testimonial .testimonial-text {
    padding-left: 0; /* Remove quote style for avatar layout */
    font-size: 1.05rem;
    color: var(--fitness-color-dark-text);
}
.fitness-testimonial .testimonial-text::before {
    content: none; /* Remove default quote */
}
.fitness-testimonial .testimonial-author {
    color: var(--fitness-color-secondary);
    font-weight: 700;
}

/* LLM Teaser Section for Fitness */
.fitness-llm-teaser {
    background-color: var(--fitness-color-dark-bg); /* Re-use dark bg */
}
.fitness-llm-teaser .section-title,
.fitness-llm-teaser .section-intro {
    color: var(--fitness-color-light-text);
}
.ask-fitness-ai-form #ask-fitness-input {
    background-color: rgba(238, 238, 238, 0.9); /* Lighter input on dark bg */
    color: var(--fitness-color-dark-bg);
    border-color: var(--fitness-color-primary);
}
.ask-fitness-ai-form #ask-fitness-input::placeholder {
    color: #555;
}
.ask-fitness-ai-form #ask-fitness-input:focus {
    border-color: var(--fitness-color-primary);
    box-shadow: 0 0 0 0.2rem rgba(0, 173, 181, .5); /* Teal focus */
}
.ask-fitness-ai-form #ask-fitness-btn {
    background-color: var(--fitness-color-primary);
    color: var(--fitness-color-dark-bg);
    border-color: var(--fitness-color-primary);
    font-weight: 700;
}
.ask-fitness-ai-form #ask-fitness-btn:hover {
    background-color: #16a085; /* Darken */
}
.ask-fitness-response {
    background-color: rgba(0,0,0,0.2); /* Darker response box */
    color: var(--fitness-color-light-text);
}

/* CTA Section for Fitness */
.fitness-cta {
    background-color: var(--fitness-color-primary); /* Teal background */
}
.fitness-cta .section-title,
.fitness-cta .section-intro {
    color: var(--fitness-color-dark-bg); /* Dark text on teal */
}
.fitness-cta .btn-primary {
    background-color: var(--fitness-color-secondary); /* Orange CTA button */
    border-color: var(--fitness-color-secondary);
    color: var(--fitness-color-light-text);
}
.fitness-cta .btn-primary:hover {
    background-color: #d35400; /* Darken orange */
    border-color: #d35400;
}

/* Footer for Fitness Theme - uses global styles but text/links might adapt if global footer variables are used */
.fitness-theme .site-footer {
    background-color: var(--fitness-color-dark-bg);
    color: var(--fitness-color-light-text);
}
.fitness-theme .site-footer h4 {
    color: var(--fitness-color-primary); /* Teal footer headings */
}
.fitness-theme .site-footer p,
.fitness-theme .site-footer ul li a {
    color: var(--fitness-color-medium-text);
}
.fitness-theme .site-footer ul li a:hover {
    color: var(--fitness-color-light-text);
}
.fitness-theme .footer-bottom {
    color: #777; /* Darker grey for bottom text */
}


/* centering the h1 / subtitle in hero overlay */
.hero-content {
    margin-top: 5vw;
}



/* Responsive Adjustments */
@media (max-width: 768px) {
    .fitness-hero .hero-title {
        font-size: 2.5rem;
    }
    .fitness-hero .hero-subtitle {
        font-size: 1.1rem;
    }
    .offerings-grid {
        grid-template-columns: 1fr;
    }
}
