/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Astra Child Theme for premium header styling
Author: Antigravity AI
Author URI: https://wpastra.com/
Template: astra
Version: 1.0.1
Text Domain: astra-child
*/

/* ==========================================================================
   Phase 1 — Top Announcement Bar Redesign (Dark Blue, 48px Height)
   ========================================================================== */
.ast-above-header-bar {
    background-color: #1a2b49 !important;
    border-bottom: 1px solid #15223a !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 !important; /* Removed container padding to allow precise column padding */
    /* display: flex !important; */
    /* align-items: center !important; */
}

.ast-above-header-bar .ast-container,
.ast-above-header-bar .site-above-header-wrap,
.ast-above-header-bar .ast-builder-grid-row {
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Overall Layout - 3 Columns */
.ast-above-header-bar .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
}

/* Left Section - Empty */
.site-header-above-section-left {
    grid-column: 1 / 2 !important;
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
}

/* Center Section - Announcement */
.site-header-above-section-center {
    grid-column: 2 / 3 !important;
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Right Section - Icons */
.site-header-above-section-right {
    grid-column: 3 / 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 20px !important;
    padding-right: 40px !important;
    width: 100% !important;
}

/* Center Announcement Content Styling */
.ast-above-header-bar .ast-builder-html-element p,
.ast-above-header-bar #tophtml {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* FREE SHIPPING Badge */
.ast-above-header-bar #headerspecial1 {
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* 500 AED Badge */
.ast-above-header-bar #headerspecial2 {
    color: #D9A441 !important; /* Gold text */
    border: 1px solid #ffffff !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Right Side Icons Override */
.site-header-primary-section-right .widget,
.site-header-primary-section-right .ast-builder-layout-element,
.site-header-primary-section-right .wp-block-columns,
.site-header-primary-section-right .wp-block-column {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    flex-grow: 0 !important;
    flex-basis: auto !important;
}

.site-header-primary-section-right .wp-block-columns {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 20px !important; /* Gap 20px */
}

/* Ensure svgs inside the right icons align cleanly */
.site-header-primary-section-right .widget svg {
    fill: #ffffff !important;
    width: 20px !important; /* Icon size 20px */
    height: 20px !important; /* Icon size 20px */
    vertical-align: middle !important;
    transition: opacity 0.2s ease !important;
}

.site-header-primary-section-right .widget a {
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
    opacity: 1 !important;
    transition: opacity 0.2s ease !important;
}

.site-header-primary-section-right .widget a:hover {
    opacity: 0.8 !important; /* Hover opacity 0.8 */
}

.site-header-primary-section-right .widget span,
.site-header-primary-section-right .widget p {
    color: #ffffff !important;
    font-size: 0 !important; /* Hide potential text artifacts */
    margin: 0 !important;
}
}

/* ==========================================================================
   Phase 2 — Main Header Grid Layout (96px Height)
   ========================================================================== */
.ast-primary-header-bar {
    background-color: #121212 !important;
    border-bottom: 1px solid #1f2937 !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 0 40px !important; /* Left and right padding */
}

#ast-desktop-header .site-primary-header-wrap,
#ast-desktop-header .site-primary-header-wrap .ast-container,
#ast-desktop-header .site-primary-header-wrap .ast-builder-grid-row {
    height: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    max-width: 100% !important;
}

#ast-desktop-header .site-primary-header-wrap .ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important; /* Visual centering based on remaining space */
    align-items: center !important;
    width: 100% !important;
    height: 76px !important;
}

/* 1. Logo */
#ast-desktop-header .site-header-primary-section-left {
    grid-column: 1 / 2 !important;
    justify-self: start !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}
#ast-desktop-header .site-header-primary-section-left .site-branding {
    padding: 0 !important;
}

/* Let Search and Cart participate in grid */
/* #ast-desktop-header .site-header-primary-section-right {
    display: contents !important;
} */

/* 2. Search */
#ast-desktop-header .site-header-primary-section-center {
    grid-column: 2 / 3 !important;
    justify-self: stretch !important; /* Stretch to fill the 1fr column */
    width: 100% !important;
    max-width: 100% !important;
    min-width: 400px !important;
    padding: 0 20px !important;
    display: flex !important;
    justify-content: center !important; /* Center the search bar horizontally */
}

/* 3. Cart and Icons */
#ast-desktop-header .site-header-primary-section-right {
    grid-column: 3 / 4 !important;
    justify-self: end !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 20px !important;
}

/* Ensure Search Wrapper Expands */
#ast-desktop-header .site-header-primary-section-center .ast-builder-layout-element,
#ast-desktop-header .site-header-primary-section-center .header-widget-area,
#ast-desktop-header .site-header-primary-section-center .header-widget-area-inner,
#ast-desktop-header .site-header-primary-section-center .widget {
    width: 100% !important;
    max-width: 800px !important;
    display: flex !important;
    justify-content: center !important;
}

#ast-desktop-header .site-header-primary-section-center .aws-container {
    width: 100% !important;
}

/* Search Bar Inner Styling */
.aws-container .aws-search-form {
    background-color: #F4F5F7 !important;
    border: none !important;
    border-radius: 8px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 16px !important;
    width: 100% !important;
    box-shadow: none !important;
}
.aws-container .aws-search-field {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 0 0 12px !important;
    margin: 0 !important;
    height: 100% !important;
    width: 100% !important;
    font-size: 15px !important;
    color: #4b5563 !important;
    text-align: left !important;
}
.aws-container .aws-search-field::placeholder {
    color: #9ca3af !important;
}
.aws-container .aws-search-btn {
    order: -1 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.aws-container .aws-search-btn_icon svg {
    fill: #111827 !important;
    width: 20px !important;
    height: 20px !important;
}
.aws-container .aws-search-form:focus-within {
    border-color: #1a2b49 !important;
}

/* Cart Icon */
.ast-header-woo-cart .ast-site-header-cart svg {
    fill: #ffffff !important;
    width: 24px !important;
    height: 24px !important;
}
.ast-header-woo-cart .ast-cart-desktop-position-left .ast-addon-cart-wrap i:after {
    background-color: #1a2b49 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Phase 3 — Category Navigation (Single Row Buttons)
   ========================================================================== */
.ast-below-header-bar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e5e7eb !important;
    height: 60px !important;
    padding: 0 40px !important;
}

#ast-desktop-header .site-below-header-wrap,
#ast-desktop-header .site-below-header-wrap .ast-container,
#ast-desktop-header .site-below-header-wrap .ast-builder-grid-row {
    height: 100% !important;
    padding: 0 !important;
}

#ast-desktop-header .site-below-header-wrap .ast-builder-grid-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

#ast-desktop-header .site-header-below-section-left {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    overflow: visible !important; /* Allow dropdown menus to escape container */
    gap: 8px !important;
}

#ast-hf-menu-1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#ast-hf-menu-1 > .menu-item {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Reset any custom button wrappers */
.ast-header-button-1, .ast-header-button-2 {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* ==========================================================================
   Generic Category Link Styling (Text Only)
   ========================================================================== */
#ast-hf-menu-1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 16px !important; /* 16px horizontal spacing between items */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#ast-hf-menu-1 > .menu-item > a {
    height: 44px !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: #222222 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

#ast-hf-menu-1 > .menu-item > a .ast-arrow-svg {
    fill: #222222 !important;
    margin-left: 6px !important;
    width: 8px !important;
    height: 5px !important;
    transition: fill 0.2s ease !important;
}

/* Hover effect for text links */
#ast-hf-menu-1 > .menu-item > a:hover {
    color: #1a2b49 !important; /* Brand Blue */
    background-color: transparent !important;
}

#ast-hf-menu-1 > .menu-item > a:hover .ast-arrow-svg {
    fill: #1a2b49 !important;
}

/* ==========================================================================
   Button Styling ONLY for Best Sellers & New Arrivals
   ========================================================================== */
