/* ══════════════════════════════════════════════════════════════════
   UPJAU REDESIGNED SHOP & ARCHIVE EXPERIENCE
   Unified with Homepage Aesthetic:
   - Unified Section Width (36px desktop side margins, 24px tablet, 14px mobile)
   - Organic Green Color Palette (#073b3a, #16892f, #f0fdf4, #ffffff)
   - 100% Dynamic Hero Section: Dynamic Title, Dynamic Description & Category Banner
   - Breadcrumbs: Clean Poppins Navigation Strip with Green Home Icon
   - Exact Homepage Product Card Architecture:
     * 20px Rounded Border, Flat Surface, No Heavy Shadow, Subtle Hover Border
     * 14px Rounded Image with #f4f6f4 Surface and 1.04x Scale on Hover
     * Dynamic Badges (Bestseller & Discount %)
     * Genuine Star Rating Pill (4.8 ★ | 412) on Bottom-Left of Image
     * 15.5px Bold Dark Green Title (2-Line Clamp)
     * 13px Subtitle with 36px Clamped Min-Height
     * 17.5px Bold Price (#0f172a) with Strikethrough Del Price (#94a3b8)
     * Bottle Green Circular Bag Add-to-Cart & Options Buttons
   - Unified Single Filter Box & Sidebar (Zero Multiple Fragmented Cards)
   - Clean Pill Pagination
   - Pixel-Perfect 2-Column Mobile Grid Matching Homepage Mobile Cards
   ══════════════════════════════════════════════════════════════════ */

/* ── 1. GLOBAL SHOP TYPOGRAPHY & WRAPPER ── */
.woocommerce.archive,
.post-type-archive-product,
.tax-product_cat,
.tax-product_tag,
.woocommerce-shop,
.woocommerce-page.archive {
    font-family: inherit !important;
}

