/* site-cleaned.css
   Cleaned, deduplicated and reorganized CSS
   Breakpoints used:
     - Large desktop: >1600px (no media rule here)
     - Desktop / wide: 1025px - 1600px
     - Tablet: 768px - 1024px
     - Mobile: <768px
*/

/* ------------------ Base / Reset ------------------ */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

/* Typography helpers */
.font_fraunces_heading{
  font-family: 'Fraunces', serif;
  font-size: 40px !important;
  font-weight: 400 !important;
}
.font_fraunces_common{
  font-family: 'Fraunces', serif;
}

/* ------------------ Header / Nav ------------------ */
.site-header{
  width:100%;
  background-color:#0E573F;
  color:#dbd8cc;
  position:relative;
}
.privacy-policysec{
a {
  color: #fff;
}
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1366px;
  margin:0 auto;
  padding:15px 0;
}
.logo img{ height:99px; }

.main-nav ul{
  display:flex;
  list-style:none;
  gap:25px;
}
.main-nav ul li a{
  color:#dbd8cc;
  text-decoration:none;
  font-weight:500;
  transition:0.3s;
  font-size:18px;
}
.main-nav ul li a:hover{ color:#bdcdbf; }
.main-nav ul li .active{ color:#798f62; }

/* Hamburger */
.hamburger{
  display:none; /* toggle with JS on small screens */
  flex-direction:column;
  cursor:pointer;
  gap:5px;
  z-index:1000;
}
.hamburger span{
  display:block;
  width:25px;
  height:3px;
  background:#fff;
  transition:0.3s;
}
.hamburger.active span:nth-child(1){ transform: rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2){ opacity:0; }
.hamburger.active span:nth-child(3){ transform: rotate(-45deg) translate(7px,-6px); }

/* Mobile menu (collapsible) */
.mobile-menu{
  display:none;
  background-color:#1B4B3A;
  position:absolute;
  top:100%; left:0; width:100%;
  text-align:center;
  z-index:999;
  max-height:0; overflow:hidden;
  transition:max-height 0.3s ease-in-out;
}
.mobile-menu.active{ display:block; max-height:500px; }
.mobile-menu ul{ list-style:none; padding:0; margin:0; }
.mobile-menu ul li a{
  display:block; padding:15px; color:#dbd8cc; text-decoration:none; font-weight:500; border-top:1px solid rgba(255,255,255,0.2);
}
.mobile-menu ul li a:hover{ background-color: rgba(255,255,255,0.1); }

/* ------------------ Footer ------------------ */
footer{
  background:#0d2624;
  color:#dbd8cc;
  padding:125px 40px 30px;
}
.footer-container{ max-width:1400px; margin:0 auto; }
.footer-content{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:3px;
  margin-bottom:50px;
}
.footer-section{ text-align:center; width:220px; }
.footer-section:last-child{ width:330px; }
.footer-section h3{ font-size:30px; font-weight:700; margin-bottom:37px; letter-spacing:0.5px; color:#dbd8cc; }
.footer-section ul{ list-style:none; }
.footer-section ul li{ margin-bottom:25px; }
.footer-section a{ color:#dbd8cc; text-decoration:none; font-size:17px; transition:color 0.3s ease; }
.footer-section a:hover{ color:#ffffff; }
.footer-logo img{ height:110px; }
.footer-brand{ width:auto; }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; padding-top:30px; font-size:14px; color:#dbd8cc; border-top:1px solid #dbd8cc;
}

/* Buttons */
.enqbtn{
  line-height:20px; padding:12px; width:190px; color:rgb(14,87,63); font-size:18px; font-weight:normal !important; border:1px solid #0e573f8c; margin-bottom:40px; border-radius:50px; cursor:pointer; background:transparent; transition:all 0.3s ease-in-out; text-align:center;
}
.enqbtn:hover{ background:#cbcabf; color:rgb(14,87,63) !important; border:2px solid #ffffff8c !important; text-decoration:none !important; }

/* Contact / helpers */
.contact-info{ font-size:16px; line-height:1.8; color:#dbd8cc; }
.contact-info p{ margin-bottom:12px; font-size:19px; }

/* small utility classes */
.compass-icon{ width:50px; height:50px; position:relative; }
.compass-icon::before{ content:''; position:absolute; width:100%; height:100%; border:2px solid #fff; border-radius:50%; }
.compass-icon::after{ content:'✦'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:32px; color:#fff; }

/* Quick Enquiry widget (single definition, deduped) */
.quick-enquiry-container{
  cursor:pointer; position:fixed; z-index:998; bottom:18px; right:60px; will-change:transform;
}
.quick-enquiry-wrapper{ position:relative; }
.quick-enquiry-btn{
  --y:-25; --x:0; --rotation:0; --speed:2;
  cursor:pointer; padding:10px 20px; background:linear-gradient(135deg,#507974,#158f67); border:none; border-radius:50px; color:#fff; font-weight:500; font-size:18px; display:flex; align-items:center; gap:8px; box-shadow:0 4px 15px rgba(0,0,0,0.2); transition:all 0.3s ease; animation-name:float-animation; animation-duration:calc(var(--speed)*1s); animation-iteration-count:infinite; animation-timing-function:ease-in-out;
}
.quick-enquiry-btn a{ color:#fff; }
.quick-enquiry-btn:hover{ background:linear-gradient(135deg,#0d7150,#395d59); transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,0.3); }
.quick-enquiry-btn:active{ transform:translateY(1px); box-shadow:0 2px 10px rgba(0,0,0,0.2); }
.quick-enquiry-btn .icon-wrapper{ width:24px; height:24px; display:flex; align-items:center; justify-content:center; transition:transform 0.3s ease; }
.quick-enquiry-btn:hover .icon-wrapper{ transform:rotate(15deg); }
.button-shadow{ position:absolute; border-radius:100%; bottom:-5px; left:15%; right:15%; height:12px; background:rgba(0,0,0,0.3); animation:shadow-zoom 2s infinite ease-in-out; z-index:-1; filter:blur(6px); transform-origin:center; }
@keyframes float-animation{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
@keyframes shadow-zoom{ 0%{ transform:scale(0.8); opacity:0.4; } 50%{ transform:scale(1.1); opacity:0.7; } 100%{ transform:scale(0.8); opacity:0.4; } }
.pulse-effect{ position:absolute; top:0; left:0; width:100%; height:100%; border-radius:50px; z-index:-1; animation:pulse 2s infinite; }
@keyframes pulse{ 0%{ transform:scale(1); opacity:0.7; } 100%{ transform:scale(1.2); opacity:0; } }
.enquiry-options{ position:absolute; bottom:70px; right:0; background:#fff; border-radius:15px; padding:15px; box-shadow:0 5px 25px rgba(0,0,0,0.2); opacity:0; visibility:hidden; transform:translateY(20px); transition:all 0.3s ease; z-index:999; }
.quick-enquiry-container.active .enquiry-options{ opacity:1; visibility:visible; transform:translateY(0); }
.enquiry-options a{ display:flex; align-items:center; text-decoration:none; color:#333; padding:10px 15px; border-radius:8px; transition:all 0.2s ease; margin:5px 0; gap:10px; }
.enquiry-options a:hover{ transform:translateX(-5px); }
.enquiry-options a .icon-wrapper{ width:20px; height:20px; }
.chat-option .icon-wrapper{ color:#25D366; }
.call-option .icon-wrapper{ color:#0077B5; }
.email-option .icon-wrapper{ color:#EA4335; }

/* Misc selectors cleaned (removed nested Sass-like blocks) */
.whatsappboxtext{ left:72%; }
.whatsappboxtext img{ height:27px; }
.copyrightstxt{ padding-right:45%; }

/* small component overrides referenced by original */
#comp-kd5px9q0{ margin-top:50px; }
#swal2-title{ font-weight:500; font-size:22px; }
.swal2-confirm.swal2-styled{ background:rgb(14,87,63); padding:8px 42px; border-radius:20px; }

/* ------------------ Responsive / Media queries ------------------ */



/* Tablet: 768px - 1024px */
@media (min-width:767px) and (max-width:1024px){
    .site-header .container {
        padding: 2% 3%;
    }
    .footer-section:last-child {
    width: 264px;
}
.whatsappboxtext {
    left: 77%;
}
.footer-section {
    text-align: left;
}

  .footer-brand{ width:0 !important; position:relative; top:-77px; height:26px !important; }
  .footer-logo img{ height:81px; }
  #comp-mfqtcj9c6{ height:0; }
  .quick-enquiry-container{ right:unset !important; }
  #contactheaderbox{ padding:0 50px; }
  #quick-enquiry-wrapperbtn{ right:-218%; display:inline; }
  .footer-section{ margin-top:10%; }
  .privacyheader{ padding:26px 25px; }
  /* keep other component overrides here if required */
}
@media (min-width: 1601px) and (max-width: 1920px) {
  .whatsappboxtext {
    left: 69%;
  }
}

/* Desktop / wide screens: 1025px - 1600px */
@media (min-width:1025px) and (max-width:1600px){
  .quick-enquiry-container{ right:20px; }
  .privacy-policysec{ padding-left:32px; }
  .whatsappboxtext{ left:69%; }
  .privacyheader { width:100%; padding:4% 7%; }
  .contactheader { width:100%; padding:4% 7%; }
  .site-header .container {
        padding: 2% 7%;
    }
}

@media (min-width:1400px) and (max-width:1600px){
  .site-header .container {
        padding: 2% 0%;
    }
}





/* Mobile: <768px (you can add mobile-specific rules here) */
@media (max-width:767px){
  /* show hamburger, hide regular nav, etc. */
  .hamburger{ display:flex; }
  .main-nav ul{ display:none; }
  .mobile-menu{ display:block; }
  .site-header .container{ padding:12px; }
  .logo img{ height:72px; }
  footer{ padding:60px 20px 30px; }
}


/* End of file */
