/* ==================================================
   GLOBAL STYLES
================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:var(--cream);
    color:#222;
    overflow-x:hidden;
}

:root{
    --primary:#0E4B4E;
    --gold:#C9A063;
    --cream:#F7F3EA;
    --dark:#1A1A1A;
    --white:#ffffff;
}

/* ==================================================
   TYPOGRAPHY
================================================== */

h1,h2,h3,h4,h5{
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
}

.calligraphy-text{
    font-family:'Pinyon Script',cursive;
    font-size: 100px;
    color:var(--cream);
}

/* ==================================================
   NAVBAR
================================================== */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;

    background:rgba(247,243,234,.95);
    backdrop-filter:blur(12px);

    border-bottom:1px solid transparent;
    transition:border-bottom .4s ease;
}

.header:hover{
    border-bottom:5px solid var(--primary);
}

.navbar{
    width:100%;
    max-width:1400px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;

    padding:10px 40px;
}

.logo{
    text-align:center;
}

.logo a{
    display:inline-block;
}

.logo img{
    width:90px;
    display:block;
    cursor:pointer;
    transition:transform .3s ease;
}

.logo img:hover{
    transform:scale(1.05);
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:60px;
}

.left-menu{
    justify-content:flex-start;
}

.right-menu{
    justify-content:flex-end;
}

.nav-menu li{
    list-style:none;
}

.nav-menu a{
    position:relative;

    text-decoration:none;

    color:var(--primary);

    font-family:'Cormorant Garamond',serif;

    font-size:16px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:3px;

    transition:.35s;
}

.nav-menu a:hover{
    color:var(--gold);
}

.nav-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;

    width:0;
    height:2px;

    background:var(--gold);

    transition:.35s;
}

.nav-menu a:hover::after{
    width:100%;
}

/* ==================================================
   ANIMATIONS
================================================== */

/* Animation class jo hum JS se add karenge */
.fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in-up{
    animation:fadeInUp 1.2s ease-out forwards;
    opacity:0;
}

.delay-1{
    animation-delay:.3s;
}

.delay-2{
    animation-delay:.6s;
}

.delay-3{
    animation-delay:.9s;
}

/* ==================================================
   BUTTONS
================================================== */

.primary-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:16px 42px;

    background:var(--primary);

    color:var(--white);

    border:2px solid var(--primary);

    border-radius:999px;

    font-size:16px;

    font-weight:600;

    letter-spacing:.5px;

    cursor:pointer;

    transition:
    background-color .4s ease,
    color .4s ease,
    border-color .4s ease,
    transform .3s ease,
    box-shadow .3s ease;

    box-shadow:0 8px 25px rgba(14,75,78,.2);

}

.primary-btn:hover{

    background:transparent;

    color:var(--gold);

    border-color:var(--gold);

    transform:translateY(-3px);

    box-shadow:0 14px 30px rgba(14,75,78,.25);

}

.primary-btn:active{
    transform:translateY(0);
}

.primary-btn:focus{
    outline:none;
}

/* ==================================================
   OPTIONAL LUXURY BUTTON
================================================== */

.luxury-btn{
    transition:all .4s ease;
    border:1px solid transparent;
}

.luxury-btn:hover{

    background:transparent;

    border-color:var(--primary);

    color:var(--primary);

}

.luxury-btn-green{

    background:var(--primary);

    color:var(--white);

}

