
:root{
  --primary:#b08a2e;
  --dark:#1e1e1e;
  --light:#faf7f2;
}
body{
  font-family:'Poppins',sans-serif;

}

    p{font-size: 16px;}
/* ================= TOP BAR ================= */
.top-header{
  position:fixed;
  top:0;
  width:100%;
  background:#fff;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
  z-index:1000;
}

.header-inner{
  display:flex;
  align-items:stretch;justify-content: space-between;
}

/* LOGO */
.site-logo{
  padding:0 22px;
  display:flex;
  align-items:center;
  font-weight:700;
  font-size:20px;
  color:var(--primary);
  white-space:nowrap;
}

/* ================= OVERVIEW TABS ================= */
.overview-tabs{
  flex:1;
  display:flex;
  overflow-x:auto;
}

.overview-tabs::-webkit-scrollbar{
  display:none;
}

.overview-tab{
  min-width:130px;
  height:78px;
  border-right:1px solid #f1d6d6;
  text-decoration:none;
  color:#111;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:.3s;
}

.overview-tab:last-child{
  border-right:none;
}

.overview-tab i{
  font-size:22px;
  color:var(--primary);
  margin-bottom:6px;
}

.overview-tab span{
  font-size:14px;
  font-weight:500;
}

.overview-tab.active,
.overview-tab:hover{
  background:#fff7e6;
}

/* ================= RIGHT SIDEBAR ================= */
.right-sidebar{
  position:fixed;
  top:0;
  right:0;
  width:390px;
  height:calc(100vh - 78px);
  background:#fff;
  border-left:1px solid #eee;
  padding:25px;
  z-index:+9999;
  overflow-y:auto;text-align: center;
}
    
    .right-sidebar img{ width: 100px;}
    
    

.enquire-btn{
  background:var(--primary);
  color:#fff;
  border:none;
  width:100%;
  padding:12px;
  border-radius:10px;
}

/* MAIN CONTENT */
.main-content{
  margin-right:390px;
}

/* HERO */    
    
.hero .carousel-item img{
  height:90vh;
  object-fit:cover;
}

.carousel-caption{
  bottom:20%;
  text-align:left;
  max-width:600px;
}

.carousel-caption h1{
  font-size:42px;
  font-weight:700;
}

.carousel-caption p{
  font-size:18px;
  margin-bottom:20px;
}

.carousel-caption .btn{
  padding:12px 30px;
}

.carousel-item::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to right, rgba(0,0,0,.35), rgba(0,0,0,.2));
}

@media(max-width:768px){
  .carousel-caption{
    bottom:15%;
    text-align:center;
    left:10%;
    right:10%;
  }
  .carousel-caption h1{
    font-size:26px;
  }
}
 
.hero{margin-top: 78px;}  
    
    
/*
    
.hero img{
  width:100%;
  height:80vh;
  object-fit:cover;
}
*/
.section{
  padding:40px 20px;
}
.section-title{
  text-align:center;
  margin-bottom:50px;
}
.section-title span{color:var(--primary);}

/* CARDS */
.pricing-box{
  border:1px solid #eee;
  border-radius:16px;
  padding:30px;
  text-align:center;
}
.amenity{
  text-align:center;
  padding:30px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.06);
}
.amenity i{
  font-size:30px;
  color:var(--primary);
  margin-bottom:10px;
}

/* MOBILE */
@media(max-width:1200px){
  
    .right-sidebar{z-index: +999;}
    .hero .carousel-item img {
    height: 44vh;
   
}

  .main-content{
    margin-right:0;
    margin-bottom:260px;
  }

  .overview-tab{
    min-width:110px;
  }
  .main-content{
    margin-right:0;
    margin-bottom:260px;
  }
    
    /* Push sidebar below hero */
  .right-sidebar{
    order:2;
  }

  .hero{
    order:1;
  }
    
    
    
    .right-sidebar{
    position:relative;
    top:0;
    right:0;
    width:100%;
    height:auto;
    border-left:none;
    border-top:1px solid #eee;
    margin-top:30px;
  }

  .main-content{
    margin-right:0;
    margin-bottom:0;
  }
    
}
    
    
    
    
    .gallery-item{
  cursor:pointer;
  border-radius:14px;
  transition:.3s;
}
.gallery-item:hover{
  transform:scale(1.03);
}
.modal-backdrop.show{
  opacity:.9;
}
.lightbox-prev,
.lightbox-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,.6);
  border:none;
  color:#fff;
  font-size:30px;
  width:50px;
  height:50px;
  border-radius:50%;
}
.lightbox-prev{left:10px;}
.lightbox-next{right:10px;}
    
    
    
    
    
    
    
    .overview-tabs{
  background:#fff;
  border-bottom:1px solid #eee;
  z-index:998;
  top:70px; /* below main navbar */
}