/* Apply button shape to the custom buttons */
.ast-builder-layout-element .ast-custom-button {
    border-radius: 8px !important; /* 8-10px radius */
    padding: 0 28px !important; /* 24-30px horizontal padding */
    height: 48px !important; /* 46-48px height */
    text-transform: uppercase !important;
    font-size: 15px !important; /* 15-16px */
    font-weight: 600 !important;
    border: 1px solid #e5e7eb !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

/* Active Button: Best Sellers */
.ast-header-button-1 .ast-custom-button {
    background-color: #1a2b49 !important;
    color: #ffffff !important;
    border-color: #1a2b49 !important;
}
.ast-header-button-1 .ast-custom-button:hover {
    background-color: #111827 !important;
    color: #ffffff !important;
    border-color: #111827 !important;
}

/* Inactive Button: New Arrivals */
.ast-header-button-2 .ast-custom-button {
    background-color: #ffffff !important;
    color: #374151 !important;
    border-color: #e5e7eb !important;
}
.ast-header-button-2 .ast-custom-button:hover {
    background-color: #f3f4f6 !important;
    color: #111827 !important;
}
/* ==========================================================================
   Phase 5 — Mobile and Tablet Responsiveness
   ========================================================================== */
@media (max-width: 921px) {
    /* Flexbox column ordering to place mobile header first and categories bar directly below it */
    .site-header {
        display: flex !important;
        flex-direction: column !important;
    }
    
    #ast-mobile-header {
        order: 1 !important;
    }
    
    #ast-desktop-header {
        order: 2 !important;
        display: block !important;
    }
    
    #ast-desktop-header .ast-above-header-wrap,
    #ast-desktop-header .ast-primary-header-wrap,
    #ast-desktop-header .ast-main-header-wrap {
        display: none !important;
    }
    
    #ast-desktop-header .ast-below-header-wrap {
        display: block !important;
    }
    
    /* Force menu block and elements to display on mobile devices */
    #ast-desktop-header .ast-below-header-wrap .ast-builder-menu-1 {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Horizontal scrollable category row on mobile/tablet */
    .ast-below-header-bar {
        display: block !important; /* Force display on mobile */
        min-height: 48px !important;
        height: 48px !important;
        padding: 0 !important;
        background-color: #ffffff !important;
        border-bottom: 1px solid #e5e7eb !important;
    }
    
    #ast-desktop-header .site-below-header-wrap,
    #ast-desktop-header .site-below-header-wrap .ast-container,
    #ast-desktop-header .site-below-header-wrap .ast-builder-grid-row {
        height: 100% !important;
        min-height: 100% !important;
        display: flex !important;
        align-items: center !important;
    }
    
    #ast-desktop-header .site-header-below-section-left {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 6px !important;
        padding: 0 12px !important;
        justify-content: flex-start !important; /* Align left for scroll starting point */
        height: 100% !important;
        align-items: center !important;
    }
    
    #ast-desktop-header .site-header-below-section-left::-webkit-scrollbar {
        display: none !important;
    }
    
    #ast-hf-menu-1 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        align-items: center !important;
    }
    
    .ast-header-button-1, .ast-header-button-2, #ast-hf-menu-1 > .menu-item {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
    }
    
    #ast-hf-menu-1 > .menu-item > a {
        padding: 0 10px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        height: 36px !important; /* Slightly more compact on mobile */
        border-radius: 4px !important;
    }
    
    .ast-builder-layout-element .ast-custom-button {
        padding: 0 14px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        height: 36px !important;
        border-radius: 8px !important;
    }

    /* Hide the mobile toggle button on mobile inside this row */
    #ast-desktop-header .ast-below-header-wrap .menu-toggle {
        display: none !important;
    }

    /* Keep top bar colors intact on mobile */
    .ast-above-header-bar .wp-block-columns {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        padding: 0 10px !important;
    }
    
    .ast-above-header-bar .ast-header-html-1 {
        font-size: 11px !important;
    }
}

/* ==========================================================================
   Remove Extra White Space Below Navigation
   ========================================================================== */
.home #content.site-content,
.home #content.site-content > .ast-container,
.home #primary,
.home #main,
.home .ast-article-single,
.home .entry-content,
.home .site-content .wp-block-uagb-container:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Fix WordPress injecting empty paragraphs causing vertical gaps */
.home .entry-content p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ast-builder-grid-row-container.site-below-header-wrap {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ==========================================================================
   Features Section (Info Boxes) Alignment and Height
   ========================================================================== */
/* Reduce padding on the container block holding the info boxes */
.home .wp-block-uagb-container:has(.wp-block-uagb-info-box) {
    padding-top: 12px !important;
    padding-bottom: 0 !important;
    min-height: unset !important;
}

.home .wp-block-uagb-container:has(.wp-block-uagb-info-box) .uagb-container-inner-blocks-wrap,
.home .wp-block-uagb-container:has(.wp-block-uagb-info-box) .wp-block-columns,
.home .wp-block-uagb-container:has(.wp-block-uagb-info-box) .wp-block-column {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Center align UAGB info box icon and text */
.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-infobox-margin-wrapper,
.home .wp-block-uagb-info-box.uagb-infobox-icon-right .uagb-infobox-margin-wrapper {
    display: flex !important;
    align-items: center !important;
}

/* Nuke margins on the icon and text to ensure perfect vertical centering */
.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-ifb-icon-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-ifb-title {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-ifb-desc {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.2 !important;
    font-size: 12px !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left.wp-block-uagb-info-box--has-margin {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-infobox-margin-wrapper {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.home .uagb-testimonial__wrap .uagb-tm__desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.home .homet4 .uagb-ifb-title-wrap {
    text-align: center !important;
    width: 100% !important;
}

/* --- Reorder Homepage Blocks (Categories UP, New Arrivals DOWN) --- */
@media (min-width: 993px) {
    .home .entry-content .uagb-block-5cf82bba {
        display: flex;
        flex-direction: column;
    }
    
    /* 1. Shop by Category Title */
    .home .entry-content .uagb-block-ac0ef36f { order: 1; }
    /* 2. Shop by Category Grid */
    .home .entry-content .uagb-block-d0c8ab0d { order: 2; margin-bottom: 50px !important; }
    
    /* 3. New Arrivals Title */
    .home .entry-content .uagb-block-1cbc011e { 
        order: 3; 
        margin-top: 50px !important; 
        padding-top: 50px !important; 
    }
    /* 4. New Arrivals Carousel */
    .home .entry-content .arrivalscarousal    { order: 4; }
    
    /* 5. Top Selling Title */
    .home .entry-content .uagb-block-c3de3d87 { order: 5; }
    /* 6. Top Selling Carousel */
    .home .entry-content .uagb-block-666be537 { order: 6; }
}

/* --- "Shop All" Button Resizing --- */
.home .homeshopbtn1 .wp-block-button__link {
    padding: 10px 24px !important; /* Proper padding for a nice rectangle button */
    border-radius: 4px !important; /* Make it more rectangle, less pill-shaped */
    line-height: 1.2 !important; /* Tighten height */
    font-size: 14px !important; /* Ensure text doesn't shrink, but fits tight */
    margin: 0 !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-ifb-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-ifb-icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 0 !important;
}

.home .wp-block-uagb-info-box.uagb-infobox-icon-left .uagb-ifb-icon-wrap svg {
    display: block !important;
    vertical-align: middle !important;
    width: 28px !important;
    height: 28px !important;
}

/* Reduce gap for the home categories grid */
.homecat.is-layout-grid,
.homecatmobile.is-layout-grid {
    gap: 10px !important;
}

/* Force identical rounded card design and identical size across all rows */
.homecat .wp-block-uagb-info-box,
.homecatmobile .wp-block-uagb-info-box {
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
}

.homecat .wp-block-uagb-info-box .uagb-ifb-image-wrap img,
.homecatmobile .wp-block-uagb-info-box .uagb-ifb-image-wrap img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    border-radius: 0 !important; /* Container handles the border radius */
    margin: 0 !important;
}

.homecat .wp-block-uagb-info-box .uagb-ifb-content,
.homecatmobile .wp-block-uagb-info-box .uagb-ifb-content {
    padding: 10px 5px !important;
}

/* Reduce height for clients (brands) section */
.wp-block-uagb-container.clients {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    min-height: unset !important;
}

.wp-block-uagb-container.clients * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.wp-block-uagb-container.clients img {
    height: 40px !important;
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* Visually enlarge specific tiny logos without affecting the layout */
.wp-block-uagb-container.clients img[src*="skross"],
.wp-block-uagb-container.clients img[src*="parker"] {
    transform: scale(1.8) !important;
}

/* --- FOOTER TWEAKS --- */

/* Re-enable 4th column for trust badges */
.site-primary-footer-wrap .site-footer-primary-section-4 {
    display: block !important;
}

/* Reduce overall footer height */
.site-primary-footer-wrap {
    padding-top: 30px !important;
    padding-bottom: 20px !important;
}

/* Reduce margins on footer widgets and headings */
.site-primary-footer-wrap .widget {
    margin-bottom: 10px !important;
}
.site-primary-footer-wrap .wp-block-heading {
    margin-bottom: 15px !important;
}
.site-primary-footer-wrap p {
    margin-bottom: 10px !important;
}

/* --- TESTIMONIAL TWEAKS --- */

/* Add 5 gold stars to testimonials */
.uagb-tm__desc::before {
    content: "\2605\2605\2605\2605\2605";
    color: #fbbc05 !important;
    font-size: 22px !important;
    letter-spacing: 2px !important;
    display: block !important;
    text-align: center !important;
    margin-bottom: 15px !important;
}

/* --- GLOBAL BUTTON SHAPE --- */

/* Make all buttons rounded rectangles (approx 8px border-radius) instead of pills */
button,
.button,
.ast-button,
.ast-custom-button,
.wp-block-button__link,
.uagb-buttons-repeater,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border-radius: 8px !important;
}

/* --- HIDE BREADCRUMBS --- */
.ast-breadcrumbs-wrapper,
.woocommerce-breadcrumb,
.ast-breadcrumbs-inner,
#ast-breadcrumbs {
    display: none !important;
}

/* --- CATEGORY TRUST BANNER --- */
.category-trust-banner {
    background-color: #f2f4f8; /* Light gray background */
    margin-bottom: 30px;
    padding: 15px 0;
    border-radius: 0;
}
.trust-banner-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    padding: 0 20px;
}
.category-trust-banner .trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.category-trust-banner .trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
}
.category-trust-banner .trust-text {
    display: flex;
    flex-direction: column;
}
.category-trust-banner .trust-stars {
    color: #fbbc05;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 2px;
    margin-bottom: 4px;
}
.category-trust-banner .trust-title {
    font-weight: 700;
    font-size: 14px;
    color: #333;
    line-height: 1.2;
    margin-bottom: 3px;
}
.category-trust-banner .trust-sub {
    font-size: 12px;
    color: #666;
    line-height: 1.2;
}

@media (max-width: 1024px) {
    .trust-banner-inner {
        justify-content: flex-start;
    }
    .category-trust-banner .trust-item {
        width: 45%;
    }
}
@media (max-width: 600px) {
    .category-trust-banner {
        padding: 10px 0 !important;
    }
    .trust-banner-inner {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        justify-content: space-between !important;
        padding: 0 5px !important;
    }
    .category-trust-banner .trust-item {
        flex: 1 !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        text-align: center !important;
        gap: 5px !important;
        width: auto !important;
    }
    .category-trust-banner .trust-item:first-child {
        order: 5 !important;
    }
    .category-trust-banner .trust-icon svg,
    .category-trust-banner .trust-icon img {
        width: 20px !important;
        height: 20px !important;
    }
    .category-trust-banner .trust-title {
        font-size: 9px !important;
        line-height: 1.1 !important;
    }
    .category-trust-banner .trust-sub {
        display: none !important;
    }
    .category-trust-banner .trust-stars {
        font-size: 10px !important;
        letter-spacing: 0 !important;
        margin-bottom: 2px !important;
    }
    .category-trust-banner .trust-text {
        align-items: center !important;
    }
}

/* --- DYNAMIC CATEGORY BANNER --- */
.custom-category-banner {
    height: 150px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -20px; /* pull up under header slightly depending on spacing */
    margin-bottom: 0;
}
.custom-category-banner.fallback-banner {
    background-color: var(--ast-global-color-0, #1e293b) !important;
    background-image: none !important;
}

/* --- MOBILE SIDEBAR ORDER (Search & Filter above products) --- */
.custom-mobile-filter-btn-wrap {
    display: none;
    order: -2 !important;
    width: 100%;
    margin-bottom: 10px;
    padding: 0;
    text-align: right; /* align button to the right */
}
.custom-filter-btn {
    width: auto !important;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    padding: 6px 12px !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    cursor: pointer;
    line-height: 1 !important;
    /* allow Astra global button colors to apply */
}

@media (max-width: 921px) {
    .site-content > .ast-container {
        display: flex !important;
        flex-direction: column !important;
    }
    .custom-mobile-filter-btn-wrap {
        display: block !important;
    }
    .site-content > .ast-container > #secondary {
        order: -1 !important;
        margin-bottom: 20px !important;
        display: none !important; /* Hidden by default behind toggle */
    }
    .site-content > .ast-container > #secondary.show-mobile-sidebar {
        display: block !important;
        animation: filterFadeIn 0.3s ease;
    }
    .site-content > .ast-container > #primary {
        order: 1 !important;
    }
}

