@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600&display=swap');
/* Footer icons bar - mobile only */
.letter-avatar {
    background-size: cover;
    color: white;
    font-family: sans-serif;
    text-align: center;
    line-height: 1;
}
img.avatar.avatar-32.photo.rounded-circle {
    margin-right: 8px;
}
div#nsl-custom-login-form-2 {
    display: none;
}
a.reg-w-google { 
    color: #000;
    text-decoration: none;
    text-align: center;
}
div.reg-btn {
    border: 1px solid rgb(0 0 0 / 18%);
    position: relative;
    padding: 10px;
    top: -19px;
    text-align: center;
    width: 100%!important;
    max-width: 100%!important;
}
#nsl-custom-login-form-1 .nsl-container-embedded-login-layout-below {
    padding: 0px 0 0!important;
}
div#nsl-custom-login-form-1 {
    display: none;
}
div.nsl-container.nsl-container-block .nsl-container-buttons {
    width: 100%;
    margin-bottom: -57px;
}
.mt-3>a>.bi-google {
    border: none;
    position: relative;
    left: 8px;
}
a.btn.btn-danger.w-100 {
    margin-top: -30px;
    border-radius: 0px;
    margin-bottom: 10px;
}button.btn.btn-success.w-100 {
    background: #000;
    border-radius: 0px;
}
button.btn.btn-success.w-100.register {
    background: #3198ab;
	border-radius: 0px;
}
.cbn-footer-icons {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff; /* white bg */
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 14px 0;
    z-index: 9999;
    transition: transform 0.3s ease-in-out;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.1);
}

/* Spacing between icons */
.cbn-footer-icons a {
    color: #000; /* black icons */
    font-size: 24px;
    margin: 0 18px; /* spacing */
    position: relative;
    transition: color 0.2s;
}

.cbn-footer-icons a:hover {
    color: #444; /* subtle hover */
}

/* Cart badge */
.cbn-footer-icons .cart-count {
    position: absolute;
    top: -7px;
    right: -19px;
    background: #ff4d4f;
    color: #fff;
    font-size: 11px;
    border-radius: 50%;
    padding: 1px 8px;
    height: 22px;
    width: 22px;
    line-height: 19px;
}
span.cart-count.hidden:before {
    content: '0';
    position: relative;
    left: -2px;
    top: 1px;
}
.cbn-footer-icons .cart-count.hidden {
    position: absolute;
    top: -6px;
    right: -19px;
    background: #ff4d4f;
    color: #fff;
    font-size: 11px;
    border-radius: 50%;
    padding: 0px 10px;
}

.cbn-footer-icons {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-top: 1px solid #eee;
    z-index: 9999;
	padding: 0;
}

.cbn-footer-icons ul {
    width: 100%;
}

.cbn-footer-icons li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    position: relative;
    color: #000;
}

.cbn-footer-icons i {
    font-size: 22px;
}

/* Cart badge */
.cbn-footer-icons .cart-count {
    position: absolute;
    top: 8px;
    right: 35%;
    background: red;
    color: #fff;
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 50%;
}


/* Hide original top header icons on mobile */
@media screen and (min-width: 359px) and (max-width: 374px) {
    a.navbar-brand {
        padding-right: 39%;
    }
}
@media screen and (min-width: 375px) and (max-width: 395px) {
    a.navbar-brand {
        padding-right: 40%;
    }
}
@media screen and (min-width: 396px) and (max-width: 397px) {
    a.navbar-brand {
        padding-right: 42%;
    }
}
@media screen and (min-width: 398px) and (max-width: 444px) {
a.navbar-brand {
    padding-right: 43%;
	}
}
@media screen and (min-width: 445px) and (max-width: 446px) {
	a.navbar-brand {
    padding-right: 51%;
	}
}
@media screen and (min-width: 446px) and (max-width: 452px) {
	a.navbar-brand {
    padding-right: 51%;
	}
}
@media screen and (min-width: 453px) and (max-width: 473px) {
	a.navbar-brand {
    padding-right: 54%;
	}
}
@media screen and (min-width: 474px) and (max-width: 480px) {
	a.navbar-brand {
    padding-right: 54.9%;
	}
}
@media screen and  (max-width: 480px) {
    .navbar-icons {
        display: none !important;
    }
	ul.navbar-nav.navbar-icons.align-items-center.d-flex {
    display: none!important;
}
}

/* Navbar Toggler customizations */
.navbar-toggler {
    border: none;
    outline: none;
    box-shadow: none !important;
}

.navbar-toggler .toggle-icon {
    transition: transform 0.3s ease, opacity 0.3s ease;
    font-size: 28px;
    color: #fff;
    display: inline-block;
}

/* Collapse menu smooth animation */
li.nav-item>.nav-link {
    padding-left: 2px;
}
ul#menu-main-menu {
    margin: 0;
}
.navbar-toggler i {
    font-size: 28px;
    color: #fff; /* change to black if navbar bg is white */
}
button.navbar-toggler.ms-auto {
    position: relative;
    right: 0;
}
/* Toggle icon ko white bana do (black bg ke liye) */
.navbar-toggler-icon {
    filter: invert(1);
}