.overview-tab{
  padding:18px 0;
  text-decoration:none;
  color:#111;
  border-right:1px solid #f1d6d6;
  transition:.3s;
}
.overview-tab:last-child{
  border-right:none;
}

.overview-tab i{
  display:block;
  font-size:22px;
  color:#b08a2e;
  margin-bottom:6px;
}

.overview-tab span{
  font-size:14px;
  font-weight:500;
}

.overview-tab:hover,
.overview-tab.active{
  background:#fff7e6;
}

@media(max-width:1200px){
  .overview-tabs .row{
    flex-wrap:nowrap;
    overflow-x:auto;
  }
  .overview-tab{
    min-width:120px;
    border-right:1px solid #eee;
  }
}

    
  .sticky-action-bar{
  position: sticky;
  bottom: 0;
  display: flex;
  background: #a97c06;
  z-index: 997;
}

.sticky-action-bar a{
  flex:1;
  text-align:center;
  padding:16px 0;
  color:#fff;
  text-decoration:none;
  font-weight:500;
  border-right:1px solid rgba(255,255,255,.3);
}

.sticky-action-bar a:last-child{
  border-right:none;
}

.sticky-action-bar i{
  margin-right:6px;
  font-size:16px;
}

/* Keep inside left content width */
.main-content .sticky-action-bar{
  max-width:100%;
  border-radius:0;
}

/* Mobile optimization */
@media(max-width:768px){
  .sticky-action-bar{
    font-size:14px;
  }
}
  
    
    
    
    .pricing-section{
  background:#fff;
}

.pricing-card{
  border:1px solid #eee;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  transition:.3s;
  height:100%;
}

.pricing-card:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.pricing-head{
  background:#faf6ec;
  padding:20px;
  text-align:center;
  border-bottom:1px solid #eee;
}

.pricing-head h4{
  margin:0;
  font-weight:700;
}

.pricing-head span{
  font-size:13px;
  color:#a97c06;
}

.pricing-body{
  padding:25px;
  text-align:center;
}

.pricing-body h3{
  color:#a97c06;
  font-weight:700;
  margin:10px 0 0;
}

.pricing-footer{
  padding:20px;
}

.pricing-card.featured{
  border:2px solid #a97c06;
  position:relative;
}

.pricing-card.featured::before{
  content:"Recommended";
  position:absolute;
  top:12px;
  right:-40px;
  background:#a97c06;
  color:#fff;
  padding:4px 40px;
  transform:rotate(45deg);
  font-size:12px;
}
    
    
    /*keyhighlights----------*/
    
    .highlights-section{
  padding:40px 0;
}

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

.highlight-card{
  display:flex;
  gap:18px;
  align-items:flex-start;
  background:#fff;
  padding:22px 24px;
  border-radius:14px;
  box-shadow:0 8px 30px rgba(0,0,0,.05);
  transition:.3s ease;
}

.highlight-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 40px rgba(0,0,0,.08);
}

.icon-box{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#fff7e6;
  border:1px solid #b08a2e;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#b08a2e;
  font-size:20px;
  flex-shrink:0;
}

.highlight-card p{
  margin:0;
  font-size:16px;
  line-height:1.6;
  color:#444;
}
    
    /* SIZE BANNER */
.size-banner{
  margin-bottom:45px;text-align: center;
}

.size-banner .badge{
  background:#b08a2e;
  color:#fff;
  padding:8px 18px;
  font-size:14px;
  font-weight:500;
  border-radius:6px;
  display:inline-block;
  margin-bottom:12px;
}

.size-banner h3{
  font-size:26px;
  font-weight:700;
  color:#222;
  margin:0;
}

.size-banner h3 span{
  font-weight:400;
  font-size:16px;
  margin:0 6px;
  color:#777;
}

/* MOBILE */
@media(max-width:768px){
  .highlights-grid{
    grid-template-columns:1fr;
  }
}

