/* =========================
FULL RIS HEALING CSS
COPY EVERYTHING
========================= */

/* ===== RESET ===== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

/* ===== BODY ===== */

body{
    background:#fdfbf7;
    color:#1b3b2f;
    overflow-x:hidden;
}

/* =========================
NAVBAR
========================= */

.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 50px;
    z-index:9999;

    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(12px);
}

.logo img{
    width:75px;
    height:auto;
    object-fit:contain;
}

/* ===== NAV LINKS ===== */

.navbar ul{
    display:flex;
    list-style:none;
    gap:25px;
}

.navbar ul li a{
    text-decoration:none;
    color:#1b3b2f;
    font-weight:500;
    transition:0.3s ease;
    position:relative;
}

.navbar ul li a:hover,
.navbar ul li a.active{
    color:#f2b7b0;
}

/* =========================
HERO SECTION
========================= */


.hero{
    height:100vh;

    background:
    linear-gradient(rgba(0,0,0,0.35),
    rgba(0,0,0,0.35)),
    url('home page bckgnd.jpg');

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;
    padding:20px;
}

.hero-content{
    color:white;
    max-width:700px;
}

.hero h1{
    font-size:4rem;
    margin-bottom:20px;
}

.hero p{
    font-size:1.1rem;
    margin-bottom:30px;
    line-height:1.7;
}


.hero-content h1{
    font-size:40px;
    color:white;
    text-align:center;
    font-weight:300;
    letter-spacing:2px;
    line-height:1.2;
    white-space:nowrap;
}

/* =========================
BUTTONS
========================= */

.buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.btn{
    padding:14px 30px;
    border-radius:40px;
    text-decoration:none;
    transition:0.3s ease;
    font-weight:600;
}

.primary{
    background:#1b3b2f;
    color:white;
}

.primary:hover{
    background:#f2b7b0;
    color:#1b3b2f;
}

.outline{
    border:1px solid white;
    color:white;
}

.outline:hover{
    background:white;
    color:#1b3b2f;
}

/* =========================
SERVICES
========================= */

.services{
    padding:140px 40px 80px;
    text-align:center;
}

.services h2{
    font-size:2.5rem;
    margin-bottom:40px;
    color: #000;
}

.service-cards{
    max-width:1200px;
    margin:50px auto;

    display:grid;
    grid-template-columns:repeat(3, 1fr);

    gap:30px;
}

.card{
    background:rgba(255,255,255,0.9);

    border-radius:20px;

    overflow:hidden;

    cursor:pointer;

    transition:0.3s;

    box-shadow:0 5px 20px rgba(0,0,0,0.12);
}

.card:hover{
    transform:translateY(-8px);
}

.card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.card h3{
    padding:15px 15px 8px;
    color:#1b3b2f;
}

.card p{
    padding:0 15px 20px;
    color:#555;
    line-height:1.6;
}


/* =========================
ABOUT PAGE
========================= */

.about{
    padding:140px 40px 80px;
}

.about-content{
    display:flex;
    flex-direction:column;
    gap:50px;
}

.about-text{
    padding:30px;

    border-radius:20px;

    line-height:1.9;

    color:black;

    background:transparent;

    box-shadow:none;
}

.about-image img{
    width:100%;
    max-width:450px;
    display:block;
    margin:auto;
    border-radius:20px;
}

/* =========================
BIOGRAPHY
========================= */

.bio-section{
    padding:60px 0;

}

.bio-container{
    display:flex;
    gap:40px;
    align-items:center;
    flex-wrap:wrap;
}

.bio-image img{
    width:100%;
    max-width:350px;
    border-radius:20px;
}

.bio-text{
    flex:1;
}

.bio-text h2{
    margin-bottom:10px;
    color: #000;
}

.bio-text h3{
    margin-bottom:20px;
    color:#e70883;
}

.bio-text h4{
    margin-bottom:20px;
    line-height:1.8;
    color: black;
}

/* =========================
GALLERY
========================= */

.gallery{
    padding:140px 40px 80px;
    text-align:center;
}