/* ── 2. SECTION WIDTH SYSTEM (MATCHES HOMEPAGE FLUSH) ── */
body.post-type-archive-product #primary-content,
body.post-type-archive-product .site-content,
body.woocommerce-shop #primary-content,
body.woocommerce-shop .site-content,
body.tax-product_cat #primary-content,
body.tax-product_cat .site-content,
body.tax-product_tag #primary-content,
body.tax-product_tag .site-content,
body.archive.woocommerce #primary-content,
body.archive.woocommerce .site-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.post-type-archive-product #primary-content > .container,
body.post-type-archive-product .site-content > .container,
body.woocommerce-shop #primary-content > .container,
body.woocommerce-shop .site-content > .container,
body.tax-product_cat #primary-content > .container,
body.tax-product_cat .site-content > .container,
body.tax-product_tag #primary-content > .container,
body.tax-product_tag .site-content > .container,
body.archive.woocommerce #primary-content > .container,
body.archive.woocommerce .site-content > .container,
.upjau-shop-hero-wrapper .upjau-controls-container,
.upjau-controls-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 1199px) {
    body.post-type-archive-product #primary-content > .container,
    body.woocommerce-shop #primary-content > .container,
    body.tax-product_cat #primary-content > .container,
    body.tax-product_tag #primary-content > .container,
    body.archive.woocommerce #primary-content > .container,
    .upjau-shop-hero-wrapper .upjau-controls-container,
    .upjau-controls-container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

@media (max-width: 767px) {
    body.post-type-archive-product #primary-content > .container,
    body.woocommerce-shop #primary-content > .container,
    body.tax-product_cat #primary-content > .container,
    body.tax-product_tag #primary-content > .container,
    body.archive.woocommerce #primary-content > .container,
    .upjau-shop-hero-wrapper .upjau-controls-container,
    .upjau-controls-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ── 3. DYNAMIC HERO SECTION & BREADCRUMBS ── */
.upjau-shop-hero-wrapper,
.gf-page-title.product-tag-page-header {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
    position: relative !important;
    width: 100% !important;
}

/* ── 4. FULL-WIDTH PANORAMIC HERO SECTION (MATCHING SNAPSHOT + THEME COLOR BLEND) ── */
.upjau-shop-hero-fullscreen {
    position: relative !important;
    width: 100vw !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    min-height: 210px !important;
    background-color: #174d30 !important;
    background-image: url('../../images/shop-hero-bg.jpg') !important;
    background-position: center bottom !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-blend-mode: multiply !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 44px 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.upjau-shop-hero-fullscreen.has-custom-banner {
    background-size: cover !important;
    background-position: center center !important;
}

.upjau-shop-hero-fullscreen .upjau-shop-hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(180deg, rgba(22, 137, 47, 0.42) 0%, rgba(10, 46, 27, 0.76) 100%) !important;
    mix-blend-mode: multiply !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.upjau-shop-hero-fullscreen::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 30%, rgba(7, 37, 22, 0.45) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.upjau-shop-hero-fullscreen .upjau-shop-hero-container {
    position: relative !important;
    z-index: 2 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.upjau-shop-hero-fullscreen-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    gap: 14px !important;
}

/* Page Title (Bold, Centered, Crisp White with Shadow - Matching Snapshot) */
.upjau-shop-hero-fullscreen h1.upjau-shop-title,
.upjau-shop-hero-fullscreen .page-title {
    font-family: inherit !important;
    font-size: clamp(28px, 4.2vw, 48px) !important;
    font-weight: 850 !important;
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.35) !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

/* Centered Frosted Glass Breadcrumb Pill (Matching Snapshot) */
.upjau-shop-hero-fullscreen .upjau-shop-breadcrumbs {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: auto !important;
}

.upjau-shop-hero-fullscreen .upjau-breadcrumb-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.88) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 50px !important;
    padding: 7px 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
    max-width: 90vw !important;
    box-sizing: border-box !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs li {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs li a {
    color: #1e293b !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.18s ease !important;
    cursor: pointer !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs li a:hover {
    color: #16892f !important;
    text-decoration: underline !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs li.breadcrumb-sep {
    font-size: 13.5px !important;
    margin: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #64748b !important;
    opacity: 0.65 !important;
    user-select: none !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs li.breadcrumb-sep::after {
    display: none !important;
}

/* Suppress any trailing separator */
.upjau-shop-hero-fullscreen .gf-breadcrumbs li.breadcrumb-sep:last-child,
.upjau-shop-hero-fullscreen .gf-breadcrumbs li:last-child.breadcrumb-sep,
.upjau-shop-hero-fullscreen .gf-breadcrumbs li:last-of-type.breadcrumb-sep {
    display: none !important;
}

.upjau-shop-hero-fullscreen .gf-breadcrumbs li:last-child,
.upjau-shop-hero-fullscreen .gf-breadcrumbs li:last-child span,
.upjau-shop-hero-fullscreen .gf-breadcrumbs li.breadcrumb-leaf {
    color: #16892f !important;
    font-weight: 700 !important;
}

/* ── 4.5. PRODUCT DETAILS ACCORDION CARD (BELOW HERO SECTION) ── */
.upjau-details-card-container {
    margin-top: 18px !important;
    margin-bottom: 2px !important;
    width: 100% !important;
}

.product-tag-title-content.upjau-product-details-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
    transition: all 0.25s ease !important;
}

.product-tag-title-content.upjau-product-details-card:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}

/* Accordion Header / Toggle */
.product-tag-title-content .product-tag-title,
.upjau-details-accordion-toggle {
    position: relative !important;
    margin: 0 !important;
    padding: 15px 22px 15px 52px !important;
    cursor: pointer !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #073b3a !important;
    background: #fbfdfa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    border: none !important;
    transition: background 0.2s ease !important;
}

.product-tag-title-content .product-tag-title:hover,
.upjau-details-accordion-toggle:hover {
    background: #f2f9f4 !important;
}

/* Circular + / - icon on the left matching live site */
.product-tag-title-content .product-tag-title::before,
.upjau-details-accordion-toggle::before {
    content: "+" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 18px !important;
    text-align: center !important;
    border: 2px solid #0b5d2a !important;
    border-radius: 50% !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0b5d2a !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.product-tag-title-content .product-tag-title.active::before,
.upjau-details-accordion-toggle.active::before {
    content: "-" !important;
    background: #0b5d2a !important;
    color: #ffffff !important;
}

.upjau-accordion-title-left {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.product-tag-title-text {
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #073b3a !important;
    letter-spacing: -0.2px !important;
}

.upjau-accordion-action {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #16892f !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    flex-shrink: 0 !important;
}

.upjau-accordion-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.25s ease !important;
}

.product-tag-title-content .product-tag-title.active .upjau-accordion-chevron,
.upjau-details-accordion-toggle.active .upjau-accordion-chevron {
    transform: rotate(180deg) !important;
}

/* Accordion Description Content Body */
.product-tag-title-content .product-tag-description,
.upjau-details-accordion-content {
    display: none;
    padding: 22px 28px !important;
    font-size: 14.5px !important;
    line-height: 1.8 !important;
    color: #374151 !important;
    border-top: 1px solid #f1f5f9 !important;
    background: #ffffff !important;
}

.product-tag-description h2,
.product-tag-description h3,
.product-tag-description h4 {
    color: #073b3a !important;
    font-weight: 700 !important;
    margin-top: 18px !important;
    margin-bottom: 10px !important;
    line-height: 1.35 !important;
}

.product-tag-description h2:first-child,
.product-tag-description h3:first-child {
    margin-top: 0 !important;
}

.product-tag-description h2 {
    font-size: 18px !important;
}

.product-tag-description h3 {
    font-size: 16px !important;
}

.product-tag-description p {
    margin-bottom: 12px !important;
    color: #4b5563 !important;
}

.product-tag-description p:last-child {
    margin-bottom: 0 !important;
}

.product-tag-description a {
    color: #16892f !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    border-bottom: 1px dashed rgba(22, 137, 47, 0.4) !important;
    transition: all 0.2s ease !important;
}

.product-tag-description a:hover {
    color: #0b5d2a !important;
    border-bottom-style: solid !important;
}

.product-tag-description ul,
.product-tag-description ol {
    padding-left: 22px !important;
    margin-bottom: 14px !important;
}

.product-tag-description li {
    margin-bottom: 6px !important;
    color: #4b5563 !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .upjau-details-card-container {
        margin-top: 12px !important;
        margin-bottom: 0px !important;
    }

    .product-tag-title-content .product-tag-title,
    .upjau-details-accordion-toggle {
        padding: 13px 14px 13px 44px !important;
        font-size: 14px !important;
    }

    .product-tag-title-content .product-tag-title::before,
    .upjau-details-accordion-toggle::before {
        left: 14px !important;
        width: 18px !important;
        height: 18px !important;
        font-size: 12px !important;
    }

    .product-tag-title-text {
        font-size: 14px !important;
    }

    .upjau-accordion-action-text {
        display: none !important;
    }

    .product-tag-title-content .product-tag-description,
    .upjau-details-accordion-content {
        padding: 16px 16px !important;
        font-size: 13.5px !important;
        line-height: 1.65 !important;
    }

    .product-tag-description h2 {
        font-size: 16px !important;
    }
}

/* ── 5. CONTROLS BAR (SORTING & RESULTS COUNT BELOW HERO) ── */
.upjau-controls-container {
    margin-top: 10px !important;
    margin-bottom: 22px !important;
}

.upjau-shop-controls-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
    padding: 12px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.upjau-shop-controls-bar .controls-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.upjau-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 8px 18px !important;
    border-radius: 50px !important;
    background: #f0fdf4 !important;
    border: 1.5px solid rgba(22, 137, 47, 0.25) !important;
    color: #16892f !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.upjau-filter-btn:hover {
    background: #16892f !important;
    color: #ffffff !important;
    border-color: #16892f !important;
    box-shadow: 0 4px 12px rgba(22, 137, 47, 0.25) !important;
}

.upjau-filter-btn svg {
    stroke: currentColor !important;
}

.upjau-shop-controls-bar .woocommerce-result-count {
    margin: 0 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    line-height: 1 !important;
}

/* Modern Select Dropdown for Ordering */
.upjau-shop-ordering select,
.upjau-select-sort,
.woocommerce-ordering select {
    border-radius: 50px !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #334155 !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    padding: 8px 36px 8px 16px !important;
    height: 40px !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2316892f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

.upjau-shop-ordering select:hover,
.upjau-shop-ordering select:focus,
.upjau-select-sort:hover,
.upjau-select-sort:focus,
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
    border-color: #16892f !important;
    box-shadow: 0 0 0 3px rgba(22, 137, 47, 0.1) !important;
}

/* Suppress legacy duplicate catalog controls */
.product-tag-page-header ~ .gsf-catalog-filter,
.upjau-shop-hero-wrapper ~ .gsf-catalog-filter {
    display: none !important;
}

/* ── 6. EXACT HOMEPAGE PRODUCT CARD ARCHITECTURE ── */
.woocommerce ul.products,
.woocommerce .products,
.post-type-archive-product .products,
.tax-product_cat .products {
    margin-left: -8px !important;
    margin-right: -8px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.woocommerce ul.products:before,
.woocommerce ul.products:after,
.woocommerce .products:before,
.woocommerce .products:after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce .products .product,
.post-type-archive-product .product-item-wrap,
.tax-product_cat .product-item-wrap,
.tax-product_tag .product-item-wrap,
.woocommerce-shop .product-item-wrap {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Card Body - Flat surface, 20px radius, subtle border, NO box-shadow, NO translateY */
.woocommerce .products .product-item-inner,
.product-item-inner {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 20px !important;
    padding: 10px 10px 14px 10px !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
    transform: none !important;
    overflow: hidden !important;
}

.woocommerce .products .product-item-inner:hover,
.product-item-inner:hover {
    border-color: rgba(7, 67, 50, 0.25) !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    transform: none !important;
}

/* Product Thumbnails: Rounded 14px, #f4f6f4 surface, 1:1 aspect-ratio */
.product-item-inner .product-thumb {
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f4f6f4 !important;
    position: relative !important;
    margin-bottom: 10px !important;
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.product-item-inner .product-thumb img {
    border-radius: 14px !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.35s ease !important;
}

.product-item-inner:hover .product-thumb img {
    transform: scale(1.04) !important;
}

/* Top Thumb Badges */
.upjau-thumb-badges {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    z-index: 5 !important;
    pointer-events: none !important;
    gap: 6px !important;
}

.upjau-badge-bestseller {
    background: #ffcc00 !important;
    color: #111827 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    font-family: inherit !important;
    letter-spacing: 0.3px !important;
    padding: 3.5px 8px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
    line-height: 1.1 !important;
    display: inline-block !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.upjau-badge-discount {
    margin-left: auto !important;
    background: #dc2626 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    font-family: inherit !important;
    letter-spacing: 0.3px !important;
    padding: 3.5px 8px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(220, 38, 38, 0.3) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

/* Star Rating Pill on Image (Bottom-Left) */
.upjau-thumb-rating {
    position: absolute !important;
    bottom: 8px !important;
    left: 8px !important;
    z-index: 5 !important;
    background: #ffffff !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-family: inherit !important;
    color: #073b3a !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    pointer-events: none !important;
}

.upjau-thumb-rating .rating-num {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #073b3a !important;
}

.upjau-thumb-rating .rating-star {
    font-size: 11px !important;
    color: #16892f !important;
    line-height: 1 !important;
    margin: 0 1px !important;
}

.upjau-thumb-rating .rating-sep {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    margin: 0 2px !important;
}

.upjau-thumb-rating .rating-count {
    color: #475569 !important;
    font-weight: 500 !important;
    font-size: 11.5px !important;
}

/* Product Info */
.product-item-inner .product-info {
    padding: 2px 4px 0 4px !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    min-height: auto !important;
}

/* Product Title - 15.5px Bold, 2-line clamp */
.product-item-inner .product-name.product-title {
    margin: 0 0 3px 0 !important;
    font-family: inherit !important;
    font-size: 15.5px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #073b3a !important;
    min-height: auto !important;
    max-height: 42px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: break-word !important;
    text-align: left !important;
    padding: 0 !important;
}

.product-item-inner .product-name.product-title a {
    color: #073b3a !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.product-item-inner .product-name.product-title a:hover {
    color: #16892f !important;
}

/* Subtitle - 13px, 36px-38px height clamped */
.product-item-inner .upjau-product-sub {
    font-family: inherit !important;
    font-size: 13px !important;
    color: #475569 !important;
    margin: 2px 0 8px 0 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    min-height: 36px !important;
    max-height: 38px !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: break-word !important;
}

/* Bottom Price & Action Row */
.product-item-inner .upjau-card-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: auto !important;
    padding-top: 4px !important;
    gap: 8px !important;
    width: 100% !important;
}

.product-item-inner .price {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

.product-item-inner .price ins,
.product-item-inner .price > .amount,
.product-item-inner .price ins .amount,
.product-item-inner .price bdi {
    font-size: 17.5px !important;
    font-weight: 800 !important;
    font-family: inherit !important;
    color: #0f172a !important;
    text-decoration: none !important;
}

.product-item-inner .price del,
.product-item-inner .price del .amount,
.product-item-inner .price del bdi {
    font-size: 13.5px !important;
    font-weight: 400 !important;
    font-family: inherit !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
}

/* ── 7. CIRCULAR ADD TO CART & OPTIONS BUTTONS ── */
.upjau-card-action {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
    position: relative !important;
}

.upjau-btn-circle {
    width: auto !important;
    height: 34px !important;
    min-width: auto !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    gap: 6px !important;
    border-radius: 50px !important;
    background: #074332 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 3px 10px rgba(7, 67, 50, 0.28) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    line-height: 1 !important;
    position: relative !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

.upjau-btn-circle .upjau-bag-icon {
    width: 14px !important;
    height: 14px !important;
    stroke: #ffffff !important;
    stroke-width: 2 !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.upjau-btn-circle .upjau-btn-text {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    letter-spacing: 0.1px !important;
    color: #ffffff !important;
    line-height: 1 !important;
    display: inline-block !important;
    white-space: nowrap !important;
}

.upjau-btn-circle:hover,
.upjau-btn-circle.upjau-in-cart {
    background: #16892f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(22, 137, 47, 0.38) !important;
    color: #ffffff !important;
}

/* Variable Products Options Button */
.upjau-btn-options {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 50px !important;
    background: #eef8f0 !important;
    color: #16892f !important;
    border: 1.5px solid #16892f !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    letter-spacing: 0.1px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(22, 137, 47, 0.12) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    line-height: 1 !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

.upjau-btn-options .upjau-opt-icon {
    stroke: #16892f !important;
    flex-shrink: 0 !important;
    display: block !important;
    transition: stroke 0.2s ease !important;
}

.upjau-btn-options .upjau-opt-arrow {
    stroke: #16892f !important;
    flex-shrink: 0 !important;
    display: block !important;
    transition: transform 0.2s ease, stroke 0.2s ease !important;
}

.upjau-btn-options:hover {
    background: #16892f !important;
    color: #ffffff !important;
    border-color: #16892f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 14px rgba(22, 137, 47, 0.3) !important;
}

.upjau-btn-options:hover .upjau-opt-icon,
.upjau-btn-options:hover .upjau-opt-arrow {
    stroke: #ffffff !important;
}

/* Out of Stock Notify Button */
.out_of_stock_btn {
    height: 34px !important;
    padding: 0 11px !important;
    background: #475569 !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(71, 85, 105, 0.2) !important;
    transition: all 0.2s ease !important;
}

.out_of_stock_btn:hover {
    background: #334155 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Suppress legacy theme buttons, flash badges, and duplicated quickview links */
.woocommerce span.onsale,
.onsale,
.product-flash-wrap,
.product-item-inner .product-actions,
.product-item-inner .gf-product-actions,
.product-item-inner .yith-wcqv-button,
.product-item-inner .compare,
.product-item-inner .yith-woocompare-button,
.product-item-inner .added_to_cart.wc-forward {
    display: none !important;
}

/* ── 8. UNIFIED SINGLE FILTER BOX & SIDEBAR (FIXED / STICKY ON DESKTOP) ── */
/* Prevent ancestor overflow-x: hidden from breaking CSS position: sticky */
body.post-type-archive-product,
body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.archive.woocommerce {
    overflow-x: clip !important;
}

body.post-type-archive-product #gf-wrapper,
body.woocommerce-shop #gf-wrapper,
body.tax-product_cat #gf-wrapper,
body.tax-product_tag #gf-wrapper,
body.archive.woocommerce #gf-wrapper,
body.post-type-archive-product #wrapper-content,
body.woocommerce-shop #wrapper-content,
body.tax-product_cat #wrapper-content,
body.tax-product_tag #wrapper-content,
body.archive.woocommerce #wrapper-content,
body.post-type-archive-product #primary-content,
body.woocommerce-shop #primary-content,
body.tax-product_cat #primary-content,
body.tax-product_tag #primary-content,
body.archive.woocommerce #primary-content,
body.post-type-archive-product .site-content,
body.woocommerce-shop .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content,
body.archive.woocommerce .site-content,
body.post-type-archive-product .site-content-archive,
body.woocommerce-shop .site-content-archive,
body.tax-product_cat .site-content-archive,
body.tax-product_tag .site-content-archive,
body.archive.woocommerce .site-content-archive {
    overflow: visible !important;
    overflow-x: clip !important;
}

.primary-sidebar {
    background-color: transparent !important;
    padding: 0 !important;
}

.primary-sidebar-inner,
#gf-filter-content {
    background: #ffffff !important;
    border-radius: 18px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
}

@media (min-width: 992px) {
    /* Align row items to flex-start so sidebar sticks relative to full products row */
    .site-content-archive > .row,
    body.woocommerce-shop .site-content > .container > .row,
    body.archive.woocommerce .site-content > .container > .row,
    #primary-content > .container > .row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    /* Fixed left-side filter card: stays fixed in place, generous right gap to products */
    .primary-sidebar.col-lg-3,
    .primary-sidebar {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 94px !important;
        align-self: flex-start !important;
        z-index: 50 !important;
        margin-bottom: 30px !important;
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;
        padding-left: 0 !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    /* Products column - matches right edge of menu, has generous gap from filter */
    #primary-content > .container > .row > .col-lg-9,
    .col-lg-9.order-lg-2 {
        width: 75% !important;
        max-width: 75% !important;
        flex: 0 0 75% !important;
        padding-left: 18px !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Products grid fills column exactly flush to the right edge */
    .woocommerce ul.products,
    .woocommerce .products {
        margin-left: -8px !important;
        margin-right: -8px !important;
        width: calc(100% + 16px) !important;
    }

    .primary-sidebar-inner,
    #gf-filter-content {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 94px !important;
        max-height: calc(100vh - 110px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
        scrollbar-color: #cbd5e1 transparent !important;
    }

    .primary-sidebar-inner::-webkit-scrollbar,
    #gf-filter-content::-webkit-scrollbar {
        width: 5px;
    }

    .primary-sidebar-inner::-webkit-scrollbar-thumb,
    #gf-filter-content::-webkit-scrollbar-thumb {
        background-color: #cbd5e1;
        border-radius: 4px;
    }
}

@media (max-width: 991px) {
    /* Mobile Header Clearance: Push page content down so hero is never hidden behind fixed mobile header */
    body.post-type-archive-product #wrapper-content,
    body.woocommerce-shop #wrapper-content,
    body.tax-product_cat #wrapper-content,
    body.tax-product_tag #wrapper-content,
    body.archive.woocommerce #wrapper-content {
        padding-top: 86px !important;
    }

    .upjau-shop-hero-wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .upjau-shop-hero-fullscreen {
        min-height: 175px !important;
        padding: 30px 12px 24px 12px !important;
    }

    .upjau-shop-hero-fullscreen h1.upjau-shop-title,
    .upjau-shop-hero-fullscreen .page-title {
        font-size: clamp(24px, 6.5vw, 34px) !important;
        margin-bottom: 10px !important;
    }

    .upjau-shop-hero-fullscreen .upjau-breadcrumb-nav {
        padding: 6px 16px !important;
        max-width: 95vw !important;
    }

    .upjau-shop-hero-fullscreen .gf-breadcrumbs li {
        font-size: 12px !important;
    }
}

/* Inside the single container, individual widgets are seamless sections without separate card frames */
.sidebar .widget,
.widget-area .widget,
#gf-filter-content .widget,
.primary-sidebar .widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 0 20px 0 !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    box-sizing: border-box !important;
}

.sidebar .widget:last-child,
.widget-area .widget:last-child,
#gf-filter-content .widget:last-child,
.primary-sidebar .widget:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.sidebar .widget-title,
.widget-area .widget-title,
#gf-filter-content .widget-title,
.primary-sidebar .widget-title {
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #073b3a !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    line-height: 1.3 !important;
    display: block !important;
}

/* Suppress ALL pseudo-elements on widget-title that may create a dot */
.sidebar .widget-title::before,
.sidebar .widget-title::after,
.widget-area .widget-title::before,
.widget-area .widget-title::after,
#gf-filter-content .widget-title::before,
#gf-filter-content .widget-title::after,
.primary-sidebar .widget-title::before,
.primary-sidebar .widget-title::after {
    display: none !important;
    content: none !important;
}

/* Normalize the inner <span> used by the theme sidebar registration */
.sidebar .widget-title span,
.widget-area .widget-title span,
#gf-filter-content .widget-title span,
.primary-sidebar .widget-title span {
    display: inline !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
    list-style: none !important;
}

.sidebar .widget-title span::before,
.sidebar .widget-title span::after,
.widget-area .widget-title span::before,
.widget-area .widget-title span::after,
#gf-filter-content .widget-title span::before,
#gf-filter-content .widget-title span::after,
.primary-sidebar .widget-title span::before,
.primary-sidebar .widget-title span::after {
    display: none !important;
    content: none !important;
}

/* Price Filter Range Slider */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: #e2e8f0 !important;
    border: none !important;
    height: 6px !important;
    border-radius: 6px !important;
    margin-top: 14px !important;
    margin-bottom: 20px !important;
}

.widget_price_filter .ui-slider-range {
    background: #16892f !important;
    border-radius: 6px !important;
}

.widget_price_filter .ui-slider-handle {
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 3px solid #16892f !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    top: -5px !important;
    cursor: pointer !important;
    outline: none !important;
}

.widget_price_filter .price_slider_amount {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row-reverse !important;
}

.widget_price_filter .price_slider_amount .price_label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
}

.widget_price_filter .price_slider_amount button.button {
    border-radius: 50px !important;
    background: #16892f !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 6px 16px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

.widget_price_filter .price_slider_amount button.button:hover {
    background: #074332 !important;
}

/* Category & Nav Widgets */
.widget_product_categories ul,
.woocommerce-widget-layered-nav ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.widget_product_categories ul li,
.woocommerce-widget-layered-nav ul li {
    padding: 8px 0 !important;
    border-bottom: 1px dashed #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

.widget_product_categories ul li:last-child,
.woocommerce-widget-layered-nav ul li:last-child {
    border-bottom: none !important;
}

.widget_product_categories ul li a,
.woocommerce-widget-layered-nav ul li a {
    color: #334155 !important;
    text-decoration: none !important;
    transition: all 0.18s ease !important;
}

.widget_product_categories ul li a:hover,
.woocommerce-widget-layered-nav ul li a:hover {
    color: #16892f !important;
    transform: translateX(3px) !important;
}

.widget_product_categories ul li .count,
.woocommerce-widget-layered-nav ul li .count {
    background: #f0fdf4 !important;
    color: #16892f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 50px !important;
}

/* ── 9. PAGINATION (ROUNDED PILL CONTROLS) ── */
.woocommerce-pagination,
.gf-paging {
    margin-top: 36px !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}

.woocommerce-pagination ul.page-numbers,
.gf-paging ul.pagination {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-pagination ul.page-numbers li,
.gf-paging ul.pagination li {
    display: inline-block !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span,
.gf-paging ul.pagination li a,
.gf-paging ul.pagination li span {
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.woocommerce-pagination ul.page-numbers li a:hover,
.gf-paging ul.pagination li a:hover {
    border-color: #16892f !important;
    color: #16892f !important;
    background: #f0fdf4 !important;
    transform: translateY(-2px) !important;
}

.woocommerce-pagination ul.page-numbers li span.current,
.gf-paging ul.pagination li.active span {
    background: #16892f !important;
    border-color: #16892f !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(22, 137, 47, 0.35) !important;
}

/* ── 10. MOBILE OPTIMIZATION & 2-COLUMN GRID ── */
@media (max-width: 991px) {
    .upjau-shop-hero-wrapper,
    .product-tag-page-header {
        padding-top: 86px !important;
    }
}

@media (max-width: 768px) {
    .upjau-shop-breadcrumbs {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 10px 0 6px 0 !important;
        width: 100% !important;
    }

    .upjau-breadcrumb-nav {
        display: inline-flex !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 5px 14px !important;
        font-size: 11.5px !important;
    }

    .upjau-breadcrumb-nav::-webkit-scrollbar {
        display: none !important;
    }

    .upjau-shop-hero-card {
        padding: 18px 16px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 14px !important;
        border-radius: 16px !important;
    }

    .upjau-shop-title,
    .upjau-shop-hero-content h1.page-title {
        font-size: clamp(20px, 5.5vw, 24px) !important;
    }

    .upjau-shop-description {
        font-size: 12.5px !important;
        margin-top: 8px !important;
        line-height: 1.5 !important;
    }

    .upjau-shop-hero-media {
        width: 100% !important;
        max-width: 100% !important;
    }

    .upjau-hero-banner-img {
        height: 120px !important;
    }

    .upjau-shop-controls-bar {
        padding: 10px 14px !important;
        margin-top: 14px !important;
        border-radius: 12px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .upjau-shop-controls-bar .controls-left {
        justify-content: space-between !important;
        width: 100% !important;
    }

    .upjau-shop-controls-bar .controls-right,
    .upjau-shop-controls-bar .woocommerce-ordering {
        width: 100% !important;
    }

    .upjau-select-sort,
    .woocommerce-ordering select {
        width: 100% !important;
        height: 38px !important;
        font-size: 12.5px !important;
        padding: 6px 32px 6px 14px !important;
    }

    /* Strict 2 Columns on Mobile */
    .woocommerce ul.products,
    .woocommerce .products,
    .post-type-archive-product .products,
    .tax-product_cat .products {
        margin-left: -5px !important;
        margin-right: -5px !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce .products .product,
    .post-type-archive-product .product-item-wrap,
    .tax-product_cat .product-item-wrap,
    .tax-product_tag .product-item-wrap,
    .woocommerce-shop .product-item-wrap {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-bottom: 10px !important;
    }

    /* Mobile Product Card - Matching Homepage Mobile Rules */
    .woocommerce .products .product-item-inner,
    .product-item-inner {
        padding: 8px 8px 10px 8px !important;
        border-radius: 16px !important;
    }

    .product-item-inner .product-thumb {
        border-radius: 12px !important;
        margin-bottom: 6px !important;
    }

    .product-item-inner .product-thumb img {
        border-radius: 12px !important;
    }

    .upjau-thumb-badges {
        top: 5px !important;
        left: 5px !important;
        right: 5px !important;
        gap: 4px !important;
    }

    .upjau-badge-bestseller,
    .upjau-badge-discount {
        font-size: 8px !important;
        padding: 2.5px 6px !important;
        letter-spacing: 0.1px !important;
        border-radius: 20px !important;
    }

    .upjau-thumb-rating {
        bottom: 5px !important;
        left: 5px !important;
        padding: 1.5px 5px !important;
        font-size: 10px !important;
        border-radius: 4px !important;
    }

    .upjau-thumb-rating .rating-num {
        font-size: 10px !important;
    }

    .upjau-thumb-rating .rating-star {
        font-size: 9px !important;
    }

    .upjau-thumb-rating .rating-sep {
        font-size: 9px !important;
        margin: 0 1px !important;
    }

    .upjau-thumb-rating .rating-count {
        font-size: 9.5px !important;
    }

    .product-item-inner .product-info {
        padding: 4px 2px 0 2px !important;
    }

    .product-item-inner .product-name.product-title {
        font-size: 13px !important;
        line-height: 1.25 !important;
        max-height: 33px !important;
        min-height: 32px !important;
        margin-top: 4px !important;
        margin-bottom: 2px !important;
    }

    .product-item-inner .upjau-product-sub {
        font-size: 11px !important;
        line-height: 1.2 !important;
        min-height: 24px !important;
        max-height: 26px !important;
        margin: 1px 0 5px 0 !important;
    }

    .product-item-inner .upjau-card-bottom {
        gap: 4px !important;
        margin-top: auto !important;
        padding-top: 4px !important;
        width: 100% !important;
    }

    .product-item-inner .price {
        display: flex !important;
        align-items: baseline !important;
        gap: 3px !important;
        white-space: nowrap !important;
    }

    .product-item-inner .price:has(del):has(ins) {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 1px !important;
    }

    .product-item-inner .price ins,
    .product-item-inner .price > .amount,
    .product-item-inner .price ins .amount,
    .product-item-inner .price bdi {
        font-size: 14px !important;
        font-weight: 800 !important;
        color: #0f172a !important;
    }

    .product-item-inner .price del,
    .product-item-inner .price del .amount,
    .product-item-inner .price del bdi {
        font-size: 11px !important;
        color: #94a3b8 !important;
    }

    .upjau-btn-circle {
        width: auto !important;
        height: 28px !important;
        min-width: auto !important;
        min-height: 28px !important;
        padding: 0 8px !important;
        gap: 4px !important;
        flex-shrink: 0 !important;
    }

    .upjau-btn-circle .upjau-bag-icon {
        width: 12px !important;
        height: 12px !important;
    }

    .upjau-btn-circle .upjau-btn-text {
        font-size: 10px !important;
        line-height: 1 !important;
    }

    .upjau-btn-options {
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 7px !important;
        font-size: 10px !important;
        gap: 3px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
}

/* ==========================================================================
   HIDE "CLEAR ALL" AND "PRICE RANGE" ACTIVE FILTER TAGS
   ========================================================================== */
.woof_products_top_panel,
.woof_products_top_panel_ul,
.woof_reset_button_2,
ul.woof_products_top_panel_ul,
.woof_products_top_panel_ul li {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ==========================================================================
   CURSOR POINTER FOR PRODUCTS, BUTTONS, CHECKBOXES & FILTERS
   ========================================================================== */
.product-item-wrap,
.product-item-inner,
.product-item-inner .product-thumb,
.product-item-inner .product-thumb img,
.product-item-inner .product-info,
.product-item-inner .product-title,
.product-item-inner .product-name,
.product-item-inner .product-name a,
.product-item-inner .upjau-card-bottom,
.product-item-inner .upjau-btn-circle,
.product-item-inner .upjau-btn-options,
.product-item-inner .add_to_cart_button,
.product-item-inner .button,
.primary-sidebar,
.primary-sidebar label,
.primary-sidebar input[type="checkbox"],
.primary-sidebar input[type="radio"],
.primary-sidebar .widget-title,
.woof_checkbox_label,
.woof_radio_label,
.woof_checkbox_term,
.woof_radio_term,
.woof_front_toggle,
.mobile-filter-toggle,
.upjau-floating-filter-btn,
.upjau-filter-btn,
.woocommerce-ordering select,
.upjau-select-sort,
.upjau-breadcrumb-nav,
.upjau-breadcrumb-nav a,
.woocommerce-pagination a.page-numbers {
    cursor: pointer !important;
}

/* ==========================================================================
   Mobile Filter Floating Button & Bottom Sheet System
   ========================================================================== */
.upjau-floating-filter-btn,
.mobile-filter-toggle.upjau-floating-filter-btn,
.mobile-filter-toggle {
    display: none !important;
}

/* Suppress the hamburger '☰' ::before from common.css on our styled button */
.mobile-filter-toggle.upjau-floating-filter-btn::before,
.upjau-floating-filter-btn::before {
    display: none !important;
    content: none !important;
}

@media screen and (min-width: 992px) {
    .upjau-floating-filter-btn,
    .mobile-filter-toggle.upjau-floating-filter-btn,
    .mobile-filter-toggle {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media screen and (max-width: 991px) {
    /* Header Clearance on Mobile */
    .upjau-shop-hero-wrapper,
    .product-tag-page-header {
        padding-top: 86px !important;
    }

    .upjau-shop-hero-fullscreen {
        padding: 22px 0 !important;
        margin-bottom: 14px !important;
    }

    .upjau-shop-hero-fullscreen-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .upjau-shop-hero-media {
        width: 100% !important;
        max-width: 100% !important;
    }

    .upjau-hero-banner-img {
        height: 120px !important;
    }

    /* Pinned Bottom-Left Floating Filter Button (Mobile Viewports Only) */
    .mobile-filter-toggle.upjau-floating-filter-btn {
        display: inline-flex !important;
        position: fixed !important;
        bottom: 20px !important;
        left: 16px !important;
        right: auto !important;
        z-index: 9998 !important;
        background-color: #16892f !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 11px 20px !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        box-shadow: 0 6px 20px rgba(22, 137, 47, 0.4) !important;
        cursor: pointer !important;
        align-items: center !important;
        gap: 8px !important;
        line-height: 1 !important;
        transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    }

    .mobile-filter-toggle.upjau-floating-filter-btn:hover {
        background-color: #127327 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 24px rgba(22, 137, 47, 0.45) !important;
    }

    .mobile-filter-toggle.upjau-floating-filter-btn:active {
        transform: translateY(0) !important;
    }

    .mobile-filter-toggle.upjau-floating-filter-btn svg {
        stroke: #ffffff !important;
    }

    /* Primary Sidebar Bottom Sheet on Mobile */
    .primary-sidebar.mobile-sidebar-active {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 85vh !important;
        max-height: 85dvh !important;
        border-radius: 24px 24px 0 0 !important;
        box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.25) !important;
        z-index: 100001 !important;
        background-color: #ffffff !important;
    }
}

/* ==========================================================================
   Shop Page: Override mobile-sidebar-hidden so filter is always toggleable
   via the floating filter button (mobile-sidebar.js).
   On shop/archive pages, the sidebar should start hidden but be toggleable.
   ========================================================================== */
@media screen and (max-width: 991px) {
    body.post-type-archive-product .primary-sidebar.mobile-sidebar-hidden,
    body.woocommerce-shop .primary-sidebar.mobile-sidebar-hidden,
    body.tax-product_cat .primary-sidebar.mobile-sidebar-hidden,
    body.tax-product_tag .primary-sidebar.mobile-sidebar-hidden,
    body.archive.woocommerce .primary-sidebar.mobile-sidebar-hidden {
        /* Hidden by default but visible when JS adds mobile-sidebar-active */
        display: none !important;
    }

    body.post-type-archive-product .primary-sidebar.mobile-sidebar-active,
    body.woocommerce-shop .primary-sidebar.mobile-sidebar-active,
    body.tax-product_cat .primary-sidebar.mobile-sidebar-active,
    body.tax-product_tag .primary-sidebar.mobile-sidebar-active,
    body.archive.woocommerce .primary-sidebar.mobile-sidebar-active {
        /* Override mobile-sidebar-hidden when toggled open */
        display: flex !important;
    }
}