/**aminities--------------------*/
    
    .grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 30px;
    }

    .card {
        background: #ffffff;
        border-radius: 18px;
        padding: 28px 22px;
        box-shadow: 0 10px 25px rgba(0,0,0,0.06);
        transition: all 0.3s ease;
        text-align: center;
    }

    .card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 40px rgba(0,0,0,0.1);
    }

    .icon {
        width: 64px;
        height: 64px;
        margin: auto;
        border-radius: 16px;
        background: #f8f6f2;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #c89b3c;
        margin-bottom: 16px;border: 1px solid #b08a2e;
    }
    
    .promise-bg{background: #f4ecdc;}

    .icon svg {
        width: 30px;
        height: 30px;
        stroke: currentColor;
    }

    .text {
        font-size: 15px;
        font-weight: 500;
        line-height: 1.4;
    }

    @media (max-width: 600px) {
        .card {
            padding: 24px 18px;
        }
        
        
        .video-box iframe{height: 240px;}
    }
    
    /*layout section--------------------*/
    
    .layout-section {
        padding: 70px 20px;
    }

    .layout-container {
        max-width: 1300px;
        margin: auto;
    }

    .layout-header {
       
        margin-bottom: 40px;
    }

    .layout-header h2 {
        font-family: 'Playfair Display', serif;
        font-size: 42px;
        font-weight: 600;
        color: #c89b3c; /* gold tone */
        margin-bottom: 12px;
    }

    .layout-header p {
        font-size: 16px;
        color: #666;
        line-height: 1.6;
    }

    .layout-image-wrapper {
        background: #f6f6f6;
        border-radius: 18px;
        padding: 20px;
        overflow: hidden;
    }

    .layout-image-wrapper img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 12px;
        transition: transform 0.5s ease;
    }

    /* Zoom on hover (desktop only) */
    @media (hover: hover) {
        .layout-image-wrapper:hover img {
            transform: scale(1.05);
        }
    }

    /* Tablet */
    @media (max-width: 991px) {
        .layout-header h2 {
            font-size: 34px;
        }
    }

    /* Mobile */
    @media (max-width: 600px) {
        .layout-section {
            padding: 50px 16px;
        }

        .layout-header h2 {
            font-size: 28px;
        }

        .layout-header p {
            font-size: 15px;
        }

        .layout-image-wrapper {
            padding: 12px;
        }
        
         .hero .carousel-item img {height: auto; object-fit: contain;}
        .right-sidebar{margin-top: 0;}
    }
    
    /*location------------*/
    
    .map-container {
            position: relative;
            width: 100%;
            padding-bottom: 42.25%; /* 16:9 ratio */
            height: 0;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
        }

        .map-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 500px;
            border: 0;
        }
    
    .right-sidebar .developer {
    color: #777;
    font-size: 20px;
}

.project-info {
    list-style: none;
    padding: 0;
    margin: 5px 0 0 0;
}
    
    .project-info li {
    padding: 6px 0;
    font-size: 15px;
}
    
    /*form popup-------------------*/
    .price-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.price-popup {
    background: #fff;
    width: 600px;
    max-width: 95%;
    border-radius: 8px;
    overflow: hidden;
}

.popup-header {
    background: #b58a0a;
    color: #fff;
    padding: 14px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
}

.close-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 26px;
    cursor: pointer;
}

.popup-body {
    display: flex;
    flex-wrap: wrap;
}

/* LEFT */
.popup-left {
    width: 40%;
    background: #f7f7f7;
    padding: 25px;
}

.popup-left h3 {
    color: #b58a0a;
    margin-bottom: 20px;
}


.promise-item i {
    font-size: 24px;
    color: #b58a0a;
}

/* RIGHT */
.popup-right {
    width: 60%;
    padding: 15px;
}

.logo {
    text-align: center;
    margin-bottom: 20px;
    color: #b58a0a;
}

.form-group {
    margin-bottom: 15px;
}

.form-group input {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
}

.form-group.mobile {
    display: flex;
}

.form-group.mobile span {
    padding: 12px;
    background: #eee;
    border: 1px solid #ccc;
}

.captcha-box {
    border: 1px solid #ccc;
    padding: 15px;
    margin-bottom: 15px;
    font-size: 14px;
}

.submit-btn {
    width: 100%;
    background: #b58a0a;
    color: #fff;
    padding: 14px;
    border: none;
    font-size: 16px;
    cursor: pointer;
}

