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

body{
margin:0;
font-family:Arial, sans-serif;
background:#000;
color:white;
line-height:1.6;

display:flex;
flex-direction:column;
min-height:100vh;
}

main{
flex:1;
}

h1,h2,h3{
margin:0;
}

section{
width:100%;
box-sizing:border-box;
}


/* ===============================
   HEADER
   =============================== */

header{
display:flex;
align-items:center;
justify-content:center;
padding:35px 80px;
position:relative;
background:#000;
border-bottom:1px solid #1c1c1c;
}

/* LOGO */

.logo{
position:absolute;
left:80px;
top:50%;
transform:translateY(-50%);
display:flex;
align-items:center;
}

.logo img{
height:110px;
width:auto;
display:block;
}

nav{
display:flex;
gap:30px;
}

.cart-icon{
position:absolute;
right:80px;
font-size:22px;
cursor:pointer;
transition:0.25s;
}

.cart-icon:hover{
transform:scale(1.15);
}
/* ===============================
   NAVIGATION
   =============================== */

nav a{
color:white;
text-decoration:none;
font-weight:500;
transition:0.25s;
white-space:nowrap;
}

nav a:hover{
color:#1e90ff;
}


/* ===============================
   HOME HERO
   =============================== */

.home-hero{
height:90vh;
display:flex;
flex-direction:column;
justify-content:center;
align-items:flex-start;
padding:0 120px;

background:
linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.65)),
url("./images/hero.jpg");
   
background-size:cover;
background-position:center;
}

.home-hero h2{
font-size:64px;
margin-bottom:20px;
}

.home-hero p{
max-width:520px;
margin-bottom:30px;
color:#ccc;
}


/* ===============================
   CTA BUTTON
   =============================== */

.cta{
padding:18px 36px;
background:#1e90ff;
color:white;
text-decoration:none;
border-radius:6px;
font-weight:600;
transition: all .25s ease;
display:inline-block;
}

.cta:hover{
background:#187bcd;
}

/* ===============================
   PAGE TITLE
   =============================== */

.page-title{
padding:90px 20px 60px;
text-align:center;
max-width:1200px;
margin:auto;
}

.page-title h2{
font-size:52px;
margin-bottom:10px;
}

.page-title p{
color:#aaa;
max-width:600px;
margin:auto;
}

/* ===============================
   ABOUT HERO
   =============================== */

.about-hero{
height:70vh;
display:flex;
flex-direction:column;
justify-content:center;
padding:0 120px;

background:
linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)),
url("images/about-hero.jpg");

background-size:cover;
background-position:center;
background-repeat:no-repeat;
}

.about-hero h2{
font-size:64px;
margin-bottom:10px;
}

.about-hero span{
color:#1e90ff;
}

.about-hero p{
max-width:500px;
color:#ccc;
}

.about-hero .about-text{
max-width:700px;
margin-top:30px;
color:#ddd;
}


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

.contact-section{
padding:120px 20px;
text-align:center;
}

.contact-container{
max-width:900px;
margin:auto;
}

.contact-info h2{
font-size:42px;
margin-bottom:10px;
}

.contact-intro{
color:#aaa;
margin-bottom:40px;
max-width:600px;
margin-left:auto;
margin-right:auto;
line-height:1.6;
}


/* ===============================
CONTACT CATEGORIES
=============================== */

.contact-categories{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-bottom:40px;
}

.contact-category{
background:#181818;
border:1px solid #222;
padding:25px;
border-radius:10px;
text-align:center;
transition:.25s;
}

.contact-category:hover{
transform:translateY(-5px);
border-color:#1e90ff;
}

.contact-category i{
font-size:26px;
color:#1e90ff;
margin-bottom:10px;
}

.contact-category h3{
margin-bottom:6px;
font-size:18px;
}

.contact-category p{
font-size:14px;
color:#aaa;
line-height:1.5;
}


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