.gallery-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap:20px;
}

.gallery-grid img{
    width:100%;
    height:220px;
    object-fit:cover;

    border-radius:20px;

    cursor:pointer;

    transition:0.3s ease;

    box-shadow:
    0 4px 20px rgba(0,0,0,0.08);
}

.gallery-grid img:hover{
    transform:scale(1.03);
}

/* =========================
LIGHTBOX
========================= */

.lightbox{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.9);
    z-index:99999;

    justify-content:center;
    align-items:center;
}

.lightbox-img{
    max-width:90%;
    max-height:90%;
    border-radius:20px;
}

.close-btn{
    position:absolute;
    top:30px;
    right:40px;

    font-size:40px;
    color:white;
    cursor:pointer;
}

/* =========================
MODALS
========================= */

.modal{
    display:none;
    position:fixed;
    inset:0;

    background:rgba(0,0,0,0.7);

    z-index:9999;
}

.modal-content{
    background:white;

    width:90%;
    max-width:600px;

    margin:80px auto;

    padding:30px;

    border-radius:20px;

    position:relative;

    max-height:80vh;
    overflow-y:auto;
}

.close{
    position:absolute;
    top:15px;
    right:20px;

    font-size:30px;
    cursor:pointer;
}

/* =========================
CONTACT PAGE
========================= */

.contact{
    padding:140px 40px 80px;
}

.contact-container{
    display:flex;
    gap:40px;
    flex-wrap:wrap;
}

.contact-form{
    flex:1;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:14px;
    margin-bottom:20px;

    border-radius:15px;
    border:1px solid #ddd;
}

.contact-form button{
    padding:14px 25px;
    border:none;
    background:#1b3b2f;
    color:white;
    border-radius:30px;
    cursor:pointer;
}

.contact-details{
    flex:1;
}

/*==========================
WHATSAPP BUTTON
==========================*/

.whatsapp-float{
    position:fixed;
    bottom:25px;
    right:25px;

    width:65px;
    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    transition:.3s;

    z-index:9999;
}

.whatsapp-float img{
    width:35px;
    height:35px;
    object-fit:contain;
}

.whatsapp-float:hover{
    transform:scale(1.1);
    box-shadow:0 15px 35px rgba(37,211,102,.45);
}

.whatsapp-float i{
    color:white;
    font-size:34px;
}
/* =========================
COMMUNITY DRIVES
========================= */


.drives-hero{
    height:60vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.drives-hero h1{
    color:white;
    font-size:4rem;
}

.drives-hero p{
    color:white;
    margin-top:15px;
}

.drive-card{
    max-width:1200px;

    margin:80px auto;

    display:flex;
    gap:40px;

    background:white;

    border-radius:25px;

    padding:30px;

    box-shadow:
    0 5px 25px rgba(0,0,0,0.08);
}

.drive-card img{
    width:300px;
    height:300px;
    object-fit:cover;
    border-radius:20px;
}

.drive-info{
    flex:1;
}

.drive-info h2{
    color:black;
    margin-bottom:20px;
}

.drive-info p{
    line-height:1.8;
    margin-bottom:15px;
}

.future-drives{
    padding:80px 40px;
    text-align:center;
}

.drive-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:25px;
    margin-top:40px;
}

.drive-box{
    background:white;
    padding:30px;
    border-radius:20px;

    box-shadow:
    0 4px 20px rgba(0,0,0,0.08);
}


.drives-section{
    max-width:1200px;
    margin:0 auto;
    padding:140px 20px 80px;
    color: #000;
}

.drive-card{
    width:340px;
    min-height:560px;

    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

    transition:.3s;

    display:flex;
    flex-direction:column;
}

.drive-card:hover{
    transform:translateY(-8px);
}

.drive-card img{

    width:100%;

    height:240px;

    object-fit:cover;

    display:block;
}

.drive-info{

    padding:25px;

    text-align:center;

    flex:1;

    display:flex;

    flex-direction:column;

    justify-content:space-between;
}