/* MOBILE */
@media (max-width: 768px) {
    .popup-left, .popup-right {
        width: 100%;
    }
}
    
    
    /*location tab---------------------------*/
    
    .tabs-wrapper{
    max-width:900px;
    margin:auto;
    background:#fff;
    border-radius:10px;
    box-shadow:0 8px 25px rgba(0,0,0,.1);
}

/* TABS */
.tabs{
    display:flex;
    border-bottom:2px solid #eee;
    overflow-x:auto;
}

.tab{
    flex:1;
    padding:15px;
    text-align:center;
    cursor:pointer;
    font-weight:600;
    color:#999;
    border-bottom:3px solid transparent;
    white-space:nowrap;
}

.tab.active{
    color:#b58a0a;
    border-bottom:3px solid #b58a0a;
}

/* CONTENT */
.tab-content{
    display:none;
    padding:25px;
}

.tab-content.active{
    display:block;
}

.list-item{
    display:flex;
    justify-content:space-between;
    padding:10px 0;
    border-bottom:1px solid #eee;
    font-size:15px;
}

.time{
    color:#999;
    font-weight:600;
}

/* MOBILE */
@media(max-width:600px){
    .tab{
        font-size:14px;
        padding:12px;
    }
}
    
  /*mobile view toggle---------------------------*/  
    .mobile-toggle{
  background:none;
  border:none;
  font-size:22px;
  padding:0 18px;
  color:#b08a2e;
  display:none;
  align-items:center;
}

/* Mobile behaviour */
@media(max-width:1200px){

  .mobile-toggle{
    display:flex;
  }

  .overview-tabs{
    position:absolute;
    top:78px;
    left:0;
    width:100%;
    background:#fff;
    flex-wrap:wrap;
    display:none;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
  }

  .overview-tabs.show{
    display:flex;
  }

  .overview-tab{
    width:33.33%;
    height:auto;
    padding:14px 0;
    border-bottom:1px solid #eee;
    border-right:1px solid #eee;
  }

  .overview-tab:nth-child(3n){
    border-right:none;
  }
}

  /*right sidebar ----------------------new*/  
    
    
    .right-action-box{
  margin-bottom:20px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.action-row{
  display:flex;
  gap:8px;
  margin-bottom:10px;
}

.action-btn{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 10px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  border-radius:10px;
  color:#fff;
  transition:.3s ease;
  white-space:nowrap;
}

/* Button Colors */
.plan-visit,
.whatsapp,
.callback{
  background:#b08a2e;
}

/* Hover effect */
.action-btn:hover{
  opacity:.9;
  transform:translateY(-1px);
}

/* Mobile spacing */
@media(max-width:768px){
  .right-action-box{
    margin:10px;
  }
}
    
    .no-lr-border{border-top-left-radius: 0;
    border-top-right-radius: 0;
}


  /*right side size box---------*/ 
    
    .right-size-box{
  margin:15px 0 20px;
  padding:18px 16px;
  background:#fff7e6;
  border:1px solid #b08a2e;
  border-radius:14px;
  text-align:center;
}

.size-label{
  display:block;
  font-size:13px;
  font-weight:500;
  color:#555;
  margin-bottom:6px;
}

.size-value{
  display:block;
  font-size:17px;
  font-weight:700;
  color:#b08a2e;
  letter-spacing:.5px;
}

/* Mobile */
@media(max-width:768px){
  .right-size-box{
    margin:12px;
  }
}
    
    @keyframes softBlink {
  0%{
    opacity:1;
    transform:scale(1);
       color:#b08a2e;  
  }
  50%{
    opacity:.6;
    transform:scale(1.05);
    color:#7a5c12;          /* darker gold */
  }
  100%{
    opacity:1;
    transform:scale(1);
      color:#b08a2e;
  }
}

.size-value{
  animation: softBlink 1.6s ease-in-out infinite;
}
    
    /*video section-------------------*/
    /* ================= PROJECT VIDEO SECTION ================= */

.project-video{
  background:#faf7f2;
}

.video-box{
  max-width:1000px;
  margin:auto;
  padding:18px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.video-wrapper{
  position:relative;
  padding-top:56.25%; /* 16:9 */
  border-radius:14px;
  overflow:hidden;
}

.video-wrapper iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:0;
}

/* Mobile polish */
@media(max-width:768px){
  .video-box{
    padding:12px;
  }
}
    
    
    /* ================= VIDEO POSTER WITH PLAY ================= */


    
    /* ===== YouTube Style Video ===== */

.yt-style{
  max-width:1100px;
  margin:auto;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.15);
}