.contact-form{
background:linear-gradient(145deg,#161616,#0f0f0f);
padding:55px;
border-radius:14px;
border:1px solid #222;
max-width:650px;
width:100%;
margin:auto;
box-shadow:0 30px 80px rgba(0,0,0,0.8);
display:flex;
flex-direction:column;
gap:18px;
}

.contact-form input,
.contact-form textarea{
padding:16px;
background:#111;
border:1px solid #222;
border-radius:6px;
color:white;
font-size:14px;
}

.contact-form textarea{
min-height:140px;
resize:vertical;
}

.contact-form button{
background:#1e90ff;
border:none;
padding:16px;
border-radius:6px;
color:white;
font-weight:600;
cursor:pointer;
transition:0.25s;
}

.contact-form button:hover{
background:#187bcd;
}


/* ===============================
MODERN FORM (Optional)
=============================== */

.modern-form{
display:flex;
flex-direction:column;
gap:22px;
}

.form-group{
position:relative;
}

.form-group input,
.form-group textarea{
width:100%;
padding:18px 16px;
background:#0f0f0f;
border:1px solid #2a2a2a;
border-radius:10px;
color:white;
font-size:15px;
outline:none;
transition:all .25s ease;
}

.form-group textarea{
min-height:160px;
resize:none;
}


/* floating labels */

.form-group label{
position:absolute;
left:14px;
top:50%;
transform:translateY(-50%);
color:#777;
font-size:14px;
pointer-events:none;
transition:.25s;
background:#0f0f0f;
padding:0 6px;
}

.form-group textarea + label{
top:22px;
transform:none;
}


/* focus animation */

.form-group input:focus,
.form-group textarea:focus{
border-color:#1e90ff;
box-shadow:0 0 0 1px #1e90ff;
}


/* floating effect */

.form-group input:focus + label,
.form-group input:valid + label{
top:-8px;
font-size:12px;
color:#1e90ff;
}

.form-group textarea:focus + label,
.form-group textarea:valid + label{
top:-10px;
font-size:12px;
color:#1e90ff;
}


/* button */

.send-btn{
margin-top:10px;
padding:18px;
border:none;
border-radius:10px;
background:linear-gradient(90deg,#1e90ff,#3aa0ff);
color:white;
font-size:15px;
font-weight:600;
cursor:pointer;
transition:.25s;
}

.send-btn:hover{
transform:translateY(-2px);
box-shadow:0 12px 35px rgba(30,144,255,.4);
}

/* ===============================
BUSINESS CONTACT
=============================== */

.contact-business{
text-align:center;
margin-bottom:40px;
}

.contact-business p{
color:#aaa;
margin:6px 0;
font-size:14px;
}

.contact-business a{
color:#1e90ff;
text-decoration:none;
}

.contact-business a:hover{
text-decoration:underline;
}
/* ===============================
   TRAINERS
   =============================== */

.trainers{
padding:80px 120px;
}

.trainer-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
max-width:1100px;
margin:auto;
}

.trainer-card{
background:#181818;
border-radius:10px;
overflow:hidden;
border:1px solid #222;
text-align:center;
padding-bottom:20px;
}

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

.trainer-card h3{
margin-top:15px;
font-size:22px;
}

.role{
font-weight:600;
margin-top:6px;
}

.specialty{
color:#aaa;
font-size:14px;
margin-top:4px;
}

/* ===============================
FAQ
=============================== */

.faq-section{
padding:80px 20px;
max-width:900px;
margin:auto;
}

.faq-container{
display:flex;
flex-direction:column;
gap:25px;
}

.faq-item{
background:#181818;
border:1px solid #222;
padding:25px;
border-radius:10px;
}

.faq-item h3{
margin-bottom:8px;
}

.faq-item p{
color:#aaa;
font-size:14px;
line-height:1.6;
}

/* ===============================
SCHEDULE PAGE
=============================== */

.schedule-coming{
padding:80px 20px;
display:flex;
justify-content:center;
text-align:center;
}

.schedule-box{
max-width:600px;
background:#181818;
border:1px solid #222;
padding:50px;
border-radius:10px;
}

.schedule-box i{
font-size:40px;
color:#1e90ff;
margin-bottom:15px;
}

.schedule-box p{
color:#aaa;
margin:15px 0 25px;
}
/* ===============================
SHOP PRODUCTS
=============================== */

.shop{
padding:80px 120px 160px 120px;
min-height:600px;
}

.shop-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:40px;
margin-top:40px;
}

