/*
Theme Name: Feel Up Pro
Template: hello-elementor
Version: 1.0.2
Description: V190 Master Configuration (Search + Logo Fix)
Author: Antigravity
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* =========================================
   1. GLOBAL RESET & LAYOUT (V115/V122)
   ========================================= */
html,
body {
    font-family: 'Inter', sans-serif;
    overflow-x: hidden !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #fff;
}

/* Primary Container Force */
#primary,
.content-area,
.site-main,
#main,
.site-content {
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 1440px !important;
    float: none !important;
    display: block !important;
}

/* =========================================
   2. HEADER ARCHITECTURE (V187 MASTER WRAPPER)
   ========================================= */
#master-header-wrapper {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999 !important;
    display: flex;
    flex-direction: column;
}

/* Admin Bar Compensation */
body.admin-bar #master-header-wrapper {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar #master-header-wrapper {
        top: 46px !important;
    }
}

/* --- A. TOP BAR --- */
.top-bar-carousel {
    position: relative !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    z-index: 20;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.top-bar-slide {
    display: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
    animation: slideUp 0.5s ease-out;
}

.top-bar-slide.active {
    display: block;
}

.top-bar-slide a {
    color: #fff;
    text-decoration: none;
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* --- B. MAIN HEADER --- */
.site-header {
    position: relative !important;
    width: 100%;
    z-index: 10;
    background-color: transparent !important;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    padding: 0 4% !important;
    height: 80px;
    display: flex;
    align-items: center;
}

.site-header.site-header--scrolled {
    background-color: #ffffff !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
}

/* Header Inner Grid */
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    height: 100%;
}

/* 2.1 Logo (V190 FIX) */
.header-left.site-branding {
    flex: 0 0 auto;
}

.header-left .text-logo {
    font-size: 19px !important;
    /* V190: 19px Forced */
    font-weight: 700;
    color: #000;
    text-decoration: none;
    letter-spacing: -1px;
}

/* 2.2 Menu */
.header-center.main-navigation {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

.luxury-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 32px;
}

.luxury-menu li a {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: #000;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: opacity 0.2s;
}

.luxury-menu li a:hover {
    opacity: 0.6;
}

/* 2.3 Icons */
.header-right.header-icons {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 24px;
}

.icon-group {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #000;
    text-decoration: none;
}

.icon-svg {
    width: 20px;
    height: 20px;
}

.search-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    display: none;
}

@media (min-width: 1024px) {
    .search-label {
        display: block;
    }
}

/* =========================================
   3. SEARCH OVERLAY (V190 FIX)
   ========================================= */
.search-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.95) !important;
    /* Black Overlay */
    z-index: 100000 !important;
    /* Above everything */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-container {
    width: 100%;
    max-width: 800px;
    padding: 20px;
    text-align: center;
}

/* Force Input Styling to kill "Pink" */
.search-field {
    width: 100% !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid #ffffff !important;
    /* White Border */
    color: #ffffff !important;
    /* White Text */
    font-size: 32px !important;
    padding: 20px 0 !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Hide default buttons if they appear */
.search-submit {
    display: none !important;
}

/* Close Button */
.close-search {
    position: absolute !important;
    top: 40px !important;
    right: 40px !important;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    cursor: pointer !important;
    z-index: 100001 !important;
}

/* =========================================
   4. FOOTER & CART (V179/V183)
   ========================================= */
.site-footer {
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 60px 0 20px !important;
    width: 100% !important;
}

.site-footer a {
    color: #fff !important;
}

/* Woo Floating Cart - Force Black */
.woofc-checkout-button,
.woofc-cart-checkout,
.woofc-action-checkout {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: none !important;
}/* --- V191 INLINE SEARCH & LOGO FIX --- */

/* 1. Image Logo Constraint (FIX) */
img.custom-logo {
    max-width: 100px !important;
    height: auto !important;
    width: auto !important;
    /* Override 2560 value */
}

.header-left.site-branding {
    max-width: 120px;
}

/* 2. Inline Search Animation */
.inline-search-wrapper {
    width: 0;
    overflow: hidden;
    transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    border-bottom: 2px solid transparent;
}

.inline-search-wrapper.active {
    width: 220px;
    border-bottom: 2px solid #000;
    margin-right: 15px;
}

#inline-search-field {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 14px;
    color: #000;
    padding: 5px 0;
    outline: none;
    font-weight: 500;
    text-transform: uppercase;
}

#inline-search-field::placeholder {
    color: #999;
}

/* 3. Mic & Search Icon Pointer */
.icon-group {
    cursor: pointer !important;
}

/* 4. Top Bar - Force Visibility */
.top-bar-carousel {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 5. Mobile Adjustments */
@media (max-width: 768px) {
    .inline-search-wrapper.active {
        width: 140px;
        /* Smaller on mobile */
    }

    .search-label {
        display: none !important;
    }
}/* --- V193 LUXURY SIDE CART --- */

/* 1. Main Container - 100vh Drawer */
#xt_woofc {
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    max-height: 100vh !important;
    z-index: 2147483647 !important;
    /* Max Z-Index */
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
}

/* 2. Inner Wrapper */
#xt_woofc .xt_woofc-inner {
    height: 100% !important;
    max-height: 100% !important;
    border-radius: 0 !important;
    /* Square edges */
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.2) !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    width: 400px !important;
    /* Premium Width */
    max-width: 100vw !important;
}

@media (max-width: 480px) {
    #xt_woofc .xt_woofc-inner {
        width: 100vw !important;
    }
}

/* 3. Wrapper inside Inner */
#xt_woofc .xt_woofc-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* 4. Header (Fixed Top) */
#xt_woofc .xt_woofc-header {
    flex: 0 0 auto !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

/* 5. Body (Scrollable Middle) */
#xt_woofc .xt_woofc-body {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding-bottom: 0 !important;
    /* Let Footer handle spacing */
    height: auto !important;
    max-height: none !important;
}

/* 6. Footer (Sticky Bottom) */
#xt_woofc .xt_woofc-footer {
    flex: 0 0 auto !important;
    position: relative !important;
    /* Flex container handles positioning */
    bottom: auto !important;
    background: #fff !important;
    border-top: 1px solid #f0f0f0 !important;
    padding: 20px !important;
    z-index: 10 !important;
}

/* Force Checkout Button Style */
#xt_woofc .xt_woofc-checkout {
    background-color: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* 7. Backdrop (Overlay) */
.xt_woofc-overlay {
    background-color: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(2px);
    /* Luxury Blur */
}

/* 8. Trigger (Hide the floating bubble if we are using header icon) */
/* Actually, user wants the trigger to work, but visually we might want to hide the floating icon if it duplicates the header one. 
   For now, I'll style it to be unobtrusive or reliance on the header icon. */