.demo-text .under {
    color: #ffeb3b; /* Highlight CTA in yellow for contrast */
    font-weight: 600;
    text-decoration: underline;
}

@keyframes pulseDot {
    0% {
        box-shadow: 0 0 0 0 rgb(255, 90, 20);
    }
    70% {
        box-shadow: 0 0 0 8px rgb(255, 90, 20);
    }
    100% {
        box-shadow: 0 0 0 0 rgb(255, 90, 20);
    }
    
}

    @keyframes pulse-shadow {
        0% {
            box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.7);
        }
        100% {
            box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
        }
    }

    

        .bg-default{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

        

.site-header.scrolled {
  background-color: white; /* change to whatever you want */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); /* optional: subtle shadow */
}


.mobile-menu-btn.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-menu-btn.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-btn.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 768px) {
    .header-container{
        padding: 0 20px;
    }
    .logo{
        width: 150px;
    }
    .main-nav ul li {
        margin-left: 15px;
    }
    .main-nav {
        display: none !important; /* Force hide the main nav */
    }
    
    .main-nav ul {
        display: none !important; /* Ensure menu items are hidden */
    }

    .contact-btn {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    /* Only show the navigation when it has the active class */
    .main-nav.active {
        display: flex !important;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: white;
        padding: 80px 20px 20px;
        overflow-y: auto;
        transform: translateX(0);
        z-index: 1000;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .main-nav.active ul {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .hero-container {
        padding: 0px !important;
    }

    .hero-content, .col-2-1, .col-1-2 {
    padding: 0 30px !important;
}

.consultation-content {
    padding: 0 !important;
}

.consultation-image-wrapper {
    display: none !important;
}

.consultation-container {
    display: block !important;
    padding: 30px !important;
}
    
    /* Rest of the mobile menu styles... */
}

.submenu li {
    margin: 0 !important;
}

.submenu li a {
    display: block;
    padding: 10px 20px;
    color: #333;
    font-size: 13px;
    height: max-content;
}

@media (max-width: 768px) {
    .submenu {
        position: static;
        display: none;
        box-shadow: none;
        padding-left: 20px;
    }

    .has-submenu.active .submenu {
        display: block;
    }
}


@media (max-width: 768px) {
    .main-nav .has-submenu.active .submenu {
        display: block !important;  /* Show on mobile when active */
    }
}

/* Mobile Menu Improvements */
@media (max-width: 768px) {
    .main-nav, .contact-btn {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
        position: relative;
        z-index: 1001;
        width: 40px;
        height: 40px;
        padding: 8px;
        background-color: transparent;
        border-radius: 4px;
    }
    
    .mobile-menu-btn.active {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .mobile-menu-btn span {
        display: block;
        width: 24px;
        height: 2px;
        background-color: var(--main-color);
        margin: 5px 0;
    }

    /* Improved hamburger animation */
    .mobile-menu-btn.active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .mobile-menu-btn.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-btn.active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .main-nav.active {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: white;
        padding: 80px 20px 20px;
        overflow-y: auto;
        transform: translateX(0);
        z-index: 1000;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .main-nav:not(.active) {
        transform: translateX(100%);
    }

    .main-nav.active ul {
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .main-nav.active ul li {
        margin: 0;
        width: 100%;
        padding: 0;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .main-nav.active ul li a {
        display: block;
        padding: 16px 0;
        font-size: clamp(16.20px, 1.19vw, 18px);
        font-weight: 500;
        color: var(--main-color);
    }

    /* Improved submenu styles */
    .has-submenu > a {
        position: relative;
    }
    
    .has-submenu > a::after {
        content: '›';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%) rotate(90deg);
        font-size: clamp(18.00px, 1.33vw, 20px);
    }
    
    .has-submenu.active > a::after {
        transform: translateY(-50%) rotate(-90deg);
    }

    .submenu {
        position: static;
        display: none;
        box-shadow: none;
        background-color: #f9f9f9;
        border-radius: 0;
        padding: 0;
        margin: 0;
        width: 100%;
        max-height: 0;
        overflow: hidden;
    }

    .has-submenu.active .submenu {
        display: block;
        max-height: 500px;
    }

    .submenu li {
        border-bottom: none !important;
    }

    .submenu li a {
        padding: 12px 0 12px 20px !important;
        font-size: clamp(14.40px, 1.06vw, 16px) !important;
        color: #555 !important;
    }
    
    .submenu li a:hover {
        background-color: transparent;
        color: var(--main-color) !important;
    }

    /* Contact button in mobile menu */
    .contact-btn.active {
        display: inline-block;
        margin: 30px 0 0 0;
        padding: 14px 24px;
        font-size: clamp(14.40px, 1.06vw, 16px);
        width: auto;
        text-align: center;
    }
    
    /* Animation for menu items */
    .main-nav.active ul li {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.4s forwards;
    }
    
    .main-nav.active ul li:nth-child(1) {
        animation-delay: 0.1s;
    }
    
    .main-nav.active ul li:nth-child(2) {
        animation-delay: 0.2s;
    }
    
    .main-nav.active ul li:nth-child(3) {
        animation-delay: 0.3s;
    }
    
    .contact-btn.active {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.4s forwards;
        animation-delay: 0.4s;
    }
    
    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media (max-width: 768px) {
    .main-nav .has-submenu:hover .submenu {
        display: none;
    }
    
    .main-nav .has-submenu.active .submenu {
        display: block;
    }
}

  /* end  */
  .demo-text .under:hover {
    color: #fff176; /* Softer yellow on hover */
}

.demo-button:hover {
    background: rgba(255, 255, 255, 0.9);
    transform: translateY(-1px);
    animation: pulse-shadow 1s infinite;
}

.main-nav ul li a:hover {
    color: #666;
}

.has-submenu:hover .submenu {
    display: block;
}

.submenu li a:hover {
    background-color: #f5f5f5;
    color: var(--main-color);
}

.main-nav .has-submenu:hover .submenu {
    display: block !important;  /* Override the hide on hover */
}


  @media (max-width: 768px) {
    .footer-container {
      grid-template-columns: 1fr;
    }
    .footer-logo {
      display: flex;
      justify-content: center;
    }
  }
  
  .contact-link:hover {
    color: #333;
    text-decoration: underline;
  }
  @media print {
    .site-footer {
      border-top: 1px solid #ddd;
      background: none;
    }
    .social-links {
      display: none;
    }
    .footer-copyright {
      background: none;
      border-top: 1px solid #ddd;
    }
    .copyright-text {
      color: #333;
    }
  }
  .demo-text .under {transition: color 0.3s ease;}
  
  .main-nav ul li a {transition: color 0.3s ease;}
  .contact-btn {transition: all .3s ease;}
  .main-nav.active {transition: all 0.3s ease-in-out;}
  .submenu li a {transition: background-color 0.3s ease;}
  @media (max-width: 768px) {
  .mobile-menu-btn {transition: background-color 0.3s ease;}
  .mobile-menu-btn span {transition: transform 0.3s ease, opacity 0.3s ease;}
  .main-nav.active {transition: all 0.3s ease-in-out;}
  .has-submenu > a::after{transition: transform 0.3s ease;}
  .submenu {transition: max-height 0.3s ease;}
  }



  