/* ===============================
   PRODUCT CARD
=============================== */

.product-card{

display:flex;
flex-direction:column;
align-items:center;
justify-content:space-between;

text-align:center;

background:#181818;

padding:25px;

border-radius:10px;

border:1px solid #222;

min-height:460px;

}

.product-card:hover{
transform:translateY(-6px);
box-shadow:0 18px 40px rgba(0,0,0,0.6);
transition:0.25s;
}

.product-card img{
width:100%;
height:320px;
object-fit:contain;
border-radius:6px;
padding:10px;
}

.product-card h3{
margin-top:15px;
font-size:18px;
}

.price{
color:#aaa;
margin-top:5px;
font-size:14px;
}

/* ===============================
BLOG HERO
=============================== */

.blog-hero{
text-align:center;
padding:100px 20px 60px 20px;
background:#0e0e0e;
border-bottom:1px solid #1c1c1c;
}

.blog-hero h1{
font-size:42px;
margin-bottom:15px;
letter-spacing:1px;
}

.blog-hero p{
color:#bbb;
font-size:18px;
max-width:700px;
margin:auto;
}


/* ===============================
BLOG GRID
=============================== */

.blog-container{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
gap:40px;
padding:80px;
max-width:1200px;
margin:auto;
}

/* ===============================
BLOG CARD
=============================== */

.blog-card{
background:#1a1a1a;
border-radius:8px;
overflow:hidden;
transition:0.3s;
border:1px solid #222;
}

.blog-card:hover{
transform:translateY(-8px);
border-color:#1e90ff;
}


/* BLOG IMAGE */

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


/* BLOG TITLE */

.blog-card h3{
padding:20px;
font-size:20px;
line-height:1.4;
}


/* BLOG TEXT */

.blog-card p{
padding:0 20px 20px 20px;
color:#aaa;
font-size:15px;
}


/* BLOG LINK */

.blog-card a{
display:block;
padding:20px;
font-weight:bold;
color:#1e90ff;
text-decoration:none;
transition:0.2s;
}

.blog-card a:hover{
color:#187bcd;
}


/* ===============================
NEWSLETTER SECTION
=============================== */

.blog-subscribe{
text-align:center;
padding:100px 20px;
background:#0e0e0e;
border-top:1px solid #1c1c1c;
}

.blog-subscribe h2{
font-size:32px;
margin-bottom:15px;
}

.blog-subscribe p{
color:#bbb;
margin-bottom:30px;
}


/* SUBSCRIBE FORM */

.subscribe-form{
display:flex;
justify-content:center;
gap:10px;
flex-wrap:wrap;
}

.subscribe-form input{
padding:12px 15px;
border:none;
border-radius:4px;
width:260px;
outline:none;
}

.subscribe-form button{
padding:12px 22px;
background:#1e90ff;
border:none;
color:white;
font-weight:bold;
border-radius:4px;
cursor:pointer;
transition:0.25s;
}

.subscribe-form button:hover{
background:#187bcd;
}

/* ===============================
PRIVACY POLICY PAGE
=============================== */

.privacy-policy{
padding:100px 20px;
display:flex;
justify-content:center;
}

.policy-container{
max-width:900px;
line-height:1.8;
font-size:16px;
}

.policy-container h1{
font-size:42px;
margin-bottom:25px;
}

.policy-container h3{
margin-top:35px;
margin-bottom:10px;
color:#1e90ff;
}

.policy-container p{
margin-bottom:16px;
color:#ccc;
}

/* ===============================
MEMBERSHIP SECTION
=============================== */

.membership-section{
padding:80px 120px;
}

.membership-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
max-width:1100px;
margin:auto;
}

