/*
═══════════════════════════════════════════════════════════════
 Project: EmpowerFit Women's Fitness Club
 Developer: Mirza Hadi
 Brand: HS3Dev
═══════════════════════════════════════════════════════════════
*/

/* ==========================
   ROOT VARIABLES
========================== */

:root{
    --primary:#7c3aed;
    --secondary:#ec4899;
    --light:#fdf4ff;
    --dark:#111827;
    --white:#ffffff;
    --gold:#fbbf24;
    --gray:#6b7280;
}

/* ==========================
   GLOBAL
========================== */

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:'Segoe UI',sans-serif;
    background:var(--light);
    color:var(--dark);
    overflow-x:hidden;
}

section{
    padding:90px 0;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h2{
    font-size:2.5rem;
    font-weight:800;
    margin-bottom:15px;
}

.section-title p{
    color:var(--gray);
    max-width:700px;
    margin:auto;
}

/* ==========================
   NAVBAR
========================== */

.custom-navbar{
    background:#ffffff;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.navbar-brand{
    color:var(--primary) !important;
    font-size:1.5rem;
}

.nav-link{
    color:var(--dark) !important;
    font-weight:600;
    margin-left:12px;
}

.nav-link:hover{
    color:var(--secondary) !important;
}

.btn-warning{
    background:var(--secondary);
    border:none;
    color:#fff;
}

.btn-warning:hover{
    background:#d946ef;
}

/* ==========================
   HERO SECTION
========================== */

.hero-section{
    min-height:90vh;
    display:flex;
    align-items:center;
    background:
    linear-gradient(
    135deg,
    #faf5ff,
    #fdf2f8
    );
}

.hero-tag{
    display:inline-block;
    background:#ede9fe;
    color:var(--primary);
    padding:10px 20px;
    border-radius:50px;
    margin-bottom:20px;
    font-weight:600;
}

.hero-section h1{
    font-size:4rem;
    font-weight:800;
    line-height:1.1;
    margin-bottom:20px;
}

.hero-section p{
    color:var(--gray);
    font-size:1.1rem;
    margin-bottom:30px;
}

.hero-image{
    width:100%;
    max-width:550px;
    border-radius:30px;
    box-shadow:
    0 25px 50px rgba(124,58,237,.20);
}

.btn-primary{
    background:var(--primary);
    border:none;
}

.btn-primary:hover{
    background:#6d28d9;
}

/* ==========================
   FEATURE CARDS
========================== */

.feature-card{
    background:#fff;
    border-radius:20px;
    text-align:center;
    padding:35px 20px;
    box-shadow:
    0 10px 30px rgba(0,0,0,.05);

    transition:.3s;
}

.feature-card:hover{
    transform:translateY(-8px);
}

.feature-card i{
    font-size:2.5rem;
    color:var(--secondary);
    margin-bottom:15px;
}

.feature-card h4{
    font-size:1.2rem;
    font-weight:700;
}

/* ==========================
   PROGRAM CARDS
========================== */

.program-card{
    background:#fff;
    padding:35px;
    border-radius:20px;
    text-align:center;

    box-shadow:
    0 10px 25px rgba(0,0,0,.06);

    transition:.3s;
}

.program-card:hover{

    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    color:#fff;

    transform:translateY(-8px);
}

.program-card h4{
    margin:0;
    font-weight:700;
}

/* ==========================
   TRAINERS
========================== */

.trainer-card{
    background:#fff;
    border-radius:25px;
    overflow:hidden;
    text-align:center;

    box-shadow:
    0 10px 30px rgba(0,0,0,.07);
}

.trainer-card img{
    width:100%;
    height:350px;
    object-fit:cover;
}

.trainer-card h4{
    padding:20px;
    margin:0;
    font-weight:700;
}

/* ==========================
   PRICING
========================== */

.price-card{
    background:#fff;
    text-align:center;
    padding:40px 25px;
    border-radius:25px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);
}

.price-card h2{
    font-size:3rem;
    font-weight:800;
    color:var(--primary);
}

.price-card h3{
    font-weight:700;
}

.featured{
    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    color:#fff;
}

.featured h2{
    color:#fff;
}

.featured span{
    display:inline-block;
    background:var(--gold);
    color:#000;
    padding:6px 14px;
    border-radius:20px;
    font-size:.8rem;
    margin-bottom:15px;
    font-weight:700;
}

/* ==========================
   BMI CALCULATOR
========================== */

.bmi-section{
    background:#fff;
}

#bmiResult{
    margin-top:20px;
    font-size:1.3rem;
    font-weight:700;
    color:var(--primary);
}

.form-control{
    border-radius:12px;
    padding:14px;
}

/* ==========================
   CONTACT FORM
========================== */

.contact-section{
    background:
    linear-gradient(
    135deg,
    #faf5ff,
    #fdf2f8
    );
}

#contactForm{
    background:#fff;
    padding:40px;
    border-radius:25px;

    box-shadow:
    0 10px 35px rgba(0,0,0,.08);
}

/* ==========================
   FOOTER
========================== */

.footer{
    background:var(--dark);
    color:#fff;
    padding:60px 0;
}

.footer h4{
    color:#fff;
    margin-bottom:15px;
}

.footer p{
    color:#d1d5db;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:992px){

    .hero-section{
        text-align:center;
    }

    .hero-image{
        margin-top:40px;
    }

    .hero-section h1{
        font-size:3rem;
    }
}

@media(max-width:768px){

    .hero-section h1{
        font-size:2.3rem;
    }

    .section-title h2{
        font-size:2rem;
    }

    .trainer-card img{
        height:280px;
    }

    #contactForm{
        padding:25px;
    }
}

@media(max-width:576px){

    .hero-section h1{
        font-size:1.9rem;
    }

    .hero-tag{
        font-size:.85rem;
    }

    .section-title h2{
        font-size:1.8rem;
    }
}

/* ==========================
   STATISTICS
========================== */

.stats-section{
    background:#ffffff;
    padding:50px 0;
}

.stat-card{
    padding:20px;
}

.stat-card h2{
    color:#7c3aed;
    font-size:2.5rem;
    font-weight:800;
}

.stat-card p{
    margin:0;
    color:#6b7280;
}

/* ==========================
   GALLERY
========================== */

.gallery-section{
    background:#ffffff;
}

.gallery-img{

    width:100%;
    height:280px;

    object-fit:cover;

    border-radius:20px;

    transition:.4s;

    box-shadow:
    0 10px 25px rgba(0,0,0,.08);
}

.gallery-img:hover{

    transform:scale(1.03);

}

/* Hero slider fix */
.hero-section .row{
    display:flex;
    align-items:center;
}
#heroSlider{
    width:100%;
}
#heroSlider .carousel-item img{
    width:100%;
    height:550px;
    object-fit:cover;
    border-radius:30px;
}
