/* Improved mobile responsiveness overrides */

/* Prevent horizontal overflow on mobile */
html, body { max-width: 100%; overflow-x: hidden; }
/* Ensure images and videos scale down */
img, video { max-width: 100%; height: auto; }

@media (max-width: 992px) {
  /* Navbar container padding */
  .custom-navbar .container { max-width: 100% !important; padding-left: 15px; padding-right: 15px; }
  .nav-link { padding: 10px 12px; }
}

@media (max-width: 768px) {
  /* Page banner text center */
  .page-banner .page-content { text-align: center; }
  /* Product cards grid spacing */
  .product-image-wrap { height: 200px; }
}

@media (max-width: 576px) {
  .product-image-wrap { height: 180px; }
  .btn { padding: 8px 14px; }
  .navbar-brand img { max-width: 150px; }
}

/* Safety: ensure elements remain visible if AOS fails to initialize */
[data-aos] { opacity: 1 !important; transform: none !important; }
/*------------------------------------
 RESPONSIVE STYLES
-----------------------------------*/

/* Responsive styles
================================================== */

/* Large Devices, Wide Screens */

@media (min-width: 1200px) {
    .dropdown i {
        display: none;
    }
}


/* Medium Devices, Desktops */

@media (min-width: 992px) {
    .navbar-brand i {
        margin-right: 0px;
        font-size: 16px;
        line-height: 16px;
    }




}

/* Small Devices, Tablets */

@media (min-width: 576px) {}

/*// Small devices (landscape phones, 576px and up)*/

@media (min-width: 768px) and (max-width: 991px) {
    .mt100p {
        margin-top: 100px;
    }

}

/* Medium devices (tablets, 768px and up)*/

@media (min-width: 768px) {
    .client-img {
        text-align: center;
        margin-bottom: 40px;
    }


    .contact-form {
        margin-top: 30px;
    }


    #author,
    #email,
    #url,
    #comment {
        width: 100%;
    }

    .navbar-toggler {
        background-color: #444;
        border-radius: 0px;
    }
    .navbar-toggler span {
        color: #fff;
    }
    .navbar-collapse.collapse.show .navbar-nav {
        background: #111;
        padding: 15px 25px;
    }

    .navbar-collapse.collapse.show .navbar-nav a {
        color: #fff;
    }

    .header-white .navbar-nav .nav-link {
        color: #222;
    }

}

/* Extra Small Devices, Phones */

@media (min-width: 480px) and (max-width:767px) {

    .banner-content h1 {
        font-size: 30px;
        line-height: 40px;
    }

    .banner-content p {
        width: 100%;
    }

    .blog-content {
        margin: 10px 0px;
    }

    .blog-box,
    .pricing-box,
    .feature-box {
        margin-bottom: 20px;
    }

    .contact-form {
        padding: 40px 15px;
    }

    .footer-color {
        margin-top: 60px;
    }

    .footer-menu {
        padding-top: 25px;
    }

    .footer-menu2 {
        margin: 15px;
    }


    .blog-sidebar {
        margin-top: 40px;
    }

    #top-features {
        padding: 50px 0px;
    }
    .feature-box {
        padding: 0px;
        background: #fff;
        margin-bottom: 30px;
        text-align: center;
    }
    .feature-icon {
        position: static;
    }
    .top-feature-bg {
        margin-top: 0px;
        padding: 10px;
    }
    .feature-box h4 {
        margin-bottom: 10px;
    }
    .feature-box p {
        font-size: 14px;
    }

    .heading-left {
        text-align: center;
    }
    .client-img {
        text-align: center;
        margin-bottom: 40px;
    }


    .contact-form {
        margin-top: 30px;
    }


    #author,
    #email,
    #url,
    #comment {
        width: 100%;
    }

    .navbar-toggler {
        background-color: #444;
        border-radius: 0px;
    }
    .navbar-toggler span {
        color: #fff;
    }
    .navbar-collapse.collapse.show .navbar-nav {
        background: #111;
        padding: 15px 25px;
    }

    .navbar-collapse.collapse.show .navbar-nav a {
        color: #fff;
    }

    .header-white .navbar-nav .nav-link {
        color: #222;
    }
    .trans-nav {
        padding: 20px 20px;
    }
    /* Ensure dropdown menu displays fully within the mobile collapsed nav */
    .navbar-collapse.show .dropdown-menu {
        position: static;
        float: none;
        display: none;
        width: 100%;
        margin: 0;
        background: #111;
        border: 0;
        box-shadow: none;
    }
    .navbar-collapse.show .dropdown.show > .dropdown-menu,
    .navbar-collapse.show .dropdown-menu.show {
        display: block;
    }
    .navbar-collapse.show .dropdown-item {
        color: #fff;
    }
}

/* Custom, iPhone Retina */

@media (min-width: 320px) and (max-width: 478px) {
    .navbar-toggler {
        background-color: #444;
        border-radius: 0px;
    }

    .navbar-toggler span {
        color: #fff;
    }

    .banner-content h1 {
        font-size: 30px;
        line-height: 40px;
    }

    .banner-content p {
        width: 100%;
    }

    .blog-content {
        margin: 10px 0px;
    }

    .blog-box,
    .pricing-box,
    .feature-box {
        margin-bottom: 20px;
    }

    .contact-form {
        padding: 40px 15px;
    }

    .footer-color {
        margin-top: 60px;
    }

    .footer-menu {
        padding-top: 25px;
    }

    .footer-menu2 {
        margin: 25px 0px;
    }

    .blog-sidebar {
        margin-top: 40px;
    }

    #email {
        width: 100%;
    }

    #top-features {
        padding: 50px 0px;
    }
    .feature-box {
        padding: 0px;
        background: #fff;
        margin-bottom: 30px;
        text-align: center;
    }
    .feature-icon {
        position: static;
    }
    .top-feature-bg {
        margin-top: 0px;
    }


    .client-img {
        text-align: center;
        margin-bottom: 40px;
    }
    .navbar-collapse.collapse.show .navbar-nav {
        background: #111;
        padding: 15px 25px;
    }

    .navbar-collapse.collapse.show .navbar-nav a {
        color: #fff;
    }

    .header-white .navbar-nav .nav-link {
        color: #222;
    }


}