.membership-card{
background:#181818;
border:1px solid #222;
border-radius:10px;
padding:35px;
text-align:center;
}

.membership-card h3{
font-size:24px;
margin-bottom:10px;
}

.membership-card .price{
font-size:28px;
color:#1e90ff;
margin-bottom:20px;
}

.membership-card ul{
list-style:none;
padding:0;
margin-bottom:25px;
color:#aaa;
}

.membership-card li{
margin-bottom:8px;
}

.popular{
background:#1e90ff;
color:white;
padding:6px 12px;
font-size:12px;
border-radius:20px;
display:inline-block;
margin-bottom:12px;
font-weight:600;
}

/* ===============================
COMING SOON BUTTON
=============================== */

.coming-soon{
opacity:.7;
cursor:not-allowed;
}

.soon-label{
font-size:13px;
color:#888;
margin-top:10px;
}
/* ===============================
   FOOTER
   =============================== */

.main-footer{
background:
linear-gradient(rgba(0,0,0,0.85), rgba(0,0,0,0.95)),
url("./images/footer-bg.jpg");

background-size:cover;
background-position:center;

padding:80px 120px 40px;
border-top:1px solid #1c1c1c;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:60px;
}

.footer-grid h3,
.footer-grid h4{
margin-bottom:15px;
}

.footer-grid p{
color:#aaa;
font-size:14px;
line-height:1.6;
}

/* Useful Links */

.footer-links{
display:flex;
flex-direction:column;
}

.footer-links-columns{
display:flex;
gap:40px;
}

.footer-links-column{
display:flex;
flex-direction:column;
}

.footer-links-column a{
color:#aaa;
text-decoration:none;
margin-bottom:8px;
transition:0.25s;
}

.footer-links-column a:hover{
color:#1e90ff;
}

/* Contact */

.footer-contact p{
margin-bottom:8px;
}

/* Newsletter */

.newsletter-box{
display:flex;
margin-top:10px;
}

.newsletter-box input{
flex:1;
padding:10px;
border:none;
background:#1a1a1a;
color:white;
}

.newsletter-box button{
background:#1e90ff;
border:none;
color:white;
padding:10px 16px;
cursor:pointer;
}

/* Footer Bottom */

.footer-bottom{
margin-top:60px;
padding-top:20px;
border-top:1px solid #1c1c1c;
text-align:center;
color:#777;
font-size:14px;
}

.footer-bottom a{
color:#1e90ff;
text-decoration:none;
margin-left:6px;
}

.footer-bottom a:hover{
text-decoration:underline;
}

/* PAYMENT METHODS BANNER */

.payment-banner{
margin-top:12px;
}

.payment-banner img{
max-width:260px;
width:100%;
height:auto;
display:block;
opacity:0.95;
}

.secure-text{
font-size:12px;
color:#777;
margin-top:6px;
}

/* ===============================
PAYMENT ICONS
=============================== */

.payment-icons{
display:flex;
gap:12px;
font-size:28px;
margin-top:10px;
color:#aaa;
}

.payment-icons i{
transition:0.25s;
}

.payment-icons i:hover{
transform:scale(1.15);
}

/* ===============================
PAYMENT BRAND COLORS
=============================== */

.fa-cc-visa{
color:#1a1f71;
}

.fa-cc-mastercard{
color:#eb001b;
}

.fa-cc-amex{
color:#2e77bb;
}

.fa-cc-paypal{
color:#003087;
}

.fa-cc-apple-pay{
color:white;
}

/* ===============================
   PAYMENT LOGOS
   =============================== */

.payment-logos{

display:flex;
gap:14px;
margin-top:10px;
align-items:center;

}

.payment-logos img{
height:30px;
width:auto;
filter: invert(1);
opacity:0.9;
}

.payment-logos img:hover{

opacity:1;
transform:scale(1.05);

}
/* ===============================
   CONTACT CENTERED
   =============================== */

.contact-center{
max-width:700px;
margin:auto;
text-align:center;
padding:120px 20px;
}

.contact-center h2{
font-size:48px;
margin-bottom:10px;
}