@keyframes filterFadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.custom-category-banner .banner-overlay {
    background: rgba(0, 0, 0, 0.2);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.custom-category-banner .category-banner-title {
    color: #fff;
    font-size: 42px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

@media (max-width: 768px) {
    .custom-category-banner .category-banner-title {
        font-size: 24px !important; /* Smaller on mobile */
    }
    
    /* Enforce flexbox layout strongly on mobile to prevent Astra from overriding */
    .woocommerce ul.products li.product .ast-loop-buttons-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }
}

/* Hide default Astra archive title since we have a custom banner */
.ast-archive-description {
    display: none !important;
}

/* --- REPOSITION PLUGIN WHATSAPP BUTTON --- */
/* Center the buttons together using the new wrapper */
.woocommerce ul.products li.product .ast-loop-buttons-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important; /* Force same line */
    gap: 8px !important; /* Precise gap between buttons */
    width: 100% !important;
    margin-top: 10px !important;
    clear: both !important;
}

/* Make the Add to Cart / Select Options button size naturally */
.woocommerce ul.products li.product .ast-loop-buttons-wrap .button:not(.wa-shop-button) {
    width: auto !important; /* Don't stretch */
    height: 30px !important; /* Explicit height to match WhatsApp */
    line-height: 30px !important; /* Center text vertically */
    padding: 0 12px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    flex: 0 1 auto !important;
    align-self: center !important;
    box-sizing: border-box !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    font-size: 11px !important; /* Make sure it fits */
}

/* Style the WhatsApp button as a square next to it */
.woocommerce ul.products li.product a.wa-shop-button,
.woocommerce ul.products li.product a#sendbtn {
    position: relative !important; /* Critical for centering the absolute ::before */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    height: 30px !important; /* Reduced size */
    width: 30px !important; /* Square */
    padding: 0 !important; /* Remove Astra button padding */
    margin: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-color: #1a2b49 !important;
    
    /* Reset any stray positioning offsets */
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    
    /* Hide the bare text */
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
}

/* Hide the span text (if any) */
.woocommerce ul.products li.product a.wa-shop-button span,
.woocommerce ul.products li.product a#sendbtn span {
    display: none !important;
}

/* Force the icon into the exact center of the button */
.woocommerce ul.products li.product a.wa-shop-button::before,
.woocommerce ul.products li.product a#sendbtn::before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important; 
    padding: 0 !important;
    width: 26px !important; /* Fixed SVG size */
    height: 26px !important; /* Fixed SVG size */
    display: block !important;
}

/* Mobile adjustments for the shop loop buttons so they fit the narrow columns */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .ast-loop-buttons-wrap {
        gap: 4px !important; /* Tighter gap */
    }
    .woocommerce ul.products li.product .ast-loop-buttons-wrap .button:not(.wa-shop-button) {
        font-size: 10px !important; /* Smaller text */
        padding: 0 8px !important; /* Less padding */
        height: 32px !important; /* Smaller height */
        line-height: 32px !important;
    }
    .woocommerce ul.products li.product a.wa-shop-button,
    .woocommerce ul.products li.product a#sendbtn {
        height: 32px !important; /* Match Add to Cart height */
        width: 32px !important; /* Square */
    }
    .woocommerce ul.products li.product a.wa-shop-button::before,
    .woocommerce ul.products li.product a#sendbtn::before {
        width: 20px !important; /* Smaller SVG */
        height: 20px !important;
    }
}

/* --- CATEGORIES WIDGET REDESIGN --- */
.widget_product_categories .widget-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 20px !important;
    padding-bottom: 8px !important;
    position: relative !important;
    border: none !important;
}
.widget_product_categories .widget-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 2px;
    background-color: #cba258; /* Gold color */
}

.widget_product_categories ul.product-categories {
    border: 1px solid #f0f0f0 !important;
    border-radius: 6px !important;
    padding: 0 !important;
    list-style: none !important;
    background: #fff !important;
    margin: 0 !important;
    max-height: 450px !important; /* Reduce overall height */
    overflow-y: auto !important; /* Add vertical scroll */
    overflow-x: hidden !important;
}

/* Custom Scrollbar for Categories */
.widget_product_categories ul.product-categories::-webkit-scrollbar {
    width: 6px;
}
.widget_product_categories ul.product-categories::-webkit-scrollbar-track {
    background: #f9f9f9; 
    border-radius: 0 6px 6px 0;
}
.widget_product_categories ul.product-categories::-webkit-scrollbar-thumb {
    background: #cba258; 
    border-radius: 4px;
}
.widget_product_categories ul.product-categories::-webkit-scrollbar-thumb:hover {
    background: #b58d45; 
}

/* Remove Astra's default left arrow completely */
.widget_product_categories ul.product-categories li::before {
    display: none !important;
}

.widget_product_categories ul.product-categories li.cat-item {
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 12px 16px !important;
    display: flex !important;
    flex-wrap: wrap !important; /* CRITICAL: Allows children UL to wrap to next line */
    align-items: center !important;
    margin: 0 !important;
}

.widget_product_categories ul.product-categories li.cat-item:last-child {
    border-bottom: none !important;
}

.widget_product_categories ul.product-categories li.cat-item > a {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    color: #444 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    padding: 0 !important;
    background: transparent !important;
    white-space: normal !important;
    word-break: break-word !important;
}

.widget_product_categories ul.product-categories li.cat-item > a:hover {
    color: #cba258 !important;
}