.video-poster{
  position:relative;
  cursor:pointer;
}

.video-poster img{
  width:100%;
  display:block;
}

.yt-play-btn{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.yt-play-btn svg{
  width:90px;
  height:64px;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.6));
  transition:.3s ease;
}

.video-poster:hover .yt-play-btn svg{
  transform:scale(1.1);
}

.video-iframe{
  display:none;
  width:100%;
  aspect-ratio:16/9;
  border:0;
}

/* Mobile */
@media(max-width:768px){
  .yt-play-btn svg{
    width:70px;
    height:50px;
  }
}

/*developer section-------------*/
    
    .counter-box h3 {
    font-size:2.5rem;
    color:#b08a2e;
    margin:0;
  }
  .counter-box p {
    font-size:1rem;
    color:#333;
    margin-top:5px;
  }
    
    /*we promise------------------------*/
    
    .we-promise {
  width: 100%;
  padding: 20px;

  text-align: center;
}

.we-promise h2 {
  font-size: 28px;
  color: #b68b1a; /* gold */
  margin-bottom: 40px;
  font-weight: 500;
}

.promise-item {
  margin-bottom: 50px;
}

.promise-item .icon {
  font-size: 42px;
  color: #b68b1a;
  margin-bottom: 15px;
}

.promise-item p {
  font-size: 16px;
  color: #b68b1a;
  letter-spacing: 0.5px;
  margin: 0;
}

/* FIX promise-item icon alignment */
.we-promise .promise-item{
  display:flex;
  align-items:center;
  gap:12px;
}

.we-promise .promise-item .icon{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.we-promise .promise-item .icon i{
  font-size:18px;
  line-height:1;
}

.we-promise .promise-item p{
  margin:0;
  font-size:14px;
  font-weight:500;
}

    
    
    
    /*menu in mobile-------------------------*/
    
    /* Mobile behaviour */
@media(max-width:768px){

  .mobile-toggle{
    display:flex;
  }

  /* FIXED: Vertical mobile menu */
  .overview-tabs{
    position:absolute;
    top:78px;
    left:0;
    width:100%;
    background:#fff;
    display:none;
    flex-direction:column; /* 👈 VERTICAL */
    box-shadow:0 10px 30px rgba(0,0,0,.15);
  }

  .overview-tabs.show{
    display:flex;
  }

  .overview-tab{
    width:100%;
    height:auto;
    padding:14px 0;
    border-bottom:1px solid #eee;
    border-right:none;
    display:flex;
    flex-direction:row;          /* 👈 icon beside text */
    align-items:center;
    justify-content:center;
    gap:10px;
  }

  .overview-tab i{
    font-size:18px;
    margin-bottom:0;
  }

  .overview-tab span{
    font-size:14px;
  }
}

@media(max-width:576px){
    .overview-tab{justify-content: flex-start;padding: 14px 24px;}
}
   /**modal css----------------------*/ 
    .modal {
        --bs-modal-zindex: +99999!important;}
    .modal-backdrop {
        --bs-backdrop-zindex: +9999!important;}

/* ================= SCROLL UP ANIMATION ================= */

.reveal-up {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s ease;
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

/* Slight delay helpers (optional) */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }

/*form validation-----------------------------------*/


/* ================= FORM ERROR MOBILE FIX ================= */

/* Keep space reserved for error text */
.static-form .form-group {
  position: relative;
  padding-bottom: 18px;
}

/* Error message positioning */
.static-form .form-group .error {
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 12px;
  line-height: 14px;
  color: #e63946;
  display: none;
}

/* Show error only when needed */
.static-form .form-group .error:not(:empty) {
  display: block;
}

/* Mobile number group fix */
.static-form .form-group.mobile {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

/* +91 alignment */
.static-form .form-group.mobile span {
  flex: 0 0 auto;
}

/* Input alignment */
.static-form .form-group.mobile input {
  flex: 1;
}

/* Error full width under mobile input */
.static-form .form-group.mobile .error {
  width: 100%;
}

/* Clear div safe handling */
.static-form .form-group.mobile .clear {
  display: none;
}

/* CAPTCHA error spacing */
.static-form .captcha-error {
  position: relative;
  margin-top: 6px;
}

           