.contact-sub{
color:#aaa;
margin-bottom:40px;
}

.contact-form-box{
background:#181818;
border:1px solid #222;
border-radius:10px;
padding:40px;
}

.contact-form-box form{
display:flex;
flex-direction:column;
gap:20px;
}

.contact-form-box input,
.contact-form-box textarea{
width:100%;
padding:16px;
background:#111;
border:1px solid #222;
border-radius:6px;
color:white;
font-size:14px;
}

.contact-form-box textarea{
min-height:150px;
}

.contact-form-box button{
background:#1e90ff;
border:none;
padding:16px;
border-radius:6px;
color:white;
font-weight:600;
cursor:pointer;
transition:0.25s;
}

.contact-form-box button:hover{
background:#187bcd;
}

/* CONTACT FORM FIX */

.contact-section{
padding:120px 20px;
text-align:center;
}

.contact-section form{
max-width:600px;
margin:40px auto;
display:flex;
flex-direction:column;
gap:18px;
}

.contact-section input,
.contact-section textarea{
width:100%;
padding:16px;
background:#111;
border:1px solid #222;
border-radius:6px;
color:white;
font-size:14px;
}

.contact-section textarea{
min-height:150px;
resize:vertical;
}

.contact-section button{
background:#1e90ff;
border:none;
padding:16px;
border-radius:6px;
color:white;
font-weight:600;
cursor:pointer;
transition:0.25s;
}

.contact-section button:hover{
background:#187bcd;
}

/* ===============================
PROGRAM HERO
=============================== */

.programs-hero{
text-align:center;
max-width:800px;
margin:60px auto 40px;
}

.programs-hero h2{
font-size:48px;
margin-bottom:10px;
}

.programs-hero p{
color:#aaa;
max-width:600px;
margin:auto;
}

/* ===============================
CLASSES SECTION
=============================== */

.programs{
padding:80px 20px;
max-width:1100px;
margin:auto;
text-align:center;
}

.program-title{
font-size:40px;
margin-bottom:50px;
}

.program-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
}

.program-item{
background:#181818;
padding:15px;
border-radius:6px;
transition:0.3s;
}

.program-item:hover{
transform:translateY(-6px);
}

.program-item img{
width:100%;
height:360px;
object-fit:cover;
border-radius:4px;
}
.program-item h3{
margin-top:12px;
font-size:18px;
}

.program-item p{
font-size:14px;
color:#aaa;
margin-top:4px;
}

/* ===============================
   CART COUNTER
   =============================== */

.cart-icon{
display:flex;
align-items:center;
gap:8px;
position:absolute;
right:80px;
font-size:22px;
cursor:pointer;
}

#cart-count{
background:#1e90ff;
color:white;
font-size:12px;
padding:3px 7px;
border-radius:50px;
margin-left:4px;
}


/* ===============================
   PRODUCT DESCRIPTION
   =============================== */

.product-desc{
color:#aaa;
font-size:14px;
margin-top:8px;
margin-bottom:8px;
line-height:1.5;
padding:0 10px;
}


/* ===============================
   ADD TO CART BUTTON
   =============================== */

.add-cart{
margin-top:16px;
padding:10px 16px;
background:#1e90ff;
border:none;
color:white;
border-radius:5px;
cursor:pointer;
font-weight:600;
transition:0.25s;
}

.add-cart:hover{
background:#187bcd;
}


/* ===============================
   CART PAGE
   =============================== */

.cart-page{
max-width:1200px;
margin:80px auto;
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
padding:20px;
}


/* ===============================
   CART TABLE
   =============================== */

.cart-table{
width:100%;
border-collapse:collapse;
}

.cart-table th,
.cart-table td{
padding:16px;
border-bottom:1px solid #222;
text-align:left;
}

.cart-table th{
color:#aaa;
font-size:14px;
}


/* ===============================
   CART SUMMARY
   =============================== */

.cart-summary{
background:#181818;
padding:30px;
border-radius:10px;
border:1px solid #222;
height:fit-content;
}