/* Category Count Pill */
.widget_product_categories ul.product-categories li.cat-item > .count {
    background: #f4f4f4 !important;
    color: #333 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 12px !important;
    margin-left: auto !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Right Chevron Arrow attached to the Count Pill */
.widget_product_categories ul.product-categories li.cat-item > .count::after {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23bbb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="9 18 15 12 9 6"></polyline></svg>') !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin-left: 10px !important;
}

/* --- NESTED SUB-CATEGORIES LAYOUT --- */
.widget_product_categories ul.product-categories ul.children {
    flex-basis: 100% !important; /* Force to new row */
    width: 100% !important;
    margin: 12px -16px -12px -16px !important; /* Pull to edges of parent padding */
    padding: 0 !important;
    list-style: none !important;
    border-top: 1px solid #f0f0f0 !important;
}

.widget_product_categories ul.product-categories ul.children li.cat-item {
    padding: 12px 16px 12px 48px !important; /* Indent child categories */
    border-bottom: 1px solid #f0f0f0 !important;
}

.widget_product_categories ul.product-categories ul.children li.cat-item > a {
    font-size: 15px !important;
}

.widget_product_categories ul.product-categories ul.children li.cat-item:last-child {
    border-bottom: none !important;
}

/* Generic Icon Base */
.widget_product_categories ul.product-categories li.cat-item > a::before {
    content: "" !important;
    display: inline-block !important;
    width: 28px !important;
    height: 28px !important;
    margin-right: 12px !important;
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23888" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg>') !important;
    background-size: 14px 14px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: #f7f7f7 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    border: none !important;
}

/* Specific Category Icons */
.widget_product_categories ul.product-categories li.cat-item a[href*="apparel"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M20.38 3.46L16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z"></path></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="award"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M8 21h8M12 17v4M7 4h10M4 4h16v6a8 8 0 0 1-16 0V4z"></path></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="badge"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="bag"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="box"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="brand"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="children"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="desktop"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="drink"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="gift"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="20 12 20 22 4 22 4 12"></polyline><rect x="2" y="7" width="20" height="5"></rect><line x1="12" y1="22" x2="12" y2="7"></line><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="office"]::before, .widget_product_categories ul.product-categories li.cat-item a[href*="writing"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M12 19l7-7 3 3-7 7-3-3z"></path><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"></path><path d="M2 2l7.586 7.586"></path><circle cx="11" cy="11" r="2"></circle></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="organiz"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="print"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect x="6" y="14" width="12" height="8"></rect></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="sustain"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"></path><line x1="2" y1="22" x2="11" y2="13"></line></svg>') !important; background-color: #fcf9f2 !important; }
.widget_product_categories ul.product-categories li.cat-item a[href*="tech"]::before { background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="%23cba258" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>') !important; background-color: #fcf9f2 !important; }

/* Force Print menu link colors in the 4th footer column */
.site-footer-primary-section-4 .widget_nav_menu ul.menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    column-gap: 15px !important;
    row-gap: 16px !important;
    align-items: center !important;
}
.site-footer-primary-section-4 .widget_nav_menu ul.menu li {
    margin-bottom: 0 !important;
    line-height: 1 !important;
}
.site-footer-primary-section-4 .widget_nav_menu ul.menu li a {
    color: #ffffff !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: opacity 0.2s ease !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: visible !important;
}
.site-footer-primary-section-4 .widget_nav_menu ul.menu li a:hover {
    opacity: 0.7 !important;
}

/* Mobile Header Alignment Fixes */
@media (max-width: 921px) {
    /* Align Search Bar */
    .widget_aws_widget {
        padding: 0 15px !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    .widget_aws_widget .aws-container,
    .widget_aws_widget .aws-search-form {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Align and stretch Bestsellers & New Arrivals buttons */
    .site-header-below-section-left.ast-flex {
        width: 100% !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    
    /* Explicitly hide the primary menu bar in the mobile header to remove the blank space */
    .ast-builder-menu-1 {
        display: none !important;
    }

    .ast-header-button-1, .ast-header-button-2 {
        flex: 1 !important;
        margin: 0 !important;
        width: 50% !important;
    }
    .ast-header-button-1 .ast-builder-button-wrap,
    .ast-header-button-2 .ast-builder-button-wrap,
    .ast-header-button-1 .ast-custom-button-link,
    .ast-header-button-2 .ast-custom-button-link,
    .ast-header-button-1 .ast-custom-button,
    .ast-header-button-2 .ast-custom-button {
        width: 100% !important;
        text-align: center !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/* --- Custom Pagination Design --- */
.woocommerce-pagination {
    margin: 40px auto !important;
}
.woocommerce-pagination .page-numbers {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    border: none !important;
    padding: 0 !important;
    align-items: center !important;
}
.woocommerce-pagination .page-numbers li {
    border: none !important;
}
.woocommerce-pagination .page-numbers li .page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important; /* Circular shape */
    background: #ffffff !important;
    color: #9ca3af !important; /* light grey text */
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    border: 1px solid #e5e7eb !important; /* light grey border */
}
.woocommerce-pagination .page-numbers li .page-numbers:hover {
    background: #f9fafb !important;
    color: #1a2b49 !important;
    border-color: #1a2b49 !important;
}
.woocommerce-pagination .page-numbers li .page-numbers.current {
    background: #1a2b49 !important; /* bright blue */
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 0 0 2px #1a2b49 !important; /* Ring effect */
    transform: none !important;
}
/* Pill shape for PREV and NEXT buttons */
.woocommerce-pagination .page-numbers li .page-numbers.next,
.woocommerce-pagination .page-numbers li .page-numbers.prev,
.woocommerce-pagination .page-numbers li .page-numbers.custom-pill {
    width: auto !important;
    border-radius: 16px !important;
    padding: 0 14px !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    color: #9ca3af !important;
    border: 1px solid #e5e7eb !important;
}
.woocommerce-pagination .page-numbers li .page-numbers.next:hover,
.woocommerce-pagination .page-numbers li .page-numbers.prev:hover,
.woocommerce-pagination .page-numbers li .page-numbers.custom-pill:hover {
    color: #1a2b49 !important;
    border-color: #1a2b49 !important;
}
/* Dots styling */
.woocommerce-pagination .page-numbers li .page-numbers.dots {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    width: auto !important;
    color: #9ca3af !important;
}

/* Custom Go Wrapper */
.custom-go-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 6px;
}
.custom-go-input {
    width: 45px !important;
    height: 32px !important;
    border-radius: 16px !important;
    border: 1px solid #e5e7eb !important;
    text-align: center;
    font-size: 12px !important;
    color: #9ca3af !important;
    padding: 0 !important;
}
.custom-go-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #1a2b49 !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    line-height: 1;
}

/* --- Footer Menu Hover Animation --- */
.site-footer .menu-item a {
    position: relative !important;
    display: inline-block !important;
    transition: color 0.3s ease !important;
}
.site-footer .menu-item a::after {
    content: '' !important;
    position: absolute !important;
    width: 0 !important;
    height: 2px !important;
    bottom: -2px !important;
    left: 0 !important;
    background-color: var(--ast-global-color-0) !important;
    transition: width 0.3s ease !important;
}
.site-footer .menu-item a:hover::after {
    width: 100% !important;
}
.site-footer .menu-item a:hover {
    color: var(--ast-global-color-0) !important;
}

/* --- Fix Submenu Text Visibility --- */
.ast-builder-menu .sub-menu .menu-item a,
.ast-desktop .ast-builder-menu .sub-menu .menu-item a {
    color: #111827 !important;
}
.ast-builder-menu .sub-menu .menu-item a:hover,
.ast-desktop .ast-builder-menu .sub-menu .menu-item a:hover {
    color: var(--ast-global-color-0) !important;
}

/* --- Pre-Footer Contact Bar --- */
.pre-footer-contact-bar {
    background: #fafafa;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    padding: 10px 0 20px 0 !important;
    margin-top: 0px !important;
}
.pre-footer-contact-bar .contact-bar-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: center;
}
.pre-footer-contact-bar .contact-item {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none !important;
    color: #333 !important;
    transition: transform 0.3s ease;
}
.pre-footer-contact-bar .contact-item:hover {
    transform: translateY(-3px);
}
.pre-footer-contact-bar .contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ast-global-color-0);
}
.pre-footer-contact-bar .contact-text h4 {
    margin: 0 0 4px 0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #111 !important;
    line-height: 1.2 !important;
}
.pre-footer-contact-bar .contact-text span {
    font-size: 14px !important;
    color: #666 !important;
    font-weight: 400 !important;
}

@media (max-width: 992px) {
    .pre-footer-contact-bar .contact-bar-inner {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
    .pre-footer-contact-bar .contact-item {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }
    .pre-footer-contact-bar .contact-text span {
        font-size: 12px !important;
        word-break: break-all;
    }
}
@media (max-width: 576px) {
    .pre-footer-contact-bar .contact-bar-inner {
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }
    .pre-footer-contact-bar .contact-item {
        flex-direction: column;
        text-align: center;
        gap: 5px;
    }
    .pre-footer-contact-bar .contact-icon svg {
        width: 24px;
        height: 24px;
    }
    .pre-footer-contact-bar .contact-text h4 {
        font-size: 11px !important;
    }
    .pre-footer-contact-bar .contact-text span {
        display: none !important;
    }
}

/* --- Custom Homepage Hero Banner --- */
.home #content .entry-content > .uagb-block-d38a0435 {
    display: none !important;
}

.custom-homepage-hero {
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 0;
    overflow: hidden;
}
.custom-homepage-hero a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.custom-homepage-hero img {
    width: 100%;
    height: auto;
    max-height: 480px; /* Reduce banner height */
    object-fit: cover; /* Crop gracefully without squishing */
    object-position: center;
    display: block;
}

/* --- Main Navigation Menu Box Styling --- */
@media (min-width: 993px) {
    #ast-desktop-header .main-header-menu {
        gap: 6px !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }
    #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
        border: 1px solid #e5e7eb !important;
        border-radius: 8px !important;
        padding: 8px 12px !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
        background-color: #ffffff !important;
        transition: all 0.3s ease !important;
        line-height: 1.2 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: auto !important; /* Override Astra hardcoded height */
        white-space: nowrap !important; /* PREVENT TEXT WRAPPING */
        font-size: 14px !important; /* slightly smaller to fit many items */
    }
    #ast-desktop-header .main-header-menu > .menu-item > .menu-link .ast-icon {
        margin-left: 4px !important; /* Adjust arrow spacing */
    }
    #ast-desktop-header .main-header-menu > .menu-item:hover > .menu-link {
        box-shadow: 0 4px 6px rgba(0,0,0,0.08) !important;
        transform: translateY(-2px) !important;
        border-color: #d1d5db !important;
    }
    /* Fix Dropdown position and styling to match the new buttons */
    #ast-desktop-header .main-header-menu > .menu-item > .sub-menu {
        top: calc(100% + 8px) !important; /* Push it below the button */
        border-radius: 8px !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
        padding: 5px 0 !important;
    }
    /* Invisible bridge to keep hover active across the gap */
    #ast-desktop-header .main-header-menu > .menu-item::after {
        content: '';
        position: absolute;
        bottom: -15px;
        left: 0;
        width: 100%;
        height: 15px;
        z-index: 999;
    }
}

