/* ==========================================
   PRELOADER
========================================== */

#preloader{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:99999;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(255,255,255,.35);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    transition:.4s;
}

.loader{
    width:55px;
    height:55px;
    border:4px solid rgba(255,255,255,.5);
    border-top:4px solid #2E7D32;
    border-radius:50%;
    animation:spin 1s linear infinite;
}

@keyframes spin{
    100%{
        transform:rotate(360deg);
    }
}

/* ==========================================
   TOP BAR
========================================== */

.top-bar{
    background:#111;
    color:#fff;
    padding:8px 0;
    font-size:13px;
}

/* ==========================================
   HEADER
========================================== */

.main-header{
    position:sticky;
    top:0;
    z-index:9999;
    background:#fff;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.navbar{
    min-height:75px;
	padding:15px 0;
}

.navbar-brand{

    display:flex;

    align-items:center;

    text-decoration:none;

}

.header-logo{

    height:60px;

    width:auto;

    display:block;

    object-fit:contain;

}

.brand-text{

    font-size:32px;

    font-weight:800;

    color:var(--primary);

}

/* ==========================================
   MENU
========================================== */

.nav-link{
    font-size:15px;
    font-weight:600;
    color:#222;
    margin:0 8px;
    transition:.3s;
}

.nav-link:hover,
.nav-link.active{
    color:var(--primary);
}

/* ==========================================
   HEADER ACTIONS
========================================== */

.header-actions{
    display:flex;
    align-items:center;
    gap:25px;
}

.join-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#2E7D32;
    color:#fff;
    padding:12px 28px;
    border-radius:50px;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
}

.join-btn:hover{
    background:#256428;
    color:#fff;
}

.desktop-join-btn{
    display:flex;
}

.mobile-join-btn{
    display:none;
}

/* ==========================================
   HEADER ICONS
========================================== */

.header-icon{
    position:relative;
    color:#222;
    font-size:20px;
    transition:.3s;
    text-decoration:none;
}

.header-icon:hover{
    color:var(--primary);
}

.user-account{
    display:flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    color:#222;
}

.user-avatar{
    width:34px;
    height:34px;

    border-radius:50%;

    background:#2E7D32;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:13px;
    font-weight:600;
}

.cart-icon{
    position:relative;
}

.cart-count{
    position:absolute;
    top:-8px;
    right:-10px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    font-size:10px;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ==========================================
   DROPDOWNS
========================================== */

.header-actions .dropdown{
    position:relative;
}

.dropdown-menu{
    border:none;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    padding:15px;
}

.dropdown-item{
    padding:10px 15px;
    border-radius:10px;
    transition:.3s;
}

.dropdown-item:hover{
    background:#f5f5f5;
}

/* Products dropdown */

.navbar .dropdown-menu{
    min-width:220px;
}

/* Search dropdown */

.search-dropdown{
    width:260px;
    padding:15px;
}

.search-dropdown input{
    height:46px;
    border-radius:50px;
}

/* Cart dropdown */

.cart-dropdown{
    width:300px;
    padding:20px;
}

.cart-item{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:15px;
}

.cart-item img{
    width:50px;
    height:auto;
}

/* ==========================================
   MOBILE SUBMENU
========================================== */

.mobile-submenu{
    display:block;
    padding:14px 20px;
    color:#666;
    text-decoration:none;
    border-top:1px solid #f1f1f1;
}

.mobile-submenu:hover{
    color:var(--primary);
}

/* ==========================================
   TOGGLER
========================================== */

.navbar-toggler{
    border:2px solid #ddd;
    border-radius:12px;
    padding:8px 12px;
}

.navbar-toggler:focus{
    box-shadow:none;
}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:991px){
	
	.header-actions .dropdown-menu{
        position:absolute !important;
        inset:auto !important;
        transform:none !important;

        top:45px !important;
        left:50% !important;

        margin-left:-90px;

        min-width:180px;
        z-index:99999;
    }


    .header-logo{

        height:48px;

    }

    .top-bar{
        display:none;
    }

    .navbar{
        min-height:70px;
    }

    .brand-text{
        font-size:28px;
    }

    .navbar-collapse{
        background:#fff;
        margin-top:15px;
        padding:25px;
        border-radius:20px;
        box-shadow:0 10px 30px rgba(0,0,0,.08);
        overflow:visible;
    }

    .navbar-nav{

        margin-bottom:25px !important;
    }

    .navbar-nav .nav-item{
        border-bottom:1px solid #e5e5e5;
    }

    .navbar-nav .nav-link{
        padding:18px 0;
        margin:0;
        font-size:16px;
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    /* Hide desktop dropdowns */

    .search-dropdown,
    .cart-dropdown{
        display:none !important;
    }
	
	.mobile-search-box,
	.mobile-cart-box{
		width:100%;
		margin-top:20px;
	}

	.mobile-cart-box{
		background:#fff;
		padding:15px;
		border-radius:15px;
		box-shadow:0 5px 20px rgba(0,0,0,.08);
	}

    /* Icons row */

    .header-actions{
        width:100%;
        justify-content:center;
        flex-direction:row;
        gap:35px;
        margin-top:20px;
    }

    .header-icon{
        font-size:28px;
    }
	
	.user-account{
		display:flex;
		align-items:center;
		gap:6px;
	}

	.user-avatar{
		width:32px;
		height:32px;
		font-size:12px;
	}

	.user-account i{
		font-size:12px;
	}

    /* Mobile Join Button */

    .desktop-join-btn{
        display:none;
    }

    .mobile-join-btn{
        display:flex;
        width:100%;
        justify-content:center;
        margin-top:20px;
    }

    .mobile-join-btn.join-btn{
        width:100%;
    }
}

/* ==========================================
   DESKTOP
========================================== */

@media(min-width:992px){

    .mobile-join-btn{
        display:none !important;
    }
	
	.search-dropdown{
        width:280px;
        padding:15px;
    }

    .cart-dropdown{
        width:320px;
        padding:20px;
    }

    .search-dropdown,
    .cart-dropdown{
        margin-top:15px;
    }

    .header-actions .dropdown-menu{
        right:0;
        left:auto;
    }

}