.cart-summary h3{
margin-bottom:20px;
}

.checkout-btn{
display:block;
margin-top:20px;
padding:14px;
background:#1e90ff;
color:white;
text-align:center;
text-decoration:none;
border-radius:6px;
font-weight:600;
}

.checkout-btn:hover{
background:#187bcd;
}


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

@media(max-width:900px){

.cart-page{
grid-template-columns:1fr;
}

}


/* ===============================
CHECKOUT PAGE
=============================== */

.checkout-container{
max-width:1100px;
margin:80px auto;
padding:20px;
}

.checkout-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
}

.checkout-form input{
width:100%;
padding:14px;
margin-bottom:15px;
border:none;
background:#1a1a1a;
color:white;
}

.order-summary{
background:#181818;
padding:25px;
border-radius:8px;
}

.checkout-total{
margin-top:20px;
font-weight:600;
}


/* ===============================
   BACK BUTTON
=============================== */

.back-btn{
display:inline-block;
margin-top:20px;
color:#aaa;
text-decoration:none;
font-size:14px;
}

.back-btn:hover{
color:white;
}


/* ===============================
PAYMENT PAGE
=============================== */

.payment-container{
max-width:500px;
margin:100px auto;
text-align:center;
}

.payment-container input{
width:100%;
padding:14px;
margin-bottom:15px;
background:#1a1a1a;
border:none;
color:white;
}


/* ===============================
ORDER SUCCESS
=============================== */

.order-success{
height:80vh;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}

.order-success h1{
font-size:42px;
margin-bottom:20px;
}


/* ===============================
   CART OVERLAY
================================ */

#cart-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.6);
opacity:0;
pointer-events:none;
transition:0.3s;
z-index:998;
}

#cart-overlay.active{
opacity:1;
pointer-events:auto;
}


/* ===============================
   CART SIDEBAR
=============================== */

#cart-sidebar{
position:fixed;
top:0;
right:-420px;
width:380px;
height:100vh;
background:#111;
border-left:1px solid #222;
padding:25px;
box-sizing:border-box;
z-index:999;
transition:0.35s ease;
display:flex;
flex-direction:column;
box-shadow:-10px 0 30px rgba(0,0,0,0.7);
}

#cart-sidebar.open{
right:0;
}


/* ===============================
   CART HEADER
=============================== */

.cart-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
flex-shrink:0;
}

.cart-header h3{
margin:0;
}


/* ===============================
   CLOSE BUTTON
=============================== */

#close-cart{
background:none;
border:none;
color:white;
font-size:22px;
cursor:pointer;
}


/* ===============================
   CART ITEMS
=============================== */

#cart-items{
flex:1;
overflow-y:auto;
padding-right:6px;
}


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

.cart-footer{
margin-top:auto;
border-top:1px solid #222;
padding-top:15px;
background:#111;
}

.cart-footer p{
display:flex;
justify-content:space-between;
margin-bottom:10px;
}

.cart-footer button{
width:100%;
padding:14px;
background:#1e90ff;
border:none;
color:white;
border-radius:6px;
font-weight:600;
cursor:pointer;
margin-top:10px;
}

.cart-footer button:hover{
background:#187bcd;
}


/* ===============================
   CART ITEMS
================================ */

.cart-item{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding:12px 0;
border-bottom:1px solid #222;
}


/* ===============================
   CART PRODUCT
================================ */

.cart-product{
display:flex;
align-items:center;
gap:10px;
}

.cart-product img{
width:55px;
height:55px;
object-fit:contain;
background:#1a1a1a;
padding:6px;
border-radius:6px;
}

.cart-product span{
font-size:14px;
}


/* ===============================
   CART CONTROLS
================================ */

.cart-controls{
display:flex;
align-items:center;
gap:6px;
}

.qty-btn{
width:24px;
height:24px;
border:none;
background:#1e90ff;
color:white;
border-radius:4px;
cursor:pointer;
font-weight:600;
}

.qty-btn:hover{
background:#187bcd;
}


/* ===============================
   REMOVE BUTTON
================================ */