/* Mobile Bottom Navigation Bar */
.mobile-bottom-nav {
    display: none;
}

@media (max-width: 921px) {
    /* Hide 'Shop by Category' section on mobile */
    .home .uagb-block-ac0ef36f,
    .home .uagb-block-d0c8ab0d {
        display: none !important;
    }

    body {
        padding-bottom: 70px !important; /* Space for the bottom nav */
    }
    
    .mobile-bottom-nav {
        display: flex;
        justify-content: space-around;
        align-items: center;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 65px;
        background: #ffffff;
        border-top: 1px solid #e5e7eb;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
        z-index: 99999;
        padding-bottom: env(safe-area-inset-bottom);
    }

    .mobile-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none !important;
        color: #4b5563 !important;
        flex: 1;
        height: 100%;
        position: relative;
    }

    .mobile-nav-item:hover, .mobile-nav-item:active {
        color: var(--ast-global-color-0) !important;
    }

    .mobile-nav-item svg {
        margin-bottom: 4px;
        transition: transform 0.2s ease;
    }
    
    .mobile-nav-item:active svg {
        transform: scale(0.9);
    }

    .mobile-nav-item span {
        font-size: 11px;
        font-weight: 500;
        line-height: 1;
    }

    /* Cart Badge in Bottom Nav */
    .nav-cart-icon {
        position: relative;
        display: inline-block;
    }
    
    .nav-cart-count {
        position: absolute;
        top: -6px;
        right: -8px;
        background: var(--ast-global-color-0);
        color: #ffffff;
        font-size: 10px;
        font-weight: bold;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

    /* Push floating WhatsApp button up so it's not hidden by the nav */
    .whatsapp-widget, .floating-whatsapp {
        bottom: 80px !important;
    }
    
    /* Footer Accordions for Mobile */
    .footer-widget-area {
        margin-bottom: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    /* Target widget titles (h2, h3, h4, h5) inside footer */
    .footer-widget-area.has-accordion .widget-title,
    .footer-widget-area.has-accordion .wp-block-heading {
        cursor: pointer;
        position: relative;
        margin-bottom: 0 !important;
        padding: 15px 30px 15px 0 !important;
        display: block;
        text-align: left !important;
    }
    
    .footer-widget-area.has-accordion .widget-title::after,
    .footer-widget-area.has-accordion .wp-block-heading::after {
        content: '+';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 20px;
        font-weight: 300;
        transition: transform 0.3s ease;
    }
    
    /* Open state for + icon */
    .footer-widget-area.has-accordion.is-open .widget-title::after,
    .footer-widget-area.has-accordion.is-open .wp-block-heading::after {
        content: '-';
    }
    
    /* Hide widget content initially (everything after the title section) */
    .footer-widget-area.has-accordion > section:not(:first-child),
    .footer-widget-area.has-accordion > div.widget:not(:first-child) {
        display: none !important;
        padding-bottom: 15px;
    }
    
    /* Show content when open */
    .footer-widget-area.has-accordion.is-open > section:not(:first-child),
    .footer-widget-area.has-accordion.is-open > div.widget:not(:first-child) {
        display: block !important;
    }

    /* Left align list items inside footer widgets */
    .footer-widget-area.has-accordion .menu {
        padding: 0 !important;
        margin-top: 15px !important;
    }
    
    .footer-widget-area.has-accordion .menu li,
    .footer-widget-area.has-accordion .menu a {
        display: block !important;
        text-align: left !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }
    
    /* The default header hamburger menu toggle is visible again per user request */
}

/* Advanced Woo Search (AWS) Adjustments */
header .aws-container {
    max-width: 600px; /* Reduce width slightly */
    width: 85%; /* Responsive width */
    margin: 0 auto !important; /* Center it */
}

/* Increase placeholder text size */
header .aws-container .aws-search-form .aws-search-field {
    font-size: 16px !important;
}

header .aws-container .aws-search-form .aws-search-field::placeholder {
    font-size: 16px !important;
    opacity: 0.7;
}

/* Make main navigation menu items bold */
.main-header-menu .menu-item > .menu-link,
.main-header-menu .menu-item > .menu-link .menu-text {
    font-weight: 700 !important;
}

/* Hide the old Team menu item everywhere since it's now a custom button in the header */
#menu-item-18284 {
    display: none !important;
}

/* Change pagination circles to boxes */
#page .page-numbers,
#page .page-numbers *,
#page .ast-pagination *,
#page .woocommerce-pagination *,
#page nav.woocommerce-pagination *,
#page .elementor-pagination * {
    border-radius: 0 !important;
}