/* Mobile nav spacing */
@media (max-width: 991px) {
    .navbar-collapse {
        margin-top: 10px;
    }
    .navbar-nav .nav-link {
        padding: 10px 15px;
    }
}


ul.woocommerce-mini-cart.cart_list.product_list_widget {
    padding-left: 0px;
}
/* Defining base styles for the navbar */
/* Make offcanvas body a flex column */
.offcanvas-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-bottom: 70px; /* space for bottom buttons */
}
button#login-tab {
    padding-left: 15px;
}
button#register-tab {
    padding-left: 15px;
}
/* Cart list scrollable */
.woocommerce-mini-cart {
    flex: 1;
    overflow-y: auto;
    margin-bottom: 15px;
}
p.woocommerce-mini-cart__buttons.buttons {
    display: none;
}
.woocommerce ul.cart_list li dl dd, .woocommerce ul.cart_list li dl dt, .woocommerce ul.product_list_widget li dl dd, .woocommerce ul.product_list_widget li dl dt {
    margin-bottom: 0em!important;
}
dl.variation {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Optional spacing between items */
    align-items: center;
    margin: 0;
}

dl.variation dt,
dl.variation dd {
    display: inline;
    margin: 0;
    padding: 0;
}

/* Cart item styling */
.woocommerce-mini-cart-item {
    /* display: flex; */
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 15px;
    width: 100%;
    overflow-x: hidden;
	border-bottom: 1px solid #ddd;
}
div#offcanvasCart>div.offcanvas-body>ul.woocommerce-mini-cart>li.woocommerce-mini-cart-item>dl.variation {
    display: flex!important;
    gap: 7px;
    font-size: 12px;
    padding-left: 0px;
    border: none;
    position: relative;
    left: 0px;
}
li.woocommerce-mini-cart-item.mini_cart_item>a {
    color: #000;
}
.woocommerce-mini-cart-item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
}
.woocommerce-mini-cart-item img {
    float: right;
}

.woocommerce-mini-cart-item .variation,
.woocommerce-mini-cart-item .quantity {
    font-size: 13px;
    color: #555;
}
.woocommerce-mini-cart-item .remove {
    margin-right: 8px;
    color: #ff4444;
}

/* Subtotal just above buttons */
.woocommerce-mini-cart__total {
    font-weight: bold;
    text-align: right;
    padding: 10px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-bottom: 0;
}

/* Buttons fixed at bottom */
.cart-buttons, .woocommerce-mini-cart__buttons {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    /* position: fixed; */
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    background: #fff;
    z-index: 999;
}

/* Equal width buttons */
.woocommerce-mini-cart__buttons a, .cart-buttons a {
    flex: 1;
    text-align: center;
    border-radius: 6px;
    padding: 10px 0;
    font-weight: 500;
    background: #000;
    border-radius: 0;
    border: 0;
    color: #fff;
    padding: 18px;
	height: 60px;
}

/* Highlight checkout */
.woocommerce-mini-cart__buttons a.checkout,
.cart-buttons a.btn-primary {
    background: #fc742a;
    color: #fff;
    border: none;
}
p.login-username>label {
    width: 100%;
}
input#user_login {
    width: 100%;
}
p.login-password>label {
    width: 100%;
}
input#user_pass {
    width: 100%;
}
ul#authTabs {
    padding-left: 0px!important;
    margin: 0;
}
.nav-link.active {
      background-color: #007bff!important;
      color: #fff!important;
	  border-color: 1px solid #007bff!important;
    }
.nav-link {
  transition: background-color 0.3s;
}
.nav-link:hover {
  background-color: transparent;
  color: #fff;
}
li.nav-item>.nav-link {
    color: #000;
}
.btn-close {
  color: white;                   /* Color of the 'X' icon (modern browsers) */
  opacity: 1;                     /* Ensure full visibility */
  border-radius: 0.25rem;         /* Optional: Rounded corners */
  padding: 0.5rem;                /* Optional: Bigger button */
}

/* Fallback for browsers that don’t support `color` on btn-close (use filter) */
.btn-close::before {
  filter: invert(1);
}

/* Hover state */
.btn-close:hover {
  background-color: darkorange;
  color: white;
}

/* Focus state */
.btn-close:focus {
  outline: none;
  box-shadow: 0 0 0 0.25rem rgba(255, 165, 0, 0.5); /* Orange glow */
  background-color: orangered;
  color: white;
}
.modal-dialog {
    width: 380px;
}
.modal-body {
    padding: 18px 38px;
    padding-bottom: 1px;
}
.modal {
    z-index: 9999;
}
.navbar {
    font-family: "Plus Jakarta Sans", sans-serif;
    background-color: black !important;
}

/* Adjusting navigation link styles */
.navbar-nav .nav-link {
    color: white !important;
    transition: color 0.3s ease;
}

/* Modifying hover effect for navigation links */
.navbar-nav .nav-link:hover {
    color: #cccccc !important;
}