.remove-btn{
background:none;
border:none;
color:#aaa;
font-size:12px;
cursor:pointer;
}

.remove-btn:hover{
color:white;
}


/* ===============================
CHECKOUT PRODUCT ROW
=============================== */

.checkout-item{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px 0;
border-bottom:1px solid #222;
}

.checkout-product{
display:flex;
align-items:center;
gap:12px;
}

.checkout-product img{
width:55px;
height:55px;
object-fit:contain;
background:#1a1a1a;
padding:6px;
border-radius:6px;
}

.checkout-name{
font-size:14px;
color:#ddd;
}

.checkout-price{
font-weight:600;
color:white;
}


/* ===============================
STATE DROPDOWN
=============================== */

.checkout-form select{
width:100%;
padding:14px;
margin-bottom:15px;
background:#1a1a1a;
color:white;
border:1px solid #222;
border-radius:6px;
font-size:14px;
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;
cursor:pointer;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23aaa' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5l6 6 6-6'/%3E%3C/svg%3E");
background-repeat:no-repeat;
background-position:right 14px center;
background-size:12px;
padding-right:35px;
}

.checkout-form select:focus{
outline:none;
border-color:#1e90ff;
box-shadow:0 0 0 1px #1e90ff;
}


/* ===============================
CHECKOUT SUMMARY
=============================== */

.summary-row{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:12px;
font-size:16px;
}

.summary-row span:last-child{
font-weight:600;
}

.total-row{
font-size:18px;
font-weight:700;
}

.discount-row{
color:#4caf50;
}


/* ===============================
PROMO CODE
=============================== */

.promo-section{
display:flex;
gap:10px;
margin:15px 0;
}

.promo-section input{
flex:1;
padding:12px;
background:#1a1a1a;
border:none;
color:white;
border-radius:6px;
}

.promo-btn{
padding:12px 16px;
background:#1e90ff;
border:none;
color:white;
cursor:pointer;
border-radius:6px;
font-weight:600;
transition:0.25s;
}

.promo-btn:hover{
background:#187bcd;
}

#promo-message{
font-size:13px;
margin-top:6px;
color:#1e90ff;
}

.promo-box{
display:flex;
gap:10px;
margin:15px 0;
}

.promo-box input{
flex:1;
padding:12px;
background:#1a1a1a;
border:none;
color:white;
border-radius:6px;
}

.promo-box button{
padding:12px 16px;
background:#1e90ff;
border:none;
color:white;
cursor:pointer;
border-radius:6px;
font-weight:600;
}

/* ===============================
CHECKOUT TOTALS
=============================== */

.summary-row{
display:flex;
justify-content:space-between;
margin-top:12px;
}

.total-row{
font-size:18px;
font-weight:700;
}

.discount-row{
color:#4caf50;
}

/* =====================================
TABLET RESPONSIVE
===================================== */

@media (max-width:1200px){

.home-hero{
padding:0 60px;
}

.trainers{
padding:60px;
}

.shop{
padding:60px;
}

.footer-grid{
grid-template-columns:repeat(2,1fr);
gap:40px;
}

.shop-grid{
grid-template-columns:repeat(2,1fr);
}

.trainer-grid{
grid-template-columns:repeat(2,1fr);
}

.program-grid{
grid-template-columns:repeat(2,1fr);
}

.blog-container{
padding:60px 40px;
}

}
/* =====================================
MOBILE RESPONSIVE
===================================== */