/* Fill active variation swatch backgrounds */
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch {
    background-color: var(--ast-global-color-0, #cba258) !important;
    color: #ffffff !important;
    border-color: var(--ast-global-color-0, #cba258) !important;
}

/* Move Account/Sign Up Icon to the first position in header */
.site-header-primary-section-right .ast-header-html-2,
.ast-mobile-header-section-right .ast-header-html-2 {
    order: -1 !important;
}

/* --- Header Right Icons Alignment Fix --- */
.site-header-primary-section-right {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

@media (max-width: 921px) {
    .custom-login-icon .login-text {
        display: none !important;
    }
}

.site-header-primary-section-right .header-widget-area {
    margin: 0 !important;
    padding: 0 !important;
}

.site-header-primary-section-right .widget_block {
    margin: 0 !important;
}

.site-header-primary-section-right .wp-block-columns {
    margin: 0 !important;
    gap: 15px !important;
    align-items: center !important;
}

.site-header-primary-section-right .wp-block-column {
    margin: 0 !important;
}

.site-header-primary-section-right .uagb-icon-wrapper {
    margin: 0 !important;
}

.site-header-primary-section-right .uagb-svg-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.site-header-primary-section-right .ast-header-woo-cart,
.site-header-primary-section-right .ast-header-html-2 {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

/* Fix any stray UAG margin */
.site-header-primary-section-right .uagb-block-f5cf8fa8,
.site-header-primary-section-right .uagb-block-ca89b25c {
    margin-right: 0 !important;
}

/* --- Custom Trust Badges --- */
.custom-trust-badges-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 30px !important;
    padding: 10px 20px !important;
    background: #fff !important;
    border-bottom: 1px solid #eaeaea !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.custom-trust-badge {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    min-width: 130px !important;
    color: #4a5568 !important;
    flex: 1 !important;
    justify-content: center !important;
}
.custom-trust-badge a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    justify-content: center !important;
    width: 100% !important;
}
.custom-trust-badge:hover {
    color: #1a202c !important;
}
.custom-trust-badge:first-child {
    padding-left: 40px !important;
}
.ctb-icon {
    margin-right: 12px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.ctb-text {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}
@media (max-width: 768px) {
    .custom-trust-badges-wrapper {
        justify-content: space-between !important;
        padding: 10px 5px !important;
        gap: 2px !important;
        overflow-x: hidden !important; /* Remove scrolling */
    }
    .custom-trust-badges-wrapper::-webkit-scrollbar {
        display: none !important;
    }
    .custom-trust-badge {
        min-width: 0 !important;
        width: 25% !important;
        flex: 1 1 0 !important;
        flex-direction: column !important; /* Stack icon on top of text */
        justify-content: center !important;
        text-align: center !important;
        padding-right: 0 !important;
    }
    .custom-trust-badge a {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .ctb-icon {
        margin-right: 0 !important;
        margin-bottom: 4px !important;
    }
    .ctb-text {
        font-size: 9px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }
    .ctb-icon svg,
    .ctb-icon img {
        width: 22px !important;
        height: 22px !important;
    }
}

/* --- Custom Hero Slider --- */
.custom-hero-slider {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    width: 100% !important;
}
.custom-hero-slider::-webkit-scrollbar {
    display: none !important;
}
.hero-slide {
    flex: 0 0 100% !important;
    scroll-snap-align: start !important;
}
.hero-slide img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* --- Products Marquee --- */
.products-marquee-section {
    padding: 40px 0 30px !important;
    background: #c3a34f !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    max-width: 100vw !important;
}
.products-marquee-heading {
    text-align: left !important;
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    margin: 0 0 30px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding-left: 40px !important;
}
.products-marquee-wrapper {
    display: flex !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.products-marquee-wrapper:hover .products-marquee-track {
    animation-play-state: paused !important;
}
.products-marquee-track {
    display: flex !important;
    min-width: max-content !important;
    flex-shrink: 0 !important;
    animation: marquee-scroll 35s linear infinite !important;
    gap: 30px !important;
    padding-right: 30px !important; 
}
.marquee-product {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex: 0 0 220px !important;
    overflow: hidden !important;
}
.marquee-product-image {
    width: 100% !important;
    background: #fff !important;
    border-radius: 8px !important;
    padding: 10px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}
.marquee-product-image img {
    width: 100% !important;
    height: 180px !important;
    object-fit: contain !important;
}
.marquee-product-title {
    margin-top: 15px !important;
    font-size: 15px !important;
    color: #fff !important;
    font-weight: 700 !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}
.marquee-product-price {
    margin-top: 8px !important;
    font-size: 16px !important;
    color: #111 !important;
    font-weight: 800 !important;
}
.marquee-product-price del {
    color: #555 !important;
    font-weight: normal !important;
    margin-right: 5px !important;
}
@keyframes marquee-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
@media (max-width: 768px) {
    .marquee-product {
        min-width: 160px !important;
        max-width: 160px !important;
    }
    .products-marquee-track {
        animation-duration: 20s !important;
        gap: 15px !important;
        padding-right: 15px !important;
    }
    .marquee-product-image img {
        height: 120px !important;
    }
    .marquee-product-title {
        font-size: 13px !important;
    }
}

/* --- Custom Promo Banner (V2) --- */
.custom-promo-banner {
    display: flex !important;
    align-items: center !important;
    background-color: #1a2b49 !important;
    padding: 20px 5% !important;
    margin: 40px auto !important;
    max-width: 100% !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05) !important;
    gap: 40px !important;
    box-sizing: border-box !important;
}
.custom-promo-content {
    flex: 1 1 50% !important;
    text-align: left !important;
}
.custom-promo-image-col {
    flex: 1 1 50% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.custom-promo-image-col img {
    max-height: 250px !important;
    width: auto !important;
    object-fit: contain !important;
    border-radius: 16px !important;
}
.custom-promo-logo-text {
    font-size: 28px !important;
    font-weight: 900 !important;
    color: #c3a34f !important;
    margin-bottom: 20px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}
.custom-promo-content h2 {
    font-size: 38px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
}
.custom-promo-content p {
    font-size: 20px !important;
    color: #e5e7eb !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}
.custom-promo-content p span.highlight {
    color: #c3a34f !important;
    font-weight: 700 !important;
}
@media (max-width: 768px) {
    .custom-promo-banner {
        flex-direction: column !important;
        padding: 40px 20px !important;
        text-align: center !important;
        gap: 20px !important;
    }
    .custom-promo-content {
        flex: 1 1 100% !important;
        text-align: center !important;
    }
    .custom-promo-image-col {
        flex: 1 1 100% !important;
    }

    /* --- Hide Specific Sections on Mobile --- */
    .uagb-block-5cf82bba,
    .arrivalscarousal,
    .uagb-block-c3de3d87,
    .uagb-block-666be537 {
        display: none !important;
    }

    .custom-promo-logo-text {
        font-size: 22px !important;
    }
    .custom-promo-content h2 {
        font-size: 26px !important;
    }
    .custom-promo-content p {
        font-size: 16px !important;
    }
}

/* --- Custom Home Search Box --- */
.custom-home-search {
    width: 100% !important;
    padding: 20px 20px !important;
    background: #ffffff !important;
}
.custom-home-search .search-wrap {
    max-width: 800px !important;
    margin: 0 auto !important;
    position: relative !important;
}
.custom-home-search form {
    display: flex !important;
    align-items: center !important;
    background: #f9f9f9 !important;
    border: 1px solid #111 !important;
    border-radius: 8px !important;
    position: relative !important;
    height: 50px !important;
}
.custom-home-search .search-icon {
    color: #111 !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}
.custom-home-search input[type="search"] {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 45px !important;
    font-size: 16px !important;
    color: #333 !important;
    text-align: center !important;
    box-shadow: none !important;
    outline: none !important;
}
.custom-home-search input[type="search"]::placeholder {
    color: #888 !important;
    font-weight: 300 !important;
}

@media (min-width: 922px) {
    .custom-home-search {
        display: none !important;
    }
}

/* --- Mobile Footer Accordion --- */
@media (max-width: 921px) {
    .mobile-footer-toggle {
        cursor: pointer !important;
        position: relative !important;
        padding-right: 30px !important;
    }
    .mobile-footer-toggle::after {
        content: '+' !important;
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 20px !important;
        font-weight: 300 !important;
        color: inherit !important;
    }
    .mobile-footer-toggle.active::after {
        content: '-' !important;
    }
    .mobile-footer-content {
        display: none;
        padding-top: 15px;
    }
}

/* --- FOOTER WIDGET TEXT COLOR FIX --- */
.site-footer,
.site-footer .widget_text,
.site-footer .textwidget,
.site-footer p,
.site-footer span,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer strong,
.site-footer b {
    color: #ffffff !important;
}

/* --- DYNAMIC COLOR VARIATION SWATCHES --- */
/* Matches the slug of the color to give the button a real background color when selected */
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="black"] { background-color: #111827 !important; border-color: #111827 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="white"] { background-color: #ffffff !important; border-color: #cbd5e1 !important; color: #0f172a !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="navy"] { background-color: #1e3a8a !important; border-color: #1e3a8a !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug="blue"] { background-color: #3b82f6 !important; border-color: #3b82f6 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="red"] { background-color: #ef4444 !important; border-color: #ef4444 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="green"] { background-color: #22c55e !important; border-color: #22c55e !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="yellow"] { background-color: #eab308 !important; border-color: #eab308 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="gray"],
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="grey"] { background-color: #64748b !important; border-color: #64748b !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="silver"] { background-color: #94a3b8 !important; border-color: #94a3b8 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="gold"] { background-color: #eab308 !important; border-color: #eab308 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pink"] { background-color: #ec4899 !important; border-color: #ec4899 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="purple"] { background-color: #a855f7 !important; border-color: #a855f7 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="orange"] { background-color: #f97316 !important; border-color: #f97316 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="brown"] { background-color: #78350f !important; border-color: #78350f !important; color: #ffffff !important; }

/* --- ADDITIONAL SPECIFIC COLORS --- */
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="dark-purple"] { background-color: #4a0e4e !important; border-color: #4a0e4e !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="beige"] { background-color: #f5f5dc !important; border-color: #d1d1b0 !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="heather-grey"] { background-color: #9ca3af !important; border-color: #9ca3af !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="maroon"] { background-color: #800000 !important; border-color: #800000 !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="mushroom"] { background-color: #baab9e !important; border-color: #baab9e !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="off-white"] { background-color: #f8f9fa !important; border-color: #e5e7eb !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="olive-green"] { background-color: #556b2f !important; border-color: #556b2f !important; color: #ffffff !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-blue"] { background-color: #aec6cf !important; border-color: #aec6cf !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-green"] { background-color: #77dd77 !important; border-color: #77dd77 !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-light-purple"] { background-color: #b39eb5 !important; border-color: #b39eb5 !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-peach"] { background-color: #ffdab9 !important; border-color: #ffdab9 !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-pink"] { background-color: #dea5a4 !important; border-color: #dea5a4 !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-teal"] { background-color: #80ced6 !important; border-color: #80ced6 !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="pastel-yellow"] { background-color: #fdfd96 !important; border-color: #e5e56e !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="sky-blue"] { background-color: #87ceeb !important; border-color: #87ceeb !important; color: #000000 !important; }
.cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch[data-slug*="steel-grey"] { background-color: #71797e !important; border-color: #71797e !important; color: #ffffff !important; }

/* Legacy WhatsApp Button colors removed to allow transparent background with blue icon */

/* --- CART PAGE BUTTONS SIZING --- */
.woocommerce-cart .cart-collaterals .checkout-button,
.woocommerce-cart .actions .button {
    padding: 12px 24px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    min-height: auto !important;
    width: auto !important;
    display: inline-block !important;
}

/* --- CENTER ALIGN CART/CHECKOUT BUTTONS --- */
.wc-proceed-to-checkout,
.woocommerce-checkout #payment .place-order {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
    width: 100% !important;
}
.wc-proceed-to-checkout .button,
.wc-proceed-to-checkout a,
.woocommerce-checkout #payment .place-order .button,
.woocommerce-checkout #payment .place-order a {
    width: auto !important;
    min-width: 200px !important; /* give them a consistent minimum width so they look nice together */
    margin: 0 auto !important;
    text-align: center !important;
}

/* --- SUB-CATEGORY TAB BAR --- */
.cat-subtab-bar {
    display: flex;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: visible;
    gap: 8px;
    padding: 10px 0 14px;
    margin-bottom: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #1a2b49 #e5e7eb;
    width: 100%;
    box-sizing: border-box;
}
/* Desktop - show thin styled scrollbar */
@media (min-width: 769px) {
    .cat-subtab-bar::-webkit-scrollbar {
        display: block;
        height: 5px;
    }
    .cat-subtab-bar::-webkit-scrollbar-track {
        background: #e5e7eb;
        border-radius: 3px;
    }
    .cat-subtab-bar::-webkit-scrollbar-thumb {
        background: #1a2b49;
        border-radius: 3px;
    }
}
/* Mobile - hide scrollbar */
@media (max-width: 768px) {
    .cat-subtab-bar {
        scrollbar-width: none;
    }
    .cat-subtab-bar::-webkit-scrollbar { display: none; }
}
.cat-subtab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-shrink: 0 !important;
    padding: 7px 18px;
    border-radius: 6px;
    background: #f3f4f6;
    color: #374151;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid #e5e7eb;
    transition: all 0.2s ease;
}
.cat-subtab:hover {
    background: #1a2b49;
    color: #ffffff;
    border-color: #1a2b49;
}
.cat-subtab.active {
    background: #1a2b49;
    color: #ffffff;
    border-color: #1a2b49;
}

/* --- HIDE NESTED SUBCATEGORIES IN SIDEBAR CATEGORY WIDGET --- */
/* Subcategories are now shown in the top tab bar instead */
#secondary .widget_product_categories .cat-item ul,
#secondary .widget_categories .cat-item ul,
#secondary .woocommerce-widget-layered-nav-list .children,
.widget_product_categories .cat-item .children {
    display: none !important;
}

/* --- COMPACT SIDEBAR WIDGET FONT & SPACING --- */
@media (min-width: 922px) {
    /* Smaller widget headings */
    #secondary .widget-title,
    #secondary .widgettitle {
        font-size: 14px !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 8px !important;
    }
    /* Smaller category item text */
    #secondary .widget_product_categories .cat-item a,
    #secondary .widget_categories .cat-item a {
        font-size: 12px !important;
        padding: 5px 6px !important;
        line-height: 1.3 !important;
    }
    /* Smaller price filter text */
    #secondary .widget_price_filter .price_label,
    #secondary .widget_price_filter .ui-slider {
        font-size: 11px !important;
    }
    /* Reduce icon size in category list */
    #secondary .widget_product_categories .cat-item img,
    #secondary .widget_product_categories .cat-item svg {
        width: 14px !important;
        height: 14px !important;
    }
    /* Tighter padding on all sidebar widgets */
    #secondary .widget {
        padding: 10px 8px !important;
        margin-bottom: 12px !important;
    }
    /* Shrink count badge */
    #secondary .widget_product_categories .cat-item .count,
    #secondary .widget_categories .cat-item .count {
        font-size: 10px !important;
        padding: 1px 5px !important;
    }
}

