/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

/* Flatsome Header Override for Demo Custom */
:root {
    --primary-red: #4a6631;
    --gold-solid: #688c42;
    --dark-ink: #2b3a1f;
    --font-title: 'Outfit', 'Montserrat', 'Poppins', sans-serif;
}

/* Hide Top Bar */
.header-top {
    display: none !important;
}

/* Main Menu Override */
.header-wrapper .nav>li>a,
.header-main .nav>li>a,
.header-bottom .nav>li>a {
    color: var(--dark-ink) !important;
    font-family: var(--font-title) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    position: relative;
    transition: 0.3s;
}

.header-wrapper .nav>li>a:hover {
    color: var(--primary-red) !important;
}

/* Hover effect */
.header-wrapper .nav>li>a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 5px;
    left: 15px;
    background-color: var(--gold-solid);
    transition: width 0.3s;
}

.header-wrapper .nav>li:hover>a::after {
    width: calc(100% - 30px);
}

/* Force Flex Column for Header Icons */
.header-cart-icon>a,
.account-item>a,
.wishlist-item>a,
.header-search>a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px;
    height: auto !important;
    position: relative !important;
}

/* Hide default Flatsome icons and text */
.header-cart-title,
.header-account-title,
.header-wishlist-title,
.cart-icon>svg,
.cart-icon>img,
.cart-icon>i,
.icon-shopping-cart,
.icon-shopping-basket,
.icon-shopping-bag,
.account-item>a>i,
.account-item>a>svg,
.wishlist-item>a>i,
.wishlist-item>a>svg {
    display: none !important;
}

/* Reset cart icon container */
.cart-icon {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    background: transparent !important;
    position: relative;
}

/* Add FontAwesome Icons */
.cart-icon::before,
.account-item>a::before,
.wishlist-item>a::before {
    font-family: 'Font Awesome 6 Free';
    font-size: 22px;
    color: var(--dark-ink);
    display: block;
    transition: 0.2s;
    line-height: 1;
}

.cart-icon::before {
    font-weight: 900;
    content: '\f291';
    /* fa-shopping-basket */
}

.account-item>a::before {
    font-weight: 400;
    /* far fa-user */
    content: '\f007';
}

.wishlist-item>a::before {
    font-weight: 400;
    /* far fa-heart */
    content: '\f004';
}

/* Add Custom Titles */
.header-cart-icon>a::after,
.cart-item>a::after,
.account-item>a::after,
.wishlist-item>a::after {
    font-size: 11px !important;
    color: #555 !important;
    font-family: var(--font-title) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin-top: 2px !important;
}

.header-cart-icon>a::after,
.cart-item>a::after {
    content: 'WARENKORB';
}

.account-item>a::after {
    content: 'KONTO';
}

.wishlist-item>a::after {
    content: 'FAVORITEN';
}

/* Hover effects for custom icons & titles */
.cart-icon:hover::before,
.header-cart-icon>a:hover::after,
.cart-item>a:hover::after,
.account-item>a:hover::before,
.account-item>a:hover::after,
.wishlist-item>a:hover::before,
.wishlist-item>a:hover::after {
    color: var(--primary-red) !important;
    transform: translateY(-1px);
}

/* Cart Badge Customization */
.cart-icon {
    display: inline-block !important;
    /* Ensures the container wraps exactly around the icon */
    position: relative !important;
    margin-bottom: 4px !important;
}

.cart-icon strong,
.cart-price {
    display: flex !important;
    background-color: var(--primary-red) !important;
    color: #fff !important;
    border-radius: 50% !important;
    width: 18px !important;
    height: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: bold !important;
    border: 1px solid #fff !important;
    position: absolute !important;
    top: -6px !important;
    right: -8px !important;
    margin: 0 !important;
    z-index: 99;
}

/* Header Border Top */
#header {
    border-top: 4px solid var(--primary-red) !important;
}