.drive-info h2{

    font-size:28px;

    color:#1b3b2f;

    margin-bottom:15px;
}

.drive-info p{

    line-height:1.8;

    color:#555;

    margin-bottom:25px;
}

@media(max-width:768px){

    .drive-card{
        flex-direction:column;
    }

    .drive-card img{
        width:100%;
        height:250px;
    }
}

.drives-section .drive-card:first-of-type{
    margin-top:120px;
}

.drives-gallery{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
    margin-top:50px;
}

.drive-images{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:15px;
}

.drive-images img{
    width:100%;
    height:120px;
    object-fit:cover;
    border-radius:12px;
    transition:0.3s;
}

.drive-images img:hover{
    transform:scale(1.05);
}

/* =========================
FOOTER
========================= */

.footer{
    background:#1b3b2f;
    color:white;

    padding:50px 40px 20px;
}

.footer-content{
    display:flex;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap;
}

.footer-logo img{
    width:100px;
    margin-bottom:15px;
}

.footer-bottom{
    text-align:center;
    margin-top:30px;
}


.footer-social{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:20px;
}

.footer-social a{
    color:#fff;
    font-size:28px;
    text-decoration:none;
    transition:0.3s;
}

.footer-social a:hover{
    color:#d4af37;
    transform:translateY(-4px);
}
/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

    .navbar{
        flex-direction:column;
        gap:20px;
    }

    .navbar ul{
        flex-wrap:wrap;
        justify-content:center;
    }

    .hero h1{
        font-size:2.5rem;
    }

    .bio-container{
        flex-direction:column;
    }

    .contact-container{
        flex-direction:column;
    }

}



/* ===================================
PAGE BACKGROUNDS
=================================== */