/* ============================================================
   4-CARD PROMO BANNER — exact mtc.ae style
   ============================================================ */
.als-promo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px; /* Small gap between each card */
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    box-sizing: border-box;
}

/* Each of the 4 fixed cards */
.als-promo-card {
    height: 155px;
    position: relative;
    overflow: hidden;
    /* border-right removed since we use gap now */
}

/* Slide — full absolute fill, hidden by default */
.als-promo-slide {
    position: absolute;
    inset: 0;
    display: block;
    text-decoration: none !important;
    opacity: 0;
    transition: opacity 0.7s ease;
    z-index: 1;
}
.als-promo-slide.als-slide-active {
    opacity: 1;
    z-index: 2;
}

/* Background image fills the slide */
.als-promo-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    transition: transform 0.5s ease;
}
.als-promo-slide:hover .als-promo-bg {
    transform: scale(1.05);
}

/* Gradient overlay — heavy left, transparent right (like mtc.ae) */
.als-promo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.70) 40%,
        rgba(0, 0, 0, 0.20) 70%,
        rgba(0, 0, 0, 0.00) 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 0 0 18px;
    box-sizing: border-box;
    width: 72%;
}

/* Small uppercase tag — e.g. "CELEBRATE SUCCESS" */
.als-promo-tag {
    display: block;
    color: rgba(255,255,255,0.65);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    margin-bottom: 4px;
    line-height: 1;
}

/* Bold title */
.als-promo-name {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.6);
}

/* Description text */
.als-promo-desc {
    color: rgba(255,255,255,0.80);
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}

/* Gold SHOP NOW button */
.als-promo-btn {
    display: inline-block;
    background: #c9a84c;
    color: #1a1a1a;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 2px;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.als-promo-slide:hover .als-promo-btn {
    background: #e0c06a;
    color: #000;
}

/* Responsive */
@media (max-width: 600px) {
    .als-promo-grid { 
        display: flex; 
        overflow-x: auto; 
        scroll-snap-type: x mandatory; 
        scrollbar-width: none;
        gap: 10px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .als-promo-grid::-webkit-scrollbar { display: none; }
    .als-promo-card { 
        height: 180px; 
        flex: 0 0 85%; /* Show part of next card to indicate scrolling */
        scroll-snap-align: center;
    }
}
@media (min-width: 601px) and (max-width: 900px) {
    .als-promo-grid { grid-template-columns: repeat(2, 1fr); }
    .als-promo-card { height: 160px; }
}
@media (min-width: 901px) and (max-width: 1200px) {
    .als-promo-grid { grid-template-columns: repeat(3, 1fr); }
}

.als-cat-scroll-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #0d0d0d;
    padding: 0;
    margin: 0;
    line-height: 1;
}
.als-cat-scroll-track {
    display: flex;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Each card = 25% width (4 visible on desktop) */
.als-cat-card {
    flex: 0 0 25%;
    min-width: 25%;
    height: 220px;
    position: relative;
    text-decoration: none !important;
    overflow: hidden;
    display: block;
    border-right: 1px solid rgba(255,255,255,0.06);
}

/* Full bleed background image */
.als-cat-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.4s ease;
}
.als-cat-card:hover .als-cat-bg {
    transform: scale(1.04);
}

/* Dark gradient overlay — heavier on left like mtc.ae */
.als-cat-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        rgba(0,0,0,0.82) 0%,
        rgba(0,0,0,0.55) 55%,
        rgba(0,0,0,0.10) 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 18px 20px 16px;
    transition: background 0.3s;
}
.als-cat-card:hover .als-cat-overlay {
    background: linear-gradient(
        105deg,
        rgba(26,43,73,0.90) 0%,
        rgba(26,43,73,0.60) 55%,
        rgba(26,43,73,0.15) 100%
    );
}

/* Small tag line — e.g. "CELEBRATE SUCCESS" */
.als-cat-tag {
    display: block;
    color: #c9a84c;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

/* Bold category name */
.als-cat-name {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

/* Description */
.als-cat-desc {
    color: rgba(255,255,255,0.75);
    font-size: 11px;
    line-height: 1.4;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

/* SHOP NOW button */
.als-cat-shop {
    display: inline-block;
    color: #c9a84c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-bottom: 1px solid #c9a84c;
    padding-bottom: 1px;
    transition: color 0.2s, border-color 0.2s;
}
.als-cat-card:hover .als-cat-shop {
    color: #fff;
    border-color: #fff;
}

/* Prev / Next arrows */
.als-cat-prev,
.als-cat-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 32px;
    width: 36px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    transition: background 0.2s;
    backdrop-filter: blur(6px);
    line-height: 1;
}
.als-cat-prev { left: 0; border-radius: 0 3px 3px 0; }
.als-cat-next { right: 0; border-radius: 3px 0 0 3px; }
.als-cat-prev:hover,
.als-cat-next:hover { background: rgba(26,43,73,0.75); }

/* Responsive breakpoints */
@media (max-width: 600px) {
    .als-cat-scroll-section {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .als-cat-scroll-section::-webkit-scrollbar {
        display: none;
    }
    .als-cat-scroll-track {
        display: flex;
        width: max-content;
    }
    .als-cat-card { 
        flex: 0 0 85%; 
        min-width: 85%; 
        height: 200px; 
        scroll-snap-align: center;
    }
}
@media (min-width: 601px) and (max-width: 900px) {
    .als-cat-card { flex: 0 0 50%; min-width: 50%; }
}
@media (min-width: 901px) and (max-width: 1200px) {
    .als-cat-card { flex: 0 0 33.333%; min-width: 33.333%; }
}

/* --- Remove Extra Space Above Footer --- */
.home .entry-content .uagb-block-e4e7fc68,
.home .entry-content .uagb-block-e8934e09 {
    display: none !important;
}
.home .uagb-block-c0730592 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.home .site-content,
.home .ast-container,
.home .entry-content,
.home .ast-article-single,
.home .site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}
.home .site-footer,
.home .pre-footer-contact-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home .uagb-block-c0730592 .slick-slider {
    margin-bottom: 20px !important; /* Pull the dots and slider up */
    padding-bottom: 0 !important;
}
.home .uagb-block-c0730592 .uagb-testimonial__wrap {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.home .uagb-block-c0730592 .slick-dots {
    bottom: -25px !important; /* Move dots closer to the cards */
}

/* --- Shop Page Left Filter Styling --- */
/* Hide redundant search widget in the left sidebar filter */
.ast-off-canvas-active .widget_search,
.ast-off-canvas-active .widget_aws_widget,
.ast-off-canvas-active .widget_block .wp-block-search,
#secondary .widget_search,
#secondary .widget_aws_widget,
#secondary .widget_block .wp-block-search {
    display: none !important;
}

/* Make category text bold in the left filter */
.ast-off-canvas-active .widget_nav_menu ul li a,
.ast-off-canvas-active .widget_product_categories ul li a,
.ast-off-canvas-active .wc-block-product-categories-list-item > a,
.ast-off-canvas-active .wc-block-product-categories-list-item,
#secondary .widget_nav_menu ul li a,
#secondary .widget_product_categories ul li a,
#secondary .wc-block-product-categories-list-item > a,
#secondary .wc-block-product-categories-list-item {
    font-weight: bold !important;
}

/* --- Custom Product Page Fields --- */
.als-custom-fields-wrapper {
    margin-bottom: 25px;
    padding: 15px 0;
}
.als-field-group {
    margin-bottom: 15px;
}
.als-field-group label {
    display: block;
    font-weight: 600;
    color: #111;
    margin-bottom: 8px;
    font-size: 15px;
}
.als-field-group input[type="file"] {
    font-size: 14px;
    color: #333;
}
.als-field-group input[type="file"]::file-selector-button {
    background-color: #000;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    margin-right: 10px;
}
.als-file-max-size {
    color: #888;
    font-size: 12px;
    margin-top: 5px;
}
.als-field-group textarea {
    width: 100%;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 10px;
    font-size: 14px;
    background: #fff;
    resize: vertical;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.02);
}
.als-whatsapp-promo {
    margin-top: 20px;
}
.als-promo-text {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 10px;
    text-shadow: 0px 1px 2px rgba(0,0,0,0.1);
}
.als-promo-bar {
    display: inline-block;
    width: 6px;
    height: 22px;
    background-color: #39b54a;
    border-radius: 4px;
}
.als-whatsapp-btn {
    display: inline-block;
    background-color: #39b54a;
    color: #fff !important;
    font-weight: bold;
    font-size: 16px;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: background 0.2s ease;
}
.als-whatsapp-btn:hover {
    background-color: #2e993d;
}