/* Styling the dropdown menu */
.dropdown-menu {
    background: white;
    border-radius: 8px;
    animation: fadeInUp 0.3s ease;
}

/* Adjusting dropdown item styles */
.dropdown-menu .dropdown-item {
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Enhancing hover effect for dropdown items */
.dropdown-menu .dropdown-item:hover {
    background-color: #f8f9fa;
    color: #000;
}
li.nav-item.user-login-reg {
    margin-left: 6px;
}
/* Defining animation for dropdown appearance */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Styling the submenu toggle icon */
.submenu-toggle {
    display: none; /* Hidden by default */
    margin-left: 10px;
    cursor: pointer;
    color: black;
    font-size: 1.2rem; /* Adjust size for Bootstrap Icons */
}

/* Configuring submenu styles with dynamic positioning */
.dropdown-menu .dropdown-menu {
    margin-left: 0; /* Reset margin for dynamic positioning */
    position: absolute;
    top: 0;
    left: 100%; /* Default to right */
    display: none;
    min-width: 200px; /* Ensure minimum width for visibility */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Add shadow for better separation */
}

/* Enabling hover display for sub-menus on desktop */
.has-submenu:hover > .dropdown-menu {
    display: block; /* Show sub-menu on hover */
}

/* Enabling hover display for child sub-menus on desktop */
.has-submenu .dropdown-menu .has-submenu:hover > .dropdown-menu {
    display: block; /* Show child sub-menu on hover */
}

.navbar-icons .custom-header-icons {
    display: flex;
    align-items: center;
    gap: 15px;
}
a#userDropdown {
    margin-left: 8px;
}
.navbar-icons .custom-header-icons i {
    font-size: 1.2rem;
    color: #fff;
    cursor: pointer;
}
ul.dropdown-menu>li>a.nav-link>span {
    color: #000;
}
.navbar-icons .cart-count {
    background: #ff4d4f;
    color: #fff;
    font-size: 12px;
    border-radius: 50%;
    padding: 4px 6px;
    margin-left: -2px;
    margin-top: 3px;
}

/* Adjusting desktop-specific styles */
@media (min-width: 992px) {
    /* Displaying top-level dropdown on hover */
    .navbar-nav .dropdown:hover > .dropdown-menu {
        display: block;
    }
    /* Hiding dropdown menu by default */
    .dropdown-menu {
        display: none;
    }
    /* Hiding submenu toggle on desktop */
    .submenu-toggle {
        display: none; /* Ensure plus icon is hidden on desktop */
    }

    /* Adjusting child sub-menu position */
    .dropdown-menu .dropdown-menu {
        left: calc(100% + 5px); /* Default right offset with small gap */
    }

    /* Setting relative positioning for submenu container */
    .dropdown-menu .has-submenu {
        position: relative;
    }

    /* Configuring initial child sub-menu positioning */
    .dropdown-menu .has-submenu .dropdown-menu {
        left: auto; /* Reset left for dynamic check */
        right: calc(100% + 5px); /* Default to right */
    }

    /* Attempting right positioning on hover */
    .dropdown-menu .has-submenu:hover .dropdown-menu {
        left: calc(100% + 5px); /* Try right first */
    }

    /* Adjusting for insufficient right space */
    @supports (position: sticky) or (-webkit-sticky: initial) {
        /* Setting initial hover position */
        .dropdown-menu .has-submenu:hover .dropdown-menu {
            left: calc(100% + 5px);
            right: auto;
        }
        /* Shifting to left if no space on right */
        .dropdown-menu .has-submenu:hover .dropdown-menu:not(:-webkit-full-screen):not([style*="left: calc(100% + 5px)"]) {
            left: auto;
            right: calc(100% + 5px);
        }
    }
}

/* Configuring mobile-specific styles */
@media (max-width: 991px) {
    /* Hiding dropdown menu by default */
    .navbar-nav .dropdown-menu {
        display: none;
    }
    /* Showing dropdown menu when parent is active */
    .navbar-nav .dropdown.show > .dropdown-menu {
        display: block;
    }
    /* Displaying submenu toggle on mobile */
    .submenu-toggle {
        display: inline-block; /* Show plus icon on mobile */
    }
    /* Ensuring sub-menus are collapsible by default */
    .dropdown-menu .dropdown-menu {
        display: none; /* Hide sub-menus by default */
        position: static; /* Remove absolute positioning for mobile accordion */
        margin-left: 20px; /* Indent for readability */
        box-shadow: none; /* Remove shadow for mobile */
    }
    /* Expanding sub-menu when shown, isolating to specific level */
    .has-submenu.show > .dropdown-menu {
        display: block; /* Show sub-menu when .show is applied to has-submenu */
    }
    /* Preventing top-level interference */
    .navbar-nav .dropdown.show .has-submenu > .dropdown-menu {
        display: none; /* Ensure top-level show doesn’t affect nested sub-menus unless toggled */
    }
}

@media (max-width: 480px) { 
	ul.navbar-nav.ms-3.navbar-icons.align-items-center {
    display: none;
	}
}