@media (max-width:768px){

/* HEADER */

header{
display:flex;
align-items:center;
justify-content:center;
padding:20px 25px;
position:relative;
}

.logo{
position:absolute;
left:25px;
top:50%;
transform:translateY(-50%);
}

.logo img{
height:70px;
}

/* NAV */

nav{
display:flex;
gap:18px;
font-size:14px;
}

/* CART */

.cart-icon{
position:absolute;
right:25px;
top:50%;
transform:translateY(-50%);
font-size:20px;
}

/* HERO */

.home-hero{
padding:0 30px;
height:80vh;
}

.home-hero h2{
font-size:38px;
line-height:1.2;
}

.home-hero p{
font-size:15px;
max-width:420px;
}

/* PAGE TITLE */

.page-title h2{
font-size:34px;
}

/* TRAINERS */

.trainers{
padding:40px 25px;
}

.trainer-grid{
grid-template-columns:1fr;
}

/* SHOP */

.shop{
padding:40px 25px;
}

.shop-grid{
grid-template-columns:1fr;
}

/* PROGRAMS */

.program-grid{
grid-template-columns:1fr;
}

/* PROGRAM IMAGE FIX */

.program-card{
overflow:hidden;
}

.program-card img{
width:100%;
height:300px;
object-fit:cover;
object-position:center top;
display:block;
}
/* BLOG */

.blog-container{
padding:40px 20px;
grid-template-columns:1fr;
}

/* FOOTER */

.footer-grid{
grid-template-columns:1fr;
gap:35px;
text-align:center;
}

/* LINKS */

.footer-links-columns{
display:flex;
justify-content:center;
gap:40px;
}

.footer-links-column{
align-items:center;
}

/* NEWSLETTER */

.newsletter-box{
display:flex;
justify-content:center;
gap:8px;
flex-wrap:wrap;
}

.newsletter-box input{
width:240px;
max-width:90%;
}

/* PAYMENT ICONS */

.payment-icons,
.payment-logos{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
flex-wrap:wrap;
margin-top:10px;
}

.payment-icons img,
.payment-logos img{
height:24px;
object-fit:contain;
}

/* PAYMENT SECTION CENTER FIX */

.footer-newsletter{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

.footer-newsletter h4{
text-align:center;
}

/* payment icons row */

.payment-icons{
display:flex;
justify-content:center;
align-items:center;
gap:18px;
flex-wrap:wrap;
margin:12px auto;
width:100%;
}

/* icon size */

.payment-icons img{
height:26px;
object-fit:contain;
}

/* secure checkout text */

.secure-checkout{
text-align:center;
margin-top:10px;
}
   
/* COPYRIGHT */

.footer-bottom{
text-align:center;
}

/* CONTACT */

.contact-center{
padding:70px 20px;
}

}

/* =====================================
SMALL PHONE
===================================== */

@media (max-width:480px){

/* HEADER */

header{
display:flex;
align-items:center;
justify-content:center;
padding:16px 15px;
position:relative;
}

/* LOGO */

.logo{
position:absolute;
left:15px;
top:50%;
transform:translateY(-50%);
}

.logo img{
height:55px;
}

/* NAV */

nav{
display:flex;
gap:10px;
font-size:12px;
white-space:nowrap;
}

/* CART */

.cart-icon{
position:absolute;
right:15px;
top:50%;
transform:translateY(-50%);
font-size:18px;
display:flex;
align-items:center;
gap:4px;
}

/* HERO */

.home-hero{
padding:0 20px;
height:70vh;
}

.home-hero h2{
font-size:28px;
line-height:1.2;
}

.home-hero p{
font-size:14px;
max-width:300px;
}

/* PAGE TITLES */

.page-title h2{
font-size:28px;
}

/* TRAINERS */

.trainers{
padding:35px 20px;
}

.trainer-grid{
grid-template-columns:1fr;
}

/* SHOP */

.shop{
padding:35px 20px;
}

.shop-grid{
grid-template-columns:1fr;
}

/* PROGRAMS */

.program-grid{
grid-template-columns:1fr;
}

/* BLOG */

.blog-container{
padding:35px 20px;
grid-template-columns:1fr;
}

/* CONTACT */

.contact-center{
padding:60px 20px;
}

/* FOOTER */

.footer-grid{
grid-template-columns:1fr;
gap:30px;
text-align:center;
justify-items:center;
}

.footer-links-columns{
justify-content:center;
}

.newsletter-box{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:8px;
}

.newsletter-box input{
width:220px;
}

/* COPYRIGHT */

.footer-bottom{
font-size:12px;
text-align:center;
}

}