/* --- Two Part Hero Banner --- */
.two-part-hero {
    display: flex;
    width: 100%;
    background-color: #faf9f6;
    align-items: stretch;
}
@media (max-width: 768px) {
    .two-part-hero {
        flex-direction: column;
    }
}

.hero-left {
    width: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .hero-left {
        width: 100%;
    }
}
.hero-left a {
    display: block;
    width: 100%;
}
.hero-left img {
    width: 200%; /* Scale image so left half takes 100% of this container */
    max-width: 200%;
    height: auto; /* Natural height proportion */
    display: block;
    object-fit: cover;
    object-position: left top;
}

.hero-right {
    width: 50%;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; /* Hide scrollbar Firefox */
}
.hero-right::-webkit-scrollbar {
    display: none; /* Hide scrollbar WebKit */
}
@media (max-width: 768px) {
    .hero-right {
        width: 100%;
        height: 200px;
    }
}

.hero-right-single-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-slider-track {
    display: flex;
    width: max-content;
    height: 100%;
}

.hero-slider-track img.full-slide-img {
    width: 50vw; /* Exact width of the parent column on desktop */
    height: 100%;
    object-fit: cover;
    display: block;
    scroll-snap-align: start;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .hero-slider-track img.full-slide-img {
        width: 100vw; /* Exact width of the parent column on mobile */
    }
}

@keyframes heroScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 10px)); }
}

/* --- Single Product WhatsApp Button Overrides --- */
body .woocommerce div.product form.cart .wa-order-button,
body .woocommerce ul.products li.product a.button.wa-shop-button,
body a.button.wa-shop-button,
body a.wa-order-button,
body button.wa-order-button,
body a.wa-shop-button,
body button.wa-shop-button,
body .wa-order-class button,
body .woocommerce div.product form.cart button.wa-order-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #1a2b49 !important;
    padding: 0 5px !important;
    margin-left: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important; /* Help it fill vertical space if needed */
}

body .woocommerce div.product form.cart .wa-order-button svg,
body .woocommerce ul.products li.product a.button.wa-shop-button svg,
body a.button.wa-shop-button svg,
body a.wa-order-button svg,
body button.wa-order-button svg,
body a.wa-shop-button svg,
body button.wa-shop-button svg,
body .wa-order-class button svg,
body .woocommerce div.product form.cart .wa-order-button i,
body .woocommerce ul.products li.product a.button.wa-shop-button i,
body a.button.wa-shop-button i,
body a.wa-order-button i,
body button.wa-order-button i,
body a.wa-shop-button i,
body button.wa-shop-button i,
body .wa-order-class button i,
body .woocommerce div.product form.cart .wa-order-button:before,
body .woocommerce ul.products li.product a.button.wa-shop-button:before,
body a.button.wa-shop-button:before,
body a.wa-order-button:before,
body button.wa-order-button:before,
body a.wa-shop-button:before,
body button.wa-shop-button:before,
body .wa-order-class button:before {
    fill: #1a2b49 !important;
    color: #1a2b49 !important;
    stroke: #1a2b49 !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 32px !important;
    line-height: 1 !important;
    margin: 0 !important;
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%231a2b49" d="M3.516 3.516c4.686-4.686 12.284-4.686 16.97 0 4.686 4.686 4.686 12.283 0 16.97a12.004 12.004 0 01-13.754 2.299l-5.814.735a.392.392 0 01-.438-.44l.748-5.788A12.002 12.002 0 013.517 3.517zm3.61 17.043l.3.158a9.846 9.846 0 0011.534-1.758c3.843-3.843 3.843-10.074 0-13.918-3.843-3.843-10.075-3.843-13.918 0a9.846 9.846 0 00-1.747 11.554l.16.303-.51 3.942a.196.196 0 00.219.22l3.961-.501zm6.534-7.003l-.933 1.164a9.843 9.843 0 01-3.497-3.495l1.166-.933a.792.792 0 00.23-.94L9.561 6.96a.793.793 0 00-.924-.445 1291.6 1291.6 0 00-2.023.524.797.797 0 00-.588.88 11.754 11.754 0 0010.005 10.005.797.797 0 00.88-.587l.525-2.023a.793.793 0 00-.445-.923L14.6 13.327a.792.792 0 00-.94.23z"/></svg>') !important;
}

body .woocommerce div.product form.cart .wa-order-button:hover,
body .woocommerce ul.products li.product a.button.wa-shop-button:hover,
body a.button.wa-shop-button:hover,
body a.wa-order-button:hover,
body button.wa-order-button:hover,
body a.wa-shop-button:hover,
body button.wa-shop-button:hover,
body .wa-order-class button:hover {
    background: transparent !important;
    background-color: transparent !important;
    opacity: 0.8 !important;
}

/* --- Product Page Variations & Add To Cart Styling (Exact Match) --- */

/* Swatch container (Color & Generic) */
body .cfvsw-swatches-option {
    border-radius: 50% !important;
    border: 1px solid #d1d5db !important;
    padding: 3px !important;
    background: #fff !important;
    width: 34px !important;
    height: 34px !important;
    margin-right: 12px !important;
    margin-bottom: 12px !important;
}

/* Inner color circle */
body .cfvsw-swatches-option .cfvsw-swatch-inner {
    border-radius: 50% !important;
    border: none !important;
    width: 100% !important;
    height: 100% !important;
}
body .cfvsw-swatches-option:not(.cfvsw-label-option, .cfvsw-image-option) .cfvsw-swatch-inner {
    border: none !important;
}

/* Selected Color Swatch (Dark ring) */
body .cfvsw-swatches-option.cfvsw-selected-swatch {
    border-color: #1f2937 !important;
    border-width: 2px !important;
    padding: 2px !important; /* Adjust padding so inner circle stays same size */
}

/* Size Labels (Text swatches) */
body .cfvsw-swatches-option.cfvsw-label-option {
    min-width: 40px !important;
    width: auto !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 30px !important; /* Creates a pill shape for long text, circle for short */
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    color: #9ca3af !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
body .cfvsw-swatches-option.cfvsw-label-option .cfvsw-swatch-inner {
    background: transparent !important;
    color: inherit !important;
}

/* Selected Size (Dark grey background) */
body .cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch {
    background: #374151 !important;
    color: #fff !important;
    border-color: #374151 !important;
    border-width: 1px !important;
}

/* Flex layout for ATC area */
body.single-product .woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    margin-top: 25px;
}
body.single-product .woocommerce div.product form.cart .variations {
    width: 100%;
}

/* Pill-shaped Quantity Selector */
body.single-product .woocommerce div.product form.cart div.quantity.buttons_added,
body.single-product .woocommerce div.product form.cart div.quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid #1f2937 !important;
    border-radius: 30px !important;
    padding: 0 15px !important;
    height: 48px !important;
    width: 130px !important;
    background: #fff !important;
    margin: 0 !important;
}
body.single-product .woocommerce div.product form.cart div.quantity input.qty {
    border: none !important;
    background: transparent !important;
    width: 40px !important;
    height: 100% !important;
    text-align: center !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    color: #1f2937 !important;
    padding: 0 !important;
    -moz-appearance: textfield;
}
body.single-product .woocommerce div.product form.cart div.quantity .minus,
body.single-product .woocommerce div.product form.cart div.quantity .plus {
    background: transparent !important;
    border: none !important;
    color: #1f2937 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 25px !important;
    height: 100% !important;
}

/* Pill-shaped Add to Cart Button (Light Teal) */
body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button {
    background-color: #7bc1d1 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 40px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    border: none !important;
    flex: 1 !important;
    max-width: 280px !important;
    transition: background 0.3s ease !important;
    margin: 0 !important;
}
body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:hover {
    background-color: #61a9b9 !important;
}