.header-main {
    border-bottom: none !important;
}

/* Flatsome Search Form Override */
.header-search-form {
    border-radius: 4px !important;
    border: 1px solid #d4c5a3 !important;
    background: #fcfcfc !important;
    overflow: hidden;
    position: relative;
    max-width: 350px;
    margin: 0 auto;
}

.header-search-form .search-field {
    background: transparent !important;
    border: none !important;
    color: var(--dark-ink) !important;
    font-size: 15px !important;
    padding: 10px 20px 10px 45px !important;
    box-shadow: none !important;
    min-height: 40px !important;
}

.header-search-form button[type="submit"] {
    background: transparent !important;
    color: var(--gold-solid) !important;
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.header-search-form button[type="submit"] i.icon-search {
    display: none !important;
}

.header-search-form button[type="submit"]::before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    content: '\f002';
    /* fa-search */
    font-size: 16px;
    color: var(--gold-solid) !important;
}

/* Fix Site Width properly for Flatsome */
@media (min-width: 850px) {
    .container {
        max-width: 1200px !important;
    }

    .row {
        max-width: 1200px !important;
    }

    .row .row {
        max-width: 100% !important;
    }
}

/* Site Background like Demo */
body.flatsome-theme,
#wrapper,
#main {
    background-color: #fdfaf5 !important;
}

.header-main,
.header-bottom,
.header-top {
    background-image: none !important;
    /* Keep header clean */
    background-color: #fff !important;
}



/* --- LUXURY MINI CART --- */
.header-cart .nav-dropdown, .cart-popup, .nav-dropdown {
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(74, 102, 49, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    padding: 25px 20px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    margin-top: 10px !important;
}

.nav-dropdown::before, .nav-dropdown::after {
    display: none !important; /* Hide the rigid arrow */
}

.widget_shopping_cart .cart_list li {
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
    border-bottom: 1px dashed rgba(74, 102, 49, 0.15) !important;
}

.widget_shopping_cart .cart_list li img {
    border-radius: 8px !important;
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.06);
}

.widget_shopping_cart .cart_list li a.remove {
    color: var(--primary-red) !important;
    border: 1px solid rgba(74, 102, 49, 0.2) !important;
    border-radius: 50% !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 20px !important;
    font-size: 14px !important;
    transition: 0.3s !important;
}
.widget_shopping_cart .cart_list li a.remove:hover {
    background: var(--primary-red) !important;
    color: #fff !important;
}

.widget_shopping_cart_content .total {
    border-top: none !important;
    padding: 10px 0 20px !important;
    color: var(--dark-ink) !important;
    font-family: var(--font-title) !important;
    font-weight: 700 !important;
}

/* Cart Buttons */
.widget_shopping_cart_content .buttons .button {
    border-radius: 50px !important;
    font-family: var(--font-title) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin-bottom: 8px !important;
    padding: 8px 15px !important;
    font-size: 13px !important;
    box-shadow: none !important;
    border: 1px solid transparent !important;
}

.widget_shopping_cart_content .buttons .button:not(.checkout) {
    background-color: transparent !important;
    color: var(--primary-red) !important;
    border-color: var(--primary-red) !important;
}

.widget_shopping_cart_content .buttons .button:not(.checkout):hover {
    background-color: rgba(74, 102, 49, 0.05) !important;
    transform: translateY(-2px) !important;
}

.widget_shopping_cart_content .buttons .button.checkout {
    background-color: var(--primary-red) !important;
    color: #fff !important;
    box-shadow: 0 5px 15px rgba(74, 102, 49, 0.3) !important;
}

.widget_shopping_cart_content .buttons .button.checkout:hover {
    background-color: var(--gold-solid) !important;
    box-shadow: 0 8px 20px rgba(104, 140, 66, 0.4) !important;
    transform: translateY(-2px) !important;
}

@media only screen and (max-width: 48em) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/


}