.home-page{
   background:url('home page bckgnd.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* ABOUT */
.about-page{
    background:url('About us.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* SERVICES */
.services-page{
    background:url('services background.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* GALLERY */
.gallery-page{
    background:url('gallery background.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* PROMOTIONS */
.promo-page{
    background:url('background 2.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* POLICIES */
.policies-page{
    background:url('background 3.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* DRIVES */
.drives-page{
    background:url('background 4.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/* CONTACT */
.contact-page{
    background:url('download\ \(4\).jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

/*====================================
        PROMOTIONS PAGE
====================================*/


/*========== HERO ==========*/

.promo-hero{
    padding:170px 20px 70px;
    text-align:center;
}

.promo-hero h1{
    font-size:60px;
    color:black;
    font-weight:300;
    letter-spacing:3px;
    margin-bottom:20px;
}

.gold-line{
    width:120px;
    height:4px;
    background:#d4af37;
    margin:20px auto;
    border-radius:30px;
}

.promo-hero h4{
    max-width:750px;
    margin:auto;
    font-size:18px;
    color:black;
    line-height:1.9;
}

/*========== PROMOTION LAYOUT ==========*/

.promo-container{

    max-width:1200px;

    margin:auto;

    padding:30px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(430px,1fr));

    gap:35px;

    align-items:start;

}

/*========== CARD ==========*/

.offer-card{

    position:relative;

    background:white;

    border-radius:30px;

    padding:35px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.offer-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

/*========== RIBBON ==========*/

.offer-tag{

    position:absolute;

    top:25px;

    right:-35px;

    background:#d88ec8;

    color:white;

    padding:12px 45px;

    transform:rotate(35deg);

    font-weight:bold;

    font-size:14px;

    letter-spacing:1px;

}

/*========== WOMEN'S CARD ==========*/

.women-card{

    border-top:8px solid #d88ec8;

}

/*========== SPA CARD ==========*/

.spa-card{

    border-top:8px solid #d68a2f;

}

.spa-card .offer-tag{

    background:#d68a2f;

}

/*========== HEADINGS ==========*/

.offer-card h2{

    color:#1b3b2f;

    font-size:34px;

    margin-bottom:18px;

}

.offer-description{

    color:#666;

    line-height:1.8;

    margin-bottom:30px;

}

/*========== FEATURES ==========*/

.offer-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-bottom:35px;

}

.offer-item{

    background:#faf7f5;

    padding:15px;

    border-radius:15px;

    text-align:center;

    font-size:15px;

    color:#555;

}

/*========== DATE ==========*/

.offer-info{

    text-align:center;

    margin-bottom:25px;

}

.offer-info h3{

    font-size:32px;

    color:#1b3b2f;

}

.offer-info p{

    color:#888;

    font-size:18px;

}

/*========== PRICE ==========*/

.offer-price{

    text-align:center;

    font-size:60px;

    color:#d4af37;

    font-weight:bold;

    margin-bottom:25px;

}

.offer-price span{

    display:block;

    font-size:18px;

    color:#777;

    font-weight:400;

}

/*========== BUTTON ==========*/

.book-btn{

    display:block;

    text-align:center;

    text-decoration:none;

    background:#1b3b2f;

    color:white;

    padding:18px;

    border-radius:50px;

    font-size:18px;

    font-weight:600;

    transition:.3s;

}

.book-btn:hover{

    background:#2d5d4a;

    transform:scale(1.03);

}

/*========== FOOTER MESSAGE ==========*/

.promo-footer-message{

    text-align:center;

    padding:80px 20px;

}

.promo-footer-message h2{

    font-size:36px;

    color:#1b3b2f;

    font-weight:300;

    max-width:900px;

    margin:auto;

    line-height:1.5;

}

/* Dube Card */

.dube-card{
    border-top:8px solid #1b3b2f;
}

.dube-card .offer-tag{
    background:#1b3b2f;
}

.promo-image{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:18px;
    margin:20px 0 25px;
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

/* July Card */

.july-card{
    border-top:8px solid #4f72ff;
}

.july-card .offer-tag{
    background:#4f72ff;
}

/*========== MOBILE ==========*/

@media(max-width:900px){

.promo-container{

grid-template-columns:1fr;

}

.offer-card{

padding:30px;

}

.offer-list{

grid-template-columns:1fr;

}

.offer-price{

font-size:48px;

}

.promo-hero h1{

font-size:45px;

}

}

@media(max-width:500px){

.offer-card{

padding:25px;

}

.offer-card h2{

font-size:28px;

}

.offer-tag{

right:-45px;

font-size:12px;

padding:10px 40px;

}

}
/* ==========================
   POLICIES PAGE
========================== */

.policies{
    padding:160px 40px 80px;
    text-align:center;
}

.policies h1{
    color:black;
    font-size:48px;
    margin-bottom:20px;
}

.policies p{
    max-width:800px;
    margin:0 auto 50px;
    line-height:1.8;
}

/* Horizontal Row */

.policy-container{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:25px;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:20px;
}

/* Square Cards */

.policy-box{
    flex:0 0 250px;

    width:250px;
    height:250px;

    background:rgba(255,255,255,0.9);

    border-radius:20px;

    padding:20px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    box-shadow:0 8px 20px rgba(0,0,0,.12);

    transition:.3s;
}

.policy-box:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(0,0,0,.18);
}

.policy-box h2{
    color:#1b3b2f;
    margin-bottom:15px;
}

.policy-box p{
    line-height:1.6;
    margin:0;
}

/*==========================
SOCIAL MEDIA ICONS
==========================*/

.social-icons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin-top:20px;
}

.social-icons a{
    width:50px;
    height:50px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#1b3b2f;
    color:#fff;

    border-radius:50%;

    font-size:24px;

    text-decoration:none;

    transition:.3s ease;
}

.social-icons a:hover{
    background:#d4af37;
    transform:translateY(-5px) scale(1.1);
    box-shadow:0 10px 20px rgba(0,0,0,.2);
}


/* ===================================
   MOBILE RESPONSIVE DESIGN
=================================== */

@media screen and (max-width:768px){

/* Navbar */

.navbar{
    padding:15px 20px;
    flex-direction:column;
    gap:15px;
}

.logo img{
    width:80px;
}

.navbar ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:15px;
    padding:0;
}

.navbar ul li a{
    font-size:15px;
}

/* Hero */

.hero{
    padding:150px 20px 80px;
    text-align:center;
}

.hero h1{
    font-size:42px;
}

.hero p{
    font-size:18px;
}

.hero-buttons{
    flex-direction:column;
    gap:15px;
}

/* Rebalance line */

.hero-words{
    flex-direction:column;
    gap:10px;
    font-size:28px;
}

/* About */

.about-container{
    flex-direction:column;
}

.about-image img{
    width:100%;
}

/* Services */

.services-grid{
    grid-template-columns:1fr;
}

.service-card{
    width:100%;
}

/* Gallery */

.gallery-grid{
    grid-template-columns:1fr;
}

/* Promotions */

.promo-grid{
    flex-direction:column;
    align-items:center;
}

.promo-card{
    width:100%;
    max-width:360px;
    padding:25px;
}

.promo-details{
    grid-template-columns:1fr;
}

.promo-card h2{
    font-size:30px;
}

.promo-price{
    font-size:42px;
}

/* Community Drives */

.drives-grid{
    grid-template-columns:1fr;
}

.drive-card{
    width:100%;
}

.drive-images{
    grid-template-columns:1fr;
}

/* Policies */

.policy-container{
    flex-direction:column;
    align-items:center;
}

.policy-box{
    width:90%;
    height:auto;
}

/* Contact */

.contact-container{
    flex-direction:column;
}

.contact-info,
.contact-form{
    width:100%;
}

/* Footer */

.footer-content{
    flex-direction:column;
    text-align:center;
    gap:30px;
}

.footer-logo img{
    margin:auto;
}

.footer-social{
    justify-content:center;
}

/* WhatsApp */

.whatsapp-float{
    width:60px;
    height:60px;
    right:20px;
    bottom:20px;
}

.whatsapp-float img{
    width:30px;
}

}

/* Tablets */

@media screen and (min-width:769px) and (max-width:1024px){

.services-grid,
.gallery-grid,
.drives-grid{
    grid-template-columns:repeat(2,1fr);
}

.promo-grid{
    flex-wrap:wrap;
}

.promo-card{
    width:420px;
}

.policy-container{
    flex-wrap:wrap;
}

}

@media (max-width:768px){

.policy-container,
.drives-gallery,
.promo-grid{
    flex-wrap:wrap;
}

}


/* Hide hamburger on desktop */
@media screen and (min-width:769px){
  .menu-toggle { display:none; }
}

/* Mobile navbar */
@media screen and (max-width:768px){
  .navbar {
    display:flex;
    justify-content:space-between; /* logo left, hamburger right */
    align-items:center;
    padding:12px 20px;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:rgba(255,255,255,0.9);
    z-index:9999;
  }


  @media screen and (max-width:768px){
  .menu-toggle {
    display:block;
    font-size:24px;
    cursor:pointer;
    color:#1b3b2f;
    z-index:10001;

    /* Force top right */
    position:fixed;
    top:15px;
    right:20px;

    /* Remove margin tricks */
    margin:0;
  }
}

@media screen and (max-width:768px){
  .navbar {
    display:flex;
    justify-content:space-between; /* logo left, hamburger right */
    align-items:center;
    flex-direction:row;            /* keep row layout */
    padding:12px 20px;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:rgba(255,255,255,0.9);
    z-index:9999;
  }

  .logo {
    margin:0;
  }

  .logo img {
    width:60px;
    height:auto;
  }
}


  .logo img {
    width:60px;
    height:auto;
  }

  .menu-toggle {
    display:block;
    font-size:24px;
    cursor:pointer;
    color:#1b3b2f;
    z-index:10001;
  }

  #nav-menu {
    position:fixed;
    top:0;
    right:-280px;
    width:260px;
    height:100vh;
    background:#1b3b2f;
    transition:.35s;
    z-index:10000;
    padding-top:80px;
  }

  #nav-menu.active { right:0; }

  #nav-menu ul {
    display:flex;
    flex-direction:column;
  }

  #nav-menu li a {
    display:block;
    color:white;
    padding:18px 30px;
    font-size:17px;
  }

  #nav-menu li a:hover {
    background:#d4af37;
    color:#1b3b2f;
  }

  .menu-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:9998;
  }

  .menu-overlay.active {
    opacity:1;
    visibility:visible;
  }
}


@media screen and (max-width:768px){
  .menu-toggle {
    display:block;
    font-size:24px;
    cursor:pointer;
    position:fixed;
    top:15px;
    right:20px;
    z-index:10001;

    /* Make button background white */
    background:white;
    color:#1b3b2f;   /* dark icon color */
    border-radius:8px;
    width:42px;
    height:42px;
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
  }

  /* When menu is active, show close icon in same style */
  .menu-toggle.active {
    background:white;
    color:#1b3b2f;
  }
}


/* =====================================
   MOBILE - SERVICES PAGE
===================================== */
@media screen and (max-width:768px){

    .services{
        padding:120px 20px 60px;
    }

    .services h2{
        font-size:2rem;
        margin-bottom:30px;
    }

    .service-cards{
        display:grid;
        grid-template-columns:1fr;
        gap:20px;
    }

    .card{
        width:100%;
        max-width:350px;
        margin:0 auto;
        border-radius:20px;
    }

    .card img{
        width:100%;
        height:220px;
        object-fit:cover;
        border-radius:20px 20px 0 0;
    }

    .card h3{
        font-size:1.3rem;
    }

    .card p{
        font-size:0.95rem;
        padding:0 15px 20px;
    }

    /* Modal */

    .modal-content{
        width:90%;
        max-width:400px;
        padding:20px;
        border-radius:20px;
    }

    .modal-content h2{
        font-size:1.6rem;
    }

    .modal-content li,
    .modal-content ol{
        font-size:15px;
    }

}

@media screen and (max-width:480px){

    .service-cards{
        grid-template-columns:1fr;
    }

}

/* ==========================================
   HOME PAGE - MOBILE RESPONSIVE
========================================== */

@media screen and (max-width:768px){

    /* Navbar */
    .navbar{
        padding:15px 20px;
    }

    .logo img{
        width:60px;
    }

    /* Hero Section */
    .hero{
        height:100vh;
        padding:0 20px;
        text-align:center;
        justify-content:center;
        align-items:center;
    }

    .hero h1{
        font-size:2.4rem;
        line-height:1.2;
    }

    .hero h2{
        font-size:1.3rem;
        margin-top:15px;
    }

    .hero p{
        font-size:1rem;
        margin:20px auto;
        max-width:320px;
        line-height:1.7;
    }

    /* Rebalance • Rejuvenate • Renew */
    .hero-words{
        display:flex;
        flex-direction:column;
        gap:8px;
        font-size:1.1rem;
        margin-top:20px;
    }

    /* Buttons */
    .hero-buttons{
        display:flex;
        flex-direction:column;
        gap:15px;
        width:100%;
        align-items:center;
    }

    .hero-buttons a{
        width:90%;
        max-width:280px;
        text-align:center;
    }

    /* About Preview */
    .about-preview{
        flex-direction:column;
        padding:60px 20px;
        gap:30px;
        text-align:center;
    }

    .about-preview img{
        width:100%;
        max-width:320px;
    }

    /* Services Preview */
    .home-services{
        padding:60px 20px;
    }

    .service-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    /* Gallery Preview */
    .gallery-preview{
        padding:60px 20px;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .gallery-grid img{
        height:140px;
    }

    /* Footer */
    .footer-content{
        flex-direction:column;
        text-align:center;
        gap:30px;
    }

    .footer-logo img{
        width:80px;
    }

}

@media screen and (max-width:480px){

    .hero h1{
        font-size:2rem;
    }

    .hero h2{
        font-size:1.1rem;
    }

    .hero p{
        font-size:.95rem;
    }

    .gallery-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:768px){

    .hero-content{
        text-align:center;
        padding:0 20px;
    }

    .hero-content h1{
        font-size:2.4rem;
    }

    .hero-content h2{
        font-size:1rem;      /* Smaller so it fits */
        white-space:nowrap;  /* Keep it on one line */
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .hero-content p{
        font-size:0.95rem;
        line-height:1.7;
    }

}

/* ==========================================
   ABOUT PAGE - MOBILE RESPONSIVE
========================================== */

@media screen and (max-width:768px){

    .about-section{
        padding:120px 20px 60px;
    }

    .about-container{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:30px;
    }

    .about-image{
        width:100%;
        text-align:center;
    }

    .about-image img{
        width:100%;
        max-width:350px;
        height:auto;
        border-radius:20px;
    }

    .about-content{
        width:100%;
        text-align:center;
    }

    .about-content h1{
        font-size:2.2rem;
        margin-bottom:20px;
    }

    .about-content h2{
        font-size:1.5rem;
        margin-bottom:15px;
    }

    .about-content p{
        font-size:1rem;
        line-height:1.8;
        margin-bottom:18px;
    }

    .about-content .btn{
        width:90%;
        max-width:280px;
        margin:20px auto 0;
        display:block;
        text-align:center;
    }

}

/* Small Phones */

@media screen and (max-width:480px){

    .about-content h1{
        font-size:1.9rem;
    }

    .about-content h2{
        font-size:1.3rem;
    }

    .about-content p{
        font-size:.95rem;
    }

}

@media (max-width:480px){

    .hero-content h1{
        font-size:1.6rem;
        white-space:nowrap;
        letter-spacing:0;
    }

}

/* ==========================
   PROFESSIONAL GALLERY
========================== */

.gallery {
  padding: 120px 20px 60px;
  text-align: center;
}

.gallery h2 {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 30px;
  color: #1b3b2f;
  letter-spacing: 1px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  max-width: 1200px;
  margin: auto;
}

.gallery-grid img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 14px;
  cursor: pointer;
  transition: transform .3s ease, box-shadow .3s ease;
  box-shadow: 0 6px 16px rgba(0,0,0,.1);
}

.gallery-grid img:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}

/* Lightbox animation */
.lightbox-img {
  animation: fadeIn .4s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* ==========================
   RESPONSIVE
========================== */

@media screen and (max-width:768px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .gallery-grid img {
    height: 160px;
    border-radius: 12px;
  }
}

@media screen and (max-width:480px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .gallery-grid img {
    height: 200px;
  }
}


/* ==========================
   MOBILE FOOTER
========================== */

@media screen and (max-width:768px){

.footer{
    padding:20px 15px 10px;
}

.footer-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:15px;
    text-align:center;
}

.footer-logo img{
    width:60px;
    margin-bottom:8px;
}

.footer-logo p{
    font-size:14px;
    line-height:1.4;
    margin:0;
}

.footer-contact h4{
    font-size:18px;
    margin-bottom:8px;
}

.footer-contact p{
    font-size:14px;
    margin:4px 0;
    line-height:1.4;
}

.social-icons{
    display:flex;
    justify-content:center;
    gap:15px;
    margin-top:10px;
}

.social-icons a{
    font-size:22px;
}

.footer-bottom{
    margin-top:15px;
    padding-top:10px;
    font-size:13px;
}

}

@media screen and (max-width:768px){
  .menu-toggle {
    position:fixed;
    top:15px;
    right:20px;
    width:42px;
    height:42px;
    background:white;   /* white background */
    color:#1b3b2f;      /* dark icon color */
    border-radius:8px;
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
    cursor:pointer;
    z-index:10001;
  }
}

/* Desktop: show links, hide hamburger */
@media screen and (min-width:769px){
  .menu-toggle { display:none; }
  .navbar nav ul { display:flex; gap:25px; }
}

/* Mobile: logo left, hamburger top right */
@media screen and (max-width:768px){
  .navbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 20px;
    position:fixed;
    top:0; left:0;
    width:100%;
    background:rgba(255,255,255,0.9);
    z-index:9999;
  }

  .logo img { width:60px; }

  .menu-toggle {
    position:fixed;
    top:15px; right:20px;
    width:42px; height:42px;
    background:white;
    color:#1b3b2f;
    border-radius:8px;
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
    cursor:pointer;
    z-index:10001;
  }

  #nav-menu {
    position:fixed;
    top:0; right:-280px;
    width:260px; height:100vh;
    background:#1b3b2f;
    transition:.35s;
    z-index:10000;
    padding-top:80px;
  }
  #nav-menu.active { right:0; }

  #nav-menu ul {
    display:flex;
    flex-direction:column;
  }
  #nav-menu li a {
    display:block;
    color:white;
    padding:18px 30px;
    font-size:17px;
  }
  #nav-menu li a:hover {
    background:#d4af37;
    color:#1b3b2f;
  }

  .menu-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0; visibility:hidden;
    transition:.3s;
    z-index:9998;
  }
  .menu-overlay.active {
    opacity:1; visibility:visible;
  }
}


/*========== DUBE BOXING CLUB CARD ==========*/

.dube-card{
    border-top:8px solid #3924b8;
}

.dube-card .offer-tag{
    background:#3924b8;
}

/* Promotion Images */

.promo-image{
    width:100%;
    height:380px;
    object-fit:cover;
    display:block;
    border-radius:20px;
    margin-bottom:25px;
}

/* Dube button */

.dube-card .book-btn{
    background:#3924b8;
}

.dube-card .book-btn:hover{
    background:#24157f;
}

@media (max-width:768px){

    .promo-container{
        grid-template-columns:1fr;
        padding:20px 15px;
        gap:25px;
    }

    .offer-card{
        padding:25px 20px;
        border-radius:22px;
    }

    .offer-card h2{
        font-size:28px;
    }

    .promo-image{
        height:auto;
        max-height:500px;
        object-fit:contain;
        border-radius:15px;
    }

    .offer-list{
        grid-template-columns:1fr;
        gap:10px;
    }

    .offer-price{
        font-size:45px;
    }

    .offer-tag{
        font-size:12px;
        padding:10px 35px;
    }

}

/* ====================================
   DUBE BOXING CLUB PROMOTION
==================================== */

.boxing-card{
    border-top:8px solid #2410a8;
    background:#ffffff;
}

.boxing-card .offer-tag{
    background:#2410a8;
}

/* Promotion picture */

.boxing-card .offer-image{
    width:100%;
    height:300px;
    margin:-5px 0 30px;
    border-radius:20px;
    overflow:hidden;
}

.boxing-card .offer-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

/* Heading */

.boxing-card h2{
    color:#1b3b2f;
}

/* Date */

.boxing-card .offer-info h3{
    color:#2410a8;
}

/* 50% OFF */

.boxing-card .offer-price{
    color:#d4af37;
}

/* Feature boxes */

.boxing-card .offer-item{
    background:#f3f1ff;
    color:#1b3b2f;
}

/* Button */

.boxing-card .book-btn{
    background:#1b3b2f;
}

.boxing-card .book-btn:hover{
    background:#2410a8;
}


/* ====================================
   AUGUST WELLNESS SPECIAL
==================================== */

.august-card{
    border-top:8px solid #6b4a3a;
}

.august-card .offer-tag{
    background:#6b4a3a;
}

.august-card .offer-image{
    width:100%;
    height:380px;
    margin-bottom:25px;
    border-radius:20px;
    overflow:hidden;
    background:#f7f4f1;
}

.august-card .offer-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.august-card .offer-info h3{
    color:#6b4a3a;
}

.august-card .offer-item{
    background:#f7f4f1;
    color:#5a4034;
}

.august-card .offer-price{
    color:#6b4a3a;
}



@media (max-width:768px){

    .august-card .offer-image{
        height:auto;
        min-height:300px;
    }

    .august-card .offer-image img{
        height:auto;
        max-height:600px;
        object-fit:contain;
    }

}