.luxury-btn-green:hover{

    background:transparent;

    color:var(--primary);

    border-color:var(--primary);

}
.swiper-pagination-bullet { background: #ccc !important; }
    .swiper-pagination-bullet-active { background-color: #0E4B4E !important; }
.swiper-slide{

height:auto;

display:flex;

}

.swiper-slide>div{

width:100%;

height:360px;

}

.swiper-pagination{

margin-top:40px;

}

.swiper-pagination-bullet{

background:#C9A063!important;

opacity:.6;

}

.swiper-pagination-bullet-active{

background:#0E4B4E!important;

opacity:1;

}
.review-card{

height:380px;

padding:35px;

border:2px solid #0E4B4E;

border-radius:30px;

background:white;

box-shadow:0 15px 30px rgba(0,0,0,.08);

display:flex;

flex-direction:column;

justify-content:space-between;

transition:.4s;

}

.review-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.swiper{

padding-bottom:60px;

}

.swiper-slide{

height:auto;

display:flex;

}
#hero-bg {
    transition: opacity 1s ease-in-out;
}
/* Mobile screen ke liye (600px se choti screen) */
@media only screen and (max-width: 600px) {
  body {
    padding: 0%; /* Mobile par side se thoda gap dene ke liye */
  }
  .container {
    width: 100% !important; /* Content ko screen ki poori width lene ke liye */
  }
  img {
    max-width: 100%; /* Images ko screen se bahar jaane se rokne ke liye */
  }
}
.parent-container {
  display: flex;
  flex-wrap: wrap; /* Isse screen choti hone par items niche shift ho jayenge */
  flex-direction: column; /* Mobile par cheezon ko ek ke niche ek dikhane ke liye */
}
/* Desktop ke liye (default) */
.hamburger { display: none; }
.nav-menu { display: flex; }

/* Mobile ke liye (max-width: 768px) */
/* Laptop/Desktop ke liye settings */
@media (min-width: 769px) {
    .hamburger, .mobile-nav-drawer { display: none; }
}

/* Mobile ke liye settings */
@media (max-width: 768px) {
    .desktop-only { display: none; } /* Laptop menu hide */
    .hamburger { display: block; font-size: 30px; cursor: pointer; }
    
    .mobile-nav-drawer {
        display: none; /* Default band rahega */
        flex-direction: column;
        background: #f8f5f0; /* Theme color */
        position: absolute;
        width: 100%;
        left: 0;
        padding: 20px;
    }
    .mobile-nav-drawer.active { display: flex; } /* JavaScript ise open karega */
}
/* ============================
   MOBILE RESPONSIVE
============================ */

@media (max-width:768px){

    /* Navbar */

    .navbar{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:12px 20px;
        width:100%;
    }

    .logo img{
        width:65px;
    }

    .left-menu,
    .right-menu{
        display:none;
    }

    .hamburger{
        display:block;
        font-size:28px;
        color:#0E4B4E;
        cursor:pointer;
    }

    #mobile-menu{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#F7F3EA;
        flex-direction:column;
        padding:20px;
        box-shadow:0 10px 20px rgba(0,0,0,.1);
    }

    #mobile-menu.flex{
        display:flex;
    }

    #mobile-menu a{
        padding:14px 0;
        text-decoration:none;
        color:#0E4B4E;
        font-weight:600;
        border-bottom:1px solid #ddd;
    }

    /* Hero */

    .calligraphy-text{
        font-size:55px;
        line-height:1.1;
    }

    #hero-sub{
        font-size:14px !important;
        letter-spacing:4px !important;
    }

    #hero-desc{
        font-size:13px !important;
        letter-spacing:2px !important;
    }

    .primary-btn{
        padding:14px 28px;
        font-size:14px;
    }

    /* Sections */

    section{
        overflow:hidden;
    }

    h2{
        font-size:32px !important;
    }

    p{
        font-size:14px;
    }

    /* Counters */

    .grid-cols-2{
        grid-template-columns:1fr !important;
    }

    /* Videos */

    video{
        height:260px !important;
    }

    /* Testimonials */

    .swiper{
        padding:0 10px 50px;
    }

    .swiper-slide>div{
        height:auto !important;
        min-height:320px;
    }

    .testi-prev,
    .testi-next{
        display:none;
    }

    /* Footer */

    footer .grid{
        grid-template-columns:1fr !important;
        text-align:center;
    }

}
/* Desktop */
@media (min-width:769px){

    .hamburger{
        display:none;
    }

    #mobile-menu{
        display:none !important;
    }

}

/* Mobile */
@media (max-width:768px){

    .left-menu,
    .right-menu{
        display:none;
    }

    .navbar{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:15px 20px;
    }

    .logo img{
        width:70px;
    }

    .hamburger{
        display:block;
        font-size:28px;
        color:#0E4B4E;
        cursor:pointer;
    }

    #mobile-menu{
        display:none;
        flex-direction:column;
        width:100%;
        background:#F7F3EA;
    }

    #mobile-menu.flex{
        display:flex;
    }

    #mobile-menu a{
        padding:15px 20px;
        text-decoration:none;
        color:#0E4B4E;
        border-bottom:1px solid #ddd;
    }

}
/* Counter Section - Mobile Only */
@media (max-width:768px){

    /* Counter grid */
    .relative.max-w-6xl.mx-auto.px-5.grid{
        grid-template-columns: repeat(2, 1fr) !important;
        gap:15px !important;
    }

    /* Counter card */
    .relative.max-w-6xl.mx-auto.px-5.grid > div{
        padding:20px 10px !important;
        border-radius:18px;
    }

    /* Counter Number */
    .relative.max-w-6xl.mx-auto.px-5.grid h3{
        font-size:38px !important;
    }

    /* Counter Text */
    .relative.max-w-6xl.mx-auto.px-5.grid p{
        font-size:13px !important;
        margin-top:12px !important;
    }

    /* Icons */
    .relative.max-w-6xl.mx-auto.px-5.grid i{
        font-size:24px !important;
    }

}
/* =========================================
   Testimonial Section - Mobile Responsive
========================================= */
@media (max-width:768px){

    /* Swiper spacing */
    .mySwiper{
        padding:0 12px 40px;
    }

    /* Review Card */
    .mySwiper .swiper-slide > div{

        height:300px !important;
        min-height:300px !important;

        padding:18px !important;

        border-radius:22px !important;

        display:flex;
        flex-direction:column;
        justify-content:space-between;
    }

    /* Review Text */
    .mySwiper .swiper-slide p{

        font-size:12px !important;
        line-height:1.6 !important;
        margin-bottom:12px !important;
    }

    /* Client Name */
    .mySwiper .swiper-slide h4{

        font-size:16px !important;
    }

    /* Client Designation */
    .mySwiper .swiper-slide .text-sm{

        font-size:11px !important;
    }

    /* Top line */
    .mySwiper .w-12{

        width:35px !important;
    }

    /* Hide arrows on mobile */
    .testi-prev,
    .testi-next{
        display:none !important;
    }

}
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

.whatsapp-float:hover {
    background-color: #20ba5a;
    transform: scale(1.1);

}

.whatsapp-icon {
    width: 35px;
    height: 35px;
    fill: #ffffff;
}

/* Responsive adjustments for mobile screens */
@media screen and (max-width: 767px) {
    .whatsapp-float {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
    }
    .whatsapp-icon {
        width: 28px;
        height: 28px;
    }
}